THE SCALA PROGRAMMING LANGUAGE EĞİTİMİ

Scala ile nesne yönelimli ve fonksiyonel güçleri birleştirin

Scala sözdizimi, case class ve pattern matching, trait, koleksiyonlar, Option ve Either, Future ve sbt uygulamalı işlenir

Scala eğitimi; sözdizimi, case class ve pattern matching, trait, değişmez koleksiyonlar, Option/Either/Try, given ve using, Future ile eşzamanlılık ve sbt araç zincirini işler.

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

Eğitim Hakkında

Scala dili ve JVM üzerinde fonksiyonel programlama

Eğitim, JVM üzerinde çalışan Scala dilini temelden ileri özelliklere taşır. val ve var, case class ve pattern matching, trait ile mixin kompozisyonu, değişmez koleksiyonlar ve yüksek mertebeden fonksiyonlar, Option, Either ve Try ile hata yönetimi, for-comprehension, implicit ve given kavramı, Future ile asenkron programlama, sbt ve ScalaTest kullanımı uygulamalı işlenir.

Süre ve Format

3 Gün. Her gün dört modül; 1. gün Dil Temelleri ve OOP; 2. gün Fonksiyonel Programlama; 3. gün Tip Sistemi, Eşzamanlılık ve Araçlar.

Seviye

Orta Seviye — Scala'nın tip sistemi, fonksiyonel programlama, case class, trait ve Future ile eşzamanlılık

Öğrenme Metodu

Katılımcılar REPL ve IntelliJ IDEA üzerinde küçük egzersizler çözer, son gün koleksiyon ve Future kullanan bir veri işleme uygulaması geliştirir.

Neden Bu Eğitim?

λFonksiyonel Düşünce

Değişmezlik, saf fonksiyon ve yüksek mertebeden fonksiyonlarla daha güvenli kod yazarsınız.

🧬Güçlü Tip Sistemi

Case class, sealed trait ve pattern matching ile derleyiciye hata yakalatırsınız.

⚙️Spark ve Akka Hazırlığı

Büyük veri ve aktör tabanlı ekosistemlerin temelini oluşturan dil bilgisini edinirsiniz.

Anahtar Konular

scala eğitimiscala programlamascala pattern matchingcase classscala traitscala futuresbtfonksiyonel programlamascala 3jvm scala
“Az kodla çok şey söylemek, tip sisteminin güvencesiyle mümkündür.”

Ön Koşullar

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

1
Programlama deneyimi

Java, Kotlin, Python veya benzeri bir dilde temel deneyim gerekir.

2
JVM farkındalığı

JVM, jar ve sınıf yolu kavramları faydalıdır.

3
Koleksiyon bilgisi

List, Map ve döngü kavramları bilinmelidir.

4
Ortam

JDK 17, sbt ve IntelliJ IDEA (Scala eklentisi) kurulu olmalıdır.

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 sözdizimini ve nesne modelini kullanarak program yazar.
Modül 1
Temel Sözdizimi
  • val, var ve tip çıkarımı
  • İfade tabanlı yapı: if, match ve blok değerleri
  • def ile metotlar, varsayılan ve adlandırılmış parametreler
  • String interpolasyonu (s"", f"")
  • Scala 3 girinti sözdizimi
  • REPL ve Scala CLI ile hızlı deneme
Modül 2
Sınıf ve Nesne
  • class, constructor parametreleri ve alanlar
  • object ve companion object
  • apply ve unapply metotları
  • private ve protected erişim
  • Singleton ve statik üye karşılığı
  • Paket ve import kuralları
Modül 3
Case Class ve Pattern Matching
  • case class ile değişmez veri
  • copy, equals ve toString otomatikleştirmesi
  • match ifadesi ve guard koşulları
  • Desen türleri: değişken, sabit, tip, dizi
  • sealed trait ile kapalı hiyerarşi
  • Cebirsel veri tipleri (ADT) ile alan modelleme
Modül 4
Trait ve Kalıtım
  • trait ile arayüz ve davranış
  • Mixin kompozisyonu ve lineerizasyon
  • abstract class ile trait farkı
  • self-type ve bağımlılık ifadesi
  • enum (Scala 3) kullanımı
  • Kalıtım yerine kompozisyon tercihi
