HOME > Detail View

Detail View

자바 네트워크 소녀 Netty : 비동기ㆍ이벤트 기반 고성능 네트워크 프레임워크 (Loan 4 times)

Material type
단행본
Personal Author
정경석 이희승, 감수
Title Statement
자바 네트워크 소녀 Netty : 비동기ㆍ이벤트 기반 고성능 네트워크 프레임워크 / 정경석 지음
Publication, Distribution, etc
서울 :   한빛미디어,   2015  
Physical Medium
348 p. : 삽화 ; 24 cm
기타표제
판권기표제: 자바 네트워크 소녀 네티 : 비동기, 이벤트 기반 고성능 네트워크 애플리케이션 프레임워크 Netty
ISBN
9788968482243
General Note
감수: 이희승  
Bibliography, Etc. Note
참고문헌(p. 344)과 색인수록
000 00000cam c2200205 c 4500
001 000045854610
005 20151221150104
007 ta
008 151221s2015 ulka b 001c kor
020 ▼a 9788968482243 ▼g 93000
035 ▼a (KERIS)BIB000013885099
040 ▼a 222001 ▼c 222001 ▼d 222001 ▼d 211009
082 0 4 ▼a 005.133 ▼2 23
085 ▼a 005.133 ▼2 DDCK
090 ▼a 005.133 ▼b J41 2015z9
100 1 ▼a 정경석
245 1 0 ▼a 자바 네트워크 소녀 Netty : ▼b 비동기ㆍ이벤트 기반 고성능 네트워크 프레임워크 / ▼d 정경석 지음
246 1 ▼i 판권기표제: ▼a 자바 네트워크 소녀 네티 : ▼b 비동기, 이벤트 기반 고성능 네트워크 애플리케이션 프레임워크 Netty
260 ▼a 서울 : ▼b 한빛미디어, ▼c 2015
300 ▼a 348 p. : ▼b 삽화 ; ▼c 24 cm
500 ▼a 감수: 이희승
504 ▼a 참고문헌(p. 344)과 색인수록
700 1 ▼a 이희승, ▼e 감수
945 ▼a KLPA

Holdings Information

No. Location Call Number Accession No. Availability Due Date Make a Reservation Service
No. 1 Location Science & Engineering Library/Sci-Info(Stacks1)/ Call Number 005.133 J41 2015z9 Accession No. 121235078 Availability Available Due Date Make a Reservation Service B M

Contents information

Book Introduction

저자는 안정성과 성능을 세계적으로 인정받아 카카오톡, 애플, 트위터, 페이스북, 네이버 라인 등에서 사용하는 자바 네트워크 프레임워크 네티를 네트워크 초보자 눈높이에 맞춰 설명한다. 아울러 중고급 개발자에게 필요한 네티에 대한 깊은 설명은 물론이고 네티 API로 서버를 만드는 고급 과정까지 다룬다.

오랫동안 네티를 현업에서 사용한 저자는 네티로 네트워크 프로그래밍을 하려는 독자의 가려운 곳을 잘 알고 긁어준다. 네트워크 개발자에게 도움이 되는 더 좋은 책을 만들고자 네티를 창시한 이희승이 감수하고, 레디스컨트리뷰터인 강대명 외 4명이 베타 리더로 참가했다.

자바 네트워크 프로그래밍의 최고의 선택 Netty! /
이 책은 안정성과 성능을 세계적으로 인정받아 카카오톡, 애플, 트위터, 페이스북, 네이버 라인 등에서 사용하는 자바 네트워크 프레임워크 네티를 네트워크 초보자 눈높이에 맞춰 설명한다. 아울러 중고급 개발자에게 필요한 네티에 대한 깊은 설명은 물론이고 네티 API로 서버를 만드는 고급 과정까지 다룬다. 오랫동안 네티를 현업에서 사용한 저자는 네티로 네트워크 프로그래밍을 하려는 독자의 가려운 곳을 잘 알고 긁어준다. 네트워크 개발자에게 도움이 되는 더 좋은 책을 만들고자 네티를 창시한 이희승이 감수하고, 레디스컨트리뷰터인 강대명 외 4명이 베타 리더로 참가했다.

