반응형
"Release it! 성공적인 출시를 위한 소프트웨어 설계와 배치"를 읽었습니다. Hani님 블로그인 Talk about Software with hani를 틈틈이 구독하다가 베타리딩 공지를 보고, 참여할 수 있게되어 더욱 기억에 남는데요. 12월 7일 있었던 베타리더 모임 때 Hani 님이 쓰신 메시지가 담긴 책을 받게 되어 기뻤습니다.

이 책은 프로젝트를 완성하고 나서 그 이후라는 시점에 대해 집중하고 있습니다. 2장에서 소개되는 사례연구 중 하나인 "항공사를 정지시킨 예외(Exception) 사건"이 있는데요. 실제로 모든 버그에 대해 릴리스하기 전에 대처하기는 어렵습니다. 이런 버그가 미칠 수 있는 영향을 최대한 축소시키는, 설계를 채택하는 방법이 논의되고 있습니다.

깊은 인상을 받았던 곳은 4장 안정성 안티패턴에서 언급된 "느린 응답"입니다. 저도 어떤 웹 페이지에 들어갔는데, 불러오는 과정이 더디면 무의식적으로 페이지 새로 고침을 누르곤 했습니다. 이런 사용자의 행동은 웹 서비스의 트래픽을 더 무겁게 할거라고 예상되는데요, 이런 부분에서 저자의 통찰력을 느꼈습니다.

프로젝트 출시 이후의 삶을 다룬다는 점에서, 실용적인 도움이 될 수 있는 책이라고 생각합니다. 이 책은 지난 번에 소개해드렸던 "Ship it!"을 읽었습니다와 같은 시리즈입니다.
RELEASE IT: 성공적인 출시를 위한 소프트웨어 설계와 배치 상세보기
마이클 나이가드 지음 | 위키북스 펴냄
성공적인 출시 이후를 위한 소프트웨어의 설계와 배치를 다루는 전문서. '엔터프라이즈급'의 소프트웨어 시스템 개발자를 대상으로, 소프트웨어가 출시 이후, 혹독한 현실에 맞설 수 있도록 설계하고 배치하는 방법을 안내한다. 작동시간을 지속시키는 방법을 가르쳐주면서, 용량을 최적화하는 방법에 대해 중점적으로 다루고 있다. 또한 데이터 센터에서 사용하는 소프트웨어를 만들 때 아키텍트가 고려해야 하는 일반적인 디자
반응형
반응형
2007년 12월 1일 금년 마지막이 될, 다섯 번째 루비세미나에 다녀왔습니다. 장소는 4회[각주:1]와 동일했습니다.

사용자 삽입 이미지

5회 루비 세미나 사진


첫 번째 발표는 Daum 캘린더 개발이야기. 관심이 갔던 부분은 SeeSaw인데요. 서버를 재시작하지 않고 중단하는 서버를 부분으로 나누어서 각각 갱신하는 점에 매력을 느꼈습니다. RoR로 운영되는 서비스라고 하셨는데, 좋은 선례가 되었으면 좋겠습니다.

두 번째 발표는 ETRI에서 YouFree. 휴대 가능한 작업 공간을 목표로 개발되었다고 합니다. 오픈소스이고 InstantRails 기반입니다. 집에서 USB로 꽂고 사용해 봤는데, 말씀하신 대로 하드디스크나 외장디스크에 복사해서 쓰시는 편이 더 좋을 듯합니다.

세 번째 발표는 Ruby와 Rails를 이용한 진짜 개발. 첫 부분인 Getting Real에서 다루어진 주제는, 애자일 흐름과 상응하는 부분이 많아서 공감했습니다. 배포 부분도 잘 모르고 있었는데 여러 경우로 나누어 설명해 주셔서 큰 도움이 되었습니다. 중간에 사진들도 재미있었어요. ^^ 발표 내용은 ikspres님의 블로그에서 5회 루비세미나를 참조하세요.

네 번째 발표는 2007년 크리스마스 선물이 될 예정인 Ruby 1.9에 대한 소개였는데요. 이번에 새로 지원되는 해시 표기법을 보니, 더 간단하다는 느낌이 드네요. String에서도 Enumerable을 버리고 문자 자체를 출력하도록 하는 것도 좋아 보여요. ASCII 코드값보다 더 자주 쓰여서 기존의 불편한 점이 해소될 거라고 봐요. GEM이 기본 배포에 포함되고, YARV(VM)도 포함된다고 하는데 기대가 됩니다. 발표하셨던 분이 참조하셨다고 이야기 해주신 Changes in Ruby 1.9의 링크를 겁니다.

다섯 번째 발표는 RESTful 웹 서비스 소개였는데요. RESTful Webservices라는 책을 도서관에 신청만 해두고 아직 읽어보지 못한 상태였는데, 핵심단어를 슬라이드에 띄우고 잘 설명해 주셔서 좋았습니다. REST에 대해 REpresentational State Transfer라는 표면적 의미보다는, 더 자세한 의미를 듣게 되어서 기뻤습니다.