Günün hedefiKatılımcı değişmez koleksiyonlar ve monadik yapılarla fonksiyonel kod yazar.
Modül 1
Fonksiyonlar
  • Birinci sınıf fonksiyonlar ve lambda
  • Yüksek mertebeden fonksiyonlar
  • Currying ve kısmi uygulama
  • Closure kavramı
  • Saf fonksiyon ve yan etki
  • Kuyruk özyineleme (@tailrec)
Modül 2
Koleksiyonlar
  • List, Vector, Set, Map ve değişmezlik
  • map, flatMap, filter, foldLeft
  • groupBy, partition, zip ve sliding
  • Lazy koleksiyonlar: LazyList
  • Mutable koleksiyonların yeri
  • Performans özellikleri ve seçim
Modül 3
Hata Yönetimi
  • Option ile null'dan kaçınma
  • Either ile hata taşıma
  • Try ile istisnaları değere çevirme
  • for-comprehension ile zincirleme
  • Doğrulama biriktirme yaklaşımı
  • İstisna ve Either tercih ölçütleri
Modül 4
Soyutlama
  • Jenerik tipler ve varyans (+T, -T)
  • Üst ve alt tip sınırları
  • Fonksiyonel alan modelleme örneği
  • Monoid ve Functor kavramlarına giriş
  • Referans şeffaflığı
  • Cats kütüphanesine kısa bakış
Günün hedefiKatılımcı tip sınıflarını, Future'ı ve proje araçlarını kullanır.
Modül 1
Implicit ve Given
  • implicit parametre ve dönüşüm
  • Scala 3 given ve using
  • Tip sınıfı (type class) örüntüsü
  • Extension method
  • Ordering ve Ordered kullanımı
  • Implicit çözümleme kuralları ve tuzaklar
Modül 2
Eşzamanlılık
  • Future ve ExecutionContext
  • map, flatMap ve for ile Future zincirleri
  • Hata kurtarma: recover, recoverWith
  • Await ve engelleyici kod riskleri
  • Promise kullanımı
  • Paralel koleksiyonlar ve Akka aktörlerine giriş
Modül 3
Araçlar ve Test
  • sbt proje yapısı ve build.sbt
  • Bağımlılık yönetimi ve çapraz sürüm
  • ScalaTest ve MUnit ile test
  • Property-based test: ScalaCheck
  • Scalafmt ve Scalafix
  • Java kütüphanelerini Scala'dan çağırma
Modül 4
Uygulama Projesi
  • Veri işleme boru hattı tasarımı
  • CSV okuma ve ADT'ye dönüştürme
  • Future ile paralel hesaplama
  • Hata durumlarının Either ile modellenmesi
  • Test paketinin yazılması
  • Spark ve Akka için sonraki adımlar

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Scala Sözdizimi

val, def, case class ve trait ile okunur Scala kodu yazabilirsiniz.

✅
Pattern Matching

Sealed trait ve ADT ile güvenli alan modeli kurabilirsiniz.

✅
Koleksiyon Kullanımı

map, flatMap ve foldLeft ile veri dönüşümleri yazabilirsiniz.

✅
Hata Modeli

Option, Either ve Try ile istisnasız hata akışı kurabilirsiniz.

✅
Tip Sınıfları

given/using ve implicit ile tip sınıfı örüntüsünü uygulayabilirsiniz.

✅
Future Kullanımı

Future zincirleriyle asenkron işlem yazabilirsiniz.

✅
sbt ve Test

sbt projesi kurup ScalaTest ile test yazabilirsiniz.

✅
Java Birlikte Çalışma

Java kütüphanelerini Scala içinde kullanabilirsiniz.

Kimler İçin Uygundur?

  • Java veya başka bir dilden Scala'ya geçmek isteyen
  • fonksiyonel programlamaya ve veri işleme araçlarına (Spark
  • Akka) hazırlanan geliştiriciler için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Java veya başka bir dilden Scala'ya geçmek isteyen, fonksiyonel programlamaya ve veri işleme araçlarına (Spark, Akka) hazırlanan geliştiriciler için uygundur.
Scala 2 mi Scala 3 mü işleniyor?
Scala 3 ana hat olarak kullanılır; Scala 2 projelerinde sık karşılaşılan implicit ve sözdizimi farkları da gösterilir.
Spark öğrenmeden önce uygun mu?
Evet; koleksiyon, case class ve fonksiyonel temel Spark kodunu okumayı kolaylaştırır.
Java bilmek şart mı?
Şart değil ama Java veya benzer bir dil deneyimi öğrenmeyi hızlandırır.
Sertifika verilir mi?
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. The Scala Programming Language 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

+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn