Java Severler NetBeans 6.1 Sürümüyle Daha Hızlı

17 Haziran 2008 yazar İbrahim Kutluay

Java dili ile yazılım geliştirenlerin favori editörlerinden NetBeans yeni sürümüyle beğenimize sunulmuş durumda.

Tamamını oku »

501 - (Toplam) 0 - (Bugün)

Kategori Bilişim, Java , Yorum yok »

Flash ve Xhtml kullanırken aman dikkat

29 Aralık 2007 yazar İbrahim Kutluay

Yeni işe başladığım şirketin sitesini yenileme çalışmalarına başlamıştık. XHTML standartlarına uyumlu, grafik  şekillerden ziyade içeriğe önem veren bir site olsun diye bir karar almıştım ve ona uygun bir şekilde devam ettim. Veritabanı işlemleri için PHP kullandık. Böylece ilk etapta hosting konusundaki ayakbağından kurtulmuş olduk. Şirket sitesini yenilerken eski siteden kalma bir banner kullanmamız gerekti. Banner oldukça hoştu ancak eni yetersizdi. Dolayısı ile yenilemektense bunu biraz çekiştirmek daha mantıklı geldi. 

Enini uzatıp boyunu CSS DIV boyutuna ayarladıktan sonra eski siteden bu bannerı görüntülen OBJECT kodunu alıp yapıştırdım. İşlem sorunsuzdu. Sonra imajlar için efekt yapmam istendi. Javascript kullanmaktense CSS Opaque filtrelerle yapmayı seçtim. Daha sonra bir menü için gene Javascripte dokunmadan CSS pulldown menu ekleyip kullandık. 

Benim bilgisayarımda tüm işlemler sorunsuzdu. Bilgisayarım Firefox, IE7 ve Opera ile çalışıyordu. Ancak diğer ççalışanlardan bazıları sitenin ekranda “zıpladığını” belirterek durumu bildirdiler. Kontrol ettim ve haklıydılar. Ben bir sürü aşama geçmiş olduğumdan tabii ilk başladığı aşamayı kaçırmış oldum. Kısaca hatanın başlangıcı belirsizdi.

Adım adım geriye giderek çözmem gerekiyordu ancak layer sorunu olduğunu tahmin ediyordum.

1. Opaque kodlarını devre dışı bıraktım olmadı.

2. Css menuleri devre dışı bıraktım olmadı.

3. Z-index değerleri sildim olmadı.

4. Sonunda flashtan olmasın diye sallayıp görüntü parametrelerini sildim. Flash objeyi aktif etmek tıklayın yada enter tuşuna basın diye bir mesaj vermeye başladı. Objeye tıkladığım anda ise zıplama durmuştu.

Teşhis konulmuştu şimdi iş hangi parametre olduğunu bulmaya gelmişti. Sıra ile değerleri silip denedim. Wmode parametresini eski sitede “window” olarak kullanmışlardı. Bende öyle kullanmıştım… Transparent yapınca tüm site normal çalışmaya başladı.

Size tavsiyem xhtml ile wmode=window kullanırken ekstra dikkat

246 - (Toplam) 0 - (Bugün)

Kategori PHP, Programlama, Web , Yorum yok »

Ücretsiz Antivirüs

18 Kasım 2007 yazar İbrahim Kutluay

Merhaba

Başlığa bakınca hemen AVG yada Clam AV önereceğim sanmayın. Tamam onlarda bedava onlarda antivirüs ama yeni ve güzel bir proje var.

Malum Clam epey iyi bir antivirüs ama şöyle bir sorun varki dosyalara erişimde kendiliğinden devreye giripte taramıyor.  O zamanda çok sık program vs indiren biriyseniz kolayca sisteminiz aşılanabiliyor virüslerce.

İşte open source anlamında süper bir iş çıkıyor burada. Adamın birisi Clam tekniğini kullanan bir gerçek zamanlı erişim koruması yazıp paketliyor ortaya epey kaliteli bir antivirüs çıkıyor. Beni sevindiren konulardan biriside yazılım DELPHI ile kodlanmış olması.

