Kayıtlar

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...

Empedokles'in Dostları - Amin Maalouf

Resim
  Semerkant,Afrikalı Leo ve Doğu'nun Limanlarından bu yana çok uzak kalmıştık Amin ile. Sayfalar ilerledikçe "bu kadar uzak kalmamalıydım" çıkışlarını yaptığım ilginç bir hikaye ile karşımıza çıkmış.Evet su içme tadında okuyacağınız bir kitap. Günlük yaklaşımıyla yazılmış kitapta ana karakter yazar kadar kuvvetli bir kalem olduğunu ispat edercesine kendisini size sonuna kadar açıyor. Kitabın ilk bölümlerinde davet edileceğiniz bilim kurgu dünyasına karşı hem meraklanıyor hem de hiç boğulmadan gerçek hayatımızdan çektiği fotoğrafları hikayenin içerisinde buluyorsunuz. Ana karakterler (Alexandre ya da Alec Zander) ve bence kitabı yönlendiren asıl karakter olan Eve. Gelelim Empedokles'e. Kitabın başlığı sizi yanıltmasın. Kitapta yunan felsefesi içerisinde boğulmaktan ziyade o felsefe içerisinden açılan bir kapı ile harmanlanan ütopik bir nesil ile karşılaşacaksınız. Felsefenin hayata dökülmüş hali. Bu nesil üzerinden iyi ile kötünün anlık yer değişebildiği algıların değe...

React Native ve Web3 ile Transaction Ethereum Dünyası -3

Resim
Dizimizin üçüncü yazısında React Native arayüzü üzerinden transaction tetiklemesi yapacağız. Bundan önceki iki yazımızı okumadıysanız çok da önemli değil. Okumadan geçebilirsiniz :) DIJITAL KALE: Web3j ve Ganache ile Ethereum Dünyasına Giriş - 1 (buraktunali.blogspot.com) DIJITAL KALE: Solidity ile Akıllı Kontratlar ve Ethereum Dünyası -2 (buraktunali.blogspot.com) Malzemelerimizi hemen vereyim ; * Ganache * Web3 * Node.js * React Native * Genymotion ve Github :  Gmotes/Web3ReactNative (github.com) Aşağıda gördüğünüz muhteşem tasarıma sahip React Native uygulamamız üzerinden ethereum göndereceğiz. Frontendçi arkadaşlar güldünüz mü :) Tamam :) Sonuçta amacımız web3 ile çalışmak.. Ganache kurulumuzu yapıp local networkumuzu ayağa kaldıralım. (Şimdi birinci yazıya bakabilirsiniz) Önce node.js kısmı ile başlayalım.  npx express-generator ile projemizi oluşturalım. Dileyen fastify da kullanabilir. npm install web3 ile web3 ü de ekleyelim. Şimdi iki servisimizi index.js e koyalım. Ö...

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...

Solidity ile Akıllı Kontratlar ve Ethereum Dünyası -2

Resim
İkinci yazı ile dizimize devam ediyoruz.  İlk yazımızda gönderici ile alıcı arasında kontrolsüz bir şekilde ethereum transferi yapmıştık. Şimdi ise networkumuze transferler için belirli kurallar getireceğimiz akıllı kontratlar sistemini yükleyip testlerini yapacağız. Akıllı Kontratlar hakikaten akıllılar networkte içerisinde bir hesap gibi davranıp bir çeşit güvenli ödeme mantığı sağlarlar.  Öncelikle tipik bir kontrat oluşturabilmek için Solidity dilinden yararlanalım. Introduction to Smart Contracts — Solidity 0.8.5 documentation (soliditylang.org) Kurgumuz bir otomat makinesi için olsun; pragma solidity ^0.8.5; contract VendingMachine {     // method tetikleyici adresi     address public owner;    // Gönderici adresin balance durumunu tutan obje     mapping (address => uint) public productBalances;     constructor() public {         owner = msg.sender;          productBalances ...

Web3j ve Ganache ile Ethereum Dünyasına Giriş - 1

Resim
Nefis blockhain tariflerine hoşgeldiniz. Malzemelerimiz başta söylediğim gibi ;                 * Yarım kilo web3j               * Dondurulmuş bir paket Ganache               * Bir çay kaşığı Tuz               * Bir tatlı kaşığı  Ethereum Evet zaman zaman bende oluşan hissiyat bu. Uygulamak istediğim her yeni teknoloji de Google dan yemek araştırıp mutfakta bir şeyler çabalayan hanımlar gibi hissediyorum kendimi. Blockchain dünyamıza girdi girdi gireli hepimizin aklında keşke bir uygulamamda bu teknolojiyi de uygulasam diye aklınızdan geçiyordur. Öyleyse bu yazı bir "personal blockchain" yazısı buyrun okumaya. Ethereum kripto piyasalarında trade ettiğimiz bir currency olmak ile beraber aslında bir blockchain altyapısı ve kendi amaçlarınız için kullanabiliyorsunuz. Bu altyapıyı kendi lokal bilgisayarınızda kullanabilmeni...

SaaS nedir ? MultiTenant yaklaşım ile SaaS a genel bir bakış

Resim
SaaS : "Service as a Service" servis gibi servis anlamı taşır. Para kazandırır yüzünüzü güldürür :) Evet çokca kullanıyoruz outlook üzerinden mail server, Office 365, Dropbox v.s v.s bunları zaten siz de biliyorsunuz eee google ile arama yaptığınızda bir Rest servisi nasıl yazarız hangi teknolojileri kullanırız gibi soruların cevaplarını kolayca bulabiliniyor. Yani servis yazacak isek seçenek çok. Ancak bu servisler bütününü satacak duruma getirmek için bir altyapı kurmak ve bu altyapıyı kurarken muhtelif misafirleri farklı kategorilerde değerlendirerek servis sağlamak ayrı incelenesi bir konu. Yazımızda önce yapımızı nasıl kuracağımıza karar vereceğiz bir yandan da bu müşteri bazlı dataları nasıl tutacağız sorusuna cevap vermeye çalışacağız. Şimdi dört soruda bir SaaS projesinin bileşenlerini değerlendirelim; Soru 1: Bileşen hangi networkten nasıl servis edilecek ? Bu soru genel olarak şöyle bir anlam taşıyor. Müşterilerinizden aldığınız bir isteği ilettiğiniz bileşen ya da ...