Node.js Eğitimi

(Hüseyin Dönmez)

Eğitmen: Hüseyin Dönmez
Email: huseyindonmez@live.com

A. ÇALIŞMANIN AMACI: 
1- Node.js ve sunucu taraflı Javascript mimarisini  & eko-sistemini tanıyıp , yüksek performanslı network temelli (Web/Rest/Socket) uygulamalar geliştirme yeteneklerinin kazandırılması.
2-Node.js ile veri tabanı işlemleri (NoSQL ve SQL)
3-Node.js in diğer kullanım alanlarının genel olarak anlatılması. (Desktop uygulamarı, Gömülü sistemler ve IOT için Node.js)
B. KİMLER KATILABİLİR
Temel düzeyde Javascript bilgisi tavsiye edilsede, en az bir programlama dilinde temel düzeyde bilgi sahibi olmak faydalı olacaktır.
C. ÇALIŞMANIN DETAYLARI
Çalışma tamamen online olup, Webex üzerinden verilecektir. Katılımcı ile etkileşimli bir süreç hedeflenmektedir ve katılımcının, eğitim sırasında soru/görüş bildirme imkanı bulunmaktadır.  Eğitimler kayıt edileceği için katılımcı sonradan videoları dilediği zaman tekrar izleyebilecek, örnek kodlara da github üzerinden erişim verilecektir.

Eğitim 6 hafta boyunca pazar günleri online olarak verilecek, bir günde destek ve ek kaynaklar için video ve okuma kaynakları sağlanacak.
Ücretsiz sağlanacak Kaynak :
D. ÇALIŞMANIN ÜCRETİ
Ücret :550 TL

Öğrenciler için 400 TL

DETAYLI EĞİTİM İÇERİĞİ

  • Javascript
    • Javascriptin gelişimi
    • Tarayıcılardan sunucu tarafına geçiş
  • Node.js
    • Mimari
    • V8 / LIBUV / POSIX
    • Native Addons
    • Asenkron yapı
    • Event Driven / Olay tabanlı uygulama geliştirme
  • Javascript hızlı bakış
    • Sözdizimi / Syntax
    • Değişikenler ve Etki alanları
    • Javascript içindeki dahili veri yapıları
    • Class vs protoype
    • ES6/ES7 ve ECMAScript standartları
  • Nodejs Genel Bakış
    • Modül sistemi ve npm
    • Commonjs vs ES6 Modules
    • Globals
    • Package.json
  • İlk uygulamamız ve HTTP sunucumuz
    • http modülü
    • request/istek ve response/cevap döngüsü
  • Uygulama 2 – I/O . dosya okuma yazma
  • Asenkron yapı – Callback vs Promise vs async/await
    • Callback / Geriçağrımlar
    • Promise
    • Async / Await
    • Util.promisify
  • Stream API
    • Akışlar ile çalışma (veri transferi / değişimi)
    • Akışların birleştirilmesi
    • Stream kullanım örneği
  • Uygulama 3 – Temel bir bot uygulaması
  • Node.js ile Web Uygulamaları Geliştirme
    • Restfull API Geliştirme – Örnek Bir Sipariş Sistemi Geliştirilmesi
      • Express framework
      • Middleware
      • TDD/BDD – Test öncelikli geliştirme
        • Test ortamının hazırlanması
      • Controllers
      • Models – Veri tabanı bağlantılarımız ve yönetimi
        • MongoDB bağlantısı
        • Mongoose ile modellerin hazırlanması
        • Hooks / DB middlewares / Static methods
      • Authentication and Authorization
        • JWT(JSON WEB TOKEN) ile oturum yönetimi
        • Uygulama içi yetkilendirme ve roller
    • Klasik MVC tabanlı Web Uygulamaları – Geliştirme
      • Template Engines
      • Authentication and Authorization
        • Sessions / Cookies
      • SQL DB İşlemleri
      • Caching / Önbellekleme
      • Static Assets / Statik dosya sunumu
    • Gerçek Zamanlı iletişim / Web Sockets
      • Web socket modülü
      • Socket.io modülü
      • Socket iletişimi
    • Güvenlik
      • HTTPS
      • Headers
      • DB İnjections
      • Proxy kullanımı
    • Dağıtım / Deployment
      • Kendi sunucularımıza dağıtım
      • PM2
      • Container temelli dağıtım
        • Nodejs ve Docker
      • Cloud   / Bulut Tabanlı Dağıtım
        • Azure
  • Nodejs in diğer kullanım alanları
    • Desktop / Masaüstü uygulamalar geliştirme
      • Electron
    • Gümülü Sistemler ve IOT
      • MQTT protokolü
      • Rasbery Pİ
      • Robot ve Bot Geliştirme

Ön başvuru