30 Ekim pagerank güncelleme 2009

Uzun zamandır beklenen pagerank güncellemesi gece başlamış ve çoğu pagerankı değişen sitenin’de yavaş yavaş pagerankları sabitlenmiş. Haziran ayının sonlarından itibaren yazmaya başladığım http://turkcekaynak.net açıldığı günden bu yanaki ilk güncellemeyi es geçmiş olup şimdiki güncellemede pr 2 olmuştur. Bizi ziyaret edenleri teşekkür ederim.

C#’da ArrayList Sınıfının Kullanımı

ArrayList C#’ta bir class’dır. Diğer classlar gibi Arraylist’i de kullanabilmemiz için yavru değişkenini türetmeliyiz. Arraylist aslında bir dizidir.Fonksiyonlar çalışırken arkaplanda birden fazla dizi çalışır. Arraylist’i bir otosbüsü bekleyen yolcu kuyruğuna benzetebiliriz. En son gelen en arkaya geçer. Arraylist için de böyledir. En son eklenen eleman en son indisli elemandır. Eleman eklendikçe Arraylist de büyür, eleman sayısında bir sınırlama yoktur. Arraylist’in eleman türü object’tir. Bunu ilk örnekte daha iyi anlayacaksınız. Arraylist için şimdilik bu ön bilgiler yeterli. İsterseniz hemen Arraylist fonksiyonlarına geçelim.

ArrayList oluşturabilmek için projemize using System.Collections kodunu da eklemeliyiz. Bu kodla System.Collections kütüphanesini çağırmış oluruz.

Add Fonksiyonu:

ArrayList class’ından oluşturduğumuz yavru değişkene bir eleman eklemek için kullanılır. Mesela:

private void button1_Click(object sender, EventArgs e)
{
   ArrayList diziListe = new ArrayList();
   int[] dizi = new int[5] { 1, 2, 3, 4, 5 };diziListe.Add(dizi[2]);// diziListe'nin ilk elemanı 3 olur
   diziListe.Add(12); // diziListenin ikinci elemanı 12 olur
   diziListe.Add("kelime"); // dizilistenin üçüncü elemanı kelime stringi olur
   this.Text = diziListe[0].ToString();// Form'un başlığına 3 yazar
   this.Text = diziListe[1].ToString();// Form'un başlığına 12 yazar
   this.Text = diziListe[2]; // Form'un başlığına kelime yazar
}

Burada dikkat edilmesi gereken ilk nokta Add fonksiyonu ile Arraylist’e aynı anda sadece bir eleman ekleyebilmemiz. İkinci önemli nokta ise hem bir integer değeri ekledik hem de bir string değeri ekledik. Buradan da analaşılacağı üzere oluşturduğumuz Arraylist’e object türünde değerler atabiliyoruz. Mesela biz burda diziListe isimli yavru değişkene bool, double, float, string, byte, hatta Button, listBox türünde nesneler de ekleyebiliyoruz çünkü object türü değişken hepsini kapsayabiliyor.

AddRange Fonksiyonu:

AddRange fonksiyonu Add fonksiyonuna benzemektedir. Aradaki tek fark Add ile sade bir değeri ekleyebiliyorduk. AddRange ile ise Arraylist’e bir dizinin tamamını ekleyebiliriz.

private void button1_Click(object sender, EventArgs e)
{
    ArrayList diziListe = new ArrayList();
    int[] dizi = new int[5] { 11, 21, 34, 56, 74 };
    diziListe.AddRange(dizi);textBox1.Text = diziListe[2].ToString();// textBox1’in içine 34 yazar
}

Burada bir noktayı hatırlatalım, listBox’ın elemenları da bir dizidir. Yani şunu da yapabilirdik:

diziListe.AddRange(listBox1.Items);

Bu kod ile listBox içindeki bütün değerleri Arraylist’imizin içine ekleyebiliriz.

Clear Fonksiyonu:

Arraylist içindeki bütün elemanları silmek için kullanılan bir fonksiyondur.

