Abstract : 팀원간 친해지면 생산성이 올라간다.



  • 팀원들과 생각을 공유해야 한다. 팀장이 팀원들이 어떤 마인드를 가지고 일을 하는지를 반드시 이해해야 한다. 그들의 생각은 이해도 못한체 팀원들의 작업의 일부분만을 보고 그것에 대한 평을 내린다면 팀원들은 더더욱 마음을 닫을 것이다.

  • 팀장이라고 다 잘하는건 아니다. 겸손해지자. 팀장이 되다보면 자신만의 스타일이 있는것은 인정하지만, 추진과 강요는 엄격히 구분해야 한다. 옳고 그름을 토론을 통해 이끌어내고 이미 정한 원칙은 따르도록 한다.

  • 팀원들이 무슨일들을 하고 있는지 물어보는 것 이외에 직접 보라.  직접 테스트 해보고, 소스코드도 눈여겨 보라. 눈에 보이는 결과만 중시한채 팀원들에게 결과중시의 일을 강요하게 되면, 질적인 측면은 보장할 수 없다. 중요한 사실은, 직접 알아보고나서 팀원들중 누군가가 실질적으로 크게 눈에 띄지는 않지만, 무언가 개선하기위해 노력하는 모습을 포착하였다면 그 사람에 대한 칭찬을 아끼지 말아야 한다. 이는 내가 여러분들의 노고를 알고 있다라는 사실을 더욱 분명하게 전달할 수 있고, 팀원들도 아낌없는 노력으로 답 할 것이다.

  • 실패한 팀원을 더욱더 중요한 자리에 올리는 용기가 필요하다. 왜 실패했는지를 깨닫고 다시 기회를 부여함으로서 그 전의 실패를 반복하지 않는것이 중요하다. 순간의 번뜩이는 아이디어보다 고귀한 자산으로 축척될 것이라 생각된다. 미국에서는 FailCon이라는 컨퍼런스가 있는데, 실패한 사람들끼리 경험을 나누고 사례를 발표하는 문화를 자연스럽게 향유함으로서 다음에 성공할 가능성을 더욱 높이고 있다. 

  • 상사와의 불화원인으로 '업무지시가 일관성이 없다', '리더로서의 의무에 충실하지 않다', '인격적으로 불쾌하게 대한다.' 가 많이 지적되고 있다. '조직의 성공에 리더가 기여하는 것은 많아야 20%정도이고 나머지 80%는 팔로워들이 한다' 는 켈리교수의 말처럼 팀원을 부하라고 생각하지 말고 서로를 격려하는 동료의식을지고 일을 이끌어 나가야 한다.

  • 직원이 회사를 떠나는 이유는 연봉 때문이 아니라 자신의 열정을 쏟을 기회가 없기 때문이다.

  • 팀원이 잘못한 것이 있을경우, 잘못한 것에 대한
    다그침
    다그침 보다는 앞으로 어떻게 해결할 수 있는지를 같이 고민해보자. "과거는 바꿀 수 없지만 미래는 바꿀 수 있기 때문이다" 

  1. Favicon of http://sourkent.tistory.com BlogIcon 신키위 2009.04.09 00:13 신고

    이런건 주간보고에다가 ㅋㅋㅋ

    • Favicon of http://finsternis.tistory.com BlogIcon leanu 2009.04.10 08:45 신고

      언제 남긴거야? ㅋㅋ

      지금은 열심히 훈련받고 있겠구만 ㅋㅋ

요약 : TODO


사원급
기본적인 실무와 함께 직장예절, 부서간의 업무협조, 직장 내 커뮤니케이션, 조직관계 등을 빠르게 습득해야 하는 때다. 아직은 자신만의 전문성을 갖추기 전인 만큼 자신만의 전문영역을 찾는 과정이 필요하다. 기업은 적극적으로 직무 교육을 받고 관련 자격증을 취득하는 등 실무습득을 위해 노력하는 사원급 인재를 선호한다. 전 직급에서 유일하게 노력하는 모습 자체가 좋은 인재의 잣대로 작용할 수 있는 때다. 자신의 적성과 흥미를 효과적으로 업무와 연결해 내는 전략이 필요하고, 멘토를 만들어 활용하는 것이 도움이 된다. 또 기업은 사원급의 젊고 역동적인 힘과 분위기를 기대하기 마련이다. 밝고 낙관적이며 기업의 분위기를 생동감 있게 하는 것 역시 기업이 원하는 중요한 부분이다. 

대리급
어디 내 놔도 손색없는 실무능력이 필수적인 때다. 전문성의 토대가 되는 시기라고 할 수 있는 것. 모든 직급에서 마찬가지겠지만 특히 실무를 가장 많이 하는 시기인 만큼 일에 대한 책임감과 열정이 기본적으로 갖춰져야 한다. 여기에 더해 기업은 급속하고 다양하게 일어나는 변화를 두려워하지 않고 실력으로 헤쳐나갈 있는 적응능력과 도전정신이 있는 대리급을 선호한다. 자신의 경력지도의 밑그림, 즉 커리어 로드맵 설계와 커리어 네트워크를 쌓아갈 줄 아는 능력도 필요하다. 관리의 첫걸음을 배우기 시작하는 단계인데 스스로를 관리하는 법부터 익혀나가야 하기 때문. 그 밖에도 새로운 기획을 해 내는 능력을 갖춘 인재, 효과적으로 자신의 의견을 소통해 낼 줄 아는 인재, 어느 정도 시장을 분석하고 관측할 줄 아는 능력을 갖춘 인재라면 대리급에서는 인정받을 수 있는 조건을 두루 갖췄다고 할 것이다. 

과장급
실무와 관리 모두를 가장 잘 해내야 하는 시기다. 사회초년시절의 풋풋함과 서투름을 탈피해 어느 정도 관록을 쌓았기 때문에 중간자의 위치에 서있는 직급이기도 하다. 그래서 특히 경영자와 말단 직원을 유연하게 잘 연결시키고 조화를 이룰 수 있는 가교역할을 하는 중간관리자 역할을 충실히 수행할 수 있는 능력이 요구된다. 기업은 이런 커뮤니케이션 능력을 통해 과장급이 회사의 새로운 혁신과 변화를 주도해 나가길 기대한다. 또 자신만의 업무노하우를 쌓고 있는지, 또 인적 네트워크와 매니지먼트 능력 등 진짜 ‘프로페셔널’의 능력이 이때 어느 정도 판가름 난다. 즉, ‘자신이 아니면 안 되는’ 핵심역량을 갖춰가는 인재가 가장 바람직한 과장급의 인재상이라고 할 수 있다.

부장급
부장급은 직무의 측면에서 프로페셔널로서의 정체성을 완성해가는 직급이다. 따라서 실제로 가시적인 성과를 내고, 기업에 수익을 가져다 줄 수 있는 인재여야 한다. 스페셜리스트에서 제네럴리스트로 변모해 가며, ‘리더’로서의 자질을 확고히 해 가는 과정이므로 스스로의 능력 이상으로 조직의 성과를 촉진하고 관리할 수 있는 인재여야 한다. 실무적인 감이 떨어질 수도 있는 때이므로 디지털 환경과 글로벌적인 역량을 유지하고 업데이트 해 나가는 것도 필요하다. 자신의 이름 자체가 브랜드가 될 수 있는 시기인 만큼 자기관리도 중요하다. 