★ 이 책의 대상층
이 책의 독자들에 대한 몇 가지 가정을 했다. 첫째, 이미 자바에 대한 기본 지식이 있다고 가정했다. 물론 조슈아블로흐의 『이펙티브 자바』나 더그 리의 『자바 병렬 프로그래밍』과 같은 책을 읽었다고 가정하는 것은 아니다. 단지 자바 기본서에서 다루는 문법과 주요 클래스의 사용법 정도만 알고 있으면 된다. 따라서 꼭 필요하지 않으면 자바 자체에 대해 설명하지 않는다. 둘째, 네트워크 프로그램을 처음 배운다고 가정했다. 이런 이유로 책의 네트워크 프로그램을 작성할 때 알아야 하는 필수 필수 지식을 담고자 지면을 할애했다. 이미 아는 부분이라면 해당 설명을 건너뛰어 읽어도 무방하다.

★ 이 책의 개발 환경
이 책의 예제는 윈도우와 이클립스 개발 환경을 기반으로 개발하고 테스트했다. 리눅스 환경은 가상 머신에 설치하여 사용했다. 이 책에서 사용하는 프로그램은 다음과 같다.

- 이클립스 - Eclipse Luna SR2(4.4.2)
- 네티 - 4.0.31.Final
- 운영체제 - CentOS 6 (2.6.32-504.16.2.el6.x86_64)
- Maven - 3.2.5
- Java - JDK 1.8.0_05

★ 이 책의 구성
이 책은 크게 세 부분으로 나뉜다. 1~2장에서는 네티 소스 코드에 수록된 예제 애플리케이션을 살펴보고 네티의 특징을 일반적인 네트워크 애플리케이션과 비교하여 살펴본다. 이 같은 접근 방법은 초보 자바 개발자도 네티를 사용하여 네트워크 애플리케이션을 작성할 수 있다는 자신감을 심어주며 할 수 있다는 흥미를 제공한다. 3~6장은 네티가 제공하는 다양한 기능과 특징을 다룬다. 7~9장은 네티를 실무에서 사용할 때 있을 법한 시나리오를 가정하여 애플리케이션을 작성하는 예제를 다룬다.

책의 도입부인 1~2장에서는 네티의 기본 예제인 Discard 서버 예제를 독자가 이해하기 쉽도록 간단하게 수정하여 살펴보고 클라이언트 애플리케이션이 서버에 접속했을 때 처리해야 하는 부분을 설명한다. 다음으로 에코 서버 예제로 클라이언트 애플리케이션과 서버 애플리케이션이 서로 커뮤니케이션하는 방법을 확인하며 네티 사용법을 차근차근 살펴본다.

3~6장은 책의 본편으로써 네티의 주요 기능인 부스스트랩과 채널 파이프라인, 이벤트 모델, 바이트 버퍼 등의 구조와 특징을 다룬다. 각 컴포넌트를 다룰 때는 구조를 먼저 설명한 뒤 그림을 사용하여 한 번 더 살펴보고 나서 예제를 사용하여 최종 사용법을 익힌다. 마지막으로 7~9장은 네티를 응용하여 애플리케이션을 작성하는 방법을 설명한다. 특히 9장에서는 네티로 API 서버를 만든다. 이를 통해 다양한 서드파티 프레임워크와 네티가 어떻게 상호작용하는지 살펴본다.

9장에서 작성한 애플리케이션은 실무에서 사용 가능한 수준의 설계를 포함한다.

-1장 네티 맛보기
네티를 처음 접하는 개발자에게 간단한 네티 애플리케이션을 작성하고 테스트하는 방법을 설명한다. 서버 네트워크 애플리케이션과 클라이언트 애플리케이션을 순서대로 작성하는 방법을 알아본다. 또한 매우 적은 양의 코드로 작성된 네티 애플리케이션이 얼마나 높은 성능을 제공하는지 알아본다.

-2장 네티의 주요 특징
네트워크 애플리케이션이 제공하는 기본 특성을 설명하고 네티가 어떻게 이런 특징을 제공하는지 살펴본다.

-3장 부트스트랩
네티로 작성하는 네트워크 애플리케이션에서 가장 기본적으로 설정해야 하는 부트스트랩 컴포넌트에 대한 설명과 예제를 제공한다. 부트스트랩은 서버 부트스트랩과 클라이언트 애플리케이션을 위한 부트스트랩으로 나뉘는데 각 부트스트랩이 제공하는 특징과 구조를 살펴본다.

