logo
logo
x
바코드검색
BOOKPRICE.co.kr
책, 도서 가격비교 사이트
바코드검색

인기 검색어

일간
|
주간
|
월간

실시간 검색어

검색가능 서점

도서목록 제공

프로젝트로 완성하는 Go 프로그래밍

프로젝트로 완성하는 Go 프로그래밍

(Go 언어를 활용한 마이크로서비스 구축 가이드)

맷 라이어 (지은이), 권순범 (옮긴이)
에이콘출판
33,000원

일반도서

검색중
서점 할인가 할인률 배송비 혜택/추가 실질최저가 구매하기
29,700원 -10% 0원
1,650원
28,050원 >
yes24 로딩중
교보문고 로딩중
11st 로딩중
영풍문고 로딩중
쿠팡 로딩중
쿠팡로켓 로딩중
G마켓 로딩중
notice_icon 검색 결과 내에 다른 책이 포함되어 있을 수 있습니다.

중고도서

검색중
서점 유형 등록개수 최저가 구매하기
로딩중

eBook

검색중
서점 정가 할인가 마일리지 실질최저가 구매하기
로딩중

책 이미지

프로젝트로 완성하는 Go 프로그래밍
eBook 미리보기

책 정보

· 제목 : 프로젝트로 완성하는 Go 프로그래밍 (Go 언어를 활용한 마이크로서비스 구축 가이드)
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 언어 > 프로그래밍 언어 기타
· ISBN : 9791161750323
· 쪽수 : 516쪽
· 출판일 : 2017-08-10

책 소개

Go는 인터넷/웹2.0 시대의 언어로서 성장하는 프로그래밍 언어이다. 이 책은 Go 언어로 강력한 시스템을 구축하는 방법을 보여준다. Go에 내장된 동시성 메커니즘과 강력한 셸 기능을 활용해 고품질의 커맨드라인 툴과 웹 앱을 개발하는 법을 배울 수 있다.

목차

1장. 웹 소켓을 이용한 채팅 애플리케이션
간단한 웹 서버
템플릿을 사용해 로직과 뷰 분리
Go 프로그램의 적절한 빌드 및 실행
서버상의 채팅방 및 클라이언트 모델링
클라이언트 모델링
채팅방 모델링
관용적인 Go를 사용한 동시성 프로그래밍
채팅방을 HTTP 핸들러로 변환
복잡성 제거를 위한 헬퍼 함수 사용
채팅방 생성 및 사용
HTML 및 자바스크립트 채팅 클라이언트 구축
템플릿을 최대한 활용
내부를 보기 위한 코드 추적
TDD를 이용한 패키지 작성
인터페이스
단위 테스트
인터페이스 구현
새 추적 패키지 사용
선택적 트레이싱 만들기
깔끔한 패키지 API
요약

2장. 사용자 계정 추가
핸들러의 연쇄
보기 좋은 소셜 로그인 페이지 작성
동적 경로를 포함한 엔드포인트
OAuth2 시작하기
오픈소스 OAuth2 패키지
인증 프로바이더에게 앱에 대해 알림
외부 로그인 구현
로그인하기
프로바이더로부터 오는 응답의 처리
사용자 데이터 제시
추가 데이터로 메시지 기능 확장
요약

3장. 프로필 사진 구현의 세 가지 방법
OAuth2 서버의 아바타
아바타 URL 가져오기
아바타 URL 전송
사용자 인터페이스에 아바타 추가
로그아웃
더 보기 좋게 만들기
Gravatar 구현
아바타 URL 프로세스 추상화
아바타 이미지 업로드
사용자 식별
업로드 폼
업로드 처리
이미지 제공
로컬 파일을 위한 아바타 구현
코드 리팩토링 및 최적화
세 개의 구현 결합
요약

4장. 도메인 이름 검색용 커맨드라인 툴
커맨드라인 툴을 위한 파이프 설계
다섯 개의 간단한 프로그램
Sprinkle
Domainify
Coolify
Synonyms
Available
다섯 개의 프로그램 조합
모두를 관장하는 하나의 프로그램
요약

