서브메뉴
검색
본문
Powered by NAVER OpenAPI
-
Tucker의 Go 언어 프로그래밍 (Golang 입문부터 고급 기법까지, 재미있는 4가지 프로젝트와 함께)
저자 : 공봉식
출판사 : 골든래빗(주)
출판년 : 2021
ISBN : 9791197149801
책소개
게임 회사 서버 전문가가 알려주는
Go 언어를 내 것으로 만드는 비법
구글이 개발한 Go는 고성능 비동기 프로그래밍에 유용한 언어이다. 『Tucker의 Go 언어 프로그래밍』은 Go 언어로 ‘나만의 프로그램’을 만들 수 있게 이끌어준다. 프로그래밍 초보자도 쉽고 명확하게 이해할 수 있도록 학습 목표를 일목요연하게 제시하고 핵심 내용을 정리해 보여준다. 언어 문법과 예제 작동 순서를 그림을 곁들여 설명하고, 단계별로 프로젝트를 구현하며 프로그래밍을 직접 체험할 수 있게 했다.
목차
[0단계 Go 언어를 배우기 전에]
00장 개발 환경 구축
01장 컴퓨터 원리
_1.1 비트의 탄생과 트랜지스터
_1.2 트랜지스터에서 계산기로
_1.3 계산기에서 컴퓨터로
_1.4 컴퓨터 동작 원리
핵심 요약
연습문제
02장 프로그래밍 언어
_2.1 초창기 프로그래밍 언어
_2.2 어셈블리어의 등장
_2.3 고수준 언어의 등장
_2.4 프로그래밍 언어의 구분
핵심 요약
연습문제
[1단계 가볍게 Go 입문하기]
03장 Hello Go World
_3.1 Go 역사
_3.2 Go 언어 특징
_3.3 코드가 실행되기까지
_3.4 Hello Go World 코드 뜯어보기
핵심 요약
연습문제
04장 변수
_4.1 변수란?
_4.2 변수 선언
_4.3 변수에 대해 더 알아보기
_4.4 변수 선언의 다른 형태
_4.5 타입 변환
_4.6 변수의 범위
_4.7 숫자 표현
핵심 요약
연습문제
05장 fmt 패키지를 이용한 텍스트 입출력
_5.1 표준 입출력
_5.2 표준 입력
_5.3 〈깊이보기〉 키보드 입력과 Scan() 함수의 동작 원리
핵심 요약
연습문제
06장 연산자
_6.1 산술 연산자
_6.2 비교 연산자
_6.3 〈깊이보기〉 실수 오차
_6.4 논리 연산자
_6.5 대입 연산자
_6.6 연산자 우선순위
핵심 요약
연습문제
07장 함수
_7.1 함수 정의
_7.2 함수를 호출하면 생기는 일
_7.3 함수는 왜 쓰나?
_7.4 재귀 호출
핵심 요약
연습문제
08장 상수
_8.1 상수 선언
_8.2 상수는 언제 사용하나?
_8.3 타입 없는 상수
_8.4 상수와 리터럴
핵심 요약
연습문제
09장 if문
_9.1 if문 기본 사용법
_9.2 그리고 &&, 또는 ||
_9.3 중첩 if
_9.4 if 초기문; 조건문
핵심 요약
연습문제
10장 switch문
_10.1 switch문 동작 원리
_10.2 switch문을 언제 쓰는가?
_10.3 다양한 switch문 형태
_10.4 const 열거값과 switch
_10.5 break와 fallthrough 키워드
핵심 요약
연습문제
11장 for문
_11.1 for문 동작 원리
_11.2 continue와 break
_11.3 중첩 for문
_11.4 중첩 for문과 break, 레이블
핵심 요약
연습문제
12장 배열
_12.1 배열
_12.2 배열 사용법
_12.3 배열은 연속된 메모리
_12.4 다중 배열
핵심 요약
연습문제
13장 구조체
_13.1 선언 및 기본 사용
_13.2 구조체 변수 초기화
_13.3 구조체를 포함하는 구조체
_13.4 구조체 크기
_13.5 프로그래밍에서 구조체의 역할
핵심 요약
연습문제
14장 포인터
_14.1 포인터란?
_14.2 포인터는 왜 쓰나?
_14.3 인스턴스
_14.4 〈깊이보기〉 스택 메모리와 힙 메모리
핵심 요약
연습문제
15장 문자열
_15.1 문자열
_15.2 문자열 순회
_15.3 문자열 합치기
_15.4 〈깊이보기〉 문자열 구조
_15.5 〈깊이보기〉 문자열은 불변이다
핵심 요약
연습문제
16장 패키지
_16.1 패키지
_16.2 패키지 사용하기
_16.3 Go 모듈
_16.4 패키지명과 패키지 외부 공개
_16.5 〈깊이보기〉 패키지 초기화
핵심 요약
연습문제
17장 〈Project〉 숫자 맞추기 게임 만들기
_17.1 해법
_17.2 사전지식
_17.3 STEP 1 : 랜덤한 숫자 생성하기
_17.4 STEP 2 : 숫자값 입력받기
_17.5 STEP 3 : 숫자 맞추기 완성하기
핵심 요약
연습문제
[2단계 고급 기법으로 Go 레벨업하기]
18장 슬라이스
_18.1 슬라이스
_18.2 〈깊이보기〉 슬라이스 동작 원리
_18.3 슬라이싱
_18.4 유용한 슬라이싱 기능 활용
_18.5 슬라이스 정렬
핵심 요약
연습문제
19장 메서드
_19.1 메서드 선언
_19.2 메서드는 왜 필요한가?
_19.3 포인터 메서드 vs 값 타입 메서드
핵심 요약
연습문제
20장 인터페이스
_20.1 인터페이스
_20.2 인터페이스 왜 쓰나?
_20.3 〈깊이보기〉 덕 타이핑
_20.4 인터페이스 기능 더 알기
_20.5 인터페이스 변환하기
핵심 요약
연습문제
21장 함수 고급편
_21.1 가변 인수 함수
_21.2 defer 지연 실행
_21.3 함수 타입 변수
_21.4 함수 리터럴
핵심 요약
연습문제
22장 자료구조
_22.1 리스트
_22.2 링
_22.3 맵
_22.4 〈깊이보기〉 맵의 원리
핵심 요약
연습문제
23장 에러 핸들링
_23.1 에러 반환
_23.2 〈깊이보기〉 에러 타입
_23.3 패닉
핵심 요약
연습문제
24장 고루틴과 동시성 프로그래밍
_24.1 스레드란?
_24.2 고루틴 사용
_24.3 〈깊이보기〉 고루틴의 동작 방법
_24.4 동시성 프로그래밍 주의점
_24.5 뮤텍스를 이용한 동시성 문제 해결
_24.6 뮤텍스와 데드락
_24.7 또 다른 자원 관리 기법
핵심 요약
연습문제
25장 채널과 컨텍스트
_25.1 채널 사용하기
_25.2 컨텍스트 사용하기
핵심 요약
연습문제
26장 〈Project〉 단어 검색 프로그램 만들기
_26.1 해법
_26.2 사전 지식
_26.3 STEP 1 : 실행 인수 읽고 파일 목록 가져오기
_26.4 STEP 2 : 파일을 열어서 라인 읽기
_26.5 STEP 3 : 파일 검색 프로그램 완성하기
_26.6 개선하기
핵심 요약
연습문제
[3단계 Go 프로그래밍에 유용한 기법 익히기]
27장 객체지향 설계 원칙 SOLID
_27.1 객체지향 설계 5가지 원칙 SOLID
_27.2 단일 책임 원칙
_27.3 개방-폐쇄 원칙
_27.4 리스코프 치환 원칙
_27.5 인터페이스 분리 원칙
_27.6 의존 관계 역전 원칙
_27.7 학습 마무리
핵심 요약
연습문제
28장 테스트와 벤치마크
_28.1 테스트 코드
_28.2 〈깊이보기〉 테스트 주도 개발
_28.3 벤치마크
핵심 요약
연습문제
29장 Go 언어로 만드는 웹 서버
_29.1 HTTP 웹 서버 만들기
_29.2 〈깊이보기〉 HTTP 동작 원리
_29.3 HTTP 쿼리 인수 사용하기
_29.4 ServeMux 인스턴스 이용하기
_29.5 파일 서버
_29.6 웹 서버 테스트 코드 만들기
_29.7 JSON 데이터 전송
_29.8 HTTPS 웹 서버 만들기
핵심 요약
연습문제
30장 〈Project〉 RESTful API 서버 만들기
_30.1 해법
_30.2 사전 지식 : RESTful API
_30.3 STEP 1 : RESTful API 서버 만들기
_30.4 STEP 2 : 테스트 코드 작성하기
_30.5 STEP 3 : 특정 학생 데이터 반환하기
_30.6 STEP 4 : 학생 데이터 추가/삭제하기
핵심 요약
연습문제
31장 〈Project〉 Todo 리스트웹 사이트 만들기
_31.1 해법
_31.2 준비하기
_31.3 STEP 1 : 웹 서버 만들기
_31.4 STEP 2 : 프론트엔드 만들기
_31.5 웹 배포 방법 고려하기
_31.6 STEP 3 : 헤로쿠로 배포하기
핵심 요약
연습문제
[Tucker 노트]
A Go 문법 보충 수업
_A.1 배열과 슬라이스
_A.2 for range
_A.3 입출력 처리
_A.4 알아두면 유용한 go 명령어
_A.5 cgo로 C 언어 호출하기
_A.6 go doc
_A.7 Embed
B 생각하는 프로그래밍
_B.1 Go는 객체지향 언어인가?
_B.2 구조체에 생성자를 둘 수 있나?
_B.3 포인터를 사용해도 복사가 일어나나?
_B.4 값 타입을 쓸 것인가? 포인터를 쓸 것인가?
_B.5 구체화된 객체와 관계하라고?
_B.6 Go 언어 가비지 컬렉터
_B.6 Go 언어 가비지 컬렉터