간편결제, 신용카드 청구할인
네이버페이 1%
(네이버페이 결제 시 적립)
NH(올원페이)카드 12% (23,760원)
(3만원 이상 결제/최대 1만원 할인)
북피니언 롯데카드 30% (18,900원)
(최대할인 3만원 / 3만원 이상 결제)
EBS 롯데카드 20% (21,600원)
(최대할인 3만원 / 3만원 이상 결제)
인터파크 NEW 우리V카드 10% (24,300원)
(최대할인 3만원 / 3만원 이상 결제)
인터파크 현대카드 7% (25,110원)
(최대할인 3만원 / 3만원 이상 결제)
Close

Go Cookbook : 예제로 배우는 Go 언어 활용법

원제 : Go Cookbook: Build modular, readable, and testable applications in Go

2013년 9월 9일 이후 누적수치입니다.

판매지수 179
?
판매지수란?
사이트의 판매량에 기반하여 판매량 추이를 반영한 인터파크 도서에서의 독립적인 판매 지수입니다. 현재 가장 잘 팔리는 상품에 가중치를 두었기 때문에 실제 누적 판매량과는 다소 차이가 있을 수 있습니다. 판매량 외에도 다양한 가중치로 구성되어 최근의 이슈도서 확인시 유용할 수 있습니다. 해당 지수는 매일 갱신됩니다.
Close
공유하기
정가

30,000원

  • 27,000 (10%할인)

    1,500P (5%적립)

할인혜택
적립혜택자동적립
배송정보
주문수량
감소 증가
  • 이벤트/기획전

  • 연관도서(319)

  • 사은품(2)

출판사 서평

Go 언어는 구글이 만든 언어로, 그 생산성과 성능을 검증받아 구글 내부 프로젝트뿐만 아니라 도커(Docker)의 개발에도 활용되고 있다. 이 책은 Go 언어의 상황에 따른 맞춤 활용법을 다룬다. 요리책의 레시피 소개 형식을 빌려 파일 입출력부터 예외 처리, 데이터베이스 연결, 마이크로서비스 개발에 이르기까지 다양한 상황에서의 활용법을 예제와 함께 제공한다. Go 언어 입문자나 간단한 문법만 알지만 어떻게 활용할지 몰라 고민하는 개발자, 다른 언어를 사용하고 있지만 새로운 언어를 배워보려는 개발자 또는 실무에서 Go 언어를 활용하고 있는데 상황에 따라 빠르게 참고할 예제 코드를 찾고 있는 개발자 모두에게 알맞은 책이다.

[이 책에서 다루는 내용]

고급 테스트 방법론을 바탕으로 애플리케이션 테스트
애플리케이션 구조, 인터페이스 디자인 및 툴링
서드파티 패키지와 의존성, 벤더링 전략 수립
컬렉션과 같은 데이터를 다루는 방법
에러 처리 및 처리된 에러를 호출 함수로 전달하는 방법
이식성 향상과 테스트를 위해 인터페이스로 의존성 래핑
Go의 반응형 프로그래밍 및 디자인 패턴

[이 책의 대상 독자]

웹 개발자, 프로그래머, 엔터프라이즈 개발자를 대상으로 한다. Go 언어에 대한 기본적인 지식을 가졌다고 가정하며, 백엔드 애플리케이션 개발 경험이 반드시 필요한 것은 아니지만 경험이 있다면 레시피 배경을 이해하는 데 도움이 된다.
예제나 참고 사항을 찾는 능숙한 Go 언어 개발자에게도 좋은 참고서가 된다. 오픈소스 코드 저장소를 활용하면 이 책의 예제들을 빠르게 자신의 소스 코드에 적용할 수 있다.

[이 책의 구성]

