SCALA FOR DEVELOPERS EĞİTİMİ

Scala ile fonksiyonel ve nesne yönelimli kodu birleştirin

Scala 3, immutability, ADT, Option/Either, type class, Cats, Pekko Streams ve Spark ile veri uygulamaları.

Scala 3, fonksiyonel programlama, ADT, type class, Cats, Pekko, Spark ve web servislerini anlatan 3 günlük geliştirici eğitimi.

3 gün Orta Seviye Online / Yüz Yüze / Hibrit Sertifikalı

Eğitim Hakkında

Geliştiriciler için Scala ve fonksiyonel programlama

Eğitim Scala 3 dilini Java geliştiricilerine uygun bir hızla anlatır: val/var, case class, enum ve sealed trait ADT'leri, pattern matching, immutable koleksiyonlar ve map/flatMap/foldLeft, Option/Either/Try, trait ve given/using, type class, Cats ve Cats Effect'e giriş, Future, Akka/Pekko aktörleri, Spark DataFrame, http4s ile servisler, sbt ve Java birlikte çalışma.

Süre ve Format

3 Gün. Her gün dört modül; Dil ve Koleksiyonlar; Tip Sistemi, Test ve Java Uyumu; Cats, Pekko/Spark ve Proje ekseninde ilerleyen uygulamalı program.

Seviye

Orta Seviye — Scala 3, fonksiyonel programlama, ADT ve pattern matching, type class, Cats, Akka/Pekko, Spark ve web servisleri

Öğrenme Metodu

Kısa konu anlatımı ve REPL üzerinde canlı denemelerle ilerler; son gün küçük bir servis veya Spark işi geliştirilir.

Neden Bu Eğitim?

λFonksiyonel düşünce

Değişmezlik ve ifade tabanlı programlamayla daha az hata üretirsiniz.

☕Java ile uyum

Mevcut Java kütüphanelerini Scala'dan çağırır ve karşılaştırırsınız.

⚡Spark ve eşzamanlılık

Spark, Pekko ve Future ile ölçeklenen uygulamaların temelini kurarsınız.

Anahtar Konular

Scala eğitimiScala 3fonksiyonel programlamaScala SparkScala CatsScala pattern matchingScala sbtPekko Akkahttp4sScala Java uyumu
“Scala, kodu yazarken olduğu kadar okurken de düşündüren bir dildir.”

Ön Koşullar

Eğitimden verim almak için faydalı olacak bilgi ve ortam gereksinimleri

1
Java bilgisi

Sınıf, interface, koleksiyon ve istisna kavramlarına temel hakimiyet.

2
Komut satırı

Terminal ve temel Linux/Windows komutları.

3
Geliştirme ortamı

JDK 17+ ve IntelliJ IDEA veya Eclipse kurulu bir bilgisayar.

4
Maven/Git

Maven ile derleme ve temel git bilgisi.

Eğitim İçeriği

Programın gün gün akışı aşağıdadır. Bir güne tıklayarak o günün modüllerini ve içeriklerini görebilirsiniz.

Günün hedefiKatılımcı Scala 3 sözdizimini, immutable koleksiyonları, fonksiyonel teknikleri ve ADT/pattern matching'i uygular.
Modül 1
Scala Temelleri
  • sbt ve Scala 3 kurulumu, REPL ve Scala CLI
  • val ve var, tip çıkarımı, ifade-tabanlı sözdizimi
  • String interpolasyonu, tuple ve range
  • Fonksiyon ve metot tanımı, varsayılan/isimli parametre
  • if/match ifadeleri, deseni eşleme ve guard
  • case class, case object ve enum (Scala 3)
Modül 2
Scala Koleksiyonları ve Fonksiyonel Pratikler
  • Değişmez List, Vector, Map ve Set; kısa söz dizimleri
  • map, flatMap, filter, collect ve groupBy ile dönüşüm
  • foldLeft, reduce, scanLeft ve zip/unzip
  • Option zincirleme: map, flatMap, getOrElse, orElse
  • View, Iterator ve LazyList ile tembel işlem
  • JavaConverters/CollectionConverters ile Java koleksiyonlarına dönüşüm
Modül 3
Fonksiyonel Programlama
  • Saf fonksiyon, değişmezlik ve referans şeffaflığı
  • Yüksek dereceli fonksiyonlar, kısmi uygulama ve currying
  • List, Vector, Map, Set: map, flatMap, filter, foldLeft
  • Option, Either ve Try ile hata modelleme
  • for-comprehension ve monad desenini sezgisel anlama
  • Lazy değerlendirme: lazy val, LazyList ve by-name parametre
