CodeBlanks Logo Icon CodeBlanks
Ücretsiz 4 seviye Kotlin

Kotlin

Kotlin 2.x ile null safety, OOP, coroutine, Flow, Ktor ve Kotlin Multiplatform'a kadar tüm temelleri öğrenin.

Kotlin kursu null safety, OOP, generic'ler, coroutine'ler, Flow, Ktor, Exposed, KSP ve Kotlin Multiplatform ile tüm seviyeleri kapsar.

  • 362 ders
  • 30 sa 24 dk
  • 10 proje

Hesap gerekmez, hemen başlayabilirsin. İlerlemeni kaydetmek istersen ücretsiz hesap aç

Seviyeler

Kotlin kursu dört seviyede sıfırdan uzmanlığa ilerler. İstediğin seviyeden başlayabilirsin.
Seviyeni bilmiyor musun? Seviye testini çöz
Başlangıç

Kotlin 2.x temellerini öğrenirsin: val/var, veri türleri, döngüler, koleksiyonlar, fonksiyonlar ve null safety.

  • Kotlin temelleri
  • Değişkenler
  • Veri türleri
  • Operatörler
116 ders · 9 sa 26 dk Dersleri gör →
Orta

Orta seviye

Kotlin'de OOP, kalıtım, data class, sealed class, extension function, generic'ler ve yüksek dereceli fonksiyonlar öğrenirsin.

  • Sınıflar derinlemesine
  • Kalıtım
  • Data class
  • Sealed class
116 ders · 9 sa 58 dk Dersleri gör →
İleri

İleri seviye

Kotlin'de coroutine derinlemesine, Flow, Ktor, kotlinx.serialization, Exposed ve DI öğrenirsin.

  • İleri coroutine'ler
  • İleri Flow
  • Ktor HTTP istemci
  • Ktor sunucusu
83 ders · 7 sa 0 dk Dersleri gör →
Uzman

Kotlin'de compile-time safety, KSP/KAPT, compiler plugin, Kotlin/Native, Kotlin Multiplatform ve Compose Multiplatform öğrenirsin.

  • Compile-time safety
  • KSP ve KAPT
  • Compiler plugin
  • Kotlin/Native
47 ders · 4 sa 0 dk Dersleri gör →

Yapacağın projeler

Her seviyede öğrendiklerini gerçek bir sayfada birleştirirsin.

Nasıl çalışıyor?

Kısa anlatım

Her ders tek bir kavramı birkaç kısa kartla anlatır; uzun video ya da metin yok.

Hemen dene

Çoktan seçmeli, boşluk doldurma ve eşleştirme sorularıyla öğrendiğini anında pekiştirirsin.

Kendin yaz

Tarayıcıdaki editörde gerçek kod yazarsın; kodun anında kontrol edilir ve sonucu canlı görürsün.

Müfredat

62 grup · 362 ders · 30 sa 24 dk

Kotlin 2.x temellerini öğrenirsin: val/var, veri türleri, döngüler, koleksiyonlar, fonksiyonlar ve null safety.

1
Kotlin temelleri
6 ders · 24 dk
  1. 1 Kotlin nedir? Kotlin'in JVM tabanlı modern bir dil olduğunu öğrenirsin. 4 dk
  2. 2 İlk program fun main ve println ile ilk Kotlin programını yazmayı öğrenirsin. 4 dk
  3. 3 main fonksiyonu fun main(args: Array<String>) yapısını öğrenirsin. 4 dk
  4. 4 Yorumlar // ve /* */ yorumları Kotlin'de nasıl yazacağını öğrenirsin. 3 dk
  5. 5 String şablonları \$ ve \${} ile string içine değişken gömmeyi öğrenirsin. 4 dk
  6. 6 Özet - Kotlin temelleri main, println ve yorumları birleştirerek ilk Kotlin programını yazarsın. 5 dk
2
Değişkenler
6 ders · 27 dk
  1. 1 val ve var val (immutable) ve var (mutable) ile değişken tanımlamayı öğrenirsin. 4 dk
  2. 2 Tip çıkarımı Tür çıkarımı ve açık tip bildirimini öğrenirsin. 4 dk
  3. 3 const const val ile derleme zamanı sabit tanımlamayı öğrenirsin. 4 dk
  4. 4 lateinit lateinit var ile gecikmiş başlatma öğrenirsin. 5 dk
  5. 5 by lazy by lazy ile tembel başlatma öğrenirsin. 5 dk
  6. 6 Özet - Değişkenler val, var, const ve lateinit'i birleştirerek bir profil programı yazarsın. 5 dk
3
Veri türleri
6 ders · 25 dk
  1. 1 Tam sayı türleri Int, Long, Short, Byte türlerini öğrenirsin. 4 dk
  2. 2 Ondalıklı türler Double ve Float türlerini öğrenirsin. 4 dk
  3. 3 Boolean ve Char Boolean ve Char türlerini öğrenirsin. 3 dk
  4. 4 String String türü ve metotlarını öğrenirsin. 4 dk
  5. 5 Any ve Unit Any ve Unit türlerini öğrenirsin. 5 dk
  6. 6 Özet - Veri türleri Int, Double, String ve Boolean'ı birleştirerek bir hesap kartı yazarsın. 5 dk
4
Proje: Hesap makinesiProje
5 ders · 30 dk
  1. 1 Proje tasarımı Hesap makinesi projesinin yapısını taşarlar ve iskelet kodu yazarsın. 6 dk
  2. 2 Toplama ve çıkarma Toplama ve çıkarma fonksiyonlarını ekler ve test edersin. 6 dk
  3. 3 Çarpma ve bölme Çarpma, bölme ve sıfıra bölme kontrolünü eklersin. 6 dk
  4. 4 Hata yönetimi try/catch ile geçersiz girdileri güvenle yakalarsın. 6 dk
  5. 5 Birleştirme Tüm parçaları birleştirerek çalışan bir hesap makinesi yazarsın. 6 dk
