목차

역자 서문 / 2판 서문

 

1장 레일스 소개

1.1 레일스는 애자일하다
1.2 이 책의 구성
1.3 감사의 말

 

1부 시작하기

 

2장 레일스 애플리케이션의 아키텍처

2.1 모델, 뷰, 컨트롤러
2.2 액티브 레코드 : 레일스의 모델을 지원
2.3 액션 팩 : 뷰와 컨트롤러

 

3장 레일스 설치

3.1 레일스를 시작하기 위해 필요한 것들
3.2 윈도우에 설치하기
3.3 맥 OS X에 설치하기
3.4 리눅스에 설치하기
3.5 개발 환경
3.6 레일스와 데이터베이스
3.7 최신 상태로 유지하기
3.8 레일스와 인터넷 서비스 제공업체

 

4장 레일스 둘러보기

4.1 새로운 애플리케이션 만들기
4.2 반갑다, 레일스!
4.3 페이지들을 연결해 보자
4.4 지금까지 한 일

 

2부 애플리케이션 구축

 

5장 창고 애플리케이션

5.1 점진적 개발
5.2 창고가 하는 일
5.3 코딩 시작

 

6장 태스크 A: 제품 관리하기

6.1 반복주기 A1: 뭔가 돌아가게 하기
6.2 반복주기 A2: 빠진 열 추가하기
6.3 반복주기 A3: (유효성을) 검증하라!
6.4 반복주기 A4: 목록 예쁘게 꾸미기

 

7장 태스크 B: 카탈로그 보여주기

7.1 반복주기 B1 : 카탈로그 목록 만들기
7.2 반복주기 B2: 페이지 레이아웃 추가하기
7.3 반복주기 B3: 헬퍼를 사용하여 가격 형식화하기
7.4 반복주기 B4: 장바구니로 링크하기

 

8장 태스크 C: 장바구니 생성

8.1 세션
8.2 반복주기 C1 : 장바구니 생성하기
8.3 반복주기 C2 : 더 똑똑한 장바구니
8.4 반복주기 C3: 에러 처리하기
8.5 반복주기 C4: 장바구니 작업 끝내기

 

9장 태스크 D : AJAX 대시보드 추가

9.1 반복주기 D1 : 장바구니 옮기기
9.2 반복주기 D2 : AJAX 기반의 장바구니
9.3 반복주기 D3 : 변경 내용 강조하기
9.4 반복주기 D4 : 빈 장바구니 숨기기
9.5 반복주기 D5 : 자바스크립트가 비활성화되었을 때 기능 축소하기
9.6 지금까지 한 일

 

10장 태스크 E : 계산!

10.1 반복주기 D1 : 주문 입력 받기

 

11장 태스크 F : 관리기능

11.1 반복주기 F1 : 사용자 추가하기
11.2 반복주기 F2 : 로그인
11.3 반복주기 F3 : 접근 권한 제한하기
11.4 반복주기 F4 : 사이드바, 더 많은 관리 기능

 

12장 태스크 G : 매우 작은 마지막 변경

12.1 XML 피드 생성하기
12.2 끝내기

 

13장 태스크 T: 테스트

13.1 잘 구워진 테스트
13.2 모델에 대한 단위 테스트
13.3 컨트롤러에 대한 기능 테스트
13.4 애플리케이션에 대한 통합 테스트
13.5 성능 테스트
13.6 모의 객체 사용하기

 

3부 레일스 프레임워크

 

14장 레일스 깊이 들여다보기

14.1 레일스는 어디 있는 거요?
14.2 디렉터리 구조
14.3 레일스 구성 설정
14.4 이름 짓기 관례
14.5 레일스의 로깅
14.6 디버깅 힌트
14.7 다음 차례

 

15장 액티브 서포트

15.1 범용적으로 사용 가능한 확장들
15.2 열거(Enumerations)와 배열
15.3 문자열 확장
15.4 수에 대한 확장
15.5 시간과 날짜 확장
15.6 루비 심벌에 대한 확장
15.7 with_options
15.8 유니코드 지원

 

16장 마이그레이션

16.1 마이그레이션 생성하고 실행하기
16.2 마이그레이션의 해부
16.3 테이블 관리하기
16.4 데이터 마이그레이션
16.5 고급 마이그레이션 기법
16.6 마이그레이션이 깨졌을 때
16.7 마이그레이션 밖에서 스키마 조작하기
16.8 마이그레이션 관리하기

 

17장 액티브 레코드 : 기본기

