이번 주에는 Google App Engine에 feel이 꽂히는 바람에 몇가지 작업들을 해보았다.
그중에 하나는 우연히도 Eclipse에서 JRuby 환경을 남들고, 기존에 만들었던 Rails 프로그램이 실행이 가능하다는 사실을 알았다. 사실 이는 Eclipse의 기본 플러그인으로 바로 사용하는 것보다는 RedRails의 설치로 인하여 생기 긍정적인 Side Effect이다.
RedRails Plug-in을 설치할때, JRuby실행을 위한 Plugin또한 같이 설치되었기 때문에, 몇가지 작업과 몇가지 환경 구성을 위한 작업을 해주면 된다.

간략하게 순서를 설명하고, 진행 사항은 화면 캡쳐한 이미지를 이용하여 다시 설명하도록 하겠다.
(여기서 설명하는 방법은 기본적으로 RedRails 1.0 이상 버전이 설치되어 있다고 가정한다.)

- 진행 순서-
1. RedRails가 설치되어 있는, Eclipse에서 사용할 VM을 JRuby VM을 설정을 변경한다.
2. 관련된 플러그인들을  설치한다.
3. DB과련된 Plugin들을 gem을 이용하여 설치한다. (설명은 sqlite를 예로 하였음)

- 설 명 -
먼저 Eclipse를 실행하고, "Ctrl + 3" 키를 눌러서 빠른 찾기 창을 띄우고 "Preperences"를 창 상단에 있는 입력창에 입력한다. 그리고나서 "Preferences"창을 띄운다. (또 다른 방법으로는 Eclipse 메뉴의 Window 메뉴의 하위 메뉴인 "Preferences"메뉴를 클릭해서 창을 띄울수 있다.)

Preferences 창이 나타나면, 왼쪽 상단의 입력창에, "Installed Interpreter"라고 입력을 하거나, 직접 Ruby 설정 Tree 아래에 있는 "Installed Interpreters"를 찾아서 클릭을 한다.  

위 화면에서 보면, Ruby와 JRuby에 대한 VM을 선택할 수 있는 체크박스가 있는데, 여기서 "JRuby VM"을 선택한다. 위에서는 "org.jruby_1.1.6..."으로 표시되어 있는 것을 선택하면 된다.

그리고 조금만 기다리면, 아래와 같은 창이 RedRais(Eclipse)에 나타나는데, 이는 JRuby의 설치 경로가 기존에 설치되어 있는 Ruby의 경로와 다르기 때문이므로, 화면 아래에 있는 "Install"버튼을 눌러 그대로 진행 시킨다.


그러면 Rails를 위한 플러그인들과 라이브러리들의 설치가 아래와 같이 진행될 것이다.


플러그인들이 설치가 완료되고, 기존에 만들어 둔 Rails 프로젝트를 RedRails에서 열어, 서버를 실행을 시킨다.



서버가 Start되어 정상적으로 구동이되면, 웹브라우져에서 "http://localhost:3000" 를 입력하여 서버에 접속을 시키면 정상적으로 연결되는 것을 볼수 있을 것이다.

하지만, 기존에 만들어둔 프로그램이 정상적으로 동작하지 않는 것을 보게되는데, 이경우에는 몇가지 플러그인들을 더 설치해 주어야 한다.
나의 환경은 sqlite3를 이용하여 데이터베이스를 생성하고 어플케이션의 데이터를 저장하기 때문에 sqlite3 플러그인을 설치하는 것을 예로 들겠다.

먼저 다음 두개의 플러그인들을 gem을 이용해서 설치한다.
"jdbc-sqlite3"와 "activerecord-jdbcsqlite3-adapter" 플러그인을 설치하기 위해서는 아래와 같이 명령창에서 실행한다. RedRails가 설치되어 있으면, "Rails Shell"에서 실행하면 된다. 
    - Gem 실행 -
   1. gem install jdbc-sqlite3
   2. gem install activerecord-jdbcsqlite3-adapter

만약 정상적으로 위 명령이 실행이 되지 않는다면, Eclipse를 다시 실행하도록 한다.
버그인지는 모르겠지만, 새로 설치된 플러그인과 환경들이 정상적으로 메모리에 로딩되지 않았기 때문이다.

