Blog.

Javascript ile 6 haftal─▒k E─čitim Yolculu─ču: Ge├žmi┼če Bakarak Gelece─či ├ľ─čretebilmek

Cover Image for Javascript ile 6 haftal─▒k E─čitim Yolculu─ču: Ge├žmi┼če Bakarak Gelece─či ├ľ─čretebilmek
Baris Guler
Baris Guler

├ťretimhane b├╝nyesinde 6 haftal─▒k yo─čun bir ├Â─črenme ser├╝venini t├╝m kat─▒l─▒mc─▒larla tamamlad─▒k ve JavaScript'in temellerine sa─člam bir giri┼č yapm─▒┼č oldu─čum bu deneyimi sizlerle payla┼čmak istedim. Bu s├╝re zarf─▒nda, kat─▒l─▒mc─▒lar─▒m─▒za JavaScript d├╝nyas─▒n─▒ tan─▒tmaya ├žal─▒┼čt─▒m ve temel programlama kavramlar─▒na da de─činerek birlikte ├Â─črendi─čimiz bir s├╝reci ├Ârmeye gayret g├Âsterdim.

Bu minvalde her hafta 2 g├╝ne yayd─▒─č─▒m─▒z e─čitimlerimizden edindi─čim notlar─▒mdan derledi─čim makalelerimi de yay─▒nlamaya ├žal─▒┼čt─▒m. E─čer hafta hafta her birisine detayl─▒ca g├Âzatmak isterseniz a┼ča─č─▒daki linkleri kullanabilirsiniz:

JavaScript Temelleri

1. Haftan─▒n Konular─▒

  • JavaScript Diline Giri┼č
  • De─či┼čkenler, Veri Tipleri ve Operat├Ârler
  • Kontrol Ak─▒┼č─▒ ve D├Âng├╝ler
  • Fonksiyonlar ve Kapsam
  • Diziler ve Nesneler

Bu ad─▒mlar, kat─▒l─▒mc─▒lar─▒m─▒z─▒n JavaScript'in temellerini kavramas─▒na ve g├╝├žl├╝ bir temel olu┼čturmas─▒na yard─▒mc─▒ oldu. Hem dersteki herkes birbirini tan─▒rken bir yandan kod yazarak uygulamal─▒ ser├╝venimize ─▒s─▒nmaya ba┼člad─▒k.

Asenkron Programlama

Daha sonra, asenkron programlaman─▒n inceliklerine dald─▒k. Senkron ve asenkron i┼čleyi┼čin fark─▒na vard─▒k, setTimeout ve setInterval gibi fonksiyonlar─▒ ├Â─črendik ve geri├ža─č─▒r─▒m (callback) fonksiyonlar─▒n─▒ inceledik. Asenkron i┼člemleri nas─▒l daha iyi y├Ânetebilece─čimize dair ad─▒mlar att─▒k ve Promise'lerin ve async/await kullanman─▒n avantajlar─▒n─▒ ├Â─črendik.

2. Haftan─▒n Konular─▒

  • Senkron ve Asenkron ─░┼čleyi┼č
  • setTimeout ve setInterval Fonksiyonlar─▒
  • Geri├ža─č─▒r─▒m (Callback) Fonksiyonlar─▒
  • Asenkron ─░┼člemlerin Y├Ânetimi
  • PromiseÔÇÖler ve Asenkron Kodun Y├Ânetimi ─░├žin Async/Await
  • Asenkron Kodlarda Hata Y├Ânetimi

Taray─▒c─▒larla JavaScript Etkile┼čimi

Akabinde, taray─▒c─▒larla nas─▒l etkile┼čimde bulunaca─č─▒m─▒z─▒ ├Â─črendik. Dok├╝man Nesne Modeli (DOM) ile ├žal─▒┼čt─▒k, olay i┼čleme ve manip├╝lasyon konular─▒n─▒ ke┼čfettik ve ilerici web uygulamalar─▒na (PWA) giri┼č yapt─▒k. ├çevrimd─▒┼č─▒ yetenekler ve Service Worker'lar hakk─▒nda bilgi edindik.

3. Haftan─▒n Konular─▒

  • Dok├╝man Nesne Modeli (DOM)
  • Olay ─░┼čleme ve Manip├╝lasyon
  • ─░lerici Web Uygulamalar─▒na (PWA) Giri┼č
  • ├çevrimd─▒┼č─▒ Yetenekler ve Service WorkerÔÇÖlar

Derinlemesine Web APIÔÇÖlar─▒