임원급
급변하는 경영환경에서 실적, 성과 등의 결과에 결정적으로 책임을 지는 시기다. 때문에 늘 신중하면서도 빠른 결단력이 요구된다. 업무와 회사 뿐 아니라 업계, 시장, 경제흐름 등 전반적인 모든 부분들을 아울러 해석하는 넓고 깊은 시야를 가진 인재여야 한다. 단순한 관리에 그치지 않고 조직이 성과를 낼 수 있도록 동기를 부여하고 잠재력을 끌어내는 역할이 중요한 때다. 관리하는 매니저에서 조직을 이끄는 ‘리더’로 완성되어야 하는 것이다. 성과에 직결되는 도움을 받을 수 있을 정도의 인맥, 최신 동향을 민감하게 캐치할 수 있는 매체나 정보전달 도구, 보고체계 등을 효과적으로 구축하고 관리하는 인재여야 한다. 골프모임 등 외부모임에 필요한 외적인 요소까지 두루 요구되며, 때로는 회사 자체를 대표하고 대변할 수 있는 품성도 갖춰야 한다. 책임과 임무가 무거운 만큼 스트레스 관리와 건강유지 역시 중요한 부분이다.

뭔가 그럴듯 하지만 요점이 잡히질 않는다. 인재를 뽑는게 그만큼 어려운걸 반증하는건지...



맥 컴퓨터 바탕화면을 보면 맨 아래 아이콘들이 즐비해 있는 녀석을 볼 수 있다.

이녀석을 윈도우에서 가능하게 해주는게 RocketDock인데 생각보다 괜찮다~!~!

현재 1.3.5 버전까지 나왔으며 아래에서 받을 수 있다.


그외에도 stackdocklet 이란 것도 있으니 애드온을 한번 둘러보고 설치해보는것도 좋을것이다.





Sherwood 용으로 출시된 메뉴얼입니다. 그냥 참고만 하세요 ㅋㅋ

