0Pricing
Scala for Backend Engineering & Functional Programming icon

Scala for Backend Engineering & Functional Programming

SCALABackendEnterpriseCloudDatabaseSystems

견고한 백엔드 개발을 위해 Scala를 마스터하고 함수형 프로그래밍 패러다임을 깊이 있게 학습하여 확장 가능하고 유지보수하기 쉬운 애플리케이션을 구축하세요.

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

백엔드 엔지니어링과 함수형 프로그래밍을 위한 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 튜터를 이용할 수 있으며, 진행 방식은 각 개념이 직전 개념을 기반으로 구축되도록 설계되어 외부 리소스 사이를 오갈 필요가 없습니다.

학습 시작 →

학습 방식

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

39개 코스

Scala for Backend Engineering & Functional Programming 학습 경로의 모든 코스.

01

Scala 구문과 REPL

A14개 레슨

Scala 구문과 REPL: REPL 사용하기, val, var와 타입 등

02

Scala 값, 변수 및 타입

A14개 레슨PRO

핵심 구성 요소인 val, var와 Scala 타입 시스템의 기초를 익힙니다.

03

Scala 기초: 학습 여정 시작하기

A13개 레슨PRO

이 미니 과정에서는 Scala의 핵심 문법과 기본 개념을 소개해 함수형 및 객체 지향 프로그래밍을 위한 탄탄한 기반을 마련합니다. 첫 Scala 프로그램을 작성하고 Scala 생태계를 이해하는 방법을 배웁니다.

04

Scala 패턴 매칭

A24개 레슨PRO

Scala 패턴 매칭: match 표현식, 타입과 값 일치시키기 등

05

Scala 케이스 클래스와 ADT

A24개 레슨PRO

Scala 케이스 클래스와 ADT: 케이스 클래스, 봉인 트레이트 등

06

Scala Option, Some과 None

A24개 레슨PRO

Scala Option, Some과 None: null 피하기, Option에서 map과 flatMap 사용하기 등

07

Scala 컬렉션 연산

A24개 레슨PRO

Scala 컬렉션 연산: List, Vector, Set, Map, 변환 등

08

Scala 문자열과 보간

A24개 레슨PRO

Scala의 강력한 문자열 기능을 사용해 텍스트를 다룹니다.

09

Scala 튜플과 범위

A24개 레슨PRO

값을 그룹화하고 시퀀스를 간결하게 생성합니다.

10

Scala for 내포식

B14개 레슨PRO

Scala for 내포식: for 구문 단순화하기, if로 필터링하기 등

11

Scala 고차 함수

B14개 레슨PRO

Scala 고차 함수: 값으로서의 함수, 커링 등

12

Scala Either와 Try

B14개 레슨PRO

Scala Either와 Try: 오류에 사용하는 Either, Try, Success, Failure 등

13

Scala 꼬리 재귀

B14개 레슨PRO

Scala 꼬리 재귀: 재귀 기초, tailrec 주석 등

14

ScalaTest를 활용한 Scala 테스트

B14개 레슨PRO

ScalaTest를 활용한 Scala 테스트: ScalaTest 스타일, 매처 등

15

Scala 재귀와 접기

B14개 레슨PRO

재귀로 문제를 해결하고 접기 연산으로 컬렉션을 축약합니다.

16

Scala 스트림과 지연 목록

B14개 레슨PRO

LazyList를 사용해 무한할 수 있는 시퀀스를 다룹니다.

17

객체 지향 Scala: 클래스 및 트레이트

B12개 레슨PRO

클래스, 객체, 트레이트를 비롯한 Scala의 객체 지향 기능을 깊이 있게 살펴봅니다. 상속, 다형성, 데이터 모델링을 위한 케이스 클래스의 강력한 기능과 같은 핵심 개념을 다룹니다.

18

함수형 프로그래밍의 핵심: 불변성

B13개 레슨PRO

함수를 일급 시민으로 취급하며 함수형 패러다임으로 전환합니다. 예측 가능하고 견고한 코드를 작성하기 위해 불변성, 고차 함수, 순수 함수에 중점을 둡니다.

19

Scala 프로젝트를 위한 SBT 빌드 도구

B13개 레슨PRO

Scala 프로젝트의 표준 빌드 도구인 SBT(Scala Build Tool)를 능숙하게 다뤄 보세요. 이 과정에서는 복잡한 애플리케이션을 위한 프로젝트 설정, 의존성 관리, 다중 프로젝트 빌드를 다룹니다.

20

Scala 컬렉션 및 오류 처리

B13개 레슨PRO

Scala의 풍부한 컬렉션 라이브러리와 데이터를 조작하는 함수형 접근 방식을 알아봅니다. `Option`, `Try`, `Either`를 사용해 오류를 우아하게 처리하고 더욱 견고한 애플리케이션을 만드는 방법을 배웁니다.

