27 Aralık 2010 Pazartesi

Arama Stratejisi Oluşturma


İnternette arama yapılmadan önce bir arama stratejisi kullanmak verimli sonuca ulaşılmasını sağlar. Arama motorlarında aramaya başlanmadan önce araştırılacak olan konuyla ilgili anahtar kelimelerin belirlenmesi ve bu kelime veya kelimelerin kullanılması istenilen sonuca en yakın bilginin karşımıza çıkmasında önemlidir. Arama motoruna girdikten sonra, sitede arama yapmak için gösterilen kutuya arama yapılması istenen kelimeler girilir ve yanında bulunan "Ara", "Ara-Bul", "Arama" düğmesine tıklanır. Arama için önce bir kelime, eğer aranılan bulunamadıysa aranılan kelimeyle ilgili birkaç kelime veya cümle girilir. Bu arama kelimelerini girerken "ve, veya, net" gibi olağan kelimelerden uzak durulmalıdır. O kelimeler her sitenin içeriğinde bulunan kelimelerdir ve sonuç olarak doğru arama sonucunu getirmez.

"using computers to manufacture cars'' konusu ile ilgili şöyle bir anahtar sözcük çalışması yapılabilir:

Anahtar Sözcükler Anahtar Sözcüklerin Diğer Biçimleri Eş Anlamlı ve İlgili Sözcükler
computers computer, computing
technology, automation, robots
manufacture manufacturing, manufacturer, manufacturers build, construct, produce
cars car automobiles, automobile, vehicles

Kelimelerin yazılma biçimi arama sonuçlarını büyük bir oranda etkiler. Anahtar kelimelerin doğru biçimde yazılması çok önemlidir. Hatalı heceleme veya yazım tarama sonuçlarını değiştirebilir. Kelime yanlış yazılır veya hecelenirse ihtiyaç duyulan kaynaklar bulunamaz.

Arama yaparken, özel olmaya, mümkün olduğunca aranılan bilgiyi belirtecek sıfatlar kullanmaya, arama yapılacak konu ile ilişkili en az üç kelime kullanmaya dikkat edilmesi gerekir. Bu şekilde, araştırılan konu hakkında daha detaylı ve ilişkili bir bilgiye sahip olunabilir.
Arama yapılacak olan konu genel bir konu olabileceği gibi daha özel de olabilir. Aranılan konu özel bir bilgi ise, arama motorlarını, genel bir konu hakkında ise, Web dizinini kullanmak en yakın sonuca ulaşılmasında daha faydalı olur. Ayrıca, arama motorlarında kullanılan bazı operatör ve işaretler de sonuca ulaşmada etkilidir.

Özel olarak, Windows Vista, daha fazla anahtar kelime kullanarak da "Windows Vista işletim sistemi" 'ni ele alabiliriz:

•( + ): Öncesinde kullanıldığı kelimeyi vurgular: +Windows +Vista +işletim +sistemi

•( “ ” ): Anahtar olarak yazılan kelime birden fazlaysa ve kelimelerin yanyana aranması isteniyorsa kelimelerin iki tırnak arasına alınması yeterlidir. “Windows Vista” gibi.

•( * ) ya da ( ? ): Tam olarak hatırlanmayan bir kelimenin devamının bulunmasını ya da onunla bağlantılı kelimelerin bulunmasını sağlar.
•( - ): Arama sonucunda istenmeyen bir kelime varsa arama sonucundan o kelimeyi çıkartmak için kullanılır: Windows–Vista
•filetype: Dosya uzantılarına göre arama yapılan bu komutla, arama kriterini içeren bilgilere ait dokümanlara ulaşabilir. Örneğin: [filetype: pdf ‘MacOS X’] yazıldığında MacOS X kelimesinin geçtiği 11.700 adet .pdf dosyasına ulaşılabilir.
•allintitle: Bu komut, arama kriterinde yer alan kelimelerin tamamının, İnternet tarayıcısının başlık çubuğunda yer almasını şart koşar. Örnek olarak, [allintitle:’Flash Movies’] şeklindeki arama kriterinin sonucu olarak, Web sayfasının başlık bilgisi üzerinde "Flash Movies" kelimeleri geçen sayfalar listelenir.

•intitle: "allintitle" komutundan farklı olarak, ilk arama kriterini başlık satırında aranır, diğer kelimeler ise metin içerisinde kontrol edilir.

•allinurl: Bu operatör, arama kriterine ait kelimeleri İnternet adres satırındaki kelimeler içerisinde arar.

•inurl: İlk arama kriterini adres satırında arar.

•cache: Listelenen Web sayfalarına ait sunuculara ulaşılamadığı durumlarda, "cache" operatörü kullanılarak ilgili sayfaya arama motorunun daha önce indekslediği bilgiler üzerinden ulaşılabilir.

•site: Bu operatör kullanılarak herhangi bir Web sitesi içerisinde arama yapabilir. Örneğin: [site:www.macline.com.tr Adobe] kriteri girildiğinde, "Macline" Web sitesi içerisinde "Adobe" kelimesi geçen sayfalara ulaşılabilir.

