AI MaestroSoloLabsSeviye 2

Kavram Sözlüğü — Seviye 2

Bu sözlük Seviye 2 (Proje Ustalığı) derslerinde karşılaşacağınız Yazılım Projesi ve Kod temellerini içerir. Seviye 2 derslerine başlamadan önce burayı okumanız önerilir. Her kavram aynı kalıpta: Nedir → Ne işe yarar → Örnek → (varsa) Opsiyonlar → Nerede karşına çıkar → Derinlemesine.


Bölüm 2 · Yazılım Projesi ve Kod Temelleri

Repo (EN: repository — depo)

  • Nedir: Projenin tüm dosyalarını + tüm değişiklik tarihçesini birlikte tutan klasör. Benzetme: her sayfasının bütün eski sürümleri saklanan defter.
  • Ne işe yarar: "Dün çalışıyordu" dediğiniz her an, dünkü hâle dönebilmenizi sağlar.
  • Örnek: kafe-siparis klasörünüz bir repo: içinde bugünkü kod + "3 Mayıs'tan beri yapılmış her değişikliğin kim/ne zaman/ne kaydı" birlikte duruyor.
  • Opsiyonlar: Tarihçeyi tutan araç fiilen tek: Git. Reponun internetteki kopyası için: GitHub ↔ GitLab ↔ Bitbucket (GitHub fiili standart).

Commit (EN: commit)

  • Nedir: Projenin o anki hâlinin, açıklama notuyla kaydedilmiş fotoğrafı. Benzetme: bilgisayar oyunundaki kayıt noktası (checkpoint).
  • Ne işe yarar: Vibe coding'in sigortasıdır: her sağlam adımdan sonra commit atılırsa, AI bir şeyi bozduğunda son sağlam kayda dönülür.
  • Örnek: "Arama kutusu eklendi, doğrulandı" notlu commit attınız; iki saat sonra her şey bozuldu → tek hamlede o kayda dönüyorsunuz, kayıp: sıfır.
  • Derinlemesine: seviye-2-proje.md ders 2.2.

Branch (EN: branch — dal)

  • Nedir: Projenin, ana kopyayı bozmadan üzerinde çalışılan paralel kopyası. Benzetme: belgenin "taslak" kopyasında çalışıp beğenince asıl belgeye geçirmek.
  • Ne işe yarar: Riskli denemeleri ana üründen yalıtır.
  • Örnek: "karanlik-tema-denemesi" dalı açtırdınız; iki gün orada oynadınız. Beğenmediniz → dalı sildiniz; ana site bir saniye bile etkilenmedi.
  • Derinlemesine: seviye-2-proje.md ders 2.2.

