Yazılımcılar İçin Hafta Sonu Okumaları - Sayı #70 / Sezon Finali(Tecrübeler, Go Derleyicisinin Temelleri ve Derleyiciye Katkı Yapmak, Dağıtık Sistemlerle Çalışmak ve daha fazlası)
Merhaba aziz okuyucularım.
70. sayı ve aynı zamanda 3. sezonun finaliyle karşınızdayım. "Kaç sayı çıkardın ki, final yapıyorsun?" diyebilirsiniz, hakkınız da var. Ama iş, yan proje, kişisel hayattaki yoğunluklar vs derken ancak bu kadar oldu. Yine de periyodik veya sık olmasa da bir şekilde direnip seriyi devam ettirmeye azimliyim.
Neyse kafanızı yeterince şişirdiysem derlemelere geçelim. Yeterince şişiremediğimi düşünüyorsanız "Bitirirken" kısmındaki kanallardan ulaştığınız takdirde yazılı/sesli/görüntülü herhangi bir şekilde bunu başarabileceğimi düşünüyorum.
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ş.
Etkinliklerden Haberler
Caner Gures, Google I/O 2021 Keynote etkinliğinde duyurulan yenilikleri 2 yazı halinde paylaşmış(1, 2).(İng)
Halil Özel, Apple WWDC 2021 etkinliğinde yer alan yenilikleri yazmış.
Popüler Python Mülakat Soruları(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.) Python geliştirici mülakatlarında sık sorulan soruları derlemiş.
Kısa Kısa
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ış.
Oktay Dağdelen, daha önce de bültende bahsi geçen Project Tye(Microsoft'un geliştirdiği hızlıca mikroservis mimarisinde bir uygulama oluşturup Kubernetes ile orkestre etmeyi sağlayan araç) ile örnek bir uygulama oluşturup deploy etmeyi anlatmış.(İng)
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)
Serkan Ünsal, Türkiye'deki girişim ekosisteminin 2021'in ilk çeyreğindeki durumunu paylaşmış.(İng)
Emre Serbest, JavaScript'in temellerinden Variable Environment, Lexical Environment ve Scope Chain gibi kavramları anlatmış.
Erhan Türkmen, Oracle veritabanı performansını artırmak için 20 ipucu paylaşmış.(İng)
Çağıl İlhan Sözer, "öğrenci gözünden" fonksiyonel programlamayı anlatmış.(İng)
Feyyaz Yılmaz, State Pattern'i PHP ile bir gerçek hayat örneği üzerinden anlatmış.(İng)
Emre Teoman, EntityFramework Core kullanarak Repository Pattern ve Unit of Work'ü beraber uyguladığı bir yöntemi anlatmış.(İng)
Hüseyin Serkan Özaydın, HTML Crawling yaparken başvurulabilecek iyi pratiklerden bahsetmiş.(İng)
Ege Sucu, kişisel sitesini yalın JS/CSS/HTML ile kodlama ve yayımlama sürecini ve bu süreçte öğrendiklerini yazmış.
Candost Dağdeviren, yazılımcılar için önceliklendirme becerisinin öneminden ve bu beceriyi geliştirmek için bazı ipuçlarından bahsetmiş.(İng)
Oğuzcan Genç, çözemediğimiz problemi başkasına anlatırken henüz karşı taraf öneri sunmadan "aa bunu düşünememişim" deyip çözdüğümüz durumlar için başkasının zamanını almak yerine kullanılan lastik ördekle debug(rubber duck debugging) yöntemini anlatmış.
Berk Berber, Kotlin örnekleriyle oluşturucu(creational) tasarım desenlerini anlatmış.(İng)
Özge Acarer, mobil uygulama testiyle web uygulaması testi arasındaki farklardan bahsetmiş.(İng)
Yusuf Tayman, fintech uygulamaları/API'ları için kaos mühendisliği pratiklerini uygulamayı sağlayan k6 aracından bahsetmiş.(İng)
Tolga Sofuoglu, yazılım mimarilerinin diyagramlarını oluşturma konusunda bazı ipuçları paylaşmış.(İng)
Furkan KAMACI, Sudoku çözen bir algoritma paylaşmış.(İng)
Mehmet Ali Baykara, Kubernetes Cluster'larını öldürmek için bir yöntem paylaşmış.(İng)
Ali Göktaş, Kotlin yazarken faydalı olabilecek bazı ipuçlarını yazmış.(İng)
Rafet Cambaz, Mikroservis mimaride kullanılan tasarım desenlerinden Sidecar Pattern'dan bahsetmiş.(İng)
Mert Akkaya, Go'da test yazmak için bazı önemli ipuçlarından bahsetmiş.(İng)
Bitirirken
Bir sayının de 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.
Daha fazla motive etmek için: Patreon