PHP Dersleri – 0: PHP, Apache, MySQL nedir?
Barış Atasoy • 7 Ekim 2008 Sal •
PHP nedir diye sorulduğunda, web uygulamaları için geliştirilmiş bir dil olduğu yanıtını alırsınız.
Bu çok eksik bir tanımlama. Sözgelimi, PHP-GTK ile masaüstü uygulamalar geliştirebilirsiniz. Hatta sistem yönetimi için kullanabilirsiniz. Bazı eski UNIX dinazorları sistem yönetimi için PERL’den başka bir dil tanımazlar; oysa PHP ile bir Linux sistem üzerinde yapamayacağınız şey yoktur. Hatta çoğu zaman, Bash scripti yazmaya üşenip, Linux üzerindeki işlerimi PHP scriptleri ile görürüm; zira PHP benim için daha anlaşılır ve mantıklı bir dil.
Hemen hiçbiryerde anlatılmadığı için, PHP’nin nasıl çalıştığı ile başlayalım.
PHP web uygulamaları ile nasıl çalışır?
PHP kurulu bir Linux sisteminde çalıştıysanız ve birazcık sistemi kurcaladıysanız, php isimli çalıştırılabilir bir dosya olduğunu farketmişsinizdir.
Bazı sistemlerde bu dosya php5-cli’dır.
Bunun üzerinde durmamın nedeni şu: Eğer yazdığınız scripti, php5-cli scriptadi.php şeklinde çalıştırırsanız, PHP’nin yorumlanan bir dil olduğunu anlamanız kolaylaşır. Aynı Python gibi.
Peki, PHP ile kodlanmış bir sayfa açılırken ne oluyor?
PHP, Apache dışında Lighttpd, Zope gibi başka web sunucuları ile de çalışabilir. Bir web sunucudan, diyelim bu Apache olsun, web sayfasını istediğinizde, Apache, o sayfanın HTML kodlarını sizin tarayıcınıza yollamaya başlar..ta ki, “
Göreceğiniz her PHP programı, ile biter. Bunun nedeni aslında şudur: Apache ya da bağlandığımız web sunucusu, arasındaki kodu, PHP yorumlayıcısına gönderir. Eğer Apache kullanıyorsak, bu modülün adı genelde mod_php’dir. Genelde diyorum; zira Apache’yi PHP ile çalıştırmanın birden çok yolu vardır; FastCGI da bir diğer alternatiftir. Bunlar ileri düzey konular olup, PHP kodlamamızı hiçbir şekilde etkilemediğinden, üzerinde durmayacağım.
mod_php, daha açık ifadeyle PHP yorumlayıcısı, kodu çalıştırır ve çıktıyı web sunucuya yollar.
Eğer tarayıcınızdan sayfa kaynağını açarsanız, PHP kodlarını göremezsiniz. Çünkü PHP daha en başta söylediğim gibi sunucu üzerinde çalışır; web sunucusu PHP’den aldığı çıktıyı toplayıp, size saf HTML halinde gönderir. Oysa, Javascript gibi kullanıcı taraflı web dillerinde, dilin kodunu HTML sayfasına gömülü olarak görebilirsiniz. Çünkü Javascript kodu uzaktaki sunucuda değil, kendi tarayıcınız üzerinde çalışır.
Windows için ayrı, Linux için ayrı kod mu yazacağım?
Genelde PHP ile ilgili birşeyler okuduğunuzda, Linux, Windows ya da Mac; PHP kodunuzun problemsiz olarak tüm platformlarda çalışacağı söylenir. Bu, ancak kısmen doğrudur!
PHP, kendi halinde oldukça yetersiz olduğundan, zaman içinde birçok kütüphane eklenmiştir. Bunların bir kısmı PHP’ye oldukça sıkı entegre olmuştur ve siz farkında bile olmadan otomatik kurulurlar. Örneğin grafik işlemlerinde sıkça kullanılan GD gibi. Bazen de, örneğin CURL kütüphanesi kullanan bir program yazarsınız ve programınız anlamsız şekilde çalışmayı reddeder; zira kullandığınız PHP sürümü CURL desteği olmadan derlenmiştir.
Bazı kütüphaneler ise sadece belli platformlar içindir. Sözgelimi, Direct IO kütüphanesi sadece Windows sunucular üzerinde çalışır. dio_open ile bir dosya açmaya çalışırsanız, bu kod Linux sunucu üzerinde çalışmaz. Ncurses da, Windows üzerinde çalışmayacaktır. Veya, kullandığınız web sunucusuna has bazı kodlarla karşılaşabilirsiniz.Örneğin; apache_child_terminate() fonksiyonu, bir PHP kod parçası çalıştıktan sonra, onu çalıştıran Apache prosesine kill sinyali göndermeye yarar ve Apache dışındaki web sunucularında çalışmaz.
Kütüphaneler,Frameworkler,Template sistemleri
Bazı kütüphaneler ise ek olarak gelirler; meşhur ve artık neredeyse vazgeçilmez olan PEAR gibi. Bir de Framework’ler vardır. Mesela CodeIgniter. Framework’ler de PEAR gibi çalışırlar; farkları çok detaylı ve hemen hemen herşeyi yapabilen Class (Sınıf) ve fonksiyonlardan oluşmalarıdır. Şimdilik kafanız bir parça karışmış olabilir; çok üzerinde durmayın. Zaman içinde sınıflar,fonksiyonlar,PEAR gibi şeyler üzerinde ayrıntılı olarak duracağım.
Bir de adını çok duyacağınız Smarty gibi template sistemleri var. Açıkçası, Smarty piyasada çok tutulan bir şey ve ben nedenini anlamış değilim! Smarty, “hesapta kolayca” temalar oluşturabilmenizi sağlıyor. Aslında, “kendine saygısı olan” herhangi bir PHP programcısının yapacağı bazı işleri sizi yapmaya zorluyor, hepsi bu. PHP konusunda iş arıyorsanız, birileri size Smarty diyecektir; onları ciddiye almayın. Özellikle sınıf (class) kavramını biliyorsanız, insanları Smarty’yi yalayıp yuttuğunuz konusunda kandırmanız son derece kolay olacaktır. Pratikte ise Smarty hiçbir işinize yaramaz. Çünkü onun yapabildiği şeyleri zaten yapıyor olacaksınız; zaten yapamayacak düzeyde iseniz, Smarty size daha da çok ayakbağı olacaktır.
Özellikle programcılıktan bahsederken sık sık parantez kullanmayı severim; konu Framework’ler, templating sistemlerinden açılmışken hemen şunu söylemek isterim: bu tip şeylerden, iş yükünüzü hatırı sayılır biçimde azaltmayacaksa, daima uzak durmalısınız. Bırakın PHP’yi, bilgisayar konusunda hemen herşeyde olduğu gibi, sonradan eklenen her bileşen -RAM ve CPU değilse!-, performansı çok ciddi biçimde azaltacak ve potansiyel hata ihtimallerini artıracaktır.
Bir örnek vereyim: 1′den 20′ye kadar olan sayıları toplamak istiyorsanız, for döngüsü değil, $sonuc=1+2+3…+n’i kullanın! Elbette, bu pratikte yapılabilecek bir şey değil. Ancak, demek istediğim şu: dil ne olursa olsun, mümkün olduğu kadar basit komutlar kullanmalısınız. Özellikle Assembler bilen arkadaşlar ne dediğimi daha iyi anlarlar. Her komutun işlenme süresi aynı değildir; hatta PHP gibi yorumlanan dillerde radikal farklar olabilmektedir.
Bu dile yeni başladığınıza göre, performans optimizasyonu sizin için uzak bir yerde. Ama daha en başından bazı ihtimaller hakkında fikir sahibi olmak canınızı yakmaz!
Apache: PHP ile entegre web sunucusu
Genelde, başarılı açık kaynak kodu projeler şu çizgiyi takip eder: basit, hızlı ve kullanışlı bir proje olarak ortaya çıkarlar, zaman içinde hızla gelişir ve sürüyle eklentiye sahip olurlar, sonunda da hantal, yavaş ve yönetimi zor olurlar. Sonra bir başka proje yükselişe geçer. Örnek mi? Firefox!
Biraz hantal ve nev-i şahsına münhasır olmasına rağmen, Apache ve PHP ayrılmaz ikili gibiler. Daha hafif bir web sunucusu arıyorsanız, çok iyi PHP bütünleşmesine sahip Lighttpd’yi deneyebilirsiniz.
Ama yine de, Apache’yi öğrenmenizi şiddetle tavsiye edeceğim. Burada açmak istediğim bir parantez daha olacak: büyük çaplı web projeleri ile uğraşırken, sadece PHP kullanarak herşeye müdahale edemeyeceksiniz. Ya da bazı şeyleri yapabilmek için, Apache’nin nasıl çalıştığını, örneğin .htaccess dosyasının ne işe yaradığını öğrenmeniz gerekecek.
Hemen bir örnek vereyim. Örneğin, Wordpress’i ilk kurduğunuzda, URL’ler http://chokshanebilogum/?p=1 şeklinde görünürler. Ama çoğu blogda ve sitede farkedeceğiniz gibi -ki Pozitif PC’de de böyle- URL’ler genelde http://chokshanebilogum/achaip-yazi şeklindedir. İşte bu URL Rewrite dediğimiz şey, aslında .htaccess dosyasındaki ayarlamalarla yapılmaktadır.
MySQL
Joomla ve Wordpress gibi içerik yönetim sistemlerinin yaygınlaşması ile, içerikle görünümü birbirinden ayırma fikri yaygınlık kazandı.
Peki, neden içerikle görünümü ayrı elementler olarak ayırmalıyız? Çok basit: sayfamızın görünümünü değiştirmek için, sürüyle içeriğin olduğu, tek tek sayısız sayfalardan oluşan siteleri oluşturmak zor ve akıllıca olmadığı için.
İçeriği, bir html sayfası yerine veritabanında saklamanın sayısız faydası var:
1.Veriyi içerikten ayırdığımızda, onu da sürüyle sayfadan oluşan dizinler yerine, organize bir veritabanı içinde tutmak daha derli topludur.
2.İlişkisel veritabanı yönetim sistemlerinin içeriğe ulaşmaları genelde disk üzerinde bir dosyaya erişmekten daha hızlıdır.
3.Veritabanı içindeki içeriği yedeklemek, bir başka yere taşımak daha kolaydır.
4.Veritabanları, SQL gibi diller sayesinde içeriği belli kriterlere göre aramamıza, değiştirmemize, silmemize izin verirler.
MySQL, bir ilişkisel veritabanı yönetim sistemidir. Bazı sürümleri açık kaynak kodlu ve ücretsizdir. Şirket kısa süre önce Sun Microsystems tarafından alındı ve çok hızlı bir gelişim sürecine girdi. MySQL, artık Enterprise düzey bir sistem olma yolunda; dolayısıyla MySQL konusunda uzmanlaşmak kariyeriniz için artı bir puan olacaktır.
MySQL’ın yaygınlaşmasındaki tek sebep ücretsiz olması değildi. Bugün, Apache ve PHP’ye eşlik eden veritabanı hemen hemen daima MySQL’dır. Oracle gibi, hatta Microsoft SQL Server gibi gelişmiş SQL desteğine ve fonksiyonlara sahip değildir; ama tam da web uygulamalarının ihtiyaç duyacağı basitliğe sahiptir. Basit olduğundan, yine basit işler için, hemen hemen en hızlı RDBMS’dir. (Relational Database Management System-İlişkisel Veritabanı Yönetim Sistemi)
PHP’nin MySQL,Oracle, PostgreSQL gibi veritabanlarına bağlanmak için iç fonksiyonları mevcuttur. Ayrıca, ODBC (Open Database Connectivity) fonksiyonları ile de MySQL ile ilişki kurabilirsiniz. Bir diğer alternatif, Wordpress’in de kullandığı EZSQL gibi hazır sınıfları kullanmaktır. EzSQL cidden çok güzel bir kitaplık; ama size tavsiyem öncelikle iç MySQL fonksiyonlarını ve ODBC’yi iyice anlayıp öğrendikten sonra bu tip sınıflara geçmeniz.
PHP’yi sistemime nasıl kurarım?
PHP ile web tabanlı uygulamalar geliştireceğinizi varsayarak, Apache ve MySQL’ın da dahil olduğu, Windows için WAMP, Linux içinse LAMP denilen hazır paketlerden birini edinmenizi tavsiye ederim. Ben Windows üzerinde Apache Friends’in XAMPP paketini kullanıyorum ve tavsiye ediyorum; buradan indirebilirsiniz.(http://www.apachefriends.org/download.php?xampp-win32-1.6.8-installer.exe)
Linux içinde aynı paket bulunuyor. Onu da buradan indirebilirsiniz (http://www.apachefriends.org/en/xampp-linux.html#374). Ayrıca, paket yöneticinizi kullanarak dağıtımınıza özel PHP,Apache ve MySQL paketlerini indirebilirsiniz.
Peki Linux için XAMP’mı kullanmalısınız, yoksa dağıtıma özel paketleri mi?
Burada size önerim şu: Eğer Linux konusunda uzman değilseniz ve sık sık dağıtım değiştiriyor ya da güncelleme yapıyorsanız, adresini verdiğim paketi indirin. Nedeni ise şu: Bu paket, statik kütüphanelerle derlenmiştir ve çoğu Linux dağıtımı üzerinde sorunsuz çalışır. Hemen hemen %99 durumda, sadece dizini başka bir dağıtıma taşıyarak çalışmanıza kadlığınız yerden devam edebilirsiniz. Evet; biraz daha yavaş çalışacaktır; ama sonuçta halka açık bir web sunucusu değil, kendimiz için bir çalışma ortamı kuruyoruz.
Kendi bilgisayarımı Internet’e açarak web yayınına başlayabilirmiyim?
Aslında yukarıda anlattığım işlemi yaptığınızda, Internet’e yayın yapmaya hazır, (neredeyse) tam teşekküllü bir web sunucusu kuruyorsunuz! Modeminizi, dışardan (Internetten) gelen çağrıları içeriye aktaracak şekilde ayarlarsanız, dışarıdaki kullanıcılar, sizin IP adresinizi yazarak hazırladığınız içeriğe ulaşabilirler. Hatta, sabit bir IP’niz varsa, domaini aldığınız yerden gerekli yönlendirmeyi yaptığınızda, artık bir ISP olursunuz. Tabi bu iş anlattığım kadar kolay değil; sözgelimi aynı adresten çok sayıda site yayınlayacaksanız, kendi içinizde de bir DNS server kurmanız gerekir. Bunlar bu yazının konusu değildir; ancak web sitelerinin,ISP’lerin nasıl çalıştığını anlamak yolunda size bir fikir verecektir. Bunu yapmaya yeltenmeyin, sadece deneyin. Zira, sunucu yapılandırmaları, güvenlik ve performans gibi nedenlerden ötürü ayrı bir uzmanlık alanıdır.
Neden PHP?
PHP’ye alternatif başka diller de var. Ruby gibi. Hatta, paraya kıyarsanız, ColdFusion gibi, ASP gibi diğer alternatifler de mevcut.
PHP’yi seçmeniz için “beleş” olmasından başka nedenleriniz olmalı. Eğer ticari olarak programcılıkla uğraşıyorsanız, vakit nakittir. Örneğin, bazı durumlarda ASP için para ödemek size zaman, dolayısıyla para kazandırabilir. Şiddetli bir Linux ve özgür yazılım savunucusu olmama rağmen, size “fanboy edebiyatı” yapmayıp, gerçeklerden bahsedeceğim.
Eğer sıfırdan başlıyorsanız, PHP, hem ASP’den, hem de ColdFusion’dan daha zordur. Hatta, web tabanlı uygulamalarda kullanılan en zor dildir diyebilirim. Yazım (sentaks,syntax) olarak C’yi andırır. Debugging (hata ayıklama) sürecinde, ücretli çözümler kadar programcı dostu değildir. Hata ayıklama bile başlı başına bir tecrübe konusudur; çünkü PHP yorumlayıcısı bazen anlaşılmaz hata mesajları da verir. (Eskiden bu durum çok vahim boyutlardaydı; şimdi gerçekten çok gelişti ve bazı yardımcı araçlar geldi).
Gelgelelim, PHP, zorlu bir çalışmanın karşılığını en iyi şekilde veren dillerden biridir. Rakiplerinin hemen hepsinden daha hızlıdır. Sunucu tarafında fazla bir gereksinime ihtiyacı yoktur. Zor bir dil olduğu için, PHP konusunda uzman programcılar gerçekten işlerinin ehlidirler. PHP ile ilgili varolan kaynakları, bütün ömrünüz boyunca okusanız da bitiremezsiniz.
Türkiye’ye baktığımda ASP ve PHP’nin ticari alanda başabaş gittiğini görüyorum. Dünya genelinde baktığınızda ise, ASP PHP’nin yanına yaklaşamaz. PHP programcıları hem daha rahat iş bulurlar, hem de saat ücretleri daha yüksektir (dünya geneli için konuşacak olursak).
PHP, aynı zamanda Linux gibi, bilgisayarın nasıl çalıştığını da anlamanıza yardımcı olur. Ne kadar uzman, ne kadar önemli işler yapmış olursa olsun, sadece Windows ortamında çalışmış olan bir programcının, bilgisayar ve işletim sistemlerinin çalışması hakkındaki fikirleri, en azından tecrübe düzeyinde, oldukça yüzeyseldir.
Bunun dışında, PHP giderek daha da çok desteklenen bir dildir. Sayısız kütüphane,örnek kod, framework bulma şansına sahipsiniz. PHP, açık kaynak kodlu olmasından ötürü iyi ölçeklenebilir. Sözgelimi, sadece 11MB üzerinde, bir Linux kerneli, temel araçlar ve Lighttpd - PHP’den oluşan bir sistem oluşturmayı başarmıştım.(PHP yorumlayıcısını küçük tutabilmek için, sadece kullanacağım özellik setiyle derledim ve standart dosya boyutunu yarıya indirdim; size bu esnekliği de sağlıyor) Üstelik, bunu sıkıştırarak 5 MB civarına da düşürebilirdim. PHP’yi aynı zamanda Google gibi devler de kullanıyor. Yani, binlerce serverda da, 11MB’lık embedded sistemde de kullanabileceğiniz bir platform.
Sürekli açık kaynak kodunu ve Linux’u savunup, sonunda pahalı ve kapalı kaynak kodlu projelere para saçanlara verebileceğiniz güzel bir örnektir yukarıda bahsettiğim şey. Kullandığınız dilin yorumlayıcısını istediğiniz gibi derleyip,boyutunu azaltmakta özgürsünüz. İşte, açık kaynak kodlu programların bariz, gerçek hayatta bize para,zaman ve özgürlük kazandıran gerçek bir örneği.
PHP nasıl öğrenilir?
Ben bir öğretmen değilim; hatta PHP kitabı yazanların çoğu da bu vasfa sahip değiller. Vasıf diyorum; çünkü birşeyi bilmekle doğru öğretebilmek çok farklı ve birbirinden tamamen farklı özellikler. Önümüzdeki yazılar boyunca, elimden geleni yaparak, PHP’ye olabildiğince kolay şekilde adım atmanızı sağlamaya çalışacağım. Gelgegelim, 100 kitap da okusanız, bir dili öğrendim diyebilmeniz için en az 10 sene sürekli çalışmanız, tecrübe edinmeniz ve farklı projeler üzerinde çalışmanız gerek. Yanlış hatırlamıyorsam ilk program denilebilecek PHP kodumu 1998′de yazdım ve ben PHP biliyorum diyemem.
Programcılık garip bir şeydir. Bir dili ucundan öğrenip, üç-beş şeyi başardığınızda çok şey bildiğinizi sanırsınız. Sonra sürüyle yeni proje, sürüyle yanılgı, sürüyle hata çıkar. Zaman içinde aslında hiçbirşey bilmediğinizi anlar ve daha sıkı çalışırsınız. O yüzden, ne kadar tecrübeli olursa olsun, kolayca “ben bunu biliyorum” diyen biri, cahilliğinin henüz farkına varamamıştır.
Yapacağım şey, mümkün olduğu kadar çok örnek verip, sizi iyi alışkanlıklar konusunda sık sık uyarmak olacak. İyi alışkanlıklar kazanmak her dilin temel taşıdır; özellikle projeler büyüdüğünde, kötü alışkanlıkla yazılmış kodlardan ötürü birsüre sonra o proje artık yönetilemez hale gelir.
Bazı açık kaynak kodlu programların sürüm notlarında “yeni baştan yazıldı” gibi ifadelere rastlarsınız. İyi bir kod, yeni baştan yazılmaz; sadece dildeki bazı gelişmelere göre elden geçirilir. Zira, programcılık fikri ilk ortaya çıktığından beri temeller değişmemiştir. Bazı sık kullanılan algoritmalar benden daha yaşlıdırlar. Dolayısıyla, bir gurur ifadesi içeren “yeni baştan yazıldı” cümlesi, esasen kötü yönetim ve kötü alışkanlıkların farkında olmadan dile getirilmesidir!
Bu arada, zaman zaman Linux ile ilgili de bazı ipuçları vereceğim; zira yazdığınız programlar genelde Linux tabanlı sistemlerde çalışacaklar. Eğer programın çalıştığı ortam hakkında hiçbir fikriniz yoksa, en azından bazı projelerde ciddi performans ve güvenlik sorunları yaşamanız kaçınılmazdır. Örneğin, PHP içinde ini_set() diye bir fonksiyon bulunur. Bu fonksiyon, aslında temel olarak sunucu üzerinde bulunan php ayar dosyası, yani php.ini içindeki ayarları geçici olarak bypass eder. Bu küçük bilgiyi bilmiyorsanız, sunucudan o ayarı değiştirmek yerine, -eğer erişiminiz var ise ve o ayar başka programların çalışmasını etkilemiyorsa- boşu boşuna ini_set() ile o ayarı değiştirir durursunuz.
Şimdilik bu kadar. Kısa bir süre sonra, PHP ile ilgili “çalışan” şeyler yapmaya başlayacağız.
İlgili Yazılar:
Amarok 2 Beta 2 ve Embeddded MySQL:Özellikle Linux ve KDE'nin vazgeçilmez yazılımlarından olan Amarok 2'nin ikinci beta sürümü yayınlandı. Beta olmasına aldanmayın; çok önemli ve köklü bir değişiklik var: Meşhur müzik çalıcı, artık Sqlite veritabanı yerine...
PHP Dersleri – 1:Geçen dersimizde PHP'nin ne olduğunu, neler yapılabileceğini, MySQL,Apache,PHP entegrasyonunu kısaca ele almıştık. Bu derste, PHP ile ilk deneyimimizi yaşayıp artık ekran üzerinde birşeyler görmeye başlayacağız! Ön Hazırlık Önceki derste de...
PHP Dersleri – 2:Değişkenler,sabitler,global ve super globaller:Değişkenler PHP'de temel olarak 6 tür değişken bulunur: string (metin), integer (işaretli tamsayı), float (işaretli kesirli sayı), boolean (TRUE ya da FALSE değeri alır), array (dizi) ve object (sınıflar konusunda...
Web 2.0 nedir?:İnternet hayatımızı değiştiriyor. Aslında İnternet de değişiyor, birçok şey eskisi gibi değil artık sanal alemde. Klasik alışkanlıklarımızı yavaş yavaş bırakıyoruz, bu değişen dünyaya isteyerek ya da istemeyerek ayak uyduruyoruz. Şu...
TYPO 3: TYPO3 açık kaynak kodlu, kurumsal çaplı bir içerik yönetim sistemidir (İYS) (ECMS enterprise content management system). Danimarkalı programcı Kasper Skårhøj tarafından geliştirilmektedir. İlk TYPO3 versiyonu 1998 yılında yayınlanmış, zamanla...
PHP ve EZSQL: Pratik veritabanı işlemleri:PHP, daha ilk zamanlarından bu yana, MySQL veritabanı ve Apache webserver ile ayrılmaz bir üçlü haline geldi. Aslında, özellikle çok iyi GTK entegrasyonu ile masaüstü programcılık alanında da kendisine bir...
Google Chrome, Linux’a geliyor mu?:Google'ın açık kaynak kodlu tarayıcısı Chrome -uzun aramalar sonucu kodlara ulaşamadım!- aslında Chromium projesinin kod tabanını kullanıyor. Aklıma hemen şu soru takıldı: Safari'de, Chrome'da Webkit tabanlı olduğuna göre ve Safari...
PYTHON - 5:Havaların ısınmasıyla birlikte, zaten işi gücü gevşetmek için bahane arayan insanoğluna gün doğdu. Geçenlerde 14 yaşındaki kuzenimle konuşurken -kendisi Python delisidir- “Ya yazı çok iyi de, bizim okulda bile bu...
Windows üzerinde GNU araçları:Cygwin:Cygwin, iyi tanınan GNU araçlarını Windows üzerinde çalıştırmaya yarayan bir araç. 1995'de Red Hat desteğiyle başlayan proje, daha sonra bağımsız hale gelerek güçlü ve yaygın bir araç haline geldi. Aslında...
PIC Programlama - 1:Elektronik dünyası, mikroişlemcilerin ve mikrodenetleyicilerin uygulamalarda daha sık yer almaya başlamış olmasıyla , zaten hayli yakın olduğu bilgisayar ve programlama dünyasıyla mevcut bağlarını sıkılaştırmış tır. Daha çok bilgisayarlarda duymaya alışkın...


