책 이미지
책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 언어 > 프로그래밍 언어 기타
· ISBN : 9791161750323
· 쪽수 : 516쪽
· 출판일 : 2017-08-10
책 소개
목차
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
비주얼 스튜디오 코드
요약




















