스크랩

구간

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

애덤 우드벡 저 | 김찬빈 역 | 제이펍 | 2022년 01월

북트리

정가
$66.00
판매가
$53.46 (19%↓) 최저가 보상
적립금
$1.07 (2%P)
출고예상일
2026년 10월 08일 수령예상일 안내
북카트 담기 바로구매하기 위시리스트담기

평점 -  ·  리뷰 0

리뷰 쓰기

ISBN : 9791191600643 / 428쪽 188 x 245 (㎜)

이 상품에 궁금하신점이 있으세요? 1:1상담문의

추천inside
Adobe Flash Player 가져오기

이 분야의 베스트셀러

아래의 도서와 구매하시면 이 도서들의 적립금을 즉시적용해 드립니다.

책 소개

출판사 리뷰

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

저자 소개

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

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

목차

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

PART I | 네트워크 아키텍처
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 | 소켓 계층 프로그래밍
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 | 애플리케이션 계층 프로그래밍
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 | 서비스 아키텍처
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

top