“Bir zamanlar kızların da iğrenç olduğunu düşünmüştünüz”
by Paco Underhill - Neden Satın Alırız? S. 216

Adım: Can Aydoğan – Konum: İstanbul

E-posta Adresim: canaydogan89@gmail.com

Bildiğim ve Kullandığım Şeyler(Teknik)

Diller: PHP, JavaScript, CSS,  HTML,  AJAX, SQL, DQL, XML, Sass
Veritabanları: MySQL, SQLite
Diğerleri: Zend Framework, Doctrine 2, Ext JS,  Object Oriented Programming, Test Driven Development, Git

Beğendiğim Filmler

Yabancı:  Memento, Se7en, Der Undergang, The Truman Show, Inception, Biutiful, Das Boot
Yerli: Kibar Feyzo, Şekerpare, Züğürt Ağa, Muhsin Bey

Dinlediğim Müzik Grupları ve Müzisyenler

YabancıScorpions, Donovan, Queen, PortisheadThe Rasmus, Ane BrunAC/DC, Placebo, Sting, Muse, John Lennon, Crossfade, Radiohead, Rammstein, Coldplay, Mumford and Sons, KoRn, Guns N’ Roses, Jon Lajoie, Spiritualized, Bob MarleyArslanbek Sultanbekov
YerliAbdurrahman Kızılay, Barış Manço, Aylin Aslım, Neşet Ertaş, Gripin, Zeki Müren

İzlediğim Diziler

Yabancı: Lost(bitti), Prison Break(bitti), Family Guy(ara sıra), Heroes(yayından kalktı), Chuck(bıraktım), Band of Brothers(bitti), Fringe(bıraktım), My Name Is Earl(bitti), How I Met Your Mother(bıraktım)
Yerli: Halil İbrahim Sofrası(yayından kaldırıldı), Leyla ile Mecnun(kaçırmamaya çalışıyorum), Behzat Ç.(ara sıra)

Sahip Olduğum Bazı Hesaplar

Twitter, YouTube, FacebookGoogle+, Vimeo, Github, LinkedIn, StumbleUpon, Last.fm

Takip Ettiğim Siteler

RSS/OPML

Aşağıda  ise çeşitli başlıklar altında hayatımda önemli bulduğum kesitleri anlatmaya çalıştım.

Bilgisayar ile Tanışmam

Yaşıtım birçok kişiye göre, benim bilgisayar ile tanışmam bir hayli geç oldu. İlk bilgisayarıma 2001 yılında, ancak  çalışır, iş görür bir bilgisayara ise 2004 yılında sahip oldum. Ondan önce bilgisayar ile ilişkim yok denecek kadar azdı. Bu durumu şu şekilde daha iyi anlatabilirim.  O yıllarda oldukça popüler olan mIRC programını bilgisayara kurmaya başladım. Şimdilerde olabildiğince hızlı geçtiğimiz program kurulumlarında önümüze çıkan Kullanıcı Sözleşmesini gördüm ve hepsini(epey uzun bir metin idi) okudum. Kullanıcı sözleşmesinin sonlarına geldiğimde tam net hatırlamasam da şöyle bir ibare vardı. “Olabilecek tüm zararlardan kullanıcılar sorumludur” Benim o gün çıkardığım sonuç: “O zaman bu programı kurduğumda bilgisayarım bozulabilirdi” O gün programı kurmaktan vazgeçtim. Daha sonra bilgisayarı ortak olarak kullandığım ablama konuyu açtım. Ondan herhangi bir onay alamadım. Son çare tüm cesaretimi toplayıp kullanıcı sözleşmesini onayladım ve programı kurdum. Tabii işler programı kurmak ile bitmiyormuş çeşitle ayarlar girip daha sonra sohbet edilebiliyormuş. Haliyle ben de bu ayarlar hakkında herhangi bir fikrim olmadığı için, sohbet etme hevesimi gerçekleştiremedim. Sadece programı kurmak ile kaldım.

Programlama ile Tanışmam

2004 yılında Keçiören Teknik ve Endüstri Meslek Lisesi‘nin Bilgisayar Bölümün’de liseye başladım. Haliyle bilgisayar bölümü olunca bilgisayar ile daha haşır neşir olmam gerekiyordu ancak daha önceden bilgisayara bulaşan virüs yüzünden ben bilgisayardan oldukça soğumuş ve yine virüs bulaşır korkusu ile fazla kurcalamıyordum. Taa ki 2005 yılında Teknoloji Televizyon’unda izlediğim Web Dersleri programına kadar. Front Page ile bir web sayfası yapmayı anlatıyordu izlediğim programda Fatih Gürcan. O programdan sonra ilk işim Front Page’i açıp bir şeyler yapmak oldu. Ve bir şeyler yapabilmiştim çok basit olsa da. Yine Teknoloji Televizyon’un forumlarından faydalanarak bir sayfayı nasıl internet üzerinden yayınlayacağımı öğrenmiştim. 1asphost üzerinden ücretsiz hesap açarak ilk web sayfamı  yayınladım. O an dünyanın en mutlu insanı bendim sanırım. Bir sitem vardı artık. Dünyanın en ücra köşesinde bile birileri benim siteme erişebilirdi. Bu düşünce beni o zaman çok heyecanlandırmıştı.

Daha sonraki dönemlerde ASP ile dinamik sayfalar yapmaya başladım. Aynı dönemde okulda da hazırlık yılı bitmiş, Bilgisayar Programcılığı dersine başlamıştık. En sevdiğim ders olmuştu bir anda programlama dersi. Bu derse ait her şey o kadar mantıklı ve tutarlıydı ki okulu sevmeyen biri olarak ben, o dersin gelmesini iple çekiyordum. Bu dersin öğretmeni Naci Er öğretmenime de buradan teşekkür ediyorum.(Beş, beşten büyük değil hocam :))