putty version : 0.60 기준 설명

  1. 설정변경으로 들어간다
    • 글꼴 선택시 스크립트 있는곳에 한글이 선택되는 글꼴을 선택하고 스크립트를 한글로 전환후 확인.
    • Encoding Type : Use font encoding 선택

  2. shell 에서
    • export LANG=ko_KR.euckr 을 .bash_profile 에 추가 ( 자동으로 수행하고 싶지 않으면 적절한곳에 넣은후 source 파일명 수행)

  3. 추가로 vim 에서 한글설정
    1. set encoding=euc-kr 추가 ( 만약 set encoding=다른타입 이 있으면 "로 주석처리후 입력)


2009.03.06 : Register를 수정하는 방법 외에 메뉴-> 설정변경에 들어가서 값들을 설정한 후 Putty 세션에 저장하면 값이 저장된다. UTF 시리즈는 폰트 자체가 한글이 지원이 되어야 글자가 깨지지 않는다.




시작 -> 실행 -> regedit 를 수행한다.

찾기 : SimonTatham

을 하면 Putty 관련 레지스트리를 찾을 수 있다.

거기에서 Sessions 를 가면 자기가 저장한 세션에 대해 설정할 수 있는것이 있다.

수정할 세션 폴더에 들어가면 아래와 같이 수정한다.

[필수 수정] ----------------------------

이름 :
Font
데이터 : 굴림체
(한글 나오는 폰트면 다 된다. 근데 왠만하면 굴림체를 써라. 보기 편하다.)

이름 :
LineCodePage
데이터 :

(NULL 값은 User fond encoding 방식으로 쓴다는 이야기다)

[선택 수정] -----------------------------
이름 :
ScrollBackLines
데이터 : 5000
(스크롤시 얼마나 많은 양의 명령어를 저장할 것인지를 정하는 것이다. 왠만하면 5천줄 이상 기억시키도록 하자)

이 설정은 접속하고자 하는 서버에서 locale 명령어를 첬을경우

ko_KR.eucKR 로 설정 되어 있어야 한다.

이것에 대한 수정은 linux fedora 8 기준으로

/etc/sysconfig/i18n 파일을 아래와 같이 수정하면 된다.

LANG="ko_KR.ecuKR"

또는 로그인시 구동하는 .bashrc 나 .bash_profile 에 아래의 명령어를 추가해도 된다.

export LANG="ko_KR.eucKR"


p.s 혹시 vi 에서 한글이 깨져서 나오는 경우

자기 계정의 .vimic 를 불러와서 아래의 설정값이 없는경우 추가하고 있는경우 변경한다.

set encoding=euc-kr


한글 Putty Download Site : http://kldp.net/projects/iputty/


한글 뿌띠 0.58h2


  1. Favicon of http://usemagic.net/blog BlogIcon RYaN_MU 2008.04.21 18:49 신고

    이거 요즘 compiler design 시간에 쓰고 있는데
    X-ftp랑 Editplus와 함께 쓰는게 작업 시간을 줄여줄 수 있는 느낌이예요

  2. Favicon of http://finsternis.tistory.com BlogIcon leanu 2008.04.21 23:11 신고

    코딩만 하는게 아니라

    유닉스 원격 접속겸 제어화면도 봐야 되.

    글고 vi 쓰다보니까 다른 에디터 잘 못쓰것다 ㅋ

  3. taejava 2012.06.19 15:45 신고

    iPutty 한글설정을 어떻게 해야할지 알려주셔서 큰 도움이 되었습니다.
    감사합니다.^^

  4. 2018.08.06 18:31

    비밀댓글입니다


Summary
-------------------------------------------------------------------------------------
품질 좋은 사이트를 찾아내기 위해 사용한 그래프 알고리즘. 

하이퍼링크를 참조하며, 링크가 많이 들어오는 사이트의 순위가 높다.

링크가 들어오는 갯수가 같은 경우, 링크를 보낸놈의 순위가 높은 녀석일수록 순위가 높아진다.



Mode
-----------------------------------------------------------------------------------------------
앞으로 단축키를 사용할때 어디에서 사용하는지를 나타내기 위해 아래의 4개의 모드(Normal Mode, Insert Mode, Visual Mode, Command Mode)를 사용할 것이다. 각각의 Mode 가 어떤것인지는 약간의 테스트를 한다면 금방 알 것이다.

   - Edit Mode : 문서의 삽입과 편집에서 사용하는 모드이다. 이는 아래의 3개의 모드로 나뉜다.

        1. Normal Mode : 커서로 이동할 수 있는 모드. Insert Mode중에 ESC키를 누르면 나오는
                         모드가
Normal Mode 이다.
        2. Insert Mode : 문서에 내용을 처넣는 Mode. 글자 치는 족족 입력이 된다.
        3. Visual Mode : Normal Mode에서 v, shift + v, ctrl + v등으로 선택할경우 나오는
                         모드이다. 선택영역을 지정할 때 뜨는 모드라고 생각하면 쉽다.


   - Command Mode : Normal Mode에서 콜론(:)을 입력했을때 아래에 명령어를 쳐 넣을수 있게 커서
                    가 뜨는데, 이때를 Command Mode라고 한다.

기본 사용 법 (Normal Mode)
-----------------------------------------------------------------------------------------------
     - 방금전에 입력한 것 또 입력하기 :    .
          만약 i를 눌러서 입력을 std::를 하고 ESC키를 누르면 방금 입력했던 istd::ESC가(키를 눌럿던
          모든 정보) 레지스터에 저장된다. 이때 다른곳에도 똑같은 입력을 하고자 한다면 입력하고자
          하는곳에 커서를 두고  . 을 누르면 방금전에 입력했던 std::가 입력될것이다.

기본 사용 법 (Insert Mode)
-----------------------------------------------------------------------------------------------


기본 사용 법 (Visual Mode)
-----------------------------------------------------------------------------------------------


기본 사용 법 (Command Mode)
-----------------------------------------------------------------------------------------------



고급 사용법 (Normal Mode)
-----------------------------------------------------------------------------------------------
   - 나뉘어진 창 두개를 switch 하기 : ctrl-w 그다음 r
      (주의 : 스위치할 반대편 창이 나뉘면 회전 안됨)

   - 반대편 괄호로 이동
       1. {} 괄호의 처음으로 이동 : [{
       2. {} 괄호의   끝으로 이동 : ]}
       3. () 괄호의 처음으로 이동 : [(
       4. () 괄호의   끝으로 이동 : ])

   - 특정 범위 접기 펴기
       1. 접기 : v 관련 녀석으로 범위를 설정z + f
       2. 펴기 : 접은 위치에서 z o

   - 북마크 하기
       1. 한문서 내에서 북마크 설정 : m + [a~z]
       2. 한문서 내에서 설정한 북마크로 이동 : ' (엔터키 옆의 작은따옴표) + 설정한 소문자
       3. 여러 문서 사이의 북마크 설정 : m + [A~Z]
       4. 여러 문서 사이의 이동 : ' + 설정한 대문자

   - 매크로 등록 및 사용 : 매크로는 에디터를 종료해도 저장된다.
       1. 매크로 등록 : q + 단축키 + 당신의 행동 + q
       2. 매크로 사용 : @ + 단축키

   - 현재커서의 단어를 색인대상으로 잡기 : #

   - 버퍼에 로드된 파일 닫기(버퍼 번호는 바뀌지 않는다) : :wb

곤지암 리조트에서 곤지암 시외버스터미널로 가기

곤지암 시외버스터미널에서 곤지암 우체국으로 가기


버스 500-1 이나 500-2 를 탄다. 모란역에서 내린다.

모란역 5번출구에서 외곽순환 성남IC쪽에 시외버스 정류장으로 간다. 인천가는 버스를 탄다.

배차간격 시간은 아래 시간에서 5분을 더하면 된다.


05:50 06:30 07:10 07:50 08:10 08:40 09:15 09:40 10:10 10:45 11:23 12:10 12:45 13:35 14:10 14:50 15:25 16:05 16:30 17:05 17:40 18:15 18:50 19:25 19:50 20:25 20:50 21:25 21:50 22:15




간단한 설명만을 읽어보았는데, 논문 reference 를 정리해주는 유용한 유틸이라고 하더군요.

Cliomedia 님 블로그에 잘 소개되어서 인용해봅니다.

http://cliomedia.egloos.com/1156451

한번 자세히 읽고 써보아야지  ㅋㅋ

..................................................................................Naver 지식In에서 발췌하였음

주소록을 정리하다보면

01x-xxxx-xxxx 로도 저장되고
01xxxxxxxxx 로도 저장되고
01x-xxx-xxxx 자릿수가 7자리가 되기도 하고

뭐 이런식으로 되어 있는 녀석들을 깔끔하게 - 붙여주는 스크립트가 있다. 
여기서 A2를 알맞은 셀번호로 입력한다음 죽 아래로 끌면 깔끔하게 완성된다. 

=IF(ISNUMBER(FIND("-",A2)),A2,LEFT(A2,3)&"-"&MID(A2,4,IF(LEN(A2)=10,3,4))&"-"&RIGHT(A2,4))

 


정말 유용한 팁.. 굿굿.

기호



약어

e.g ( exempli gratia = for example ) : 예를 들면
i.e. ( id est = That is ) : 즉
w.r.t ( with regard to ) : ~에 관하여

규칙

줄여서 : in short   (ex) World Wide Web, in short WWW, 
음.. 내가 무심결에 했던 말들도 있었는데, 앞으로는 조심해야 겠다 ㅋㅋ


--------------------------------------------------------------------------------------------

예전 회사에서 팀원들끼리 워낙 친하다보니 농담도 많이 했는데 그 중 하나가 "일좀 해"였다. 물론 서로 친하고 일을 열심히 한다는 걸 아는 상황이라면 별 상관 없겠으나 문제는 아무리 그런 경우라도 기분에 따라 다르게 들릴 수가 있다는 것이다.

예전엔 멋모르고 했던 말인데 철야근무 다음 날 그 말 그대로 돌려받았더니 별 생각이 다 들었던 경우가 있었다. 그래서 나름대로 "직장에서 팀원에게 해서는 안 될 말들"을 정리해 보았다.

1. 일좀 해라.

몇 번 듣다보면 "내가 정말 일 안 하는 놈인가?" 심각하게 고민하는 경우가 생길 수 있다. 그리고 "그러는 넌 얼마나 일하는데?" 라는 식의 역공이 펼쳐지기도 한다.

2. 힘들 게 뭐 있냐. 그 일만 하면 되잖아.

설령 그 업무를 완전히 꿰고 있는 사람이 한 말이라 하더라도 별로 기분 좋은 상황이 아닐진데, 알지도 못하면서 이런 말 하면 기분이 상한다. 보통 반응은 두 가지로 나뉘는데 항변하는 경우와 조용히 인정하는 경우다. 전자는 항변이 성공해 상대가 인정했다해도 기분이 좋지 않으며 후자는 자포자기한 상태이거나 섭섭함을 느끼는 경우다.

3. 또 사고쳤지?

사고 일으키는 존재는 없어져야 할 대상이다. 그래서 정말 상대가 사고를 쳤어도 이 말은 하지 않는다. 가뜩이나 사고쳐서 미안해 죽겠는데 확인사살하듯 말을 해버리면 기가 팍 죽는다. 반대로 자기 문제가 아닌데 이런 말 들으면 아무리 착한 사람이라도 짜증나기 마련이다. "너는 사고 안 치나 두고보자" 라는 식이 될 수도 있다.

4. 그거 별로 안 어려우니까 금방 끝나잖아.

저런 말 들은 후 금방 끝내봐야 당연한 일이 되어버리고, 반대로 오래걸리면 자기가 무능한 사람이 되어버리는 꼴이다. "너한텐 어려운 일 아니잖아?" 라는 식의 상대능력을 함부로 평가하려들면 곤란하다.

5. 알지도 못하면서

팀원의 전문가적인 지식에 상처를 입히는 가장 직접적인 말이다. 팀원들은 모두 자신의 분야에 대해 식견과 자긍심을 갖고 있는데 이것이 설령 전혀 다른 분야에 대해 아는 척 하다가 들은 말이라 하더라도 자신의 분야와 연결해서 생각하는 경우가 있다. 이런 경우 자괴감에 빠지거나 반대로 상대에게 이 말을 돌려줄 기회를 기다리는 경우로 나뉜다.

6. 명령어투

명령 받는 거 좋아하는 사람 없다. 한국사람은 기질 때문에 특히 더 그런 것 같다. 이럴 땐 청유형으로 나가는 것이 좋다. "~해주실 수 있어요?" 라던가 "~해줄래요?" 혹은 "부탁 좀 할게요." 등
 


- 부록 : 힘이 나는 말

1. 역시 XX군(XX는 상대의 이름) 혹은 역시 대단해!

"역시"에 강세를 주는 걸 잊지 말자. 단, 너무 호들갑을 떨면 놀리는 걸로 보일 수 있으니 진짜 감탄한 듯한 표정과 어조로 해주는 게 중요하다.

2. 네 덕분에 살았다

어려운 말 아니면서 상대 MP가 오르는 말 중 하나다. 보통 이 말을 들은 상대는 자신의 능력을 인정받았다는 기쁨에 뭔가 더 해줄 게 없나 살피게 된다.

3. 좋은데요. 괜찮군요. 혹은 센스가 있네요.

상대가 결과물을 갖고 왔을 때 하는 것이 적절한 타이밍. 만약 안 괜찮으면 어떻게 해야 할까. 그 땐 "전체적으로 좋긴 한데 이런 부분은 이렇게 좀 고쳐보면 더 좋을 것 같네요" 라는 식으로 얘기하면 상대가 충격 덜 먹는다.

4. 수고 많았어요.

흔한 말이지만 듣기 힘든 말이기도 하고 그만큼 효과 좋은 말이기도 하다. 별 생각 없이, 툭 던지듯이 하면 효과 0. 부사로 꾸며서 "진짜", "정말" 등을 첨가해서 약간 천천히 말해주자.



E


equally likely : 동등하게 있음직한    (예) equally likely events (등확률사상)


N

non-commutative : 교환법칙이 성립이 안되는, 비가환의         (예) 7 - 3 != 3 - 7


Q


QED : 증명이 끝났다. (라틴어 : quod erat demonstrandum)

흠... 역시 사람들은 서로들 이건 아니다란 느낌은 다들 가지고 있는데 실천이 문제인가봐요. ㅎ



-------------------------------------------------------------------------------

최영석 BSI코리아 심사위원

       

정보기술, 즉 IT는 기업의 비즈니스에 있어 점점 중요한 의존 요소(dependencies)로 작용하고 있다. 제조업체의 모든 설비는 IT 기술을 통해 무인화, 실시간 모니터링 기능을 제공하고 있으며 금융 업무를 하는 직원은 대부분의 업무 자료나 처리 기록을 IT시스템을 통해 조회하거나 저장하고 있다.

 

IT가 중단되거나 수준이 저하되는 경우 비즈니스에 미치는 영향이 점점 커지고 있으므로 좋은 IT를 제공받는 다는 것은 비즈니스의 안정성과 직결된다고 할 수 있다. 그렇다면 좋은 IT를 어떻게 판별할 수 있을까? 눈에 보이는 웹 화면이 멋지다고 좋은 IT인가?

 

온갖 기능들이 제공되어 척척박사 역할을 하는 어플리케이션이 좋은 IT인가? 밤낮을 가리지 않고 언제나 사용 가능할 때 좋은 IT라고 할 수 있는가? 아무래도 IT조직의 밖에서 바라보는 IT는 겉모습에 따라 평가하기가 십상이다.

 

그러나 IT를 실제 사용해야 하는 사용자 또는 IT를 선택하여 도입하는 책임이 있는 사람에게는 좋은 IT를 판별하기 위해 IT의 외양뿐만 아니라 IT 내부에 어떤 일들이 일어나고 있으며 그런 결과로 IT가 어떻게 달라질 수 있는 지를 이해하는 것이 필요하리라고 생각한다.

 

이 컬럼에서는 필자가 관찰하고 경험한 IT 내부 이야기를 IT외부인이 이해할 수 있는 수준으로 전달하고자 하며 좋은 IT를 판별하는 안목을 가질 수 있도록 하기 위해 역설적으로 IT 문제점을 중심으로 구성하였다.

 

IT에서의 프로세스

IT는 손으로 만질 수 있는 제품이 아니다. 그러나 IT가 제공하는 기능을 활용하여 업무를 처리한다는 점에서는 제품으로 볼 수도 있다. 좀더 정확하게 말하면 서비스에 가깝다. 서비스에 대한 사전적인 정의는 서비스 제공자의 자원과 기술을 통해 가치를 제공받는 것(참조: ITIL V3)이다.

 

좋은 제품과 좋은 서비스를 가능하게 하는 것은 제품과 서비스를 생산하는 능력에 달려있다. 그런데 그 능력을 일관성 있게 유지하기 위해서는 프로세스라는 체계 또는 틀이 있어야만 가능하다는 것은 일반적인 상식이다. 엄밀하게 말하면 프로세스와 체계(system)는 서로 높낮이가 다른 의미로 사용되지만 설명하자면 복잡한 얘기가 될 것 같아서 여기서는 생략하도록 하겠다.

 

그런데 프로세스 없이 일한다는 것이 있을 수 있는가 의아해 하는 사람이 있을 것이다. 이 컬럼에서 사용하는 ‘프로세스가 없다’는 표현은 프로세스가 전무하다는 것 보다는, 프로세스가 있기는 있지만 드문 드문 작동한다거나, 프로세스간의 활동들이 연결되지 않는 상황을 모두 포함하는 것이라고 먼저 이해를 하기 바란다.

 

프로세스가 없는 조직의 특징

회사 내의 한 직원이 업무를 하고 있는 데 이 업무가 어떤 고객의 요청으로 말미암아 본인에게 할당되었는지를 알 수 없거나 또는 고객에게 서비스나 제품을 제공하는 데 있어서 이 업무가 어떤 관련이 있는지를 아무리 생각해도 알 수 없는 경우, 그리고 이 업무가 제대로 끝난 것인지 또 추가로 진행해야 하는 것인지를 어느 누구도 명쾌하게 설명해주지 못하는 경우는 전형적으로 프로세스가 없는 조직의 경우다.

 

반대로 프로세스가 있는 조직의 경우는 회사 내의 대부분의 업무가 특정 프로세스 틀 내에서 소속이 되어 실행이 되고, 업무를 수행하는 직원은 그 업무의 원천이 고객 요청인지 또는 제품이나 서비스의 개선을 위해 자체적으로 발의한 내부 요청인지를 명확하게 이해하고 있으며 이 업무의 시작, 처리 및 종료를 포함하는 진행상황이 조직 내에 명확하게 알려진다.

 

IT에서는 프로세스가 없는 경우 어떤 현상이 나타날까? 경험에 의하면 프로세스가 없는 IT조직은 다음과 같은 특징을 보인다.

 

. 신입사원들이 할 일이 없다.

. 요청한 사항이 어떻게 처리되고 있는지 또는 누락이 되었는지 내부에서는 알 길이 없다.

. 새로운 장비가 들어오거나 장애가 발생하면 그제야 바쁘게 움직인다.

. 업무노하우는 IT부서의 고참만이 알고 있다.

. 유능한 직원에게는 전화도 몰린다. 따라서 바쁜 사람만 늘 바쁘다.

. 며칠 동안 열심히 IT 업무를 했지만 그 노력은 어디에도 나타나지(심지어 월간보고에도) 않는 경우가 있다.

. 업무의 시작과 끝이 불분명하여 늘 찜찜하다.

. 다른 팀으로 넘기거나 문의한 업무가, 처리 되거나 피드백이 왔는지 또는 무시되었는지 파악하기가 어렵다.

 

프로세스가 없는 IT조직의 가장 큰 특징(문제점)은 문제 해결 능력이 없고 개선이 일어나지 않아 정체된다는 것이다. IT의 결함, 장애 또는 불만사항이 발생하더라도 사전에 정의한 프로세스가 없다 보니 어떤 인과 관계로 인해 이러한 이슈 사항이 발생하였는지를 파악하기가 불가능하다.

 

그러다 보니 위와 같은 문제들은 대부분이 임시 해결책으로만 처리되고 동일한 문제들이 재발하지 않기를 소원할 뿐이다. 프로세스가 없는 IT조직의 부조리한 상황에 대해서는 차후 연재되는 컬럼을 통해 상세하게 다뤄보겠다.

 

사용자 삽입 이미지

(ISO/IEC 20000* 표준에서 정의한 IT프로세스  )

 

부실한 IT조직이 생존 가능한 이유

이런 IT조직이 꿋꿋하게 생존해 올 수 있는 이유는 무엇인가? 이것은 눈에 잘 보이지 않는 IT 프로세스의 비가시성(invisibility)과 프로세스를 받아들이지 않으려고 하는 IT의 저항에 기인한다고 볼 수 있다. 제품을 생산하는 제조업의 경우 프로세스라는 것이 물리적인 구역과 설비로 구성되어 있어 프로세스라는 것의 좋고 나쁨을 눈으로 판단할 수 있는 여지가 있다.

 

그러나 IT의 경우 프로세스는 전혀 눈에 보이지 않는다. 다만 IT 담당자의 행동을 관찰하거나 문서 또는 기록으로만 확인이 가능하다. 이런 까닭에 프로세스가 탄탄하게 갖추어진 IT조직과 프로세스가 부실한 IT조직을 외부에서 판별하기가 어려울 수 밖에 없다.

 

우습게도 이러한 비가시성은 부실한 IT조직에게 자신의 부실함을 외부에 들킬 위험이 줄어드는 안전장치인 셈이다. 또 부실한 IT조직은 프로세스의 도입을 거부하는 경우가 많다. 개인에 의존하는 전통적인 IT 운영방식을 고집하는 것이다. 그들은 왜 프로세스를 갖추려 하지 않는가? 프로세스 도입을 거부하기 위해 늘어놓는 부실한 IT들의 변명은 다음과 같다.

 

. 조직의 규모가 작아서 프로세스를 구축하기가 어렵다.

. 일 처리하는 것이 우선이다. 프로세스를 따르느라 소비하는 노력이 아깝다.

. 프로세스를 따르지 않아도 결과물은 잘 나올 수 있다.

. 그렇게 살아와도 (비즈니스에) 별 문제가 없었다.

. 감시하려고 하는 것이 아니냐

 

이들 변명들은 프로세스에 대해 오해나 프로세스 도입에 대한 편견을 나타내고 있다. 프로세스가 선의의 의도로 도입되지 않는 다면 이러한 변명은 타당성이 있을 수 있다. 그러나 IT의 소비자인 IT 사용자에게 좋은 IT를 제공하고자 하는 목적으로 도입되는 프로세스는 IT제공자로서의 선의이자 더 나아가서는 책무라고 할 수 있다.

 

생존을 위한 IT 프로세스 도입

IT가 국내에 본격적으로 등장한 80년대와 90년 초반까지는 IT의 놀라운 기술을 뽐내던 시대였다. 수동으로 처리하던 업무를 자동화 시켜주는 혁신적인 기술에 매료되어 IT가 좋은 대접을 받았었다.

 

그러나 90년대 중반을 들어서면서 이러한 입지에 변화가 일어나게 되었다. IT기술이 보편화된 것이다. 많은 IT조직이 IT 기술을 구현하고 제공할 수 있는 능력을 가지게 되었다는 것이다. IT의 보편화는 IT를 사용하는 입장에서는 축복이지만 IT의 호시절을 경험한 IT 입장에서는 고난의 서막이다.

 

어떠한 업무라도 IT기술로 자동화시킬 수 있다는 것을 사용자가 눈치채고 있다면, 이제 차별화된 IT의 능력은 서비스 수준으로 판가름 나게 된다. 1990년 초반에 영국에서 출판한 ITIL 책들은 이러한 IT 서비스의 중요성을 강조하며 기술 위주의 IT에서 서비스로의 전환을 강조하였고 이러한 서비스 중심의 IT는 현재 전세계적으로 보편화된 IT 철학으로 점차 자리잡아 가고 있다.

 

호텔이나 레스토랑의 좋은 서비스가 내부 프로세스 없이 가능하리라고 보는 사람은 없을 것이다. 좋은 IT서비스를 제공한다는 것은 내부에 견고한 IT 프로세스를 갖추어야만 가능하다. IT는 이제 생존을 위해서 프로세스를 갖추어야 한다.

 

탄탄한 프로세스를 갖추고 좋은 IT서비스를 제공하는 IT조직의 수가 늘어나게 되고 사용자의 IT판별 능력이 높아질수록 부실한 IT조직의 생존 가능성은 낮아 질 수 밖에 없다. 국내의 많은 IT조직의 변화를 수 년 동안 관찰한 결과 이러한 시대가 다가오는 속도는 더욱 빨라지고 있다고 본다.

  1. Favicon of http://finsternis.tistory.com BlogIcon 내향~* 2008.09.04 14:19 신고

    프로세스 없음... 딱이네...

  2. Favicon of http://kassc.tistory.com BlogIcon 교오오 2010.02.05 12:04 신고

    와이즈넛은 규모에 비해 프로세스가 잘되어있는 기업이에요;;ㅋㅋ
    요즘 드는 생각은 프로세스가 잘되어 있고 규모가 큰 기업일수록 인재를 뽑을때 개인 업무능력보다는 커뮤니케이션 능력이 좋은 인재를 뽑는 것 같다라는....팀에 피해 안갈 정도의 실력에 커뮤니케이션 능력이 좋은 인재가 딱 인듯 합니다.ㅋㅋ

    • Favicon of http://finsternis.tistory.com BlogIcon leanu 2010.02.05 15:10 신고

      커뮤니케이션이 정말 중요하죠 ㅎㅎ
      커뮤니케이션 잘안되는 사람들과 일하다 보면 가끔 서로 딴이야길 하면서 열을 낼 때가 있어요... 그사람이 동료든 아랫사람이든 상사든 말귀를 알아먹어야 겠다는 생각이 불끈불끈...

      덧글 방가방가 ㅋ

-Wl,option : Pass option as an option to the linker.  If option contains commas, it is split into multiple options at the commas.

-g  Produce debugging information in the operating system’s native format (stabs, COFF, XCOFF, or DWARF 2).  GDB can work with this debugging information.

-pthread
           Add support for multithreading using the POSIX threads library.  This option sets flags for both the preprocessor and linker.  It does not affect the thread safety of
           object code produced by the compiler or that of libraries supplied with it.  These are HP-UX specific flags.

<Linker>
---------------------------------------------------------------------------------------------------
-R filename
       --just-symbols=filename
           Read symbol names and their addresses from filename, but do not relocate it or include it in the output.  This allows your output file to refer  symbolically  to  absolute
           locations of memory defined in other programs.  You may use this option more than once.

           For compatibility with other ELF linkers, if the -R option is followed by a directory name, rather than a file name, it is treated as the -rpath option.

---------------------------------------------------------------------------------------------------

-rpath-link DIR
           When using ELF or SunOS, one shared library may require another.  This happens when an "ld -shared" link includes a shared library as one of the input files.

           When the linker encounters such a dependency when doing a non-shared, non-relocatable link, it will automatically try to locate the required shared library and include  it
           in  the link, if it is not included explicitly.  In such a case, the -rpath-link option specifies the first set of directories to search.  The -rpath-link option may spec-
           ify a sequence of directory names either by specifying a list of names separated by colons, or by appearing multiple times.

           This option should be used with caution as it overrides the search path that may have been hard compiled into a shared library. In such a case it is possible to use  unin-
           tentionally a different search path than the runtime linker would do.

           The linker uses the following search paths to locate required shared libraries:

           1.  Any directories specified by -rpath-link options.

           2.  Any  directories  specified  by -rpath options.  The difference between -rpath and -rpath-link is that directories specified by -rpath options are included in the exe-
               cutable and used at runtime, whereas the -rpath-link option is only effective at link time. Searching -rpath in this way is only supported by native linkers and  cross
               linkers which have been configured with the --with-sysroot option.

           3.  On  an  ELF  system,  if  the -rpath and "rpath-link" options were not used, search the contents of the environment variable "LD_RUN_PATH". It is for the native linker
               only.

           4.  On SunOS, if the -rpath option was not used, search any directories specified using -L options.

           5.  For a native linker, the contents of the environment variable "LD_LIBRARY_PATH".

           6.  For a native ELF linker, the directories in "DT_RUNPATH" or "DT_RPATH" of a shared library are searched for shared libraries needed by it. The "DT_RPATH"  entries  are
               ignored if "DT_RUNPATH" entries exist.

           7.  The default directories, normally /lib and /usr/lib.

           8.  For a native linker on an ELF system, if the file /etc/ld.so.conf exists, the list of directories found in that file.

           If the required shared library is not found, the linker will issue a warning and continue with the link.


---------------------------------------------------------------------------------------------------
--start-group archives --end-group
           The archives should be a list of archive files.  They may be either explicit file names, or -l options.

           The specified archives are searched repeatedly until no new undefined references are created.  Normally, an archive is searched only once in the order that it is specified
           on  the  command line.  If a symbol in that archive is needed to resolve an undefined symbol referred to by an object in an archive that appears later on the command line,
           the linker would not be able to resolve that reference.  By grouping the archives, they all be searched repeatedly until all possible references are resolved.

           Using this option has a significant performance cost.  It is best to use it only when there are unavoidable circular references between two or more archives.

---------------------------------------------------------------------------------------------------

-Bdynamic
       -dy
       -call_shared
           Link  against  dynamic  libraries.   This is only meaningful on platforms for which shared libraries are supported.  This option is normally the default on such platforms.
           The different variants of this option are for compatibility with various systems.  You may use this option multiple times on the command line: it affects library searching
           for -l options which follow it.

       -Bgroup
           Set  the  "DF_1_GROUP"  flag  in the "DT_FLAGS_1" entry in the dynamic section.  This causes the runtime linker to handle lookups in this object and its dependencies to be
           performed only inside the group.  --unresolved-symbols=report-all is implied.  This option is only meaningful on ELF platforms which support shared libraries.

       -Bstatic
       -dn
       -non_shared
       -static
           Do not link against shared libraries.  This is only meaningful on platforms for which shared libraries are supported.  The different variants of this option are  for  com-
           patibility  with  various  systems.   You may use this option multiple times on the command line: it affects library searching for -l options which follow it.  This option
           also implies --unresolved-symbols=report-all.  This option can be used with -shared.  Doing so means that a shared library is being created but that all of  the  library’s
           external references must be resolved by pulling in entries from static libraries.

---------------------------------------------------------------------------------------------------

-lnamespec
       --library=namespec
           Add the archive or object file specified by namespec to the list of files to link.  This option may be used any number of times.  If namespec is of the form :filename,  ld
           will search the library path for a file called filename, otherise it will search the library path for a file called libnamespec.a.

           On systems which support shared libraries, ld may also search for files other than libnamespec.a.  Specifically, on ELF and SunOS systems, ld will search a directory for a
           library called libnamespec.so before searching for one called libnamespec.a.  (By convention, a ".so" extension indicates a shared library.)  Note that this behavior  does
           not apply to :filename, which always specifies a file called filename.

           The linker will search an archive only once, at the location where it is specified on the command line.  If the archive defines a symbol which was undefined in some object
           which appeared before the archive on the command line, the linker will include the appropriate file(s) from the archive.  However, an undefined symbol in an object appear-
           ing later on the command line will not cause the linker to search the archive again.

           See the -( option for a way to force the linker to search archives multiple times.

           You may list the same archive multiple times on the command line.

           This type of archive searching is standard for Unix linkers.  However, if you are using ld on AIX, note that it is different from the behaviour of the AIX linker.


부트 이미지 파일이 필요없이 바로 부팅가능한 usb를 만들어준다.

유용한 프로그램이다.

참고로 fat16 은 용량이 2GB 이하일때 체크한다.

Introduction
----------------------------------------------------------------------------
Test Driven Development : TDD란 개발하고자 하는 프로그램(혹은 프로그램을 구성하고 있는 컴포넌트)의 동작을 점검할 수 있는 테스트를 먼저 작성하고 테스트를 통과할 수 있게 코딩을 하는 방법을 말한다.

Unit Test : 하나의 프로그램을 일을하는 작은 단위로 잘게 나누어작은 단위들이 올바로 동작하는지를 확인하는 과정이다. Test Driven Development 를 하기위해 이용하는 하나의 매커니즘이다.




Why should we use?
----------------------------------------------------------------------------
 - TDD를 사용하는 이유('익스트림 프로그래밍' 책을 인용하였습니다.)

      1) 프로그램의 동작 명확화 : 프로그래밍 할때 간혹 '혹시 모르니까 넣어두자'는 식의 코드들을 추가하기 쉽다. 이 프로그램이 무엇을 해야하는지 객관적으로 명확히 명시를 하게 된다면, 코딩의 초점을 일어버리지 않는다. 다른 코드를 넣고 싶다면, 현제 작성한 테스트를 통과하게 만든 다음에 또 다른 테스트를 작성하라.

      2) 설계의 문제점 검토 : 테스트를 작성하기가 쉽지 않다는 말은, 테스트 작성 자체의 문제라기보다는 프로그램의 설계상에 문제가 있다는 것이다. 응집성이 높은 객체들의 코드는 테스트하기 쉽다.

      3) 신뢰도 증가 : 여러사람이 작성하는 프로그램의 경우 문제를 일으키게 되면 서로의 코드를 의심할 수 있다. 잘 동작하는 최적화된 코드를 작성하고 자동화된 테스트로 코드의 의도를 분명히 드러낸다면 팀원들은 쉽게 신뢰할 수 있을 것이다. 가령 프로젝트를 버전업하기 위해 다른사람이 투입되거나, 원래 개발자가 개발한지 오래 되었다면 버전업을 위해 추가한 코드가 기존의 프로그램에서 어떤 문제를 야기하는지 알기 위해서는 릴리즈 하고나서 수많은 고객 테스트를 거쳐야 알 수 있다. 그래서 TDD를 도입하여 추가기능에 대한 안정성에 대한 신뢰도를 보하려는 것이다. 또한 개발자 입장에서 테스트 코드를 보다보면 메뉴얼에 기술한 내용보다 몇배는 명확하게 다가오기 마련이다.

      4) 프로그래밍의 리듬 유지 : 본인이 가장 공감가는 이야기. 코딩을 하다보면 몇 시간씩 무엇을 해야 할 지 길을 잃고 헤매는 일이 잘 일어난다. TDD를 이용한다면 다음에 무엇을 할 지가 분명해진다. 다음 할 일이란 다른 테스트를 작성하거나 통과되지 않는 테스트를 통과하도록 만드는 일중에 한가지 이기 때문이다.




