레일스 1.2.3

Posted by 大山 Wed, 14 Mar 2007 00:40:00 GMT

레일스 1.2.3이 릴리즈되었습니다. 루비 1.8.6과 호환된다는 반가운 소식이네요. :)

웹 개발 2.0 루비 온 레일스에서는 레일스와의 호환 문제 때문에 루비 1.8.4를 사용할 것을 추천했었습니다만, 이제 루비 1.8.6을 사용하시면 될 것 같습니다.

업데이트(3/22): 루비 1.8.6 윈도우 인스톨러, 루비 1.8.6 소스 다운로드

Posted in  | Tags ,  | 5 comments | no trackbacks

미투데이 초청장

Posted by 大山 Tue, 13 Mar 2007 11:40:00 GMT

요즘 장안의 화제가 되고 있는 미투데이 초청장을 3장 나눠드립니다. 모 유사 사이트와는 다르게 루비 온 레일스로 개발되었다고 하지요. :)

댓글로 이름(닉네임), 이메일 주소, 오픈아이디를 적어주시면 선착순으로 드리겠습니다. 열심히 사용하실분만 신청해주세요~

Posted in  | Tags ,  | 16 comments | no trackbacks

[알림] "웹 개발 2.0 루비 온 레일스" 출간 예정

Posted by 大山 Mon, 05 Mar 2007 21:44:00 GMT

그동안 작업해온 원고가 이제 웹 개발 2.0 루비 온 레일스란 이름을 달고 책으로 나옵니다. 안도와 설레임 그리고 긴장감이 교차하네요. :O

멋진 몇몇 분들께서 서문/리뷰를 써주셨습니다~ :)

덴마크에서 시작된 작은 오픈소스 프로젝트 하나가 이제는 전 세계 웹 개발자들의 삶을 뒤바꾸고 있습니다. 이제는 제 고향에서 지구 반 바퀴만큼이나 떨어진 한국에서도 레일스에 관심이 있는 분들이 많다는 이야기를 들으니 무척 뿌듯합니다.

또한 황대산님이 쓴 한국의 첫 루비/레일스 저서인 『Easy Start! 웹 개발 2.0 루비 온 레일스』에 축하의 인사를 전할 수 있게 되어 매우 영광입니다.

- 데이빗 해너마이어 한슨, 레일스 프레임워크의 창시자

원고를 탈고하기까지 이 책의 저자인 황대산님은 주변사람들이 만류해야 할 정도의 뜨거운 열정을 보여줬다. 해외에서 열린 여러 컨퍼런스에 자비를 들여 적극적으로 참여하면서 얻은 노하우를 독자들에게 전하기 위해 혼신의 힘을 다해 한 편의 명저를 만들어 냈다.

- 박 수 만, 더블트랙 대표이사

마지막에는 다소 복잡한 블로그 애플리케이션을 만들어 본다. 그런데 처음부터 차근차근 따라오면서 공부한 사람이라면 블로그 애플리케이션이 결코 복잡하게 느껴지지 않는다. 그만큼 이 책은 처음부터 끝까지 쉽고 체계적으로 설명하고 있다. 이 책의 가장 큰 매력이다.

- 박 상 길, 다음커뮤니케이션 기술혁신센터, likejazz.com 블로그

아끼는 후배 개발자를 옆에 앉혀 놓고 자상하게 가르쳐주는 선배처럼 레일스를 기초부터 학습할 수 있도록 꼼꼼하고 친절하게 가이드 해주고 있다. 불필요한 기능과 작업을 최소화하고 핵심에 집중할 수 있게 해주는 레일스와 이 책은 그런 면에서 꼭 닮았다.

- 이 일 민, 이프릴 대표 컨설턴트, toby.epril.com 블로그

『Easy Start! 웹 개발 2.0 루비 온 레일스』는 루비 온 레일스의 입문자들이 루비와 레일스를 이해하고 자신만의 애플리케이션을 손쉽게 만들어 볼 수 있도록 친절한 가이드 역할을 해주고 있습니다. 그리고 책을 읽으면서 초심자들이 중급자로 성장할 수 있도록 도와줍니다. 곳곳에서 보이는 저자의 세심한 배려는 이 책이 지닌 여러 가지 장점 중 하나입니다.

- 장 정 환, NHN㈜ Ajax UI 팀장

모쪼록 많은 분들께 도움이 되었으면 좋겠습니다. 궁금한 점이 있으시면, 댓글로 물어봐주세요.