5
Operatörler
6 ders · 26 dk
  1. 1 Aritmetik operatörler +,-,*,/,% ile aritmetik işlemleri öğrenirsin. 4 dk
  2. 2 Atama operatörleri =, +=, -=, *=, /= ve ++/-- ile kısayol atamalarını öğrenirsin. 4 dk
  3. 3 Karşılaştırma operatörleri ==, !=, <, >, <= ve >= ile karşılaştırmayı öğrenirsin. 4 dk
  4. 4 Mantıksal operatörler &&, || ve ! ile boolean mantık kurmayı öğrenirsin. 4 dk
  5. 5 Elvis operatörü ?: ile Elvis operatörünü ve null güvenliği öğrenirsin. 5 dk
  6. 6 Özet - Operatörler Aritmetik, mantıksal ve Elvis operatörlerini birleştirerek bir not hesaplayıcı yazarsın. 5 dk
6
Dizeler
6 ders · 28 dk
  1. 1 String oluşturma String oluşturmayı ve length özelliğini öğrenirsin. 4 dk
  2. 2 String şablonları \$ ve \${} ile string şablonlarını öğrenirsin. 5 dk
  3. 3 String metotları uppercase, lowercase, trim metotlarını öğrenirsin. 4 dk
  4. 4 substring substring ile dize parçası almayı öğrenirsin. 5 dk
  5. 5 split ve replace split ve replace ile dize işleme öğrenirsin. 5 dk
  6. 6 Özet - Dizeler şablon, metotlar ve split'i birleştirerek bir kartvizit yazarsın. 5 dk
7
Koşullar
6 ders · 28 dk
  1. 1 if deyimi if ile bir koşulu nasıl kontrol edeceğini öğrenirsin. 4 dk
  2. 2 else ve else if Alternatif durumlar için else ve else if zincirlerini öğrenirsin. 4 dk
  3. 3 if ifadesi Kotlin'de if'in ifade olarak kullanımını öğrenirsin. 5 dk
  4. 4 when when ile çoklu durum seçmeyi öğrenirsin. 5 dk
  5. 5 when ifadesi when'in ifade olarak kullanımını öğrenirsin. 5 dk
  6. 6 Özet - Koşullar if, if ifadesi ve when'i birleştirerek bir hafta günü uygulaması yazarsın. 5 dk
8
Döngüler
6 ders · 26 dk
  1. 1 for döngüsü for ile sayılı döngü yazmayı öğrenirsin. 4 dk
  2. 2 while döngüsü while ile koşul sağlandıkça çalışan döngüyü öğrenirsin. 4 dk
  3. 3 do-while döngüsü do-while ile en az bir kez çalışan döngüyü öğrenirsin. 4 dk
  4. 4 Range 1..10 ve until/downTo ile aralık öğrenirsin. 5 dk
  5. 5 break ve continue break ile döngüden çıkmayı ve continue ile atlama yapmayı öğrenirsin. 4 dk
  6. 6 Özet - Döngüler for, while ve range'i birleştirerek bir çarpım tablosu yazarsın. 5 dk
9
Proje: Alışveriş sepetiProje
5 ders · 30 dk
  1. 1 Sepet tasarımı Alışveriş sepeti için veri sınıfı yapısını tasarlarsın. 6 dk
  2. 2 Ürün ekleme addItem fonksiyonuyla sepete ürün eklemeyi öğrenirsin. 6 dk
  3. 3 Toplam hesaplama Subtotal ve vergi dahil toplamı hesaplamayı öğrenirsin. 6 dk
  4. 4 Sepeti listeleme Sepeti formatlı yazdıran fonksiyonu yazarsın. 6 dk
  5. 5 Birleştirme Sepet fonksiyonlarını menü döngüsüyle birleştirirsin. 6 dk
10
Diziler
6 ders · 28 dk
  1. 1 Array oluşturma arrayOf ve intArrayOf ile dizi oluşturmayı öğrenirsin. 4 dk
  2. 2 Dizi erişimi Dizin ile dizi elemanlarına erişmeyi öğrenirsin. 4 dk
  3. 3 Array boyutu size ve indices ile dizi bilgisi öğrenirsin. 5 dk
  4. 4 Array döngüsü for ile dizi üzerinde gezinmeyi öğrenirsin. 5 dk
  5. 5 Array metotları map, filter, forEach ile dizi işleme öğrenirsin. 5 dk
  6. 6 Özet - Diziler arrayOf, size ve map'i birleştirerek bir sınıf listesi yazarsın. 5 dk
11
Listeler
6 ders · 29 dk
  1. 1 Liste oluşturma listOf ve mutableListOf ile liste oluşturmayı öğrenirsin. 4 dk
  2. 2 Liste işlemleri add, remove, contains ile liste yönetimini öğrenirsin. 5 dk
  3. 3 Liste erişimi get, indexOf, subList ile liste erişimini öğrenirsin. 5 dk
  4. 4 Liste döngüsü for ve forEach ile liste gezinmeyi öğrenirsin. 5 dk
  5. 5 Liste metotları map, filter, sortedWith ile liste işleme öğrenirsin. 5 dk
  6. 6 Özet - Listeler mutableListOf, add ve map'i birleştirerek bir sınıf listesi yazarsın. 5 dk
12
Map ve Set
6 ders · 30 dk
  1. 1 Set oluşturma setOf ve mutableSetOf ile set oluşturmayı öğrenirsin. 5 dk
  2. 2 Set işlemleri add, remove, contains ile set yönetimini öğrenirsin. 5 dk
  3. 3 Map oluşturma mapOf ve mutableMapOf ile map oluşturmayı öğrenirsin. 5 dk
  4. 4 Map işlemleri put, get, remove ile map yönetimini öğrenirsin. 5 dk
  5. 5 Map döngüsü for ile map üzerinde gezinmeyi öğrenirsin. 5 dk
  6. 6 Özet - Map ve Set Set ve Map'i birleştirerek bir telefon rehberi yazarsın. 5 dk
