Go 언어를 활용한 네트워크 프로그래밍 (보안에 강하고 신뢰할 수 있는 네트워크 서비스 구현법)

Go 언어를 활용한 네트워크 프로그래밍 (보안에 강하고 신뢰할 수 있는 네트워크 서비스 구현법)

$34.71
Description
간결하며 신뢰할 수 있는 네트워크 소프트웨어!
주요 프로그래밍 언어에서 장점만 조합하여 만든 Go 언어는 빠른 속도와 확장성을 자랑하며, 네트워크와 멀티 프로세스 처리에 고성능을 내도록 설계되었습니다. 즉, 네트워크 프로그래밍에 최적화된 언어입니다.
저자

애덤우드벡

(AdamWoodbeck)
애덤우드벡은바라쿠다네트워크(BarracudaNetworks)의시니어소프트웨어엔지니어이며,주로Go언어를사용한분산클라우드환경을구현하고있다.Go언어로작성된네트워크기반서비스의아키텍트로도활동하고있다.

목차

옮긴이머리말xi
베타리더후기xiii
머리말xv
이책에대하여xvii

PARTI|네트워크아키텍처1
CHAPTER1|네트워크시스템개요3
네트워크토폴로지선택하기3
대역폭vs?레이턴시7
개방형시스템상호연결참조모델8
TCP/IP모델13
이장에서배운것17

CHAPTER2|리소스의위치와트래픽라우팅19
인터넷프로토콜20
IPv4주소지정20
IPv6주소지정30
인터넷제어메시지프로토콜36
인터넷트래픽라우팅37
라우팅프로토콜38
이름과주소해석40
이장에서배운것48

PARTII|소켓계층프로그래밍49
CHAPTER3|신뢰성있는TCP데이터스트림51
TCP를신뢰성있게만드는것52
TCP세션사용52
Go언어표준라이브러리를이용한TCP연결수립58
이장에서배운것81

CHAPTER4|TCP데이터전송하기82
net.Conn인터페이스사용하기82
데이터송수신83
io패키지를이용한안정적인네트워크애플리케이션만들기98
Go의TCPConn객체살펴보기110
일반적인GoTCP네트워크문제해결114
이장에서배운것116

CHAPTER5|신뢰성없는UDP통신117
간단하고신뢰성없는UDP사용하기118
UDP데이터송수신119
파편화피하기128
이장에서배운것131

CHAPTER6|UDP통신의신뢰성확보132
TFTP를이용한신뢰성있는파일전송132
TFTP타입133
TFTP서버145
UDP로파일다운로드150
이장에서배운것154

CHAPTER7|유닉스도메인소켓155
유닉스도메인소켓이란156
유닉스도메인소켓파일에바인딩157
클라이언트와인증하는서비스작성170
이장에서배운것177

PARTIII|애플리케이션계층프로그래밍179
CHAPTER8|HTTP클라이언트작성181
HTTP의기초이해182
Go에서웹리소스가져오기191
HTTP로데이터전송하기197
이장에서배운것204

CHAPTER9|HTTP서비스작성205
GoHTTP서버해부206
핸들러212
미들웨어222
멀티플렉서228
HTTP/2서버푸시232
이장에서배운것238

CHAPTER10|Caddy:모던웹서버239
Caddy란?240
Caddy사용해보기241
Caddy환경구성및실행하기242
모듈과어댑터로Caddy확장하기248
백엔드웹서비스로요청리버스프락시하기257
이장에서배운것265

CHAPTER11|TLS를사용한통신보안266
전송계층보안심층탐구267
전송중인데이터의보안271
상호TLS인증283
이장에서배운것295

PARTIV|서비스아키텍처297
CHAPTER12|데이터직렬화299
객체직렬화하기300
직렬화된객체전송하기316
이장에서배운것328

CHAPTER13|로깅과메트릭스329
이벤트로깅330
코드계측하기354
기본적인HTTP서버계측하기359
이장에서배운것366

CHAPTER14|클라우드로이동368
기초작업하기369
AWSLambda372
구글CloudFunction381
애저Functions387
이장에서배운것396

찾아보기398

출판사 서평

《Go언어를활용한네트워크프로그래밍》은Go언어를사용하여보안에강하며,신뢰할수있고,가독성이좋은,그리고실제서비스에사용할수있는네트워크코드를작성할수있도록도와줍니다.전반부에서는네트워크와트래픽라우팅에대한기본지식을배우며,후반부에서는배운지식을활용하여TCP와UDP,유닉스소켓을사용하는,신뢰성있는데이터통신프로그램을작성합니다.

HTTP나HTTP/2와같은상위계층의네트워크프로토콜을점진적으로경험하고,TLS를사용하여네트워크를통해서버와클라이언트,서드파티API사이에서안전하게통신하는애플리케이션을구현합니다.한마디로이책은Go언어에내재된병렬성과빠른컴파일속도,그리고풍부한표준라이브러리를활용할수있는다양한방법을살펴봅니다.

주요내용
■IPv4,IPv6의구조,멀티캐스트,DNS,그리고네트워크주소해석과같은인터넷프로토콜의기초
■소켓레벨통신에서신뢰성을확보하는방법
■핸들러와미들웨어,멀티플렉서를사용하여최소한의코드로HTTP애플리케이션을작성하는방법
■TLS를사용하여애플리케이션에인증과암호화를통합하는도구사용법
■Go언어가쉽게처리할수있는데이터포맷인JSON이나Gob,XML,프로토콜버퍼를활용하여데이터를직렬화하고저장하거나전송하는방법
■요청이나에러등의정보를포함하는메트릭스를만들기위한코드계측방법
■애플리케이션을클라우드에배포하는방법과시점