2009년 3월 25일 수요일

우리 공과장 1

경력 5년차 슈퍼 개발자 공대리는 그동안의 노고에 힘입어 과장으로 승진하게 되었다. 공과장의 실력은 이미 검증이 되었으며, 고객들도 그의 실력에 감동하고 있다. 공과장의 실력을 잠시 설명하자면 Emacs상에서 gdb로 IIS 웹서비스를 원격디버깅하는 정도.. CPU다리에 납땜질을 해서 손끝에 전해지는 찌릿함으로 시그널을 디버깅 한다. 지가 오실로스코프도 아니고.. 아무튼 외계에서 온 녀석이다.

그.. 러.. 나..

과장이 되자 그 전에는 없던 부하직원들이 생겼다. 그동안 혼자서 일했던 공과장. 전혀 부하직원들이 눈에 들어오지 않는다.
과장이 된 첫 날부터 이전처럼 자기 부하들을 무시하고 혼자 모니터만 바라보며 개발에 열중한다. SVN에 올라온 부하직원의 코드가 맘에 들지 않자 손수 수리하는 자상함 까지 보여준다. 자기 로컬에서 이런 저런 테스트를 진행하던 중 부하 개발자의 코드가 공과장 마음에 안 드는 변수이름을 사용하는 것을 발견하였다. 거기다 전체 성능까지 까먹으며 돌고 있었다. 부하직원이 나름 열심히 만든 코드였다. 이 코드는 매우 복잡한 O(N+1)알고리즘을 사용하며, 족히 10,000줄 정도는 되어 보인다. 결코 용서가 되지 않던 공과장은 코드를 일일이 뜯어 고치기 시작했다. 시간은 저녁 10시를 넘어 부하직원들은 눈치만 보다 모두 퇴근하고 공과장 혼자 사무실에 남게 되었다. 새벽 1시가 되어갈 무렵, 공과장은 O(N)알고리즘을 사용해서 작성되고, 이전 보다 1,000줄 줄어든 코드를 빌드하였다. 간단히 테스트를 마친 공과장은 택시를 타고 집에 돌아갔다.

다음 날..
9시 정각에 출근한 부하직원들은 8시 반부터 출근해 있는 공과장에게 인사를 하고 자리에 앉아 개발중인 디렉토리를 업데이트하며 입을 쩍 벌린다. 밤 사이 50개의 리비전(공과장은 로컬 파일시스템이 망가지는 걸 대비해 자주 커밋한다.)이 올라왔고, 전날 부하직원이 코딩한 부분이 모두 사라져 있다. 업데이트 하는데만 10초가 넘게 걸린다. 어제 SVN에 올리지 못한 모든 .c 파일에 컴플릭트가 표시된다. 컨플릭트가 너무 많아 일일이 수정해서 해결하는 걸 포기해야 한다. 부하직원은 어제 설계하고, 계획했던 모든 부분을 다음으로 미루고, 바뀐 부분을 신입사원처럼 main함수부터 분석해야 한다.

오전 10시도 되기 전에 공과장은 10개의 리비전을 커밋한다.

FIX :: ssh 접속이 느리고, /var/log/messages에 systemd-logind.service failed. 메시지가 남을 때

ssh 접속이 느릴 때가 있습니다. 보통은DNS가 제대로 설정되지 않았는데 /etc/ssh/sshd_config에 UseDNS가 yes로 되어 있을 때 발생합니다. 위와 같을 경우 /etc/ssh/sshd_config파일에서 아래와 같이 수정 후 ...