간편결제, 신용카드 청구할인
인터파크 롯데카드 5% (18,810원)
(최대할인 10만원 / 전월실적 40만원)
북피니언 롯데카드 30% (13,860원)
(최대할인 3만원 / 3만원 이상 결제)
NH쇼핑&인터파크카드 20% (15,840원)
(최대할인 4만원 / 2만원 이상 결제)
Close

AngularJS 인 액션 : 단계별로 배우는 대화형 웹 애플리케이션

원제 : AngularJS in Action
소득공제

2013년 9월 9일 이후 누적수치입니다.

판매지수 51
?
판매지수란?
사이트의 판매량에 기반하여 판매량 추이를 반영한 인터파크 도서에서의 독립적인 판매 지수입니다. 현재 가장 잘 팔리는 상품에 가중치를 두었기 때문에 실제 누적 판매량과는 다소 차이가 있을 수 있습니다. 판매량 외에도 다양한 가중치로 구성되어 최근의 이슈도서 확인시 유용할 수 있습니다. 해당 지수는 매일 갱신됩니다.
Close
공유하기
정가

22,000원

  • 19,800 (10%할인)

    1,100P (5%적립)

할인혜택
적립혜택
  • I-Point 적립은 마이페이지에서 직접 구매확정하신 경우만 적립 됩니다.
추가혜택
배송정보
  • 10/1(토) 이내 발송 예정  (서울시 강남구 삼성로 512)
  • 무료배송
주문수량
감소 증가
  • 이벤트/기획전

  • 연관도서

  • 상품권

AD

책소개

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

출판사 서평

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

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

출판사 서평
단계별로 배우는 대화형 웹 애플리케이션!


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

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

이 책의 주요 내용과 특징은 다음과 같다.
■ AngularJS로 애플리케이션 개발을 시작하는 방법
■ 자신만의 컴포넌트를 작성하는 방법
■ 애플리케이션 아키텍처에 대한 모범 사례
■ 예제 애플리케이션을 단계별로 완성하는 과정에 관한 자세한 해설
■ 최신 버전의 AngularJS로 예제 애플리케이션의 지속적인 업데이트 예정

목차

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

본문중에서

이 함수는 디렉티브 정의 객체(DDO, Directive Definition Object)를 리턴한다. 이 객체는 디렉티브를 구성하기 위한 정보를 정의한 객체다. 예제에서는 이 디렉티브의 매 인스턴스마다 새로운 스코프(scope) 객체가 필요하다는 정보와 함께, 디렉티브가 선언된 요소와 교체될 템플릿을 정의하고 있다. 템플릿 마크업은 앞서 우리가 현재 선택된 스토리 아이템의 title 속성과 description 속성값을 표시하기 위해 사용했던 것과 동일한 코드를 사용하고 있으므로 이미 익숙한 코드일 것이다. _22p

앞으로 다섯 개 장에 걸쳐 I부에서 우리가 살펴본 프로젝트의 확장된 버전인 예제 애플리케이션 안젤로를 구현해본다. 안젤로는 그 배경이 되는 트렐로 웹 애플리케이션을 존중하면서도 서버 측 커뮤니케이션, 디렉티브, 폼 및 유효성 검사, 애니메이션 등 AngularJS의 다양한 기법을 활용하여 개발된다. _42p

getStories 메서드를 호출하면 StoriesModel.all 메서드가 원격 서버를 호출하며, 서버로부터 전달된 결과 데이터는 then 메서드를 이용해 처리한다. then 메서드의 첫 번째 매개변수는 원격 호출이 성공했을 경우의 응답을 처리할 핸들러 함수이며, 이 핸들러 함수의 첫 번째 매개변수는 원격 서버를 호출한 결과 데이터다. 예제에서와 같이 console.log(result.data) 코드를 실행하면 원격 서버를 호출하여 얻은 실제 데이터를 확인할 수 있다. _79p

다음으로 살펴볼 메서드는 addDropTarget 메서드다. 나중에 살펴보겠지만, 이 메서드는 droptarget 디렉티브가 호출하며 앵커와 drop-target 디렉티브의 인스턴스에 대한 참조가 매개변수로 전달된다. 만일 전달된 앵커가 유효한 종류의 앵커가 아니거나 지정된 종류의 앵커를 처리할 drop-target 인스턴스가 이미 등록되어 있다면 적절한 오류를 발생한다. 그 외의 경우에는 지정된 앵커를 키로 사용하고 drop-target 인스턴스를 값으로 사용하는 특성을 targets 객체에 추가한다. _117p

