지난 토요일 루비세미나가 있었습니다. 2년전 오픈마루의 작은 회의실에서 20명 정도가 모여서 사는 이야기를 나누던 이 모임이 100명 넘게 참석하고, 또 50여명은 대기자로 등록해주실 정도로 커져버렸습니다. 준비하는 동안 ikspres님과 자주 메일, 채팅으로 이야기를 나눴는데 '일이 점점 커지네~' 하면서 두려워하는 게 대부분이었다죠? ^^

<사진> 다들 진지한 모습이시네요~
하지만 지나친 걱정이었고, 많은 분들이 도와주셔서 무사히 마칠 수 있었습니다. 특히나 진행을 해주신 엠씨꽃띠앙님과 재치 넘치는 ikspres님, 여러모로 신경써주신 한국소프트웨어진흥원 방용주선임님, 인사이트 출판사 관계자분께 감사드립니다. 아, 그리고 알게 모르게 여러 방면에서 힘써주신 오픈마루 식구들(함께 openmaruby라는 스터디도 하고 있어요)!~ 이럴 땐 오픈마루의 일원인 게 뿌듯하기만 합니다. :) 암튼, 닭살 멘트는 그만 접고, 본격적으로 후기를 들려드리겠습니다.
루비/레일스의 세계로 안내합니다
지금까지 루비세미나는 이미 루비를 활용하고 계신 분들이 모여서 이야기를 나누는 곳이었습니다. 그렇치만 주변에서 업무에 루비/레일스 도입을 원하시는데, 자료가 많지 않아서 혹은 뭔가 물어볼 곳이 없어서 답답하다는 말씀을 많이 해주셔서 전격적으로(?) 튜토리얼을 마련하게 되었습니다. 아주 작은 시도고, 2시간이라는 짧고 제한된 시간이었지만 조금이나마 갈증 해소에 도움이 되었으면 좋겠습니다.
먼저, ikspres님이 루비 문법에 대해 때로는 차분하게, 때로는 개그와 함께 설명해주셨습니다. 루비를 처음 보시는 분들이 실무에 루비를 사용하게 될 때 도움이 될 수 있을 것 같았습니다. 저도 찬찬히 루비의 문법을 곱씹어볼 수 있는 시간이었습니다. 루비가 너무 쉬운 언어라는 이야기를 많이 하셨죠. 맞습니다. 꽤 쉬운 언어입니다. 얼랭처럼 A4 한 장에 들어가는 적은 문법을 가지진 않았지만, 상식의 틀을 쉽게 벗어나지 않는(Principle of Least Surprise라고 표현합니다) 특징을 가지고 있어서 배우기 쉽습니다. 맘만 먹으면 금방이죠. ^^ 이날 참석하지 않으신 분들도 발표 자료와 동영상(곧 공개될)을 보시며, 천천히 따라 해보셔도 좋을 것 같습니다.
모듈, 믹스인, include, extend에 대한 설명이 인상적이었습니다. extend를 객체에 사용하는 용법은 평소 사용하지 않던 문법인데, 흥미로웠습니다.
- module Hello; def to_s; "hello, #{super}"; end; end
'ruby'.extend(Hello).to_s #=> 결과는 ""hello, ruby"

