Yazılımcılar İçin Hafta Sonu Okumaları - Sayı #66 / Sezon #3 (Yazılım Trendleri, Test ve Otomasyon, Mikroservis Mimarisinin Merhemleri ve Dertleri ve daha fazlası)
Merhaba aziz okur.
66. sayı ile huzurlarınızdayım. Sizler için özenle derleyip topladığım 3 rapor ve onlarca yazıyı nihayet sunuma hazır hale getirdim.
Keyifli okumalar.
Yazılımda Kadın Raporu
Bu sayı itibarıyla, firmalara yazılımcı değil yazılımcılara firma bulan nevi şahsına münhasır startup TalentGrid ile iş ortaklığı yapmaya başladık. (Dilerseniz şuradan benim selamımla gidip profilinizi oluşturabilirsiniz.)
TalentGrid, aynı zamanda sahip olduğu verileri anlamlandırarak ve anonimleştirerek topluluk yararına önemli raporlar da hazırlıyor. Son yayımladıkları rapor ise "TR Yazılımda Kadın Raporu 2021" oldu. Türkiye yazılım camiasındaki yaklaşık 2700 profil üzerinde yapılan çalışmada kadınların konumu, yönetimde görev alma oranları, yöneldikleri alanlar gibi pek çok detay mevcut.
Yazılım Trendleri 2021
Bir başka raporla yolumuza devam edelim. Geçen sene olduğu gibi bu sene de başladığımız yılın olası yazılım trendlerini alanında uzman kişilere sorduk. Yazılım ve ilişkili alanlardaki toplam 28 uzmana sorduğumuz soruları bir rapor haline getirdik. Çok istifade edeceğiniz düşündüğüm bu imece ürünü çalışmaya şuradan ulaşabilirsiniz.
Öte yandan İstanbul Barosu bünyesindeki Yapay Zeka Çalışma Grubu, yapay zeka uygulamalarının hukukla kesiştiği noktalar hakkında(mesela işe alımda kullanılan yapay zeka uygulamalarının iş hukuku karşısında durumu gibi) "Yapay Zeka Çağında Hukuk" başlıklı yıllık raporun ikincisini yayımlamış. Bu özenli çalışma da ilgililerini bekliyor.
Mikroservis Mimarisinin Merhemleri ve Dertleri
Her zaman olmasa da münasebet geldikçe söylerim: Hiçbir teknoloji her yaraya merhem değildir. Her birinin güçlü ve zayıf olduğu yönler vardır. Sorgulanması gereken ilk kriter benim ihtiyaçlarıma ne denli yeterlilikte cevap veriyor? Sonrası topluluk desteği, yaygın kullanım ila ahir...
Süleyman Fazıl Yeşil, yine -hem uzunluk hem akıcılık olarak- destansı bir yazı yazmış. Bu defa mikroservis mimarisinin neleri çözdüğünü, ne gibi problemleri getirdiğini, en büyük problemlerden -özellikle finans gibi işlem yoğun girift sistemlerde- veri ve işlem(transaction) bütünlüğü konusuna sunulan çözümleri ve bu çözümlerin yeterliliğini irdelemiş, bolca sorgulamış.
Candost Dağdeviren ise mikroservis yaklaşımının getirilerinden başlayarak Building Microservices: Designing Fine-Grained Systems kitabından çıkardığı notları bir seri halinde paylaşmış.
Mimari demişken Sercan Dumansız, anlaşılabilir bir yazılım mimarisi kurgulamak için göz önünde bulundurulması gereken konulardan bahsetmiş.
Test ve Otomasyon
Volkan Yungul, Java'da yazılan testlerin kalitesini iyileştirmeyi ve sağlıklı code coverage elde etmeyi sağlayan mutasyon testi kavramından, bunu uygulayan PIT kütüphanesinden ve bu kütüphanenin CI/CD pipeline'a eklenmesinden bahsetmiş.
Onur Dayıbaşı, Frontend testlerinde kullanılan kütüphanelerden bahsetmiş.
Feyza Dayan, Kaspresso kütüphanesiyle arayüz(UI) testleri oluşturmayı anlatmış.
Mustafa Yıldırım, Selenium ile web uygulaması test etmeyi anlatmış.
Duygu Demirbaş, Postman’de Collection, Global ve Environment Variable oluşturmayı anlatmış.
Ömür Olgunay, Dolap'ta A/B testlerini nasıl yaptıklarından ve kullandıkları araçlardan bahsetmiş.
Ömer Kolkanat, iOS geliştirme süreç akışını nasıl otomatize ettiklerinden bahsetmiş.
Caner Gülgeç, Android CI/CD süreçlerini CircleCI'dan Bitrise'a taşıma hikayelerinden bahsetmiş.
Osman Yılmaz, Flutter'da test yazmayı ve test türlerini(birim, komponent, entegrasyon) anlatmış.
Yiğitcan Uçum, Node.JS kullanarak veri tabanı sorguları için test yazmayı ve bunları otomatize etmeyi anlatmış.
Ersen, test edilebilir kod yazmanın esaslarından bahsetmiş.
Her Eve Lazım Uygulama Güvenliği
Mehmet Cem Yücel, uygulamalara güvenli erişim mekanizmalarını(authorization-authentication), bu konularda belirlenen standartları, ilgili kavramları, bunun için kullanılan yöntemleri(oauth vs) ve araçları anlattığı 5 yazılık bir seri kaleme almış.
Ahsen, GraphQL kullanılan API'ların güvenliği konusunda dikkat edilecek noktaları yazmış.
Emre Savcı, Istio ile mikroservislerin güvenliğini sağlamak için yaptıkları geliştirmeleri anlatmış.
Batuhan Apaydın, şirket güvenlik politikalarını Kubernetes cluster'larına uygulamak için kullanılan OPA Gatekeeper aracından bahsetmiş.
Mengualp Yavaşoğlu, DNS Önbellek Zehirleme saldırısını anlatmış.
Rıdvan Kaplan, Bulut'ta çalışan uygulamalar için güvenlik risklerinden bahsetmiş.
İrem Boyukısa, Güvenlik Operasyon Merkezi (SOC) kavramından, fonsiyonlarından ve işleyişinden bahsetmiş.
İzel Akçay, güvenli email iletişimi için kullanılabilecek yöntemlerden(SPF, DKIM & DMARC ) bahsetmiş.
Melih Yılmaz, mobil uygulamalar için uygulama ve cihaz güvenliği için dikkat edilmesi gereken noktaları anlatmış.
Adem Kanat, Active Directory kullanan sistemi ele geçirmeyi sağlayan bir senaryoyu anlatmış.
Bir Tutam Hafıza Yönetimi
Ümit Samimi, Java'da hafıza yönetimini, JVM'i ve Garbage Collection mekanizmasını anlatmış.
Ceyhun Çözvelioğlu, .NET Framework'ün üç harflilerini (CLR, CIL, JIT, CTS) ve temeldeki çalışma mekanizmasını anlatmış.
Haydar Külekçi, Elasticsearch 7.7 ile Heap bellek kullanımının azalmasını anlatan bir çeviri yazı yayımlamış.
Bilal Emre Gülşen, ElasticSearch’ün Garbage Collection mekanizmasını anlatmış. Bir diğer yazısında ise anlık/geçici hatalarla verimli ele alma yöntemlerinden bahsetmiş.
Kısa Kısa
Uğur Koltuk, Pfizer/BioNTech aşısının kaynak kodunu inceleyen çok güzel bir yazıyı çevirmiş.
Erkan Erol, -mealen- "DevOps'la huzura doğru" başlıklı bir eposta bülteni yayımlamaya başlamış. Ayrıca Kubernetes'te 3 yaraya merhem olan 3 araçtan bahsetmiş.
Barış Güler, React'in yeni duyurulan özelliklerinden React Server Components özelliği hakkında oldukça detaylı bir inceleme yazmış.
Zafer Ayan da çıkış motivasyonundan başlayarak React Server Components'i anlatmış.
Emre Mert, medikal cihazlar için geliştirdikleri yazılımda veri alışverişini hızlı, doğru ve tutarlı gerçekleştirme konusunda yaşadıkları sıkıntıları ve edindikleri tecrübeleri anlatmış.
Hüseyin Kutluca, gömülü ve gerçek zamanlı uygulamalarda kullanılan tasarım kalıplarını anlattığı seride girdi/çıktı(I/O) işlemlerinde donanım adaptasyonu için kullanılan yöntemleri anlatmış.
Alper Güven, Python'ın derlenme ve çalışma mantığını anlatmış.
Şeriban Alkış, engelli bireylerin dijital içeriklere erişim konusunda çektikleri sıkıntıları yazmış.
Başar Kaya, mobil geliştiricilere yönelik döviz bazlı kamu desteklerini derlemiş.
Okan Davut, ASP.NET Core'da Code First yaklaşımı ile veri tabanı oluşturmayı anlatmış
Barkın Kızılkaya, .NET 5 ile örnek bir Mikroservis uygulaması yazmayı anlatmış.
İlkay İlknur, .NET uygulamalarında kullanılan teşhis(diagnostic) araçlarından bahsetmiş.
Malik Masis, .NET Core'da geliştirme yaparken bolca kullanılan kütüphaneleri derlemiş.
Coşkun Kurtuldu, Mikroservis mimaride API Gateway tasarımından bahsetmiş.
Mehmet Arı, Idempotency için kullanılan Java kütüphanesi Jdempotent'ten bahsetmiş.
Hakan Eröztekin, Grafana ile alarm ve monitoring yapısı oluşturmayı anlatmış.
Merve Nur Yalçın, yapay zeka uygulamaları tarafından üretilen eserler hakkındaki telif hakları tartışmalarından bahsetmiş.
Betül Çolak, Deepfake ile üretilen videoların telif hakları konusunda yaşanan ilginç tartışmalardan bahsetmiş.
Oktay Kır, NDepend aracı ile statik kod analizi yapmayı anlatmış.
Merve Tatlıdil, Python kütüphanelerinden bahsetmiş.
Tahir Kardak, GraphQL'den ve Springboot ile kullanımından bahsetmiş.
Muhammed Salih Güler, Dart dilinde Mixin yapısını anlatmış.
Ali Süleyman Topuz, ASP.Net Core 3.1, EF Core, CQRS ve React JS kullandığı bir projeyi adım adım anlattığı bir seri yayımlamış.
Hakan Topuz, .NET Core'da CQRS yaklaşımının ve mediator deseninin kullanımımı anlatmış.
Mehmet Can Taş, Domain Driven Design(DDD) yaklaşımında kullanılan Specification Pattern'dan bahsetmiş.
Osman Başkök, Domain Driven Design(DDD) yaklaşımı hakkında önemli gördüğü 5 noktayı anlatmış.
Melih Birim, geliştirdikleri BiSoru uygulamasının başarısızlık hikayesini anlatmış.
Kemal Akçıl, .NET Core kullanarak Slack webhook'u oluşturmayı anlatmış.
Barış Dalyan, Spring'de IoC (Inversion of Control) Container'ları anlatmış.
Emre Özkan, Windows Container iş yüklerini Openshift üzerinde çalıştırmayı anlatmış.
Recep İnanç, gRPC + Protobuf kullanımı ile REST + JSON kullanımı arasında geniş bir kıyaslama(benchmarking) yapmış.
Barış Can Kurt, C# ile benzerlikleri ve farklılıkları üzerinden kıyasla Python'ı anlattığı bir seriye başlamış.
Ajiyba Nesij Korkmaz, InfluxDB ve Grafana ile Monitoring yapısı oluşturmayı anlattığı bir seriye başlamış.
Oğuzhan Yalçınkaya, kuşbakışı Typescript'i anlatmış.
Serkan Bingöl, Certified Kubernetes Administrator sınavının konularını anlattığı bir seri kaleme almış.
Ahmet Murat Gençay, Enum'ları nesne yönelimli programlamaya uygun kullanmayı anlatmış.
Enis Necipoğlu, Nuget paketi oluşturmayı anlatmış.
Oğuz Başaran, Dart ve Flutter hakkında 20 yazıya yaklaşan bir seri kaleme almış.
Ragıp Diler, teknik SEO için log analizini ve kullanılabilecek araçları anlatmış.
Ufuk Aytaş, Azure ile serverless uygulama geliştirme serisine Azure Functions ile çalıştırdığı örnek bir Rest API uygulamasıyla devam etmiş.
Ertuğrul Kara, hobi diye çoluk çocuk giriştikleri kodlama maceralarını "aile eğlencesi" başlıklı bir seride anlatmaya başlamış.
Kemalcan Bora, "ortaya karışık" serisinde Apache Spark'ı anlatmaya başlamış.
Yiğit Şener, Monte Carlo Simülasyonu ile Python'da bir Satış/Komisyon tahmin uygulaması geliştirmeyi anlatmış.
Bitirirken
Bir sayının 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.
Daha fazla motive etmek için: Patreon