Moonsecure Antivirus.

İnternetten db alıp güncelleme, gerçek zamanlı tarama vs herşeyi var.  Zamanla dahada pişecektir. Bu arada Clam diyip küçümsemeyin Superonline günde milyon tane emaili onunla tarıyor

http://sourceforge.net/projects/moonav/

370 - (Toplam) 1 - (Bugün)

Kategori Bilişim, Delphi, Programlar, Windows, Yazılım Haberleri , Yorum yok »

Xhtml Nedir ?

09 Ağustos 2007 yazar İbrahim Kutluay

XHTML belgelerin kodlamasına bazı kurallar getiren bir standarttır. <html> etiketinden önce belge tipi, DOCTYPE ifadesi ile belirlenebilir. XHTML’de üç tip belge türü seçeneği vardır. Bunlar Transitional (Geçişli), Strict (Katı), Frameset (Çerçeve Kümeleri) ‘dir. XHTML ile kodlama yaparken en belirgin kurallar ise tüm tagların kapatılması ve taglar arası ?ezme? yapılmamasıdır.

Transitional (Geçişli):

Bu belge türü standart HTML üzerine kurulmuş olup artık geçerli olmayan HTML etiketleri ile de geriye dönük uyumludur. Genelde kullanılan belge türüdür. Belgeye <html> etiketinden önce aşağıdaki kod eklenir.

<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” “http://www.w3.org/TR/html4/loose.dtd”>

Strict (Katı) :

Uygunluğu kabul edilmemiş etiketleri kabul etmeyen bir belge türüdür. Belgeye <html> etiketinden önce aşağıdaki kod eklenir.

<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01//EN” “http://www.w3.org/TR/html4/strict.dtd”>

Frameset (Frame Kümeleri)

Bu belge tipi sayfada Frame kullanımına izin verir. Ancak Framelerin  neden fazla kullanışlı olmadıkları nı daha önce incelediğimizden bu belge tipinin kullanımıda tavsiye edilmez. Belgeye <html> etiketinden önce aşağıdaki kod eklenir.

<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Frameset//EN” “http://www.w3.org/TR/html4/frameset.dtd”>


367 - (Toplam) 1 - (Bugün)

Kategori Bilişim, Internet, PHP, Web , 2 Yorum »

Tablo Tasarlama, Key Ve İndex Kullanımı

03 Ağustos 2007 yazar İbrahim Kutluay

Tablo tasarımı yapılırken öncelikle nelerin kayıt alınacağı, bunlara girilecek bilgilerin tipi ve uzunluğu saptanır. Daha sonra yapılacak optimizasyonlar yapılır, anahtar alanlar vs saptanır ve daha sonra tablo oluşturulur.

Örnek bir tablo

Öğrenci no     Adı               Soyadı          Sınıfı   Doğum Tarihi           Cinsiyet        Mezuniyet

1                 İbrahim         Kutluay         5        01.04.1974             Erkek            Yüsekokul

3                 İsmail           Kutluay         4        02.02.1976             Erkek            Üniversite

2                 Tuba            Şahin            2        03.05.1980             Kadın            Lise

8                 İbrahim         Şahin            5        05.05.1983             Erkek            İlkokul

4                 İsmail           Şahin            1        08.01.1986             Erkek            İlkokul

9                 Azize            Şahin            2        02.04.1988             Kadın            Lise

5                 Türkan          Şahin            1        01.01.1960             Kadın            İlkokul

  
Şimdi genel mantık açısından tablo tasarımı konusunda fikir geliştirelim.