Modül 4
Pattern Matching ve Cebirsel Veri Tipleri
  • match ifadesi, guard koşulları ve değişken bağlama
  • case class eşitliği, copy ve unapply ile extractor
  • sealed trait hiyerarşisiyle ADT modelleme
  • Option, Either ve Try üzerinde desen eşleme
  • Scala 3 enum ve union tipleri
  • Exhaustivity uyarıları ve derleyici desteği
Günün hedefiKatılımcı trait ve given/using kullanır, eşzamanlı kod yazar, test yazar ve Java birlikte çalışmayı uygular.
Modül 1
Trait, Tip Sistemi ve Given/Implicit
  • Trait ile mixin ve linearization
  • object, companion object ve apply/unapply
  • Generic tipler, varyans (+T / -T) ve tip sınırları
  • Extension method, given/using (Scala 3) ve implicit (Scala 2)
  • Type class deseni (Ordering, Show benzeri)
  • Opaque type ve union/intersection tipler
Modül 2
Eşzamanlılık, Java Birlikte Çalışma ve Araçlar
  • Future, Promise ve ExecutionContext
  • Java kütüphanelerini çağırma ve Java koleksiyon dönüşümleri
  • sbt: build.sbt, bağımlılık, çok modüllü proje
  • ScalaTest / MUnit ile test
  • Akka/Pekko actor modeline giriş
  • Apache Spark'a giriş: RDD / DataFrame ve Scala'nın rolü
Modül 3
Hata Yönetimi ve Test
  • Try, Either ve Option ile hata modelleme farkları
  • Özel hata ADT'leri ve Either[Error, A] zincirleri
  • ScalaTest ve MUnit ile test yazımı
  • ScalaCheck ile özellik tabanlı testler
  • Mockito-Scala ile bağımlılık taklidi
  • sbt test, kapsam (scoverage) ve CI entegrasyonu
Modül 4
Java Birlikte Çalışma ve sbt Araçları
  • Java kütüphanelerini Scala'dan çağırma (Optional, Stream dönüşümleri)
  • Scala kodunu Java'dan kullanma ve uyumluluk tuzakları
  • build.sbt: görevler, ayarlar ve eklentiler
  • Çok projeli build ve bağımlılık yönetimi
  • Scalafmt ve Scalafix ile biçimlendirme/otomatik refactor
  • sbt-assembly ve Docker imajı ile paketleme
Günün hedefiKatılımcı Cats ile type class kullanır, Pekko ve Spark'a giriş yapar, http4s servisi geliştirir ve projeyi tamamlar.
Modül 1
Type Class ve Cats Kütüphanesi
  • Type class deseni: Show, Eq, Ordering örnekleri
  • given/using (Scala 3) ve implicit çözümleme kuralları
  • Functor, Applicative ve Monad sezgisi
  • Validated ile birden fazla doğrulama hatasını biriktirme
  • Cats Effect IO: yan etkiyi değer olarak ifade etme
  • Tagless final yaklaşımına kısa bakış
Modül 2
Akka/Pekko Aktörleri ve Apache Spark
  • Aktör modeli, mesajlaşma ve durum yalıtımı
  • Typed actor davranışı ve denetim (supervision)
  • Akka Streams: Source, Flow, Sink ve backpressure
  • Spark: RDD, DataFrame ve Dataset farkı
  • Spark SQL, join'ler ve bölümleme
  • Spark'ta Scala tipli kod ve performans ayarı
Modül 3
Scala ile Web Servisleri
  • http4s ile yönlendirme ve middleware
  • Play Framework ile MVC uygulama yapısı
  • circe ile JSON kodlama/çözme
  • Doobie veya Slick ile veritabanı erişimi
  • Doğrulama, hata yanıtları ve yapılandırma (pureconfig)
  • Docker ile dağıtım ve sağlık uç noktaları
Modül 4
Proje: Scala Uygulaması
  • Alan modeli ve ADT tasarımı
  • Saf fonksiyonel çekirdek ve yan etkilerin kenarda toplanması
  • HTTP/IO katmanının eklenmesi
  • Birim ve özellik tabanlı testler
  • sbt ile paketleme ve çalıştırma
  • Kod inceleme ve sunum

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Scala 3

val, case class, enum ve givens kullanabilirsiniz.

🎯
Pattern matching

ADT üzerinde kapsamlı eşleme yazabilirsiniz.

🧩
Koleksiyon

map, flatMap ve foldLeft ile veri dönüştürebilirsiniz.

🛠️
Hata modelleme

Option, Either ve Try ile hata yönetebilirsiniz.

🔍
Type class

