본문 바로가기

도서 소개

AngularJS 인 액션

 

이 책은 현재 절판입니다. 그간 읽어주신 독자들께 감사드립니다.

단계별로 배우는 대화형 웹 애플리케이션!

트렐로(Trello)와 유사한 안젤로(Angello)를 만들며 배우는 AngularJS 학습서!

 

출판사 제이펍

원출판사 Manning

원서명 AngularJS in Action(ISBN: 9781617291333)

저자명 루카스 루벨키, 브라이언 포드

역자명 장현희

출판일 2015년 12월 22일

페이지 252쪽

시리즈 (없음)

판 형 (188*245*15)

제 본 무선(soft cover)

정 가 22,000원

ISBN 979-11-85890-39-5 (93000)

키워드 뷰, 컨트롤러, 모델, 서비스, 디렉티브, 대화형 웹 페이지, 자바스크립트, 웹사이트, 프런트엔드, Node.js, MongoDB

분야 웹 프로그래밍 / 자바스크립트

 

관련 사이트
 
관련 포스트
관련 시리즈
■ (없음)
 
관련 도서
 
관련 파일 다운로드
 
 
 
강의 자료
(교재로 채택하신 분들은 출판사로 메일을 보내주세요) => jeipubmarketer@gmail.com
■ 예제 소스
■ 본문의 그림과 표
 
샘플 PDF
■ 차례, 추천사, 옮긴이 머리말, 머리말, 감사의 말, 이 책에 대하여, 베타리더 후기, 1장 '안녕하세요, AngularJS'
정오표 페이지
■ (등록되는 대로 링크를 걸어드리겠습니다)
 
도서구매 사이트(가나다순)
 

도서 소개

단계별로 배우는 대화형 웹 애플리케이션!

트렐로(Trello)와 유사한 안젤로(Angello)를 만들며 배우는 AngularJS 학습서!

 

AngularJS는 자바스크립트 기반의 프레임워크로서 동적인 대화형 웹 애플리케이션을 표준 정적 페이지와 같은 방식으로 개발할 수 있다. AngularJS는 기본적인 애플리케이션을 구현하는 데 필요한 기능 대부분을 내장하고 있지만, 사용자가 이런 기능들을 더욱 확장할 수도 있다. 직관적이면서 변경과 테스트도 쉬운 AngularJS를 이용하면 한층 품질 높은 애플리케이션을 개발할 수 있을 것이다.

 

《AngularJS 인 액션》은 AngularJS를 처음 배우는 사람에게 적합한 책이다. 대화형 단일 페이지 웹 인터페이스를 개발하는 방법, MVVM과 같은 최신 패턴을 적용하고 백엔드 서버와의 상호작용과 같은 다양한 작업 방법을 배울 수 있다. 또한, 모든 예제에 관해 충분한 해설과 그림을 제공하고 있으며, 예제 코드에도 상세한 해설이 곁들여져 있다.

 

이 책의 주요 내용과 특징은 다음과 같다.

 

■ AngularJS로 애플리케이션 개발을 시작하는 방법

■ 자신만의 컴포넌트를 작성하는 방법

■ 애플리케이션 아키텍처에 대한 모범 사례

■ 예제 애플리케이션을 단계별로 완성하는 과정에 관한 자세한 해설

■ 최신 버전의 AngularJS로 예제 애플리케이션의 지속적인 업데이트 예정

 

지은이 소개

루카스 루벨키(Lukas Ruebbelke)

루카스는 2001년에 플래시 프로그래밍을 시작한 이래 지금까지 전문 웹 개발자로 지내고 있다. 웹과 브라우저의 발전으로 자바스크립트에 많은 관심을 두게 되었으며, 최근에는 블로그와 강연 등을 통해 AngularJS 커뮤니티에 왕성하게 기여하고 있다.

 

브라이언 포드(Brian Ford)

