0Pricing
Go Academy icon

Go Academy

GOBackendCloudSystemsWebBeginnerEnterpriseNetwork

Go 프로그래밍으로 효율적이고 확장 가능한 애플리케이션을 만들어보세요. GO Academy와 함께 시작하세요.

🤖 AI 기반📚 51개 코스👥 100,000명 이상의 학습자⭐ 4.9 평점
코스 개요

Go: 동시성을 위해 구축되고 확장을 위해 설계됨

Go는 Google에서 만든 정적 타입 컴파일 언어로, 대규모 시스템의 요구를 충족하도록 설계되었습니다 — 빠른 컴파일, 간단한 동시성, 그리고 프로덕션 요구사항을 실제로 충족하는 최소한의 표준 라이브러리를 갖추고 있습니다. Docker, Kubernetes, Cloudflare, Uber 같은 회사들의 인프라를 지탱하고 있습니다. 이 트랙은 Go의 기초 원리부터 동시성 모델, REST API, gRPC 서비스, 그리고 프로덕션 환경에서 엔지니어들이 사용하는 성능 도구를 다룹니다.

배우게 될 내용

Go의 타입 시스템, 제로 값, 제어문부터 시작하여 슬라이스, 맵, 구조체, 인터페이스, 그리고 Go 코드를 예측 가능하게 만드는 에러 처리 규칙을 진행합니다. 트랙은 sync 패키지, goroutine, 채널, 그리고 동시 프로그래밍을 위한 select 문과 취소를 위한 context 패키지를 다룹니다. 실무 측면에서는 net/http로 HTTP 서버와 클라이언트를 만들고, Gin으로 REST API를 작성하며, 미들웨어를 추가하고, database/sql, sqlx, pgx, GORM으로 데이터베이스를 쿼리하고, Cobra로 CLI 도구를 만들고, Docker 컨테이너 안에서 애플리케이션을 배포합니다. 고급 주제에는 pprof로 벤치마킹하기, 워커 풀, 파이프라인, gRPC, 리플렉션, 그리고 Go 메모리 모델이 포함됩니다.

학습 경로

51개의 코스가 A1부터 A2, B1, B2, 그리고 C1까지 진행됩니다. A 레벨 코스는 언어 기초를 확립합니다 — 변수, 제어문, 함수, 다중 반환값, 그리고 핵심 컬렉션 타입. B1은 구조체, 포인터, 인터페이스, 패키지, 표준 라이브러리, 파일 I/O로 모델을 깊게 합니다. B2는 가장 큰 블록이며 goroutine과 채널부터 HTTP, 테스트, 제너릭, 데이터베이스 접근, Gin을 이용한 REST API, Docker 배포, slog로 구조화된 로깅, WebSocket, 크론 잡까지 모든 내용을 다룹니다. C1은 프로덕션 수준의 자료로 마무리합니다: pprof 프로파일링과 벤치마킹, 워커 풀과 파이프라인, 고급 동시성 패턴, Go를 이용한 gRPC, reflect 패키지, 플러그인 시스템, 그리고 Go 메모리 모델과 가비지 컬렉터.

작동 방식

각 코스는 내장 코드 에디터에서 실시간 피드백을 받으며 완료하는 짧고 집중된 강의로 나뉩니다. 막히는 부분이 있으면, AI 튜터가 답을 주지 않고 개념을 설명해주도록 인라인으로 제공됩니다 — 이렇게 하면 해결책을 복사하는 대신 진정한 이해를 쌓을 수 있습니다.

학습 시작 →

학습 방식

🎯
인터랙티브 레슨
실시간 피드백을 받으며 직접 코딩 연습하기
🤖
AI 튜터
막힐 때마다 AI 튜터에게 즉시 도움받기
💻
내장 에디터
브라우저에서 바로 코드 작성 & 실행하기
🏆
수료증
과정을 완료하면 수료증 취득하기
커리큘럼

51개 코스

Go Academy 학습 경로의 모든 코스.

01

Go 입문

A13개 레슨

Go가 무엇인지, Google이 이를 만든 이유와 세계에서 가장 중요한 소프트웨어 일부를 구동하는 이유를 완전 초보자도 이해할 수 있도록 설명합니다.

