업무에 Go 언어를 사용하고 있는 고퍼라면 마주칠 수 있는 문제들을 깔끔하게 풀어주는 책이다. 우선 프로그래밍 언어를 활용하여 다양한 범주의 애플리케이션을 개발하기 위한 개념과 패턴을 소개하고, 실서비스 가능한 커맨드 라인 애플리케이션, HTTP 애플리케이션, gRPC 애플리케이션에 초점을 맞춘다.
1장과 2장에서는 커맨드 라인 애플리케이션을 개발하는 방법을 배운다. 표준 라이브러리 패키지를 활용하여 확장성 있고 테스트 가능한 커맨드 라인 프로그램을 개발하는 방법을 살펴본다. 3장과 4장에서는 실제로 서비스가 가능한 HTTP 클라이언트를 개발하는 방법을 알아본다. 타임아웃을 설정하는 방법, 커넥션 풀링, 미들웨어 컴포넌트를 구현하는 방법을 배운다.
5장부터 7장까지는 HTTP 서버 애플리케이션을 개발하는 방법을 알아본다. 데이터를 스트리밍하기 위한 방법, 미들웨어 컴포넌트를 구현하는 방법, 핸들러 함수 간에 데이터를 공유하는 방법, 애플리케이션의 안정성을 개선하기 위한 다양한 기법들을 배운다.
8장부터 10장까지는 gRPC를 활용하여 RPC 애플리케이션을 개발하는 방법을 배운다. 프로토콜 버퍼, 다양한 RPC 통신 패턴을 구현하는 방법, 애플리케이션의 일반 기능들을 구현하기 위해 클라이언트 사이드와 서버 사이드의 인터셉터를 구현하는 방법을 알아본다. 11장에서는 애플리케이션에서 오브젝트 스토어, 관계형 데이터베이스에 접근하여 데이터를 조회하고 저장하는 등의 사용 방법을 살펴본다.
부록에서는 애플리케이션에 관측 가능성을 추가하는 방법을 익히고 애플리케이션을 배포하는 일부 가이드라인도 제공한다. 코드를 직접 작성하고 실행해보며 연습 문제까지 풀어보면 Go 언어 초급자도 Go 언어 전문가가 될 수 있다.