Yazılımcılar İçin Hafta Sonu Okumaları - Sezon #4 / Sayı #72(2021 Derlemesi)
Merhabalar.
Aralık sonu - Ocak başı geçmiş yılın muhasebesi, değerlendirmeleri, özetleri, raporları, almanakları; gelecek senenin öngörüleri gibi içeriklerle doluyor. Ben de geçen 3 senede yaptığım gibi bu sene de biten yılın sayılarından bir derleme ile karşınızdayım.(Bir nevi flashback'lerden oluşan düşük bütçeli bölüm) Fark ettiğinizi umduğum üzere bu sene istediğim sıklıkta sayı çıkaramadım. Yıl boyunca toplamda 6 sayı çıkarmışım. Çok istediğim halde maruz kaldığım yoğunluk nedeniyle yeterince vakit ayıramadım. Ama verdiğim aralar ayları bulsa da bülteni devam ettirmek için direniyorum. Her neyse sadede gelelim. (Bu noktadan sonra geçen sene yayımladığım derlemeden kopya çekerek devam ediyorum.)
Derleme yapmaya karar vermemin akabinde büyük bir özenle(kopyala-yapıştır marifetiyle) okumakta olduğunuz bu sayıyı hazırladım. Binâenaleyh bu sayı yeni bir sayı değil. Yani yeni bir sayı ama içeriği yeni değil. Bir nevi özel sayı(böyle daha havalı oldu sanki). Buradan da şu sonucu çıkarmamız gerekiyor:
Aşağıda geçen “bu hafta”, “geçtiğimiz çarşamba” vb. ibareler güncel değil, ilgili sayının yayımlandığı tarihle ilişkili ifadeler.
Şunu da ifade edeyim: Bu derlemede yer alan içerikler tamamen subjektif bir değerlendirme neticesi öne çıkardığım yazılar.
Buyursunlar…
Serverless Hayatlar
Her geçen gün daha çok duyduğumuz, daha fazla muhatap olduğumuz Serverless konsepti hakkında Türkçede de oldukça başarılı içerikler çıkıyor. Cloud and Serverless Turkey topluluğu bu noktada büyük pay sahibi.
Topluluğun aktif üyelerinden -komikli yazılım videocusu yönüyle tanıdığımız- Azmi Mengü, yazılım mimarı şapkasıyla AWS CDK(Cloud Development Kit) ile gRPC destekli Application Load Balancer kurulumunu anlatmış. Bir diğer yazısında ise AWS SAM(Serverless Application Model) kullanarak Dockerized Lambda fonksiyonlar geliştirmeyi anlatmış.
Ufuk Aytaş, an itibariyle 5 yazıya ulaşan serisinde Serverless mimarinin ne olduğundan, kimlerin kullanması gerektiğinden başlamış örnek projelerle Azure‘un Serverless uygulamalar için sunduğu servisleri anlatmış.
Kemalcan Bora, “Ortaya Karışık Yazılım Serisi” başlıklı güzel bir seriye başlamış. Redis'ten Elasticsearch'e; Docker'dan AWS ECS'e serverless'a pek çok konu hakkında yazılar yazmış.
Birtakım Mimariler
Okurken ilgimi çeken konulardan biri yazılım mimarileri. Geçtiğimiz haftalarda da çeşitli mimariler hakkında güzel yazılara denk geldim:
Hüseyin Kutluca, yazılım mimarileri serisinde Robot İşletim Sistemi 2(ROS 2) mimarisini anlatmış.
Birol Emekli, gerçek zamanlı işletim sistemlerinden (RTOS) bahsetmiş.
Veli Bacık, IOS‘te VIPER mimarisini kullanarak uygulama geliştirmeyi anlatmış.
Ali Turgut Bozkurt, Domain Driven Design(DDD) hakkında bir seriyi Türkçeye çevirmiş. An itibariyle 3 yazıya ulaşan serideki başlıklar: Static DDD, Tactical DDD, DDD ve Hexagonal Mimari.
Derin Bakış
Emre Hızlı, Angular‘da değişiklik olan componentlerin DOM'a yansımasını sağlayan ChangeDetection mekanizmasının çalışma prensibini ve yönetimini detaylıca anlatmış.
Barış Ceviz, .Net Core'da konfigürasyon yapısının işleyişini anlatmış.
Oğuzhan Aslan, Babel'in derinlerine dalarak çalışma prensibini anlatmış.
Bilge Demirkaya da Babel ve Polyfilling'in nasıl çalıştığından bahsetmiş.
Yazılımcılara Tavsiyeler
Yazılım, ülkemizde görece geç tanınan bir alan olduğu için 40-50 yaş üstü ve hala kod yazan birilerini görmek oldukça zor. Bu tarife uyan ustalardan biri Umut Gökbayrak. Kendisi hala aktif olarak kod yazıyor ve üstelik edindiği muazzam tecrübeleri paylaşıyor. Son yazısına her ne kadar “40+ bir yazılımcıdan mesleğe yeni başlayan kişilere 10 tavsiye” başlığını uygun görse de hemen her seviyede yazılımcının faydalanacağı tavsiyeler 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ş.
Yeni Gündem: Flutter
Çapraz platform mobil uygulama geliştirme konusunda iddialı bir konuma gelen Flutter, son düzenlediği Flutter Engage etkinliğinde stabil hale gelen Web ve gömülü platformlarda geliştirme desteği gibi flaş yeniliklerle gündemde daha fazla yer işgal etmeye başladı.
Muhammet Ömer ve Adem Furkan Özcan, söz konusu Flutter Engage etkinliğinden notlarını ve duyurulan yenilikleri paylaşmışlar.
Flutter demişken;
MAkif Dere, Flutter‘da bir örnek üzerinden mobil uygulamaların dağıtımını otomatize etmeyi sağlayan Fastlane aracından bahsetmiş.
Veli Bacık, mimari tasarımından başlayıp testlerinin yazılmasına kadar Swift ile bir ToDo uygulaması yazmayı detaylıca anlatmış. Diğer bir yazısında ise yine sürecin başından sonuna Flutter'da bir alışveriş sepeti uygulaması geliştirmeyi anlatmış.
Yine Test ve Otomasyon
Alpcan Aydın, test yaz(a)mama konusunda öne sürülen bahanelerden/engellerden bahsederek bunları nasıl/neden aşmamız gerektiğini anlatmış.
Deniz İrgin, AWS uygulamalarını kendi bilgisayarınızda build ve deploy etmenizi sağlayan LocalStack aracını bir .NET uygulama örneği üzerinden anlatmış.
Abdullah Alaslan, yayımladığı 2 yazıda bir Docker ve Kubernetes de kullandığı bir NodeJS uygulamasını CI/CD kurgusunu oluşturarak AWS'e ve GCP'ye deploy etmeyi anlatmış.
Berat Bozkurt, React uygulamasına test yazmayı anlattığı bir seriye başlamış.
Mahmut Yıldız, 2 yazı halinde React uygulamalarına test yazmayı sağlayan Jest ve React Testing Library araçlarını anlatmış.
Furkan Bozdağ, Test Containers kullanarak Go‘da entegrasyon testi yazmayı anlatmış.
Mert Akkaya, Go'da test yazarken göz önünde bulundurulabilecek 5 ipucunu yazmış.
Doğacan Toka, Rest Assured kütüphanesi ile REST API testleri yazmayı anlatmış.
Kadir Altınok, Trendyol Android ekibinde kullandıkları birim test pratiklerinden bahsetmiş.
Hazel Turan, Trendyol iOS uygulaması için kullandıkları A/B testi süreçlerinden ve öneminden bahsetmiş.
Azure'a Doğru
Hasan Şahin, bir .NET uygulama örneği üzerinden Docker, Docker Hub ve GitHub Actions kullanarak Azure‘a otomatik deploy pipeline'ı oluşturmayı anlattığı 4 yazılık bir seri kaleme almış.
Açıklanabilir Yapay Zeka
Geçtiğimiz aylarda -anladığım kadarıyla- kapalı kutu gibi çalışan makine öğrenmesi uygulamalarının hangi modeli neden ve nasıl seçip kullandığını öğrenmemizi sağlayacak açıklanabilir yapay zeka kavramından bahseden bazı yazılar paylaşmıştım.
Ayyüce Kızrak, neyi neden yaptığı açıklanabilir ve güvenilir yapay zeka uygulamaları geliştirmekten ve bu konudaki tartışmalardan bahsetmiş.
Semanur Kapusuzoğlu, açıklanabilir makine öğrenimi modelleri oluşturmak/seçmek için kullanılan araçlardan SHAP Library‘den bahsetmiş.
Hazır yapay zeka ve makine öğrenmesi demişken;
Yiğit Şener, Destek Vektör Makineleri'nin çalışma mantığını ve bir Python uygulaması üzerinden kullanımını anlatmış. Diğer bir yazısında ise Makine Öğrenmesinde Pipeline mimarisini anlatmış.
Fatma Elik, “Makine Öğrenmesi ile Tahmin” başlıklı bir seriye başlamış. İlk yazısında Basit Doğrusal Regresyon'u anlatmış anlatmış.
Mehmet Yener Yılmaz, ML.NET ve Tensorflow kullanarak duygu analizi yapan bir yapay sinir ağı oluşturmayı anlatmış.
Oğuzhan Yediel, denetimsiz öğrenme algoritmasıyla uçtan uca anomali tespiti yapmayı anlatmış.
Bol Veri Bol Analiz
Bekir Arslan, IMDb'deki izlediği film listesi üzerinden detaylı bir veri analizi yapmış.
Oğulcan Ertunç, detaylı bir veri analizi ile Milano‘da nereye kebapçı açması gerektiğini bulmaya çalışmış.
Eren Janberk Genç, açık veriler üzerinden İstanbul'daki sağlık kuruluşlarının lokasyona göre dağılımını analiz edip görselleştirmeyi anlatmış.
Zeki Çıplak, Türkiye'de şehirlerin deprem riski ve popülerliklerine göre bir veri analizi yapmış.
JavaScript Dünyası
Onur Dayıbaşı, Svelte kütüphanesini/derleyicisini, çıkış nedenini, çalışma prensibini ve neleri nasıl çözdüğünü anlatmış. Diğer yandan JavaScript‘te C#, Java vb. dillerdeki Reflection API benzeri dinamik kod çağrısı gerçekleştirmeyi sağlayan Meta programming yöntemleri hakkında bir seri kaleme almış.
Emre Serbest, JavaScript'te Execution Stack ve Execution Context kavramlarını anlatmış.
Erdoğan Bavaş, pür JavaScript ile Flappy Bird klonu yazmayı anlatmış.
En İyi Yazılım Mimarisi
Beykan Şen, “en iyi yazılım mimari deseni nedir?” başlıklı güzel yazısına bu sorunun anlamsızlığını izah ederek başlayıp farklı yazılım mimarilerinden, bu mimarilerin hangi problemleri nasıl çözdüklerinden ve çözerken hangi problemlere sebep olabileceklerinden bahsetmiş.
Ayrıca bu yazısının sonunda da tavsiye edilen Cem Başaranoğlu‘nun Hepsiburada'daki mikroservis dönüşümünü anlattığı yazıyı da buraya koyalım.
Mikroservis demişken; Candost Dağdeviren, Building Microservices Book kitabından çıkardığı notlara mikroservislerde entegrasyon konusundan bahsederek devam etmiş. Bir diğer yazısında ise verimli 1:1(one-on-one) görüşmeler yapmak için ipuçları vermiş.
Derya Deniz
Hemen hemen her sayıda buradan atıf yaptığımız Onur Dayıbaşı, en yoğun içerik üreten yazılımcılardan biri. Geçtiğimiz yıl saymayı denediğimde 300'den fazla blog yazısı vardır. Şu ana kadar 400'ü geçmiş olabilir.
Kendisi özellikle frontend ve yazılım mimarisi konularında yazıyor ve yazdığı bu yazıları konu konu indekslemiş.
Deneysel Projeleri Deneyelim
Burak Selim Şenyurt, Microsoft'un deneysel projelerinden biri olan Project Tye‘dan bahsetmiş. “.Net tabanlı mikroservis çözümlerinin daha kolay geliştirilmesini sağlamayı ve söz konusu çözümleri az zahmetle Kubernetes ortamına almayı” hedefleyen bu projenin kullanımını, -Docker, Kubernetes, Redis, RabbitMQ gibi teknolojiler içeren- birkaç örnek eşliğinde detaylıca anlatmış.
Oktay Dağdelen de Project Tye ile örnek bir uygulama oluşturup deploy etmeyi anlatmış.(İng)
Risk Yönetimi ve Bir Miktar Gerilim
Yaşar Safkan, proje yönetimi, planlaması ve risk yönetimi hakkında genel olarak yapılan hataları ve bu hataları neden yaptığımızı anlatan güzel bir yazı kaleme almış. Yakın zamanda yazdığı 2 yazıda ise Google'da çalıştığı esnada 8401 makineyi nasıl kapattığını ve sonrasında yaşanan süreci anlatmış.
Odaklanamayanlardan mısınız?
Başlıktaki kelimeyi okuyana kadar gözünüz bildirimlere gitti mi? O zaman doğru yerdesiniz.(Bildirimleri tekrar kontrol ettiyseniz devam ediyorum)
Seyfeddin Bassarac, son yıllarda -başta sosyal medya etkisiyle- kaybettiğini ifade ettiği derin düşünme ve odaklanma becerisini tekrar nasıl geri kazandığını ve uyguladığı yöntemleri anlatmış.
Bir Tutam Mikroservis
Dilfuruz Kızılpınar, mikroservis mimarilerdeki önemli zorluklardan veri tutarlılığı(data consistency) problemini ve uygulanabilecek çözümleri anlatmış. (İng)
Cengizhan Köse, örnek senaryolar eşliğinde “tamam da kardeş bunu monolitik mimaride yapabilirsin, niye mikroservis?” diye proje bazında mikroservis mimarinin gerekliliğine dair sorgulamalar yapmış.(İng)
Veysel Pehlivan, GraphQL‘in RESTFul mikroservislerde verimli şekilde kullanımından bahsetmiş.(İng)
Nazlıcan Kurt, Mikroservis mimari, SOLID, DDD, Onion Architecture, Clean Architecture, CQRS gibi yaklaşımları ve konseptleri kullanarak bir Web API geliştirmeyi anlatacağı bir seriye başlamış. İlk yazısında bu kavramları açıklamış.(İng)
Tecrübeler
Bu sayıda bolca gerçek dünya problemlerini ve bunların çözüm maceralarını anlatan yazımız var.
Emre Ergün, Trendyol iOS uygulamasını izlemek için yazılan önceki uygulamayı(event tracker), bu uygulamanın sahip olduğu problemleri, kısıtları ve yenisini -Swift ile- nasıl yazdıklarını detaylıca anlatmış.
Emre Tanrıverdi, Trendyol Recommendations altyapısını nasıl ilişkisel veritabanından NoSQL(Couchbase) veritabanına göç ettirdiklerini anlatmış.(İng)
Kemalcan Bora, AWS‘in Serverless hizmetleriyle ile Makine Öğrenmesi denemeleri yaparken karşılaştığı problemlerden bahsetmiş.
Ahmet Can Güven, headless browser(Puppeteer gibi grafik arayüzü olmayan tarayıcı) üzerinde 2 milyar sayfayı dinamik rendering ile nasıl oluşturduklarını, karşılaştıkları problemleri, bunları nasıl aştıklarını ve öğrendiklerini paylaşmış.(İng)
Go Derleyicisinin Temelleri ve Derleyiciye Katkı Yapmak
Furkan Türkal, açık kaynak Go derleyicisine katkı sağlayarak tilde(~) operatörünün eklenmesini sağlamış. Akabinde bu süreci derleyicinin temellerinden başlayarak, adımlarını, çalışma mantığını, operatör eklemeyi vs. detaylıca anlattığı uzunca bir makale yazmış.(İng)
Bir Miktar Reaktif Programlama
Ceyhun Ünlü, Swift‘te reaktif programlama yapmayı sağlayan ve asenkron işlemleri kolaylaştıran RxSwift kütüphanesinden bahsetmiş.(İng)
Ali Gökdemir, Reaktif programlamadan ve Trendyol Android uygulamasında nasıl kullandıklarından bahsettiği bir seriye başlamış.(İng)
Levent Arman Özak, Angular'da reaktif programlamayı kolaylaştıran yöntemlerden bahsetmiş.(İng)
Dağıtık Sistemlerle Çalışmak
Cem Başaranoğlu, dağıtık sistemler geliştirilirken karşılaştığımız en büyük zorluklardan bahsetmiş. Diğer bir yazısında ise CAP teoremini alt edebileceğimiz alternatif yöntemlerden bahsetmiş.
Derin Öğrenme
Ayyüce Kızrak, derin öğrenmede kullanılan Transformer mimarisini ve bu mimariyi temel alarak nesne algılamayı öneren yeni yöntemleri anlatmış.
Buse Yaren Tekin, TensorFlow GPU ile Derin Öğrenme çalışma ortamı hazırlamayı anlatmış.(İng)
Mustafa Gültekin, Medikal Derin Öğrenme Modellerinin başarısını yorumlamak için önemli kavramlardan bahsetmiş.
Kısa Kısa
Ayyüce Kızrak, “açıklanabilir yapay zeka"yı ve gerekliliğini derinlmesine irdelemiş.
Ömer Özgür, makine öğrenmesi ile prognoz(hastalığım muhtemelen seyrinin ve sonuçlarının tahmini) süreçlerinde kullanımından bahsetmiş.
Bahadır Kandemir, geliştirmekte olduğu NMORPG oyununu anlattığı seriye devam ederek, oyuna multiplayer desteğini nasıl eklediğini anlatmış.
Şefik İlkin Serengil, Python Multiprocessing ile özyinelemeli(recursive) fonksiyonlar tasarlamayı anlatmış.
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ış.
İrem Karaoğlu, React Native uygulamasına erişilebilirlik desteği eklemeyi anlatmış.
Can Balkaya, erişilebilir bir uygulama geliştirmek için dikkat edilmesi gereken belli başlı noktaları yazmış.
Yaşar K. Canpolat, kişisel verilerin korunması konusunda rahat etmek için veri temelli ürün tasarımı stratejilerini(Privacy By Design) anlatmış.
Bora Kaşmer, tasarım desenlerinin Go dilinde nasıl implemente edilebileceğini yazmış.
Lombak Şehidi, gerçek hayat senaryoları üzerinde sistem tasarımı yapmayı anlattığı güzel bir seriye başlamış. Girmişken arkadaşın blogunda uzunca gezinmenizi öneriririm. Farklı yazılım konularında bol miktarda ve dolu dolu yazılar mevcut.
Ahmet Omak, oyun geliştirirken kullanılan çarpışma algılama(collision detection-Ör. PacMan'in duvara çarpması) kavramından ve nasıl uygulayabileceğimizden bahsetmiş.(İng)
Azmi Rutkay BIYIK, bazı mobil uygulamaların kullanım verilerini analiz ederek uygulamaların başarısını ve kullanıcı sadakatini artıran faktörleri tespit etmeye çalışmış. İlk yazıda fitness uygulamalarını, ikinci yazıda ise meditasyon uygulamalarını incelemiş.(İng)
Ali Kızıldağ, Domain-Driven Design yaklaşımının bilinmesi gereken ve görece az bahsedilen temel kavramlarını anlatan güzel bir yazı kaleme almış.(İng)
M. Enes Oral, projeyi katmanlarına göre bölme ile özelliklerine göre bölmeyi(DDD'yi anımsatıyor) kıyaslamış.(İng)
Onur Dayıbaşı, JavaScript ekosisteminin çiçeğiburnunda Runtime'ı Deno hakkında bir seriye başlamış.
Kadir Alan, “Kafka Streams” başlıklı bir seriye başlamış. Şu ana kadar 3 yazıya ulaşan seride Kafka Storage mimarisini, Kafka Cluster mimarisini ve Kafka'nın çalışma prensibini anlatmış.(İng)
Veli Bacık, Flutter‘da katmanlı mimari ile uygulama geliştirmeyi detaylı bir örnek üzerinden anlatmış.(İng)
Fatih Erikli, yazılımcı olmayanlar için tane tane Python anlattığı bir seriye başlamış. Şu ana kadar 3 yazı yayımlamış. (İng)
Bilal Özdemir, Python'la yazdığımız bir uygulamanın çalışma zamanı, bellek kullanımı vb metriklerini nasıl izeleyebileceğimizi(profile) anlatmış.(İng)
Ali Mehdi Erçetin, yazılan birim testlerin kapsamının(coverage) ne kadar nitelikli olduğunu belirlemeyi sağlayan mutasyon testlerinden bahsetmiş.(İng)
Veli Can Ünal, Kafka, KSQL ve Socket.IO kullanarak bir gerçek zamanlı streaming uygulaması geliştirmeyi anlatmış.
Bitirirken
Bu sayı da, geçen senenin derlemesi de nihayete erdi. Umarım istifade etmişsinizdir.
Beğendiyseniz daha fazla insana ulaşması için paylaşmayı unutmayın.
Sağlıklı, keyifli ve afiyetli bir yıl diliyorum efendim.
Zâtınıza çook iyi davranın.
Daha fazla motive etmek için: Patreon