Archive for Eylül, 2008

NOD32 *MacOS X versiyonu yok. :D

Bahsetmek istediğm bir yazılım var. Özellikle Türkçe desteği ve Türkiye pazarına verdiği önem sebebiyle hoşuma giden bu yazılımı biraz tanıtmak istedim.

Anti Virüs yazılımları genellikle kulanıcılar tarafından, sistem kaynaklarını kurutması ve sistemi yavaşlatması, yeterli güncelleme yapamaması veya Norton Antivirüs örneğinde gördüğüm gibi, virüsün Antivirüs programına bulaşıp sistemi tamamen yok etmesi gibi nedenlerden ötürü pek tercih edilmezler.

Windows'un kendi firewall ve defender adı verilen pratik yazılımları da sistemi sınırlı sayıda koruyabilmektedir.

İnternete bağlı olan veya dosya giriş çıkışlarının çok olduğu bilgisayarlar, sisteme bulaşan virüsler, güvenlik zaafı yaratan trojan ve sistem kaynaklarını insafsızca sömüren reklam yazılımlarının her an tehdidi altındalar. Bu nedenle kaliteli bir antivirüs yazılımı kullanmak şart.

Bugüne kadar kullandığım antivirüs yazılımlarından Norton'u yukarıda anlattığım sebeplerden ötürü tercih etmiyorum. Sabancı Üniversitesinin verdiği bilgisayarda hazırda yüklü olan Kaspersky antivirüs programını da sisteme çok yüklendiği ve tehditlere hızlı yanıt veremediği için kullanmıyorum. Aynı zamanda Panda kullanan bir kaç arkadaşın da sistemleri virüsler vs. nedeniyle gözlerimin önünde intihar etti. McAfee'yi pek kullanamadım, SiteAdvisor programını çok başarılı buluyorum. Özellikle goggle.com reklamı sayesinde. :)

Son zamanlarda karıştırdığım bilgisayar dergilerinde reklamını gördüğüm ve Cebit fuarında da gözüme çarpan Nod32'yi daha önceden deneme sürümünü kullanarak denemiştim. Bugün satın aldım. Şimdi bu yazılımın artılarından bahsedeyim.

  • Bir kere, çok az yer kaplıyor.
  • Çok sessiz çalışıyor, nerdeyese sistemde antivirüs yazılımı var mı, yok mu anlamak mümkün değil, iki de bir de saçma sapan uyarılarla sizi gıcık etmiyor.
  •  Sistem kaynaklarını çok verimli kullanıyor. AMON isimli dosya sistem monitörünün sistemdeki her dosyayı devamlı taramasına rağmen, bellekte sadece 6 mb civarında yer kaplıyor.
  • Tam sistem taraması yaparken bile sistemi yavaşlatmıyor.
  • DMON adlı office belge monitörü sayesinde macro tarzı virüslere karşı bir aracı da mevcut ve siz daha belgeyi açar açmaz, tarama işini yapıyor.
  • EMO adlı e-posta monitörü de gayet başarılı bulduğum bir bileşen.
  • En sevdiğim ve en önemli bileşen IMON adlı internet monitörü. İnternetten gelen her dosyayı taramasına rağmen, internet hızında hiç bir yavaşlama yok.

Çalma çırpmaya gerek yok arkadaşlar. NOD32 aynı zamanda bütçeye de hitap ediyor. Antivirüs programının lisansı 50 YTL zaten. 25 YTL daha verirseniz, Firewall, Anti-spyware, Anti-virüs içeren ESET Smart Security adlı tümüyle Türkçe yazılımı da benim yaptığım gibi internetten kredi kartıyla alabiliyorsunuz.

En çok hoşuma giden özelliği de tümüyle Türkçe olması ve Türkiye pazarını desteklemesi. Birçok teknomarkette bile orjinal sürümünü görebilmeniz mümkün. Orjinal ürün satın aldığınızda, teknik destek imkanına da kavuşuyorsunuz.

Tüm bu nedenlerle şahsen bana soranlara da söylediğim gibi, size de Antivirüs yazılımı olarak NOD32'yi tavsiye ediyorum, çünkü ben de bunu kullanıyorum.

PHP'ye giriş - Başlangıç

