품목정보
발행일 | 2021년 04월 12일 |
---|---|
쪽수, 무게, 크기 | 744쪽 | 1420g | 183*235mm |
ISBN13 | 9791197149801 |
ISBN10 | 1197149805 |
발행일 | 2021년 04월 12일 |
---|---|
쪽수, 무게, 크기 | 744쪽 | 1420g | 183*235mm |
ISBN13 | 9791197149801 |
ISBN10 | 1197149805 |
[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 언어 가비지 컬렉터 |
(1) Go 국내서가 출간되어 환영. 기대 만큼 실망도 크다. 저자의 수준을 탓하는 것은 절대 아니다. 책의 기획 의도가 잘못된 탓이라고 본다. 아니면, 초보자를 대상으로 하는 동영상 강의를 보조하는 교재용으로 만들어진 책이라는 느낌이다.
(2) 전반부는 Go 언어의 가장 기본적인 부분을 쉽게/간단하게 다룬다. 언어의 기본적인 부분이라도 미묘한 사항들이 있는데 이런 자잘한 것은 다루지 않는다. 'Go가 이런 것이구나'라는 느낌을 빨리 가질 수 있도록 하자는 의도였다면 OK.
컴퓨터 아키텍춰, 프로그램 원리 같은 것으로 시작했다는 것은 입문자를 염두에 둔 것이겠지만, 프로그래밍 "책이 산으로 간" 느낌이다. 이 책이 전산학 개론을 흉내낼 필요는 없었다.
* 다른 책들이 Go 언어의 역사를 다룬다면 : 현대사회에서 기존 언어의 어떤 부분들이 어떻게 진화해야겠기에, 어떤 환경에서 근무하던 누군가가, 마침내 이런 기능들을 구현해 냈다는 식이다. 철저히 Go에 집중한다. 전산학 개론서가 아니다.
(3) 중/후반부는 중급 기술을 다룬다. Go도 모던 프로그래밍 언어다. 즉, 언급할 만한 고급 주제들이 많다. 그래도 명색이 Go 책인데. 몇가지 고급주제는 언급해야겠지만, 페이지 제한에, 큰 활자로 많은 내용을 담을 수는 없다. 그러다 보니 다소 수박겉핥기 식으로 각종 주제를 "이런게 있어요" 식의 소개 위주로 넘어간다.
다른 언어에서 이런 주제를 다룬 적이 있는, 그래서 자세한 설명이 필요 없는, 기존의 개발자들이라면 'Go에서는 이런 것들을 이렇게 프로그램하는구나' 라는 식으로 Go의 분위기를 대충 파악할 수는 있겠다. 그러나, 입문자들은 이 책으로는 이런 주제를 파악하기 쉽지 않아 보인다. 동영상 강의에서 자세히 다룬다는 전제하에 일단 간단하게 책에 포함시킨 느낌이다.
예를 들어, SOLID... 객체지향이라며 SOLID가 소개된다. 앞 부분에서 객체지향에 대한 기본을 제대로 다루지 않다가, 갑자기 고작 몇 페이지짜리 SOLID를 들이밀고는, "이것으로 객체지향 완전 정복"을 선언하는 느낌이다. 마른 하늘에 날벼락인 꼴이다. SOLID chapter는 처음부터 없었어야 했다. 특정 프로그래밍 언어 입문서에서 다룬 것 자체가 넌센스다. Go 언어 자체에 집중해야 했다.
(4) 입문자는 동영상 강의와 병행해서 책을 보면 될 것 같고, 기존 개발자들은 소스코드를 다운로드해서 예제를 돌려보며 빠른 속도로 warming up하고, 다른 전문서로 진행하면 될 것 같다.
(5) 그래도, 나름 용도가 분명한 국내서라고 본다. 실무에서 레퍼런스 용으로 사용할 정도의 책은 아니기에, "이것이 자바다" 같은 꽉찬 Go 국내서가 나오기를 기대한다. 결국 저자들이 열심히 써 주셔야 합니다.
프로그래밍을 알게 되고 Go를 알게 되었습니다.
유튜브로 먼저 Tucker의 Go를 보게 되었습니다. 처음에는 프로그래밍 기초 강좌로 시작하셨으며
그 중 하나의 언어를 고르기 위해 고심하신 끝에 Go를 선택하셨습니다.
저는 책을 좋아하여 Yes24에서 책을 대량 구매하기를 종종 하는 편입니다.
우리말로 된 우리나라 사람이 작성한 Go 책을 만들어 주신 것으로도 감사합니다.
유튜브는 처음에 흥미와 취미로 보게 되었습니다.
생각보다 어려워서 책이 필요했는데 적시에 만들어 주셔서 감사합니다.
프로그래밍과 전혀 관계 없는 일을 하며 사는데 아무 지장이 없지만 취미로 할 수 있게 해 주셔서 감사합니다.
책과 유튜브를 병행하면서 학습하면 좋을 것 같습니다.
15년전 자격증 시험을 준비하던 때에는 목숨을 걸고 공부했지만
재미로 공부 하니 더욱 좋습니다.
감사합니다. 좋은 내용 만들어 주신 것에 보답하고자 작은 글이라도 게시하고 싶습니다.