본문 바로가기
일상

제 3회 네이버 D2 대학생 세미나 후기 (2015년 8월 28일)

by 삐야악이 2019. 10. 3.

지난 8월 22일 네이버 D2에서 그린팩토리에서 제 3회 대학생 세미나를 진행하였다. 이번에는 다른 건 다 필요없고 ‘key-value store 만들기’를 듣고 싶어서 바로 신청하였다. (동아리가 D2 캠퍼스 파트너여서 사전등록으로 무난하게 신청..)

즐거운 마음으로 정자에 있는 그린팩토리에 들어갔더니 무슨 가족 초청 행사를 하나보다. 애기들이 엄청 많고 라인 캐릭터들이 살아움직이고 있었다. ㅋㅋㅋ 옆에서서 나도 사진을 찍고 싶었지만 부끄부끄했기에 그냥 캐릭터들 사진만.

곰돌이가 하늘에 매달려있다 ㅋㅋ 저 곰돌이 엄청 좋아하는데… 나 줬으면 ㅠㅠ

등록확인을 위한 데스크(?). 사전등록자는 파란색 팔찌! 2회때 받은것도 있는데.. 아무래도 졸업할 때까지 매번 오면 4개나 가지게 되겠구나.

 

행사장 안내 팻말. 사진을 찍으려는데 너무 초라하게 만들었다면서 급히 가리시는 시늉을 하셨지만 ㅋㅋㅋ

세미나장 내부는 이렇게 생겼다. 네이버답게 그린그린한 의자들. 제일 좋은건 각 좌석마다 콘센트가 있다는 점이다. 앞에 저 흰색 의자는 세션이 끝난 후 발표자와 더 깊은 이야기를 나눌 수 있는 Q&A 공간이다. 사진에는 사람이 별로 없는데 세미나가 본격적으로 시작하니 사람들이 엄청 많이 왔다.

시작하기 전에 앞에서 안내 슬라이드가 넘어가는데 재미있어서 찍어보았다. 다른 노트북은 떨어져도 되지만 맥북은 안되요 !! ㅋㅋㅋㅋ

 


 

키노트: 네이버 D2 소개 및 엔지니어링 문화 소개

 

키노트로 네이버 D2의 조한용님께서 네이버 D2에 대한 소개와 네이버 엔지니어링의 문화에 대해 소개해주셨다. 가장 놀라운 점은 출퇴근 시간이 자유롭다는 점과 직급이 없다는 점이다. 네이버의 모든 조직이 그런것은 아닌 듯 하지만 적어도 엔지니어로 구성된 집단은 그런듯하다. 그리고 ‘개발자는 개발만’ 하자 라는 목표가 정말 마음에 들었다. 부가적인 잡무에서 벗어나 정말 개발과 연구에만 몰두할 수 있는 환경이야말로 개발자가 원하는 환경이 아닐까 싶다. 이런 조직문화도 놀라웠지만 사내 카페가 있다는게 난 좋아보였다 ㅋㅋ 부담없이 맛있는 커피를 냠냠

 

착하면 척 CHAK 서비스 개발기

 

첫 번째 세션은 XE Hub에서 인턴으로 일하고 있는 오승현님의 CHAK 서비스 개발기이다.
발표 초반부터 1학년임을 매우 강조하셨는데, 1학년에 벌써 인턴이라니 정말 대단하신분이다. 발표의 전반적인 내용은 CHAK이라는 서비스를 만들면서 사용한 오픈소스들을 이야기하면서, CHAK 서비스의 구성과 개발 프로세스에 대한 내용이다.

내용을 요약하자면 프로젝트의 요구사항인 Single Page Application 개발을 위해 React.js를 선택하였고, React.js 를 이용한 덕분에 개발이 훨씬 간편해졌다는 이야기이다. 뒷부분에는 yobi를 이용한 소스코드관리 그리고 Jenkis 를 이용하여 CI를 구성한 이야기를 해주셨다.

이 세션은 어느정도 협업에 경험이 있는 사람보다는 이제 막 개발이라는 것을 시작하는 사람들에게 큰 도움이 되는 이야기들이 많이 나왔다. 물론 나에게는 다른 사람의 이야기를 들어볼 수 있는 좋은 발표였다.

 

Key-Value Store 만들기

 

