NHN 개발자 세미나 Deview 2012 참관 후기

1. Real-time large data at Twitter – Raffi Krikorian (Twitter)

트위터 본사의 엔지니어가 직접 와서 트위터의 서비스에 대해 소개하는 시간이었습니다.
내용을 요약해보면,
 
사용자가 글을 쓰면 Fanout 이라는 서비스로 보내지는데,
Fanout 은 이 글을 어느 유저의 타임라인에 보여줘야 할 지를 판단해서 그쪽에 글을 보여줌.
그리고 필요한 경우 모바일 앱으로 Push 를 보냄.
 
Timeline 의 최근 내용은 cache로 처리를 하는데, Timeline Cache는 Redis 를 사용
그리고 나머지 Cache는 Memcached 를 사용
Timeline만 따로 Redis를 쓰는 이유는, Radis 에는 array를 담을 수 있는 structure가 제공되고 있기 때문.
 
cache에 hash 데이터를 담는 방법은 Gizzard 라는 오픈소스를 사용. persistance hashing 메커니즘.
(나중에 찾아보니 Gizzard는 트위터가 자체 개발한 오픈소스 였습니다.)
모두의 홈 타임라인은 800개의 트윗만 보여주고 나머지는 truncate.
800개가 넘는 트윗은 램에 없고 디스크에 있음.
hadoop은 쓰는데 hbase는 사용 안함.
follow와 unfollow정보는 Flock DB에 저장. Flock DB는 Gizzard 베이스.


2. 스마트폰 내장 센서를 이용한 모션 센싱과 체감형 게임 제작 – 송지영(NEOWIZ GAMES 연구소 연구1팀)
Wii 같은 동작인식 게임을 만드는데, 별도의 게임기 없이 스마트폰과 윈도우PC를 이용하여
게임을 구현하고 시연을 하는 세션이었습니다.
 
동작인식 게임에 필요한 여러 센서들이 이미 스마트폰에 모두 있기 때문에,
스마트폰이 훌륭한 동작인식 컨트롤러가 될 수 있다는 생각으로 시작된 연구였습니다.
 
이때 사용하는 스마트폰의 센서로는,
가속도 센서, 자이로 센서, 지자계 센서 입니다.
이 3개의 센서로부터 받은 값을 조합해 짧은 시간 내에 신뢰도 높은 값을 측정할 수 있다고 합니다.
스마트폰의 클라이언트는 센서의 값을 각각 서버로 전달만 합니다.
그리고 그 값을 계산하고 조합하는 건 서버에서 담당합니다.
그리고 결과를 다시 클라이언트로 전달합니다.
 
그리고 현재 시범적으로 개발중인 게임 시연도 있었는데,
레이싱 게임, 사격 게임 등 꽤 훌륭하게 구현이 되었습니다.
 
시연한 게임들은 윈도우용 게임이었는데,
개인적인 생각으로는, 스마트TV용으로 이런 게임들을 만들면
별도의 게임기 없이 스마트TV와 스마트폰만으로 Wii 같은 게임기를 대체할 수 있을 것 같았습니다.
 
 
3. Beyond Android Binder – 박창현(SK Planet 모바일SW개발팀)
 
Android binder는 하나의 디바이스 안에서 서로 다른 프로세스간의 통신에 사용하는 프로토콜 입니다.
다른 디바이스 끼리 통신 할 때는 서버를 만들고 서버와 연동을 하는 방식을 사용하는데,
이 방법은 매우 복잡한 구현이 동반되어, ‘Binder를 네트워크로 확장해서 간단하게 통신해야겠다.’ 는
모티브로 시작된 내용이라고 합니다.
복잡한 구현 내용들이 소개가 되었는데,
현재로서는 아직 연구 단계로서, 콜백을 받을 수가 없다고 합니다.;;;
구현 과정과 현 단계 이야기를 들으면서 네트워크 통신에 Binder를 쓸 필요가 있을까 하는 생각이 들었습니다.

