본문내용 바로가기
MD의선택 무료배송 이벤트 사은품 경품 소득공제

따라 하며 배우는 앵귤러 마스터북

네이트 머레이 , 필리피 커리, 아리 러너, 칼로스 타보다 지음 | 배장열 옮김 | 제이펍 | 2018년 01월 24일 출간

이 책의 다른 상품 정보

  • 정가 : 34,000원
    판매가 : 30,600 [10%↓ 3,400원 할인]
  • 통합포인트 :
    [기본적립] 1,700원 적립 [5% 적립] 안내 [추가적립] 5만원 이상 구매 시 2천원 추가적립 [회원혜택] 우수회원 5만원 이상 구매 시 2~3% 추가적립
  • 추가혜택 : 카드/포인트 안내 도서소득공제 안내 추가혜택 더보기
  • 배송비 : 무료 배송비 안내
  • 배송일정 : 서울특별시 종로구 세종대로 기준 지역변경
    10월 20일 출고 예정 배송일정 안내
  • 바로드림 : 인터넷으로 주문하고 매장에서 직접 수령 안내
장바구니 담기 바로구매

책 그리고 꽃 서비스
책 그리고 꽃 | 책과 꽃을 함께 선물하세요 자세히보기

닫기

바로드림 주문 선물하기 보관함 담기

