Osman KURT

Kendime Not

C# Async Programlama - Task Kullanımı

Async programa denilince akla ilk gelen 2 seçenek vardır. 

  • Task 
  • Thread

Async programlama ile daha sıklıkla kullanılan Task yapısı thread yapısına göre üst seviyede. Task yapısını kullanarak daha gelişmiş işlemler yapabiliriz. Thread pooling yapısını otomatik olarak kullanıp birbiri ardına eklenebilecek olan işlemleri daha iyi organize etmektedir.

Aşağıdaki yapıda tasks adında türü task olan bir dizi oluşturduk. Bu dizi 3 task değeri alacaktır. Task tanımlamalarımızı yaptıktan sonra Task.WaitAll(tasks) metodu ile tüm taskların çalışıp biteceğini garanti ettik.

1
2
3
4
5
6
7
8
var tasks = new[]
    {
        Task.Run(() => { işlem gelecek }),
        Task.Run(() => { işlem gelecek }),
        Task.Run(() => { işlem gelecek })
    };
     
Task.WaitAll(tasks.ToArray());

*Burada ki amaç işlemleri art arda yapmaktansa birbirinden bağımsız task yaratıp birbirine paralel işlem yaratmak. Bu da bize zamandan tasarruf sağlayacaktır. 

Osman KURT
Yazılım Uzmanı

RabbitMQ ve Kafka Karşılaştırması

Message Broker teknolojilerinden öne çıkan iki isim olan Kafka ve RabbitMQ’nun farklarını ve hangi durumlarda hangisinin tercih edilebileceğine dair bilgileri bir araya toplamak istedim. Tabi ki iki teknolojinin de karakteristik özellikleri, avantajları ve dezavantajlar vardır. İki teknoloji de farklı ihtiyaçlara cevap vermektedir. Sizin için hangisinin en uygun olduğunu yine sizin gereksinimleriniz belirleyecektir.

Yazının tamamını okumak için alt kısımdaki bağlantıyı kullanınız.

https://medium.com/@alikzlda/kafka-vs-rabbitmq-abe52d5eee34


İlk .Net Core Uygulamamız

Merhaba Arkadaşlar,

Microsoft'un open source dünyasına hızlı giriş yapmasından sonra bildiğiniz üzere .Net Core furyası esmeye başladı. Son trendlere baktığımızda lisans paralarından sıkılan şirketlerinde favorisi olduğunu düşünürsek yazılım geliştiricilerin de vazgeçilmezi olacak gibi duruyor. 

İş ilanlarını incelediğimizde de durum ortaya çıkıyor. Bunu düşünerek bir giriş örneği hazırlamak istedim ve GitHub hesabım üzerinden paylaşmakta fayda görüyorum. Bu arada bu platform üzerinden ilk paylaşımım olma özelliğini de taşıyor.

Url: https://github.co/byokurt