디스커버리 Go 언어
도서명:디스커버리 Go 언어
저자/출판사:염재현/한빛미디어
쪽수:324쪽
출판일:2016-03-18
ISBN:9788968482687
목차
CHAPTER 1 시작하기
1.1 Go 언어 소개
__1.2 첫 프로그램
__1.2.1 Go 놀이터
__1.2.2 기본 예제 코드
1.3 자료형 및 변수
__1.3.1 변수 선언
__1.3.2 자료형 추론
1.4 함수와 간단한 제어 구조
1.5 마치며
1.6 연습 문제
CHAPTER 2 환경 설정하기
2.1 설치하기
__2.1.1 압축 파일로 설치하기
__2.1.2 소스를 컴파일하여 설치하기
__2.1.3 PATH에 go 실행 파일 경로 추가하기
__2.1.4 GOROOT 설정하기
__2.1.5 Chocolatey로 윈도우 개발환경 간편 설치하기
2.2 작업 공간 설정하기
__2.2.1 Git 설치하기
__2.2.2 작업 디렉터리 (GOPATH) 작성하기
__2.2.3 작업 공간 내의 실행 파일들에 PATH 설정하기
__2.2.4 내 컴퓨터에서 코드 작성해보기
__2.2.5 패키지와 라이브러리
2.3 편집기 설정하기
__2.3.1 LiteIDE
__2.3.2 Emacs
__2.3.3 Vim
__2.3.4 Atom
__2.3.5 Wide
2.4 도구 사용하기
__2.4.1 godoc
__2.4.2 Oracle
__2.4.3 Vet
__2.4.4 Fix
__2.4.5 Test
2.5 마치며
CHAPTER 3 환경 설정하기
3.1 문자열
__3.1.1 유니코드 처리
__3.1.2 Example 테스트
__3.1.3 바이트 단위 처리
__3.1.4 패키지 문서
__3.1.5 문자열 잇기
__3.1.6 문자열을 숫자로
3.2 배열과 슬라이스
__3.2.1 배열
__3.2.2 슬라이스
__3.2.3 슬라이스 덧붙이기
__3.2.4 슬라이스 용량
__3.2.5 슬라이스의 내부 구현
__3.2.6 슬라이스 복사
__3.2.7 슬라이스 삽입 및 삭제
__3.2.8 스택
3.3 맵
__3.3.1 맵 사용하기
__3.3.2 집합
__3.3.3 맵의 한계
3.4 입출력
__3.4.1 io.Reader와 io.Writer
__3.4.2 파일 읽기
__3.4.3 파일 쓰기
__3.4.4 텍스트 리스트 읽고 쓰기
__3.4.5 그래프의 인접 리스트 읽고 쓰기
3.5 마치며
3.6 연습문제
CHAPTER 4 함수
4.1 값 넘겨주고 넘겨받기
__4.1.1 값 넘겨주기
__4.1.2 둘 이상의 반환값
__4.1.3 에러값 주고받기
__4.1.4 이름 있는 결과 인자(Named return parameter)
__4.1.5 가변인자
4.2 값으로 취급되는 함수
__4.2.1 함수 리터럴(Function literal)
__4.2.2 고계 함수(High-order function)
__4.2.3 클로저(Closure)
__4.2.4 생성기
__4.2.5 이름 있는 자료형
__4.2.6 이름 있는 함수형
__4.2.7 인자 고정
__4.2.8 패턴의 추상화
__4.2.9 자료구조에 담은 함수
4.3 메서드
__4.3.1 단순 자료형 메서드
__4.3.2 문자열 다중 집합
__4.3.3 포인터 리시버
__4.3.4 공개 및 비공개
4.4 활용
__4.4.1 타이머 활용하기
__4.4.2 path/filepath 패키지
4.5 마치며
4.6 연습문제
CHAPTER 5 구조체 및 인터페이스
5.1 구조체
__5.1.1 구조체 사용법
__5.1.2 const와 iota
__5.1.3 테이블 기반 테스트
__5.1.4 구조체 내장
5.2 직렬화와 역직렬화
__5.2.1 JSON
__5.2.2 Gob
5.3 인터페이스
__5.3.1 인터페이스의 정의
__5.3.2 커스텀 프린터
__5.3.3 정렬과 힙
__5.3.4 외부 의존성 줄이기
__5.3.5 빈 인터페이스와 형 단언
__5.3.6 인터페이스 변환 스위치
5.4 마치며
5.5 연습문제
CHAPTER 6 웹 애플리케이션 작성하기
6.1 Hello, 세계!
6.2 할 일 목록 관리 웹 앱 만들기
__6.2.1 RESTful API
__6.2.2 Data Access Object
__6.2.3 RESTful API 핸들러 구현
__6.2.4 RESTful 서버 완성
__6.2.5 HTML 템플릿 작성하기
6.3 코드 리팩토링
__6.3.1 통일성 있게 파일 나누기
__6.3.2 라우터 사용하기
6.4 추가 주제
__6.4.1 HTTP 파일 서버
__6.4.2 몽고디비와 연동하기
6.5 마치며
6.6 연습문제
CHAPTER 7 동시성
7.1 고루틴
__7.1.1 병렬성과 병행성
__7.1.2 고루틴 기다리기
7.2 채널
__7.2.1 일대일 단방향 채널 소통
__7.2.2 생성기 패턴
__7.2.3 버퍼 있는 채널
__7.2.4 닫힌 채널
7.3 동시성 패턴
__7.3.1 파이프라인 패턴
__7.3.2 채널 공유로 팬아웃하기
__7.3.3 팬인하기
__7.3.4 분산처리
__7.3.5 select
__7.3.6 파이프라인 중단하기
__7.3.7 컨텍스트(context.Context) 활용하기
__7.3.8 요청과 응답 짝 짓기
__7.3.9 동적으로 고루틴 이어붙이기
__7.3.10 주의점
7.4 경쟁 상태
__7.4.1 동시성 디버그
__7.4.2 atomic과 sync.WaitGroup
7.5 문맥 전환
7.6 마치며
7.7 연습문제
CHAPTER 8 실무 패턴
8.1 오버로딩
__8.1.1 연산자 오버로딩
8.2 템플릿 및 제너릭 프로그래밍
__8.2.1 유닛 테스트
__8.2.2 컨테이너 알고리즘
__8.2.3 자료형 메타 데이터
__8.2.4 go generate
8.3 객체지향
__8.3.1 다형성
__8.3.2 인터페이스
__8.3.3 상속
__8.3.4 캡슐화
8.4 디자인 패턴
__8.4.1 반복자 패턴
__8.4.2 추상 팩토리 패턴
__8.4.3 비지터 패턴
8.5 마치며