장바구니 담기 close

장바구니에 상품을 담았습니다.

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

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

  • 애덤우드벡
  • |
  • 제이펍
  • |
  • 2022-01-14 출간
  • |
  • 428페이지
  • |
  • 188 X 245 mm
  • |
  • ISBN 9791191600643
판매가

33,000원

즉시할인가

29,700

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
29,700

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평




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

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

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


목차


옮긴이 머리말 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

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 : 070-4821-5101
교환/반품주소
  • 부산광역시 부산진구 중앙대로 856 303호 / (주)스터디채널 / 전화 : 070-4821-5101
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.