본문 바로가기

도서 소개

Go 언어를 활용한 네트워크 프로그래밍

간결하며 신뢰할 수 있는 네트워크 소프트웨어!

 

도서구매 사이트(가나다순)

 [교보문고]  [도서11번가]  [알라딘]  [예스이십사]  [인터파크]  [쿠팡]

전자책 구매 사이트(가나다순)

교보문고 / 구글북스 / 리디북스 / 알라딘 / 예스이십사

 

출판사 제이펍
저작권사 No Starch Press
원서명 Network Programming with Go(ISBN 9781718500884)
도서명 Go 언어를 활용한 네트워크 프로그래밍
부제 보안에 강하고 신뢰할 수 있는 네트워크 서비스 구현법
지은이 애덤 우드벡
옮긴이 김찬빈
감수자 (없음)
시리즈 (없음)
출판일 2022년 1월 14일
페이지 428쪽
판  형 46배판변형(188*245*20.8)
제  본 무선(soft cover)
정  가 33,000원
ISBN 979-11-91600-64-3 (93000)
키워드 고랭 / go language / 네트워크 / TCP / TCP 데이터 / 소켓 프로그래밍 / UDP / HTTP / Caddy / TLS / AWS / 클라우드
분  야 프로그래밍 언어 / Go / 네트워크


관련 사이트
■ 아마존 도서소개 페이지
저작권사 도서소개 페이지
Go 언어 공식 사이트

관련 포스트
■ 2022.01.02 - [출간 전 책 소식] - Go 언어 + 네트워크 프로그래밍


관련 도서
Go 인 액션

관련 파일 다운로드
■ 예제 코드

교재 검토용 증정 안내
■ 학교 및 학원에서 교재 선정을 위해 책을 파일로 검토해 보고자 하시는 분들은 다음의 페이지에서 신청 양식을 작성해주시기 바랍니다. 확인 후 연락을 드리겠습니다. http://goo.gl/vBtPo3

강의보조 자료(교재로 채택하신 분들은 메일(textbook@jpub.kr)을 보내주시면 다음의 자료를 보내드리겠습니다.)
■ 본문의 그림과 표

미리보기(차례, 옮긴이 머리말, 베타리더 후기, 머리말, 이 책에 대하여, 1장 '네트워크 시스템 개요' 전체, 3장 '신뢰성 있는 TCP 데이터 스트림' 일부, 7장 '유닉스 도메인 소켓' 일부)

Go언어를활용한네트워크프로그래밍_sample.pdf
5.96MB

 

정오표 페이지
https://jpub.tistory.com/1309

 

도서구매 사이트(가나다순)

 [교보문고]  [도서11번가]  [알라딘]  [예스이십사]  [인터파크]  [쿠팡]

전자책 구매 사이트(가나다순)

교보문고 / 구글북스 / 리디북스 / 알라딘 / 예스이십사

 

도서 소개

간결하며 신뢰할 수 있는 네트워크 소프트웨어!

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

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

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

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

 

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

옮긴이 소개
김찬빈
숭실대학교에서 정보통신공학 학사와 석사를 취득하였다. Go 언어의 매력에 빠져 2017년부터 시스템 엔지니어로 근무하며 다양한 시스템 도구와 대규모 트래픽 서비스를 Go 언어로 구현하고 운영하였다. 또한, 기존에 작성된 시스템 중 개선이 필요한 부분을 Go 언어로 포팅하여 비약적인 성능 향상을 이루기도 했다. 평소 동료 개발자들에게 Go 언어의 매력을 전하는 한편, 백발의 개발자를 꿈꾸며 개발과 삽질을 즐기는 중이다.

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

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

더보기

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

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

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

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

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

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

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

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

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

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

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

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

CHAPTER 14 | 클라우드로 이동 368
기초 작업하기 369
AWS Lambda 372
구글 Cloud Function 381
애저 Functions 387
이 장에서 배운 것 396

찾아보기 398

 

제이펍 소식 더 보기(제이펍의 소통 채널에서 더욱 다양한 소식을 확인하세요!)

  네이버 책  포스트  유튜브  인스타그램  트위터  페이스북

 

'도서 소개' 카테고리의 다른 글

진짜 쓰는 실무 엑셀  (0) 2022.02.17
단단한 심층강화학습  (0) 2022.02.14
프로그래머의 뇌  (27) 2022.01.12
라라벨 실전 웹 애플리케이션 개발  (2) 2021.12.30
머신러닝 엔지니어링  (0) 2021.12.29