설명
게임 회사 서버 전문가가 알려주는
Go 언어를 내 것으로 만드는 비법
구글이 개발한 Go는 고성능 비동기 프로그래밍에 유용한 언어입니다. 이 책은 Go 언어로 ‘나만의 프로그램’을 만들 수 있게 이끌어줍니다. 프로그래밍 초보자도 쉽고 명확하게 이해할 수 있도록 학습 목표를 일목요연하게 제시하고 핵심 내용을 정리해 보여줍니다. 언어 문법과 예제 작동 순서를 그림을 곁들여 설명하고, 단계별로 프로젝트를 구현하며 프로그래밍을 직접 체험할 수 있게 했습니다.
★ Go 언어 함께 공부하세요!
Tucker 저자와 함께 단톡방에서 함께 공부해요!
https://open.kakao.com/o/g3tvsk9c
★ Must Have 시리즈 안내
Must Have 시리즈는 내 것으로 만드는 시간을 드립니다. 명확한 학습 목표와 핵심 정리를 제공하고, 간단명료한 설명과 다양한 그림으로 학습 효과를 극대화합니다. 설명과 예제를 제공해 응용력을 키워줍니다. 할 수 있습니다. 포기는 없습니다. 지금 당장 밑 줄 긋고 메모하고 타이핑하세요! Must Have가 여러분의 성장을 돕겠습니다.
★ 개정판은 어떻게 달라졌을까요?
이 책의 1판이 출간되고 나서 각종 서점에서 베스트셀러로 등극했습니다. 그해 세종도서 학술 부문에 선정되었습니다. 출간 당시에는 Go 언어가 신생 언어로서 국내에 생소한 편이었으나 이제 세컨드 프로그래밍 언어로 널리 사용되고 있습니다. 이에 기초 설명을 줄이고, 새로 추가된 제네릭 기능(24장)과 gin, gnet, gRPC를 사용한 서버 프로그래밍 내용(28, 29, 30장)을 보강했습니다. 또한 웹 서비스 성능을 점검하고 개선하는 프로파일링(27장)도 소개합니다. 이 책 한 권이면 이제 더 탄탄히 Go 언어에 입문해 서버를 개발하고 테스트할 수 있는 지식을 얻을 수 있을 겁니다.
★ 50만 뷰가 증명하는 GO 언어 명강사를 만나자
Go 언어 1등 유튜버 Tucker가 더 체계적으로 Go 언어를 알려줍니다. 문법만 알려드리는 데 그치지 않습니다. Go 프로그래밍 능력을 길러드리는 것이 목표입니다. Go 언어에 입문해, 커뮤니티와 구글링으로 현업 문제를 해쳐나갈 수 있는 문턱까지 안내해드립니다. 포기하지 않고 예제 하나하나를 타이핑해가며 공부하면 반드시 목표를 달성할 수 있게 구성했습니다.
★ 숫자로 보는 책의 특징
_2021 세종 도서 학술 부문 선정작
이 책의 1판은 그 우수성을 인정받아 세종 도서 학술 부문에 선정되었습니다. 2판은 한층 더 전문성을 보강했으니 Go 언어 입문과 네트워크 서버 프로그래밍까지 저자를 믿고 선택해주세요!
_1.22 Go 언어 최신 버전
1.16 버전에서 가장 중요한 변화는 Go 모듈 사용이 기본이라는 점입니다(14.3절). 다른 하나는 embed 기능입니다(A.7절). 1.18 버전에서는 제네릭이 추가되었습니다(24장).
_3 단계로 익히는 Go 언어
1단계에서 Go 기본 문법을 익히고, 2단계에서는 고급 기능을 익힙니다. 3단계에서는 다양한 네트워크 서버 프로그래밍 기법과 성능 테스트 및 개선 방법을 배워 전문성을 높여줍니다.
_5가지 난이도 프로젝트 구현
입문 수준의 프로젝트부터 완성된 웹 서비스까지 프로젝트를 제공합니다.
___★☆☆☆ 숫자 맞추기 게임 만들기
___★★☆☆ 단어 검색 프로그램 만들기
___ ★★☆☆ HTTP 웹 서버 만들기
___★★★☆ RESTful API 서버 만들기
___★★★★ Todo 리스트 웹 서비스 만들기
_80개 연습문제
각 장마다 연습문제를 제공해 놓치기 쉬운 핵심을 되짚어보고 직접 프로그래밍을 해볼 수 있게 했습니다. 직접 만들어보는 횟수만큼 실력이 늘어납니다. 모든 연습문제를 풀어, 이 책을 100% 활용하세요.
_200여 개 예제 제공
200개가 넘는 예제를 활용해 설명합니다. 책에 등장하는 예제를 하나씩 따라 할 때마다 프로그래밍 실력이 차곡차곡 쌓이도록 충실히, 때로는 그림을 활용해서 설명했습니다.
★ 대상 독자께 드리는 편지
_다른 언어를 배운 적이 있는 프로그래밍 초보자께
눈만으로는 무엇도 얻을 수 없습니다. 시간이 걸리더라도 반드시 직접 타이핑해가면서 책을 읽어주세요. 저자의 유튜브 Go 언어 강의도 활용하시면 도움이 될 겁니다. 너무 어렵다면 〈깊이 보기〉는 스킵해도 좋습니다.
_다른 언어를 사용하는 현업 프로그래머께
모던 언어로서 Go 언어는 다양한 프로그래밍 기법과 개념을 지녔습니다. 다른 언어의 문법을 배웠다고 해서 Go 언어에서 제공하는 모든 개념을 다 알 수는 없습니다. 같지만 다른 듯 사용하는 개념과 기법도 적지 않습니다. 기존에 익혔던 언어와 비교해가면서 읽어보세요. 예제 코드를 먼저 분석해 이해가 안 될 때만 상세 설명을 참조하면 빠르게 책을 읽을 수 있을 겁니다.
_현업에서 Go 언어를 사용하는 프로그래머께
입문자 눈높이에 맞혀 쉬운 언어로 차근차근 설명해, 너무 쉽고 속도감이 떨어진다고 느낄 수 있습니다. 쉬운 말로 설명했다고 해서 쉬운 내용만 담지는 않았습니다. 이 책은 RESTful API, Gin, gnet, gRPC을 활용하는 서버 네트워크 프로그래밍과 성능 테스트, 성능 개성 방법까지 전문성 있게 다루고 있습니다. 이미 아는 내용은 건너뛰면서 끝까지 읽어주세요
★ 저자와 4문 4답
[Q] 해외에서 Go 언어 인기가 어느 정도인지요?
- 해외뿐 아니라 국내에서도 Go 언어 인기는 날로 증가하고 있습니다. Go 언어는 그 심
플함과 강력한 성능으로 소위 개발자가 즐거워지는 언어라고 이야기를 합니다.
<Stack Overflow Developer Survey 2023>에 따르면 일반적으로 사용하고 있는 언어 13위(13.24%), 2022년 대비 급여가 가장 많이 오른 언어 10위에 올랐습니다. 앞선 2020년에는 Go 언어는 사랑받는 언어 5위, 배우고 싶은 언어 3위, 미국에서 10년차 기준 연봉이 높은 언어 4위에 올르기도 했습니다. 2024년 1분기 기준으로 깃허브에서 풀 리퀘스트가 많은 언어 3위에 랭크될 만큼 많이 사용됩니다. 스타 3위, 푸시 7위, 이슈 6위이며, 매년 순위가 상승 중입니다.
[Q] Go 언어, 열심히 활용하는 기업이나 프로젝트를 알려주세요.
- 아무래도 Go 언어를 만든 구글에서 가장 활발히 사용합니다. 대표적으로 구글에서
만든 마이크로서비스 오케스트레이션 시스템인 쿠버네티스가 있습니다. 구글 외 프로젝트에서는 컨테이너 시스템인 도커와 분산 DB 시스템인 코크로치DB(CockroachDB)를 들 수 있습니다. 특히 드롭박스는 많은 버그와 성능상 문제를 해결하려고 기존 파이썬에서 Go 언어로 전면 교체를 했습니다. 그외 넷플릭스 등 많은 대형 IT 기업에서 Go 언어를 사용합니다. 손쉽게 마이크로서비스를 만들 수 있어서 마이크로서비스 시스템을 사용하는 스타트업에서 인기가 높습니다.
[Q] Go 언어는 어디에 유용한가요?
[A] Go 언어는 범용 프로그래밍 언어로서 모든 분야의 프로젝트에 사용됩니다. 특히 시스템 프로그래밍과 백엔드 프로그래밍에 많이 사용됩니다. Go 언어는 쉽고 예외 상황이 적은 문법과 빠른 성능을 제공합니다. 2009년에 발표된 이후 10년 넘게 일관되고 쉬운 문법이라는 기조를 유지해왔습니다. 이런 특징 덕분에 빠른 개발이 필요한 스타트업과 높은 성능이 필요한 시스템 프로그래밍에서 Go 언어 사용이 늘고 있습니다. 암호화폐, 웹 서버, DB, 백엔드 시스템 등에서 활발히 사용됩니다.
[Q] 마지막으로 독자께 깨알 책 자랑 부탁드립니다.
[A] 영광스럽게도 이 책은 2021년 세종도서 학술 부문에 선정되었습니다. 중학생 때 처음 프로그래밍 C 언어를 독학했습니다. 그 시절 멘토도 없이 말이죠. 중학생이던 나와 같은 처지에 있는 분께 올바르고 따뜻한 길을 제시하고 싶은 마음으로 책을 집필했습니다. 그럼 마음이 잘 투영되어 영광스러운 선정작이 되었다고 생각합니다.
★ 이 책의 구성
Go 언어 1등 유튜버 Tucker가 더 체계적으로 Go 언어를 알려줍니다. 문법만 알려드리는 데 그치지 않습니다. Go 프로그래밍 능력을 길러드리는 것이 목표입니다. Go 언어에 입문해, 네트워크 서버 프로그래밍과 성능 점검과 개선 방법까지 안내해드립니다. 포기하지 않고 예제 하나하나를 타이핑해가며 공부하면 반드시 목표를 달성할 수 있게 구성했습니다.
_1단계 가볍게 Go 입문하기
Go 언어 기본 문법을 알아봅시다. 기초가 튼튼해야 견고한 건축물을 지을 수 있듯 기본 문법을 제대로 익혀야 훌륭한 코드를 짤 수 있습니다. 1단계 끝에서는 ★ 하나 수준 초간단 프로젝트로 ‘숫자 맞추기’ 프로그램을 만들어보며 마무리하겠습니다.
_2단계 고급 기법으로 Go 레벨업하기
Go 언어 고급 문법을 알아봅시다. 메서드, 인터페이스, 다양한 함수 활용 방법을 살펴봅니다. 상황에 맞게 자료구조를 선택하는 방법과 예외 상황에 대처하는 방법도 배웁니다. 고루틴, 채널, 컨텍스트를 활용한 Go 언어만의 독특한 동시성 프로그래밍도 배우게 됩니다. 24장에서 1.18버전에 추가된 제네릭을 소개합니다. 마지막 장에서는 ★ 두 개 수준 프로젝트로 파일에서 원하는 단어를 찾는 프로그램을 만들어보며 더 발전된 Go 프로그래머로 레벨업해드립니다.
_3단계 네트워크 서버 개발 및 성능 개선 기법 익히기
3단계는 어엿한 Go 언어 프로그래머로 첫발을 내딛을 수 있도록 돕는 데 목적이 있습니다. Go 언어 문법은 이미 다 배웠습니다. 이제 문법을 넘어서 Go 프로그래머로 성장해야 합니다. 지금까지 배운 것을 바탕으로 26장과 27장에서 성능 테스트 및 개선 방법을, 28장에서는 웹 서버를 만듭니다. 그리고 29장에서는 ‘RESTful API 서버’, 30장에서는 ‘실시간 채팅 프로그램 만들기’ 프로젝트를 함께 진행해보고 마무리합니다.
_Tucker 노트
본문에서 미처 다루지 못한 Go 문법, 생각하는 프로그래밍, Go 언어를 Go답게 쓰는 방법을 알려드립니다. 저자 Tucker의 특별한 노트를 만나보세요.
__ 노트 A. Go 문법 보충 수업
__ 노트 B. 생각하는 프로그래밍
추천사
“Go 언어 입문자에게 추천할 수 있는 우리나라 책을 알게 되어 기분이 좋습니다. ‘A Tour of Go’보다 더 많은 예시를 보고 싶은 현 Go 언어 개발자께도 추천합니다.”
권경모 | 구글 소프트웨어 엔지니어, <The Ultimate Go Study Guide> 한글 번역 프로젝트 기여자
“단순히 Go 문법 공부가 아닌 프로그래밍 세계를 열어주는 입문서. 특히 Go 언어 문법과 개념 설명부터 서버 개발과 성능 테스트 같은 실전에 바로 써먹을 수 있는 내용까지 알차게 담아냈습니다.”
서지연 | 비마이프렌즈 AI 데이터팀 리드
“이보다 쉽고 재미있을 수 없습니다. 아주 쉽지만, Go 언어에 대한 궁금함을 세세하게 잡아
주는 책!”
강대명 | 레몬트리 CTO
“Go 언어의 가능성을 맛볼 수 있는 지침서입니다. 고루틴, 채널 등 동시성 프로그래밍에 대한 개념뿐 아니라 RESTful API와 같은 보편적 개발 지식도 습득할 수 있습니다.”
방현우 | 쿠팡 소프트웨어 엔지니어
“Go 언어를 Go 언어답게 활용하고 싶은 분께 추천합니다. 기본에 충실하며 쉽게 설명하기 때문에 모든 개발자에게 도움이 되는 책입니다.”
최용호 | AWS 시니어 솔루션즈 아키텍트
“어떤 분이 보셔도 좋을 정도로 쉽고 재미있습니다. 채널, 컨텍스트, 고루틴을 쉽게 설명하고, 토이 프로젝트가 제공되어 익히는 데 더욱 유익했습니다.”
변성윤 | 카일스쿨 대표, 《빅쿼리 완벽 가이드》 역자
“절차지향 언어와 객체지향 언어의 장점만 뽑아놓은 듯한 Go 언어의 매력을 확인할 수 있는 책입니다. 가장 인상 깊었던 Go 언어 장점 3가지만 언급할게요. 1 강타입 언어이지만 := 키워드를 사용해 타입을 생략 가능, 2 덕 타이핑으로 느슨한 인터페이스 구현 가능, 3 고루틴, 채널, 컨텍스트 조합으로 효율적이고 직관적인 병렬 프로그래밍 가능.”
황나라 | Dunamu 소프트웨어 엔지니어
“Go 언어 입문자에게 좋은 가이드가 되어주는 책입니다. Go 언어 개념을 깊고 자세하게 다루지만, 충분한 예시와 설명이 곁들여져 입문자도 확실히 이해할 수 있을 겁니다.”
홍승환 | 스캐터랩 머신러닝 엔지니어
00 개발 환경 구축 – 윈도우, MacOS, 리눅스
[1 단계 탄탄하게 기초 문법 다지기]
01 Hello Go World
__1.1 Go 역사
__1.2 Go 언어 특징
__1.3 코드가 실행되기까지
__1.4 Hello Go World 코드 뜯어보기
02 변수
__2.1 변수란?
__2.2 변수 선언
__2.3 변수에 대해 더 알아보기
__2.4 변수 선언의 다른 형태
__2.5 타입 변환
__2.6 변수의 범위
__2.7 숫자 표현
핵심 요약 / 연습문제
03 fmt 패키지를 이용한 텍스트 입출력
__3.1 표준 입출력
__3.2 표준 입력
__3.3 키보드 입력과 Scan( ) 함수의 동작 원리
핵심 요약 / 연습문제
04 연산자
__4.1 산술 연산자
__4.2 비교 연산자
__4.3 실수 오차
__4.4 논리 연산자
__4.5 대입 연산자
__4.6 연산자 우선순위
핵심 요약 / 연습문제
05 함수
__5.1 함수 정의
__5.2 함수를 호출하면 생기는 일
__5.3 함수는 왜 쓰나?
__5.4 재귀 호출
핵심 요약 / 연습문제
06 상수
__6.1 상수 선언
__6.2 상수는 언제 사용하나?
__6.3 타입 없는 상수
__6.4 상수와 리터럴
핵심 요약 / 연습문제
07 if문
__7.1 if문 기본 사용법
__7.2 그리고 &&, 또는 ||
__7.3 중첩 if
__7.4 if 초기문; 조건문
핵심 요약 / 연습문제
08 switch문
__8.1 switch문 동작 원리
__8.2 switch문을 언제 쓰는가?
__8.3 다양한 switch문 형태
__8.4 const 열거값과 switch
__8.5 break와 fallthrough 키워드
핵심 요약 / 연습문제
09 for문
__9.1 for문 동작 원리
__9.2 continue와 break
__9.3 중첩 for문
__9.4 중첩 for문과 break, 레이블
핵심 요약 / 연습문제
10 배열
__10.1 배열
__10.2 배열 사용법
__10.3 배열은 연속된 메모리
__10.4 다중 배열
핵심 요약 / 연습문제
11 구조체
__11.1 선언 및 기본 사용
__11.2 구조체 변수 초기화
__11.3 구조체를 포함하는 구조체
__11.4 구조체 크기
__11.5 프로그래밍에서 구조체의 역할
핵심 요약 / 연습문제
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 Go 모듈
__14.4 패키지명과 패키지 외부 공개
__14.5 패키지 초기화
핵심 요약 / 연습문제
15 [Project] 숫자 맞추기 게임 만들기 ★☆☆☆
__15.1 해법
__15.2 사전지식
__15.3 랜덤한 숫자 생성하기
__15.4 숫자값 입력받기
__15.5 숫자 맞추기 완성하기
핵심 요약 / 연습문제
[2단계 고급 기법으로 Go 레벨업하기]
16 슬라이스
__16.1 슬라이스
__16.2 슬라이스 동작 원리
__16.3 슬라이싱
__16.4 유용한 슬라이싱 기능 활용
__16.5 슬라이스 정렬
핵심 요약 / 연습문제
17 메서드
__17.1 메서드 선언
__17.2 메서드는 왜 필요한가?
__17.3 포인터 메서드 vs 값 타입 메서드
핵심 요약 / 연습문제
18 인터페이스
__18.1 인터페이스
__18.2 인터페이스 왜 쓰나?
__18.3 덕 타이핑
__18.4 인터페이스 기능 더 알기
__18.5 인터페이스 변환하기
핵심 요약 / 연습문제
19 함수 고급편
__19.1 가변 인수 함수
__19.2 defer 지연 실행
__19.3 함수 타입 변수
__19.4 함수 리터럴
핵심 요약 / 연습문제
20 자료구조
__20.1 리스트
__20.2 링
__20.3 맵
__20.4 맵의 원리
핵심 요약 / 연습문제
21 에러 핸들링
__21.1 에러 반환
__21.2 에러 타입
__21.3 패닉
핵심 요약 / 연습문제
22 고루틴과 동시성 프로그래밍
__22.1 스레드란?
__22.2 고루틴 사용
__22.3 고루틴의 동작 방법
__22.4 동시성 프로그래밍 주의점
__22.5 뮤텍스를 이용한 동시성 문제 해결
__22.6 뮤텍스와 데드락
__22.7 또 다른 자원 관리 기법
핵심 요약 / 연습문제
23 채널과 컨텍스트
__23.1 채널 사용하기
__23.2 컨텍스트 사용하기
핵심 요약 / 연습문제
24 제네릭 프로그래밍
__24.1 제네릭 프로그래밍 소개
__24.2 제네릭 함수
__24.3 제네릭 타입
__24.4 언제 제네릭 프로그래밍을 사용해야 하는가?
__24.5 제네릭을 사용해 만든 유용한 기본 패키지
핵심 요약 / 연습문제
25 [Project] 단어 검색 프로그램 만들기 ★★☆☆
__25.1 해법
__25.2 사전 지식
__25.3 실행 인수 읽고 파일 목록 가져오기
__25.4 파일을 열어서 라인 읽기
__25.5 파일 검색 프로그램 완성하기
__25.6 개선하기
핵심 요약 / 연습문제
[3단계 네트워크 서버 개발 및 성능 개선 기법 익히기]
26 테스트와 벤치마크하기
__26.1 테스트 코드
__26.2 테스트 주도 개발
__26.3 벤치마크
핵심 요약 / 연습문제
27 프로파일링으로 성능 개선하기
__27.1 특정 구간 프로파일링
__27.2 서버에서 프로파일링
핵심 요약 / 연습문제
28 [Project] HTTP 웹 서버 만들기 ★★☆☆
__28.1 HTTP 웹 서버 만들기
__28.2 HTTP 동작 원리
__28.3 HTTP 쿼리 인수 사용하기
__28.4 ServeMux 인스턴스 이용하기
__28.5 파일 서버
__28.6 웹 서버 테스트 코드 만들기
__28.7 JSON 데이터 전송
__28.8 HTTPS 웹 서버 만들기
핵심 요약 / 연습문제
29 [Project] RESTful API 서버 만들기 ★★★☆
__29.1 해법
__29.2 사전 지식 : RESTful API
__29.3 RESTful API 서버 만들기
__29.4 테스트 코드 작성하기
__29.5 특정 학생 데이터 반환하기
__29.6 학생 데이터 추가/삭제하기
__29.7 RESTful API로의 발전
__29.8 Gin으로 서버 만들기
핵심 요약 / 연습문제
30 [Project] gnet과 gRPC으로 채팅 앱 만들기 ★★★★
__30.1 gnet을 이용해서 echo 서버 제작
__30.2 클라이언트 제작
__30.3 채팅 서버 제작
__30.4 gRPC란?
__30.5 gRPC를 이용한 채팅 프로그램
핵심 요약 / 연습문제
[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 언어 가비지 컬렉터
CONTENTS
관련 콘텐츠들
프로파일링으로 성능 개선하기 | pprof, Graphviz, Hey, 부하 테스트
프로파일링이란 프로그램의 성능 지표를 프로그램이 실행 중에 실시간으로 측정 기록하는 것을 말합니다. 프로파일링으로 측정하는 성능 지표는 프로그램 실행 시간, 메모리 사용량, 함수 호출 시간과 빈도, 메모리가 생성되는 시점과 빈도 등이 있습니다. 프로파일링 도구를 통해서 수집된 데이터는 파일 형태로 저장되어서 분석 툴을 사용해 성능 지표들을 분석하게 됩니다.
Read MoreHTTP란? | HTTPS, 동작 원리, 공개키 암호화
HTTP 프로토콜을 사용하여 요청에 대한 응답을 하는 서버를 웹 서버 혹은 HTTP 서버라고 합니다.
Read More테스트 주도 개발(TDD)이란? | 테스트 코드, SOLID, 중요성
테스트 주도 개발이 무엇인지, 왜 테스트가 중요한지, 왜 테스트 주도 개발이 등장하게 되었는지 정리했습니다. 그리고 Go 언어로 간단한 테스트 코드도 작성했습니다.
Read MoreRESTful API란? | 웹 서버의 변화, SSR, CSR, 데브옵스
REST는 자원을 이름으로 구분하여 자원 상태(정보)를 주고받는 소프트웨어 아 키텍처입니다. RESTful API는 REST 규약을 따르는 API를 말합니다. 웹 서버 에서는 URL과 HTTP 메서드로 데이터와 동작을 정의하는 방식을 의미합니다.
Read More[Go] Go언어 설치 | 윈도우/맥/리눅스/ 개발환경 구축하기, VSCode, 확장 프로그램
Go 언어를 프로그래밍하는 환경을 구축합시다. 윈도우, 맥OS, 리눅스를 대상으로 합니다.
Read More[Programming] 객체지향 프로그래밍 | 5가지 설계 원칙 SOLID
객체지향 설계 5가지 원칙인 SOLID를 알아보고 좋은 설계란 무엇인지 살펴봅니다. SOLID 5가지 원칙은 반드시 지켜야 하는 의무사항은 아니지만 이 원칙들에 입각해서 설계를 하면 더 좋은 설계를 할 수 있습니다. 각 원칙을 살펴보고 좋은 설계와 나쁜 설계를 알아보겠습니다.
Read MoreQ&A
묻고 답해요beta
책을 읽다 이해가 되지 않거나 막히면 이곳에 질문을 남겨주세요. 저자님이 직접 답해드립니다.
SUBSCRIPTION
책 이야기를 들려드립니다.
『Tucker의 Go 언어 프로그래밍』이 만들어지는 집필, 편집, 베타리딩 등의 출간 소식뿐 아니라,
관련 주제의 책 소식, 저자와의 만남, 강의, 오탈자 등 책 관련 소식을 전해드립니다.
상품평
아직 상품평이 없습니다.