Görüldüğü gibi öğrenci no herkes için tek bir değer almaktadır. İsim ve soy isim char ve ya varchar olarak tanımlanabilir ve 20 karakter yeterlidir. Sınıf değeri için şu anda smallint tipi bile uygun ama 6 FEN C gibi değerler içinde hazır bir alan tutmak adına varchar yada char tanımlanabillir.  Burada tasarım hüneri bunlarda değil son iki sütundadır. Şöyleki gördüğünüz gibi cinsiyet bilgisi 5, mezuniyet ise 10 karakter uzunlukta. Tabloda 1.000.000 kayıt var ise bu iki sütun toplam 15 Mb yer kullanacaktır. Peki biz cinsiyet değeri yerine, erkek =1 kadın= 0 olarak smallint , ve de mezuniyet için aynı teknikle, ilkokul =0, ortaokul=1, lise=2 , Myo =3 ve Üniversite=4 diye iki değer kullansak nasıl olur. Ekrana görüntülerken ilave kod yazmak gerekecek ancak ilk hali ile 15 MB yer kullacak olan bu sütunlar smallint ile sadece 2 MB yer tutacak. Tabii bu değerler liste alınırken vs hafızanın daha ekonomik kullanılmasınada yarayacak.

 

Son olarak ise arama işlevleri için hazırlık yapmaya gelelim. Şimdi Örneğin adı Tuba olan öğrenciyi bulmak istersek ne yapmak gerekecek. CSV örneklerini hatılarsak For each ile bütun tabloyu sırayla okuyup kontrol edeceğiz. Peki bu işlemi hızlandıramazmıyız. Örneğin yukardaki asıl tablonun asıl tablonun yanında birde anahtar dosya tanımlasak. Mesela numara alanı için

 

Öğrenci no     Adı    

1                 İbrahim

2                 İsmail

3                 Tuba  

4                 İsmail 

5                 Türkan

8                 İbrahim

9                 Azize  

 

Şeklinde kayıt tutan bir indeks dosyası tanımlasak ve burada kayıtlar sıralı olduğu için arama yöntemleri kullansak nasıl olur. Örneğimizde 8 nolu kayda ulaşmak için 5 kayda gidip kontrol etmek gerekirken ikiye bölerek arama yöntemi kullanılırsa neler olur.

 

Bu töntemde kayıtların en ortasındaki eleman bulunur. Örneğimizde bu 4 tür. Aradığımız değer bundan büyükse buraya kadar elemanlar iptal olur, küçükse bundan sonraki değerler iptal olur. Görüldüğü gibi ilk elemede kayıtların yarısı uçmakta. Daha sonra orta eleman 8 oluncaya kadar bu yüntem devam edecektir.

 

Bir adım daha ileri gidelim;

 

Bu öğrencilerin derslerini ve bu derslerden aldıkları notlarıda tabloda tutacak olursak ilk akla gelen öğrenci tablonsunun sonuna tüm dersleri eklemek olacaktır. Oysa lisede bu öğrenciler dallara ayrılacak ve her öğrenci sadece belli bir ders grubunu alacaktır. Kısaca bu yapı hem öğrenci tabslonu şişirecek hemde hiçbilgi girişi yapılamayacak bir sürü boş alana sebep olacaktır.

 

Şimdi o zaman dersleri ayrı bir tabloda tutalım demenin vakti gelmiştir. Yani

 

Öğrenci No    Ders Adı        Not 1  Not 2  Not 2  Sözlü  Ortalama

1                 Matematik     50      40      60      80      55

Yukardaki ilk örneğe bakılırsa daha pratik çünkü öğrenciler sadece aldıkları derslerden not almış ve kayıt edilmiş olacaklar. Ancak hala yapıalacak bir şey var; Gördüğünüz gibi ders adı metin bir alan ancak ders isimleri genelde belli. Yani bunlarıda cinsiyet gibi bir tabloda tutup, 0 ? Matematik, 1 Türkçe şeklinde tutmak mümkün.

Gördüğünüz gibi veriyi şu anda bir çok tabloya bölündü ama bir çok yer tasarrufuda sağlanmış oldu. Bu tasarımın Turkcell gibi 20 milyona yakın abonesi olan bir yerde yapıldığını düşünürseniz veritabanının  boyunun kaç GB küçülmüş olabileceğini düşünün.

