-
JWT (JSON Web Tokens)
Json Web Token, bilginin taraflar arasında güvenli bir biçimde taşınmasının, az maliyetli ve ek bir bağımlılığa ihtiyaç duymayan bir yoludur. Bu bilgi dijital olarak imzalandığı için güvenilebilir ve doğrulanabilir. Ayrıca authorization bilgilerini de tutabilir ki bu sayede her bir istek için veritabanına gidilerek kullanıcının rolleri ve izinleri için onaylama yapılmasına gerek kalmaz. JWT üç bölümden
-
Base64 ve Base64url Encoding
Hem Base64 hem de Base64url encoding, binary(ikili) veriyi(0,1) ASCII karakter seti içinde temsil edilebilecek bir string formatına dönüştürür. Örneğin bir resime ait binary veri içeriğinin sistemler arasında ASCII karşılığı olacak şekilde (plain-text) transfer edilebilmesi amacıyla kullanılır. Normalde örneğin bir resmi ifade eden devasa boyutta sıfır ve birlerden oluşan bir binary dosyamız olur. Bu dosya üzerinde
-
Apache Avro
Avro, Kafka’daki veri akışlarını düzenlemek ve paylaşmak için kullanılan dil bağımsız bir format ve şema tanımlama aracıdır. Veriyi küçük boyutlu ve hızlı bir şekilde serileştirerek depolama maliyetini azaltır. Ayrıca, esnek tiplerle farklı uygulama sürümlerini ve şema versiyonlarını destekler. Avro, yüksek performanslı Kafka ile uyumlu ve maliyet açısından avantajlıdır.
-
Event Driven Microservices
Mikroservisler, uygulamanın farklı bileşenlerini küçük servislere böler. Farklı ekiplere farklı servisleri aynı anda geliştirme imkanı verir. Her servis kendi kaynak gereksinimine göre ölçeklendirilebilir. Spring boot ve spring cloud üzerinden ilerleyelim. Mikroservis Tasarım Kalıpları Externalized Configuration : “Externalized configuration” (Harici Yapılandırma), yazılım uygulamalarının çalışma zamanında davranışlarını veya ayarlarını dışarıdan değiştirmenin bir yolunu ifade eder. Kısaca uzak
-
Karşılaştırmalar
Java List ve Set Arasındaki Farklar HashSet ile LinkedHashSet Arasındaki Farklar Java’da Stack ve Heap farkı Java’da Unit Test ve Integration Test Integration test ise birden fazla bileşenin biraraya gelerek bir süreci doğru şekilde gerçekleştirdiğini doğrulamak için yapılır. Bir uygulamada önce bir rapor girişi ardından da ilgili yerlerin mail ile bilgilendirilmeleri süreci olsun. Bu sürecin
-
Clean Code
Bu yazı Robert Cecil Martin’in Clean Code kitabından alınan notları içermektedir.
-
Amazon Web Services (AWS)
Hesap Oluşturma https://aws.amazon.com/tr/ adresine giderek yeni bir aws hesabı oluştur. Launch instance diyerek yeni bir EC2 instance oluştur. İsim ver. Amazon machine image seçimini yap. Amazon linux seçtim. SSH ile erişmek için key-pair ekle. my-key-pair. HTTP (80) ve HTTPS (443) bağlantı noktalarını aç. ec2 instance aç. security group içinde 5432 portunda postgresql ekle. rds instance
-
JUnit (Unit Tests – Integration Tests)
JUnit platformu, Java sanal makinesi (JVM) üzerindeki test süreçlerini başlatmak, yönetmek, raporlamak için kullanılır. Java’da Unit Test ve Integration Test Integration test ise birden fazla bileşenin biraraya gelerek bir süreci doğru şekilde gerçekleştirdiğini doğrulamak için yapılır. Bir uygulamada önce bir rapor girişi ardından da ilgili yerlerin mail ile bilgilendirilmeleri süreci olsun. Bu sürecin doğru bir
-
Apache Kafka
https://kafka.apache.org/downloads adresine git kafka’yı indir. Dosyaları bir klasöre çıkart. (F:/kafka/kurulum) https://zookeeper.apache.org/releases.html adresine git ve zookeeper indir. İndirdiğin dosyayı bir klasör altına çıkart. (F:/kafka/kurulum/zookeeper) Zookeeper conf klasörü altında zoo.cfg adlı bir dosya oluştur. Bu dosyanın içeriğini düzenle. jute.maxbuffer eklemesini yap. Zookeeper ana dizinine giderek ‘bin\zkServer.cmd’ komutunu çalıştır. (Windows). zoo.cfg içinde admin.serverPort=8081 gibi bir tanım yaparak local
-
Spring Boot Uygulamalarında Redis Cache Kullanımı
Çok fazla istek (request) yapılan bir sistem düşünelim. Sistemin yükünü nasıl hafifletebiliriz? İstek yapılan veriler sabit verilerse burada uygulayacağımız bir cache (önbellek) çözümü sistemin isteklere yanıt süresini ciddi miktarda azaltabilir ve sistem performansına olumlu etkide bulunabilir. Cache (önbellek), sıklıkla kullanılan verilerin saklandığı bir bellek türüdür. İhtiyaç durumunda bu veriler hızlı bir biçimde kullanılabilir. Redis, key-value