-4장 채널 파이프라인과 코덱
채널 파이프라인과 코덱은 일반적인 소켓 애플리케이션에서 작성해야 하는 업무 로직을 추상화한 계층이다. 채널 파이프라인이 동작하는 방식과 체널 파이프라인에 등록되는 코덱의 관계를 먼저 살펴보고 코덱이 동작하는 방식을 살펴본다.

-5장 이벤트 모델
네티가 제공하는 이벤트 모델이 어떤 장점을 제공하는지 살펴보고 각 이벤트 모델 간의 전환 방법을 살펴본다. 특히 이벤트 모델을 제공하기 위한 이벤트 루프에 대해서 자세히 다룬다.

-6장 바이트 버퍼
네티의 바이트 버퍼는 자바의 그것보다 더 쉬운 사용법과 빠른 성능을 제공한다. 어떤 이유로 네티의 바이트 버퍼가 더 쉽게 사용 가능한지 자바의 바이트 버퍼와 비교하여 살펴본다. 또한 네티가 제공하는 바이트 버퍼 풀에 관한 내용도 포함한다.

-7장 네티와 채널 보안
네트워크 애플리케이션에서 구현 부분을 제외하면 가장 중요한 부분인 보안에 대해서 살펴본다. 네티가 제공하는 보안 채널에 관한 내용과 오픈 SSL을 사용하여 인증서를 생성하는 방법을 알아본다. 암호화와 관련된 알고리즘에 대한 설명도 포함한다.

-8장 네티와서드파티 연동
대부분의 프레임워크는 독립적으로 사용할 때보다 다른 프레임워크와 함께 사용할 때 더 좋은 편의성을 제공한다. 특히 자바 애플리케이션을 개발하는 개발자라면 필수로 사용하는 스프링과 JUnit 등의 프레임워크와 연동하는 방법을 살펴보고 네티 애플리케이션을 프로젝트 생명주기 관리 도구인 메이븐과 통합하는 방법을 살펴본다.

-9장 실전 예제 네티로 구현한 API 서버
책의 앞부분에서 학습한 내용을 기반으로 실무에서 사용 가능한 수준의 API 서버를 작성한다. API 서버의 작성은 서버 애플리케이션 설계에 관한 내용을 포함한다.

★ 이 책의 대상층
이 책의 독자들에 대한 몇 가지 가정을 했다. 첫째, 이미 자바에 대한 기본 지식이 있다고 가정했다. 물론 조슈아블로흐의 『이펙티브 자바』나 더그 리의 『자바 병렬 프로그래밍』과 같은 책을 읽었다고 가정하는 것은 아니다. 단지 자바 기본서에서 다루는 문법과 주요 클래스의 사용법 정도만 알고 있으면 된다. 따라서 꼭 필요하지 않으면 자바 자체에 대해 설명하지 않는다. 둘째, 네트워크 프로그램을 처음 배운다고 가정했다. 이런 이유로 책의 네트워크 프로그램을 작성할 때 알아야 하는 필수 필수 지식을 담고자 지면을 할애했다. 이미 아는 부분이라면 해당 설명을 건너뛰어 읽어도 무방하다.

★ 이 책의 개발 환경
이 책의 예제는 윈도우와 이클립스 개발 환경을 기반으로 개발하고 테스트했다. 리눅스 환경은 가상 머신에 설치하여 사용했다. 이 책에서 사용하는 프로그램은 다음과 같다.

- 이클립스 - Eclipse Luna SR2(4.4.2)
- 네티 - 4.0.31.Final
- 운영체제 - CentOS 6 (2.6.32-504.16.2.el6.x86_64)
- Maven - 3.2.5
- Java - JDK 1.8.0_05

★ 이 책의 구성
이 책은 크게 세 부분으로 나뉜다. 1~2장에서는 네티 소스 코드에 수록된 예제 애플리케이션을 살펴보고 네티의 특징을 일반적인 네트워크 애플리케이션과 비교하여 살펴본다. 이 같은 접근 방법은 초보 자바 개발자도 네티를 사용하여 네트워크 애플리케이션을 작성할 수 있다는 자신감을 심어주며 할 수 있다는 흥미를 제공한다. 3~6장은 네티가 제공하는 다양한 기능과 특징을 다룬다. 7~9장은 네티를 실무에서 사용할 때 있을 법한 시나리오를 가정하여 애플리케이션을 작성하는 예제를 다룬다.

