PHP’nin Yaratıcılarından Zeev Suraski Ocak’ta Türkiye’de !

web-programcilari-platformu

Bu haberi az önce öğrendim. Duymayan kalmasın, etkinlikten herkes faydalansın diye sizlere de duyurmak istedim.

PHP web programlama dilinin ve Zend’in yaratıcılarından ve halen geliştiricisi olan Zeev Suraski, ünlü Türk risk sermayesi şirketi Golden Horn Ventures tarafından, 24 Ocak 2008 Cumartesi günü Taksim Nippon Hotel’de düzenlenecek olan Web  Programcıları Platformu adlı etkinliğe konuşmacı olarak katılacak. Ayrıca yine bir PHP geliştiricisi olan Derick Rethans da etkinliğe konuşmacı olarak katılacak. Tabii bu iki konuşmacının yanında çok değerli Türk konuşmacılar da etkinlikte birer konuşma yapacak. Tüm konuşmacılar için etkinlik programına bakabilirsiniz.

Ben hemen kaydımı yaptırdım. Bir aksilik olmazsa 24 Ocak’ta orada olacağım. Eğer web programlamaya ilginiz varsa ki bu blogu takip ediyorsanız muhtemelen vardır, size de kayıt yaptırmanızı ve etkinliği takviminize eklemenizi öneririm. Katılım tamamen ücretsiz.

Twitter durumunuzu Linux konsolundan güncelleme

Yazı uzun görünüyor ancak eğer deneyimsiz bir konsol kullanıcısıysanız yazının tamamını okumanızı öneririm çünkü bu yazıda sık kullanılan bir çok komutu kullanma şansına sahip olacaksınız.

Twitter durumunuzu konsoldan güncelleyebilmek şunları yapın;

sudo vi /etc/bin/tweet

bu komut Vim adlı editörü karşınıza çıkaracak. Bu editörde dosyaya yazma moduna geçmek için i tuşuna basın. Yazma moduna geçtiğimizde dosyaya istediğimiz şeyleri ekleyebileceğiz, eğer bu moda geçmezsek tuşladığımız tüm tuşlar Vim tarafından komut olarak algılanacak.

Sonra buradaki komutları kopyalayıp tweet adlı dosyanın içine yapıştırın.

Komutu yapıştırdıktan sonra kullanıcı adı ve şifrenizin girilmesi gereken yeri düzenleyin. Sonra önce ESC tuşuna basarak komut moduna geçin. Şimdi :wq yazın ve ENTER tuşuna basın. İki nokta üst üsteden sonra yazdığınız şeyler vim’in komutları. w dosyaya yazmayı sağlar, q dosyayı kapatır.

Şimdi sudo chmod +x /usr/bin/tweet komutu ile tweet adlı dosyamızı çalıştırılabilir dosya haline getirelim ve komutumuz hazır hale gelsin.

Bu komutun ardından artık istediğimiz zaman konsoldan tweet komutunu kullanabilirsiniz. Örneğin twitter’a “konsoldan merhaba dünya” gibi bir cümle göndermek istediniz, şu komutu yazın;

tweet "konsoldan merhaba twitter"

Kaynak: IBM
Kaynağın kaynağı : Levent Yalçın

Halk otobüsünün şoförü bir otomobile kasten arkadan çarptı!

Yaklaşık 1,5 saat önce yaşadığım bir olaydan dolayı suskunluğumu bozuyorum. Olayı paylaşıyorum ki bendeki etkisi azalsın. Olayı buraya yazmadan önce iki polis dahil bir kaç kişiye anlatmasaydım daha ayrıntılı yazabilirdim, her anlatışımda olayın etkisi daha da azaldı.

