본문으로 건너뛰기 Go 2주 완성 시리즈 전체 목차 | C++ 개발자를 위한 Golang 마스터 커리큘럼

Go 2주 완성 시리즈 전체 목차 | C++ 개발자를 위한 Golang 마스터 커리큘럼

Go 2주 완성 시리즈 전체 목차 | C++ 개발자를 위한 Golang 마스터 커리큘럼

이 글의 핵심

Go의 설계 배경(단순함·고루틴·정적 바이너리)과 함께, #01~#09까지 문법→동시성→실전→운영 순 목차·14일 로드맵·연관 글을 한 페이지에 모았습니다.

Go 2주 완성 시리즈 목차

C++ 개발자를 위한 Go 언어 집중 학습 시리즈입니다. C++과의 비교로 문맥을 맞추었으며, 각 글에는 코드 대조, 실습 과제, 체크리스트가 들어 있습니다. 시작 경로: 커리큘럼 전체 보기에서 로드맵을 확인하시거나, #01 기본 문법부터 읽으시면 됩니다. ⏱️ 학습 시간: 하루 2–3시간 투자로 14일 완성 (총 약 28–42시간) 👥 대상 독자: C/C++ 경험이 있으며, 클라우드 네이티브 개발이나 마이크로서비스를 위해 Go를 빠르게 습득하고 싶은 개발자

Go가 지향하는 것과 이 목차의 축

Go(2009년 공개, Google)는 멀티코어·네트워크 서비스를 전제로 빠른 빌드·읽기 쉬운 코드·정적 링크 바이너리를 강조해 왔습니다. 예외 대신 error, 클래스 상속 대신 구조체·임베딩, “스레드만으로는 비용이 크다”는 문제에 고루틴(M:N 스케줄링에 가까운 경량 작업 단위)채널(통신으로 공유 메모리)을 제시한 점이 특징입니다. C++ 개발자에게는 GC·런타임이나 제네릭 도입 전후의 관용처럼 처음엔 낯은 부분도 있지만, 단일 바이너리 배포·표준 라이브러리의 실용성은 운영 관점에서 자주 체감됩니다.