<사진> 튜토리얼 발표중인 ikspres님(왼쪽), 그리고 엠씨꽃띠앙님과 deepblue
ikspres님이 루비를 잘 설명해주셨기에, 어떤 면에서는 루비 라이브러리에 불과한 레일스에 대한 튜토리얼을 맡은 저는 할 말이 그다지 많지 않았습니다. 그래서 주변 이야기를 많이 한 것 같습니다. 앞으로 레일스 프로젝트를 하지 않더라도 레일스에서 배울 점은 배워서 더 높은 생산성을 얻으실 수 있었으면 하는 마음이었습니다. 실질적인 코드나 사례를 많이 보여드리지는 못했지만, 또 기회가 있겠죠? ^^; 발표 자료도 함께 올려봅니다.
이렇게 2시간여의 튜토리얼을 마쳤습니다. 이제 이날의 엑기스~ 본행사의 시작입니다! 여기서는 커뮤니티의 여러분이 자발적으로 나오셔서 정말 다양하고 알찬 이야기를 해주셨습니다. 다 듣고 나니 배가 불러오면서, 충만한 느낌이 들더군요!
스티브 잡스의 머릿속엔 뭐가 들어있을까?
먼저 마이아이디넷 서비스를 개발하고 계신 JasonPA님이 WWDC에 다녀온 이야기로 스타트를 끊어주셨습니다. 오픈마루 블로그에도 장문의 글들을 남겨주셨지만, 참 즐겁고 열정적인 행사였을거라는 느낌이 들었습니다. 그리고 그 열정이 이날 행사에까지 이어지는 기분이었습니다. 맥이든 루비든 혹은 양쪽 모두든, 무언가에 열정적인 사람은 멋진 아우라와 함께 주변을 즐겁게 하는 것 같습니다. 아무리 오덕스러워도 말이죠. ^^
보석만으로는 살 수 없죠?
개발자는 상황에 맞는 적절한 도구를 꺼내서 사용해야 합니다. 그런 의미에서 외부 시스템과 연동할 일이 있어서 C 확장기능을 만들어야했다는 미투데이 kkung님의 경험담(Ruby with C!)은 우리에게 새로운 도구 하나를 더 전해주었군요. 언젠가 마츠(루비 개발자)가 자신을 C 코드를 더 자주 보게 되는 C 개발자라고 소개한 적이 있습니다. 다만, 마츠가 사용하는 C는 보통 C가 아니라, 루비 API를 가진 루비빛 C였을겁니다. 이 C 언어에서는 문법은 다르지만, 루비에서 하던 습관을 대부분 사용할 수 있는 환경이죠. 그만큼 C 언어 API가 잘 정의되어있다는 의미입니다. 어쨌든 kkung님의 발표대로 루비와 C를 연동하는 일(확장을 만들어 루비에서 C를 호출하든, 반대로 C에서 루비를 임베딩해서 호출하든)은 생각보다 쉬운 일이라는 거죠. 오늘은 C 언어를 완전히 잊어먹기 전에 다시 한 번 꺼내서 사용해봐야겠습니다. :)

<사진> C가 제일 쉬웠다는 꿍님(왼쪽)과 쉬는 시간 토론에 빠진 사람들. 맨 오른쪽이 얼랭 연극을 선보이신 석준님!
그 다음에는 최근 프로그래밍 얼랭을 번역하신 석준님이 나서시더니, 앞에 앉은 몇 분을 일어서게 합니다. 그리고 서로 악수를 시키더니 한분더러 쓰러지라고 하십니다. 하하~ 평소에 잘 안 하시던(^^) 연극까지 준비해 오셔서 정말 멋지게 얼랭의 개념(많은 경량 프로세스들이 서로 메시지를 주고받고, 연결되기도 함)들을 소개해주셨습니다. 쏙쏙들어오는 강의 정말 잘 들었습니다. 루비가 얼랭에 빠진 날이라는 제목으로 마지막에는 얼랭으로 REST 서버를 구현하고 레일스로 프론트엔드를 구현하면 어떻겠느냐는 아이디어도 주셨습니다. PragDave의 RADAR 아키텍쳐를 차용하셨는데, 흥미로웠습니다. 요즘 얼랭에 빠져 뭔가 재미있는 구현거리(연습거리)가 없나 촉을 세우고 있던 저에게 정말 단비와도 같았습니다. 꼭 실습해보겠습니다.
또, 음악을 하신다는 duocorda님의 마치 콘서트 같았던 유쾌한 발표 Useless Gears도 생각나네요. 제목처럼 쓸모없지는 않고, 유용한 구석이 많더군요 ^^ 한 손엔 Gears 다른 한 손엔 Ajax를 외치시며 Gears에 대한 사랑과 관심을 부탁하셨습니다. 너무 열정적으로 발표를 해주셔서, 어떤 분은 duocorda님이 구글 직원이 아니냐는 의문을 제기하셨고, 확인한 바 그건 아니라고 합니다. 하하. 스프링노트에서도 기어스 좀 사랑해볼까요?

