Cihan Yakar

Software Developer

Vectorization / SIMD kullanarak C# ile Power Iteration algoritmasını hızlandıralım

Aynı anda birden fazla iş yapmak istediğimizde akla ilk gelen birden fazla işlemci çekirdeği veya GPU kullanmak olabilir. Fakat, bunu daha az maliyet ile çöz...

Performans Sorunsalı

Bir yazılım ürününün mühendislik, tasarımsal ve mimari niteliklerine baktığımızda erişilebilirlik, ölçeklenebilirlik, hata toleransı, performans, dayanıklılı...

Power Iteration - Eigenvector Centrality ve C# ile uygulanması

Ağları incelemeye devam ediyoruz. PageRank ve ArticleRank'ten sonraki algoritmamız Eigenvector Centrality ya da Özvektör Merkeziliği olacak. Tıpkı ArticleRan...

ArticleRank algoritmasına C# ile bakalım

ArticleRank hem adıyla hem de çalışma mantığı ile daha önce baktığımız PageRank algoritmasına oldukça benzemektedir. Özünde dergi makalelerinin önemini tayin...

Page Rank algoritmasına C# ile bakalım

Yıllar, yıllar önce bizi Google ile tanıştıran bu algoritma basitliği sayesinde bir çok probleme deva olmaya devam etmektedir. İşin özüne bakacak olursak, bu...

Microservice, Monolith Sorunsalı

Geçmişe göre artık oldukça fazla yazılım konulu içerik üretiliyor. Çoğu giriş seviyesi olsa da tecrübe kazanmak ve konuyu öğrenmek için bu çok güzel bir eyle...

Azure Durable Functions MacOS Grpc Hatası Çözümü

Durable Functions harika bir ürün, Apple Mac Mx (M1,M2...) bilgisayarlar da bir o kadar öyleler. Ama ikisi bir araya geldiğinde bugün yaşadığımız bir problem...

C# ve Matematik 1 - Önermeler

İşte düzeltilmiş ve iyileştirilmiş hali: Yeni iş kurmanın heyacanı nedeniyle blogu çok ama çok boşladım. Arayı kapatmak için bir yazı dizisi hazırlamaya kara...

DotnetConf Türkiye 2020

Uzun zamandır etkinliklere katılamıyordum. Bu etkinlikte genel bir konu seçtim ve C# 9 ile gelen yeniliklerden bahsettim. Efsane katılımcılarla, dop dolu bir...

C# Tuş Algılama

Yeni işimle beraber yeni bir karar aldım. Blog yazılarımda yerli forumlarda gördüğüm soruları derinlemesine makaleler olarak ele alacağım. Bu da mantıken ilk...

C# ile Vektör Normları ve Uzaklık Hesaplama

Veri bilimi ve makine öğrenmesi algoritmalarında uzaklık ve benzerlik hesapları olmazsa olmazdır. Bir kaç yazı ile farklı veri türleri için popüler uzaklık v...

C# ile Uzaklık Hesapları

Programlamada ve veri biliminde sürekli uzaklık hesabı yapmak durumunda kalıyoruz. İki sayının birbirinden uzaklığını fark alma işlemi sayesinde kolayca bulu...

MVP

Uzunca süredir iş,okul döngüsünde blogu boşlamıştım; artık yavaş yavaş blog için bir şeyler yapayım derken tam da 1 Nisan'a yaraşır şekilde şaka gibi (iyi an...

Cozumpark Tech Talks 2019

Çözüm Park ile çok eğlenceli, kalabalık bir etkinlik gerçekleştirdik. Ben CNTK ile yapay sinir ağlarını C# ile nasıl oluşturulacağından bahsettim. Microsoft ...

Cognitive Toolkit ile GPU dünyasına giriş kısım 2

Kaldığımız yerden CNTK'ye merhaba dediğimiz projemize devam ediyoruz. Bir önceki yazıda CNTK için gerekli kurulumları yaptık, veriyi temin ettik ve ağ modeli...

Cognitive Toolkit ile GPU dünyasına giriş kısım 1

Eski adı Microsoft Computational Network ToolKit, yeni adı Microsoft Cognitive Toolkit olan bu anlatacağım ürün adından da anlaşılacağı üzere Microsoft'un ya...

Azure ML Studio Derin Ağlara Giriş

Bir önceki yazıda yapay sinir ağlarının Azure ML Studio (AMLS) üzerinden nasıl tanımlanacağını anlatmıştım. Bu yazıda ise işi nasıl bir adım öteye götürüp iş...

Azure ML Studio ile Yapay Sinir Ağları

Azure ML studio ile yapay sinir ağları bir kaç kez sorulunca konu sırasını bırakıp aradan bir giriş konusu oluşturayım dedim. Bu yazıda yapay sinir ağları ve...

