길벗·이지톡

도서 IT전문서/IT입문서 프로그래밍/오픈소스
문법, 라이브러리, 프로젝트로 배우는 Go 언어! 가장 빨리 만나는 Go 언어
정 가
28,000원
I S B N
9788966189908
출 간
2015-06-01
분 량
488쪽
지 은 이
이재홍
난 이 도
초급
부 록
예제 소스

Go 언어를 문법부터 실전 예제까지 가장 빠르게 학습한다!

Go 언어를 빠르게 학습하는 방법, 67 UNIT
각 주제의 핵심만 담아서 UNIT으로 정리했다. UNIT으로 정리한 Go 언어의 문법, 라이브러리, 실전 예제를 따라가다 보면 어느새 수업이 끝난다. Go 언어의 핵심 문법을 정리하고, 표준 라이브러리로 Go 언어의 확장성을 느껴보고, 지금까지 배운 내용을 토대로 실전 예제에서는 웹 크롤러와 채팅 서버를 만들어본다. 

700개 이상의 코드 조각으로 철저하게 설명
프로그래밍 언어 학습의 왕도는 코드 읽기다. 이 책은 철저하게 코드 중심으로 설명했다. Go 언어로 작성된 다양한 코드를 반복해서 읽다 보면 Go 언어에 익숙해질 것이다. 

이 책의 내용
-. Go 언어의 기본 문법
-. 배열, 슬라이스, 맵 사용법
-. 함수, 클로저, 지연 호출
-. 덕 타이핑
-. 고루틴, 채널, 채널 버퍼링
-. 뮤텍스, 풀, 대기 그룹
-. 리플렉션
-. 문자열과 파일 처리
-. JSON
-. 정규표현식
-. 암호화
-. TCP/RPC/HTTP 프로토콜
-. 에러 처리
-. 단위 테스트
-. 웹 크롤러 실전 예제
-. 채팅 서버 실전 예제

예제 소스: https://github.com/gilbutITbook/006792

목차

Unit 1. Go 언어란?
__1.1 정적 타입과 동적 타입
__1.2 약 타입과 강 타입
__1.3 컴파일 언어와 인터프리터 언어
__1.4 가비지 컬렉션
__1.5 병행성
__1.6 모듈화 및 패키지
__1.7 컴파일 속도
__1.8 활용 범위

Unit 2. 설치하기
__2.1 리눅스
__2.2 Mac OS X
__2.3 Windows

Unit 3. 기본 디렉터리 설정하기

Unit 4. 통합 개발 환경 사용하기

Unit 5. Hello, world!로 시작하기

Unit 6. 기본 문법 알아보기
__6.1 세미콜론
__6.2 주석
__6.3 중괄호
__6.4 들여쓰기

Unit 7. 변수 사용하기
__7.1 짧은 선언 사용하기
__7.2 변수 여러 개 선언하기

Unit 8. 숫자 사용하기
__8.1 정수
__8.2 실수
__8.3 복소수
__8.4 바이트
__8.5 룬
__8.6 숫자 연산하기
__8.7 오버플로우와 언더플로우
__8.8 변수의 크기 구하기

Unit 9. 문자열 사용하기
__9.1 문자열 길이 구하기
__9.2 문자열 연산하기
__9.3 문자열 수정하기

Unit 10. 불 사용하기
__10.1 불 연산하기

Unit 11. 상수 사용하기

Unit 12. 열거형 사용하기
핵심 정리

Unit 13. 연산자 알아보기
__13.1 연산자 우선순위

Unit 14. 패키지 사용하기
__14.1 여러 패키지 사용하기
__14.2 전역 패키지로 사용하기
__14.3 패키지 별칭 사용하기

Unit 15. if 조건문 사용하기

Unit 16. if 조건문 안에서 함수 사용하기

Unit 17. for 반복문 사용하기
__17.1 break 사용하기
__17.2 continue 사용하기
__17.3 반복문에서 변수 여러 개 사용하기

Unit 18. goto 사용하기

