Mert Özen Her Satırda Daha İleri

Kılavuz: mertozen.com'u baştan sona nasıl okumalı?

Sitedeki seriler, Bookstore adlı tek bir örnek uygulama etrafında temelden ileri seviyeye aşama aşama okunur. Bu sayfa nereden başlayacağını, hangi seriden sonra hangisine geçeceğini ve her serinin kodunu GitHub'da nerede bulacağını gösterir.

Hedefin belliyse aşağıdaki yollardan birini seç; harita yalnız o yolun serilerini öne çıkarır. Emin değilsen Aşama 0'dan başla ve sırayı izle. Sırayı atlamak serbest: her serinin kartında hangi serilerin önce okunmasının iyi olacağı yazıyor.

kategori
13
seri
167
yazı
1990
örnek uygulama
1

Bookstore nedir?

Bookstore, kitap satan bir online kitapçı. Sitedeki bütün seriler bu tek ürünün farklı yüzlerini anlatır: veri modeli, API, Angular arayüzü, güvenlik, deploy ve ekip süreci. Böylece bir seride öğrendiğin şey diğerinde aynı uygulamanın üzerine eklenir.

  • Ürün: bireysel müşteriye kitap satışı (katalog, arama, sepet, sipariş, ödeme, kargo, iade, kampanya), okul, kütüphane ve şirketler için Kurumsal Sipariş, ve stok, tedarik ve raporların yönetildiği back office.
  • Module'ler: Catalog, Ordering, Inventory, Payments, Shipping, Notifications, Institutional, Identity.
  • Teknik yüz: .NET 10 ve C# ile Bookstore.Api (ASP.NET Core Web API), EF Core ile SQL Server, Angular 22 ile bookstore-web.
  • Ekip: süreç serilerinde aynı ekip çalışır: Selin (Product Owner), Emre ve Ayşe (developer), Hakan (kurumsal satış), Gül (müşteri hizmetleri) ve kurumsal müşteri Nevin Hanım.
Bookstore serisini oku →

Kod nerede? GitHub rehberi

Kodun tamamı tek bir GitHub reposunda durur. Düzen basit: her seri bir dal, her yazı bir tag.

  • Dal: series/<seri-slug>. Örnek: series/docker, Docker serisinin son hâli.
  • Tag: <seri-slug>/NN. Örnek: docker/05, Docker serisinin 05. yazısının bittiği andaki kod.
  • Referans uygulama: main dalı.
git clone https://github.com/mrtozn1923/bookstore.git
cd bookstore
git switch series/docker        # serinin son hâli
git switch --detach docker/05   # 05. yazının kodu

Kavram ağırlıklı serilerin (süreç, mimari kavramları gibi) ayrı bir kodu yoktur; haritada GitHub bağlantısı yalnız dalı olan serilerde görünür.

Repoyu GitHub'da aç

Nereden başlamalıyım?

Hedefine uyan yolu seç; harita yalnız o yolun serilerini öne çıkarır.

Harita: aşama aşama okuma sırası