Efficient Usage
----------------------------------------------------------------------------



Any Problems?
----------------------------------------------------------------------------
 - 간과할 수 있는 사항 : 미시적 관점에서 행하는 테스트이기 때문에 '두 객체가 함께 잘 동작하는가?' 등의 사항은 고려할 수 없다는데에 한계가 있다.


사용자 삽입 이미지
솔직히 말해서 실망했다. 더 크고, 확실한 성과를 기대했던 것이다.

코드의 품질이 나아질 거라고 말했지만, 사실 내 코드의 품질은 더 나빠졌다. (사실은 제대로 읽어보면, 실질적으로 나뻐진 게 아니라, 잘못 사용하고 있던 것들을 들춰내서 표면적으로 나뻐졌다는 이야기가 나옵니다.)

끝내주는 비방(silver bullet) 같은 게 아니었다.

[그러나] 내가 말하고 싶은 것은, 나는 결코 [테스트 주도 개발(이하 TDD)을 하기] 이전으로 돌아가지 않으리라는 것이다.

코드의 품질을 낮아졌지만, 코드에 대한 나의 이해는 높아졌다.

누군가는 이렇게 말할지 모르겠다. "어떤 규칙 같은 걸 만들어서, 네가 변경하는 코드를 제대로 이해하고 있는지 확인하는 건 어때? 그걸 위해서 굳이 TDD [같은 번거로운 것]을 할 필요까지는 없잖아?" 글쎄, 나는 거의 항상 변경하려는 코드를 이해하고 있다고 생각한다. 그런데 그러고 보니까 내가 정말 내가 그러고 있기는 하나? 이게 바로 TDD가 정말 도움이 되는 부분이다.