여기까지 따라왔으면, 한가지 더 수정할 것이 있다. 다름아닌 database 설정에 대한 것이다.
"config/database.yml" 파일을 열어서, adapter 를 sqlite3에서 jdbcsqlite3 로 변경해 주면된다. (아래 설정 예 참조)

- database.yml 설정 예- 
 development:
  adapter: jdbcsqlite3
  database: db/development.sqlite3
  pool: 5
  timeout: 5000

위와 같이 설정을 변경하고, 서버를 재 실행하고 테스트 하면 된다.  다음과 같이 Rails Shell에서 실행하면 된다. 이미 잘 알고 있으리고 생각하지만, script/server 라고 타이핑하고 실행하면된다.
아니면, Eclispe에서 Severs View를 열고, 여기서 실행한다.

짤지만, 많은 부분을 달려왔다. 한가지 언급하지 못한 부분이 있는데, gem 명령을 실행해서 update와 Install이 정상적으로 이루어 지지 않고 다음과 같은 메시지가 뜬다면, 현재 로그인 계정에 한글이 들어 있는지 의심해 보아야 한다.

- 에러 메시지 -
 ERROR:  While executing gem ... (Errno::ENOENT)
    No such file or directory - No such file or directory - C:/Documents and Settings/???
 
JRuby의 문제인지 RedRails의 문제인지 정확하게 알지는 못하지만, 한글 계정으로 윈도우를 실행해서 작업을 할 경우에 나타나는 문제인데, google을 통해서 찾아본 바로는 Unicode에 대한 문제였다. (으~~ 이것 땜시 새벽 늦게 까지 테스트 했다니....)
gem을 캐싱하기 위해서 임시로 만들어 놓는 디렉토리(.gem)인것 같은데, 아직 정확한 문제점을 확인하지 못하고 있다. 몇몇의 설정 파일들과 소스들을 찾아서 검토하고 있는데 정확히 어떤 위치인지 잘 모르겠다. 윈도우즈의 환경변수를 통해서 사용자 계정과 위치를 가져오는 것 같기도 한데, 이 역시 정보가 부족해서, 좀더 찾아와야 할 것 같다.
최근에 JRuby 1.2.0 버전이 올라왔다. 내가 설치한 것은 1.1.6 버전인데, 이 버전에서 해결이 되었으면 좋으련만....

 

Posted by 행복상자
얼마전에 Ruby on Rails를 2.2.2하였었는데, 오늘 또 2.3.2버전으로 update하였다.
이전에도 2.3버전이 곧 나올거라는 것은 알고 있었고, RubyOnRails사이트에서 보여지는 개발문서들은 2.3 버전을 기준으로 외부로 공개되었었다.(2.3버전을 기준으로 쓰여졌다는 말임)

Rails 2.2.2를 2.3.2 버전으로 업그레이드 하는 것은 아주쉽다. 이미 여러차례 gem을 이용하여 플러그인들과 Library들을 설치해본 경험이 있기때문이고, 쉬운 사용법 때문이다.

내가 작년에 진행했던 프로젝트는 나른대로 처움에 잡았던 컨셉과 기능들이 잘 설계되었다고 생각하였다.
하지만 개발자들의 빠르게 효율적으로 만들어주고, 좀 더 쉽게 개발할 수 있도록 도와주려 했넌 나의 생각은 여지없이 무너지고, 결국 EJB에 버금가는 또 하나의 무거운 괴물을 만든것이 아닌가라는 생각이 자주든다.

개발과 테스트 그리고 배포시의 패키지 또는 개발된 리소스를 이용하는 방법은 달라야한다.
Rails에서 배포는 gem을 이용하는데, 개인적으로는 간단하고 단순한것이 마음에 든다.

기본적으로 Gem을 이용하기 때문에 최신 버전을 받는것은 간략하게 "gem install rails" 라고 Command창에서 실행하기만 하면 된다.
이를 실행하기 전에 현재 설치 되어 있는 Rails 버전을 아래과 같이 확인할 수 있다. 
명령창에 "rails -v" 라고 입력하고 실행하면 된다.
  

