SpringCamp 2014에 다녀왔다. SpringCamp에 가본 것은 처음인데, 참가신청 페이지의 컨퍼런스 소개글을 보면 다음과 같이 소개하고 있다.

애플리케이션 서버 개발자들과 함께 가치있는 기술에 관한 지식과 정보를 '공유'하고 참가한 사람들이 서로 '인연'을 만들고 시끌벅적하게 즐길 수 있는 '개발자들을 위한 축제'를 목표로 하는 컨퍼런스

"Spring"이라는 이름이 들어갔지만, 세션 내용들은 Spring Framework에 대한 이야기에 국한되지 않은 점에서 서버 개발자들의 지식, 정보의 "공유"라는 측면은 좋았다. 하지만, "인연"을 만드는 부분은 좀 아쉬웠다. 이런 컨퍼런스에서 그저 많은 사람들이 한자리에 있다고 해서 통성명하고 이야기를 나누게 되는 것이 자연스러운 일은 아닌 것 같다. 아무래도 중간에서 소개하는 사람이 있지 않으면 새로운 인연을 만들어가기가 쉽지 않은데 이런 점이 좀 더 고민되어야하지 않나 하는 생각이 들었다.

그러면, 들은 발표를 간단히 정리해본다.


조금 더 좋은 개발자가 된다는 것 : 컨퍼런스 발표자가 된다는 것 - 박용권

일종의 기조 연설같은 느낌의 발표였는데, 요지는 이런 자리에서 발표하는 것을 망설이지 말라는 내용이었다.


설계도구 실전 활용 사례 - 안영회

설계도구를 활용하는 것까지는 아직 검증이 되지 않아서 이미 공지된 제목의 발표를 하지 못하고 주제를 바꿨다는 설명을 발표에 앞서 하면서 "실용적 소프트웨어 설계를 위한 근본적인 질문들"이라는 제목으로 발표가 진행되었다. 갑자기 주제가 바뀌었다는 말을 들어서인지 발표를 들으면서도 이상하게 집중도 어렵고 이해도 어려웠다. (그냥 내가 설계에 대해서 아는게 없어서..) 그래도 몇가지 기억에 남는 것만 적어본다.

  • 설계시 사용하는 용어의 통일이 중요하다.
  • 소프트웨어는 계속 변화하는 유기체이다.
  • 완벽하게 설계를 하겠다는 결벽증은 버리자.
  • 새로운 개발자는 코드를 파악하고 "멘탈 모델"을 그리는게 중요함


스프링 어플리케이션의 문제해결 사례와 안티패턴 - 정상혁

아주 명확하고 실제로 도움이 될만한 팁을 전수받는 느낌의 발표였다. View cache 기능 관련해서 Spring에 패치된 코드는 간단한 캐쉬를 구현하기에 좋은 예제가 될 수 있다는 것을 알았고, XXE Injection이라는 것을 처음 들어봤다. 자세한 내용은 발표 자료가 공개되면 보면 될 것 같다.

발표 내용과는 관계없지만, 우분투 노트북으로 데모도 보여주면서 발표하는 모습이 자연스러워서 인상적이었다.


실시간 알림 기능 구현 사례 - 이연복

vert.x와 zookeeper를 사용한 푸시 서버를 구현한 사례였는데, BlazeDS와 Flex도 사용했다고 한다.


내가 파이썬을 선택한 이유 - 최윤석

자바(Spring Framework)을 버리고 파이썬(Django Framework)을 사용한 사례에 대한 발표였다. 제목인 "선택한 이유"는 빠른 개발 속도와 필요한 만큼만 배워서 쓸 수 있다는 점에 있었다. 라이브 코딩을 진행했는데 마치 예전에 루비온레일즈를 유명하게 만든 블로그 만들기 동영상을 보는 것처럼 빠르고 간편하게 코딩을 하는 모습을 체험할 수 있었다.


린 스타트업 하다가 "잘"망한 이야기 - 강규영

나에게 오늘의 최고의 발표를 꼽으라면 이 발표를 꼽을 것 같다. 서비스를 만들고, 발전시키다가, 정리하게 된 것 까지 순서대로 흥미롭게 이야기했다.

  1. 사용자 조사 : 경쟁 앱을 직접깔아서 사용자들에게 물어봤음 -> 여 - 매너("변태" 문제), 남 - 답장 중요함
  2. 디자인
  3. ?? (생각이 잘 안남)
  4. 프로그래밍 : GAE, Urban Airship
  5. 릴리스
  6. 마케팅 : 경쟁 앱을 통해서 메시지로 홍보함. 직접 홍보(X) 간접적인 메세지로 홍보(O)
  7. 중지 : 갑작스런 사용자 증가로 비용이 증가, 푸시 서비스 중단
  8. 점진적 개선 : OORP에 나오는 Bridge to New Town 패턴을 사용. memcached를 임시 저장소로 사용. Active 사용자의 정보를 구/신 저장소에 모두 저장하다가 Inactive 사용자는 batch로 마이그레이션.

사용자에게 중요한 요소로 파악된 요소 중 하나인 매너를 확보하기 위해서 수행한 것은 변태(적인 메시지를 보내는 사람)와의 전쟁이었고, 이것에 성공하지 못한 것이 발표자가 밝힌 사업 철수의 한 원인이기도 했다. "변태"를 퇴치하기 위해서 사용한 방법들로 기억나는 것을 적어보면,

  • 메시지 필터링 : 정확도는 낮지만 비매너 메시지를 다 잡는 필터A, 정확도가 높아서 확실한 비매너 메시지만 잡는 필터B
  • 유죄 추정의 원칙 : 남자의 경우 "변태"로 추정하고 답장을 받았을 경우에만 매너남일거라고 추정함
  • 신고 : 신고를 받으면 메시지 전송을 제한
  • 거짓 신고 방지 : 24시간 유지되는 DB에 한 사용자가 3번까지 할 수 있으며, 3명 이상이 신고하면 처리됨. 처리되면 추가 신고 가능해짐

그리고 또다른 사용자들의 요구 사항 중의 하나인 답장을 받을 수 있도록 하는 방법은 성비 불균형 문제를 해결하는 것이었다. 성비를 비슷하게 만들기 위해서 고안한 장치가 흥미로웠는데 발표자료가 공개되면 그림으로 다시 확인할 수 있을 것 같다. 대충 설명해보면 Active 남자가 보내는 메시지는 Active 여자에게만 보내고, 남는 것들은 쌓아둔 상태로 Inactive 여자에게 메시지가 있다는 것을 알려주는 역할로만 기능하다가 Active로 전환되면 그때 보내는 방식이었다.

그 외에 여자 사용자의 참여를 독려하기 위해서 부영이에게 말풍선을 달아서 메시지를 작성하도록 했더니 5%의 실제 메시지 작성 증가가 있었다는 것이나, 수익구조로 부엉이 꾸미기를 계획했다든지 하는 내용도 있었고, 단문 분석을 위해서 자소분리 후 분석해서 좀 더 많은 정보를 분석할 수 있었다는 내용도 있었다.


즐거운 개발을 위한 스마트한 습관 - 강대권

Redmine + SonarCube + Jenkins = 자동화로 인한 개발 편의


비동기 그리고 이벤트 - 강지훈

비동기나 이벤트라는 것이 새로운 기술이 아니고, 어떤 서비스를 구현할때 적당한 알고리즘이나 솔루션보다는 요즘 유행하는 키워드에 맞는 것만 생각하려는 경향을 경계해야한다는 요지의 이야기가 기억에 남는다.


아직 공개된 발표자료도 몇 개 없지만, 관련된 링크를 모아봤다.


'Etc' 카테고리의 다른 글

주한나 - 개발자를 부탁해  (0) 2014.11.24
SpringCamp 2014  (0) 2014.05.31
Firefox 개발자 콘퍼런스 2014  (0) 2014.04.10
릭 채프먼 - 초난감 기업의 조건  (0) 2014.01.05

+ Recent posts