이것이야 말로, 내가 듣지 못한 TDD의 커다란 장점이다.

출처: http://betterways.tistory.com


My Opinion

----------------------------------------------------------------------------
TDD 나 Unit test 또한 짧은 시간내에 유용성을 느끼기는 쉽지 않겠지만 좋은 프로그래밍 기법의 한가지 답이 될 수 있을 것이다. 당부하고자 하는 것은, 짧은 지식으로 이것들을 맛보기만 한 후 그것이 효율적이지 않다고 결론을 내리는 우를 범하지 않길 바란다. Copy & Paste 를 남발하고, 대충 대충 코딩하는 사람은 프로그래머가 아니다. 단지 문서를 작성하는 사람일 뿐이다.

by Leanu




References
----------------------------------------------------------------------------

CppUnit Wiki : http://cppunit.sourceforge.net/cppunit-wiki

CppUnit CookBook : http://cppunit.sourceforge.net/doc/lastest/cppunit_cookbook.html
CppUnit CookBook (한글) : http://kukuta.tistory.com/90

Boost Unit Test Library :
http://www.boost.org/doc/libs/1_35_0/libs/test/doc/components/test_tools/index.html

Doxygen 이란 소스코드에 일정형식으로 주석을 달면

그에 따른 메뉴얼을 자동으로 생성해주는 툴이다.