5장. 분산 시스템 구축 및 유연한 데이터 작업
시스템 설계
데이터베이스 설계
환경 설치
NSQ 소개
MongoDB 소개
환경 시작
트위터에서 투표 읽기
트위터로 승인
MongoDB에서 읽기
트위터에서 읽기
NSQ에 게시
정상적으로 프로그램 시작 및 중지
테스트
투표 집계
데이터베이스에 연결
NSQ의 메시지 소비
데이터베이스 업데이트 유지
Ctrl + C에 응답
솔루션 실행
요약

6장. RESTful 데이터 웹 서비스 API를 통한 데이터와 기능 노출
RESTful API 설계
핸들러 간 데이터 공유
컨텍스트 키
래핑 핸들러 함수
API 키
교차 출처 자원 공유(CORS)
의존성 주입
응답
요청 이해
하나의 함수로 API 제공
핸들러 함수 래퍼 사용
엔드포인트 핸들링
구조체에 메타데이터를 추가하기 위한 태그 사용
단일 핸들러로 다수의 작업 수행
curl을 사용해 API 테스트
API를 사용하는 웹 클라이언트
투표 목록을 보여주는 인덱스 페이지
새 투표 생성
투표의 세부 정보 표시
솔루션 실행
요약

7장. 랜덤 추천 웹 서비스
프로젝트 개요
프로젝트 설계 세부 사항
코드에서 데이터 표현
Go 구조체의 공개 뷰
랜덤 추천 생성
구글 플레이스 API 키
Go의 열거자
구글 플레이스 API 쿼리
추천 구축
쿼리 파라미터를 사용하는 핸들러
CORS
API 테스트
요약

8장. 파일시스템 백업
솔루션 설계
프로젝트 구조
백업 패키지
명백한 인터페이스 우선 검토
구현을 통한 인터페이스 테스트
파일시스템 변경 확인
변경 사항 확인 및 백업 시작
사용자 커맨드라인 도구
작은 데이터 유지
인수 파싱
새로운 도구 사용
데몬 백업 툴
중복 구조
데이터 캐싱
무한 루프
filedb 레코드 업데이트
솔루션 테스트
요약

9장. 구글 앱 엔진용 Q&A 애플리케이션 구축
Go용 구글 앱 엔진 SDK
애플리케이션 생성
앱 엔진 애플리케이션은 Go 패키지다
app.yaml 파일
로컬에서 간단한 애플리케이션 실행
간단한 애플리케이션을 구글 앱 엔진에 배포
구글 앱 엔진의 모듈
구글 클라우드 데이터스토어
비정규화 데이터
엔티티 및 데이터 액세스
구글 클라우드 데이터스토어의 키
구글 클라우드 데이터스토어에 데이터 가져오기
구글 클라우드 데이터스토어에서 데이터 읽기
구글 앱 엔진 사용자
비정규화된 데이터 임베딩
구글 클라우드 데이터스토어에서의 트랜잭션
트랜잭션을 사용해 카운터 유지 관리
조기 추상화 방지
구글 클라우드 데이터스토어에서 쿼리
투표
색인 생성
엔티티의 다른 뷰 포함
투표하기
datastore.Key를 통한 부모 액세스
코드에서의 줄 맞춤
HTTP를 통한 데이터 조작 노출
타입 단언을 사용하는 옵션 기능
응답 헬퍼
경로 파라미터 파싱
HTTP API를 통한 기능 노출
구글 앱 엔진의 컨텍스트
키 문자열 디코딩
라우터 핸들러 매핑
다중 모듈로 앱 실행
로컬에서의 테스트
다중 모듈 앱 배포
요약