given/using ile type class kurabilirsiniz.

🚀
Eşzamanlılık

Future ve Pekko'yu kullanabilirsiniz.

📈
Spark

DataFrame ile veri işleyebilirsiniz.

🧪
sbt ve test

sbt projesi kurup ScalaTest/MUnit yazabilirsiniz.

Kimler İçin Uygundur?

  • Java ya da başka bir dilde deneyimli geliştiriciler
  • Spark
  • çalışacak veri mühendisleri ve fonksiyonel programlamaya geçmek isteyenler için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Java ya da başka bir dilde deneyimli geliştiriciler, Spark ile çalışacak veri mühendisleri ve fonksiyonel programlamaya geçmek isteyenler için uygundur.
Scala 2 mi 3 mü?
Scala 3 esas alınır; Scala 2 implicit farkları not edilir.
Java bilmem gerekir mi?
Faydalıdır ancak zorunlu değildir; başka dillerden gelenler de katılabilir.
Spark ne kadar işlenir?
Giriş düzeyinde DataFrame ve Spark SQL uygulanır.
Eğitim sonunda sertifika alabilir miyim?
Evet. Devamlılık ve başarı koşullarını yerine getiren katılımcılara Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir.

Sertifikalandırma

Bu eğitim Digital Vizyon Akademi Başarı Sertifikası ile tamamlanır.

Eğitim başında “Ön Test”, bitiminde “Son Test” uygulanarak gelişim ölçümlenir. Değerlendirme formunu dolduran katılımcılar sertifikalarını alır. Sertifikanızın geçerliliğini Sertifika Sorgulama sayfasından doğrulayabilirsiniz.

Örnek Sertifika d Digital Vizyon AKADEMİ KATILIM SERTİFİKASI Bu sertifika [Katılımcı Adı Soyadı] adlı katılımcının aşağıdaki eğitim programını başarıyla tamamladığını belgeler. Scala for Developers Eğitimi Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre3 gün
SeviyeOrta Seviye
FormatOnline / Yüz Yüze / Hibrit
Sertifika✓ Var
Hemen Bilgi Al
İlgili Eğitimler

Bu Eğitimle Birlikte Tercih Edilenler

Java ve JVMJava SE : Encapsulation Eğitimi
Yazılım Geliştirme Eğitimleri

Java SE : Encapsulation Eğitimi

2 günTemelOnline / Yüz Yüze / Hibrit

Java SE : Encapsulation eğitimi: veri gizleme ve kontrollü erişim. 2 gün uygulamalı program, Digital Vizyon Akademi Katılım ve Başarı Sertifikası.

Detayları Gör →
Java ve JVMJava SE : Exception Handling Eğitimi
Yazılım Geliştirme Eğitimleri

Java SE : Exception Handling Eğitimi

2 günTemelOnline / Yüz Yüze / Hibrit

Java SE : Exception Handling eğitimi: i̇stisna hiyerarşisi ve yönetim stratejisi. 2 gün uygulamalı program, Digital Vizyon Akademi Katılım ve Başarı Sertifikası

Detayları Gör →
Java ve JVMJava SE : Expressions, Arrays, & Loops Eğitimi
Yazılım Geliştirme Eğitimleri

Java SE : Expressions, Arrays, & Loops Eğitimi

2 günBaşlangıçOnline / Yüz Yüze / Hibrit

Java SE : Expressions, Arrays, & Loops eğitimi: dizi ve döngülerle veri işleme temelleri. 2 gün uygulamalı program, Digital Vizyon Akademi Katılım ve Başarı Ser

Detayları Gör →
Java ve JVMJava SE : Flow Control & Debugging Eğitimi
Yazılım Geliştirme Eğitimleri

Java SE : Flow Control & Debugging Eğitimi

2 günBaşlangıçOnline / Yüz Yüze / Hibrit

Java SE : Flow Control & Debugging eğitimi: program akışı ve sistematik hata ayıklama. 2 gün uygulamalı program, Digital Vizyon Akademi Katılım ve Başarı Sertif

Detayları Gör →
Java ve JVMJava SE : Inheritance, Lists, Inference, & Lambda Expressions Eğitimi
Yazılım Geliştirme Eğitimleri

Java SE : Inheritance, Lists, Inference, & Lambda Expressions Eğitimi

2 günOrtaOnline / Yüz Yüze / Hibrit

Java SE : Inheritance, Lists, Inference, & Lambda Expressions eğitimi: kalıtımdan lambda'ya modern Java. Uygulamalı 2 gün, DVA Katılım ve Başarı Sertifikası.

Detayları Gör →
+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn