Capistrano - 제 1 회 루비 세미나 후기

어제(11/25)는 오픈마루에서 제1회 루비 세미나가 있었습니다. 저는 FrameWork2.1 이후 두번째로 개발자 오프라인 모임에 참여했습니다. FrameWork2.1보다 좀 더 적은 인원이라 그런지 아니면 deepblue님의 능수능란한 진행 솜씨 덕분인지 (전 후자가 맞다고 생각해요!) 재미있는 이야기가 많이 오갔던 자리였습니다.

Ias님께서 발표하신 JRuby와 seradin님께서 발표하신 Groovy, Grails에 대해서는 소문만 듣고 자세히 몰랐는데, Ias님과 seradin님의 간단하면서도 밀도있는 발표를 통해 좀 더 자세히 알게 되었습니다. 사실 어떤 한 언어나 프레임워크를 파악하고 장점, 단점을 알기 위해서는 많은 시간이 걸립니다. 이런 작업을 훌륭한 개발자님들의 발표로 듣게 되어 마치 공짜로 알짜배기 정보를 얻는 느낌이었습니다.  혼자서 JRuby와 Groovy, Grails을 알아보고자 했다면, 그리고 실제 적용에 어떠한 장-단점을 갖는지 파악하려면 얼마나 많은 시간이 걸릴까요. 중후한 경험이 우러나오는 멋진 발표였습니다.
 
daesan님의 메타 프로그래밍은 어렴풋하게 알고있던 메타프로그래밍과 DSL(Domain Specific Language)에 대해 좀 더 잘 알게해준 발표였습니다. 대산님의 센스 넘치는 예제 코드에 모두들 즐거웠습니다. 간략한 발표 덕분에 토론시간이 있어서 더 좋았는데요, DSL의 유용성에 대한 여러 생각을 공유하게 되어서 좋았습니다.

deepblue님의 루비를 즐겨요 발표는 deepblue님의 루비 철학이 잘 묻어난 발표였습니다. 자칫 기술 위주의 세미나가 되는 것을 염려라도 하신 듯한 deepblue님의 발표로 많은 분들이 갖고 계신 "루비"에 대한 많은 생각을 들을 수 있었습니다. 저도 살짝 용기를 내어 "기계를 위한 언어가 아니라 사람을 위한 언어라 참 좋아요~" 라고 The Ruby Way 책의 서문을 코멘트 했었는데, 많은 분들이 공감하시는 것 같았습니다. 사실 요즘들어 일에 좀 치여서 Rails 코딩을 좀 막코딩으로 한 경우가 많았는데, deepblue님처럼 "개발자가 고민한 시간이 묻어있는 냄새나는 코드"를 짜기 위해 노력하고 싶습니다.

codian님의 스크렛 발표는 codian님께서 바쁘셔서 일찍 가셔야하는 바람에 좀 아쉬웠습니다. 저도 "RIA를 AJAX로 구현하면 웹 개발과 데스크탑 개발을 하나로 할 수 있지 않을까?"라고 생각한 적이 많았는데, 스크렛이 출시되면 이러한 생각을 실현하는 멋진 어플리케이션이 되지 않을까 생각합니다. Rails 개발에서는 보통 웹 개발만을 생각하는 경우가 많은데, 새로운 형식의 어플리케이션이라 이것 저것 논의해볼 것이 많았을 텐데 아쉬웠습니다. (이게 다 제가 발표를 너무 길게한 탓이겠지요 ㅠ.ㅠ)

ikspres님의 UJS4Rails 발표는 정말 재치넘치는 발표였습니다. 사실 unobtrusive 란 단어를 어떻게 한글로 설명하실까 궁금했는데 "나대지 않는"이라니요. ㅎㅎㅎ 즐거운 발표 감사드려요~

nohmad님의 유니코드는 발표자료가 깨져 이야기로 들을수 밖에 없어서 좀 아쉬웠습니다. 루비의 시작이 일본에서였는데 왜 유니코드의 도입이 느린가 했었는데, nohmad님의 유니코드 역사 이야기를 통해 잘 알게 되었습니다. 현재 루비에 있어서 유니코드의 위치, 앞으로의 전망 등을 잘 들을수 있었습니다. 좀 어렵긴 해도 유니코드의 철학, 역사, 미래에 대해 잘 알수 있는 시간이었지요.


