2006/09/25 11:33

지난 주말 예정되었던 framework 2.1을 다녀왔다.

2시 시작이었지만 대치동 주민(므흣 *^^*)인지라 1시반이 조금 넘어 슬슬 출발했다가 지각하는 낭패를 볼뻔 하였다. 사실 늦장피워 늦을 뻔하기보다는 공지된 약도와 해당 건물을 매칭하기가 어려워 살짝 헤매였다는... ^^ (게다가 NCSoft 신축건물 공사현장이 바로 옆에 있어 그 앞에서 멍~ 하니 몇분간 서있었다는... 쿨~럭~)

'쑥스러워 망설이지 말라'는 말에 힘을 얻어 신청을 하긴 했지만, ruby와 python 모두 생소한지라 세션시작까지 긴장속에 앞만 뚫어져라 바라봤는데, 기조연설을 맞으신 이만용씨의 말을 들으니 긴장이 풀려 마음이 편해지기 시작했다.

참고) framework 2.1은 정의된 용어가 아니라 '새로운 framework'을 의미하는데, 요즘 ver 2.0이 넘실거리므로 차별화되도록 2.1로 작명하였다 한다. 덕분에 검색엔진에서 보다 정확한 세미나 내용을 찾을 수 있을듯 싶다.

framework 2.1은 ruby를 기반으로 한 framework인 rails와 python을 기반으로 한 framework인 Django를 소개하고 비교하는 자리였다. 따라서 1) rails의 소개 2) Django의 소개 3) rails와 Django의 비교 순으로 진행되었는데, 안타깝게 가장 중요했던 3) rails와 Django의 비교는 중요한 저녁 약속 때문에 못듣고 나왔다. 게다가 급하게 나오느라 설문종이도 제출 못했다. 핑~ (그래서 제목이 '1/3'이다.. ㅡㅜ)

먼저 rails를 소개하신 大山님!!!!

[이분이 大山님 : 출처 deepblue님 flickr]

깔끔한 키노트와 중요,비중요를 구분한 진행으로 확실히 rails의 큰 줄기를 이해하는데 도움을 주셨다. 다만 조금 빠른 진행과 뒤에 설명하겠다고 패스한 내용이 점차 많아지면서 머리속 stack을 모두 다 쓸뻔했다는것이 조금 안타까운(?) 부분이었다. ㅎㅎㅎ

rails에 관한 부분 중 DB와의 관계를 설명한 내용이 가장 눈에 들어왔는데...
DB와 동적으로 관계를 자동으로 생성함으로써 여러 Persistance에서처럼 Mapping설정을 할 필요가 없다.(가장 매력적인 부분이었다. ^-_-^)
이는 table생성부터 data처리까지 모두 가능하며 이러한 관계처리를 위해서는 '복수-단수의 관례적인 룰을 따른다'. (예로 people이라는 테이블은 Person이라는 모델과 연결된다)
또한 DB migration을 위해 현재 변경사항(self.up)과 하위로 migration시 변경될 내용(self.down)을 설정할 수 있다는 것이 흥미로웠다.
모델의 테이블간의 관계를 설정하는 부분에서 belong-to와 has-many같은 논리적 정의법을 사용한다는데 놀랐고, 온톨로지가 머리위로 전구처럼 떠올랐음 (난 어쩜 온톨로지 빠~ ㅡㅜ)

발표 후 QNA시간에 많은 내용이 오갔는데, 개인적으로 궁금했던 'customizing'에 관한 내용 중 일부 전해 들은것은 'rails팀은 완고한 고집이 있어 대다수의 요구사항을 무시한다'는 사실!!!
두 프레임웍의 비교 페널시간에 물어보려 한 '세부설정 항목의 가지수와 분표, 그리고 빈도'는 안타깝게 참석하지 못해 전하지도 못했다... 핑~ ㅡㅜ

rails 세미나 발표자료는 여기에서 다운 가능하다.

다음으로 Django에 대해 소개해 주신 이정민님, 김형용님!!!

[이정민님, 김형용님 : 출처 deepblue님 flickr]

