본문내용 바로가기
무료배송 이벤트 소득공제

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

acorn+PACKT 시리즈
애런 토레스 지음 | 이상식 옮김 | 에이콘출판 | 2017년 12월 13일 출간

이 책의 다른 상품 정보

  • 정가 : 30,000원
    판매가 : 27,000 [10%↓ 3,000원 할인]
  • 통합포인트 :
    [기본적립] 1,500원 적립 [5% 적립] 안내 [추가적립] 5만원 이상 구매 시 2천원 추가적립 [회원혜택] 우수회원 3만원 이상 구매 시 2~4% 추가적립
  • 추가혜택 : 포인트 안내 도서소득공제 안내 추가혜택 더보기
  • 배송비 : 무료 배송비 안내
  • 배송일정 : 서울특별시 종로구 세종대로 기준 지역변경
    지금 주문하면 내일(15일,화) 도착 예정 배송일정 안내
  • 바로드림 : 인터넷으로 주문하고 매장에서 직접 수령 안내

이 책의 이벤트 해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.

  • 에이콘의 도서를 한 눈에 살펴보세요
    2017.11.23 ~ 2019.12.31
상품상세정보
ISBN 9791161750880(1161750886)
쪽수 488쪽
크기 189 * 236 * 27 mm /882g 판형알림
이 책의 원서/번역서 Go Cookbook: Build modular, readable, and testable applications in Go/Aaron Torres

책소개

이 책이 속한 분야

이 책의 주제어

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

저자소개

저자 : 애런 토레스

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

역자 : 이상식

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

작가의 말

이 책이 개발자가 Go 개발 패턴을 빠르게 찾아볼 수 있는 유용한 참고 자료가 됐으면 한다. 처음 읽은 후에도 오랫동안 유용하게 쓰일 동반자 같은 책 말이다. 이 책의 각 레시피에는 자신의 애플리케이션을 작성할 때 참조하거나 기초로 사용할 수 있고, 작동 가능한 간단한 코드가 포함돼 있다.
이 책은 기본부터 고급 주제까지 다양한 범위의 내용을 다룬다.

★ 옮긴이의 말 ★

구글에서 개발한 프로그래밍 언어 Go는 구글의 다양한 내부 시스템 개발에 활용되면서 그 성능과 편리함을 입증했고, 도커(Docker)가 Go 언어로 개발됐다는 사실이 알려지면서 유명세를 탔다. Go는 가볍고 빨라 동시성을 잘 지원하며 간단한 문법으로 개발자의 생산성을 높여주는 언어로도 잘 알려져 있다. 이로 인해 서버와 브라우저, 검색엔진, 봇에 이르는 다양한 분야에서 활용되고 있으며 적용 분야가 나날이 확장되고 있다. 그러나 국내에서는 상대적으로 Go 언어의 활용도가 낮은 편이다. 다양한 입문 서적들이 출간돼 있고 문법도 간결해 처음 배우기가 어렵지 않은 데 비해 막상 실무 활용 시 참고할 만한 내용이 많지 않아서가 아닐까 추측해본다.
그런 면에서 요리책의 ‘레시피(recipe)’라는 형식을 빌려 다양한 상황에서의 활용법을 담고 있는 이 책은 Go 언어를 실제로 사용하려는 독자에게 많은 도움이 될 것이다. 다른 언어를 대상으로 하는 쿡북과 마찬가지로 차례대로 읽어 가면서 전반적인 활용법을 익혀도 좋고, 목차에서 필요한 내용을 그때그때 찾아보는 것도 좋을 것이다. 특히 다른 언어에 익숙한 독자의 경우, 이미 알고 있는 개념들이 Go 언어에서 어떤 식으로 구현되는지 초점을 맞춰 읽으면 빠른 속도로 Go 언어를 익힐 수 있을 것이다. 특히 각 레시피에서 소개하고 있는 다양한 라이브러리를 사용해보면 Go 언어의 장점인 높은 생산성을 실감할 수 있을 것이다.
또한 도커, 구글 앱 엔진 등 클라우드 플랫폼과의 연동을 비롯한 광범위한 내용을 다루고 있기 때문에 Go 언어를 이용해 마이크로서비스를 구축해보려는 독자라면 이 책의 레시피를 바탕으로 간단한 서비스를 만들어 보는 것도 좋을 것이다.
번역과 관련해 말하자면, 개발자들이 일상적으로 사용하는 용어(엔드포인트, 커맨드 라인 등)는 원어 발음대로 한국어로 옮겼다. 서비스나 라이브러리의 이름(Docker, Consul, Kafka 등)은 관련 내용을 쉽게 찾아볼 수 있도록 별도로 번역하지 않고 영문 그대로 표기했다. 한국어로 번역된 용어가 업계에서 통용되는 경우(구조체, 직렬화 등)는 이 용어를 사용했으며 부가 설명이 필요한 경우 책 속에 처음 등장한 위치에 간략한 설명을 덧붙였다.
새로운 언어를 학습하는 것은 프로그래밍 자체에 대한 이해를 높이는 과정임과 동시에 상황에 따라 적절히 활용할 수 있는 새로운 작업 도구를 얻을 기회이기도 하다. 이 책을 통해서 보다 많은 사람이 Go 언어를 실무에 활용할 수 있게 되길 바란다. 저자의 말처럼 한 번 읽고 치워버리는 것이 아닌 곁에 두고 필요할 때마다 찾아보는 책이 되었으면 좋겠다.

