about me

개발 스토리

season1 JAPAN on ARARIO

  • 일본에서 웹개발자로 개발시작
  • 아라리오라는 곳에서, 웹개발을 열심히 함
  • ant랑 jenkins엮어서 빌드툴도 간단히 만듬
  • 회사 동료들과 함께쓸 간단한 java 라이브러리들을 만듬
  • javascript 잘 모르던 시절이지만, 간단한 프레임웤을 만들었었음.
    • mixi라는 플랫폼에 플래시 게임(무려 애니팡!)을 빨리 붙일 수 있도록 함.
  • 웹가챠를 개발함
  • 중국넘들이 너무 해킹시도를 많이해서, 안전한 웹을 만들려고 노력을 많이했었음.(블랙리스트, 화이트리스트 구현)
  • maven이라는 걸 알게되서 라이브러리 관리를 maven으로 옮김 + nexus를 사내에 설치함.
  • 리눅스는 기본만 익혔던 상태
  • 그 당시 메모리 부족으로 인한 장애가 많이 났었는데, 못잡았던게 한이됨..ㅠㅠ
  • 지진나서 회사가 오키나와로 이사를 가게되는데, 동경에 남고 싶어서 아라리오를 떠나게됨…

season2 JAPAN on HANGAME JAPAN

  • 멋진 회사!
  • 멋진 팀!
  • 지금 생각하면 뭔가 아쉽고 오글거리지만, solomon-observer라는 어플리케이션 모니터링 프로그램을 제작함.
    • java thread에 sencha에 스케줄링에… 모르는것 투성이인 채로 만들었음.
    • 서버 <=> 클라 방식이 아니라 서버가 클라에 가서 걍 땡겨오는 방식. java모니터링에는 jmx를 썼었음.
    • 그외에도 cassandra, mongodb, redis를 모니터링 할 수 있는 녀석이었음.
    • 설정은 회사의 배포 콘솔에서 손쉽게 할 수 있게 했었음.
  • 큰회사다보니 돈이 많아서 그 비싼 jennifer의 글로벌 라이센스를 획득.
    • 일본지사 책임이 내가 됨.
    • 라이브 프로젝트의 게임 성능 측정시에 jennifer를 쓸 수 있도록 세팅.
    • 서버가 600대가 넘어갔기 때문에 수동으로 설치하는 거면, 하루종일 설치만 해야해서 관리툴에서 설정하면 자동 설치되게 만듬
    • 당시 인기있던 ‘용사콜렉터’게임의 성능측정을 도와줌.(그래봤자 문제가 어딘지 알려주는거… 다 DB였음)
  • 라인 게임 플랫폼에 사용될 뻔했던 배포툴 LMC 제작 (제작은 완료했었음…)
    • 그 당시 hot하던 nodejs로 제작
    • DB설계는 마루야마상이라는 일본분에게 맡기고, express를 개조해서 편하게 만든 lucy-express를 제작.
    • lucy-express는 그냥 java의 struts2프레임웤 처럼 쓸 수 있게 하는게 목표였었음.
    • 별로 홍보를 안해서 5개 정도의 프로젝트에서 사용할 수 있게 도와줌.(이마저도 개발실이 해체되면서 없어짐..ㅠㅠ)
    • socket.io를 썻기때문에 내가 배포하는게 실시간으로 다른 사람의 화면에도 보였음.
    • java로 되어있는 인증이 문제였는데, 걍 인증API서버를 만들어서 nodejs에서 호출하는 방식으로 우회
    • mysql transaction 거는게 정말 거지 같았던 기억이 있음.
    • 콜백헬은 async를 이용해서 탈피….하려고 했으나 마음에 안들었음.
    • nodejs가 fabric의 명령어를 호출하는 방식으로 rolling 배포, 인프라 설치 등을 만들었었음.
    • 개발실이 해체되면서 제작 다해 놓고 쓰고 있던거 없어짐..ㅠㅠ

뭔가 더 있었는데… 기억나면 적어야겠다…

