출고예상일 안내
주문하신 상품이 한국에서 현지 배송을 위한 출고단계가 이루어질 것으로 예상되는 날짜입니다. 상품을 준비하는 과정에서 내부적인 사정으로 인해 출고예상일에 다소 오차가 생길 수 있습니다.
여러 상품(예약상품포함)을 함께 주문하신 경우 출고예상일이 가장 늦은 날짜에 맞춰 함께 배송됩니다.

Go 인 액션 높은 생산성과 쉬운 프로그래밍을 위한
원제 : Go in Action
윌리엄 케네디, 브라이언 케텔슨, 에릭 St. 마틴 저 | 장현희 역 | 제이펍 | 2016년 06월
ISBN : 9791185890531 / 296쪽 188 x 245 (㎜)
이 상품에 궁금하신점이 있으세요? 1:1상담문의

-
성구(강성규)
-
김현철, 신은경, 이민정, 박선우, 정기민, 곽소아, 정문수
-
거트루드(박태현)
- 21,600
- 21,420
- 21,600
- 23,400
- 컴퓨터/IT > 프로그래밍 > 기타 프로그래밍 언어
출판사 리뷰
출판사 서평 애플리케이션 개발은 웹의 동시성이나 실시간 성능 같은 복잡한 시스템 프로그래밍 문제를 다루지 않더라도 여간 쉽지 않은 일이다. 개발하면서 발생하는 일반적인 문제들은 도구와 프레임워크를 이용해? 해결하기도 하지만, Go는 이런 문제를 자체적으로 해결할 수 있다. 그리고 이를 통해 더욱 자연스럽고 생산적인 코드를 작성할 수 있는 경험을 제공한다. 구글에서 개발한 Go는 작고 빠르게 움직여야 하는 스타트업은 물론, 고성능 서비스를 제공해야 하는 엔터프라이즈급 회사에도 적합하다. 이 책은 자바나 루비, 파이썬, C# 혹은 C++ 등의 ... 애플리케이션 개발은 웹의 동시성이나 실시간 성능 같은 복잡한 시스템 프로그래밍 문제를 다루지 않더라도 여간 쉽지 않은 일이다. 개발하면서 발생하는 일반적인 문제들은 도구와 프레임워크를 이용해 해결하기도 하지만, Go는 이런 문제를 자체적으로 해결할 수 있다. 그리고 이를 통해 더욱 자연스럽고 생산적인 코드를 작성할 수 있는 경험을 제공한다. 구글에서 개발한 Go는 작고 빠르게 움직여야 하는 스타트업은 물론, 고성능 서비스를 제공해야 하는 엔터프라이즈급 회사에도 적합하다. 이 책은 자바나 루비, 파이썬, C# 혹은 C++ 등의 언어를 실무에서 능숙하게 다루는 개발자를 대상으로 한다. 다른 프로그래밍 언어에 대한 경험을 토대로 Go를 공부하거나 언어와 그 내부 동작을 깊이 있게 이해하고자 한다면 이 책이 아주 적절할 것이다. 이 책의 주요 내용 ■ 언어 명세 및 구현 ■ Go의 타입 시스템 ■ 자료구조의 내부 구현 ■ 테스트와 벤치마킹
Go 개발팀은 오늘날 소프트웨어 개발자들이 당면한 문제들을 훌륭하게 해결했다. 개발자들은 프로젝트를 수행할 언어를 선택하는 과정에서 개발 속도와 성능을 두고 항상 갈등해야 했다. 예를 들어, C나 C++ 같은 언어들은 빠른 수행 속도를 자랑하는 반면, Ruby나 Python 같은 언어들은 개발 기간이 짧다. Go 언어는 이 둘 사이의 균형을 잘 맞추고 있어 빠른 수행 속도를 제공하면서도 개발 기간을 단축할 수 있는 다양한 기능들을 제공한다.
_2
Go는 기품이 있으며 언어 자체의 생산성과 재미를 배가시키는 프로그래밍 요소들을 가지고 있다. 언어를 디자인한 사람들은 자신들이 필요로 했던 저수준(low-level) 프로그래밍 구조에 대한 접근을 허용하면서도 생산성을 높일 수 있는 언어를 만들어냈다. 이러한 균형의 달성은 최소화된 키워드 집합과 내장 함수, 그리고 간결한 문법 덕분에 가능했다고 볼 수 있다. 또한 Go는 매우 광범위한 표준 라이브러리를 지원한다. 이 표준 라이브러리는 프로그래머가 실제 세계의 웹 및 네트워크 기반 프로그램을 구현하는 데 필요한 모든 핵심 패키지들을 제공하고 있다.
_13
오늘날의 프로그램들은 필연적으로 데이터의 컬렉션(collection)을 읽고 저장하는 기능을 필요로 한다. 만일 데이터베이스나 파일을 사용하거나 웹에 접근한다면 송수신 데이터를 관리할 수 있는 방법이 반드시 필요하다. Go는 데이터의 컬렉션을 관리하기 위해 배열(array), 슬라이스(slice), 맵(map)의 세 가지 데이터 구조를 제공한다. 이 데이터 구조들은 언어 내에 녹아있어 표준 라이브러리 내에서도 활발하게 활용된다.
_73
Go는 정적 타입(statically typed) 프로그래밍 언어다. 즉, 컴파일러가 프로그램 내의 모든 값의
타입을 정확히 알고 있다는 뜻이다. 컴파일러가 타입 정보를 미리 알고 있으면 프로그램이 값 들을 더 안전하게 활용할 수 있다. 이를 통해 잠재적인 메모리 문제와 버그를 줄일 수 있음은 물론 컴파일러가 더 나은 코드를 생성할 수 있는 기회를 가질 수 있게 된다.
_109
프로그램은 하나의 작업을 실행하기 위한 일련의 코드를 쭉 실행한 후 종료되도록 작성하는 경우가 많다. 사실 이런 타입의 프로그램은 주로 작성 및 유지보수가 쉽기 때문에 가능한 한항상 이 방식을 선택하는 것이 옳다. 그러나 여러 작업을 동시적(concurrently)으로 실행하는 것이 훨씬 도움이 되는 경우도 있다. 데이터를 조회하기 위한 여러 개의 요청을 개별적인 소켓으로 동시에 전달받는 웹 서비스가 좋은 예다. 각각의 소켓 요청은 유일한 것이어서 다른 것들과 독립적으로 처리할 수 있다. 이런 요청을 동시적으로 실행할 수 있다면 이런 종류의 시스템의 전반적인 속도는 몰라보게 향상될 수 있을 것이다. Go는 이런 점을 염두에 두고 언어와 런타임 차원에서 동시성을 직접 지원할 수 있도록 만들어졌다.
_157
목차
1장 Go와의 첫 만남 1
1.1 Go 언어로 최신 컴퓨팅 환경이 당면한 과제 해결하기 2
1.2 Hello, Go 10
1.3 요약 11
2장 Go 간단히 살펴보기 13
2.1 프로그램 아키텍처 14
2.2 main 패키지 15
2.3 Search 패키지 18
2.4 RSS 검색기 41
2.5 요약 49
3장 패키징과 내장 도구들 51
3.1 패키지 52
3.2 가져오기 54
3.3 init 57
3.4 Go 내장 도구의 활용 58
3.5 Go의 추가 개발자 도구 61
3.6 다른 Go 개발자와 협업하기 66
3.7 의존성 관리 67
3.8 요약 72
4장 배열, 슬라이스, 맵 73
4.1 배열의 내부 구조 및 원리 73
4.2 슬라이스의 내부 구조 및 원리 82
4.3 맵의 내부 구조 및 원리 101
4.4 요약 108
5장 Go의 타입 시스템 109
5.1 사용자정의 타입 110
5.2 메서드 114
5.3 타입의 본질 119
5.4 인터페이스 125
5.5 타입 임베딩 137
5.6 외부 노출 식별자와 비노출 식별자 146
5.7 요약 155
6장 동시성 157
6.1 동시성과 병렬성 158
6.2 고루틴 161
6.3 경쟁 상태 170
6.4 공유 자원 잠금 173
6.5 채널 179
6.6 요약 191
7장 동시성 패턴 193
7.1 Runner 패키지 193
7.2 풀링 203
7.3 work 패키지 216
7.4 요약 223
8장 표준 라이브러리 225
8.1 문서화와 소스 코드 226
8.2 로깅 228
8.3 인코딩/디코딩 239
8.4 입력과 출력 248
8.5 요약 257
9장 테스트와 벤치마킹 259
9.1 단위 테스트 259
9.2 예제 코드 279
9.3 벤치마킹 284
9.4 요약 289
찾아보기 291










