13
Fonksiyonlar
6 ders · 28 dk
  1. 1 Fonksiyon tanımlama fun ile fonksiyon tanımlamayı öğrenirsin. 4 dk
  2. 2 Return değerleri return ile fonksiyondan değer döndürmeyi öğrenirsin. 4 dk
  3. 3 İfade gövdesi = ile ifade gövdeli fonksiyon yazmayı öğrenirsin. 5 dk
  4. 4 Default parametreler Varsayılan değerli parametreler tanımlamayı öğrenirsin. 5 dk
  5. 5 Named argümanlar Named argümanlarla fonksiyon çağırmayı öğrenirsin. 5 dk
  6. 6 Özet - Fonksiyonlar ifade gövdesi, default ve named argümanları birleştirerek bir hesap yardımcı yazarsın. 5 dk
14
Null safety
6 ders · 30 dk
  1. 1 Nullable türler String? ve nullable türleri öğrenirsin. 5 dk
  2. 2 ?., !! ve ?: safe call, non-null assertion ve Elvis operatörlerini öğrenirsin. 5 dk
  3. 3 let let ile null-safe blok öğrenirsin. 5 dk
  4. 4 Null check if (x != null) ile null kontrolünü öğrenirsin. 5 dk
  5. 5 lateinit lateinit var ile gecikmiş başlatma öğrenirsin. 5 dk
  6. 6 Özet - Null safety ?, !!, ?: ve let'i birleştirerek null-safe bir fonksiyon yazarsın. 5 dk
15
Proje: Yapılacaklar listesiProje
5 ders · 30 dk
  1. 1 Görev modeli Task veri sınıfını ve liste yapısını tasarlarsın. 6 dk
  2. 2 Görev ekleme addTask fonksiyonuyla listeye görev eklemeyi öğrenirsin. 6 dk
  3. 3 Görev listeleme listTasks ile görevleri formatlı yazdırmayı öğrenirsin. 6 dk
  4. 4 Görev tamamlama completeTask ile görev durumunu güncellemeyi öğrenirsin. 6 dk
  5. 5 Birleştirme Menü döngüsüyle çalışan bir CLI uygulaması yazarsın. 6 dk
16
İleri dize işlemleri
6 ders · 30 dk
  1. 1 Regex Regex ile düzenli ifadeler öğrenirsin. 5 dk
  2. 2 matches ve find matches ve find ile regex arama öğrenirsin. 5 dk
  3. 3 replace replaceWith ve lambda ile değiştirme öğrenirsin. 5 dk
  4. 4 StringBuilder StringBuilder ile verimli dize birleştirme öğrenirsin. 5 dk
  5. 5 trim ve pad trim, padStart, padRight ile biçimleme öğrenirsin. 5 dk
  6. 6 Özet - İleri dize Regex, StringBuilder ve trim'i birleştirerek bir CSV ayrıştırıcı yazarsın. 5 dk
17
Enum'lar
6 ders · 28 dk
  1. 1 enum class enum class ile adlandırılmış sabitler tanımlamayı öğrenirsin. 4 dk
  2. 2 Enum değerleri Enum elemanlarına erişmeyi ve değerlerini öğrenirsin. 4 dk
  3. 3 Enum özellikleri Enum içinde özellik ve metot tanımlamayı öğrenirsin. 5 dk
  4. 4 when ile enum when ile enum üzerinde dallanmayı öğrenirsin. 5 dk
  5. 5 Enum ve range Enum ile range ve iterator öğrenirsin. 5 dk
  6. 6 Özet - Enum'lar enum class ve when'i birleştirerek bir durum makinesi yazarsın. 5 dk
18
İstisnalar
6 ders · 29 dk
  1. 1 try/catch try/catch ile hata yakalamayı öğrenirsin. 5 dk
  2. 2 throw throw ile istisna fırlatmayı öğrenirsin. 4 dk
  3. 3 finally finally ile temizlik bloğunu öğrenirsin. 5 dk
  4. 4 try ifadesi Kotlin'de try'in ifade olarak kullanımını öğrenirsin. 5 dk
  5. 5 Özel exception Kotlin'de özel istisna sınıfı yazmayı öğrenirsin. 5 dk
  6. 6 Özet - İstisnalar try/catch, finally ve try ifadesini birleştirerek bir banka hesap sınıfı yazarsın. 5 dk
19
Sınıf temelleri
6 ders · 30 dk
  1. 1 class class ile sınıf tanımlamayı öğrenirsin. 5 dk
  2. 2 Constructor Sınıf yapıcı metodunu tanımlamayı öğrenirsin. 5 dk
  3. 3 Özellikler Sınıf içinde özellik (property) tanımlamayı öğrenirsin. 5 dk
  4. 4 Metotlar Sınıf içinde metot tanımlamayı öğrenirsin. 5 dk
  5. 5 this this ile sınıfın kendisine erişmeyi öğrenirsin. 5 dk
  6. 6 Özet - Sınıf temelleri class, constructor ve metotları birleştirerek bir User sınıfı yazarsın. 5 dk
20
Başlangıç finaliProje
5 ders · 30 dk
  1. 1 Proje tasarımı Başlangıç finali mini uygulamasının iskeletini tasarlarsın. 6 dk
  2. 2 Sınıflar class ve constructor ile veri modelini kurarsın. 6 dk
  3. 3 Koleksiyonlar List ve Map ile veri yönetimini yazarsın. 6 dk
  4. 4 Hata yönetimi try/catch ile hata yönetimi eklersin. 6 dk
  5. 5 Birleştirme Tüm parçaları birleştirerek çalışan bir final uygulaması yazarsın. 6 dk

Kotlin'de OOP, kalıtım, data class, sealed class, extension function, generic'ler ve yüksek dereceli fonksiyonlar öğrenirsin.

1
Sınıflar derinlemesine
6 ders · 30 dk
  1. 1 Primary constructor Primary constructor ve init bloğunu öğrenirsin. 5 dk
  2. 2 Secondary constructor Secondary constructor ile birden çok yapıcı öğrenirsin. 5 dk
  3. 3 Properties Mutable ve read-only özellikleri öğrenirsin. 5 dk
  4. 4 Lateinit ve lazy lateinit ve by lazy ile gecikmiş başlatma öğrenirsin. 5 dk
  5. 5 Companion object companion object ile sınıf düzeyi üyeler öğrenirsin. 5 dk
  6. 6 Özet - Sınıflar primary/secondary constructor ve companion object'i birleştirerek bir Point sınıfı yazarsın. 5 dk
