본문 바로가기
개발일기/Seminar

Deview 2013 후기

by 유주원 2013. 10. 20.

Deview 2012를 너무나 인상 깊게 다녀와서 이번 Deview 2013도 참가하게 되었다. 

이번에는 이틀 간에 걸쳐서 Deview 행사를 잠실 롯데 호텔에서 진행했다. 

이틀 간 진행하는 만큼 들을 수 있는 세션도 더 많이 추가 되었다. 

관건은 회사에서 이틀을 빠져나올 수 있느냐가 문제지... -_-;;;

새벽(5:50) 부터 부산하게 출발하여 잠실 도착!! 너무 일찍 출발한 감이 있긴 하다...


  

잠실의 상징인 분수대도 보이고..


  

드디어 행사장 표지판 발견... 와우... 호텔 메인에 떡하니 걸려져 있으니 너무 멋지다...


  

아직 행사 준비로 바쁜 스탭들.. 9:00 땡 치면 이제 저 곳은 지옥이 되겠지...

그리고 이번에도 어김없이 받은 Deview 가방과 뱃지, 수첩.. 저 뱃지 없어지면 오늘 여기 온건 말짱 꽝이다 ㅠ 


KEY NOTE

  

키노트는 NAVER LABS의 송창현 센터장님이 맡으셨다. 처음부터 소켓 통신의 read,write 함수와  sendfile 함수의 비교를 통해 효율성 그리고 플랫폼에 대한 이야기를 진행하셨다. 


결국에는 효율성 있는 코딩을 해야 한다.

플랫폼을 사용하면 개발 기간이 단축될 뿐만 아니라, 효율성도 향상 된다. 


그럼 이렇게 플랫폼 개발이 중요하단 걸 알고 있으면서도 왜 플랫폼 개발자는 점차 줄어드는 것일까?

송창현 센터장님은 이 이유를 open source의 등장과 함께 개발자들이 개발자로써 open source를 접하는게 아닌 사용자로써 open source를 접하기 때문이라고 말씀하셨다. 

이 부분은 나 자신에게도 너무나 공감되는 말이었으며, 난 이제껏 open source에 개발자로써 접근해보자라는 시도조차 안해본 것 같았다.


 Deview as a platform


단지 행사로써의 Deview가 아니라 실력이 있지만 이름이 없는 영웅들(unsung heroes)을 위한 강력한 개발 도구로 사용되기를 바라며 키노트를 마치셨다.


[SESSION 1] 협업 SW 개발 플랫폼 Yobi

 

사실 첫 번째 세션에서 특별히 구미가 당기는 주제는 없었던 것 같다.

그냥 Yobi가 몰까? 하는 궁금증으로 이번 track을 선택하게 되었다.

일단 Yobi의 요구 사항부터 보자면..


- 프로젝트 이슈는 관리되어야 한다.

- 지식은 전수되어야 한다.

- 코드는 저장될 공간이 필요하고 특정 시점에서 rollback될 수 있어야 한다.


어라?? 이거 우리 회사에서 쓰는 Jira + SVN이랑 비슷한데?? github랑도 비슷하고..

NHN에서 이쪽 분야에도 접근하기 시작했나보다!!

Github 처럼 SW 협업 도구로 명실상부 자리 잡을 수 있었으면 좋겠다는 게 개인적인 생각이다. 

이번 track에서는 주로 개발 지식보다는 Yobi를 개발하면서 겪은 경험당 위주의 발표가 진행되었다. 

후발주자로 개발하다보니 많은 고충이 있었고, 최대한 TDD에 따르려고 준수한 것 같았다.


1. 목표 세우기

- 목표와 개발 동기가 명확해야 한다.

- 짧고 간결하게 적자.


2. 비전 수립하기

- 무엇을 하는 SW인가?

- 어떤 의미의 SW인가?

- 현재 고객은 누구이고, 미래의 고객은 누구인가?


3. 스펙 작성하기

- 누가 무엇을 하기 위해서 개발하는 지를 반드시 적자.

- 분량 산정은 rough하게라도 적자.


4. 구체화 하기