season3 KOREA SEOUL on podotree

  • 5년 넘게 일본있으니 일본에 죽을 때까지 살아야 될 것 같은거임. 근데 여자친구도 없고 소망도 없고 그래서 한국으로 옴. 한국에도 소망은 별로 없다는 걸 알기까지는 얼마 안걸리긴 했지만…;;
  • 한국와서 3주 놀았는데, 어머니가 백수될까 걱정하셔서 일자리를 알아봄.
  • 입사할 때 코딩시험이 꽤 어려웠음.
  • 카카오 페이지랑 관계없는…? 게임팀에서 서버를 담당하게 됨
  • chef + fabric 으로 배포툴 제작(NARUTO)
    • 나루토가 환영분신술을 쓰기 때문에 한방에 여러서버에 배포, 업데이트 할 수 있어서 이름을 나루토로 지었음.
    • 인프라 툴을 닌자계열 이름으로 짓는거는 NHN에서 배워온것. 뒤에서 신속하게 움직인다는 의미로 지은거라 뭔가 잘 어울림.
    • UI는 없고 CLI만 존재
    • 롤링 업데이트 없음.
    • 왜냐면 서버가 nodejs라서 0.5초만에 리부팅됨.
    • 커넥션을 맺고 있는 것도 없어서 필요 없었음.
  • nodejs로 게임서버 제작
    • 진정한 콜백헬을 경험.
    • 로그인 할때 로직은 18단계를 통과함. q라는 promise 라이브러리가 있어서 지옥에서 살아남음.
    • naver마켓이랑 인증에 필요한 라이브러리가 php랑 java밖에 없어서, 어쩔까 하다가 java역컴파일 해서 소스보고 nodejs버전 만듬. 공개하면 못쓰게 할까봐 공개안함..ㅋㅋ(지금은 소스가 어딧는지 모르겠…)
    • 초반에는 redis를 하드하게 쓰는 게임으로 제작중이었어서 redis-sharding을 하는 라이브러리를 python쪽에 있는 라이브러리 보고 베낌.(포팅이라하나?) 이건 github에 있을듯?
    • mysql의 transaction문제는 계속 거지 같았음. 걍 함수로 감싸서 transaction, commit, rollback하는 애를 만들었음.
    • logging모듈이 쓸만한게 하나도 없어서, 만들었었음. 근데 기능이 별로 없었음. (github에 있음)
    • 나중에는 winston을 개조해서씀. 이거는 상당히 괜찮았음.
    • nodejs에 대한 흉흉한 소문때문에 처음에는 불안해 하면서 썼지만, 한번도 nodejs가 문제되서 장애난적은 없었음. (내 코딩실력이 문제였지..ㅠㅠ)
    • 요즘에는 generator가 나와서 콜백문제를 그나마 좀 우아하게 해결해주는데, 그때는 그게 있다 카더라 통신이었지 안됐음.
    • 그러고 보니 push server도 만들었음. 콜백으로 뺑뺑이+조건문 돌리는게 엄청 귀찮은 일인 것을 알게됨.
    • 관리툴 만드는거야 머 당연한 거. 관리자가 게임속에서 전지전능함을 발휘할 수 있게 열심히 만들었음.
  • mysql cluster 구축
    • 구축은 했는데, 생각보다 속도가 너무 느렸음.
    • 그리고 서버비가 너무 비쌌음. ㅠㅠ
    • 유지 보수도 너무 귀찮았음…
    • 그냥 RDS 비싼거 씀….;;;
  • 내가 인프라다~~! AWS!
    • aws web console들어가는거 너무 귀찮아서 boto사용함.
    • WEB UI만들어야지 하면서, 시간이 없어서 몬만듬.
    • 그래도 스케일 아웃, 스케일 인 하는거 만들었음.
    • dynamodb + fluend로 게임로그를 쌓음.
    • 사실 위에꺼 설치부터 구현까지 반나절만에 했었는데, 진짜 잘썼었음.
    • EC2의 인스턴스의 CPU, MEMORY, LOAD AVERAGE가 모두 낮음에도 불구하고 성능이 너무 안나와 주는거임. 알고보니 네트워크가 느려서 그랬음. 클라우드 세상에서는 네트워크 전송속도는 성능과 직접 연관됨!! 다른건 몰라도 이건 진짜 중요함.
  • 성능테스트
    • N모사에서 써보라고 ngrinder를 구축해주셔서, 아주 잘씀
    • abbench도 써봄. 괜찮았음.
    • python multi process 사용해서 스크립트로 테스트도 함. 귀찮고 힘들었음. 역시 사람은 도구를 써야됨.
  • 게임은 4개월 정도 서비스하다가 수익이 안나서 결국 서비스를 종료함.
  • 대표님이 게임제작에 굉장히 관심을 많이 가져 주셨었는데, 지금이나마 감사를 드립니다.
  • 나와 동료들이 만들었던 게임은 없어졌지만, 그 로직은 지금 카카오 페이지에 녹아 들어갔음. 잘 보면 게임에 쓰이는 것들이 보일거임.

season4 KOREA BUSAN on treenod

  • 이야기는 계속 됩니다….

댓글

  1. 블로그 보다 잠깐 소개글 보고 있는데
    2008년 일본에 오셨다고요..
    저랑 비슷하네요..
    반가운마음에 글남기고 갑니다…

    1. wapj2000 댓글:

      그렇군요~!! 일본생활 쉽지 않더라구요~ 고생하셨습니다~

  2. 박승규 댓글:

    반갑습니다~~^^ 지금은 한국에 있습니다…ㅎ 일년 반정도 됐네요~ 고생많으십니다~