2
Kalıtım
6 ders · 30 dk
  1. 1 open open ile miras alınabilir sınıf tanımlamayı öğrenirsin. 5 dk
  2. 2 override override ile metot yeniden tanımlamayı öğrenirsin. 5 dk
  3. 3 super super ile üst sınıfın metotlarını çağırmayı öğrenirsin. 5 dk
  4. 4 abstract abstract class ile soyut sınıf öğrenirsin. 5 dk
  5. 5 interface interface ile arayüz uygulama öğrenirsin. 5 dk
  6. 6 Özet - Kalıtım open, override ve abstract'ı birleştirerek bir şekil hiyerarşisi yazarsın. 5 dk
3
Data class
6 ders · 30 dk
  1. 1 data class data class ile veri sınıfı tanımlamayı öğrenirsin. 5 dk
  2. 2 copy copy ile veri sınıfı kopyalama öğrenirsin. 5 dk
  3. 3 equals ve hashCode equals ve hashCode otomatik üretimini öğrenirsin. 5 dk
  4. 4 toString toString otomatik üretimini öğrenirsin. 5 dk
  5. 5 Destructuring componentN ve destructuring declaration öğrenirsin. 5 dk
  6. 6 Özet - Data class data class, copy ve destructuring'i birleştirerek bir User modeli yazarsın. 5 dk
4
Proje: Yardımcı kütüphaneProje
5 ders · 30 dk
  1. 1 Modül tasarımı Yardımcı kütüphane sınıfının iskeletini tasarlarsın. 6 dk
  2. 2 String yardımcıları String işleme fonksiyonlarını ekler ve test edersin. 6 dk
  3. 3 Sayı yardımcıları Sayı dönüşüm ve hesaplama fonksiyonlarını eklersin. 6 dk
  4. 4 Tarih yardımcıları LocalDate işleme fonksiyonlarını eklersin. 6 dk
  5. 5 Birleştirme Yardımcı fonksiyonları bir kütüphanede birleştirirsin. 6 dk
5
Sealed class
6 ders · 30 dk
  1. 1 sealed class sealed class ile kapalı hiyerarşi öğrenirsin. 5 dk
  2. 2 when ile sealed when ile sealed class üzerinde exhaustive dallanma öğrenirsin. 5 dk
  3. 3 Sealed ve data Sealed class içinde data class kullanmayı öğrenirsin. 5 dk
  4. 4 Sealed ve state Sealed class ile state yönetimini öğrenirsin. 5 dk
  5. 5 Sealed ve result Sealed class ile Result benzeri desen öğrenirsin. 5 dk
  6. 6 Özet - Sealed class sealed class, when ve data class'ı birleştirerek bir sonuç modeli yazarsın. 5 dk
6
Object bildirimi
6 ders · 30 dk
  1. 1 object object ile singleton sınıf tanımlamayı öğrenirsin. 5 dk
  2. 2 companion object companion object ile sınıf düzeyi üyeler öğrenirsin. 5 dk
  3. 3 Object expression object: ile anonim nesne oluşturmayı öğrenirsin. 5 dk
  4. 4 companion ve interface companion object ile interface uygulama öğrenirsin. 5 dk
  5. 5 Object vs class object ve class farkını öğrenirsin. 5 dk
  6. 6 Özet - Object bildirimi object, companion object ve object expression'ı birleştirerek bir yardımcı nesne yazarsın. 5 dk
7
Extension function'lar
6 ders · 30 dk
  1. 1 Extension function fun Receiver.ext() ile extension function öğrenirsin. 5 dk
  2. 2 Extension property val Receiver.ext ile extension property öğrenirsin. 5 dk
  3. 3 Nullable extension Nullable receiver ile extension function öğrenirsin. 5 dk
  4. 4 companion extension companion object'e extension ekleme öğrenirsin. 5 dk
  5. 5 Standart kütüphane Kotlin standart kütüphanesinde extension'ları öğrenirsin. 5 dk
  6. 6 Özet - Extension function'lar extension function, property ve nullable extension'ı birleştirerek bir string yardımcı extension'ı yazarsın. 5 dk
8
Proje: Quiz uygulamasıProje
5 ders · 30 dk
  1. 1 Quiz modeli Question veri sınıfını ve listeyi tasarlarsın. 6 dk
  2. 2 Soru ekleme addQuestion fonksiyonuyla quiz'e soru eklemeyi öğrenirsin. 6 dk
  3. 3 Quiz oynatma runQuiz fonksiyonuyla soruları sırayla sormayı öğrenirsin. 6 dk
  4. 4 Skor hesaplama Skor hesaplama fonksiyonuyla doğru sayısını öğrenirsin. 6 dk
  5. 5 Birleştirme Quiz fonksiyonlarını menü döngüsüyle birleştirirsin. 6 dk
9
Generic'ler
6 ders · 30 dk
  1. 1 Generic sınıf class Box<T> ile generic sınıf öğrenirsin. 5 dk
  2. 2 Generic fonksiyon fun <T> ile generic fonksiyon öğrenirsin. 5 dk
  3. 3 Variance in, out ve variance kavramlarını öğrenirsin. 5 dk
  4. 4 Type constraint where ve upper bound ile tür kısıtları öğrenirsin. 5 dk
  5. 5 Reified reified ile runtime tür bilgisini öğrenirsin. 5 dk
  6. 6 Özet - Generic'ler generic sınıf, fonksiyon ve variance'ı birleştirerek bir Stack<T> yazarsın. 5 dk
