View profile

Yazılımcılar İçin Hafta Sonu Okumaları - Sayı #75 / Sezon #4 (CQRS, Sistem Tasarımı, Test ve Otomasyon ve daha fazlası)

Yazılımcılar İçin Hafta Sonu Okumaları - Sayı #75 / Sezon #4 (CQRS, Sistem Tasarımı, Test ve Otomasyon ve daha fazlası)
By Muhammed Hilmi Koca • Issue #75 • View online
Merhaba aziz okuyucularım.
Bültenin 75. sayısıyla huzurlarınızdayım. Yine okumakla bitmeyen ama okuduğunuza değecek, seçmece yazılarla karşınızdayım.
Keyifli okumalar.

Dağıtık Uygulamalar
Faruk Terzioğlu, bir servisten birden fazla instance oluşturup bunu yönetmek için kullandığı service discovery ve API Gateway uygulamasından bahsetmiş. Servis olarak bir Bitcoin node'u(bitcoind) ayağa kaldırdığı örnekte yönetim için KrakenD ve etcd‘yi kullanmış.
Mert Öngengil, MongoDB'de Replica Cluster'larını yeni node'lara nasıl taşıdıklarını anlatmış.(İng)
Malik Masis, dağıtık yapılarda eşzamanlı veritabanı okuma yazma işlemleri için kullanılan lock mekanizmalarını anlatmış.
CQRS
Engin UNAL, kullanımı, artıları-eksileri ile CQRS tasarım kalıbını anlatmış.
Emre Odabas, CQRS desenini kullandıkları ve yazma için Couchbase, okuma için ise ElasticSearch kullandıkları projede bu 2 veritabanı arasında oluşan senkronizasyon problemini ve bu problemi nasıl aştıklarını anlatmış.(İng)
Mehmet Sezer, özellikle CQRS desenini uygulayan mimarilerde kullandıkları ve açık kaynak olarak paylaştıkları Command Bus çözümü kediatR'ı anlatmış.(İng)
Ali Furkan Dadali, .Net 6‘da CQRS deseni ile bir uygulama geliştirmeyi anlatmış.(İng)
Mesaj Kuyruğu Yapıları
Mert Aktaş, RabbitMQ kullandığı bir örnek üzerinden Enterprise Service Bus çözümü MassTransit‘i ve kullanımını anlatmış.(İng)
Hüseyin Dursun, asenkron iş akışı tasarlamadan ve RabbitMQ'daki exchange tiplerinden bahsetmiş.(İng)
Emir Ayhan, Message Queue ve Message Bus arasındaki farkları yazmış. (İng)
Sistem Tasarımı
Señorita Developer, sistem tasarım mülakatları(system design interview) hakkında tükettiği farklı kaynaklardan aldığı notları paylaştığı bir seriye başlamış.(İng)
Engincan Veske, System Design Interview kitabından paylaştığı notlara Rate Limiter konusuyla devam etmiş.
Mikroservisler
Adem Olguner, MassTransit, Azure Service Bus ve ASP.NET Core 5.0 kullanarak bir mikroservis uygulaması oluşturmayı detaylıca anlatmış.
Hande Ebrar Güneşdoğdu, Ocelot ile API Gateway oluşturmayı anlatmış.
Mesut Yakut, monolit mimariden mikroservis mimarisine geçiş sürecinde teknik olmayan ama gerekli dönüşümleri yazmış.(İng)
Blockchain
Orientus Prime, kuşbakışı(ama geniş çerçeveden) Blockchain teknolojilerini anlatmış.
Mithrandir, Blockchain teknolojisindeki ölçekleme problemlerine karşın kullandığı parçalama(sharding) algoritmalarıyla çözüm vaat eden Near projesini anlatmış.
Eray Usta, Solidity‘ye giriş için oldukça geniş kapsamlı bir yazı kaleme almış.
Uygulama Güvenliği
Anil Öztürk, National Security Agency(bildiğimiz NSA) tarafından hazırlanan konteyner mimarisinde güvenlik konusunda hazırlanan Kubernetes Hardening rehberini çevirip seri olarak paylaşmış.
Çağdaş Alagöz, geçtiğimiz aylarda Java geliştiricilerin başını çok ağrıtan log4j‘de ortaya çıkan zafiyeti ve çözümünü anlatmış.(İng)
Bir Tutam Go
Özge Büyükaşık, Go‘da veri tiplerini anlattığı bir seriye başlamış.(1, 2)(İng)
Büşra Nur Güner, Go'da gRPC Gateway oluşturmayı anlatmış.(İng)
Mustafa Akseli, Go hakkında notlarını içeren kısa yazılardan oluşan -şu ana kadar 9 yazıya ulaşan- bir seri kaleme almış.
Uzaktan Çalışma Sürecinde Verimlilik(Sponsorlu)
Firmalara yazılımcı değil yazılımcılara firma bulan nevi şahsına münhasır startup TalentGrid(dilerseniz şuradan benim selamımla gidip profilinizi oluşturabilirsiniz), paylaştığı blog yazısında uzaktan çalışma sürecinde verimlilik için bazı ipuçlarına yer vermiş.
Makine Öğrenmesi
Fethi Tekyaygil, Makine Öğrenmesinde sınıflandırma problemlerinin çözümü için neden Lineer Regresyon yönteminin tercih edilmediğini anlatmış. Diğer bir yazısında ise modelleri eğitirken insan yanlılığı ve devreye giren önyargılar nedeniyle modelin performansını düşüren durumlardan bahsetmiş.
Barış Hasdemir, Trendyol'da yoğun talep gelen Slack kanallarına gelen mesajları makine öğrenmesi ile analiz edip doğru birime/kanala yönlendiren bir Slack botu nasıl yazdıklarını anlatmış.(İng)
Test ve Otomasyon
Tarık Kılıç, birim testlerin sağlıklı olmasını ve gerçekten kodları kapsamasını teşvik eden mutasyon testlerini Spring Boot‘ta bir örnek üzerinden anlatmış.(İng)
Hakan Karabulut, .Net'te bir örnek üzerinden mutasyon testleri eklemeyi anlatmış.
Engin Üstün, deployment ve test süreçlerinde feature brach'leri merge edip test ederken yaşadıkları problemlerden ve bunu nasıl çözdüklerinden bahsetmiş.(İng)
Zafer Ayan, React uygulamalarında ağ isteklerinin nasıl test edilebileceğini anlatmış.(İng)
Sezer Dönmez, web uygulamalarında görsel regresyon testleri yapmayı anlatmış.(İng)
Hüseyin Nurbaki, NestJS uygulamasını Dockerize edip Kubernetes üzerinden deployment oluşturduğu 4 yazılık bir seri kaleme almış.(İng)
Emre Savcı, Kubernetes'te pod'ların node'larda belirlenen koşullara göre nasıl schedule edilebileceğini anlatmış.
Barış Can Yılmaz, Github Actions'ta aksiyon oluşturmayı push'lanan koddaki hassas verileri yerleştirdiği bir örnek üzerinden anlatmış.
Deniz TÜRKMEN, Gitlab'de CI-CD(Continuous Integration-Continuous Delivery) hattı oluşturmayı anlatmış.
İbrahim Hızlıoğlu, AWS ECS'te(Elastic Container Service) yayımlanan uygulamalar için Gitlab'de CI-CD(Continuous Integration-Continuous Delivery) hattı oluşturmayı anlatmış.
Gökhan Gökalp, Azure hizmetlerini(Azure Functions, Logic Apps, Azure Computer Vision API) kullanarak bir OCR(görselden metin okuma) akışı oluşturmayı anlatmış.
Kısa Kısa
Bitirirken
Bu sayının da sonuna geldik. Beğendiyseniz paylaşmayı; eleştirileriniz, önerileriniz varsa iletmeyi unutmayın.
Faydalı olması ümidiyle.
Kendini mümin hisseden herkese hayırlı Ramazanlar, cümlenize sağlıklı günler dilerim.
Zâtınıza çook iyi davranın.
Bana ulaşmak için: LinkedinTwittersuperpeer
Çay, kahve ısmarlamak için: Patreon
Sosyal Medya
Akin Kaldiroglu
Clean Code'daki isimlendirme konusunda en temel problem "doğru isimlendirme"dir. Yani en iyi nasıl isim verilir tartışılır hep. Mantıksal olarak bunu önceleyen bir başka isimlendirme problemi var: Neyi isimlendirmeliyiz? İlk bakışta tuhaf gelen bu soruyu ve cevabını ele alayım:
Cengiz
Selam, profesyonel ve kişisel hayatımızda oldukça önemli olduğunu düşündüğüm soft-skilleri geliştirmek ile alakalı 2 senedir deneyimlediğim ve gözlemlediğim durumları bir floodda toplamak istiyorum, belki birilerine faydam dokunur -->
Tarik Guney
Eğer scalability ile alakalı ne gibi imtihanlarla karşı karşıya kalındığına dair bir mülakat sorusu alırsanız, aşağıdaki notlarım yardımcı olabilir.

Aklımdan yazdım. Eksik yerler olabilir. Ama bu cevap bile çoğu zaman fazlasıyla yeterli olacaktır. https://t.co/huy1kws0GA
Did you enjoy this issue?
Muhammed Hilmi Koca

Okuduğum, istifade ettiğim ve başka yazılımcılar için de faydalı olacağını düşündüğüm bir kısım makale ve haberleri haftalık olarak derleyip kısa kısa tanıtıyorum.
Cumartesi sabahları posta kutunuzu kontrol edin!

In order to unsubscribe, click here.
If you were forwarded this newsletter and you like it, you can subscribe here.
Powered by Revue