private void button1_Click(object sender, EventArgs e)
{
   ArrayList diziListe = new ArrayList();
   int[] dizi = new int[5] { 11, 21, 34, 56, 74 };
   diziListe.AddRange(dizi);diziliste.Clear();// diziListe'nin içine tamamen temizler
   extBox1.Text = diziListe[2].ToString();// hata verir
}

Contains Fonksiyonu:

Fonksiyona parametre olarak verilen değişkenin Arraylist içinde olup olmadığına bakar. Eğer var ise true yok ise false döndürür.

private void button1_Click(object sender, EventArgs e)
{
   ArrayList diziListe = new ArrayList();
   int[] dizi = new int[5] {1,2,3,4,5 };
   diziListe.AddRange(dizi);
   if (diziListe.Contains(Convert.ToInt32(textBox1.Text))==true)
   {
        MessageBox.Show("girilen değer diziListe içinde mevcut");
   }
   else
   {
       MessageBox.Show("girilen değer diziListe içinde yok");
   }
}


Count Fonksiyonu:

Arraylist’in eleman sayısını döndüren fonksiyondur.

private void button1_Click(object sender, EventArgs e)
{
   ArrayList diziListe = new ArrayList();
   int[] dizi = new int[] {1,2,3,4,5,6 };
   diziListe.AddRange(dizi); textBox1.Text = diziListe.Count.ToString();//textBox1'in içine 6 yazar
}

IndexOf Fonksiyonu:

Arraylist içinde istediğimiz elemanı aramak için kullanırız. Fonksiyonun üç farklı kullanımı vardır. En genel olanı parametre olarak sadece aranan elemanın kendisini alanıdır. Eğer aranan eleman Arraylist içinde var ise elemanın indis numarasını, yok ise -1 döndürür. IndexOf fonksiyonu aramaya Arraylist’in başından başlar.

private void button1_Click(object sender, EventArgs e)
{
   ArrayList diziListe = new ArrayList();
   string[] dizi = new string[5] {"aa","bb","cc","dd","ee" };// fonksiyonun parmetresi aradığımız elemandır
   diziListe.AddRange(dizi);
   int sıra; sıra = diziListe.IndexOf("cc", 0, diziListe.Count - 1);
   textBox1.Text = sıra.ToString();
}

LastIndexOf Fonksiyonu:

IndexOf fonksiyonu gibi Arraylist iinde herhangi bir elemanı aramak için kullanılır. IndexOf’tan farkı aramaya sondan başlamasıdır. Elaman sayısı çok fazla olan Arraylist’lerde aradığımız eleman sonlara daha yakınsa bu fonksiyon bize hız kazandırır. Eğer aranan eleman Arraylist içinde var ise elemanın indis numarasını, yok ise -1 döndürür.

private void button1_Click(object sender, EventArgs e)
{
   ArrayList diziListe = new ArrayList();
   string[] dizi = new string[5] {"aa","bb","cc","dd","ee" };
   diziListe.AddRange(dizi); int sıra; sıra = diziListe.LastIndexOf("dd", 0, diziListe.Count - 1); // Aramaya sondan başladığı için elemanı ikinci seferde bulur. Eğer IndexOf kullansaydık elemanı üçüncü seferde bulacaktı.
   textBox1.Text = sıra.ToString();
}

Insert Fonksiyonu:

Arraylist içinde herhangi bir aralığa eleman eklemek için kullanırız. Araya eleman eklediğimiz için Arraylist’in eleman sayısı da artmış olur (tıpkı otobüs beklerken birinin araya girmesi gibi). Fonksiyonun ilk parametresine elemanı eklemek istediğimiz indis numarasını, ikinci parametreye ise elamanı yazarız.

private void button1_Click(object sender, EventArgs e)
{
   ArrayList diziListe = new ArrayList();
   string[] dizi = new string[5] { "aa", "bb", "cc", "dd", "ee" };// diziListe.AddRange(dizi);
   diziListe.Insert(2, "ff"); // diziListenin 2 numaralı indisine ff ekledik. diziListenin eleman sayısı 6 oldu.
   textBox1.Text = diziListe[2].ToString(); // textBox1'in içine ff yazar.
}