Evim Anadolu yakasında. Levent’teydim ve amacım evime gitmekti, ve lanet halk otobüsüne bindim. Otobüs her zamanki gibi çok kalabalıktı ve ben kendime akbil makinesinin hemen önünde bir yer buldum ve ilerlemeye başladık. Trafik yoktu ve adam gayet hızlı bir şekilde ilerliyordu, ibreye ilk baktığım anda 90’ı bulmuştuk, 100-105 arası gitmeye başladık köprüye doğru. Adamın son servisi olduğu ve herkes gibi evine hızlı gitmek istediğini düşündüm, neyse her halde kendine güveniyor ki böyle gidiyor dedim. Köprüden sonra şoför yolda bir kamyona korna çaldı, belli ki iki şoför bir birilerini tanıyordu, kamyon şoförü de korna çaldı. Daha sonra bir iki korna eşliğinde benim içinde bulunduğum otobüs kamyonu, kamyon otobüsü solladı. Daa sonra biz Şile’ye giden çevreyoluna girdik ve kamyon düz devam etti.

Beşiktaş’ın Ümraniye tesislerini geçtikten sonra bir otomobil şoförü bizim otobüs şoförüne yol vermedi. Sonra bizim şoför bir şekilde o arabayı geçti. Biraz sonra da otomobil “makas”a benzer bir şekilde bizim otobüsü solladı.

Buraya kadar anlattıklarım trafikte görebileceğimiz normal şeyler. Bu makasvari sollamaya kızan şoför arabayla açılan arayı kapatmak için gaza bastı, sanırım arabadakiler korkutmak istiyordu. Derken arabaya çok yaklaştık. Ben yok artık çarpmaz herhalde derken otobüs şoförü hafif frene basarak öndeki arabaya çarptı ! Evet bildiğiniz 80le giderken öndeki arabaya çarptı! Ben hayretler içinde kaldım, şoföre içimden dediklerimi şoföre söylesem bir faydasının olmayacağını biliyordum. Sonra otomobili sollayıp yolumuza devam ettik. Otobüstekilerin bir kısmı böyle yapacağın belliydi dediklerinde otobüs şoförü “ben ne yaptım ki adam geldi önümde frene bastı” deyip hemen kendini savunmaya başladı. Halbuki adam kasten arkadan arabaya çarpmıştı.

Yaklaşık 5 dk sonra durakta durduk. Arkadan gelen otomobil önümüzde çapraz bir şekilde durdu. İçinden inen adam hemen telefonla polisi veya jandarmayı aradı. Kazayı yaptığımız bölgeden jandarma sorumlu. Daha sonra bizim şoförün yanındaki cama gelerek “ne yapıyorsun sen” dedi bizim şoför gayet pişkin bir şekilde “asıl sen ne yapıyorsun geldin önümde durdun” dedi. Bu kısa süren tartışmanın sonunda otobüs şoförü “seni karakola veririm, gel karakola gidelim” dedi ve diğer şoför bunu kabul edip otomobiline bindi.

Sonra otobüs şoförü arabasına binen adamın arkasından beni kovalayacak başka ne yapsın dedi, yani karakola gideceği falan yoktu.

Olay bu. İnsanlar bir bir otobüsten indi ve evlerine gitti. Ben bu olayı en önden yaşadığım için sanırım çok etkilendim ve bir şeyler yapmak istedim. Hemen otobüsün içinde yazan otobüs numarasını not aldım, daha sonra karakolun yakınında indikten sonra otobüsün plakasını aldım ve hemen karakola gittim. Önce olayı nobetçi memura anlattım. Kendisi yapacak bir şey yok, olay anında bunları anlatsan tamam işe yarar ama şimdi iki taraftan hiç kimse şikayetçi değilken senin gelip söylemen bir şeyi değiştirmez dedi. Ayrıca olayda yaralama yok, öldürme yok, hem nasıl kanıtlayacaksın dedi. Evet zaten şoförde “nasıl kanıtlayacak ki” gibi bir cümle sarf etmişti. Gerçektende kanıtlayamazdım, polisin söyledikleri haklıydı ama ben polise ama bu adama bir şeyler yapmamız lazım dedim. O zaman içeride amirimle görüş dedi.

Komisere gittim olayı anlattım, o da nöbetçi memur gibi “biz bir şey yapamayız, zaten orası jandarma bölgesi, biz karışamayız, hem adamın şikayetçi olup olmadığı bile belli değil. Senin yapabileceğin şey İETT’nin şikayet bürosuna bu şoförü şikayet etmen” dedi. Artık ilk işim İETT’ye bir şikayet dilekçesi yazmak, bilmiyorum ne kadar yararı olur. Umarım “İETT şoförü yolcuların hayatını kurtardı” diye haber yapan İETT bu olaya duyarsız kalmaz ve şoföre hak ettiği cezayı verir.

