
Hazırsan bu sadece bir kurs değil, aynı zamanda zihnini yeniden inşa edecek bir üretim yolculuğudur: “AI ile Aha! HTML ile Her Şeyi Yaparsın: Sor, Öğren, Üret!” Bu yolculukta sıradan bir öğrenme deneyimi yaşamazsın çünkü burada her şey ezberden uzak, tamamen uygulama ve düşünme üzerine kuruludur; bir satır kodu sadece yazmazsın, onu neden yazdığını, ne işe yaradığını ve nasıl geliştirilebileceğini anlarsın. Her adımda kendine sorular sorarsın: “Bu yapı neyi çözüyor?”, “Bunu daha basit nasıl yaparım?”, “AI bana nasıl bir alternatif sunar?” ve bu sorular seni sıradan bir öğrenci olmaktan çıkarıp aktif bir üreticiye dönüştürür. HTML ile başlayan bu süreç aslında bir kapıdır; o kapıdan geçince web sayfaları, arayüzler, fikirler ve projeler üretmeye başlarsın ve zamanla gördüğün her şeyi “bunu ben nasıl yaparım?” gözüyle incelemeye başlarsın. En büyük fark burada ortaya çıkar: artık tüketen değil üreten bir zihne sahip olursun.
Tarayıcınızdaki Yapay Zeka Laboratuvarı: Fikirlerinizi Anında Gerçeğe Dönüştürün
Açıklama: Karmaşık kurulumlara son! Tarayıcı tabanlı, AI destekli yeni nesil editörlerle tanışın. Tasarımdan koda, interaktif içeriklerden dinamik kullanıcı deneyimlerine kadar her şeyi tek bir panelde, yapay zekanın rehberliğiyle inşa edin. Dijital dünyada sadece bir tüketici değil, kendi araçlarını saniyeler içinde üreten yaratıcı bir mimar olun.
Hashtagler: #YapayZeka #AI #Frontend #WebTasarım #DijitalÜretkenlik #NoCode #Yaratıcılık #TechTrends #WebDevelopment #GeleceğinTeknolojisi
IDE – Teknik Talep Senaryosu
1. Proje Amacı
Amaç: Kullanıcıların tarayıcı üzerinden HTML, CSS, JS düzenleyebileceği ve sonuçlarını canlı önizleme (live preview) ile görebileceği bir web IDE oluşturmak.
Özellikler:
HTML, CSS, JS için ayrı sekmeler.
FULL (birleştirilmiş) sekmesi ile tüm içerik senkronizasyonu.
Dosya import/export (HTML).
Mod geçişleri: Editör, Preview, Split.
Tab tuşu ile kod girme desteği.
Canlı önizleme iframe ile render edilmesi.
2. Front-End Gereksinimleri
2.1 Yapı
HTMLheader: Logo ve kontrol butonları (Import, Save, Edit, Split, View).
main: İki bölüm (editor-container ve preview-container)
editor-container: Sekmeler + textarea’lar
preview-container: Canlı önizleme iframe’i
CSSTemel renkler, gölge ve border stilleri, responsive tasarım.
Editor ve preview alanları esnek (flex) ve ekran boyutuna duyarlı.
Sekme aktif/pasif durumları, hover ve active animasyonları.
FontlarJetBrains Mono → kod editörü
Space Grotesk → UI
2.2 İşlevler
Sekme YönetimiSekme değiştirildiğinde sadece ilgili textarea aktif olacak.
Sekme butonları görsel olarak aktif/pasif değişecek.
Mode Yönetimieditor → yalnızca editor görünür.
preview → yalnızca preview iframe görünür.
split → her ikisi yan yana görünür.
Textarea SenkronizasyonuHTML, CSS, JS → FULL textarea ile birleştirilir.
FULL textarea → ayrıştırılarak HTML, CSS, JS alanlarına ayrılır.
Canlı Önizlemeiframe içinde yazılan içerik render edilir.
Her değişiklik sonrası render tetiklenir.
Dosya İşlemleriImport → Kullanıcı seçtiği HTML dosyasını FULL editöre yükler ve ayrıştırır.
Export → FULL editör içeriğini HTML olarak indirme.
3. JavaScript Fonksiyonları
3.1 Senkronizasyon Fonksiyonları
updateFromParts()HTML, CSS, JS textarea içeriklerini FULL textarea’da birleştirir.
Birleştirilmiş içerik iframe içinde render edilir.
updateFromFull()FULL textarea içeriğini parse eder.
<body>, <style>, <script> tag’lerini ayırır.
Ayrıştırılmış içerikleri ilgili textarea’lara aktarır.
iframe render edilir.
3.2 Event Listeners
input → değişiklik algılar ve senkronizasyon yapar.
keydown → Tab tuşu desteği:
Tab tuşu ile cursor aynı satırda tab ekleyebilme.
fileInput → import işlemleri için FileReader kullanılır.
3.3 UI Fonksiyonları
switchTab(type)Aktif sekmeyi değiştirir.
İlgili textarea’yı gösterir.
setMode(mode)body class’ını değiştirerek mod geçişi yapar (mode-editor, mode-preview, mode-split).
3.4 Dosya Fonksiyonları
exportFile()FULL editör içeriğini blob olarak oluşturur.
Tarayıcıda indirme başlatır (index.html).
4. UI/UX Detayları
Buton hover ve active animasyonları (translate ve shadow değişimi).
Renk kodlamaları:
HTML → pembe
CSS → mavi
JS → yeşil
FULL → siyah
Preview alanında “Live Preview” etiketi.
Modlar arası geçiş (editor/split/preview) kullanıcı dostu.
5. Teknik Gereksinimler
Tarayıcı Desteği: Modern tarayıcılar (Chrome, Edge, Firefox)
Responsive Tasarım: Ekran boyutuna göre editor ve preview alanları otomatik boyutlanmalı.
Performans: Büyük dosyalarda (500+ satır) render ve input gecikmesi minimum olmalı.
Güvenlik: iframe render edilirken dış script engellemesi kontrol edilebilir (sandbox attribute opsiyonel).
6. Teslimat ve Test
HTML/CSS/JS tek dosya.
Örnek başlangıç içeriği:
<h1>Merhaba Dünya!</h1>
<p>Brutal IDE hazır.</p>
CSS başlangıç:
body { background: #f0f0f0; padding: 20px; font-family: sans-serif; }
h1 { color: #FF00F5; border: 4px solid #000; display: inline-block; padding: 10px; background: #fff; }
Test:
Sekme geçişleri sorunsuz.
Mod geçişleri sorunsuz.
Import/Export sorunsuz.
Canlı preview sorunsuz.
7. Notlar
Kodlama standartları: ES6+, modular, anlaşılır değişken isimleri.
Editör performansını artırmak için debounce/raf kullanılabilir.
İleride eklenecek özellikler: temalar, otomatik kaydetme, sürüm geçmişi.
Ders 1.1: Fabrikayı Uyandırmak
Senaryo: "Şu an önünde duran boş beyaz ekran, aslında dünyanın en gelişmiş fabrikası. Ama motoru henüz çalışmıyor. İlk yapman gereken, o fabrikada sana ait bir 'üretim bandı' (dosya) açmak. Hiçbir şeye ihtiyacın yok; sadece bir isim koyacaksın ve fabrikan uyanacak."
AI’dan İstek: "Bana üzerinde büyük harflerle 'MİMARIN FABRİKASI' yazan, arka planı bembeyaz ve tertemiz olan en basit HTML kodunu ver."
Kursiyer Uygula: 1. Masaüstünde sağ tıkla -> Yeni Metin Belgesi. 2. AI'nın verdiği kodu içine yapıştır. 3. Dosyayı kaydederken adını fabrika.html yap. 4. Bu dosyayı sürükleyip tarayıcına bırak.
Sonuç Kontrol: Tarayıcıda o kocaman "MİMARIN FABRİKASI" yazısını gördün mü?
Aha! Anı: "Ben şu an internete bağlı değilim ama bilgisayarım bana bir 'uygulama' gibi hizmet veriyor!"
Ders 1.2: İlk Makineyi Kurmak (Etkileşim)
Senaryo: "İçerisi aydınlandı ama henüz bir ses yok. Fabrikaya ilk 'makineni' yerleştirmen lazım. Bir makine, ona dokunduğunda (tıkladığında) sana cevap veren bir şeydir."
AI’dan İstek: "Sayfaya siyah, şık bir buton ekle. Üzerinde 'Sistemi Çalıştır' yazsın ve butona bastığımda ekrana 'Sistem Aktif, Hoş Geldin Mimar!' uyarısı çıksın."
Kursiyer Uygula: fabrika.html dosyasını sağ tıkla -> "Birlikte Aç: Not Defteri" de. AI'nın verdiği yeni parçayı eskisinin içine yerleştir ve kaydet. Sayfayı yenile.
Sonuç Kontrol: Butona bastığında o mesaj kutusu karşına çıktı mı?
Aha! Anı: "Bu sadece bir yazı değil, bu benimle konuşan bir mekanizma!"
Ders 1.3: Görünmez Kasa (Hafıza Giriş)
Senaryo: "Peki, fabrikada ışıkları yaktın ama arkana bakıp çıktığında her şey sıfırlanacak mı? Hayır. Tarayıcının içinde sana özel, gizli bir 'kasa' var. Şimdi butona bastığında o kasaya bir 'mühür' vurduracağız."
AI’dan İstek: "Butona tıklandığında tarayıcının LocalStorage (hafıza) kısmına 'Durum: Aktif' yazısını kaydeden 3 satırlık bir JavaScript kodu ekle.Full HTML kod"
Kursiyer Uygula: Kodu kopyala, dosyanın içine (genelde en alta) yapıştır ve sayfayı yenileyip butona bir kez tıkla. (Görünürde bir şey değişmeyecek ama büyü içeride gerçekleşti).
Sonuç Kontrol: Sayfa hata vermeden çalışmaya devam ediyor mu?
AI Destekli Tek Dosya HTML: Kendi Araçlarını Yarat, HTML, CSS ve JavaScript’i tek bir yapı içinde birleştirerek hızlı, taşınabilir ve bağımsız web araçları geliştirmeyi öğretir. Bu yaklaşımda yapay zekâ, sadece kod üreten bir araç değil; fikirleri çalışan mini uygulamalara dönüştüren bir üretim ortağı olarak kullanılır. Amaç, karmaşık sistemler yerine tek dosyada çalışan, sade ama işlevsel araçlar geliştirerek hızlı prototip üretim becerisi kazanmaktır.
Ders 2.1: İskeleti Kurmak (HTML)
Senaryo: "Bir canlı doğurmadan önce onun kemiklerini, yani iskeletini kurmalısın. HTML, bu organizmanın neye sahip olduğunu söyler: Bir kafa, iki kol (buton) ve bir gövde. Şimdilik renksiz ve hareketsiziz."
AI’dan İstek: "Bana bir iskelet (HTML) oluştur. İçinde bir başlık (h1), bir açıklama yazısı (p) ve bir buton (button) olsun. Ama hiçbir süsleme (CSS) veya hareket (JS) ekleme."
Kursiyer Uygula: organizma.html adında yeni bir dosya aç, kodu yapıştır ve tarayıcıda gör.
Sonuç Kontrol: Tarayıcıda dümdüz, siyah-beyaz ve "ruhsuz" bir yapı görüyor musun?
Aha! Anı: "Bu her şeyin temeli; HTML sistemin ne olduğunu belirleyen iskelettir."
Ders 2.2: Karakter ve Elbise (CSS)
Senaryo: "Mankenimiz hazır ama çıplak. Şimdi ona bir karakter ve stil kazandıracağız. CSS, bu organizmanın nasıl görüneceğine karar veren 'stilisttir'."
AI’dan İstek: "Bu iskelete bir elbise (CSS) giydir. Arka planı koyu gri yap, yazıları neon yeşili yap ve butonu büyük, yuvarlak ve parlak bir hale getir. Bu kodları <style> etiketinin içine koy."
Kursiyer Uygula: Kodu kopyala, HTML dosyanın içindeki <head> kısmına yapıştır ve sayfayı yenile.
Sonuç Kontrol: Sayfan bir anda "havalı" bir uygulamaya dönüştü mü?
Aha! Anı: "İçerik aynı ama görünüm tamamen değişti; CSS sistemin 'estetiğidir'."
Ders 2.3: Sinir Sistemi ve Beyin (JS)
Senaryo: "Görünüş harika ama organizma hâlâ tepkisiz duruyor. Şimdi ona bir 'sinir sistemi' ekleyeceğiz. JavaScript, butona basıldığında ne yapacağını bilen 'beyindir'."
AI’dan İstek: "Butona tıklandığında ekranda 'Organizma Uyandı!' yazan bir mesaj çıkaran basit bir JavaScript kodu ekle.Full HTML kod"
Kursiyer Uygula: Kodu kopyala, dosyanın en altına ( </body> etiketinden hemen önce) yapıştır ve butona bas.
Sonuç Kontrol: Butona bastığın an organizma sana tepki verdi mi?
Aha! Anı: "Artık bu sadece bir sayfa değil; benimle etkileşime giren, yaşayan bir yapı!"
Ders 2.5: Akıllı İletişim (Giriş ve Çıktı)
Senaryo: "Son adımda organizmamıza bir 'kulak' ekliyoruz. Bizi dinlemesini ve verdiğimiz bilgiye göre tepki vermesini sağlayacağız."
AI’dan İstek: "Sayfaya bir metin kutusu (input) ekle. Butona bastığımda kutudaki ismi okusun ve ekrana 'Hoş geldin [İsim], seninle çalışmak harika!' yazsın.Full HTML kod."
Kursiyer Uygula: Kodu güncelle, kutuya ismini yaz ve düğmeye tıkla.
Sonuç Kontrol: İsmini ekranda gördün mü?
Aha! Anı: "Bu sistem artık beni tanıyor ve bana özel tepki veriyor. Ben bir 'Dijital Canlı' yarattım!"
Web’in Anatomisinin Derinleşmesi, temel web yapısının (iskelet, görünüm ve etkileşim) artık daha bilinçli ve sistemli bir üretim yaklaşımıyla yeniden ele alındığı aşamadır. Bu bölümde amaç; HTML, CSS ve JavaScript’i sadece kullanmak değil, bu yapıları parçalayarak yeniden kurabilecek seviyeye gelmektir. Yapay zekâ burada bir öğrenme ortağı olarak kullanılır ve doğru sorularla yönlendirildiğinde, küçük örneklerden başlayarak daha büyük ve kontrollü sistemler üretmeyi mümkün kılar.
Web’in Anatomisinin Derinleşmesi, temel web yapısının (iskelet, görünüm ve etkileşim) artık daha bilinçli ve sistemli bir üretim yaklaşımıyla yeniden ele alındığı aşamadır. Bu bölümde amaç; HTML, CSS ve JavaScript’i sadece kullanmak değil, bu yapıları parçalayarak yeniden kurabilecek seviyeye gelmektir. Yapay zekâ burada bir öğrenme ortağı olarak kullanılır ve doğru sorularla yönlendirildiğinde, küçük örneklerden başlayarak daha büyük ve kontrollü sistemler üretmeyi mümkün kılar.
Web’in Anatomisinin Derinleşmesi, temel web yapısının (iskelet, görünüm ve etkileşim) artık daha bilinçli ve sistemli bir üretim yaklaşımıyla yeniden ele alındığı aşamadır. Bu bölümde amaç; HTML, CSS ve JavaScript’i sadece kullanmak değil, bu yapıları parçalayarak yeniden kurabilecek seviyeye gelmektir. Yapay zekâ burada bir öğrenme ortağı olarak kullanılır ve doğru sorularla yönlendirildiğinde, küçük örneklerden başlayarak daha büyük ve kontrollü sistemler üretmeyi mümkün kılar.
Ders 3.1: "Durum" (State) Nedir?
Senaryo: "Bir uygulamanın o anki 'ruh haline' State (Durum) diyoruz. Örneğin bir sayaç uygulaması yapıyorsak, o anki sayı bizim durumumuzdur. Şimdi sadece sayıları değil, sistemin o anki halini yönetmeyi öğreneceğiz."
AI’dan İstek: "Bana tek dosyada çalışan basit bir sayaç yap. Bir '+' butonu, bir '-' butonu ve sayıyı gösteren bir alan olsun. Ama henüz hafıza ekleme, sadece sayılar değişsin.Full HTML kod."
Kursiyer Uygula: sayac.html oluştur, kodu yapıştır ve butonlara basarak sayının değiştiğini gör.
Sonuç Kontrol: Butonlara bastığında sayı artıp azalıyor mu? Sayfayı yenilediğinde sayı sıfıra dönüyor mu?
Aha! Anı: "State, uygulamanın 'şu anki' aklıdır. Sayfayı yenileyince bu akıl uçar gider."
Ders 3.2: Akla Mühür Vurmak (Hafıza Entegrasyonu)
Senaryo: "Şimdi bu uçucu aklı (State), fabrikanın sarsılmaz kasasına (LocalStorage) kilitleyeceğiz. Sayfayı kapatsan da sayı kaldığı yerden devam edecek."
AI’dan İstek: "Az önceki sayaç koduna şunu ekle: Sayı her değiştiğinde LocalStorage'a kaydetsin. Sayfa açıldığında ise hafızadaki son sayıyı bulup ekrana yazsın.Full HTML kod"
Kursiyer Uygula: Kodu güncelle, sayıya 5 yap ve sayfayı yenile.
Sonuç Kontrol: Sayfa açıldığında '0' yerine '5' mi yazıyor?
Aha! Anı: "State + Hafıza = Kalıcı Uygulama. Artık verim asla kaybolmuyor!"
Ders 3.3: Liste Mantığı (Array State)
Senaryo: "Tek bir sayı tutmak kolaydır. Peki ya bir liste tutmak istersek? Şimdi hafızamıza birden fazla veriyi (bir dizi/array şeklinde) paketleyip koymayı öğreneceğiz."
AI’dan İstek: "Bir 'Yapılacaklar Listesi' (To-Do) iskeleti kur. Yazı yazıp ekle dediğimde listeye eklesin ama henüz hafızaya kaydetme.Full HTML kod"
Kursiyer Uygula: Kodu ekle, birkaç madde yazıp ekle.
Sonuç Kontrol: Eklediğin maddeler listede alt alta görünüyor mu?
Aha! Anı: "Sistem artık sadece tek bir şeyi değil, bir veri yığınını yönetmeye başladı."
Ders 3.4: Karmaşık Paketleme (JSON Mührü)
Senaryo: "Listeyi hafızaya olduğu gibi atamayız. Onu bir kargo paketi gibi paketlememiz (JSON.stringify) ve açarken de paketi yırtmamız (JSON.parse) gerekir. AI'ya bu paketleme işlemini yaptıracağız."
AI’dan İstek: "To-Do listesini bir dizi (Array) olarak tut ve LocalStorage'a JSON formatında kaydet. Sayfa açıldığında bu paketi açıp listeyi tekrar oluştur.Full HTML kod"
Kursiyer Uygula: Kodu güncelle, 3-4 madde ekle ve tarayıcıyı tamamen kapatıp tekrar aç.
Sonuç Kontrol: Listen bıraktığın gibi duruyor mu?
Aha! Anı: "Karmaşık verileri paketleyip dijital kasama koymayı öğrendim. Bu gerçek bir yazılımın temelidir!"
Ders 3.5: Veri Temizliği (Delete State)
Senaryo: "Mimar, yarattığı veriyi yok etmeyi de bilmelidir. State'ten bir eleman silindiğinde hafızadan da silinmesini sağlayacağız."
AI’dan İstek: "Listedeki her maddenin yanına bir 'Sil' butonu ekle. tıklandığında hem ekrandan hem de hafızadan o maddeyi uçursun.Full HTMLkod"
Kursiyer Uygula: Bir maddeyi sil ve sayfayı yenile.
Sonuç Kontrol: Sildiğin madde geri gelmiyor, değil mi?
Aha! Anı: "Verinin tüm yaşam döngüsüne (Oluşturma, Okuma, Silme) hakimim. Ben bu sistemin patronuyum!"
Dinamik Durum Yönetimi ve Hafıza, bir sistemin zaman içinde değişen verileri nasıl tuttuğunu, güncellediğini ve yönettiğini anlamaya odaklanır. Bu bölümde statik yapıdan çıkılarak sürekli değişen state, liste yönetimi ve veri kalıcılığı gibi kavramlar ele alınır. Doğru yaklaşım, yapay zekâyı adım adım derinleşen sorularla yönlendirmek ve veriyi düzenli, yeniden kullanılabilir ve sürdürülebilir bir yapıda yönetmeyi öğrenmektir.
Dinamik Durum Yönetimi ve Hafıza, bir sistemin zaman içinde değişen verileri nasıl tuttuğunu, güncellediğini ve yönettiğini anlamaya odaklanır. Bu bölümde statik yapıdan çıkılarak sürekli değişen state, liste yönetimi ve veri kalıcılığı gibi kavramlar ele alınır. Doğru yaklaşım, yapay zekâyı adım adım derinleşen sorularla yönlendirmek ve veriyi düzenli, yeniden kullanılabilir ve sürdürülebilir bir yapıda yönetmeyi öğrenmektir.
Dinamik Durum Yönetimi ve Hafıza, bir sistemin zaman içinde değişen verileri nasıl tuttuğunu, güncellediğini ve yönettiğini anlamaya odaklanır. Bu bölümde statik yapıdan çıkılarak sürekli değişen state, liste yönetimi ve veri kalıcılığı gibi kavramlar ele alınır. Doğru yaklaşım, yapay zekâyı adım adım derinleşen sorularla yönlendirmek ve veriyi düzenli, yeniden kullanılabilir ve sürdürülebilir bir yapıda yönetmeyi öğrenmektir.
Ders 7.1: Sensörleri Uyandırmak (Cihaz Yetenekleri)
Senaryo: "Tarayıcın, bilgisayarının veya telefonunun donanımlarına erişebilir. Şimdi fabrikanın 'gözlerini' açacağız ve kameraya dokunacağız."
AI’dan İstek: "Bana tek dosyada çalışan, tarayıcı üzerinden kameramı açan ve ekranda bir önizleme gösteren en basit Web API kodunu (getUserMedia) yaz.Full HTML kod"
Kursiyer Uygula: Kodu kaydet, tarayıcıda aç ve sol üstte çıkan "İzin Ver" butonuna bas.
Sonuç Kontrol: Kendi görüntünü tarayıcı sayfasının içinde gördün mü?
Aha! Anı: "Web sayfası sadece bir dosya değil, cihazımın donanımını yöneten bir kumanda paneli!"
Ders 7.2: Dış Dünyadan Haber Almak (Fetch API)
Senaryo: "Fabrikanda hammadde kalmadığında dışarıdan sipariş verirsin. Fetch API, internetteki başka bir sunucudan veri çekip kendi sayfanda göstermeni sağlar. Şimdi canlı bir veri siparişi verelim."
AI’dan İstek: "Ücretsiz bir API kullanarak (örneğin günün sözü veya döviz kuru) internetten canlı veri çeken ve sayfada gösteren bir 'Haberci' sistemi kur.Full HTML kod"
Kursiyer Uygula: Kodu ekle, sayfayı yenile ve verinin gelmesini bekle.
Sonuç Kontrol: Sayfada senin yazmadığın, internetten o an gelen bir bilgi belirdi mi?
Aha! Anı: "Sayfam artık kapalı bir kutu değil; dünya ile canlı bir bağ kuruyor!"
Ders 7.3: Konum Belirleme (Geolocation API)
Senaryo: "Sistemin nerede olduğunu bilmesini sağlayabilirsin. Bu, fabrikanın navigasyon yeteneğidir."
AI’dan İstek: "Butona bastığımda tarayıcıdan konum izni isteyen ve bana o anki enlem-boylam bilgilerimi gösteren bir kod yaz.Full HTML kod."
Kursiyer Uygula: Kodu güncelle, butona tıkla ve konuma izin ver.
Sonuç Kontrol: Ekranda koordinatların belirdi mi?
Aha! Anı: "Uygulamam dünya üzerinde nerede olduğunun farkında!"
Ders 7.4: Sesle Komut (Speech Recognition API)
Senaryo: "Fabrikanda ellerini kullanmadan komut vermek ister miydin? Tarayıcının 'kulaklarını' açıyoruz."
AI’dan İstek: "Sadece Chrome'da çalışan, mikrofonu dinleyen ve söylediğim kelimeleri ekrana yazı olarak döken bir 'Sesli Not' sistemi kur.Full HTML kod"
Kursiyer Uygula: Kodu ekle, "Konuş" butonuna bas ve bir şeyler söyle.
Sonuç Kontrol: Söylediğin kelimeler sihirli bir şekilde ekranda belirdi mi?
Aha! Anı: "Klavyeyi bıraktım, artık sistemimle sesli olarak anlaşıyorum!"
Ders 7.5: Veri ve Sensörün Birleşimi (Proje: Akıllı Günlük)
Senaryo: "Şimdi tüm bu güçleri birleştiriyoruz. Hem konumu alan, hem o anki hava durumunu internetten çeken, hem de sesli not tutan bir 'Akıllı Mimarlık Günlüğü' yapacağız."
AI’dan İstek: "Şu 3 API'yi birleştir: Konumumu al, o konumun hava durumunu internetten (Fetch) getir ve sesli notumu (Speech) bunların yanına ekleyerek LocalStorage'a kaydet.Full HTML kod"
Kursiyer Uygula: Final kodunu çalıştır ve sistemin nasıl bir orkestra gibi çalıştığını izle.
Sonuç Kontrol: Tek tıkla yerini, havayı ve notunu aynı anda mühürledin mi?
Aha! Anı: "Ben artık bir 'Yazılımcı' değilim; cihaz yeteneklerini ve dünya verilerini harmanlayan bir 'Dijital Mimar'ım!"
Dış Dünya Entegrasyonu, bir sistemin yalnızca kendi içinde çalışan kapalı bir yapı olmaktan çıkıp, tarayıcı yetenekleri ve dış veri kaynaklarıyla iletişim kurabilen dinamik bir yapıya dönüşmesini sağlar. Bu bölümde cihaz özellikleri, veri alma süreçleri, konum bilgisi ve kullanıcı etkileşimleri gibi dışa açık kapılar öğrenilir. Doğru entegrasyon yaklaşımı, sistemi daha akıllı, etkileşimli ve gerçek dünya ile bağlantılı hale getirir.
Dış Dünya Entegrasyonu, bir sistemin yalnızca kendi içinde çalışan kapalı bir yapı olmaktan çıkıp, tarayıcı yetenekleri ve dış veri kaynaklarıyla iletişim kurabilen dinamik bir yapıya dönüşmesini sağlar. Bu bölümde cihaz özellikleri, veri alma süreçleri, konum bilgisi ve kullanıcı etkileşimleri gibi dışa açık kapılar öğrenilir. Doğru entegrasyon yaklaşımı, sistemi daha akıllı, etkileşimli ve gerçek dünya ile bağlantılı hale getirir.
Dış Dünya Entegrasyonu, bir sistemin yalnızca kendi içinde çalışan kapalı bir yapı olmaktan çıkıp, tarayıcı yetenekleri ve dış veri kaynaklarıyla iletişim kurabilen dinamik bir yapıya dönüşmesini sağlar. Bu bölümde cihaz özellikleri, veri alma süreçleri, konum bilgisi ve kullanıcı etkileşimleri gibi dışa açık kapılar öğrenilir. Doğru entegrasyon yaklaşımı, sistemi daha akıllı, etkileşimli ve gerçek dünya ile bağlantılı hale getirir.
Ders 5.1: Saf Güç (Sıfır Bağımlılık)
Senaryo: "Çoğu geliştirici dışarıdan gelen 'hazır soslara' (kütüphanelere) güvenir. Ama o sosun içine ne konulduğunu bilmezler. Biz bugün yemeği sadece temel malzemelerle, yani tarayıcının öz gücüyle (Vanilla) yapacağız."
AI’dan İstek: "Senden hiçbir dış bağlantı, kütüphane (Bootstrap, jQuery vb.) kullanmadan; sadece saf HTML, CSS ve JavaScript kullanarak tek dosyada çalışan bir 'Not Defteri' yapmanı istiyorum. Her şey dosyanın içinde olsun."
Kursiyer Uygula: Gelen kodu saf_guc.html olarak kaydet ve tarayıcıda aç.
Sonuç Kontrol: Sayfa kaynağına baktığında (sağ tık -> kaynağı görüntüle) dışarıya giden hiçbir link veya script bağlantısı görmüyorsun, değil mi?
Aha! Anı: "Dış dünyaya hiçbir borcum yok; bu dosya tek başına bir evren!"
Ders 5.2: Usta vs. Hazır Reçete
Senaryo: "Neden bazen dışarıdan yardım alırız, bazen almayız? Aradaki farkı çıplak gözle görme vakti. Bir usta, alet çantasındaki her vidayı tanır."
AI’dan İstek: "Az önce yaptığın Not Defteri'ni bir de popüler bir kütüphane (örneğin React veya Vue) kullanarak yapsaydın ne kadar yer kaplardı ve kaç dosyaya ihtiyacım olurdu? Vanilla JS kullanmanın 'ölümsüzlük' avantajını bana açıkla."
Kursiyer Uygula: AI'nın verdiği teknik karşılaştırmayı oku.
Sonuç Kontrol: Karmaşık sistemlerin aslında ne kadar çok "bağımlılık" yarattığını ve Vanilla'nın neden 20 yıl sonra bile çalışacağını anladın mı?
Aha! Anı: "Kütüphane kullanmak bir tercihtir, ama Vanilla JS kullanabilmek bir özgürlüktür!"
Ders 5.2: Usta vs. Hazır Reçete
Senaryo: "Neden bazen dışarıdan yardım alırız, bazen almayız? Aradaki farkı çıplak gözle görme vakti. Bir usta, alet çantasındaki her vidayı tanır."
AI’dan İstek: "Az önce yaptığın Not Defteri'ni bir de popüler bir kütüphane (örneğin React veya Vue) kullanarak yapsaydın ne kadar yer kaplardı ve kaç dosyaya ihtiyacım olurdu? Vanilla JS kullanmanın 'ölümsüzlük' avantajını bana açıkla."
Kursiyer Uygula: AI'nın verdiği teknik karşılaştırmayı oku.
Sonuç Kontrol: Karmaşık sistemlerin aslında ne kadar çok "bağımlılık" yarattığını ve Vanilla'nın neden 20 yıl sonra bile çalışacağını anladın mı?
Aha! Anı: "Kütüphane kullanmak bir tercihtir, ama Vanilla JS kullanabilmek bir özgürlüktür!"
Ders 5.3: Büyük Sınav (İnternetsiz Hayat)
Senaryo: "Uygulamanın gerçekten sana ait olup olmadığını anlamanın tek bir yolu var: Fişi çekmek. Modern uygulamaların çoğu internet gidince 'donar'. Bakalım seninki ne yapacak?"
AI’dan İstek: "Uygulamamın içine öyle bir kontrol ekle ki; internet bağlantısı kopsa bile ekranda 'Bağımsızlığın Tadını Çıkar, Sistem Hâlâ Çalışıyor!' yazan şık bir bildirim çıksın.Full HTML kod"
Kursiyer Uygula: Kodu güncelle, bilgisayarının internetini kapat ve sayfayı yenile.
Sonuç Kontrol: Sayfa "Bağlantı Yok" hatası vermek yerine senin notlarını tıkır tıkır göstermeye devam ediyor mu?
Aha! Anı: "Benim sistemim bulutlarda değil, benim avucumun içinde yaşıyor!"
Ders 5.4: Hız ve Hafıza (Performansın Sırrı)
Senaryo: "Gereksiz yüklerden kurtulan bir sistem, yarış arabası gibidir. Verilerin bir sunucudan gelmesini beklemediğimiz için her şey ışık hızında gerçekleşecek."
AI’dan İstek: "Bu uygulamaya 1000 tane rastgele not ekleyen bir 'Stres Testi' fonksiyonu yaz. Bakalım tarayıcı bu kadar veriyi saniyeler içinde hafızasında nasıl yönetiyor?full html kod
Kursiyer Uygula: Testi çalıştır ve notların ne kadar hızlı listelendiğini gör.
Sonuç Kontrol: Sayfa donmadan binlerce veriyi anında işleyebildi mi?
Aha! Anı: "Aracıları aradan çıkardığımda, teknolojinin gerçek hızına ulaşıyorum."
Ders 5.5: Taşınabilir Mühür
Senaryo: "Bu dosya artık bir 'mühür'. Onu bir flash diske atıp kutuplara da gitsen, 100 yıl sonraki bir bilgisayara da taksan çalışacak."
AI’dan İstek: "Dosyamın içine öyle bir 'Hakkında' bölümü ekle ki, bu kodun hangi standartlarla yazıldığını ve neden gelecekte de çalışacağını teknik olarak açıklasın (ECMAScript standartları vb.)."
Kursiyer Uygula: Dosyayı flash diske kopyala ve başka bir cihazda (tablet veya başka bilgisayar) açmayı dene.
Sonuç Kontrol: Hiçbir kurulum yapmadan uygulaman her yerde aynı kararlılıkla çalışıyor mu?
Aha! Anı: "Ben bir web sitesi değil, taşınabilir bir dijital mülk inşa ettim."
Bağımsız Sistem Tasarımı (Saf Güç Yaklaşımı), dış kütüphanelere bağımlı olmadan, tamamen temel yapı taşlarıyla çalışan hafif, hızlı ve kontrol edilebilir sistemler kurmayı öğretir. Bu bölümde yapay zekâ, sadece kod üreten bir araç değil, mimari düşünmeyi destekleyen bir danışman gibi kullanılır. Amaç; hazır çözümleri tüketmek değil, onların mantığını anlayarak kendi versiyonlarını üretebilmek ve farklı ortamlarda çalışabilen bağımsız yapılar tasarlamaktır.
Bağımsız Sistem Tasarımı (Saf Güç Yaklaşımı), dış kütüphanelere bağımlı olmadan, tamamen temel yapı taşlarıyla çalışan hafif, hızlı ve kontrol edilebilir sistemler kurmayı öğretir. Bu bölümde yapay zekâ, sadece kod üreten bir araç değil, mimari düşünmeyi destekleyen bir danışman gibi kullanılır. Amaç; hazır çözümleri tüketmek değil, onların mantığını anlayarak kendi versiyonlarını üretebilmek ve farklı ortamlarda çalışabilen bağımsız yapılar tasarlamaktır.
Bağımsız Sistem Tasarımı (Saf Güç Yaklaşımı), dış kütüphanelere bağımlı olmadan, tamamen temel yapı taşlarıyla çalışan hafif, hızlı ve kontrol edilebilir sistemler kurmayı öğretir. Bu bölümde yapay zekâ, sadece kod üreten bir araç değil, mimari düşünmeyi destekleyen bir danışman gibi kullanılır. Amaç; hazır çözümleri tüketmek değil, onların mantığını anlayarak kendi versiyonlarını üretebilmek ve farklı ortamlarda çalışabilen bağımsız yapılar tasarlamaktır.
Ders 4.1: Garson Değil, Şef Seçmek
Senaryo: "AI'ya 'Bana kod yaz' demek, garsona 'Bana yemek getir' demek gibidir; ne geleceğini bilemezsin. Ama biz bugün AI'yı 'Baş Şef' koltuğuna oturtacağız. Ona önce ne yapacağını planlatacağız, sonra onay vereceğiz."
AI’dan İstek: ? İdeal "Full HTML" Talimat Formülü
Talimatını şu 4 ana sütun üzerine inşa et:
1. Rol ve Bağlam Tanımlama
AI'ya bir uzman kimliği yükle ve felsefeni belirt.
"Sen bir Vanilla Web Developer ve Sistem Mimarıyısın. Hiçbir dış kütüphane (Bootstrap, jQuery, Google Fonts vb.) kullanmadan, sadece saf HTML, CSS ve JavaScript ile çalışan profesyonel bir araç geliştireceksin."
2. Teknik Sınırlar (Mühürleme Kuralları)
Dosyanın yapısını ve bağımsızlığını garanti altına al.
Single File: "Tüm CSS ve JS kodlarını tek bir HTML dosyası içinde (<style> ve <script> etiketleri kullanarak) topla."
Offline First: "Sistem tamamen offline çalışmalı. Fontlar veya ikonlar için dış link verme, gerekirse SVG kullan."
Persistence: "Verileri saklamak için tarayıcının localStorage özelliğini kullan."
3. Modüler Mimari Detayları
Sistemin hangi bölümlerden oluşacağını adım adım yaz.
Hafıza: "Veri yapısı JSON formatında olsun. Veriyi dışa aktar (Export JSON) ve içe aktar (Import JSON) fonksiyonları ekle."
Arayüz: "Modern, koyu tema (dark mode) ve mobil uyumlu bir arayüz tasarla. Dashboard, Form ve Liste bölümleri olsun."
Fonksiyonlar: "Ekleme, silme, filtreleme ve anlık bakiye hesaplama mantığını kur."
4. Çıktı Formatı
AI'nın kodu bölmemesi veya açıklama arasında kaybetmemesi için son noktayı koy.
"Lütfen başka açıklama yapmadan, doğrudan kopyalanıp çalıştırılabilir 'Full HTML' kodunu tek bir kod bloğu içinde ver."
? Örnek Bir "Şef" Talimatı (Prompt)
Eğer az önceki bütçe aracını yazdırmak isteseydin, talimatın tam olarak şöyle olmalıydı:
"Bir Bütçe Takip Aracı yapmanı istiyorum.
Teknik Şartlar:
Tek bir HTML dosyası olmalı (CSS ve JS içinde).
Dış bağımlılık (CDN, API, Font) kesinlikle yasak.
Veriler localStorage üzerinden kalıcı olmalı.
Fonksiyonel Parçalar:
Üstte toplam bakiye, gelir ve gideri gösteren özet alanı.
İşlem ekleme formu (Miktar, Kategori, Tip seçimi).
İşlemlerin listelendiği, silinebildiği bir tablo.
Veriyi JSON olarak yedekleme (Yedekle/Yükle) butonları.
Tasarım: Modern, temiz, pastel renklerin hakim olduğu bir 'Dashboard' görünümü.
Şimdi bu plana uygun Full HTML kodunu tek seferde yaz."
Kursiyer Uygula: AI’nın çıkardığı planı oku. Giriş, İşlem ve Hafıza adımlarını nasıl kurguladığını incele.
Sonuç Kontrol: AI sana "Şu butonlar olmalı, şu tablo verileri göstermeli" gibi mantıklı bir strateji sundu mu?
Aha! Anı: "AI ile konuşurken önce planı netleştirirsem, kontrolü asla kaybetmem!"
Ders 4.2: Menüyü Yazmak (Proje Talep Dokümanı)
Senaryo: "Plan tamam. Şimdi bu planı sarsılmaz bir menüye dönüştüreceğiz. AI'ya kurallarımızı koyacağız: Tek dosya olacak, dışarıya bağımlı olmayacak ve hafızayı kullanacak."
AI’dan İstek: "Planladığımız Bütçe Takipçisi için şu kurallara göre bir sistem kur: 1. Tek bir HTML dosyası olsun. 2. Vanilla JS kullan. 3. Tüm veriler LocalStorage'da saklansın. Bana bu kurallara uyacağına dair onay ver.Full HTML kod"
Kursiyer Uygula: AI'nın kuralları kabul edip etmediğini kontrol et.
Sonuç Kontrol: AI "Evet, bu kurallara uyarak sistemi inşa edebiliriz" dedi mi?
Aha! Anı: "Sistemin sınırlarını ben çiziyorum, AI sadece bu sınırlar içinde üretim yapıyor."
Ders 4.4: Şefin Tadım Testi (Hata Ayıklama)
Senaryo: "Yemek geldi ama tuzu eksik olabilir. Bir mimar, sistemin açığını arar. AI'ya kendi yazdığı kodun sınırlarını sorgulatacağız."
AI’dan İstek: "Yazdığın bu kodda bir hata olabilir mi? Mesela boş bir harcama eklemeye çalışırsam sistem çöker mi? Eğer öyleyse bu durumu düzelten bir güvenlik önlemi ekle.Full HTML kod"
Kursiyer Uygula: Kodu güncelle ve boş harcama eklemeyi dene.
Sonuç Kontrol: Sistem seni uyardı mı yoksa hata mı verdi?
Aha! Anı: "Sadece yaptıran değil, denetleyen olduğumda sistem sarsılmaz olur."
Ders 4.5: Menüye Yeni Lezzet (Özellik Ekleme)
Senaryo: "Restoran dolup taşıyor! Müşteriler (sen) yeni bir özellik istiyor. Var olan sisteme yeni bir modül eklemeyi öğreneceğiz."
AI’dan İstek: "Bütçe Takipçisi'ne bir 'Grafik' alanı ekle. Harcamalarımın kategorilerine göre (Yemek, Kira, Eğlence) dağılımını renkli çubuklarla göster.Full HTML kod"
Kursiyer Uygula: Kodu güncelle ve birkaç farklı kategoride harcama gir.
Sonuç Kontrol: Harcamaların arttıkça grafikler de değişiyor mu?
Aha! Anı: "Sistemimi istediğim an büyütebilir ve yeni yetenekler kazandırabilirim!"
AI ile Sistem Tasarımı, yapay zekâyı sadece soru-cevap aracı olarak değil, planlama, üretim, test ve geliştirme süreçlerinde aktif bir üretim ortağı olarak kullanmayı öğretir. Bu yaklaşımda küçük kod parçaları yerine net hedefleri olan, yapılandırılmış ve genişletilebilir sistemler tasarlanır. Doğru yönlendirme ile AI’dan alınan çıktılar daha tutarlı, kullanılabilir ve profesyonel hale gelir; böylece kullanıcı basit örneklerden çıkıp uçtan uca çalışan projeler geliştiren bir üreticiye dönüşür.
AI ile Sistem Tasarımı, yapay zekâyı sadece soru-cevap aracı olarak değil, planlama, üretim, test ve geliştirme süreçlerinde aktif bir üretim ortağı olarak kullanmayı öğretir. Bu yaklaşımda küçük kod parçaları yerine net hedefleri olan, yapılandırılmış ve genişletilebilir sistemler tasarlanır. Doğru yönlendirme ile AI’dan alınan çıktılar daha tutarlı, kullanılabilir ve profesyonel hale gelir; böylece kullanıcı basit örneklerden çıkıp uçtan uca çalışan projeler geliştiren bir üreticiye dönüşür.
AI ile Sistem Tasarımı, yapay zekâyı sadece soru-cevap aracı olarak değil, planlama, üretim, test ve geliştirme süreçlerinde aktif bir üretim ortağı olarak kullanmayı öğretir. Bu yaklaşımda küçük kod parçaları yerine net hedefleri olan, yapılandırılmış ve genişletilebilir sistemler tasarlanır. Doğru yönlendirme ile AI’dan alınan çıktılar daha tutarlı, kullanılabilir ve profesyonel hale gelir; böylece kullanıcı basit örneklerden çıkıp uçtan uca çalışan projeler geliştiren bir üreticiye dönüşür.
Ders 6.1: Neden Kütüphane Kullanırız?
Senaryo: "Bir tekerleği her seferinde yeniden icat etmene gerek yok. Eğer amacın çok karmaşık bir grafik çizmek veya çok zor bir hesaplama yapmaksa, bu konuda uzmanlaşmış 'yardımcı işçileri' (kütüphaneleri) fabrikana çağırabilirsin."
AI’dan İstek: "Bana Vanilla JS ile bir 'Tarih Seçici' (Calendar) yapmanın ne kadar zor olduğunu anlat. Sonra bu işi saniyeler içinde çözen popüler bir kütüphane (örneğin Flatpickr) öner ve aradaki farkı göster."
Kursiyer Uygula: AI'nın açıklamasını oku ve 100 satırlık kod yerine 1 satırlık kütüphane çağrısının gücünü gör.
Sonuç Kontrol: Kütüphanenin sunduğu konforu ve hız farkını kavradın mı?
Aha! Anı: "Kütüphane kullanmak hile yapmak değil, uzmanlardan yardım almaktır!"
Ders 6.1: Neden Kütüphane Kullanırız?
Senaryo: "Bir tekerleği her seferinde yeniden icat etmene gerek yok. Eğer amacın çok karmaşık bir grafik çizmek veya çok zor bir hesaplama yapmaksa, bu konuda uzmanlaşmış 'yardımcı işçileri' (kütüphaneleri) fabrikana çağırabilirsin."
AI’dan İstek: "Bana Vanilla JS ile bir 'Tarih Seçici' (Calendar) yapmanın ne kadar zor olduğunu anlat. Sonra bu işi saniyeler içinde çözen popüler bir kütüphane (örneğin Flatpickr) öner ve aradaki farkı göster."
Kursiyer Uygula: AI'nın açıklamasını oku ve 100 satırlık kod yerine 1 satırlık kütüphane çağrısının gücünü gör.
Sonuç Kontrol: Kütüphanenin sunduğu konforu ve hız farkını kavradın mı?
Aha! Anı: "Kütüphane kullanmak hile yapmak değil, uzmanlardan yardım almaktır!"
Ders 6.3: "Açık Büfe" Tehlikesi (Bağımlılık Yönetimi)
Senaryo: "Her gördüğün kütüphaneyi sisteme eklemek fabrikanı hantallaştırır. Bir mimar olarak sorman gereken soru şu: Ben bu kütüphaneye gerçekten muhtaç mıyım, yoksa Vanilla JS ile bunu 5 dakikada yapabilir miyim?"
AI’dan İstek: "Bana 'Kütüphane Seçme Rehberi' hazırla. Hangi durumlarda Vanilla JS, hangi durumlarda kütüphane kullanmalıyım? 3 örnekle açıkla."
Kursiyer Uygula: AI'nın stratejik tavsiyelerini oku.
Sonuç Kontrol: "Gereksiz yük" ile "Zorunlu yardımcı" arasındaki farkı ayırt edebiliyor musun?
Aha! Anı: "En iyi kütüphane, hiç kullanmaya gerek duymadığın kütüphanedir!"
Ders 6.3: "Açık Büfe" Tehlikesi (Bağımlılık Yönetimi)
Senaryo: "Her gördüğün kütüphaneyi sisteme eklemek fabrikanı hantallaştırır. Bir mimar olarak sorman gereken soru şu: Ben bu kütüphaneye gerçekten muhtaç mıyım, yoksa Vanilla JS ile bunu 5 dakikada yapabilir miyim?"
AI’dan İstek: "Bana 'Kütüphane Seçme Rehberi' hazırla. Hangi durumlarda Vanilla JS, hangi durumlarda kütüphane kullanmalıyım? 3 örnekle açıkla."
Kursiyer Uygula: AI'nın stratejik tavsiyelerini oku.
Sonuç Kontrol: "Gereksiz yük" ile "Zorunlu yardımcı" arasındaki farkı ayırt edebiliyor musun?
Aha! Anı: "En iyi kütüphane, hiç kullanmaya gerek duymadığın kütüphanedir!"
Ders 6.5: Mini Proje — "Süper Güçlü Su Takipçisi"
Senaryo: "Şimdiye kadar yaptığımız su takipçisini profesyonel bir seviyeye taşıyoruz. Hem Vanilla JS'in hızı, hem kütüphanenin görsel gücü!"
AI’dan İstek: "Mevcut su takipçisi sistemime Confetti.js veya Anime.js ekle. Her bardak su içtiğimde ekranda muazzam bir kutlama animasyonu patlasın.Full HTML kod"
Kursiyer Uygula: Kodları birleştir ve butona basarak o görsel şöleni izle.
Sonuç Kontrol: Sistem hem veriyi tutuyor hem de harika görünüyor mu?
Aha! Anı: "Ben artık araçları sadece kullanan değil, onları birleştirerek sanat yapan bir mimarım!"
Hazır Bileşenlerle Sistem Kurma, her şeyi sıfırdan yazmak yerine güçlü ve önceden geliştirilmiş parçaları doğru şekilde birleştirerek hızlı ve verimli sistemler oluşturmayı öğretir. Bu bölümde kütüphaneleri ne zaman ve neden kullanacağınızı anlamak, dış çözümleri sisteme doğru şekilde entegre etmek ve gereksiz bağımlılıklardan kaçınmak temel yaklaşımdır. Yapay zekâ ile çalışma süreci de bu noktada daha analitik hale gelir; artık sadece “nasıl yapılır” değil, “neden yapılmalı” sorusu üzerinden ilerlenir ve sonuç olarak daha bilinçli, kontrollü ve sistem odaklı bir üretim süreci ortaya çıkar.
Hazır Bileşenlerle Sistem Kurma, her şeyi sıfırdan yazmak yerine güçlü ve önceden geliştirilmiş parçaları doğru şekilde birleştirerek hızlı ve verimli sistemler oluşturmayı öğretir. Bu bölümde kütüphaneleri ne zaman ve neden kullanacağınızı anlamak, dış çözümleri sisteme doğru şekilde entegre etmek ve gereksiz bağımlılıklardan kaçınmak temel yaklaşımdır. Yapay zekâ ile çalışma süreci de bu noktada daha analitik hale gelir; artık sadece “nasıl yapılır” değil, “neden yapılmalı” sorusu üzerinden ilerlenir ve sonuç olarak daha bilinçli, kontrollü ve sistem odaklı bir üretim süreci ortaya çıkar.
Hazır Bileşenlerle Sistem Kurma, her şeyi sıfırdan yazmak yerine güçlü ve önceden geliştirilmiş parçaları doğru şekilde birleştirerek hızlı ve verimli sistemler oluşturmayı öğretir. Bu bölümde kütüphaneleri ne zaman ve neden kullanacağınızı anlamak, dış çözümleri sisteme doğru şekilde entegre etmek ve gereksiz bağımlılıklardan kaçınmak temel yaklaşımdır. Yapay zekâ ile çalışma süreci de bu noktada daha analitik hale gelir; artık sadece “nasıl yapılır” değil, “neden yapılmalı” sorusu üzerinden ilerlenir ve sonuç olarak daha bilinçli, kontrollü ve sistem odaklı bir üretim süreci ortaya çıkar.
Ders 8.1: "Çirkin Buton" Devrinin Sonu
Senaryo: "Şu ana kadar yaptığımız butonlar ve kutular biraz 'ilkel' görünüyordu. UI Frameworkleri, profesyonel tasarımcıların elinden çıkmış hazır kıyafetler gibidir. Şimdi sistemimize dünyaca ünlü bir stil kütüphanesini (örneğin Tailwind CSS) davet edeceğiz."
AI’dan İstek: "Bana tek dosyada çalışan, Tailwind CSS kütüphanesini CDN üzerinden kullanan modern ve şık bir 'Giriş Kartı' (Login Card) yap. Butonlar yumuşak köşeli, gölgeli ve üzerine gelince parlayan cinsten olsun."
Kursiyer Uygula: Kodu estetik.html olarak kaydet ve tarayıcıda aç.
Sonuç Kontrol: Sayfa bir anda sanki büyük bir teknoloji şirketinin uygulamasıymış gibi profesyonel görünüyor mu?
Aha! Anı: "Tasarımcı olmama gerek yok; doğru araçla profesyonel bir vizyon sunabilirim!"
Ders 8.2: Izgara Sistemi (Grid & Layout)
Senaryo: "Bir mimar için en önemli şey düzendir. Sayfanın mobilde farklı, masaüstünde farklı görünmesini sağlamak (Responsive) eskiden bir kabustu. UI Frameworkleri ile bu bir çocuk oyuncağı."
AI’dan İstek: "Tailwind kullanarak 3 sütunlu bir panel yap. Bilgisayarda yan yana dursunlar, telefonda açınca alt alta sıralansınlar. Buna 'Responsive Tasarım' denildiğini biliyorum, bana en basit halini göster."
Kursiyer Uygula: Kodu ekle ve tarayıcı penceresini yanlardan tutup daraltıp genişlet.
Sonuç Kontrol: Pencere küçüldüğünde kutular akıllıca yer değiştiriyor mu?
Aha! Anı: "Sistemim artık her cihaza uyum sağlayan akıllı bir yapıya dönüştü!"
Ders 8.3: Hazır Bileşenler (Components)
Senaryo: "Sıfırdan bir açılır menü (Dropdown) veya bir modal (pop-up) yapmak saatler sürer. Ama UI Frameworklerinde bunlar birer 'kod takısı'dır. Şimdi sistemimize profesyonel bir uyarı penceresi ekleyelim."
AI’dan İstek: "Sayfaya bir 'Bilgi' butonu ekle. Tıklandığında ekranın ortasında şık, yarı şeffaf bir kutu (Modal) açılsın ve içinde sistemin amacını anlatsın."
Kursiyer Uygula: Kodu güncelle ve butona tıkla.
Sonuç Kontrol: O yumuşak geçişli, profesyonel pencereyi gördün mü?
Aha! Anı: "Karmaşık etkileşimleri sadece kopyalayıp yöneterek saniyeler içinde kurabiliyorum!"
Ders 8.4: Karanlık Mod (Dark Mode) Büyüsü
Senaryo: "Modern bir sistemin olmazsa olmazı 'Gece Modu'dur. UI Frameworkleri ile bir butona basarak tüm sistemin renklerini değiştirmek çok kolaydır."
AI’dan İstek: "Tailwind kullanarak sayfaya bir 'Güneş/Ay' ikonu ekle. Tıklandığında tüm arayüz beyazdan derin bir gece siyahına dönsün."
Kursiyer Uygula: Kodu güncelle ve modu değiştir.
Sonuç Kontrol: Tek tıkla tüm atmosfer değişti mi?
Aha! Anı: "Kullanıcıma konfor sunmak bu kadar zahmetsiz olmamalıydı!"
AI ile Profesyonel Üretim Süreci, teknik bilgiyi tek tek öğrenmekten çıkarıp, bunu sistem tasarlama becerisine dönüştürmeyi hedefler. Bu aşamada UI frameworkleri, grid yapıları ve hazır bileşenler sadece araç değil, planlı üretimi hızlandıran bir mimari düşünme sistemi haline gelir. Yapay zekâ ile etkileşim artık basit komutlardan çıkar, katmanlı ve hedef odaklı tasarım talimatlarına dönüşür. Amaç, sadece kod üretmek değil; planlanmış, modüler ve profesyonel sistemler inşa etmeyi öğrenmektir.
AI ile Profesyonel Üretim Süreci, teknik bilgiyi tek tek öğrenmekten çıkarıp, bunu sistem tasarlama becerisine dönüştürmeyi hedefler. Bu aşamada UI frameworkleri, grid yapıları ve hazır bileşenler sadece araç değil, planlı üretimi hızlandıran bir mimari düşünme sistemi haline gelir. Yapay zekâ ile etkileşim artık basit komutlardan çıkar, katmanlı ve hedef odaklı tasarım talimatlarına dönüşür. Amaç, sadece kod üretmek değil; planlanmış, modüler ve profesyonel sistemler inşa etmeyi öğrenmektir.
AI ile Profesyonel Üretim Süreci, teknik bilgiyi tek tek öğrenmekten çıkarıp, bunu sistem tasarlama becerisine dönüştürmeyi hedefler. Bu aşamada UI frameworkleri, grid yapıları ve hazır bileşenler sadece araç değil, planlı üretimi hızlandıran bir mimari düşünme sistemi haline gelir. Yapay zekâ ile etkileşim artık basit komutlardan çıkar, katmanlı ve hedef odaklı tasarım talimatlarına dönüşür. Amaç, sadece kod üretmek değil; planlanmış, modüler ve profesyonel sistemler inşa etmeyi öğrenmektir.
Ders 9.1: Spagettiye Hayır (Kod Organizasyonu)
Senaryo: "Tüm eşyaları evin tek bir odasına yığarsan hiçbir şeyi bulamazsın. Kodu da tek bir blok halinde yazarsan yönetemezsin. Şimdi 'Fonksiyonlar' kullanarak görevleri birbirinden ayıracağız (Separation of Concerns)."
AI’dan İstek: "Bana tek dosyada çalışan bir sistem yaz ama her işi ayrı bir fonksiyon yapsın: veriyiAl(), hesapla(), ekranaYaz(). Kodun içinde bu bölümleri yorum satırlarıyla mimari bir düzene sok."
Kursiyer Uygula: Kodu mimari.html olarak kaydet ve fonksiyonların birbirini nasıl çağırdığını incele.
Sonuç Kontrol: Kodun içinde her bölümün ne işe yaradığı bir bakışta anlaşılabiliyor mu?
Aha! Anı: "Kodu parçalara böldüğümde, devasa sistemler artık gözümü korkutmuyor!"
Ders 9.2: Modüler Şablonlar (Template Literals)
Senaryo: "HTML ve JavaScript'i birbirine karıştırmak kodun mimarisini bozar. JS içinde HTML şablonları oluşturarak, sanki bir lego parçası üretiyormuş gibi dinamik arayüzler kuracağız."
AI’dan İstek: "Bir 'Ürün Kartı' oluşturucu yaz. Bir fonksiyon olsun, ona isim ve fiyat göndereyim, o da bana şık bir HTML kartı döndürsün (Backtick kullanarak)."
Kursiyer Uygula: Kodu güncelle ve fonksiyonu 3 farklı ürün için çağır.
Sonuç Kontrol: Tek bir fonksiyonla ekranda 3 farklı kart belirdi mi?
Aha! Anı: "Bir kez kalıp (şablon) çıkartıyorum ve sonsuz tane üretim yapabiliyorum!"
Ders 9.3: Nesne Odaklı Düşünmek (Objects as Models)
Senaryo: "Bir canlının ismini, yaşını ve yeteneklerini ayrı ayrı değişkenlerde tutmak dağınıklıktır. Bunları bir 'Nesne' (Object) paketinde toplayarak sistemimizi daha profesyonel hale getireceğiz."
AI’dan İstek: "Bana bir 'Kullanıcı Profili' nesnesi oluştur. İçinde isim, rütbe ve puan olsun. Bir butona basınca bu nesnedeki verileri kullanarak ekrana bir kimlik kartı bassın.Full HTML kod"
Kursiyer Uygula: Nesne içindeki bir değeri (örneğin ismi) değiştirip sayfayı yenile.
Sonuç Kontrol: Kimlik kartındaki bilgi anında güncellendi mi?
Aha! Anı: "Veriyi bir paket olarak yönettiğimde, sistemin gerçek mimarı gibi hissediyorum."
Ders 9.4: Temiz Kod ve Refactoring (Yeniden İnşa)
Senaryo: "Mimar, binayı bitirdikten sonra çevre düzenlemesini yapar. Daha önce yazdığımız 'karmaşık' bir kodu alıp, AI yardımıyla daha temiz ve kısa bir hale getireceğiz."
AI’dan İstek: "Daha önce yazdığımız 'Su Takipçisi' kodunu al ve onu 'Clean Code' prensiplerine göre yeniden düzenle. Gereksiz tekrarları çıkar (DRY - Don't Repeat Yourself)."
Kursiyer Uygula: Eski kodu sil, AI'nın optimize ettiği yeni ve 'temiz' sürümü yapıştır.
Sonuç Kontrol: Sistem aynı işi yapıyor ama kod çok daha kısa ve anlaşılır mı?
Aha! Anı: "Az kodla çok iş yapmak, ustalığın en büyük kanıtıdır!"
Ders 9.5: Proje — "Modüler Şehir Planı"
Senaryo: "Şimdi tüm bu mimari yetenekleri birleştiriyoruz. Bir 'Görev Paneli' yapacağız ama her şey modüler olacak: Veri modülü, Görünüm modülü ve Kontrol modülü."
AI’dan İstek: "Bana profesyonel bir Proje Yönetim Paneli yap. Öyle bir yapıda kur ki; yeni bir görev eklemek, silmek ve güncellemek için ayrı fonksiyonlar (modüller) olsun. Kodun mimarisi ders niteliğinde olsun.Full HTML kod"
Kursiyer Uygula: Kodu çalıştır ve fonksiyonların birbirine nasıl veri aktardığını izle.
Sonuç Kontrol: Bir modülü (fonksiyonu) değiştirdiğinde diğerlerinin bozulmadan çalıştığını gördün mü?
Aha! Anı: "Ben artık sadece kod yazmıyorum, gelecekte büyütülebilecek sarsılmaz bir sistem mimarisi inşa ediyorum!"
Sürdürülebilir Kod Mimarisi, sadece çalışan sistemler kurmayı değil, bu sistemleri uzun vadede anlaşılır, geliştirilebilir ve ölçeklenebilir hale getirmeyi hedefler. Bu yaklaşımda “spagetti kod” yerine modüler yapı, tekrar kullanılabilir şablonlar, nesne odaklı düşünme ve temiz kod prensipleri öne çıkar. Amaç, karmaşık sistemleri parçalara ayırarak yönetilebilir hale getirmek ve hem geliştirici hem de AI için daha düzenli bir üretim süreci oluşturmaktır.
Sürdürülebilir Kod Mimarisi, sadece çalışan sistemler kurmayı değil, bu sistemleri uzun vadede anlaşılır, geliştirilebilir ve ölçeklenebilir hale getirmeyi hedefler. Bu yaklaşımda “spagetti kod” yerine modüler yapı, tekrar kullanılabilir şablonlar, nesne odaklı düşünme ve temiz kod prensipleri öne çıkar. Amaç, karmaşık sistemleri parçalara ayırarak yönetilebilir hale getirmek ve hem geliştirici hem de AI için daha düzenli bir üretim süreci oluşturmaktır.
AI ile HTML: Sor, Öğren, Üret – Tek Dosyada Güçlü Web Uygulamaları Geliştirme
Giriş: Yeni Nesil Web Geliştirme Yaklaşımı
Web geliştirme dünyası hızla değişiyor. Artık sadece kod yazmak yeterli değil. Doğru soruları sormak, sistem kurmak ve üretim odaklı düşünmek gerekiyor. Bu kurs, klasik eğitimlerden farklı olarak size sadece “nasıl kod yazılır”ı değil, aynı zamanda “nasıl üretim yapılır”ı öğretir.
Bu eğitimde, yapay zekayı bir araç değil bir iş ortağı olarak kullanmayı öğreneceksiniz. HTML, CSS ve JavaScript’in gücünü tek bir dosyada birleştirerek, bağımsız çalışan uygulamalar geliştireceksiniz. Hiçbir framework’e bağlı kalmadan, sıfırdan sistem kurma becerisi kazanacaksınız.
Bu kursun temel amacı, sizi bilgi tüketen biri olmaktan çıkarıp, kendi araçlarını üreten bir geliştirici haline getirmektir.
Bu Kursun Farkı Nedir?
Piyasadaki birçok kurs, belirli bir teknolojiye veya kütüphaneye bağımlı kalır. Bu da sizi o teknolojiye bağlı hale getirir. Bu kurs ise bağımsızlığı öğretir.
Burada öğreneceğiniz en önemli şeylerden biri şudur: Tarayıcı aslında bir laboratuvardır. Doğru kullanıldığında, kendi uygulamalarınızı geliştirebileceğiniz güçlü bir üretim ortamına dönüşür.
Bu kursta:
Tek dosya HTML yaklaşımıyla sistem kurmayı öğreneceksiniz
AI ile doğru iletişim kurarak proje üretmeyi deneyimleyeceksiniz
Hazır araçlar yerine kendi araçlarınızı geliştireceksiniz
Kodun mantığını yüzeysel değil derinlemesine anlayacaksınız
Bu yaklaşım, sizi sadece bir kullanıcı değil, bir üretici yapar.
Tarayıcı: Sizin Kendi Yazılım Fabrikanız
Çoğu kişi tarayıcıyı sadece web sitelerini görüntülemek için kullanır. Bu kurs, tarayıcıya bakış açınızı tamamen değiştirecek.
Tarayıcı içinde:
Arayüz oluşturabilirsiniz
Veri saklayabilirsiniz
Kullanıcı etkileşimlerini yönetebilirsiniz
API’lerle dış dünyaya bağlanabilirsiniz
Bu kurs boyunca, tarayıcıyı bir “yazılım fabrikası” olarak kullanmayı öğreneceksiniz. Her ders, bu fabrikanın farklı bir parçasını aktive eder.
Web’in Anatomisini Derinlemesine Öğrenin
Web teknolojileri üç temel yapıdan oluşur:
HTML: Yapı
CSS: Görünüm
JavaScript: Davranış
Bu kurs, bu üç teknolojiyi ayrı ayrı değil, birlikte nasıl çalıştıklarını anlayarak öğretir.
HTML ile sayfanın iskeletini kuracak, CSS ile görsel kimliğini oluşturacak ve JavaScript ile sayfaya hayat vereceksiniz.
Ancak burada amaç sadece öğrenmek değil. Amaç, bu bilgileri kullanarak gerçek çalışan sistemler üretmektir.
Dinamik Sistemler ve State Yönetimi
Modern uygulamaların en önemli özelliklerinden biri veri yönetimidir. Bu kurs, size sadece statik sayfalar değil, dinamik sistemler kurmayı öğretir.
Öğreneceğiniz konular arasında:
State kavramı
Veri saklama
Liste yönetimi
JSON yapıları
Veri temizleme ve güncelleme
Bu konular sayesinde, kullanıcıyla etkileşim kuran ve veri saklayan uygulamalar geliştirebileceksiniz.
Yapay Zeka ile Doğru İletişim Kurma
Yapay zeka kullanmak, sadece soru sormaktan ibaret değildir. Doğru soruyu sormak, doğru sonucu almanın temelidir.
Bu kursta:
AI’a nasıl proje anlatılır
İyi bir talep dokümanı nasıl yazılır
Büyük bir proje nasıl parçalara bölünür
AI çıktıları nasıl test edilir ve geliştirilir
gibi kritik becerileri öğreneceksiniz.
Amaç, AI’ı rastgele kullanan biri değil, onu yöneten bir geliştirici olmanızdır.
Web API’leri ile Gerçek Dünya ile Bağlantı
Modern web uygulamaları sadece ekranda çalışan yapılar değildir. Gerçek dünya ile bağlantı kurarlar.
Bu kursta öğreneceğiniz API’ler sayesinde:
Dış kaynaklardan veri çekebileceksiniz
Kullanıcının konumunu kullanabileceksiniz
Sesli komut sistemleri kurabileceksiniz
Bu bilgilerle, sadece basit uygulamalar değil, gerçek hayata dokunan projeler geliştireceksiniz.
Vanilla JavaScript ile Bağımsız Güç
Birçok geliştirici, kütüphanelere bağımlı hale gelir. Bu kurs, sizi bu bağımlılıktan kurtarmayı hedefler.
Vanilla JavaScript kullanarak:
Sıfırdan sistem kurmayı
Performanslı uygulamalar geliştirmeyi
Hafıza yönetimini
Offline çalışabilen sistemler oluşturmayı
öğreneceksiniz.
Bu yaklaşım, sizi daha güçlü ve esnek bir geliştirici yapar.
Kütüphaneler ve Doğru Kullanım Stratejisi
Bu kurs kütüphaneleri reddetmez. Aksine, doğru şekilde kullanmayı öğretir.
Şunları öğreneceksiniz:
Kütüphaneler ne zaman kullanılmalı
CDN nasıl çalışır
Bağımlılık yönetimi nasıl yapılır
Kütüphaneler projeye nasıl entegre edilir
Ama en önemlisi, bir kütüphaneye bağımlı kalmadan nasıl çalışacağınızı öğreneceksiniz.
Modern Arayüz Tasarımı
Kullanıcı deneyimi, bir uygulamanın başarısını doğrudan etkiler. Bu kursta, sade ama etkili arayüzler oluşturmayı öğreneceksiniz.
Öğreneceğiniz konular:
Grid sistemleri
Bileşen mantığı
Dark mode tasarımı
Kullanıcı dostu arayüzler
Bu bilgilerle, sadece çalışan değil, aynı zamanda iyi görünen uygulamalar geliştirebileceksiniz.
Kod Organizasyonu ve Modüler Yapı
Kod yazmak kadar, kodu düzenlemek de önemlidir.
Bu kursta:
Temiz kod yazımı
Modüler yapı kurma
Template kullanımı
Nesne odaklı düşünme
gibi konular ele alınır.
Bu sayede, büyüyebilen ve sürdürülebilir projeler geliştirebilirsiniz.
Proje Odaklı Öğrenme
Bu kurs tamamen uygulama odaklıdır. Öğrendiğiniz her bilgi, bir proje içinde kullanılır.
Kurs boyunca:
Küçük araçlar geliştireceksiniz
Gerçek problemleri çözen uygulamalar yapacaksınız
AI ile birlikte üretim yapacaksınız
Bu yaklaşım, öğrendiğiniz bilgilerin kalıcı olmasını sağlar.
Kimler Bu Kurstan En Fazla Faydalanır?
Bu kurs:
Sıfırdan başlamak isteyenler
Kendi projelerini geliştirmek isteyenler
AI ile üretim yapmak isteyenler
Web geliştirmeyi gerçekten anlamak isteyenler
için tasarlanmıştır.
Eğer sadece izlemek değil, üretmek istiyorsanız bu kurs sizin için uygundur.
Kursun Sonunda Neye Dönüşeceksiniz?
Bu kursu tamamladığınızda:
Kendi web uygulamalarınızı geliştirebileceksiniz
AI ile sistem kurabileceksiniz
Bağımsız çalışabilen projeler üretebileceksiniz
Problemleri analiz edip çözüm geliştirebileceksiniz
En önemlisi, bir fikri alıp çalışan bir ürüne dönüştürebilen biri haline geleceksiniz.
Sonuç: Öğrenmek Değil, Üretmek
Bu kursun amacı bilgi vermek değil, dönüşüm sağlamaktır.
Burada sadece kod yazmayı öğrenmezsiniz. Aynı zamanda:
Nasıl düşüneceğinizi
Nasıl sistem kuracağınızı
Nasıl üretim yapacağınızı
öğrenirsiniz.
Eğer hedefiniz sadece öğrenmek değil, üretmekse bu kurs sizin için doğru seçimdir.