- 기능 목록 하나하나를 상세하게 적자.

- 완료 조건과 화면 설계를 적자. (step by example은 반드시 포함)

- 화면 설계는 balsamiq Mockup을 사용했는데, 비용 대비 효율이 괜찮음.


5. 개발하기

- 이벤트 기준으로 마일스톤 세우기.

- 마일스톤 시점이 길지 않도록 조절하기.

- 아침마다 미팅하기( 인생 이야기 + 개발 이야기)

- Pair programming

- 최대한 직접 개발하지 않고 유사 모듈을 찾기.

- 표준 준수하기.


6. 테스트하기

- Junit

- dog feeding(개밥 먹기)


개발 방법에 대한 발표를 들으며, NHN은 개발자를 위해 참 좋은 회사라는 것을 새삼 느끼게 되었다. 

Pair programming 같은 경우, 좋다는 소리는 들었었지만 어느 누구도 그렇게 하고 있다고는 듣지 못하였는데.. 

참 체계가 잘 갖추어진 회사인 것 같다. 


[SESSION 2] 생산성 향상을 위한 PHP 개발 방법


  

요새 PHP 개발에 흥미가 붙어 PHP 세션에 참여하게 되었다. PHP는 해보면 해볼수록 참 매력적인 언어인것 같다.

이번 세션에서는 좀 더 효율적으로 PHP를 개발할 수 있는 방법에 대해 PHPKorea 리더가 오셔서 설명하였다.

eclipse PDT와 ant를 이용해서 효율적으로 개발하는 방법을 설명하였다.

'와 eclipse에서 PHP도 되는구나~~~'

또한 PHP에서도 namespace를 활용하는 방법, getter setter property 만드는 방법.

MysqlWorkBench를 통해 쿼리를 자동으로 만들어 주는 방법.

xDebug를 통해 php 코드 디버깅 하는 방법(위 사진의 오른쪽 그림)

40분 가량 PHP의 신세계를 경험하고 왔다고 해도 과언이 아닐 정도로 놀라움의 연속이었다.

(PHP 초심자라서 나만 신기한 걸 수도...)


[SESSION 3] Git은 어떻게 동작하는가


 

가장 관심을 기울였던 Session..

하지만 결론적으로 말하자면 너무나 힘들었다.

많은 인파로 인해 서서 들을 수 밖에 없었고, 자꾸 왔다갔다 하는 사람들 때문에 집중할 수가 없었다.

그 와중에서도 내가 이해했던 부분이라면.. Git의 동작 방식이 C의 리스트 자료구조와 매우 흡사하다는 점??

그리고 Key 값을 만들 때 해당 파일의 내용을 hash 값으로 변환한 후 그 값을 Key로 만든다는 점이다.


[SESSION 4] 실시간 웹 협업도구 만들기


  

Session4가 시작되기 전 많은 개발자들이 SNS를 통해 Deview에 대한 의견을 올리는 모습..


Session4Deview 2013이 나타내는 Keyword. SHARE, EXCELLENCE, GROWTH


Session4도 나는 개발자인데 왜 자신이 없을까? TRACK을 들으려 하다가 같이 온 개발자 분이 홍영택 이 분이 유명하다고 해서 듣게 된 Session..

사실 난 협업 도구 만들기 등에는 별 관심이 없는 것 같다.

하지만 발표 내용은 협업 도구 보다도 Socket io라는 존재에 대해 크게 관심을 가지게 된 세션이었다.

기존의 HTTP 통신이 아니라 웹에서도 소켓을 이용한 통신이 가능하다니..

해당 소켓 통신을 이용해 필요한 데이터만 전송할 수 있다니..

웹도 정말 많이 변화했구나를 실감했다..

마지막에 Summer note contributor가 되어 달라고 했는데..

된다면 나야말로 영광이지 ㅠ_ㅠ


[SESSION 5] WebView 뛰어 넘기 - 고성능 WebView 만들기


  

많은 사람들이 모바일 개발에 관심을 가지고 있다는 것을 한 눈에 알 수 있었다. 

사실 난 웹 뷰를 통해 페이지 링크 주는 것만 해본지라.. 

