<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>실습 예제 on Advanced Beginner</title><link>https://advanced-beginner.github.io/ko/docs/scala/examples/</link><description>Recent content in 실습 예제 on Advanced Beginner</description><generator>Hugo</generator><language>ko-KR</language><managingEditor>d8lzz1gpw@mozmail.com (kimbenji)</managingEditor><webMaster>d8lzz1gpw@mozmail.com (kimbenji)</webMaster><lastBuildDate>Mon, 23 Mar 2026 19:08:15 +0900</lastBuildDate><atom:link href="https://advanced-beginner.github.io/ko/docs/scala/examples/index.xml" rel="self" type="application/rss+xml"/><item><title>환경 설정</title><link>https://advanced-beginner.github.io/ko/docs/scala/examples/setup/</link><pubDate>Sat, 10 Jan 2026 00:00:00 +0000</pubDate><author>d8lzz1gpw@mozmail.com (kimbenji)</author><guid>https://advanced-beginner.github.io/ko/docs/scala/examples/setup/</guid><description>&lt;blockquote class="book-hint info"&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;&lt;br&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Coursier&lt;/strong&gt;로 JDK, sbt, Scala CLI를 한 번에 설치&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;sbt&lt;/strong&gt;는 Scala의 표준 빌드 도구로 컴파일, 테스트, 의존성 관리 담당&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;IntelliJ IDEA&lt;/strong&gt; 또는 &lt;strong&gt;VS Code + Metals&lt;/strong&gt;로 IDE 설정&lt;/li&gt;
&lt;li&gt;프로젝트 구조: &lt;code&gt;build.sbt&lt;/code&gt; (설정) + &lt;code&gt;src/main/scala/&lt;/code&gt; (소스) + &lt;code&gt;src/test/scala/&lt;/code&gt; (테스트)&lt;/li&gt;
&lt;/ul&gt;

&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;대상 독자&lt;/strong&gt;: Scala 프로그래밍을 처음 시작하는 개발자&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;선수 지식&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;기본적인 터미널/명령줄 사용법&lt;/li&gt;
&lt;li&gt;Java 또는 다른 JVM 언어 경험 (권장)&lt;/li&gt;
&lt;li&gt;IDE 사용 경험&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;Scala 개발 환경을 설정하는 방법을 상세히 설명합니다. Scala 프로그래밍을 시작하려면 JDK, sbt(Scala Build Tool), 그리고 IDE가 필요합니다. 이 문서에서는 각 도구의 설치 방법과 설정 과정을 단계별로 안내합니다.&lt;/p&gt;</description></item><item><title>기본 예제</title><link>https://advanced-beginner.github.io/ko/docs/scala/examples/basic/</link><pubDate>Sat, 10 Jan 2026 00:00:00 +0000</pubDate><author>d8lzz1gpw@mozmail.com (kimbenji)</author><guid>https://advanced-beginner.github.io/ko/docs/scala/examples/basic/</guid><description>&lt;blockquote class="book-hint info"&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;&lt;br&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;케이스 클래스&lt;/strong&gt;로 불변 데이터 모델링, 자동 생성되는 &lt;code&gt;equals&lt;/code&gt;, &lt;code&gt;copy&lt;/code&gt; 활용&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Option&lt;/strong&gt;으로 null 안전성, &lt;strong&gt;Either&lt;/strong&gt;로 상세한 에러 처리&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;패턴 매칭&lt;/strong&gt;으로 타입에 따른 분기 처리&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;컬렉션 API&lt;/strong&gt; (&lt;code&gt;map&lt;/code&gt;, &lt;code&gt;filter&lt;/code&gt;, &lt;code&gt;groupBy&lt;/code&gt;)로 선언적 데이터 처리&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;타입 클래스&lt;/strong&gt;로 확장 가능한 기능 구현&lt;/li&gt;
&lt;/ul&gt;

&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;대상 독자&lt;/strong&gt;: Scala 환경 설정을 마친 개발자, 실제 코드로 Scala를 학습하려는 분&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;선수 지식&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Scala 개발 환경 설정 완료 (&lt;a href="https://advanced-beginner.github.io/ko/docs/scala/examples/setup/"&gt;환경 설정&lt;/a&gt; 참조)&lt;/li&gt;
&lt;li&gt;객체지향 프로그래밍 기본 개념&lt;/li&gt;
&lt;li&gt;함수형 프로그래밍 기초 (권장)&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;Scala의 핵심 개념을 활용한 종합 예제입니다. 이 문서에서는 케이스 클래스, 패턴 매칭, 컬렉션 처리, Option, Either, 타입 클래스 등 실무에서 자주 사용하는 기능들을 예제 코드와 함께 설명합니다.&lt;/p&gt;</description></item><item><title>Scala 2 vs Scala 3 비교</title><link>https://advanced-beginner.github.io/ko/docs/scala/examples/scala2-vs-scala3/</link><pubDate>Sat, 10 Jan 2026 00:00:00 +0000</pubDate><author>d8lzz1gpw@mozmail.com (kimbenji)</author><guid>https://advanced-beginner.github.io/ko/docs/scala/examples/scala2-vs-scala3/</guid><description>&lt;blockquote class="book-hint info"&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;&lt;br&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;문법 간소화&lt;/strong&gt;: Scala 3는 들여쓰기 기반 구문, &lt;code&gt;then&lt;/code&gt; 키워드 도입&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;enum 지원&lt;/strong&gt;: &lt;code&gt;sealed trait&lt;/code&gt; + &lt;code&gt;case object&lt;/code&gt; 대신 네이티브 &lt;code&gt;enum&lt;/code&gt; 사용&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;암시적 재설계&lt;/strong&gt;: &lt;code&gt;implicit&lt;/code&gt; → &lt;code&gt;given&lt;/code&gt;/&lt;code&gt;using&lt;/code&gt;/&lt;code&gt;extension&lt;/code&gt;으로 역할 분리&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;새 타입 기능&lt;/strong&gt;: Union Type (&lt;code&gt;|&lt;/code&gt;), Opaque Type 추가&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;하위 호환&lt;/strong&gt;: Scala 3는 대부분의 Scala 2 문법 지원, 점진적 마이그레이션 가능&lt;/li&gt;
&lt;/ul&gt;