1장, 'I/O 및 파일시스템'에서는 일반적인 I/O 인터페이스를 다루고 파일시스템 작업에 대해 설명한다. 임시 파일, 템플릿 및 CSV 파일이 포함된다.
2장, '커맨드라인 도구'에서는 커맨드라인을 바탕으로 사용자의 입력을 받는 방법과 TOML, YAML 및 JSON과 같은 일반적인 데이터 유형을 처리하는 방법을 살펴본다.
3장, '데이터 변환과 합성'에서는 Go 인터페이스와 데이터 타입 사이의 변환 방법을 보여준다. 또한 Go의 인코딩 전략 및 일부 기능 디자인 패턴을 보여준다.
4장, 'Go의 에러 처리'에서는 에러를 처리하기 위한 Go의 전략을 살펴본다. 에러를 전달하고 처리하고 기록(log)하는 방법을 알아본다.
5장, '데이터베이스와 스토리지에 관한 모든 것 MySQL과 같은 데이터 스토리지 시스템에 액세스하기 위한 다양한 저장소 라이브러리를 다룬다. 또한 애플리케이션의 논리(logic)에서 라이브러리를 분리하기 위한 인터페이스 사용을 보여준다.
6장, '웹 클라이언트 및 API'에서는 Go HTTP 클라이언트 인터페이스, REST 클라이언트, OAuth2 클라이언트, 클라이언트에 기능을 추가를 위한 데코레이션 및 확장, GRPC 구현에 대해 살펴본다.
7장, 'Go 애플리케이션의 마이크로서비스'에서는 웹 핸들러에 대해 알아보고 상태를 핸들러에 전달하는 방법, 사용자 입력 및 미들웨어에 대한 유효성 검사를 수행하는 방법을 살펴본다.
8장, '테스트'에서는 목(mock), 테스트 커버리지(test coverage), 퍼징(fuzzing), 동작 테스트(behavior test)를 비롯한 여러 가지 유용한 테스트 도구에 중점을 두고 테스트에 대해 알아본다.
9장, '병렬성과 동시성'에서는 채널 및 비동기 작업, 아토믹 값(atomic value), Go 컨텍스트 객체 및 채널 상태 관리에 대해 참고할 만한 내용을 제공한다.
10장, '분산 시스템'에서는 서비스 탐색(service discovery), Docker 컨테이너화(containerization), 메트릭 및 모니터링, 오케스트레이션을 구현한다. Go 애플리케이션의 배포(deploy)와 실제 배치(productionisation)를 주로 다루고 있다.
11장, '반응형 프로그래밍과 데이터 스트림'에서는 반응형/데이터 플로우 애플리케이션, Kafka 및 분산 메시지 대기열 및 GraphQL 서버에 대해 살펴본다.
12장, '서버리스 프로그래밍'에서는 서버를 유지 관리하지 않고 Go 애플리케이션을 배포하는 방법을 다룬다. 여기에는 서버리스(serverless) 환경에서 Google App Engine, Firebase, Lambda 및 로깅 사용이 포함된다.
13장, '성능 향상, 팁 및 트릭'에서는 벤치마킹, 병목 현상 확인, 최적화 및 Go 애플리케이션의 HTTP 성능 향상에 대해 다룬다.

목차

1장. I/O 및 파일시스템
소개
공통 I/O 인터페이스 사용하기
bytes 및 strings 패키지 사용
디렉터리 및 파일 작업
CSV 형식 작업하기
동작 원리
임시 파일 작업하기
text/template 및 HTML/template으로 작업하기

2장. 커맨드라인 도구
소개
커맨드라인 플래그 사용하기
커맨드라인 인수 사용하기
환경 변수 읽기 및 설정
TOML, YAML, JSON으로 환경 설정하기
유닉스 파이프 다루기
시그널 잡기와 처리하기
애플리케이션에서 ANSI 컬러 사용하기

3장. 데이터 변환과 합성
소개
데이터 타입 변환과 인터페이스 캐스팅
math와 math/big을 이용한 산술 데이터 타입 다루기
통화 변환 및 float64에 관한 고려 사항
인코딩 및 디코딩에 포인터와 SQL NullTypes 사용하기
Go 데이터의 인코딩과 디코딩
Go의 구조체 태그 및 기본적인 리플렉션
클로저를 통한 컬렉션 구현

4장. Go의 에러 처리
소개
에러 처리 및 에러 인터페이스
pkg/errors 패키지 사용 및 에러 감싸기
log 패키지 사용과 에러 기록 시기 이해하기
apex와 logrus 패키지를 사용한 구조적 로깅
context 패키지를 사용한 로깅
패키지 수준의 전역 변수 사용
장기 실행 프로세스에서 패닉 잡기

5장. 데이터베이스와 스토리지에 관한 모든 것
소개
MySQL로 알아보는 database/sql 패키지
데이터베이스 트랜잭션 인터페이스 실행하기
SQL의 커넥션 풀, 속도 제한 및 시간 초과
Redis 사용하기
MongoDB 및 mgo와 함께 NoSQL 사용하기
데이터 이식성을 높이기 위한 스토리지 인터페이스 만들기

6장. 웹 클라이언트 및 API
소개
http
REST API용 클라이언트 작성하기
병렬 및 비동기 클라이언트 요청 실행하기
OAuth2 클라이언트 사용하기
OAuth2 토큰 스토리지 인터페이스 구현하기
추가 기능 및 함수 합성으로 클라이언트 감싸기
GRPC 클라이언트 이해하기

7장. Go 애플리케이션의 마이크로서비스
소개
웹 핸들러와 요청, ResponseWriter 사용하기
상태 추적 가능한 핸들러를 위한 구조체 및 클로저 사용하기
Go 구조체 입력 및 사용자 입력 검증하기
렌더링 및 내용 협상
미들웨어 구현 및 사용하기
역방향 프록시 애플리케이션 작성
GRPC를 JSON API로 내보내기

8장. 테스트
소개
표준 라이브러리를 이용한 모조품 만들기
Mockgen 패키지 사용하기
테스트 커버리지 향상을 위한 테이블 기반 테스트
서드파티 테스트 도구 사용하기
실용적인 퍼징
Go로 동작 테스트하기

9장. 병렬성과 동시성
소개
채널 및 select문 사용하기
sync
아토믹 연산 및 뮤텍스 사용하기
컨텍스트 패키지 사용하기
채널의 상태 관리 실행하기
작업자 풀 디자인 패턴 사용하기
작업자를 사용해 파이프라인 만들기

