Monday, October 29, 2007

Sunshine Project BETA 종결!!!

시간보다 느낌은 더 길었다.

막판 3주동안은 거의 날밤에, 주말 풀 출근에... 진작 해논다고 한것임에도 불구하고 뒤로 갈 수로 구조를 바꾸어야 하는것들도 많아지고, 또 오픈을 앞두고 추가된 기능이 많아짐에 따라 역시나 막판에 고생을 했다.

나의 체력은 아직 죽지 않았으나, 근데 진짜 힘들었다 -_-;;...

아무튼 아주 큰 사건 사고 없이 잘 끝나서 다행이다.

그러나 이번엔 아주 예상치 못한 사건/사고가 있어서 당혹스러웠던 적이 있다.

1.

그간 줄곧 파일 무결성 검증을 위해 써오던 MD5 Hash Algorithm 이 완벽하지 않다!

정말 아주 아주 희박한 확률로 발생할 수 있는 일이 일어나버린것이다.

물론 MD5 Hash Algorithm가 깨진것은 오래전에 보고된것이었음에도 불구하고 그걸 몰랐던 나의 잘못이 크다.

이제는 SHA-1이 대새이다.

공부를 게을리 한 티가 확 났다.
2.

원인이 밝혀지지 않은 아주 미스테리 한 사건이다.

Client 에서는 Single Socket 으로 내가 만든 ILS 에 붙게 되는데, 서로 양방의 Log를 분석해 보자면, Client 에서는 분명 Packet 을 전송했는데, ILS 에서는 그에 따른 Event 가 전혀 오지 않았다.

때문에 Blocking Socket 을 사용하는 Client 에서는 Lock 이 걸려 죽어버렸다.

첫날 오픈하자마자 40분 만에 발생한 사건인데, 응급조치를 하고 다시 살린후, Closed BETA 종료까지 잘 버텨줬다.

도저히 파악이 되지 않아, 서로의 소스를 리뷰하면서 검토했는데도 불구하고 원인은 여전히 오리무중이다.

사실 이런 경우 신경은 면도날이 되고, 긴장은 100% 충만해진다.

자신이 만든 Daemon 에 문제가 생겼다고 가정한다면, 이건 더 있을 수 없을 고통이고 치욕이며 창피함이다.

때문에 사고가 터졌을때, 원인 분석이 객관적으로 명확하게 들어가야 하는데 대개 이런 경우엔 이성적으로 문제를 파악하기가 힘들어진다.

처음 그쪽의 로그만 보면 명백한 내 잘못이었다.

로그관리에 소흘했던 내 자신은 좀더 자세한 로그기록의 부재에 잠시 패닉상태도 오고, 진짜 힘들었는데, 다행히 DB 에 남은 History와 Web 에서 남긴 Session Log, 또 System 의 Event Log 가 날 도와줘서 분석할 요소가 더욱 많아졌다.

신경이 곤두서고, 서로의 코드에 집중하면서 한 10시간은 아무것도 못하고 분석만 한거 같다.

그 10시간은 정말 피말리는 싸움이었고, 신경전이고, 이후 주도권 경쟁의 중심에 있기에 절대 질 수 없었다.

이시간 동안 머리숱 반이 빠지고 나이테 2,3개는 더 먹은거 같다.

결국 양쪽 모두 특이한 결함이나 문제를 찾아내지 못했고, 여전히 분석중이지만, 여전히 모르겠다.

오히려 내 코드를 보면 볼 수록 자신감이 붙는다. -_-;;...
아무튼 이러저러한 우여곡절끝에 잘 마무리 했고, 이제 남은건 4일동안 보고된 버그와 개선사항에 대한 처리인데...

긴장이 확 풀어지니, 당장 일 하기가 싫다.

내일, 모래 휴가를 받았는데 뭘 하면서 보낼까?!

설악에서 단풍보고 주문진에서 회떠 먹고 싶다...

그동안 아주 수고많았다!

아무튼 그간 공부를 너무 안한거 같긴 하다.

기존에 해왔던거니 하고 너무 쉽게 생각한거 같기도 하고, 관성스럽게 진행한 부분이 적지 않다.

반성한다.