Böyle hayvanların, krizin, zammın, işkencenin, yalanın, dolanın olmadığı bir evrende yaşamak istiyorum.

EK: Bu arada otobüsteki herkes evine gitti. Tamam ben de her olaya tepki göstermiyorum. Hatta çoğu tepki gösterilmesi gereken olaya bile tepki göstermiyorum ama bu olaya insanların bu kadar tepkisiz kalmasına üzüldüm.

RIATalks Istanbul’da olacağım

Biraz geç haber veriyor olabilirim. Aslında çok önceden belliydi katılacağım ama nedensiz bir şekilde yazmamıştım, bugün yazayım dedim ve yazıyorum.

RIA (Rich Internet Applications yani Zengin İnternet Uygulamaları) ve Web 2.0 konulu konferans 8-9 Ağustus 2008 tarihlerinde Bahçeşehir Üniversitesi’nde yapılacak. Web ile ilgili konular ilginizi çekiyorsa siz de ücretsiz kayıt yapıtırıp organizasyona katılabilirsiniz. Gerçekten çok güzel seminerler/forumlar olacak, programı buradan görebilirsiniz. Benim şimdiden heyecanla beklediğim ve kesinlikle katılmayı düşündüğüm seminerler (zaman sırasına göre) şunlar;

  • Hangi JS Framework?, Forum
  • Web Uygulama Güvenliği, Ferruh Mavituna
  • İleri Web Teknikleri, Python, Comet, Geleceğin Tarayıcı Teknolojiler, Azer Koçulu
  • Web Projeleriniz Ne Kadar Güvende?, Ferruh Mavituna

Bu arada RIATalks‘ın sitesine girerseniz sayfa uzantılarının .cfm olduğunu göreceksiniz. Bu uzantı bir zamanlar Macromedia’nın şimdi ise Adobe firmasının olan ColdFusion programlama dili ile yapılan sayfaların uzantısı. Yani ColdFusion, PHP gibi bir web programlama dilidir. Buda ekstra bir bilgi olsun.

Django nasıl kurulur ?

Django, Python programlama diliyle yazılan ve web projelerini çok daha (inanılmaz) hızlı bir şekilde yapmayı sağlayan bir web programlama çatısıdır. Gerek php frameworkleri gerekse python frameworklerini incelediğimde ,aralarında en çok ilgimi çekeni Django oldu. Artık elimden geldiğince Django ile ilgili yazılar yazmayı planlıyorum. Çünkü ne kadar çok insanı Django ile tanıştırırsam o kadar çok insan bana bu yüzden dua edecektir :P Bu yazıda Django’yu sistemimize nasıl kuracağımızı anlatacağım. Aslında çok kolay :)

Pardus’a Django nasıl kurulur ?

Öncelikle Django’nun Pardus’a nasıl kurulacağını yazmak istiyorum. Öncelik vermemin sebebi çok kolay kurulması, hatta yazının devamındaki işlemleri yapacağınıza Pardus‘u ~30 dakikada (indirme hariç) kurup tek bir komut ile Django’yu yükleyin, hiç başka işlerle uğraşmayın :)

Konsolda “sudo pisi it Django” komutunu verin veya paket yöneticisi PiSi yoluyla Django paketini yükleyin. Bu kadar :) Tüm bağımlılıklar otomatik olarak kurulacaktır. Diğer linux dağıtımlarda da kurulum büyük ihtimalle paket yöneticileri sayesinde bu şekilde gerçekleşecektir. Şimdi diğer sistemlerde nasıl kurulacağına geçelim.

Windows gibi sistemlere Django nasıl kurulur ?

Önce Python kuralım..

