<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Practical Examples on Advanced Beginner</title><link>https://advanced-beginner.github.io/en/docs/scala/examples/</link><description>Recent content in Practical Examples on Advanced Beginner</description><generator>Hugo</generator><language>en-US</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/en/docs/scala/examples/index.xml" rel="self" type="application/rss+xml"/><item><title>Environment Setup</title><link>https://advanced-beginner.github.io/en/docs/scala/examples/setup/</link><pubDate>Wed, 14 Jan 2026 00:00:00 +0000</pubDate><author>d8lzz1gpw@mozmail.com (kimbenji)</author><guid>https://advanced-beginner.github.io/en/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;Install JDK, sbt, and Scala CLI all at once with &lt;strong&gt;Coursier&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;sbt&lt;/strong&gt; is Scala&amp;rsquo;s standard build tool for compilation, testing, and dependency management&lt;/li&gt;
&lt;li&gt;Configure IDE with &lt;strong&gt;IntelliJ IDEA&lt;/strong&gt; or &lt;strong&gt;VS Code + Metals&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Project structure: &lt;code&gt;build.sbt&lt;/code&gt; (configuration) + &lt;code&gt;src/main/scala/&lt;/code&gt; (source) + &lt;code&gt;src/test/scala/&lt;/code&gt; (tests)&lt;/li&gt;
&lt;/ul&gt;

&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Target Audience&lt;/strong&gt;: Developers new to Scala programming&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Prerequisites&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Basic terminal/command-line usage&lt;/li&gt;
&lt;li&gt;Java or other JVM language experience (recommended)&lt;/li&gt;
&lt;li&gt;IDE usage experience&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;This document provides detailed instructions for setting up a Scala development environment. To start Scala programming, you need JDK, sbt (Scala Build Tool), and an IDE. This guide walks through the installation and configuration process step by step.&lt;/p&gt;</description></item><item><title>Basic Examples</title><link>https://advanced-beginner.github.io/en/docs/scala/examples/basic/</link><pubDate>Wed, 14 Jan 2026 00:00:00 +0000</pubDate><author>d8lzz1gpw@mozmail.com (kimbenji)</author><guid>https://advanced-beginner.github.io/en/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;Model immutable data with &lt;strong&gt;case classes&lt;/strong&gt;, utilize auto-generated &lt;code&gt;equals&lt;/code&gt; and &lt;code&gt;copy&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Option&lt;/strong&gt; for null safety, &lt;strong&gt;Either&lt;/strong&gt; for detailed error handling&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pattern matching&lt;/strong&gt; for type-based branching&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Collection 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;) for declarative data processing&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Type classes&lt;/strong&gt; for extensible functionality implementation&lt;/li&gt;
&lt;/ul&gt;