지금 Yes24강컴에서 예약 판매 중입니다.

Posted in  | Tags ,  | 32 comments | no trackbacks

프로그래밍 루비

Posted by 大山 Mon, 29 Jan 2007 13:04:00 GMT

드디어 프로그래밍 루비가 국내에서 번역되어 출간되었습니다!

프로그래밍 루비의 영문판 출간이 영어권에서 루비가 널리 알려진 계기였듯이, 이번 한글 번역판의 출간이 국내에서 루비가 널리 확산되는 계기가 되리라고 생각합니다. 루비에 관심은 있는데 책이 없어 망설이시던 많은 분들께 희소식이 될 것 같습니다.

제가 집필하고 있는 레일스 책도 곧 마무리지어 선보이도록 하겠습니다. 아마 책이 출간되면, 이 블로그도 다시 활발해질 것 같네요. 글이 뜸하다고 뭐라하시는 분들 조금만 기다려 주세요. ;)

Posted in  | Tags ,  | 9 comments | no trackbacks

레일스 1.2 발표

Posted by 大山 Fri, 19 Jan 2007 05:59:00 GMT

레일스 1.2가 오늘 공식적으로 발표되었습니다. 기존에 레일스를 설치하셨던 분들은 명령 프롬프트 창에 다음과 같이 입력하여 업그레이드하실 수 있습니다.

gem update rails --include-dependencies
 

개선된 내용이 많지만, 우리 한국의 개발자들에게 가장 중요한 부분은 보다 체계적인 유니코드 지원이 아닐까 싶습니다. 이제는 예전처럼 직접 $KCODE의 값을 수정하거나 HTTP 헤더 정보를 변경해주지 않아도 괜찮습니다. (database.yml 파일에서의 'encoding: utf8' 옵션은 여전히 필요합니다.)

문자열 클래스에는 'chars' 프록시(Proxy) 기능이 추가되었는데, 이를 통하면 문자열의 메소드가 유니코드 문자를 옳바르게 처리해줍니다. 이전에는 루비 문자열의 기본 메소드가 유니코드를 제대로 처리하지 못하는 문제가 있었습니다.

>> puts "한글".slice(0, 1)
?
 

위에서 사용된 'slice' 메소드는 문자열의 일부를 잘라주는 메소드입니다. 문제는 루비의 문자열이 바이트열로 구현되어 있다는 점입니다. 유니코드 인코딩인 UTF8은 한글 글자 하나에 3바이트를 사용하고 있으므로, 'slice(0, 1)'은 "한" 글자를 이루는 3바이트 중 첫번째 바이트만을 리턴합니다. (이 바이트는 출력 가능한 문자가 아니기 때문에 위에서 ?로 표시되고 있습니다.) 레일스 1.2에서는 다음과 같은 코드가 가능합니다.

>> puts "한글".chars.slice(0, 1)
"한"
 

보다시피 'slice(0, 1)' 메소드가 "한글" 문자열의 첫번째 글자를 옳바르게 리턴하는 것을 알 수 있습니다. 다음은 문자열의 길이를 구하는 예를 보여주고 있습니다.

>> puts "한글".length
6
>> puts "한글".chars.length
2
 

위에서 "한글".length는 문자열의 바이트수를 리턴하기 때문에 6이 리턴되지만, "한글".chars.length는 글자수를 리턴하므로 2가 리턴되는 것을 알 수 있습니다. 이처럼 유니코드 문자열을 처리하려면, 문자열 메소드를 호출할때 사이에 'chars'를 삽입해주면 됩니다.

이외에도 세부적으로 변경된 부분이 여럿 있습니다만, 준비하고 있는 레일스 책에 모두 반영하도록 하겠습니다. :)

Posted in  | Tags  | 2 comments | no trackbacks

Framework 2.1 세미나를 마치고

Posted by 大山 Sun, 24 Sep 2006 01:32:00 GMT

[업데이트: deepblue님께서 세미나 동영상을 업로드하셨습니다. 세미나에 참석하지 못하신 분들은 참고하시면 좋을 것 같습니다.]

저번에 공지드렸던 Framework 2.1 세미나가 성공적으로 끝났습니다. 다음 세미나에는 가능하면 보다 많은 분들이 참석하실 수 있도록 해보겠습니다.