InsertRange fonksiyonu:

Fonksiyonun Insert fonksiyonunda tek farkı araya birden fazla elemanı bir seferde ekleyebilmesidir.

private void button1_Click(object sender, EventArgs e)
{
   ArrayList diziListe = new ArrayList();
   int[] dizi = new int[5] { 0, 1, 2, 3, 4 };
   diziListe.AddRange(dizi); int[] eklenecek=new int[3]{ 10, 11, 12 };
   diziListe.InsertRange(2, eklenecek); // diziListenin 2 numaralı indisinden sonra {10,11,12} dizisini ekledik. diziListenin eleman sayısı 8 oldu. // diziListenin son hali{0,1,10,11,12,2,3,4,5} şeklidedir.
   textBox1.Text = diziListe[2].ToString(); // textBox1'in içine 10 yazar.
}

Remove Fonksiyonu:

Fonksiyona parametre olarak girilen elemanı Arraylist’in içinde bulur ve siler. Arraylist’in eleman sayısı 1 azalmış olur.

private void button1_Click(object sender, EventArgs e)
{
   ArrayList diziListe = new ArrayList();
   int[] dizi = new int[5] { 0, 1, 2, 3, 4 };
   diziListe.AddRange(dizi);
   diziListe.Remove(3)textBox1.Text = diziListe[3].ToString(); // textBox1'in içine 4 yazar.
}

RemoveAt Fonksiyonu:

Remove fonksiyonundan tek farkı parametre olarak elemanı değil elemanın indis numarasını almasıdır.

private void button1_Click(object sender, EventArgs e)
{
   ArrayList diziListe = new ArrayList();
   int[] dizi = new int[5] { 7, 8, 9, 10, 11 };
   diziListe.AddRange(dizi); diziListe.Remove(2);
   textBox1.Text = diziListe[2].ToString(); // textBox1'in içine 10 yazar.
}

Reverse Fonksiyonu:

Arraylist’in eleman sıralamasını tersine çevirmek için kullanılır.

private void button1_Click(object sender, EventArgs e)
{
   ArrayList diziListe = new ArrayList();
   int[] dizi = new int[5] { 7, 8, 9, 10, 11 };
   diziListe.AddRange(dizi); diziListe.Reverse();// dizi bundan sonra {11,10,9,8,7} halini alır.
   textBox1.Text = diziListe[2].ToString(); // textBox1'in içine 9 yazar.
}

Sort Fonksiyonu:

Arraylist’in elamanlarını küçükten büyüğe doğru sıralamak için kullanılır. Eğer elemanlar string tipinde ise alfabetik sıralama yapar.

private void button1_Click(object sender, EventArgs e)
{
   ArrayList diziListe = new ArrayList();
   string[] dizi = new string[4] { "Ankara", "İzmir", "İstanbul", "Gaziantep" };
   diziListe.AddRange(dizi); diziListe.Sort(); //dizinin son hali {"Ankara","Gaziantep","İstanbul","İzmir"} şeklinde olur.
   textBox1.Text = diziListe[3].ToString(); // textBox1'in içine İzmir yazar.
}

Windows media player ne dinliyorum

Uzun zaman önce windows live messengeri bir üst sürümüne yükseltmiştik bununla beraber gelen bazı sorunlar var. Bunlardan bir tanesi olan ne dinliyorum özelliği aslına bakarsanız eklentiyi indirmeniz yeterli olacaktır. Kısaca açıklamak gerekirse;

Windows live messenger üzerinden ne dinliyorumu aktifleştirdikten sonra windows media player’dan da seçeneklerden (options) eklentileri seçin daha sonra orada ne dinliyorum özelliğini indirin. İşte bu kadar !

Google’de en çok aranan kelimeler

Ülkemizde internet denilince akla gelen ilk site olan google hiç süphesiz hem site sahipleri için hemde ziyaretçiler için en önemli kaynaktır. Ziyaretçilerin aradıklarını kolaylıkla! bulabilmelerinden dolayı tercih etmesi sebebiyle site sahipleri de google büyük önem vermektedir. Neredeyse sitemize gelen hitin pastasındaki en büyük dilim google arama sonuçlarından gelen misafirlerdir. Peki bu ziyaretçiler neler aratarak sitemize geliyorlar ?