현재 설치 되어 있는 Rails의 버전은 2.2.2 이다. 이제 새로 배포되기 시작한 Rails 2.3.2를 설치할 텐데, 위에서 한번 언급했던 "gem install rails"라고 실행을 하거나 "gem install rails -y"을  주고 실행을 시키면 된다. 이때 사용하는 "-y" 옵션은 설치에 필요한 패키지들에 대한 dependency가 있는 모듈 역시 자동으로 설치하도록 도와준다.
여기서는 위의 그래에서 처럼 "-y" 옵션을 사용하여 "gem install -y"를 명령행에서 실행시켰다. (아래 그림 참조)


설치 명령에 따라서, 업그레이드에 필요한 Rails의 필수 6개의 피키지들이 위와 같이 설치가 되고 있다. 먼저 기본 6개의 패키지들이 설치가 되고, 이어서 필요한 문서들이 함께 설치가 되고 있는 중이다.

Rails와 문서들의 설치가 완료되면, 아래와 같이 Rails의 버전을 확인해서 설치가 정상적으로 완되되었는지 다시 한번 확인하면 설치는 마무리 된다.


Posted by 행복상자

지난 몇주 동안 Ruby on Rails를 가지고 이것 저것 테스트도 하고 공부를 하고 있는 중이다. 그리고 RedRails 플러그인을 Eclipse에 설치하여 몇가지 셈플도 만들어 보았는데, 예전에 사용해 보았던 RedRails 0.8, 0.9 버전보다 사용하기도 편해졌고, Console창에서 Scaffolding을 이용하여 파일을 생성하는 것보다 더 가볍고 빠르다는 느낌이 든다.
이는 아마도 백그라운드에서 Ruby이 VM이 떠 있는 상태에서 실행되기 때문일거라 생각된다.
Console창으로 Rails를 실행하는데 익숙한 개발자를 위하여, RedRails는 Console 모드를 추가되었다.

RedRails를 설치하는 방법에 대해서 간략하게 설명하려고 하는데, 다음과 같은 순서로 진행하면 된다.

RedRails는 http://www.aptana.com/에서 다운을 받아 독립적으로 실행되는 프로그램으로 설치하거나 Eclipse의 Plugin형태로 설치가 가능하다.
윈래 RadRails는 개인 개발자가 혼자 개발하다고, Aptana라는 회사로 이적하면서, 개발되고 수정되고 있는, 공개 Plugin인데, Aptana라는 회사는 웹 개발을 위한 개발 툴과 Eclipse 플러그인을 개발하고 있는 회사로, 툴들이 제법 사용할 만한 가치가 있다. 

먼저 http://www.aptana.com/studio/download 로 이동해서, 설치 버튼을 누르면, 플러그인 설치를 위한 설명 페이지로 이동하게 된다.  Eclipse에서 RedRails 플로그인을 설치하기 위해서는 먼저 Aptana Studio를 설치해야 하는데, 이는 Eclipse의 Help > Software Update... 메뉴를 선택하면 아래와 같은 화면이 나타나는데, 차의 우측의 Add Site...버튼을 클릭하고 Remote Update를 위해서 다음과 같은 URL을 입력 필드에 입넣어주고 저장한후 상단의 Install...버튼을 클릭하여 실행을 시켜면 아래 그림과 같이 진행이 될 것이다. 
        * Add Site...:   http://d3kp2jit5ckrb9.cloudfront.net/3.2/ 
         



설치할 Plugin들을 다운로드하면 아래와 같이 설치 항목들을 확인하는 창이 나타난다. 당연히 "NENT"버튼을 클릭해서 다음 단계로 넘어간다.
 


그러면, 아래와 같은 화면이 나타나는데, 라이센스에 관련된 내용이므로 동의하고 다음단계로 넘어가면 된다.


위 그림에서 "Finish"버튼을 누르면, 설치가 진행된다.



설치가 완료 되면 아래와 같은 창이 나타나는데, "Yes"버튼을 클릭하여, Eclipse를 재 시작 시킨다.