이 시리즈는 1주 차(#01~#04)에서 문법·메모리 모델·합성·인터페이스로 “컴파일되고 읽히는 코드”를 만들으며, 2주 차(#05~#08)에서 에러·동시성·모듈·REST로 “다른 서비스와 말하는 코드”로 넓힌 뒤, #09에서 context·취소·우아한 종료로 “끊을 수 있는 서버”까지 이어지도록 배치했습니다. 2주는 핵심 골격을 잡는 기간에 가깝으며, 숙련은 이후 실서비스·코드 리뷰·프로파일링에서 쌓인다고 보면 기대치를 맞추기 좋습니다.


🔖 빠른 점프

1주 차: #01 기본 문법#02 자료구조#03 객체지향#04 인터페이스 2주 차: #05 에러 처리#06 고루틴·채널#07 테스팅#08 REST API#09 context·우아한 종료

추천 학습 경로

%%{init: {'theme':'base', 'themeVariables': { 'primaryColor':'#ffe6e6','primaryTextColor':'#000','primaryBorderColor':'#ff9999','lineColor':'#666','secondaryColor':'#e6f3ff','tertiaryColor':'#fff4e6','noteBkgColor':'#e6ffe6','noteTextColor':'#000','noteBorderColor':'#99cc99'}}}%%
flowchart TD
    A[커리큘럼br/확인] --> B["1주 차:br/기본기"]
    B --> C["2주 차:br/동시성"]
    C --> D[실전br/프로젝트]
    
    B --> E["#01 기본br/문법"]
    E --> F[#02br/자료구조]
    F --> G[#03br/객체지향]
    G --> H[#04br/인터페이스]
    
    C --> I["#05 에러br/처리"]
    I --> J["#06 고루틴·br/채널"]
    J --> K[#07br/테스팅]
    
    D --> L["#08 RESTbr/API"]
    
    style A fill:#ffe6e6,stroke:#ff9999,stroke-width:2px,color:#000
    style B fill:#e6f3ff,stroke:#99ccff,stroke-width:2px,color:#000
    style C fill:#fff4e6,stroke:#ffcc99,stroke-width:2px,color:#000
    style D fill:#e6ffe6,stroke:#99cc99,stroke-width:2px,color:#000
    style E fill:#e6f3ff,stroke:#99ccff,stroke-width:2px,color:#000
    style F fill:#e6f3ff,stroke:#99ccff,stroke-width:2px,color:#000
    style G fill:#e6f3ff,stroke:#99ccff,stroke-width:2px,color:#000
    style H fill:#e6f3ff,stroke:#99ccff,stroke-width:2px,color:#000
    style I fill:#fff4e6,stroke:#ffcc99,stroke-width:2px,color:#000
    style J fill:#fff4e6,stroke:#ffcc99,stroke-width:2px,color:#000
    style K fill:#fff4e6,stroke:#ffcc99,stroke-width:2px,color:#000
    style L fill:#e6ffe6,stroke:#99cc99,stroke-width:2px,color:#000

📚 시리즈 전체 글 목록

시작: 커리큘럼 개요


📘 1주 차: 패러다임의 전환과 기본기 다지기

C++의 복잡함을 덜어내고 Go의 심플함에 적응하는 주간입니다.

Day 1~2: 기본 문법

  • #01 Go 언어의 철학과 기본 문법
    • Go 설치 및 툴체인 (go build, go run, go fmt)
    • 변수 선언: auto vs :=
    • 반복문: while 없는 세계
    • 가비지 컬렉터로 메모리 관리 자동화

Day 3~4: 자료구조

  • #02 메모리와 자료구조
    • 포인터: 연산은 없지만 역참조는 있다
    • Slice: C++ std::vector와의 차이
    • Map: 해시 테이블 활용
    • Length vs Capacity 이해

Day 5~6: 객체지향

Day 7: 인터페이스


📗 2주 차: Go 언어의 꽃, 동시성과 실전 에코시스템

OS 스레드와 Mutex에서 벗어나 우아한 동시성 제어를 배웁니다.

Day 8~9: 에러 처리

Day 10~11: 동시성

  • #06 고루틴과 채널
    • 고루틴: 수만 개를 가볍게
    • 채널: 안전한 통신
    • select로 다중 채널 제어
    • 워커 풀, 파이프라인 패턴

Day 12~13: 테스팅

  • #07 의존성 관리와 테스팅
    • Go Modules (go.mod, go.sum)
    • go get으로 라이브러리 추가
    • go test로 유닛 테스트
    • 테이블 주도 테스트, 벤치마크

Day 14: 실전 프로젝트

실무 심화 (2주 이후 권장)


🎯 빠른 접근

주제별 바로가기

기본 문법이 궁금하다면


💡 학습 팁

효과적인 학습 전략

  1. 순차 학습: #01부터 #08까지 순서대로 읽으면 체계적으로 배울 수 있습니다
  2. 실습 중심: 각 글의 실습 과제를 반드시 직접 코딩해보세요
  3. C++ 비교: 각 개념을 C++과 비교하며 이해하면 학습 속도가 빨라집니다
  4. 프로젝트 적용: Day 14 프로젝트를 자신만의 아이디어로 확장해보세요

시리즈 특징

  • C++ vs Go 코드 비교: 매 개념마다 양쪽 코드를 나란히 비교
  • 실습 과제: 각 글마다 3~4개의 실전 과제 포함
  • 체크리스트: 학습 완료 확인 항목
  • 시리즈 네비게이션: 이전/다음 글 링크로 쉬운 탐색
  • FAQ: 자주 묻는 질문 3개씩

🔗 관련 시리즈


📖 추천 읽기 순서

완전 초보자 (Go를 처음 접하는 경우)

  1. 커리큘럼 전체 보기 — 학습 계획 수립
  2. #01 기본 문법 — Go 설치 및 첫 프로그램
  3. #02 자료구조 — Slice, Map 활용
  4. #03 객체지향 — 구조체와 메서드
  5. #04 인터페이스 — 다형성 구현
  6. #05 에러 처리 — 명시적 에러 핸들링
  7. #06 고루틴·채널 — 동시성 프로그래밍
  8. #07 테스팅 — 의존성과 테스트
  9. #08 REST API — 실전 프로젝트
  10. #09 context·우아한 종료 — 프로덕션 패턴(권장 후속)

특정 주제만 빠르게 보고 싶은 경우

동시성만 배우고 싶다면


🎓 2주 후 당신이 할 수 있는 것

이 시리즈를 완료하면:

  • ✅ Go 문법을 자유롭게 사용
  • ✅ 고루틴으로 동시성 프로그래밍
  • ✅ 채널로 안전한 통신
  • ✅ 인터페이스로 유연한 설계
  • ✅ REST API 서버 구축
  • ✅ 테스트 작성 및 실행
  • ✅ Go Modules로 의존성 관리

📊 시리즈 통계

  • 총 포스트 수: 10개 (커리큘럼 1개 + 코어 8편 + 실무 심화 1편; 목차 페이지 제외)
  • 총 단어 수: 약 50,000+ 단어
  • 코드 예제: 150+ 개
  • C++ vs Go 비교: 80+ 쌍
  • 실습 과제: 30+ 개
  • 예상 학습 시간: 14일 (하루 2–3시간)

🔍 검색 키워드

이 시리즈는 다음 키워드로 검색하시면 찾을 수 있습니다: Go 언어 배우기, C++ Go 전환, Golang 커리큘럼, 고루틴 채널, Go 동시성, REST API Go, C++ 개발자 Go, Go 2주 완성, Golang 입문, Go 인터페이스, Go vs C++

❓ 자주 묻는 질문

Q. 정말 2주 만에 Go를 마스터할 수 있나요?

A. 기본 프로그래밍 지식(특히 C/C++)이 있다면 2주 집중 학습으로 Go의 핵심 개념과 실무 패턴을 익힐 수 있습니다. 완전한 숙련도는 실전 프로젝트 경험이 필요합니다.

Q. 순서대로 읽어야 하나요?

A. 처음 배우는 경우 #01부터 순서대로 읽는 것을 권장합니다. 이미 Go를 조금 아는 경우 필요한 주제만 골라 읽어도 됩니다.

Q. 실습 환경은 어떻게 준비하나요?

A. go.dev에서 Go를 설치하며, 텍스트 에디터(VSCode 권장)만 있으면 됩니다. #01 기본 문법에서 상세히 안내합니다.

Q. C++ 경험이 없어도 괜찮나요?

A. 이 시리즈는 C++ 개발자를 대상으로 하지만, 다른 언어(Java, C# 등) 경험이 있어도 충분히 따라올 수 있습니다. C++ 코드 비교 부분은 참고만 하세요.

🚀 다음 단계

시리즈를 완료한 후 추천하는 학습 방향:

  1. context와 우아한 종료: #09 글에서 정리
  2. 데이터베이스 연동: PostgreSQL, MySQL, MongoDB
  3. 웹 프레임워크: Gin, Echo, Fiber
  4. gRPC: Protocol Buffers와 마이크로서비스
  5. 클라우드: Docker, Kubernetes 연동
  6. 고급 패턴: 미들웨어, 의존성 주입 추천 자료

시작하기: #01 Go 언어의 철학과 기본 문법부터 시작하세요!

같이 보면 좋은 글 (내부 링크)

이 주제와 연결되는 다른 글입니다.

실무에서 Go를 쓸 때의 팁

  • if err != nil을 지루해하지 말고 일관되게 처리합니다. 에러를 삼키거나 로그만 찍고 넘기면, 운영에서 원인 추적이 어려워집니다.
  • 고루틴은 “무료”가 아닙니다. 루프 안에서 무한히 띄우면 메모리·스케줄러 부하가 커집니다. 워커 풀·버퍼드 채널·상한을 함께 생각합니다.
  • defer의 실행 순서와 루프 안 defer 함정을 알아 둡니다. 자원 해제는 보통 함수 단위에서 읽기 쉽게 유지됩니다.
  • context는 요청 단위로 전파합니다. DB·HTTP 클라이언트·고루틴에 같은 취소 신호를 넣어야 타임아웃이 한 번에 동작합니다.

실전 체크리스트 (Go)

동시성·종료

  • 고루틴이 끝날 때까지 기다리는 메커니즘(WaitGroup, 채널 종료)이 있는가?
  • HTTP 서버는 Shutdown 등으로 우아한 종료 경로가 있는가?

에러·관측

  • 외부 호출(DB, HTTP) 실패가 호출자까지 전달되거나 로깅되는가?
  • 프로덕션에서 panic으로 흐름을 끊지 않는가(초기화 실패 등 예외적 경우 제외)?

모듈·빌드

  • go.mod의 의존성 버전이 팀에서 합의한 범위인가?
  • CI에서 go test ./...가 통과하는가?

이 글에서 다루는 키워드 (관련 검색어)

Go 시리즈 목차, Golang 학습 순서, C++ Go 로드맵, Go 2주 완성, pkglog Go, Golang 커리큘럼 링크 등으로 검색하시면 이 글이 도움이 됩니다.

관련 글