Yazılımcılar İçin Hafta Sonu Okumaları - Sayı #80 / Sezon #4(Sezon Finali: Dağıtık Sistemler ve Veritabanı, Mimari ve Tasarım Desenleri, Kaynak Kodu Korumak ve daha fazlası)
Merhaba aziz okuyucularım.
Gecikmiş bir sezon finaliyle karşınızdayım. Normalde yaza doğru yapmaya çalışırken 80 sayıya ulaşmayı hedeflediğim için Eylül ortasını buldu. Tatil döneminde açıkçası görüntüleme oranı da düşmüştü. O yüzden bu sayıyı paylaşırsanız memnun olurum.
Daha fazla uzatmadan dolu dolu içeriklerimize geçelim.
Dağıtık Sistemler ve Veritabanı
Murat Çabuk, detaylıca MongoDB anlattığı 10 yazılık bir seri kaleme almış. İlk yazısında dağıtık sistemlerde veri tutarlılığını ve doküman tabanlı veritabanlarının özelliklerinin kıyaslamasını yazmış.
Sarav Asiye Yiğit, veritabanını Kubernetes üzerinde çalıştırma senaryolarını ve bu konuda göz önünde bulundurulması gereken önemli noktaları anlatmış.
Kuşbakışı
Hakan Eröztekin, kuşbakışı ama biraz genişçe Kubernetes'i anlatmış.(İng)
Alper Ebiçoğlu, Microsoft'un yeni çapraz platform uygulama geliştirme framework'ü .NET MAUI'yi kuşbakışı anlatmış.(İng)
Engin ÜNAL, Solidity'yi anlattığı güzel bir seriye başlamış.
Dilaver Demirel, Go dilini öğrenmeya başlamış ve Java dünyasından gelen bir yazılımcı gözünden kuşbakışı anlattığı bir seri kaleme almış.
Biraz daha Go
Oğuzhan Yılmaz, bir kısmı fazla bilinmeyen oldukça kullanışlı Go ipuçları paylaşmış.
Furkan Samaraz, IPFS protokolünü kullanarak Go ile merkeziyetsiz dosya saklama uygulaması geliştirmeyi anlatmış. Bir diğer yazısında ise Go'da bellek yönetimi ve çöp toplama(Garbage Collection) mekanizmasını anlatmış.
Emre Savcı, popüler bir açık kaynak Go kütüphanesine yaptığı katkıyı ve bu katkıyla bağımlı projeleri nasıl patlattığını anlatmış.
Kod Kalitesi ve Test
Zafer Ayan, kod karmaşıklığını giderme teknikleri hakkında bir yazının çevirisini paylaşmış.
Doğan Aydın, kaliteli testin yazılım kalitesi için öneminden bahsetmiş.
Osman Başkök, Trendyol GO uygulaması için oluşturdukları otomatize test akışını anlatmış.(İng) Doğan Öztürk de front-end uygulamasının test süreçlerini anlatmış.(İng)
Pınar Koçak, code review süreçleri için bir kontrol listesi(checklist) paylaşmış.(İng)
Mimari ve Tasarım Desenleri
Metin Barkın Narin, Mikroservis mimarilerde karşılaşılan problemlerin çözümü için bazı stratejilerden bahsetmiş.(1, 2)(İng)
Yusuf Yılmaz, Java ile CQRS deseninin uygulanmasını Docker, Elasticsearch, RabbitMQ, Spring ve MySQL gibi teknolojileri kullandığı bir örnek üzerinden anlatmış. Bir diğer yazısında ise Elasticsearch'ün Reindex özelliğini anlatmış.
Abdullah Öztürk, özellikle Domain Driven Design yaklaşmında kullanılan Specification tasarım desenini anlatmış. Diğer bir yazısında ise .NET Core'da MediatR pipeline oluşturmayı anlatmış.
Beyza Celep, SOLID prensiplerindeki Single Responsibility ve Dependency Inversion prensiplerinden ve Inversion of Control kavramından bahsetmiş.(İng)
Damla Çim, Swift örnekleri üzerinden SOLID prensiplerini anlatmış.(İng)
Performans ve Ölçeklenebilirlik
Eren Arslan, Yasin Kızılkaya ve Yusuf Sağlam, 2 milyondan fazla ürün içeren bir Excel raporu saniyeler içerisinde hazırlamak için nasıl ölçeklenebilir ve hataya dayanıklı bir sistem kurduklarını anlatmış.(1, 2, 3)(İng)
Mustafa Emre Başar, Java uygulamlarında hata toleransını(fault tolerence) artırmayı sağlayan Resilience4j kütüphanesinden bahsetmiş.
Erkan Güzelküçük, servisler arası yüksek performanslı mesajlaşma ve streaming sağlayan NATS ürününden bahsetmiş.(İng)
Kaynak Kodu Korumak
Yasar K. Canpolat, beklenmedik durumlarda hem yazılım firmasının hem de yazılım hizmetini satın alan müşterinin mağduriyetlerini engellemek için kaynak koda bir aracının erişimini içeren escrow sözleşmelerini ve hukuki yönünü anlatmış.
Haftanın Üretken Genci: Muhammet Emir Özkan
Muhammet Emir Özkan, henüz 16 yaşında ve bir süredir yazılımla iştigal ediyor. Dahası öğrendiklerini Türkçe ve İngilizce blog yazıları yazarak paylaşıyor. Son yazısında kendi öğrenme süreci üzerinden yazılıma yeni başlayanlara önerilerini yazmış.
Motivasyonunun, başarılarının ve ekosisteme katkılarının artarak devamını diliyorum.
Kısa Kısa
Elif Hilal Umucu, Blockchain alanında dünya çapında regülasyonları ve örnek davaları anlattığı bir seriye başlamış. An itibariyle 4 yazıya ulaşmış.
İbrahim Kürce, yazılım mimarının farklı firmalarda üstlendiği farklı rollerinden ve teknik ekiple üst yönetim arasında yapması gerekenlerden bahseden "Yazılım Mimarı Asansörü" kitabından notlarını paylaşmış.
ALTUĞ BİLGİN ALTINTAŞ, Kanban metodunda devam eden işleri sınırlayarak verimliliği artıran bir yöntemden bahsetmiş. Diğer bir yazısında ise bu yöntemin dayandığı Little yasasını anlatmış.
Emre Karaoğlu, bir sunucu kurulduğunda alınması gereken temel güvenlik önlemlerini yazmış.
Çağlayan DÖKME, gömülü Linux işletim sistemlerinde kalıcı hafıza görev gören Flash Memory'ye erişimi ve bu bileşenin güncellenmesini anlatmış.(İng)
Ayyüce Demirbaş, bazı açık kaynak projelerin katkı sahiplerine sponsor olan Google Summer of Code uygulamasına başvuru ve kabul sürecini anlatmış.
İrem Kömürcü, makine öğrenimi alanında nasıl Google Developer Expert ünvanı alınabileceğini anlatmış.(İng)
Mustafa Mert Tunalı, dar ve genel yapay zeka kavramlarını ve aralarındaki farkları anlatmış.
Begüm Özkısaoğlu, makine öğreniminde "İzolasyon Ormanı" algoritmasıyla anormallik tespitini anlatmış.
Kübra Kuş, Elasticsearch'te Kibana kullanarak anomali tespitini anlatmış.
Haydar Külekci, ElasticSearch'te index alias'larının kullanımını anlatmış.(İng)
Cihat Solak, C#'ta asenkron ve multithread programlamayıanlatmış.
Bora Kaşmer, az bilinen C# özelliklerinden bahsetmiş.(İng)
Furkan Güngör, .Net 7 ile gelen özelliklerden Output Caching Middleware'i anlatmış.
Deniz TÜRKMEN, Docker hakkında girişten Docker Compose ve Docker Swarm'a kadar anlattığı bir seri kaleme almış.
Malik Masis, teknik yazılım mülakatlarında hem şirketler hem de adaylar için dürüst olmaktan bahsetmiş.
Şerifhan Işıklı, Git hakkında teknik mülakatlarda sorulabilecek bazı soruları derlemiş.(İng) Diğer bir yazısında ise bir örnek üzerinden NodeJS uygulamasında Redis kullanımını anlatmış.
Doğacan Toka, hassas veri içeren resimleri görsel şifreleme ile başka resimlerin içine gizleme yönteminden bahsetmiş.
Buğra Çelik, Java 8'le gelen optional sınıfları anlatmış.(İng)
İbrahim Ates, geçmiş iş tecrübelerinden ve bunlardan kendisi için çıkardığı derslerden bahsetmiş.(İng)
Burak Gür, web uygulamaları için tekrar kullanılabilir bileşenler oluşturmayı sağlayan web component kütüphanelerini anlatmış. Aralarında kıyaslama yaparak kendi tercihlerini paylaşmış.
Onur Dayıbaşı, npm link özelliğini kullanarak tekrar kullanılabilir React bileşenleri oluşturmayı anlatmış.
Çiğdem Kadakoğlu, Apache Kafka'nın bileşenlerindenbahsetmiş.
Osman Gençoğlu, veri odaklı olmayı hedefleyen şirketler için bu konuda yol haritası belirleme sürecinden bahsetmiş.
Ali Yıldızöz, hibrit uygulama geliştirme framework'ü Capacitor'den bahsetmiş.
İlyas Özkurt, daha başarılı bir yazılımcı olmayı sağlayan teknik olmayan yetkinliklerden(soft skills) bahsetmiş.(İng)
Simge ŞİŞMAN, Postman'in bazı pratik özelliklerinden bahsetmiş.(İng)
Bitirirken
Bir sayının ve dahi sezonun daha sonuna geldik. Beğendiyseniz paylaşmayı; eleştirileriniz, önerileriniz varsa iletmeyi unutmayın.
Faydalı olması ümidiyle. Sağlıklı günler dilerim.
Zâtınıza çook iyi davranın.
Çay, kahve ısmarlamak için: Patreon