Siz de benim gibi gelecekte masaüstü yazılımların yerini internet tabanlı yazılımlara bırakacağını düşünüyorsanız, vakit kaybetmeden öğrenmeniz gereken programlama dili: PHP'dir. Programlama kaynaklarında tarama yaparken sıklıkla karşılaştığım sorun, uzman kullanıcılara hitap eden referanslarla karşılaşmaktı. Halbuki ben, deneyimsiz bir kullanıcının öncelikle küçük uygulamalar yazmaya başlayarak, bu uygulamaları değiştirerek, bir şeyler yapmaya en hızlı şekilde başlaması gerektiğine inanıyorum. Bu yüzden, sıradan kaynakların aksine burada da bu yöntemi, sizi sıkmamak adına eğlenceli bir dil ile kullanacağım. Haydi başlayalım o zaman!

Öncelikle bilmeniz gereken nokta, Hypertext Preprocessor, ya da önceki ismiyle Personal Home Page adı verilen PHP'nin sunucu tabanlı bir programlama dili olduğudur.İyi de ne demek bu 'sunucu tabanlı' kavramı?

Html ile başlayalım. HTML yani Hypertext Markup Language, aslında html tagleri içeren bir text dosyasından farksızdır. Tag: <ifade> şeklindeki kelimecekler. Kendilerinden sonra gelen ifadeyi anlamlandırır ve </ifade>  yazısı ile sonlandırılırlar.

Eğer PHP öğrenmek istiyorsanız HTML'ye biraz aşina olmanız gerektiğini sanırım söylememe gerek yok. Ancak sunucuda internet sayfası yerine, örneğin PHP ile PDF kütüphaneleri kullanarak Pdf dosyaları oluşturmak istiyorsanız, bu aşamayı pas geçebilirsiniz. :) Tabi sizin için biraz zor olur.

Oluşturulan bu HTML dosyaları sizin kullandığınız tarayıcı tarafından okunur ve okunaklı sayfalar haline getirilir. Örneğin <strong>ifade</strong> yazısını gören bir tarayıcı, bu yazıyı size ifade olarak gösterecektir. Sunucunun bu aşamada kullanıcının tarayıcısına html dosyasını doğru bir şekilde iletmekten başka bir görevi yoktur. Örneğin Javascript dili ise, yine sunucudan gelen bu dosyanın içindeki verileri kullanıcı tarafında işler. Örneğin sunucudan indirdiğiniz bir resim üzerinde su dalgası efektini, aslında sizin makinenizde çalışan bir kod parçası oluşturmaktadır. Tarayıcınızda Javascript yoksa veya cep telefonu ile bağlanıyorsanız Javascript hiç bir işe yaramaz.

Sunucuya bağlı bir işlem olmadığından HTML dosyaları durağandır. Nasıl notepad'de açtığınız txt dosyası 3 saat veya 5 saat baksanız değişmiyorsa, HTML dosyası da aslında bir txt dosyası olduğundan değişmez. (Uzmanlara: Bu txt olayına kafayı fazla takmayalım. Konunun anlaşılması açısından böyle anlatıyorum. Merkezkaç kuvveti hesabı :)

Gelgelelim eğer sayfanızda dinamik içerik oluşturmak istiyorsanız: Mesela zamanla değişen haberler, dosyalar, borsa verileri, resimler gibi verileri kullanıcılara iletmek istiyorsanız. Yapamayağınız bir şey var: Binlerce html dosyasını tek tek elle değiştiremezsiniz. Bir tane tag açık kalırsa tarayıcılar hata verir, kullanıcılar saç baş yolmaya başlar. O zaman ne yapacaksınız: PHP kullanacaksınız. Sunucuya yüklü olan PHP derleyicisi, sizin sunucuya yüklediğiniz php uzantılı dosyayı derleyecek, ve kullanıcıya saf ve temiz bir html kodu olarak gösterecek. PHP uzantılı dosyaların kaynak kodu sunucuya derleyici yüklüyse, asla kullanıcılara gözükmez.

Olayı anladıysak başlayalım arkadaşlar. Ama önce bir adet sunucumuz olması gerekiyor, onun da PHP derleyicisine sahip olması gerekiyor. Her yerde internet bağlantısı bulamayacağınız ve kodunuzu test etmeniz için devamlı FTP ile sunucuya upload yapamayacağınız için, kendi bilgisayarınıza sunucu kurmanız gerekiyor. Durun, hemen korkmayın yahu. Çok basit bir iş. Şu adresteki XAMPP programı ile, PHP destekli Apache sunucusunu tek tıkla kurmanız mümkün. Widnows kullandığınızı varsayıyorum, benim gibi MAC OS X veya Linux kullanıyorsanız, buradan uygun sürümleri de indirebilirsiniz.

Programı uygun bir şekilde sorunsuzca kurduktan sonra C:/xampp/htdocs klasörü altında deneme.php adlı dosyayı istediğiniz bir editör vasıtasıyla oluşturun. Ben genellikle NOTEPAD++, Adobe Dreamweaver kullanıyorum. Ama sadece NOTEPAD kullanarak da dosyayi oluşturabilirsiniz.