책의 도입부인 1~2장에서는 네티의 기본 예제인 Discard 서버 예제를 독자가 이해하기 쉽도록 간단하게 수정하여 살펴보고 클라이언트 애플리케이션이 서버에 접속했을 때 처리해야 하는 부분을 설명한다. 다음으로 에코 서버 예제로 클라이언트 애플리케이션과 서버 애플리케이션이 서로 커뮤니케이션하는 방법을 확인하며 네티 사용법을 차근차근 살펴본다.

3~6장은 책의 본편으로써 네티의 주요 기능인 부스스트랩과 채널 파이프라인, 이벤트 모델, 바이트 버퍼 등의 구조와 특징을 다룬다. 각 컴포넌트를 다룰 때는 구조를 먼저 설명한 뒤 그림을 사용하여 한 번 더 살펴보고 나서 예제를 사용하여 최종 사용법을 익힌다. 마지막으로 7~9장은 네티를 응용하여 애플리케이션을 작성하는 방법을 설명한다. 특히 9장에서는 네티로 API 서버를 만든다. 이를 통해 다양한 서드파티 프레임워크와 네티가 어떻게 상호작용하는지 살펴본다.

9장에서 작성한 애플리케이션은 실무에서 사용 가능한 수준의 설계를 포함한다.

-1장 네티 맛보기
네티를 처음 접하는 개발자에게 간단한 네티 애플리케이션을 작성하고 테스트하는 방법을 설명한다. 서버 네트워크 애플리케이션과 클라이언트 애플리케이션을 순서대로 작성하는 방법을 알아본다. 또한 매우 적은 양의 코드로 작성된 네티 애플리케이션이 얼마나 높은 성능을 제공하는지 알아본다.

-2장 네티의 주요 특징
네트워크 애플리케이션이 제공하는 기본 특성을 설명하고 네티가 어떻게 이런 특징을 제공하는지 살펴본다.

-3장 부트스트랩
네티로 작성하는 네트워크 애플리케이션에서 가장 기본적으로 설정해야 하는 부트스트랩 컴포넌트에 대한 설명과 예제를 제공한다. 부트스트랩은 서버 부트스트랩과 클라이언트 애플리케이션을 위한 부트스트랩으로 나뉘는데 각 부트스트랩이 제공하는 특징과 구조를 살펴본다.

-4장 채널 파이프라인과 코덱
채널 파이프라인과 코덱은 일반적인 소켓 애플리케이션에서 작성해야 하는 업무 로직을 추상화한 계층이다. 채널 파이프라인이 동작하는 방식과 체널 파이프라인에 등록되는 코덱의 관계를 먼저 살펴보고 코덱이 동작하는 방식을 살펴본다.

-5장 이벤트 모델
네티가 제공하는 이벤트 모델이 어떤 장점을 제공하는지 살펴보고 각 이벤트 모델 간의 전환 방법을 살펴본다. 특히 이벤트 모델을 제공하기 위한 이벤트 루프에 대해서 자세히 다룬다.

-6장 바이트 버퍼
네티의 바이트 버퍼는 자바의 그것보다 더 쉬운 사용법과 빠른 성능을 제공한다. 어떤 이유로 네티의 바이트 버퍼가 더 쉽게 사용 가능한지 자바의 바이트 버퍼와 비교하여 살펴본다. 또한 네티가 제공하는 바이트 버퍼 풀에 관한 내용도 포함한다.

-7장 네티와 채널 보안
네트워크 애플리케이션에서 구현 부분을 제외하면 가장 중요한 부분인 보안에 대해서 살펴본다. 네티가 제공하는 보안 채널에 관한 내용과 오픈 SSL을 사용하여 인증서를 생성하는 방법을 알아본다. 암호화와 관련된 알고리즘에 대한 설명도 포함한다.

-8장 네티와서드파티 연동
대부분의 프레임워크는 독립적으로 사용할 때보다 다른 프레임워크와 함께 사용할 때 더 좋은 편의성을 제공한다. 특히 자바 애플리케이션을 개발하는 개발자라면 필수로 사용하는 스프링과 JUnit 등의 프레임워크와 연동하는 방법을 살펴보고 네티 애플리케이션을 프로젝트 생명주기 관리 도구인 메이븐과 통합하는 방법을 살펴본다.