Unit 19. switch 분기문 사용하기
__19.1 break 사용하기
__19.2 fallthrough 사용하기
__19.3 여러 조건을 함께 처리하기
__19.4 조건식으로 분기하기

Unit 20. 간단한 예제로 문법 익숙해지기
__20.1 FizzBuzz 구현하기
__20.2 99병의 맥주 구현하기
핵심 정리

Unit 21. 배열 사용하기
__21.1 배열 순회하기
__21.1 배열 복사하기

Unit 22. 슬라이스 사용하기
__22.1 슬라이스에 값 추가하기
__22.2 레퍼런스 타입
__22.3 슬라이스 복사하기
__22.4 슬라이스와 용량
__22.5 부분 슬라이스 만들기

Unit 23. 맵 사용하기
__23.1 맵에 데이터 저장하고 조회하기
__23.2 맵 순회하기
__23.3 맵에서 데이터 삭제하기
__23.4 맵 안에 맵 만들기
핵심 정리

Unit 24. 함수 사용하기
__24.1 매개변수와 리턴 값 사용하기
__24.2 리턴 값 여러 개 사용하기
__24.3 가변인자 사용하기
__24.4 재귀호출 사용하기
__24.5 함수를 변수에 저장하기
__24.6 익명 함수 사용하기

Unit 25. 클로저 사용하기

Unit 26. 지연 호출 사용하기

Unit 27. 패닉과 복구 사용하기
핵심 정리

Unit 28. 포인터 사용하기
__28.1 함수에서 포인터형 매개변수 사용하기

Unit 29. 구조체 사용하기
__29.1 구조체 생성자 패턴 활용하기
__29.2 함수에서 구조체 매개변수 사용하기

Unit 30. 구조체에 메서드 연결하기

Unit 31. 구조체 임베딩 사용하기
__31.1 메서드 오버라이딩 상황

Unit 32. 인터페이스 사용하기
__32.1 덕 타이핑
__32.2 빈 인터페이스 사용하기
핵심 정리

Unit 33. 고루틴 사용하기
__33.1 멀티코어 활용하기
__33.2 클로저를 고루틴으로 실행하기

Unit 34. 채널 사용하기
__34.1 동기 채널
__34.2 채널 버퍼링
__34.3 range와 close 사용하기
__34.4 보내기 전용 및 받기 전용 채널 사용하기
__34.5 셀렉트 사용하기

Unit 35. 동기화 객체 사용하기
__35.1 뮤텍스 사용하기
__35.2 읽기, 쓰기 뮤텍스 사용하기
__35.3 조건 변수 사용하기
__35.4 함수를 한 번만 실행하기
__35.5 풀 사용하기
__35.6 대기 그룹 사용하기
__35.7 원자적 연산 사용하기
핵심 정리

Unit 36. 리플렉션 사용하기
__36.1 구조체 태그 가져오기
__36.2 포인터와 인터페이스의 값 가져오기

Unit 37. 동적으로 함수 생성하기

Unit 38. 인터넷 소스 저장소의 패키지 사용하기

Unit 39. 패키지 만들기

Unit 40. 문서화하기
핵심 정리

Unit 41. 출력 함수 사용하기

Unit 42. 입력 함수 사용하기

Unit 43. 문자열 입출력 함수 사용하기

Unit 44. 파일 입출력 함수 사용하기
핵심정리

Unit 45. 유니코드와 UTF-8 함수 사용하기
__45.1 유니코드 함수 사용하기
__45.2 UTF-8 함수 사용하기

Unit 46. 문자열 처리하기
__46.1 문자열 검색하기
__46.2 문자열 조작하기

Unit 47. 문자열 변환 함수 사용하기

Unit 48. 정규표현식 사용하기
__48.1 이메일 주소 검사하기
__48.2 문자열 검색하기
__48.3 문자열 조작하기
핵심 정리

Unit 49. 파일 처리하기
__49.1 파일 쓰기
__49.2 파일 읽기
__49.3 파일 읽기 쓰기
__49.4 ioutil 패키지 사용하기

