Sign in

FP yöntemlerini ve Delege Türünü Tanıyalım

Bu yazımızda, C# ile fonksiyonel programlama yöntemlerini uygulayabilmek için delege türünü tanıyacağız.


2020, birçok yönden zor geçti. Allah 2020'yi aratmasın.

Photo by Jess Bailey Designs from Pexels

Bu yazıda, 2020'deki iş hayatıyla alakalı kazanımlarım ve hobi projelerimi özetleyeceğim.

Kayda değer proje ve karşılaştığımız bug çözümleri ve bunlara yaklaşımlarımdan bahsedeceğim.

Hobi Projelerim

10. underscore.net

Her zaman elimin altında bulunacak yardımcı bir proje olarak düşündüğüm underscore.net kütüphanesi ve dökümantasyonu üzerinde çalışıyorum. Yardımcı bir kütüphane, olduğu için bütün metotların unit testleri mevcut.

Bir kütüphane ve framework’ü geliştirebilmek için aktif olarak kullanmanız ve eksiklerini görmeniz gerekiyor.

Bu yüzden hobi projelerimde mutlaka elimin altında bulunduruyor ve böylece refactor ederek daha kullanılır hale getirmeye çalışıyorum.

myget üzerine ara ara yeni Nuget paketlerini çıkıyorum fakat henüz umuma açmadım.

9. Predicate Builder

Kullanıcıdan gelen arama isteklerini dinamik hale getirebilmek için farklı çözümler mevcut. Bu ifadeleri…


Giriş

Önceki yazımızda fonksiyon delegelerinden bahsettik. Bu yazımızdan itibaren fonksiyonel programlama yöntemlerini C# ile uygulama yöntemlerinden bahsetmeye başlayacağız.

Map

Steven alttaki tweetiyle Map, Filter ve Reduce yöntemlerini çok güzel şekilde ifade etmiş:

  • ismindeki fonksiyonumuz Girdi olarak [🌽, 🐮, 🐔] alıyor ve herbirini pişirerek [🍿, 🍔, 🍳]'e dönüştürüyor.
  • isVegeterian filtresi [🍿, 🍔, 🍳] arasından vejeteryanler için olmayanları filtreliyor.

Biraz Teori

Hafifçe teorik gidelim:

Elimizde bir f(x) fonksiyonu olsun.

x, sıcaklık birimi Celcius olsun ve f(x) fonksiyonu, Celcius birimini Fahrenheit birimine çeviren bir fonksiyon olduğunda f(x) bir Map (dönüşüm) fonksiyonu diyebiliriz.

C# Map Kullanımı

Map fonksiyonunun C# dilindeki karşılığı IEnumerable extension metodu olan Select fonksiyonudur. …


İlk ve Orta Okul Yılları

4. sınıfta bilgisayar öğretmeninin, sürekli deftere tanım yazdırarak geçen “RAM bellek, ROM bellek, 1 byte=8 bit” şeklinde başlayan daha sonra kuşe kağıda basılı ve benim satrancı öğrenmemden başka bir işe yaramayan bilgisayar dersleri.

Orta okul’da:

  • Bilgisayar dersinde abone olduğumuz Byte ve CHIP dergilerini,
  • C++ ile kendi oyununuz yapın sloganıyla PCNet ile verilen kitapçıkları

hatırlıyorum.

Ayrıca Bilgisayar öğretmenimiz Serkan TEMEL’in:

“Sınıfa site yapalım, Şeref yapar”

sözü. Site yapmayı bilmiyordum. Fakat meraklı ve heyecanlıydım. Ne bilgisayar, ne de internetim vardı.

Lise Yıllarım

Yatılı okuduğum Tekirdağ Fen Lisesi’nde 2005–2006 yılları, tamamen gönüllü, lise 2, kütüphane kolu ve bilgisayardan anlayan bir öğrenci olarak Visual Basic 6.0…


Yazıya başlığını veren cümle, X bir enerji şirketine yapılan sunumda bizzat şirket sahibi tarafından aynen bu şekilde dile getirilmiştir. Bahsettiği yazılım ise güvenlik kameralarındaki görüntü algılama sistemleri.

Bu cümleyi söylemekte ne kadar haksız olduğunu düşünmeyi sizlere bırakıp kendimce bu cümlenin neden sarfedildiğini karşı taraf gözünden açıklamaya çalışayım.

X şirketinin sahibi Tolga beyin enerji santralleri vardır. Bu santraller kurulurken sadece basit sarf malzemeleri bile on bin belki yüz binlerce ₺’yi bulabilir. Arızalar parça değişimi gerektirir ve bu parçalar da çok pahalıdır.

Bir başka beyaz ve mavi yaka klişesi

Bu durum aslında beyaz yaka ve mavi yaka tartışmasının bir başka tezahürüdür desek yanlış olmaz.

Mavi yakalı beden gücü gerektiren…


Öncelikle altını kalın çizgilerle çizmek istediğim:

Hacker ve Cracker birbirine zıt iki kavramdır. Hacker (kültürü) yeni bir şeyler üretirken, Cracker, bir şeyleri bozar, sistemlere zarar verir.

Maalesef hem Türkçe, hem de İngilizce — tâbir-i câizse halk arasında— bu iki kavramın birbirine karıştırıldığını veya birbirinin yerine kullanıldığını görüyoruz. Hacker tabirinin sistemleri bozanlar için kullanılmaması gerektiğini irdeleyen Wikipedia yazısına ait kısım aşağıdadır:

There is a longstanding controversy about the term’s true meaning. In this controversy, the term hacker is reclaimed by computer programmers who argue that it refers simply to someone with an advanced understanding of computers and computer networks, and that…

Ahmed Şeref Güneysu

software programmer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store