Bir programlama dersinde, bir dizi değişkeni, for döngüsünde kullanmayı göstermişti öğretmenimiz. QBasic‘deki yapısını çok iyi hatırlamadığım için size PHP‘deki yansımasını yazıyorum.

$diziDegisken = array('Deger 1', 'Deger 2', 'Deger 3', 'Deger 4');
for ($i = 0; $i < count($diziDegisken); $i++) {
     echo $diziDegisken[$i];
}

Burada yazan kod birçok kişi için belki bir şey ifade etmiyor ama benim için o gün çok fazla şey ifade etmişti. Bu kodu gördüğüm zaman daha doğrusu i değişkenini, dizinin index değeri olarak kullanmayı gördüğümde kafamın üzerinde onlarca ampul yanmıştı. O gün programlamaya gerçekten aşık oldum.

ASP ile web sayfaları yaparken karşılaştığım en büyük zorluk: bu sayfaları yayınlayacak ücretsiz ve bandwidth’i geniş hosting servisi bulamıyordum. Oysa PHP’de bu durum tam tersiydi. Çok geniş(aylık 10GB gibi) bandwith sağlayan hosting firmaları vardı. Ayrıca sayı olarak da ASP hosting firmalarından çok fazlaydı. O zaman ASP’yi bırakıp PHP öğrenmeliydim. Ve bu şekilde yaptım. Bir dil değiştirmek için çok iyi bir neden olmayabilir 🙂 O günden bu güne ise hala PHP ile çalışmaktayım.(Başka bir dil ücretsiz hosting hizmeti olarak PHP’yi geçene kadar… Yok yok artık ücretli kullanıyorum. Bu artık kriter olmaktan çıktı :))

Yazdığım Koddan Memnun Olmama Eşiğim

Zaman ilerlemiş ben programlama konusunda epey yol almıştım. Hatta 2008 yılında Timotim.com adlı bir sosyal ağ kurmuştum. O günlerde Türkiye’de Netlog çok popülerdi. Timotim.com’u özellik olarak Netlog’dan klonlamıştım diyebilirim. İlk kez oldukça geniş çaplı ve görece karmaşık bir site programlamıştım. Kendimi artık programcılık konusunda olmuş ve pişmiş biri olarak görüyordum. İstediğim her şeyi artık yapabiliyordum programlama ile. Bu yeterli bir sebepti bu yargıya varmak için. Aslında değildi! Birkaç ay sonra bu yanılgının farkına vardım. Evet istediğim her şeyi yapıyordum fakat yaptıktan sonra yeni eklemeler yapmak çok zordu. Kodum çok çabuk kırılıyor, bir yerde yaptığım düzenleme başka bir yeri çalıştırmaz hale getiriyordu. Oysa ben olmuş ve pişmiş biriydim. O günlerde yolun başında olduğumu anladım. Kod yazıyor, bir şeyler yapıyor olabilmek maharet değildi. Kaliteli ve geliştirebilir kod yazmaktı mühim olan.

Yolun başında olduğumun farkına varınca yeni arayışlara girdim. Karşıma ilk çıkan konulardan biri Object Oriented Programming(OOP) Türkçe meali ile Nesne Yönelimli Programlama oldu. Animal diye base class var bu sınıfı miras alan Monkey, Horse diye sınıflar olsun bunlarda birer nesne işte hepsi bu:) Çabuk anladığımı zannetmiştim OOP’u o zaman ama gerçek anlamda anlayıp, hazmetmem birkaç yıl aldı.

OOP ile tanışmamdan sonra PHP ile yazılmış framework’lerin farkına vardım. PHP için çokça(şimdi daha da çok)  framework vardı o zaman.benim de bunlardan birini seçmem gerekiyordu. Birçok kaynak okudum, hangisini seçmem gerektiğine dair. Ama karar verememiştim. CodeIgniter, CakePHP, Symfony ve Zend arasında kaldım. Türk usulü bir seçim yöntemi ile seçimi yaptım o gün. Şöyle ki; tüm framework’leri indirdikten sonra dosya boyutu olarak en büyük olanı seçtim 🙂 O da, o gün için Zend Framework’dü. Mantıklı bir seçim metodu değil tabii ki de ama bugün itibari ile yaptığım seçimden oldukça memnunum. (Özellikle Zend Framework’ün 2.0 ile geldiği noktayı görünce iyi bir karar verdiğimi düşünüyorum) 2009 yılında Zend Framework ile tanışmış oldum.

Sonraki dönemlerde ise SOLID kurallar , Design Patterns(Tasarım Kalıpları), Test Driven Development(Test Güdümlü Geliştirme) ve Agile metodojiler ile tanıştım ve kullanmaya başladım.

Bu bölüme bir sonuç yazmam gerekirse o da şöyle bir şey olur; Programcının kodladığı uygulama bir evren ise, programcı o evrenin tanrısıdır. O evreni iyi dizayn edebildiğimiz kadar, oluşturduğumuz evrende hükmümüzü sürdürebiliyoruz. Tam tersi olduğunda ise; evren isyan edip bizim gücümüz yerine hataların gücü, hükümdar oluyor. Bunun böyle olmaması için her gün, dün yazdığımızdan daha iyi kod yazmamız gerekiyor. Hiç bir zaman ben oldum artık dememeliyiz.(İyi de hakkımda sayfasında bu paragrafın ne işi var. Single Responsibility kuralı çiğnemiş oldum sanki. Ama neyse dursun evren, tanrı, manrı havalı durdu.)