RƏSƏDXANA

Capstone layihələri

İyirmi üç tapşırıq bir fikri öyrədir. Bu iki layihə isə kursun əsl mövzusunu öyrədir: boş səhifədən canlı sistemə qədər gedən yolu ipi əldən buraxmadan keçmək.

Birincisi ortada dayanır — on həftəlik kursun adətən adam itirdiyi yerdə — və bilərəkdən bir həftə sonuna sığacaq qədər kiçikdir. İkincisi böyükdür və nə qədər çəkirsə, o qədər çəkir.

Həftə 5Təxmini vaxt: Bir həftə sonu — 6-8 saat.

Ara capstone: bir funksiya, sıfırdan auditə qədər

Nə qurursan

Kiçik, amma tam bir funksiya qur: hesabı olan istifadəçi nəsə yaradır, onu görür, silir. Məsələn qeydlər, işarələr və ya şərhlər. Ölçü vacib deyil — yolun tam olması vacibdir: şərtnamə, arxitektura qeydi, branch, kiçik commit-lər, serverdə yoxlanan icazə, və sonunda öz kodunun auditi.

Təhvil verilənlər

  • 1Şərtnamə: məqsəd, qeyri-məqsədlər, məlumat modeli (hər nullable sahənin mənası ilə), endpoint-lər və xəta cavabları.
  • 2Layihənin qaydalar faylı (CLAUDE.md və ya bənzəri) və agentin icazə sərhədi.
  • 3Branch və commit tarixi: hər commit bir fikir, mesajlar niyəni deyir.
  • 4curl sınaqları: sessiyasız 401, başqa hesabla 403, öz hesabınla 200 — çıxışları saxla.
  • 5Bir səhifəlik audit hesabatı: nə tapdın, nəyi düzəltdin, nəyi bilərəkdən buraxdın.

Bitmiş sayılır, əgər

  • Kod yazılmazdan əvvəl şərtnamə təsdiqlənib və onda razı olmadığın ən az iki şeyi dəyişmisən.
  • Hər yazma endpoint-i sessiyasız 401 qaytarır; başqasının resursuna 403.
  • Kimlik heç bir yerdə gövdədən, query-dən və ya ehtiyat yoldan oxunmur.
  • Silmə əməliyyatı yalnız sahibinə açıqdır və bunu curl ilə sübut etmisən.
  • master-ə birbaşa heç nə yazılmayıb.

Ən çox rast gəlinən səhv: funksiyanı böyütmək. Beş ekran əvəzinə bir ekran qur, amma yolu tam get — bu capstone kod miqdarını yox, intizamı ölçür.

Başlanğıc prompt-u

prompt
We are building <feature> from scratch, and I am learning the method,
not just the result. Work in this order and stop at each boundary:

1. Ask me the questions the spec cannot answer without me.
2. Write the spec: goal, non-goals, data model (say what every nullable field
   means), endpoints with who may call them and what they return on error,
   edge cases, acceptance criteria I can check by hand.
   Stop. I will correct it.
3. Write the architecture note: which module owns which fact, which way data
   flows, where the trust boundary is. Stop.
4. Implement step one only, on a branch, in one commit. Then stop.

Never take identity from the request body. Show me the curl commands that
prove each endpoint's answer before you tell me it works.

Dayandığı dərslər — 0/6 tamamlanıb

Kontekst işin özüdür

Həftə 11Təxmini vaxt: İki-üç həftə sonu — 15-20 saat.

Final capstone: canlıya çıxan və özünü qoruyan sistem

Nə qurursan

Ara capstone-dakı funksiyanı — və ya öz layihəni — canlıya çıxar və onu saxlaya biləcək hala gətir: ölçülmüş performans, sınanmış uğursuzluq halları, məlumat üçün saxlama qaydası, avtomatik yoxlamalar, deploy və rollback runbook-u, və beş keçidlik audit. Nəticə işləyən bir ünvan və onu qoruyan bir dəst yoxlamadır.

Təhvil verilənlər

  • 1Canlı ünvan və deploy runbook-u (rollback əmri və ölçülmüş müddəti ilə).
  • 2Ən ağır əməliyyatın ölçüsü: əvvəl/sonra rəqəmlər və platforma limiti ilə müqayisə.
  • 3Uğursuzluq cədvəli: hər əsas əməliyyat üçün 4xx, 5xx, timeout və offline halında istifadəçinin gördüyü.
  • 4Bir əmrlə işləyən yoxlamalar dəsti və PR-da işə düşən qapı (CI).
  • 5Beş keçidlik audit hesabatı və hər düzəldilən tapıntı üçün bir qoruyucu yoxlama.

Bitmiş sayılır, əgər

  • Yoxlamaları qəsdən pozanda CI qırmızı olur — bunu bir dəfə sınamısan.
  • Rollback-ı məşq etmisən və nə qədər çəkdiyini bilirsən.
  • Sonsuz böyüyən hər cədvəlin təmizləmə qaydası var.
  • İnternet kəsiləndə interfeys yalan demir və nə baş verdiyini izah edir.
  • Sirlər repoda deyil, xərc isə ölçülür (sorğu sayı, baza həcmi, AI çağırışları).

Ən çox rast gəlinən səhv: auditi sonuncu gün etmək. Beş keçidi bir günə sığdırmaq səthi cavab verir — hər keçidi ayrı gün et və tapıntıları həmin gün düzəlt.

Başlanğıc prompt-u

prompt
We are taking <project> to production, in five audit passes.
This session: pass <architecture | security | data | failure modes | tests>.

- Produce findings with file:line, severity, and a concrete failure scenario.
- Verify each finding against the code before reporting it; drop what you
  cannot confirm, and say what you dropped.
- For each confirmed finding, propose the fix AND the check that would catch
  it coming back.
- Then stop. I will decide what we fix in this pass.

Dayandığı dərslər — 0/9 tamamlanıb

Xoşbəxt yoldan kənarda