대안언어축제의 여진으로 이번 행사가 가능했다고 생각합니다. 이번 행사를 기획하고 준비하신 혜식님, 이만용 이사님, 우일님, 장소를 마련해주신 deepblue님NCsoft에 모두 감사드립니다. 그리고 황금같은 주말 오후에 열정을 가지고 참석해주신 개발자 분들께도 감사의 말씀을 드립니다.

Django 발표를 진행하신 이정민님, 김형용님 수고 많으셨습니다. 덕분에 이제 Django도 조금은 이해를 하게 되었네요. 비슷한 기능을 레일스와는 전혀 다르게 구현하고 있는 부분이 인상깊었습니다. 언제 pair로 파이썬도 가르쳐 주세요. :)

언제나 그렇지만 스퀵을 자유자재로 사용하시는 승범님 부럽습니다. 언제 꼭 제대로 배워 볼 수 있기를~ 다음번 Seaside 발표 기대하겠습니다!

기조연설을 맡아 주시고, 마지막에 짧지만 임팩트 있는 발표를 해주신 이만용 이사님 감사합니다. Kid의 템플릿 방식은 무척 흥미로운 아이디어인 것 같습니다. 다음번 TurboGears 발표 기대하겠습니다!

제 발표자료는 이곳에서 다운로드 받으실 수 있습니다. 나중에 기회가 되면, 레일스의 보다 역동적인 모습도 보여드리도록 하겠습니다! :)

Posted in  | Tags , , ,  | 9 comments | 1 trackback

[알림] Framework 2.1 세미나

Posted by 大山 Mon, 18 Sep 2006 17:56:00 GMT

[업데이트: 신청이 모두 마감되었습니다.]

루비사용자포럼, 파이썬마을, 스퀵사용자모임이 공동으로 웹개발 프레임워크 세미나를 개최합니다. 세미나의 이름은 Framework 2.1입니다. 이번주 토요일에 열리는 첫번째 행사에서는 루비 기반의 레일스와 파이썬 기반의 Django 프레임워크를 다룰 예정이니, 많은 관심 부탁드립니다.

등록은 선착순 20명이며, 루비사용자포럼의 공지에 답글을 달면 됩니다. (기존의 회원이 아니더라도, 새로 회원가입을 하면 누구나 참가신청을 할 수 있습니다.)

Posted in  | Tags ,  | 10 comments | 2 trackbacks

레일스 따라하기 1

Posted by 大山 Fri, 28 Jul 2006 08:08:00 GMT

[참고: 레일스 튜토리얼을 몇 번에 나누어서 연재하려고 합니다. 특정 주제에 대한 요청이 있으면 반영을 할 예정이니 피드백 바랍니다. 이 작업은 서민구님의 제안으로 시작되었습니다.]

레일스는 루비로 만들어진 웹개발 프레임워크이다. 루비만의 강력함과 몇 가지 획기적인 아이디어로 인해 레일스에서의 웹 개발은 정말로 편리하다. 여기서는 루비와 레일스를 설치하고, 간단한 전화번호부 애플리케이션을 만들어 보면서 레일스의 강력함을 직접 경험해 보기로 한다.

레일스로 개발을 하려면 우선 루비를 설치해야 한다. 윈도우에서 루비를 설치할 때 반드시 'Enable RubyGems' 옵션을 선택해서 루비젬도 같이 설치하도록 한다. (맥 OS X나 리눅스 사용자라면 이곳에서 루비젬을 다운로드 받아 별도로 설치해야 한다.)

루비젬은 루비의 각종 라이브러리를 쉽게 설치하고 관리하게 해주는 유틸리티 프로그램이다. 루비와 루비젬의 설치가 끝나면, 명령 프롬프트(DOS) 창에 다음을 입력한다. (맥 OS X나 리눅스에서는 sudo를 사용해야 한다.)

c:\> gem install rails --include-dependencies
 

레일스와 레일스가 필요로 하는 몇가지 라이브러리가 설치되는 과정이 보여질 것이다. 다음에는 데이터베이스 프로그램을 설치할 차례이다. 이곳에서 MySQL 5.0을 다운로드 받아 설치한다.

MySQL Command Line Client로 데이터베이스에 접속해서 이번 전화번호부 프로젝트를 위한 phonebook 데이터베이스를 만든다.

Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 5.0.27-standard

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> create database phonebook default charset utf8;
Query OK, 1 row affected (0.00 sec)
 

다음에는 인명정보를 담을 people이란 이름을 가진 테이블을 만든다.

