Lucene.Net ile arama

Bir e-ticaret projesi yaptığınızı düşünün. Arama sayfasınız nasıl yapardınız? Input'a "Asus" kelimesi girdiğinde yapacağınız en şey an basit haliyle aşağıdaki sql sorgusunu çalıştırmak olacak.

Select * from dbo.Urun where dbo.Urun.Adi like '%Asus%'

Bu sorgu 1000 belki 10.000 ürün bulunan bir tablo için çok yorucu olmayabilir. Peki ya tablonuzda 500.000 ürün varsa?  Yaptığınız arama çok fazla performans kaybına ve kullanıcının saniyelerce beklemesine neden olabilir. İşte bu gibi durumları aşmak için kullanılan bir kütüphane Lucene.  Lucene.Net ise orjinali Java olan Lucene'nin C# ile yazılımış ve .Net geliştiricilerinin kullanımına sunulmuş .Net portu. Continue reading “Lucene.Net ile arama”

Design patterns notları -1- factory pattern

Bundan birkaç gün önce Wrox'un Asp.Net Design Patterns kitabını okumaya başladım. Mvc kitaplarını bitirdikten sonra, mvc'yi hatim ettim diyemesem de bir sonraki aşama olan design patterns konusuna giriş yapmak istedim. Yazılım mühendisliği alanında ilerlemek, gelişmek istiyorsanız bu konuları bilmeniz gerekiyor. Lafı fazla uzatmadan konuya gelmek istiyorum. Factory pattern, adından da anlaşılacağı üzere fabrika gibi çalışan bir sistem. Kitapta verilen örneğe benzer bir örnekle anlatmak istiyorum. Projeyi buradan indirebilirsiniz.  Continue reading “Design patterns notları -1- factory pattern”

Anasayfanız kullanıcılara ne söylüyor (Alıntı)

Dün rss reader'da blogları okurken Bokardo'da bu yazıyı görünce paylaşmam gerektiğini düşündüm. Web sayfalarının kullanıcı ile etkileşimini mizahi bir şekilde anlatıyor yazı. Blogun sahibi, tasarım yaparken genellikle tasarladığı sayfayı bir insan gibi düşünüp, kullanıcı ile yüz yüze bir diyalog kurduğunu hayal ediyormuş. Yazıda da bir sitenin ziyaretçisi ile sitenin anaysayfası arasındaki etkileşimi diyalog şeklinde anlatmış. Anayasafalarda ve diğer alt sayfalarda kullancıya yeteri kadar bilgi verilmemesininden ve sürekli yapılan"şimdi üye ol (signup now)" baskısından bahsetmiş :) Continue reading “Anasayfanız kullanıcılara ne söylüyor (Alıntı)”

Bilişim çalışanı olmadan önce vermeniz gereken 9 söz

Bugün nette gezinirken Midnight Programmer blogunda gördüğüm yazı ilgimi çekti ve paylaşmak istedim. Mizahi bir şekilde, bilişim alanında çalışmanın zorluğundan bahsetmiş. Yazıda yer alan 9 sözü verebilmeniz, bilişim alanında çalışmaya başladıktan sonra pişman olmayacağınız anlamına geliyor.  Continue reading “Bilişim çalışanı olmadan önce vermeniz gereken 9 söz”

HtmlAgilityPack ile html parsing – C#

Geçtiğimiz günlerde html parsing ile ilgili küçük bir program yapmagerekiyordu. Biraz araştırdıktan daha önce de olduğu gibi html parsing içinde codeplex'te bir kütüphane bulmuştum. (we <3 codeplex) Bu yazıda Html Agility Pack kullanarak basit bir parser'ın nasıl yapılacağı hakkında bilgi vermek istiyorum. Öncelikle yeni bir windows application oluşturup Nuget Package Manager'dan HtmlAgilityPack paketini projeye referans ediyoruz. Ya da isterseniz buradan dll olarak indirip projeye ekleyebilirsiniz. Örnek uygulamayı buradan indirebilirsiniz. 

Entity Framework CodeFirst pluralizing sorunu

Projenizde EF Codefirst kullanıyorsanız eğer pluralizin sorunu ile karşılaşacaksınızdır. Şöyle ki mesela "Ogrenci" isimli bir tablonuz olsun. Siz bu tablonun model sınıfına  "Ogrenci" adını verin. EF veritabanında "Ogrencis" isimli bir tablo arayacaktır. Veritananındaki tablonuzun ismi "Ogrenci" olduğu için de böyle bir tablo yok diye bir hata verecektir. EF, model isimlerinin sonuna s(çoğul) takısı takarak veritabanına bakar. Bunu çözmek için aşağıdaki gibi context sınıfınıza bir kod parçası yazmanız gerekiyor.  Continue reading “Entity Framework CodeFirst pluralizing sorunu”