10
Yüksek dereceli fonksiyonlar
6 ders · 30 dk
  1. 1 Fonksiyon türü (Int) -> String ile fonksiyon türlerini öğrenirsin. 5 dk
  2. 2 Lambda { x -> x * 2 } ile lambda ifadelerini öğrenirsin. 5 dk
  3. 3 it it ile tek parametreli lambda öğrenirsin. 5 dk
  4. 4 inline inline ile performans optimizasyonu öğrenirsin. 5 dk
  5. 5 Scope function let, run, apply, also, with scope function'ları öğrenirsin. 5 dk
  6. 6 Özet - Yüksek dereceli fonksiyonlar lambda, it ve scope function'ları birleştirerek bir işlem hattı yazarsın. 5 dk
11
Proje: Kütüphane uygulamasıProje
5 ders · 30 dk
  1. 1 Model tasarımı Book ve Member veri sınıflarının iskeletini tasarlarsın. 6 dk
  2. 2 Kütüphane sınıfı Library sınıfıyla koleksiyon yönetimini kurarsın. 6 dk
  3. 3 Ödünç verme checkout ve return fonksiyonlarıyla ödünç akışını yazarsın. 6 dk
  4. 4 Arama ve filtreleme Koleksiyon metotlarıyla arama ve filtreleme yazarsın. 6 dk
  5. 5 Birleştirme Kütüphane sınıfını menü döngüsüyle birleştirirsin. 6 dk
12
İleri koleksiyonlar
6 ders · 30 dk
  1. 1 map ve filter map ve filter ile koleksiyon dönüştürme öğrenirsin. 5 dk
  2. 2 fold ve reduce fold ve reduce ile toplu hesap öğrenirsin. 5 dk
  3. 3 groupBy ve partition groupBy ve partition ile gruplama öğrenirsin. 5 dk
  4. 4 sortedBy ve sortedWith sortedBy ve sortedWith ile sıralama öğrenirsin. 5 dk
  5. 5 assocuate ve flatMap assocuate ve flatMap ile dönüşüm öğrenirsin. 5 dk
  6. 6 Özet - İleri koleksiyonlar map, fold ve groupBy'ı birleştirerek bir satış raporu yazarsın. 5 dk
13
Delegasyon
6 ders · 30 dk
  1. 1 by by ile sınıf delegasyonu öğrenirsin. 5 dk
  2. 2 Delegated property by lazy ve by observable ile delegasyon öğrenirsin. 5 dk
  3. 3 by map by map ile dinamik özellik öğrenirsin. 5 dk
  4. 4 vetoable vetoable ile veto edilebilir property öğrenirsin. 5 dk
  5. 5 custom delegate Kendi property delegate'ini yazmayı öğrenirsin. 5 dk
  6. 6 Özet - Delegasyon by, lazy ve custom delegate'i birleştirerek bir önbellek sistemi yazarsın. 5 dk
14
Value class
6 ders · 30 dk
  1. 1 value class @JvmInline value class ile sarmalayıcı öğrenirsin. 5 dk
  2. 2 Type safety value class ile type safety öğrenirsin. 5 dk
  3. 3 Method value class içinde metot tanımlamayı öğrenirsin. 5 dk
  4. 4 Generic value class generic value class kullanımını öğrenirsin. 5 dk
  5. 5 value class vs data class value class ve data class farkını öğrenirsin. 5 dk
  6. 6 Özet - Value class value class, method ve type safety'yi birleştirerek bir UserId sınıfı yazarsın. 5 dk
15
Coroutine temelleri
6 ders · 30 dk
  1. 1 Coroutine nedir? Coroutine ve async programlama kavramını öğrenirsin. 5 dk
  2. 2 launch GlobalScope.launch ile coroutine başlatmayı öğrenirsin. 5 dk
  3. 3 suspend suspend fun ile askıya alınabilir fonksiyon öğrenirsin. 5 dk
  4. 4 runBlocking runBlocking ile coroutine main öğrenirsin. 5 dk
  5. 5 async/await async ve await ile paralel coroutine öğrenirsin. 5 dk
  6. 6 Özet - Coroutine temelleri launch, suspend ve async/await'i birleştirerek bir paralel indirici yazarsın. 5 dk
16
Flow temelleri
6 ders · 30 dk
  1. 1 Flow Flow ile soğuk akış kavramını öğrenirsin. 5 dk
  2. 2 flow builder flow { } ile Flow oluşturmayı öğrenirsin. 5 dk
  3. 3 collect collect ile Flow tüketmeyi öğrenirsin. 5 dk
  4. 4 map ve filter map ve filter ile Flow dönüştürme öğrenirsin. 5 dk
  5. 5 flowOn flowOn ile Flow bağlam değişimi öğrenirsin. 5 dk
  6. 6 Özet - Flow temelleri flow, collect ve map'i birleştirerek bir olay akışı yazarsın. 5 dk
17
Dosya I/O
6 ders · 30 dk
  1. 1 File java.io.File ile dosya işlemlerini öğrenirsin. 5 dk
  2. 2 readText File.readText ile dosya okumayı öğrenirsin. 5 dk
  3. 3 writeText File.writeText ile dosyaya yazmayı öğrenirsin. 5 dk
  4. 4 readLines File.readLines ile satır okuma öğrenirsin. 5 dk
  5. 5 appendText File.appendText ile dosyaya ekleme öğrenirsin. 5 dk
  6. 6 Özet - Dosya I/O readText, writeText ve readLines'ı birleştirerek bir not defteri yazarsın. 5 dk
18
Paketler ve modüller
6 ders · 28 dk
  1. 1 package package ile paket bildirimi öğrenirsin. 4 dk
  2. 2 import import ile paket içe aktarmayı öğrenirsin. 4 dk
  3. 3 internal internal ile modül görünürlüğü öğrenirsin. 5 dk
  4. 4 Gradle Gradle ile build yapılandırması öğrenirsin. 5 dk
  5. 5 kotlinx kotlinx kütüphanelerini öğrenirsin. 5 dk
  6. 6 Özet - Paketler package, import ve internal'ı birleştirerek bir modül yapısı kurarsın. 5 dk
