실무에 바로 쓰는 Go 언어 핸즈온 가이드
땅끝
2023-11-12 08:33
250
0
본문
실무에 바로 쓰는 Go 언어 핸즈온 가이드
도서명 : 실무에 바로 쓰는 Go 언어 핸즈온 가이드
저자/출판사 : 아미트,사하,저자,글,김찬빈,번역, 제이펍
쪽수 : 456쪽
출판일 : 2022-12-26
ISBN : 9791192469676
정가 : 35000
지은이·옮긴이 소개 x
기술 감수자 소개 xi
옮긴이 머리말 xii
베타리더 후기 xiii
감사의 글 xv
이 책에 대하여 xvi
시작하기 xix
CHAPTER 1 커맨드 라인 애플리케이션 작성 1
1.1 첫 애플리케이션 1
1.2 유닛 테스트 작성 10
1.3 Flag 패키지 사용 17
__1.3.1 플래그 파싱 로직 테스트 23
1.4 사용자 인터페이스 개선 26
__1.4.1 중복된 오류 메시지 제거 26
__1.4.2 사용법 메시지 사용자 정의 28
__1.4.3 위치 인수를 통해 이름 받기 29
1.5 유닛 테스트 업데이트 32
1.6 요약 37
CHAPTER 2 고급 커맨드 라인 애플리케이션 38
2.1 서브커맨드 구현 38
__2.1.1 서브커맨드 주도 애플리케이션 아키텍처 43
__2.1.2 메인 패키지 테스트 49
__2.1.3 Cmd 패키지 테스트 52
2.2 강건한 애플리케이션 작성 54
__2.2.1 데드라인을 사용한 사용자 입력 55
__2.2.2 사용자 시그널 처리 59
2.3 요약 64
CHAPTER 3 HTTP 클라이언트 작성 65
3.1 데이터 다운로드 65
__3.1.1 데이터 다운로더 테스트 67
3.2 수신 데이터 역직렬화 69
3.3 데이터 송신 75
3.4 바이너리 데이터 취급 82
3.5 요약 91
CHAPTER 4 고급 HTTP 클라이언트 92
4.1 커스텀 HTTP 클라이언트 사용 92
__4.1.1 과부화 상태의 서버에서 다운로드 92
__4.1.2 타임아웃 동작 테스트 97
__4.1.3 리다이렉트 동작 설정 100
4.2 사용자 요청 커스터마이징 103
4.3 클라이언트 미들웨어 구현 105
__4.3.1 RoundTripper 인터페이스 이해 106
__4.3.2 로깅 미들웨어 107
__4.3.3 모든 요청에 헤더 추가 110
4.4 커넥션 풀링 113
__4.4.1 커넥션 풀 설정 116
4.5 요약 118
CHAPTER 5 HTTP 서버 작성 119
5.1 첫 HTTP 서버 119
5.2 요청 핸들러 설정 122
__5.2.1 핸들러 함수 123
5.3 서버 테스트 126
5.4 Request 구조체 129
__5.4.1 메서드 130
__5.4.2 URL 130
__5.4.3 Proto, ProtoMajor, ProtoMinor 131
__5.4.4 Header 131
__5.4.5 Host 131
__5.4.6 Body 131
__5.4.7 Form, PostForm 131
__5.4.8 MultipartForm 132
5.5 Request 객체에 메타데이터 부착 133
5.6 스트리밍 요청 처리 137
5.7 응답 데이터 스트리밍 143
5.8 요약 150
CHAPTER 6 고급 HTTP 서버 애플리케이션 151
6.1 Handler 타입 151
6.2 핸들러 함수 간에 데이터 공유 153
6.3 서버 미들웨어 작성 158
__6.3.1 커스텀 HTTP 핸들러 기법 158
__6.3.2 HandlerFunc 기법 159
__6.3.3 미들웨어 체이닝 162
6.4 복잡한 서버 애플리케이션의 테스트 작성 167
__6.4.1 코드 정리 167
__6.4.2 핸들러 함수 테스트 173
__6.4.3 미들웨어 테스트 176
__6.4.4 초기 서버 시작 테스트 178
6.5 요약 181
CHAPTER 7 실서비스 가능한 HTTP 서버 182
7.1 요청 핸들링 중단 182
__7.1.1 요청 처리 중단 전략 186
__7.1.2 클라이언트 연결 끊김 처리 191
7.2 서버단 타임아웃 195
__7.2.1 모든 핸들러 함수에 타임아웃 구현 195
__7.2.2 서버 타임아웃 구현 196
__7.2.3 우아한 종료 구현 203
7.3 TLS를 활용한 보안 통신 207
__7.3.1 TLS와 HTTP/2 구성 208
__7.3.2 TLS 서버 테스트 212
7.4 요약 216
CHAPTER 8 gRPC를 사용한 RPC 애플리케이션 개발 217
8.1 gRPC와 프로토콜 버퍼 217
8.2 첫 서비스 작성 221
__8.2.1 서버 작성 223
__8.2.2 클라이언트 작성 229
__8.2.3 서버 테스트 234
__8.2.4 클라이언트 테스트 238
8.3 프로토콜 버퍼 메시지 살펴보기 241
__8.3.1 마샬링과 언마샬링 241
__8.3.2 상위 호환성 및 하위 호환성 247
8.4 여러 개의 서비스 249
8.5 에러 핸들링 256
8.6 요약 259
CHAPTER 9 고급 gRPC 애플리케이션 260
9.1 스트리밍 커뮤니케이션 260
__9.1.1 서버 사이드 스트리밍 261
__9.1.2 클라이언트 사이드 스트리밍 269
__9.1.3 양방향 스트리밍 272
9.2 임의의 데이터 송수신 281
9.3 인터셉터를 활용한 미들웨어 구현 292
__9.3.1 클라이언트 사이드 인터셉터 294
__9.3.2 서버 사이드 인터셉터 301
__9.3.3 스트림 래핑 307 / 9.3.4 인터셉터 체이닝 309
9.4 요약 311
CHAPTER 10 실서비스 가능한 gRPC 애플리케이션 312
10.1 TLS를 활용한 보안 통신 312
10.2 서버의 강건성 315
__10.2.1 헬스 체크 구현 316
__10.2.2 런타임 오류 처리 324
__10.2.3 요청 처리 중단 328
10.3 강건한 클라이언트 338
__10.3.1 연결 구성 개선 338
__10.3.2 일시적인 장애 상황 대응 340
__10.3.3 메서드 호출에 타임아웃 설정 346
10.4 연결 관리 348
10.5 요약 351
CHAPTER 11 데이터 저장소 활용 352
11.1 오브젝트 저장소 활용 353
__11.1.1 패키지 서버 접근 및 활용 354
__11.1.2 패키지 업로드 테스트 365
__11.1.3 기반 드라이버 타입 접근 368
11.2 관계형 데이터베이스 활용 370
__11.2.1 패키지 서버와 통합 372
__11.2.2 데이터 스토리지 테스트 383
__11.2.3 데이터 타입 형 변환 388
__11.2.4 데이터베이스 트랜잭션 이용 392
11.3 요약 394
APPENDIX A 애플리케이션을 관측 가능하게 만들기 395
A.1 로그, 메트릭, 그리고 트레이스 395
A.2 텔레메트리 데이터 내보내기 399
__A.2.1 커맨드 라인 애플리케이션 399
__A.2.2 HTTP 애플리케이션 408
__A.2.3 gRPC 애플리케이션 413
A.3 요약 415
APPENDIX B 애플리케이션 배포하기 415
B.1 환경설정 정보 관리 415
B.2 애플리케이션 배포 418
B.3 서버 애플리케이션 배포 421
B.4 요약 422
찾아보기 423
도서명 : 실무에 바로 쓰는 Go 언어 핸즈온 가이드
저자/출판사 : 아미트,사하,저자,글,김찬빈,번역, 제이펍
쪽수 : 456쪽
출판일 : 2022-12-26
ISBN : 9791192469676
정가 : 35000
지은이·옮긴이 소개 x
기술 감수자 소개 xi
옮긴이 머리말 xii
베타리더 후기 xiii
감사의 글 xv
이 책에 대하여 xvi
시작하기 xix
CHAPTER 1 커맨드 라인 애플리케이션 작성 1
1.1 첫 애플리케이션 1
1.2 유닛 테스트 작성 10
1.3 Flag 패키지 사용 17
__1.3.1 플래그 파싱 로직 테스트 23
1.4 사용자 인터페이스 개선 26
__1.4.1 중복된 오류 메시지 제거 26
__1.4.2 사용법 메시지 사용자 정의 28
__1.4.3 위치 인수를 통해 이름 받기 29
1.5 유닛 테스트 업데이트 32
1.6 요약 37
CHAPTER 2 고급 커맨드 라인 애플리케이션 38
2.1 서브커맨드 구현 38
__2.1.1 서브커맨드 주도 애플리케이션 아키텍처 43
__2.1.2 메인 패키지 테스트 49
__2.1.3 Cmd 패키지 테스트 52
2.2 강건한 애플리케이션 작성 54
__2.2.1 데드라인을 사용한 사용자 입력 55
__2.2.2 사용자 시그널 처리 59
2.3 요약 64
CHAPTER 3 HTTP 클라이언트 작성 65
3.1 데이터 다운로드 65
__3.1.1 데이터 다운로더 테스트 67
3.2 수신 데이터 역직렬화 69
3.3 데이터 송신 75
3.4 바이너리 데이터 취급 82
3.5 요약 91
CHAPTER 4 고급 HTTP 클라이언트 92
4.1 커스텀 HTTP 클라이언트 사용 92
__4.1.1 과부화 상태의 서버에서 다운로드 92
__4.1.2 타임아웃 동작 테스트 97
__4.1.3 리다이렉트 동작 설정 100
4.2 사용자 요청 커스터마이징 103
4.3 클라이언트 미들웨어 구현 105
__4.3.1 RoundTripper 인터페이스 이해 106
__4.3.2 로깅 미들웨어 107
__4.3.3 모든 요청에 헤더 추가 110
4.4 커넥션 풀링 113
__4.4.1 커넥션 풀 설정 116
4.5 요약 118
CHAPTER 5 HTTP 서버 작성 119
5.1 첫 HTTP 서버 119
5.2 요청 핸들러 설정 122
__5.2.1 핸들러 함수 123
5.3 서버 테스트 126
5.4 Request 구조체 129
__5.4.1 메서드 130
__5.4.2 URL 130
__5.4.3 Proto, ProtoMajor, ProtoMinor 131
__5.4.4 Header 131
__5.4.5 Host 131
__5.4.6 Body 131
__5.4.7 Form, PostForm 131
__5.4.8 MultipartForm 132
5.5 Request 객체에 메타데이터 부착 133
5.6 스트리밍 요청 처리 137
5.7 응답 데이터 스트리밍 143
5.8 요약 150
CHAPTER 6 고급 HTTP 서버 애플리케이션 151
6.1 Handler 타입 151
6.2 핸들러 함수 간에 데이터 공유 153
6.3 서버 미들웨어 작성 158
__6.3.1 커스텀 HTTP 핸들러 기법 158
__6.3.2 HandlerFunc 기법 159
__6.3.3 미들웨어 체이닝 162
6.4 복잡한 서버 애플리케이션의 테스트 작성 167
__6.4.1 코드 정리 167
__6.4.2 핸들러 함수 테스트 173
__6.4.3 미들웨어 테스트 176
__6.4.4 초기 서버 시작 테스트 178
6.5 요약 181
CHAPTER 7 실서비스 가능한 HTTP 서버 182
7.1 요청 핸들링 중단 182
__7.1.1 요청 처리 중단 전략 186
__7.1.2 클라이언트 연결 끊김 처리 191
7.2 서버단 타임아웃 195
__7.2.1 모든 핸들러 함수에 타임아웃 구현 195
__7.2.2 서버 타임아웃 구현 196
__7.2.3 우아한 종료 구현 203
7.3 TLS를 활용한 보안 통신 207
__7.3.1 TLS와 HTTP/2 구성 208
__7.3.2 TLS 서버 테스트 212
7.4 요약 216
CHAPTER 8 gRPC를 사용한 RPC 애플리케이션 개발 217
8.1 gRPC와 프로토콜 버퍼 217
8.2 첫 서비스 작성 221
__8.2.1 서버 작성 223
__8.2.2 클라이언트 작성 229
__8.2.3 서버 테스트 234
__8.2.4 클라이언트 테스트 238
8.3 프로토콜 버퍼 메시지 살펴보기 241
__8.3.1 마샬링과 언마샬링 241
__8.3.2 상위 호환성 및 하위 호환성 247
8.4 여러 개의 서비스 249
8.5 에러 핸들링 256
8.6 요약 259
CHAPTER 9 고급 gRPC 애플리케이션 260
9.1 스트리밍 커뮤니케이션 260
__9.1.1 서버 사이드 스트리밍 261
__9.1.2 클라이언트 사이드 스트리밍 269
__9.1.3 양방향 스트리밍 272
9.2 임의의 데이터 송수신 281
9.3 인터셉터를 활용한 미들웨어 구현 292
__9.3.1 클라이언트 사이드 인터셉터 294
__9.3.2 서버 사이드 인터셉터 301
__9.3.3 스트림 래핑 307 / 9.3.4 인터셉터 체이닝 309
9.4 요약 311
CHAPTER 10 실서비스 가능한 gRPC 애플리케이션 312
10.1 TLS를 활용한 보안 통신 312
10.2 서버의 강건성 315
__10.2.1 헬스 체크 구현 316
__10.2.2 런타임 오류 처리 324
__10.2.3 요청 처리 중단 328
10.3 강건한 클라이언트 338
__10.3.1 연결 구성 개선 338
__10.3.2 일시적인 장애 상황 대응 340
__10.3.3 메서드 호출에 타임아웃 설정 346
10.4 연결 관리 348
10.5 요약 351
CHAPTER 11 데이터 저장소 활용 352
11.1 오브젝트 저장소 활용 353
__11.1.1 패키지 서버 접근 및 활용 354
__11.1.2 패키지 업로드 테스트 365
__11.1.3 기반 드라이버 타입 접근 368
11.2 관계형 데이터베이스 활용 370
__11.2.1 패키지 서버와 통합 372
__11.2.2 데이터 스토리지 테스트 383
__11.2.3 데이터 타입 형 변환 388
__11.2.4 데이터베이스 트랜잭션 이용 392
11.3 요약 394
APPENDIX A 애플리케이션을 관측 가능하게 만들기 395
A.1 로그, 메트릭, 그리고 트레이스 395
A.2 텔레메트리 데이터 내보내기 399
__A.2.1 커맨드 라인 애플리케이션 399
__A.2.2 HTTP 애플리케이션 408
__A.2.3 gRPC 애플리케이션 413
A.3 요약 415
APPENDIX B 애플리케이션 배포하기 415
B.1 환경설정 정보 관리 415
B.2 애플리케이션 배포 418
B.3 서버 애플리케이션 배포 421
B.4 요약 422
찾아보기 423
댓글목록0