목차

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 사용하기

출판사 서평

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

웹 개발자, 프로그래머, 엔터프라이즈 개발자를 대상으로 한다. Go 언어에 대한 기본적인 지식을 가졌다고 가정하며, 백엔드 애플리케이션 개발 경험이 반드시 필요한 것은 ... 더보기

북로그 리뷰 (0) 쓰러가기

도서 구매 후 리뷰를 작성하시면 통합포인트를 드립니다.
결제 90일 이내 작성 시 300원 / 발송 후 5일 이내 작성시 400원 / 이 상품의 첫 리뷰 작성 시 500원
(포인트는 작성 후 다음 날 적립되며, 도서 발송 전 작성 시에는 발송 후 익일에 적립됩니다.
외서/eBook/음반/DVD/GIFT 및 잡지 상품 제외)
안내
  • 해당도서의 리뷰가 없습니다.

Klover 평점/리뷰 (0)

문장수집 (0) 문장수집 쓰기 나의 독서기록 보기
※구매도서의 문장수집을 기록하면 통합포인트 적립 안내

교환/반품/품절안내

※ 상품 설명에 반품/교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다.)

교환/반품/품절안내
반품/교환방법 마이룸 > 주문관리 > 주문/배송내역 > 주문조회 > 반품/교환신청 ,
[1:1상담>반품/교환/환불] 또는 고객센터 (1544-1900)

※ 오픈마켓, 해외배송주문, 기프트 주문시 [1:1상담>반품/교환/환불]
    또는 고객센터 (1544-1900)
반품/교환가능 기간 변심반품의 경우 수령 후 7일 이내,
상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
반품/교환비용 변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
반품/교환 불가 사유
  • 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    (단지 확인을 위한 포장 훼손은 제외)
  • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    예) 화장품, 식품, 가전제품(악세서리 포함) 등
  • 복제가 가능한 상품 등의 포장을 훼손한 경우
    예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
  • 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우 ((1)해외주문도서)
  • 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  • 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에
    해당되는 경우
(1) 해외주문도서 : 이용자의 요청에 의한 개인주문상품으로 단순변심 및 착오로 인한 취소/교환/반품 시 ‘해외주문 반품/취소 수수료’ 고객 부담 (해외주문 반품/취소 수수료 : ①양서-판매정가의 12%, ②일서-판매정가의 7%를 적용)
상품 품절 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는
이메일과 문자로 안내드리겠습니다.
소비자 피해보상
환불지연에 따른 배상
  • 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은
    소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨
  • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의
    소비자 보호에 관한 법률에 따라 처리함

이 책의 원서번역서

안내

이 분야의 베스트

  • 이남호
    23,310원
  • 이남호
    23,310원
  • 윤인성
    16,200원
  • 이남호
    22,410원
  • 한국데이터진흥원
    16,200원
더보기+

이 분야의 신간

  • 로버트 C. 마틴
    26,100원
  • 이기창
    31,500원
  • 길벗R&D
    18,900원
  • 박해선
    17,820원
  • 한국데이터산업진흥원
    45,000원
더보기+

바로가기

  • 우측 확장형 배너 2
  • 우측 확장형 배너 2

최근 본 상품