19
Test
6 ders · 30 dk
  1. 1 JUnit JUnit 5 test çerçevesini öğrenirsin. 5 dk
  2. 2 @Test @Test annotation'ı ile test yazmayı öğrenirsin. 5 dk
  3. 3 Assertions assertEquals, assertTrue ile iddiaları öğrenirsin. 5 dk
  4. 4 @BeforeEach @BeforeEach ve @AfterEach ile fixture öğrenirsin. 5 dk
  5. 5 MockK MockK ile mock öğrenirsin. 5 dk
  6. 6 Özet - Test @Test, assertions ve MockK'yı birleştirerek bir hesap makinesi testi yazarsın. 5 dk
20
Orta seviye finaliProje
5 ders · 30 dk
  1. 1 Proje tasarımı Orta seviye finali mini uygulamasının iskeletini tasarlarsın. 6 dk
  2. 2 OOP modeli Sınıf hiyerarşisi ve interface'leri kurarsın. 6 dk
  3. 3 Koleksiyonlar List, Map ve Flow ile veri süzme yazarsın. 6 dk
  4. 4 Dosya I/O File ile verileri dosyaya kaydedip yüklersin. 6 dk
  5. 5 Birleştirme Tüm katmanları birleştirerek çalışan bir uygulama yazarsın. 6 dk

Kotlin'de coroutine derinlemesine, Flow, Ktor, kotlinx.serialization, Exposed ve DI öğrenirsin.

1
İleri coroutine'ler
6 ders · 30 dk
  1. 1 CoroutineScope CoroutineScope ile yapılandırılmış eşzamanlılık öğrenirsin. 5 dk
  2. 2 Dispatcher Dispatchers.IO, Default, Main ile bağlam öğrenirsin. 5 dk
  3. 3 Job Job ve Job hierarchy öğrenirsin. 5 dk
  4. 4 SupervisorJob SupervisorJob ile hata izolasyonu öğrenirsin. 5 dk
  5. 5 CoroutineExceptionHandler CoroutineExceptionHandler ile hata yönetimi öğrenirsin. 5 dk
  6. 6 Özet - İleri coroutine'ler CoroutineScope, Dispatcher ve Job'ı birleştirerek bir paralel iş yöneticisi yazarsın. 5 dk
2
İleri Flow
6 ders · 30 dk
  1. 1 StateFlow StateFlow ile durum akışı öğrenirsin. 5 dk
  2. 2 SharedFlow SharedFlow ile paylaşılan akış öğrenirsin. 5 dk
  3. 3 Channel Channel ile coroutine'ler arası iletişim öğrenirsin. 5 dk
  4. 4 debounce ve conflate debounce ve conflate ile akış kontrolü öğrenirsin. 5 dk
  5. 5 flatMapLatest flatMapLatest ile en son akış öğrenirsin. 5 dk
  6. 6 Özet - İleri Flow StateFlow, SharedFlow ve Channel'ı birleştirerek bir olay sistemi yazarsın. 5 dk
3
Ktor HTTP istemci
6 ders · 30 dk
  1. 1 Ktor client Ktor client ile HTTP istemcisini öğrenirsin. 5 dk
  2. 2 HttpClient HttpClient yapılandırmasını öğrenirsin. 5 dk
  3. 3 GET client.get ile GET isteği öğrenirsin. 5 dk
  4. 4 POST client.post ile POST isteği öğrenirsin. 5 dk
  5. 5 JSON deserialization kotlinx.serialization ile JSON deserialize öğrenirsin. 5 dk
  6. 6 Özet - Ktor HTTP HttpClient, GET ve JSON'ı birleştirerek bir API istemcisi yazarsın. 5 dk
4
Ktor sunucusu
6 ders · 30 dk
  1. 1 Ktor server Ktor server ile HTTP sunucusu öğrenirsin. 5 dk
  2. 2 Routing routing ile URL rotaları öğrenirsin. 5 dk
  3. 3 Application Application ve module yapısını öğrenirsin. 5 dk
  4. 4 Plugin ContentNegotiation ve StatusPages plugin'lerini öğrenirsin. 5 dk
  5. 5 WebSocket Ktor WebSocket ile gerçek zamanlı iletişim öğrenirsin. 5 dk
  6. 6 Özet - Ktor sunucusu routing, plugin ve WebSocket'i birleştirerek bir API yazarsın. 5 dk
5
kotlinx.serialization
6 ders · 30 dk
  1. 1 @Serializable @Serializable ile sınıf serileştirme öğrenirsin. 5 dk
  2. 2 Json Json.encodeToString ve decodeFromString öğrenirsin. 5 dk
  3. 3 @SerialName @SerialName ile JSON anahtar adlarını öğrenirsin. 5 dk
  4. 4 @Optional @Optional ve default değerlerle opsiyonel alan öğrenirsin. 5 dk
  5. 5 Polymorphism Polymorphic serialization ile polimorfik serileştirme öğrenirsin. 5 dk
  6. 6 Özet - kotlinx.serialization @Serializable, Json ve @SerialName'i birleştirerek bir API modeli yazarsın. 5 dk
6
Exposed SQL
6 ders · 30 dk
  1. 1 Exposed JetBrains Exposed ORM'i öğrenirsin. 5 dk
  2. 2 Table Table object ile şema tanımlamayı öğrenirsin. 5 dk
  3. 3 Transaction transaction bloğu ile SQL işlemlerini öğrenirsin. 5 dk
  4. 4 CRUD insert, select, update, delete ile CRUD öğrenirsin. 5 dk
  5. 5 Join join ile tablo birleştirme öğrenirsin. 5 dk
  6. 6 Özet - Exposed SQL Table, transaction ve CRUD'u birleştirerek bir kullanıcı veritabanı yazarsın. 5 dk
7
Bağımlılık enjeksiyonu
6 ders · 30 dk
  1. 1 Koin Koin DI çerçevesini öğrenirsin. 5 dk
  2. 2 module module { } ile modül tanımlamayı öğrenirsin. 5 dk
  3. 3 single ve factory single ve factory ile bağlam türlerini öğrenirsin. 5 dk
  4. 4 by inject by inject() ile bağımlılık enjekte etmeyi öğrenirsin. 5 dk
  5. 5 by viewModel by viewModel() ile ViewModel enjeksiyonu öğrenirsin. 5 dk
  6. 6 Özet - DI module, single ve by inject'i birleştirerek bir servis katmanı yazarsın. 5 dk
