|
책을 볼때 가장 중요시 하는 것이 있다. 바로 서문과 목차이다. 목차는 책의 전체적인 내용을 알 수 있도록 하고 서문은 글쓴이가 어떤 목적으로 책을 썼는지 알 수 있기 때문이다. 앵귤러에 대해서 잘 알지 못했던 나는 먼저 목차에 대해서 살펴보기로 하였다. 큰 목차를 보면 다음과 같다. PART I 기초 다지기 CHAPTER 1 앵귤러 준비하기 1.1 Node.js 1.2 NPM 다루기 CHAPTER 2 앵귤러 시작하기 2.1 타입스크립트 2.2 Hello, Angular 2.3 마치며 CHAPTER 3 앵귤러 아키텍처 3.1 뷰를 구성하는 요소 3.2 애플리케이션을 완벽하게 만드는 요소 3.3 머티리얼 패키지 적용 3.4 마치며 PART II 기본기 향상하기 CHAPTER 4 뷰를 구성하는 기초 4.1 컴포넌트 4.2 템플릿 4.3 마치며 CHAPTER 5 견고한 애플리케이션 만들기 5.1 서비스 5.2 의존성 주입 5.3 테스트 코드 작성 5.4 디버깅 5.5 마치며 CHAPTER 6 컴포넌트 고급 6.1 독립된 요소: 컴포넌트 6.2 컴포넌트 간 상태 공유와 이벤트 전파 6.3 앵귤러 방식의 템플릿 요소 탐색 6.4 컴포넌트 생명 주기 6.5 마치며 CHAPTER 7 HTTP 통신과 RxJS 7.1 HttpModule과 Http 서비스 기초 7.2 RxJS 7.3 게이트웨이 기반 Http 서비스 활용 7.4 마치며 CHAPTER 8 폼 다루기 8.1 폼의 구성 8.2 템플릿 주도 폼 8.3 반응형 폼(모델 주도 폼) 8.4 마치며 CHAPTER 9 앵귤러 동작 원리 9.1 부트스트랩과 컴파일 9.2 Zone.js와 변화 감지 9.3 마치며 PART III 깊이 들어가기 CHAPTER 10 프로젝트: 상품 관리 애플리케이션 구성 10.1 애플리케이션 설계 10.2 프로젝트 구성 10.3 프로젝트 구현 1: 기본 레이아웃 구현 10.4 마치며 CHAPTER 11 모듈과 라우터 11.1 모듈의 분리 11.2 라우터 기본 11.3 라우터 활용 11.4 모듈별 라우터 11.5 마치며 CHAPTER 12 프로젝트: 파이어베이스 사용 12.1 파이어베이스 사용 12.2 프로젝트 구현 5 12.3 프로젝트 구현 6 12.4 마치며 CHAPTER 13 프로젝트: 상품 관리 애플리케이션 구현 최종 13.1 프로젝트 구현 7 13.2 프로젝트 구현 8 13.3 프로젝트 최종 구현 13.4 마치며 부록. 자바스크립트의 진화: ES6(ECMAScript 6) 1. ES6 표준의 의미 2. 모듈 시스템 3. 모듈 번들러 4. 실습: area-calculator 제목 그대로 앵귤러에 대해 처음 배우는 사람들에게 전체적인 동작원리와 구성방식에 대해 알려준다. 웹프론트 개발에 대해 jsp와 서블릿을 공부했고, javascript를 공부하고 있는 나에게 이런 기술도 있어~ 라고 알려주는 방식의 구성과 내용을 가지고 있다. 하지만 실제로 내용을 들여다 보면 생각했던 것보다 쉽지 않다. 이는 javascript와 webpack등 접해보지 않는 것들이 많이 나와 이해하는데 구글링을 하면서 많은 자료를 찾아야 했다. 또 하나의 특징이자 장점은 firebase에 대한 내용이다. 앵귤러와 firebase는 모두 구글에서 개발되어 나온 것이기 때문에 서로의 호환성이 좋다. 시중에 firebase에 대한 내용을 다루는 책은 흔하지 않은데 앵귤러 첫걸음은 그 흔하지 않는 책중 하나이다. |
|
앵귤러 프레임 워크는 사용자용 애플리케이션 개발을 위하여 구글에서 만든 오픈 소스 프레임 워크이다. 이 책은 앵귤러 프레임워크에 대한 기초부분, 응용부분을 설명하고 있다.
사실, JS와 HTML의 기본밖에 모르던 내가 이해하기엔 많은 어려움이 있었으나, 기본적인 개념 모든것을 이해하고 있는 분들이라면 충분히 이 책을 통해서
원하는 웹 애플리케이션을 만들 수 있을거라고 생각이 든다. |
|
Angular라는 이름을 처음 들어본 것은 대학원 랩실에서 공부할 때 석사 학위를 받으러 한국에 온 외국인 개발자로부터였습니다. 그 분은 영국에서 웹 개발을 하셨는데 Angular를 사용했다고 합니다. 이후 대학원 수업 과제 발표에서 그 분 조가 Angular 프레임워크를 사용해 구현한 웹 UI를 보면서 Angular에 대한 관심은 있었지만 막상 공부하기에는 엄두가 나질 않았습니다. 지금 회사에 입사하고나서는 다른 팀에서 자체적으로 만들고 있는 웹 UI 프레임워크를 사용해서 웹 UI를 구현하고 있는데, 마침 한빛 리더스에서 '앵귤러 첫걸음'이라는 신간 도서를 리뷰할 수 있는 기회가 있어 신청했습니다. 처음 이 책을 받았을 때 목차를 보고 좋다고 생각된 점은 앵귤러로 개발하기 전에 node.js와 npm을 사용해 앵귤러를 포함한 여러 라이브러리들을 내려받는 부분부터 차근차근 설명하고 있다는 점이었습니다. 또한 Visual Studio Code 등 앵귤러 개발에 유용한 IDE도 소개되어 있어서 초보자가 쉽게 따라할 수 있게 되어 있습니다. 그리고 앵귤러에서 사용되는 타입스크립트가 무엇이고 이를 어떻게 컴파일하는지도 요점만 정확하게 짚어주는 것도 큰 장점입니다. Chapter 3에는 앵귤러 개발이 도대체 어떻게 이루어지는 것인지 감을 잡을 수 있도록 간단한 예제를 따라해보는 실습이 있습니다. 앵귤러 개발의 대부분이라고 할 수 있는 '컴포넌트'라는 개념을 이해할 수 있게 도와주고, 명령어 한 줄로 컴포넌트의 클래스, html, css, 테스트 스펙 파일을 생성하고 이를 수정하면서 구성요소를 파악할 수 있게 됩니다. 책의 2부부터는 앵귤러가 제공하는 방대한 기능들을 하나씩 살펴봅니다. 3장에서 겉핥기 식으로 접해 본 뷰, 서비스를 자세히 배우고, 웹 컴포넌트, RxJS, 특별히 Form에 대한 심화 내용을 살펴봅니다. 개인적으로는 6장에 소개된 내용이 생소하지만 반드시 알아야 하는 내용이라고 느꼈습니다. 3부부터는 상품 관리 애플리케이션을 만들어볼 수 있습니다. 앵귤러의 모듈, 라우터 개념을 이해할 수 있게 돕고, 구글 파이어베이스와 연동해서 구글 계정으로 인증 처리를 하고 AngularFire2 패키지를 사용해 백엔드 코드 없이 데이터베이스 CRUD를 처리하는 방법을 설명하고 있습니다. 3부에서 조금 아쉬웠던 점은 코드 구현이 사실상 13장에 몰려 있어서 따라해보기가 조금 버거웠다는 점입니다. 기능들을 모두 책에 담아내기에는 앵귤러가 너무 방대한데, 이 책은 필요한 부분만 우선적으로 제공하고 있어 초보자가 앵귤러가 무엇인지 빠른 시간 내에 파악할 수 있게 도와줍니다. 앵귤러 설명 뿐 아니라 개발에 필요한 환경 설정에 대한 내용이 잘 되어 있어종합적으로는 국내 앵귤러 기본 도서 중에서 제일 추천할 만하다고 생각합니다. 이 책을 따라해보면서 회사 자체 UI 프레임워크와 비교해볼 수 있어 재미있었고, 요즘에는 정말 다양한 오픈소스 UI 프레임워크가 나와 있는데 jQuery를 사용하는 수준에 머물러 있었던 스스로가 우물 안 개구리였다는 것을 다시금 느끼고 반성했습니다. 그리고 node.js에도 더 많은 관심이 생겨서 앞으로는 node 서버 개발도 관심을 가지고 공부해보고 싶습니다. Angular라는 이름을 처음 들어본 것은 대학원 랩실에서 공부할 때 석사 학위를 받으러 한국에 온 외국인 개발자로부터였습니다. 그 분은 영국에서 웹 개발을 하셨는데 Angular를 사용했다고 합니다. 이후 대학원 수업 과제 발표에서 그 분 조가 Angular 프레임워크를 사용해 구현한 웹 UI를 보면서 Angular에 대한 관심은 있었지만 막상 공부하기에는 엄두가 나질 않았습니다. 지금 회사에 입사하고나서는 다른 팀에서 자체적으로 만들고 있는 웹 UI 프레임워크를 사용해서 웹 UI를 구현하고 있는데, 마침 한빛 리더스에서 '앵귤러 첫걸음'이라는 신간 도서를 리뷰할 수 있는 기회가 있어 신청했습니다. 처음 이 책을 받았을 때 목차를 보고 좋다고 생각된 점은 앵귤러로 개발하기 전에 node.js와 npm을 사용해 앵귤러를 포함한 여러 라이브러리들을 내려받는 부분부터 차근차근 설명하고 있다는 점이었습니다. 또한 Visual Studio Code 등 앵귤러 개발에 유용한 IDE도 소개되어 있어서 초보자가 쉽게 따라할 수 있게 되어 있습니다. 그리고 앵귤러에서 사용되는 타입스크립트가 무엇이고 이를 어떻게 컴파일하는지도 요점만 정확하게 짚어주는 것도 큰 장점입니다. Chapter 3에는 앵귤러 개발이 도대체 어떻게 이루어지는 것인지 감을 잡을 수 있도록 간단한 예제를 따라해보는 실습이 있습니다. 앵귤러 개발의 대부분이라고 할 수 있는 '컴포넌트'라는 개념을 이해할 수 있게 도와주고, 명령어 한 줄로 컴포넌트의 클래스, html, css, 테스트 스펙 파일을 생성하고 이를 수정하면서 구성요소를 파악할 수 있게 됩니다. 책의 2부부터는 앵귤러가 제공하는 방대한 기능들을 하나씩 살펴봅니다. 3장에서 겉핥기 식으로 접해 본 뷰, 서비스를 자세히 배우고, 웹 컴포넌트, RxJS, 특별히 Form에 대한 심화 내용을 살펴봅니다. 개인적으로는 6장에 소개된 내용이 생소하지만 반드시 알아야 하는 내용이라고 느꼈습니다. 3부부터는 상품 관리 애플리케이션을 만들어볼 수 있습니다. 앵귤러의 모듈, 라우터 개념을 이해할 수 있게 돕고, 구글 파이어베이스와 연동해서 구글 계정으로 인증 처리를 하고 AngularFire2 패키지를 사용해 백엔드 코드 없이 데이터베이스 CRUD를 처리하는 방법을 설명하고 있습니다. 3부에서 조금 아쉬웠던 점은 코드 구현이 사실상 13장에 몰려 있어서 따라해보기가 조금 버거웠다는 점입니다. 기능들을 모두 책에 담아내기에는 앵귤러가 너무 방대한데, 이 책은 필요한 부분만 우선적으로 제공하고 있어 초보자가 앵귤러가 무엇인지 빠른 시간 내에 파악할 수 있게 도와줍니다. 앵귤러 설명 뿐 아니라 개발에 필요한 환경 설정에 대한 내용이 잘 되어 있어종합적으로는 국내 앵귤러 기본 도서 중에서 제일 추천할 만하다고 생각합니다. 이 책을 따라해보면서 회사 자체 UI 프레임워크와 비교해볼 수 있어 재미있었고, 요즘에는 정말 다양한 오픈소스 UI 프레임워크가 나와 있는데 jQuery를 사용하는 수준에 머물러 있었던 스스로가 우물 안 개구리였다는 것을 다시금 느끼고 반성했습니다. 그리고 node.js에도 더 많은 관심이 생겨서 앞으로는 node 서버 개발도 관심을 가지고 공부해보고 싶습니다. |
|
서론
컴퓨터 프로그래밍, 컴퓨터 공학에서 가장 빠르게 언어들이 태어나고 죽는 곳은 웹 개발 환경일 것이다. 웹은 엄청난 속도의 유행을 자랑하며 다양한 플랫폼과 언어들이 이곳을 스쳐 지나간다. 그런 과정 속에서 앵귤러 js 등 기존의 프레임워크에서 발전된 형태의 언어가 앵귤러 인데, 잘 알지 못하고 새로운 언어인 만큼 자료가 많지 않다. 그런 와중에 이를 활용한 프로젝트 경험이 많아 누구보다 상세히 책을 썼다면 그만큼 소중한 지침서는 없을 것이다. 이 책은 누군가의 맨 땅에서부터의 경험을 다룬 멋진 책이다.
1. 이 책은 어떤 책인가요
이 책은 앵귤러라고 하는 언어의 개발 환경 설정부터 다양한 프로젝트 예제까지 수록한 언어 교과서이다. 앵귤러에 들어가기 앞서 필요한 기초 개념을 다지고, 앵귤러 기본 개발에 필요한 예제, 뷰 구성 등을 다룬 다음 다양한 프로젝트로 실무 개발자가 되기 위한 내용들까지 포함한다. 첫걸음이라는 태그를 포함한 책 치고는 심도있고 어려운 편이지만 그렇기에 더욱 좋은 개발자가 되기 위한 훌륭한 지침서의 역할을 수행하고 있다.
2. 대상 독자
책의 서론에서도 언급이 되어있지만 이 책은 웹을 개발해온 개발자들을 대상으로 하는 도서이다. 기본적인 웹의 이해가 되어 있으며 앵귤러라는 프레임워크를 처음 접하는 개발자들을 대상으로 상세하게 설명하고 있는 도서이기 때문에 웹 자체를 처음 개발해보는 개발자의 경우 다른 웹 언어 및 프로젝트를 경험하고 오는 것을 추천한다.
3. 책의 장점
대상 독자가 실무 개발자인 만큼 어떤 책보다 심도 있는 내용을 자랑한다. 가벼운 무게에도 숨길 수 없는 깊이감과 다양한 실전 예제들은 독자로 하여금 앵귤러에 대해 실제적인 감을 잡게 하는데 큰 도움을 준다. 저자가 실제 프로젝트와 부딪히면서 얻어온 지식을 기반으로 작성한 도서이기 때문에 더욱 그런 느낌을 주는 것 같다.
|
|
이 책은 첫걸음은 아니고 세걸음쯤 되는 책이다. 기본기를 익히고 보면 훨씬 좋은 책인 것 같다. 이 책을 앵귤러 책 중에 가장 처음 접했는데 처음엔 너무 어려웠다. 앵귤러 버전이 너무 빨리 올라가서 그런지 예제가 잘 되지 않았다. 어느 정도 책의 예제를 따라하다가 포기하고 다시 해 보고 또 포기하고 방치해 뒀다. 최근에 앵귤러로 프로젝트를 해야했기 때문에 다른 책들을 통해 기본기를 잡고 이 책을 다시 보게 되었다. 이 책의 가장 큰 장점은 책 후반부에 실제 프로젝트 진행을 간접적으로 체험할 수 있는데 이게 개인 프로젝트에 많은 도움이 되었다. 바이블서로 기본기를 잡고 이 책으로 부족한 부분을 매꿀수 있다. |
앵귤러 첫걸음공민서 2017.06.25 앵귤러 첫걸음 리뷰
선택 동기요즘 앵귤러,리액트,뷰.. 하던데...
난 0부터 하나하나 자세히 짚어주는 흐름이 있는게 좋아!
장점내용 구성
실용적인 구현 목표
단점좀 어렵다...
결론 및 활용
|
|
사실 한국의 개발 환경에서 프론트엔드 개발자라는 건 완전 초짜 내지는 다음카카오나 네이버 등 규모 있는 기업에서 어지간한 내공과 짬밥을 쌓지 않은 이상 그냥 언제든 다른 인력이나 아웃소싱으로 대체될 수 있는 퓨처리스한 그런 직업군으로 여겨지는 것이 부정할 수 없는 사실인데 그 영향인지 출판계에서도 프론트엔드의 엣지 테크들에 대해 다룬 책들을 들여오는 데 소극적인 것이 사실이었다 그런데 재작년? 체감상 그 즈음에서부터 그런 트렌드를 확 뒤바꾼 선봉장이 앵귤러랑 그 좀 더 할 줄 아는 게 많은 아이오닉인데 제대로 된 입문서에 대해서는 늘 갈증이 있었는데 이 책이 나와줘서 이제 믿고 프론트엔드를 하는 사람들에게 추천할 수 있게 되었다. |
|
본 도서는 서문에서도 언급하듯 JQuery나 AngularJS를 사용하여 웹 개발을 해 본 경험이 있는 독자를 대상으로 쓰여졌다. 저자는 주로 백앤드 개발을 하면서 웹 개발이 필요한 개발자를 위한 개발서라고 설명한다. 그의 설명처럼 이 도서를 읽고, 나는 AngularJS를 사용해보지 않은 독자라도 적어도 자바스크립트에 대한 기본적인 내용을 알고 있어야 학습에 지장이 없을 것이라고 평가할 수 있었다. 또한 흥미로웠던 점은 예제를 Github를 통해 받아 사용할 수 있도록 했다는 것이다. 보통 기존의 도서들은 특정 사이트 혹은 다운로드 링크를 소개하지만 본 도서는 Github에 대한 사전지식이 없다면 Github와 Angular를 둘 다 학습해야하는 번거로움이 생길 수 있다고 생각된다. (간혹 SI의 경우 Github를 사용하지 않는 곳도 있으니 말이다.) 조금의 아쉬움이 들었지만 전체적인 구성은 충분히 독자를 배려한다고 생각되었다. 기초를 위해 설명한 Node.js, NPM, 타입스크립트는 자바스크립트의 기본 내용을 이해하고 있는 독자라면 충분히 따라갈 수 있을 정도의 난이도로 설명되었고, Angular의 아키텍처에 대한 기초적인 설명을 통해 이전에 배웠던 것들이 자연스럽게 연결된다는 느낌을 받았다. 그리고 각 장마다 마지막 부분에 ‘마치며’라는 챕터를 추가해 이번 장에서 배운 내용을 정리해 준 것이 1독 이후에 참고할 때 아주 유용하였다. 그러나 초반의 설명이 다소 난해한 독자를 위해 ‘조금 더 보기 편하게 그림 자료를 제공했으면 어땠을까?’라는 생각도 들었다. 기본적으로 Angular을 사용하기 위해 알아야할 것들에 대해서도 충분히 언급되었다. 가령 컴포넌트에 대해서는 챕터 4의 간단한 설명과 별도로 챕터 6에서 컴포넌트 고급이라는 주제로 보다 면밀히 컴포넌트에 대해 살펴보는 부분이 그러했다. 이후 책을 읽어 내려가고, 예제를 살펴보던 중 ‘개론적인 설명 외에도 앵귤러를 사용할 때 DOM API를 선택하지 말아야하고, 그 이유에 대해 설명하는 부분’에서 저자가 독자를 위해 단순히 ‘사용하지 마세요!’가 아니라 ‘왜 사용하지 말아야하는지’에 대해 설명하는 것을 보며 공감하며 읽은 기억이 있다. 그래서 나는 이 책을 ‘자신의 경험을 공유하여 고민 끝에 내놓은 책’이라고 말하고싶다. 또한 챕터 10부터 진행되는 여러가지 프로젝트를 만드는 부분에 대해서는 뼈대를 만든 건물에 콘크리트를 붓는 것처럼 지금까지 습득한 개론적인 내용을 견고하게 만들어 주었다고 느꼈다. 또한 Angular에서의 모듈과 라우터의 개념과 필요성에 대해 확실하게 설명하였다. 그러나 모듈과 라우터에 대한 설명에서는 다소 헷갈리게 설명한다고 느꼈다. 기본적으로 컴퓨터 공학에서 설명하는 모듈과 라우터와는 다른 Angular에서의 모듈과 라우터에 대한 설명이기 때문이다. 당연히 이에 대해 알고 있는 독자들은 넘어가겠지만 만약 이 책에서 배운 개념이 모든 모듈과 라우터에 대한 설명으로 받아드릴 것이 우려되었다. ‘이 부분에 대한 설명이 약간이라도 있으면..’ 하는 아쉬움이 들었다. 마지막으로 부록에서 ES6를 설명하는 것이 꽤 좋았다. 본 도서가 자바스크립트에 관한 책이 아님에도 ES6에 대해 설명하며 Angular을 처음 접하는 독자에게 Angular의 문법인 ES6를 소개하기 때문이다. 결론적으로 이 책은 앞서 이야기한 어느정도 지식을 지닌 백엔드 개발을 하면서 웹 개발이 필요한 개발자를 위한 개발서이다. 만약 당신이 그러하다면 이 책을 적극 추천한다. |
|
<이 책은 한빛 미디어 '나는 리뷰어다'로 부터 책을 지원받아 작성된 글입니다.> [ 책소개 ] 타입스크립트, ECMAScript 6와 친해지는 실전 앵귤러 입문서!
새로운 기술을 배울 때 결과물이 없다면 쉽게 지치기 마련이다. 이 책은 1부 기초 다지기, 2부 기본기 향상하기, 3부 깊이 들어가기로 나누어 앵귤러를 설명하고 실제 프로젝트인 상품 관리 애플리케이션을 결과물로 만든다. 앵귤러를 시작하는 데 가장 큰 걸림돌인 타입스크립트를 쉽게 설명하여 학습 부담을 줄여주며, 저자의 실무 경험을 적극 살려 실무에 꼭 필요한 개념과 실수하기 쉬운 부분을 자세히 설명한다. 자세한 소개 : Link [ 목차 ] PART I 기초 다지기
CHAPTER 1 앵귤러 준비하기 1.1 Node.js 1.2 NPM 다루기 __1.2.1 패키지 설치 __1.2.2 실습: welcome-msg-app __1.2.3 패키지와 의존 관계 __1.2.4 로컬 환경과 전역 환경 __1.2.5 package.json 1.3 마치며
CHAPTER 2 앵귤러 시작하기 2.1 타입스크립트 __2.1.1 타입 언어 __2.1.2 상위 언어 __2.1.3 열린 언어 __2.1.4 에디터 설정 2.2 Hello, Angular __2.2.1 ng new __2.2.2 ng serve __2.2.3 ng test __2.2.4 타입 선언 정보 2.3 마치며
CHAPTER 3 앵귤러 아키텍처 3.1 뷰를 구성하는 요소 __3.1.1 컴포넌트와 템플릿 __3.1.2 컴포넌트 생명 주기 __3.1.3 컴포넌트 트리 __3.1.4 데이터 바인딩 __3.1.5 마치며 3.2 애플리케이션을 완벽하게 만드는 요소 __3.2.1 서비스와 의존성 주입 __3.2.2 상태 관리 및 공유 __3.2.3 지시자 __3.2.4 파이프 __3.2.5 모듈 3.3 머티리얼 패키지 적용 3.4 마치며
PART II 기본기 향상하기
CHAPTER 4 뷰를 구성하는 기초 4.1 컴포넌트 __4.1.1 컴포넌트의 선언 __4.1.2 메타데이터 __4.1.3 부트스트래핑 __4.1.4 컴포넌트 트리 4.2 템플릿 __4.2.1 절차적 방식과 선언적 방식 __4.2.2 데이터 바인딩 __4.2.3 지시자 __4.2.4 파이프 4.3 마치며
CHAPTER 5 견고한 애플리케이션 만들기 5.1 서비스 __5.1.1 서비스의 생성과 사용 __5.1.2 실습: 마우스 위치 로거 __5.1.3 싱글턴으로서의 서비스 5.2 의존성 주입 __5.2.1 Injectable, Inject 데코레이터 __5.2.2 providers __5.2.3 의존성 주입기 트리 __5.2.4 Host, Optional 데코레이터 5.3 테스트 코드 작성 __5.3.1 서비스 테스트 __5.3.2 컴포넌트 테스트 5.4 디버깅 5.5 마치며
CHAPTER 6 컴포넌트 고급 6.1 독립된 요소: 컴포넌트 __6.1.1 웹 컴포넌트 __6.1.2 컴포넌트와 스타일 정보 __6.1.3 컴포넌트의 독립성을 깨뜨리는 안티패턴 6.2 컴포넌트 간 상태 공유와 이벤트 전파 __6.2.1 부모-자식 컴포넌트 간의 통신 __6.2.2 실습: 컴포넌트 통신 V2 __6.2.3 다양한 상태 공유 시나리오 __6.2.4 싱글턴 서비스를 이용한 상태 공유 6.3 앵귤러 방식의 템플릿 요소 탐색 __6.3.1 ViewChild를 사용한 요소 탐색 __6.3.2 템플릿 참조 변수와 ElementRef __6.3.3 Content Projection과 ContentChild를 사용한 요소 탐색 6.4 컴포넌트 생명 주기 __6.4.1 ngOnInit과 ngOnDestroy __6.4.2 ngAfterContentInit과 ngAfterViewInit __6.4.3 ngOnChanges __6.4.4 ngDoCheck __6.4.5 ngAfterContentChecked와 ngAfterViewChecked __6.4.6 지시자의 생명 주기 6.5 마치며
CHAPTER 7 HTTP 통신과 RxJS 7.1 HttpModule과 Http 서비스 기초 __7.1.1 실습: 초간단 사용자 조회 애플리케이션 __7.1.2 angular-in-memory-web-api 활용 7.2 RxJS __7.2.1 왜 RxJS인가? __7.2.2 RxJS 원리 __7.2.3 RxJS 연산자 활용 __7.2.4 RxJS를 활용한 마우스 위치 로거 코드 개선 7.3 게이트웨이 기반 Http 서비스 활용 __7.3.1 ApiGateway 서비스 __7.3.2 실습: 사용자 관리 애플리케이션 __7.3.3 HTTP 통신 관련 중복 코드 제거 7.4 마치며
CHAPTER 8 폼 다루기 8.1 폼의 구성 __8.1.1 폼 모델 __8.1.2 AbstractControl과 폼의 값 상태 __8.1.3 폼 지시자 __8.1.4 실습: NgModel과 FormControl 8.2 템플릿 주도 폼 __8.2.1 ngModel과 양방향 바인딩 __8.2.2 실습: 템플릿 주도 폼 __8.2.3 폼 유효성 검증 __8.2.4 커스텀 Validator 지시자 작성 8.3 반응형 폼(모델 주도 폼) __8.3.1 ReactiveFormsModule __8.3.2 FormBuilder __8.3.3 FormGroup, FormControlName __8.3.4 실습: 반응형 폼 __8.3.5 실습: 동적 폼 8.4 마치며
CHAPTER 9 앵귤러 동작 원리 9.1 부트스트랩과 컴파일 __9.1.1 애플리케이션의 최초 진입점 __9.1.2 JIT 컴파일 __9.1.3 AOT 컴파일 __9.1.4 부트스트랩 과정 분석 9.2 Zone.js와 변화 감지 __9.2.1 앵귤러를 움직이게 만드는 세 가지 이벤트 __9.2.2 Zone.js를 활용한 비동기 코드 감지 __9.2.3 상태 변화를 일으키는 세 가지 이벤트 __9.2.4 변화 감지 트리와 변화 감지 전략 9.3 마치며
PART III 깊이 들어가기
CHAPTER 10 프로젝트: 상품 관리 애플리케이션 구성 10.1 애플리케이션 설계 __10.1.1 기능 정의 및 도메인 모델 __10.1.2 컴포넌트 트리 10.2 프로젝트 구성 10.3 프로젝트 구현 1: 기본 레이아웃 구현 __10.3.1 주요 컴포넌트 생성 __10.3.2 컴포넌트 구현 코드 __10.3.3 라우터 없이 사이드바 기능 구현 10.4 마치며
CHAPTER 11 모듈과 라우터 11.1 모듈의 분리 __11.1.1 기능 모듈 __11.1.2 핵심 모듈 __11.1.3 모듈의 imports, exports __11.1.4 프로젝트 구현 2: 도메인별 기본 구현 11.2 라우터 기본 __11.2.1 라우터 설정: Route __11.2.2 Routes 등록 __11.2.3 RouterLink, RouterLinkActive __11.2.5 프로젝트 구현 3: 라우터 설정 __11.2.6 라우터 사용의 장점 11.3 라우터 활용 __11.3.1 상태 관리 __11.3.2 Router __11.3.3 ActivatedRoute __11.3.4 가드의 설정 11.4 모듈별 라우터 __11.4.1 컴포넌트 경로 __11.4.2 라우팅 설정 분리하기 __11.4.3 프로젝트 구현 4: 라우터 설정 분리 11.5 마치며
CHAPTER 12 프로젝트: 파이어베이스 사용 12.1 파이어베이스 사용 __12.1.1 프로젝트 생성 __12.1.2 파이어베이스 CLI __12.1.3 파이어베이스 연동 12.2 프로젝트 구현 5 __12.2.1 도메인 모델 클래스 구현 __12.2.2 사용자 세션 기능 구현 12.3 프로젝트 구현 6 __12.3.1 실시간 데이터베이스 사용 __12.3.2 NoCounterService 구현 __12.3.3 DataStoreService 구현 __12.3.4 파이어베이스 보안 규칙 설정 12.4 마치며
CHAPTER 13 프로젝트: 상품 관리 애플리케이션 구현 최종 13.1 프로젝트 구현 7 __13.1.1 카테고리 관리 뷰 __13.1.2 CategoryDetailComponent __13.1.3 CategoryDetailResolverService __13.1.4 CategoryItemComponent __13.1.5 CategoryManagementComponent __13.1.6 CategoryListResolverService 13.2 프로젝트 구현 8 __13.2.1 상품 관리 뷰 __13.2.2 ProductDetailComponent __13.2.3 ProductDetailResolverService __13.2.4 ProductListComponent __13.2.5 ProductListResolverService __13.2.6 CheckedProductSetService __13.2.7 ButtonGroupComponent __13.2.8 ProductBulkUpdaterService __13.2.9 ProductManagementComponent 13.3 프로젝트 최종 구현 __13.3.1 MainDashboardComponent __13.2.2 스피너 __13.3.3 상품 상태 파이프 __13.3.4 CanDeactivate 가드 설정 __13.3.5 세션 가드 13.4 마치며
부록. 자바스크립트의 진화: ES6(ECMAScript 6) 1. ES6 표준의 의미 2. 모듈 시스템 3. 모듈 번들러 4. 실습: area-calculator [ 책을 읽으며... ] "기초를 다지자" 앵귤러에 대한 설명으로 시작된다. 이 책을 읽기 전에는 항상 JS에 대해서 어느정도 기초 지식이 있어야 한다. JS뿐 아니라 웹에 대해서 알고 있어야 한다는 것이다. 어쩌다보니 선택한 도서 중에 이 책을 받아서 리뷰하게 되었다. 그러나 JS나 웹에 대한 전문적인 지식이 없고, 공부는 해봤으니 주 분야가 아니라서 아는게 별로 없다. 그런 상태에서 도서를 구매하려고 하는 분이 계시다면 먼저 기초적인 지식을 쌓고 나서 구입하시는걸 추천드린다. 마찬가지로 나 또한 웹에 대한 개념이 없었기 때문에 앵귤러를 쉽게 설명했는지, 앵귤러가 얼마나 좋은지에 대해서 책을 통해 알 수 가 없었다. 한번 읽어보면서 앵귤러가 이런 부분에 사용될 수 있고, 앵귤러가 이런 것이구나 라는 것만 익혔다. 리뷰를 작성 기간 안에 웹에 대한 공부를 하고 앵귤러까지 공부하기에는 너무 촉박한 시간이었다. 그래서 시간이 가지고 웹을 공부한 이후에 책에 대한 리뷰를 다시 작성하려고 한다. [ 마무리 ] 기초지식이 있는 상태에서 책을 구매하시길 바랍니다. 라는 짧은 문장하나가 필요한 책. 또한, 어플리케이션을 만들면서 프로젝트에 대한 이미지를 첨부하여 주었으면 좋겠다 싶은 책. 디자인 ★★★☆☆ 내용 ★☆☆☆☆ 난이도 ★★★★☆ |