Yazılımcılar İçin Hafta Sonu Okumaları - Sayı #79 / Sezon #4 (Saygı Duyulası CTO, Pair Programming, Bellek Yönetimi ve daha fazlası)
Merhaba aziz okuyucularım.
Buralarda dolaştığınıza göre tatile gitmemiş veya tatilden dönmüşsünüz. Her nasıl gelmişseniz, okumaya değer görüp vakit ayırdığınız için teşekkürler.
Son sayılara görece kısa bir sayı oldu. Yine de emaili açtığınızda yazının tamamını(yani sondaki karikatüre kadar) göremeyebilirsiniz. Tamamını görüntülemek için hemen başlığın altındaki “View Online” butonuna tıklayabilirsiniz.
Keyifli okumalar.
Saygı Duyulası CTO
Kıvılcım Hindistan, geçtiğimiz yıllarda kaleme aldığı bir yazıda "bir CTO gerekirse oturup kod yazacak" muhabbetinden başlayarak saygı duyulan veya saygı duyulmayan bir CTO'nun nasıl olabileceğini irdelemiş.
Pair Programming
Pair programming, doğru yapıldığında ekiplerin verimini artıran ve silolaşmayı azaltan bir sonuç veriyorken hatalı uygulanmasıyla zaman kayıplarına ve ekip içi çatışmalara neden olabilecek bir pratik.
Suat Köse, pair programing'den yüksek verim almak için neler yapabileceğimizden bahsetmiş.
Bellek Yönetimi
Gökhan Gökalp, Kubernetes'te üzerindeki Windows ve Linux konteynerlarında çalışırken çöken veya bellek problemleri yaşayan uygulamaların hata tespiti için nasıl dump alınacağını anlatmış.
Fethi Şen, Java'da uygulama performansını iyileştirmekten ve bellek yönetiminin detaylarından bahsetmiş.
Faruk BOZAN, Java'da finalize metodunun kaldırılmasından ve nedenlerinden bahsetmiş.(İng)
Serhat Zor, C#'ta Garbage Collector'a yardımcı olan IDisposable arayüzü implementasyonunu anlatmış.(İng)
Furkan Güngör, .NET'te Boxing-Unboxing kavramlarından ve gerçekleştiği durumlarda performansa etkisinden bahsetmiş.
Yazılımcılar İçin Şahıs Şirketi Kurma
Yazılımcıların belirlediği beklentileri göz önünde bulundurarak, 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şturabilir ve beklentilerinizi girebilirsiniz.) blogunda yayımlanan bir yazıda yazılımcılar için şahıs şirketi kurma hakkındaki detaylar anlatılmış.
Konteynerleştiremediklerimizden misiniz?
Akın Işık, Go ile yazdığı SimpleApp isimli projenin geliştirme sürecini uçtan uca anlattığı(MongoDB entegrasyonu, API Gateway entegrasyonu, Dockerize etme, Kubernetes ile deploy, service discovery eklenmesi...) bir seriye başlamış.
Barış Tutakli, Repository ve Unit of Work gibi tasarım desenleri kullanarak geliştirdiği .NET 6 API uygulamasını Dockerize etmeyi anlatmış.(İng)
Alican Uzun, Nginx'i Docker'da ayağa kaldırıp load balancer olarak kullanmayı anlatmış.(İng)
Kısa Kısa
Gökhan Ayrancıoğlu, PostgreSQL örneği üzerinden ilişkisel veritabanlarında index yapısının işleyişinin ve kullanımını anlatmış.
Hüseyin Demir, bir graph veritabanı olan Neo4j'nin kuruşumunu, konfigürasyonunu, monitoring ve yedeklenmesinin nasıl yapıldığını anlatmış.
Nil Seri, nesne tabanlı programlama hakkında ipucu notlarını (cheatsheet) paylaşmış.(İng)
Burak Tahtacıoğlu, Agile metodolojisi ile Software Craftsmanship yaklaşımlarından bahsetmiş ve bunları kıyaslamış.(İng)
Cihat Solak, Azure Storage'ı anlattığı seride Blob dosya barındırma özelliğinden ve kuyruk yapısından bahsetmiş.
Büşra Sarıkaya da Azure Storage kuyruk yapısı hakkında bir seri kaleme almış.
Yücel Faruk Şahan, hafta sonu projesi olarak başlayıp ürüne dönüşen Call to Action Examples projesinin geliştirme ve yayına alma sürecini anlatmış.
İbrahim Karahan, k6 aracıyla yük testi yapmayı anlatmış.(İng)
Gökhan Karadaş, geliştirici deneyiminin(developer experience) öneminden ve bunu iyileştirmek için yaptıklarından bahsetmiş.(İng)
Aykut Bal, ürün yöneticileri için fiyat belirleme yöntemlerinden ve -anladığım kadarıyla- yazılımcıların kendisini pazarlamada bu metodları deneyebileceğinden bahsetmiş.
Ömer Savaş, Linux'ta uygulamaların işletim sistemine yaptığı istekleri izlemeyi sağlayan strace uygulamasından bahsetmiş.
Mehmet Akif BAYSAL, Trendyol'daki Influencer takibini bir NoSQL veritabanı olan Cassandra ile nasıl yönettiklerini ve bu seçimin nedenlerini anlatmış.(İng)
Faruk Aydemir, Mediator ve CQRS tasarım desenlerini ile MediatR kütüphanesini örnek bir proje üzerinden anlatmış.
Hatice Edis, Vuex'e alternatif olarak nitelediği Vue için "store management" kütüphanesi Pinia'yı anlatmış.
Burak Çevik, UI/UX tasarımcılarıyla frontendciler arasında köprü görevi gören Design System yaklaşımını ve uygulanmasını anlatmış. (İng)
Gizem Saruhan, otomatik birim test senaryoları üreten Generative Testing yaklaşımından ve Java'da bunu sağlayan bir kütüphaneden bahsetmiş.
Zahid Çakıcı, Angular ve .NET 6 ile geliştirdiği mikroservis uygulamaya IdentityServer4 ve Ocelot API Gateway üzerinden kimlik kontrolü ve yetkilendirme(authentication-authorization) yapısı eklemeyi anlatmış.(İng)
Abdullah Öztürk, soğan mimarisiyle(onion architecture) ile oluşturduğu bir .NET Core projesine Dapper entegrasyonunu anlatmış.
Salih Cantekin, Microsoft'un tek codebase'de mobil, web ve masaüstü uygulama oluşturmayı sağlayan yeni cross platform framework'ü .NET MAUI'nin ortaya çıkış hikayesini anlatmış.
Onur Dayıbaşı, sürekli şişmeye meyyal node modules'ü nasıl optimize edebileceğimiz anlatmış.
Emre Odabas, Go 1.19 ile gelen yenilikleri anlatmış.(İng)
Kemal Can Kara, K-means kümeleme algoritması kullanarak CV'deki alanları okuyup sınıflandırma konusunda AIAI 2022 konferansı için hazırladıkları sunumu paylaşmış.(İng)
Faruk Toptaş, Postman'de üretkenliği artıran kullanışlı özelliklerden bahsetmiş.
Alperen Yavuz, Bankacılık uygulamalarına DevOps yaklaşımının uygulanmasından ve getireceği faydalardan bahsetmiş.(İng)
Bitirirken
Bir sayının daha daha sonuna geldik. Beğendiyseniz paylaşmayı; eleştirileriniz, önerileriniz varsa iletmeyi unutmayın.
Faydalı olması ümidiyle. Sağlıklı günler dilerim. Her nerede yaşıyor ve yaşatılıyorsanız.
Zâtınıza çook iyi davranın.
Bana ulaşmak için: Linkedin, Twitter, superpeer
Çay, kahve ısmarlamak için: Patreon