시간 최소화 성과 최대화 법칙

이미지
이 책에서 읽은 것 중 가장 중요한 것 하나를 꼽으라면? 원인 해소 사고와 최종 목적 역산 사고라는 개념이다.  원인 해소 사고는 루틴처럼 진행하는 일이 잘 안될 때 해결하는 방법이다. 잘 되던 일이 되지 않는다면 지나쳐 온 과정에서 무엇이 전과 다른 지를 먼저 알아봐야 한다는 것이다. 원인을 찾았다면 그 문제를 풀기만 하면 자연스레 해결된다.  반면 최종 목적 역산 사고는 미래의 목적을 이루기 위해서 어떤 목표들을 달성해야 하는지 예측하고, 실행해 나갈 계획을 세우는 것이다. 막연히 목적을 이루겠다는 생각이 아니라, 그 목적을 이루기 위해서 생각부터 다르게 접근해야 한다는 것이다.  마치 유지보수 사업과 구축 사업의 관계와 비슷하다. 유지보수 사업이라면 이슈가 발생했을 때 문제 해결을 위한 원인 해소가 우선이 될 것이고, 구축 사업이라면 최종 목적을 달성하기 위해서 WBS가 우선이 된다. 하지만 실전은 복합적이고, 단순하지 않다. 매 순간에 어느 것에 중점을 두어야 하는지 판단하고, 사고한다면 도움이 되겠다.  '퍼뜩 냉큼의 법칙'을 보는 순간 뜨끔했다. 업무가 빠른 사람은 앞서 설명한 '퍼뜩 냉큼의 법칙'처럼 미팅이 끝난 직후 업무를 시작하겠다는 마음으로 미팅에 참여한다. 예를 들면 이런 식이다.  a. 미팅단계에서 모든 것이 명확해질 때까지 파고든다. 서로 다르게 알고 있는 것은 없는지, 어떤 방식이 맞는지 등 잘 모르는 것은 이해될 때까지 그 자리에서 확인한다. 그래서 미팅이 종료될 즈음에는 불명확하거나 모호한 점이 없다.  b. 무엇을 해야 좋을지 알고 있으니 미팅이 끝난 직후 실제 업무를 시작해서 완성한다. 모든 정보를 이미 확인했기 때문에 정확도도 높다.   퍼뜩 냉큼의 법칙을 보면서 반성했다. 회의의 경중을 따지고, 중요하지 않다고 생각되면 참석하는 시간이 아깝다고만 생각해 왔기 때문이다. 하지만 그것도 전체로 보면 원인 해소, 또는 목적 달성을 위한 과정의 하나이다. 그렇게 생각하면 ...

마션

이미지
왜? 어느 출근 길에 영화 마션의 한 장면이 떠올랐다. 주인공 맷 데이먼이 우주복을 입고 자동차(?)를 몰던 장면이나, 비닐 하우스(?) 안에서 감자를 키우던 장면들. 큰 줄거리는 기억이 나는데 세부적인 내용이 잘기억나지 않았다. 궁금하기도 하고, 영화와 다른 책은 어떤 내용일까 궁금해서 읽게 되었다.  몰입력이 대단하다.  출퇴근 시간에 유튜브를 볼 여유가 없었다. 마크 와트니의 생존일기와 유머, 그를 구출하려는 전 지구적 염원에 빠져들었다. 현실에서는 쉽지 않은 일이겠지만, 정말 있을 법한 일처럼 잘 만들었다. 작가의 과학 지식이 새삼 대단하게 느껴졌다.  NASA, 정말 그럴까? 주인공 마크 와트니가 화성에서 살아날 수 있었던 가장 큰 이유는 NASA에서 장비들을 잘 만들었기 때문이다. SF소설 속 이야기기는 하지만, 읽는 내내 NASA를 신뢰하게 만들어주는 에피소드들이 자주 등장했다.  난방장치, 주요 배터리들, 산소 및 질소 저장 탱크들, 물 환원기, 세 개의 에어로크, 조명 시스템, 메인 컴퓨터… 점검해 나갈수록 각각의 시스템이 모두 완벽하게 돌아가고 있다는 확신이 들어 기분이 점점 나아졌다.  나사를 인정해 줘야겠다. 무엇 하나 대강 만들지 않았다. 일상에서도 그런 물건들이 많으면 좋겠다. 믿고 쓸 수 있는 물건들이 넘쳐나는 세상이라면 좋겠다. 하지만 그렇게 되려면 많은 시간과 돈이 필요하겠지. 현실에서는 어느 정도의 타협이 필요하겠지만, 정말 필요한 곳에는 타협이 없어야겠다. 원전이 생각나네.  기억나는 구절들 "이 일이 왜 갑자기 그렇게 중요해진 거죠?” “시간이 다 되어가잖아. 와트니가 로버 개조를 어느 정도 했는지 우린 전혀 모르고 있어. 하지만 16화성일 안에 로버 개조를 끝내야 한다는 건 알지. 정확히 어떻게 되어 가는지 파악할 필요가 있어. 언론 매체들과 상원의원들이 끊임없이 내게 와트니의 상황을 묻고 있어. 심지어는 대통령도 두어 번 전화를 했고 .” “하지만 그의 상황을 파악한다고...