Bu s├╝re├žte, MDN ├╝zerinden Web API'lar─▒n─▒n nesne hiyerar┼čilerine kadar web API'lar─▒n─▒ detayl─▒ca inceledik ve HTTP isteklerini ger├žekle┼čtirmek i├žin Fetch API'yi ├Â─črendik. ─░stemci tarafl─▒ veri depolamas─▒ i├žin Web Storage API'yi kullanman─▒n p├╝f noktalar─▒n─▒ ke┼čfettik. En e─člencelisi ve (benim tabirimle 'sci-fi JS' konular─▒ kapsam─▒nda) ger├žek zamanl─▒ ileti┼čim uygulamalar─▒ i├žin WebRTC API'sine giri┼č yapt─▒k ve Bluetooth cihazlar─▒yla etkile┼čim kurmay─▒ ├Â─črendik.

4. Haftan─▒n Konular─▒

  • HTTP ─░steklerini Ger├žekle┼čtirmek ─░├žin Fetch API
  • ─░stemci Tarafl─▒ Veri Depolamas─▒ ─░├žin Web Storage API
  • Ger├žek Zamanl─▒ ─░leti┼čim Uygulamalar─▒ ─░├žin WebRTC APIÔÇÖsine Giri┼č
  • Bluetooth Cihazlar─▒yla Etkile┼čim ─░├žin Web Bluetooth APIÔÇÖsini Kullanma

JavaScript ile Sunucu Tarafl─▒ Geli┼čtirme

JavaScript ile sunucu tarafl─▒ geli┼čtirmeye bir giri┼č yaparak Node.js'i ve temellerini ├Â─črendik. HTTP isteklerini ve yan─▒tlar─▒n─▒ i┼člemeyi, y├Ânlendirmeyi ve ara yaz─▒l─▒mlar─▒ (middleware) nas─▒l kullanaca─č─▒m─▒z─▒ ├Â─črendik. Kimlik do─črulama ve g├╝venli─či ele ald─▒k. Tabii ilk olarak Node.js'in native http k├╝t├╝phanesiyle att─▒─č─▒m─▒z server-side Javascript ser├╝venine mod├╝ler yap─▒s─▒ ve bir├žok built-in best practice'iyle Fastify ├╝zerinde ilk API endpoint'lerimizi geli┼čtirdik.

5. Haftan─▒n Konular─▒

  • Sunucu Tarafl─▒ Geli┼čtirmeye Giri┼č
  • Node.js ve Temelleri
  • HTTP ─░steklerinin ve Yan─▒tlar─▒n─▒n ─░┼členmesi
  • Y├Ânlendirme ve Ara Yaz─▒l─▒m (Middleware)
  • Kimlik Do─črulama ve G├╝venlik

JavaScript ile Fonksiyonel Programlama

Son olarak, JavaScript ile fonksiyonel programlaman─▒n derinliklerine indik. Saf fonksiyonlar─▒ (pure functions), fonksiyon kompozisyonunu (function composition), state payla┼č─▒m─▒ndan ka├ž─▒nmay─▒ (avoiding state share), state g├╝ncellemesinden ka├ž─▒nmay─▒ (avoiding state update), yan etkileri (side effects) ve deklaratif/imperatif programlamay─▒ (declarative/imperative programming) ├Â─črendik. Y├╝ksek seviye fonksiyonlar ve closure'lar ile tan─▒┼čt─▒k. Lodash ve Ramda gibi fonksiyonel programlama k├╝t├╝phanelerini inceledik.

6. Haftan─▒n Konular─▒

  • Fonksiyonel Programlaman─▒n Temel Kavramlar─▒
  • Y├╝ksek Seviye Fonksiyonlar ve ClosureÔÇÖlar
  • Immutable Veri ve Saf Fonksiyonlar
  • Fonksiyonel Programlama K├╝t├╝phaneleri (Lodash, Ramda)
  • JavaScript Kodunda Fonksiyonel Programlama Prensiplerinin Uygulanmas─▒

Bu kurs ser├╝veninin sonunda, JavaScript d├╝nyas─▒nda sa─člam bir temel atm─▒┼č olduk. Sekt├Ârdeki tecr├╝bemizi payla┼čma ve gelecekte JavaScript alan─▒nda bir kariyer hedefleyenlere yard─▒mc─▒ olma yolculu─čum devam ediyor.

Bu yolculu─ča benimle birlikte kat─▒lan herkese te┼čekk├╝r etmek isterim. ─░lerleyen d├Ânemlerde ara┼čt─▒rd─▒─č─▒m ve y─▒llard─▒r bilgi sahibi oldu─čum / olaca─č─▒m konular hakk─▒nda daha fazlas─▒n─▒ ke┼čfetmek ├╝zere daha da derinle┼čmek i├žin sab─▒rs─▒zl─▒k duyuyorum.

Okudu─čunuz i├žin te┼čekk├╝r ederim!