저는 운이 좋아서 Capistrano를 주제로한 발표를 맡게 되었습니다. 처음으로 IT 개발자분들 앞에서 발표하는 것이라 안그래도 걱정이 되어 전날 밤을 세가며 발표자료를 준비했습니다. 2시가 조금 넘어 세미나가 시작되었을 때 회의실에서 돌아가면서 자기 소개를 하는데 모두들 쟁쟁한 개발자분들이셔서 완전 쫄았습니다. (deepblue님께서 올려주실 동영상 자료를 보시면 말도 더듬고 쫄아서 두서없는 서론을 이야기하는 발표모습을 보실 수 있습니다. ㅠ.ㅠ)

다루어야 할 내용이 서비스 배포 자동화툴인 Capistrano이다 보니 웹 서비스 구조에 대한 설명부터 Capistrano의 Standard Task까지 방대한 내용을 다루게 되었습니다. "단순한 튜터리얼이 아닌 심층 세미나"를 지향하는 세미나라고 공고가 나는 바람에 Capistrano의 전 소스를 다 헤집어가며 준비를 했더니 발표시간이 너무 길어져서 다른 발표자분들에게 정말 죄송했습니다. Capistrano를 30분만에 프리젠테이션 하기에는 좀 벅차더라구요.
Deployment에 대한 토론도 좀 있었으면 하는 바람이었는데, 발표가 너무 길었던 나머지 그냥 강좌처럼 되어버려 아쉬웠습니다.


저야 기술적인 내용을 담고 있는 발표였지만, 다른분들의 발표에서는 루비에 대한 생각, 경험, 고민을 들을 수 있는 좋은 자리였습니다. 온라인을 통해서는 쉽게 느낄수 없는 생생함과 열정이 오픈마루의 회의실을 후끈 달아오르게 했습니다. 좋은분들을 만나뵙고 좋은 경험과 좋은 고민을 나눌 수 있는 매우 뜻깊은 자리였습니다. (크리스피 도넛도 정말 맛있었구요.) 멋진 세미나를 열어주신 deepblue과 발표를 준비하신 Ias님, 대산님, seradin님, codian님, nohmad님 모두 수고하셨습니다. 앞으로도 계속 발전해서 Ruby Conf. in Korea 2007 이런 이름으로 발전하기를 기대해봅니다. :)

p.s 저의 capistrano 발표자료를 첨부합니다. :)
by 정목 | 2006/11/26 18:17 | Ruby & Rails | 트랙백 | 덧글(23)
트랙백 주소 : http://niceview.egloos.com/tb/2839809
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Commented by xeraph at 2006/11/26 18:26
애써서 준비하신게 발표 내내 묻어나더군요 ㅎㅎ 다음에 또 만나요 ;)
Commented by 호종 at 2006/11/27 00:16
"development는 쉬운데, deploy는 진짜 어렵다" <- 이거 너무 동감 ㅜㅜ 저도 형 발표를 들을 수 있었으면 좋았을텐데 내일..(이 아니라 오늘이네 -_-;)이 시험이라 흑흑 그래도 발표자료는 잘 봤습니다~
Commented by deepblue at 2006/11/27 00:30
유익하고 즐거운 발표였습니다. 인상적이었습니다. 감사 ^^;
정목님 보면 에너지가 넘치시는 것 같습니다. 다음에 또 뵈요!
Commented by 大山 at 2006/11/27 00:49
발표하느라 수고 많았어요. 내용이 많아서 놓친 부분이 있었는데, 발표자료를 다시 한번 찬찬히 들여다봐야겠네요. :)
Commented by 정목 at 2006/11/27 01:13
xeraph님 / 네~ 다음에 또 만나요~ :)

호종 / ㅎㅎ 그렇지? 그래도 이제 Capistrano 감을 잡아서 PAIM용 deploy.rb파일 만들 수 있을 것 같아~ 발표는 deepblue님께서 천천히 동영상으로 만들어주신다니 기다려봐~

deepblue님 / 감사합니다~ :) 국시 열공 모드로 들어가기전에 이번달까지 불태우렵니다~ ㅎㅎ 다음에 뵈요~

대산님 / 흑흑 저도 내용이 많아서 좀 그랬어요~ 담에 뵐때 이상한 부분 물어보세용~
Commented by 테이_ble at 2006/11/27 10:51
다른분께는 죄송하지만 정목님의 발표가 가장 좋았습니다 랄랄라~~ 담에 뵈요~~
Commented by dante at 2006/11/27 10:55
정목님 발표덕분에 Capistrano환경에 관심이 커졌습니다. 발표도 매우 잘해주셔서 이해도 잘되고 감사했습니다~
Commented by codian at 2006/11/27 11:47
아직은 디플로이 할 일이 없으니 저한텐 도움이 별로 안될 발표일 줄 알았는데 좀 봐놔야 겠다는 생각이 들게한 발표였습니다.