자바 성능을 결정짓는 코딩 습관과 튜닝 이야기

이미지
  왜? 성능테스트를 하면서 많은 시간과 에너지를 소진했다. 힘겹게 마무리를 하고 난 시점에 우연히 책장에서 책을 발견했다. 15년 전 책이 아직도 있었네. 그런데 혹시 내가 놓친 것은 없었을까? 궁금한 마음에 보게 되었다.  후기 밑줄 그어 놓은 것들을 보니 당시에 책을 읽으면서 가졌던 생각들이 떠오른다. 15년 전 책이지만, 여전히 유용한 부분들이 있었다.  쓰지 말아야 한다는 것은 알고 있는데, 왜 쓰지 말아야 하는지를 새롭게 알게 된 것들이 있었다. 그때는 알았겠지만, 시간이 지나 결론만 기억에 남았나 보다. 주기적으로 리마인드를 해야겠다.  개선율 구하는 공식을 미리 알았다면 유용하게 사용했을 텐데 아쉬웠다. 메모 Cpu 시간과 대기 시간 하나의 메소드, 한 라인을 수행하는데 소요되는 시간은 무조건 CPU 시간과 대기 시간으로 나뉜다.  CPU 시간은 CPU를 점유한 시간이고, 대기 시간은 CPU를 점유하지 않고 대기하는 시간을 의미한다.  CPU 시간과 대기 시간을 더하면 실제 소요 시간(Clock time)이 된다. CPU 시간은 툴에 따라서 스레드(thread)시간으로 표시되기도 한다.  nanoTime Jdk 5.0에 등장, 수행된 시간을 측정하기 위해 나옴 개선율이란 튜닝 전과 후의 차이를 수치로 나타낸 것이다.  (튜닝 전 응답속도 - 튜닝 후 응답 속도) X 100 / 튜닝 후 응답 속도 = 개선율(%) e.printStackTrace() 최대 100개 까지의 로그를 프린트하기 때문에 서버의 성능에도 많은 부하를 준다.  스택 정보를 가져오는 부분에서는 거의 90% 이상이 CPU를 사용하는 시간이고, 나머지 프린트하는 부분에서는 대기 시간이 소요된다.  XML XML 처리하는데 소요되는 시간 대부분은 parse() 메소드에서 처리하는 CPU 시간이다. 즉, 대기시간은 없지만, XML을 처리하는 과정에서 CPU에 순간적으로 많은 부하가 발생한다....

Python 개발환경 쉽게 옮기는 방법 (feat. Anaconda Cloud)

이미지
새 컴퓨터에 Python 개발환경을 만들어야 할 때, Anaconda Cloud를 사용하면 시간을 절약할 수 있다. 요약하면 다음과 같다.  기존 컴퓨터에서 Python으로 만들어 놓은 가상환경들을 Anaconda Cloud에 Backup 한다.  새 컴퓨터에 Anaconda를 설치하고, Anaconda Navigator를 실행한다. Import를 클릭하여 Cloud에 Backup한 가상환경을 가져온다.  조금 더 자세히 정리하면 아래와 같다.  1. [기존 컴퓨터] Anaconda Navigator를 실행한다.  2. [기존 컴퓨터] Backup 할 가상환경을 선택하고, Anaconda Cloud에 Backup 한다. 3. [새 컴퓨터] Anaconda를 설치하고, Anaconda Navigator를 실행한다. 아래에 있는 Import 버튼을 클릭하여 Anaconda Cloud에서 가져올 가상환경을 선택하고, Import 버튼을 클릭한다. 로컬에 가상환경이 생성되는 것을 확인할 수 있다.  끝. 

법인 사내이사 사임 & 취임, 감사 중임 셀프 처리 방법

