백엔드 엔지니어링과 함수형 프로그래밍을 위한 Scala
Scala는 JVM에서 실행되며 객체 지향 프로그래밍과 함수형 프로그래밍을 하나의 정적 타입 언어로 결합합니다. Twitter, LinkedIn, Databricks 같은 기업의 데이터 인프라를 지원하며 Apache Spark, Akka, Play 같은 프레임워크를 통해 활용됩니다. 이 과정은 Scala의 문법과 타입 시스템부터 프로덕션 레벨 백엔드 개발, 동시성, 고급 함수형 패턴까지 다룹니다.
학습 내용
Scala의 문법, REPL, 값, 타입, 패턴 매칭으로 시작한 후 케이스 클래스, 대수적 데이터 타입, Option/Either/Try 에러 핸들링 모델로 나아갑니다. 이후 고차 함수, 꼬리 재귀, for-comprehensions, 스트림을 통한 지연 평가를 다룹니다. 중급 주제는 implicits, 타입 클래스, 제네릭, Circe를 이용한 JSON 처리, http4s를 이용한 REST API, Futures를 이용한 비동기 프로그래밍, Play Framework를 이용한 전체 백엔드 개발을 포함합니다. 고급 과정은 Cats와 IO Monad, ZIO, 함수형 도메인 모델링, Doobie를 이용한 데이터베이스 접근, Akka Streams를 이용한 데이터 파이프라인, Akka Actors를 이용한 분산 시스템, 마이크로서비스 배포를 다룹니다. 과정은 Scala 메타프로그래밍, 매크로, 성능 튜닝으로 마무리됩니다.
학습 경로
40개의 과정이 A1부터 C2까지 진행됩니다. A1과 A2 과정은 언어 기초를 다집니다: 문법, 컬렉션, 문자열, 튜플, 패턴 매칭. B1 과정은 함수형 프로그래밍 유창성을 구축합니다 — 재귀, 폴딩, 지연 리스트, 트레이트, 불변성, SBT 빌드 도구. B2는 생태계로 나아갑니다: 타입 클래스, Circe, Play, Spark, Scala 3 기능, 비동기 프로그래밍. C1 블록은 프로덕션 관심사를 다룹니다 — Cats IO, ZIO, Akka Actors, Akka Streams, Doobie, 클라우드 마이크로서비스. 과정은 Scala 메타프로그래밍과 매크로와 Scala의 성능 튜닝과 최적화로 C2에서 마무리됩니다.
작동 방식
각 과정은 내장된 코드 에디터에서 실시간 피드백과 함께 완료하는 짧고 실습적인 레슨으로 나뉩니다. 막힐 때 AI 튜터를 이용할 수 있으며, 진행 방식은 각 개념이 직전 개념을 기반으로 구축되도록 설계되어 외부 리소스 사이를 오갈 필요가 없습니다.