해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.
패키지
북카드
키워드 Pick
키워드 Pick 안내
관심 키워드를 주제로 다른 연관 도서를 다양하게 찾아 볼 수 있는 서비스로, 클릭 시 관심 키워드를 주제로 한 다양한 책으로 이동할 수 있습니다.
키워드는 최근 많이 찾는 순으로 정렬됩니다.
책 소개
이 책이 속한 분야
- 국내도서 > 컴퓨터/IT > 개발방법론 > 개발방법론일반
- 국내도서 > 컴퓨터/IT > 프로그래밍 언어 > Java
- 국내도서 > 컴퓨터/IT > 대학교재
- 국내도서 > 대학교재 > 컴퓨터
『네티 인 액션』은 네티 프레임워크를 소개하고 자바 네트워크 애플리케이션에 통합하는 방법을 설명하며, 저수준 API를 직접 다루지 않고도 확장성이 우수한 애플리케이션을 개발하는 방법을 다룬다. 또한 다양한 예제를 통해 비동기식 네트워킹 개발을 위한 사고방식을 소개하고 대규모 네트워크 애플리케이션을 개발하는 최적의 방법을 익힐 수 있게 도와준다. 이 책은 자바와 기본 네트워크 인프라에 대한 경험이 있는 독자에게 적합하다.
작가정보
저자(글) 노먼 마우러
저자 노먼 마우러 (Norman Maurer)는 네티의 핵심 개발자 중 한 명으로서, 아파치 소프트웨어 재단의 회원이며, 여러 해 동안 다양한 오픈소스 프로젝트에 기여자로 활약해왔다. 현재 애플에서 선임 소프트웨어 엔지니어로 근무하면서 iCloud 팀의 네티와 여러 네트워크 관련 프로젝트를 담당하고 있다.
저자(글) 마빈 알렌 울프탈
저자 마빈 알렌 울프탈 (Marvin Allen Wolfthal)은 여러 해 동안 다양한 소프트웨어 개발 분야에서 개발자, 설계자, 강사, 저자로 활약했다. 초창기부터 자바를 이용해 개발을 해왔고 썬마이크로시스템즈에서 분산 객체 기술을 홍보하기 위해 개발한 최초의 프로그램 개발에도 참여했다. 또한 썬 에듀케이션 센터에서 C++, 자바, CORBA를 이용하는 최초의 크로스 랭귀지 프로그래밍 강좌를 개설하고 운영하기도 했다. 현재는 델 서비스의 컨설턴트로서 자바 업계에서 개발된 방법론을 엔터프라이즈 컴퓨팅의 여러 영역에 도입하는 데 집중하고 있다.
역자 최민석은 번역회사에서 언어전문가로 일하다 뜻하는 바를 이루기 위해 프리랜서로 독립해서 현재는 전문 번역가로 일하고 있다. 주로 IT 관련 소프트웨어의 현지화와 개발자 웹 사이트 관련 프로젝트를 진행하고 있으며 앞으로 개발자 서적 분야에서 작은 변화를 일으키고 싶다는 소박한 소망을 하고 있다. 번역가의 고민은 독자의 고민과 반비례한다는 믿음으로 오늘도 기꺼이 고민할 준비가 돼 있다. 번역한 책으로는 『유니티와 C#으로 배우는 게임 개발 교과서』 『게임 디자인 워크숍』 『시작하세요! 스프링 4 프로그래밍』 『자바 웹 개발 완벽 가이드』 『엔터프라이즈 애플리케이션 아키텍처 패턴』이 있다.
목차
- [01부] 네티 개념과 아키텍처
▣ 01장: 네티 - 비동기식 이벤트 기반 네트워킹 프레임워크
1.1 자바의 네트워킹
___1.1.1 자바 NIO
___1.1.2 셀렉터
1.2 네티 소개
___1.2.1 네티는 누가 사용할까?
___1.2.2 비동기식 이벤트 기반 네트워킹
1.3 네티의 핵심 컴포넌트
___1.3.1 Channel
___1.3.2 콜백
___1.3.3 Future
___1.3.4 이벤트와 핸들러
___1.3.5 내용 정리
1.4 요약
▣ 02장: 첫 번째 네티 애플리케이션
2.1 개발 환경 설정
___2.1.1 JDK 내려받기와 설치
___2.1.2 IDE 내려받기와 설치
___2.1.3 아파치 메이븐 내려받기와 설치
___2.1.4 툴셋 구성
2.2 네티 클라이언트/서버 개요
2.3 Echo 서버 만들기
___2.3.1 ChannelHandler와 비즈니스 논리
___2.3.2 서버 부트스트랩
2.4 Echo 클라이언트 만들기
___2.4.1 ChannelHandler를 이용한 클라이언트 논리 구현
___2.4.2 클라이언트 부트스트랩
2.5 Echo 서버와 클라이언트의 빌드와 실행
___2.5.1 빌드
___2.5.2 Echo 서버와 클라이언트 실행
2.6 요약
▣ 03장: 네티 컴포넌트와 설계
3.1 Channel, EventLoop, ChannelFuture
___3.1.1 Channel 인터페이스
___3.1.2 EventLoop 인터페이스
___3.1.3 ChannelFuture 인터페이스
3.2 ChannelHandler와 ChannelPipeline
___3.2.1 ChannelHandler 인터페이스
___3.2.2 ChannelPipeline 인터페이스
___3.2.3 ChannelHandler에 대한 고찰
___3.2.4 인코더와 디코더
___3.2.5 추상 클래스 SimpleChannelInboundHandler
3.3 부트스트랩
3.4 요약
▣ 04장: 전송
4.1 사례 연구: 전송 마이그레이션
___4.1.1 네티 없이 OIO와 NIO 이용
___4.1.2 네티와 함께 OIO와 NIO 이용
___4.1.3 논블로킹 네티 버전
4.2 전송 API
4.3 포함된 전송
___4.3.1 NIO: 논블로킹 입출력
___4.3.2 Epoll: 리눅스용 네이티브 논블로킹 전송
___4.3.3 OIO: 기존 블로킹 입출력
___4.3.4 JVM 내부 통신용 로컬 전송
___4.3.5 임베디드 전송
4.4 전송 사용 사례
4.5 요약
▣ 05장: ByteBuf
5.1 ByteBuf API
5.2 ByteBuf 클래스: 네티의 데이터 컨테이너
___5.2.1 작동 방식
___5.2.2 ByteBuf 사용 패턴
5.3 바이트 수준 작업
___5.3.1 임의 접근 인덱싱
___5.3.2 순차 접근 인덱싱
___5.3.3 폐기할 수 있는 바이트
___5.3.4 읽을 수 있는 바이트
___5.3.5 기록할 수 있는 바이트
___5.3.6 인덱스 관리
___5.3.7 검색 작업
___5.3.8 파생 버퍼
___5.3.9 읽기/쓰기 작업
5.3.10 추가 작업
5.4 ByteBufHolder 인터페이스
5.5 ByteBuf 할당
___5.5.1 주문식 할당을 위한 ByteBufAllocator 인터페이스
___5.5.2 풀링되지 않는 버퍼
___5.5.3 ByteBufUtil 클래스
5.6 참조 카운팅
5.7 요약
▣ 06장: ChannelHandler와 ChannelPipeline
6.1 ChannelHandler 계층
___6.1.1 Channel 수명주기
___6.1.2 ChannelHandler 수명주기
___6.1.3 ChannelInboundHandler 인터페이스
___6.1.4 ChannelOutboundHandler 인터페이스
___6.1.5 ChannelHandler 어댑터
___6.1.6 리소스 관리
6.2 ChannelPipeline 인터페이스
___6.2.1 ChannelPipeline 수정
___6.2.2 이벤트 생성
6.3 ChannelHandlerContext 인터페이스
___6.3.1 ChannelHandlerContext 이용
___6.3.2 ChannelHandler와 ChannelHandlerContext의 고급 활용
6.4 예외 처리
___6.4.1 인바운드 예외 처리
___6.4.2 아웃바운드 예외 처리
6.5 요약
▣ 07장: EventLoop와 스레딩 모델
7.1 스레딩 모델의 개요
7.2 EventLoop 인터페이스
___7.2.1 네티 4의 입출력과 이벤트 처리
___7.2.2 네티 3의 입출력 작업
7.3 작업 스케줄링
___7.3.1 JDK 스케줄링 API
___7.3.2 EventLoop를 이용한 작업 스케줄링
7.4 구현 세부 사항
___7.4.1 스레드 관리
___7.4.2 EventLoop와 스레드 할당
7.5 요약
▣ 08장: 부트스트랩
8.1 부트스트랩 클래스
8.2 비연결 프로토콜과 클라이언트 부트스트랩
___8.2.1 클라이언트 부트스트랩
___8.2.2 Channel과 EventLoopGroup 호환성
8.3 서버 부트스트랩
___8.3.1 ServerBootstrap 클래스
___8.3.2 서버 부트스트랩
8.4 채널에서 클라이언트 부트스트랩
8.5 부트스트랩 중 여러 ChannelHandler 추가
8.6 네티 ChannelOption과 특성 이용
8.7 DatagramChannel 부트스트랩
8.8 종료
8.9 요약
▣ 09장: 단위 테스트
9.1 EmbeddedChannel 개요
9.2 EmbeddedChannel을
ChannelHandler 테스트
___9.2.1 인바운드 메시지 테스트
___9.2.2 아웃바운드 메시지 테스트
9.3 예외 처리 테스트
9.4 요약
[02부] 코덱
▣ 10장: 코덱 프레임워크
10.1 코덱이란?
10.2 디코더
___10.2.1 ByteToMessageDecoder 추상 클래스
___10.2.2 ReplayingDecoder 추상 클래스
___10.2.3 MessageToMessageDecoder 추상 클래스
___10.2.4 TooLongFrameException 클래스
10.3 인코더
___10.2.3 MessageToByteEncoder 추상 클래스
___10.2.3 MessageToMessageEncoder 추상 클래스
10.4 추상 코덱 클래스
___10.4.1 ByteToMessageCodec 추상 클래스
___10.2.3 MessageToMessageCodec 추상 클래스
___10.4.3 CombinedChannelDuplexHandler 클래스
10.5 요약
▣ 11장: 네티에서 제공하는 ChannelHandler와 코덱
11.1 SSL/TLS를 이용한 네티 애플리케이션 보안
11.2 네티 HTTP/HTTPS 애플리케이션 개발
___11.2.1 HTTP 디코더, 인코더, 코덱
___11.2.2 HTTP 메시지 집합체
___11.2.3 HTTP 압축
___11.2.4 HTTPS 이용
___11.2.5 웹소켓
11.3 유휴 연결과 시간 만료
11.4 구분 기호 및 길이 기반 프로토콜의 디코딩
___11.4.1 구분 기호 프로토콜
___11.4.2 길이 기반 프로토콜
11.5 대용량 데이터 기록
11.6 데이터 직렬화
___11.6.1 JDK 직렬화
___11.6.2 JBoss 마셜링을 이용한 직렬화
___11.6.3 프로토콜 버퍼를 통한 직렬화
11.7 요약
[03부] 네트워크 프로토콜
▣ 12장: 웹소켓
12.1 웹소켓 소개
12.2 예제 웹소켓 애플리케이션
12.3 웹소켓 지원 추가
___12.3.1 HTTP 요청 처리
___12.3.2 웹소켓 프레임 처리
___12.3.3 ChannelPipeline 초기화
___12.3.4 부트스트랩
12.4 애플리케이션 테스트
___12.4.1 암호화
12.5 요약
▣ 13장: UDP를 이용한 이벤트 브로드캐스팅
13.1 UDP 기본 사항
13.2 UDP 브로드캐스트
13.3 UDP 예제 애플리케이션
13.4 메시지 POJO: LogEvent
13.5 브로드캐스터 작성
13.6 모니터 작성
13.7 LogEventBroadcaster와 LogEventMonitor 실행
13.8 요약
[04부] 사례 연구
▣ 14장: 사례 연구 1부
14.1 드로플러: 모바일 서비스 구축
___14.1.1 초기 상황
___14.1.2 드로플러의 작동 방식
___14.1.3 빠른 업로드 환경 구축
___14.1.4 기술 스택
___14.1.5 성능
___14.1.6 요약: 든든한 도우미
14.2 파이어베이스: 실시간 데이터 동기화 서비스
___14.2.1 파이어베이스 아키텍처
___14.2.2 롱 폴링
___14.2.3 HTTP 1.1 keep-alive와 파이프라인
___14.2.4 SslHandler 제어
___14.2.5 파이어베이스 요약
14.3 어번 에어십: 모바일 서비스 구축
___14.3.1 모바일 메시징의 기본
___14.3.2 타사 푸시 전달
___14.3.3 이진 프로토콜
___14.3.4 직접 장치 전송
___14.3.5 네티의 탁월한 동시 연결 지원 능력
___14.3.6 요약: 방화벽의 경계를 넘어
14.4 요약
▣ 15장: 사례 연구 2부
15.1 페이스북에서의 네티: 니프티와 스위프트
___15.1.1 스리프트란?
___15.1.2 네티를 이용한 자바 스리프트의 상태 개선
___15.1.3 니프티 서버 설계
___15.1.4 니프티 비동기 클라이언트 설계
___15.1.5 스위프트: 자바 스리프트 서비스를 구축하는 더 빠른 방법
___15.1.6 결과
___15.1.7 페이스북 요약
15.2 트위터에서의 네티: 피네이글
___15.2.1 트위터의 성장통
___15.2.2 피네이글의 탄생
___15.2.3 피네이글의 작동 방식
___15.2.4 피네이글의 추상화
___15.2.5 오류 관리
___15.2.6 서비스 구성
___15.2.7 미래: 네티
___15.2.8 트위터 요약
15.3 요약
[부록] 메이븐 소개
A.1 메이븐이란?
___A.1.1 메이븐 설치와 구성
___A.1.2 메이븐의 기본 개념
A.2 POM 예제
___A.2.1 프로젝트 POM
___A.2.2 POM 상속과 집계
A.3 메이븐 명령줄
A.4 요약
추천사
-
“네티에 대한 최초의 책... 고성능, 저지연 네트워크 애플리케이션을 개발하는 방법을 배울 수 있다.”
-
“기본 개념부터 최상의 방법까지 모든 것을 해결하는 고성능 자바 네트워크 스택”
-
“네티의 모든 것을 활용하는 방법을 설명하는 가장 자세한 내용”
-
“네티 프레임워크에 대한 탁월한 안내서. 자바로 고성능 네트워크 입출력을 다루는 모든 개발자에게 추천하고 싶은 책”
책 속으로
웹 애플리케이션 서버를 이용하면 HTTP나 RPC 서버를 제작하는 방법을 배울 필요가 없는 날이 온다고 생각하던 때가 있었다. 아쉽게도 이런 희망은 오래 지속되지 않았다. 우리가 다뤄야 하는 기능 변경의 양과 속도가 날로 증가하면서 기존의 3계층 아키텍처로 감당할 수 없는 수준이 됨에 따라 이제는 애플리케이션을 여러 조각으로 나눠서 다수의 시스템으로 구성된 대규모 클러스터로 분산해야 하는 상황에 이르렀다.
이러한 대규모 분산 시스템을 운영하려면 운영 비용과 대기 시간이라는 두 가지 흥미로운 문제를 고려해야 한다. 단일 노드의 성능을 30% 또는 100% 이상으로 개선하면 얼마나 많은 시스템을 줄일 수 있을까? 단일 웹 브라우저에서 다수의 시스템을 통해 십여 개의 내부 원격 프로시저 호출을 트리거할 때 최적의 지연 시간을 달성하려면 어떻게 해야 할까?
네티의 핵심 기여자 중 한 명인 노먼 마우러는 네티 프로젝트에 대한 최초의 책 『네티 인 액션』에서 네티로 고성능 저대기 시간 네트워크 애플리케이션을 구축하는 방법으로 이러한 문제의 해결책을 제시한다.
이 책을 마칠 때쯤에는 간소한 HTTP 서버부터 고도의 세부 설정이 가능한 RPC 서버까지 거의 모든 네트워크 애플리케이션을 구축할 수 있게 될 것이다.
무엇보다 『네티 인 액션』의 놀라운 점은 이 책이 네티의 구석구석을 모두 아는 핵심 기여자가 집필했다는 것만이 아니라 트위터, 페이스북, 파이어베이스 등 네티를 실무 시스템에 활용하고 있는 여러 기업의 실제 사례 연구를 담고 있다는 점이다. 이러한 사례 연구를 통해 이들 기업에서 네티 기반 애플리케이션의 역량을 최대한으로 끌어올리는 데 사용한 방법을 이해할 수 있게 될 것이다.
2001년 필자의 학부 시절 개인 프로젝트로 세상에 선보인 네티 (http://t.motd.kr/ko/archives/1930)는 프로젝트(http://netty.io/community.html)에 참여하는 노먼과 같은 열정적인 기여자들의 값진 노력에 힘입어 지금 이 순간에도 활발한 생명력을 보여주고 있다. 이 책이 '네트워크 프로그래밍의 미래를 향한' 길에 동참하도록 많은 독자에게 동기를 부여하고 프로젝트의 새로운 측면에 활기를 불어넣기를 기대한다.
- 이희승
네티 창시자
기본정보
ISBN | 9791158390327 | ||
---|---|---|---|
발행(출시)일자 | 2016년 04월 15일 | ||
쪽수 | 336쪽 | ||
크기 |
188 * 240
* 19
mm
/ 778 g
|
||
총권수 | 1권 | ||
시리즈명 |
위키북스 시스템 & 네트워크 시리즈
|
||
원서명/저자명 | Netty in Action/Norman Maurer |
Klover
e교환권은 적립 일로부터 180일 동안 사용 가능합니다.
리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 리뷰 종류별로 구매한 아이디당 한 상품에 최초 1회 작성 건들에 대해서만 제공됩니다.
판매가 1,000원 미만 도서의 경우 리워드 지급 대상에서 제외됩니다.
일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
- 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
- 도서와 무관한 내용의 리뷰
- 인신공격이나 욕설, 비속어, 혐오발언이 개재된 리뷰
- 의성어나 의태어 등 내용의 의미가 없는 리뷰
리뷰는 1인이 중복으로 작성하실 수는 있지만, 평점계산은 가장 최근에 남긴 1건의 리뷰만 반영됩니다.
구매 후 리뷰 작성 시, e교환권 200원 적립
문장수집
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
구매 후 리뷰 작성 시, e교환권 100원 적립