İçeriğe geç

Çalışma Planı

Adım Adım Backend

Hiçbir şey bilmediğini varsayıp baştan başlıyoruz: önce Java'nın içi, sonra Spring, veri katmanı ve birbiriyle konuşan servisler. Günde iki kısa ders, haftada beş gün. Altıncı gün karışık alıştırma, yedinci gün dinlenme.

10 hafta 90 ders 60 dk / gün

Bir gün nasıl geçer

  1. 1 10 dk

    Tekrar kartları

    Vadesi gelen soruları çöz. Unutmaya başladığın yeri burası yakalar.

  2. 2 20 dk

    Birinci ders

    Özet, simülatör ve Checkpoint soruları. Derinleş bölümlerini şimdilik kapalı bırak.

  3. 3 5 dk

    Mola

    Ekrandan kalk. Beyin bu arada öğrendiğini yerine koyuyor.

  4. 4 20 dk

    İkinci ders

    Aynı sırayla. Bitince dersin sonundaki Kendini sına bölümünü çöz.

  5. 5 5 dk

    Derinleş (isteğe bağlı)

    Vakit kalırsa dünkü dersin kod örneğini aç ve dosyaları tek tek oku.

Haftada beş gün iki ders. Altıncı gün Pratik sayfasında 20 soruluk karışık bir alıştırma. Yedinci gün hafif gün: Tekrar sayfasında birkaç kart çözmek yeter, serin de korunur.

Bugün

Yolda sıradaki iki ders:

  1. 1Stack, Heap ve Pass-by-Value9 dk
  2. 2String — Hiç Değişmeyen Metin8 dk