21

Scala 암시적 기능, given과 using

B24개 레슨PRO

Scala 암시적 기능, given과 using: 암시적 매개변수, Scala 3의 given/using 등

22

Scala 타입 클래스

B24개 레슨PRO

Scala 타입 클래스: 타입 클래스 패턴, 인스턴스 정의 등

23

Circe를 활용한 Scala JSON 처리

B24개 레슨PRO

타입 안전하고 함수형인 방식으로 JSON을 인코딩하고 디코딩합니다.

24

Scala 타입 시스템과 제네릭 완전 정복

B23개 레슨PRO

변성, 타입 클래스, 고급 제네릭을 포함해 Scala의 강력한 타입 시스템을 깊이 있게 살펴보세요. 이러한 기능을 활용해 표현력이 뛰어나고 타입 안전성이 높은 코드를 작성하는 방법을 배웁니다.

25

Play Framework를 활용한 백엔드 개발

B23개 레슨PRO

Play Framework를 사용해 고성능의 확장 가능한 웹 애플리케이션과 RESTful API를 구축해 보세요. 이 과정에서는 Play의 핵심 개념, 라우팅, 컨트롤러, 데이터베이스 통합을 다룹니다.

26

Apache Spark와 Scala

B24개 레슨PRO

Apache Spark와 Scala: RDD와 DataFrames, 변환과 작업 등

27

Scala 3의 새로운 기능

B24개 레슨PRO

Scala 3의 새로운 기능: 의미 있는 들여쓰기, Scala 3의 열거형 등

28

Futures를 활용한 비동기 프로그래밍

B23개 레슨PRO

`Futures`와 `Promises`를 사용해 Scala에서 동시성 프로그래밍을 익힙니다. 논블로킹 작업을 수행하고 비동기 계산을 효과적으로 결합하는 방법을 배웁니다.

29

http4s를 활용한 Scala REST API

B24개 레슨PRO

http4s로 순수 함수형 HTTP 서비스를 구축합니다.

30

고급 함수형 패턴 및 FP 라이브러리

C13개 레슨PRO

모나드, 펑터, 애플리커티브와 같은 고급 개념을 탐구하며 함수형 프로그래밍에 대한 이해를 넓혀 보세요. 이 과정에서는 Scala에서 널리 사용되는 FP 라이브러리도 소개합니다.

31

Scala Cats와 IO 모나드

C14개 레슨PRO

Scala Cats와 IO 모나드: Cats 타입 클래스, IO 모나드 등

32

Scala ZIO 기초

C14개 레슨PRO

Scala ZIO 기초: ZIO 이펙트, ZIO 조합 등

33

Scala 함수형 도메인 모델링

C14개 레슨PRO

Scala 함수형 도메인 모델링: ADT를 활용한 모델링, 스마트 생성자 등

34

Scala를 활용한 마이크로서비스 및 클라우드 배포

C13개 레슨PRO

Scala 기반 마이크로서비스를 설계하고 구축하며 배포하는 방법을 배워 보세요. 이 과정에서는 Docker를 활용한 컨테이너화와 클라우드 플랫폼에 서비스를 배포하는 전략을 다룹니다.

35

Akka Actors로 동시성 시스템 구축

C13개 레슨PRO

높은 동시성, 분산, 내결함성 애플리케이션을 구축하기 위한 강력한 도구 모음인 Akka로 액터 모델을 살펴봅니다. 메시지 기반 동시성을 사용해 견고한 시스템을 설계하고 구현하는 방법을 배웁니다.

36

Doobie를 활용한 Scala 데이터베이스 접근

C14개 레슨PRO

함수형 Doobie 라이브러리로 SQL 데이터베이스와 통신합니다.

37

데이터 파이프라인을 위한 Scala Akka Streams

C14개 레슨PRO

Akka Streams를 사용해 백프레셔를 적용하며 스트리밍 데이터를 처리합니다.

38

Scala 메타프로그래밍과 매크로

C24개 레슨PRO

Scala 메타프로그래밍과 매크로: 인라인 메서드, 매크로 기초 등

39

Scala 성능 조정 및 최적화

C23개 레슨PRO

최상의 성능을 내도록 Scala 애플리케이션을 프로파일링하고 최적화하며 디버깅하는 전문 역량을 길러 보세요. 이 과정에서는 메모리 관리, 동시성 최적화, 모범 사례를 다룹니다.

자주 묻는 질문

자주 묻는 질문

Scala for Backend Engineering & Functional Programming 강의는 무료인가요?

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

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

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

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

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

Scala for Backend Engineering & Functional Programming을(를) 완료하면 수료증을 받나요?

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

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

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

Scala for Backend Engineering & Functional Programming을(를) 지금 시작하기

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

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