Cebit için sıkıntılar bastan basladı maalesef yolun uzak olusu 3 kez tasıt değiştirme işi bizi baya sıktı acıkcası.Tekirdağa baya bi yaklaştık. Fuar ise daha cok panayır havasında şirketler sadece kendini tanıyor. Teknolojı alanındaki gelişmeleri son yenilikleri açıkcası beni tatmin etmedi. biraz bayat bir hava vardı. Zaten gelenlerde ya dağıtılan eşantiyonlar için gelmiş milletin elinde yığınla poşet vardı yada CEBIT den faydalanıp 20 30 lira ucuz a bişiler almak için.

Etiketler : cebit
Kategoriler : Kisisel
Yorumlar : 0 Yorum Yorum Yaz

Gecenlerde yeni bir projeye başladığımızı belirtmiştim. Bu proje için yaptığım çalışmalar ve edindiğim bilgiler doğrltusunda Blogsa için bir eklenti yapma fikri geldi. Proje içinde JQuery ile tanışma fırsatım oldu :). Burdan yola çıkarak haddinden fazla uzayan ve bundan dolayı kaldırdığım, etiket bulutuna bir çözüm olarak kullanma fikri aklıma geldi. Ve Microsoft Tag eklentisinden sonra Blogsa için hazırladığım JQoery Destekli Etiket Blutunu tanıtacağım.

JQuery destekli Etiket bulutumuz fazlaca uzayan ve görüntü bozan etiket bulutları için geliştirilmiş olup, Eklentiler kısmında küçük bir alanda kendine yer bulur. İsteyen ziyaretçi etiketlerimize bakmak istediğinde ise Bulutumuzun içine girer ve istediği gibi etiketlerimizi okuyabilir herkese hayırlı kullanımlar.

İndirmek için tıklayın:
http://rapidshare.com/files/289333859/TagCloudJQ.rar

Not: Eklenti Firefox ve Operada, bulutu actığınızda alttaki eklentilerin başlaığını kapatıyor, bu hatanın yaşanmaması için eklentilerin en altında kullanabilirsiniz. İnternet Explorer da sıkıntısız bir şekilde çalışmaktadır.

Etiketler : Blogsa Eklenti JQuery Etiket Bulutu
Kategoriler : Blogsa
Yorumlar : 0 Yorum Yorum Yaz

Thinkgeek’te geçen sene gördüğüm klavye fiyatı düşmüş müdür diye bakayım dedim. Fiyatı değişmemiş.

http://www.thinkgeek.com/computing/9836/

Peki özellikleri neler

2 adet USB Portu
SD Kart okuyuculu
113 tuşlu bir klavye

Buraya kadar normal fakat bütün tuşların altında 48x48 lik bir ekran var ve kendini sürekli güncelleyebiliyor. Misal Shifte basılı tutunca klavyedeki bütün tuşlar büyüyor. Tuşlara İşlemci ısısı gibi şeyleri atayabiliyor yada gif quicktime videosu göstertebiliyorsunuz. Photoshoptan klavyenizi istediğiniz gibi ayarlayabiliyorsunuz.

Aslında biraz daha anlatırım da kelimeler kifayetsiz kalır, izleyin.

http://www.youtube.com/watch?v=xWkjtnd367Q

ktunnel linki: 


-----------------------------------------------------------------------------------------------

Benım Yorumum:
Video yu kesinlikle izleyin. Muhteşem bir klavye photoshop olayı muhtesem. Açılışı bile ayrı hoş.
Bu fiyata cok iyi bir bilgisayar toplansada bu klavyede alınır :).

LINQ nedir diyerek başlıyalım:
LINQ .NetFramework ile gelen bir yeniliktir. Hanginiz veri tabanı programı yaptınız desem burda ben şu kadar yıllık programcıyım hiç de veritabanı programı yapmadım diyen cıkmaz sanırım. SQL veri tabanı işlemlerinde harikalar oluşturan bir dildir.(Her ne kadar bazen şaşırsada :)). Peki böyle birseyi program içindeki bi dizi de, bir listede, bir XML yapısında kullanmak güzel olmazmıydı. İşte burda LINQ devreye giriyor. kısaca LINQ i özetliyecek olursak Program içinde sorgulama yapmamıza yarayan yapı diyebiliriz.

