Node.js temelleri: sunucu tarafında JavaScript
Node.js ile dosya okur, komut satırı aracı yazar, npm paketlerini yönetir ve küçük bir HTTP sunucusu kurarak JavaScript’i tarayıcı dışında kullanırsın.
Seviye 201 · 19 ders · 15 pratik lab
Dersler
Çalışma ortamı
- Node.js nedir: tarayıcı dışında JavaScript
- REPL, betikler ve process nesnesi
- Modüller: ESM ve CommonJS
- Dosya sistemi: fs/promises
- path ve os modülleri
- Kısa görev: dosyaları uzantıya göre düzenleyen araç
Paketler ve araçlar
- npm init ve paket kurmak
- package.json ve npm betikleri
- Sürüm aralıkları ve kilit dosyası
- Komut satırı argümanları: parseArgs
- Ortam değişkenleri ve yapılandırma
- Kısa görev: CSV’den rapor üreten komut satırı aracı
Ağ ve olaylar
- EventEmitter ve olay tabanlı kod
- Akışlar: büyük dosyayı parça parça işlemek
- http modülüyle sunucu
- Statik dosya ve JSON uç noktası sunmak
- Node’da fetch ile başka bir servise istek
- Hata yönetimi ve süreçten düzgün çıkış
- Bitirme görevi: not tutma servisi
Pratik lablar
- Klasördeki dosyaları boyuta göre listele: fs/promises ile bir klasördeki dosyaları okuyup büyükten küçüğe boyutlarıyla yazdır.
- Eski günlük dosyalarını arşive taşı: Yedi günden eski .log dosyalarını tarihe göre adlandırılmış bir arşiv klasörüne taşıyan betik yaz.
- İçeriği aynı dosyaları özetle bul: Bir fotoğraf klasöründe adı farklı ama içeriği aynı dosyaları özet değerleriyle bulup raporla.
- Pakete betik ekleyip çalıştır: Yeni bir projeye tarih biçimlendirme paketi kur ve "npm run report" ile çalışan bir betik tanımla.
- Sürüm aralığının bozduğu projeyi düzelt: İki makinede farklı paket sürümü kurulduğu için bozulan projeyi lockfile ve sürüm aralığını inceleyerek düzelt.
- Kullanılmayan bağımlılıkları ayıkla: package.json'daki bağımlılıklardan kodda hiç kullanılmayanları bulup kaldır ve projenin hâlâ çalıştığını doğrula.
- Komut satırı bayraklarını oku: parseArgs ile --count ve --quiet bayraklarını okuyup varsayılanları uygulayan küçük bir araç yaz.
- Ayarları ortam değişkenlerine taşı: Koda gömülü port ve veritabanı yolunu ortam değişkenlerine taşı, eksik olanda anlaşılır hata ver.
- Ayarları öncelik sırasıyla birleştir: Varsayılanlar, ayar dosyası, ortam değişkenleri ve bayrakları doğru öncelikle birleştiren bir yapılandırma katmanı yaz.
- Sipariş bildirimini olaylarla tetikle: Sipariş alındığında e-posta ve stok modüllerini EventEmitter olaylarıyla tetikle.
- Büyük günlükte 404'leri akışla say: Belleğe sığmayan bir erişim günlüğünü satır satır okuyup 404 yanıtlarını say.
- Dosyayı akışla sıkıştırarak kopyala: pipeline ile büyük bir dışa aktarım dosyasını gzip'leyerek kopyala, hata olursa yarım kalan dosyayı temizle.
- JSON dönen mini sunucu kur: http modülüyle /time isteğine sunucu zamanını JSON olarak dönen bir sunucu yaz.
- Kur servisini çağırıp fiyatları çevir: Lab'daki kur servisinden fetch ile veri alıp fiyat listesini istenen para biriminde döndüren bir uç nokta yaz.
- Sunucuyu düzgün kapat: SIGTERM gelince yeni istekleri reddeden, sürenleri bitiren ve doğru çıkış koduyla kapanan bir sunucu yaz.
Kurs hakkında
Node.js ile dosya okur, komut satırı aracı yazar, npm paketlerini yönetir ve küçük bir HTTP sunucusu kurarak JavaScript’i tarayıcı dışında kullanırsın.
Ne öğreneceksin
- Çalışma ortamı
- Paketler ve araçlar
- Ağ ve olaylar
Ön koşullar
Aynı yolun 101 düzeyindeki kurslarını bitirmiş olmak ya da o konuları biliyor olmak yeterlidir.
Lab ortamı
Dersler, tarayıcında açılan sana özel bir Kali Linux terminalinde geçer. Kurulum gerekmez; lab her derste temiz başlar.
Sık sorulan sorular
- Bu kurs benim düzeyime uygun mu?
- Kurs 201 düzeyindedir; daha düşük düzeydeki kursların konularını bildiğin varsayılır.
- Kurulum gerekir mi?
- Hayır. Her ders tarayıcında açılan sana özel bir lab ortamında geçer.
- Dersler nasıl işleniyor?
- Her ders 8 ile 10 adımdan ve bir kısa sınavdan oluşur. İlk adımlarda yazman gereken komut gösterilir, sonraki adımlarda yardım azalır; iki denemede takılırsan çözüm açılır.
- Ücretsiz deneyebilir miyim?
- Evet. Her kursun ilk üç dersi ücretsizdir.