근데, 언제까지 이 일을 해야 하는거지?

분명 재미는 있으나, 이방면의 아주 고질적인 문제들로 이럴때마다 회의를 느끼기도 하고, 또 체력도 점점 딸려지게 된다.

좀 재밌게 여유있게 맑은 정신으로 즐겁게 일 할 수 없을까?

끝무렵 1주일동안 아주 피곤했다.

Monday, October 15, 2007

반복 , 후회 , 다시 !!!

정말 간만에 일을 하면서 밤을 새고 있다. 아마 작년 8월 이후 처음인듯...

내일은 10월 25일 Closed BETA 를 진행할, 우리가 Publishing 하는 게임의 사이트를 오픈하는 날이다.

나는 Web Programmer 가 아니기에, 크게 영향은 없다만, 몇가지 페이지에 들어가는 ActiveX 때문에 작업을 하고 있다.

지금은 일단 내 작업은 끝난 상태!

다시는 야근을 하지 말아야지, 다시는 주말에 출근을 하지 말아야지라고 생각을 했다.

그래서 나름 미리 미리 작업을 끝내놓았었다.

Architecture 를 설계하고, 일정을 만들고 ProtoType 을 만들고, Algorithm 을 생각하고, 코딩을 하고, UI 도 입히고, Unit TEST 도 하고, 나름 일정에 맞게 잘 왔다.

하지만, 문제는, 사건 사고는 늘 닥쳐서 일어나는 법.

분명 나의 설계에는 문제가 없었으나, 실제 배포되기전 최종 테스트를 앞두고서는 꼭 문제가 생긴다.

End-User 의 어처구니 없는 ISP 가 문제가 되기도 하고, 이미 상용화되어 릴리즈된 솔루션을 가져다 쓰는데도 문제가 되기도 한다.

이런경우엔 재현가능한 시나리오를 추측하는것만으로도 힘이들며 또 이런경우엔 Debugging 하기도 힘들다.

그리고, End-User 의 욕심과 요구사항은 끝이 없다.

설계되지 않은 기능을 추가하려면 운좋게 확장성있게 만들어진 곳에서야 깔금해지지만, 그렇지 않은경우 아주 골때리게 구조자체를 바꿔야 할 경우도 종종 생긴다.

이런게 한번 발목 잡으면 작업은 눈덩이가 된다.

특히 더욱 문제가 되는것은, 일정에 닥쳐서 수정/보완을 하게 되면 소스가 스파게티가 되어버려 후엔 더더욱 유지/보수하기가 힘들어진다.

직접 작업을 하면서도 당장에 닥친일이기에 수정을 하긴 한다만서도 참 정말 지저분해 지는 소스를 보면서 짜증이 나기도 하고, "다시 만들어야지", "다시 만들어야지" 하면서도 닥친일이기에 어쩔 수 없이 작업하게 된다.

그래도, 기회는 있다.

중요한 고비를 넘기게 되면, Refactoring 할 수 있는 시간이 주어지고, 충분히 새롭게 다시 만들 수 있다.

소스도 보기 좋게 아름답게 이쁘게 다시 잘 구성할 수 있고, 최적화도 가능하며 확장성에 재사용성까지 아주 멋진 소스로 다시 거듭날 수 있는 기회가 온다.

하지만, 기회가 없는것도 있다.

마음만 먹으면 언제든지 내 마음에 쏙 들정도로 멋진 코드를 만들 수 있는것과는 달리, 한번 그르치면 돌이킬 수 없는 것들이 있다.

사람들과의 인연이 그런듯 한다.

군대 있을적에 그런 사람이 있었다.

아, 이 사람은 군대가 아닌 다른곳에서 만났더라면 참 좋았을텐데 라는 생각이 드는 사람... 분명 환경에 합리화된 변명일 수 있으나, 좀더 좋은 기회는 분명 있을 수 있다.

또, 불가항력이 아닌, 내가 잘못한 경우, 그때 그렇게 했으면 어쨌을까, 그때 좀더 참았더라면, 혹은 그때 좀더 잘 했더라면... 그리고 좀 더 신중했더라면...

소스를 Refactoing 하는것 처럼 좋은 기회가 찾아오는 경우도 있으나, 대개의 인간관계에서는 돌이킬 수 없는 경우가 많다.