그리고 만나서 반가웠습니다. 다음에 또 뵙죠 :)
Commented at 2006/11/27 13:45
비공개 덧글입니다.
Commented by 정목 at 2006/11/27 14:46
테이_ble님 / 하하~ 과찬이십니다~ :) 다음에 뵈요~

dante님 / 부족한 발표를 좋게 봐주셔서 감사합니다. Capistrano를 이해하는데 조금이라도 도움이 되었으면 좋겠습니다.

codian님 / 스크렛 정말 기대가 큽니다. 멋진 소프트웨어 기다리고 있겠습니다. :) 다음에 또 뵈요~
Commented by JasonPA at 2006/11/27 22:44
짧은 시간이었지만 그정도 시간만으로도 충분히 여러사람을 반하게 만드시는 분인 것 같군요. 정성껏 준비해주신 발표 잘 들었습니다. (감동적이었습니다)
어쨌든 단순하게 사용하는 수준에서 좀더 깊게 깊게 파고 들어가시는 모습을 보고나니 좀더 의욕이 솟아나는 것 같습니다.
담에 또 뵐 수 있기를....
Commented by 정목 at 2006/11/27 23:03
감사합니다 :) 다음에 또 뵈었으면 좋겠습니다~
Commented by 세라딘 at 2006/11/27 23:08
중간부터 들었던게 너무 아쉬웠던 강의였습니다.
다음에는 그루비와 그레일즈에 대해 더 심도있게 준비하겠습니다. ^^
Commented by 정목 at 2006/11/28 00:01
감사합니다. :) 그루비와 그레일즈에 대해서 멋진 말솜씨로 발표해주셔서 정말 잘 들었습니다. Java쪽은 잘 몰라서 그루비와 그레일즈에 대해 잘 몰랐는데 실무에서의 경험을 생생히 들으니 정말 좋았습니다. 다음에도 기대하겠습니다.
Commented by 김준환 at 2006/11/28 09:17
매우 재미있는 발표였읍니다. 저희도 development vs deployment에 대해 고민하고 있는데, Capistrano환경에 대해 관심이 가게 되었습니다. 다음에 또 뵙겠습니다!
Commented by 정목 at 2006/11/29 14:18
감사합니다~ :) 다음에 또 뵈요~
Commented by 비바람 at 2006/11/30 15:44
안녕하세요 Capistrano에 대해서 발표하신 자료를 잘 보았습니다. 제가 이전에 매뉴얼을 보고서 판단하기로는 각각의 deploy target이 되는 서버에 ssh로 명령을 전달하는 방식이고, 이 target서버들은 명령을 받아서 svn에서 소스를 체크아웃하는 방식으로 이해했었는데요. 정목님 자료를 보니 잘못이해했을수도 있다고 생각이 됩니다. 혹시 checkout을 받는 방식이 아니라면 어떤 형태로 소스코드를 deploy하나요? rsync를 이용하는건가요? 궁금해서 여쭤봅니다. ^^
Commented by 정목 at 2006/12/01 00:56
네 정확히 이해하셨습니다. 말씀 하신 부분은 제가 발표때 구두로 설명한 부분이라 자료에는 잘 표현되지 않았습니다. 좀 더 명확히 표현해 드리자면, local에서 cap deploy를 명령하면 local 서버에서 각 role에 지정된 서버에 ssh로 연결을 하고 연결된 상태에서 svn update를 시행하도록 되어있습니다.
그리고 좀 덧붙이자면, 처음에 소스코드를 deploy할 때 checkout이 아니라 export를 하고 싶으신 경우 set :co, 'export' 와 같이 변수를 지정해주시면 됩니다.
Commented by 비바람 at 2006/12/01 10:36
감사합니다. 좀더 명확해 졌네요. ^^
Commented by 두렁청해 at 2008/01/09 09:59
세미나 참가하신 분들이 부럽습니다..!!
Commented by Free Gay P at 2008/07/15 17:38
Commented by Porn Clip at 2008/07/16 20:23
Commented by Generic Ci at 2008/07/20 18:27

:         :

:

비공개 덧글