000 | 00000cam c2200205 c 4500 | |
001 | 000046105766 | |
005 | 20220209142551 | |
007 | ta | |
008 | 220124s2022 ggka 001c kor | |
020 | ▼a 9791191600643 ▼g 93000 | |
035 | ▼a (KERIS)BIB000016036030 | |
040 | ▼a 241002 ▼c 241002 ▼d 211009 | |
041 | 1 | ▼a kor ▼h eng |
082 | 0 4 | ▼a 005.133 ▼2 23 |
085 | ▼a 005.133 ▼2 DDCK | |
090 | ▼a 005.133 ▼b G573 2022 | |
100 | 1 | ▼a Woodbeck, Adam |
245 | 1 0 | ▼a Go 언어를 활용한 네트워크 프로그래밍 : ▼b 보안에 강하고 신뢰할 수 있는 네트워크 서비스 구현법 / ▼d 애덤 우드벡 지음 ; ▼e 김찬빈 옮김 |
246 | 1 9 | ▼a Network programming with GO : ▼b code secure and reliable network services from Scratch |
260 | ▼a 파주 : ▼b 제이펍, ▼c 2022 | |
300 | ▼a xx, 408 p. : ▼b 삽화 ; ▼c 25 cm | |
500 | ▼a 색인수록 | |
650 | 0 | ▼a Go (Computer program language) |
650 | 0 | ▼a Computer networks ▼x Programming |
650 | 0 | ▼a Computer programming |
700 | 1 | ▼a 김찬빈, ▼e 역 |
900 | 1 0 | ▼a 우드벡, 애덤, ▼e 저 |
945 | ▼a KLPA |
Holdings Information
No. | Location | Call Number | Accession No. | Availability | Due Date | Make a Reservation | Service |
---|---|---|---|---|---|---|---|
No. 1 | Location Main Library/Monographs(3F)/ | Call Number 005.133 G573 2022 | Accession No. 511052914 | Availability Available | Due Date | Make a Reservation | Service |
Contents information
Book Introduction
Go 언어를 사용하여 보안에 강하며, 신뢰할 수 있고, 가독성이 좋은, 그리고 실제 서비스에 사용할 수 있는 네트워크 코드를 작성할 수 있도록 도와준다. 전반부에서는 네트워크와 트래픽 라우팅에 대한 기본 지식을 배우며, 후반부에서는 배운 지식을 활용하여 TCP와 UDP, 유닉스 소켓을 사용하는, 신뢰성 있는 데이터 통신 프로그램을 작성한다.
간결하며 신뢰할 수 있는 네트워크 소프트웨어!
주요 프로그래밍 언어에서 장점만 조합하여 만든 Go 언어는 빠른 속도와 확장성을 자랑하며, 네트워크와 멀티 프로세스 처리에 고성능을 내도록 설계되었습니다. 즉, 네트워크 프로그래밍에 최적화된 언어입니다.
《Go 언어를 활용한 네트워크 프로그래밍》은 Go 언어를 사용하여 보안에 강하며, 신뢰할 수 있고, 가독성이 좋은, 그리고 실제 서비스에 사용할 수 있는 네트워크 코드를 작성할 수 있도록 도와줍니다. 전반부에서는 네트워크와 트래픽 라우팅에 대한 기본 지식을 배우며, 후반부에서는 배운 지식을 활용하여 TCP와 UDP, 유닉스 소켓을 사용하는, 신뢰성 있는 데이터 통신 프로그램을 작성합니다.
HTTP나 HTTP/2와 같은 상위 계층의 네트워크 프로토콜을 점진적으로 경험하고, TLS를 사용하여 네트워크를 통해 서버와 클라이언트, 서드파티 API 사이에서 안전하게 통신하는 애플리케이션을 구현합니다. 한마디로 이 책은 Go 언어에 내재된 병렬성과 빠른 컴파일 속도, 그리고 풍부한 표준 라이브러리를 활용할 수 있는 다양한 방법을 살펴봅니다.
주요 내용
■ IPv4, IPv6의 구조, 멀티캐스트, DNS, 그리고 네트워크 주소 해석과 같은 인터넷 프로토콜의 기초
■ 소켓 레벨 통신에서 신뢰성을 확보하는 방법
■ 핸들러와 미들웨어, 멀티플렉서를 사용하여 최소한의 코드로 HTTP 애플리케이션을 작성하는 방법
■ TLS를 사용하여 애플리케이션에 인증과 암호화를 통합하는 도구 사용법
■ Go 언어가 쉽게 처리할 수 있는 데이터 포맷인 JSON이나 Gob, XML, 프로토콜 버퍼를 활용하여 데이터를 직렬화하고 저장하거나 전송하는 방법
■ 요청이나 에러 등의 정보를 포함하는 메트릭스를 만들기 위한 코드 계측 방법
■ 애플리케이션을 클라우드에 배포하는 방법과 시점
Information Provided By: :

Author Introduction
애덤 우드벡(지은이)
바라쿠다 네트워크(Barracuda Networks)의 시니어 소프트웨어 엔지니어이며, 주로 Go 언어를 사용한 분산 클라우드 환경을 구현하고 있다. Go 언어로 작성된 네트워크 기반 서비스의 아키텍트로도 활동하고 있다.
김찬빈(옮긴이)
숭실대학교에서 정보통신공학 학사와 석사를 취득하였다. Go 언어의 매력에 빠져 2017년부터 시스템 엔지니어로 근무하며 다양한 시스템 도구와 대규모 트래픽 서비스를 Go 언어로 구현하고 운영하였다. 또한, 기존에 작성된 시스템 중 개선이 필요한 부분을 Go 언어로 포팅하여 비약적인 성능 향상을 이루기도 했다. 평소 동료 개발자들에게 Go 언어의 매력을 전하는 한편, 백발의 개발자를 꿈꾸며 개발과 삽질을 즐기는 중이다. 옮긴 책으로 《Go 언어를 활용한 네트워크 프로그래밍》(제이펍, 2022)이 있다.

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