<사진> 기어스 사랑을 외치시는 duocorda님(왼쪽)과 WWDC 다녀오진 JasonPA님(오른쪽) 발표중!
현실을 이야기해봅시다
올해로 레일스가 나온 지 4년쯤 됩니다. 해외에서는 웹서비스를 구축하는 사람들은 누구나 한번쯤 레일스를 고려하고, 기업에서도 도입을 시작할 정도로 대중화되었습니다. 그렇다면 국내의 현실은 어떨까요? 국내에는 커뮤니티가 생긴지 5년째입니다만, 아직 루비가 많이 알려졌다고 보기는 힘들 것 같습니다. 이번 세미나에서는 여기에 대한 이야기를 나눌 수 있는 의미 있는 시간이 있었습니다.
먼저 1인기업 InoCrazy를 하시는 김동규님이 관공서를 포함한 여러 곳에 레일스를 도입하면서 느낀 점을 이야기해주셨습니다. 이런 프로젝트를 하다보면, 고객의 마음이나 요구사항이 바뀌는 일이 잦은데, 이 때 동규님의 경험으로는 다른 환경보다 레일스를 사용했을 때 더 빨리 변할 수 있었다고 합니다. 이런 점은 프로젝트를 성공적으로 마치는데 큰 도움이 되었다고 했습니다. 하지만, 레일스 자체를 몰라서 설득해야하는데, 아무런 데이터도 없다는 점, 알 FTP면 전부 다되는 세계에 레일스의 복잡한 배포환경(카피스트라고가 뭥미?)을 도입하는 것은 어림도 없다는 점이 힘들었다고 합니다. 그래도 이렇게 노력하시는 분들이 있으니, 느린 속도지만 국내 환경도 조금씩 조금씩 변할 수 있다고 생각해 한편으로는 기쁜 마음도 들었습니다. 박수를 보냅니다. 짝짝짝~!

<사진> 대산님의 10분토론(왼쪽)은 쉬는 시간에도 이어집니다! (오른쪽 사진에 동규님 있다~)
최근 페퍼코드 사장님으로 변신한 대산님은, 즉석에서 국내의 현실에 대한 10분토론을 진행하였습니다. 저도 꽤나 궁금했는데 여러분들의 의견을 들을 수 있어서 좋았습니다. 이런 논의를 들으며, 지금까지의 소극적인 커뮤니티보다는 이제 좀 더 적극적인 커뮤니티 활동이 필요하겠다는 생각도 들었습니다. 쉬는 시간에도 이런 이야기를 대산님과 이어갔는데, 루비센트럴처럼 비영리 단체에 대한 의견도 있었습니다. 약간 꿈같은 이야기지만 말입니다. 암튼, 기술적인 문제인 호스팅이나 인식, 문서 부족 등은 오히려 쉬운 편에 속하고, 금방 해결될 거라 생각합니다. 그보다는 국내 IT 업계가 풍족해지고, 특히 웹에서 새로운 시도를 하는 스타트업들이 많이 생겨나기를 바라는데 이건 어떨까요?
JRuby는 기회의 땅일까요?
루비는 변화의 시기에 있습니다. 그리고 그 변화를 가장 이끌고 있는 것이 JRuby가 아닐가 하는 생각도 듭니다. JRuby는 대안 루비 경쟁의 선두그룹에 있습니다. 탄탄한 JVM과 잘 갖춰진 자바 인프라를 등에 업고 있으니, 당연한 일인지도 모르겠습니다. 전에도 한번 루비세미나에서 JRuby를 소개하셨던 ias님이 그 2탄을 준비했습니다. JRuby가 워낙 빠르게 변화하고 있어서, 작년에 만든 책의 예제들이 올해는 하나도 돌아가지 않더라는 사실이 인상적이었습니다. 이렇게 빠르게 변하는 세상을 기존 도서가 쫓아가기는 조금 버거워 보이기도 합니다. 그래서 ias님은 iPhone 플랫폼에서 JRuby on Rails for Open Apps라는 주제로 E-Book을 준비하시고 계시다고 합니다. 항상 재미있은 일을 잘도 찾아내시는 ias(형!!!!!)님입니다. 오우~
그 다음은 오픈마루의 마지막 주자 지웅님(험블프로그래머)입니다. 자바개발자를 위한 레일스를 번역하면서, 역자직강을 부탁드렸는데 6개월 만에 성사되다니, 참 기쁜 일이네요~! 지웅님은 좀 더 현실적인 견지에서 자바와 루비의 관계에 대한 이야기를 해주셨습니다. 논리적인 전개와 멋진 목소리(발표 목소리가 멋져요~)가 인상적이었다죠? ^^ 새로운 팀에서 루비로 프로토타이핑을 해볼 수 있게되었다고 기뻐하고 계시는 지웅님이, RoR 프론트엔드 + 스프링의 멋진 조합을 실전에서도 보여주시고 앞으로 계속 사례를 만들어주시길 기대하겠습니다. 아 그리고 현재의 환경이 '레일스가 메인스트림으로 가기 위해 활용해야할 의미 있는 레거시'라는 의견에 전적으로 동의합니다.
루비 세상은 정말 빠르게 변하고 있습니다. 6개정도의 루비 구현체가 '다음 루비'를 노리고 있습니다. 현재는 MRI(루비 1.8)가 단연코 승자지만, 내년 이맘때는 어떻게 될지 아무도 모릅니다. 저는 이런 경쟁을 보고 있는 게 마치 야구 경기를 보는 것 마냥 즐겁기만 합니다. 긍정적인 변화의 모습이니까요. 하지만, 구경만 말고 조금이라도 거들어야 할텐데, 마음만 앞서가서 큰일입니다. 에효~