이 책의 이벤트 해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.

  • 행사도서 포함 3만원 이상 구매 시, 개발자굿즈(양장 데스크노트..
    2018.09.18 ~ 2018.11.11
  • 프론트엔드 개발을 위한 약간의 가이드
    2018.02.02 ~ 2020.12.31
  • 제이펍의 도서를 한 눈에 살펴보세요
    2017.11.23 ~ 2019.12.31
  • #리드잇 페이스북 페이지 팔로우 하시고, 신간소식 빠르게 받아보..
    2017.06.22 ~ 2025.07.31
  • MANNING, O'REILLY, PACKT, WILE..
    2016.03.07 ~ 2020.12.31
  • 설문참여 시 매월 5명 추첨통해 선물을 드립니다.
    10. 14 ~ 12. 31
상품상세정보
ISBN 9791188621019(1188621017)
쪽수 648쪽
크기 191 * 249 * 33 mm /1255g 판형알림
이 책의 원서/번역서 Ang-Book/Createspace Independent Publishing Platform

책소개

이 책이 속한 분야

이 책의 주제어

단계별 예제를 만들면서 배우는, 앵귤러 마스터를 위한 완벽 가이드!

앵귤러는 다양하고 풍부한 기능으로 무장한 프레임워크다. 하지만 이는 모든 요소를 빠짐없이 이해하기가 만만치 않다는 뜻이기도 하다. 이 책에서는 각종 도구의 설치를 비롯해 컴포넌트 작성, 폼 사용, 페이지 간 라우팅, API 호출 등 앵귤러의 모든 것을 다룰 것이다.

상세이미지

앵귤러 마스터북(따라 하며 배우는) 도서 상세이미지

저자소개

저자 : 네이트 머레이

저자 네이트 머레이는 풀스택 개발자. 딥 러닝 기반 이미지 인식에서 고양이용 모바일 게임에 이르기까지 다양한 코드를 짜고 있다. IFTTT에서 일한 경험이 있으며, 데이터 마이닝과 웹 서비스 스케일링 지식을 갖췄다.

저자 : 필리피 커리

저자 필리피 커리는 Gistia Labs의 공통 창업자 및 CTO. 앵귤러JS와 루비 온 레일즈를 담당하고 있다. Angular.js 전략 구현을 목적으로 여러 대기업 CTO와도 협업하고 있다.

저자 : 아리 러너

저자 아리 러너는 ng-book 1의 저자. 오랫동안 앵귤러를 가르치고 있으며, 구글의 앵귤러 실무단 가운데 한 명이기도 하다. ng-conf, SF Angular, Mountain View AngularJS 등에서 발표자로 활동했다.

저자 : 칼로스 타보다

저자 칼로스 타보다는 Gistia Labs의 공동 창업자 및 디렉터. 앵귤러와 루비 온 레일즈의 개발팀 교육뿐만 아니라 풀스택의 엔지니어링 프로젝트들도 담당하고 있다.

역자 : 배장열

역자 배장열은 IT 전문 번역자. 옮긴 책으로는 《스케치로 시작하는 아두이노 프로그래밍(제2판)》, 《마인크래프트로 배우는 파이썬 프로그래밍》, 《리눅스 바이블(제9판)》 등을 비롯하여 20여 종이 있다.

목차

1장 첫 앵귤러 웹 애플리케이션 만들기 _ 1
1.1 단순한 레딧 클론 1
1.2 시작하기 4
1.2.1 Node.js와 npm 4
1.2.2 타입스크립트 4
1.2.3 브라우저 5
1.2.4 윈도우 사용자를 위한 특별 과정 5
1.3 앵귤러 CLI 5
1.3.1 예시 프로젝트 6
1.4 애플리케이션 코드 작성하기 10
1.4.1 애플리케이션 실행하기 10
1.5 컴포넌트에 데이터 추가하기 17
1.5.1 템플릿 렌더링하기 19
1.5.2 테스트하기 19
1.6 배열 다루기 20
1.7 UserItemComponent 사용하기 23
1.7.1 UserItemComponent 렌더링하기 23
1.7.2 입력 받기 24
1.7.3 입력값 전달하기 25
1.8 부트스트랩 속성 과정 27
1.8.1 declarations 28
1.8.2 imports 28
1.8.3 providers 28
1.8.4 bootstrap 29
1.9 애플리케이션 확장하기 29
1.9.1 CSS 추가하기 30
1.9.2 애플리케이션 컴포넌트 31
1.9.3 인터랙션 추가하기 32
1.9.4 ArticleComponent 추가하기 36
1.10 여러 행 렌더링하기 44
1.10.1 Article 클래스 만들기 44
1.10.2 여러 Article 저장하기 49
1.10.3 Input으로 ArticleComponent 설정하기 50
1.10.4 Articles 리스트 렌더링하기 52
1.11 새 Article 추가하기 54
1.12 마무리 손길 55
1.12.1 Article 도메인 표시하기 55
1.12.2 점수별로 재정렬하기 56
1.13 배포 57
1.13.1 앱을 제품으로 빌드하기 57
1.13.2 서버로 업로드하기 58
1.14 전체 코드 59
1.15 정리 59

2장 타입스크립트 _ 60
2.1 앵귤러 4, 타입스크립트로 만들어지다 60
2.2 타입스크립트로 무엇을 얻을 수 있나? 62
2.3 타입 62
2.3.1 REPL 경험하기 64
2.4 내장 타입 64
2.4.1 string 64
2.4.2 number 64
2.4.3 boolean 65
2.4.4 Array 65
2.4.5 열거형 65
2.4.6 any 66
2.4.7 void 66
2.5 클래스 66
2.5.1 프로퍼티 67
2.5.2 메서드 67
2.5.3 컨스트럭터 69
2.5.4 상속 71
2.6 유틸리티 72
2.6.1 살찐 화살표 함수 72
2.6.2 템플릿 문자열 74
2.7 정리 75

3장 앵귤러는 어떻게 동작하는가 _ 76
3.1 애플리케이션 77
3.1.1 내비게이션 컴포넌트 78
3.1.2 브레드크럼 컴포넌트 78
3.1.3 제품 리스트 컴포넌트 78
3.2 이 장의 사용법 80
3.3 제품 모델 81
3.4 컴포넌트 82
3.5 컴포넌트 데코레이터 84
3.5.1 컴포넌트 selector 84
3.5.2 컴포넌트 template 84
3.5.3 Product 추가하기 85
3.5.4 템플릿 바인딩으로 Product 보기 87
3.5.5 Product 더 많이 추가하기 87
3.5.6 Product 선택하기 89
3.5.7 를 사용하여 제품 리스트 출력하기 89
3.6 ProductsListComponent 컴포넌트 92
3.6.1 ProductsListComponent의 @Component 옵션 설정하기 93
3.6.2 컴포넌트 입력 94
3.6.3 컴포넌트 출력 95
3.6.4 커스텀 이벤트 배출하기 96
3.6.5 ProductsListComponent 컨트롤러 클래스 작성하기 98
3.6.6 ProductsListComponent 뷰 템플릿 작성하기 99
3.6.7 ProductsListComponent 컴포넌트 전체 코드 101
3.7 ProductRowComponent 컴포넌트 103
3.7.1 ProductRowComponent 설정 103
3.7.2 ProductRowComponent 템플릿 104
3.8 ProductImageComponent 컴포넌트 105
3.9 PriceDisplayComponent 컴포넌트 106
3.10 ProductDepartmentComponent 컴포넌트 106
3.11 NgModule과 앱 시동하기 108
3.11.1 앱 시동하기 109
3.12 완성된 프로젝트 110
3.13 앱 배포하기 111
3.14 덧붙여: 데이터 아키텍처 111

4장 내장 지시자 _ 113
4.1 소개 113
4.2 ngIf 114
4.3 ngSwitch 114
4.4 NgStyle 116
4.5 NgClass 118
4.6 NgFor 121
4.6.1 인덱스 얻기 125
4.7 NgNonBindable 126
4.8 결론 127

5장 앵귤러의 폼 _ 128
5.1 폼은 중요하다. 그리고 복잡하다 128
5.2 FormControl과 FormGroup 129
5.2.1 FormControl 129
5.2.2 FormGroup 130
5.3 첫 번째 폼 130
5.3.1 FormsModule 로드하기 131
5.3.2 단순 SKU 폼: @Component 데코레이터 133
5.3.3 단순 SKU 폼: template 133
5.3.4 단순 SKU 폼: 컴포넌트 정의 클래스 136
5.3.5 테스트하기 137
5.4 FormBuilder 사용하기 138
5.5 FormBuilder로 만드는 리액티브 폼 139
5.5.1 FormBuilder 사용하기 139
5.5.2 뷰에서 myForm 사용하기 140
5.5.3 테스트하기 141
5.6 검증 추가하기 143
5.6.1 명시적으로 sku FormControl을 인스턴스 변수로 설정하기 144
5.6.2 맞춤형 검증 149
5.7 변경 내용 주시하기 150
5.8 ngModel 152
5.9 정리 154

6장 의존성 주입 _ 155
6.1 주입 예: PriceService 156
6.2 의존성 주입 요소들 160
6.3 인젝터 다루기 161
6.4 NgModule과 의존성 다루기 164
6.4.1 providers는 키다 166
6.5 제공자 166
6.5.1 클래스 사용하기 166
6.5.2 팩토리 사용하기 170
6.6 앱의 의존성 주입 173
6.7 참고 리소스 174

7장 HTTP _ 175
7.1 소개 175
7.2 @angular/common/http 사용하기 176
7.2.1 @angular/http에서 가져오기 176
7.3 기본 요청 177
7.3.1 SimpleHttpComponent 컴포넌트 만들기 178
7.3.2 SimpleHttpComponent 템플릿 만들기 178
7.3.3 SimpleHttpComponent 컨트롤러 만들기 179
7.3.4 SimpleHttpComponent 전체 코드 181
7.4 YouTubeSearchComponent 작성하기 181
7.4.1 SearchResult 작성하기 183
7.4.2 YouTubeSearchService 작성하기 184
7.4.3 SearchBoxComponent 작성하기 189
7.4.4 SearchResultComponent 작성하기 196
7.4.5 YouTubeSearchComponent 작성하기 197
7.5 @angular/http API 201
7.5.1 POST 요청 수행하기 201
7.5.2 PUT / PATCH / DELETE / HEAD 201
7.6 맞춤형 HTTP 헤더 202
7.7 정리 202

8장 라우팅 _ 203
8.1 라우팅은 왜 필요할까? 203
8.2 클라이언트 사이드 라우팅의 동작 방식 204
8.2.1 시작: 앵커 태그 사용하기 205
8.2.2 진화: HTML5 클라이언트 사이드 라우팅 206
8.3 첫 라우트 작성하기 206
8.4 앵귤러 라우팅의 구성 요소들 207
8.4.1 imports 207
8.4.2 라우트 설치하기 209
8.4.3 RouterOutlet: 사용하기 209
8.4.4 RouterLink: [routerLink] 사용하기 211
8.5 모두 합치기 212
8.5.1 컴포넌트 만들기 213
8.5.2 애플리케이션 컴포넌트 215
8.5.3 라우트 설정하기 216
8.6 라우팅 전략 218
8.7 애플리케이션 실행하기 219
8.8 라우트 파라미터 220
8.8.1 ActivatedRoute 220
8.9 음악 검색 앱 221
8.9.1 첫 단계 223
8.9.2 SpotifyService 224
8.9.3 SearchComponent 225
8.9.4 검색 시도하기 232
8.9.5 음악 검색 마무리하기 235
8.10 라우터 훅 236
8.10.1 AuthService 236
8.10.2 LoginComponent 238
8.10.3 ProtectedComponent와 라우트 가드 239
8.11 라우트 중첩 244
8.11.1 라우트 설정하기 244
8.11.2 ProductsModule 245
8.12 정리 249

9장 앵귤러 4의 데이터 아키텍처 _ 250
9.1 데이터 아키텍처 개요 250
9.1.1 앵귤러 4의 데이터 아키텍처 252

10장 옵저버블 데이터 아키텍처 1부 ― 서비스 _ 253
10.1 옵저버블과 RxJS 253
10.1.1 노트: 필요한 RxJS 지식 253
10.1.2 반응형 프로그래밍과 RxJS 배우기 254
10.2 대화 앱 개요 255
10.2.1 컴포넌트 256
10.2.2 모델 257
10.2.3 서비스 258
10.2.4 정리 258
10.3 모델 구현하기 258
10.3.1 User 259
10.3.2 Thread 259
10.3.3 Message 260
10.4 UsersService 구현하기 261
10.4.1 currentUser의 스트림 262
10.4.2 새 사용자 설정하기 262
10.4.3 UserService.ts 264
10.5 MessagesService 264
10.5.1 newMessages 스트림 265
10.5.2 messages 스트림 266
10.5.3 Operation 스트림 패턴 266
10.5.4 스트림 공유하기 268
10.5.5 messages 스트림에 Message 추가하기 269
10.5.6 완성된 MessagesService 273
10.5.7 MessagesService 테스트하기 275
10.6 ThreadsService 277
10.6.1 현재 Thread 집합의 맵(threads에서) 277
10.6.2 최신 스레드가 맨 위에 보이는 시간별 Thread 리스트(orderedthreads에서) 281
10.6.3 현재 선택된 Thread(currentThread에서) 282
10.6.4 현재 선택된 Thread에 사용할 Message 리스트(currentThreadMessages에서) 283
10.6.5 완성된 ThreadsService 286
10.7 데이터 모델 정리 288

11장 옵저버블 데이터 아키텍처 2부 ― 뷰 컴포넌트 _ 289
11.1 뷰 빌드하기: 최상위 컴포넌트, ChatApp 289
11.2 ChatThreadsComponent 291
11.2.1 ChatThreadsComponent 템플릿 292
11.3 단일 ChatThreadComponent 293
11.3.1 ChatThreadComponent 컨트롤러와 ngOnInit 294
11.3.2 ChatThreadComponent 템플릿 295
11.4 ChatWindowComponent 295
11.4.1 ChatWindowComponent 클래스 프로퍼티 296
11.5 ChatMessageComponent 305
11.5.1 ChatMessageComponent 템플릿 306
11.6 ChatNavBarComponent 308
11.6.1 ChatNavBarComponent @Component 308
11.6.2 ChatNavBarComponent 템플릿 310
11.7 정리 310

12장 리덕스와 함께하는 타입스크립트 _ 312
12.1 리덕스 313
12.1.1 리덕스: 핵심 개념 314
12.2 코어 리덕스 개념 315
12.2.1 리듀서란 무엇일까? 315
12.2.2 Action과 Reducer 인터페이스 정의하기 315
12.2.3 첫 Reducer 만들기 316
12.2.4 첫 Reducer 실행하기 317
12.2.5 동작으로 카운터 조정하기 318
12.2.6 리듀서 switch 319
12.2.7 동작의 ‘인수’ 320
12.3 상태 저장하기 321
12.3.1 저장소 사용하기 323
12.3.2 subscribe로 알림 받기 323
12.3.3 리덕스 코어 327
12.4 메시지 앱 327
12.4.1 메시지 앱의 state 328
12.4.2 메시지 앱의 action 328
12.4.3 메시지 앱의 reducer 329
12.4.4 동작 테스트하기 332
12.4.5 동작 생성자 333
12.4.6 진짜 리덕스 사용하기 335
12.5 앵귤러에서 리덕스 사용하기 336
12.6 앱 기획하기 337
12.7 리덕스 설정하기 338
12.7.1 애플리케이션 상태 정의하기 338
12.7.2 리듀서 정의하기 338
12.7.3 동작 생성자 정의하기 339
12.7.4 저장소 만들기 340
12.8 저장소 제공하기 341
12.9 앱 시동하기 343
12.10 AppComponent 344
12.10.1 import 344
12.10.2 템플릿 345
12.10.3 constructor 346
12.10.4 모두 합치기 347
12.11 앞으로 갈 곳 348
12.12 참조 348

13장 중급자를 위한 앵귤러 리덕스 _ 350
13.1 이 장의 관점 351
13.2 대화 앱 조감도 351
13.1 이 장의 관점 351
13.2.1 컴포넌트 352
13.2.2 모델 352
13.2.3 리듀서 353
13.2.4 정리 353
13.3 모델 구현하기 353
13.3.1 User 354
13.3.2 Thread 354
13.3.3 Message 355
13.4 앱 상태 355
13.4.1 효율적인 코드 레이아웃 356
13.4.2 루트 리듀서 356
13.4.3 UsersState 357
13.4.4 ThreadsState 357
13.4.5 AppState 시각화하기 359
13.5 리듀서(그리고 동작 생성자) 빌드하기 360
13.5.1 현재 사용자 동작 생성자 설정하기 360
13.5.2 UsersReducer ― 현재 사용자 설정하기 361
13.5.3 스레드와 메시지 개요 362
13.5.4 새 스레드 동작 생성자 추가하기 362
13.5.5 새 스레드 리듀서 추가하기 363
13.5.6 동작 생성자에 새 메시지 추가하기 364
13.5.7 새 메시지 리듀서 추가하기 365
13.5.8 스레드 동작 생성자 선택하기 366
13.5.9 스레드 리듀서 선택하기 367
13.5.10 리듀서 정리 368
13.6 앵귤러 대화 앱 빌드하기 369
13.6.1 ChatApp 최상위 컴포넌트 370
13.6.2 ChatPage 컴포넌트 371
13.6.3 컨테이너 vs. 표현용 컴포넌트 372
13.7 ChatNavBarComponent 빌드하기 374
13.7.1 리덕스 셀렉터 375
13.7.2 Threads 셀렉터 376
13.7.3 읽지 않은 메시지 개수 셀렉터 378
13.8 ChatThreadsComponent 빌드하기 379
13.8.1 ChatThreadsComponent 컨트롤러 379
13.8.2 ChatThreadsComponent 템플릿 381
13.9 단일 ChatThreadComponent 381
13.9.1 ChatThreadComponent 템플릿 383
13.10 ChatWindowComponent 빌드하기 384
13.11 ChatMessageComponent 391
13.11.1 incoming 설정하기 391
13.11.2 ChatMessageComponent 템플릿 392
13.12 정리 393

14장 컴포넌트 고급 _ 395
14.1 스타일 396
14.1.1 뷰(스타일) 캡슐화 398
14.1.2 Shadow DOM 캡슐화 401
14.1.3 캡슐화 금지 403
14.2 팝업 만들기 ― 호스트 요소 참조하기와 수정하기 405
14.2.1 팝업의 구조 405
14.2.2 ElementRef 사용하기 407
14.2.3 host에 바인딩하기 408
14.2.4 exportAs를 사용하여 버튼 추가하기 410
14.3 콘텐트 프로젝션으로 메시지 창 만들기 412
14.3.1 호스트의 CSS 변경하기 413
14.3.2 ng-content 사용하기 413
14.4 이웃 지시자 조회하기 ― 탭 작성하기 415
14.4.1 ContentTabsetComponent 컴포넌트 417
14.4.2 ContentTabsetComponent 사용하기 419
14.5 라이프사이클 훅 421
14.5.1 OnInit과 OnDestroy 422
14.5.2 OnChanges 425
14.5.3 DoCheck 430
14.5.4 CommentsListComponent로 댓글 리스트 렌더링하기 435
14.5.5 AfterContentInit, AfterViewInit, AfterContentChecked, AfterViewChecked 441
14.6 템플릿 고급 446
14.6.1 ngIf 다시 작성하기 ― ngBookIf 447
14.6.2 ngFor 다시 작성하기 ― NgBookFor 449
14.7 변경 감지 454
14.7.1 변경 감지 커스터마이징하기 458
14.7.2 존 464
14.7.3 옵저버블과 OnPush 464
14.8 정리 468

15장 테스트하기 _ 469
15.1 테스트 주도? 469
15.2 엔드투엔드 vs. 유닛 테스트 470
15.3 테스트 도구 471
15.3.1 재스민 471
15.3.2 카마 472
15.4 유닛 테스트 작성하기 472
15.5 앵귤러 유닛 테스트용 프레임워크 472
15.6 테스트 설정하기 473
15.7 서비스와 HTTP 테스트하기 474
15.7.1 HTTP 고려 사항 475
15.7.2 스텁 476
15.7.3 목 476
15.7.4 getTrack 테스트하기 479
15.8 컴포넌트 라우팅 테스트하기 485
15.8.1 테스트용 라우터 만들기 486
15.8.2 의존성 모킹하기 489
15.8.3 스파이 489
15.9 테스트 코드 다시 살펴보기 492
15.9.1 fakeAsync와 advance 494
15.9.2 inject 495
15.9.3 ArtistComponent의 초기화 테스트하기 496
15.9.4 ArtistComponent 메서드 테스트하기 497
15.9.5 ArtistComponent DOM 템플릿 값 테스트하기 498
15.10 폼 테스트하기 500
15.10.1 ConsoleSpy 만들기 502
15.10.2 ConsoleSpy 설치하기 503
15.10.3 테스트 모듈 설정하기 504
15.10.4 폼 테스트하기 504
15.10.5 폼 테스트 리팩토링하기 507
15.11 HTTP 요청 테스트하기 510
15.11.1 POST 테스트하기 510
15.11.2 DELETE 테스트하기 513
15.11.3 HTTP 헤더 테스트하기 513
15.11.4 YouTubeSearchService 테스트하기 515
15.12 정리 521

16장 앵귤러JS 1.x 앱을 앵귤러 4로 변환하기 _ 522
16.1 배경지식 522
16.2 우리가 만들려는 것 523
16.3 앵귤러 4에 앵귤러JS 1 매핑하기 524
16.4 상호운영성의 요건 526
16.5 앵귤러JS 1 앱 527
16.5.1 ng1-app HTML 528
16.5.2 코드 살펴보기 529
16.5.3 ng1: PinsService 530
16.5.4 ng1: 라우트 설정하기 531
16.5.5 ng1: HomeController 532
16.5.6 ng1: / HomeController 템플릿 532
16.5.7 ng1: pin 지시자 533
16.5.8 ng1: pin 지시자 템플릿 533
16.5.9 ng1: AddController 535
16.5.10 ng1: AddController 템플릿 537
16.5.11 ng1: 정리 539
16.6 하이브리드 앱 만들기 539
16.6.1 하이브리드 프로젝트 구조 540
16.6.2 하이브리드 앱 부트스트랩하기 542
16.6.3 업그레이드해야 하는 것들 544
16.6.4 기타: 타입 지정용 파일 546
16.6.5 ng2 PinControlsComponent 작성하기 549
16.6.6 ng2 PinControlsComponent 사용하기 550
16.6.7 ng2 PinControlsComponent를 ng1으로 다운그레이드하기 552
16.6.8 ng2에서 핀 추가하기 554
16.6.9 ng1 PinsService와 $state를 ng2로 업그레이드하기 555
16.6.10 ng2 AddPinComponent 작성하기 556
16.6.11 AddPinComponent 사용하기 561
16.6.12 ng2 서비스를 ng1으로 나타내기 562
16.6.13 AnalyticsService 작성하기 562
16.6.14 ng2 AnalyticsService를 ng1으로 다운그레이드하기 563
16.6.15 ng1에서 AnalyticsService 사용하기 564
16.7 정리 565

17장 네이티브스크립트 ― 앵귤러 개발자를 위한 모바일 애플리케이션 _ 566
17.1 네이티브스크립트란 무엇일까? 566
17.1.1 네이티브스크립트의 차별성 567
17.1.2 네이티브스크립트에 필요한 시스템과 개발 요건은 무엇일까? 568
17.2 네이티브스크립트와 앵귤러로 첫 모바일 애플리케이션 만들기 570
17.2.1 크로스 플랫폼 개발을 위한 빌드 플랫폼 추가하기 571
17.2.2 안드로이드와 iOS용으로 빌드하기와 테스트하기 571
17.2.3 자바스크립트, 안드로이드, iOS 플러그인과 패키지 설치하기 572
17.3 웹과 네이티브스크립트 UI 및 UX의 다른 점 이해하기 573
17.3.1 네이티브스크립트 페이지 레이아웃 기획하기 573
17.3.2 페이지에 UI 컴포넌트 추가하기 574
17.3.3 CSS로 컴포넌트 스타일링하기 576
17.4 위치 기반 사진 애플리케이션 개발하기 577
17.4.1 네이티브스크립트 프로젝트 만들기 578
17.4.2 다중 페이지 마스터-디테일 인터페이스 만들기 579
17.4.3 사진과 데이터를 받기 위한 플리커 서비스 만들기 582
17.4.4 기기 위치와 거리를 계산하기 위한 서비스 만들기 587
17.4.5 네이티브스크립트 애플리케이션에 맵박스 포함하기 590
17.4.6 지오로케이션 애플리케이션의 첫 번째 페이지 구현하기 592
17.4.7 지오로케이션 애플리케이션의 두 번째 페이지 구현하기 596
17.5 테스트하기! 598
17.6 앵귤러 개발자를 위한 네이티브스크립트 598

업데이트 이력 601
찾아보기 615

책 속으로

앵귤러 애플리케이션은 컴포넌트의 트리 구조, 그 이상도 그 이하도 아니다. 이 트리 구조의 루트에서 최상위 컴포넌트는 애플리케이션 그 자체다. 브라우저가 앱을 시동(booting, 다시 말해 ‘부트스트래핑’)할 때 렌더링하는 것이 바로 애플리케이션이다. 컴포넌트의 장점 중 하나로 컴포넌트는 구성 가능(composable)하다는 점을 들 수 있다. 다시 말해, 작은 컴포넌트를 쌓아 올려 더 큰 컴포넌트를 만들 수 있다. 애플리케이션은 단순히 다른 컴포넌트들을 렌더링하는 컴포넌트인 셈이다. 컴포넌트는 구조적으로 부모/자식 트리 관계이므... 더보기

출판사 서평

단계별 예제를 만들면서 배우는, 앵귤러 마스터를 위한 완벽 가이드!

이 책의 유일한 목적은 독자들이 앵귤러를 배울 때 유용한 리소스 역할을 하는 것이다. 여러분(그리고 여러분의 팀)이 이 책을 끝까지 읽는다면 신뢰할 만하고 강력한 앵귤러 앱을 만드는 데 필요한 모든 것을 갖추게 될 것이다.

앵귤러는 다양하고 풍부한 기능으로 무장한 프레임워크다. 하지만 이는 모든 요소를 빠짐없이 이해하기가 만만치 않다는 뜻이기도 하다. 이 책에서는 각종 도구의 설치를 비롯해 컴포넌트 작성, 폼 사용, 페이지 간 라우팅, API 호출 등 앵... 더보기

북로그 리뷰 (2) 전체보기 쓰러가기

도서 구매 후 리뷰를 작성하시면 통합포인트를 드립니다.
결제 90일 이내 작성 시 300원 / 발송 후 5일 이내 작성시 400원 / 이 상품의 첫 리뷰 작성 시 500원
(포인트는 작성 후 다음 날 적립되며, 도서 발송 전 작성 시에는 발송 후 익일에 적립됩니다.
외서/eBook/음반/DVD/GIFT 및 잡지 상품 제외)
안내
  • 앵귤러JS라는 말만 수년전부터 듣고 이제야 공부를 시작하게되었다. 서문부터 앵귤러JS와 앵귤러의 용어정의부터 설명을 하고, 정말 간단한 사이트의 결과물을 바탕으로 하나하나 설명하며 처음부터 착!착!착! 진행하여 학습의 어려움을 줄여준다. Javascript(객체지향 개념 포함)와 Typescript의 기초 지식이 없다면 3장부터는 한장한장 넘기는게 쉽지만은 않을것이다. 그래도 앵귤러를 설명하는데 이보다 더 쉬울 수는 없을것이다. 실용적인 예제 사이트를 개발하기 위한 설계부터 파일 하나하나 진행해가며 개발에 있어서 꼭 필요한... 더보기
  • 앵귤러 마스터북  앵귤러의 이해를 도와줄 좋은 책입니다. 책은 페이지당 소스코드가 없는곳이 없다고해도 과언이 아닐정도로 예제가 가득해서 어렵지 않게 읽을 수 있으며, 예제가 많아 재미있게,  글만있는 책에 비해 지루하지 않게 넘길 수 있어 좋습니다. 생각보다 책이 두꺼워 놀랐지만,  두꺼운 이유는 내용이 많이 담겨있기 때문이겠죠,  예제에 대한 설명도 잘 나와있어서 쉽진 않지만 이해하는데 많은 골머리를 쓰지 않았습니다. 아직 읽는 중인데 최신 스크립트 기술들이 잘 ... 더보기

Klover 평점/리뷰 (0)

문장수집 (0) 문장수집 쓰기 나의 독서기록 보기
※구매도서의 문장수집을 기록하면 통합포인트 적립 안내

교환/반품/품절안내

※ 상품 설명에 반품/교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다.)

