Sıfırdan Her Yönüyle JavaScript & Node.JS
JavaScript, Node.JS, MongoDB, Nginx, Redis, Socket IO ve Express ile Yazılım Geliştirin
Description
Neleri konuşacağız?
Bu sette Node.JS nedir dedikten sonra, bir iki örnekle konu kapanmayacak. Yani konumuz sadece Node.JS değil. Mesela yazdığınız Node uygulamasını scale edemezseniz bunun hiçbir anlamı yok. Bunun için "Load Balancing (Yük Dengeleme)" konusunu konuşacağız. Test ve deploy işlemlerini otomatize edemedikten sonra neyleyim ben öyle Node'u. Bu yüzden "Continuous Integration (Sürekli Entegrasyon)" ve bununla beraber "Travis CI" konuşuyor olacağız. Yani bir Node projesi geliştirirken bununla birlikte ne gibi sistemlere ihtiyaç duyarız bunları da konuşacağız.
JavaScript
Bir kere iyi bir JavaScript temeli atacağınıza inanıyorum. Node.JS ile çalışırken JavaScript'in çalışma mantığına hakim olmak çok önemli. JavaScript'in çalışma mantığına hakim olmadan Node.JS ile geliştirme yapmaya çalışan nice yiğitler heba oldu gitti bu yolda. JavaScript'in diğer dillerden farkı üstüne basıla basıla "Temel Javascript" bölümünde anlatıldı.
EcmaScript 6
EcmaScript'in ne olduğunu öğrenecek ve EcmaScript 6 ile birlikte gelen yeni özellikleri anlamaya çalışacağız. Let, Const, Promise, Async / Await, Inter Milan bunları uzun uzun konuşacağız.
Express Framework
Node.JS dünyasının en popüler framework'ü şüphesiz Express. Geliştirme ortamını hızlıca ayağa kaldırabilen ve hafif yapısıyla işleri epey kolaylaştıran Express Framework neyin ne'si kimin fesi anlayacağız. Pug Tema Motoru, Routing ve Middleware kavramlarının ne olduğunu burada öğreneceğiz.
MongoDB
NoSQL'in ne olduğunu konuşacak ve günümüzün en popüler NoSQL veritabanlarından biri olan MongoDB'yi anlamaya çalışıp ne zaman ihtiyacımız olduğunu öğreneceğiz.
Restful API Geliştirme Projesi
MongoDB üzerinde çalışma yapmaya başladıktan sonra Express ve MongoDB ile Restful API geliştirme projesi yapacağız. Bu bölüm bir proje olacak. Express'i ve MongoDB'yi daha iyi bir şekilde burada anlayabileceğinizi düşünüyorum. Bu projede oturum yönetimini JSON Web Token (JWT) ile yapacağız.
Mocha ve Chai ile Unit Testing
Ülkemizde pek yazılmasa da, yazılım kalitesini belirleyen olmazsa olmaz kavramlardan biri tartışmasız yazılım testleridir. Biz de bu eğitim içinde geliştirmiş olduğumuz Restful API için Mocha ve Chai ile Unit Testler yazacağız. Elbette yazmakla kalmayacak neden test yazmamız gerektiğini de öğreneceğiz.
Deploy
Node.JS'e yeni başlayanların en çok zorlandığı konulardan biri yazmış oldukları uygulamayı deploy etmek. PaaS servislerinden Heroku ve IaaS servislerinden DigitalOcean için deploy sürecinin nasıl olduğunu kavrayacağız.
Travis CI ile Continuos Integration (Sürekli Entegrasyon)
Continuos Integration nedir? Neden ihtiyaç duyarız sorularını yanıtlayacağız. Travis CI ile sürekli entegrasyon işlemlerini anlayacağız. Travis CI ve GitHub aracılığı ile otomatik test ve deploy sürecini öğreneceğiz.
Nginx Reverse Proxy ile Load Balancing
Günümüzün modern web uygulamalarının olmazsa olmaz kavramlarından biri şüphesiz Load Balancing. Bin kişi girince çöken siteyi ne edeyim ben? Yok mu bunun bir çıkar yolu? Var babacım, gelen yükü farklı klon sunuculara böleceğiz. Bunu da Nginx ile yapacağız.
Bu bölümde Nginx'in ne olduğunu anlayacak ve Node.JS ile nasıl bir arada kullanabileceğimizi öğreneceğiz. Uygulamamızın yükünü farklı sunuculara dağıtacağız, kafamız rahat olacak ve peşin satan esnaf oturuşu yapacağız.
Vagrant
"Nginx ile Load Balancing" bölümünde sunucularımızı Vagrant ile ayağa kaldıracağız. "Vagrant nedir? Nasıl kullanılır? Vagrant yapılandırması nasıl yapılır?" gibi sorulara cevap bulabileceksiniz.
Redis
Öyle zannediyorum ki, Redis'in nam'ını sağır sultan bile duymuştur. Bir NoSQL veritabanı olan Redis'e arkadaşları "Hız Canavarı" diyor. Bu canavarı eğitimimizde kendi doğal ortamında göreceğiz. Direkt uygulama üzerinde. Hem de chat uygulaması üzerinde.
Projeler
- Bölüm 14: Express ve MongoDB ile Restful API Geliştirme Projesi
- Bölüm 22: Socket IO ve Angular.JS ile Real-time "Live Balls" Uygulaması
- Bölüm 23: Socket IO ve Redis ile Gelişmiş Chat Sistemi
What You Will Learn!
- JavaScript ve NodeJS'i sıfırdan öğreneceksiniz.
- NodeJS'e her yönüyle hakim olacaksınız.
- SocketIO ile Real-Time web uygulamaları geliştirebileceksiniz.
- EcmaScript 6 standartlarına uygun kod yazabileceksiniz.
- Express Framework'ü derinlemesine öğreneceksiniz.
- MongoDB dünyasına hakim olacaksınız.
- Express ve MongoDB ile Restful API geliştirebileceksiniz.
- NodeJS ile Unit Test nasıl yazılır öğreneceksiniz.
- Yazdığınız uygulamayı Heroku ve Digitalocean'a nasıl deploy edeceğinizi öğreneceksiniz.
- Nginx'e hakim olacak ve "Load Balance" yaparak daha stabil ve ayakta kalabilir mimariler inşa edebileceksiniz.
- Websocket protokolünün arkasındaki mimariyi anlayacaksınız.
- PassportJS ile sosyal login işlemlerini öğreneceksiniz.
Who Should Attend!
- NodeJS öğrenmek isteyen,
- Javascript öğrenmek isteyen,
- Gerçek zamanlı web uygulaması geliştirmek isteyen,
- Modern web teknolojilerini öğrenmek isteyen herkes.