Yazılımcılar İçin Hafta Sonu Okumaları - Sayı #32(Refactoring, Black Friday Tecrübeleri, Terraform ve daha fazlası)
Merhabalar.
32. sayı ile karşınızdayım. Bereketli bir haftayı geride bıraktık. Faydalı olması ümidiyle.
Buyursunlar.
Refactoring
Yazılım geliştirme hayatımızın her evresinde mücadele ettiğimiz bir kişi var: önceki yazılımcı. Saçma sapan bir yazılım tasarımı yapar, gereksiz bir ton kod yazar, doğru düzgün null kontrolü yapmaz... Bu listenin sonu yok. Ama işin acı tarafı her birimiz birer önceki yazılımcıyız. Üstelik hiç kimsenin olmasa bile kendimizin. 3-5 ay önce yazdığınız kodları inceleyin mutlaka düzenleyeceğiniz bir şeyler çıkacaktır. Dolayısıyla kim yazarsa yazsın hemen hemen tüm yazılımlar zamanla düzenlenmeye muhtaçtır. Bu düzenleme işlemine "refactoring" diyoruz.
Ali Rıza Adıyahşi, refactoring için Github'da oldukça detaylı ve güzel bir Türkçe rehber hazırlamış. İlk etapta temiz kod, teknik borç gibi konularla giriş yaparak "kokan kod"dan bahsetmiş ve tek tek tüm kötü kokuları irdelemiş. Son olarak da bunları çözmek için kullanılan refactoring yöntemlerini anlatmış. Her yazılımcının okuması gereken bu rehbere siz de katkı ve star verebilirsiniz.
Black Friday Tecrübeleri
Geçtiğimiz ay Iyzico'nun Black Friday tecrübesini anlattığı yazıdan bahsetmiştim ve benzerlerinin artmasını temenni etmiştim. O dönem gözümden kaçan daha detaylı ve teknik bir yazı da yayımlanmış: cimri.com'un BF tecrübeleri. İlim Turan, yazının başında uygulamaların mimarisini anlatarak başlamış ve bir nevi antrenman sayılan 11.11 kampanya dönemini anlatmış. Akabinde Black Friday'e hazırlık için tekrar tekrar yapılan testleri, başarısızlıkları, problemleri, çözümleri ve uygulamayı ölçeklemelerini anlatmış. Finalde de asıl kampanya döneminde yaşananları anlatarak bitirmiş. Yine örneklerinin artmasını temenni ederek bu bahsi geçelim.
Terraform
Serkan Bingöl, uçtan uca bir DevOps süreci tasarlamayı anlattığı bir seriye başlamış. İlk yazıda detaylı bir şekilde farklı bulut sağlayıcılardaki uygulamalar için ortak bir yerde konfigürasyon yapmayı sağlayan Terraform'u anlatmış. Terraform kullanarak Digital Ocean, AWS ve Azure üzerinde birer tane örnek sunucu oluşturmuş.
Terraform ile alakalı bir diğer yazı ise Emre Özkan'dan gelmiş. Terraform kullanarak AWS üzerinde yüksek erişilebilir (high available) Openshift Container Platform kurulumunu anlatmış.
CORS Sezonu
Geçtiğimiz sayıda Gökhan Şengün'ün CORS(Cross-Origin Resource Sharing) hakkındaki 2 yazısından bahsetmiştim. Bu hafta da konuya ilişkin 2 yeni yazı yayımlanmış.
İlkinde Doğan Aydın, kısa bir web tarihinden başlayarak kapsamlı bir şekilde Same Origin Policy'yi anlatmış. Hangi sebeplerden/kısıtlardan dolayı değiştirildiğini/esnetildiğini detaylı bir şekilde anlatmış. Alt başlıklarda doğal olarak CORS'a da yer vermiş.
Diğer yazı ise Zafer Ayan'ın direkt CORS'u anlattığı Devnot'ta yayımlanan yazısı.
Herhangi bir http isteği kullanılan bir yazılımınız varsa her iki yazıyı da üşenmeden okumanızı tavsiye ederim.
Yılan Hikayesi
Fatih Erikli, Python'ı anlattığı "yılan hikayesi" isimli bir seriye başlamış ve geçtiğimiz hafta ilk bölümünü yayımlamış. Kendine has üslubuyla anlattığı, hikaye tadında, akıp giden, enfes bir yazı olmuş.
Yeni Bir Blockchain Protokolü
10 yıl önce Bitcoin’in açtığı yolda insanlar farklı rotalar üzerinden yürümeye devam ediyor. En son 15 Ocak'ta Bitcoin’in eksik kaldığı noktalara odaklanan yeni bir teknoloji açıklanmış: MimbleWimble(şu an kopyala yapıştır yapmadan, tek seferde doğru yazmanın gururunu yaşıyorum). Özellikle mahremiyeti koruma ve hafiflik üzerine yoğunlaşılarak tasarlanmış. Bu teknoloji üzerine şimdiden bazı uygulamalar geliştirilmiş. Hatta bunlardan Grin, geleceğin ödeme aracı olacağı iddiasında imiş. Bitcoin’in rakibi ve onun aksine her sene aynı oranda üretilebilecek bir kripto para. Turan Sert, ilkinde MimbleWimble'ı diğerlerinde Grin'i detaylarıyla anlattığı 3 yazı kaleme almış(1, 2, 3).
ICOlar
ICO(Initial Coin Offering)lar kripto paraların yayılması için itici güç sayılabilecek bir yapıya sahipti ve bir süre bu vazifeyi güzelce ifa etti. Ama bu piyasada da doğanın bir kanunu olarak ortaya çıkan Jet Fadıllar sayesinde kripto paralara güveni sarsan bir konuma düştü.
Ahmet Usta, geçtiğimiz sene nisan ayında Digital Age Dergisi'nde yayımlanan bir makalesini Medium'da paylaşmış. Sevapları ve günahlarıyla ICOları irdelemiş.
Sesli Asistan Yazmak
Veri bilimi alanında nitelikli içerikler üreten genç bloggerlardan Yunus Emre Gündoğmuş, bu kez Python ile bir sesli asistanın nasıl yazılabileceğini anlatmış. Yazının sonunda ise kendi yazdığı açık kaynak bir asistan olan Kavi'den bahsedip kod deposunu paylaşmış.
GPU Mimarisi ve CUDA
Python son zamanların en popüler dili. Özellikle yapay zeka ve veri biliminin gelişmesiyle altın çağlarını yaşıyor. Ama muadilleri ile yapılan kıyaslamalarda 2 ila 10 kat daha yavaş olduğu ortaya çıkmış. Tahir Özdemir, İngilizce bir makaleden yararlanarak bu yavaşlığın sebeplerini anlatmış.
Bu arada Medium profilini incelerken CUDA hakkında bir yazısını gördüm. Neymiş diye araştırınca şöyle bir tanıma denk geldim: "GPU'nun donanımsal hesaplama gücünden faydalanmak amacıyla sunduğu paralel hesaplama mimarisidir."
Bahsettiğim yazıda, CPU ve GPU'nun karşılaştırmasından başlayarak GPU'nun mimarisini ve çalışma prensibini anlatmış. Akabinde GPU'da çalışacak bir yazılım geliştirirken dikkat edilmesi gerekenlerden bahsetmiş. Henüz okuyamadığım bir devam yazısı da yazmış. CUDA'yı araştırırken denk geldiğim, Nezihe Sözen'e ait nispeten daha detaylı yazıyı da şuraya bırakayım.
Kamu ve Özgür Yazılım
Geçtiğimiz hafta Ankara'da düzenlenen büyük PostgreSQL Konferansı'nın ardından açık kaynak, özgür yazılım ve kamu ilişkisine dair bazı tartışmalar yaşandı. Bu bağlamda Necdet Yücel de kamunun özgür yazılım felsefesine ve kamunun özgür yazılımdan ne anladığına dair güzel bir yazı kaleme almış.
Konferansın ardından gelen diğer bir yazı ise M. Atıf Ceylan'ın PostgreSQL'in ne olduğuna ve neden tercih edilmesi gerektiğine dair yayımladığı makale.
Kısa Kısa
Enes Ergün, Python'da *(asterisk) karakterinin kullanım şekillerini anlatmış.
Emir Akaydın, 8 bit cihazlarda nasıl hızlı çizgi çizdirilebileceğini anlatan ve beyin yakan bir yazı kalem almış.
Özgür Adem Işıklı, GitLab araçlarıyla CI/CD(Continuous Integration/Continuous Delivery) süreçlerini oluşturmayı anlatmış.
Enver Özmen, genç girişimcilerin en çok merak ettiği soruları ve cevaplarını derlemiş.
Ziyahan Albeniz, Karar'daki yazısında içinde .tr uzantılı domainlere ait 446 bin adet e-posta adresinin de bulunduğu Collection 1 sızıntısından ve bu noktada alınabilecek önlemlerden bahsetmiş.
Ufuk Köşker, UIKit elemanlarından UITextField'ı anlatmış.
Aysuda Ceylan, radyolojide Derin Öğrenme teknolojisinin öneminden bahsetmiş.
Yusuf Demirci, iOS uygulamalarında kullanılan VIPER mimarisini anlattığı serinin 2. yazısını yayımlamış.
Emre Yasin Çolakoğlu, Google Optimize ve React ile dinamik A/B testleri oluşturmayı anlatmış.
Berat Bozkurt, henüz 11. sınıfta iken aklına gelen ve yakın zamanda(üniversite 2. sınıf - 20 yaşında) yayına aldığı davetiyem.co sitesinin hikayesini anlatmış.
Soner Canko, muhtemelen yakın zamanda çokça konuşacağımız dijital ikiz konusunu yazmış.
Çağrı Aksu, veri bilimi ve veri analiz alanlarında yüksek lisans hakkında akla gelen soruları cevaplamış.
Celil Bozkurt, uygulama marketlerinde öne çıkmak için önemli bir kavram olan Search Term'den bahsetmiş.
Bora Kaşmer, .Net Core 3.0 ve C# 8 ile gelen yeniliklerden bahsetmiş.
Haber
Ülke çapında her geçen gün artan hackathonları takip etmek için bir site açılmış: https://hackathonturkiye.com/
Bitirirken
Bu sayı da nihayete erdi. Her türlü görüş, öneri ve eleştirinizi bekliyorum.
Zâtınıza çook iyi davranın.
Bana ulaşmak için: Linkedin, Twitter, CuriousCat
Daha fazla motive etmek için: Patreon