러닝 Go (Go 개발자처럼 생각하는 방법)

러닝 Go (Go 개발자처럼 생각하는 방법)

$34.00
Description
뚝딱거리지 않고 원래 Go 언어 개발자였던 것처럼 자연스럽게 코드 작성하기
Go 언어는 웹 서비스 개발자가 선호하는 언어로 빠르게 자리 잡고 있다. 다른 프로그래밍 언어로 개발한 경험이 있는 개발자들에게 Go 언어의 문법을 알려주는 튜토리얼은 많지만, 그것만으로는 부족하다. 이 책은 Go 언어를 이용해 명확하고 관용적으로 개발할 수 있도록 기초 지식을 전달하는 실용적인 가이드다. 개발 숙련도와는 상관없이 누구나 Go 언어 개발자처럼 생각할 수 있다. 더 나아가 경험이 풍부한 Go 개발자들이 채용한 디자인 패턴과 선택한 이유를 소개한다. 웹 서비스 관련 프로젝트에서 많이 활용되는 만큼, 견고한 웹 서비스를 제공하고 확장이 쉬운 코드로 개발하고 싶다면 Go 언어로 시작해보자.
저자

존보드너

JonBodner
20년이상의경력을가진소프트웨어엔지니어이자리드개발자이며아키텍트를담당하고있다.교육,금융,무역,의료,법,정부,인터넷인프라등다양한분야에서소프트웨어개발을해왔다.
캐피탈원(CapitalOne)에서유명엔지니어로서개발및테스트워크플로에기여했으며웹결제페이지감지및작성을위한특허기술을개발했다.소프트웨어개발이슈를찾고관리하기위한도구의공동저자이기도하다.
Go컨퍼런스에서자주발표하며,Go및소프트웨어엔지니어링에대한블로그게시물은30만뷰를돌파했다.Go전용데이터접근라이브러리프로테우스의제작자이고,LGTM프로젝트의포크인checks-out도구의공동개발자이다.

목차

CHAPTER1GO개발환경설정
1.1GO도구설치
1.2GO작업공간
1.3GO명령어
1.4린팅그리고베팅
1.5개발도구소개
1.6Makefiles
1.7항상최신으로유지
1.8마무리

CHAPTER2기본데이터타입과선언
2.1내장타입
2.2varVersus:=
2.3CONST사용
2.4타입지정상수와타입미지정상수
2.5사용하지않는변수
2.6변수와상수이름짓기
2.6마무리

CHAPTER3복합타입
3.1배열
3.2슬라이스
3.3문자열과룬그리고바이트
3.4맵
3.5구조체
3.6마무리

CHAPTER4블록,섀도,제어구조
4.1블록
4.2if문
4.3for문
4.4switch문
4.5공백switch문
4.6if문과switch문중선택
4.7goto문
4.8마무리

CHAPTER5함수
5.1함수선언과호출
5.2함수는값이다
5.3클로저
5.4defer
5.5값에의한호출을사용하는Go
5.6마무리

CHAPTER6포인터
6.1빠른포인터입문
6.2포인터를두려워말라
6.3포인터는변경가능한파라미터를가리킨다
6.4포인터는최후의수단
6.5포인터로성능개선
6.6제로값과값없음의차이
6.7맵과슬라이스의차이
6.8버퍼슬라이스
6.9가비지컬렉션작업량줄이기
6.10마무리

CHAPTER7타입,메서드,인터페이스
7.1Go의타입
7.2메서드
7.3구성을위한임베딩사용
7.4임베딩은상속이아니다
7.5인터페이스에대한간단한지도
7.6인터페이스는타입에안정적인덕타이핑이다
7.7임베딩과인터페이스
7.8인터페이스를받고구조체반환하기
7.9인터페이스와nil
7.10빈인터페이스는어떤것도표현하지않는다
7.11타입단언및타입스위치
7.12타입단언과타입스위치를아껴사용하기
7.13함수타입은인터페이스로의연결
7.14의존성주입을쉽게만드는암묵적인터페이스
7.15Wire
7.16GoO는특히객체지향이아니다
7.17마무리

CHAPTER8오류
8.1오류처리방법:기초
8.2단순오류에문자열사용
8.3센티넬오류
8.4오류는값이다
8.5오류래핑
8.6Is와As
8.7defer로오류래핑
8.8패닉과복구
8.9오류에서스택트레이스얻기
8.10마무리

CHAPTER9모듈,패키지그리고임포트
9.1저장소,모듈그리고패키지
9.2go.mod
9.3패키지빌드
9.4모듈관련작업
9.5모듈게시
9.6모듈버전관리
9.7모듈을위한프록시서버
9.8마무리

CHAPTER10GO의동시성
10.1동시성사용시점
10.2고루틴
10.3채널
10.4select문
10.5동시성사례와패턴
10.6채널대신에뮤텍스를사용해야하는경우
10.7원자적연산
10.8마무리

CHAPTER11표준라이브러리
11.1입출력관련기능
11.2시간
11.3encoding/json
11.4net/http
11.5마무리

CHAPTER12컨텍스트
12.1컨텍스트소개
12.2취소
12.3타이머
12.4코드에서컨텍스트취소처리
12.5값
12.6마무리

CHAPTER13테스트작성
13.1테스팅의기초
13.2테이블테스트
13.3코드커버리지확인
13.4벤치마크
13.5Go의스텁
13.6httptest
13.7통합테스트및빌드태그
13.8레이스검출기로동시성문제찾기
13.9마무리

CHAPTER14Reflect,Unsafe,Cgo
14.1리플렉션은런타임에동적으로타입제어
14.2불안전한Unsafe
14.3성능이아닌통합을위한Cgo
14.4마무리

CHAPTER15Go의제네릭
15.1반복코드를줄이고타입안전증가
15.2Go의제네릭
15.3타입목록을사용하여연산자지정
15.4제네릭함수는알고리즘을추상화한다
15.5타입목록은상수와구현을제한한다
15.6소외된것
15.7관용적Go와제네릭
15.8이후해제될것들
15.9마무리

출판사 서평

뭐라Go?아직도모른다Go?알려준다Go!가보자Go!

이책은Go언어의기초부터깊이있는내용까지폭넓게다루고있다.기본적인개발경험이있으면서Go언어를새롭게배우고싶다면바로이책을펼칠타이밍이다.저자의다양한경험을통해다른언어와차이점을명확히구분하고,Go언어만의매력을느낄수있도록구성되어있다.또한실행할수있는예제를통해Go언어에있는다양한특성을이해시키고확장가능한코드를작성하는좋은방법을제시한다.
대상독자
이책은Go를새롭게시작하는사람들에게초점이맞춰져있다.Go언어의마스코트가귀엽다는것만알고있는사람부터이미Go튜토리얼을수행했거나Go로코드를어느정도개발해본사람까지도볼수있다.단순하게프로그램작성법을알려주는것이아니라관용적인방식으로Go코드를작성하는방법을알려준다.경험이좀더많은Go언어개발자라면새롭게추가된기능들을가장잘사용하는방법에대한조언을얻을수있다.
주요내용
● 관용적코드사용법과프로젝트설계배우기
● Go언어의효율적인작동원리알아보기
● 사용자를위한개발환경구축하기
● 고급레벨사용자를위한reflect,unsafe,cgo기능이해하기
● Go언어의새로운기능인제네릭살펴보기