Elipse를 재 시작하고, Aptana Studio를 시작한다. (만약, 직접 실행이 되지 않았다면, Eclipse의 우측 상단에서 Apatana Perspective를 선택하면 된다.)
그리고, 상단의 메뉴를 보면 아래와 같은 메뉴텝이 있는데, 여기서 두번째 메뉴 아이템을 클릭하면, Aptana의 설치 가능한 Plugins Manager 윈도우가 나타난다.


아래과 같이 Plugins Manager윈도우가 나타나면, "Install"텝을 선택하고 보면, 리스트에 Aptana ReadRails라는 플러그인이 보인 것이다. (아래 그림 참조)

설치하려고 하는 Plugin에 마우스 오른쪽 버튼을 클릭하고, Context메뉴에서 Install을 선택한다. (여기서 우리는 Aptana RedRails를 선택한다. 이유는 다들 알겠지요. 우리는 RedRails 플러그인 설치하려고 여기까지 왔습니다. ^^)

여기까지 잘 따라왔으면, 아래와 같은 창이 나타나는 것이 보게될 것이다.
각 항목들을 모두 체크해 주고,  화면 아래에 있는 "Next"버튼을 클릭하여 다음 단계로 이동한다.

위에서 처럼 Plugin을 설치하게 되면, 처음에 Aptana Studio Plugin을 설치했을 때 처럼, Eclipse를 재 시작을 확인하는 윈도우가 나타나게 되는데, "Yes"를 눌러 재시작을 시키면 된다.


Eclipse가 정상적으로 재시작하자마다, 아래의 창이 나타남을 볼수 있을 것이다.
화면 하단의 Install버튼을 눌러 Ruby와 RedRails를 위한 gem들을 설치하면 Rails를 사용하기 위한 모든 준비가 마쳐지게 된다.



주의 사항으로는 만약 Ecllise가 설치된 경로에 한글이 포함되어 있으면, Aptana Studio 플러그인이 정상적으로 설치가 되지 않는다. 나도 몇번을 설치하다가 결국을 Eclipse 경로를 "C:\" 아래로 바꾸었다. (이는 이전 버전에서는 없었던 문제이다. )

RedRails를 설치하면, 실망할 일은 별로 없을 것이다. 오히려 개발하는데 여러 모로 편리함을 주기때문에 편리하다. 특히 Javascript 코딩을 하거나, SVN을 연동할 일이 있다면, 이는 정말 Eclipse가 잘 하는 장르 중에 하나이다.

여담인데, 오늘 SVN없이 작업하다가 셈플 코드를 모두 날렸다. 결국 SVN Eclipse plugin을 설치하고 나서야 안심이 되었다. 이 플러그인역시 위에 있는 화면중에 하나인 plugin Manager를 통해서 설치했다. 나의 경우는 SubClipse Plugin을 설치했다.

Posted by 행복상자
MVC 패턴을 이용하여, 기본적인 페이지를 만드는 것은 별로 어렵지 않다. 그리고 scaffold를 이용하여 기본적인 뼈대를 만들어서 원하는 기능을 살을 붙이듯이 개발해 나갈 수 있다.
Active Record는 데이터 레이어와 비스니스 레이어를 위해서 데이터를 관리하고 쉽게 사용할 수 있도록 도와준다.


6. Active Record
    : Active Record는 레일즈 애플리케이션과 데이터베이스 간의 연동을 담당한다.
    : 액티브 레코드에서는 레코드 객체를 통해서 데이터베이스 테이블을 조작한다.
    : 각각의 레코드는 데이터베이스 테이블에서 각각의 행과 대응하고, 각각의 액티브 레코드 객체는 데이터베이스 조작에 필요한
      CRUD(생성, 읽기, 수정, 삭제)메소드들을 가지고 있다.
 
    6.1 Active Record의 3가지 특징
        : 설정 대신 컨벤션 이용: 규약에 따라서 필요한 규칙들을 암묵적으로 정의하여 사용한다.
        : 멘타 프로그래밍: 데이터베이스 테이블에 정의된 컬럼들을 찾아서 대응되는 객체의 속성으로 추가하는 작업을 자동을 해준다.
        : 맵핑 언어: 맵핑 언어를 사용하여 테이블 간의 관계를 지정한다.
 
