1. 광고배너
  2. 광고배너
/ 이전버튼 다음버튼
2
미리보기

클라우드 시대 웹 서비스의 확장성을 높이는 Redis와 Node.js를 사용한 웹 애플리케이션 개발(acorn+PACKT Technical Book)
저자 : 조슈아조하난 ㅣ 출판사 : 에이콘출판 ㅣ 역자 : 김기성

2015.06.30 ㅣ 355p ㅣ ISBN-13 : 9788960777293

정가33,000
판매가29,700(10% 할인)
적립금 1,650원 (5%)
배송일정 05월 08일 출고 가능
주문 수량 변경시 안내 배송안내
쿠폰 및 결제혜택 확인하기

크기 기타 규격
제품구성 단행본
이용약관 청약철회
국내도서 > 컴퓨터 > 인터넷 > 웹프로그래밍(웹디자...
이 책에서는 최근 많은 주목을 받고 있는 Node.js와 레디스(Redis)를 사용해 실제 웹 애플리케이션을 개발하기 위한 노하우를 전수하고 있다. 성공적인 웹 서비스를 개발하고 운영하기 위해 필수적인 운영 시스템의 확장성을 보장하기 위한 방법을 최신의 프레임워크인 Node.js를 사용해 웹 애플리케이션을 밑바닥에서부터 개발하는 실제 예를 통해 이슈와 해결 방법을 설명하고 있다. 또한 최근에 주목 받고 있는 메모리 기반 키-값 스토리지인 레디스에 대해서도 설명하고 있으며 이 외에도 웹 애플리케이션 개발에 필요한 여러 모듈과 툴을 소개하고 있다.

펼쳐보기

[목 차]

1장 익스프레스를 사용한 백엔드 개발
__Node.js와 노드 패키지 관리자
__노드에서 익스프레스 사용하기
__익스프레스에서 미들웨어 사용하기
____미들웨어 작성
__믹스에 템플릿 추가
____레이아웃
__익스프레스에서 세션 사용하기
____익스프레스에서 쿠키 사용하기
____세션 추가하기
____레디스를 세션 스토어로 사용하기
__폼 처리
____CSRF
__매우 간단한 인증
__앱의 설정 파일 설정
____라우트 매핑
____설정을 사용하도록 앱 수정하기
__애플리케이션을 확장하는 방법
__요약

2장 Socket.IO를 사용한 확장
__노드 패키지 버전
__간단한 Socket.IO 앱 만들기
____패키지 설치
____클라이언트 만들기
____파이썬을 사용해 사이트 서버 구축하기
____핑퐁
____상호 작용 만들기
____브라우저 부분 추가
____액크놀리지먼트
__메시지 브로드캐스팅
__디스컨넥트 이벤트 사용하기
__네임스페이스 만들기
____네임스페이스 클라이언트 만들기
__룸 추가
__네임스페이스 또는 룸 사용하기
____네임스페이스
________네임스페이스 찾기
____룸은 언제 사용하는가
____룸 찾기
__네임스페이스와 룸을 함께 사용하기
__Socket.IO와 익스프레스를 함께 사용하기
____설정에 Socket.IO 추가하기
____당신은 누구인가
________Socket.IO의 인증
__애플리케이션 이벤트 추가
__Socket.IO의 저장소로 레디스 사용하기
__Socket.IO 내부 동작
____WebSocket
__2장에서 중요한 아이디어
__요약

3장 사용자 인증하기
__노드 패키지 버전
__인증시스템 만드는 방법
__페이스북 애플리케이션 등록하는 방법
__페이스북을 인증하기 위해 Passport 모듈을 쓰는 방법
__구글로 인증하는 방법
__애플리케이션에 구글 인증 추가하기
__더 많은 OAuth 프로바이더 추가
__안전한 로컬 인증 추가
____등록 추가
____데이터베이스 추가하기
__패스워드 스토어 이론
__OAuth 프로세스
__요약

4장 RabbitMQ로 메시지 큐잉하는 법
__노드 패키지 버전
__RabbitMQ 설치
____Mac OS X에 인스톨하는 방법
________RabbitMQ 관리 플러그인
____리눅스에 인스톨하는 방법
____윈도우에 인스톨하는 방법
__처음으로 만든 메시지 큐
____매니지먼트 인터페이스
____메시지 보내기
____메시지를 큐에 저장하기
____다른 워커 추가
__응답 메시지 보내기
____StartServer 만들기
____워커 만들기
____실시간으로 카드 요금 청구 청구하기
__PacktChat에 메시지 큐 추가
____토픽 익스체인지
____워커 만들기
__RabbitMQ에서 큐에 메시지 저장
__요약

5장 애플리케이션 데이터 저장소로 레디스 사용하기
__노드 패키지 버전
__레디스 설치하는 방법
____Mac OS X에 설치하는 방법
____리눅스에 설치하는 방법
____윈도우에 설치하는 방법
__레디스에서 데이터 구조 사용하기
____간단한 레디스 애플리케이션 만드는 방법
__레디스 스키마
____해시 사용하기
____레디스에서의 키
__레디스의 지속성
____레디스 키 삭제하기
__메시지 큐로 레디스 사용하기
__레디스를 PacktChat에 추가하기
____레디스 구조 정하기
____레디스 함수 만들기
__레디스는 애플리케이션 상태를 위한 용도로 쓰인다
__요약

6장 바우어를 사용한 프론트엔트 의존성 관리
__노드 패키지 버전
__바우어 설치와 사용
__리액트 소개
__백본 소개
____백본 모델 사용
____백본 컬렉션 사용
__요약

7장 DOM 이벤트를 위한 백본과 리액트 사용
__바우어 패키지 버전들
__Socket.IO 마무리
__리액트 컴포넌트 만들기
____리액트 요약
__백본 모델
____모델과 Socket.IO 동기화
____모델 생성
____컬렉션 생성
__백본 라우터
__컬렉션과 뷰 합치기
__CSS와 레이아웃 수정
__새 워커 등록
__애플리케이션 사용 시도
__요약

8장 애플리케이션 개발을 위한 자바스크립트 사용 사례
__노드 패키지 버전
__테스트 환경 설정
____코드 커버리지에 이스탄불 응용
__다양한 환경 설정
____투웰브 팩터 앱
____config 파일 수정하기
____환경 파일 생성
____추가 환경 설정
__그런트 소개
____기본 그런트 파일 빌드
____테스트 자동화
____파일 전처리
____그런트를 사용한 폴더 비우기
____소스파일 JSHinting
____코드 통합
____코드 축소
____그런트 요약
__정적 파일과 CDN
____S3 버킷 생성
____파이썬과 가상환경 설치
__새로운 툴 스크립트 생성
__요약

9장 배치와 확장성
__EC2 서버 생성
____AWS EC2 요약
__앤서블은 무엇인가
____앤서블 설치
____앤서블 롤 사용
________RabbitMQ 설치
________애플리케이션 설치
________코드 배포
________다중 애플리케이션 서버 로드 밸런싱
________롤 자동화
____앤서블 요약
____새로운 환경 생성
__확장성
____확장성의 여러 가지 타입
________수평 확장
________수직 확장
__요약

10장 디버깅과 문제 해결
__노드 패키지
__크롬 개발자 도구 사용
____요소
____네트워크
____소스
____타임라인
____프로파일
____리소스
____감사
____콘솔
__요청 분석
__디버깅
____프론트엔드 디버깅
____백엔드 디버깅
____디버깅 요약
__애플리케이션 CPU 프로파일링
__힙 스냅샷 생성
____프론트엔드 메모리 누수
____메모리 누수 요약
__요약


펼쳐보기
이 책에서는 최근 많은 주목을 받고 있는 Node.js와 레디스(Redis)를 사용해 실제 웹 애플리케이션을 개발하기 위한 노하우를 전수하고 있다. 성공적인 웹 서비스를 개발하고 운영하기 위해 필수적인 운영 시스템의 확장성을 보장하기 위한 방법을 최신의 프레임워크인 Node.js를 사용해 웹 애플리케이션을 밑바닥에서부터 개발하는 실제 예를 통해 이슈와 해결 방법을 설명하고 있다. 또한 최근에 주목 받고 있는 메모리 기반 키-값 스토리지인 레디스에 대해서도 설명하고 있으며 이 외에도 웹 애플리케이션 개발에 필요한 여러 모듈과 툴을 소개하고 있다.

이 책에서 다루는 내용

■ 직접 익스프레스(Express) 모듈의 미들웨어 구축과 실행
■ Socket.IO와 익스프레스 모듈을 통합하고 동일한 인증 방식 사용
■ 비밀번호를 안전하게 로컬 스토어에 저장하는 방법
■ 메시지 큐를 사용해 애플리케이션을 여러 부분으로 나눠 관리
■ 레디스(Redis)로 서버들 간의 공유된 상태 만들기
■ 백본(Backbone)과 Socket.IO, 리액트(React)로 빠르고 동적인 실시간의 프론트엔드 구축
■ Grunt.js 태스크러너를 사용한 빌드 과정 자동화
■ 클라우드 서버로 애플리케이션을 실행하는 배치 스크립트 작성

이 책의 대상 독자

'확장성(scalability)'이라는 단어가 낯설게 들린다면, 이 책을 꼭 읽어보기 바란다. 프레임워크에 대한 설명은 사전지식을 요구하지 않기 때문에 Node.js를 사용해 본 적이 많지 않아도 상관 없다. 확장성 있는 Node.js 애플리케이션을 곧 만들게 될 것이다! 자바스크립트는 알고 있어야 한다.

이 책의 구성

1장, '익스프레스를 사용한 백엔드 개발'에서는 익스프레스를 사용해서 페이지를 보여 주는 것을 배운다. 익스프레스는 완전한 기능을 갖춘 웹 애플리케이션 프레임워크로 소량의 코드를 작성해도 여러 가지 기능을 쓸 수 있게 해준다. 또, 이를 확장해 만든 탄탄한 미들웨어 시스템도 갖추고 있다. 미들웨어는 템플릿과 세션뿐 아니라 폼 데이터도 작업할 수 있게 해준다. 1장에서 애플리케이션의 토대를 만들고, 2장부터는 활용할 것이다.

2장, 'Socket.IO를 사용한 확장'에서는 웹소켓을 사용해 실시간 애플리케이션을 만드는 방법을 보여준다. 웹소켓은 사용자가 실시간으로 교신할 수 있게 해주는 동적 웹페이지 발전의 다음 단계다. 2장은 익스프레스 모듈로 만든 세션에 Socket.IO 모듈을 적용하는 예제를 보여준다.

3장, '사용자 인증'에서는 제대로 동작하는 로그인 페이지를 만드는 법을 보여 준다. 여기서 패스포트 프레임워크를 사용해 인증 함수를 만든다. 패스포트는 여러 프로바이더들과 연결할 커넥터를 만드는 데 주로 쓰인다. 커넥터들은 OAuth나 OAuth 2.0을 구현한다. 여러 OAuth 프로바이더들을 대상으로 커넥터를 직접 구현할 필요 없이 각 라이브러리가 처리한다. 로컬 패스워드를 안전하게 저장하는 방법도 알게 된다.

4장, 'RabbitMQ로 메시지 큐잉하는 법'에서는 메시지 큐(Queue)를 다룬다. 메시지 큐는 확장성 있는 애플리케이션의 필수 사항으로, 애플리케이션을 분해해서 복잡성이나 스코프를 처리할 수 있게 해준다. 4장에서 이에 대한 예제를 다루게 된다. 또한 사용자 각자의 메시지 큐를 만들어서 함수에 연결하는 방법도 알려 준다.

5장, '애플리케이션 데이터 저장소로 레디스 사용하기'에서는 레디스에 정보를 저장하고 회수하는 방법을 배운다. 레디스 데이터 스토리지 엔진은 관계형 데이터베이스와 다르기 때문에 꼭 배워야 한다. 관계형 데이터베이스처럼 생각하면 문제가 발생할 수 있다. 애플리케이션을 만들 때 주로 쓰는 커맨드뿐만 아니라 레디스가 메시지 큐를 수행하는 방법에 대해 배운다.

6장, '바우어를 사용한 프론트엔트 의존성 관리'에서는 애플리케이션의 프론트엔드 개발을 시작하는 방법을 배운다. 프론트엔드가 없는 애플리케이션은 없다. 여기서 쓸 프레임워크에 대해 알아보고 왜 그 프레임워크를 사용했는지 알게 될 것이다.

7장, 'DOM 이벤트를 위한 백본과 리액트 사용'에서는 프론트엔드의 중추 역할을 하는 백본을 다룬다. 브라우저에서 자바스크립트를 수행할 때 중요한 것 두 가지는 DOM 조작과 이벤트 응답이다. 실시간 이벤트의 리스너를 만드는 방법과 페이지와 상호 작용하는 방법을 배운다. 백본과 리액트로 지속 가능한 코드를 만들어 이를 수행한다.

8장, '애플리케이션 개발을 위한 자바스크립트 사용 사례'에서는 더 나은 자바스크립트 코드를 작성하는 법을 배운다. 스크립트 언어인 자바스크립트는 실수를 많이 해도 실행이 되는데, 이는 장점이기도 하고 단점이기도 하다. 하지만 세미콜론을 빼먹거나 런타임 오류가 발생하는 것은 알아야 한다. 이는 반복되는 빌드 시스템을 만들어 해결한다. 여러 모듈들을 보고 어떤 모듈은 코드에 적용하지 않을지 배운다.

9장, '배치와 확장성'에서는 로컬호스트 주소를 삭제하는 방법을 배운다. 배치할 때 실수로 어떤 단계를 빠트리는 경우가 많기 때문에 배치 스크립트를 제대로 만드는 것이 중요하다. 한 개 이상의 서버에 배치하는 법과 배치할 수 있는 여러 환경을 만드는 법을 배운다. 서버가 여러 개 있으면 수평 확장이 가능하므로 서버를 추가하기 쉬운 장점이 있다.

10장, '디버깅과 문제 해결'에서는 함수 호출 상태를 알아보는 방법에 대해 설명한다. console.log() 함수를 여러 군데 사용해 디버깅하기는 어렵기 때문이다. 또한 프론트엔드와 백엔드에서 메모리 누수를 탐지하는 법을 배운다. 크롬에서 자바스크립트 디버깅을 해 봤다면 10장에서 도움을 많이 받을 것이다.

펼쳐보기

독자서평 쓰기 로그인을 하시면 독자서평을 쓰실 수 있습니다.

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

이 분야의 베스트

더보기 >

    이 분야의 신간

    더보기 >
      맨위로가기

      영풍문고 로고

      • 회사명 : (주)영풍문고
      • 대표이사 : 김경환
      • 소재지 : 서울특별시 종로구 청계천로 41 (우)03188
      • 사업자 등록번호 : 773-86-01800 ㅣ 통신판매업 신고번호 : 2023-서울종로-0130 [ 사업자정보확인 ]
      • 개인정보관리 책임자 : 조순제 ㅣ customer@ypbooks.co.kr ㅣ 대량주문 : webmaster@ypbooks.co.kr
      COPYRIGHT © YOUNGPOONG BOOKSTORE INC. ALL RIGHTS RESERVED.
      영풍문고 네이버블로그 영풍문고 인스타그램
      맨위로가기