&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Target Audience&lt;/strong&gt;: Developers who have completed Scala environment setup and want to learn Scala through practical code&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Prerequisites&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Completed Scala development environment setup (see &lt;a href="https://advanced-beginner.github.io/en/docs/scala/examples/setup/"&gt;Environment Setup&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Basic object-oriented programming concepts&lt;/li&gt;
&lt;li&gt;Functional programming basics (recommended)&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;Comprehensive examples utilizing core Scala concepts. This document demonstrates commonly used features in real-world scenarios with example code, including case classes, pattern matching, collection processing, Option, Either, and type classes.&lt;/p&gt;</description></item><item><title>Scala 2 vs Scala 3 Comparison</title><link>https://advanced-beginner.github.io/en/docs/scala/examples/scala2-vs-scala3/</link><pubDate>Wed, 14 Jan 2026 00:00:00 +0000</pubDate><author>d8lzz1gpw@mozmail.com (kimbenji)</author><guid>https://advanced-beginner.github.io/en/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;Syntax&lt;/strong&gt;: Scala 3 supports simpler syntax (indentation-based, no braces required)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Enums&lt;/strong&gt;: Simple definition with &lt;code&gt;enum&lt;/code&gt; keyword (replaces &lt;code&gt;sealed trait&lt;/code&gt; + &lt;code&gt;case object&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Implicits&lt;/strong&gt;: Clearer with &lt;code&gt;given&lt;/code&gt;/&lt;code&gt;using&lt;/code&gt; keywords (replacing &lt;code&gt;implicit&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;New features&lt;/strong&gt;: Union Types, Opaque Types, Intersection Types&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Compatibility&lt;/strong&gt;: Most Scala 2 code works in Scala 3&lt;/li&gt;
&lt;/ul&gt;

&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Target Audience&lt;/strong&gt;: Developers familiar with Scala 2, developers choosing Scala 3&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Prerequisites&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Scala basic syntax&lt;/li&gt;
&lt;li&gt;Functional programming basics&lt;/li&gt;
&lt;li&gt;Pattern matching&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;Compare the differences by implementing the same logic in Scala 2 and Scala 3. Most Scala 2 syntax works in Scala 3, but Scala 3 offers more concise and readable new syntax. This document compares code by topic to help you understand the differences.&lt;/p&gt;</description></item><item><title>Spark Integration</title><link>https://advanced-beginner.github.io/en/docs/scala/examples/spark-integration/</link><pubDate>Wed, 14 Jan 2026 00:00:00 +0000</pubDate><author>d8lzz1gpw@mozmail.com (kimbenji)</author><guid>https://advanced-beginner.github.io/en/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 is Spark&amp;rsquo;s native language&lt;/strong&gt;: Latest features supported first, most concise API&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DataFrame&lt;/strong&gt;: SQL-style data processing, &lt;code&gt;$&amp;quot;column&amp;quot;&lt;/code&gt; syntax for column references&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dataset[T]&lt;/strong&gt;: Type-safe data processing with Case Classes, compile-time error detection&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Performance optimization&lt;/strong&gt;: Utilize broadcast joins, caching, Predicate Pushdown&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Note&lt;/strong&gt;: Spark 3.5 only supports Scala 2.12/2.13 (Scala 3 not supported)&lt;/li&gt;
&lt;/ul&gt;

&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Target Audience&lt;/strong&gt;: Scala developers learning large-scale data processing, Spark beginners&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Prerequisites&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Scala basic syntax and functional programming concepts&lt;/li&gt;
&lt;li&gt;sbt build tool usage&lt;/li&gt;
&lt;li&gt;SQL basics (recommended)&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;Learn how to use Apache Spark with Scala. Scala is Spark&amp;rsquo;s native language, providing the richest API. Since Spark itself is written in Scala, new features are added to the Scala API first, and you can maximize the benefits of type safety and functional programming.&lt;/p&gt;</description></item><item><title>Practical Projects</title><link>https://advanced-beginner.github.io/en/docs/scala/examples/practical-project/</link><pubDate>Wed, 14 Jan 2026 00:00:00 +0000</pubDate><author>d8lzz1gpw@mozmail.com (kimbenji)</author><guid>https://advanced-beginner.github.io/en/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 Server&lt;/strong&gt;: Build functional web server with http4s + Circe + Cats Effect&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Data Pipeline&lt;/strong&gt;: Memory-efficient stream processing with FS2&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CLI Tool&lt;/strong&gt;: Type-safe command-line parser with scopt&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Error Handling&lt;/strong&gt;: Collect multiple validation errors simultaneously with Cats Validated&lt;/li&gt;
&lt;li&gt;All examples emphasize functional style with immutability, referential transparency, and type safety&lt;/li&gt;
&lt;/ul&gt;

&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Target Audience&lt;/strong&gt;: Developers building real services with Scala&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Prerequisites&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Scala basic syntax and functional programming concepts&lt;/li&gt;
&lt;li&gt;sbt build tool usage&lt;/li&gt;
&lt;li&gt;REST API and HTTP basics (Project 1)&lt;/li&gt;
&lt;li&gt;(Optional) Basic knowledge of Cats Effect/IO monad&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;Examples of building real services with Scala. Implement REST API servers and data pipelines. These examples demonstrate how to write type-safe, maintainable code by leveraging Scala&amp;rsquo;s functional programming characteristics.&lt;/p&gt;</description></item></channel></rss>