이미 소장하고 있다면 판매해 보세요.
|
웹과 엔터프라이즈 개발을 위한 새로운 만남 JRuby on Rails
|
|
1일째 레일스 준비 레일스의 특징 2 레일스의 철학 2 원칙 1. 같은 일을 반복하지 말라 3 원칙 2. 설정보다는 규칙을 우선하라 4 레일스 설치에 필요한 것 5 동작 환경 6 1장을 읽어 나가기 위해 필요한 툴 7 설치 순서 7 좀더 알고 싶어요! Q&A 16 1일째 내용 정리 17 2일째 처음 만나는 레일스 웹 애플리케이션 구조 22 레일스가 생성하는 스켈레톤(skeleton)의 종류 22 페이지와 프로그램의 연관성 23 디렉토리 구성 25 개발에 필요한 툴 26 명령 프롬프트 26 에디터 26 hello 프로젝트 개발 순서 27 1. 컨트롤러와 뷰 만들기 27 2. 모델 작성 29 3. 컨트롤러 프로그램 30 4. 뷰 프로그램 31 5. 웹 브라우저에서 접속해 봅시다 33 6. 레이아웃과 스타일시트 작성 33 7. 라우트(route) 설정 35 코드 설명 37 좀더 알고 싶어요! Q&A 46 2일째 내용 정리 47 3일째 데이터베이스 이용하기 즐겨 찾는 웹 페이지를 등록하는 웹 주소록(yellowpage)을 만듭니다 50 관계형 데이터베이스 기초입문 52 레일스와 관계형 데이터베이스 52 관계형 데이터베이스 52 관계형 데이터베이스와 정규화 53 관계형 데이터베이스 프로그램의 이용 54 레일스가 이용하는 데이터베이스 56 레일스 실행환경 56 레일스가 미리 지정하는 데이터베이스 이름 56 Rake의 역할 57 yellowpage 프로젝트 개발 순서 59 MySQL 준비 59 1. 프로젝트 작성 60 2. 데이터베이스와 사용자 작성[Rake 사용] 61 3. 테이블 작성[마이그레이션 이용] 64 마이그레이션이란 64 예 1 65 예 2 65 이용하는 테이블 65 마이그레이션 작성 66 테이블 작성 프로그램 구현 67 database.yml 설정 68 마이그레이션 실행 70 4. 애플리케이션 작성 71 컨트롤러 72 모델 72 뷰 72 코드 설명 73 좀더 알고 싶어요! Q&A 77 3일째 내용 정리 79 4일째 Ajax 이용 Ajax 를 사용하여 계산기를 만들기 82 레일스에서 Ajax를 이용하기 82 calc 프로젝트의 작성 순서 84 HTTP와 Ajax 기초 입문 85 HTTP에 의한 데이터 교환 85 GET 메소드와 POST 메소드 86 Ajax 87 calc 프로젝트 작성 순서 88 1. 프로젝트 작성 88 2. 컨트롤러와 뷰 작성 88 3. 뷰 프로그램 89 4. 부분 rhtml 파일 작성 90 5. 컨트롤러 프로그래밍 91 6. 동작 확인 92 코드 설명 93 좀더 알고 싶어요! Q&A 100 4일째 내용 정리 101 5일째 파일 업로드와 표시 포토앨범 만들기 104 웹 브라우저로부터 업로드 된 파일 내려받기 104 album 프로젝트 작성 순서 106 album 프로젝트 작성순서 107 1. 프로젝트 작성 107 2. 데이터베이스 작성용 빌드파일 작성 107 3. 데이터베이스 작성 109 4. 데이터베이스 설정 109 5. 모델 작성 109 6. 테이블 작성 110 7. 컨트롤로와 뷰 작성 111 8. 모델 프로그램 112 9. 이 후의 프로그램 순서 설명 113 10. 요약 표시 프로그램 116 11. 레코드를 신규 작성하는 프로그램 118 12. 페이지 표시 프로그램 121 13. 페이지 편집 프로그램 122 14. 페이지 삭제 프로그램 124 코드 설명 127 좀더 알고 싶어요! Q&A 143 5일째 내용 정리 146 6일째 애플리케이션에 인증기능 추가하기 플러그인으로 인증기능 추가하기 148 포토 앨범에 Restful Authentication을 플러그인해서 갱신 페이지를 보호하기 148 플래시(flash) 151 application_helper.rb 151 albumx 프로젝트의 작성 순서 151 플러그인 이란 152 플러그인 관리 스크립트 152 명령어 해설 - 플러그인 검색 사이트의 등록과 해제 152 명령어 해설 - 플러그인의 검색 154 명령어 해설 - 플러그인의 설치 155 명령어 해설 - 플러그인 갱신 155 albumx 프로젝트 작성 순서 156 1. 프로젝트 작성 156 2. Restful Authentication 설치 156 3. 환경 설정 156 4. 테이블 작성 157 5. 프로그램 수정 157 6. 플래시 이용을 위한 수정 160 7. 를러그인을 이용하기 위한 수정 160 코드 설명 164 6일째 내용 정리 169 7일째 애플리케이션 개발 점심메뉴 정보를 소개하는 포토 블로그 만들기 172 7일째의 요점 174 LunchBooks 프로젝트 작성 순서 174 테이블의 릴레이션십과 레일스에서의 프로그래밍 175 테이블과 릴레이션십 175 릴레이션십의 표현 176 LunchBooks 프로젝트 작성 순서 178 1. 프로젝트 작성 178 2. 데이터베이스 작성 178 3. 데이터베이스 설정 179 4. Restful Authentication 플러그인 설치 180 5. 모델의 작성 181 6. 테이블 작성 182 7. 컨트롤러와 뷰 작성 184 8. 모델 프로그램 185 9. 요약 프로그램 표시 186 10. 신규등록 프로그램 189 11. 나머지 처리의 구현 194 코드 설명 195 좀더 알고 싶어요 Q&A 210 7일째 내용 정리 213 8일째 애플리케이션 배포 자바 웹 애플리케이션의 단위 216 Goldspike 설치 216 Goldspike 실행 217 Java ee 서버 설치 218 GoldFish V2의 시동과 애플리케이션 배포 220 WAR 애플리케이션 실행 220 WAR 패키징 없이 레일스 애플리케이션 배포하기 221 8일째 내용 정리 224 9일째 자바와의 연동 자바와의 연동 226 연동의 단위 226 라이브러리 연동 227 컴포넌트 연동 233 서비스 연동 234 9일째 내용 정리 238 찾아 보기 239 |
|
“다시는 책 작업을 하지 않겠다”
고 했었습니다. 번역이건 저술이건, 고통도 이런 고통이 없습니다. 교훈이 학습될 법도 한데, 어찌된 일인지 매번 시쳇말로 ‘낚이고’ 맙니다. 누군가는 저에게 그러더군요. 병이라고. 매년 한두 권 정도 (책을) 내고 있으니 그렇게 부를만도 할 지 모르겠습니다만, Ajax에 이어 레일스는 저에게 ‘무한도전’에 가까웠습니다. 왜냐고요? 저도 루비와 레일스는 처음이었기 때문이죠. 최근 (마시는) 차 장사를 접고 IT 업계로 복귀한 선배형이 저에게 “또 책 내냐?”고 메신저로묻더군요. “또”라니, 남들에게는 그렇게 비춰지는구나…하는 생각도 잠시, 선배는 저에게 되려자신의 심정을 토로했습니다. “(일은) 지겹기도 하고, 역시 책 번역하는 게 (새로운 기술을) 공부하는 좋은 방법인 거 같아” 얻는 게 있으면 잃는 것도 있는 법. 어쩌면 그래서 절필도 마음대로 안되나 봅니다. “왜 JRuby인가?” 이 책은 원서와 많이 다릅니다. 원서는 작년 10월에 나왔는데, 그때는 현재 표준으로 삼고 있는 레일즈 1.2가 나오기 전(정확히는 1.1.6)이었습니다. 따라서 일부 코드는 deprecated 경고를 뿜어냈고, 그런 부분을 모두 고쳐야 했습니다. 하지만, 그건 빙산의 일각이었습니다. 원서의 후반부는 일본 현지에서(만) 쓸 수 있는 OpenAPI를 이용하는 방법을 다루어서, 지난번 Ajax 책 번역의 악몽을 떠오르게 했습니다. (그때는 Ajax 책의 한 장(chapter)이 구글 거리 지도 API만을 다루었는데 아시겠지만 한국에서는 제공되고 있지 않죠) 고민이 많았습니다. 게다가 이직과 겹치면서 혹독한 적응기까지 함께 해서(스프링노트 www.springnote.com 프로젝트에 급투입되었는데 루비 온 레일스로 개발했죠. 물론 전 루비도 레일스도 처음이었습니다), 애초 계획했던 일정(차마 밝히기가 민망하네요)은 고사하고 '2007년 안에 나올 수 있을까' 하는 자괴감에까지 빠졌습니다. 그런데 위기가 기회로 보이기 시작했습니다. 올해 1사분기에 루비와 레일스 책들이 쏟아지면서, 출간시기를 피하려고 하다보니 6월에 JRuby가 1.0을 냈습니다. “이때다!” 하는 심정으로 저는 과감히 루비 대신 JRuby를 택했습니다. 예제들은 또다시 JRuby로 이식되고 검증되며 (설정을 위주로) 바뀌었습니다. 그리고 그동안 저를 괴롭혀온 원서의 후반부는 자바와의 연동으로 대체되어 마무리를 가능하게 해주었습니다. 아마 세계 최초의 JRuby on Rails 책일 것입니다. ^^ “독자분들께 꼭!꼭! 당부드리고 싶은 것” 이제 일방적인 교육의 시대는 끝났습니다. 루비도 레일스도 모두 오픈 소스입니다. 더 이상 누구만 알 수 있고 누구는 알 수 없는 것은 없습니다. 게다가 JRuby는 자바로 만든 루비 언어구현체입니다. 자바를 안다면 얼마든지 문제를 파악해서 고칠 수 있습니다. 이 책의 예제 또한 모두 오픈 소스로 올라와 있습니다(자세한 안내는 예제 안내를 참고하세요). 책의 내용이 지면이라는 물리적인 한계로 고정된 것은 안타깝지만, 예제는 계속 고쳐지고 나아질 수 있습니다. 그리고 그런 발전이 이 책의 2판, 3판으로 가는 길의 하나라고 생각합니다. 게다가 레일스도 빠르게 진화하고 있습니다. 또 한 번의 혁신을 선사할 레일스 2.0이 나오면, 한바탕 예제 업데이트가 필요할 것입니다. 그래서, 저는 독자분들이 꼭 이 책의 예제 오픈 소스 프로젝트에 참여하시길 권합니다. 예제를 SVN 저장소에서 받아 최신의 상태로 돌려보고, 질문•의견은 공개 토론을 통해 더 많은 사람들과 함께 하고, 문제가 있으면 보고하여 함께 고쳐나아가는 것입니다. 이미 이 책의 예제는 JRuby나 GlassFish V3의 테스트에 쓰이고 있을 정도로 간단하면서도 기본 기능에 충실합니다. 제 작은 소망이 있다면, 이 책의 개정판에 예제의 추가와 개선에 도움을 주신 (독자출신) 기여자분들께 감사글을 쓰는 것입니다. “자바가 루비를 만날 때(When Java met Ruby)" 제가 이 책에 자바를 적극적으로 끌어들였던 것은, 그만큼 (국내외 통틀어) 자바의 저변이 넓고 두텁기 때문입니다. 제가 처음 자바를 시작할 때는 자바가 지금의 루비 같았습니다. 다들 신기해하면서도 받아들이기를 꺼려했습니다. 그때 자바편에 있었던 저는, 그런 세상이 무척 답답했었는데, 이제는 제가 그 답답한 세상의 일부가 된 느낌입니다. ^^;;; 그래서, 또 한 번 껍질을 깨보려고 루비를 시도했고, 배운 것이 정말 많았습니다. 저에게 루비를 사사한 문식이형(강문식)은 그런 경험을 그냥 덮어두기에는 아까웠는지, 책을 한번 써보면 어떻겠냐고 하더군요. 제목은 위와 같이 이미 정했습니다만, 언제 어떻게 나올지는 아무도 모릅니다. 다만, 세상 이 변하는 가운데 세대의 교체를 자연스럽게 받아들이는 모습이 담담하게 쓰여져 있으리라 믿습니다. - 역자 서문- |
|
이 책은 JRuby on Rails를 처음 접해보는 분들을 위해 1일부터 9일 동안 차근차근 학습해 볼 수 있도록 구성하였으며 각 장마다 다음과 같은 코너로 구성돼 있습니다.
샘플소개 각 장에서 작성할 샘플을 소개합니다. 기초지식 각 장을 공부하기 전에 필요한 기초지식을 배워봅니다. 프로그램 작성순서 실제로 예제 프로그램을 작성할 순서를 소개합니다. 코드 설명 각 장에서 나온 예제 프로그램을 코드 중심으로 상세하게 설명하며, 본문에서 다 소개하지 못한 프로그램을 소개합니다. Q&A 각 장에서 궁금한 점에 대해 질문하고 답하는 코너입니다. 정리 각 장에서 공부한 내용을 간단하게 요약합니다. |