<사진> 숨은 오픈마루인 찾기 1편
세상을 바꿀 열정을 가진 사람들
루비세미나의 빼놓을 수 없는 재미, 신규 서비스를 살펴볼 차례입니다. 이번에는 두명의 청년이 운영하는 파프리카랩의 FaceWorthy와 Papree입니다. 우연한 기회에 브라질 사람들을 위한 사이트가 되었다는 FaceWorthy의 여러 뒷이야기가 재미있었습니다. 고객과 함께 개발자들은 전혀 읽지도 못하는 포르투갈어 버전을 오픈했다는 이야기는 이들이 어떤 모험을 즐기고 있는지를 보여주는 것 같습니다. 그리고 (힘든 일도 많겠지만) 무척이나 즐거워보였습니다. 또 한명의 꿈을 가진 청년 성윤님은 동료를 얻기 위해 나섰습니다(엇, 갑자기 원피스가 떠오르는군요). 두 회사 모두 꼭 뭔가를 이루시기를 바랍니다. 커뮤니티에서도 팍팍 응원하겠습니다.

<사진> 열심히 발표중인 창수님(파프리카랩)과 성윤님.
묘한 우연으로 진흥원으로 가는 지하철에서 마이 스타트업 라이프라는 책을 집어들고 읽고 있었는데, 이 책의 저자는 자신의 창업 동기를 '세상을 바꾸려는 열망'으로 표현했습니다. 그리고 루비세미나에서 세상을 바꿔가고 있는 사람들을 만났습니다. 척박한 현실이지만, 그 속에서도 자신의 꿈을 성공을 향해 나아가는 그들의 모습이 아름답게 보입니다. 다시 한 번 현재 나의 위치와 하고 있는 일, 자세 등을 돌아보게 됩니다. 그들만큼 치열하게, 열정적으로 즐겁게 살고 있는지 말입니다. 그리고 오픈마루를 생각합니다. 오픈마루의 역할은 무엇인지, 다함께 성공할 수 있는 길은 무엇인지... 아마 시은님이 마지막으로 공유해주신 WinterOfCode2008도 다함께 성공하기 위한 하나의 시도일지 모르겠습니다. 주제넘으니까 무거운 이야기는 이쯤에서 접어야죠.

<사진> 숨은 오픈마루인 찾기 2편
루비세미나 후유증에 시달리다
루비세미나를 마치면, 여러 경로로 좋은 실든 후유증에 시달리게 됩니다. 이번에도 마찬가지입니다. 아래는 세미나를 마치고 밤에 잠을 못 이루고 미투데이에 적은 글입니다.
그리고 이런 단점이 있는지도 모르겠습니다. 아마 sunq님도 변화를 느끼신 것 같습니다.
암튼, 덕분에 동기부여도 되고, 장난감도 많이 생기고, 그들의 열정도 조금이나마 흡수해서 풍족한 상태가 되었습니다. 만난 분들 모두 모두 반가웠습니다. 다음 세미나(7회)는 언제 열리냐고요? 이렇게 충전된 내용이 떨어져 가면 바로 그 때가 루비세미나가 열려야할 때입니다! 그 때까지 행복하세요~
- deepblue
이 글은 스프링노트에서 작성되었습니다.