7. Database 설정
    : Active Record를 이용아혀 여러가지 Data base를 사용할 수 있지만, 나는 sqlite의 사용을 위한 database을 설정하려한다.
    : "config"디렉토리 아래의 database.yml 파일을 다음과 같이 설정한다.
    
    -Code in database.yml-

        development:
          adapter: sqlite
          database: db/photos_development

        test:
          adapter: sqlite
          database: db/photos_test
        production:
          adapter: sqlite
          database: db/photos_production

     7.1 Shema Migration

        : 아래와 같이 Model을 생성한다.

        => ruby script/generate model Photo

        : 위 코드를 통해서 app/modes/photo.rb 파일안에 모델 객첵가 생성된다.

        : Shema Migration을 통하면 데이터베이스와 독립적인 스키마를 구성할 수 있다.

     

    7.2 Shema Migration 설정

        : "config/enviroment.rb"파일을 열어 "config.active_record.schema_format = :ruby"로 설정해주면되나,

        : RubyOnRails 1.1 이후 버전은 이 값이 기본 설정 값이므로, 변경할 필요는 없다.

 

    7.3 up/down 메소드 설정

        :"db/migrate"디렉토리의 001_create_photos.rb 파일을 열고 다음과 같이 수정한다.

        

        -Code in 001_create_photos.rb-

        class CreatePhotos < ActiveRecord::Migration
          def self.up
            create_table :photos do |photo|
              photo.column "filename", :string
            end
          end

          def self.down
            drop_table :photos
          end
        end
 

 8. 기본 액티브 레코드 클래스

    : 마이그레이셔이나 SQL명령, 어느 것을 사용하더라도 작명 규약을 반드시 지켜야 한다.

    : 테이블 이름이나 id 컬럼의 정의등 모두 작명규약에 따라서 이름이 만들어진다.

 

    8.1 Rails의 작명 규약

        :클래스와 테이블 이름

            . 레일즈는 액티브 레코드 클래스 이름의 영문 복수형을 데이터베이스 테이블 이름으로 간주하여 테이블을 찾는다.

        :식별자

            . 액티브 레코드는 "id"란 이름의 컬럼을 찾아 유일한 식별자로 사용한다. "id"컬럼은 정수형이어야 하며, 데이터베이스는

              이 컬럼을 키로 사용해야 한다.

        :외래키

            . 외래키는 <clise>_id 의 형태로 이름이 지어져야 한다.

        : 대문자 표기

            . 클래스를 정의할 때 클래스 이름은 각 단어의 첫번째 글자는 대문자로 하고 단어 사이의 공백을 없앤다.

            . 메소드, 데이터베이스테이블 이름, 컬럼 이름. 속성 이름, 심벌 이름등은 단어 사이의 공백을 '_'문자로 대체한다.     

 9. Rails Console
    : 레일즈 콘솔은 데이터베이스와 모델 간의 유기적인 작업을 할 수 있도록 해준다.
    : 이는 다음과 같은 작업을 하도록 도와준다.
        . 데이터 베이스와 연결한다.
        . app/model에 있는 액티브 레코드 클래스들을 불러온다.
        . 데이터베이스와 모델 간에 데이터베이스 작업을 포함하여 유기적인 작업을 할 수 있게 해준다.
    : 다음과 같이 실행한다.
    => ruby script/console

디버깅과 개발에 활용할 수 있는 콘솔화면이 실행됨을 볼수 있을 것이다.
참고로, 나의 개발 환경이 윈도우 이므로 "ruby + command"의 형태롤 도스모드에서 명령을 실행하고 있다.
Posted by 행복상자
최근에 Ruby on Rails를 2.2로 업그레이드 하고,  몇가지 테스트 하면서 다시 공부하를 시작하고 있다.
나름대로 전문가라고 자부하는 경력 5년의 김정현 책임이 요즘 너무나 바빠서 몇가지 물어보려해도 연락 자체가 어려운 실정이다.

