Yazılımcılar İçin Haftasonu Okumaları - Sayı #15(Algoritmalar, Tasarım Prensipleri, Kod Basitliği ve daha fazlası)
Merhaba.
Geçen hafta gibi bu hafta da Türkçe teknik makale açısından çok bereketli bir haftaydı. Bunun yansıması olarak da tıka basa dolu bir sayı ortaya çıktı. Evet 15. sayı ile beraberiz aziz kârîlerim.
Bu hafta yeni bir başlık açmayı düşündüm: Sosyal Medya. Zaman zaman Twitter veya Linkedin gibi platformlarda paylaşılası floodlara veya tartışmalara denk geliyorum. Blog halinde olmayınca da buradan paylaşmıyordum. Bu yüzden bu başlığı eklemeyi düşündüm. Hayırlısı bakalım..
Tasarım Prensipleri
Nesne yönelimli programlamanın etiketten ibaret olmaması için dikkat edilmesi gereken bazı prensipler var. Örneğin C# nesne yönelimli bir dil ama C# ile geliştirilen her uygulama -gerçek- nesne yönelimli uygulama olmuyor. Böyle olmasını sağlayan belli tasarım prensiplerimiz var. Bunların da en meşhurları, SOLID( Single responsibility, Open/closed, Liskov substitution, Interface segregation, Dependency inversion) prensipleri.
Şaban Durna, bu prensipleri anlatan bir yazı dizisine başlamış. İlk yazı, doğal olarak Single Responsibility. Ama sıradışı bir giriş ve örnekle bu prensibi anlatıyor.
Port Ney?
Gökhan Şengün, bu haftaki yazısında ilginç bir problemi anlatıyor: Port Exhaustion. Yani bir istemcideki(client) bağlantı yapabilecek boş portların tükenmesi. Bunun nasıl olabileceğini düşünürken proxy sunucularında yaşanabileceğini öğrendim. Aynı zamanda bir TCP/UDP bağlantısı için kaç port kullanılabileceği ve portların tahsisinde nasıl bir mantık kullanıldığını da bu makaleden öğrenmiş oldum.
Sizin Markanız Ne?
Adem İlter, geçtiğimiz günlerde haziran ayında yazdığı bir yazısını tekrar paylaştı. Belli anahtar kelimeler vererek (ör. Frontend, security vb.) Bu kelimeleri duyduğunda aklına kimlerin geldiğini söylüyor. Akabinde de bu insanların nasıl bu anahtar kelimelerle eşleştiğini, daha doğrusu belli anahtar kelimelerle insanların aklında kalabilmemiz için neler yapmamız gerektiğinden bahsediyor.
Dokümantasyon Okuma
Yeni bir teknoloji, dil, framework, kütüphane vb. öğrenirken en temel başucu kaynaklarından biri ilgili konunun resmi dokümanları. Peki bu dokümanları en verimli şekilde nasıl okuyabiliriz? Tarık Güney, “Dokümantasyon okurken kaybolmak” yazısında bu meseleyi irdeliyor.
Yurtdışında Çalışma
Son dönemin cazip meselelerinden biri yurtdışında çalışma. Tercih edilen ülkeler arasında da muhtemelen Ankara Anlaşması’ndan dolayı İngiltere, başı çekiyordur. Mert Susur da İngiltere’de çalışan Türk yazılımcılardan biri. Ama kendisi Ankara Anlaşması ile gitmemiş. Kendi tecrübeleri üzerinden İngiltere’de iş bulma yollarını anlatan bir yazı yazmış. Benim dikkatimi çeken en önemli şey, yazılımcılardan default olarak Unit Test, Docker, Continuous Integration vb. kavram ve teknolojilere hakim olmasının beklenmesi oldu. Almamız gereken çok yol var.
Benzer şekilde Candost Dağdeviren de geçtiğimiz aylarda Almanya’da iş bulma ve işe başlama süreçlerini anlatmıştı.
Yazılımcı Lazım
B. N. 32 yaşında. Girişimci olacak. Mükemmel bir fikri var. Parası yok. Beleşe veya girişimden 3–5 hisseye yazılımcı arıyor. Fikri harika olduğu için de çalınma ihtimaline karşı henüz kimseye söylemiyor.
Sanırım bu profili yakından tanımayan bir yazılımcı yoktur. Giray Girişken de bu profilin hikayesini oldukça eğlenceli bir şekilde anlatıp, masanın diğer tarafındaki kişi olan bir yazılımcıların nasıl hareket etmesi gerektiğinden bahsediyor.
Girişim, Yatırım
Geçen sayıda Countly CEO’su Onur Alp Soner’in Countly’nin hikayesini ve şirketteki uzaktan çalışma kültürünü anlattığı yazılarından bahsetmiştim. Taze çıkan bir yazısında da yatırım arama serüvenlerini ve tecrübeleri üzerinden girişimlerin yatırım aramaları/bulmaları konusundaki görüşlerini yazmış.
Kod Basitliği
Birkaç yıldır Türk bloggerlar arasında çok güzel bir trend var: İngilizce teknik kitaplardan Türkçe notlar çıkarıp yayımlamak.(Vaay mis gibi Boca konusu). Bu kapsamda Malik Masis, yazılım dünyasının önemli kitaplarından Code Simplicity'den çıkardığı notları paylaşıyor. Geçen hafta itibariyle serinin 7. yazısını yayımladı.
Java Okumaları
Yukarıda bahsettiğim kitaplardan notlar çıkarmanın farklı bir versiyonunu da Suat Karakuşoğlu gerçekleştiriyor: video çekip, kitaptan dikkatini çeken kısımları kod üzerinde anlatıyor. Şu an başladığı kitap ise Effective Java. Ben henüz ilk bölümü izledim ve baya faydalı buldum. Ayrıca bu videoda bir yazılım dilinin açık kaynak olmasının güzelliğini de görebiliyorsunuz.
Algoritmalar Algoritmalar Algoritmalar Algoritmalar Alg...
Algoritmalar -bana göre- yazılımın mühendislik tarafını teşkil ediyor. Ve bence temelden öğrenmek, unuttukça hatırlamak gerekiyor. Bu aralar ben de Yaşar Safkan Hoca'nın Youtube'daki Algoritmalar ve Veri Yapıları derslerini izlemeye başladım. Akın Kaldıroğlu Hoca da moderatör tadında iştirak ediyor. Her yazılımcının izlemesi şart. Kesin bilgi. Yayalım.
O esnada bazı temel algoritmalarla alakalı birkaç yazıya da denk geldim: Dijital imzaları, RSA ve DSA algoritmalarını anlatan şu yazı ile Diffie-Hellman anahtar değişimini anlatan şu yazı. Anlatıcı, adaşım Muhammed Karalar.
Diğer yandan bu hafta Barış Ceviz de yine bir algoritmayı anlatan ve tam sevdiğim tarzda bir yazı yayımladı: Shazam'ın müzik arama algoritması nasıl çalışır? Okuyalım, okutalım efendim.
İpuçları
Geçtiğimiz haftalarda biri Ionic ile uygulama geliştirme ve diğeri Go ile uygulama geliştirme üzerine 2 tane "ipuçları" içerikli yazı yayımlandı. Bu tip yazıların en önemli yönü, direkt tecrübe aktarımı olması. Yani tutoriallarda ifade edilmeyen veya üzerinde durulmayan püf noktaların, o teknoloji üzerinde uzun süre çalışan insanlar tarafından yılların tecrübesi olarak aktarılması. Ionic yazısı Bora Kaşmer'e, Go yazısı ise Oğuzhan Yılmaz'a ait.
Kısa Kısa
Zeki Seskir, yeni bir teknoloji ortaya çıkarmak için takip edilmesi gereken adımları içeren Teknoloji hazırlık seviyelerini anlatmış.
Celil Bozkurt, özellikle yeni mezunları ilgilendiren bir iş bulma kılavuzu oluşturmuş.
Ziyahan Albeniz, Haftanın Hackleri'nde Tor Browser üzerinde script çalıştırmayla ilgili bir zafiyeti ve normal tarayıcılarda adres satırı üzerinden saldırıya olanak sağlayan ilginç bir zafiyeti anlatmış.
Ahmet Usta, ABD'de hayata geçirilen dijital dolar denilebilecek bir girişimden ve kripto paraların geleceğini nasıl etkileyebileceğinden bahsetmiş.
Haberler
Benim de içinde nulunduğum Teknopark İstanbul'da bu çarşamba öğle arası Devnot organizasyonuyla Muhammed Cuma Tahiroğlu'nun "Tüm Yönleriyle Windows Subsystem for Linux" sunumu var.
Yine çarşamba akşamı Software Crafstmanship Turkey organizasyonuyla Testinium ofisinde Halil Bahadır'ın sunumu var.
3 Kasım'da Devnot'un büyük bir .Net etkinliği var: dotnetKonf. İlk başvuran 75 öğrenci ücretsiz katılabilecek.
Yeni bir Türkçe e-bülten yayında: Pazarlama & Girişimcilik & Ürün Geliştirme. Hazırlayan Batuhan Apaydın.
Sosyal Medya
Özellikle öğrenci arkadaşların şu Linkedin gönderisini ve altındaki onlarca yorumu tek tek okumasını tavsiye ediyorum:
Murat Lostar on LinkedIn: "Sayın #StajyerAdayı, Özgeçmişinizle birlikte ilettiğiniz giriş yazınızda şu yazıyor: "Eğitim hayatımda edindiğim… — www.linkedin.com September 16, 2018: Murat Lostar posted on LinkedIn
Girişimcilik hakkında bir flood.
Bitiriken
Nihayet bitti. Faydalı olmasını umuyorum.
Beğendiyseniz paylaşmayı unutmayın.
Zâtınıza çook iyi davranın
Bana ulaşmak için: Linkedin, Twitter
Daha fazla motive etmek için: Patreon
TED: Parmak iziniz sandığınızdan çok daha fazlasını açığa çıkarıyor
TED
Simona Francese: Parmak iziniz sandığınızdan çok daha fazlasını açığa çıkarıyor | TED Talk — www.ted.com Parmak izimiz bizi eşsiz kılan şey ancak aynı zamanda hareketlerimizi, yaşam biçimimizi ve rutinlerimizi ortaya çıkaran gizli bir bilgi deposuna ev sahipliği yapıyorlar. Bu heyecan verici konuşmada, kimyager Simona Francese kütlesel spektrometri kullanarak bu mikroskopik izleri nasıl araştırdığını anlatıyor; daha önce mümkün olmayan bir ayrıntıyla parmak izlerimizi analiz eden ve suçluları yakalamada polise yardımcı olacak son model bir adli tıp bilimi.
Murat Lostar on LinkedIn: "Sayın #StajyerAdayı, Özgeçmişinizle birlikte ilettiğiniz giriş yazınızda şu yazıyor: "Eğitim hayatımda edindiğim… — www.linkedin.com September 16, 2018: Murat Lostar posted on LinkedIn