&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;대상 독자&lt;/strong&gt;: Scala 2 경험자 또는 두 버전 모두 이해하고 싶은 개발자&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;선수 지식&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Scala 기본 문법 이해&lt;/li&gt;
&lt;li&gt;함수형 프로그래밍 기초 개념&lt;/li&gt;
&lt;li&gt;(선택) Scala 2 코드베이스 경험&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;동일한 로직을 Scala 2와 Scala 3로 구현하여 차이점을 비교합니다. 두 버전 간의 문법 변화를 이해하면 코드를 마이그레이션하거나 양쪽 버전 모두에서 작업할 때 도움이 됩니다. 이 문서에서는 주요 변경 사항들을 실제 코드 예제로 보여줍니다.&lt;/p&gt;</description></item><item><title>Spark 연동</title><link>https://advanced-beginner.github.io/ko/docs/scala/examples/spark-integration/</link><pubDate>Sat, 10 Jan 2026 00:00:00 +0000</pubDate><author>d8lzz1gpw@mozmail.com (kimbenji)</author><guid>https://advanced-beginner.github.io/ko/docs/scala/examples/spark-integration/</guid><description>&lt;blockquote class="book-hint info"&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;&lt;br&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Scala는 Spark의 네이티브 언어&lt;/strong&gt;: 최신 기능 가장 먼저 지원, 가장 간결한 API&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DataFrame&lt;/strong&gt;: SQL 스타일 데이터 처리, &lt;code&gt;$&amp;quot;column&amp;quot;&lt;/code&gt; 문법으로 컬럼 참조&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dataset[T]&lt;/strong&gt;: Case Class로 타입 안전한 데이터 처리, 컴파일 타임 오류 검출&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;성능 최적화&lt;/strong&gt;: 브로드캐스트 조인, 캐싱, Predicate Pushdown 활용&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;주의&lt;/strong&gt;: Spark 3.5는 Scala 2.12/2.13만 지원 (Scala 3 미지원)&lt;/li&gt;
&lt;/ul&gt;

&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;대상 독자&lt;/strong&gt;: 대규모 데이터 처리를 배우려는 Scala 개발자, Spark 입문자&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;선수 지식&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Scala 기본 문법 및 함수형 프로그래밍 개념&lt;/li&gt;
&lt;li&gt;sbt 빌드 도구 사용법&lt;/li&gt;
&lt;li&gt;SQL 기초 (권장)&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;Scala로 Apache Spark를 활용하는 방법을 배웁니다. Scala는 Spark의 네이티브 언어로, 가장 풍부한 API를 제공합니다. Spark 자체가 Scala로 작성되었기 때문에 새로운 기능이 가장 먼저 Scala API에 추가되며, 타입 안전성과 함수형 프로그래밍의 장점을 최대한 활용할 수 있습니다.&lt;/p&gt;</description></item><item><title>실무 프로젝트</title><link>https://advanced-beginner.github.io/ko/docs/scala/examples/practical-project/</link><pubDate>Sat, 10 Jan 2026 00:00:00 +0000</pubDate><author>d8lzz1gpw@mozmail.com (kimbenji)</author><guid>https://advanced-beginner.github.io/ko/docs/scala/examples/practical-project/</guid><description>&lt;blockquote class="book-hint info"&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;&lt;br&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;REST API 서버&lt;/strong&gt;: http4s + Circe + Cats Effect로 함수형 웹 서버 구축&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;데이터 파이프라인&lt;/strong&gt;: FS2로 메모리 효율적인 스트림 처리&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CLI 도구&lt;/strong&gt;: scopt로 타입 안전한 명령줄 파서 구현&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;에러 처리&lt;/strong&gt;: Cats Validated로 여러 검증 오류 동시 수집&lt;/li&gt;
&lt;li&gt;모든 예제는 불변성, 참조 투명성, 타입 안전성을 강조하는 함수형 스타일&lt;/li&gt;
&lt;/ul&gt;

&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;대상 독자&lt;/strong&gt;: Scala로 실제 서비스를 구축하려는 개발자&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;선수 지식&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Scala 기본 문법 및 함수형 프로그래밍 개념&lt;/li&gt;
&lt;li&gt;sbt 빌드 도구 사용법&lt;/li&gt;
&lt;li&gt;REST API 및 HTTP 기본 개념 (프로젝트 1)&lt;/li&gt;
&lt;li&gt;(선택) Cats Effect/IO 모나드 기초 지식&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;Scala로 실제 서비스를 구축하는 예제입니다. REST API 서버와 데이터 파이프라인을 구현합니다. 이 예제들은 Scala의 함수형 프로그래밍 특성을 활용하여 타입 안전하고 유지보수하기 쉬운 코드를 작성하는 방법을 보여줍니다.&lt;/p&gt;</description></item></channel></rss>