도서 소개
Go 언어 입문자와 실무 개발자 모두를 위한 Go 학습서이다. 설치 및 환경 구성은 물론이고 변수, 연산자, 함수, 조건문, 반복문 등 기초 문법부터 친절하게 다루어 처음 배우는 사람도 이 책을 따라 하면 실력을 쌓아 갈 수 있도록 구성했다.
그뿐만 아니라 배열, 맵, 구조체, 객체지향, 입출력, 오류 처리 등 실무에 꼭 필요한 기능을 살펴보면서 Go 언어의 핵심인 동시성 프로그래밍을 고루틴과 채널, 선택문을 중심으로 집중적으로 설명한다. 또한 제네릭, 성능 최적화, 네트워킹, 로깅, 테스팅, 리팩터링까지 최신 고급 기술을 활용하는 방법을 소개한다.
이 책 마지막에는 ‘할 일 관리 애플리케이션’과 ‘도서 관리 웹 애플리케이션’을 직접 구현해서 배운 지식을 실제 프로젝트로 완성한다. 이 책은 기초 문법부터 고급 기능까지 한 권으로 체계적으로 이어지도록 구성해서 Go 언어를 시작하려는 입문자와 개인 역량을 넓히고 싶어 하는 개발자 모두에게 든든한 안내서가 될 것이다.
출판사 리뷰
동시성 프로그래밍부터 개발 프로젝트까지 이 책만 따라 해보자!
배운 즉시 실습하고 실무에 바로 적용하는 가장 실용적인 Go 언어 학습서국내뿐만 아니라 해외에서도 Go 기술을 전파하고 있는 국내 유일한 GDE(Google Developer Experts)인 한성민 저자의 첫 번째 책이 출간되었다. 저자는 10여 년간 백엔드 및 머신러닝(ML) 엔지니어로 활동하며 쌓아 온 실무 경험과 노하우를 이 책에 모두 담았다.
《Do it! Go 완전 정복》은 Go 언어 입문자와 실무 개발자 모두를 위한 Go 학습서이다. 설치 및 환경 구성은 물론이고 변수, 연산자, 함수, 조건문, 반복문 등 기초 문법부터 친절하게 다루어 처음 배우는 사람도 이 책을 따라 하면 실력을 쌓아 갈 수 있도록 구성했다.
그뿐만 아니라 배열, 맵, 구조체, 객체지향, 입출력, 오류 처리 등 실무에 꼭 필요한 기능을 살펴보면서 Go 언어의 핵심인 동시성 프로그래밍을 고루틴과 채널, 선택문을 중심으로 집중적으로 설명한다. 또한 제네릭, 성능 최적화, 네트워킹, 로깅, 테스팅, 리팩터링까지 최신 고급 기술을 활용하는 방법을 소개한다. 이 책 마지막에는 ‘할 일 관리 애플리케이션’과 ‘도서 관리 웹 애플리케이션’을 직접 구현해서 배운 지식을 실제 프로젝트로 완성한다. 이 책은 기초 문법부터 고급 기능까지 한 권으로 체계적으로 이어지도록 구성해서 Go 언어를 시작하려는 입문자와 개인 역량을 넓히고 싶어 하는 개발자 모두에게 든든한 안내서가 될 것이다.
[출판사 서평]
이 책의 특징 설치, 환경 구성, 기초 문법부터 차근차근 설명해 쉽게 따라갈 수 있어요!
200개의 풍부한 예제와 프로젝트를 직접 실습해 보며 배운 내용을 바로 적용할 수 있어요!
고루틴과 채널 같은 동시성 프로그래밍과 제네릭 등 Go의 핵심을 쉽게 이해할 수 있어요!
성능 최적화, 네트워킹, 테스팅, 리팩터링과 같은 실무에 꼭 필요한 주제를 폭넓게 다루었어요!
Go 분야 GDE(Google Developer Experts)인 저자의 실무 노하우를 배울 수 있어요!
이런 분께 추천합니다! 기초부터 탄탄하게 Go를 배우고 싶은 사람
새로운 언어로 역량을 넓히려는 사람
실무에 바로 Go를 적용하고 싶은 개발자
Go 학습 설계가 잘 된 교재가 필요한 전공생 및 취준생
기초 문법부터 실무 역량까지 한 권으로 끝내는 Go 프로그래밍
좌절 없이 실무까지 완성할 수 있어요!프로그래밍을 처음 배우려는 사람에게 가장 큰 장벽은 첫 장부터 만나는 낯선 개념 때문에 학습 방향과 목표를 쉽게 잃는다는 점입니다. Go 언어는 간결한 문법과 뛰어난 성능 덕분에 매력이 있지만, 동시성이나 네트워킹 같은 고급 주제를 접하면서 곧바로 벽에 부딪히곤 합니다. 이 책은 바로 이러한 점을 정확히 짚어 내어 기초 문법부터 시작해 자료구조, 객체지향, 오류 처리, 동시성 프로그래밍, 제네릭, 리팩터링까지 이어지는 학습 흐름으로 단계적으로 설계했습니다.
이 책을 따라 실습하다 보면 단순히 문법만 배우는 게 아니라 실제 프로그램을 완성할 수 있는 개발자로 성장할 수 있습니다. 책 후반부의 ‘애플리케이션 개발’ 프로젝트는 학습자 스스로 프로그램을 완성하는 프로젝트를 수행하면서 결과물을 완성하는 경험은 물론, 성취감과 자신감까지 기를 수 있습니다. 이 책은 입문자에게는 ‘좌절 없는 첫걸음’이자, 개발자에게는 ‘실무까지 이어지는 든든한 참고서’가 될 것입니다.
프로그래밍 초심자도 프로그램을 스스로 완성하는 개발자로 성장할 수 있는
가장 확실한 로드맵!이 책은 ‘탄탄한 기본기’, ‘Go다운 핵심 기술’, ‘실전 프로젝트 완성 경험’이라는 3단계로 구성해서 체계적으로 공부할 수 있습니다. 먼저 기본기를 충실히 쌓을 수 있도록 Go 개발 환경 설치부터 변수, 연산자, 함수와 같은 핵심 문법까지 마치 1:1 과외를 받듯 친절하게 설명합니다. 독자들은 200개가 넘는 예제 코드를 직접 실행하며 개념을 체득하는 과정에서 프로그래밍의 진정한 재미를 느끼고 기초를 견고하게 다질 수 있습니다.
그리고 Go 언어가 서버 개발의 대세로 떠오른 이유이자 핵심 기술인 동시성(Concurrency) 프로그래밍을 집중해서 다룹니다. 어려운 개념으로만 여겼던 ‘고루틴(Goroutine)’과 ‘채널(Channel)’의 원리를 다양한 실습을 통해 자연스럽게 익힐 수 있습니다. 이 경험은 다른 개발자와 차별화할 수 있는 강력한 경쟁력이 될 뿐만 아니라 Go를 가장 Go답게 쓸 수 있게 해줍니다.
마지막으로 학습한 모든 지식을 총동원하여 ‘할 일 관리 애플리케이션’과 ‘도서 관리 웹 애플리케이션’을 직접 개발하여 완성하는 경험을 합니다. 여기서 그치지 않고 현업 개발자가 갖춰야 할 필수 기능인 성능 최적화, 테스팅, 코드 가독성을 높이는 리팩터링까지 다룹니다.
Go 언어 정복, 단 2주면 충분합니다!
학습 계획표 + 실습 코드 + 저자 채널 제공!이 책의 8쪽에서 제공하는 학습 계획표에 맞춰 공부해 보세요. 목표한 날짜를 기록하고 14일 동안 공부하면 무리 없이 완주할 수 있습니다. 또한 실습에 필요한 예제 코드는 이지스퍼블리싱 홈페이지 자료실과 저자 깃허브에서 내려받을 수 있습니다. 자신이 작성한 코드와 비교해 보면서 전체 코드를 확인하며 학습 효과를 높일 수 있습니다.
이지스퍼블리싱 홈페이지(파일 제공) | www.easyspub.co.kr → [자료실] → 도서명으로 검색
저자 깃허브(파일 제공) | github.com/ KennethanCeyer/tutorial-golang
‘Do it! 스터디룸’에서 공부단을 신청해 보세요!
친구도 만나고 책 선물도 받을 수 있습니다혼자 계획을 세우고 공부하다 보면 금방 지치기 마련입니다. ‘Do it! 스터디룸’의 공부단을 신청하고 《Do it! Go 완전 정복》 완독에 도전해 보세요. 함께 공부하는 사람들도 만나고, 공부하는 내용을 올려 공유하고 인증하면 책 선물도 드립니다. 또한 어려운 내용이 있다면 ‘Do it! 스터디룸’ 게시판에 질문을 남겨 보세요. 전문가와 저자가 명쾌하게 해결해 드립니다.
Do it! 스터디룸: cafe.naver.com/doitstudyroom
작가 소개
지은이 : 한성민
노련한 10년 차 백엔드 및 머신러닝(ML) 엔지니어로, 국내 Go 분야에서 유일한 GDE(Google Developer Experts)입니다. 국내 최대 Go 커뮤니티인 ‘고랭 코리아(Golang Korea)’와 ‘고퍼콘 코리아(GopherCon Korea)’의 운영진으로 활동하면서 Go 언어의 매력을 알리는 데 힘쓰고 있습니다. Go 언어의 명확함과 단순함, 그리고 독창적인 동시성 메커니즘 등 멋진 Go의 세계를 더 많은 개발자가 경험하기를 바라며 이 책을 집필했습니다.현재- Go, 클라우드, AI 분야 GDE- 구글 클라우드 챔피언 이노베이터(Google Cloud Champion Innovator)- GDG(Google Developer Group) 고랭 코리아 오거나이저- F-Lab의 파이썬, MLE 멘토주요 경력- 2021~2024년 뤼이드 엔지니어링 책임자(Head of Tech)- 2018~2020년 네이버 클로바 리서치 엔지니어- 2015~2018년 아이지에이웍스 소프트웨어 엔지니어(파트 리더)- 2015년 심심이 소프트웨어 엔지니어(팀 리더)
목차
첫째마당 | 처음 만나는 Go 프로그래밍 ? 설치부터 기초 문법까지
01장 Go 시작하기
__01-1 간결하며 효율적인 Go
__01-2 Go 설치하기
__01-3 첫 번째 Go 프로그램 만들기
02장 Go 프로그래밍 준비하기
__02-1 Go 프로젝트 구성하기
__02-2 Go 환경 변수 알아보기
__02-3 외부 패키지 사용하기
__02-4 통합 개발 환경 설치하기
03장 변수와 상수
__03-1 소스 코드에 주석 남기기
__03-2 변수 알아보기
__03-3 변수의 자료형
__03-4 지역 변수와 전역 변수
__03-5 상수 알아보기
04장 자료형과 포인터
__04-1 기본 자료형
__04-2 자료형 변환
__04-3 주소를 나타내는 포인터
05장 연산자
__05-1 산술 연산자
__05-2 관계·논리 연산자
__05-3 비트 연산자
__05-4 기타 연산자
06장 함수
__06-1 함수의 기본 구조
__06-2 익명 함수와 클로저
07장 조건문
__07-1 if 문
__07-2 switch 문
__07-3 조건문 설계와 중첩
08장 반복문
__08-1 반복문 작성하기
__08-2 반복문 제어하기
__08-3 구구단 프로그램 만들기
-----------------------------------------------------
둘째마당 | 실무에서 자주 쓰는 Go의 기능과 구조
09장 자료구조
__09-1 배열
__09-2 슬라이스
__09-3 맵
__09-4 구조체
10장 객체지향 프로그래밍
__10-1 객체지향 개념 잡기
__10-2 메서드
__10-3 인터페이스
__10-4 리시버
__10-5 상속과 구조체 임베딩
11장 입출력 프로그래밍
__11-1 입출력이란?
__11-2 표준 입출력
__11-3 파일 입출력
12장 오류 처리
__12-1 Go의 독특한 오류 처리 방식
__12-2 패닉 상태 만들기
__12-3 패닉 복구하기
13장 동시성 프로그래밍
__13-1 동시성 프로그래밍의 필요성
__13-2 고루틴이란?
__13-3 뉴스레터 크롤러 만들기
__13-4 고루틴 사용 시 주의 사항
14장 동시성 제어 기법
__14-1 잠금과 대기 그룹
__14-2 채널
__14-3 선택문
15장 제네릭
__15-1 제네릭
__15-2 제네릭 함수와 타입
__15-3 제약 조건
__15-4 제네릭의 미래
-----------------------------------------------------
셋째마당 | 고급 기능 활용부터 나만의 애플리케이션 완성까지!
16장 성능 최적화
__16-1 프로파일링과 성능 측정 도구
__16-2 프로파일 기반 최적화
17장 네트워킹과 로깅
__17-1 네트워킹
__17-2 TCP 네트워킹
__17-3 UDP 네트워킹
__17-4 HTTP 네트워킹
__17-5 로깅
18장 애플리케이션 만들기
__18-1 할 일 관리 애플리케이션
__18-2 도서 관리 웹 애플리케이션
19장 테스팅
__19-1 테스트를 왜 해야 할까?
__19-2 단위 테스트
__19-3 단언문
__19-4 테스트 커버리지
__19-5 모킹과 스터빙
20장 리팩터링
__20-1 작성한 코드의 문제점 파악하기
__20-2 리팩터링 준비하기
__20-3 리팩터링 적용하기
부록 Go 활용 노트
__A-1 문서화 작업을 돕는 godoc
__ A-2 컨텍스트를 관리하는 context
__ A-3 함수를 호출하는 cgo
찾아보기