•Link: Bu komut kullanılarak herhangi bir Web sitesine hangi sayfalardan link verildiği öğrenilebilir.
Bu operatörler tek başlarına kullanılabildiği gibi, bir arada da kullanılabilmektedir. Örnek vermek gerekirse:
[intitle:Fiyat Listesi filetype: pdf]
[intitleVD Video filetype: pdf]
[site:edu intitle:science]


Kaynak Site : http://www.halilsunter.com/category/Arama-Stratejisi-Olusturma.aspx
Yunus Emre Web Developer

Morbi aliquam fringilla nisl. Pellentesque eleifend condimentum tellus, vel vulputate tortor malesuada sit amet. Aliquam vel vestibulum metus. Aenean ut mi aucto.

23 Aralık 2010 Perşembe

c# ile Singleton Tasarım Deseni


Önce Design Pattern ı kısaca açıklamak gerekirse,günümüz nesne yönelimli programlama aşamalarında ortaya çıkan problemler için uygulanan çözümlerdir diyebiliriz.

Bu yazımda kısaca Singleton Tasarım Deseninden(Singleton Pattern) bahsedicem.
Temelinde nesneleri birden çok kez oluşturulmasındansa birkez oluşturup sonraki aşamalarda bu oluşturulan nesnenin örneğini kullanmamızı sağlayan desendir.
Şimdi bunu bir örnek ile açıklayalım :

Bazen uygulamalarımızda nesneleri(Sınıfları) bir çok kez çağırır onlarla işlem yaparız.Mesela Windows uygulamalarında user control kullandığımız bir windows form uygulaması düşünelim, kullanıcı her tıkladığında UserControl ü tekrar oluşturup içerik kısmına yükleriz.Ve o formdaki bütün nesneler gridler tekrardan oluşturulur.

Bu tasarım deseni ile bunun önüne şu şekilde geçebiliriz :

Bir windows form u düşünelim adı "KitapKayit" olsun.
Birde buton olsun her tıklandığında "KitapKayit" formunu oluşturan ve show ile gösteren..

//Normalde uygulanan yöntem

private void BtnKitapKayitGoster_Click(object sender, EventArgs e)
{
//KitapKayit nesnesi butona her tıklandığında oluşuyor.
KitapKayit formKitapKayit =new KitapKayit();
formKitapKayit.Show();
}

//Singleton Tasarım Deseni ile

KitapKayit.cs içerisine aşşağıdaki kod satırı eklenir:

//Yanlızca bu sınıfta çağrılabilmesi için private olarak içinde bulunduğumuz form türünden bir nesne tanımlıyoruz.
private static KitapKayit instance;

public static KitapKayit Instance()
{
//Eğer sınıf ilk defa oluşturuluyor ise bir kez oluşturuluyor.Eğer null deil ise daha önce oluşturulmuş instance(KitapKayit nesnesi) gönderiliyor.
if(instance==null)
{
instance = new KitapKayit();
}

return instance ;

}

şimdi tekrar formu çağırdığımız yere butonun click olayını yazalım :

private void BtnKitapKayitGoster_Click(object sender, EventArgs e)
{
//KitapKayit nesnesinin örneği sınıf içerisinden çağrılıyor.İlk defa butona tıklanmış ise form oluşturulucak.Daha sonraki tıklamalarda ilk aşamada oluşan form un örneği getirilicek. :)
KitapKayit formKitapKayit =KitapKayit.Instace();
formKitapKayit.Show();

}

Bu tasarım desenini uygulamalarınızda geliştirerek kullanırsanız eminim belli bir ölçüde performans artışı olduğunu göreceksiniz.

Umarım Faydalı Olmuştur.
Yunus Emre Web Developer

Morbi aliquam fringilla nisl. Pellentesque eleifend condimentum tellus, vel vulputate tortor malesuada sit amet. Aliquam vel vestibulum metus. Aenean ut mi aucto.

9 Aralık 2010 Perşembe

Stored Procedure ' e Out parametresi Ekleme


Bir stored procedure yazarken eğer output parametre eklemek istersek output anahtar sözcüğünü kullanarak şu şekilde bunu kullanabiliriz.
Örnek olarak bir ürün tablosuna ürün ekleyen bir procedure yazıcaz.
procedure Adı : spUrunEkle
bu procedure de @outProductID geriye ürünID si olarak bir değer döndürücektir bize çalıştıktan sonra.


CREATE PROCEDURE spUrunEkle
(
@urunKodu int,
@urunAdi nvarchar(50)
@outProductID int output--eklenecek ürünün ID si
)
AS
BEGIN
INSERT INTO Urun (urunKodu,urunAdi) VALUES(@urunKodu,@urunAdi)

SELECT @outProductID = Scope_Identity()--yeni eklenen ürünID si out parametresine atanıyor

END


Normalde ürün ekleyen bir stored procedure de direk değer geriye döndürülür output parametre olarak verilmez ama benim aklıma en basit bu geldiği için bir hello world yapmak istedim. :)

Umarım Faydalı olmuştur.
Yunus Emre Web Developer

Morbi aliquam fringilla nisl. Pellentesque eleifend condimentum tellus, vel vulputate tortor malesuada sit amet. Aliquam vel vestibulum metus. Aenean ut mi aucto.