brunch

매거진 IT 20년 썰

You can make anything
by writing

C.S.Lewis

by 야옹이버스 Feb 12. 2016

IT 15년 썰 - 5

플래닛(Planet) 군단

입사 후 꽤 오랫동안, 회사 가는 게 너무 좋았다.

주말에는 얼른 월요일이 되어서 회사에 가고 싶었고, 출근해서는 퇴근을 하기가 싫었다.

연차도 매년 열흘 정도씩 남았다.


힘도 남아돌고, 책임질 가정도 없고, 일도 재미있고...

지금 돌아보면 별 생각도 없고 별 걱정도 없고,

공부하고, 보고 배우고, 개발하고, 동료들이랑 노는(?) 생활이었다.

(설마 걱정이 없었으랴.. 지금의 시각에서 돌아보면 그렇다는 것...)


비슷한 맥락에서,

밤새미 혹은 밤늦게까지 일도 자주 했는데,

그다지 누가 압박을 한다던가, 분위기가 그렇다던가 한 것은 아니었다.

당시엔 회사가 일터이자 놀이터였다. (나 말고도 그런 동료들이 많~았다… 혹시 나의 착각?;;)


그런 중에 밤새미가 특히나 많았던 프로젝트가 있었는데,

2004년 여름에 개발한 미니홈피(SNS) 서비스, '다음 플래닛(Planet)' 이었다.


SNS 서비스에 진입해야겠다는 전략적 판단으로 진행된 프로젝트였는데,

이미 싸이월드가 대세를 가진 영역으로, 새로운 서비스가 아니었기 때문에,

우리는 첫 프로덕트부터 완결성 있는 버전 그 이상을 만들어내야 했고,

개인게시판/ 앨범/ 동영상/ 친구의 친구의 친구 관계/ 스킨/ 배경음악/ 파일서버/ 쪽지 등,

모든 풀세트 개발에 주어진 시간은 딱 2달이었다.



- 웹 : Httpd, Tomcat, Struts, Java(J2SE 1.4), Velocity

- 데이터베이스 : Mysql, 직접 개발한 DB Middle Ware

- 모듈 : Counter Server, Cache Server 등

- 개발 환경 : Eclipse, CVS

- Error Control : 에러에 Uniq Code 부여


살펴보면 Httpd, Tomcat, Struts, Velocity 가 모두 아파치 프로덕트다.
(아파치 사랑해... 아마 나 말고도 모든 개발자가 사랑하고 있을거얌)

그리고,
- Struts
- Servlet2.2~3/JSP 1.1~2
- Tomcat(catalina)
- Velocity 는 다 Craig McClanahan 작품이다.
(이 분이 참여한 프로젝트의 맥락상 연관성이 보인다.)


서블릿 컨테이너는 레신에서 톰캣으로 바뀌었고,

MVC 프레임웍은 Struts 를 사용했다.

(스프링은  이때 없었다고 봐야 한다. 2004년에 1.0 릴리즈)

비용 효율을 위해 DB 도 oracle 이 아닌

mysql 로 (이때는 mysql 은 무료였다) 바뀌었고.

드디어!! 이클립스를 사용하기 시작했다.


이클립스를 사용하기 시작할 때 느낌이라면,

마치 원시부족에서 콜라병 본 기분? ㅎㅎ

이클립스를 쓸 것인가 말 것인가를 잠깐이나마 논의했었으니 말 다했지.

솔직히 자바 언어가 대세가 되는 데는 IDE(이클립스) 덕이 만만치 않았다고 생각한다.

그리고 개발에 있어 도구의 힘은 정말 대단하다.


도구가 있음으로 해서, 또 그 도구를 얼마나 잘 다루느냐에 따라서 소스의 품질과 속도에 엄청난 차이가 난다.

개발도구가 기타 등등을 챙겨주니, 개발자는  그 다음 레벨의 고민을 비로소 할 수 있다.




플래닛 메인 서비스는 9인의 개발자가 만들었는데, 지금 9인과는 상황이 다르다.

오픈 소스 모듈이라고는 위에서 언급한 것들이 다였다. 서버 세팅과 설치도 모두 직접 했다.

java 에서의 DB 어댑터도 직접 구현했고,

was와 db사이에서 DB풀을 컨트롤하고 분산을 담당하는 DB 미들웨어도,

카운터 서버나 캐시 서버도 모두 직접 만들었다. (없었으니까~)

나는 이 프로젝트에서 온갖 게시판 쪽을 맡았었다.


밤새고 아침밥은 항상 쌀국수였던 기억(회사 사무실 1층에 쌀국수 집이 있었다),

어느 날인가 아침엔, 너무 더워서 아침을 아이스크림으로 먹은 기억,

옆자리 앉은 짝궁의 유치원 딸이 아빠에게 "늑대인간 힘내지 말고 아빠 힘내세요" 라고 보낸 카드를 함께 읽고 힘냈던 기억, (그 딸이 지금은 중딩!)

