Go의 인기가 계속 고(Go)공행진하는 이유가 궁금하다면?
구글에서 개발한 오픈소스의 프로그래밍 언어인 Go는 간결하면서도 높은 신뢰성을 자랑한다. 웹 서비스 개발, 웹 앱 개발, 스마트폰 앱 개발, IoT 시스템 개발 등 효율적인 소프트웨어 개발에 특화된 언어이며, 표준 패키지만으로도 고성능 웹 애플리케이션을 개발할 수 있다.
이 책의 저자는 베테랑 고퍼로서 Go 언어의 장점을 십분 활용해 REST API 웹 애플리케이션에 개발에 필요한 필수 지식을 알려준다. 찾기 어려운 Go 언어의 필수 패키지 및 표준 패키지 사용법, 외부 오픈소스를 사용한 코딩 기법, 그리고 Go 언어를 접했을 때 겪을 수 있는 다양한 문제를 함께 고민하면서 코드를 간결하게 작성하는 방법을 소개한다.
총 20장으로 구성된 이 책은 크게 두 개의 파트로 나눌 수 있다. 전반부에서는 개발자를 위한 팁을 다룬다. Go 언어의 개념을 알아보고, context 패키지와 database/sql 패키지를 소개한다. public/private과 exported/unexported의 차이, Go 패키지 관리 툴인 Go Modules과 Go 언어에 반영된 객체지향 요소, 설계의 유연성을 높이고 보수 용이성을 향상시키기 위한 인터페이스 사용법은 물론 예외를 사용하지 않고 이상 사태를 다루는 방법, Go에서의 함수 사용법, 환경 변수 적용 방법, 미들웨어 패턴을 설명한다.
후반부에서는 본격적으로 Go 언어를 활용해 ToDo 웹 애플리케이션을 개발한다. 깃허브 저장소를 만든 후 HTTP 서버 코드를 작성하고 명령줄에서 간단하게 웹서버를 실행해본다. 이어서 HTTP 서버를 약한 결합 구성으로 변경하고, ToDo 웹 애플리케이션의 태스크와 관련된 엔드포인트와 RDBMS를 활용해 데이터베이스 처리를 구현한다. 기능별로 패키지를 분할하도록 HTTP 핸들러의 구조를 리팩터링한 후 마지막으로 인증 및 권한 기능을 새롭게 추가하면서 ToDo 웹 애플리케이션 서버 개발을 마무리한다. 특히 최소한의 코딩만 한 후 테스트나 추가 코드의 문제점은 무엇인지 찾아가면서 점진적으로 기능을 추가하는 후반부 구성을 통해 실무에 적용할 수 있는 API 서버 구축 방법을 배울 수 있을 것이다.
Go 언어의 기초뿐만 아니라 실전에서 활용 가능한 최신 기술을 망라했으며, Go를 좀 더 Go답게 사용하는 방법을 알려주는 이 책을 통해 한 단계 성장하는 고퍼가 되자.
주요 내용
● Go 언어의 설계 이념
● 웹 애플리케이션 개발에 필요한 필수 패키지 및 표준 패키지 사용법
● 외부 오픈소스를 사용한 코딩 기법
● 도커 및 깃허브 액션을 활용한 개발 환경 설정
● 테스트 코드의 단계별 작성
● 실제 업무에 활용할 수 있는 API 서버 구축 방법