지저분하고 난잡해진 소스에 덧칠을 하며 이후에 다시 멋지고 아름다운 소스로 재구성할 생각을 하며,

반대로 돌이킬 수 없는 것들에 대한 안타까움과 미련이 남고, 다시 잘 해볼 수 는 없을까? 기회가 다시 올 수 있을까? 라는 생각을 해본다.


밤을 새면서 정신이 혼미해지면, 사실 없었던 자잘한 Bug 가 생기는 것은 어쩔 수 없는 일이다.

이럴때는 정신력으로 극복을 해야 하는데... 쏟아내리는 잠을 떨쳐버릴 수 있는 좋은 방법은 세수를 한다거나, 담배를 핀다거나 또는 좋은 음악을 아주 크게 듣는 것이다.

처음 들을땐 솔직히 잘 몰랐는데, 듣다보니 은근히 매력있게 좋아지는 음악이 있다.

잔잔한듯 하며 폭발할거 같고, 같이 소리치고 싶어지게 만드는 멋진 음악, 특히 한옥타브를 순식간에 왔다 갔다 하는 순간에는 아주 박진감이 넘친다.

또 대개 익숙한 기타와 하모니카의 앙상블이 아닌, 피아노와 하모니카의 절묘한 하모니가 아주 멋있다.

이번 기회에 집에서 썩고 있는 하모니카를 꺼내고, 스튜디오에서 묶고 있는 건반을 가져와 올해안에 이 곡을 마스타 해볼까?

이 자리를 빌어, 좋은곡을 소개해준 P양에게 감사하며... :)

뮤직비디오도 있는데, 너무 오래된거라 그런지 살짝 웃긴다.

한번 들어보시라! 유명한 곡이라는데 난 미처 몰랐던...

Sunday, October 07, 2007

뉴욕의 프로그래머

오! 정말 간만에 즐겁게 책을 읽었다!

조정래선생님의 글 이후, 밤에 잠을 늦게 자면서까지 재밌게 책을 읽은건 아마 처음이 아닌가 한다.

IT 관련 책들은 늘 복잡한 그림과 수식, 그리고 언뜻보면 알 수 없는 몇십줄의 알파벳의 나열이거나, 기껏해야 조금 부드럽다 싶은 책은 에세이 정도로 된 방법론 책등이 있었다.

IT 서적 중 "조엘 온 소프트웨어"도 재밌게 읽었었지만, "뉴욕의 프로그래머"는 더 재밌게 읽었다.

지난주 금요일부터 읽었는데, 주말 포함해서 3일만에 다 읽었다!

일단, 기술서도 아니고, 에세이집도 아니고 방법론에 대한 글도 아닌 "소설"이다.

IT 관련하여 어떻게 소설이 될 수 있을까도 싶지만, 소재가 프로그래밍에 대한 것이고, 이야기 전반에 대한 것은 다른 업계와 비슷할 수도 있다.

하지만, IT 업계에 종사하지 않거나, 프로그래밍 관련 지식이 없거나, 엔지니어가 아니라면 재미가 없을 수 있다. 아니 아마 재미없을것이다.

마치 나를 대변하는듯한, 그리고 내 과거를 아는듯한 리얼리티와 디테일이 살아있는 이 소설은, 읽으면서 "맞아!" 와 "오!" 그리고 웃음이 절로 나오게 된다.

초고수들의 개발 과정에서도 비슷하게 일어나는 해프닝도 있고, 컴퓨터를 대상으로 한 직업이지만, 어떤 일에서도 떼어놓을 수 없는 인간관계에 대한 이야기, 그리고 아주 어려운 문제를 풀어나가며 생기는 에피소드들, 또 빠질 수 없는 IT 업계의 사건 사고들이 아주 흥미진진하게 잘 묘사되고 있다.

또 명장면, 명대사, 명언들이 참 많이 나온다. 마음 같아서는 이글에 몇가지 소개를 하고 싶으나, 저작권에 걸리지 않을까하여... -_-;;...ㅋ

아쉬운것은 좀 더 큰 흐름을 가지고 좀 더 긴 이야기였으면 더 재미있었을텐데 라는 생각이 든다.