Programcılık dünyasında artık veritabanı tasarımı ayrı bir uzmanlık alanı haline gelmiştir. Yukarda saydıklarımız şüphesiz kimseyi veritabanı yöneticisi yapmaz ama arama algoritmaları ve indekslerin gerekliliği ise sadece tavsiye anlamında kaynaklarda yer almaktadır. O bakımdan işin detayını öğrenmek bakımından iyi bir adım atılmış olmaktadır.

350 - (Toplam) 0 - (Bugün)

Kategori Bilişim, Internet, PHP, Programlama, Veritabanı Yönetim , Yorum yok »

Basit Sözlük

03 Ağustos 2007 yazar İbrahim Kutluay

Verilerin CSV formatında ve hazır olduğunu varsayalım (internette hazır halde bir sürü kelime listesi çeşitli formatlarda bulunmaktadır. Dolayısı ile bu uygulamayı şirket için bir sözlük olarak kullanmanız mümkündür). Aşağıdaki örnek verileri inceleyecek olursak;

yes;evet

no;hayır

evet;yes

hayır;no

name;ad,isim

ad;name

isim;name

bu yapıda bir veri ile hem İngilizce hem Türkçe sözlük olarak aşağıdaki 30-40 satırlık programı kullanabileceğimizi görürüz. örnek koda geçelim;

<html>

<head>

<title>CSV arama</title>

<META Http-Equiv=”Pragma” Content=”no-cache”>

<meta http-equiv=”content-type” content=”text/html; charset=iso-8859-9″ />

<meta name=”keywords” content=”Csv” />

</head>

<body>

<?

if (!$_POST):

{?>

<Form Action=”<?$PHP_SELF?>” Method=”POST”>

<tr><td colspan=2 align=center style=”font-color:red;”> Basit Sözlük </td></tr>

<tr><td> Kelimeyi Giriniz </td> <td><input type=”TEXT” name=”sozcuk”></td></tr>

<tr><td> <input type=”SUBMIT” value =”ARA”></td></tr>

</table>

</form>

<?}

else :

