18 Ekim 2011 Salı

The request filtering module is configured to deny a request that exceeds the request content length.


HTTP Error 404.13 - Not Found
The request filtering module is configured to deny a request that exceeds the request content length.


Bu hatayı alıyorsanız ve sunucunuza 50 MB veya daha fazla boyutta dosya yüklemekte zorluk mu çekiyorsunuz?
İşte çözümü:
Sunucunuzda başlat/çalıştır cmd yazın.

Gelen ekranda cd/ yazın ve enter yapın
Sonra cd %windir%\system32\inetsrv\ bu kodu yazın ve enter yapın

Gelen satıra da

appcmd set config -section:requestFiltering -requestLimits.maxAllowedContentLength:2000000000 yazın ve enter yapın.

IIS'inizi yeniden başlatın. sorun çözülmüş olacaktır.


15 Ekim 2011 Cumartesi

En iyi format recovery/ Veri kurtarma Programı

Bir süre easyRecovery kullandım. Elimdeki bilgisayarın HDD'de bozukluk vardı ve o bozuk bölümü geçip taramayı tamamlayamadı. Ardından  OOFormatRecovery Programını denemdim, o da başarısız kaldı.
İstediğim sonuca varamadım. Sonra araşştırmalarımda Recuva diye bir programı denedim. O da istediğim başarıyı vermedi. Bir Excel dosyasına ulaşmam gerekiyor format atılmış bir bilgisayardan ama o da kurtaramadı.

En son olarak UnDelete Programını denedim. sonunda dosyayı istediğim gibi kurtarabildim. Birkaç resimde de test ettim resimleri tümüyle kurtaramadığını gördüm. Yani resimlerin bir kısmı kurtarılmış bir kısmı siyah. ama bunu boyutu çok yüksek olan resimlerde yapmış mesela 5-8MB'lık resimlerde.

Undelete programının arayüzü çok da basit değil. Kullanım olarak biraz uğraştırıyor. Yine de bilgilerinizi kurtaracağına inanacağınız bir program.

Programı görebileceğiniz ve indirebileceğiniz site: http://www.active-undelete.com/

11 Ekim 2011 Salı

ASP ile ücretsiz barkod oluşturmak

Bir asp sayfasında istediğiniz bir sayıyı nasıl barkod yaparsınız? Üstelik bu barkod ücretsiz olsun istiyorsanız nasıl olacak?

Önce aşağıdaki dosyayı indirmeniz gerekiyor.
ozturkce.com/barkod.rar
dosyanın içindeki barkod.asp dosyasında bir img tagına nasıl link verileceği var. örnek kod.
borkod2.asp dosyasında da barkod oluşturuluyor.
dosyayı inceleyin.

Not: dosyayı indirdikten sonra virüs taramasından geçiriniz. İçinde virüs yoktur ama içiniz rahat etsin :)

7 Haziran 2011 Salı

SQL'DE INDEX NASIL YAPILMALI

Bu yazımda MS-SQL Server'da indeks (Index) oluşturuken seçilecek olan kolonlara karar verilmesi aşamasında göz önüne alınması gereken bir durumdan  bahsedeceğim. Buna göre, sorgularımızın daha hızlı çalışabilmesi için hangi kolonları oluşturduğumuz indekse dahil ektemek en  büyük faydayı verir? Aşağıda bunu incelemeye çalışacağım.

Öncelikle bir veritabanı (Database) açısından tablo indekslerinin (Table Index) ne anlama geldiği konusu üzerinde durmakta  fayda var.

Bir veri tabanında indeksler tablo içerisindeki kayıtların daha hızlı biçimde bulunmasını sağlarlar. Bu cümleden de  anlaşıldığı gibi indeksler okuma işlemine fayda sağlayan bileşenlerdir. Bir çok kaynakta da rastladığınız gibi kayıt yazma  işlemlerinin kayıt okuma işlemlerine göre çok fazla olduğu tablolarda indeksler performans artışı yerine performans  kaybı oluşturabilir. Diğer bir taraftan, genel olarak, veritabanlarında okuma işlemleri yazma işlemlerine göre  çok daha fazladır. Bundan dolayı bir çok veri tabanının duruma uygun indekleri barındırmaya ihtiyacı vardır.

Bir tabloda birden fazla indeks (burada bahsettiğimiz “nonclustered” indekslerdir) ve her bir indeks te birden fazla kolon olabilir. Çeşitli kaynaklarda tek kolon barındıran indeklere ingilizce karşılığı olarak "Single Column Index", çok kolon barındıran indekslere ise "Composite  Index" denmektedir. Bu çeşit indekslerden hangisinin daha faydalı olacağı kullanılan sorguların gereksinimine bağlıdır.

Burada karar verirken etkili olan yer genelde sorgulardaki "WHERE" şartında kullnılan kolonlardır. Bir sorguda " ... WHERE a=1  and b=2 " gibi bir şart mevcutken diğer bir sorguda " ... WHERE c='H' " gibi bir şart olabilir. İndekslerin kapsayacağı kolonlara  karar verirken bu şartlar göz önüne alınmalıdır.