요즘들어 IT 업계에 종사하는, 특히 개발자들에 대한 강도높은 업무분량과 열악한 업무환경, 노력대비 낮은 보수 등이 언론을 통해 종종 회자되고 있다.

안타깝지만, 사실은 사실이고, 또 변화나 발전의 여지가 쉽게 보이지 않는것도 사실이다.

컴퓨터가 너무 당연하게 지극히 보편화 되면서 사용자의 눈높이와 요구사항은 하늘 높인지 모르는데, 이 개발이라는 것은 경력이 쌓일 수록 공부해야 할 것이 더욱 많아지고, 어제 공부한거 오늘 써먹으면 내일은 사장되듯 기술의 속도가 너무 빠르며, 또 공부만 해서 되는게 아니라, 남다른 감각과 센스를 지녀야 하는것이다.

물론 내가 지금까지 어떻게 해왔나라는 생각이 들정도로 벅찬 일이기도 하다.

이 책을 읽으면서 개발자가 가져야 할 자세, 그리고 바라봐야 할 지향점등에 다시 한번 생각해본다.

알고 있으면서 쉽게 하지 못하는, 어쩌면 이제는 잊었을 수도 있는 개발자의 엔지니어의 마음가짐이 다시 한번 내게 절실히 요구되는 듯 하다.

요근래 들어, 하는일에 있어서 별 신선한것도 없고, 그동안 했던거 짜집기나, 조립정도의 일이라 생각하고 그다지 열정을 가지고 일하지 못했는데... 다시 한번 해봐야 겠다! 물론 어렵지만! -_-;;...

컴퓨터 프로그래밍이라는 것은 나름 재미있고 예술적이며 창조적인 매력있는 직업이다.

Monday, October 01, 2007

따랑해요! 갑형님!



내가 유일하게 사랑하는 남자! 우리 갑형님의 생일잔치를 했다!

우리나이가 되면, 특히나 갑형님의 나이가 되면 더 그럴테지만, 생일은 그닥 반가운 행사만은 아니다. 나이 먹고 싶고, 생일이 즐거운건 그저 젊었을때의 일이 아닌가 생각한다.

하지만, 그렇다고 우리 따랑하는 갑형님의 생일을 그냥 지나칠 수 없지!

게시판에 사진과 글 올려서 사람들한테 공지하고, 함께 할 자리도 마련해 보았다.

사무실로 갔더니, 컴퓨터 앞에서 3000번째 글을 자축하며 화면을 캡쳐하고 계시던 회장님,

집에서 샤워까지 하고 말끔한 모습으로 온 우리의 새로운 찍사 영숙이,

저 멀리 애인의 생일을 축하하기 위해 달려온 갑형님의 애인 박지씨,

벌써 어디선가 흥건하게 취해오신 미선누님,

아무도 선물을 준비하지 않았는데, 멋진 넥타이 선물을 준비해온 이제는 4차원소녀라 불리는 아줌마 인순,

바쁘신 중에 와주셔서 자리를 빛내준 우리 구위원님 ㅋ

그리고 이름모를 예비회원 -_-;;...

아~ 내가 너무 오랜만에 나왔나? 간만에 왔더니 한사람씩 다 면박을 주네?

아무튼, 오랜만에 사람들 보고 특히나 갑형님 생일 당일에 함께 자리 할 수 있어서 기뻤다.

아마 갑형님이 없었으면, 나의 생활은 무의미 했을것!

가끔은 너무 순박한 고지식함에 답답함을 살짝 느끼기도 하지만, 그래도 그 누구도 따라올 수 없는 세계 최대 울트라 슈퍼 메가톤급 인간성은 정말 최고다!

따랑해요 갑형님, 아무쪼록 몸도 마음도 건강하시고, 죽지 말고 오래 오래 건강하세요.

나중에 형님이랑 저랑 별 나이차이도 느끼지 못할 훗날이 돼서 같이 여행도 다니고, 낚시도 다니고, 공원에서 바둑도 두고 놀아요.

따랑해요 갑형님!

그리고 선물은 제마음이랍니다! 제 마음을 거두어주세요~ =)


사진 더 보기