Not defterinde boş bir dosya açtıktan sonra dosyanın içine:

 deneme

<?php

phpinfo();

?>

yazın.

Dosyayı C:/xampp/htdocs klasörüne deneme.php adıyla kaydedin ve tarayıcınızdan http://127.0.0.1/deneme.php adresini açın.

Eğer deneme yazısı, ve PHP logosuyla mavi bir tablo görüyosanız, PHP ve Apache sunucusu bilgisayarınıza sorunusuz bir şekilde yüklendi demektir. Eğer <?php  ?> yazılarını ve yazdığınız kodu olduğu gibi görüyoranız, Xampp yüklemenizde bir sorun var demektir. Xampp kurulumu gözden geçirmenizde fayda var.

Sunucudaki PHP derleyicisi sadece <?php    ?> veya <?    ?>  işaretleri arasındaki yerleri okur. Bu nedenle deneme yazısı direk olarak tarayıcıda çıkarken phpinfo(); yazısını tarayıcıda göremedik.

Kodumuza dönelim. phpinfo() sunucuda yüklü olan PHP bilgisini ekrana basan fonksiyondur. Bu ifadenin fonksiyon olduğunu ifadenin () kısmından anlıyoruz. PHP'de genellikle tüm ifadeler noktalı virgül ile biter. Nerede noktalı virgül kullanmayacağımızı şimdilik ileride göreceğiz.

Bir de not: Bilgisayarınıza yükleyeceğiniz Web sunucusu 80 numaralı portunuzdan sayfalarınızı eğer internete bağlıysanız tüm dünyaya açar. Bu da benden size bir güvenlik uyarısı olsun. Sonradan sorumluluk kabul etmem :)

Gelelim ilk programımızı yazmaya. Klasik Merhaba dünya programı olsun. Programımız dünyaya geldiği için mutlu mesut bir şekilde dünyaya merhaba desin. Tabi babası da sizsiniz, veya annesi, işte herneyse. C:/xampp/htdocs klasöründeki deneme.php dosyasını açın ve içindeki her şeyi silin.

İlk satıra <?php yazarak olayı açalım. Önceden dediğim gibi <?php ifadesi PHP dilinde "Bismillahirrahmanirrahim" demektir. PHP derleyicisi de hiçbir işe besmelesiz başlamaz.

sonra gelen satıra,

$degisken = "Merhaba dünya!";

yazalım. Burda $ işareti değişken belirtir. Değişken, bildiğiniz gibi sunucunun belleğinde, türüne göre bir yer açar, ki siz bunu evlerinizde veya ofisinizdeki çekmecelere benzetebilirsiniz. Biz degisken adını verdiğimiz değişkenimizi Merhaba dünya! ifadesiyle doldurduk. Değişken isimlerinde Türkçe karakter boşluk veya noktalama işareti de kullanılmaz. Tırnak işareti kullanmamız, değişkenin string yani yazı olduğunu, derleyicimize bildirdi. sonra da noktalı virgülle ifademizi kapattık. Şimdi de sonra gelen satıra

?>

yazarak deneme.php dosyasını kaydedin. Burdaki ?> ifadesi de derleyici için "Amin" demektir. Derleyici dosyada buradan ötesini okumaz :)

Daha sonra tarayıcıdan http://127.0.0.1/deneme.php adresini açalım. Eğer temiz bir şekilde Merhaba dünya! ifadesiniz yazabildiyseniz çocuğunuz dünyaya geldi demektir. Hatta konuşuyor bile. Tabi noktalı virgülleri falan unutursanız Parse error, syntax in deneme.php on line 4 gibi bişeyler yazan bir satırla karşılaşıp üzülürsünüz. Bu nedenle kodunuzu yazarken çok dikkatli olmalısnız.

Şimdilik bu kadarlık bir başlangıç yeter. Daha sonra biraz daha gelişmiş bir uygulamayla olaya devam edeceğiz. Burada uygulama lafına dikkatinizi çekiyorum. PHP bir programlama dilidir, ve yazılan şeyler de uygulamalardır.

Bir de eğer C veya C++ bilmiyorsanız ve öğrenmeyi planlıyorsanız, PHP yerine önce onu öğrenmenizi tavsiye ederim. C++ öğrenirken PHP bilgisi olayları biraz karıştırabiliyor.

Not: Bir sonraki derse kadar sabredemezseniz, burada PHP dersleri var. Onlarla da başlayabilirsiniz.