먼저 Django의 발음에 대해 알려주셨는데, 장고(곰같은 힘이여 솟아라~)와 쟁고(타악기?) 모두 가능하다고 한다. 사실 세미나를 듣기전엔 디장고라고 생각했었다. 으흐흐흐
Django는 페어 진행 되었는데 rails 발표 후임을 고려하여 rails와 비교한 설명과 페어 프리젠테이션의 장점인 '다른 관점에서 추가 설명'을 해준것은 매우 좋았다. 하지만 집중하기 어려웠던 다른 요소들(중요하지 않으므로 생략~)에 의해 내용 전달이 100%로 되지 못했다는것이 아쉬웠다.
별게로 처음 봤지만 발표자 두분 모두 왠지 모를 익숙함을 전해주어 속으로 '개발자는 비슷한 유형이 있나?'라는 의문을 가졌다. ^^

Django에 관한 내용 중 기억에 남는 몇가지는....
간단하며 빠른 프로젝트와 Application 배포가 가능하지만 DB 모델 설정이 ROR에 비해 자세히 기술해야 한다는점.
구조상 ROR은 MVC이지만 Django는 MTV(model, template, view) 형식으로 되어 있다는 점.
Admin 화면에서 모든 어플리케이션의 확인, 초기 기초자료 처리 가능
Paterrn형식을 이용하여 URL에 따른 view를 호출 가능하다는 점. (조금 다르지만 ROR의 라우팅도 흥미롭다)
등 여러내용이 있었지만 가장 흥미로운것은 middleware를 사용할 수 있다는 점이다. 여기서 middleware는 어플리케이션이 처리하기 이전에 조건을 확인하여 액션을 수행하는 작은 프로그램을 의미한다. 예를 들면(김형용님의 말) robot이 접근한다면 url을 호출하지 않고 그냥 내보낸다거나, DB처리 결과에 비밀번호 같은것들이 들어있다면 가공하여 내보내는 식의 처리방법을 의미한다. 이를 이용한다면 많은 프로그램은 가볍게 만들고 기능은 늘이며, 예외처리 또한 쉬울듯 하다.

Django의 세미나 발표자료는 여기에서 다운가능하다.

이후 Rails와 Django를 비교하는 페널과 차회에 진행 할 예정인 'TurboGears'와 'Seaside'를 간단히 보여주었다 하던데....  탄성을 자아냈다는 Seaside의 데모를 못본것이 가장 슬프다... orz

최근 진행중인 많은 컨퍼런스들이 개발자를 양지로 꺼내고, 공유하게 만들며, 열정에 불을 붙이는 역활을 한다. 이번 framework 2.1은 대상이나 내용에서 충분히 그 역활을 하고 있다 생각한다.
개인적으로는 다음 세미나도 꼭~ 참석하고 싶다.... ㅡㅜ 그땐 반.드.시 다 듣고 말리다~

추가) 놀랍게도 deepblue님의 flickr에 올라온 몇장 안되는 사진에 내 모습이 2개나 잡혔다. 부끄부끄 *^^*

Trackback Address
http://babyp.net/trackback/94
2006/09/26 02:30 | EDIT | REPLY
재미있는 후기 잘 읽었습니다. 괜찮으시면 http://altlang.org/fest/Framework2.1/%ED%9B%84%EA%B8%B0#20060923132906 에도 올려주시겠어요?

다음 세미나에서 뵐께요 ^^
deepblue : 지금 확인하고 올려놓았습니다 (__)v flickr의 사진을 무단을 가지고 와 썼습니다. 혹 안되겠다 싶으시면 말씀해 주세요. 삭제하겠습니다. ^^
2006/09/26 09:32 | EDIT
2006/09/26 10:11 | EDIT | REPLY
안될리가 있겠습니까 ^^; 후기 올려주셔서 감사합니다
2006/09/28 18:04 | EDIT | REPLY
상세한 후기 감사합니다. 나중 발표에 많은 참고가 될 것 같습니다. :)

혹시나 뉘앙스가 잘못 전달되었을까 싶어 첨언하면, 레일스 코어팀이 레일스에 새로운 기능을 추가하는데 보수적인 것은 사실이지만, 레일스에는 표준적인 Customizing 및 확장(Plugin) 방식이 지원되고 있고 따라서 얼마든지 원하는대로 Customizing 및 확장이 가능합니다. 설정의 가지수는 음.. 상식적으로 생각가능한 것은 거의 다 된다고 보셔도 될 것 같습니다. :)
大山 : 걱정하실 필요 없을만큼 '웃으며' 받아들일 만한 뉘앙스를 풍겼습니다. rails는 전혀 생소한지라 첨언 하나하나가 큰 정보가 되네요. 감사합니다. :)
2006/09/28 18:31 | EDIT
by

pass://
 
184120
어제는 115명, 오늘은37명