8
İleri test
6 ders · 30 dk
  1. 1 Test coroutine runTest ile coroutine test öğrenirsin. 5 dk
  2. 2 Turbine Turbine ile Flow test öğrenirsin. 5 dk
  3. 3 MockK advanced Gelişmiş MockK (coEvery, coVerify) öğrenirsin. 5 dk
  4. 4 Testcontainers Testcontainers ile entegrasyon testi öğrenirsin. 5 dk
  5. 5 Property test kotest-property ile property-based testing öğrenirsin. 5 dk
  6. 6 Özet - İleri test runTest, Turbine ve MockK'yı birleştirerek bir ViewModel testi yazarsın. 5 dk
9
Fonksiyonel programlama
6 ders · 30 dk
  1. 1 Immutability val ve data class ile immutability öğrenirsin. 5 dk
  2. 2 Pure function Saf fonksiyon ve yan etki kavramlarını öğrenirsin. 5 dk
  3. 3 Sequence Sequence ile tembel koleksiyon öğrenirsin. 5 dk
  4. 4 Fold ve recursion fold ve özyineleme ile fonksiyonel desen öğrenirsin. 5 dk
  5. 5 Monad Result ve Either benzeri monad desenlerini öğrenirsin. 5 dk
  6. 6 Özet - Fonksiyonel programlama immutability, Sequence ve Result'ı birleştirerek bir fonksiyonel işlem hattı yazarsın. 5 dk
10
Koleksiyon stdlib
6 ders · 30 dk
  1. 1 windowed windowed ile pencereleme öğrenirsin. 5 dk
  2. 2 chunked chunked ile parçalama öğrenirsin. 5 dk
  3. 3 zip ve unzip zip ve unzip ile birleştirme öğrenirsin. 5 dk
  4. 4 scan scan ile ara sonuçları öğrenirsin. 5 dk
  5. 5 flatMap ve flatten flatMap ve flatten ile düzleştirme öğrenirsin. 5 dk
  6. 6 Özet - Koleksiyon stdlib windowed, chunked ve zip'i birleştirerek bir veri işleme hattı yazarsın. 5 dk
11
Reflection
6 ders · 30 dk
  1. 1 KClass ::class ve KClass ile sınıf bilgisi öğrenirsin. 5 dk
  2. 2 KProperty KProperty ile özellik bilgisi öğrenirsin. 5 dk
  3. 3 KFunction KFunction ile metot bilgisi öğrenirsin. 5 dk
  4. 4 call KFunction.call ile dinamik çağrı öğrenirsin. 5 dk
  5. 5 Annotations Annotation'ları reflection ile okumayı öğrenirsin. 5 dk
  6. 6 Özet - Reflection KClass, KProperty ve call'i birleştirerek bir serialization framework yazarsın. 5 dk
12
Concurrency desenleri
6 ders · 30 dk
  1. 1 Mutex Mutex ile karşılıklı dışlama öğrenirsin. 5 dk
  2. 2 Semaphore Semaphore ile sayılı erişim öğrenirsin. 5 dk
  3. 3 Producer-consumer Channel ile producer-consumer deseni öğrenirsin. 5 dk
  4. 4 Rate limiter Rate limiter deseni öğrenirsin. 5 dk
  5. 5 Circuit breaker Circuit breaker deseni öğrenirsin. 5 dk
  6. 6 Özet - Concurrency desenleri Mutex, Channel ve rate limiter'ı birleştirerek bir iş kuyruğu yazarsın. 5 dk
13
Güvenlik
6 ders · 30 dk
  1. 1 Hashing java.security.MessageDigest ile hash öğrenirsin. 5 dk
  2. 2 HMAC HMAC ile mesaj doğrulama öğrenirsin. 5 dk
  3. 3 AES javax.crypto ile AES şifreleme öğrenirsin. 5 dk
  4. 4 SecureRandom SecureRandom ile güvenli rastgele öğrenirsin. 5 dk
  5. 5 PBKDF2 PBKDF2 ile parola hash'leme öğrenirsin. 5 dk
  6. 6 Özet - Güvenlik hash, HMAC ve AES'i birleştirerek bir şifreleyici yazarsın. 5 dk
14
İleri seviye finaliProje
5 ders · 30 dk
  1. 1 Proje tasarımı İleri seviye finali mini uygulamasının iskeletini tasarlarsın. 6 dk
  2. 2 Ktor API Ktor ile REST API iskeletini kurarsın. 6 dk
  3. 3 Exposed DB Exposed ile veritabanı katmanı yazarsın. 6 dk
  4. 4 Coroutines Coroutines ve Flow ile asenkron işleme yazarsın. 6 dk
  5. 5 Birleştirme Tüm katmanları birleştirerek çalışan bir mini servis yazarsın. 6 dk

Kotlin'de compile-time safety, KSP/KAPT, compiler plugin, Kotlin/Native, Kotlin Multiplatform ve Compose Multiplatform öğrenirsin.

1
Compile-time safety
6 ders · 30 dk
  1. 1 Contracts Kotlin contracts ile derleme zamanı güvencesi öğrenirsin. 5 dk
  2. 2 Inline function inline ve noinline ile performans güvenliği öğrenirsin. 5 dk
  3. 3 reified reified ile runtime tür güvenliği öğrenirsin. 5 dk
  4. 4 Tailrec tailrec ile özyineleme güvenliği öğrenirsin. 5 dk
  5. 5 Type-safe builder @DslMarker ile type-safe builder öğrenirsin. 5 dk
  6. 6 Özet - Compile-time safety contracts, inline ve type-safe builder'ı birleştirerek bir DSL yazarsın. 5 dk