mysql> use phonebook;
mysql> create table people (
mysql>   id int auto_increment primary key,
mysql>   name varchar(20),
mysql>   phone_number varchar(20),
mysql>   note text
mysql> );
Query OK, 0 rows affected (0.03 sec)
 

이제 레일스 애플리케이션을 만들 차례이다. 프로젝트를 위한 폴더를 하나 만들어야 하는데, 레일스에서는 새로운 프로젝트의 폴더 구조를 자동으로 생성해주는 rails란 이름의 유틸리티 프로그램이 있다. 다음을 실행해 보자.

c:\>rails phonebook
      create  
      create  app/controllers
      create  app/helpers
      create  app/models
      create  app/views/layouts
      create  config/environments
      create  components
      create  db
        .        .
        .        .
 

꽤나 많은 서브 폴더와 파일이 생성되는 것이 보일 것이다. 여기서는 핵심적인 몇개의 폴더만 설명하고 넘어간다.

  • app: 대부분의 애플리케이션 코드가 들어갈 폴더
  • config: 애플리케이션의 각종 설정 파일이 들어 있는 폴더
  • public: 이미지, 자바스크립트, CSS 파일 등이 저장되는 폴더로 웹 애플리케이션의 루트에 해당됨
  • script: 웹 애플리케이션을 개발을 편리하게 해주는 각종 스크립트가 들어있는 폴더

이제 초기 상태의 레일스 애플리케이션을 한 번 구동해 보자.

c:\> cd phonebook
c:\phonebook> ruby script/server
=> Booting WEBrick...
=> Rails application started on http://0.0.0.0:3000
=> Ctrl-C to shutdown server; call with --help for options
 

웹 브라우저에서 주소창에 'http://127.0.0.1:3000/'을 입력하면, 다음과 같은 화면이 나올 것이다.

레일스 애플리케이션이 잘 작동되는 것을 확인했으면, Ctrl-C를 눌러 서버를 종료시킨다.

이제는 우리의 새 레일스 애플리케이션이 MySQL 데이터베이스에 접근할 수 있도록 설정을 할 차례이다. 'config/database.yml' 파일을 열고, 'development:' 섹션에 다음과 같이 입력한다.

development:
  adapter: mysql
  database: phonebook
  username: root
  password: your_mysql_password
  host: localhost
  encoding: utf8
 

'test:'와 'production:' 부분의 설정은 아직 신경쓰지 않아도 된다. 이제 우리의 애플리케이션은 DB 연결이 필요할때 마다 이 설정을 이용해서 자동으로 DB에 접속하게 된다.

이번에는 DB의 people 테이블을 객체 레벨에서 접근할 수 있게 해주는 모델 클래스를 생성해보자.

c:\phonebook> ruby script/generate model Person
 

여러가지 파일이 생성되는게 보이는데, 지금 시점에서는 개별 파일에 신경을 쓸 필요는 없다.

이번에는 사용자가 웹 브라우저를 통해 우리의 전화번호부 애플리케이션에 접근했을때 이를 처리해줄 컨트롤러 클래스를 생성한다.

c:\phonebook> ruby script/generate controller PhoneBook
 

이번에도 여러 파일이 생성되는데, 'app/controllers/phonebookcontroller.rb' 파일이 가장 중요하다. 이 파일에는 PhoneBook 컨트롤러 클래스가 정의되어 있는데, 바로 이곳에서 웹 브라우저와 애플리케이션간의 교신이 일어나게 된다.

마지막으로 'app/controllers/phonebookcontroller.rb' 파일을 열어 'scaffold :person' 라인을 추가한다.

class PhoneBookController < ApplicationController
  scaffold :person
end
 

이제 우리가 만든 애플리케이션을 한 번 사용해 보도록 하자. 다시 명령 프롬프트 창에서 'ruby script/server'이라고 입력해서 웹서버를 시작한 다음, 웹 브라우저의 주소창에 'http://127.0.0.1:3000/phone_book/'이라고 입력한다.

'New person' 링크를 눌러 사람을 추가할 수 있다.

정보가 입력된 후에는 열람, 수정 및 삭제가 가능하다.

이로써 간단한 전화번호부 애플리케이션을 만드는 작업이 모두 끝났다. 세부적으로 궁금한 사항은 답글로 질문 바람!

업데이트(07/3/15): 레일스 1.2에 맞게 튜토리얼 내용을 수정합니다. (기본적으로 'app/controllers/application.rb' 파일에서 수동으로 UTF-8 인코딩 설정을 해주던 부분이 빠졌습니다.)