Trackback
트랙백 주소 :: http://www.openmaru.com/trackback/249
Comment
와.. 재미있어 보이는데요..
다들 열정이 엄청나군요^^ (2008.07.02 14:24)
실제로도 재미있었던 것 같네요. Magicboy님도 다음번에 한번 참석해보셔도 좋을 것 같습니다. (2008.07.03 11:05)
오픈마루비(?)들이 없었다면 과연 세미나가 제대로 치뤄질 수 있었을까 생각해 봅니다. 다들 수고 많으셨습니다. (2008.07.02 14:42)
오픈마루비(?)들이 들으면 기뻐할 것 같네요. ^^;; thinkr님도 매번 좋은 발표 감사해요~ (2008.07.03 11:06)
역시!! 간지나는 후기입니다. 다시 한 번 현장의 느낌들이 생생해지네요.
특히 대산님의 레일스 활성화에 대한 토론은 시간관계상 빨리 마쳐서 아쉬웠는데 어딘가 온라인에서 의견들을 계속 나눌 수 있었으면 좋겠습니다. (2008.07.02 16:30)
맞아요. 저도 그 부분이 좀 아쉬웠어요. 포럼에 관련 쓰레드를 한번 열어봐야겠네요! (2008.07.03 11:07)
후기 멋져요!~ 수고 많으셨습니다. 한 10회때즈음에는 코엑스의 그랜드볼룸홀을 빌리게 되길...ㅋ --/ (2008.07.03 22:38)
그랜드볼룸 빌려도 촬영~ 부탁해요 ^^ (2008.07.04 13:41)
진심으로 즐거운 행사였습니다. 좋은 인연도 많이 맺었던 것 같구요
(2008.07.04 11:18)
사업 번창해서~ 꼭 우리 행사 후원 팍팍 해주시길 ^^ (2008.07.04 13:42)
네.. 밤잠..설치신거.. 무쟈게 이해가 가네요.. 문외한 보더라도.. 참여하신 분들이 얼마만큼의 열정을 가지고 계신지 와락~ 느끼겠던걸요? 행복해지는 첫째조건 "하고싶은 일을 하며 살자"를 제대로 실천하고 계신듯해요.. ^^ 다시 한번.. 6월28일 오후를 주욱~ 리뷰하게 해 주신.. deepblue님 감사해요~ ^^ (2008.07.04 16:52)
멀리서 올라오셔서 즐거운 시간 되셨는지 모르겠습니다. 다음에 기회가 되면 또 뵐 수 있기를 ^^; 하고 싶은 일만 하면서 살수는 물론 없겠지만, 어떤 일도 하고 싶은 일로 바꿀수 있는 기술이 특히나 엔지니어에게 필요한 것이 아닐가 싶네요. (2008.07.07 14:42)
리뷰 잘봤습니다 :0 (2008.07.05 20:29)
오랜만에 반가웠습니다. :0 (2008.07.07 14:43)
역시나 간지나는 후기에요..참석하고 싶었지만..이미 늦어버린 신청은 어쩔 수 없었지만.. 다음을 기약하며..
아.~~! 서울과 지방은 역시나 차이가 많이 나는군요...지방에도 세미나를 했으면 하는 바램을 가져보며.. 후기 잘 보고 갑니다. (2008.07.07 10:40)
그렇네요. 이번에도 지방에도 이런 모임이 있으면 좋겠다고 말씀해주신 분들이 계셨습니다. 저도 그럴 수 있었으면 좋겠네요~ 조만간! (2008.07.07 14:44)
아, 가고 싶엇는데 못 가서 아쉽네요.
이런 기회가 자주 있었으면 좋겠네요 (2008.07.29 16:25)
해가 바뀌기 전에 두번 정도 더 할 것 같으니, 다음에 뵈요 ^^ (2008.07.30 22:55)