브라이언은 구글의 Angular 코어팀에서 근무하는 개발자다. 종종 자신을 ‘팀에서 가장 꼰대’라고 표현하기도 하는 그는 미시건 주립 대학에서 컴퓨터 공학을 전공하던 중 Angular 코어 개발에 참여하면서 커뮤니티에 기여하기 시작했다.

 

옮긴이 소개

장현

16년째 개발자의 길을 걷고 있는 옮긴이는 지난 15년간 총 18권의 개발 관련서를 집필하거나 번역했다. 현재는 호주 시드니에 있는 ROKT에서 시니어 개발자로 근무 중이며, 국내 개발자들에게 조금이라도 도움이 되는 번역서를 만들기 위해 틈틈이 노력하고 있다. 앞으로도 책이라는 매개체를 통해 멀리서나마 국내 개발자들과 계속해서 소통할 계획이다.

 

차례

PART I AngularJS와 친해지기 1

CHAPTER 1 안녕하세요, AngularJS 3

1.1 AngularJS의 장점 4

1.2 AngularJS의 큰 그림 살펴보기 7

1.3 첫 번째 AngularJS 애플리케이션 8

1.3.1 모듈 12

1.3.2 뷰와 컨트롤러 13

1.3.3 서비스 18

1.3.4 디렉티브 21

1.4 요약 23

더보기

CHAPTER 2 AngularJS 애플리케이션 구성하기 25

2.1 안젤로 살펴보기 25

2.2 AngularJS 애플리케이션 구조 29

2.3 안젤로의 기반 살펴보기 31

2.4 라우트의 구성 및 탐색 33

2.5 몇 가지 모범 사례 37

2.6 요약 39

 

PART II AngularJS 제대로 활용하기 41

CHAPTER 3 뷰와 컨트롤러 43

3.1 큰 그림 44

3.2 AngularJS에서의 뷰의 정의 46

3.3 AngularJS에서의 컨트롤러의 정의 48

3.3.1 다이제스트 주기 48

3.3.2 controller-as 문법 50

3.3.3 AngularJS의 이벤트 51

3.4 속성과 표현식 52

3.4.1 ngRepeat를 이용해서 스토리 표시하기 52

3.4.2 필터 56

3.4.3 표현식 58

3.5 모범 사례 및 테스트 65

3.6 요약 68

 

CHAPTER 4 모델과 서비스 69

4.1 모델 및 서비스의 개념 70

4.1.1 서비스 이해하기 71

4.1.2 서비스의 생명주기 72

4.1.3 서비스의 종류 73

4.2 $http를 이용한 모델 76

4.2.1 $http 서비스란? 77

4.2.2 첫 모델 구현하기 77

4.2.3 $http 서비스의 편의 메서드들 79

4.3 프라미스 82

4.3.1 프로미스란 무엇일까? 82

4.3.2 프로미스 활용하기 82

4.3.3 $http.success와 $http.error 메서드 85

4.3.4 프로미스를 이용해 코드를 순차적으로 실행하기 86

4.4 $http 인터셉터 87

4.4.1 인터셉터가 필요한 이유 87

4.4.2 인터셉터의 활용 87

4.5 서비스 데코레이터 89

4.5.1 왜 데코레이터가 필요할까? 89

4.5.2 로그 개선하기 89

4.6 테스트에 대한 고려 91

4.6.1 서비스 테스트하기 91

4.6.2 $httpBackend 서비스를 이용해서 원격 서버를 모의 호출하기 93

4.6.3 모범 사례 95

4.7 요약 96

 

CHAPTER 5 디렉티브 97

5.1 디렉티브 소개 97

5.1.1 디렉티브란 무엇인가? 97

5.1.2 디렉티브가 필요한 이유 98

5.1.3 왜 우리는 디렉티브를 원하는가? 98

5.2 디렉티브 기초 다지기 99

5.2.1 사용자 스토리 디렉티브 99