두 번째 세션은 정말정말 기대되는 key-value store 만들기이다. 2010년도에 SW Maestro 1기 1차 프로젝트에서 In memory key-value storage 만들기 프로젝트도 진행해보았고 (비록 엄청 허접한 수준이였지만..) ahems 회사에서는 memcached + cassandra 를 이용하여 CacheCloud PoC도 만들어보았기에 기대가 되었다. 세션 시작전에 공개된 슬라이드를 잠깐 봤는데 15년도 1학기에 수강한 파일처리에 나오는 내용이 그대로 나왔다. 그래서 더더욱! 흥미진진.

세션 내용은 크게 총 4단계로 진행하면서 점차 고도화된 key-value store 를 만들어갔다. 그냥 무작정 이론만 설명하는 것 보다 각 단계별로 선택할 수 있는 최적의 선택을 해나아가면서 요구사항을 만족시키고, 불완전한 요소를 찾아내어 다음 단계에서 개선하는 방식으로 설명이 되어지다보니 이해가 쏙쏙되었다.

예전에 memcached 소스코드를 분석했을 때는 데이터를 HashTable에다가 저장을 했는데, 이 세션에서는 데이터를 B-Tree에 저장하고 있었다. 그 이유에 대해 질문을 하니, 데이터를 메모리에만 유지시키려면 아무래도 O(1) 인 HashTable이 적합하지만 그 내용을 Disk에 써야한다면 말이 달라진다. Disk 에 쓰기 위해서는 물리적인 Disk의 Block 단위로 읽고 쓰고 하는 것을 고려해야하는데 그것을 고려하다보면 B-Tree가 가장 적합하다는 것이 그 이유이다. 더 자세한 이야기는 시간관계상 듣지 못했지만 어느정도 이해는 갔다. 추가적으로 더 공부해보아야할 내용이다.

이 세션은 앞으로 데이터베이스를 만들어보고 싶거나, 내부 구조에 많은 관심을 가지고 있는 사람이라면 꼭 추천하고 싶은 세션이였다.
추가적으로 DB관련해서 유용한 글을이 모여서 있는 링크도 첨부한다. (https://github.com/rxin/db-readings)

 

웹 개발자의 스펙: HTTP

 

웹 개발을 이제 막 시작하는 사람들, 프론트엔드건 백엔드 개발자건 꼭 들었으면 하는 세션이다. 웹 개발을 하면서 너무나도 당연하게 사용하고 있던 HTTP에 대해서 일목요연하게 정리하여 이해하기 쉽게 설명하는 발표였다.
기본적인 URI 구조에서부터 HTTP Method, HTTP Connection, Cookie 그리고 서버 구성 방법까지 정말 필요한 내용들이 들어가 있다.
이 발표에서 나름의 수확은 “하위 도메인 간 쿠키 공유가 된다.” 이다. 근데 a.com 을 소유하고 있고. blog.a.com, wiki.a.com 와 같이 하위 도메인이 서로 다른 서비스여도 쿠키가 공유되는건가?? 이건 좀 알아봐야겠다.

 

JavaScript 다시 시작하기 (이론 & 실습)

 

 

마지막 세션은 JavaScript 에 대해서 이론과 실습을 동시에 해보는 세션이다. 발표는 중앙대학교 컴퓨터공학부 학술동아리 ZeroPage의 안혁준 님이 해주셨다. 지난 2회차 때에는 scala 언어를 배우고 실습해보는 과정이 있었던걸 보아 D2 대학생 세미나의 마지막 세션은 계속해서 언어를 배우고 실습하는 것으로 가는 듯 하다.

사실 JavaScript 는 대부분이 접해볼법한 언어여서 다 알 것이라고 생각했지만 (나 빼고…) 의외로 많은 사람들이 JavaScript 를 처음 접해보거나 익숙치 않은 듯 하였다.

이론이야 설명만 주구장창하는거지만 실습이 놀라웠다. 예상으로는 메모장이나 vim 같은걸로 실습하겠지.. 했는데 엄청난 실습도구가 준비되어있었다. “codepen” 이라는 실습도구인데 웹을 통해서 발표자가 미리 셋팅해놓은 환경에서 실습자들이 자유롭게 실습을 할 수 있는 구조이다. 물론 발표자가 사전에 준비해놓은 숨겨진 라이브러리들은 발표자가 공개하기 전 까지는 실습자가 볼 수 없지만 그래도 다들 별 다른 어려움 없이 (흔히 말하는 실습의 법칙..  사람들 환경이 다 다르기 때문에 실습이 잘 안된다던지 하는..) 진행할 수 있었다.


5시간이 어떻게 지나갔는지 모를정도로 흥미진진한 발표들로 구성된 세미나였다. 특별한 결론은 없고 다음에도 참석해야지~

반응형