여섯 번째 발표는 JavaScript on Rails였는데요. RJH, Lowpro(with RJS), JQuery 세 방식으로 구현된 잘 짜여진 예제가 매우 인상깊었습니다. 웹에서 행동을 분리하는 움직임은 DOM 스크립트라는 책을 읽을 때도 들었던 이야기인데요, 자바스크립트를 사용할 수 없는 설정이라도 작동이 온전히 이루어질 필요가 있다는 데 동감합니다.

일곱 번째 발표는 meet the Nginx였는데요. Nginx를 왜 채택했는지 경험에 기초해 이유를 설명해 주시고, 도입하고 나서 겪으셨던 어려웠던 경험들을 공유해 주셔서 좋았습니다. timeout default와 ignore_invalid_headers 두 가지였습니다. lockdown이 팁으로 나왔는데, 공부가 많이 부족해서 잘 이해를 못했습니다.

여덟 번째 발표는 봇을 위한 페이지 캐싱이었는데요. 운영하시는 서비스의 로그 분석 결과를 보고(특정 검색엔진의 봇이 한 서버에 그렇게 많은 부하를 준다는 사실에 대해 놀랐습니다.), 그 문제를 해결하기 위해 어떤 방법을 사용하셨는지 이야기해 주셨습니다. 하지만 생각했던 것보다 효과가 잘 나타나지 않았던게, 봇이 똑똑해서 같은 페이지에 대한 Hit Ratio가 낮기 때문이라고 합니다.

번외로, deepblue님이 slugger에 대한 유인물을 2장 정도로 정리해서 나누어 주셨습니다. slugger는 me2day와 springnote의 open API로 DB없는 blog를 구성할 수 있게 한다고 이해했는데요, 정말 신선하고 재미있는 프로젝트라고 생각해요. 문서에서 slugger에 대한 deepblue님의 사랑이 느껴집니다. 발표가 모두 끝난 후, 인사이트에서 후원해주신 루비 관련 도서 5권을 rand 함수를 돌려서 추천했는데요, 당첨되신 분들 축하드립니다. ^^
(저는 ㅠㅠ)

루비 사용자 커뮤니티가 점점 커지는 모습이 보인다고 많은 분들이 말씀하셨습니다. 루비 세미나 참석해서 정말 즐거웠고, 많이 배워갑니다. 내년 6회 세미나를 기대해 봅니다.
반응형
반응형
2008 매시업[각주:1] 경진대회의 부대행사로 열린, 매시업 엑스포에 다녀왔습니다. 9개월 전에 매시업 세미나를 다녀오고 나서[각주:2]라는 글을 올린게 엊그제 같은데, 어느새 2회를 맞이하는 경진대회를 보니 감회가 새롭네요.

수업이 1시에 끝나고 난 후 시간을 맞추기 위해 점심도 먹지 못하고 지하철 전동차에 탔습니다. 다행히 낮 시간대라 앉아서 갈 수 있었죠. 제가 신청했던 시간은 15시~16시 였고 20분정도 여유있게 삼성역에 도착하고 나서 조금 안심했는데, 그게 아니었습니다.

태평양홀 부근에는 무슨 개회식 같은 걸 하는 중인지 분주하고 복잡한 양상이었고, 등록대는 5개인데 사전등록과 현장등록을 담당하는 분이 각각 한 분씩이라 줄이 꽤 길어진 상태였습니다. 늦게나마 줄을 서서 꾸준히 기다린 다음에야 통행권을 얻을 수 있었죠. 패스에는 이름이 써 있는게 아니라, RFID 종류의 칩이 붙어있는 것 같았습니다. (자세한 정체는 모르겠네요.)

사용자 삽입 이미지

통행권


매시업 엑스포의 위치도 헤매서 엉뚱한 쪽으로 끝까지 갔다가 다시 반대편으로 방향을 돌려 올 수 있었습니다. 일단 등록대에서 등록 확인을 하고, 9개의 튜토리얼을 들은 후 pass를 받는 명찰을 등록대에서 주시더군요.

먼저 me2day 부스에 찾아갔습니다. 기억도 해 둘겸 me2API 사용설명서도 링크를 겁니다. get_latests, get_friends, create_post를 kkung님의 큰 도움으로 실습해볼 수 있었습니다. me2API 클라이언트 라이브러리를 java로 구현해주신 rath님도 뵐 수 있었습니다. 미투데이 만드시는 codian님, 멘토로 오신 dahlia님도 뵈었고요. (전부 소개해드리지 못한 점을 양해해 주세요. ㅠㅠ) create_post를 실습하니깐 미투데이 API로 입력하는 글로 실제로 제 페이지에 포스팅된 걸 확인하는 일은 인상깊은 경험이었습니다.