5.3 고급 기능들 107

5.3.1 드래그 앤 드롭 기능 107

5.3.2 drag-container 디렉티브 적용하기 110

5.3.3 컨트롤러 구현하기 110

5.3.4 drop-container 디렉티브 구현하기 112

5.3.5 drop-container 디렉티브 활용하기 115

5.3.6 컨트롤러 구현하기 115

5.3.7 drop-target 디렉티브 구현하기 123

5.3.8 drop-target 디렉티브의 활용 125

5.3.9 컨트롤러 구현하기 126

5.3.10 $dragging 서비스 구현하기 127

5.3.11 StoryboardCtrl 컨트롤러 수정하기 128

5.4 서드파티 라이브러리 다시 활용하기 130

5.4.1 Flot 설치하기 131

5.4.2 디렉티브 구현하기 132

5.4.3 디렉티브 활용하기 132

5.4.4 데이터 처리하기 133

5.4.5 이제는 ‘격리된 스코프’에 대해 살펴볼 시간 134

5.4.6 최종 마무리: Flot 통합하기 137

5.5 디렉티브 테스트하기 138

5.6 모범 사례 141

5.7 요약 141

 

CHAPTER 6 애니메이션 143

6.1 애니메이션 소개 143

6.1.1 AngularJS가 애니메이션을 처리하는 방식 144

6.1.2 애니메이션의 이름 규칙 145

6.1.3 애니메이션 활성화하기 145

6.2 CSS 트랜지션 146

6.2.1 기본 트랜지션 구현하기 147

6.2.2 ng-enter 트랜지션 정의하기 147

6.2.3 ng-leave 트랜지션 정의하기 147

6.2.4 이동 애니메이션 구현하기 148

6.3 CSS 애니메이션 150

6.3.1 기본 애니메이션 클래스 정의하기 150

6.3.2 애니메이션 키프레임 정의하기 151

6.3.3 요소에 이동 애니메이션 적용하기 154

6.4 자바스크립트 애니메이션 155

6.4.1 자바스크립트 애니메이션 정의하기 156

6.4.2 자바스크립트 애니메이션 이벤트 156

6.4.3 자바스크립트 애니메이션 클래스 157

6.4.4 TweenMax 라이브러리 158

6.4.5 애니메이션을 실제로 적용하기 159

6.5 테스트 160

6.6 모범 사례 160

6.7 요약 161

 

CHAPTER 7 라우트로 웹사이트 구성하기 163

7.1 AngularJS 라우팅 구성 요소 164

7.2 AngularJS에서 라우트 생성하기 165

7.2.1 ngRoute와 ngView를 이용해서 첫 번째 라우트 정의하기 165

7.2.2 ngView 추가하기 165

7.2.3 $routeProvider를 이용해서 라우트 설정하기 166

7.2.4 라우트 탐색 설정하기 167

7.2.5 리뷰 168

7.3 라우트에 매개변수 사용하기 168

7.3.1 리뷰 171

7.4 라우트에서 의존성 해석하기 171

7.4.1 리뷰 173

7.5 라우트 이벤트 173

7.5.1 리뷰 174

7.6 테스트 174

7.7 모범 사례 176

7.8 요약 176

 

CHAPTER 8 폼과 유효성 검사 179

8.1 AngularJS의 폼 유효성 검사 180

8.1.1 HTML 폼 요소 확장하기 180

8.1.2 유효성 검사 추가하기 182

8.1.3 유효성 검사와 CSS 187

8.1.4 폼 유효성 검사, $setPrisitine, 그리고 $setUntouched 188

8.2 테스트 188

8.3 모범 사례 192

8.4 요약 192

 

APPENDIX A 카르마 설치하기 193

APPENDIX B Node.js 서버 설정하기 212

APPENDIX C Firebase 서버 설정하기 219

APPENDIX D 안젤로 앱 실행하기 222