Posted in  | Tags , ,  | 24 comments | 2 trackbacks

오픈소스가 바꾸어 놓은 것

Posted by 大山 Mon, 24 Jul 2006 01:44:00 GMT

오픈소스가 가져온 변화는 물론 한두가지가 아니다. 여기서는 프로그래머 입장에서 보았을 때 오픈소스가 게임의 법칙을 어떻게 바꾸어 놓고 있는 지를 한 번 살펴보려고 한다.

오픈소스의 일차적인 효과는 무료로 수많은 프로그램을 사용할 수 있게 되었다는 점, 그리고 해당 프로그램의 소스코드를 들여다 볼 수 있게 되었다는 것이다.

물론 컴퓨터를 쓰다가 커널 패닉이 났다고 해서 리눅스 커널을 디버깅 하겠다고 덤비는 개발자는 많지 않을 것이다. 하지만 라이브러리를 사용하려다가 한글 지원이 미비한 것을 보고 유니코드 인코딩 지원을 추가 하는 정도는 어떨까? 프레임워크를 신버젼으로 업데이트 했을 때, 호환이 안되는 구버젼 라이브러리 코드를 업데이트 하는 정도라면?

실제로 해보니까 별 것 아니더라. 필요한 프로그램을 찾아 쓰고, 고쳐서 쓰고 하다 보면, 나중에는 왠만한 건 새로 만들어서도 잘 쓰게 된다. 책의 예제를 아무리 따라해 봤자 실력이 늘지는 않는다. 제대로 익히려면 역시 소스코드를 직접 들여다 봐야만 한다.

이런 관점에서 보면, 옛날에는 미국의 커다란 IT 회사의 연구소나 유명한 대학원에 들어가지 않으면 접근할 수 없던 것을 이제는 누구나 손쉽게 접할 수 있게 되었다고 하겠다. 소수의 회사와 대학이 독점하던 것들이 이제는 밖으로 풀려져 버렸다는 얘기이다.

어느 대학이나 회사도 더 이상 소프트웨어 혁신의 중심지이지는 못하다. 리눅스는 핀란드의 한 학부생에 의해 만들어지고, MySQL은 스웨덴의 작은 회사가 만들었으며, 루비는 한 일본 개발자의 취미생활에서 시작되지 않았는가? 최근에 웹 개발 커뮤니티를 뒤집어 놓고 있는 레일스 역시 덴마크 한 학부생의 아르바이트 프로젝트에서 시작되었다. 이제 소프트웨어 혁신의 중심지는 인터넷이며 방식은 오픈소스이다.

프로그래밍에 있어 게임의 법칙은 분명히 바뀌었다. 다행인 점은 더 이상 소프트웨어 산업이 어느 한 국가나 회사에 종속적이지 않게 되었다는 것이다. 우리도 뒤쳐지지는 말아야 하지 않을까?

Posted in  | Tags , , , , ,  | no comments | no trackbacks

레일스 컨퍼런스 2006 후기

Posted by 大山 Sun, 02 Jul 2006 07:28:00 GMT

레일스 컨퍼런스를 마치고 어제서야 돌아왔다. 2003년 4월의 O'Reilly Emerging Technology Conference 이후, 3년 2개월만의 미국 방문이었다. 정치 이슈들로 인해 미국이란 나라에 많은 회의감이 들게 된 것도 사실이지만, 미국은 여전히 생동감이 넘치며 내게 많은 영감을 불어넣어 주는 곳이었다.

컨퍼런스는 4개의 기조연설과 37개의 세션으로 구성되어 있었다. 기조연설자에 David Heinemeier Hansson, David Thomas, 그리고 Paul Graham 등이 포진되어 있었으니, 나로서는 도저히 빠질래야 빠질수가 없는 컨퍼런스일 수 밖에.

David Thomas는 실용주의 프로그래머, Programming Ruby, Agile Web Development with Rails 등의 저자로 미국/유럽 루비 커뮤니티의 대표적인 리더 중 한명이다. 많은 기대를 하고 참석했던 그의 첫번째 기조연설은 솔직히 조금 실망스러웠다. 루비 언어의 확산에 앞장서온 그라 그랬을까, 그의 강연은 지나치게 레일스의 대중화에 촛점이 맞추어져 있었다. 대중화는 분명 프레임워크의 성공과 직결되는 중요한 이슈이기는 하다. 하지만 레일스는 이제막 걸음마를 뗀 단계에 불과하니, 아직은 좀 더 느긋하게 레일스의 발전을 지켜보아도 되지 않을까?