17.1 테이블과 클래스
17.2 열과 속성
17.3 기본 키와 ID
17.4 데이터베이스 연결하기
17.5 CRUD – 생성, 조회, 갱신, 삭제
17.6 집합연관과 구조화된 데이터
17.7 기타

 

18장 액티브 레코드 : 테이블 간의 관계

18.1 외래 키 만들기
18.2 모델에 관계 명시하기
18.3 belongs_to와 has_xxx 선언
18.4 복수 테이블의 조인
18.5 자기를 참조하는 조인
18.6 Acts As
18.7 뭔가 저장될 때
18.8 자식 행을 미리 불러오기(preloading)
18.9 카운터

 

19장 액티브 레코드: 객체 라이프 사이클

19.1 유효성 검증
19.2 콜백
19.3 고급 속성
19.4 트랜잭션

 

20장 액션 컨트롤러: 라우팅과 URL

20.1 기초
20.2 요청을 라우팅하기

 

21장 액션 컨트롤러와 레일스

21.1 액션 메서드
21.2 쿠키와 세션
21.3 플래시 : 액션 간에 커뮤니케이션하기
21.4 필터와 검사
21.5 캐싱, 제 1부
21.6 GET 요청과 관련된 문제

 

22장 액션 뷰

22.1 템플릿
22.2 헬퍼 사용하기
22.3 형식화, 링크, 페이지 매기기 헬퍼
22.4 폼의 작동 원리
22.5 모델 객체를 감싸는 폼
22.6 사용자 정의 폼 빌더
22.7 비모델(nonmodel) 필드로 작업하기
22.8 레일스 애플리케이션으로 파일 업로드하기
22.9 레이아웃과 컴포넌트
22.10 캐싱, 제 1부
22.11 새로운 템플릿 시스템 추가하기

 

23장 웹 2.0

23.1 프로토타입
23.2 script.aculo.us
23.3 RJS 템플릿
23.4 결론

 

24장 액션 메일러

24.1 이메일 보내기
24.2 이메일 받기
24.3 이메일 테스트하기

 

25장 레일스에서의 웹 서비스

25.1 무엇이 AWS인가(또 무엇이 AWS가 아닌가)
25.2 API 정의
25.3 디스패칭 모드
25.4 다른 디스패칭 모드 사용하기
25.5 메서드 실행 가로채기
25.6 웹 서비스 테스트하기
25.7 프로토콜 클라이언트

 

4부 애플리케이션 보안과 배치

 

26장 레일스 애플리케이션 안전하게 지키기

26.1 SQL 주입
26.2 폼 매개변수에서 레코드를 직접 생성하기
26.3 ID 매개변수를 신뢰하지 마라
26.4 컨트롤러 메서드를 드러내지 마라
26.5 크로스 사이트 스크립팅(CSS/XSS)
26.6 세션 고정 공격 피하기
26.7 파일 업로드
26.8 민감한 정보를 아무도 책임지지 않는 곳에 저장하지 마라
26.9 민감한 정보를 전달할 때에는 SSL을 사용해라
26.10 인증된 페이지들을 은닉하지 마라
26.11 작동하는지 알아보기

 

27장 배치와 실전

27.1 일찍 시작하기
27.2 실전 서버 작동 방식
27.3 프런트엔드 서버 비교하기
27.4 카피스트라노를 이용한 반복 가능한 배치
27.5 배치 환경 설정하기
27.6 배치된 애플리케이션 점검
27.7 실전 애플리케이션에 관련한 허드렛일
27.8 배치를 넘어서

 

5부 부록

 

부록 A 루비 개요

A.1 루비는 객체지향 언어다.
A.2 루비 이름
A.3 메서드
A.4 클래스
A.5 모듈
A.6 배열과 해시
A.7 제어 구조
A.8 정규표현식
A.9 블록과 반복자
A.10 예외
A.11 마샬링(marshaling) 객체
A.12 대화형 루비 셸(Interactive Ruby)
A.13 루비 관용어
A.14 RDoc 문서화

 

부록 B 매개변수 설정

B.1 최상위 설정
B.2 액티브 레코드 설정
B.3 액션 컨트롤러 설정
B.4 액션 뷰 설정
B.5 액션 메일러 설정
B.6 테스트 케이스(Test Case) 설정

 

부록 C 소스코드

C.1 창고 애플리케이션 전체 소스

 

부록 D 자료

D.1 온라인 자료
D.2 참고 자료

 

찾아보기