Kayıtlar

react etiketine sahip yayınlar gösteriliyor

Redux-Saga Middleware -2 HandsOn

Resim
Redux-saganın teori kısmının anlatıldığı ilk yazımız için. http://buraktunali.blogspot.com/2021/07/redux-saga-middleware-1-teori.html Redux-saga işlemleri için bir backend hazırlayalım.  Node.js de yapacağımız bu backend için express generator u kullanabilirsiniz. https://expressjs.com/en/starter/generator.html Şu an için tek bir servis yeterli. router klasörü altında index dosyasına servisimizi koyalım. router.get('/test', function(req, res, next) {    res.json({ Hello : 'World' }); }); node app.js diyerek projemizi kaldıralım.  Öncelikle React projemizin full kodunu ekliyorum. Gmotes/Redux-Saga (github.com) Şimdi ise react projemizi oluşturalım. npx create-react-app redux-saga-app İhtiyacımız olan paketler aşağıdaki gibi package.json a ekleyip npm install yapalım.     "axios": "^0.21.1",     "react": "^17.0.2",     "react-dom": "^17.0.2",     "react-redux": "^7.2.4",     "react-script...

Redux-Saga Middleware -1 Teori

Bu teori kısmına isterseniz paketin mantığının kuruluğu olduğu "Saga Pattern" ini anlayarak başlayalım. Aşağıdaki yazıda ayrıntıları ile yazılmış. https://medium.com/devopsturkiye/microservice-mimarilerde-transaction-y%C3%B6netimi-nas%C4%B1l-yap%C4%B1l%C4%B1r-228317e248ed Bu yazı üzerinden Saga özelinde kısa bir özet yaparsak; Farklı transactionların zincirleme olarak event mekanizmaları üzerinden başarılı ve başarısız senaryolara göre budaklanması ve yönetilmesidir. Burada React özelinde bir transactionımız olmayacak dolayısıyla aslında actionları yönetiyor olacağız. Şimdi biraz React JS Redux ile neler yapıyorduk hatırlayalım hem de niye Redux-saga sorusunu soralım kendimize.    * Action tanımlanması  * Action ın önyüzden dispatch edilerek çağrılması  * Reducer ın store u kullanarak action ı karşılaması  * Reducer içi yapılan işlemler   * Yeni state aktarımı ve tutulması  * Yeni state in önyüzde gösterimi Burada basit olarak reducer a gelen...

PM2 ile Node.js projelerini yönetme

Çalıştırdığınız node.js,react v.s gibi projelerinizi kolaylıkla bir backend process haline getirmek için pm2 projesini kullanabilirsiniz.  PM2 - Home (keymetrics.io) Kullanabilmek için npm install -g pm2 ile yükleme yapıyorsunuz.  basit olarak  pm2 start app.js --name projeismi     komutuyla bir node.js projesini  ya da   pm2 start --name projeismi npm -- start  diyerek bir react projesini çalıştırabilirsiniz. pm2 stop projeismi  ile projeyi durdurabilirsiniz. pm2 delete  projeismi  ile de silebilirsiniz. Çalışan projeleri gözlemlemek için  pm2 status Buna bağlı olarak çalışan proje logları için pm2 logs komutunu çalıştırabilirsiniz. Bir projenin periodik olarak restart etmesini sağlamak için pm2 start app.js --name  projeismi  --cron "10 * * * *" cron parametresiyle çalışmasını sağlayabilirsiniz. Peki restart öncesinde bazı işlemler yapmak istiyorsanız ? Örneğin git den kod pull edilmesini ya da derlem...