2
KSP ve KAPT
6 ders · 30 dk
  1. 1 KSP Kotlin Symbol Processing (KSP) kavramını öğrenirsin. 5 dk
  2. 2 KSP processor KSP processor yazmayı öğrenirsin. 5 dk
  3. 3 KAPT KAPT annotation processing'i öğrenirsin. 5 dk
  4. 4 KSP vs KAPT KSP ve KAPT farkını öğrenirsin. 5 dk
  5. 5 Generated code KSP ile kod üretimini öğrenirsin. 5 dk
  6. 6 Özet - KSP ve KAPT KSP processor, KAPT ve kod üretimini birleştirerek bir annotation işleyici yazarsın. 5 dk
3
Compiler plugin
6 ders · 30 dk
  1. 1 Compiler plugin Kotlin compiler plugin kavramını öğrenirsin. 5 dk
  2. 2 IR Kotlin IR (Intermediate Representation) öğrenirsin. 5 dk
  3. 3 Plugin vs KSP Compiler plugin ve KSP farkını öğrenirsin. 5 dk
  4. 4 All-open all-open compiler plugin'ını öğrenirsin. 5 dk
  5. 5 No-arg no-arg compiler plugin'ını öğrenirsin. 5 dk
  6. 6 Özet - Compiler plugin IR, all-open ve no-arg'ı birleştirerek bir framework entegrasyonu yazarsın. 5 dk
4
Kotlin/Native
6 ders · 30 dk
  1. 1 Kotlin/Native Kotlin/Native ile native derleme öğrenirsin. 5 dk
  2. 2 Interop C interop ile C kütüphanelerini öğrenirsin. 5 dk
  3. 3 Memory model Kotlin/Native memory model'ini öğrenirsin. 5 dk
  4. 4 Konan Konan derleyicisini öğrenirsin. 5 dk
  5. 5 Native library Kotlin/Native ile native kütüphane yazmayı öğrenirsin. 5 dk
  6. 6 Özet - Kotlin/Native interop, memory model ve native kütüphaneyi birleştirerek bir native modül yazarsın. 5 dk
5
Kotlin Multiplatform
6 ders · 30 dk
  1. 1 KMP Kotlin Multiplatform (KMP) kavramını öğrenirsin. 5 dk
  2. 2 commonMain commonMain ile paylaşılan kod öğrenirsin. 5 dk
  3. 3 expect/actual expect/actual ile platform kodu öğrenirsin. 5 dk
  4. 4 iOS target KMP ile iOS hedefini öğrenirsin. 5 dk
  5. 5 JS target KMP ile JavaScript hedefini öğrenirsin. 5 dk
  6. 6 Özet - Kotlin Multiplatform commonMain, expect/actual ve platform hedeflerini birleştirerek bir KMP kütüphanesi yazarsın. 5 dk
6
Compose Multiplatform
6 ders · 30 dk
  1. 1 Compose MP Compose Multiplatform kavramını öğrenirsin. 5 dk
  2. 2 @Composable @Composable ile bileşen yazmayı öğrenirsin. 5 dk
  3. 3 remember remember ile state hatırlama öğrenirsin. 5 dk
  4. 4 MutableState mutableStateOf ile reaktif state öğrenirsin. 5 dk
  5. 5 Platform UI Compose ile platform UI (Desktop, Web) öğrenirsin. 5 dk
  6. 6 Özet - Compose MP @Composable, remember ve MutableState'i birleştirerek bir platformlar arası UI yazarsın. 5 dk
7
Performans
6 ders · 30 dk
  1. 1 Profiling JVM profiling ve JMH ile performans ölçümünü öğrenirsin. 5 dk
  2. 2 Allocation Nesne ayırma ve GC etkisini öğrenirsin. 5 dk
  3. 3 Inline inline ile fonksiyon çağrı optimizasyonu öğrenirsin. 5 dk
  4. 4 Sequence Sequence ile tembel hesap optimizasyonu öğrenirsin. 5 dk
  5. 5 Coroutine overhead Coroutine ve thread maliyetini öğrenirsin. 5 dk
  6. 6 Özet - Performans profiling, inline ve Sequence'i birleştirerek optimize edilmiş bir kopyalama fonksiyonu yazarsın. 5 dk
8
Uzman finaliProje
5 ders · 30 dk
  1. 1 Proje tasarımı Uzman finali mini uygulamasının iskeletini tasarlarsın. 6 dk
  2. 2 KMP Kotlin Multiplatform ile paylaşılan modül yazarsın. 6 dk
  3. 3 KSP KSP ile kod üretimi yazarsın. 6 dk
  4. 4 Compose Compose Multiplatform ile UI yazarsın. 6 dk
  5. 5 Birleştirme Tüm uzman konularını birleştirerek çalışan bir mini uygulama yazarsın. 6 dk

Dersler ücretsiz, hesap ilerlemeni korur

Hesap açmak zorunlu değil. Açarsan kaldığın yerden devam eder, emeğini kaybetmezsin.

  • İlerlemen her cihazda kayıtlı
  • XP ve rozet kazan
  • Günlük seriyi koru
  • Kursu bitirince sertifika al
ücretsiz hesap aç

Sık sorulan sorular

Kotlin dersleri ücretsiz mi?

Evet. Kotlin kursundaki 362 dersin tamamı ücretsiz ve hesap açmadan başlayabilirsin.

Başlamak için ön bilgi gerekiyor mu?

Hayır. Başlangıç seviyesi sıfırdan anlatır; yalnızca bir tarayıcı yeterli. Konuyu biliyorsan üst seviyelerden başlayabilirsin.

Kursu bitirmek ne kadar sürer?

Dersler 2–8 dakikalık. Tüm kurs yaklaşık 30 saat; günde 15–20 dakikayla birkaç ayda bitirebilirsin.

Sertifika veriliyor mu?

Evet. Ücretsiz hesapla kursu tamamladığında adına doğrulanabilir bir sertifika oluşturulur.

Hesap açmadan ilerlemem kaybolur mu?

Hesapsız ilerlemen yalnızca kullandığın tarayıcıda tutulur. Ücretsiz hesap açtığında bu ilerleme hesabına aktarılır.

Sonraki adım SQL

SELECT, JOIN, alt sorgu, indeksleme ve performans ayarı ile SQL'in tüm seviyelerini öğrenin.