4. Scala, 미지와의 조우 – 이동욱(SK Planet 플랫폼SW개발팀)

 
이름 옆의 소속이 참 어색하네요.ㅎㅎ
원래 같은 팀 선배였는데, 이젠 그냥 지인이신 분입니다.
현재 한국 스칼라 모임의 대표이기도 하구요.
다른 세션들은 대부분 개념이나 포괄적인 기술 이야기, 경험담 등을 이야기했었는데,
제가 들은 세션 중 유일하게 강의! 를 한 세션이었습니다.
아주 짧은 시간 안에 Scala 중급이 되도록 해 주겠다며 강의를 시작했습니다.
내용이 모두 언어 강의여서 요약할 만한 내용이 없네요.
 
Scala 언어의 특징은
 – 여러 언어들의 장점을 담은 언어.
 – 함수형 프로그래밍(hybrid), 객체 지향, 강화된 타입 시스템, Java Platform, functional 한 프로그래밍 가능
라고 합니다.
 
매우 짧은 시간 안에 스칼라 맛보기를 하고 싶으시면 Deview 홈페이지에 있는 동영상을 보시길 권해드립니다.
전직 교육인 답게 재치있고 재밌는, 그러나 매우 스피디한 강의였습니다.
그래도 스칼라를 모르는 사람들에게 스칼라 언어, 그리고 Functional Language의 특징을 소개하기에는 충분했다고 생각합니다.

5. node.js를 이용한 단일언어 기반 웹 애플리케이션 개발 – 채수원 (NHN 오픈퍼블리싱팀 차장)

이 분은 개발자 세미나에서 매년 한번 이상 진행을 하시는데,
항상 주제가 확확 바뀌어서 정말 대단한 것 같습니다.
(애자일, Mongo DB, Play Framework, node.js 등등)
현재 node.js 커뮤니티 대표이기도 합니다.

앞 세션과는 다르게 언어 자체의 소개는 거의 없었고,
대신 node.js 를 이용하여 웹 개발을 해 본 경험담을 이야기하는 시간이었습니다.

node.js를 이용하여 개발자 노트 만들기 프로젝트를 진행하였다고 합니다.
개발자 노트는
wiki와 매뉴얼 작성으로 이루어져 있는데,
현재 경량화에서 진행하고 있는 레퍼지토리 구성의 형태와도 어느정도 유사한 면이 있어서 신기했습니다.

node.js를 이용하여 웹 개발을 하면서, node.js 만으로 해결이 되지는 않고
여러 기능들을 위해 다른 많은 js 프레임워크가 필요로 합니다.
개발 초기에는 기존에 자바스크립트를 사용하던 클라이언트 개발자들이 더 생산성이 좋았지만,
중반부가 넘어가면서 서
버사이드 개발자들이 더 생산성이 좋아졌다고 합니다.
그리고 개발 결과 성능이 아직 썩 좋지는 않았다고 합니다.

6. Netty Internal – 이희승 (Twitter)

자바에서 가장 많이 쓰이고 있는 소캣 라이브러리인 Netty 의 저자 직강 세션이었습니다.

세션은 Netty가 어떤 구조로 이루어져 있는지, 어떻게 돌아가는지를 소개했습니다.

Netty를 만들었을 때는 이분의 직장도 JBoss였고, netty도 JBoss의 오픈소스 였는데,
JBoss를 나오면서 netty도 더이상 JBoss의 오픈소스는 아닌 것 같습니다.
패키지명도 현재는 org.jboss.netty 인데, 4.0 베타버전은 io.netty 로 시작됩니다.

제가 이분에 대해 주워들은 이야기를 소개해드리자면,
이 분이 JBoss를 나온 뒤 본인의 트위터에 직장을 구한다고 글을 썼는데,
트위터 회사에서 보고 스카웃 했다는 재밌는 일화도 있는 분입니다.
현재 트위터 본사에서 일하는데, 한국에서 재택근무를 한다고 합니다.
대신 3개월에 한번씩 2주간 미국 본사에 가서 일을 한다고 하네요.

NHN에서 주최한 행사이지만, NHN 직원들 뿐만 아니라 외부의 많은 유명인사들을 초대해서
알찬 세션들이 이루어진 알찬 세미나 였습니다.
다만 세미나의 꽃인 경품추첨이 없었던 것이 아쉽네요.
작년엔 점심도 공짜였는데 올해는 점심이 없었던 것도 아쉽구요ㅎㅎ

그래도 들을게 많은 행사였습니다.

댓글 남기기