02

Go 기초: 변수, 타입 및 제로 값

A14개 레슨PRO

Go의 타입 시스템, var와 :=를 사용한 변수 선언, 제로 값, iota를 포함한 상수를 학습합니다.

03

제어 흐름: if, for, switch

A14개 레슨PRO

초기화 문이 포함된 if, 다용도 for 반복문, switch 등 Go의 제어 흐름 구문을 익힙니다.

04

함수 및 다중 반환 값

A24개 레슨PRO

Go 함수의 시그니처, 가변 매개변수, 이름 있는 반환값, defer, 일급 함수를 이해합니다.

05

배열, 슬라이스 및 맵

A24개 레슨PRO

Go 컬렉션을 깊이 있게 학습합니다. 고정 배열, 동적 슬라이스, 해시 맵과 관용적인 사용 패턴을 다룹니다.

06

Go 문자열과 strings 패키지

A24개 레슨PRO

Go 문자열과 strings 패키지: 룬과 바이트 비교, strings 패키지 함수, 그 밖의 기능을 살펴보세요.

07

fmt와 Stringer를 활용한 서식 지정

A24개 레슨PRO

fmt와 Stringer를 활용한 서식 지정: Printf 동사, Sprintf와 Fprintf, 그 밖의 기능을 살펴보세요.

08

Go의 시간과 time 패키지

A24개 레슨PRO

Go의 시간과 time 패키지: 시간과 기간, 서식 지정과 구문 분석, 그 밖의 기능을 살펴보세요.

09

Go 구조체 및 메서드 기초

B14개 레슨PRO

구조체로 데이터를 모델링하고 메서드로 동작을 연결하며, 값 수신자와 포인터 수신자의 차이를 이해합니다.

10

Go의 포인터

B14개 레슨PRO

Go 포인터를 이해합니다. 메모리 주소, 역참조, 포인터 수신자, 포인터를 사용해야 하는 경우를 다룹니다.

11

Go 인터페이스 및 덕 타이핑

B14개 레슨PRO

Go의 암시적 인터페이스 시스템을 학습하고, 인터페이스를 정의하고 구현하며, 타입 어설션과 타입 스위치를 사용합니다.

12

Go의 오류 처리

B14개 레슨PRO

Go의 명시적 오류 처리를 익힙니다. error 인터페이스, errors.Is/As, 오류 래핑, 사용자 지정 오류 타입을 다룹니다.

13

Go 패키지 및 모듈

B14개 레슨PRO

패키지로 Go 코드를 구성하고, Go 모듈로 의존성을 관리하며, 가시성 규칙을 이해합니다.

14

Go 표준 라이브러리 핵심

B14개 레슨PRO

Go 표준 라이브러리에서 가장 중요한 패키지를 둘러봅니다. fmt, strings, strconv, math, time, os를 다룹니다.

15

Go 정규 표현식

B14개 레슨PRO

Go 정규 표현식: regexp 기초, 찾기와 추출, 그 밖의 기능을 살펴보세요.

16

Go 정렬과 sort 패키지

B14개 레슨PRO

Go 정렬과 sort 패키지: 슬라이스 정렬, 사용자 지정 정렬 순서, 그 밖의 기능을 살펴보세요.

17

Go 맵 깊이 있게 이해하기

B14개 레슨PRO

Go 맵 깊이 있게 이해하기: 맵 내부 구조, 존재 여부 확인, 그 밖의 기능을 살펴보세요.

18

Go 구조체 태그와 검증

B14개 레슨PRO

Go 구조체 태그와 검증: 구조체 태그란 무엇인가, JSON 태그, 그 밖의 기능을 살펴보세요.

19

Go 인코딩 형식

B14개 레슨PRO

Go 인코딩 형식: encoding/json 복습, encoding/xml, 그 밖의 기능을 살펴보세요.

20

파일 입출력 및 JSON 다루기

B14개 레슨PRO

os와 bufio로 파일을 읽고 쓰며, encoding/json으로 JSON을 인코딩하고 디코딩하고, CSV 데이터를 처리합니다.