작년에 공부하면서 정리했는 문서가 있는데, 이는 한빛 출판사에서 번역한 책으로 "Ruby on Rails: Up and Running"라는 제목을 책을 공부하면서 정리한 것이다. 이책에 대한 정보는 "[도서 추천] Ruby on Rails(초고속 웹 개발의 시작)" 라는 제목으로 이전에 쓴 글이 있는데, 이를 참조하면 책을 이해하는데 도움이 될 것이다.
하지만 최근에 나온 2.2버전과 2.3 버전은 책의 예제를 따라가다보면, 뭔가 이상하다고 느낄 것이다.
다시 말해서, 정상적으로 동작하지 않는다. 왜냐하면 책은 1.2 버전을 기준으로 작성되었기 때문이며, 예제를 테스트하려면, Ruby on Rails 1.2 버전을 설치해야 한다.

내가 이전에 정리하고, 다시 정리한 자료는 이전 버전(1.2)을 기준으로 작성되었다. 정리가 마무리되면 2.2버전으로 차이점과 사용법을 다시 정리할 예정이다.

아래 정리한 내용을 간략하게 소개하면, 기본 환경은 만들고, 서버를 실행하고 간단하게 MVC 프레임워크에 따라 테스트 페이지를 만드는 방법을 순서대로 정리하였다. 


1. Ruby On Rails 환경 만들기
    : Rails의 환경은 만들기 위해서는, 아래와 같이 실행을 시키면 "myApps"라는 디렉토리 아래 관련된 폴더와 파일들이 생성된다. 
    => Rails myApps
 
2. Server Test
    : Rails에서 기본으로 제공하는 WEBrick 서버를 실행시키기 위해서는 아래와 같은 명을 실행하면 된다.
    => ruby script/server
    
    :위와 같이 이를 실행하면, 기본 포트로 3000번을 사용하게된다.
    : 테스트는 다음과 같이 웹브라우져에서 실행한다. http://localhost:3000

 

3. Server의 Port및 환경 수정
    : port 및 기본 설정 사항을 수정하기 위해서는 script/server 스크립트를 수정하면 된다. (text edit에서 수정가능)
 
 
    3.1 script/generate options
        : 아래과 같이 console창에 입력하고 실행하면, Parameter를 입력에 대한 사용법이 표시된다.
        => ruby script/generate
            Usage: script/generate [options] generator [args]
 
            Rails Info:
                -v, --version                   Show the Rails version number and quit.
                -h, --help                       Show this help message and quit.

            General Options:
                -p, --pretend                  Run but do not make any changes.
                -f, --force                      Overwrite files that already exist.
                -s, --skip                       Skip files that already exist.
                -q, --quiet                     Suppress normal output.
                -t, --backtrace               Debugging: show backtrace on errors.
                -c, --svn                       Modify files with subversion. (Note: svn must be in path)


 
4. Controller 생성하기
    : Rails즈의 구조와 Server가 정상적으로 동작하면, 다음과 같이 Controller를 생성할 수 있다.
    => ruby script/generate controller Greeting
    : 생성시, 이전에 만들어진 folder 또는 파일은 skip하고, "Greeting"을 위한 새로운 파일들이 생성됨을 볼수 있다.
 
    4.1 생성된 Controller 테스트
    : 생성된 greeting controller의 동작을 확인하시 위해서 웹브라우저의 주소창에 다음과 같이 실행한다.
    => http://localhost:3000/greeting  (greeting 만 붙여주면 된다.)
    : 그러나 이는 정상적으로 동작하지 않는다. 왜냐하면 빈 껍데기만 생성되어져 있기 때문이다.
    : app/controllers 폴더의 "greeting_controller.rb"를 열고 아래과 같이 코드를 추가,수정한다.
 
        class GreetingController < ApplicationController
          def index
            render :text=> "<h1>Welcome to your first Rails application</h1>"
          end
        end
    
5. View 생성하기
    : view에서 Controller에서 전달해준 데이터를 표시하기 위해서는 view를 생성하면 된다.
    : 아래는 controller과 view를 동시에 생성하는 것인데, 기존에 생성한 controller을 유지하려면 "n"을 누르면 된다.
    => ruby script/generate controller Greeting index
    : app/views/greeting/ 디렉토리 아래 index.rhtml 파일 생성된 것을 console창에서 볼 수 있다.
    : 이전에 생성한 greeting_controller.ry파일에서 index 메소드는 그대로 두고 code만 삭제한다.
    : 브라우져에서 새로 고치기를 하면 새로 만든 뷰가 보여지는 것을 확인할 수 있다.
 
    5.2 Controller와 view 연동하기
    : controller에 @welcome_message 인스턴트 변수를 추가한다.
    -Code in greeting_controller.rb-
        class GreetingController < ApplicationController
          def index
              @welcome_message ="Welcome to your first Rails application"
          end
        end

     -Code in index.rhtml-
        <h1><%= @welcome_message %></h1>
        <p>Find me in app/views/greeting/index.rhtml</p>
 
    : 브라우져를 새로고침해서 원하는 결과가 나왔는지 확인해 보자.