Aşamalar yukarıdan aşağı okunur. Aşama 4'te harita üç dala ayrılır; dallar birbirinden bağımsızdır.

  1. 0

    Başlangıç: Ortamı ve Bookstore'u Tanı

    Kodu çalıştıracağın ortamı kur, örnek uygulama Bookstore'u ve bilgisayarın temellerini tanı.

    6 seri · 65 yazı

    1. 0.1
      Bookstore: Sitedeki Örnek Uygulama
      Yazılım Mimarisi 3 yazı Başlangıç
      01
    2. 0.2
      Bilgisayar Nasıl Çalışır
      Bilgisayar Bilimi Temelleri 6 yazı Başlangıç
      01
    3. 0.3
      Number System'ler ve Data Representation
      Bilgisayar Bilimi Temelleri 6 yazı Başlangıç
      01
    4. 0.4
      Terminal ve Command Line
      Geliştirici Araçları 6 yazı Başlangıç
    5. 0.5
      IDE'ler
      Geliştirici Araçları 10 yazı Başlangıç
      01
    6. 0.6
      Git & GitHub
      DevOps 34 yazı Başlangıç

      Önce: Terminal ve Command Line

  2. 1

    Web ve Dil Temelleri

    Web'in nasıl çalıştığını, HTML/CSS'i ve iki ana dili (JavaScript, C#) ve SQL'i temelden öğren.

    6 seri · 103 yazı

    1. 1.1
      Networking ve HTTP Nasıl Çalışır
      Bilgisayar Bilimi Temelleri 10 yazı Başlangıç
      01
    2. 1.2
      HTML5 ve Semantic HTML
      Frontend 13 yazı Başlangıç
    3. 1.3
      CSS3: Flexbox, Grid ve Modern CSS
      Frontend 16 yazı Başlangıç

      Önce: HTML5 ve Semantic HTML

    4. 1.4
      JavaScript Temel
      Frontend 19 yazı Başlangıç
    5. 1.5
      C# Temelleri
      Backend 20 yazı Başlangıç
      01
    6. 1.6
      SQL Temelleri
      Veritabanı 25 yazı Başlangıç
  3. 2

    Dili Derinleştirmek

    Dilleri gerçek iş yapacak kadar derinleştir: OOP, koleksiyonlar, LINQ, async, TypeScript, temiz kod ve hata ayıklama.

    11 seri · 145 yazı

    1. 2.1
      JavaScript Orta
      Frontend 19 yazı Başlangıç

      Önce: JavaScript Temel

    2. 2.2
      TypeScript Temel
      Frontend 14 yazı Başlangıç

      Önce: JavaScript Temel

    3. 2.3
      C# ile Nesne Yönelimli Programlama
      Backend 16 yazı Başlangıç

      Önce: C# Temelleri

      01
    4. 2.4
      01
    5. 2.5
      LINQ
      Backend 17 yazı Başlangıç

      Önce: C# Koleksiyonlar ve Generics

      01
    6. 2.6
      C# Asenkron Programlama
      Backend 17 yazı Başlangıç

      Önce: C# Temelleri

      01
    7. 2.7
      Clean Code
      Yazılım Tasarımı 14 yazı Başlangıç

      Önce: C# Temelleri

      01
    8. 2.8
      Debugging ve Problem Çözme
      Geliştirici Araçları 13 yazı Başlangıç
      01
    9. 2.9
      Browser DevTools
      Geliştirici Araçları 10 yazı Başlangıç
      01
    10. 2.10
      Regular Expressions
      Geliştirici Araçları 8 yazı Başlangıç

      Önce: Terminal ve Command Line, IDE'ler

    11. 2.11
      JSON, YAML ve Configuration Formatları
      Geliştirici Araçları 6 yazı Başlangıç

      Önce: Terminal ve Command Line

  4. 3

    İlk Uygulama: API + Veri + Arayüz

    Bookstore'un ilk sürümünü kur: REST API, EF Core ile veri, Angular arayüzü ve ilk unit testler.

    10 seri · 200 yazı

    1. 3.1
      REST API Tasarımı
      Yazılım Mimarisi 10 yazı Orta
    2. 3.3
      Entity Framework Core
      Veritabanı 33 yazı Orta

      Önce: .NET Core Web API, SQL Temelleri

    3. 3.4
      Data Modeling ve Normalizasyon
      Veritabanı 12 yazı Orta

      Önce: SQL Temelleri

      01
    4. 3.5
      TypeScript Orta
      Frontend 14 yazı Orta

      Önce: TypeScript Temel

    5. 3.6
      Angular
      Frontend 35 yazı Orta

      Önce: TypeScript Orta, HTML5 ve Semantic HTML

    6. 3.8
      Unit Test
      Test ve Kalite 21 yazı Orta

      Önce: C# Temelleri

    7. 3.9
      API Araçları
      Geliştirici Araçları 7 yazı Orta

      Önce: .NET Core Web API, Browser DevTools, IDE'ler

    8. 3.10
      SOLID ve Design Principles
      Yazılım Tasarımı 12 yazı Orta

      Önce: C# ile Nesne Yönelimli Programlama

      01
  5. 4a

    Dal: Backend'i Büyütmek

    Backend'i büyüt: kimlik doğrulama, logging, cache, arka plan işleri, real-time ve dış servisler.

    12 seri · 141 yazı

    1. 4a.1
      ASP.NET Core MVC ve Razor Pages
      Backend 15 yazı Orta
    2. 4a.2
      Authentication ve Authorization
      Güvenlik 18 yazı Orta

      Önce: .NET Core Web API

      01
    3. 4a.3
      .NET'te Logging
      Backend 10 yazı Orta
      01
    4. 4a.4
      Caching
      Backend 10 yazı Orta
      01
    5. 4a.5
      01
    6. 4a.6
      Real-time Uygulamalar
      Backend 9 yazı Orta
      01
    7. 4a.7
    8. 4a.9
      gRPC ve GraphQL
      Backend 12 yazı Orta

      Önce: .NET Core Web API, Angular

      01
    9. 4a.10
      Dapper
      Veritabanı 16 yazı Orta

      Önce: SQL Temelleri

      01
    4b

    Dal: Frontend'i Büyütmek

    Arayüzü büyüt: modern CSS, state yönetimi, bileşen kütüphanesi, erişilebilirlik, PWA ve frontend testleri.

    11 seri · 108 yazı

    1. 4b.1
      CSS Property'leri: Uygulamalı Rehber
      Frontend 13 yazı Orta
    2. 4b.2
      Sass/SCSS
      Frontend 12 yazı Orta

      Önce: Angular

    3. 4b.3
      Tailwind CSS
      Frontend 8 yazı Orta

      Önce: Angular

    4. 4b.4
      UI/UX Tasarım İlkeleri
      Frontend 11 yazı Orta

      Önce: HTML5 ve Semantic HTML

    5. 4b.6
      Angular Material ve CDK
      Frontend 8 yazı Orta

      Önce: Sass/SCSS, Angular

    6. 4b.8
    7. 4b.9
      Frontend Testleri
      Test ve Kalite 9 yazı Orta

      Önce: Browser DevTools, Unit Test, Angular

    8. 4b.11
      Build Araçları
      Frontend 8 yazı Orta

      Önce: Browser DevTools, JavaScript Orta, Angular

    4c

    Dal: Veriyi Büyütmek

    Veri katmanını büyüt: SQL Server derinlemesine, PostgreSQL, Redis, MongoDB, arama ve performans.

    6 seri · 101 yazı

    1. 4c.1
      SQL Server Derinlemesine
      Veritabanı 24 yazı Orta

      Önce: SQL Temelleri

    2. 4c.2
      PostgreSQL
      Veritabanı 24 yazı Orta

      Önce: SQL Server Derinlemesine, SQL Temelleri, Dapper

    3. 4c.3
      Redis
      Veritabanı 15 yazı Orta

      Önce: Real-time Uygulamalar, .NET Core Web API, Caching

    4. 4c.4
      MongoDB
      Veritabanı 15 yazı Orta

      Önce: SQL Temelleri, Caching

    5. 4c.5
      Elasticsearch ile Arama
      Veritabanı 13 yazı Orta

      Önce: .NET Core Web API, SQL Temelleri

  6. 5

    Kalite ve Tasarım

    Kodu güvenle değiştirmeyi öğren: test stratejisi, TDD, code review, refactoring ve design pattern'ler.

    12 seri · 139 yazı

    1. 5.1
      Test Stratejisi
      Test ve Kalite 4 yazı Orta
      01
    2. 5.3
      Test Tasarım Teknikleri
      Test ve Kalite 8 yazı Orta

      Önce: Test Stratejisi, Unit Test, TDD

    3. 5.4
      Integration ve E2E Test
      Test ve Kalite 13 yazı Orta

      Önce: .NET Core Web API, Unit Test

    4. 5.5
      Code Review
      Test ve Kalite 5 yazı Orta

      Önce: Git & GitHub, Clean Code

    5. 5.6
    6. 5.7
      Refactoring
      Yazılım Tasarımı 16 yazı Orta

      Önce: SOLID ve Design Principles, Test Stratejisi, Git & GitHub, Clean Code

    7. 5.8
      Design Patterns
      Yazılım Tasarımı 26 yazı Orta

      Önce: SOLID ve Design Principles

      01
    8. 5.9
      Çözüm Desenleri
      Yazılım Tasarımı 22 yazı Orta
    9. 5.10
      Functional Programming Kavramları
      Yazılım Tasarımı 9 yazı Orta

      Önce: Design Patterns, Clean Code, Unit Test, LINQ

    10. 5.11
      UML ve Modeling
      Yazılım Tasarımı 18 yazı Orta
    11. 5.12
      01
  7. 6

    Teslim: Container, CI/CD ve Bulut

    Uygulamayı canlıya taşı: Linux, Docker, CI/CD, bulut, Kubernetes, observability ve production.

    22 seri · 238 yazı

    1. 6.6
      CI/CD Temelleri
      DevOps 8 yazı Orta
      01
    2. 6.7
      GitHub Actions
      DevOps 17 yazı Orta
    3. 6.9
      Jenkins
      DevOps 12 yazı Orta
      01
    4. 6.10
      Web Server'lar ve Hosting
      DevOps 12 yazı Orta
      01
    5. 6.11
      Domain, DNS ve CDN
      DevOps 7 yazı Orta

      Önce: Web Server'lar ve Hosting

    6. 6.15
      Deployment Stratejileri
      DevOps 9 yazı Orta
      01
    7. 6.18
      Kubernetes
      DevOps 22 yazı Orta

      Önce: Docker

    8. 6.19
      Helm
      DevOps 7 yazı Orta

      Önce: GitHub Actions, Git & GitHub, Kubernetes, Docker

  8. 8

    Mimari

    Büyüyen sistemi tasarla: katmanlı mimariler, DDD, modular monolith, mesajlaşma, mikroservisler ve system design.

    16 seri · 166 yazı

    1. 8.1
      Mimariye Giriş
      Yazılım Mimarisi 9 yazı İleri
      01
    2. 8.2
      Clean, Onion ve Hexagonal Architecture
      Yazılım Mimarisi 9 yazı İleri
      01
    3. 8.3
      Vertical Slice Architecture
      Yazılım Mimarisi 6 yazı İleri
      01
    4. 8.4
      Domain-Driven Design
      Yazılım Mimarisi 14 yazı İleri

      Önce: Clean, Onion ve Hexagonal Architecture

      01
    5. 8.5
      Modular Monolith
      Yazılım Mimarisi 8 yazı İleri
      01
    6. 8.6
      Messaging ve Event-Driven Architecture
      Yazılım Mimarisi 11 yazı İleri
      01
    7. 8.7
      Message Queue'larla Çalışmak
      Backend 14 yazı İleri
      01
    8. 8.8
      CQRS ve Event Sourcing
      Yazılım Mimarisi 10 yazı İleri

      Önce: Domain-Driven Design

      01
    9. 8.9
      Microservices
      Yazılım Mimarisi 12 yazı İleri

      Önce: Modular Monolith, Messaging ve Event-Driven Architecture

      01
    10. 8.13
      Distributed Systems Temelleri
      Yazılım Mimarisi 11 yazı İleri
      01
    11. 8.14
      System Design
      Yazılım Mimarisi 15 yazı İleri
      01
    12. 8.15
      Architecture Decision'lar
      Yazılım Mimarisi 7 yazı İleri
      01
    13. 8.16
      UI Mimari Pattern'leri
      Yazılım Mimarisi 9 yazı İleri
      01
  9. 9

    İleri Seviye ve Bilgisayar Bilimi

    Kaputun altına in: ileri C#, .NET araçları, profiling, algoritmalar, işletim sistemi ve concurrency.

    12 seri · 133 yazı

    1. 9.1
      C# İleri Seviye
      Backend 14 yazı İleri

      Önce: C# Asenkron Programlama, LINQ

      01
    2. 9.2
      C# Sürümleri
      Backend 7 yazı İleri

      Önce: C# Temelleri

      01
    3. 9.6
      JavaScript İleri
      Frontend 17 yazı İleri

      Önce: JavaScript Orta

    4. 9.7
      TypeScript İleri
      Frontend 12 yazı İleri

      Önce: TypeScript Orta

    5. 9.8
      Algoritmalar ve Data Structures
      Bilgisayar Bilimi Temelleri 27 yazı İleri
    6. 9.9
      Big-O ve Complexity
      Bilgisayar Bilimi Temelleri 5 yazı İleri
      01
    7. 9.10
      İşletim Sistemi Temelleri
      Bilgisayar Bilimi Temelleri 9 yazı İleri

      Önce: Kubernetes

    8. 9.11
      Concurrency Teorisi
      Bilgisayar Bilimi Temelleri 8 yazı İleri
    9. 9.12
      Compiler'lar ve Programlama Dilleri
      Bilgisayar Bilimi Temelleri 8 yazı İleri
  10. 10

    Yapay Zeka ile Geliştirmek

    Yapay zekayı hem araç hem ürün olarak kullan: asistanlar, coding agent'lar, LLM API'leri, RAG ve agent'lar.

    15 seri · 168 yazı

    1. 10.1
      LLM Temelleri
      Yapay Zeka 20 yazı Orta
      01
    2. 10.2
      Prompt Engineering Uygulamada
      Yapay Zeka 9 yazı Orta

      Önce: LLM Temelleri

    3. 10.6
      01
    4. 10.9
      .NET ile Yapay Zeka
      Yapay Zeka 14 yazı Orta
      01
    5. 10.11
      RAG
      Yapay Zeka 13 yazı Orta

      Önce: .NET ile Yapay Zeka

      01
    6. 10.12
      AI Agent'ları ve MCP
      Yapay Zeka 14 yazı Orta

      Önce: RAG

      01

Yan yollar

Ana zincirden bağımsız; istediğin anda okuyabilirsin.

Y1

Yan yol: Ekip ve Süreç

Ekipte yazılım üretmenin süreç tarafı: SDLC, Agile, Scrum, Kanban, gereksinim ve tahminleme.

8 seri · 57 yazı

  1. Y1.1
    SDLC (Software Development Life Cycle)
    Proje Yönetimi 6 yazı Başlangıç
    01
  2. Y1.2
    Agile Mindset
    Proje Yönetimi 6 yazı Başlangıç

    Önce: SDLC (Software Development Life Cycle)

    01
  3. Y1.3
    Scrum
    Proje Yönetimi 11 yazı Başlangıç

    Önce: Agile Mindset

    01
  4. Y1.4
    Kanban
    Proje Yönetimi 7 yazı Başlangıç

    Önce: Agile Mindset

    01
  5. Y1.5
    Product Management'a Giriş
    Proje Yönetimi 9 yazı Başlangıç
    01
  6. Y1.8
Y2

Yan yol: SEO ve GEO

Sitenin aramada ve AI cevap motorlarında bulunması: teknik SEO, structured data, içerik ve ölçüm.

6 seri · 53 yazı

  1. Y2.1
    SEO Temelleri
    SEO ve GEO 7 yazı Başlangıç
    01
  2. Y2.2
    Teknik SEO
    SEO ve GEO 16 yazı Başlangıç

    Önce: SEO Temelleri

  3. Y2.4
    Content SEO
    SEO ve GEO 7 yazı Başlangıç

    Önce: SEO Temelleri, Product Management'a Giriş, Teknik SEO

    01
  4. Y2.5
    GEO (Generative Engine Optimization)
    SEO ve GEO 7 yazı Başlangıç

    Önce: SEO Temelleri

    01
Y3

Yan yol: Başka Platformlar

Aynı fikirlerin başka platformlardaki karşılığı: Node.js, Go, React, Blazor ve Flutter.

5 seri · 87 yazı

Kategoriye göre

Sık sorulanlar

Hiç bilmiyorum, nereden başlamalıyım?

Aşama 0 ile başla: geliştirme ortamını kur, Bookstore'u tanı, Git'i öğren. Sonra aşama sırasını izle. Her aşamanın başında o aşamanın neden orada olduğu yazıyor.

Sırayı atlayabilir miyim?

Evet. Seriler kendi başına okunabilecek şekilde yazıldı. Her serinin kartında önce okunması iyi olan seriler ön koşul olarak listeleniyor; onları biliyorsan doğrudan geçebilirsin.

Backend ve frontend dallarından hangisini önce okumalıyım?

Aşama 3'ten sonra harita üç dala ayrılır: backend, frontend ve veri. Dallar birbirinden bağımsızdır; hedefine göre birini seç ya da paralel ilerle. Full-stack yolu ikisini de içerir.

Bookstore'u bilgisayarımda nasıl çalıştırırım?

Repoyu klonla ve okuduğun yazının tag'ine geç (örneğin git switch --detach docker/05). Gerekli kurulum her serinin ilk yazısında ve reponun README dosyasında anlatılıyor.

Neden her yazının kodu ayrı bir tag'de?

Böylece yazıyı okurken kodun tam o andaki hâlini görürsün. Sonraki yazıların değişiklikleri karışmaz; iki tag'i karşılaştırarak bir yazının neyi değiştirdiğini de görebilirsin.

Yapay zeka serilerini ne zaman okumalıyım?

AI araçlarını kullanmak için (Claude, ChatGPT, Copilot) Aşama 0'dan sonra başlayabilirsin. LLM'i kendi uygulamana eklemek için (Claude API, RAG, agent'lar) önce Aşama 3'teki API serilerini bilmek işini kolaylaştırır.