Bilgisayar Bir Programı Nasıl Çalıştırır?
Kaynak koddan çalışan sürece kadar derleyici, işletim sistemi, CPU ve belleğin görevlerini temel bir örnek üzerinden öğrenin.
21 derslik öğrenme yolu
Ders 01’den başlayın. Her yazı önce ihtiyaç duyulan kavramları açıklar, ardından problemi örneklerle çözer.
Kaynak koddan çalışan sürece kadar derleyici, işletim sistemi, CPU ve belleğin görevlerini temel bir örnek üzerinden öğrenin.
Sayıların, metinlerin ve renklerin neden bitlerle temsil edildiğini dönüşüm örnekleri ve yaygın veri hatalarıyla öğrenin.
AND, OR, NOT, doğruluk tabloları, kısa devre değerlendirme ve koşul tasarımını gerçek bir yetkilendirme problemiyle öğrenin.
İşlemci, RAM, cache, register ve locality kavramlarını yavaş bir veri işleme örneği üzerinden anlayın.
Bir değişkenin bellekte neyi temsil ettiğini; değer, referans, stack, heap ve garbage collection kavramlarıyla öğrenin.
Doğru çözümden ölçeklenebilir çözüme geçişi; zaman, alan karmaşıklığı ve Big-O analiziyle öğrenin.
Dizi ve bağlı listelerin bellek yerleşimini, erişim ve ekleme maliyetlerini gerçek kullanım senaryolarıyla karşılaştırın.
LIFO ve FIFO yapılarını çağrı yığını, undo, görev kuyruğu ve breadth-first search örnekleriyle öğrenin.
Map ve Set yapılarını mümkün kılan hash fonksiyonu, bucket, collision ve load factor kavramlarını öğrenin.
Hiyerarşik veriyi; tree, traversal, dengeli arama ağacı ve heap farkları üzerinden öğrenin.
Node, edge, adjacency list, BFS ve DFS kavramlarını en kısa yol ve bağımlılık analizi problemleriyle öğrenin.
Bir problemi alt problemlere ayırmayı; base case, call stack, memoization ve tabulation üzerinden öğrenin.
Bubble sort, insertion sort, merge sort ve quicksort yaklaşımlarını karmaşıklık, bellek ve kararlılık açısından karşılaştırın.
İşletim sisteminin programları nasıl izole edip zamanladığını; process, thread, context switch ve system call kavramlarıyla öğrenin.
Eşzamanlı işlemlerde paylaşılan veriyi korumayı; atomicity, lock, deadlock ve mesajlaşma alternatifleriyle öğrenin.
Tarayıcıya adres yazdıktan sonra gerçekleşen DNS çözümleme, bağlantı, şifreleme ve HTTP alışverişini adım adım öğrenin.
Tablo, satır, anahtar, ilişki, normalizasyon, JOIN ve indeks kavramlarını sipariş sistemi üzerinden öğrenin.
Para transferinin neden tek bir transaction olması gerektiğini; ACID, anomali, lock ve isolation seviyeleriyle öğrenin.
Birden fazla makinede çalışan sistemlerin ağ hatalarıyla nasıl başa çıktığını; replikasyon, consistency ve CAP üzerinden öğrenin.
Değiştirilebilir yazılım üretmeyi; sorumluluk, coupling, cohesion, refactoring ve test piramidi üzerinden öğrenin.
Kimlik doğrulama, yetkilendirme, girdi doğrulama, hash, şifreleme ve least privilege kavramlarını tehdit modeliyle öğrenin.