Yazılımcılar İçin Hafta Sonu Okumaları - Sayı #37(Yazılımcılara Tavsiyeler, C#'ta Memory Yönetimi, Blockchain Geliştirme ve daha fazlası)
Merhabalar. Yine tıka basa dolu bir sayıyla huzurlarınızdayım. Öncelikle bu hafta uzun bir aradan sonra "Boca" bölümümüz var.
Ayrıca bu hafta 2 de yeniliğimiz var. İlki aşağılara doğru göreceğiniz gibi Adem İlter'in tavsiyesiyle eklediğim "Üretken Gençlerin Köşesi". Bu köşede her sayıda olmasa bile ara ara haberdar olduğum üretken gençleri tanıtmayı planlıyorum.
Diğeri yenilik ise Uğur Abi'nin tavsiye ettiği, bahsettiğim yazılar hakkında -parantez içinde, bold- etiket eklemek. Bunu ama direkt başlıktan anlaşılmayan, teknik yazılar için ekleyeceğim.
İçeriklere geçmeden söylemek istediğim bir şey daha var. Sosyal medyadan beni takip ediyorsanız denk gelmişsinizdir ama buradan da duyurayım. Geçen hafta meslek liselerindeki bilişim öğrencilerinin ufkunu genişletmek amacıyla okullara ziyaret yapmayı planladığımız bir sosyal sorumluluk projesi başlattık ve organize olmak için bir Slack grubu oluşturduk. Fikri ve fiziki destek vermek isteyen herkesi bekliyoruz.
Yazılımcılara Tavsiyeler
Bilgem Çakır üstad, yine döktürmüş ve dolu dolu bir yazı yayımlamış. Yaklaşık 1 hafta geçtiği için çoktan okuduğunuzu tahmin ediyorum. Konu, yazılıma nasıl başlayacağını ve başladıktan sonra kendini nasıl geliştireceğini soranlara tavsiyeler. Yazıya girişte yine itinayla fikri temeli oluşturmuş ve bilgi, olgu, yeti kavramlarını irdemiş. Akabinde yol haritasının nasıl çizilmesi gerektiğinden bahsedip tavsiyelerini sıralamış.
Emirhan Mete de geçtiğimiz hafta yayımladığı yazıda "programlama öğrenmeye başlamak" üzerine tecrübelerini aktarmış.
Emre Horasan ise yazılımda yeni olanlar için teknoloji seçiminde dikkat edilmesi gereken noktalardan bahsetmiş.
Ürün Geliştirme
Piyasaya sürülen ürünün başarısını etkileyen pek çok parametre var. Doğru fikir, doğru zamanlama, doğru üretim yöntemi, geliştirilme hızı, pazarın ürüne ihtiyacı, ürünün geleceği açısından geliştirilme safhalarında uygulanan süreçler, ölçeklenebilir altyapı... İsmail Kırtıllı, "değerli olanı" yapmaktan ve bunun için uygulanabilecek metodlardan süreçlerden bahsettiği ve toplam 5 yazı olacağını vaat ettiği bir seriye başlamış(1, 2, 3, 4). Okudukça bu konularda ne kadar birikimli olduğunu görüyor ve zevkle okumayı sürdürüyorsunuz. Bu bahse dahil edebileceğimiz bir diğer yazı ise Seyhan Külahlı Yılmaz'ın User Story(kullanıcı hikayesi) oluşturmayı ve bunun önemini anlattığı yazısı.
Ürünün başarısını tayin eden parametrelerden biri de elbette son kullanıcıda karşılık bulması. Bunun da kilit noktalarından biri UX(kullanıcı deneyimi). Doruk Kaşoğlu, mobil web uygulamalarında UX'e uygun bir form oluşturmayı detaylıca anlatmış. Okudukça kullanıcı davranışları için ne denli ciddi araştırmalar yapıldığını da görüyorsunuz.
C# ve Memory Yönetimi
Sena Kılıçarslan, C#'ta memory yönetimini anlattığı bir seriye başlamış(İngilizce). İlk yazıda stack, heap, reference type ve value type; ikinci yazıda ise finalizer ve dispose kavramlarını anlatmış. Makineye ne söylediğini bilerek ve daha performanslı kod yazmayı(alt seviye diller kadar olmasa da) sağladığı için bu tip yazıları seviyorum. Devamını da bekliyorum.
Berkan Şaşmaz ise C# öğrenimi için bir günlük yayımlamaya başlamış. İlk yazısında .Net Framework'teki bileşenleri, kütüphaneleri, stack-heap, value-reference type, static, const, var vb. kavramları anlatmış.
Cumartesi Geceleri
Ekosistemin en istikrarlı ve üretken bloggerlarından biri şüphesiz Burak Selim Şenyurt. 2003 yılında yazmaya başlamış ve kaba hesapla 1000(yazıyla bin)'e yakın nitelikli makale yazmış. Yazmaya da devam ediyor. Çiçeği burnunda bir öğrenci edasıyla da okumaya, araştırmaya devam ediyor(Medium'da okuduğum hemen her yazıda onun izlerine/vurgulamalarına rastlıyorum).
Birkaç aydır geçtiğimiz yıllara nisbeten blogunda daha az yazı yayımlıyordu. Meğer bu arada Github'da büyük bir hazine meydana getirmekle meşgulmüş. Oluşturduğu repoda cumartesi geceleri çalışmalarından çıkardığı notları derlemiş. An itibariyle Angular'dan React'e Vue'ye, TypeScript'ten Python'a, Blazor'dan GraphQL'e 29 farklı konuda makale ve örnek var. Şuradan hazineye ulaşıp, hunharca tüketip, "star"ınızı bırakabilirsiniz.
Yine Frontend
Geçen sayıda olduğu gibi bu sayıda da frontendciler için şahane ürünler getirdim.
Fatih Hayrioğlu, geçen sayıda bahsettiğim CSS Grid serisinin 2. yazısını yayımlamış. Öte yandan Büşra Memiş de CSS Grid Layout için bir yazı yayımlamış.(CSS)
Tahir Kardak, Angular'da componentler arası veri alışverişi için kullanılan @Input-@Output'u anlatmış. Bu arada(yanlış hatırlamıyorsam) bu yazı vesilesiyle bilisim.io'yu keşfettim. Oldukça nitelikli ve zengin bir Türkçe içerik deryası imiş. Okuma listeme buradan bolca yazı dahil ettim. Konumuzla alakalı mesela yine Tahir Kardak'ın JavaScript'teki Map, Reduce, Filter metodlarını anlattığı bir seri mevcut(1, 2, 3, 4).(Angular, JavaScript)
Burhan Tanış, Laravel ve Vue.js kullanımıyla alakalı bir video serisine başlamış. Bunlardan önce de Vue'yü kuşbakışı incelediği bir yazı yayımlamış.(Laravel, Vue)
Onur Dayıbaşı, React.Js'in hangi best practice'ler üzerine inşa edildiğini yazmış.(React)
Girişimcilere Tavsiyeler
Hakkında girişen girişmeyen herkesin ahkam kestiği konulardan biri girişimcilik. Anlatılanlara göre de ancak %10'u başarıya ulaşan zor bir iş. Bu yüzden özellikle tecrübe sahiplerinin aktarımları çok değerli. Uluslararası arenaya çıkan ve takip ettiğimiz kadarıyla başarıyla yoluna devam eden yerli girişim Mutlubiev'in kurucusu Tayga Baltacıoğlu, tecrübeleri üzerinden girişimcilere tavsiyelerini yazmış.
Yapay Zeka
Birkaç ay önce bilgisayarların düşünmesi ile alakalı Aykut Erdem ve Erkut Erdem'in çok güzel bir yazısından bahsetmiştim. İşte o serinin -yine ziyadesiyle güzel- 2. yazısı çıkmış.
Mert Çobanoğlu, Keras ile nesne tanıma uygulaması geliştirmeyi anlatmış.(Keras)
Okan Yıldız, Andrew Ng'nin ilk yapay zeka projesini gerçekleştirirken dikkat edilmesi gerekenleri anlattığı makalesinden notlarını paylaşmış.
Ömer Koçbil, bilisim.io'da "yapay zeka nedir?"den "dünyada yapay zekanın durumu"na 4 yazılık bir seri yayımlamış.(1, 2, 3, 4)
Http ve Güvenlik
Gökhan Şengün, önceki haftaki yazısında http isteklerinde kimlik doğrulama işlemlerini anlattığı bir seriye başlamıştı. Geçtiğimiz hafta da ücretsiz SSL/TLS sertifikası sağlayan Let's Encrypt servisinden bahsetmiş.
Diğer yandan Buse Kalkavan da geçtiğimiz hafta yayımladığı yazısında SSL sertifikasını ve https protokolünün çalışma prensibini anlatmış.
Boca: Blockchain Uygulaması Geliştirme
Son dönemin hype, hype olduğu kadar da büyük potansiyele sahip teknolojilerinden biri Blockchain. Şahsi düşünceme göre her yazılımcının en azından temellerini bilmesi ve uzaktan da olsa takip etmesi gereken bir teknoloji. Hatta belki elimizi kirletmenin vakti de gelmiştir. Bu sayıda farklı dil ve platformlar üzerinde Blockchain uygulaması geliştirmeye yönelik, rast geldiğim kaynakları üzerinize boca ediyorum(sosyal medya bölümünde de bu konuyla alakalı birkaç flood var):
Blokchain 101: Ahmet Usta ve Serkan Doğantekin'in yazdığı -ücretsiz- e-kitapta adından anlaşılacağı üzere Blockchain'in temelleri, üzerinde geliştirilen platformlar ve uygulamalar anlatılıyor.
PHP ile Blockchain (Blokzinciri) yazıyoruz: Ulugbek Miniyarov, PHP ile Blockchain oluşturmayı anlatan 4 yazılık(Prototip, Proof of Work, Saklama ve Komut Satırı, Transactions) İngilizce serinin çevirisini yapmış.
.Net Core ile Blockchain İnşa Etme: Hasan Denli, .Net Core üzerinde bir Blockchain oluşturmayı anlattığı 3 yazılık(Temel Altyapıyı Oluşturma, Proof of Work, Wallet Transaction) bir seri kaleme almış.
Python ile Blockchain Oluşturma: Evrim Dönmezgel de Python ile detaylıca adım adım Blockchain oluşturmayı anlatmış.
Blockchain Yapısı ve Ethereum: Engin Ünal, Blockchain yapısı ve Ethereum'la ilgili bir dizi yazı yazmış. İlkinde Bitcoin ve Blockchain'in çalışması, ikinci yazıda Ethereum ve akıllı kontratlar, akabinde Ethereum Blockchain'i oluşturma ve son olarak da Solidity ile Ethereum'da akıllı kontrat yazmayı anlatmış.
Yine yukarıda bahsettiğim kitabın yazarlarından Serkan Doğantekin, 15'er dakika Ethereum ağı oluşturmayı ve akıllı sözleşme yazmayı anlatmış.
Son olarak Mert Susur'un ve Onur Aykaç'ın Blockchain temelleri, Ethereum&Solidity ve Ethereum webinar serisi eğitim videolarını da buraya bırakayım.
Üretken Gençlerin Köşesi: Batuhan Taşkaya
Henüz 15 yaşında bir lise öğrencisi olan Batuhan Taşkaya, Türkçe blog yazmaya başlamış ve ilk yazısında Python'a yakın zamanda gelen __class__getitem__ metodunu anlatmış. İngilizce olarak ise Dev.to'da baya yazısı mevcut. Bu vesileyle bu köşenin de ilk misafiri oldu kendisi.
Brüksel'deki FOSDEM 2019 gibi pek çok efsane ismin konuşmacıları arasında yer aldığı büyük bir etkinlikte konuşma yapmış olması bir yana, üstteki blogu okurken de yaşına rağmen nasıl ciddi bir bilgi birikimine sahip olduğunu görebiliyorsunuz. Aynı zamanda şurada da açık kaynak projelerini görebilirsiniz.
Motivasyonunun, ekosisteme katkılarının ve başarılarının devamını diliyorum.
Kısa Kısa
İbrahim Kürce, geçen sayılarda bahsettiğim ve öve öve bitiremediğim Grokking Algorithm özetinin 3. yazısını yayımlamış. Ben övüp bıkıtırmadan önce yapacağınızı biliyorsunuz.
Salih Baltalı, bilgisayarların ve Yapay Zeka'nın tarihindeki en önemli isimlerden biri olan Alan Turing'in 42 senelik yaşamını ve trajik ölümünü anlatmış.
Egemen İmre, "Bilimsel Programlamaya Kolay Başlangıç" serisinin numpy ve scipy kütüphaneleriyle dünya çevresindeki uyduların hız ve enerji değişimini hesapladığı 3. yazısını yayımlamış.
Emin Erenoğlu, önceki haftanın gündemi Peak reklamını, bu yazı vesileyle öğrendiğim "bold" kavramı eşliğinde irdelemiş.
Kübra Balaban, Spring Boot ile servis yazımını anlatmış.
Mehmet Cem Yücel, Spring Boot Rest servislerde entegrasyon testi yazmaktan bahsetmiş.
Bora Kaşmer, Azure üzerinde Redis ile.Net Core MVC'de cache kullanımını ve Azure Http Triggers Function ile cache'i güncellemeyi anlattığı 2 yazı yayımlamış.
Geçtiğimiz günlerde Twitter'daki -sosyal medya bölümünde görebileceğiniz- MoonStar paylaşımından sonra bir nostalji rüzgarı esti. Bu vesileyle Mehmet Kut'un bu programı yazan Müjdat Özalp anısına yazdığı yazısına denk geldim.
Abdülkerim Karaman, React Native ile mobil haber uygulaması geliştirmeyi anlatmış.
Aykut İbrişim, Spotify'ın podcast hamleleri üzerinden sektörün geleceğini irdelemiş.
Haydar Külekçi, ElasticSearch'te "dinamik kalıplar"ı ve "global aggregation"ı anlatmış.
Hüseyin Demir, yüksek erişilebilir ve ölçeklenebilir PostgreSQL veritabanı kümesi oluşturmayı anlatmış.
Mehmet Salih Bindak, yararlı linkler serisinde bu kez kullanışlı bazı Chrome eklentilerinden bahsetmiş.
Çağatay Çalı, freelance çalışma stilini anlatmış.
Halil İbrahim Mollaoğlu, firma içi erişim güvenliği için kullanılan Privileged Identity Management modelini anlatmış.
Eşref Erol, Active Directory penetrasyon testlerini anlattığı bir seriye başlamış(1, 2, 3).
Bartu Doruk Demirkıran, Kaggle'da veri bilimci olarak çalışan Rachael Tatman ile bir röportaj yapmış.
Hakan Sarıbıyık, veri bilimine yeni başlayanlar için tavsiyelerini yazmış.
Rutkay Karabulak, şu anda okuduğu bölüm olan yazılımcı mühendisliğini anlatmış.
Ege Tekiner, Ethereum’un Constantinople çatallanmasını ve getirdiği yenilikleri anlatmış.
Volkan Otabaş, Google Analytics'te Facebook Login Referrer problemini ve çözümünü yazmış.
Haberler
Codefiction, Gitter'daki sohbet/tartışma kanalını Slack'e taşımış.
Bilgisayar mühendisliği öğrencisi Alper Çalışır, yapay zeka konusundaki gelişmeleri derlediği bir haftalık bülten yayımlamaya başlamış. Ben şahsen beğendim.
Pardus için Docker imajları hazırlanmış.
Halid Altuner, Devops günlükleri yayımlıyormuş. Geçtiğimiz hafta 32.sini yayımlamış.
Bitirirken
Eveet, bu sayıda tamam oldu. Hem de -inanması güç ama- bir cumartesi günü.
Faydalı olması, paylaşmanız ve görüş/eleştirilerinizi iletmeniz ümidiyle.
Zâtınıza çook iyi davranın.
Bana ulaşmak için: Linkedin, Twitter, CuriousCat
Daha fazla motive etmek için: Patreon