정리는 이용하면서 틈틈히 채워주겠다.

<참고 site>
http://www.stack.nl/~dimitri/doxygen/

젤 좋은건 안전모드의 커맨드모드로 들어가서

c:\windows\system32 에 이 파일을 덮어 씌워라

개인적인 백업용이므로

받아서 쓰고 싶은 사람은 자유롭게 받아써도 되지만

이후에 발생하는 모든 오류에 대한 책임은

자기 자신에게 있음을 명심하라.

또 한가지 주의할 점은 버전에 맞게 설치를 안하면

무한 리부트에 걸릴수 있다는 것이다. 조심해서 깔자



<sp2 용>



<sp3 용>

맨처음 ARPG 를 접한건 성검전설2.

2인용으로 RPG 를 한다는건 정말 행복한 일이었다.

사촌동생과 함께 방과후 하루종일 즐겼을만큼 너무 좋아한 RPG 였다.

성검전설 3는 동생과 대사를 외우고 다닐 정도로 광팬이었다.

아마도 기억에 적어도 50번정도는 클리어하지 않았을까?

한번쯤 다시 해보는겸해서 올려본다. ㅎ




이기는 습관 - 전옥표

  • 윗사람이 시키는 것만 하지 않는다.
  • 나름대로 나만의 손끝 감각이 살아 있다. 초밥달인이 손끝만으로 밥알의 개수를 맞추듯
  • 언제나 새로움을 환영한다. 새로움을 발견하고 그것을 통해 자신의 현재를 반추한다.

    - 반추() : (동물의 되새김질에서 유래) 어떤 일을 되풀이 하여 음미하거나 생각함.
  • "비용 대비 이익"의 개념이 철저하다. 내게 지불되는 비용보다 내가 만들어내는 이익이 많아지도록 아이디어를 생각해내고 스스로 집행한다.
  • "내가 경영자이며 일의 주체"라고 생각한다. 그러므로 문제가 주어지면 항상 주도적으로, 능동적으로 의사결정을 하며, 끝가지 물고 늘어져 해결해낸다.
  • 끊임없는 연습을 통해 비범함을 갖춘다.
  • 당장의 이익보다 먼 미래에 맞춰 내가 서 있을 자리를 염두에 두고 생각하고 행동한다.
  • 내가 하고 있는 일에 청춘과 인생을 건다.
  • 동료관계가 진실하다. "사이좋음"에 그치지 않고 언제나 채찍질과 경쟁과 학습의 상대가 되어준다.
  • 실패를 두려워하지 않는다. 지금의 단계를 뛰어넘는 미래의 모습이 언제나 나 자신의 경쟁상대라고 생각한다.
  • 실패한 일에 대해서 남 탓을 하지 않고, 자신을 되돌아보며 발전의 계기로 삼는다.