10장. Go kit 프레임워크를 이용한 Go의 마이크로서비스
gRPC 소개
프로토콜 버퍼
프로토콜 버퍼 설치
프로토콜 버퍼 언어
Go 코드 생성
서비스 구축
테스트 시작
Go의 생성자
bcrypt로 암호 해싱 및 유효성 검사
요청 및 응답을 포함한 메소드 호출 모델링
Go kit의 엔드포인트
Go kit의 HTTP 서버
Go kit의 gRPC 서버
프로토콜 버퍼 타입에서 자체 타입으로 변환
서버 명령 생성
Go kit 엔드포인트 사용
HTTP 서버의 실행
gRPC 서버의 실행
메인 함수의 즉시 종료 방지
HTTP를 통한 서비스 사용
gRPC 클라이언트 구축
서비스 사용을 위한 커맨드라인 도구
CLI에서의 인수 파싱
케이스 본문을 추출해 좋은 코드 정렬 유지
Go 소스 코드에서 도구 설치
서비스 미들웨어로 속도 제한
속도 제한기 수동 테스트
적절한 속도 제한
요약

11장. 도커를 이용한 Go 애플리케이션 배포
로컬에서 도커 사용
도커 도구 설치
Dockerfile
다른 아키텍처용 Go 바이너리 빌드
도커 이미지 빌드
도커 이미지를 로컬에서 실행
도커 프로세스 검사
도커 인스턴스 중지
도커 이미지 배포
도커 허브에 배포
디지털 오션에 배치
드롭릿 생성
드롭릿의 콘솔에 액세스
도커 이미지 풀링
클라우드에서 도커 이미지의 실행
클라우드에서 도커 이미지에 액세스
요약

부록. 안정적인 Go 개발 환경을 위한 지침
Go 설치
Go 설정
올바른 GOPATH 얻기
Go 툴
저장 시 정리, 빌드, 테스트 실행하기
통합 개발 환경
서브라임 텍스트 3
비주얼 스튜디오 코드
요약

저자소개

맷 라이어 (지은이)    정보 더보기
6살 때부터 컴퓨터 프로그래밍을 하고 있으며, 아버지와 함께 게임과 프로그램을 만들었다. 처음에는 ZX 스펙트럼(ZX Spectrum)에서 베이직(BASIC)으로, 그리고 코모도어 아미가(Commodore Amiga)에서는 AmigaBASIC과 AMOS로 게임을 만들었다. 「Amiga Format」 잡지의 코드를 일일이 옮겨 적고 변수를 바꿔보거나 GOTO문을 움직여서 어떻게 되는지를 확인하는 데 많은 시간을 쏟았다. 이와 같은 프로그래밍에 대한 탐구 정신과 집념이 밑거름이 돼서 18세에 영국 맨스필드에 있는 에이전시에서 웹사이트와 서비스를 만들기 시작했다. 수년 동안 런던에서 일하면서 C#과 오브젝티브C(Objective-C)뿐 아니라 루비(Ruby)와 자바스크립트(JavaScript)까지 아우르는 다양한 언어로 모든 코딩을 해왔으나 구글이 개척한 Go라는 새로운 시스템 언어에 주목했다. 매우 적절하고 관련성이 높은 최신 기술 과제를 다루기 시작한 이래로는 문제를 해결하기 위해 베타 단계에 있던 때부터 Go 언어를 사용하기 시작했다. 2012년에는 콜로라도의 볼더(Boulder)로 옮겨 큰 데이터 웹 서비스 및 고가용성 시스템부터 소규모 프로젝트 및 자선 활동에 이르기까지 다양한 프로젝트를 수행했다. 일하던 회사가 매각된 후 2015년 런던으로 귀국했고 현재까지 다양한 제품, 서비스, 오픈소스 프로젝트를 만들기 위해 Go를 계속 사용하고 있다.
펼치기
권순범 (옮긴이)    정보 더보기
특정 기술보다는 문제 해결이라는 하나의 화두에 천착하고 있으며 데이터 및 콘텐츠 큐레이션에 관심이 많다. 현재는 소프트웨어 엔지니어로 일하고 있다. 교육공학을 전공해 한때는 인적자원개발(HRD)을 하기도 했다.
펼치기
이 포스팅은 쿠팡 파트너스 활동의 일환으로,
이에 따른 일정액의 수수료를 제공받습니다.
이 포스팅은 제휴마케팅이 포함된 광고로 커미션을 지급 받습니다.
도서 DB 제공 : 알라딘 서점(www.aladin.co.kr)
최근 본 책