ML.net AutoML ile En Uygun Modeli Bulalım

ML.NET ile ilgili yazılara biraz ara vermiştim çünkü her yeni versiyonda o kadar fazla değişiklik oldu ki yazıları sürekli güncellemek gerekiyor. Fakat ML.NE...

ML.NET Model Builder ile Tam Otomatik ML

ML.net AutoML ile en uygun modeli bulduğumuz yazımızda ML işlerini büyük ölçüde otomatik hale getirmiştik. Peki ama daha da otomatik hale gelemez mi bu? Bu d...

Dotnet Conf 2019

Dotnet Conf 2019'un resmi Türkiye ayağını gerçekleştirdik. Oldukça kalabalık, uzun, eğlenceli bir etkinlik oldu. http://conf.xamarinturkiye.com/ Benim konum ...

Azure ML Studio ve SMOTE

Bir önceki yazıda C# ile Smote algoritmasını incelemiştik (Açılımı Synthetic Minority Oversampling Technique'dir). Algoritma azınlık durumda olan sınıfların ...

Sınıfları Dengeleyelim C# ile SMOTE algoritmasını yazalım

Daha önce veri kalitesini düşüren problemlere çözümler için ML.net ile bir yazı hazırlamıştım. Yazıda bize gelen verideki tekrarlı kayıtlar, sapan değerler, ...

Global AI Nights 2019 İstanbul

Akşam 7 den 12 ye kadar Global AI Nights'ın Türkiye ayağını Microsoft ofisinde gerçekleştirdik. Etkinlikte 4 farklı oturum vardı. Ben CNTK kullanarak yapay s...

Xamarin Dev Summit Turkey

Xamarin Dev Summit'in Türkiye ayağını Xamarin Türkiye ile gerçekleştirdik. Günün yarısı Xamarin ile geçen güzel bir etkinlik oldu. Benim oturumum Xamarin ile...

C# Bilgilerimizi Tazeyelim

Bu yazıda daha önce sunumlarda kullandığım bazı bilgileri paylaşacağım. C#'da doğru bildiğimiz yanlışları, mitleri, çalışma şekillerini inceleyeceğiz. Soru 1...

Azure ML Studio modelini C# ile online kullanmak

Azure ML'e giriş yazısını yazdıktan sonra doğrudan algoritmalara dalış yaptım. Giriş konuları eksik kalmış oldu. Algoritmalara kısa bir ara verip temel konul...

Azure ML Studio Doğrusal Regresyon Örneği

Doğrusal regresyonun (doğrusal bağlanım) ne olduğundan ve çözüm yöntemlerinden birisi olan en küçük kareler yönteminin (LSM) C# ile nasıl kodlanacağından bir...

C# ile Doğrusal Regresyon Kodlayalım

Daha önce K-Means demetleme algoritmasını C# ile beraber yazmıştık. Bu yazıda ise biraz daha kolay bir kod ile beraberiz. Yapacağımız işin en genel haline &q...

Azure ML Studio ile Demetleme (K-Means, K-Means++)

Bir önceki yazıda sıfırdan C# ile K-Means algoritmasını yazmıştık. Yine algoritmanın nasıl çalıştığını bu yazıda detaylıca anlatmıştım. Bu yazıda ise bu algo...

K-Means Algoritmasını C# ile baştan yazalım

K-Means Nedir ? Makine öğrenmesi ile tanışma faslında ilk öğrenilen ve öğretilen algoritmaların başında K-Means algoritması gelmektedir. Neden? Çünkü, anlama...

BiGün Ankara 2019

Ankara Üniversitesi Bilgisayar Topluluğu öğrencilerinin düzenlediği etkinlikte Azure ML Studio anlatma şansı buldum. Etkinlik oldukça eğlenceliydi. Katıl...

Veriyi Anlamak - Ortalamalar

Bu yazıyı ilk olarak 2017'de yazmıştım. Yazı sürekli okunduğu ve benim sürekli bu yazıya referans vermem gerektiğinden bir elden geçireyim istedim. Bir yığın...

Merhaba Azure ML Studio

Bence, Azure Machine Learning Studio, Jupyter Notebook'dan sonra bu dünyaya adım atanların öğrenmesi gereken platformaların başında gelir. Neden böyle düşünü...

Microsoft ve Makine Öğrenmesi

Microsoft ML.net ile tanışan arkadaşların bir kısmı bunu Microsoft'un bu konudaki ilk ürünü sanmaktalar. Bundan dolayı da neden bu kadar geç ürün çıkardığını...

Yalova Üniversitesi Yapay Zeka Konferansı

Yalova Üniversitesi Yapay Zeka Topluluğunun düzenlediği etkinlikte bulundum. Konu yine Azure ML Studio idi. Oldukça eğlenceli bir etkinlik oldu. YUYAPZEK eki...

Azure Bootcamp

Azure Bootcamp'in Türkiye ayağı Microsoft Türkiye'de gerçekleşti. ITPro ve Developer oturumları eş zamanlı olarak gerçekleşti. Ben Azure Machine Learning Stu...

Visual Studio Launch

Visual Studio Launch etkinliğinin Türkiye ayağını gerçekleştirdik. Benim iki oturumum bulunan etkinlik oldukça eğlenceli geçti. Katılan herkese ve Microsoft ...

C# ile Korelasyon işlemleri 2- Spearman

Önceki konularda pearson yöntemini anlatmıştım. Pearson yöntemi ölçümlerin hatasız yapıldığı senaryolarda oldukça iyi sonuçlar verirken, yoruma bağlı veya öl...

ML.net ve Normalizasyon

Normalizasyon başlığı kafanızda veritabanlarından aşina olduğunuz 1NF, 2NF gibi nitelediğimiz tasarımsal konuları olarak canlanmış olabilir. Bu konuda daha f...

C# ile Korelasyon işlemleri 1- Pearson

Bir önceki yazıda bir veri dizisinin ne kadar tahmin edilemez şekilde dağıldığını matematik ile açıklayan entropi kavramına bakmıştık. Bu yazıda ise iki veri...

Xamarin Meetup 2 Mart

Xamarin Türkiye'nin 3.Yıl etkinliğinde Yiğit Özaksüt ve Daron Yöndem ile birlikte konuştuk. Eğlenceli geçen etkinlikte benim sürprizli konum Xamarin ile ML.n...

Teknolot Meetup 19 Şubat

Teknolot olarak gerçekleştirdiğimiz son etkinliğimiz epey geç duyurmamıza rağmen güzel bir katılım aldı. Etkinlikde Daron baştan sona bir Serverless SPA örne...

ML.net ile kova metodu

Bir önceki yazıda veri kalitesini düşüren sorunlara ve bunlara nasıl çözümler getireceğimize değinmiştim. O yazıda hatalı, eksik, anlamsız verilerle uğraşmış...

ML.net ile Veri Kalitesini Düşüren Problemlere Çözümler

Üzerinde çalışacağımız veri her zaman ML.net'e giriş örneğinde olduğu gibi tertemiz şekilde gelmeyecektir. Kötü veriler makinenin yanlış öğrenmesine veya öğr...

ML.net'e Giriş

Bu yazı ML.net 'in çok eski arkaik sürümlerine göre yazılmıştır, güncel bir yazıyı 2025'de yayınlamayı planlıyorum Nedir? Makine öğrenmesi ve veri madenciliğ...

Connect 2018 Türkiye

Teknolot olarak 29 Aralık'ta Daron Yondem, Yiğit Özaksüt ve Bilgin Biltekin ile beraber Microsoft'un düzenlediği Connect etkinliğinin İstanbul ayağını Micros...

Veriyi Anlamak - Entropi C#

Entropi deyince ilk akla gelen her ne kadar termodinomi olsa da veriyi anlama ve veriyi sıkıştırma gibi konularda da oldukça önemli bir yere sahiptir. Önce k...

Farklı Türden Dosyaların Byte Dizisine Çevrilmesi

Şifreleme, kodlama, veri transferi, gibi birçok yöntemin kullanılmasında elimizdeki verinin byte dizisi olarak dönüştürülmüş olması gerekmektedir. Bu yazıda ...

Thread'lere Kısa Bakış

Threadler ya da Türkçe tabir ile "iş parçacıkları" bir uygulamanın (process) iş yapan birimleridir. Bir uygulamada en az bir adet thread olması ger...

Dotnet Conf 2018

20 Ekim'de Yiğit Özaksüt ve Erhan Ballıeker ile birlikte güzel bir etkinlik gerçekleştirdik. Benim konum .net core 3.0 ve C# 8.0 ile gelmesi planlanan özelli...

Satellite Assemblies (Uydu Derlemeler) Kavramı

Muhtemelen çok iyi bildiğiniz ama belki de adını ilk defa duyduğunuz bir kavramdan bahsedeceğim. Aşağıdaki tanıdık ekran görüntüsünü inceleyin. Bu klasörleri...

Özyineleme (Recursion) Kavramı

Özyinelemeli (Recursive) algoritmalar, yazılıma ilk merhaba denilen günlerde anlaşılması biraz zor olan bir kavramdır. Programlamaya ısındıkça durum tersine ...

C# ile Tek Yönlü Şifreleme (özet) Algoritmalarına Giriş

Veriyi şifreleme ile ilk yazımda konuya tek yönlü şifreleme mantığı ile başlamak istedim. Tek yönlü şifreleme adından da anlaşıldığı üzere şifreleme yapıldık...

C# örnekleri ile Stream Kavramı