Aslında net olarak google’da en çok aratılan kelimeler diye bir liste sunamayız ancak yılın son aylarında google o sene istastiklerine bizlere sunmaktadır ki buradan o kelimenin yıllık arama hacmini öğrenebiliyorsunuz. Peki bunlar genelde neler oluyor ? Örneğin senenin belli aylarında haziran ayında “sınav sonuçları” aratımı çok yaygın olur. Buradan da anlaşılacağı üzere kimse eylül ayında sınav sonucu diye aratmaz çünkü ortada girilmiş bir sınav yok. Yani bazı kitle kelimeler dönemliktir ve bu dönem sonunda pek aratılmaz. Bu dönemlerde o kelimelere yoğunlaşmaz iseniz google’dan bu aramadan ziyaretçi beklemeyin!

QueryString ile bilgi taşıma

ASP.NET ‘de sayfalar arası bilgi taşımak için kullanılan yollarından biridir. Aynı zamanda en basit olanıdır. Birçok siteyi gezdiğinizde url kısmında anlamsız şeyler görürsünüz. Url’leleri daha anlamlı kılmaya çalışacağız. İsterseniz bunu daha detaylı olarak inceleyelim. Şimdi bir ASP.NET projesi açalım. İçinde default.aspx ve default2.aspx adında iki sayfa olsun. Defaul.aspx sayfasına da bir buton ve iki adet de textbox atalım.

Şimdi Buton’a çift tıklayarak aşağıdaki kodları yazalım.

protected void Button1_Click(object sender, EventArgs e){

Response.Redirect("default2.aspx?bilgi=" + TextBox1.Text);// TextBox1 deki bilgiyi alarak default2.aspx sayfasına yönlendirir.

}

Burada textBox1 içindeki değeri alıp bunu query string içinde default2.aspx sayfasına taşıyoruz.

Şimdi default2.aspx sayfasına çift tıklayarak page_load olayına gidelim. Ve aşağıdaki kodları yazalım.

protected void Page_Load(object sender, EventArgs e)

{

string gelen= Request.QueryString["bilgi"].ToString(); //QueryString içerisindeki bilgi isimli değeri okuyoruz ve bunu bir string değişkene atıyoruz.

Response.Write(gelen); // QueryString'den aldığımız gelen bilgiyi sayfaya yazdırıyoruz.

}

Bu kodla da default.aspx sayfasından query string ile yolladığımız bilgi değerini okuyup bunu sayfaya yazdırıyoruz. F5 ile projeyi çalıştırıp deneyin. Textbox1 içine yazdığınız değerin default2 sayfasına yazılmış olduğunu göreceksiniz.

Şimdi de birden fazla değeri nasıl yolayacağımıza bakalım. Bu sefer buton’un click olayına aşağıdaki kodları yazalım.

protected void Button1_Click(object sender, EventArgs e)

{

Response.Redirect("default2.aspx?bilgi=" + TextBox1.Text + "&bilgi2=" + TextBox2.Text); // TextBox1 ve TexBox2 deki bilgileri alıp default2.aspx sayfasına yönlenir.

}

Gördüğünüz gibi iki farklı değeri query stirng ile taşıdık. texBox1 içine yakup, textBox2 içinde de buğra yazdığımızı varsayarsak sorgu şu şeklde oluyor:

default.aspx?bilgi=yakup&bilgi2=bugra
Burdaki & karakteri iki farklı bilgiyi birleştirmek için kullanılır. O halde kaç farklı bilgi gönderirsek ona göre aralara & karakteri koymalıyız.

Default2.aspx sayfasının page_load olayına bu sefer aşağıdaki kodları yazalım.

protected void Page_Load(object sender, EventArgs e)

{

string gelen = Request.QueryString["bilgi"].ToString(); //QueryString içindeki bilgi isimli değeri okuyoruz.

string gelen2 = Request.QueryString["bilgi2"].ToString(); // QueryStrin içindeki bilgi2 isimli değeri okuyoruz.

Response.Write(gelen+" "+gelen2);

}