Unit 50. 입출력 인터페이스 사용하기
__50.1 파일 처리하기
__50.2 문자열을 파일로 저장하기
__50.3 문자열을 화면에 출력하기
__50.4 기본 입출력 함수 사용하기
__50.5 읽기, 쓰기 인터페이스를 함께 사용하기

Unit 51. JSON 문서 사용하기
__51.1 구조체 활용하기
__51.2 JSON 파일 사용하기
핵심 정리

Unit 52. 압축 사용하기

Unit 53. 암호화 사용하기
__53.1 해시 알고리즘 사용하기
__53.2 AES 대칭키 알고리즘 사용하기
__53.3 RSA 공개키 알고리즘 사용하기

Unit 54. 정렬 활용하기
__54.1 정렬 인터페이스를 이용하여 구조체 정렬하기
__54.2 정렬 키로 정렬하기

Unit 55. 컨테이너 사용하기
__55.1 연결 리스트 사용하기
__55.2 힙 사용하기
__55.3 링 사용하기
핵심 정리

Unit 56. TCP 프로토콜 사용하기
__56.1 서버 작성하기
__56.2 클라이언트 작성하기

Unit 57. RPC 프로토콜 사용하기
__57.1 서버 작성하기
__57.2 클라이언트 작성하기

Unit 58. HTTP 서버 사용하기
핵심 정리

Unit 59. 명령줄 옵션 사용하기

Unit 60. 에러 처리하기
__60.1 에러 타입 만들기

Unit 61. 단위 테스트 사용하기
__61.1 벤치마크 테스트 사용하기

Unit 62. C 언어 연동하기
__62.1 Go 언어에서 C 언어 함수 사용하기
__62.2 C언의의 구조체 및 문자열 포인터 사용하기

Unit 63. C 언어에서 Go 언어 함수 사용하기
__63.1 C 파일 사용하기
__63.2 C 언어와 Go 언어 사이에 콜백 구현하기

Unit 64. C 언어 배열과 Go 언어 슬라이스 사용하기

Unit 65. C 언어 컴파일 옵션 사용하기
핵심 정리

Unit 66. 실전 예제: 웹 크롤러 작성하기
__66.1 채널을 이용한 파이프라인 패턴 활용하기
__66.2 구조체와 인터페이스 활용하기

Unit 67. 실전 예제: 채팅 서버 작성하기
__67.1 Go 언어로 채팅 서버 작성하기
__67.2 HTML과 JavaScript로 웹페이지 작성하기
핵심 정리
더보기접기

저자

ㆍ지은이 이재홍

지은이 소개
YRASIS.COM이라는 개인 웹사이트를 운영하고 있으며, 여러 가지 기술 문서를 작성하여 공개해왔다. 엔씨소프트에서 리니지 이터널 개발에 참여하였고, 엔트리브소프트에서 모바일 게임 서버를 개발했다. 또한, FFS File System Driver for Windows라는 오픈 소스 프로젝트를 진행하기도 하였으며, 최근에는 모바일 게임 엔진인 Cocos2d-x를 Tizen용으로 개발하여 메인스트림에 포함시켰다. 현재 주 관심 분야는 운영체제 커널, 파일시스템, 소프트웨어 개발 자동화, 게임 엔진, 클라우드 플랫폼, 분산 처리 시스템이다. 완전 자동화된 나만의 집을 짓는 것과 오픈 소스 재단 설립이 꿈이다. 사이트 http://pyrasis.com 주요 저서 <윈도우 프로젝트 필수 유틸리티: Subversion, Trac, CruiseControl.NET>(한빛미디어) <아마존 웹 서비스를 다루는 기술>(길벗) <가장 빨리 만나는 Docker>(길벗)

보도자료

연관 프로그램

아래 프로그램은 길벗출판사가 제공하는 것이 아닙니다.
무료로 사용할 수 있는 정보를 안내해 드리니, 지원이 필요하면 해당 프로그렘 제작사로 문의해 주세요.