Java 백엔드 개발자를 위한 Scala 2.12 기반 실무 가이드북
이 프로젝트는 경력 3-5년의 Java 백엔드 개발자가 2개월 내에 Scala를 실무에 적용할 수 있도록 설계된 종합 학습 가이드입니다.
GitHub Pages로 웹사이트 형태로 읽기:
💡 Tip: 브라우저 북마크에 추가하여 언제든지 접근하세요!
방법 1: GitHub에서 직접 읽기
# 저장소 클론
git clone https://github.com/kimbenji/scala-guide.git
cd scala-guide
# VS Code 또는 에디터로 열기
code docs/
방법 2: Jekyll 로컬 서버 실행
# Jekyll 설치 (Ruby 필요)
gem install bundler jekyll
# docs 디렉토리로 이동
cd docs
# 의존성 설치
bundle install
# 로컬 서버 실행
bundle exec jekyll serve
# 브라우저에서 http://localhost:4000 접속
Markdown 뷰어 앱 사용:
# docs 폴더를 Markdown 뷰어로 열기
open docs/README.md # macOS
Write-Scala-Book/
├── README.md # 📍 현재 파일 (프로젝트 소개)
│
├── docs/ # 📚 학습 가이드 문서
│ ├── README.md # 메인 목차 (시작점)
│ ├── NAVIGATION.md # 챕터별 네비게이션 가이드
│ ├── _config.yml # Jekyll 설정 (GitHub Pages용)
│ │
│ ├── prd.md # 프로젝트 요구사항 정의
│ ├── architecture.md # 프로젝트 아키텍처
│ ├── progress.md # 작성 진행 상황
│ │
│ ├── part1-basics/ # Part 1: Scala 기초 (6 챕터)
│ │ ├── README.md
│ │ ├── chapter01-getting-started.md
│ │ ├── chapter02-variables-types.md
│ │ ├── chapter03-control-structures.md
│ │ ├── chapter04-functions.md
│ │ ├── chapter05-oop.md
│ │ └── chapter06-collections.md
│ │
│ ├── part2-functional/ # Part 2: 함수형 프로그래밍 (4 챕터)
│ │ ├── README.md
│ │ ├── chapter07-advanced-functional.md
│ │ ├── chapter08-option-try-either.md
│ │ ├── chapter09-implicits.md
│ │ └── chapter10-advanced-types.md
│ │
│ ├── part3-advanced/ # Part 3: 고급 주제 (4 챕터)
│ │ ├── README.md
│ │ ├── chapter11-advanced-type-system.md
│ │ ├── chapter12-concurrency-future.md
│ │ ├── chapter13-macros-reflection.md
│ │ └── chapter14-dsl-design.md
│ │
│ ├── part4-spark/ # Part 4: Apache Spark (1 챕터 + 3 프로젝트)
│ │ ├── README.md
│ │ └── chapter15-apache-spark.md
│ │
│ └── part5-ecosystem/ # Part 5: 생태계와 도구 (1 챕터)
│ ├── README.md
│ └── chapter16-ecosystem-tools.md
│
└── code/ # 💻 실습 코드 (향후 추가 예정)
└── part1-basics/
전체 학습 기간: 7-9주 (주당 10-15시간 투자 기준)
Week | Part | 내용 | 시간 |
---|---|---|---|
1-2주 | Part 1 | Scala 기초 | 20-30시간 |
3-4주 | Part 2 | 함수형 프로그래밍 | 20-30시간 |
5주 | Part 3 | 고급 주제 (선택) | 10-15시간 |
6-8주 | Part 4 | Apache Spark 프로젝트 | 30-40시간 |
9주 | Part 5 | 생태계와 도구 | 10-15시간 |
Step 1: 문서 메인 페이지 열기
# 온라인
https://kimbenji.github.io/scala-guide/
# 또는 로컬
open docs/README.md
Step 2: Part 1부터 순차적으로 학습
Step 3: 실전 프로젝트 실습
Step 4: 실무 적용
macOS:
# Homebrew로 설치
brew install openjdk@11
brew install sbt
Linux:
# Ubuntu/Debian
sudo apt-get install openjdk-11-jdk
echo "deb https://repo.scala-sbt.org/scalasbt/debian all main" | sudo tee /etc/apt/sources.list.d/sbt.list
sudo apt-get update
sudo apt-get install sbt
Windows:
IDE 설정:
Scala 개발 환경, 기본 문법, 타입 시스템, 제어 구조, 함수, OOP, 컬렉션
순수 함수, 함수 합성, Option/Try/Either, Implicit, 고급 타입 시스템
Higher-Kinded Types, Future/Promise, 매크로, 리플렉션, DSL 설계
SBT, ScalaTest, Scala-Java 상호운용, 주요 라이브러리, 프로덕션 배포
이 가이드를 완료하면 다음을 할 수 있습니다:
✅ Scala로 타입 안전한 백엔드 애플리케이션 개발 ✅ 함수형 프로그래밍 패러다임 실무 적용 ✅ Apache Spark로 대규모 데이터 처리 ✅ Scala-Java 혼합 프로젝트 개발 ✅ SBT, ScalaTest 등 실무 도구 활용
이슈를 등록하거나 Pull Request를 보내주세요:
# 1. Fork this repository
# 2. Create your feature branch
git checkout -b feature/improvement
# 3. Commit your changes
git commit -m "Add some improvement"
# 4. Push to the branch
git push origin feature/improvement
# 5. Create Pull Request
이 문서는 교육 목적으로 작성되었습니다.
작성자: BMad Master Agent 버전: v1.0 최종 업데이트: 2025-10-03
기술 스택:
프로젝트에 대한 질문이나 제안사항이 있으시면 언제든지 연락주세요!
🎉 Happy Scala Learning! 🚀