Gördüğünüz gibi gelen iki farklı bilgiyi de isimlerini kullanarak okuyoruz. Farklı bir yöntem olarak da index kullanıp okuyabiliriz.

string gelen = Request.QueryString[0].ToString(); //QuerStringg içindeki ilk değeri okur.string gelen2 = Request.QueryString[1].ToString(); //QueryString içindeki ikinci değeri okur.

Ayrıca bir de Response.Redirect(); metodu yerine Server.Transfer(); metodunu da kullanabiliriz. Bu metod kullanıldığında tarayıcı bir sayfaya yönlendirilirken tarayıcının url adresini değişmez. Yani QueryString içinde yolladığınız bilgiler de gözükmez.

Server.Transfer("default2.aspx?bilgi=" + TextBox1.Text);

Çalıştırdığınızda göreceksiniz ki url adresi /default.aspx olarak gözükmektedir.

QueryString hakkında bilgilerimiz bukadar. ASP.NET için ilk konulardn olduğu için en basit dizeyde anlatmaya çalıştım. İnşallah faydalı olur.

İnternet explorer giriş sayfasını değiştirme

Bazı zamanlar internet explorer açar açmaz çıkan anasayfanız sizin isteğiniz dışında! değiştirilmiş olup (genelde reklamı yapılması istenen site sabitlenir) ve değiştirmek istediğiniz halde değiştiremezsiniz bunun birçok sebebi var. Bunlardan birkaçını sıralamak gerekirse, genellikle mp3 indirme ve porno sitelerinde çıkan .hta reklamlarından kaynaklanmaktadır. Aslına bakarsanız sizin isteğiniz halinde değişmektedir ancak siz mp3 indirme linkine tıkladığınız mp3 inmemekte tam aksine anasayfanız tıklamanızla birlikte hiti artması istenen site ile sabitlenmekte ve değiştirememektesiniz! Çözümü çok basit;

Yapmanız gereken başlat menüsünden, / Çalıştır / Regedit / HKEY_CURRENT_USER / Software / Microsoft / Internet Explorer / Main de göreceğiniz adresi değiştirebilirsiniz veyahut HKEY_CURRENT_USER \ SOFTWARE \ Policies \ Microsoft \ Internet Explorer \ Control Panel deki Homepage yani anasayfada için atanmış olan değeri 0 yapabilirsiniz. Alternatif olarak group policy editörü adı verilen gpedit.msc yi çalıştırdan çalıştırabilirsiniz ancak dikkat edin group policy’i her windows xp ile uyumlu değildir!

Eğer yukarda bahsettiklerimizi yapamayacak iseniz başka site bulunan .reg dosyasını indirip kayıt defterine kaydetdiğiniz takdirde probleminiz hallolmuş olacaktır.

Wirofon | Türk Telekom

Türk telekomun yeni hizmetlerinden biri olan wirofonu kullanma şansına sahip oldum, açıkçası türk telekomun böyle bir hizmet vermesi beni çok şaşırttı. Daha önceleri ayda 10 dakika bile konuşmadan sorma ver parası olarak aylık 20 lira haraç alan türk telekomun böyle bir hizmet sunması aklımızın ucundan bile geçmezdi! Nitekim bizi yanıltmalarına rağmen halen altından bir pislik çıkmasından da korkmuyor değiliz 🙂 Verilen hizmetin detaylarına ve avantajlarına gelecek olursak;

Kısaca bahsetmek gerekirse “wirofon nedir” diye :

Ev hattınız sayesinde telefon veya bilgisayar üzerinden görüşme yapmanızı sağlar. Peki bu işlem nasıl olacak neler yapmam gerekecek diye düşünüyorsanız yapmanız gereken çok basit sadece resmi sitede verilen programı kullanacağınız yere indirmek (bilgisayar veya telefon) kurduktan sonra gerekli ayarları yapıp göörüşme yapmaya başlayabilirsiniz! Devamı Wirofon | Türk Telekom