Çalışma Planı
Veriyle Barışmak
Önce veriyi doğru yere koymayı, sonra veritabanının içinde neler döndüğünü görüyoruz. Ardından iki hafta Hibernate: arka planda yazdığı SQL'i ve sorguları. Son hafta veri büyüyünce ne olduğu. Günde bir kısa ders; acele yok.
5 hafta 35 ders 30 dk / gün
Bir gün nasıl geçer
-
1 10 dk
Tekrar kartları
Vadesi gelen soruları çöz. Unutmaya başladığın yeri burası yakalar.
-
2 20 dk
Birinci ders
Özet, simülatör ve Checkpoint soruları. Derinleş bölümlerini şimdilik kapalı bırak.
-
3 5 dk
Mola
Ekrandan kalk. Beyin bu arada öğrendiğini yerine koyuyor.
-
4 20 dk
İkinci ders
Aynı sırayla. Bitince dersin sonundaki Kendini sına bölümünü çöz.
-
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:
- 1SQL mi, NoSQL mi? — Önce Erişim Desenini Yaz8 dk
- 2Normalizasyon — Aynı Bilgi Neden Tek Yerde Durmalı?8 dk
Hafta 1
Veriyi doğru yere koymak
Hangi veritabanı, hangi tablo, hangi indeks? Sorgu yazmadan önce verinin şekline karar veriyoruz.
0/8 ders tamamlandı
- SıradaSQL mi, NoSQL mi? — Önce Erişim Desenini Yaz8 dk
- SıradaNormalizasyon — Aynı Bilgi Neden Tek Yerde Durmalı?8 dk
- SıradaDoküman Modelleme — Göm mü, Referans mı?8 dk
- SıradaSQL İndeksleme ve EXPLAIN10 dk
- SıradaSayfalama — OFFSET mi, Keyset mi?9 dk
- SıradaPencere Fonksiyonları — Ekstrede Yürüyen Bakiye Nasıl Hesaplanır?8 dk
- SıradaMaterialized View — Pano Her Açılışta Neden Bütün Günü Yeniden Topluyor?8 dk
- SıradaTam Metin Arama — LIKE '%kira%' Neden Hem Yavaş Hem Eksik?9 dk
Hafta 2
Veritabanının içinde
Planner bu yolu neden seçti, iki işlem aynı satıra dokununca ne olur, satırlar diskte nasıl durur?
0/6 ders tamamlandı
- SıradaSorgu Planı ve Join Algoritmaları — Planner Neden Bu Yolu Seçti?9 dk
- Sıradaİzolasyon Seviyeleri — Aynı İsim, Üç Farklı Davranış9 dk
- SıradaMVCC ve Kilitler — Eski Satır Sürümleri Nerede Yaşar?9 dk
- SıradaAynı Sorgu, Üç Lehçe — PostgreSQL, SQL Server, Oracle8 dk
- SıradaLSM Ağacı — Yazmayı Ekleyerek Hızlanan Veritabanları10 dk
- SıradaSQL Server'da Kilit Yükseltme — Gün Sonu İşi Neden Müşteriyi Bekletti?9 dk
Hafta 3
Hibernate arka planda ne yapıyor?
Bir liste neden yüz sorgu atar, save() satırında neden SQL yok, nesne ne zaman yazılır, aynı kayıt bellekte iki kez olabilir mi?
0/8 ders tamamlandı
- SıradaJPA N+1 Problemi10 dk
- SıradaPersistence Context — Hibernate'in Hafızası9 dk
- SıradaID Üretimi ve Batch Insert — 200 Satır Kaç Gidiş Dönüş?8 dk
- SıradaFlush ve SQL Sırası — save() Satırında Neden Hiçbir Şey Olmuyor?8 dk
- SıradaCascade ve İlişkinin Sahibi — Kalem Gerçekten Eklendi mi?9 dk
- SıradaEntity equals ve hashCode — Aynı Sipariş mi?8 dk
- SıradaToplu UPDATE — Veritabanı Değişti, Nesnen Neden Haberi Yok?8 dk
- SıradaEnum Eşleme — Bloklu Kart Neden Bir Gün Dondurulmuş Göründü?8 dk
Hafta 4
Hibernate'te sorgu ve modelleme
join fetch sayfalamayı neden bozar, filtre ekranı nasıl güvenli kalır, silinen kayıt gerçekten gider mi?
0/6 ders tamamlandı
- Sıradajoin fetch ve Sayfalama — 10 Sipariş İçin Bütün Tablo9 dk
- SıradaDinamik Sorgu — Filtre Ekranı Bir Kapıya Dönüşmesin9 dk
- SıradaKiracı Ayrımı — A Bankasının Müşterisi B Bankasının Verisini Görmesin8 dk
- SıradaKalıtım Stratejileri — Üç Ödeme Türü, Kaç Tablo?9 dk
- SıradaSoft Delete — Silinen Hesap Gerçekten Gitti mi?9 dk
- Sıradaİkinci Seviye Cache — Hangi Cache, Hangi Soruya Cevap Verir?9 dk
Hafta 5
Veri büyüyünce
Bağlantılar biterse, okumalar kopyaya giderse, tablo değişirken servis ayakta kalmak zorundaysa ne olur?
0/7 ders tamamlandı
- SıradaBağlantı Havuzu — Büyük Havuz Hızlı Havuz Değildir8 dk
- SıradaReplikasyon ve Okuma Replikaları — Yazdım Ama Göremiyorum9 dk
- SıradaKesintisiz Şema Değişikliği — Genişlet, Taşı, Daralt9 dk
- SıradaTablo Bölümleme — Eski Yılı Silmek Neden Bütün Geceyi Aldı?8 dk
- SıradaSharding ve Shard Anahtarı — Veriyi Bölmenin Tek Önemli Kararı9 dk
- SıradaTutarlılık Seviyeleri ve Quorum — CAP'ı Doğru Okumak9 dk
- SıradaLiquibase — Bir Satırı Düzelttim, Uygulama Neden Açılmadı?9 dk
Başka bir yol
Adım Adım Backend
Java'dan mikroservise, günde iki küçük adım
Ön Yüz Adım Adım
Tarayıcıdan React'e, formdan performansa, günde iki küçük adım
Üretimde Ayakta Kalmak
Yük gelince, bir şey bozulunca, yeni sürüm çıkarken servisi ayakta tutmak
Güvenle Değiştirmek
Testten yayına: kodu değiştirirken içinin rahat olması
Yapay Zekâyla Kod Yazmak
Asistanı kullanmayı değil, ona güvenmenin sınırını öğrenmek
Derin Sular
Temeli bitirdin mi? JVM'in, Spring'in ve servisler arası konuşmanın derinleri
Para ve Piyasa
Bir emrin borsaya gidip geri dönüşü, adım adım