Peki bir indeksi oluştururken hangi kolonları kullanmak daha faydalı olacaktır?
Daha öncede bahsettiğim gibi bu tamamen veri tabanındaki sorguların ihtiyacına bağlıdır. Burada indeksleri oluştururken  ekleyeceğimiz kolonların sırası önem taşımaktadır. Örnek olarak, sırası ile col1, col2, col3 kolonlarından oluşan bir  indeksimiz olduğunu düşünelim ve bu indeksin aşağıdaki sorgulara faydalı olup olmadığını inceleyelim.
İndeks sırası ile col1, col2, col3 kolonlarından olşmaktadır.
Sorgu 1: ... WHERE col1 = 1 AND col2 = 2 AND col3 = 'H'
Sorgu 2: ... WHERE col1 = 1 AND col2 = 2
Sorgu 3: ... WHERE col1 = 1
Sorgu 4: ... WHERE col2 = 2 AND col3 = 'H'
Sorgu 5: ... WHERE col2 = 2
Sorgu 6: ... WHERE col3 = 'H'

Bu durumda elimizde bulunan indeks yukarıdaki 1,2 ve 3 numaralı sorgulara faydalı olurken 4 ve 5 numaralı sorgulara faydalı olmayacaktır.
Yukarıdaki durumdan da anlaşıldığı gibi indeksin faydalı olabilmesi için, sorguda indeksin ilk kolonundan başlayarak  oluşturulan alt kümeleri kullanılmalıdır. Buna göre 4 ve 5 numaralı sorgular için sırası ile col2, col3 kolonlarından  oluşan bir indeks; 6 numaralı sorgu için sadece col3 kolunu kullanılarak ayrı bir indeks oluşturulmalıdır.
İndeksler oluşturulurken dikkat edilmesi gereken bir diğer nokta ise kolonları eklerken çok tekrar eden bilgileri barındıran kolonları ilk sıraya yerleştirmektir. Bir örnek vermek gerekirse; "isim" ve "soyisim" şeklinde kolonlarımız olduğunu düşünelim. Sistemimizde isim ve soyisim alanına göre arama yapan sorgularımız olsun. Bu durumda indeks ve sorgunun aşağıdaki şekilde olması fayda sağlayacaktır.
İndeks sırası ile soyisim, isim kolonlarından oluşmalıdır. Sorgu ise " ... WHERE soyisim = 'eyüboğlu' AND isim = 'sedat' "  şeklinde olmalıdır. Bir önceki örneğimizi göz önüne alırsak bu indeksin ayrıca " ... WHERE soyisim = 'eyüboğlu' " şeklindeki  sorgularda da fayda sağlayacağını görürüz. Bu durumda " ... WHERE isim='sedat' " şeklindeki sorgular için sadece "isim"  kolonundan oluşan ayrı bir indeks oluşturulmalıdır.

Sonuç olarak indeks şekilleri ihtiyaca göre değişecektir. Veritabanındaki sorgular ve veri miktarı değiştikçe veritabanında  indeks şekillerinin de güncellenmesi gerekebilir. Bir veri tabanı için gerken indekslere karar verirken veri tabanının kullnımı (Work Load) incelenebilir ve "Tuning Advisor" gibi araçlardan faydalanılabilir.

KAYNAK: UYGULAMA GELİŞTİRME

Renk paleti

Renklerin birbiri ile uyumunu görebilmek ve uygulayabilmek için aşağıdaki site oldukça güzel bir site.
http://colorschemedesigner.com/

29 Mayıs 2011 Pazar

ASP sayfalarında Ajax Türkçe karakter sorunu

Sayfanızdan veri gönderip alırken ajax ile Türkçe karakter sorunu yaşıyorsanız bunlara dikkat edin.
  1. Sayfanızda meta taglarında
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=1254">
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-9" />
    kodu bulunsun.
  2. Ajax veri gönderip aldığınız sayfa tamamen HTML kod düzeninde olsun. Yani html/head/body/ dizilimini kullanıın,
     

Bu şekilde yaparsanız sorun ortadan kalkar.

9 Mayıs 2011 Pazartesi

javascript replace medotu

javascript ile replace yapmak yani birşeyi başka birşey ile değiştirmek şöyle yapılıyor.

// önce bir değişken tanımlayalım.
var degisken = "istanbul bizim en büyük şehrimiz";

//şimdi değiştirme işlemi yapalım.
degisken.replace("istanbul","Trabzon");

// burada şunu yaptık. değişkenimiz içindeki istenbul yazan yerlere Trabzon yazsın dedik.
Javascriptte büyük küçük harf duyarlılığı vardır. Bunu önüne geçmek için de.

degisken.replace(/istanbul/i,"Trabzon");

Bir de değişkendeki istediğimiz özellikteki bütün verileri değiştirmek istersek şöyle yapacağız.
degisken.replace(/i/gi,"I");

şunu yaptık: değişkenimizdeki bütün "i" harflerini "I" yaptık.

buradan da anlaşıldığı gibi direkt replace dediğimizde sadece bir işlem yapıyor. Kısace açıklayalım:
  • degisken.replace(/degisen/,"değişecek"); veya
    degisken.replace("degisen","değişecek");Sadece bir tane değişiklik yapıyor.
  • degisken.replace(/degisen/i,"değişecek");i koyduğumuzda BÜYÜK/küçük harf duyarsız hale geliyor.
  • degisken.replace(/degisen/g,"değişecek");
    g koyduğumuzda içindeki bütün değişecekleri değiştiriyor.
  • degisken.replace(/degisen/gi,"değişecek");
    gi koyduğumuzda hem BÜYÜK/küçük harf duyarsız hem de bu özelliği taşıyan tüm verileri değiştiriyor.