27 Kasım 2011 Pazar

Ücretsiz PhotoShop Programı

Evet, ücretsiz.
Photoshop programın benzeri ve web üzerinden çalışıyor. Eğer ciddi tasarımcı değilseniz Photoshop programını kullanmanıza gerek kalmadı.
Resimlerinizi kırpabilir, çevirebilir, ölçülendirebilir, yazabilir,,,, ve daha bir çok işlem yapabileceğiniz bir site:
http://pixlr.com/editor/ bu siteye bakın.
Editörün Türkçe dil desteği de var. Hesap açıp resimlerinizi orada da saklayabilirsiniz.

kolay gelsin

9 Kasım 2011 Çarşamba

SilveOS Web tabanlı işletim sistemi

Microsoft'un Adobe Flash'a rakip programı Silverlight teknolojisi kullanılarak web tabanlı işletim sistemi geliştirildi.Tamamen web tabanlı çalışan program için sadece bilgisayarınızda silverlight yüklü olması gerekiyor. Oldukça hızlı çalışan işletim sisteminde not defteri, haritalar, medya player gibi uygulamalar var. Kendi bilgisayarınızdaki videoları izleyebilirsiniz. Tabi default olarak MS Media Player'in tanıdığı WMV formatlı olursa.
 Görünüm olarak Windows 7'yi andıran işletim sisteminde bir hesap oluşturuyorsunuz ve o hesap üzerinde dünyanın neresinde olursanız olun internetiniz varsa bir uzak masaüstü gibi bilgisayarınız var demektir. Program (işletim sistemi) sayesinde çalışmalarınızı saklayabileceğiniz, notlarınızı tutabileceğiniz bir alanınız olacak.
İşletim sisteminin adı silveOS, desteklediği programları yükleyebiliyorsunuz.
sistemin eksiklikleri var, mesela başlat menüsünden arama yaparken hata veriyor, paintteki bir dosyayı kaydederken alanınızı büyütmeye çalışırken hata veriyor, daha eksikleri olan ilginç bir işletim sistemi.
Siz de deneyin kurcalayın. Biraz daha geliştiğinde herkesin kullandığı ya da test ettiği bir OS olabilir.


Uygulamayı göreceğiniz site:
www.silveos.com


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.

4 Mayıs 2011 Çarşamba

MSSQL logları silmek, veritabanını küçültmek

Çok yüksek boyutlu bir veritabanım vardı. 100GB ve logları da 50GB yer tutuyordu bundaki kayıtları nasıl silerim diye düşündüm. DELETE komutuyla silmek istedim. sildikçe log dosyası kabardı ve veritabanı yine 100 GB kaldı. Yani olmadı.
Sonra araştırdım. veritabanını sıfırladım.Aşağıdaki komut ile:


TRUNCATE TABLE tabloAdim


MSSQL içine bunu yazdım ve çalıştırdım 100GB veriyi birkaç saniyede sildi. Normalde 10bin kayıtı DELETE komutuyla 15-20 dakikada siliyordum.


Sonra log dosyasını temizlemek için de aşağıdaki komutu kullandım.


dump tran secmenler WITH TRUNCATE_ONLY
DBCC SHRINKFILE(2,EMPTYFILE)



Log dosyası 1 MB civarında oldu.
Ama iş bitmedi. yine veritabanım 100 GB olarak duruyor karşımda.
Son olarak da MSSQL Management üzerinden veritabanının üzerine sağ tıkladım. Task>Shirink>Database seçeneğini tıkadım. Açılan pencerede Shirink Action kutucuğunu işaretledim. OK dedim işlem tamam


bu işlemin ardından veritabanım 3 MB oldu. Şaka gibi bu MS SQL işleri,

6 Nisan 2011 Çarşamba

Excel'de fonksiyon ile alt satıra inmek DAMGA

Excel ile yaptığınız bir fonksiyonda sonucun bir hücrede iki veya daha fazla satırda gözükmesini istiyorsanız DAMGA(10) fonksiyonunu yazmalısınız. sonra da metni kaydır demelisiniz.

Örnek bir kullanım yapalım: ="Adı: " & A1& " "& DAMGA(10)  &"Soyadı: " &B1
A1 hücresinden adını, B1 hücresinden de Soyadını aldık. Bunları başka bir hücrede
Adı: Ali
Soyadı: VELİ
şeklinde görüntüledik.





16 Şubat 2011 Çarşamba

MySQL veri tipleri

Once you have your table data organized, the next step is to figure out the data type. There are three main types : text, numbers, and Dates/Times. Choosing the column types specifies what information can or can't be stored in a table cell. Using the most correct option for each column is important as it may affect the database's overall performance.
TEXT TYPES CHAR( )
A fixed section from 0 to 255 characters long.
VARCHAR( )
A variable section from 0 to 255 characters long.
TINYTEXT
A string with a maximum length of 255 characters.
TEXT
A string with a maximum length of 65535 characters.
BLOB
A string with a maximum length of 65535 characters.
MEDIUMTEXT
A string with a maximum length of 16777215 characters.
MEDIUMBLOB
A string with a maximum length of 16777215 characters.
LONGTEXT
A string with a maximum length of 4294967295 characters.
LONGBLOB
A string with a maximum length of 4294967295 characters.

The ( ) brackets allow you to enter a maximum number of characters will be used in the column. VARCHAR(20)

