
Go 풀스택 웹 개발 [Go와 리액트, Gin, GopherJS를 사용한 풀스택 웹 프로그래밍]
- 원서명Hands-On Full Stack Development with Go: Build full stack web applications with Go, React, Gin, and GopherJS (ISBN 9781789130751)
- 지은이미나 안드라오스(Mina Andrawos)
- 옮긴이이우현
- ISBN : 9791161754000
- 30,000원
- 2020년 03월 26일 펴냄
- 페이퍼백 | 392쪽 | 188*235mm
- 시리즈 : acorn+PACKT, 프로그래밍 언어
책 소개
소스 파일은 아래 깃허브 페이지에서 내려 받으실 수 있습니다.
(https://github.com/AcornPublishing/fullstack-go)
본문에 쓰인 컬러 이미지는 여기에서 내려 받으세요.
요약
Go 언어와 리액트를 사용한 풀스택 개발을 소개한다. 간단한 웹 서비스의 프론트엔드와 백엔드를 처음부터 순차적으로 구현한다. Go 언어의 기본 개념과 문법을 설명하고 고루틴과 채널 등의 동시성 프로그래밍 개념도 소개한다. 리액트 프레임워크를 사용해 프론트엔드를 개발하고 백엔드는 Go 기반의 Gin 프레임워크를 사용해 RESTful API 서버를 구축한다. 나아가 유닛 테스트와 벤치마킹을 통해 작성한 코드를 검증하는 방법을 소개한다. 프로그래밍의 기본 개념을 이해하고 개발 경험이 있는 초, 중급 개발자를 대상으로 한다.
이 책에서 다루는 내용
■ 실제 애플리케이션 구현을 통한 Go 프로그래밍 이해
■ 리액트 프레임워크 기반의 애플리케이션 프론트엔드 구현
■ GopherJS 프레임워크와 동형 Go 웹 개발
■ Gin 프레임워크 기반의 RESTful 웹 API 개발
■ ORM 레이어와 보안 통신, 스트라이프 API 등의 유용한 백엔드 기술
■ Go 언어 기반의 웹 API 테스트와 벤치마킹
이 책의 대상 독자
Go 언어 기반의 풀스택 웹 애플리케이션 개발을 처음 시작하는 개발자를 위한 책이다.
이 책의 구성
1장, ‘풀스택 Go’에서는 이 책에서 다루는 주제를 살펴보고, 개발할 애플리케이션의 구조도 알아본다. 이 책에서 무엇을 배울지 전반적으로 소개한다.
2장, ‘Go 언어의 구성 요소’에서는 Go 언어 기반의 애플리케이션을 만드는 데 반드시 필요한 기본 개념을 설명한다. Go 언어의 변수 선언문과 조건문, 루프, 함수 등을 살펴본다. 자료 구조를 정의하고 메서드에서 사용하는 방법도 설명한다. 나아가 프로그램의 행위를 정의하는 인터페이스를 작성하는 방법도 알아본다.
3장, ‘Go 동시성 프로그래밍’에서는 Go 언어의 동시성을 설명한다. Go 언어가 지원하는 고루틴과 채널, select문 등을 알아보고 효율적인 동시성 프로그램 개발에 반드시 필요한 잠금과 대기 그룹(wait group)의 개념도 배운다.
4장, ‘리액트와 프론트엔드 개발’에서는 인기 있는 React.js 프레임워크의 구성 요소를 설명한다. 리액트 프레임워크의 핵심 요소인 리액트 컴포넌트를 살펴본다. 나아가 컴포넌트로 데이터를 전달하는 방법과 상태를 제어하는 방법, 리액트 개발 툴을 사용하는 방법을 배운다.
5장, ‘GoMusic 프론트엔드 개발’에서는 앞에서 학습한 내용을 바탕으로 GoMusic 애플리케이션의 프론트엔드를 구현한다. GoMusic에 필요한 리액트 컴포넌트를 만들고 개발 툴을 사용해 프론트엔드를 수정한다. 프론트엔드의 대부분을 구현한다.
6장, ‘Gin 프레임워크 기반 Go RESTful 웹 API’에서는 Gin 프레임워크와 RESTful 웹 API를 소개한다. Gin 프레임워크의 개념과 구성 요소를 알아보고 이를 사용해 웹 API를 작성한다. HTTP 요청 라우팅과 그룹핑의 개념도 알아본다.
7장, ‘Gin과 리액트 기반 고급 웹 애플리케이션’에서는 Gin 프레임워크와 웹 API의 심도 있는 주제를 설명한다. 미들웨어 사용과 사용자 인증, 로깅, 모델 바인딩 검증 등의 중요하고 실용적인 주제를 다룬다. ORM의 개념과 Go ORM을 사용해 웹 API 백엔드와 MySQL을 연결하는 방법을 학습한다. 앞에서 작성한 리액트 프론트엔드의 구현을 마무리하고 Go 백엔드와 연결하는 방법을 다룬다. 나아가 리액트 애플리케이션을 빌드하고 배포하는 방법을 알아본다.
8장, ‘웹 API 테스트와 벤치마킹’에서는 Go 애플리케이션을 테스트하고 벤치마킹하는 방법을 설명한다. 유닛 테스트를 작성할 때 사용하는 testing 패키지가 제공하는 타입과 메서드를 살펴본다. 이를 기반으로 앞서 작성한 코드를 벤치마킹하고 성능을 측정한다.
9장, ‘GopherJS와 동형 Go 프로그래밍 소개’에서는 프론트엔드를 Go 언어로 작성할 수 있도록 Go 코드를 자바스크립트 코드로 트랜스파일하는 GopherJS 오픈소스 프로젝트를 소개한다. 자바스크립트 대신 Go 언어로 프론트엔드를 구현해야 한다면 GopherJS를 권한다. GopherJS의 개념과 몇 가지 예제와 사용 사례를 살펴보고 GopherJS를 사용해 간단한 리액트 애플리케이션을 구현한다.
10장, ‘클라우드 네이티브 애플리케이션과 리액트 네이티브 프레임워크’에서는 이 책 이후에 나아갈 학습 방향을 제시한다. 클라우드 네이티브 아키텍처와 컨테이너의 개념과 리액트 네이티브를 사용한 모바일 앱 개발을 소개한다.