교환/반품/품절안내
반품/교환방법 마이룸 > 주문관리 > 주문/배송내역 > 주문조회 > 반품/교환신청 ,
[1:1상담>반품/교환/환불] 또는 고객센터 (1544-1900)

※ 오픈마켓, 해외배송주문, 기프트 주문시 [1:1상담>반품/교환/환불]
    또는 고객센터 (1544-1900)
반품/교환가능 기간 변심반품의 경우 수령 후 7일 이내,
상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
반품/교환비용 변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
반품/교환 불가 사유
  • 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    (단지 확인을 위한 포장 훼손은 제외)
  • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    예) 화장품, 식품, 가전제품(악세서리 포함) 등
  • 복제가 가능한 상품 등의 포장을 훼손한 경우
    예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
  • 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우 ((1)해외주문도서)
  • 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  • 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에
    해당되는 경우
(1) 해외주문도서 : 이용자의 요청에 의한 개인주문상품으로 단순변심 및 착오로 인한 취소/교환/반품 시 ‘해외주문 반품/취소 수수료’ 고객 부담 (해외주문 반품/취소 수수료 : ①양서-판매정가의 12%, ②일서-판매정가의 7%를 적용)
상품 품절 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는
이메일과 문자로 안내드리겠습니다.
소비자 피해보상
환불지연에 따른 배상
  • 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은
    소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨
  • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의
    소비자 보호에 관한 법률에 따라 처리함

이 책의 원서번역서

안내

이 분야의 베스트

더보기+

이 분야의 신간

더보기+

바로가기

  • 우측 확장형 배너 2
  • 우측 확장형 배너 2

최근 본 상품