CHAR and VARCHAR are the most widely used types. CHAR is a fixed length string and is mainly used when the data is not going to vary much in it's length. VARCHAR is a variable length string and is mainly used when the data may vary in length.
CHAR may be faster for the database to process considering the fields stay the same length down the column. VARCHAR may be a bit slower as it calculates each field down the column, but it saves on memory space. Which one to ultimatly use is up to you.
Using both a CHAR and VARCHAR option in the same table, MySQL will automatically change the CHAR into VARCHAR for compatability reasons.
BLOB stands for Binary Large OBject. Both TEXT and BLOB are variable length types that store large amounts of data. They are similar to a larger version of VARCHAR. These types can store a large piece of data information, but they are also processed much slower.
NUMBER TYPES TINYINT( )
-128 to 127 normal
0 to 255 UNSIGNED.
SMALLINT( )
-32768 to 32767 normal
0 to 65535 UNSIGNED.
MEDIUMINT( )
-8388608 to 8388607 normal
0 to 16777215 UNSIGNED.
INT( )
-2147483648 to 2147483647 normal
0 to 4294967295 UNSIGNED.
BIGINT( )
-9223372036854775808 to 9223372036854775807 normal
0 to 18446744073709551615 UNSIGNED.
FLOAT
A small number with a floating decimal point.
DOUBLE( , )
A large number with a floating decimal point.
DECIMAL( , )
A DOUBLE stored as a string , allowing for a fixed decimal point.

The integer types have an extra option called UNSIGNED. Normally, the integer goes from an negative to positive value. Using an UNSIGNED command will move that range up so it starts at zero instead of a negative number.
DATE TYPES DATE
YYYY-MM-DD.
DATETIME
YYYY-MM-DD HH:MM:SS.
TIMESTAMP
YYYYMMDDHHMMSS.
TIME
HH:MM:SS.

MISC TYPES ENUM ( )
Short for ENUMERATION which means that each column may have one of a specified possible values.
SET
Similar to ENUM except each column may have more than one of the specified possible values.

ENUM is short for ENUMERATED list. This column can only store one of the values that are declared in the specified list contained in the ( ) brackets.
ENUM('y','n')
You can list up to 65535 values in an ENUM list. If a value is inserted that is not in the list, a blank value will be inserted.
SET is similar to ENUM except SET may contain up to 64 list items and can store more than one choice.

alıntı

3 Şubat 2011 Perşembe

ASP ve MySQL çoklu dil desteği

Pek çok forum dolaştım ama ASP ve MySQL bağlantısında Türkçe karakter sorunu ile çözüm aranmış ama bulunamamış, bulunanların da pek çoğu eksik. Aşağıdaki yazıda Çoklu dil desteğini ASP ve MySQL ile nasıl yapacağımız açık olarak anlatılmıştır.
Umarım Herkesin sorunu çözülür.
1. Adım:
veritanabınızı kurarken Dil seçeneğini utf8 olarak ayarlayın.
O şekilde tablolarınızı oluşturun.

2. Adım. Sayfanızda çağıracağınız connection için de aşağıdaki kodları ekleyin.:

dbServerName  = "serverAdiniz"
dbUserName  = "kullaniciAdiniz"
dbPass = "sifreniz"
dbName = "veritabaniAdiniz"

mysql_vt= "DRIVER={MySQL ODBC 3.51 Driver}; SERVER="  & dbServerName &"; UID=" & dbUserName & "; pwd=" & dbPass & ";db=" & dbName & ";option=3;stmt=SET NAMES 'utf8'"
conn.Open mysql_vt
conn.Execute "SET NAMES 'utf8'"
conn.Execute "SET CHARACTER SET utf8"
conn.Execute "SET COLLATION_CONNECTION = 'utf8_general_ci'"



3. Adım ASP sayfanızın başına aşağıdaki gibi kodları ekleyin.









4. Adım: son olarak da hazırladığımız sayfayı utf-8 olarak kaydediyoruz.
Nasıl yaparım diye soruyorsanız cevabı şöyle: hazırladığınız sayfanın üzerine sağ tıklayıp not defterinde açın. Dosya/Farklı kaydet seçeneğini işaretleyin. Aşağıda kaydetme seçenekleri çıkacak. UTF-8 seçeneğini seçin ve var olan dosyanızın üzerine kaydedin. Aşağıda örnek gösterilmiştir.


Bu adımları doğru uyguladığınız takdirde sorunsuz tüm dilleri destekleyen bir sisteminiz olacaktır.
Sorun yaşamanız halinde bana buradan yazarsanız hem çözeriz hem de başka çözemeyenlere de yardımcı oluruz.

14 Ocak 2011 Cuma

Win 7 de Office ikonları kayboldu ise

Bilgisayarıma yeni MSN yükledim. Ardından Office ikonları kayboldu. Word belgesinin üzerinde bilinmeyen program ikonu var. Ama tıklayınca Word programını açıyor.

Şöyle Düzeltebiliyorsunuz.
İlk olarak aşağıdaki dosyayı indirin
http://rapidshare.com/files/442518353/_90120000-0030-0000-0000-0000000FF1CE_.rar
ardından Sistemin yüklü olduğu dizinde Windows\Installer klasörünün içine girin.
Orada indirdiğiniz dosya ismi gibi pek çok isim göreceksiniz. isimler farklı olduğu için sonu OFF1CE diye biten klasörlere girip bakın. içlerinde aşağıdaki gibi ikonlar ve  isimler yer almalı
Öncelikle bunların yedeğini alın. Sonra indirdiğiniz klasör içindeki ikonları bunların üstüne yazın. 
Bir Office dosyasının üzerinde birlikte aç deyin ve ardından bu programı varsayılan olarak ayarlayın seçeneğini işaretleyin. ve dosyayı açın. Sorun çözülmüş olmalı.

Eğer bunları yapmaya çekiniyorsanız Office belgenizi 2003 olarak kaydedin. Sorununuz gecici olarak böyle de çözülebilir.