Scala for Backend Engineering and Functional Programming
Scala, JVM üzerinde çalışır ve nesne yönelimli ve fonksiyonel programlamayı tek bir statik olarak yazılan dilde birleştirir. Twitter, LinkedIn ve Databricks gibi şirketlerdeki veri altyapısını güçlendirir — Apache Spark, Akka ve Play gibi frameworkler aracılığıyla. Bu track, Scala'yı söz dizimi ve tür sistemi başta olmak üzere production seviyesi backend geliştirme, eşzamanlılık ve ileri fonksiyonel desenler aracılığıyla kapsar.
Öğreneceğiniz Konular
Scala'nın söz dizimi, REPL, değerler, türler ve pattern matching ile başlayacaksınız, ardından case class'lar, cebirsel veri türleri ve Option/Either/Try hata işleme modeline geçeceksiniz. Oradan yüksek dereceli fonksiyonlar, kuyruk özyineleme, for-comprehension'lar ve stream'lerle lazy evaluation üzerinde çalışacaksınız. Orta düzey konular implicits, type class'lar, generics, Circe ile JSON işleme, http4s ile REST API'ler, Futures ile asynchronous programlama ve Play Framework ile tam backend geliştirmedir. İleri kurslar Cats ve IO Monad, ZIO, fonksiyonel domain modeling, Doobie ile veritabanı erişimi, Akka Streams ile veri pipeline'ları, Akka Actors ile dağıtık sistemler ve microservices dağıtımını kapsar. Track, Scala metaprogramlama, macro'lar ve performans ayarlaması ile sona erer.
Öğrenme Yolu
Kırk kurs A1'den C2'ye ilerler. A1 ve A2 kursları dil temellerini oluşturur: söz dizimi, collection'lar, string'ler, tuple'lar ve pattern matching. B1 kursları fonksiyonel programlama akıcılığını geliştirirler — özyineleme, folding, lazy list'ler, trait'ler, immutability ve SBT build tool'u. B2, ekosisteme geçer: type class'lar, Circe, Play, Spark, Scala 3 özellikleri ve async programlama. C1 bloğu production kaygılarını ele alır — Cats IO, ZIO, Akka Actors, Akka Streams, Doobie ve cloud microservices. Track, Scala Metaprogramming and Macros ve Performance Tuning and Optimization in Scala ile C2'de sona erer.
Nasıl Çalışır?
Her kurs, yerleşik kod editöründe gerçek zamanlı geri bildirim ile tamamladığınız kısa, uygulamalı derslere bölünmüştür. Takılıp kaldığınızda bir AI tutor mevcuttur ve ilerleme, her konseptin doğrudan bir öncekinin üzerine inşa edilmesi için tasarlanmıştır — harici kaynaklar arasında atlama yoktur.