오픈마루 부스에서는 지난번에 오픈랩 때 뵈어서 그런지 월반(?)을 해서 시험만 치고 pass를 했습니다. 오픈마루 매시업 센터::API 센터 링크를 걸어 둡니다.

마이크로소프트 부스에서는 실버라이트로 플리커와 연동되는 매시업들을 볼 수 있었습니다. PopFly로 쉽게 매시업 서비스를 만들 수 있다고 하시더군요. 저는 이 부분을 보면서 Pipes가 연상이 되었습니다.

다음(Daum) 부스에서는 Channy 님께 인사도 드리고(자주 뵈서 그런지 저를 알아보시는 것 같습니다. =ㅅ=;;), 매시업 수업을 들었습니다. 세 언어로 다음 부스에서 진행되고 있었는데, 맨 오른쪽에 Python이라고 모니터에 붙어 있길래 그곳에서 들었습니다. 이미 파이썬 쪽에서 듣고 계신 분은 벌써 매시업을 만들어 본 경험이 있으시더라고요. 튜토리얼이 시작하기 전에 저에게 파이썬으로 듣겠다는 두번째 사람이라고 하셔서 조금 놀랐습니다. 파이썬마을도 꽤 오래된 곳인데 의외였습니다. 도서검색 API로 설명을 해 주셨는데요 친절하신 설명 덕분인지 이해가 잘 되었습니다.
Daum OpenAPI

네이버 부스는 지도API 쪽에서 사람들의 시선을 끌고 있더군요. 저도 중간에 껴서 마커에 대한 설명도 듣고  질문도 하고 했습니다. 이 이야기는 좀 가외지만, 의외로 AcroEdit 쓰시는 분들이 많더군요.
네이버 Open API

야후 부스에서는 플리커에 가입하는 법(!)과[각주:3] 야후 거기에서 제공되는 지도 서비스 API 설명을 들었습니다. 범위과 세계지도로 광할하며, [위성지도, 일반지도, 하이브리드지도] 모드를 지원하는 게 이점으로 생각했습니다. 이번 엑스포를 계기로 만드셨던 위자드도 마음에 들었습니다. ^^
야후 개발자 네트워크(영문)

옥션에서는 API를 오픈한지 얼마 안되었다고 합니다. 기억에 남는 점은 SOAP를 사용한다는 것인데요 회사 방침이라니 어쩔 수 없죠. 설명을 듣는 도중에
옥션이 ebay의 지사인 건 아시죠?
라고 하셨는데, 고백하자면 몰랐습니다. 나중에 ebay처럼 매시업 서비스를 통해 구매행위가 유발될 경우에 수익 분담구조를 넣을 가능성도 있다고 합니다. 아직 한국에는 이런 수익형 모델이 없었고, 없다고 하시더군요.옥션 내부에 "펌블"[각주:4]이 이와 비슷한 역할로 적용되고 있다고는 합니다.
옥션-API

카멜레온(Chameleon) 서비스는 다소 생소했습니다. 국내에서 잘 언급되지 않은 동영상솔루션을 주제로 Open API를 개방하셨는데요. 꼼꼼하고 친절하게 OpenAPI를 설명해 주셔서 감사했습니다. 어떻게 사용자의 욕구를 충족시킬 건지, 창의적인 고민이 필요하다고 생각했습니다.
카멜레온::OpenAPI

위자드닷컴은 시간이 늦는 바람에 간단한 튜토리얼과 개발 관련 사이트의 소개를 받았습니다. 블로그로 위젯을 빼서 출력하는 기능이 구현되었는데, 트래픽을 상당히 소모해서 전체적인 서비스가 다소 느려졌다는 이야기를 들었습니다. 개인화페이지보다는 RSS 리더로 주로 사용하는데, 직관적이고 한번에 제목들이 보이는 느낌이 있어서 종종 쓰고 있습니다. P-Camp 2회 때 같이 토론했던 분과 우연히 만난 것도 반가운 일이었습니다.
WZDAPI

이렇게 해서 완성된 9개 패스 스티커 사진.

사용자 삽입 이미지

pass stickered paper


사진 모음입니다.
0123

매시업 엑스포 준비하셨던 분들 수고 많이하셨고요, 정말 감사드립니다!
  1. 대회 공식 명칭은 mashup을 매쉬업으로 표현하지만, mashup을 외래어표기법에 따라 표기하면 flash를 플래쉬가 아니라 플래시로 부르는 것처럼, 매시업이 된다. [본문으로]
  2. 다른 분들의 후기를 매시업 경진대회 공식 블로그 서울 매시업 세미나가 잘 끝났습니다!에서 보실 수 있습니다. [본문으로]
  3. 주민등록번호 때문에 가입이 되지 않는다면, yahoo.com에서 직접 가입하면 플리커를 사용할 수 있다고 하더군요. [본문으로]
  4. 관심가거나, 추천하고자 하는 상품을 회원이, (옥션 내부) 자신의 블로그에 등록하는 서비스. [본문으로]
반응형

+ Recent posts