도서 소개
고성능 MVC 프레임워크의 모든 기능을 체계적으로 배우자!
MVC 프레임워크로서 각광받고 있는 루비 온 레일즈는 루비를 활용하여 RESTful한 웹 애플리케이션을 손쉽게 개발할 수 있다는 점이 가장 큰 특징입니다. 이 책에서는 최신 루비 온 레일즈 4를 통해 루비 온 레일즈의 기본부터 MVC 모델을 이용한 웹 애플리케이션 개발, 라우팅이나 테스트 방법을 비롯해, 클라이언트 개발에 필요한 에셋 파이프라인이나 커피스크립트, SCSS, Ajax 등의 최신 기술 활용 방법까지 망라하고 있습니다. 또한, 캐싱, 국제화 대응(i18n), Bundler를 통해 관리하는 Gem을 이용한 기능 확장이나 Heroku 등의 PaaS에 배포하는 방법에 대해서도 설명합니다.
Rails는 다른 프로그래밍 언어에 경험이 있는 개발자라면 가이드 문서와 API 문서를 통해 쉽게 적응할 수 있는 편입니다. 하지만 어떻게 만드는 게 Rails way에 맞는지, 혹은 왜 그렇게 하는지 파악하기란 쉽지 않습니다. 이 책은 Rails와 관련된 전체적인 기능을 다루는 책입니다. 책을 진행하면서 무엇을 만들어 나간다기보다는, 무엇을 만들 때 사용할 수 있는 기능들을 하나하나 알려줍니다.
이 책은 Rails를 새로 접하시는 분, 기존에 접하셨던 분 모두를 위해 Rails를 전반적으로 다루고 친절한 설명이 가득한 Rails 도서입니다. 프론트엔드부터 백엔드까지 Rails로 가능한 모든 기능에 관한 설명과 예시가 자세히 제공되어 초심자가 이해하기도 쉽고, Rails를 다뤄본 경험이 있더라도 항상 곁에 두고 참고할 수 있는 도서입니다. 이 책을 통해 많은 분이 Ruby와 Rails의 아름다움에 흠뻑 빠질 수 있기를 기원합니다.
지은이 소개
야마다 요시히로(山田 祥寛)
일본 시즈오카현 하이바라 출신으로 히토츠바시 대학 경제학부를 졸업하고 NEC에서 시스템 기획 업무를 담당했으나, 2003년 4월에 염원하던 프리랜서 작가로 전업하였다. ASP/ASP.NET 분야 마이크로소프트 MVP이자 집필 커뮤니티인 'WINGS 프로젝트'의 대표이기도 하다. 주요 저서로는 《자바스크립트 마스터 북》, 《자바스크립트 라이브러리 실전 활용》, 《PHP 라이브러리와 활용 예제》, 《서버사이드 Ajax》 등이 있다.
옮긴이 소개
윤인성
픽시브에서 하릴없이 웹 코믹을 읽다 일본어를 배운 평범한 번역자다. 취미는 기타와 피아노 연주로, 최근에는 가야금과 샤미센도 배우는 중이다. 《모던 웹을 위한 JavaScript + jQuery 입문》, 《모던 웹을 위한 Node.js 프로그래밍》, 《모던 웹 디자인을 위한 HTML5+CSS3 입문》 등을 저술하였으며, 《TopCoder 알고리즘 트레이닝》과 《소셜 코딩으로 이끄는 GitHub 실천 기술》 등을 번역했다.
차례
[도입편] 제1장 | 소개 4
1.1 Rails 프레임워크 2
1.2 Rails 환경 구축 11
[도입편] 제2장 | Ruby on Rail s 기본 25
2.1 애플리케이션 작성 26
2.2 컨트롤러의 기본 32
2.3 뷰 기본 41
2.4 모델 기본 52
2.5 Rails 설정 정보 68
[도입편] 제3장 | 스캐폴딩 기능을 사용한 Rails 개발 기초 73
3.1 스캐폴딩 기능으로 애플리케이션 개발 74
3.2 목록 화면 작성 81
3.3 상세 화면 작성 90
3.4 새로운 데이터 등록 화면 작성(new/create 액션) 93
3.5 수정 화면 작성(edit/update 액션) 103
3.6 제거 기능 확인(destroy 액션) 108
3.7 준비: 이 책에서 사용하는 데이터베이스 109
[기본편] 제4장 | 뷰 개발 115
4.1 Rails 프레임워크 116
4.2 문자열이나 숫자 관련 뷰 헬퍼 153
4.3 링크 관련 뷰 헬퍼 171
4.4 외부 리소스 지정을 위한 뷰 헬퍼 179
4.5 그 이외의 뷰 헬퍼 187
4.6 사용자 정의 뷰 헬퍼 192
4.7 애플리케이션 공통 디자인 정의 — 레이아웃 199
4.8 템플릿의 일부를 페이지끼리 공유 — 부분 템플릿 209
[기본편] 제5장 | 모델 개발 219
5.1 데이터 추출 기본 — find 메서드 220
5.2 복잡한 조건으로 검색 처리 — 쿼리 메서드 225
5.3 데이터 추출을 위한 추가 메서드 244
5.4 레코드 추가/수정/제거 254
5.5 유효성 검사 구현 269
5.6 Association으로 여러 개의 테이블 처리 294
5.7 콜백 323
5.8 마이그레이션 328
[기본편] 제6장 | 컨트롤러 개발 353
6.1 요청 정보 354
6.2 응답 373
6.3 HTML 이외의 응답 처리 385
6.4 상태 관리 397
6.5 필터 410
6.6 애플리케이션 공통 기능 정의 — Application 컨트롤러 424
[응용편] 제7장 | 라우팅 435
7.1 RESTful 인터페이스 436
7.2 RESTful 인터페이스의 사용자 정의화 442
7.3 RESTful하지 않은 라우트 정의의 기본 — match 메서드 457
[응용편] 제8장 | 테스트 463
8.1 테스트 464
8.2 테스트 준비 466
8.3 Unit 테스트 468
8.4 Functional 테스트 476
8.5 Integration 테스트 484
[응용편] 제9장 | 클라이언트 개발 489
9.1 자바스크립트와 스타일시트 임포트 490
9.2 에셋 파이프라인 496
9.3 커피스크립트 500
9.4 Sass(SCSS) 529
9.5 Ajax 개발 540
9.6 터보링크 557
[응용편] 제10장 | Rails의 고급 기능 567
10.1 메일 전송 — 액션 메일러 568
10.2 캐시 기능 구현 583
10.3 애플리케이션 국제화 대응 — I18n API 592
10.4 Rails 기능 확장 611
10.5 실제 배포 환경 617