당연히 원하는 결과가 나올 것이다.
Posted by 행복상자
오전에 있었던 강좌에 이어서, 오후에 있었던 3개의 강좌들이다.
사실 모든 강좌들을 다 보게되면, 약 7시간 정도가 필요하다. 전부를 한번에 들어 볼수는없지만, 주제별로 나누어 보면 큰 도움이 될거라 생각이 든다.
강의에 사용되었던 자료들에 대한 링크도 추가한다.

Individual slide sets in PDF format:
  • 1: Hello World
  • 2: Just Enough Ruby
  • 3: Basic Rails
  • 4: Advanced Active Record
  • 5: AJAX and Testing
  • 6: Configuration And Deploy
  • 7: Extra Material

    Ruby on Rails Short Couse:

    Ruby on Rails - Part 4: Advanced Active Record


    Ruby on Rails - Part 5: AJAX and Testing


    Ruby on Rails - Part 6: Configurtion and Deploy

Posted by 행복상자

우연히 YouTube 사이트를 검색하다가 Ruby on Rails에 대한 동영상 강좌가 올라와 있는 것을 발견하였다. 하루동안 버클리 대학에서, 세미나가 진행 되었던 것들인데, 주제별로 잘 나누어져 있어서, 처음 접하는 사람들이 Ruby on Rails를 이해하고 공부하는데 큰 도움이 될거라 생각된다.
세미나는 "Ruby on Rails Short course"라는 제목으로 열렸는데, 동영상은 영어로 진행되어서 이해하기가 어려울 수 있다. 더군다나, 말하느 속도도 상당히 빨라서, 집중해서 들어야 한다. 하지만, 레일즈의 데모를 보면 쉽게 이해 할 수 있을 것이다. 레일즈가 유명해진 것도 15분 내외의 데모 동영상을 통해서 알려 졌으니 말이다.

아래에 첨부한 동영상들은 오전에 있었던 강의 동영상 들이다.
그리고 강의에 사용되었던 자료들의 링크이다.

Individual slide sets in PDF format:


Ruby on Rails Short Couse:

Ruby on Rails - Part 1: Hello World
 

Ruby on Rails - Part 2: Just Enough Ruby

Ruby on Rails - Part 3: Basic Rails

 

Posted by 행복상자
오래 간만에 Ruby On Rails에 관한 이야기를 한다.
내가 좋아하는 Framwork이고, 앞으로의 발정 가능성에 대해서도 항상 눈여겨 보는 Framework이다.
한 동안 회사일로 바빠서, 그 동안 약간의 기술적인 관심만을 남겨두고 있다고, 이제 조금 여유가 생겨서 다시 들여다 보게 되었다.

내 노트북에 설치되어 있는 Rails의 버전은 1.2.6 였는데, 이를 먼저 Upgrade 하기로 하였다.

Rails의 새버전의 설치는 "gem instll rails"라고 도스창에서 실행하면 자동으로 인터넷에서 다운받아 설치하게 된다. 
아래는 이를 실행한 결과이다. 여기서는 rails를 설치할 때 dependency에 대해서는 사용자의 확인을 받도록 별도의 옵션을 명령행에 추가하지 않했다.


만약, 사용자의 확인 없이 rails 설치를 위해서 필요한 패키지들을 모두 설치하려면 아래와 같이 명령창에 넣어서 실행하면 된다. (y옵션을 주면 --dependencies 옵션을 준것과 동일하게 동장한다.)
gem instll rails -y
설치가 마쳐졌으면 아래와 같이 Rails의 버전을 확인할 수 있다.



