품목정보
발행일 | 2023년 09월 08일 |
---|---|
쪽수, 무게, 크기 | 580쪽 | 183*235*22mm |
ISBN13 | 9791198140838 |
ISBN10 | 1198140836 |
발행일 | 2023년 09월 08일 |
---|---|
쪽수, 무게, 크기 | 580쪽 | 183*235*22mm |
ISBN13 | 9791198140838 |
ISBN10 | 1198140836 |
Chapter 1 소프트웨어 효율성이 중요한 이유 1.1 성능의 뒷면 1.2 효율성에 관한 일반적인 오해 1.3 코드의 성능을 끌어올리는 열쇠 1.4 마치며 Chapter 2 효율적인 Go 언어 2.1 Go에 대해 알아야 할 기본 사항들 2.2 고급 언어 요소 2.3 Go는 정말 빠를까? 2.4 마치며 Chapter 3 효율성 완전 정복 3.1 낭비 제거 이상의 최적화는 제로섬 게임 3.2 최적화 작업의 어려움 3.3 목표에 대한 확실한 이해 3.4 효율성 문제에 대처하는 태도 3.5 최적화 설계 수준들 3.6 효율성 인식 개발 절차 3.7 마치며 Chapter 4 Go의 CPU 자원 사용법 4.1 최신 컴퓨터 구조의 CPU 4.2 어셈블리어 4.3 Go 컴파일러 이해 4.4 CPU와 메모리 벽 문제 4.5 스케줄러 4.6 언제 동시성을 사용할 것인가? 4.7 마치며 Chapter 5 Go의 메모리 자원 사용법 5.1 메모리 관련성 5.2 메모리 문제 유무 파악 5.3 물리적 메모리 5.4 운영체제 메모리 관리 5.5 Go 메모리 관리 5.6 마치며 Chapter 6 효율성 관찰 가능성 6.1 관찰 가능성 6.2 [예시] 레이턴시 계측 6.3 효율성 메트릭의 의미 체계 6.4 마치며 Chapter 7 데이터 기반 효율성 평가 7.1 복잡도 분석 7.2 벤치마킹의 기술 7.3 실험의 신뢰성 7.4 벤치마킹 수준 7.5 마치며 Chapter 8 벤치마킹 8.1 마이크로벤치마크 8.2 마이크로벤치마킹 팁과 트릭 8.3 매크로벤치마크 8.4 일반적인 매크로벤치마킹 워크플로 8.5 마치며 Chapter 9 데이터 기반 병목 현상 분석 9.1 효율성을 위한 근본 원인 분석 9.2 Go에서의 프로파일링 9.3 프로파일링 시그널 추출 9.4 공통 계측 프로파일링 9.5 조언과 요령 9.6 마치며 Chapter 10 최적화 예제 10.1 Sum 예제 10.2 레이턴시 최적화하기 10.3 메모리 사용량 최적화하기 10.4 동시성을 이용한 레이턴시 최적화 10.5 추가 사항: 고정관념 벗어나기 10.6 마치며 Chapter 11 최적화 패턴 11.1 일반 패턴 11. 2 ‘세 가지 R’ 최적화 방법 11.3 리소스 누수 방지 11.4 사전 할당의 중요성 11.5 배열로 인한 문제: 메모리 남용 11.6 메모리 재사용과 풀링 11.7 마치며 11.8 다음 나아갈 단계는? APPENDIX A 레이턴시 냅킨 수학 계산 찾아보기 |
지금까지 Go 언어의 문법을 다루는 책은 많지만 더 깊은 내용을 다루는 책은 없었습니다. 이 책은 Go 언어를 처음 접하는 분들이 보기에는 쉽지 않은 책입니다. Go 언어에 대한 문법적인 요소는 충분히 이해하고 있는 상태에서 Go 언어를 보다 빡세게 다루고 싶은 분들이 보면 많은 것을 얻을 수 있습니다. 특히 메모리 관리에 대한 내용을 다루는 챕터는 정말 최고였습니다.
C를 대체할 언어를 알아보며 여러가지 언어를 찾아보았는데,
그 중 Rust 와 Go 가 가장 유력해 보였고 어느 정도 알아 본뒤 Go로 결정하였습니다.
가장 큰 이유는 Rust의 러닝커브가 매우 가팔라 배우기 힘들것 같았고,
Go의 마스코트(?)가 귀여운 것도 한 몫 했습니다.
우선 Go는 배우기 쉬운 언어이고 기본적으로 몇몇 코드 컨벤션을 강제하고 있어서
여럿이서 협업하기도 좋은 언어인것 같습니다.
이 책을 읽기전 Go에 대한 사전지식은 간단한 문법과 사용법만을 알고있었고,
그 정도만 알아도 책을 충분히 읽고 따라갈 수 있었습니다.
오히려 안좋은 GO습관이 없어서 책에서 알려주는 효율적인 방법을 익히기 더 좋았습니다.
이 책은 11장으로 이루어져 있고, 11장 모두 다른 사람이 번역을 맡았습니다.
한국의 가장큰 Go 커뮤니티인 Golang Korea의 구성원들이 직접 번역을 진행하는 신선한 방식을 사용했습니다.
이 책은 Go 언어를 단순히 효과적으로 작성하는 것을 넘어 효율적으로 사용하는 법을 알려주고 있으며,
Go언어 뿐만 아니라 타 언어에서도 알면 좋을법한 내용을 많이 알려주고 있습니다.
Go언어의 기본정도만 알고 있으신분 부터 GO를 활용해 기존 프로그램을 최적화하고 발전시키는게 목표인 분까지
폭넓게 추천하고 싶은 책입니다.
"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."