The Go Programming Language
도서+교보Only(교보배송)을 함께 15,000원 이상 구매 시 무료배송
15,000원 미만 시 2,500원 배송비 부과
20,000원 미만 시 2,500원 배송비 부과
15,000원 미만 시 2,500원 배송비 부과
1Box 기준 : 도서 10권
해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.
패키지
북카드
키워드 Pick
키워드 Pick 안내
관심 키워드를 주제로 다른 연관 도서를 다양하게 찾아 볼 수 있는 서비스로, 클릭 시 관심 키워드를 주제로 한 다양한 책으로 이동할 수 있습니다.
키워드는 최근 많이 찾는 순으로 정렬됩니다.
작가정보
저자(글) 앨런 도노반
저자 앨런 도노반(Alan A. A. Donovan)은 뉴욕에 위치한 구글 Go 팀의 일원이다. 캠브리지와 MIT에서 컴퓨터 과학 학위를 취득했으며, 1996년부터 업계에서 개발을 하고 있다. 2005년부터 구글의 인프라 프로젝트에서 근무했으며, 독자적인 빌드 시스템인 Blaze의 공동 설계자다. Go 프로그램의 수많은 정적 분석 라이브러리와 도구를 만들었으며, 그중에는 oracle, godoc -analysis, gorename 등이 있다.
저자(글) 브라이언 커니건
저자 브라이언 커니건(Brin W. Kernighan)은 프린스턴 대학에서 컴퓨터 과학 교수로 재직 중이다. 1969년부터 2000년까지 벨연구소 컴퓨터과학 연구센터의 일원으로 유닉스용 언어와 도구를 개발했다. 『C 언어 프로그래밍』(휴먼사이언스, 2012), 『프로그래밍 수련법』(인사이트, 2008) 등 여러 책의 공동 저자다.
번역 이승
역자 이승은 인프라/플랫폼에 관심이 많은 개발자로, 현재 카카오에서 Kubernetes 기반 서비스를 개발하고 있다. 개발자로 은퇴하는 것이 목표다.
감수 공용준
감수자 공용준은 한양대학교에서 연소해석분야로 석사학위를 취득했다. 연구 중 분산 희박행렬 계산에 대한 분야를 접하면서 정보통신쪽으로 커리어를 쌓고 있다. 2012년에 정통부 산하의 클라우드 정책 연구단 기술고문을 역임했고, 현재는 카카오에서 클라우드 컴퓨팅 셀 리딩을 맡고 있다. 주요 저서로는 『클라우드 API를 활용한 빅데이터 분석』(에이콘, 2015), 『실전 클라우드 인프라 구축기술(한빛미디어, 2014)』이 있다.
작가의 말
최근 각광받고 있는 Go 언어는 단순성을 가장 큰 특징으로 하며, 이는 표현성을 중시하는 루비(ruby)나 스칼라(scala) 등의 언어와는 정면으로 배치된다. 이 책은 그러한 단순성에 대한 설계 사상을 보여주며, 상세한 샘플 소스와 설명을 통해 이해와 활용을 돕는다.
Go의 설계 사상은 유닉스의 설계 사상과 매우 유사하며, 작고 간단한 기능을 조합해 복잡한 기능을 구현하도록 되어 있다. 처음 Go를 접하는 개발자는 지나친 단순성과 익숙하지 않은 오류 처리 방식에 불편함을 느낄 수 있지만, 이러한 초기의 불편함은 향후 유지 보수 시에 더 큰 이익으로 되돌아올 것이다. - 역자 이승
목차
- 1장 튜토리얼
1.1 Hello, World
1.2 커맨드라인 인수
1.3 중복 줄 찾기
1.4 애니메이션 GIF
1.5 URL 반입
1.6 URL 동시 반입
1.7 웹 서버
1.8 미진한 부분
2장 프로그램 구조
2.1 이름
2.2 선언
2.3 변수
2.4 할당
2.5 타입 선언
2.6 패키지와 파일
2.7 범위
3장 기본 데이터 타입
3.1 정수
3.2 부동소수점 수
3.3 복소수
3.4 불리언
3.5 문자열
3.6 상수
4장 복합 타입
4.1 배열
4.2 슬라이스
4.3 맵
4.4 구조체
4.5 JSON
4.6 텍스트와 HTML 템플릿
5장 함수
5.1 함수 선언
5.2 재귀
5.3 다중 값 반환
5.4 오류
5.5 함수 값
5.6 익명 함수
5.7 가변 인자 함수
5.8 연기된 함수 호출
5.9 패닉
5.10 복구
6장 메소드
6.1 메소드 선언
6.2 포인터 수신자가 있는 메소드
6.3 내장 구조체를 통한 타입 조합
6.4 메소드 값과 표현식
6.5 예제: 비트 벡터 타입
6.6 캡슐화
7장 인터페이스
7.1 인터페이스 규약
7.2 인터페이스 타입
7.3 인터페이스 충족
7.4 flag.Value로 플래그 분석
7.5 인터페이스 값
7.6 sort.Interface로 정렬
7.7 http.Handler 인터페이스
7.8 error 인터페이스
7.9 예제: 표현식 평가기
7.10 타입 검증
7.11 타입 검증으로 오류 식별
7.12 인터페이스 타입 검증으로 동작 조회
7.13 타입 변환
7.14 예제: 토큰 기반 XML 디코딩
7.15 몇 마디 조언
8장 고루틴과 채널
8.1 고루틴
8.2 예제: 동시 시계 서버
8.3 예제: 동시 에코 서버
8.4 채널
8.5 병렬 루프
8.6 예제: 동시 웹 크롤러
8.7 select를 통한 다중화
8.8 예제: 동시 디렉토리 탐색
8.9 취소
8.10 예제: 채팅 서버
9장 공유 변수를 이용한 동시성
9.1 경쟁 상태
9.2 상호 배제: sync.Mutex
9.3 읽기/쓰기 뮤텍스: sync.RWMutex
9.4 메모리 동기화
9.5 게으른 초기화: sync.Once
9.6 경쟁 상태 검출
9.7 예제: 동시 넌블로킹 캐시
9.8 고루틴과 스레드
10장 패키지와 Go 도구
10.1 소개
10.2 임포트 경로
10.3 패키지 선언
10.4 Import 선언
10.5 공백 임포트
10.6 패키지 이름 짓기
10.7 Go 도구
11장 테스트
11.1 go test 도구
11.2 테스트 함수
11.3 범위
11.4 Benchmark 함수
11.5 프로파일
11.6 Example 함수
12장 리플렉션
12.1 왜 리플렉션인가?
12.2 reflect.Type과 reflect.Value
12.3 재귀 값을 출력하는 Display
12.4 예제: S- 표현식 인코딩
12.5 reflect.Value로 변수 설정
12.6 예제: S-표현식 디코딩
12.7 구조체 필드 태그 접근
12.8 타입의 메소드 표시
12.9 주의 사항
13장 저수준 프로그래밍
13.1 unsafe.Sizeof, Alignof, Offsetof
13.2 unsafe.Pointer
13.3 예제: 깊은 동등성
13.4 cgo를 통한 C코드 호출
13.5 기타 주의 사항
출판사 서평
★ 이 책의 특징 ★
이 책은 전체 언어와 가장 중요한 패키지들, 넓은 범위의 애플리케이션을 다루는 수백 개의 흥미롭고 실용적인 예제를 Go 코드로 작성해 제공한다. 각 장에는 이해도를 테스트하고 예제의 확장과 대안을 알아보기 위한 연습문제들도 수록되어 있다. 소스코드는 http://gopl.io/에서 자유롭게 다운로드할 수 있으며, go get 명령으로 손쉽게 반입, 빌드, 설치할 수 있다.
★ 이 책의 구성 ★
1장은 파일 읽고 쓰기, 텍스트 포매팅, 이미지 생성, 인터넷 클라이언트와 서버 간 통신 등의 일상적인 작업을 수행하는 여러 프로그램을 통해 Go의 기본 구성 요소를 설명하는 튜토리얼이다.
2장은 Go 프로그램의 구조적 요소인 선언, 변수, 새로운 타입, 패키지, 파일, 범위 등을 설명한다. 3장은 숫자, 불리언, 문자열, 상수 및 유니코드를 처리하는 방법을 설명한다. 4장은 배열, 맵, 구조체, 슬라이스 등의 간단한 타입을 모으는 조합형 타입을 설명한다. 5장은 함수, 예외 처리, panic, recover, defer문을 설명한다.
따라서 1장에서 5장까지는 대부분이 널리 쓰이는 명령형 언어에 포함되는 기본적인 내용이다. 가끔 Go의 문법과 스타일이 그 외의 언어와 다를 때가 있지만, 대부분의 개발자는 빠르게 적응할 수 있을 것이다. 나머지 장들은 메소드, 인터페이스, 동시성, 패키지, 테스트, 리플렉션(reflection) 등에 대한 Go의 독특한 접근 방식에 초점을 맞춘다.
Go는 객체지향 프로그래밍에 독특한 접근 방식을 택했다. Go에는 클래스 계층은 물론 실제로 클래스 자체가 없다. 복잡한 객체의 행동은 상속이 아닌 간단한 객체의 조합으로 이뤄진다. 메소드는 구조체뿐만 아니라 임의의 사용자 정의 타입과 연관되며, 구상 타입과 추상 타입(인터페이스) 간의 관계가 묵시적이므로 구상 타입은 설계자가 사전에 고려하지 않은 인터페이스도 충족할 수 있다. 메소드는 6장에서, 인터페이스는 7장에서 다룬다.
8장은 CSP의 아이디어에 기반을 두며 고루틴과 채널로 구현된 Go의 동시성에 대한 접근 방식을 제시한다. 9장은 공유 변수를 이용하는 좀 더 전통적인 동시성에 대해 설명한다.
10장은 라이브러리를 구성하는 메커니즘인 패키지를 설명한다. 또한 컴파일, 테스트, 벤치마크, 프로그램 포매팅, 문서화, 기타 여러 작업을 수행하는 단일 명령인 go 도구를 효과적으로 사용하는 방법도 보여준다.
11장은 눈에 띄게 가벼운 접근 방식을 통해 추상화 기반 프레임워크를 간단한 라이브러리와 도구로 대체한 Go 테스팅을 다룬다. 테스트 라이브러리는 필요시 더 복잡한 추상화 단계를 구축할 수 있는 기초를 제공한다.
12장은 프로그램이 실행 중에 스스로의 상태를 살펴볼 수 있게 하는 리플렉션에 대해 알아본다. 리플렉션은 강력한 도구지만 주의 깊게 사용해야 한다. 또한 리플렉션이 중요한 일부 Go 라이브러리를 구현하는 데 어떻게 사용됐는지를 보여줌으로써 리플렉션의 적절한 균형에 대해 설명한다. 13장은 unsafe 패키지를 사용해 Go의 타입 시스템을 우회하는 저수준 프로그래밍의 어려운 세부 사항과 저수준 프로그래밍이 적합한 경우에 대해 설명한다.
기본정보
ISBN | 9788960778320 | ||
---|---|---|---|
발행(출시)일자 | 2016년 02월 29일 | ||
쪽수 | 400쪽 | ||
크기 |
188 * 255
* 21
mm
/ 833 g
|
||
총권수 | 1권 | ||
시리즈명 |
에이콘 프로그래밍 언어 시리즈
|
||
원서명/저자명 | The Go Programming Language/Addison-Wesley Professional |
Klover
e교환권은 적립 일로부터 180일 동안 사용 가능합니다.
리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 리뷰 종류별로 구매한 아이디당 한 상품에 최초 1회 작성 건들에 대해서만 제공됩니다.
판매가 1,000원 미만 도서의 경우 리워드 지급 대상에서 제외됩니다.
일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
- 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
- 도서와 무관한 내용의 리뷰
- 인신공격이나 욕설, 비속어, 혐오발언이 개재된 리뷰
- 의성어나 의태어 등 내용의 의미가 없는 리뷰
리뷰는 1인이 중복으로 작성하실 수는 있지만, 평점계산은 가장 최근에 남긴 1건의 리뷰만 반영됩니다.
구매 후 리뷰 작성 시, e교환권 200원 적립
문장수집
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
구매 후 리뷰 작성 시, e교환권 100원 적립