10장. 분산 시스템
소개
Consul로 서비스 탐색 사용하기
Raft로 기본 합의 구현하기
Docker로 컨테이너화 사용하기
오케스트레이션과 배포 전략
애플리케이션 모니터링
메트릭 수집

11장. 반응형 프로그래밍과 데이터 스트림
소개
데이터플로우 프로그래밍을 위한 Goflow
RxGo를 이용한 반응형 프로그래밍
Sarama로 Kafka 사용하기
Kafka에서 비동기 생산자 사용하기
Kafka와 Goflow 연결하기
Go에서 GraphQL 서버 작성하기

12장. 서버리스 프로그래밍
소개
Apex를 사용해 Lambda에서 Go 프로그래밍하기
Apex의 서버리스 로깅 및 메트릭
Go와 구글 App Engine
zabawaba99/firego로 Firebase 다루기

13장. 성능 향상, 팁 및 트릭
소개
컴파일과 테스트 주기의 속도 향상
pprof 도구 사용하기
벤치마크와 병목 현상 찾기
메모리 할당 및 힙 관리
벤더링 및 프로젝트 레이아웃
fasthttprouter와 fasthttp 사용하기

저자소개

애런 토레스(Aaron Torres) [저] 신작알림 SMS신청 작가DB보기
생년월일 -
출생지 -
출간도서 1종
판매수 27권

New Mexico Institute of Mining and Technology에서 컴퓨터 과학 학위를 받았다. 고성능 컴퓨팅과 대규모 웹 및 마이크로서비스 애플리케이션 분산 시스템을 연구했다. 현재 Go 개발자 팀을 이끌고 있으며 지속적인 배포 및 자동화된 테스트에 중점을 둔 Go Best Practice를 개선하고 집중적으로 다루고 있다. 많은 논문을 출간했으며 스토리지 및 I/O 영역에 여러 특허를 보유하고 있다. 자신의 지식과 아이디어를 다른 사람들과 공유하는 데 열정적이다. Go 언어와 백엔드 시스템 및 개발을 위한 오픈소스의 열렬한 팬이다.

생년월일 -
출생지 -
출간도서 0종
판매수 0권

성균관대학교 컴퓨터공학과를 졸업한 후 롯데캐피탈, 금융결제원을 거쳐 현재 금융보안원에서 일하고 있다. 모의 해킹 업무를 수행하고 있으며 파이썬 프로그래밍, 시스템 트레이딩 등 다양한 분야에도 관심이 많다. 에이콘출판사에서 출간한 『iOS Application Security』(2017), 『Go Cookbook』(2017)을 번역했다.

이 상품의 시리즈

acorn+PACKT 시리즈(총 351권 / 현재구매 가능도서 320권)

펼쳐보기

이 책과 내용이 비슷한 책 ? 내용 유사도란? 이 도서가 가진 내용을 분석하여 기준 도서와 얼마나 많이 유사한 콘텐츠를 많이 가지고 있는가에 대한 비율입니다.

    리뷰

    0.0 (총 0건)

    기대평

    작성시 유의사항

    평점
    0/200자
    등록하기

    기대평

    0.0

    교환/환불

    교환/환불 방법

    ‘마이페이지 > 취소/반품/교환/환불’ 에서 신청함, 1:1 문의 게시판 또는 고객센터(1577-2555) 이용 가능

    교환/환불 가능 기간

    고객변심은 출고완료 다음날부터 14일 까지만 교환/환불이 가능함

    교환/환불 비용

    고객변심 또는 구매착오의 경우에만 2,500원 택배비를 고객님이 부담함

    교환/환불 불가사유

    반품접수 없이 반송하거나, 우편으로 보낼 경우 상품 확인이 어려워 환불이 불가할 수 있음
    배송된 상품의 분실, 상품포장이 훼손된 경우, 비닐랩핑된 상품의 비닐 개봉시 교환/반품이 불가능함

    소비자 피해보상

    소비자 피해보상의 분쟁처리 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 따라 비해 보상 받을 수 있음
    교환/반품/보증조건 및 품질보증 기준은 소비자기본법에 따른 소비자 분쟁 해결 기준에 따라 피해를 보상 받을 수 있음

    기타

    도매상 및 제작사 사정에 따라 품절/절판 등의 사유로 주문이 취소될 수 있음(이 경우 인터파크도서에서 고객님께 별도로 연락하여 고지함)

    배송안내

    • 인터파크 도서 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다

    • 출고가능 시간이 서로 다른 상품을 함께 주문할 경우 출고가능 시간이 가장 긴 상품을 기준으로 배송됩니다.

    • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능하여, 인터파크 외 타업체 배송상품인 경우 발송되지 않을 수 있습니다.

    • 배송비

    도서(중고도서 포함) 구매

    2,000원 (1만원이상 구매 시 무료배송)

    음반/DVD/잡지/만화 구매

    2,000원 (2만원이상 구매 시 무료배송)

    도서와 음반/DVD/잡지/만화/
    중고직배송상품을 함께 구매

    2,000원 (1만원이상 구매 시 무료배송)

    업체직접배송상품 구매

    업체별 상이한 배송비 적용