====================================== [ vi 관련 tip ]

 
< Error Msg : Unknown terminal type >

   A.     원인: 터미널 환경변수 잘못 지정
   B.      해결
                         i.         C Shell: setenv TERM vt100

                        ii.         Bourne Shell: export TERM=vt100


<자주 쓰는 명령어>

명령어

설명

Ctrl + D

Ctrl + U

반 페이지 위로 이동

반 페이지 아래로 이동

O (대문자)

현재 커서의 본문부터 한 줄씩 내리고 새로운 한 줄 생성

0 (숫자), $

라인 처음, 끝으로 이동

^

라인의 첫 글자로 이동

[[

]]

전 함수로 이동

다음 함수로 이동

F + 모든글자

그 라인에서 입력한 글자가 처음으로 발생한 글자로 이동

ZZ

:wq!  와 같음

D

커서 뒤의 문자열 삭제


<저장
종료>


명령어

설명

:w

저장

:w file.txt

file.txt 파일로 저장

:w >> file.txt

file.txt파일에 덧붙여서 저장

:q

vi종료(저장이 안됐을시 경고)

:q!

vi강제 종료(경고 무시)

:wq!

강제 저장 후 종료

:e file.txt

file.txt파일을 불러옴

:e

현재 파일을 불러옴


<입력모드
전환>


