Yazılımcılar İçin Hafta Sonu Okumaları - Sezon #2 / Sayı #45(Yazılımcılıkta Zorluklar, CAP Teoremi, Yazılım Tasarımı ve daha fazlası)
Merhabalar. 45. sayı ile huzurlarınızdayım. Yine güzel ve keyifli okumalar getirdim sizlere.
Buyursunlar.
Yazılımcılıkta Zorluklar
Her meslekte olduğu gibi biz yazılımcılar için de bir takım mesleki zorluklar var. Geçtiğimiz hafta bu türden bir kısım zorluklara dair birkaç yazı yayımlandı.
Deniz Kılınç, olayın bilimsel yönlerine de uğrayarak yazılımcı için konsantrasyonun önemini, beynimizin akış(flow) modunu, bölünmelerin nedenlerini ve maliyetlerini yazmış.
Hüseyin Polat Yürük "yazılımcının öğrenebileceği en önemli yetenek" diye söz ettiği hayır diyebilmekten bahsetmiş. Nelere hayır demesi gerektiğini, hayır diyebilmesinin önemini ve diyememesinin maliyetlerini yazmış.
Emre Mert ise yazılımcıların tükenmişlik sendromuna(burnout) yakalanmasını, bundan kaçış ve kurtulma yöntemlerini yazmış.
Son olarak Ahmet Yalçınkaya, iOS geliştiriciler özelinde yazılıma yeni başlayanlara önemli tavsiyelerde bulunmuş.
CAP Teoremi
CAP teoremi bilgi teknolojilerinde önemli bir teori. Kısaca veritabanı sistemlerinde tutarlılık, ulaşılabilirlik ve bölünme toleransının(consistency, availability, partition tolerance) aynı anda mümkün olmadığını öne sürüyor. Kamer Elciyar, bu teoremin dağıtık sistemler için ne ifade ettiğini, blockzincir ağlarında bu maddelerin hangilerinden feragat edildiğini ve bu problemi nasıl çözmeye çalıştıklarını irdelemiş.
Devlet ve Bilişim Teknolojileri
Geçtiğimiz günlerde 2019-2023 yıllarını kapsayacak On Birinci Kalkınma Planı'nın taslağı meclise sunuldu. Bilişim teknolojileri hakkında oldukça ilgi çekici bölümler var.
Yaşar K. Canpolat, bu taslaktaki Fintek, Fikri ve Sınai Mülkiyet, Bilgi Teknolojileri ve Kişisel Verilerin Korunması gibi konular hakkındaki bölümleri yazmış.
Aynı zamanda Siber Bülten de konu hakkında geniş bir derleme yapmış. Umarım bu konularda devletin farkındalığı daha da artar, gelişime yönelik planlar plan olarak kalmaz ve özellikle veri saklama konusundaki adımlar istismara uğramaz.
Yazılım Tasarımı Nedir?
Lemi Orhan Ergin'in birkaç sunumunda atıf yaptığı ve şiddetle okunmasını önerdiği bir yazı vardı: Jack W. Reeves’ın 1992 tarihli “What is Software Design” makalesi. Nesne yönelimli programlamanın yeni yeni yaygınlaştığı dönemlerde yazılım tasarımının nasıl olması gerektiğinden, Refactoring'den, test yazmaktan bahseden uzun ve önemli bir makale bu.
Bu önemli makale için yaklaşık 2 yıl kadar önce bir çeviri denemesi yapmıştım. Sosyal medyada hala zaman zaman paylaşmama rağmen burada -hatırladığım kadarıyla- hiç paylaşmadığımı fark ettim. Okumak için buradan buyurun.
Refactoring demişken Bora Kaşmer, detaylı bir örnek üzerinden Refactoring'i anlattığı serinin ikinci yazısını yayımlamış.
Yapay Zeka Alemi
Şefik İlkin Serengil, geçtiğimiz hafta yapay zeka ile alakalı 3 önemli yazının çevirisini yayımlamış. Bunların ilkinde bir ütopya olarak makine öğrenmesi ve blockchain teknolojisinin buluşturulmasından bahsedilmiş. Hem felsefe hem de matematiksel olarak birbirinin zıddı sayılabilecek bu iki teknolojinin ortak kullanımıyla neler elde edilebileceğine kafa yorulmuş.
Diğer bir çeviride ise 2011'e kadar yaşanan 2 "yapay zeka kışı"nda anlaşılamayan "kaybolan gradyan problemi" incelenmiş. Bahsedeceğim son çevirisinde ise TensorFlow, GPU ve çoklu işleme konularında ipuçları verilmiş.
Kısa Kısa
Özgün Bal, katıldığı React Europe 2019 etkinliğinden notlarını paylaşmış. Yazının içinde sunum videolarına ait linkler de mevcut.
Tuğrul Bayrak, önemli tasarım kalıplarından "builder pattern"i anlatmış.
Serkan Ünsal, "Türkiye Girişim Ekosistemi 2019/2" etkinliğinden notlarını paylaşmış.
Berkin Can, web sayfalarının temel yapıtaşlarından "footer" tasarımında dikkat edilecekleri enine boyuna anlatmış.
Özge Çelik, finans teknolojilerinde nesnelerin internetinin potansiyel kullanımını irdelemiş.
Ferhat Yalçın, Steve Jobs'ın en önemli ve meşhur sözlerinden "aç kal, budala kal" sözü üzerine yazmış.
Ali Barış Ayten, örnek bir film veritabanı analizi projesiyle veri bilimine giriş yapmış.
Mehmet Ortaç, özellikle blog sitelerinde genel geçer SEO kurallarının önemini sorgulamış.
Projeler & Araçlar
Serkan Bingöl, geliştirme ortamları için Docker Compose kullanımını anlatmış. Diğer yandan 2 yazı halinde yazılımcılar için çevik uygulama geliştirme süreçlerinden ve araçlarından bahsetmiş.(1, 2).
İlhan Pamuk, yük dengeleyici(load balancer) olarak NGINX+'a geçişlerini, bu aracın kurulumunu ve kazançlarını yazmış.
Furkan Zümrüt, Varnish Cache'e genel bir bakış atmış.
Sıddık Açıl, nisbeten küçük projelerde Open CV yerine kullanılabilecek SOD kütüphanesini anlatmış. (C/C++)
Emre Balcı, RabbitMQ'yu ve Docker üzerinde koşan örnek bir proje üzerinden .Net Core ile kullanımını anlatmış.
Haber
Fatih Kadir Akın, KodPod isimli bir podcast hazırlamaya başlamış.
Yarın akşam İstanbul'da Ergi Şener'in sunumuyla "Big Data Analitiği, Big Data ve AI Trendleri" başlıklı bir meetup varmış.
Bitirirken
Bu sayının da nihayetine geldik. Umarım istifade etmişsinizdir.
Beğendiyseniz başkalarının da faydalanması, beğenmesi için paylaşmayı unutmayın.
Zâtınıza çook iyi davranın.
Bana ulaşmak için: Linkedin, Twitter, CuriousCat
Daha fazla motive etmek için: Patreon
Sosyal Medya
TED: Hindistan'ın akıllı telefon devrimi nasıl yeni bir okuyucu ve yazar kuşağı yaratıyor
Chiki Sarkar: How India's smartphone revolution is creating a new generation of readers and writers | TED Talk — www.ted.com India has the second largest population of any country in the world -- yet it has only 50 decent bookstores, says publisher Chiki Sarkar. So she asked herself: How do we get more people reading books? Find out how Sarkar is tapping into India's smartphone revolution to create a new generation of readers and writers in this fun talk about a fresh kind of storytelling.