21

Go bufio와 효율적인 입출력

B14개 레슨PRO

Go bufio와 효율적인 입출력: 버퍼링된 리더, Scanner, 그 밖의 기능을 살펴보세요.

22

Go 임베딩과 조합

B14개 레슨PRO

Go 임베딩과 조합: 구조체 임베딩, 인터페이스 임베딩, 그 밖의 기능을 살펴보세요.

23

고루틴 및 채널 기초

B24개 레슨PRO

고루틴을 실행하고 채널로 통신하며, 버퍼가 있는 채널을 포함한 Go의 동시성 모델을 이해합니다.

24

Select 문 및 채널 패턴

B24개 레슨PRO

다중 채널 통신에 select를 사용하고, 팬인/팬아웃, 시간 제한, 작업자 풀을 구현합니다.

25

뮤텍스 및 sync 패키지

B24개 레슨PRO

Go의 sync 패키지에 있는 Mutex, RWMutex, Once, WaitGroup으로 공유 상태를 보호합니다.

26

취소를 위한 Context 패키지

B24개 레슨PRO

context.Context를 사용해 고루틴 간에 취소, 기한, 요청 범위 값을 전파합니다.

27

net/http를 사용한 HTTP 서버

B24개 레슨PRO

net/http를 사용해 Go에서 HTTP 서버를 구축합니다. 핸들러, ServeMux, 미들웨어, 정상적인 종료를 다룹니다.

28

HTTP 클라이언트 및 REST API 사용

B24개 레슨PRO

Go의 http.Client로 REST API를 사용합니다. 시간 제한, 헤더, 인증, JSON 파싱, 재시도를 다룹니다.

29

Go 테스트 전략

B24개 레슨PRO

Go의 testing 패키지로 효과적인 테스트를 작성합니다. 테이블 기반 테스트, 하위 테스트, 모의 객체, 테스트 커버리지를 다룹니다.

30

Go 제네릭: 타입 매개변수 및 제약 조건

B24개 레슨PRO

Go 1.18 이상 버전의 제네릭을 익힙니다. 타입 매개변수, 제약 조건, comparable, 실제 활용 패턴을 다룹니다.

31

Go io.Reader와 io.Writer

B24개 레슨PRO

Go io.Reader와 io.Writer: 리더 인터페이스, 라이터 인터페이스, 그 밖의 기능을 살펴보세요.

32

Go 함수형 옵션 패턴

B24개 레슨PRO

Go 함수형 옵션 패턴: 매개변수가 많을 때의 문제, 옵션 함수, 그 밖의 기능을 살펴보세요.

33

Go 속도 제한

B24개 레슨PRO

Go 속도 제한: 토큰 버킷 개념, golang.org/x/time/rate, 그 밖의 기능을 살펴보세요.

34

Go database/sql 기초

B24개 레슨PRO

Go database/sql 기초: 연결 열기, 행 조회, 그 밖의 기능을 살펴보세요.

35

Cobra로 CLI 앱 구축하기

B24개 레슨PRO

Cobra로 전문적인 명령줄 도구를 구축합니다. 명령, 플래그, 하위 명령, 구성, 배포를 다룹니다.

36

sqlx 및 pgx를 사용한 데이터베이스 접근

B24개 레슨PRO

database/sql을 사용해 Go에서 PostgreSQL을 조회하고, 구조체 스캔에는 sqlx를, 고성능 접근에는 pgx를 사용합니다.

37

Gin으로 REST API 구축하기

B24개 레슨PRO

Gin 프레임워크로 프로덕션용 REST API를 구축합니다. 라우팅, 바인딩, 검증, 오류 처리를 다룹니다.

38

Go의 미들웨어 패턴

B24개 레슨PRO

재사용 가능한 HTTP 미들웨어를 설계합니다. 로깅, 속도 제한, 인증, CORS, 요청 ID 주입을 다룹니다.

39

Docker로 Go 애플리케이션 배포하기

B24개 레슨PRO

다단계 Docker 빌드, Docker Compose, 환경 구성, 상태 점검으로 Go 바이너리를 컨테이너화합니다.

40

Go GORM ORM