밤에 강풀의 '아파트' 연재를 보다가 너무 무서워서 의자째로 뒤로 넘어갔는데, 그런 내 모습이 더 무섭다고들 했던 기억..


이때 9인(이름하여, 플래닛 군단)의 팀웍은 정말 아름다웠다 :)

일하면서 가장 행복한 기억 중에 하나다.

멤버들도 이때의 기억을 가끔 곱씹는데,

지금 두 명은 해외에서 일하고 있고,

나머지는 아직도 같은 회사에서 함께 하고 있다는!


지금까지 나의 경험에 비추어 보면,

두어 달짜리 프로젝트를 개고생 해서 같이 만들면 어느 정도의 '신뢰’가 생기는 것 같다.

아픔과 기쁨의 경험을, 몸과 머리로 함께 나눠야 생기는 것이 신뢰..

그래서 등산을 가나보다 -ㅠ- (헉 이런 결론은 쫌…)




개발 관련 작은 기억들도 있다.

구현을 하다 보면 그룹핑 하기 애매한 작은 유틸성 메소드들이 있는데,

나름 재치 있게 네이밍을 한답시고,

GuitarUtil.java (기타 유틸)라고 클래스명을 정했다.

한편,

오픈 후 플래닛 미국 론칭(2005년) 프로젝트에 조인해서

(미국 진출 플젝에 대해서도 얘기할 것이 한 바가지이나 걍 패스하는 걸로)

미국 오피스의 개발자들과 함께 일했는데,

같이 일했던 Kai(캐나다인) 가 우리의 센스 있는 GuitarUtil 을 보고,

"이따위 네이밍이 어딨냐" 며 구박했던 기억이 난다. ㅎㅎㅎ

GeneralUtil 정도로 바로 바꿔버렸던 것 같다.

(하~ 카이와 에쇽은 잘 살고 있겠지)


또 하나는,

에러 컨트롤을 잘하고 싶었는데,

플래닛 군단 막둥이 개발자가 아이디어를 낸 것이,

유저가 보는 에러 페이지에 에러코드를 uniq 하게(단 하나만 있는 코드값) 생성해서 보여주고,

같은 코드를 로그로 남겨서,

CS(고객대응 서비스) 할 때 에러코드를 긁어서 보내 달라고 안내하는 것이었다.

그럼 무슨 문제인지 한방에 로그 확인 가능하니까! (천재아님?)


이 아이디어는 생각한 대로 잘 동작되지는 않았지만,

(유저들은 개발자가 아니다. 누가 그걸 긁어서 보내주겠니. 바보아님?)

추후에 나의 '에러 관리'에 대한 관심(집착?)의 불씨가 되었던 것은 맞는  듯하다.


마지막으로,

프로젝트가 마무리 단계로 가면서 '이스터에그’를 넣으면 어떨까 라는 얘기를 가끔씩 했었는데,


이스터에그(Easter Egg) :
프로그램 세계에서 이스터에그는 프로그래머가 부활절달걀 숨기듯이
프로그램 내에 장난을 쳐두는 것을 얘기하는데,
특정 동작을 하면 숨겨둔 메세지 등이 나타난다.


오픈을 2일 남기고, 나는 '본격 이스터에그 넣기' 임무를 하게 된다. (다른 일에서 다 빼줬다)

낙서하는 걸 좋아해서 가끔 멤버들의 에피소드를 낙서하곤 했는데,

그걸 스캔하고 편집해서 7개의 시리즈 이미지로 만들었고,

플래닛 서비스 화면의 랜덤(무작위) 위치에,

1x1 픽셀짜리 투명 이미지를 띄우고,

클릭되면 7개의 이스터에그 이미지 중 하나를 보여주도록 만들었다.


유저들은 왜 떴는지도 모르고 어쩌다 한번씩 이미지를 보는 셈이었다.

이미지를 발견해서 블로그 등에 올리는 유저들도 있었는데,

유저들의 보물찾기를 지켜보는 재미가 있었다 :)

(로그 따로 남겨서 몇 번 그림이 오늘 얼마나 보여졌나도 다 봤다우... 개발자 이러고 논다 -ㅠ-)


나는 플래닛의 초기개발에만 참여했는데
이 후 플래닛은 무럭무럭 자랐고,
달력형태로 된 라이프로그로의 변신,
지도를 넣어(지도의 시대가 오기 훨씬 전) 생활의 기록을 남기는 방식 도입등 계속 발전했다.


이스터에그로 사용된 7편의 플래닛 군단 스토리를 공개하며 이번 글을 마무리한다 :)


글자가 너무 깨알같아서 죄송합니다 -ㅠ-


매거진의 이전글 IT 15년 썰 - 4
작품 선택
키워드 선택 0 / 3 0
댓글여부
afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari