Skip to main content

· 2 min read

Merhabalar, Bir süredir çok severek kullandığım ve işinize yarayacağını düşündüğüm bir tarayıcıdan bahsetmek istiyorum. Teorik olarak bir tarayıcı olsa da aslında bir link dağıtıcısı demek daha doğru tanımlama gibi geliyor bana. Kısaca Finicky, bilgisayarınızda tıkladığınız herhangi bir bağlantıyı belirttiğiniz tarayıcıda açabilmenizi sağlıyor.

· 2 min read

As you guess, uploading files to database is not a good option after increasing processes. So, I need to upload files to a file system. I didn't use Azure Storage before, but as I heard, It's very useful and comfortable tool.

· 2 min read

Veritabanındaki bir tabloya atılan dosyalar tahmin edeceğiniz üzere bir süre sonra kullanışsız olmaktadır. Yüzlerce resim dosyası yükleneceği ile ilgili bir iş geldiğinde ise dosyaları tabloya değil de bir dosya sistemine atmanız gerekecektir.

· 2 min read

Importing data correctly from a web page is very important for a developer. We use masks, functions, regexes, etc. In these days, I start to use pattern attribute of HTML input element. It's very useful.

· 2 min read

Bir projemde AspNetZero framework'ünü kullanıyorum. Dokümanını kontrol ettiğimde Tenant, User ve Role sınıflarının kolaylıkla genişletilebilir olduğunu farkettim. Benim ihtiyacım ise Organization Unit sınıfı ile ilgiliydi. Non-Abstract sınıfların genişletilmesi ile ilgili bir doküman bölümü vardı, ancak hemen gözüm kesmedi. Biraz daha forumlarda issue'ları kontrol ettikçe temiz bir şekilde dokümanı takip ederek bu ek özellikleri ekleyebilirim gibi geldi ve devamında işe koyuldum.

· 2 min read

I use AspNetZero framework on my project. I see that Tenant, User and Role entities are abstract, but others are not abstract after I checked the document. I need to extend the organization unit entity to add an address column. I couldn't write the code immediately, but I started to change after read several issue and answers on the forums.

· 6 min read

Bilgisayarımızdaki statik bir web sitesinin, bir repository'ye gönderdiğimiz andan başlayan, bir pipeline tarafından dosyaların storage'a kopyalanarak devam ettiği ve ücretsiz SSL'i, güvenlik duvarı olan bir domain üzerinde yayınlanmasına kadar ki bütün sürecinin otomatize edildiğini hayal edelim? Hayal etmekle kalmayıp başlayalım!

· 3 min read

Perde 1: Efsane Klavye

-Abi, Amerikalılar'ın Das Keyboard diye bir markası var. Mekanik klavyelerin Mercedes'i BMW'si diyorlar. Ben ürünlerine baktım, hepsi birbirinden güzel. Çok kullananı ve seveni var. Sen biliyor musun?

· 4 min read

2011 yılından itibaren aktif olarak yazılım ile uğraşıyorum. Bu süreçte tahmin edersiniz ki günde yaklaşık 8-10 saat bilgisayar başında üç temel donanımla temas halinde oluyorum. Klavye, fare ve monitör. Meslek hayatında yıllar ilerledikçe kullandığım bu donanımların daha kaliteli olması, bana süper kod yazdırmıyor ama yazdığım kodu keyifli halde yazmamı sağlıyor. Kaliteli bir monitör sizi daha çok doküman okumaya, keyifli bir klavye sizi daha çok kodlama denemesi yapmaya ve ergonomik bir fare daha çok gezinmeye teşvik edebilir.

· 3 min read

Yaklaşık olarak 1.5 yıl önce aldığım ilk aracımın muayenesi kontrol edince bir hafta geçtiğini gördüm. Öğrendim ki ay başına %5 ceza ekleniyormuş muayene ücretine. TüvTürk'ün sitesinden 19.06.2019 Çarşamba günü saat 08:45 için randevu aldım. %5 cezası ile birlikte ₺273 civarında bir tutar göründü. Kaydımı tamamladım.

· 5 min read

Seveni sevmeyeni olsa da, bir yazılım geliştiricisi olarak GitHub'ı çok seviyorum. Kod denemelerimi, büyük/küçük projelerimi GitHub'da tutmaktan da hoşlanıyorum. Kişisel blog denemelerim geçmişte Blogger'da, Wordpress'de, Medium'da olsa da hiçbiri GitHub'da olması kadar memnuniyet duyurmadı bana. Tam da olması gereken yerde hissettiriyor. Bunu engelleyemiyorum. 🤭 Bu fikir üzerine araştırmaya başlayınca GitHub Pages tarafından desteklenen Jekyll projesini GitHub repo'mda host edebileceğimi öğrenince başladım çalışmaya.

· 4 min read

SOAP servislerini bilirsiniz. HTTP protokolü üzerinde XML tabanlı çalışır. URL'in sonuna WSDL eklersiniz ve bütün şeffaflığı ile neyi var neyi yok size gösterir. Yıllardır milyarlarca veriyi oradan oraya, buradan şuraya taşıyan ve günümüzde azalarak da olsa taşımaya devam eden bu servisler, yerini yeni çocuk RESTful servislere bırakıyor ancak, birçok yerde yine bir SOAP servis url'i çıkıyor ve bu servisi projenize entegre etmeniz gerekiyor.

· One min read

Bir kodun 7/24 çalışır durumda olması beni hep heyecanlandırmıştır. Windows servisleri, zamanlanmış görevler veya IIS'deki web uygulamasında kullanılan HangFire gibi üçüncü parti ürünler bu işler için tasarlanmıştır. Bir windows servisi bilgisayara yüklerken hata silsilesi ile karşılaşınca bu adımları paylaşmak istedim. Bu denemelerimde kullanıcı hatası, yetkisiz giriş, hesaplar arasında mapping yok gibi uyarılar aldım. Sonunda windows servisi kurabildim.

· One min read

Yazılım projenizde ORM olarak Entity Framework (EF) kullanıyorsanız, bazen veritabanının gücünü kullanmak, EF ile uğraşmak istemeyebilirsiniz. Bazen çekmek istediğiniz verinin yükünü SQL’e atmak istersiniz. İşte böyle anlardan biri olarak veritabanındaki fonksiyonu EF üzerinden çağırmanız gerekebilir.

· 2 min read

Büyük bir yazılım projesi hayal edin. Onlarca sınıf ve yüzlerce metot… Bu kalabalıkta hataları yakalamak kolay olsa da hatayı kimin yaptığını bulmak biraz zor oluyor. İç içe onlarca metot çağrısından sıyrılarak hatanın tam olarak hangi sınıfın hangi metodunun hangi satırından kaynaklandığını Stack Trace aracılığı ile bulmak, bu zorluğu oldukça kolaylaştırdı benim için.

· 4 min read

[Log4Net], geliştirmekte olduğun yazılımına entegre edebileceğin, adımları, hataları loglama imkanı sağlayan üçüncü parti bir eklentidir. Bu sayede uygulama çalışırken yakalayamadığın hataları senin yerine yakalayabilir, bunları veritabanına veya bir dosyaya kaydedebilir. Üstelik bunları arkaplanda belirli aralıklarla (isteğe bağlı ayarlanan sıklıkla) kaydeder. Uygulama log4net’den dolayı herhangi bir hata görüntülemez. İstersen belirli aşamaları bilgi amaçlı kaydedebilirsin. Hesaplama algoritması başladı., Bütün şubeler işlendi gibi hareket logları da kaydetmesini sağlayabilirsin. Log4Net’in ASP.NET MVC projesine entegrasyonun anlatacağım. İlk olarak tabii ki Nuget’ten [Log4Net]’i Nuget'ten projeme ekliyorum.

· One min read

Bir EntityFramework’üm olsa hangi tabloyu generate edip etmeyeceğini bana sorsa ne güzel olur dedim ve aşağıdaki gibi birşey öğrendim.

Modelim.Context.cs dosyasında her tablonun oluşturulduğunu göreceksiniz. Öncelikle buraya eklenmesini engellemem gerek. Bunun için Modelim.Context.tt dosyasındaki iki adet döngüye müdehale etmem gerekiyor.

· 3 min read

Profesyonel olarak yazılım geliştirmek için Build Server bana havalı gelen birşeydi. Ben Visual Studio’da kodu yazıp deleyeceğim ve sağ tık gönder diyince sunucuya gidecekti. Duyduğumda hakikaten bayağı hoşuma gitmişti. Şu aralar iş biraz başa düşünce öğrenmek zorunda kaldığım işlerden biri bu oldu. Build Server’ı yeni oluşturduğumuz ekip için ayağa kaldırma işi de bana kaldı. Ben de yeni öğrendiğim bu güzel şeyi nasıl yaptığımı anlatayım dedim. Şimdi senaryomuz şu; bir yazılım geliştirme ekibimiz ve bir tek veya birden fazla IIS’e sunulacak projemiz var. Yazılım geliştirici kardeşlerim de kodunu yazıp bilgisayarında derledikten sonra hooop derlenen dosyalar sunucuda. Hadi yapalım şu işi.