이미지
사례 - 법인이 사내이사 1인, 감사 1인으로 구성되어 있고, 임기 만료일이 다르다.  법인을 처음 설립하면 사내이사와 감사의 임기 만료일이 다르다. 3년 마다 임원변경등기를 해야 하기 때문에 첫 임기만료 시점에 사내이사와 감사의 임기를 맞추는 것이 편하다. 이를 셀프로 처리하는 방법이다. 필요서류에는 도장을 찍을 필요가 없다. 나중에 추가서명자가 인증서로 승인처리를 하기 때문이다.  순서 필요서류를 준비한다.  정관 (간인 필수) 주주명부 총회의사록(주주전원의 서면결의서, 서면결의에 대한 주주 전원의 동의서) 사임서 (사내이사 사임) 취임승낙서 (사내이사 취임, 감사 중임) 인감개인신고서 등록면허세를 납부한다. - 위택스(wetax.go.kr) 대법원 인터넷등기소(iros.go.kr)에서 변경등기 신청서를 작성한다.  법인 전자증명서(USB)로 로그인한다.  변경등기 신청서를 작성한다.  1에서 작성한 서류를 첨부한다.  첨부서류별로 추가서명자를 등록한다.   법인, 임원, 주주로 각각 로그인해서 첨부서면에 승인한다.  법인: 전자증명서(USB) 개인: 공인인증서(임원, 감사, 주주 각각) 대법원 인터넷등기소(iros.go.kr)에서 변경등기 신청서를 제출한다.  법인 전자증명서(USB)로 로그인한다.  신청서를 제출하면 조사대기 상태가 된다.  대법원 인터넷등기소(iros.go.kr)에서 변경등기 신청 결과를 확인한다.  최초 처리상태는 접수 완료이고, 곧 조사대기로 바뀐다.  처리상태가 보정인 경우 원인을 확인하고, 조치 후 다시 제출한다.  교합완료, 또는 등기완료인 경우 모두 마무리 된 것이다.  필요서류 별 추가서명자 등록은 아래와 같다.  후기 인감카드 계속사용신청서도 양식에 맞춰 작성해서 같이 제출했었다. 하지만 인감카드는 정지되어 있었다. 대표자(사내이사)가 인감카드와 인감도장을 가지고 ...

법인 사내이사, 감사 중임 등기 셀프 처리 방법

이미지
  사내이사 1인, 감사 1인으로 구성된 법인의 중임등기를 셀프로 처리하는 방법이다. 중임등기는 사내이사와 감사의 임기가 같아야만 신청할 수 있다. 필요서류에는 도장을 찍을 필요가 없다. 나중에 추가서명자가 인증서로 승인처리를 하기 때문이다.  순서 필요서류를 준비한다.  정관 (간인 필수) 주주명부 총회의사록(주주전원의 서면결의서, 서면결의에 대한 주주 전원의 동의서) 취임승낙서 등록면허세를 납부한다. - 위택스(wetax.go.kr) 대법원 인터넷등기소(iros.go.kr)에서 변경등기 신청서를 작성한다.  법인 전자증명서(USB)로 로그인한다.  변경등기 신청서를 작성한다.  1에서 작성한 서류를 첨부한다.  첨부서류별로 추가서명자를 등록한다.   법인, 임원, 주주로 각각 로그인해서 첨부서면에 승인한다.  법인: 전자증명서(USB) 개인: 공인인증서(임원, 감사, 주주 각각) 대법원 인터넷등기소(iros.go.kr)에서 변경등기 신청서를 제출한다.  법인 전자증명서(USB)로 로그인한다.  신청서를 제출하면 조사대기 상태가 된다.  대법원 인터넷등기소(iros.go.kr)에서 변경등기 신청 결과를 확인한다.  최초 처리상태는 접수 완료이고, 곧 조사대기로 바뀐다.  처리상태가 보정인 경우 원인을 확인하고, 조치 후 다시 제출한다.  교합완료, 또는 등기완료인 경우 모두 마무리 된 것이다.  필요서류 별 추가서명자 등록 방법   주의 정관에서 임원에 관한 규정(중임, 사임, 퇴임 등)을 확인한다. 임원 변경에 관한 특이한 규정이 있을 경우 그에 따라야 한다.  참고 사이트 https://blog.naver.com/major_10b/223035489987

나미야 잡화점의 기적

이미지
  왜?  나미야 잡화접의 기적이 재미있다는 소식을 많이 들었다. 궁금했다. 얼마나 재미있는지. 한편으로 그렇게 재미있다는 책을 읽기에는 왠지 아깝다는 생각도 들었다. 그렇게 몇 달 동안 책장에 두고 있다고 마침내 읽었다. 기대를 저버리지 않은 책이다.  감탄 고아원에서 자란 아이들의 사연이 신기한 사연과 얽혀 하나로 이어지는 줄거리에 감탄했다. 어떻게 하면 이런 이야기를 만들어 낼 수 있는 것일까? 옮긴이의 말에서 답을 찾을 수 있었다.  이 소설은 2012년 '주오코론문예상'을 수상했다. 시상식 자리에서 히가시노 게이고는 재미있는 이야기를 했다.  '어렸을 때, 나는 책 읽기를 무척 싫어하는 아이였다. 국어 성적이 너무 좋지 않아서 담임 선생님이 어머니를 불러 만화만 읽을 게 아니라 책도 읽을 수 있게 집에서 지도해달라는 충고를 하셨다. 그 때 어머니가 한 말이 걸작이었다. "우리 애는 만화도 안읽어요." 선생님은 별 수 없이, 그렇다면 만화부터 시작하는 게 좋겠다고 했다. 나는 작품을 쓸 때, 어린 시절에 책 읽기를 싫어했던 나 자신을 독자로 상정하고, 그런 내가 중간에 내던지지 않고 끝까지 일을 수 있는 이야기를 쓰려고 노력한다.'