Merge (EN: merge — birleştirme)

  • Nedir: Dalda yapılan işi ana kopyaya katma işlemi.
  • Ne işe yarar: "Taslak beğenildi, yayına girsin" adımıdır. Denetim tam bu kapıda yapılır — merge'den önce.
  • Örnek: Karanlık tema dalını beğendiniz → denetimden geçirdiniz → merge: artık ana ürünün parçası.
  • Derinlemesine: seviye-4-filo.md ders 4.5 (denetimsiz merge'in bedeli).

Diff (EN: diff — fark)

  • Nedir: İki sürüm arasındaki farkın satır satır gösterimi: silinenler kırmızı/eksili, eklenenler yeşil/artılı.
  • Ne işe yarar: Kod bilmeyenin en güçlü denetim aracı budur. Kodu yazamazsınız ama "AI neye dokunmuş, ne kadar dokunmuş, dokunmaması gereken yere dokunmuş mu"yu diff'ten okuyabilirsiniz.
  • Örnek: "Menü sayfasını düzelt" dediniz; diff'te bir de odeme.ts dosyası görünüyor. Kod bilmeden alarm çaldı bile: "menü işinde ödeme dosyasının işi ne?"
  • Derinlemesine: seviye-1-oturum.md ders 1.4.

Build (EN: build — derleme)

  • Nedir: Projenin, insan tarafından yazılmış hâlinden bilgisayarın çalıştıracağı pakete dönüştürülmesi; bu sırada proje baştan sona tutarlılık kontrolünden geçer.
  • Ne işe yarar: "Build geçti" = projenin iskeleti ayakta demektir. Yayına gitmeden önceki mekanik kalite kapısıdır.
  • Örnek: npm run build → "Type error: 'baslik' diye bir alan yok" — hata, kullanıcıya değil size göründü. Kapı görevini yaptı.
  • Nerede karşına çıkar: npm run build, "build failed" hataları, yayın öncesi kontroller.
  • Derinlemesine: seviye-2-proje.md ders 2.3.

Test (EN: test)

  • Nedir: "Bu fonksiyona şunu verirsen şunu döndürmeli" kurallarını otomatik sınayan küçük kontrol programları.
  • Ne işe yarar: AI bir yeri değiştirince başka bir yerin kırılıp kırılmadığını saniyeler içinde söyler. Kod bilmeyenin ikinci en güçlü denetim aracı.
  • Örnek: "Sepete 2 ürün eklenince toplam ikisinin fiyat toplamı olmalı" testi yazılı; AI indirim kodu eklerken toplamı bozdu → test 2 saniyede kırmızı yandı.
  • Derinlemesine: seviye-2-proje.md ders 2.3.

CLAUDE.md

  • Nedir: Proje klasörünün köküne koyduğunuz, AI'ın her oturumda otomatik okuduğu kurallar dosyası — projenin anayasası.
  • Ne işe yarar: "Bu projede şunu asla yapma, şu komutla test et, şu klasör düzenine uy" gibi kuralları her seferinde tekrar yazmaktan kurtarır.
  • Örnek: 15 satırlık bir CLAUDE.md: "Bu bir kafe sipariş uygulamasıdır · test: npm test · ödeme dosyalarına dokunmadan önce sor · arayüz dili Türkçe · her doğrulanmış adımda commit öner."
  • Derinlemesine: seviye-2-proje.md ders 2.1.

Ortam değişkeni ve secret (EN: environment variable / secret)

  • Nedir: Programın çalıştığı yere göre değişen ayarlar (ortam değişkeni) ve şifre niteliğindeki değerler: API anahtarları, veritabanı şifreleri (secret).
  • Ne işe yarar (kural): Secret'lar ASLA kod dosyalarına yazılmaz — koda yazılan şifre, repo paylaşıldığı an çalınmış sayılır.
  • Örnek: Ödeme sağlayıcınızın anahtarı kodda değil, yerelde .env dosyasında; canlıda Vercel panelinin ortam değişkenleri bölümünde duruyor. Kodda sadece "anahtarı ortamdan al" yazıyor.
  • Derinlemesine: seviye-2-proje.md ders 2.6.

Bağımlılık (EN: dependency)

  • Nedir: Projenizin kullandığı, başkalarının yazdığı hazır kod paketleri. Benzetme: yemeği sıfırdan değil, hazır malzemelerle yapmak.
  • Ne işe yarar: Tekerleği yeniden icat etmemeyi sağlar; ama her bağımlılık bir güven ilişkisidir (bakımsız/şüpheli paket = risk).
  • Örnek: Randevu uygulamanıza takvim gerekiyor; takvimi sıfırdan yazmak haftalar sürer — hazır "tarih seçici" paketi kurulur, iş dakikalara iner.
  • Nerede karşına çıkar: npm install, package.json, "vulnerability" uyarıları.

Framework (EN: framework — çatı)

  • Nedir: Bir uygulamanın iskeletini hazır veren yapı; siz (ve AI) sadece işin size özel kısmını doldurursunuz. Benzetme: karkası hazır bina — odaları siz döşersiniz.
  • Ne işe yarar: Aylarca sürecek temel işleri günlere indirir.
  • Örnek: Next.js'te "sayfalar arası geçiş, hızlı yükleme, arama motoru uyumu" hazır geliyor; siz sadece "menü sayfamda şunlar olsun" diyorsunuz.
  • Opsiyonlar: Web'de yaygın olanlar: Next.js (React tabanlı; referans stack'imiz) ↔ diğerleri. Seçimden çok tutarlılık önemlidir.

Veritabanı (EN: database)

  • Nedir: Uygulamanın kalıcı verilerinin (kullanıcılar, siparişler...) düzenli saklandığı sistem. Benzetme: mükemmel indekslenmiş arşiv dolabı.
  • Ne işe yarar: Uygulama kapansa da verinin durmasını sağlar.
  • Örnek: Kafe uygulamanızda dünkü 47 sipariş (kim, ne, kaç TL) veritabanında; uygulamayı kapatıp açınca hepsi yerli yerinde.
  • Opsiyonlar: Bkz. arac-envanteri.md Veritabanı bölümü.

Frontend / Backend (EN: frontend / backend)

  • Nedir: Frontend = kullanıcının gördüğü kısım (ekranlar, butonlar). Backend = perde arkası (veritabanı işlemleri, hesaplar, güvenlik). Benzetme: restoranın salonu ve mutfağı.
  • Ne işe yarar: Hata ayıklarken "sorun salonda mı mutfakta mı" sorusu, aramayı yarıya indirir.
  • Örnek: "Sepete ekle" butonunun rengi ve animasyonu → frontend. Butona basınca stoktan düşüp toplamı hesaplayan kısım → backend.
  • Nerede karşına çıkar: Hata ekranda mı veride mi ayrımı.

Localhost (EN: localhost)

  • Nedir: Projenin, yayına çıkmadan sadece sizin bilgisayarınızda çalışan hâli; tarayıcıda localhost:3000 gibi adreslerle açılır.
  • Ne işe yarar: Her şey önce burada denenir — canlıya sağlamı gider.
  • Örnek: npm run dev → tarayıcıda localhost:3000 açıldı; site şu an dünyada sadece sizin ekranınızda var.