Teknik içerik: Neler Okuyorum ?

    Son güncellenme: 13.10.2022

    Selamlar, arada bir yazarım -yazmalıyım- gibi düşünceler ile başladığım bu blog bir çok başarısız alışkanlık edinme çabaları ile aynı kaderi paylaşıyordu, bir süredir yoğun bir ilk iş deneyiminin altında ezilirken yeni yıl için oluşan geniş tatilde umarım bu durumdan kurtarabilirim, bu yeni yıl teknik içerikli yazıların başlangıcı olur diyerek söze giriyorum.

    Bir süredir java fonksiyonel programlama ve streamlere bakıyor ve arada kullanmaya çalışıyordum, aslında bazı yerlerde kullandım bile ama tam olarak ne olduğunu ve nasıl çalıştığını anlamamıştım, görece boş bir zamanımda "okunacak" listeme bakarken  daha önce eklediğim ama izlemediğim "Get a Taste of Lambdas and Get Addicted to Streams by Venkat Subramaniam" videosunu gördüm, video başta anoymous classlar ile bir thread oluşturmak ile başlayıp neden bunu yaptığımızı ve aslında bize gerekli olmayan bir çok -hem kod hemde derlenme esnasında oluşan .class dosyaları- dahil ettiğimizi gösteriyor, daha sonra functional iterfaceleri neden lambda functionlar olarak kullandıklarının motivasyonlarından sonra nasıl çalıştığını anlatıyor, daha önceleri kullanıp, neden ve nasıl çalıştığı hakkında emin olmadığım yerler hakkında aydınlanma sağladığını söylebilirim, bu şekilde giden bir video gel gelelim yazının konusuna bu yazıda ne okudum - izledim basit bir liste tutmak.

*Get a Taste of Lambdas and Get Addicted to Streams by Venkat Subramaniam lambda functions ve streamler ile ilgili beyin açan bir video, aynı zamanda kullandığınız ama fark etmediğim diğer konular hakkında da farkındalık oluşturuyor.

Desining Data Intensive Applications By Martin Kleppman özeti , evet kitabı -henüz- okumadım ama daha öncesinde kısa bir özet okumak fena olmaz demiştim, benim gibi düşünenler için önerebilirim, benimde yeni yeni öğrenmeye başladığım nosql database yapıları ile beraber zihnimde genel bir görüntü oluşturduğunu söylebilirim.  

What Silicon Valley "Gets" about Software Engineers that Traditional Companies Do Not , "paketi yeni açılmış bir bilgisayar mühendisi" olarak şirket kültürlerinin yapısı ve ürünlere etkisi gibi konular hakkında neredeyse hiç bir şey bilmiyorum ama bu yazı twitter da karşıma çıktı ve gerek dil gerek bakış açısı olarak beğendiğimi söylebilirim, özetle: "geliştiricilerimizin en önemli özellikleri problem çözmek iken neden sadece al bu kodu yaz olarak bakıyoruz ve bu bize neler kaybettiriyor" içerikli bir yazı, aynı zamanda bu blog'da (3 saniyelik göz atma derinliğinde bir bakış açısıyla) güzel yazılar var gibi, şans verilebilir. 

refactoring.guru , daha fazla kod ile zaman geçirdikçe daha fazla dönüp temel şeylere bakma ihtiyacı hissediyorum, şuan okuduğum şeyler tecrübelerimi arttırıp tekrar okuduğumda daha fazla -ve eskiden baktığımdan farklı bakış açıları sunan bir şekilde- öğretici oluyor, bu sitede yeni mezun olduğum zaman refactor yapmalıyım ? e bunun için test yazmalıyım ama koduma test yazmak için daha "test edilebilir" bir şekilde yazmalıyım döngüsüne girdiğimde karşıma çıkan bir site, süper etkileyici diyemem ama bu konuda tüketilecek ilk içeriklerden biri olması açısından bence rahat ve hızlı anlaşılabilir şekilde sunuyor.

*How to do a code review aslında çok daha önce okuduğum bir yazı diyebilirim, bir mini itiraf olarak diyebilirim ki review yapmak gerçekten zor geliyor, bilinci olarak aşmaya çalışıyorum, içerik çok teknik olduğu kadar sosyal manada yorumları nasıl bir dille yazmalısınız gibi açılardan yaklaşıyor.

97 things every programmer should know git te dolaşırken denk geldiğim bir "git book" diyebilirim, içerikler kısa hemen tüketilebilir şeyler olduğundan bugün de bir şeyler öğreniyim ama yutması kolay lokmalar olsun diyorsanız (içerikler için değil okuma süresi olarak) güzel bir kaynak. Bu tür içerikler Bilgem Çakırın, Bir Motivasyon Hilesi adlı videosunda bahsettiği -basitce özetlersem- motive olmak için o konu hakkında tüketim yapmak tıpkı antrenman öncesi ısınmak gibi etki ettiği için hemde düzenli teknik içerik okuma alışkanlığı edinmek istiyorsanız mantıklı.

