28 Şubat 2014 Cuma


Entity Framwork nedir, ne işe yarar?


Aklımdayken direk konuya girmek istiyorum. :)

Entity Framework (özellik çerçevesi) .Net Framework 3.5 SP1 ve Visual Studio 2008 ile kullanıma sunulmuştur. EF yi daha iyi anlamak için kesinlikle ORM nedir sorusuna cevap aramamız gerekir.

Peki ORM nedir?

Açılımından başlayalım, "Object Relational Mapping" diğer bir deyişle, ilişkisel veri tabanları ile nesneye dayalı uygulamalar arasında köprü görevi görür aslında.


Uygulama geliştirirken veritabanında oluşturduğumuz tablolar, kolonlar, data tipleri, kayıtlar ne varsa, classlara, propertilere, objelere dönüştürülerek veritabanına direk erişim sağlamaksızın tüm işlemlerini gerçekleştirebilir.

Delete, Update, Select, Insert gibi sorgular ORM tarafından algınalanarak otomatik olarak SQL kodları oluşturulur, kod üretir. (camiada kullanılan genel ismi Code Generator :) )
Birçok ORM aracı vardır. Entity Framework ise Microsoft tarafından geliştirilmiştir.



EF Avantajları

- Böylece artık Veritabanındaki kodlarla uğraşmayacağımız için zamandan kazanç sağlar.
- Nesne tabanlı programlamaya göre yazmayı sağlar.
- Veritabanı bağımlılığını ortadan kaldırmış olur.
- Ayrıca (open-source) açık kaynak kodludur.

EF Dezavantajları

- Performans açısından sorunlar açığa çıkabilir.
- Veritabanı işlemlerinde doğrudan müdahale söz konusu değildir.
- Kod üretirken fazladan üretilen kodlar zaman kaybına yol açar.

Kısaca Entity Framework den bahsetmeye çalıştım. Faydalı olması dileğiyle...


23 Şubat 2014 Pazar



Neden ping atılır ki ?


Öncelikle ping bilgisayar kullanıcıları tarafından sıkça kullanılan bir programdır diyebilirim. Mike Muuss tarafından 1983 yılında IP network de sorunları gidermek için yazılmıştır.

Ayrıca ICMP den bahsetmek istiyorum. Böylece daha anlaşılır olacaktır.

ICMP(Internet Controller Message Protocol) hataları raporlamak için kullanılan,kontrol amaçlı bir protokoldür. Tabiki hata raporu kullanması IP güvenliği sağladığı onu güvenli yaptığı anlamına gelmez.

Ping le ne alakası var diyeceksiniz...

Şöyle ki, Ping attığımız bilgisayara veya server a (sunucuya) ICMP paketi gönderilir ve aynı paketin geri dönmesini bekleriz.Bu paketin gidip dönmesi ping süremizi belirler.

Ne için kullanabiliriz veya ne işe yarar?

# Ağın o anki paket kayıp oranını belirler.
# Gönderilen(kaynak) makine ile giden(karşı) makine arasında iletişim süresi hakkında bilgi verir.
# Ağdaki bir bilgisayarın açık olup olmadığı hakkında bilgi verir.
# Veya, ping paketi gönderilen makinenin o anda çalışmakta olduğu bilgisini getirir.


O değil de nasıl ping atabiliriz peki?

1- Windows 7 veya Vista üzerinden anlatayım. İlk olarak,



2-  Sonra cmd komutunu yazalım,


3- Karşımıza çıkan MS-DOS penceresine "ping(boşluk) atılacak IP adresini veya ismini" yazıyoruz.


Resimde görüldüğü gibi gönderilen ICMP dosyası 32 bayttır. Genellikle karşı bilgisayara ulaşılabilir ancak bunun tersi bir durumla da karşı karşıya kalabiliriz. Bunun nedeniyse gönderilen paketlerin Firewall tarafından engellenmiş olmasıdır.

Bunun dışında kısa yoldan (çalıştır->cmd) işini (windows tuşu+R) olarak da halledebiliriz.

Eksikler vardır elbet faydalı olması dileğiyle...















22 Şubat 2014 Cumartesi


String.Format Fonksiyonu


Merhaba :)

Az sonra bahsedeceğim fonsiyon gerçekten işime yaradı ve pekiştirmek adına anlatmak istedim. Buyrun...


Öncelikle programlamada çoğunlukla kullandığımız String ifadeleri ismindende anlaşılacağı üzere formatlama da yapabiliyor.Sadece bir (.) uzaklıkta :) .

Örnek vermek gerekirse, fiyatları binler basamağına ayırmak, ürün fiyatının para birimini göstermek veya virgülden sonra sadece bir basamak göstermek istediğimizde ciddi biçimde faydalı oluyor. :)

Genel kullanımı kabaca şu şekilde,

String.Format(String format, Object arg0)

Basit birkaç örnekle detaylandıralım,




Sonuç olarak döndüreceği  1000 TL olacaktır.



{0:C} dediğimiz stringin format kısmıdır.

0-->ürün fiyatı
C-->Currency (Para Birimi)


Farklı bir örnek üzerinden devam edelim,





Yine sonuç olarak döndüreceği 22 Şubat (yani o günün tarihi neyse)


Virgülden sonra sadece 2 rakamı göstermek istiyorsak,





Yukarıdaki çıktıyı elde edebiliriz.
 
Bunun dışında ulaşabileceğimiz farklı formatlarda birçok çıktı var tabiki. Umarım faydalı olur.  Daha fazla bilgi için String.Format a tıklayabilirsiniz. :)