Aylık arşivler: Ocak 2007

Türkiye’de Nükleer Enerji ?

Nükleer enerji, temelinde küçük bir kütlenin büyük bir enerjiye denk geldiği kuramının olduğu, atomun çekirdeğinden elde edilen bir enerji türüdür. Atom kütlenin enerjiye dönüşümünü ifade eden ve atom bombasının temelini oluşturan, Albert Einstein’a ait olan E = mc2 (E:Enerji, m:kütle, c:Işığın hız sabiti) formülü ile ilişkili olup 1896 yılında Fransız fizikçi Henri Becquerel tarafından kazara (uranyum maddesinin fotoğraf plakaları ile yanyana durması ve karanlıkta yayılan X-Ray ışınlarının farkedilmesi ile) keşfedilmiştir. Bu yazıda nükleer enerjinin teknik boyutuyla ilgilenmeyeceğiz tabiki, bugünlerde Türkiye’de yeniden gündeme gelmesiyle birlikte bu enerjinin stratejik ve beşeri boyutunu konuşacağız. Gerçekten, nükleer enerji, son 20 yıldır Türkiye’de bir ihtiyaçtan dolayı mı yoksa çevre gelişmelerinden dolayı mı gündeme geliyor. Okumaya devam et

Interface üyelerinin explicit uygulanması(VB.NET & C#)

Nesne tabanlı programlamayı destekleyen dillerin temel karakterinden biri de inheritance(kalıtım) olayı destekliyor olmasıdır. Fakat multiple inheritance olarak tanımlanan çoklu kalıtım, C++ tarafından destekleniyorken Java, .NET tarafından desteklenememektedir. CLR tabanlı diller, çoklu kalıtım işlemini interface yapılarıyla gerçekleştirir. Böylece bir sınıfın birden fazla arabirimi uygulamasını sağlamış oluruz. Bu uygulama işlemi implicit(gizli, bilinçsiz) ve explicit(açık, bilinçli) olarak gerçekleşir. Implicit yöntemi, klasik bir şekilde bir veya daha fazla arabirimin, sınıfa uygulanması ve arabirim üyelerinin sadece isimleriyle kullanılmasıdır. Fakat özellikle aynı isimde üye içeren birden fazla arabirimin uygulanması durumunda sıkıntı yaşanır. Bunu aşmak için arabirim üyeleri explicit yöntemiyle kullanılır.VB.NET tarafından otomatik olarak explicit yöntemi kullanılır. Okumaya devam et

C# & VB.NET’te String veri türü

Birçoğumuz için sadece bir veri türü olmakla sınırlı “string” tipini için özel bir başlık altında işlemek ilginç gelmiş olabilir. Bu başlığın amacı okuyucuda bir merak uyandırmak yerine programlarımızda en çok kullandığımız “string” veri türünün diğer veri türlerinden farklı bir konuma sahip olduğunu anlatmaktır. Özellikle string tabanlı ekleme, kesme, değişim, öteleme gibi işlemlerde string veri türünün karakterini bilmekte fayda vardır.
Bilindiği gibi .NET platformunda iki tür veri tipi kullanılabilir; değer veri türleri(value data type) ve referans veri türleri(reference data type). Bu iki veri türünü birbirinden ayıran özellik, değer türlerin sabit uzunluklu olduğu ve memory’nin stack alanı üzerinde depolanmaları, referans türlerinin de genellikle değişken büyüklüğe sahip olmaları ve kendilerinin memory’nin heap alanı, referanslarının ise stack üzerinde depolanmalarıdır. int, datetime, decimal gibi tipler, değer türü, class, array gibi nesne tabanlı tipler de referans türü olarak örneklendirilebilir. Bir çok yazılımcı tarafından string veri tipi de değer türüymüş gibi algılanmaktadır. Okumaya devam et

Çok mu klasik oldu ? Cranberries-Zombie

Tanklarıyla, bombalarıyla ve silahlarıyla kafalarının, kafalarımızın içinde savaşıyorlar.
Bir anne daha parçalanıyor.
Bir kafa daha asıldı düşükçe
Çocuk yavaşça aldı.
Ve şiddet büyük bir sessizliğe sebep oldu
Kimde hatalıydık ?

Bunun ardından Dolores’ten Animal Instinct’i veya When You’re Gone’ı da dinlemek ruha iyi gelebilir.

Son Umut – Children Of Men

Dikkat Tükeniyoruz !


y tu mama tambien filmiyle dikkatleri üzerine çeken Meksika’lı genç yönetmen Alfonso Cuarón imzalı Julianne Moore, Clive Owen, Michael Caine gibi tecrübeli oyuncuların rol aldığı “Children of Men” filmi, apocalyptic temalı, arşive alınacak cinsten bir film.

Yıl 2027, doğan son bebeğin üstünden 18 yıl geçmişti. Yaşadığı hayat yüzünden hayal kırıklığı içinde olan Theo (Clive Owen) eski sevgilisinden (Julianne Moore) gelen teklif üzerine oldukça şaşırır; genç ve hamile bir kadını korumak için şehir dışına kadar eşlik etmek zorundadır. Zamana karşı bu korkutucu yarışta Theo, bütün dünyanın uzun zamandır beklediği bu mucizeyi yerine ulaştırmak için bütün riskleri alacaktır. Okumaya devam et

Her gruptan n kayıt okuma

Birbirleriyle ilişkili iki tablo düşünelim. Birinci tabloda başlık bilgileri ikinci tabloda ise bu başlığa ait detayların bulunduğunu varsayarak her başlıktan n tane detay kaydını getirmek için nasıl bir query yazmamız gerekir. Özellikle haber sitelerinin anasayfalarında her gruptan belli kriterlere uygun n kayıt getirmek veya yüksek stoklu ürün gruplarının en yüksek stoklu n tane ürününü listelemek için bu tür pratik querylere ihtiyaç duyarız.

Bu türden bir query oluşturmak için örnek olarak Grup ve Urun şeklinde iki tane tablo oluşturalım.

Okumaya devam et

SQL Server case sensitive arama

SQL Server’da yapacağımız aramalar, herhangi özel bir ayar uygulamamışsak default olarak case insensitive çalışır yani kayıtlar üzerinde arama yaparken değerler, büyük-küçük harf duyarlı değildir. Bu yüzden SQL Server üzerinde SELECT . FROM .. WHERE UserPwd=’abc’ ile SELECT . FROM .. WHERE UserPwd=’ABC’ ifadesi aynı sonucu getirir. Özellikle kullanıcı ile ilgili güvenlik bilgilerinin sorgulandığı durumlarda işlemlerin büyük-küçük harf duyarlı olmasına ihtiyaç duyabiliriz. Bunu sağlamanın birkaç yöntemi bulunmaktadır. Burada en çok kullanılan yöntemleri örneklendirmeye çalışacağız. Okumaya devam et

ASP.NET’te genel hata yönetimi

Web uygulamalarında, kullanım alanlarının geniş olması, tanımlı tanımsız binlerce ziyaretçiye hizmet veriyor olması ve bu ziyaretçilerin farklı kullanım seviyelerine sahip olmaları sebebiyle hata oluşma ihtimali yüksektir. Bu ihtimali aza indirgemek için kullanıcı ile sunucu arasında çift yönlü aktarılan verilerin daima doğrulama işlemlerinden geçirilmesi gerekmektedir. Böylece kullanıcının, uygulamaya zarar vermesi veya sunucunu ziyaretçiye doğru olmayan bilgiyi gönderme ihtimali azaltılmış olur. Buna rağmen örneğin sistemde olmayan bir sayfanın istenmesi gibi bazen düşündüğümüz ihtimallerin dışında da hatalar oluşabilir. Bu nedenle sitenin herhangi bir alanında meydana gelen tüm hataları yönetiyor olmamız lazım. Bunu yapmanın farklı yolları olsa da ASP.NET, bu amaçla etkili bir hata yönetimi(error handling) sunmaktadır. Okumaya devam et

SQL Server UNION / UNION ALL ile birlikte ORDER BY kullanmak

UNION ve UNION ALL ifadeleri iki sorgu sonucunun birleştirilmesi için kullanılır. Tek farkı, UNION mükerrer kayıtları getirmez, UNION ALL ise tüm kayıtları olduğu gibi listeler. Önceki yazıda her grubun ilk kayıt edilmiş 2 ürününü UNION yöntemiyle getirmiştik. Aynı yöntemi kullananarak her grubun son kayıt edilmiş 2 ürünü alacağız. Bunun için aklımıza ilk gelen query şudur; tablodaki kayıtları UrunId’ye göre büyükten küçüğe sıralayıp TOP 1 ile en üsttekini almaktır. Okumaya devam et