명령어

설명

a

커서위치 다음 칸부터 입력

i

커서의 위치에 입력

o

커서의 다음 행에 입력

S

커서 위치의 한 글자를 지우고 입력

 

<이동>


명령어

설명

h

왼쪽으로 이동

l

오른쪽으로 이동

j

아래 행으로 이동

k

행으로 이동

w

다음 단어의 글자로 이동

b

이전 단어의 글자로 이동

^

행의 글자로 이동 Home키와 동일

$

행의 마지막 글자로 이동 End키와 동일

gg

문서의 행으로 이동

G

문서의 마지막 행으로 이동

:n

n행으로 이동 (여기서 n 숫자임)


<삭제>


명령어

설명

x

커서 위치의 글자 삭제

dw

단어를 삭제

dd

커서가 있는 행을 삭제


<복사
& 붙이기>


명령어

설명

yy

커서가 위치한 복사

p

붙여넣기

Nyy

N행만큼 복사 (N 숫자임)

Np

N번만큼 붙여넣기 (N 숫지임)


<블록
지정 관련>


명령어

설명

v

블록 지정 (v 누른후 h j k l 통해 블록 지정)

y

복사

d

잘라내기

U

대문자로 만듬

u

소문자로 만듬


<문자열
탐색 치환>


명령어

설명

/문자열

문자열을 탐색

:%s/old/new/g

문서 전체에서 old new 교체


<파일
버퍼 관련 명령 요약>


명령어

설명

:ls

버퍼의 내용을 나열

:bN

N 버퍼로 이동(N 숫자임)

:bwN

N 버퍼를 완전 삭제(N 숫자며, 없으면 현재의 버퍼삭제)



<출처> "자바먹어"님의 블로그
http://blog.naver.com/compro85?Redirect=Log&logNo=130026644690
  1. Favicon of http://finsternis.tistory.com BlogIcon leanu 2008.03.11 15:11 신고

    http://blog.naver.com/primeins?Redirect=Log&logNo=80014493929

  2. Favicon of http://finsternis.tistory.com BlogIcon 내향~* 2008.05.09 09:29 신고

    <문자열 수정>
    r - 커서 위치의 문자를 바꾼다.
    . - 최근 명령어를 반복한다.
    u - 최근 작업을 취소한다.

  3. Favicon of http://finsternis.tistory.com BlogIcon leanu 2008.05.13 19:29 신고

    차후 필요한 기능만 추려서 정리할 예정

음 이거 편하고 좋네요. 강추 프로그램


  1. ~_~ 2008.02.16 21:38 신고

    와우 좋아요!

  2. Favicon of http://blackturtle2.net BlogIcon 까만거북이 2008.12.19 11:52 신고

    APE를 mp3 변환하는 프로그램이 모두 복잡해서 질리던 참에 정말 감사합니다. :)

    • Favicon of http://finsternis.tistory.com BlogIcon leanu 2009.01.14 11:10 신고

      감사는요 뭘 ㅋㅋ

      저도 저걸 다운로드 받았을 뿐이고...
      다른것보다 편할 뿐이고...

  3. 2009.01.17 20:05 신고

    몇번의 실패 끝에 이곳에서 드뎌
    찾았습니다 만세!
    주인장님 만세!ㅋㅋ
    새해 복 많이 받으세요~^^

  4. 오우 2009.01.26 23:42 신고

    감사합니다 ㅋ

  5. 저두 2009.01.30 08:02 신고

    오오 잘 받아 갑니다~ 감사합니다(__)

  6. 2009.03.02 01:54 신고

    저도 잘 받아갑니다. 이 프로그램 저 프로그램 찾아다니고 직접 사용해보고 했는데
    이 프로그램은 별로 무겁지도 않고 속도도 빠르구 너무 좋네요 ㅠ_ㅠ 감사해요~ ^^

    • Favicon of http://finsternis.tistory.com BlogIcon leanu 2009.03.06 09:44 신고

      그래서 이 프로그램이 사랑 받나 봅니다. ㅋㅋ 방문 ㄳ

  7. Favicon of http://lifeisgood.tistory.com BlogIcon GoodLife 2009.07.03 02:49 신고

    정말 잘 받아 갑니다. 감사드립니다. 꾸벅!

    • Favicon of http://finsternis.tistory.com BlogIcon leanu 2009.07.07 14:04 신고

      오오 ㅋㅋ 잊혀질만하면 받아가시는 분들..

      역시 이거 인기는 끊임없군요.

      방문 ㄳㄳ

  8. 이야 2009.07.13 22:55 신고

    이거 정말 감사합니다. ㅎㅎ 덕분에 음악 잘 듣습니다

    • Favicon of http://finsternis.tistory.com BlogIcon leanu 2010.01.11 17:40 신고

      ㅋㅋ 작은 용량에 강력한 기능의 소프트웨어는 오랫동안 사랑받는듯 합니다. 방문 감사해요

  9. 정재용 2010.01.11 00:15 신고

    완전 감사해요!! ^0^

  10. Favicon of http://parksoo.net BlogIcon 초감동 2010.09.29 00:36 신고

    감동이네요...덕분에 용량 줄이고 쌈박하게 씨디한장으루 마감합니다. (__)

  11. 타임슬립 2013.01.10 14:01 신고

    2013년에 감사합니다.<(__)>새해복많이받으세요

  12. 2014 오딧세이 2014.07.19 12:37 신고

    2014년에도 받아가네요.. 감사합니다.. 행복하세요

+ Recent posts