이벤트 핸들러는 리턴되는 객체에 인라인 함수로 정의되어 있다. 각 이벤트 핸들러에는 element, className, 그리고 done 등 세 개의 매개변수가 정의되어 있다. element 매개변수에는 이벤트가 발생한 DOM 요소가 전달되며, className 매개변수는 이벤트가 발생한 요소에 적용된 클래스 이름이 전달된다. 마지막으로, done 매개변수에는 애니메이션 실행이 완료될 때 호출될 콜백 함수에 관한 참조가 전달된다. _157p

폼 유효성 검사는 단지 데이터 바인딩의 확장된 형태로서 FormController 컨트롤러가 노출하는 AngularJS 폼 디렉티브의 상태에 따라 사용자에게 적절한 피드백을 보여주는 기능이다. 지금까지 살펴봤듯이 사용법도 엄청나게 간단하다. 이번 장에서 살펴본 내용들을 간략히 요약해보자. _192p

저자소개

루카스 루벨키 [저] 신작알림 SMS신청
생년월일 -

해당작가에 대한 소개가 없습니다.

장현희 [역] 신작알림 SMS신청
생년월일 -

저자 장현희는 21년째 개발자의 길을 걷고 있다. 지난 19년간 총 23종의 개발 관련서를 집필하거나 번역했다. 현재 캐나다 밴쿠버 근교에 있는 PressReader에서 시니어 소프트웨어 엔지니어로 근무 중이며, 국내 개발자들에게 조금이라도 도움이 되는 번역서를 만들기 위해 틈틈이 노력하고 있다. 앞으로도 책이라는 매개체를 통해 멀리서나마 국내 개발자들과 계속해서 소통할 계획이다.

전공도서/대학교재 분야에서 많은 회원이 구매한 책

    리뷰

    10.0 (총 0건)

    구매 후 리뷰 작성 시, 북피니언 지수 최대 600점

    리뷰쓰기

    기대평

    작성시 유의사항

    평점
    0/200자
    등록하기

    기대평

    0.0

    판매자정보

    • 인터파크도서에 등록된 오픈마켓 상품은 그 내용과 책임이 모두 판매자에게 있으며, 인터파크도서는 해당 상품과 내용에 대해 책임지지 않습니다.

    상호

    (주)교보문고

    대표자명

    안병현

    사업자등록번호

    102-81-11670

    연락처

    1544-1900

    전자우편주소

    callcenter@kyobobook.co.kr

    통신판매업신고번호

    01-0653

    영업소재지

    서울특별시 종로구 종로 1(종로1가,교보빌딩)

    교환/환불

    반품/교환 방법

    ‘마이페이지 > 취소/반품/교환/환불’ 에서 신청 또는 1:1 문의 게시판 및 고객센터(1577-2555)에서 신청 가능

    반품/교환가능 기간

    변심 반품의 경우 출고완료 후 6일(영업일 기준) 이내까지만 가능
    단, 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내

    반품/교환 비용

    변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
    상품이나 서비스 자체의 하자로 인한 교환/반품은 반송료 판매자 부담

    반품/교환 불가 사유

    ·소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    (단지 확인을 위한 포장 훼손은 제외)

    ·소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    예) 화장품, 식품, 가전제품(악세서리 포함) 등

    ·복제가 가능한 상품 등의 포장을 훼손한 경우
    예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집

    ·시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우

    ·전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우

    상품 품절

    공급사(출판사) 재고 사정에 의해 품절/지연될 수 있음

    소비자 피해보상
    환불지연에 따른 배상

    ·상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨

    ·대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

    (주) 인터파크 안전결제시스템 (에스크로) 안내

    (주)인터파크의 모든 상품은 판매자 및 결제 수단의 구분없이 회원님들의 구매안전을 위해 안전결제 시스템을 도입하여 서비스하고 있습니다.
    결제대금 예치업 등록 : 02-006-00064 서비스 가입사실 확인

    배송안내

    • 교보문고 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다.

    • 출고가능 시간이 서로 다른 상품을 함께 주문할 경우 출고가능 시간이 가장 긴 상품을 기준으로 배송됩니다.

    • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능합니다.

    • 배송비는 업체 배송비 정책에 따릅니다.

    • - 도서 구매 시, 1만 원 이상 무료, 1만원 미만 2천 원 - 상품별 배송비가 있는 경우, 상품별 배송비 정책 적용