Yazılımcılar İçin Hafta Sonu Okumaları - Sezon #4 / Sayı #71(Derin JavaScript, Yapay Zeka Aleminden Havadisler, Test Yazmak ya da Yazmamak ve daha fazlası)
Merhaba aziz okuyucularım.
4. sezonun ve 2022 yılının ilk sayısıyla -nihayet- huzurlarınızdayım. Geçen sayının başında bahsettiğim gibi hem iş hayatındaki hem de kişisel hayatımdaki yoğunluklar nedeniyle sık ve periyodik olarak çıkaramasam da bir şekilde çıkarmak için direnmeye devam ediyorum. Olduğu ve gittiği kadar :)
Keyifli okumalar.
Önce Reklamlar
Şekil A'da gözüktüğü üzere 71 sayıdır işbu bülteni ve sık olmamak kaydıyla yaklaşık 10 yıldır blog yazıları yazıyorum. Bolca da blog okuyorum. Geçtiğimiz aylarda bu süreçte edindiğim tecrübeleri "Yazılımcılar için İçerik Üretimi ve Tüketimi" başlıklı online bir sunum halinde paylaştım. Kendim yazılı içerik üretimi ile iştigal ettiğim için sunumun -başlığı genel olsa da- yüzde 90'ı bu konuyla alakalı oldu.
İlginizi çektiyse buradan sunumun videosuna ulaşabilirsiniz.
Derin JavaScript
Oğuz Kılıç, bir kez daha temel(fundamental) bir konuyu ele alıp enine boyuna anlattığı bir seriye başlamış: Javascript uygulamalarında performans. İlk yazı JavaScript'te Concurrency, -geçen haftaların popüler konusu- Garbage Collection, bellek yönetimi, memory leak, Server Side Rendering gibi mühim başlıkları içeriyor.
Onur Dayıbaşı, ürünler ve kütüphaneler başlıklı serisinde kaynak kodu üzerinden jQuery'nin nasıl çalıştığını anlatmış.
Yazılımcıların İşe Alım Süreçlerine Bakışı(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.) yine kapsamlı bir rapor yayımlamış: Yazılımcıların Şirketlerdeki İşe Alım Süreçlerine Bakışı Raporu
Göç Vakti
Rıdvan Nuri Göçmen, Sahibinden'de "mağaza yönetim takımı"nın monolit mimariden mikroservis mimarisine geçişini anlattığı bir seriye başlamış. İlk yazıda planlama aşaması(dönüşüm stratejisi, bounded context'lerin belirlenmesi vb.) ve dönüşümün başlangıcından bahsetmiş.
Serkan Sakınmaz, monolit mimariden olay tabanlı(event driven) mikroservis mimarisine geçişi anlatmış.(İng)
Orhan Tuncer, bir örnek üzerinden model odaklı tasarımdan DDD(Domain Driven Design)'ye dönüşümü anlatmış.(İng)
Biraz Daha Mimari
Huseyin Kutluca, yazılım mimarileri hakkındaki yazılarına durmaksızın devam ederek temiz mimari(clean architecture) ile bir servis geliştirmeyi, C4 yaklaşımı ile mimari gösterimini ve olay tabanlı mimarileri(event driven architecture), olay tasarım kalıplarını anlatmış.
Cem Başaranoğlu, mikroservis mimarilerde kullanılan mesajlaşma yaklaşımlarından bahsettiği bir seriye başlamış.(İng)
Yiğit Darçın, mikroservis mimaride yaşadığı zorlukları ve bunlardan çıkardığı dersleri yazmış.(İng)
Ezran Bayantemur, React'te "best practice"lere uygun proje mimarisi oluşturmayı anlatmış.
Yapay Zeka Aleminden Havadisler
Başak Buluz Kömeçoğlu, geçtiğimiz aylarda açıklanan Ulusal Yapay Zeka Stratejisi'ne dair notlarını paylaşmış.
Yavuz Kömeçoğlu, Ulusal Yapay Zeka Stratejisi ile ilgili Twitter paylaşımları üzerinde bir duygu(sentiment) analizi yapmış.
Ayyüce Kızrak, Yapay Zeka'da önyargıyı anlattığı programdan notlarını paylaşmış.
Fatih Çağatay Akyon, görüntülerde uzak mesafedeki nesneleri tanımlama ve segmente etmek için geliştirdikleri açık kaynak bilgisayarlı görü kütüphanesi SAHI(Slicing Aided Hyper Inference)'den bahsetmiş.(İng)
İrem Kömürcü, Makine Öğrenmesi'nde sınıflandırma modelinin performansını yorumlamak için kullanılan Confusion Matrix'i anlatmış.
Hasan Ersan Yağcı, makine öğrenmesinde kategorik modelleri sayısallaştırmak için kullanılan label encoding ve one hot encoding yöntemlerinden bahsetmiş. Diğer bir yazısında ise makine öğrenmesinde dengesiz veri probleminden ve buna karşı kullanılabilecek yöntemlerden bahsetmiş.(İng)
M. Akif Bıyıklı, feature engineering(özellik mühendisliği?) ile Hitters isimli bir veri setini kullanarak uçtan uca makine öğrenmesi projesi geliştirmeyi anlatmış.(İng)
Rust Gele
Sektörün yılmaz öğrenicisi ve öğreticisi Burak Selim Şenyurt, bu kez Rust'a el atmış. Rust Web Programming kitabının bir bölümünden -genişçe- çıkardığı notları paylaşmış.
Dovlet Ataballyyev, Rust dilinin Linux Kernel'ında kullanımına dair gelişmelerden ve tartışmalardan bahsetmiş.
Test Yazmak ya da Yazmamak
Sedat Kapanoğlu, yazdığı Street Coder kitabından daha az test yazmayı sağlayan(teste ihtiyaç bırakmayan) stratejilerden bahsettiği bir bölümü paylaşmış.(İng)
Ömer Korkmaz, test yazmayı istemememizin sebeplerinden ve bunları nasıl aşabileceğimizden bahsetmiş.
Kısa Kısa
Engincan Veske, System Design Interview kitabından çıkardığı notları bir seri halinde paylaşmaya başlamış. Bir diğer yazısında ise C#'ta method chaining(zincirleme metodlar?) oluşturma yöntemlerinden bahsetmiş.
Yakup Çilesiz, tarayıcıda birden fazla kaynaktan gelen medyaları(online toplantı gibi) birleştirmek için WebRTC Insertable Streams API kullanımından bahsetmiş.(İng)
Çağlayan Dökme, C++'ta geliştirme yaparken binary çıktının bellek boyutunu aşmasını ve bu problemi nasıl çözdüğünü anlatmış.(İng)
Burak Kirazlı, modern C++'ta makrolarla koşullu programlamada mevcut işleyişe alternatif bir yaklaşım önermiş.(İng)
Oguzhan Ergun , Go ile BFF(Backend For Frontend) desenini, REST servisleri ve gRPC protokolünü kullanarak mikroservis mimaride bir uygulama geliştirmeyi anlatmış.(İng)
Tarık Güney, iyi bir teknik liderin sahip olduğu özellikleri ve sorumlulukları yazmış.(İng)
Doğan Aydın, küçük çapta bir startup'tan kurumsal firmaya CTO'nun değişen rollerini ve sorumluluklarını anlatmış.
Cem Doğan, SQL Server'da index mimarisinden detaylıca bahsetmiş.(İng)
Hüseyin Demir, PostgreSQL motoru üzerinde geliştirilen, yatayda ölçeklenebilen veritabanı çözümü Yugabyte'ı anlatmış.(İng)
Cemal Can Akgül, çoklu dil desteği için kullanılan veri tabanı tasarım senaryolarını kıyaslamış.(İng)
Ezgi Küşüm, Black Friday döneminin Trendyol Altyapı ekibi için anlamını ve getirdiği mücadeleleri(challenge) yazmış.(İng)
Batuhan Kadıoğlu, Java dünyasının efsanevi kitabı Effective Java'dan kısa notlarını paylaşmış.
Cem Dırman, "Javacılar için Scala" serisininin 4. yazısında Aktör Model Programlama'dan bahsetmiş.
Metin Özyıldırım, Java'da bir "Hello World" uygulamasının anatomisini ve perde arkasında gerçekleşenleri anlatmış.(İng)
Ercan Garip, Flutter’da Dio + Freezed + Json_Annotation kullanarak "temiz network katmanı" yazmayı anlatmış.
Muhammed Bilal Bark, Unity ile Shader programlama hakkında bir seriye başlamış(1, 2).
Fatih Hayrioğlu, Visual Studio Code için bazı ipuçları paylaşmış.
Yunus Emre Baştabak, Apple'ın son 5-6 yılda çıkardığı ürünleri ve bu konuda izlediği politikayı kullanıcı deneyimi açısından irdelemiş
Ayşe Nur Bakırcı, Swift'teki reaktif programlama kütüphanesi RxSwift'i anlatmış.
Gökhan Ayrancıoğlu, Reaktif Programlama hakkında bir seriye başlamış.
Utku Şen, "etik hacker"lık kapsamında büyük bir hastanenin sitesinde yakaladığı kritik bir zafiyeti bildirmesi ve akabinde karşılaştığı etik dışı süreci anlatmış.
Ahmet Murat Gençay, Builder tasarım deseni ile .Net 5'le gelen Source Generator yapısını kullanmayı anlatmış.(İng)
Bora Kaşmer, .Net 6 ile duyurulan Minimal API yapısıyla uçtan uca bir proje geliştirmeyi anlatmış.(İng)
Veli Bacık, Flutter'da Multi Thread programlama da kullanarak bir arama fonksiyonu geliştirmeyi anlatmış. (İng)
Ömer Savaş, açık kaynak olarak paylaştıkları kamu projesinden ve Flutter kullanımı için planlamalarından bahsetmiş.
Göker Güner, staj arayan öğrenciler için kendi tecrübeleri üzerinden bir rehber hazırlamış.
Güner Kaam Alkın, tecrübeleri üzerinden yazılımcıların günlük hayatta karşılaştığı bazı problemlere karşın tavsiyelerini yazmış.
Candost Dağdeviren, 3 ayda bir dil öğrenme yerine yeni dil öğrenmeyi kolaylaştıracak yöntemlerden ve öğrenilmesini tavsiye ettiği konulardan bahsetmiş.(İng)
Mertcan Arguç, Redis, Kafka ve RabbitMQ'yu -message broker olarak- kıyaslamış. Bir diğer yazısında ise JavaScript'te async, await ve promise kullanımından bahsetmiş.(İng)
Semih Şenvardar, Fluent Bit, Fluentd, Elasticsearch ve Kibana kullanarak loglama ve görselleştirme yapısı kurmayı anlatmış.(İng)
Jaana Burcu Doğan, uçtan uca izleme(tracing) yöntemlerinden bahsetmiş.
Yağmur Gökçe, akış şemaları(flowcharts) kullanımının iş birimi ile geliştiriciler arası iletişime katkılarından bahsetmiş.(İng)
Aykut Aktaş, (GoF) tasarım desenlerinin çözdüğü problemlerden bahsetmiş.(İng)
Mesut Pişkin, Rest Api'ların ve onları besleyen servislerin performanslarını iyileştirmek için bazı ipuçlarından bahsetmiş.
Mustafa İleri, yazılım dillerinin mazlumu PHP'den bahsetmiş ve PHP hakkındaki olumsuz muhabbetlerin sonucunda oluşan yanlış kanılar hakkında bir hatırasını anlatmış.
Haydar Şahin, PHP ile nesne tabanlı programlamayı anlatmış.
Mustafa Akıllı, Trendyol Yemek uygulamasında zincir restoranları şube bazında listeleme işlemi için Elasticsearch'ü nasıl kullandıklarını anlatmış.(İng)
Alperen Yılmaz, yazılımcı ve test kalite mühendisi pozisyonları için katıldığı mülakatlardan edindiği tecrübeleri ve bu tip mülakatlara girecekler için tavsiyelerini yazmış.(İng)
Tugçe Konuklar, Amazon API Gateway kullanarak Dynamo DB'den mesajları alıp sunan bir REST API geliştirmeyi anlatmış.(İng)
Merve Noyan, Python ile geliştirme yaparken kullandığı araçlardan bahsetmiş. Diğer bir yazısında ise bir veri bilimcinin ihtiyaç duyabileceği araçlardan bahsetmiş.
Ertuğrul Gamgam, Trendyol promosyon arama algoritmesının gelişiminden ve kullanılan teknolojilerden bahsetmiş.(İng)
Elif Hilal Umucu, Blockchain öğrenim serüveninde izlediği yolu ve yararlandığı kaynakları paylaşmış.
Arda Aksoy, SaaS ürün sunan şirketlerin takip etmesini tavsiye ettiği 7 KPI'dan bahsetmiş.(İng)
Umut Sobe, makine dilinden, 0 ve 1'lerden başlayarak fotoğraf ve videolarını çalışma mantığını anlatmış.
Bitirirken
Bu sayının da sonuna geldik. Beğendiyseniz paylaşmayı; eleştirileriniz, önerileriniz varsa iletmeyi unutmayın.
Faydalı olması ümidiyle. Sağlıklı günler ve seneler dilerim.
Zâtınıza çook iyi davranın.
Bana ulaşmak için: Linkedin, Twitter, superpeer
Daha fazla motive etmek için: Patreon