Django’nun Python dili ile yazıldığını söylemiştim. Bu yüzden sisteminizde öncelikle Python’un 2.3 ve üstü versiyonu yüklü olmalı. Eğer sisteminiz Linux ise büyük ihtimalle Python zaten kurulu durumdadır. Sistemde Python’un kurulu olup olmadığını konsolda “python” komutunu vererek anlayabilirsiniz. Eğer “Python 2.5.2 (r252:60911, Jul  2 2008, 19:59:19)” gibi bir satırla başlayan bir şeyle (aslında bu şey Python’un interaktif yorumlayıcısı yani Python kodlarını yazdığınız anda çalıştırıp size çıktısını veriyor) karşılaşırsanız Python yüklü demektir. Eğer sisteminizde python yüklü değilse buradan yükleyebilirsiniz.

Veritabanı sisteminin Python ile çalışabilmesini sağlayalım

Sisteminizde Python’un yüklü olduğundan emin olduktan sonra kullanacağınız veritabanının python ile çalışabilmesi için gerekli olan paketi yüklemelisiniz.

  • MySQL için MySQLdb yüklemelisiniz ki ben MySQL kullanıyorum.
  • PostgreSQL için psycopg yüklemelisiniz. Windows için olan resmi olmayan versiyonu burada.
  • SQLite için pysqlite yüklemelisiniz.
  • Oracle için cx_Oracle yüklemelisiniz.

Veritabanı için gerekli paketi de yükledikten sonra artık Django kurulumuna hazırsınız.

Django kuralım

  1. Önce Django’yu buradan indirelim. Örneğin alpha sürümü olan Django-1.0-alpha.tar.gz dosyasını indirebilirsiniz.
  2. İndirdiğimiz sıkıştırılmış dosyayı açalım. Windows kullananlar sadece bu dosyayı açmada değil her zaman 7-Zip kullansın :)
  3. Komut satırını kullanarak açtığım klasörün içine girip “python setup.py install” komutunu verelim. Yalnız bu komutu administrator haklarıyla vermemiz gerekiyor.

Ve böylece Django kurulumunu tamamlamış oluyoruz. Bu şekilde kurulumu yaptığınız zaman Django Python klasörünün içinde bulunan site-packages klasörüne kuruluyor. Peki python klasörüm nerede derseniz konsolda bu komutu vererek bunu öğrenebilirsiniz;

Kurulum tamamlandı(mı?)

Kurulumun tamamlanıp tamamlanmadığını ilk Django projemizi oluşturmaya çalışarak anlayabiliriz. Django projesi oluşturmak için konsolda şu komutu verin;

django-admin.py startproject ilksite

Eğer bu komut ilksite adında bir klasör oluşturdu ve içinde __init__.py varsa Django kurulumu tamamlanmış demektir. Eğer bu yazıyı buraya kadar okuyup Django kurduysanız lütfen en azından “kurdum” gibi yorum yazın :)

Django’yu kurdum, şimdi ne yapmalıyım ?

Şimdi eğer İngilizce biliyorsanız Django Tutorial‘ı okumaya başlayabilirsiniz. Tutorial’dan sonra Django Book‘u tavsiye ederim. Eğer İngilizce bilmiyorsanız sonraki yazımı beklemeye başlayın. Beraber adım adım bir Django uygulaması geliştireceğimizi umuyorum. Umuyorum çünkü yazı yazacak zaman bulma konusunda sıkıntı çekiyorum.

Siz en iyisi siteye e-posta abonesi olun veya RSS beslememe abone olun ve yeni yazılarımı rahatça takip edin :) Bir sonraki yazıda görüşmek üzere, esen kalın :) Yorumlarınızı eksik etmezseniz sevinirim.

Neden Çoklu Masaüstü ?

Çoklu masaüstü Linux sürümlerinde bulunan bir özellik. Peki bunu etkin olarak kullanıyor musunuz ? Bence kullanın çünkü her masaüstünü ayrı bir iş için kullandığınızda işe daha kolay yoğunlaşabiliyorsunuz. Örneğin benim son günlerdeki en önemli işim Django Book‘u okumak. Ben bu iş için başka bir masaüstünü kullanıyorum, o masaüstünü Django olarak adlandırdım, arka planına Django ile ilgili bir resim koydum ve kendimi o masaüstünde başka bir iş yapmamaya alıştırdım. Diğer günlük işleri (e-posta okuma, google reader, friendfeed, twitter vb.) başka masaüstünde yaptım. Bu sayede kitabı çok daha verimli bir şekilde okuduğuma inanıyorum.

