상세정보
미리보기
Tucker의 Go 언어 프로그래밍
- 저자
- 공봉식 저
- 출판사
- 골든래빗
- 출판일
- 2021-04-12
- 등록일
- 2022-04-18
- 파일포맷
- PDF
- 파일크기
- 7MB
- 공급사
- 예스이십사
- 지원기기
-
PC
PHONE
TABLET
웹뷰어
프로그램 수동설치
뷰어프로그램 설치 안내
책소개
게임 회사 서버 전문가가 알려주는 Go 언어를 내 것으로 만드는 비법구글이 개발한 Go는 고성능 비동기 프로그래밍에 유용한 언어이다. 『Tucker의 Go 언어 프로그래밍』은 Go 언어로 ‘나만의 프로그램’을 만들 수 있게 이끌어준다. 프로그래밍 초보자도 쉽고 명확하게 이해할 수 있도록 학습 목표를 일목요연하게 제시하고 핵심 내용을 정리해 보여준다. 언어 문법과 예제 작동 순서를 그림을 곁들여 설명하고, 단계별로 프로젝트를 구현하며 프로그래밍을 직접 체험할 수 있게 했다.
저자소개
13년 차 게임 서버 프로그래머로 다양한 장르의 온라인 게임을 개발했다. 넥슨과 네오위즈를 거쳐서 현재는 EA 캐나다에서 근무 중이다. 「Tucker Programming」 유튜브 채널을 운영하고 있다.
목차
[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 언어 가비지 컬렉터