메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

러닝 Go

Go 개발자처럼 생각하는 방법

한빛미디어

번역서

판매중

  • 저자 : 존 보드너
  • 번역 : 윤대석
  • 출간 : 2022-02-25
  • 페이지 : 452 쪽
  • ISBN : 9791162245309
  • eISBN : 9791162246245
  • 물류코드 :10530
  • 초급 초중급 중급 중고급 고급
1 2 3 4 5
4.8점 (36명)
좋아요 : 3

책소개

뚝딱거리지 않고 원래 Go 언어 개발자였던 것처럼 자연스럽게 코드 작성하기 

 

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

 

 

저자소개

존 보드너 저자

존 보드너

20년 이상의 경력을 가진 소프트웨어 엔지니어이자 리드 개발자이며 아키텍트를 담당하고 있다. 교육, 금융, 무역, 의료, 법, 정부, 인터넷 인프라 등 다양한 분야에서 소프트웨어 개발을 해왔다. 캐피탈 원(Capital One)에서 유명 엔지니어로서 개발 및 테스트 워크플로에 기여했으며 웹 결제 페이지 감지 및 작성을 위한 특허 기술을 개발했다. 소프트웨어 개발 이슈를 찾고 관리하기 위한 도구의 공동 저자이기도 하다.

Go 컨퍼런스에서 자주 발표하며, Go 및 소프트웨어 엔지니어링에 대한 블로그 게시물은 30만 뷰를 돌파했다. Go 전용 데이터 접근 라이브러리 프로테우스의 제작자이고, LGTM 프로젝트의 포크인 checks-out 도구의 공동 개발자이다.

윤대석 역자

윤대석

12년간 임베디드 리눅스 커널 개발, 윈도우 애플리케이션 개발, 리얼타임 운영체제에서의 BSP 개발, 백엔드 개발 등 다양한 개발 경험이 있으며 항상 기본에 충실하고자 노력하는 엔지니어다. 알고리즘과 운영체제를 꾸준히 공부하고 있으며, 오픈 소스 리눅스 커널 분석 및 수정 활동에 참여하고 있다. 한빛미디어에서 『쓰면서 익히는 알고리즘과 자료구조』(2021)를 집필하고 『러닝 Go』(2022)를 번역했다.

 

목차

CHAPTER 1 GO 개발 환경 설정

1.1 GO 도구 설치

1.2 GO 작업 공간

1.3 GO 명령어

1.4 린팅 그리고 베팅

1.5 개발 도구 소개

1.6 Makefiles

1.7 항상 최신으로 유지

1.8 마무리

 

CHAPTER 2 기본 데이터 타입과 선언

2.1 내장 타입

2.2 var Versus :=

2.3 CONST 사용

2.4 타입 지정 상수와 타입 미지정 상수

2.5 사용하지 않는 변수

2.6 변수와 상수 이름 짓기

2.6 마무리


CHAPTER 3 복합 타입

3.1 배열

3.2 슬라이스

3.3 문자열과 룬 그리고 바이트

3.4 맵

3.5 구조체

3.6 마무리

 

CHAPTER 4 블록, 섀도, 제어 구조

4.1 블록

4.2 if 문

4.3 for 문

4.4 switch 문

4.5 공백 switch 문

4.6 if 문과 switch 문 중 선택

4.7 goto 문

4.8 마무리

 

CHAPTER 5 함수

5.1 함수 선언과 호출

5.2 함수는 값이다

5.3 클로저

5.4 defer

5.5 값에 의한 호출을 사용하는 Go

5.6 마무리


CHAPTER 6 포인터

6.1 빠른 포인터 입문

6.2 포인터를 두려워 말라

6.3 포인터는 변경 가능한 파라미터를 가리킨다

6.4 포인터는 최후의 수단

6.5 포인터로 성능 개선

6.6 제로 값과 값없음의 차이

6.7 맵과 슬라이스의 차이

6.8 버퍼 슬라이스

6.9 가비지 컬렉션 작업량 줄이기

6.10 마무리


CHAPTER 7 타입, 메서드, 인터페이스

7.1 Go의 타입

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.15 Wire

7.16 GoO는 특히 객체지향이 아니다

7.17 마무리

 

CHAPTER 8 오류

8.1 오류 처리 방법: 기초

8.2 단순 오류에 문자열 사용

8.3 센티넬 오류

8.4 오류는 값이다

8.5 오류 래핑

8.6 Is와 As

8.7 defer로 오류 래핑

8.8 패닉과 복구

8.9 오류에서 스택 트레이스 얻기

8.10 마무리

 

CHAPTER 9 모듈, 패키지 그리고 임포트

9.1 저장소, 모듈 그리고 패키지

9.2 go.mod

9.3 패키지 빌드

9.4 모듈 관련 작업

9.5 모듈 게시

9.6 모듈 버전 관리

9.7 모듈을 위한 프록시 서버

9.8 마무리

 

CHAPTER 10 GO의 동시성

10.1 동시성 사용 시점

10.2 고루틴

10.3 채널

10.4 select 문

10.5 동시성 사례와 패턴

10.6 채널 대신에 뮤텍스를 사용해야 하는 경우

10.7 원자적 연산

10.8 마무리

 

CHAPTER 11 표준 라이브러리

11.1 입출력 관련 기능

11.2 시간

11.3 encoding/json

11.4 net/http

11.5 마무리

 

CHAPTER 12 컨텍스트

12.1 컨텍스트 소개

12.2 취소

12.3 타이머

12.4 코드에서 컨텍스트 취소 처리

12.5 값

12.6 마무리

 

CHAPTER 13 테스트 작성

13.1 테스팅의 기초

13.2 테이블 테스트

13.3 코드 커버리지 확인

13.4 벤치마크

13.5 Go의 스텁

13.6 httptest

13.7 통합 테스트 및 빌드 태그

13.8 레이스 검출기로 동시성 문제 찾기

13.9 마무리

 

CHAPTER 14 Reflect, Unsafe, Cgo

14.1 리플렉션은 런타임에 동적으로 타입 제어

14.2 불안전한 Unsafe

14.3 성능이 아닌 통합을 위한 Cgo

14.4 마무리

 

CHAPTER 15 Go의 제네릭

15.1 반복 코드를 줄이고 타입 안전 증가

15.2 Go의 제네릭

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 언어의 새로운 기능인 제네릭 살펴보기

 

추천사

 

이미 다른 언어에서 통용되는 개념을 Go 언어에 다시 적용하지 않고도 꼭 알아야 할 사항에 대한 좋은 개요를 제공하면서 제대로 된 학습 균형을 유지하도록 한다. 

스티브 프란시아, 구글 Go 언어 프로덕트 리더

 

개성 넘치고 숙련된 프로그래머조차도 Go를 사용하려면 기존 방식을 모두 잊고 색다르게 생각해야 한다. 이 책을 읽으면 관용적 코드, 코딩 함정 그리고 디자인 패턴을 터득하는 동시에 언어의 큰 특징도 잘 알게 된다. 

독자리뷰

오탈자 보기

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원 무료배송
닫기

리뷰쓰기

닫기
* 상품명 :
러닝 Go
* 제목 :
* 별점평가
1 2 3 4 5
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
러닝 Go
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
러닝 Go
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?