* Burası uzuuun zamandır atıl kalsa da okumalarıma devam ettim diyebilirim, kendime not biraz daha okuduklarımı eklemeye özen göster, geçen hafta okuduğum yazılardan bir kaçı:

Avoiding Premature Software Abstractions şu aralar "biraz daha desing pattern öğrenmeliyim yaptığım çözümlere daha farklı bakış açıları getirmemi sağlar" düşüncesi ile bu işin temel girişi olan Head First Design Patterns kitabına başlamıştım, bir gün linkedin feedime ilgili yazı düşünce okumanın zararı olmayacağını düşündüm, "patternlar iyi diye her yerde kullanmanın neden gereksiz olduğunu YAGNI prensibini de hatırlatarak analtıyor, arada bir popüler konulara "diğer" taraftan bakmamızı sağlayacak yazılar iyi olur diye düşünüyorum.

snowflake "matruşka" tarzı bir şey okurken o bağlantıya sonra oradan bu bağlantıya derken bunu okumuştum, kısa bir yazı ama tabiki de buraya gelmemi sağlayan How Discord Stores Billions of Messages yazısı ile anlamlı.

Vee üsteki güzel yazılara ulaşmamı sağlayan tüm balıkları bir arada toplamışta bize sunuyor hissi veren güzel yazı System Design Cheat Sheet basit kısa ve bir göz atarken bir referanstan diğer referansa geçerek kendinizi kaybedebileceğiniz bir yazı, genel olarak system desing ile ilgili ana başlıkları anlatıp basit örnekler veriyor, daha sonra ünlü yapılar ve uygulamaların tasarımlarından kısaca bahsediyor bir göz atmanızı kesinlile öneririm.

* Webflux ve reactive yapıları daha iyi anlamak için şu iki içeriği okudum, açıkcası hala aklıma oturmayan bir sürü yer olsada fena sayılmayacak kaynaklar;

Java Streams vs Reactive Streams: Which, When, How, and Why? by Venkat Subramaniam youtubedak teknik içerik konusundaki favori kişilerimden her zamanki gibi güzel içerik biraz uzun ve reactive nedir den başlayp temelleri anlatıyor diyebilirim.

Challenges & Solutions for Migrating Java Apps to Reactive adından da anlaşılacağı gibi 101 dersi içeriği sayılabilecek kavramlar üstünden gidiyor.

Real-time subscription real time subscription yaparken iki farklı tasarımı karşılaştırıp neden bu daha iyi ve ne motivasyonla bu şekilde kullanmalıyız şeklinde anlatım yapıyor, kısa öz hap bilgi.

An Engineer's Field Guide to Great Technical WritingAn Engineer's Field Guide to Great Technical Writing tamamen farklı bir alandan dökümantasyona yaklaşan kişiler ve bunu profesyonel işlerinin birinci önceliği olarak yapan kişilerden bir kaç söz duymak güzel.

* Aslında Ahmet Alp Balkan'ın videolarından görüp okuduğum (izlediğim, kesinlikle önerilir!) System Desing Interview kitabının yazarı olan Alex Xu yeni youtube kanalı açmış, beş dk da sığdırılabilecek maksimum bilgi için System Design: Why is Kafka fast?

* Bir önceki yazıyı girerken fark ettiğim üzere onlarca saatimin geçtiği bu kanal ve kaliteli kitabı yazmadığımı farkettim, kesinlikle önerilir: System Design Book - Part 1/3 (Giriş, rate limiting, consistent hashing)

* Kafka'nın temel yapılarını öğrenmek için An Introduction to Kafka Topics and Partitions bu yazarın gmail listesine kayıt olursanız sıralı şekilde temel kavramları anlatan Kafka içerikleri gönderiyor, hiç bilmeyenler için güzel kaynak.

The Engineering Career Ladder Trap şirketlerin mühendislerin kariyer gelişimi için oluşturdukları sistemleri adaletli bir şekilde eleştiren bir yazı.

Kafka vs RabbitMQ bu ve bu gibi karşılaştırma yazıları, kullandığım şeyleri en azından birisi sorunca liste şeklinde karşılaştırma yapmak için öğrenmem gerekti, evet bunları bilmeden (ve daha bir çok özelliğini) aslında tam anlamıyla "kullanmış" olamıyoruz, bu yüzden biraz daha ayrıntılı öğrenmeye çalıştığımı söyleyebilirim.

Yorumlar

Bu blogdaki popüler yayınlar

Neler Okuyorum ?

Tüketmeme İhtiyacı