Node.js ile back end development eğitimi- Node & Mongo & Express & Socket.io

 

Nodejs ile Web Uygulamaları Geliştirme

Bu eğitimin amacı:

Nodejs ile yüksek performanslı micro-service yaklaşımı ile  “backend ” sunucular geliştirilmesini

 

Katılımcıyı gerçek hayatta uygulama geliştirme sürecine taşıyacak yeterli alt yapıyı sağlamak için, başlangıç düzeyindne başlanıp, Örnek bir projenin, başlangıçtan nihayi haline getilene kadar ki tüm süreçler ele alınmaya çalışılacaktır.

Eğitim süresince, genel olarak yeni nesil javascript teknolojileri ve araçları kullanılıp,  örnek uygulama

  1. js
  2. Mongodb ve Mysql
  3. Redis
  4. io

İle hazırlanıp, tam teşekküllü bir oturum sistemi ile donatılacak( Authentication and authorization) dağıtıma “production” çıkarılması ile tamamlanacaktır.

Gereksinimler:

Eğitimin tek koşulu:

Temel düzeyde Javascript. (değişken tanımlama, temel koşul/akış yönetimi: if/else ve döngüler gibi)  bilgisi.

 

Ayrıca Nodejs eko sistemindeki diğer kavram ve teknolojilere (Meteor, GraphQL )  genel bir bakış ile farklı alternatiflere ve eko sisteme aşinalık sağlanması hedeflenmektedir.

 

 

Örnek Uygulama – stackoverflow.com benzeri soru cevap sistemi – backend:

http://stackoverflow.com/ benzeri Soru/Cevap  uygulaması için  web ve mobile istemcilere yönelik bir restful back-end/sunucu yazılacaktır. Örnek olarak bir todo list yerine ,Bu tarz bir uygulama seçilmesinin nedeni, katılımcıyı gerçek hayata karşılaşacağı sorunlara daha rahat çözüm üretmesi için “daha gerçekçi” bir örnek oalrak  bir çok konuyu kapsayacak şekilde olması

 

Örnek Uygulamamızın Kapsayacağı Genel Konular:

  1. Microservice mimarisi
  2. http ve web socket iletişimi
  3. Mongodb ve SQL db lere bağlantı
  4. Stateless Authentication / authorization
  5. Caching / Searching ve performans
  6. Güvenlik
  7. Sürüm kontrolü (git)
  8. Deployment / Dağıtım
  9. To on promise (kendi sunucumuza)
  10. On Cloud hosting (katılımcı tercihine göre , azureyada aws den biri)

 

Nodejs ile Web Uygulamaları Geliştirme Eğitim İçeriği

 

  1. Nodejs nedir ne değildir?
    1. Terminoloji
    2. Kullanım alanları
  2. Nodejs Mimari
    1. Eventloop
    2. LibUv
    3. Asynchronous / askenron yapı
    4. Low Level Networking
  3. Nodejs ile sunucu uyugulamaları
    1. http protokolü
    2. web socket protokolü
    3. Express framework
    4. Restful mimari
    5. Routing
    6. Middleware
  4. Örnek Uygulamanın geliştirilmesi
    1. Proje yapısı
    2. Sürüm kontrolü / git
    3. Merkezi Konfigürasyon ve ortam değişkenkeleri
    4. Veri tabanı bağlantısı
    5. Rotalama / routing
  5. Testing
    1. TDD-BDD
    2. Önce testleri yaz , sonra testleri geçecek kodları
    3. Testlerin hazırlanması
  6. Veri tabanı ve Uygulamanın Veri Modelleri
    1. Mongodb bağlantısı
    2. Moongoose ile modelleme
    3. Validation / Doğrulamalar
    4. Relations / NoSQL yapıda İlişkisel veri yapıları ($lookup , populate, $aggregations)
    5. SQL bağlantıları (uygulamamız ana veri tabanı oalrka mongodb kullansada, gerçek hayatta klasik SQL tabanlı veri tabanlarına (mysql, postgresö mssql vb.) bağlantı ve SQL ORM ler ile modelleme)
  7. Controllers
    1. MVC yapısına giriş ve Nodejs in bu konuyu farklı bir bakış ile ele alması
    2. Uygulamamızın ara katmanı ve controlelr ların yazılması
    3. http ve web socket trafiğinin kontrolü
    4. response ve request döngüsü
  8. Authantication ve authorization
    1. Kullanıcı kayıt ve giriş işlemleri
    2. JWT / Kullanıcı yetkilendirme
    3. Roles / Kullanıcı izinleri
  9. Uygulamamızı microservisi yapısına taşıma
    1. Seneca ile ile microservice oluşturma ve service discovery
  10. Dağıtım Öncesi
    1. Güvenlik kontrolleri
    2. Pm2 ile pm2 clustering
    3. Load tests / Yükleme testleri
  11. Dağıtım
    1. Cloud Deployment (AWS yada Azure)
    2. Kendi sunucularımızda dağıtım
    3. Containers (Docker)

 

Soru ve Gorusler


4 thoughts on “Node.js ile back end development eğitimi- Node & Mongo & Express & Socket.io

Leave a Reply

Your email address will not be published. Required fields are marked *