B24개 레슨PRO

Go GORM ORM: 모델과 AutoMigrate, CRUD 작업, 그 밖의 기능을 살펴보세요.

41

Viper를 활용한 Go 구성

B24개 레슨PRO

Viper를 활용한 Go 구성: 구성 파일 읽기, 환경 변수, 그 밖의 기능을 살펴보세요.

42

slog를 활용한 Go 구조화 로깅

B24개 레슨PRO

slog를 활용한 Go 구조화 로깅: 구조화 로그가 필요한 이유, slog 핸들러, 그 밖의 기능을 살펴보세요.

43

Go WebSockets

B24개 레슨PRO

Go WebSockets: WebSocket 기초, gorilla/websocket 사용법, 그 밖의 기능을 살펴보세요.

44

Go Cron 작업과 일정 관리

B24개 레슨PRO

Go Cron 작업과 일정 관리: 시간 기반 일정 관리, robfig/cron 라이브러리, 그 밖의 기능을 살펴보세요.

45

Go 벤치마킹 및 pprof 프로파일링

C14개 레슨PRO

벤치마크, pprof CPU/힙 프로필, 실행 추적으로 Go 코드를 측정하고 최적화합니다.

46

Go 작업자 풀과 파이프라인

C14개 레슨PRO

Go 작업자 풀과 파이프라인: 작업자 풀 패턴, 팬아웃과 팬인, 그 밖의 기능을 살펴보세요.

47

고급 동시성 패턴

C14개 레슨PRO

파이프라인, errgroup, 세마포어, 리액터 패턴을 사용해 프로덕션 수준의 동시성 시스템을 구축합니다.

48

Go에서 gRPC 사용하기

C14개 레슨PRO

Protocol Buffers로 서비스를 정의하고 Go 코드를 생성하며, 단항 및 스트리밍 gRPC 서비스를 구현합니다.

49

리플렉션 및 reflect 패키지

C14개 레슨PRO

reflect로 런타임에 타입을 검사하고 조작합니다. Kind, Value, 구조체 태그, 동적 호출을 다룹니다.

50

Go 플러그인 시스템

C14개 레슨PRO

플러그인 패키지, 인터페이스, Linux에서의 동적 로딩을 활용해 확장 가능한 Go 애플리케이션을 구축합니다.

51

Go 메모리 모델 및 가비지 컬렉터

C14개 레슨PRO

Go의 메모리 모델, happens-before 규칙, 스택과 힙, 이스케이프 분석, GC 튜닝을 이해합니다.

자주 묻는 질문

자주 묻는 질문

Go Academy 강의는 무료인가요?

네, Go Academy 강의를 무료로 시작하고 인터랙티브 레슨을 모두 무료로 완료할 수 있습니다. 선택적 PRO 구독을 통해 고급 AI 도구와 공유 가능한 수료증을 잠금 해제할 수 있습니다.

GO을(를) 배우기 위해 사전 경험이 필요한가요?

아니요. 강의는 기초부터 시작하여 점차 더 심화된 주제로 나아가므로 GO 경험이 없어도 시작할 수 있습니다.

CoddyKit에서 GO은(는) 어떻게 배우나요?

직접 해보면서 배웁니다. 짧은 인터랙티브 레슨은 명확한 설명과 실시간으로 실행되는 실습 코딩 연습을 함께 제공하며, 24시간 AI 튜터가 막힐 때마다 맞춤형 도움을 줍니다.

Go Academy을(를) 완료하면 수료증을 받나요?

네, PRO 학습자는 시험을 응시하고 Go Academy 강의의 검증 코드가 포함된 공유 가능한 수료증을 취득할 수 있습니다.

휴대폰에서 GO을(를) 배울 수 있나요?

네, CoddyKit은 웹과 iOS, Android 네이티브 앱으로 이용 가능하므로 어느 기기에서나 GO을(를) 배우고 진행 상황이 모든 기기에서 동기화됩니다.

Go Academy을(를) 지금 시작하기

AI 기반 강의로 프로그래밍을 배우는 수천 명의 학습자들과 함께하세요.

무료로 시작하기 →모든 강의 보기