드디어 Nodeconf가 시작되는 아침이 밝았습니다. Jupiter Hotel의 드림텐트로 가니 다음과 같은 명찰과 티셔츠를 받을 수 있었습니다.
Nodeconf 2012의 이름표와 티셔츠입니다. 이름표는 플라스틱으로 빳빳한게 맘에 드는데 티셔츠는 너무 밋밋한 것 같아서 아주 맘에들진 않습니다. Nodeconf는 역사도 오래되지 않았고 다른 대형 컨퍼런스와는 다르게 세련된 진행이나 뭐 이런 것은 없었습니다. 사실 Nodeconf 이전에 시간표도 공개되지 않았고 한달정도 전에 파티에 대해서 공개된 것이 일정의 전부였습니다. 너구리형은 여기에 대해서 불안감을 많이 나타내셨었는데 저는 Nodeconf에 가게 되었다는 사실에만 신나서 그런 부분은 전혀 신경도 안쓰고 있었고 그 말을 듣고나서 "아~ 그러네"라는 생각을 했습니다. 컨퍼런스 끝나고 결과적으론 만족스럽지만 이런 배려를 초기에 안해 준 것은 아쉽습니다.
다행히도 아침은 매일 제공해 주어서 따로 아침을 챙겨먹을 수고는 안해도 되었습니다. 계란이랑 빵이랑 베이컨같은 것들을 주었습니다. 먹을만 합니다. ㅎ 앞에서 진행에 세련되지 못함을 얘기했는데 사실 어떤 진행이란것 자체가 전무한 느낌이었습니다. 사실 이름표랑 티셔츠도 누군가한테 접수하고 이름대고 받아온 것이 아니라 그냥 들어가서 자기 이름 찾아서 가지고 나오는 것입니다. (비행기값만 내고 와도 들어갈 수 있었을 꺼란 생각을 잠시 해봅니다. ㅋ) 밥을 먹고 나서는 그냥 주변에 다들 서서 기다리고 있었습니다. 메일상으로는 컨퍼런스 장소로 이동한다고만 나와있고 어디인지도 안나와 있었기에 누군가 이끌어 줄 때까지 기다렸습니다.
서서 기다리다보니 누군가 갑자기 와서 따라오세요~ 해서 다들 따라가니 길하나 건서 바로 옆건물의 Imago 극장으로 갔습니다. 여기가 이틀간 컨퍼런스가 진행된 곳 입니다. 다른 안내가 없었기에 잠시 자리라도 비웠으면 어디갔는지 못찾았을 지도 모릅니다. ㅎ
요렇게 조그만한 소극장같은 곳입니다. Nodeconf는 트랙이 여러개 있지 않고 그냥 하나의 트랙으로 여기서 모든게 진행되었습니다. 머 어느 걸 들을까 고민할 것도 없었습니다. 저희는 들어가서 어찌 보면 발표자들이 앉을 것 같은 맨 앞자리에 앉았습니다.(그곳만 죽~ 비어있었거든요.)
앉고 보니 옆자리에 현재 Node 를 이끌고 있는 아이작과 Node의 창시자 라이언이 앉아 있었습니다. 오옷!! 아이작은 전날도 봐서 바로 알아봤는데 라이언은 너무 깔끔해 져서 한번에 못 알아볼 뻔했습니다. ㅎ 사실 이 맨 앞자리는 발표자들의 자리가 맞았고 이 라인에 저희말고는 모두 발표자들이었습니다. ㅋㅋㅋ 참고로 제 옆에는 Nodecof 행사진행을 한 마이클이 앉아있었습니다.
사람들이 기다리는 데 지루할 까봐 그랬는지 라이언이 갑자기 앞에 나가서 프로젝터에 연결된 자신의 노트북에서 sl 을 실행해 주고 사람들은 다들 좋아합니다. ㅎㅎㅎㅎ Nodeconf의 발표자료는 Gist에 정리해 두었습니다. 찾을 수 있는 건 다 찾아보았는데 빠진 발표들이 몇가지 있습니다. 영어를 다 알아드는건 아니라 내용을 디테일하게 정리하기는 어렵습니다. 대충 이빠진채로 들은 내용만 정리하지만 자세한 내용은 곧 Nodeconf에서 공개할 동영상을 보시는게 나으실 겁니다.(대충 알아듣다보니 잘못된 내용이 있을 수도 있습니다.) 아니면 자세한 내용을 Rhiokim님이 Nodejs.kr에 정리(1일, 2일)해 주셨습니다.
History and State
따로 시간표가 안내되지 않았기 때문에 그냥 앉아있으면 알아서 발표자가 나와서 발표하는 방식으로 진행되었습니다. 하나의 발표는 보통 20분정도였고 길어야 30분정도입니다. 그리고 한번에 4개정도의 발표를 쉬는시간없이 연달아서 진행하고 이렇게 연달아 진행하는 세션은 한가지 주제에 대해서 진행합니다. 오전에 이렇게 한 파트를 진행하고 오후에는 2파트를 진행하는데 중간에 1시간정도(쉬는시간이 넉넉해서 좋아요) 쉽니다.
Infuences of Node - Ryan Dahl
첫 발표는 라이언이었습니다. 노드를 만들게 된 배경을 설명하는 발표였습니다. 대학원에서 토폴로지를 생각했던 얘기를 하면서 웹에서 프로그래스바를 보여주기 위해서 서버는 임시파일을 만들고 클라이언트를 계속 물어보는 구조가 좀 웃기다는 생각을 했다고 합니다. 그러다가 Thin이랑 비슷하지만 이벤트머신대신 libev를 사용하는 ebb라는 웹서버를 만들고 SqueszeBox를 만들고 libebb를 만듭니다. 그러던 중 Egine Yard라는 회사에서 haproxy와 비슷한 Nginx 로드밸런서를 만들게 되었는데 이 작업을하 면서레 일즈의 쓰레드 관리가 영 맘에 들지 않았다고 합니다. 그러면서 하나의 쓰레드만 사용하는 파일시스템을 제작하게 되고 Node.js의 콤마를 앞에 쓰는 스타일이 이때의 C 스타일에서 왔다고 합니다.
2009년 V8과 연결된 Thin 웹서버를 작성하면서 개발자이면서 친구인 Tim Becker에게 메일을 보내게 됩니다. Tim Becker에게 자바스크립트로 TCP 서버를 만들 거라는 것을 의논하면서 주고 받은 메일을 보여줍니다. 아주 초기에 라이언이 구상했던 내용들에 대해서 Tim과 주고 받으면서 생각을 발전시킨 얘기를 하면서 처음에는 netv8이라고 불렀다고 node가 더 나은가? 하면서 이름을 Node라고 짓게 됩니다. 그 뒤 여러달 후에 Node.js를 들고 JSConf.eu에 나온 것은 익히 알고 있던 봐와 같습니다.
토폴로지니 하면서 아주 추상적인 얘기부터 하긴 했지만 (무슨 관계가..) 알려지지 않았던 노드의 배경을 들을 수 있어서 좋았고 이젠 Node 개발에서 손을 땠지만 라이언의 세션을 직접 들을 수 있어서 좋았습니다. 예전 JSconf때에 비하면 발표정말 많이 늘었군요.
쉬는시간에 라이언과 사진을 찍었지만 핀이 나가는 우울한 사진이 ㅠㅠ Node 개발에 손을 띄고 한참 조용하다가 최근에는 의견제시나 벤치마킹등 조금씩 참여하고 있어서 다시 개발에 참여할꺼냐 했더니 그러진 않을 꺼라고 합니다. 지금처럼 의견나누면서 조금씩 도움을 주는 정도로만 유지하면서 다른 프로젝트를 할 생각이라고 합니다.
쉬는시간에 라이언과 사진을 찍었지만 핀이 나가는 우울한 사진이 ㅠㅠ Node 개발에 손을 띄고 한참 조용하다가 최근에는 의견제시나 벤치마킹등 조금씩 참여하고 있어서 다시 개발에 참여할꺼냐 했더니 그러진 않을 꺼라고 합니다. 지금처럼 의견나누면서 조금씩 도움을 주는 정도로만 유지하면서 다른 프로젝트를 할 생각이라고 합니다.
Oh the Places You'll Node - Matthew Podwysocki
Microsoft에서 온 사람이었습닙니다. Node가 윈도우 지원을 발표하면서 MS는 적극 지원을 하기 시작했고 현재는 Azure를 필두로 윈도우플랫폼에서 Node를 열심히 밀고 있습니다. MS가 노드를 왜 지원하는가 부터 얘기를 시작했습니다.(약간 의외이긴 했던게 사실이죠.) 2010년부터 MS는 JSConf에 관심을 가지면서 웹기술에 집중을 하고 있었습니다.(참고로 jQuery도 적극지원하고 있죠.) 자바스크립트를 포함해서 클라이언트 기술에 많이 괌심을 가졌고 JSConf.eu에서 윈도우 지원문제가 나오고 Node가 윈도우 지원을 발표하면서 MS에서 같이 일하고 싶다는 의사를 밝히고 201년 6월 23일 Joyent와 파트너쉽을 체결하고 풀타임 개발자 한명을 포함해서 윈도우즈 포팅을 적극 지원합니다. 그래서 2011년 11월 5일 0.6.0 첫 안정버전을 발표해서 윈도우즈에서도 다운받아서 클릭 설치로 사용할 수 있게 되었습니다. 지금은 서비스레벨에 사용할 준비(Production-Ready)를 하고 있으며 Auzre에서 Node용 SDK를 제공하고 WebMatrix2나 SQL Server드라이버등을 지원하고 있습니다. 디바이스 관련해서 on{x}에 대해서도 얘기했는데 여기선 어느부분에 노드를 사용하는지 잘 모르겠더군요.
그냥 뭐 MS의 스폰서 세션같은 느낌이었습니다.
Two Years of node in yammer - Matthew Eernisse
Mattew는 Yammer의 JavaScript 팀에 있으며 Geddy 웹프레임워크나 자바스크립트 빌드도구인 jake를 만든 개발자입니다. 이 세션도 Nodeconf의 스폰서를 한 Yammer의 스폰서 세션이라고 할 수 있는데 Yammer가 MS에 12억 달러에 팔린 것을 엄청나게 자랑하면서 Node.js가 여기에 큰 기여를 했다고 했습니다. 그러면서 자신의 팀원들을 소개하고(이건 왜 한건지...) 노드는 확장력이 좋고 빠르게 개발할 수 있으며 에코시스템이 아주 잘 갖추어져(특히 커뮤니티) 있다고 설명했습니다.
State of the Node - Isaac Z. Schlueter
현재 Node 개발을 이끌고 있는 아이작의 발표로 현재 노드의 상황을 설명하는 세션이었습니다. 아이작의 발표는 처음 보지 싶은데 말 잘하더군요. 노드의 역사부터 시작했는데 v0.2에서 처음으로 더이상 API 바꾸지 않겠다고 약속하고 v0.4를 거쳐서 v0.7에서 메인 개발이 라이언에서 아이작으로 넘어옵니다. 현재는 v0.8인데 여기서 가장 큰 기능 추가는 domain기능(domain에 대해서 궁금하신 분은 nanha님의 소개글 참고)입니다. 이 기능은 0.9에서는 약간 바뀔 예정이므로 프로젝트에서 너무 깊게 의존하지는 않는게 좋습니다.
npm에 대한 얘기를 했는데 2011년 nodeconf에서는 1800개정도의 모듈에 730명의 개발자와 26명의 npm 공헌자가 있었지만 1년이 지난 지금은 12,000개의 모듈과 3800명의 개발자, 72명의 npm 공헌자가 있는 엄청난 성장을 했습니다. 그리고 Nodeconf전에 이미 트위터에서 알려지긴 했지만 아이작은 곧 오픈할 새로운 npm 사이트를 발표했습니다. git하면 github를 생각하듯이 npm하면 npm-www를 생각하게 하도록 하겠다고 했습니다.(아이작이 npm을 만들었습니다.) npm-www를 모듈과 관련된 문서, 메타데이터, 관리, 탐색을 통합한 사이트로 만들겠다고 했습니다. node 0.9에 추가할 기능에 대해서 약간 소개하고 1.0을 얘기하기는 아직 이르다는 얘기를 했습니다. 버전이라는 것이 약간 마케팅적인 것이기 때문에 0.9이후에 바로 갈 수도 있지만 현 시점에서 언제다 말할 시기는 아니라고 했습니다.
점심시간
오션 세션들이 끝나고 점심시간이 있었습니다.
점심은 차가 와서 브리또같은 것을 제공했는데 만드는데 너무 오래 걸려서 한시간 반정도되는 시간을 기다리는데 다 보냈습니다. 사람들이 기다리면서 노드는 모든게 넌블락킹인데 점심은 블락킹이라는 말이 재밌더군요.
아 너무 재밌습니다. 글 정말 잘 쓰셩. ㅋㅋ
현장감이 팍팍 느껴지고, 오랜만에 인터넷 아티클중에
이 편과 다음 편 :: 2개를 굉장히 재미있게 보았어요..
감사합니다.
이제 노드컨프 3일째인데 적을게 너무 많네요....