Bugün vadesi gelen tekrar kartı yok.
  1. Hafta 1

    Java ve OOP temeli

    Bilgisayarın hafızasında neler oluyor, nesneler nasıl kurulur? Gerisinin hepsi bunun üstüne oturuyor.

    0/10 ders tamamlandı

    0
    1. SıradaStack, Heap ve Pass-by-Value9 dk
    2. SıradaString — Hiç Değişmeyen Metin8 dk
    3. Sıradafinal ve static — Kilitli Olan ve Ortak Olan8 dk
    4. SıradaSınıf, Nesne ve Kapsülleme — Kuralı Kim Koruyor?8 dk
    5. SıradaKalıtım ve Kompozisyon — Kimin İç Ayrıntısına Bağlısın?8 dk
    6. SıradaPolimorfizm ve Dinamik Bağlama — Kararı Kim Veriyor?8 dk
    7. SıradaInterface ve Abstract Class — Rol mü, İskelet mi?8 dk
    8. SıradaHashMap, equals ve hashCode10 dk
    9. SıradaKoleksiyonların İçi — ArrayList, LinkedList ve Iterator8 dk
    10. SıradaException Yönetimi — Hata Yukarı Çıkarken Ne Kaybolur8 dk
  2. Hafta 2

    Nesneleri derinlemesine

    Nesnelerin nasıl doğduğu, kimin neye erişebildiği ve değişmeyen sınıflar: OOP'nin temelini sağlamlaştıran küçük adımlar.

    0/6 ders tamamlandı

    0
    1. SıradaConstructor ve this — Nesne Nasıl Doğar?8 dk
    2. SıradaErişim Belirleyiciler — Kim Hangi Kapıdan Girer?8 dk
    3. SıradaObject Sınıfı — Her Nesnenin Ortak Mirası8 dk
    4. SıradaDeğişmez Sınıf Tasarlamak — Bir Kez Kur, Hep Güven9 dk
    5. Sıradaİç İçe Sınıflar — static, Inner, Anonim ve Yerel9 dk
    6. SıradaSoyutlama ve Dört Sütun — Hangi Değişikliğe Hangisi Yardım Eder?9 dk
  3. Hafta 3

    Modern Java ve concurrency

    Kodu kısa ve okunur yazmanın modern yolları, sonra aynı anda çalışan thread'lerin kafa karıştıran dünyası.

    0/10 ders tamamlandı

    0
    1. SıradaGenerics ve Type Erasure — Derleyicinin Bildiği, JVM'in Unuttuğu8 dk
    2. SıradaLambda ve Fonksiyonel Arayüzler — Lambda Neyi Yakalar?8 dk
    3. SıradaOptional'ı Doğru Kullanmak — Yokluğu Tipe Yazmak8 dk
    4. SıradaStream API ve Tembellik10 dk
    5. SıradaJava 8'den 21'e — Her Özellik Bir Hata Sınıfı10 dk
    6. SıradaRace Condition ve Görünürlük10 dk
    7. SıradaConcurrency Araçları — Executor, Lock, Atomic ve Deadlock9 dk
    8. SıradaConcurrentHashMap — Güvenli Map, Güvensiz Sayaç9 dk
    9. SıradaVirtual Threads vs Platform Threads10 dk
    10. SıradaTemiz Kod — İsimler, Fonksiyonlar, Yorumlar9 dk
  4. Hafta 4

    Spring çekirdeği

    Spring'in perde arkasında senin yerine yaptığı işler: nesneleri kurmak, bağlamak ve sarmalamak.

    0/10 ders tamamlandı

    0
    1. SıradaIoC ve Dependency Injection9 dk
    2. SıradaSpring MVC — Bir İstek Controller'a Nasıl Ulaşır?10 dk
    3. SıradaAuto-configuration — Bu Bean Nereden Geldi?8 dk
    4. SıradaKonfigürasyon ve Profiller — Bu Değer Nereden Geldi?8 dk
    5. SıradaTransaction Propagation ve Rollback Yayılımı10 dk
    6. SıradaAOP, Proxy ve Self-Invocation Tuzağı10 dk
    7. SıradaValidation ve Hata Yönetimi — İstemci Ne Görüyor?8 dk
    8. SıradaSpring Cache — @Cacheable Kimin Cevabını Hatırlıyor?9 dk
    9. Sırada@Async ve Thread Havuzu — Max Neden Hiç Dolmuyor?9 dk
    10. SıradaSpring Security Filter Chain10 dk
  5. Hafta 5

    Veri, JPA ve Hibernate

    Veritabanıyla konuşurken sessizce yanlış giden şeyler ve onları görünür hale getirmek.

    0/10 ders tamamlandı

    0
    1. SıradaJPA N+1 Problemi10 dk
    2. SıradaPersistence Context — Hibernate'in Hafızası9 dk
    3. SıradaJPA Projection ve DTO — Üç Alan İçin Ne Kadar Veri?8 dk
    4. SıradaID Üretimi ve Batch Insert — 200 Satır Kaç Gidiş Dönüş?8 dk
    5. SıradaFlush ve SQL Sırası — save() Satırında Neden Hiçbir Şey Olmuyor?8 dk
    6. SıradaCascade ve İlişkinin Sahibi — Kalem Gerçekten Eklendi mi?9 dk
    7. SıradaSQL mi, NoSQL mi? — Önce Erişim Desenini Yaz8 dk
    8. Sıradaİzolasyon Seviyeleri — Aynı İsim, Üç Farklı Davranış9 dk
    9. SıradaSQL İndeksleme ve EXPLAIN10 dk
    10. SıradaBağlantı Havuzu — Büyük Havuz Hızlı Havuz Değildir8 dk
  6. Hafta 6

    Dağıtık sistemler

    Tek uygulama yetmeyince: servisleri bölmek, konuşturmak ve biri çöktüğünde ayakta kalmak.

    0/10 ders tamamlandı

    0
    1. SıradaMonolit mi, mikroservis mi?9 dk
    2. SıradaServis Sınırları — Bounded Context ve Database-per-Service10 dk
    3. SıradaMikroservis Katmanları — İstek Nereden Geçiyor10 dk
    4. SıradaREST Tasarımı ve Idempotency10 dk
    5. SıradaBFF — Backend for Frontend10 dk
    6. SıradaFeign Client — Kolaylığın Gizlediği Şeyler10 dk
    7. SıradaCircuit Breaker10 dk
    8. SıradaAPI Gateway ve Service Discovery — İstek Doğru Kapıyı Nasıl Bulur9 dk
    9. SıradaOutbox ve Idempotent Consumer — Olay Kaybolmasın, İki Kez de İşlenmesin9 dk
    10. SıradaSaga Pattern10 dk
  7. Hafta 7

    Dağıtık sistemler, ikinci adım

    Servisler arasında tutarlı kalmak, bir isteği uçtan uca izlemek ve bir sistemi kimseyi kırmadan servislere taşımak.

    0/9 ders tamamlandı

    0
    1. SıradaDağıtık Transaction — 2PC Neden Nadiren, Saga Neden Sık10 dk
    2. SıradaActuator ve Gözlemlenebilirlik — Sağlık, Metrik, İz9 dk
    3. SıradaDağıtık Tracing — Bir İsteği Beş Servis Boyunca İzlemek10 dk
    4. SıradaStrangler Fig ve API Sürümleme — Monoliti Kimseyi Kırmadan Taşımak10 dk
    5. SıradaCQRS ve Event Sourcing — Olanı Yaz, Okumayı Ayır10 dk
    6. SıradaRate Limiting — Kapıdan Saniyede Kaç Kişi Geçer?10 dk
    7. SıradaCache Stratejileri — Defter Ne Zaman Yalan Söyler?10 dk
    8. SıradaYük Dengeleme — Trafik Artınca Kapıya Kim Bakar?10 dk
    9. SıradaURL Kısaltıcı Tasarımı — Parçaları Tek Sistemde Birleştirmek10 dk
  8. Hafta 8

    Tasarım ve ölçekleme

    Kodu uzun yıllar yaşayacak biçimde düzenlemek ve kullanıcı sayısı artınca büyüyebilmek.

    0/10 ders tamamlandı

    0
    1. SıradaSOLID — Beş Harf, Tek Soru10 dk
    2. SıradaNesne Yönelimli Tasarım — Kapsülleme ve Kompozisyon10 dk
    3. SıradaTasarım Kalıpları — Ne Zaman Kazandırır10 dk
    4. SıradaZengin Domain Modeli — JPA Entity'de Kapsülleme10 dk
    5. SıradaValue Object ve Record — Anlamı Tipe Taşımak10 dk
    6. SıradaYaratımsal Kalıplar — Constructor Ne Zaman Yetmez10 dk
    7. SıradaSpring'in İçindeki Kalıplar — Strategy, Template Method, Proxy, Observer10 dk
    8. SıradaCode Smell ve Refactoring — Davranışı Değiştirmeden Değiştirmek8 dk
    9. SıradaOturum Yönetimi ve Stateless Ölçekleme10 dk
    10. SıradaKafka — Partition, Consumer Group ve Lag10 dk
  9. Hafta 9

    Java'da sık karşılaşılanlar

    Her Java projesinde karşına çıkan ama ayrı bir yere sığmayan konular: sıralama, para hesabı, enum'lar ve daha fazlası.

    0/10 ders tamamlandı

    0
    1. SıradaComparable ve Comparator — Kim Önce Gelir?8 dk
    2. SıradaBigDecimal — Parada Kuruş Kaybetmemek8 dk
    3. SıradaZaman ve Saat Dilimleri — Havale Hangi Güne Yazılır?9 dk
    4. SıradaEnum — Sabit Bir Seçenek Listesi8 dk
    5. Sıradaint ve Integer — Kutulu ve Kutusuz Sayılar8 dk
    6. SıradaAnnotation ve Reflection — Spring'in Sihri Nasıl Çalışır?9 dk
    7. SıradaBellek Sızıntısı ve Referans Türleri — GC Neyi Bırakabilir?10 dk
    8. SıradaProd'da Teşhis — Heap Dump, Thread Dump ve İlk On Beş Dakika10 dk
    9. SıradaJVM Konteynerde — Bellek Sınırı Heap'ten Büyüktür10 dk
    10. SıradaJMH ile Doğru Ölçüm — Sayıya Güvenmeden Önce9 dk
  10. Hafta 10

    Tasarımı derinleştirmek

    Değişimi ucuz tutan küçük kurallar, kalıpların geri kalanı ve iş kurallarını dış dünyadan ayırmak.

    0/5 ders tamamlandı

    0
    1. SıradaDRY, KISS, YAGNI ve Demeter — Değişimi Ucuz Tutmak10 dk
    2. SıradaYapısal Kalıplar — Sarmalayarak Genişletmek8 dk
    3. SıradaDavranışsal Kalıplar — State, Chain of Responsibility, Command9 dk
    4. SıradaHexagonal Mimari — Bağımlılık Oku Hangi Yöne Bakıyor10 dk
    5. SıradaDomain Olayları — Hesap Açılmadı, Hoş Geldin E-postası Neden Gitti?8 dk

Başka bir yol

Yol bittikten sonra

Yolu bitirince merakına göre seç. Bunlar daha ileri ya da backend dışı konular; şimdilik bakman gerekmiyor.