이제 Rails의 업데이트를 끝 마쳤다. 이번에는 Ruby의 패키지와 컴포넌트를 Update해주는 gem을 업데이트 하겠다. 이는 자신을 업그레이드 해야 하므로 install명령으로는 동작하지 않는다.

아래와 같이 도스창에 명령를 실행시키면 된다.
 gem update --system


이역시 무척 간단하게 실행될 것이다.

마지막으로 embedded DBMS인 sqlite를 지원하기 위해서, 이에 관련된 모듈을 업데이트 하려고 한다.
아래과 같이 실행하면 된다.
gem install sqlite-ruby

 
gem이 이전 버전과 다른 점은 다른 OS의 버전이 있을 때 사용자가 수동으로 이를 확인하고 설치하였었는데, 이 부분이 자동화 된점이 이전 버전과 비교해서 편리해 졌다.

 
Posted by 행복상자
일주일에 한번씩, 점심(사제밥?)을 같이 먹는 김정현책임으로 부터 루비를 소개받고 책을 하나 사고, 루비를 알기 시작한 지가 벌써 6개월이 넘어간다. 하지만, 루비 자체의 언어적인 매력보다는 Rails라는 프레임워크가 주는 매력이 나에게 너무 크게 다가왔다. 아니 나뿐만이 아니라 루비라는 언어를 접하는 사람들에게 Rails는 확실한 Impact를 준다. 이미 인터넷에 많이 나돌고 있는 동영상과 www.rubyonrails.org 에 올라와 있는 동영상 강의는 무언가 해보고 싶은 욕구들을 이끌어 낸다.

지난 6개월 동안 짜본 프로그램이 처음 한달 공부하면서 짠 HTML에서 한글을 추출하고 다른 언어로 대체하는 프로그램이 전부라는 것이 부끄럽다.

하지만, Ruby와 Rails라는 것에 대한 관심은 지금 개발에 사용하고 있는 Spring Framework아 별반 다르지 않기 때문에 앞으로도 계속 관심을 갖을 것이다. 물론 ASP.NET의 MVC 프레임워크도 마찮가지로 내가 관심을 가지는 웹 기술들이다.

내일은 Roby관련 세미나가 있는 날이다. 이번에도 김정현 책임이 잊지않고 알려주었는데, 시간이 되면 꼭 가보고 싶다.



Posted by 행복상자

[도서 추천] Ruby on Rails(초고속 웹 개발의 시작)

레일즈를 접하는 사람들 대부분이 웹개발에 종사하는 사람들일 것이다.
그리고 Ruby를 공부하기 시작하는 사람들도 RoR(Ruby on Rails)에 관심을 갖게된다.
이는, 레일즈는 웹을 위한 프레임워크이며, 루비를 위한 프레임 워크이기 때문이다.

현재, 한국에서 판매되는 Ruby on Rails관련 책들은 원서 및 번역서등 그 수는 점점 많아지고 있지만, 레일즈를 처음 시작하는 사람들에게는 Bruce A. Tate와 Curt Hibbs의 책 Ruby on Rails: Up and Running이 가장 적합한 안내서 일 것 같다. 국내에서는 한빛 출판사에서 번역되어 판매되고 있다.



책은 Ruby on Rails를 잘 모르는 Beginnner가 읽어도 쉽게 프레임워크를 이해할 수 있도록 간단한 예제와 설명위주로 진행된다. 아마도 처음 시작하는 사람이 Ruby를 모르더라도, Ruby의 내장 웹서버로 돌아가는 데모는 반 나절 만에 작성할 수 있을 것이다.
예제를 쫒아 가다 보면, 레일즈 프레임워크와 Active Record에 대해서 익숙해질 것이다.
그리고 스케폴딩과 뷰의 개념에 익숙해지면, Rails의 시작단계를 벋어나서 자신만의 Application을 작성할 수 있는 단계에 서 있는 자신의 모습을 보게 될것이다.
Ruby on Rails 프레임워크는 내부에 Test를 지원하기 위한 자동화된 테스트(루비의 Test::Unit)를 포함하고 있다. 책의 마지막장에는 신뢰성있고 질 좋은 프로그램을 만들수 있도록 테스트 자동화에 대해서 설명하고 있다.








Posted by 행복상자