어쨌든 해당 JS를 사용하면 고성능 웹뷰를 만들 수 있다고 했는데..

JS는 따로 공개하지 않았다.

JS 공개해주지 ㅠ_ㅠ


[Coffee break] 


  

Coffee break 시간 동안 전시되어 있는 booth를 돌아봤는데 그 중 너무나도 눈길이 간 booth..

우분투 폰 booth였는데, 사진과 같이 컴퓨터와 연결하면 우분투 OS 부팅 화면으로 나타난다.


나 : 와 이거 실제 우분투 OS예요??

관계자 분 : 네

나 : 이거 그럼 드라이버나 이런거 다 건드려 볼 수 있는 거예요?

관계자 분 : 실제 우분투 쓰시듯이 쓰시면 되요.

나 : 우와.. 그럼 여기에 서버도 올릴 수 있나요?

관계자 분 : 우분투니깐 가능하지 않겠어요^^??

나 : 이거 지금 출시된 폰이예요?

관계자 분 : 아니요. 아직 출시는 안되었어요..


이제.. 폰에서 서버를 돌릴 수 있는 세상도 머지 않았구나... 출시되면 꼭 한번 사봐야지!


[SESSION 6] 쫄지마, 글로벌! 평범한 개발자의 좌충우돌 글로벌 오픈소스 도전하기



이 분 참 대단하신 분인 것 같다. Open Source에 자신의 라이브러리를 올려본 사람들은 다들 대단한 것 같다.

일단 올려야겠다는 목적 의식이 뚜렷한 것 같다.

그리고 두려움이 없으며, 무엇보다도 자신감을 잃지 말 것..

이 분과 이 후 세션에서 발표하시는 outsider 님 덕분에 나도 open source에 대한 어떤 목표가 자리 잡은 것은 사실이다.


[SESSION 7] Popular Convention 개발기



변정훈 님보다는 Outsider로 더 유명하신 분..

이 분도 정말 천상 개발자임에는 틀림 없는 듯..

일단 Popular convention이 먼가 하면.. Github에서 commit을 할 때 올리는 코딩에 대한 규칙을 분석하는 프로그램을 말한다.

Github 경진 대회에 출품해서 2위를 수상한 작품이다.

이 분은 Github에는 잠재적인 코드들이 많은데 이 잠재적인 코드들을 어떻게 활용할 방법이 없을까? 라는 생각을 품게 되었다고 한다.

이렇게 떠오른 아이디어를 가지고 이제 될 수 있는지의 여부를 판단하였다.


- Github 타임 라인을 분석할 수 있는가?

- API로 분석할 코드를 얻을 수 있는가?

- 코드 기반으로 관례를 분석할 수 있는가?


Github archive에서 매 시간마다 타임라인이 Json 파일로 올라온다는 것을 확인하였고, 이 Json 파일을 다운로드한 후 타임 라인의 PushEvent를 추출하여 MongoDB에 넣는 작업으로 개발에 대한 이야기는 끝이 난다.

정말 이게 정석인데...

아이디어가 있으면 그게 되는지 여부를 파악하고, 그게 파악이 되면 개발..

참 단순한 공식이지만.. 쉽게만은 되지 않는게 바로 개발인 것 같다.


[D2FEST]

마지막 Session을 나오면서 많은 D2FEST 수상작과 개발자들과 이야기를 나눌 수 있었다.

'D2FEST 라는게 있었어??'

참 많은 아이디어를 볼 수 있어서 좋았다.

경력이 주로 C나 C++, 스크립트 언어 쪽이었는데 Css나 Js의 중요성도 실감할 수 있었다.

Js를 아주~ 잘 하고 싶을 정도의 욕구가 느낄 정도로 Js의 중요성을 실감했다.


매년 느끼는 거지만, Deview를 통해 다른 이들의 기술 동향을 느낄 수 있으며 또한 최신 기술도 어느 정도 파악할 수 있다는 점이 참 고마움으로 느낀다.

Deview가 개발자들을 위한 공간으로 영원히 자리매김하기를 간절히 희망해 본다.