7iv8b5g0fqbsfmo417fog6rp54

디스커버리 Go 언어 구글 Go 언어 가독성 승인자가 알려주는 실전 Go 언어의 재발견

본문 바로가기

회원메뉴

쇼핑몰 검색

통합검색

디스커버리 Go 언어 구글 Go 언어 가독성 승인자가 알려주는 실전 Go 언어의 재발견

정가
22,000 원
판매가
20,900 원    5 %↓
적립금
1,100 P
배송비
무료배송
배송일정
48시간 배송 예정 배송일정안내
ISBN
9788968482687
쪽수 : 324쪽
염재현  |  한빛미디어  |  2016년 03월 18일
소득공제 가능도서 (자세히보기)
주문수량
 
책 소개
성능과 생산성을 동시에 만족하는 차세대 언어! Go 언어를 배우다! 『디스커버리 Go 언어』는 구글 Go 언어 코드 가독성 승인 권한을 가진 저자가 좋은 코드와 나쁜 코드 그리고 멋진 코드를 두루 살펴보면서 얻은 노하우를 실전에 유용하게 Go 언어를 쓸 수 있도록 구성한 책이다. Go 언어를 간단히 소개하고, 바로 프로그램을 실행해볼 수 있게 놀이터 사용법과 간단한 변수 선언과 함수 정의 및 호출을 포함한 전체적인 프로그램 구조를 다룬다. 또한 실무에서 부딪힐 수 있는 문제들과 패턴들을 Go에서 구현하는 방법에 대하여 알아본다.
저자 소개
저자 염재현은 서울대학교 컴퓨터공학부에서 좋아하는 컴퓨터 공부를 하였다. 학교 졸업 후에는 8년 정도 구글에서 소프트웨어 엔지니어로 근무하였다. 관심 분야는 자동화인데, 그중에서도 컴퓨터로 하기 가장 적합한 인간 지능의 자동화다. 무엇이든 비틀어보는 경향이 있고 소시민적 삶을 살면서 작은 고정관념을 깨보는 것이 취미다. 현재 미국 실리콘밸리 마운틴 뷰에 거주한다.
목 차
목차 CHAPTER 1 시작하기 1.1 Go 언어 소개 __1.2 첫 프로그램 __1.2.1 Go 놀이터 __1.2.2 기본 예제 코드 1.3 자료형 및 변수 __1.3.1 변수 선언 __1.3.2 자료형 추론 1.4 함수와 간단한 제어 구조 1.5 마치며 1.6 연습 문제 CHAPTER 2 환경 설정하기 2.1 설치하기 __2.1.1 압축 파일로 설치하기 __2.1.2 소스를 컴파일하여 설치하기 __2.1.3 PATH에 go 실행 파일 경로 추가하기 __2.1.4 GOROOT 설정하기 __2.1.5 Chocolatey로 윈도우 개발환경 간편 설치하기 2.2 작업 공간 설정하기 __2.2.1 Git 설치하기 __2.2.2 작업 디렉터리 (GOPATH) 작성하기 __2.2.3 작업 공간 내의 실행 파일들에 PATH 설정하기 __2.2.4 내 컴퓨터에서 코드 작성해보기 __2.2.5 패키지와 라이브러리 2.3 편집기 설정하기 __2.3.1 LiteIDE __2.3.2 Emacs __2.3.3 Vim __2.3.4 Atom __2.3.5 Wide 2.4 도구 사용하기 __2.4.1 godoc __2.4.2 Oracle __2.4.3 Vet __2.4.4 Fix __2.4.5 Test 2.5 마치며 CHAPTER 3 환경 설정하기 3.1 문자열 __3.1.1 유니코드 처리 __3.1.2 Example 테스트 __3.1.3 바이트 단위 처리 __3.1.4 패키지 문서 __3.1.5 문자열 잇기 __3.1.6 문자열을 숫자로 3.2 배열과 슬라이스 __3.2.1 배열 __3.2.2 슬라이스 __3.2.3 슬라이스 덧붙이기 __3.2.4 슬라이스 용량 __3.2.5 슬라이스의 내부 구현 __3.2.6 슬라이스 복사 __3.2.7 슬라이스 삽입 및 삭제 __3.2.8 스택 3.3 맵 __3.3.1 맵 사용하기 __3.3.2 집합 __3.3.3 맵의 한계 3.4 입출력 __3.4.1 io.Reader와 io.Writer __3.4.2 파일 읽기 __3.4.3 파일 쓰기 __3.4.4 텍스트 리스트 읽고 쓰기 __3.4.5 그래프의 인접 리스트 읽고 쓰기 3.5 마치며 3.6 연습문제 CHAPTER 4 함수 4.1 값 넘겨주고 넘겨받기 __4.1.1 값 넘겨주기 __4.1.2 둘 이상의 반환값 __4.1.3 에러값 주고받기 __4.1.4 이름 있는 결과 인자(Named return parameter) __4.1.5 가변인자 4.2 값으로 취급되는 함수 __4.2.1 함수 리터럴(Function literal) __4.2.2 고계 함수(High-order function) __4.2.3 클로저(Closure) __4.2.4 생성기 __4.2.5 이름 있는 자료형 __4.2.6 이름 있는 함수형 __4.2.7 인자 고정 __4.2.8 패턴의 추상화 __4.2.9 자료구조에 담은 함수 4.3 메서드 __4.3.1 단순 자료형 메서드 __4.3.2 문자열 다중 집합 __4.3.3 포인터 리시버 __4.3.4 공개 및 비공개 4.4 활용 __4.4.1 타이머 활용하기 __4.4.2 path/filepath 패키지 4.5 마치며 4.6 연습문제 CHAPTER 5 구조체 및 인터페이스 5.1 구조체 __5.1.1 구조체 사용법 __5.1.2 const와 iota __5.1.3 테이블 기반 테스트 __5.1.4 구조체 내장 5.2 직렬화와 역직렬화 __5.2.1 JSON __5.2.2 Gob 5.3 인터페이스 __5.3.1 인터페이스의 정의 __5.3.2 커스텀 프린터 __5.3.3 정렬과 힙 __5.3.4 외부 의존성 줄이기 __5.3.5 빈 인터페이스와 형 단언 __5.3.6 인터페이스 변환 스위치 5.4 마치며 5.5 연습문제 CHAPTER 6 웹 애플리케이션 작성하기 6.1 Hello, 세계! 6.2 할 일 목록 관리 웹 앱 만들기 __6.2.1 ESTful API __6.2.2 Data Access Object __6.2.3 RESTful API 핸들러 구현 __6.2.4 RESTful 서버 완성 __6.2.5 HTML 템플릿 작성하기 6.3 코드 리팩토링 __6.3.1 통일성 있게 파일 나누기 __6.3.2 라우터 사용하기 6.4 추가 주제 __6.4.1 HTTP 파일 서버 __6.4.2 몽고디비와 연동하기 6.5 마치며 6.6 연습문제 CHAPTER 7 동시성 7.1 고루틴 __7.1.1 병렬성과 병행성 __7.1.2 고루틴 기다리기 7.2 채널 __7.2.1 일대일 단방향 채널 소통 __7.2.2 생성기 패턴 __7.2.3 버퍼 있는 채널 __7.2.4 닫힌 채널 7.3 동시성 패턴 __7.3.1 파이프라인 패턴 __7.3.2 채널 공유로 팬아웃하기 __7.3.3 팬인하기 __7.3.4 분산처리 __7.3.5 select __7.3.6 파이프라인 중단하기 __7.3.7 컨텍스트(context.Context) 활용하기 __7.3.8 요청과 응답 짝 짓기 __7.3.9 동적으로 고루틴 이어붙이기 __7.3.10 주의점 7.4 경쟁 상태 __7.4.1 동시성 디버그 __7.4.2 atomic과 sync.WaitGroup 7.5 문맥 전환 7.6 마치며 7.7 연습문제 CHAPTER 8 실무 패턴 8.1 오버로딩 __8.1.1 연산자 오버로딩 8.2 템플릿 및 제너릭 프로그래밍 __8.2.1 유닛 테스트 __8.2.2 컨테이너 알고리즘 __8.2.3 자료형 메타 데이터 __8.2.4 go generate 8.3 객체지향 __8.3.1 다형성 __8.3.2 인터페이스 __8.3.3 상속 __8.3.4 캡슐화 8.4 디자인 패턴 __8.4.1 반복자 패턴 __8.4.2 추상 팩토리 패턴 __8.4.3 비지터 패턴 8.5 마치며
출판사 서평
출판사 서평 실전에서 쓰는 Go 언어를 익히는 가장 확실한 방법 Go는 범용 프로그래밍 언어로, 깔끔하고 간결하게 생산성 높은 프로그래밍이 가능합니다. 작성한 코드를 빠르게 컴파일하고 가비지 컬렉션을 지원하며, 정적 자료형 언어이지만 동적 자료형 언어로 프로그램을 작성하는 것 같은 기분을 느끼게 해주는 매력적인 언어입니다. 또한 동시성을 지원하는 코드를 쉽게 작성할 수 있습니다. 이렇게 멋진 Go 언어를 이 책으로 배워야 하는 이유는 간단합니다. 구글 Go 언어 코드 가독성 승인 권한을 가진 저자가 좋은 코드와 나쁜 코드 그리고 멋진 코드를... 실전에서 쓰는 Go 언어를 익히는 가장 확실한 방법 Go는 범용 프로그래밍 언어로, 깔끔하고 간결하게 생산성 높은 프로그래밍이 가능합니다. 작성한 코드를 빠르게 컴파일하고 가비지 컬렉션을 지원하며, 정적 자료형 언어이지만 동적 자료형 언어로 프로그램을 작성하는 것 같은 기분을 느끼게 해주는 매력적인 언어입니다. 또한 동시성을 지원하는 코드를 쉽게 작성할 수 있습니다. 이렇게 멋진 Go 언어를 이 책으로 배워야 하는 이유는 간단합니다. 구글 Go 언어 코드 가독성 승인 권한을 가진 저자가 좋은 코드와 나쁜 코드 그리고 멋진 코드를 두루 살펴보면서 얻은 노하우를 실전에 유용하게 Go 언어를 쓸 수 있게 이 책에 모두 담았기 때문입니다. 이 책을 읽고 난 독자는 Go 언어 문법을 아는 사람이 아닌 Go 언어 프로그래머로 성장하게 될 겁니다. 출판사 서평/리뷰 ★ 왜 Go 언어를 배워야 할까요? 굉장히 생산성이 좋은 언어고요. 제 경우는 파이썬을 완전히 대체해버렸어요. 저는 예전에 파이썬으로 작성하던 작업들을 Go로 작성하게 되고 그게 또 여러모로 편하더라고요. [팟캐스트 나는 프로그래머다] 중에서, 염재현 1.웹 서버부터 OS까지, 도커도 Go로 만들어졌다! 가상화의 결정판 도커는 Go 언어로 개발되었다. 인플럭스DB, 라임, 구글 컨테이너 관리 시스템 퀴베르네시스(Kubernetes) 등 불과 5년 만에 이룬 성과로 볼 수 없을 정도로 엄청난 프로젝트에 Go 언어가 사용된다. Go 언어의 생산성은 파이썬을 뛰어넘을 정도라고 저자는 말한다. 클라우드 배포가 용이하고 풍부한 라이브러리가 뒷받침되고 있어 향후 Go 언어의 미래는 장밋빛이다. 2.웹 서버, 웹 브라우저, 봇, 검색 엔진, 컴파일러, OS 개발까지! 엄청난 양의 프로젝트들은 방대한 라이브러리가 뒷받침하여 가능한 것이었다. Go 언어로 만들지 못하는 것이 없을 정도다! 3.Go 언어는 시작부터 꿈의 언어다. 2007년 켄 톰슨, 롭 파이크, 로버트 그리즈머가 모여 새로운 언어를 기획했고 후에 이안 테일러와 러스 콕스가 합류했다. 컨 톰슨은 유닉스를 만들었고 C 언어 모체인 B 언어를 개발했다. 롭 파이크는 UTF-8을 켄 톰슨과 만든 인물이다. ★ 이 책으로 Go 언어를 익혀야 할 12가지 이유 수많은 Go 언어를 다루는 책 중에서 이 책을 선택해야 할 이유는 다음과 같습니다. 1.다양한 플랫폼에 대응한 설치와 설정 방법을 알려준다. Chocolatey를 이용한 간편 윈도우 설치도 기대할 수 있다. 2.외우지 않고 문법을 이해하게 해준다. 3.C/C++, 자바, 파이썬 등 다른 언어를 습득한 기존 개발자의 이해를 돕고자 적절한 설명을 덧붙였다. 4.저자의 풍부한 경험으로 적절한 쓰임새를 알려준다. 5.프로그램 동작 원리에 대한 깊은 이해가 묻어나는 설명을 한다. 6.개발자에게 필요한 부분을 명확히 하여 빠르게 배울 수 있게 한다. 7.코드 가독성은 덤이다. 이 책에 쓰임 모든 코드는 코드 가독성을 고려하여 작성되었다. 8.언어의 특징을 알아보고 해결책을 제시한다. 9.Go로 프로그래밍하는 실전 방법을 알려준다. 10.Go 언어가 가진 언어적 특징의 한계를 뛰어 넘는 방법을 알려준다. 11.코드 예제는 항상 기초적인 테스트와 함께 제공된다. 12.웹상의 자료에서는 쉽게 배울 수 없는 깊이가 있다. 저자는 구글 본사에서 근무하며 Go 코드 가독성 승인 권한을 통해 쟁쟁한 프로그래머들의 수없이 많은 코드를 봐왔다. 그러 저자의 경험에서 얻은 노하우가 담긴 이 책은 최신 Go 언어 버전을 기반으로 독자가 정말 Go를 잘 배워 잘 활용할 수 있게 하는 후회 없는 선택이 될 것이다. ★ 이 책의 독자층 이 책은 Go 언어의 세계로 빠져들고자 하는 호기심 충만한 독자 여러분들을 대상으로 한다. 하지만 어느 정도 프로그래밍 배경 지식이 있어야 한다. ●이미 다른 주요 언어로 프로그래밍을 경험해본 독자들을 대상으로 했다. 이는 Go 언어를 첫 프로그래밍 언어로 배우는 독자들은 많지 않을 것이라는 가정을 바탕으로 했다. 이미 프로그래밍을 해본 경험이 있는 독자들에게 불필요할 수 있는 기본적인 내용은 많이 건너뛰었다. 건너뜀으로써 책의 내용을 더 간결하게 할 수 있고 궁금한 부분에 더 쉽게 집중할 수 있기 때문이다. ●몰라도 큰 문제가 없거나 부딪혀 보면 바로 알 수 있는 부분들은 과감히 생략했다. 어떤 방식으로 코드를 작성하면 컴파일 오류를 내고, 바로 어떻게 작성해야 올바른지를 쉽게 알 수 있는 경우라면 굳이 설명하지 않고 생략한 경우가 많다. ●직관적으로 알기 어렵거나 잘못된 방식을 사용하면서 그것이 잘못되었다는 것을 바로 알기 어려워서 많은 시간을 들여 시행착오를 거쳐야 하는 것들은 조금 더 지면을 할애하여 제시하고 설명했다. 따라서 기본적인 Go 프로그래밍을 배운 뒤에 이미 코드를 작성하고 있는 분들도 이 책에서 많은 것들을 얻어갈 수 있게 구성했다. ★ 이 책의 구성 ●1장 : Go 언어를 간단히 소개하고, 바로 프로그램을 실행해볼 수 있게 놀이터 사용법과 간단한 변수 선언과 함수 정의 및 호출을 포함한 전체적인 프로그램 구조를 다룬다. ●2장 : Go 언어를 직접 설치하고 설정하면서 몇 가지 편집기 설정에 대해서도 다룬다. 패키지 디렉터리의 구조도 다룬다. ●3장 : 문자열과 자료구조를 다루고 입출력 함수들을 사용하는 방법을 다룬다. ●4장 : 함수와 메서드를 정의하고 이용하는 법을 다룬다. ●5장 : 구조체와 인터페이스에 대하여 다룬다. ●6장 : 웹 애플리케이션을 만들어보면서 몇 가지 개념을 다룬다. ●7장 : 고루틴과 채널, 그리고 동시성 패턴들을 다룬다. ●8장 : 실무에서 부딪힐 수 있는 문제들과 패턴들을 Go에서 구현하는 방법에 대하여 알아본다. ★ 디스커버리만의 이유 있는 설명 방식을 만나보세요! 문법을 익힌다고 프로그래밍을 할 수 있는 건 아니다. 게다가 문법을 무조건 외운다고 언어를 이해하는 것도 아니다. Go 언어는 문장 끝에 세미콜론을 쓰지 않는다. 일반적인 문법 위주의 책은 그렇게 이야기하고 넘어간다. 하지만 이 책은 이렇게 설명한다. 1: package main 2: 3: import "fmt" 4: 5: func main() { 6: fmt.Println("Hello, playground") 7: } 언뜻 기본 예제 코드들을 살펴보니 Go 언어는 세미콜론(;)을 끝에 붙이지 않는 것처럼 보입니다. 사실 Go 컴파일러는 세미콜론으로 구분된 코드를 해석합니다. 구문 분석기가 소스 코드를 스캔하는 과정에서 단순한 규칙을 적용하여 자동으로 붙이게 됩니다. 그렇기 때문에 줄이 끝난 것처럼 보이기만 해도 세미콜론이 붙어서 컴파일러에게 전달됩니다. 따라서 한 줄로 쓰기에는 너무 긴 코드를 여러 줄에 나눠 쓸 때는 주의해야 합니다. 더 구체적으로 말하자면 쉼표나 연산자, 여는 괄호 등으로 끝이 나면 줄이 끝나지 않은 것처럼 보이기 때문에 세미콜론이 붙지 않습니다. 따라서 위의 main 함수는 아래와 같이 쓸 수 없습니다. 1: // ERROR! 2: func main() 3: { 4: fmt.Println("Hello, playground") 5: } 2행이 닫는 괄호로 끝나기 때문에 단순한 전처리기는 세미콜론을 여기에 붙여버려서 구문 오류가 발생합니다. 앞으로 배워나가는 중에 이것과 관련하여 실수하기 쉬운 부분이 있으면 그때마다 간단히 짚고 넘어가겠습니다. 피상적인 문법을 알려드리는 게 아니라
고객 리뷰
평점 리뷰제목 작성자 작성일 내용보기

아직 작성된 리뷰가 없습니다.

반품/교환
· 회사명 : 북앤북스문고   · 주소 : 제주특별자치도 제주시 1100로 3308 B1  
· 대표자 : 김대철   · 사업자 등록번호 : 661-10-02383  
· 통신판매업신고번호 : 2023-제주노형-0169   · 개인정보 보호책임자 : 최재혁  

고객센터

(평일 09:30~17:30)
(점심 12:00~13:00)
· 전화 : 064)725-7279 (발신자 부담)
    064)757-7279 (발신자 부담)
· 팩스 : 064)759-7279
· E-Mail : bookpani@naver.com
Copyright © 2019 북앤북스문고. All Rights Reserved.