-9장 실전 예제 네티로 구현한 API 서버
책의 앞부분에서 학습한 내용을 기반으로 실무에서 사용 가능한 수준의 API 서버를 작성한다. API 서버의 작성은 서버 애플리케이션 설계에 관한 내용을 포함한다.


Information Provided By: : Aladin

Author Introduction

정경석(지은이)

1999년 말부터 웹 서비스를 개발했다. 인터넷 뱅킹 및 모네타 카드 웹, 한국은행 대량이체 시스템, 모네타 교통칩 카드 발급 시스템, 나라사랑카드 선불 과금 시스템, 시티은행 모바일 뱅킹 시스템 등의 개발에 참여했다. 서버 사이드 백엔드 플랫폼 개발자로서 하루 수천만에서 수억 건에 이르는 요청을 처리하는 다양한 대용량 서비스를 구축 및 운영해왔다. 2013년 현재 삼성 스마트폰에 프리로드되는 앱의 백엔드 시스템을 개발 및 운영하고 있다. 삼성 앱스의 신규기능인 추천 서비스를 HBase를 사용하여 개발했다. 『이것이 레디스다』(2013, 한빛미디어)

이희승(감수)

일명 네티의 아버지. 자바 가상 머신 기반의 대표적 네트워크 애플리케이션 프레임워크인 네티 프로젝트와 아파치 미나 프로젝트를 창시한 소프트웨어 엔지니어다. 연세대학교 1학년에 재학 중이던 1999년 말, (주)아레오커뮤니케이션즈(현 (주)스탠다드네트웍스)에서 자바 프로그래밍 언어를 이용한 5개 이동통신사와의 단문 메시지 전송을 국내 최초로 상용화한 이래, 분산화된 대용량 단문 메시지 전송 게이트웨이, RPC 서버와 같은 고성능 네트워크 애플리케이션을 꾸준히 개발해왔다. 아레오커뮤니케이션즈, 첫눈, NHN, 레드햇, 트위터를 거쳐 현재는 라인플러스에서 근무하며 곧 공개될 비동기 RPC 라이브러리와 분산 서비스 설정/상태 저장소를 팀원들과 함께 개발하고 있다. 일상과 업무, 가족과 나 사이에 끝없이 번뇌하며 가족의 소중함을 절감하는 한 사람의 인간이다.

Information Provided By: : Aladin

Table of Contents

1부 네티 소개 

1장 네티 맛보기 
__1.1 네티 준비 
__1.2 네티 개발 환경 설정 
__1.3 Discard 서버 
__1.4 에코 서버 
__1.5 마치며 

2장 네티의 주요 특징 
__2.1 동기와 비동기 
__2.2 블로킹과 논블로킹 
__2.3 이벤트 기반 프로그래밍 
__2.4 마치며 
__2부 네티 기본 

2부 네티 상세 

3장 부트스트랩 
__3.1 부트스트랩의 정의 
__3.2 부트스트랩의 구조 
__3.3 ServerBootstrap 
__3.4 마치며 

4장 채널 파이프라인과 코덱 
__4.1 이벤트 실행 
__4.2 채널 파이프라인 
__4.3 이벤트 핸들러 
__4.4 코덱의 구조 
__4.5 기본 제공 코덱 
__4.6 사용자 정의 코덱 
__4.7 마치며 

5장 이벤트 모델 
__5.1 이벤트 루프 
__5.2 네티의 이벤트 루프 
__5.3 네티의 비동기 I/O 처리 
__5.4 마치며 

6장 바이트 버퍼 
__6.1 자바 NIO 바이트 버퍼 
__6.2 네티 바이트 버퍼 
__6.3 마치며 

3부 네티 응용 

7장 네티와 채널 보안 
__7.1 보안 대상과 범위 
__7.2 네트워크 데이터 캡쳐 
__7.3 네트워크 보안 
__7.4 SSL 인증서 
__7.5 네티에 채널 보안 적용하기 
__7.6 마치며 

8장 네티와 서드파티 연동 
__8.1 메이븐 
__8.2 스프링 
__8.3 JUnit 
__8.4 마치며 

9장 실전 예제 네티로 구현한 API 서버 
__9.1 API 서버 요구사항 
__9.2 API 서버를 위한 데이터 설계 
__9.3 API 서버 
__9.4 API 통합 테스트 
__9.5 API 서버 보안과 다중 서비스 포트 설정 
__9.6 마치며

New Arrivals Books in Related Fields