$sozcuk=$_POST['sozcuk];

$dosya=”dosya.csv”;

$baglan=fopen($dosya,’r');

if (!$baglan)

{

echo “baglanti kurulmadı”;

exit();

}

else

{

echo “tabloya baglandi <br>”; }

while (!feof($baglan))

{

$satir=fgetcsv($baglan,filesize($dosya),”;”);

//echo $satir[0]; okuyor mu kontrol için kullanabiliriz

if ($satir[0]==$sozcuk)

{

$varmi=true;

break;

}

}

if ($varmi)

{

echo “<b>$satir[0]</b> kelimesinin anlamı: <b>$satir[1]</b>”;

}

else {echo “kelime dosyada mevcut değil “; }

endif;

?>

</body>

</html>

Bu kodda da tek dosya içinde hem form hemde formu işleyen kod verilmiştir. Program ilk kez çalıştığında $_POST dizi değişkeni boş olacağından, programın form kısmı ekrana verilmekte ve numarası aranan kişinin girilmesi istenmektedir. Bilgi girilip butona tıklandığında ise $_POST bu sefer dolu olacağından programın formu işleyen kısmı yani bu ismi arayan kısım çalışacaktır.

Arayan kısımda ise sıra ile satırlar fgetcsv ile okup parçalanmakta ve soldaki ilk bilginin yani parçalandıktan sonra dizinin [0]. elemanının forma girilen bilgiye eşit olup olmadığı kontrol edilmektedir. Eşitlik sağlandığında döngü kırılmaktadır aksi takdirde numara bulunsa bile dosya bitene kadar döngü sürecektir.

616 - (Toplam) 0 - (Bugün)

Kategori Bilişim, Internet, PHP , 4 Yorum »

PHP - Web Sunucusu ? PHP Kurulumu-XAMMP, EASYPHP, UNIFORM SERVER

03 Ağustos 2007 yazar İbrahim Kutluay

Web master açısından PHP sunucu tarafından çalışan bir programdır. Dolayısı ile sunucu ile uyumlu olmalıdır 5. sürümü itibariyle, PHP bütün Unix-türevi sistemler (örneğin Linux, Mac Os, BSD, Solaris) ve Microsoft Windows sistemleri ile uyumludur. Birlikte çalışabileceği Web sunucu programları arasında Apache, IIS, FHTTP, Omni HTTPd, Xitami ve Windows 95/98 için PWS (Personal Web Server) vardır.

Internet ortamında ortamında web sunuculara PHP işleme yeteneğinin eklenmesi haliyle bizim sorunumuz değildir, (işimiz hosting ise o zaman başka tabii). Bizim için Hosting firmasının PHP desteği verip vermediğini bilmek yeter. Fakat çalışmalarımızın doğruluğunu, hataların kontrolünü yapabilmek için (hatta site tasarımını gerçek ortamdaki gibi müşteri test edebilsin diye) kendi bilgisayarımıza bir kişisel Web Server kurmak ve bu programı PHP-uyumlu hale getirmek gerekir.

Normal şartlar altında Apache, PHP, MYSQL kurulumu detaylı bir işlemdir. Merak edenler için kitabın sonlarında yinede yer verilecektir. Ama benim önerim bu yöntemi takip etmeyip, hazır WAMP paketlerinden birini kullanmanız olacaktır.

WAMP Windows+Apache+Mysql+PHP kelimelerinin kısaltılmışıdır. WAMP paketleri tüm bu programların sisteminize otomatik kurulumunu sağlarlar. Böylece ayarlarla uğraşmadan doğrudan işinize bakabilirsiniz. Linux için tasarlanan bu paketler ise LAMP olarak bilinirler.

XAMPP

En çok tutulan WAMP paketlerinden birisi www.apachefriends.org adresinden bulabileceğiniz XAMMP paketidir. Linus sürümüde vardır. PHP varsayılan olarak desteklenmiştir. Ayrıca istenirse JSP çalıştırmak için TOMCAT eklentiside vardır. Paket bir çok ögeyi barındırdığı için biraz büyük, download edilmesi daha uzun ve dosya sayısı çok fazlaolduğu için kopyala yapıştır vs işlemlerde belirgin bir yavaşlık sözkonusu olmakta.

APPSERV

Yine aynı şekilde APPSERV paketide iyi bir pakettir. Kendine özgü bir kullanıcı kitlesi olup Flash disk üzerinde çalışmasını sağlayan betikleride vardır.

Uniform Server

Benim kişisel olarak tercih ettiğim WAMP paketi budur. www.uniformserver.com adresinde yayınlanan bu paket, küçük ve sadece amaca yönelik bir paket. Üstelik bir flash disk üzerinde tüm tasarımları (MYSQL verileri ve veri ayarları ilede birlikte) taşıabilme avantajı vermekte. Bu işlemi XAMMP ilede yapmak mümkün ama Uniform açık halde iken sadece 40 mb civarı yer tutarken XAMPP 250 mb civarında yer kaplıyor. Fakat Uniform Server içinede PEAR ve diğer bir çok eklentinin elle kurulması gerekebiliyor. Uniform varsayılan olarak sadece MYSQL eklentisi hazır halde geliyor ve PEAR kütüphaneleride dahil değil.

331 - (Toplam) 0 - (Bugün)

Kategori Bilişim, Internet, PHP , Yorum yok »

Bazı PHP Kütüphaneleri ve işlevleri

03 Ağustos 2007 yazar İbrahim Kutluay

php_bz2.dll

Bzip2 dosyaları ile çalışma. Sıkıştırma ve açma işlemi

php_zip.dll

Zip dosyaları ile çalışmaç sıkıştırma ve açma işlemi

php_curl.dll

Değişik tipte protokol kullanan istemci ve sunucular (ftp,http,https,gopher vs) ile bağlantı kurabilmek için

php_exif.dll

Exif bilgileri ile çalışma (resim meta verileri)

php_fdf.dll

Form Data Format eklentisi. PDF dosyalarında formlarla çalışma

php_gd2.dll

Grafik oluşturma ve çizme

php_gettext.dll

Değişik dillerde çalışabilecek yazılımlar için

php_gmp.dll

 

php_imap.dll

IMAP protokolü ile iletişim kurmak için

php_ldap.dll

LDAP (Lightweight Directory Access Protocol) protokolü ile iletişim kurmak için gerekli fonksiyonlar

php_mbstring.dll

MultiByte String işleme fonksiyonları

php_mcrypt.dll

DES, TripleDES, Blowfish (varsayılan), 3-WAY, SAFER-SK64, SAFER-SK128, TWOFISH, TEA, RC2 and GOST in CBC, OFB, CFB, ECB cipher, RC6 ve IDEA algoritmaları ile şifreleme yapmak için gerekli kütüphane (son iki free algoritma değildir)

php_mhash.dll

HASH şifreleme fonksiyonları

php_mime_magic.dll

Dosya içeriğine bakıp dosya türü hakkında tahminde bulunan kütüphane dosyası. (Bu eklenti yerine artık Fileinfo eklentisi geçmektedir. Bu eklenti geri dönük uyumluluk için korunmaktadır)

php_ming.dll

Flash animasyon dosyaları üretmek için gerekli fonksiyonlar

php_openssl.dll

SSL protolü için

php_snmp.dll

SNMP protokolü (Simple Network Managemet Protocol)

php_soap.dll

Web servisleri için

php_sockets.dll

Soket bağlantılar için

php_xmlrpc.dll

XML ve RPC kütüphanesi. XML-RPC sunucu ve istemcileri geliştirmek için gerekli fonksiyonlar

php_xsl.dll

XML dosyalarına çıkış formatı tanımlamak için gerekli fonksiyonlar

php_dbase.dll

Dbase VTYS bağlantısı

php_interbase.dll

Interbase VTYS bağlantısı

php_msql.dll

Msql VTYS bağlantısı

php_mssql.dll

Mssql VTYS bağlantısı

php_mysql.dll

Mysql VTYS bağlantısı

php_mysqli.dll

Mysql VTYS bağlantısı (Nesne erişimlidir)

php_oci8.dll

Oracle VTYS bağlantısı (Oracle Call Interface 8)

php_pgsql.dll

Postgresql VTYS bağlantısı

php_sqlite.dll

Sqlite VTYS bağlantısı

php_sybase_ct.dll

Sybase VTYS bağlantısı

php_pdo.dll

PHP Data Object bağlantılarının kullanımı için (Database Abstraction Layer kütüphanesi)

php_pdo_firebird.dll

Firebird PDO bağlantısı

php_pdo_mssql.dll

Mssql PDO bağlantısı

php_pdo_mysql.dll

Mysql PDO bağlantısı

php_pdo_oci.dll

Oracle PDO bağlantısı

php_pdo_oci8.dll

Oracle PDO bağlantısı

php_pdo_odbc.dll

ODBC PDO bağlantısı

php_pdo_pgsql.dll

Postgres PDO bağlantısı

php_pdo_sqlite.dll

Sqlite PDO bağlantısı

300 - (Toplam) 1 - (Bugün)

Kategori Bilişim, Internet, PHP , Yorum yok »

PHP Dili ve Veritabanı Programları ile İlişkisi

03 Ağustos 2007 yazar İbrahim Kutluay

Günümüzde neredeyse tüm programlama dilleri ile en çok veritabanına yönelik programlar yazılmaktadır. Kısaca programların çoğu hep bir şeyleri kayıt altına almak üzere yazılmaktadır. Zaman içinde bu kayıt altına alınan bilgilerin yönetilmesi ve hızlı işlenmesi bir sorun olarak ortaya çıktı ve bu defada ortaya bu verilerin işlenmesi konusunda teknikler içeren DBMS olarak kısaltılmış haliyle Data Base Management System programları çıktı. Türkçe olarak VTYS yani Veri Tabanı Yönetim Sistemi ifadesi kullanılmaktadır. Veritabanı programları kendisine gönderilen verileri istenen ortamlarda tutar, talep edilmiş ise bunları aramada kolaylık sağkayacak indeks dosyalarını güncelleştirir, gelen talebe göre aranan şartlara uygun kayıtları bulur ve telp eden programa gönderir. VTYS geliştiren şirketler ise kendi sistemlerinin kullanımını artırmak için kendi sistemlerinin kullanımında yardımcı olmak üzere çeşitli sürücüleri geliştirip bunları yazılım dünyasına sunmaktadır. Bu bakımdan günümüzde VTYS ile ilişki kurmak isteyen diller sadece bu VTYS ile iletişim kuran bir sürücü dosyası kullanmak durumundadır. PHP geliştiricileri ise neredeyse bilinen bütün VTYS sistemleri için bu sürücülere erişimde kullanmak üzere bağlantı dosyaları hazırlamışlardır. Örneğin MYSQL için gerekli olan LIBMYSQL.DLL dosyası (Mysql tarafından geliştirilmiştir.) PHP ile hazır gelmektedir. PHP ise bu LIBMYSQL.DLL dosyasını kendisi için geliştirilmiş bir bağlantı kütüphanesi ile yönetir. PHP geliştiricileri aşağı yukarı bütün VTYS sistemleri için sürücüler geliştirmiştir (Adabas, dBase, FilePro, Informix, InterBase, mSQL, Oracle, Solid, Sybase, Sqlite, Firebird ve bir çok Unix veritabanı). PHP ayrıca, ODBC sürücüleri ile de çalışabilir; ve ODBC’nin okuduğu bütün veritabanlarından veri çekebilir. (ODBC’nin Unix-Linux sürümü de vardır.)

PHP dilinin detaylarından önce PHP ile kullanılabilen veritabanlarından üçünden bahsedelim. PHP’nin varolma sebeplerinin başında, ticarî Unix veya Microsoft Windows işletim sistemlerinden ayrı, kar kaygısı olmayan, her türlü platformda çalışabilen Script dili ile bu dille kullanılabilecek yine Açık Sistem ürünü bir VTYS aracına sahip olmak gelir. Perl, PHP’den çok önce de bu platformda mevcuttu ama PERL VTYS yönetmekten çok sadece metin dosyalarını okuyup ve sonucu biçimlendirerek rapor haline getirmek amacıyla tasarlanmıştı. Bu bakımdan PERL veritabanına dayalı işlemlerde programcıya çok güçlük çıkartıyordu. Geliştirilmeside sıkıntılı bir süreçti. PERL açılım olarak ?Practical Extraction and Report Language? kelimelerinden oluşyor dendiği zaman zaten PERL dinin amacı ve yapmak üzere tasarlandığı şey kendiliğinden ortaya çıkmış olmaktadır. ASP ise sadece Windows üzerinde çalışabilir olması sebebiyle hosting konusunda masraflı bir dildi. Üstelik Open source felsefesine uygun değildi. PHP, tasarımcılarının MySQL ve PostgreSQL teknolojilerini geliştiren kurum ve firmalarla yaptığı yakın işbirliği sonucu ikinci sürümünden itibaren veri-yönlendirmeli (Data-Driven) Web uygulaması alanında önemli bir araç olarak belirdi. PHP ile, Web Server’a sayfanızı Internet ziyaretçisine göndermeden önce bir takım komutları yürütmesini, bir takım veri dosyalarını açıp içindeki kayıtları okuyup örneğin bir tablo içine yerleştirmesini söyleyebiliriz.

MySQL, PostgreSQL ve SQLite ise, açık Kaynak şeklinde geliştirilen Veri Tabanı Yönetim Sistemi ? VTYS (Data Base Management System ?DBMS) dediğimiz türden programlardır. En çok bilinen VTYS programları  ticari olarak Oracle, MSSQL, Informix, DB2 ve açık kaynak tarafında ise MYSQL, PostgreSQL, Firebird ve Sqlite?dır.

MySQL, çok-kanallı (multi-threaded), çok kullanılıcılı çalışabilen (multi-user), hızlı ve sağlam (robust) bir veritabanı yönetim sistemidir. Mysql veri tablolarını iki formatta tutabilmekteydi. InnoDB ve MYisam. Veritabanları arasında kızışan rekabet sonucu pabucu pahalı gören Oracle, Innobase şirketini satın alarak bir anlamda MYsql ?in elini kolunu bağladı. Çünkü dilediği anda Innobase?i lisanslı hale geçirip MySql ürünlerini tartışmalı duruma getirebilecekti. MYsql ?in buna cevabı ise farklı oldu. Onlarda InnoDb yerine yıllar önce Interbase?i geliştiren Jim Starkey? i işe alarak, kendi tablo formatlarını entegre etme yoluna gittiler.

PHP geliştiricileri ise 5. sürümden itibaren doğal MYSQL desteği yerine, SQLite veritabanını öne çıkarmaya başladılar. SQLlite, basit veritabanı işlemleri için olduça yeterli bir veritabanı programıdır. Gerçi network ortamında çoklu kullanım için uygun değildir ama internet programlarının çoğunun buna ihtiyacı yoktur.

356 - (Toplam) 0 - (Bugün)

Kategori Bilişim, Internet, PHP , Yorum yok »

Interaktif Web Sayfaları Hazırlamak İçin Yöntemler

03 Ağustos 2007 yazar İbrahim Kutluay

Web sayfalarına dinanizm kazandırmanın iki yolu vardır. Sunucu tarafındaki interaktif uygulamalar ve Kullanıcı tarafındaki interaktif uygulamalar. Kullanıcı tarafındaki uygulamalara örnek olarak Javascript veya VBscript ile yapılan veri doğrulama işlemleri ve Java dilinde yazılmış appletleri sayabiliriz. Bunun avantajları;

  • Sunucu tafarına yük bindirmez ve veri doğrulama gibi kullanıcı tarafında halledilebilecek işlemler için sunucuyu yormamış olur
  • Bant genişliğini etkin kullanma şöyleki sayfa bu doğrulama işlemleri için sunucuya gidip geri dönerken aynı zamanda internet bağlantısınıda kullanmış olmaktadır.

 

Sunucu tarafında çalışan uygulamalarında tabiî ki kendine göre avantajları vardır?

  • Web tarayıcılarında % 100 bir standart olmadığından scritplerin her tarayıcıda çalışacağı garanti değildir. Örneğin Vbscript sadece Internet Explorer ile çalışır.
  • Kullanıcı güvenlik gerekçesiyle script çalıştırmayı tamamen iptal etmiş olabilir.
  • Kullanıcıda yüklü JRE sürümü alt sürüm ise bazı appletleri çalıştıramayabilir.
  • Bazı işlemler mutlaka sunucu tabanlı olmak zorundadır. Örneğin işletim sistemine ait bir komut karşıda çalıştırılmak zorundadır. Yine aynı şekilde veritabanı işlemleride sunucuda çalışmak zorundadır.
  • Sunucuda çalışan bir uygulamayı güncellemek daha kolaydır.
  • Sunucuda çalışmakta bazen bant genişliğine faydalıdır. Örneğin siz sunucuya sadece bir sorgu gönderirsiniz. Sonucu size buna uygun kayıtları gönderir. Tüm kayıtları gönderip, kullanıcı tarafındaki bir uygulama bu süzme işlemini yapacak olursa çok daha fazla bant genişliği kullanılır.

208 - (Toplam) 0 - (Bugün)

Kategori Bilişim, Internet, PHP , Yorum yok »

« Önceki sayfa