şimdi basit bir örnek le devam edelim.

      private void button1_Click(object sender, EventArgs e)

        {

            int[] sayilar = { 1, 2, 3, 5, 8, 13, 21, 34 };

 

            var sorgu = from s in sayilar where s > 5 select s;

 

            foreach (int sayi in sorgu)

            {

                MessageBox.Show(sayi.ToString());

            }

        }

burda dönecek değer 8,13,21,34 dür.

sorgumuzu inceleyecek olur SQL e cok benzemekte sadece Select s basta değil sonra :D bir fromdan sonra foreach deki sorgu gibi bir sorgu var.

 

SQL içerisinde kullandığımız komutları (orderby -ascending,-descending,min,max,sum,count) aynı LINQ de de kullanabiliriz.

 

 

       private void button2_Click(object sender, EventArgs e)

        {

            int[] sayilar = { 1, 2, 3, 5, 8, 13, 21, 34 };

 

            var sorgu = from s in sayilar where s > 5 orderby s descending select s;

 

            foreach (int sayi in sorgu)

            {

                MessageBox.Show(sayi.ToString());

            }

        }

bu rada büyükten küçüğe göre sıralama olur.

        private void button3_Click(object sender, EventArgs e)

        {

            string[] diller = { "C#", "C++", "C", "Python", "VB", "VB.NET", "C#", "VB.NET" };

            var sorgu = from dil in diller.Distinct() orderby dil ascending select dil;

 

            foreach (string dill in sorgu)

            {

                MessageBox.Show(dill.ToString());

            }

        }

Bu kod ile distinct ile aynı olan veriler çıkartılır ve ascending ile küçükten büyüğe doğtu sırlama yapılır.

Görüldüğü gibi kullanım noktasında sql den pek farkı yok.

Etiketler : C# LINQ Örnek Giriş
Kategoriler : Kendi Makalelerim LINQ
Yorumlar : 0 Yorum Yorum Yaz

Yazdığımız kodlarda şu ana kadar bir hata ile karşılaştığımızda hep programımızın ırılmasına şahit olduk. Fakat bu olay sizlerinde bildiğiniz gibi sağlıklı bir durum değil. örneğin ilerde göreceğimiz Veritabanı işlemlerinde bağlantı açık ien oluşan bir hata bağlantının kapanmamasına sebep olabiliyor. Veya kullanıcı tarafından yapılan bir hata programa mal edilebiliyor.
Hata Yakala ile programda bir hata veya istisnai bir durum oluştuğunda program kırılmadan messagebox ile hata verdirtebiliriz. Hata Yakalamanın 3 aşaması vardı try-catch-finally.

Try bloğu: Programımız düzgün çalıştığı an işleyen kodların bulunduğu kısım. Yani bu kısımda programımız normal çalıştığında ne yapmasını istiyorsak onları yazıyoruz.

Catch bloğu: Programımız bir hata ile karşılaştığında try bloğundaki kodların çalışmasını durdurarak catch bloğuna geçer ve buradaki kodlar çalışır.

Finally bloğu: Bu kısımda ise programımız düzgün çalışsada hata oluşsada çalışmasını istediğimiz odlardır. örneğin Veritabanı bağlantılarının kapatılması, Dosya Streamlerinin kapatılması bu kısıma yazılırsa programımız etkin bir şekilde çalışacaktır.

   19 private void button1_Click(object sender, EventArgs e)

   20         {

   21             try

   22             {

   23                 MessageBox.Show((Convert.ToInt32(textBox1.Text) + Convert.ToInt32(textBox2.Text)).ToString());

   24             }

   25             catch (Exception hata)

   26             {

   27                 MessageBox.Show(hata.ToString());

   28             }

   29             finally

   30             {

   31                 this.Close();

   32             }

   33         }

 

Yukarıdaki kodumuz basit bir toplama işlemi kodu. Gördüğünüz gibi try kısmında toplama işlemi var. catch kısmındaki kodumuz ise bir hata olduğunda bunu bize messagebox ile bildirir.Finally kısmındai kodumuz ise her iki durumda çalışacak olan formu kapatan this.Close(); kodudur.

şimdi textboxlara 13 ve 14 girildiğinde Messagebox ile 27 çıkar tamam dediğinizde form kapanır.
fakat 12 ve tahsin yazdığınızda (tahsin ifadesi sayıya dönüştürülemediği için) catch bloğuna düşer size ilgili hatayı verir ve sonra finally kodu çalışır ve form ekranımız kapanır.