Stream (Akış) verinin bir bütün değil de parça parça alınması,işlenmesi olarak düşünülebilir. Pikap,cd, dvd,radyo... gibi verinin akarak okunduğu ortamlar gü...

Xamarin Türkiye 25 Ekim Meetup

Xamarin Türkiye olarak düzenli yapmaya çalıştığımız buluşmayı Yiğit Özaksüt, Erhan Ballıeker ve Özgür Kaplan ile birlikte bu ay 25 Ekim'de herzaman ki buluşm...

C# 7.0 ve 7.1 yenilikleri

TUPLE YENİLİKLERİ Tuple neydi? Önce Tuple kavramını hızlıca hatırlayalım. Tuple'lar yeni bir sınıf tanımlamadan elimizdeki verileri paylaşmamıza yaran basit ...

Xamarin Türkiye 29 Eylül Meetup

XamarinTR olarak düzenli yapmaya çalıştığımız buluşmayı Yiğit Özaksüt ve Erhan Ballıeker ile birlikte bu ay 29 Eylül'de her zaman ki buluşma yerimiz olan Mic...

Veriyi Anlamak - Merkezi Dağılım Ölçüleri

Not. Bu yazıya esaslı bir güncelleme hazırlıyorum. Merkezi dağılma ölçüleri verinin düzlemde ortalamalarına göre nasıl dağıldıkları hakkında sayısal bilgiler...

String Interning Kavramı Hakkında

Öncelikle bu yazıyı kavramak için immutable tiplerin bilinmesi gerekecektir. Okumadıysanız ilgili yazıma ve diğer kaynaklara bakmanızı tavsiye ederim. Muhtem...

Immutable Type Kavramı Hakkında

Pure fonksiyonları anlatırken bu yazıda bahsedeceğim değişmez (immutable) türlerin adını anmıştım. Değişmez türlerde tıpkı saf fonksiyonlar gibi uygulayabild...

Kayar Nokta Kavramı

C# dahil olmak üzere çoğu programlama dilinde ondalıklı sayıları göstermek için bir çok farklı tür bulunur. Peki ama neden? Nerede decimal,double,float hangi...

Pure Function ve Idempotent Function Kavramı Hakkında

Nesne yönelimli programlama mantığında yazılım geliştirirken SOLID gibi DRY gibi prensiplere uymamız gerekir. Yine bu prensiplere benzer şekilde, oluşturduğu...

Primitive Type Kavramı Hakkında

Primitive terimine denk düşecek Türkçe bir kavram aradıysam da en yakın birebir anlamı olan ilkel sözcüğü terim anlamını pek karşılamadığı için sözlükteki pr...

Xamarin Türkiye 24 Temmuz Meetup

XamarinTR olarak düzenli yapmaya çalıştığımız buluşmayı bu ay 24 Temmuz'da Microsoft Türkiye'de gerçekleştirdik. Akşamın en merak edilen konusu Emrah'daydı. ...

Veritabanı Sorgularında Parametre Kullanımı

Yazılım geliştirme serüvenlerinde veritabanları ile çalışmaya başlayan kişilere baktığımda gereğinden "hızlı" giderek önemli temel konuları atladık...

Rastgele Sayılar Sorunsalları

Forumlarda sürekli sorulan sorular bölümümün ilk konusunu için bu konuyu seçtim. Genellikle rastgele sayı üretmek sorularına verilen cevaplar yanlış veya eks...

Xamarin Türkiye 18 Mayıs Meetup

İkinci Xamarin Türkiye buluşması 18 Mayıs'da İstanbul Microsoft ofisinde gerçekleşti. Yiğit Özaksüt, Telerik araçlarından. Mehmet Demir, local storage konula...

Düzce Üniversitesi Bilişim Ve Kariyer Günü

Düzce'de Xamarin'i bu sefer ben anlattım. Bir yönetim bilişim sistemleri mezunu ve öğrencisi olarak etkinliğin YBS öğrencileri tarafından düzenlenmesi bana b...

Anlatacaklarımız Vardı

Daron Yöndem ve Yiğit Özaksüt ile birtlikte Teknolot'u tekrar canlandırma kararı aldık. Bunun ilk adımınıda bir etkinlik düzenleyerek yapalım dedik. Etkinlik...

Kırklareli Üniversitesi TechDay 2

Merhaba, Kırklareli Üniversitesi’nde düzenlenen TechDay 2 etkinliğine davetliydik. Etkinlik hem yazılım geliştirme hem de devops üzerine olduğu için ben de d...

Mersin Üniversitesi Cross-platform’da Mobil Uygulama Geliştirme Çalıştayı

Erdemli Uygulamalı Teknoloji ve İşletmecilik Yüksekokulu (UTİYO) tarafından “Cross-Platform’da Mobil Uygulama Geliştirme” başlıklı uygulamalı çalıştay düzenl...