Eğer sizinde yapılacak önemli işleriniz varsa çoklu masaüstü kullanmanızı, her iş için bir masaüstü ayırmanızı öneriyorum.

Bu arada Django Book’ta 7. bölümü bitirdim. 7. bölümün sonunda yazdığına göre; artık Django ile birşeyler yapabilecek durumdaymışım, bu bölümden sonrası önceki öğrenilenlerin detayıymış.

Çoklu masaüstü kullanırken, masaüstü değiştirdiğinizde görev çubuğundaki programların da değişmesi bence çok önemli. Bu sayede ilgisiz programları görmemiş oluyorsunuz. Görev çubuğunuzda sadece o masaüstünde çalışan programları göstermek için Pardus’ta TASMA > Masaüstü Seçenekleri > Görev Çubuğu’ndaki “Pencereleri tüm masaüstlerinde göster” özelliğini pasif duruma getirmeniz gerekiyor. Masaüstünüze bir ad vermek için masaüstüne sağ tıklayıp “Masaüstünü yeniden adlandır” komutunu kullanabilirsiniz.

Bu ara Django ile çok ilgiliyim. Bu yazı Django ile küçük bir uygulama geliştirirken bir anda aklıma geldi, yazıverdim.

Django, Python, MVC, Django

Django‘yu daha önce duymuş muydunuz yoksa Django nedir diyenlerden misiniz ? Bu yazı sizi Django’ya ısındırmak amacıyla yazılmış bir yazı olacak.

Django, Python programlama diliyle yazılmış ve BSD lisansı ile lisanslanmış bir web programlama çatısıdır. Python dili nasıl bir şey diyorsanız size örnek olması açısından, Python ile if deyiminin nasıl yazıldığını göstereyim;

>>> x = int(raw_input("Please enter an integer: "))
>>> if x < 0:
...      x = 0
...      print 'Negative changed to zero'
... elif x == 0:
...      print 'Zero'
... elif x == 1:
...      print 'Single'
... else:
...      print 'More'
...

{ } gibi gereksiz şeyler yok else if yerine elif yazıyoruz. Ne kadar kolay değil mi ? Google, Youtube, NASA gibi büyüklerin Python kullandığını da ekleyeyim.

Dönelim Django’ya… Django ile istediğiniz her türlü web projesini yapabilirsiniz. Django ile yapılan bazı projeleri burada bulabilirsiniz. Size en iyi örnek Özgürlükİçin sitesi olabilir, tamamı Django kullanılarak yapıldı. Özgürlükİçin’in kodlarını buradan inceleyebilirsiniz.

Django ile MVC (Model – View – Controller) yapısını kulanarak web siteleri geliştiriyoruz. Bu yüzden önce bu yapıyı anlamak gerekiyor. Bu yapıda kısaca; veri (model) ile görünümü (view) birbirinden ayırarak controller katmanında kullanıcı işlemlerini tanımlıyoruz. MVC ile daha fazla bilgiyi bulabileceğiniz yerler; Vikipedi, Wikipedia ve Google.

Django ile tanışmadan önce PHP kullanıyordum. Herhangi bir framework kullanmıyordum. Ancak size tavsiyem bir framework kullanmanız. Çünkü işleri gerçekten çok hızlandırıyor ve gereksiz zaman kaybetmiyorsunuz. PHP frameworklerinin listesini burada bulabilirsiniz.

Django’da veri (model) yapısını oluşturduktan sonra verdiğiniz bir komut ile yönetim panelininde otomatik oluşturulmsaı gördüğüm en büyük faydalarından biri. Bir diğer güzelliği ise süper bir hata ayıklama sistemine sahip olması. Hata ayıklama sisteminden bazı görüntüler;

Bu yazı ile Django’yu kısaca tanıtmak istedim. Bence şimdi Django resmi web sitesindeki örnek uygulamayı yapmaya başlayın. Örnek uygulamayı yaparsanız Django nedir, ne değildir; Django ile nasıl web sitesi oluşturulur gibi sorularınızın cevabını bulacaksınız. Mutlaka bir göz atın !