두번째 기조연설자인 Martin Fowler는 Refactoring의 저자로 유명하며, 레일스의 ActiveRecord는 그가 제안한 패턴을 구현한 라이브러리이기도 하다. 그는 개발을 대포쏘기에 비유해 설명했다. 대포 한발의 가격이 비싸다면 우리는 조준(기획)에 많은 노력을 들여야 한다. 하지만 아무리 잘 조준해도 한번에 목표물을 맞추기는 어렵다. 수많은 개발 프로젝트가 실패하는 이유이다. 하지만 대포 한발의 가격을 획기적으로 낮출 수 있다면, 우리는 포탄이 날아가는 포물선을 보고 재조준해서 목표물이 맞을때까지 대포를 여러번 쏠 수 있다. 그는 레일스가 웹개발이라는 대포의 포탄 가격을 획기적으로 낮추는 역할을 한다고 설명했다.

Fowler는 루비가 왜 Smalltalk와 Lisp의 실패를 되풀이하지 않을 것인지에 대한 내용으로 발표를 마무리했다. Smalltalk와 Lisp은 둘 다 빼어난 프로그래밍 언어였지만, 지나치게 배타적이었다. 예를 들면 Smalltalk에서 쉘 프로그램을 호출해서 그 출력물(STDOUT)을 받아 처리하는 것은 너무 복잡하다. 이러한 배타성은 Smalltalk의 효용성을 크게 떨어뜨렸고, 결과적으로 Smalltalk는 대중화에 실패했다. Fowler는 루비의 열린 환경이 루비가 Smalltalk의 전철을 밟지 않게 해줄 것이라고 설명했다.

Paul Graham은 아마도 컨퍼런스에 참석한 사람들 중 가장 유명한 사람일 것이다. 그에 관해 궁금하신 분은 그의 에세이들을 읽어 보시길. Paul Graham은 이번에 아웃사이더의 잇점에 관해 강연했다. 언제나처럼 그의 강연은 논란을 일으킬 내용으로 가득차 있었고, 정교한 구성으로 그의 논지를 명확히 전달했다. 그의 강연은 도저히 요약할 수 없지만, 결론을 이렇다.

당신이 아웃사이더로서 들을 수 있는 최대의 칭찬은 당신에 대한 도덕적 비난이다. 그것은 당신이 마침내 성공에 가까이 왔다는 신호이며, 당신을 공격하는 사람들은 당신의 혁신으로 인해 크게 손해보게 될 사람들이다.

Graham의 설명은 기득권층이 왜 변화를 싫어하는지를 명확히 설명해 주기도 한다. 변화로 가장 커다란 손해를 보게 될 이들이 바로 기존의 자원을 독점하고 있는 사람들이기 때문이다. Graham의 강연은 너무나 많은 이들이 스스로를 기득권자라고 생각하는 한국사회에 특히 많은 시사점을 던져주었다.

마지막으로 레일스를 만든 David Heinemeier Hansson의 기조연설. David은 CRUD (Create, Read, Update, Delete)에 관해 이야기했다. 그의 이번 강연에 따르면 모든 웹개발은 CRUD에 불과하다. 처음에는 얼토당토않다고 생각되던 이 내용을 그는 한시간 반동안 설득력있게 전개해 나갔다. HTTP의 GET, POST, PUT, DELETE 프로토콜과 레일스의 CRUD 기능을 연동해서 웹사이트는 물론 Ajax, 웹서비스의 개발까지 거의 자동화시켜버리겠다는 그의 발표를 들으며 아마도 많은 웹개발자가 앞으로의 자신의 역할에 대해 반문해 보지 않았을까?

기조연설 말고도 여러 세션과 만나서 이야기 나누었던 사람들을 통해 많은 것을 배울 수 있었던 뜻깊은 시간이었다. 특히 커뮤니티 전반의 분위기와 다른 사람들이 루비/레일스를 가지고 무엇을 하고 있는지를 볼 수 있었던 것이 가장 커다란 소득이었던 것 같다. 블로그로만 접하던 사람들과 얼굴을 마주하고 이야기를 나누어 보니, 앞으로는 그들의 블로그가 상당히 다른 느낌으로 다가올듯.

Posted in  | Tags , ,  | 2 comments | no trackbacks