25 Eki 2009

Django (Python tabanlı webçatısı)

Şu sıralar programcılık kültüründen kopmamak için yeni, bilmediğim dillerde örnekler yapmaya çalışıyorum. Python dilide bunların içinde. Django ise python tabanlı webçatısı olarak geçiyor.
html ve pyhton fonksiyonları oluşturup bir kaç ayar dosyası ile istediğiniz web sayfasını kolayca tasarlayıp çalıştırabiliyorsunuz.
Django ile tanışmam 4.sınıfta "Sunucu Yazılım Teknolojileri" dersinde arkadaşlarımızın yaptığı sunum sayesinde oldu. İnternette pek çok kaynak var python ile ilgili fakat bunların çoğunluğu linux tabanlı sistemler ve python'un kurulu bir şekilde geldiği noktadan başlayarak anlatıyorlar.
Arkadaşlarımın hazırladığı PDF dosyayı ve proje örneğini şurada bulabilirsiniz.
Yönerge dosyasında kurulumun yapılışından ve örnek projenin yapılışına kadar olan her şey tek tek anlatılmaktadır. Umarım yeni başlayacak olanlar için yararlı olur.

18 Eki 2009

Mezuniyet Töreni

Yine gittik izmire kafamız karıştı. Neden mi? Çünkü 5 sene ordaydık, oraya alıştık, oradan birşeyler kaptık, en güzel yıllarımız orda geçti.Arkadaşlığı, kardeşliği orda gördük, kendi ayaklarmız üzerinde durmayı ilk orda başardık yeri geldi üzüldük yeri geldi canımız sıkıldı fakat oradan kimse bizi koparamamıştı ta ki okul bitti herkes iş güç derdine düştü ama Izmirimizde iş olanakları sınırlıydı mecburen Istanbula gitmek lazımdı.
Carşamba gecesi mezuniyet töreni için izmire gittik; perşembe prova vardı, prova sonrası daha önce yaptığımız ritüelleri gerçekleştirdik. Küçükparka takıldık, kağıt oynadık, bölümden arkadaşlarla hasret giderdik.Cuma günü geldiğinde ise törene gittik çoğunluk ordaydı. Tören bitti sıra fotoğraf çekimlerindeydi, en karmaşık olan kısım burasıydı. Kaç tane fotoğraf makinesine kaç poz verdim hatırlamıyorum, işin en güzel tarafı bizim 10 kişilik grup aileleri ile birlikte ordaydı hep beraber aile fotoğrafı çektirdik. Mükemmel bir andı. 5 sene kardeş gibi yaşadığın insanların aileleri ile birlikte yaklaşık 30-35 kişilik bir resim ortaya çıkmıştı.
Tüm güzel kısım bittiğinde ise Istanbul'a dönmemiz gerekiyordu. İşin zevkli olmayan kısmı ise burasıydı :)

9 Eki 2009

6 ay

Yazmayalı 6 ay olmuş.Daha da yazmazdım ama geçenlerde saolsun arkadaşlar hatırlattı..
Senin bi ara bi blogun vardı ne zamandır yazmıyosun dediler.Yazmayı planlıyordum fakat araya çeşitli şeyler girdi.Şimdi bunları özetlersek;

Nisandan beri Haziran sonuna kadar bitirme tezi ile uğraştık, veritabanı tasarımlarıydı, kullanıcı arayüzleriydi, web servisleriydi, mobil tarafın tasarımı-uygulamasıydı derken haziranın sonu oldu.
Bu arada Mezun oldum.İş arama sürecine girdik epey yoğun, epey masraflı bir süreçti.
İlla İstanbulda bulacağım diye didindim durdum İzmir-İstanbul arasında 8-9 defa gittin geldim.
Ağustos ortası olmuşu hiç çıt yoktu biraz tatil yapalım bari dedik.7-8 gün Seferihisar'a arkadaşın yazlığına gittik 5 tane işsiz bilgisayar mühendisi.bu 7-8 gün boyunca sürekli şirket kurma planları yatık ne yaparız nasıl yaparız diye düşündük durduk.Hepimiz askere gidelim gelelim bari dedik sonrasında olmadı şirketi kurarız dedik.
Arkadaşların bi kısmı başvurdu askere ama ben beklemeyi tercih ettim.İçimde ilginç bi iyimserlik söz konusu idi.Sen ne zaman başvuracan diye sorup durdu arkadaşlar.
Ekim ortasında başurup aralıkta gitmeyi düşündüm.Amaaa bir pazartesi günü sabahın köründe aradılar Şirketimizde Sistem Yönetimi bölümünde çalışmayı düşünürmüsünüz diye.
Önce temkinli yaklaştım fakat ama gittim görüştüm.Görüşme gayet güzel geçti.
Ertesi hafta aradılar Genel Müdürümüzle görüştürmek istiyoruz sizi dediler
Gittik tekrar Ankara'ya.İş Ankara da idi.Sonrası hafta teklif yaptılar ama şanslıydım
İstanbuldaki merkezde açık var sizi orda çalıştırmak istiyoruz dediler bende hay hay dedim.
Dört ayak üzerine düşmüştüm.İstediğim olmuştu.1 Ekimde başladık.
Fintek A.Ş Merkezi Sistem Yönetim Bölümünde.Gayet güzel bir ortam herkes elinden geldiğince yardımcı olmaya çalışıyor.
Sistem Yönetimi konusunda yazacağım artık sanırım.
Şu sıralar Windows-Linux sistem yönetimi hakkında yazılar, makaleler okuyorum.
Sanallaştırma, ESX Server, RedHat, VmWare ve Storage konularında çalışıyorum.
Bakalım bir sonraki yazımız ne zamana kısmet olacak.İşe girdik 9-18 çalışıyoruz.
Mesailerde olmaya başladı.

20 Nis 2009

4.Genç Akademinin ardından

16-19 nisan tarihleri arasında Bilkent Üniversitesi Endüstri Mühendisliği Operational Research Kulübü tarafından Bilkent Otelde düzenlenen 4.Genç-Akademiye katılma fırsatı buldum. Öncelikle bu organizasyonu gerçekleştiren organizasyon takımına teşekkürlerimi sunuyorum.
Konu:Strateji'ydi.
Programda 11 adet konuşmacıyı dinleme fırsatı bulduk.
Bunlar ;
  • DSP eski genel başkanı Zeki SEZER,
  • Bilkent Üniversitesi Rektörü Prof.Dr. Ali DOĞRAMACI,
  • Ankara Sanayi Odası Başkanı Nurettin ÖZDEBİR,
  • ARGE Danışmanlık Yönetim Kurulu Başkanı Yılmaz ARGÜDEN,
  • Designnobis ekibinin kurucusu, ODTÜ'de öğretim üyesi Dr. Hakan GÜRSU,
  • Likya Yönetim Akademisi Kurucusu Günsu BAŞER,
  • Enerjisa Elektrik Dağıtım A.Ş. Genel Müdürü Yetik K. MERT,
  • MARKAM A.Ş Kurucusu Güven BORÇA,
  • Gazeteci Murat BİRSEL,
  • Eğitimci Öznur HELVACI,
  • Stratejist Nihat Ali ÖZCAN
katılan tüm konuşmacılara bizlere bir şeyler katmaya geldikleri için teşekkürler.

Program boyunca konuşmacıların söylediklerinden bir derleme yapacak olursak;
Strateji tanımı pek çok konuşmacı tarafından kendince tanımlandı,
  • Strateji, estetik ve rasyonel bir problem çözme sanatı.
  • Beklenenin ötesine geçmek...
  • Vizyonu yakalamak yetmez, önüne geçmek gerekir.
  • Strateji, tutarlı ve özgün seçim yapmaktır, risk içerir.Neyin yapılmayacağına da karar vermektir.

Misyon ve Vizyon arasındaki farktan bahsedildi;
Misyon: Varlık nedenimiz, hangi ihtiyaca çözüm olduğumuz.
Vizyon: Ne olmak isteğimiz.
Ayrıca konuşmacılarımız değişen dünyada öne geçebilmek için fark yaratmamız gerektiğinden bahsettiler.
  • Hayat, farkında olma ve yönetme sanatıdır.
  • Riski yönetemeyenlere hayat kriz yönetmeyi öğretir.
  • Strateji, belirli bir amaca ulaşmak için hazırlanmış eylem planıdır.
  • Bu yolda ilerlerken "Ezber Bozmak" deyimi de unutulmamalı.
* predict the trens
* ask right questions
* make long term plans

--THINK BIG!--
  • DO NOT be ORDINARY.
  • LIFE is an ART of Skillful approximation who ever will approach more skillful will have the most success.
Bir adım öne geçmek için neler yapmalı? sorusunu kendimize sormamız gerektiği vurgulandı.
  • Yaşam bir iktidar oyunudur. Oyunun tek kuralı ise istediğini bilmek ve onu ele geçirmektir.( MICHAEL KORDA)
Hem eğlencenin bol olduğu hemde eğitimlerin güzel olduğu bu etkinliği organize eden arkadaşlara tekrar teşekkürlerimi sunuyorum.

9 Nis 2009

Open Closed Principles

Genişlemeye açık, değişime kapalı prensibi...
Genişlemeye açık olmaktan kasıt; Yazılıma yeni bir metot yada sınıf yada işlerlik kazandırmak isteniliyorsa bu yapılacağı zaman yeni kodlar eklenemeli.
Değişime kapalı olmaktan kasıt; daha önceki kodlar üzerinde oynanmamalı

Şöyle ki çizim yapacak bir sınıfınızın olduğunu düşünün birden fazla şekli çizdirmeniz gerekiyor siz çizim yapacağınız her şekli ve özelliklerini var olan bir kaç değişken üzerinde saklarsanız ve her bir şekil için tip kontrolü yaparak cizim yaptırmaya çalışırsanız kodunuzdan kötü kokular yayılıyor "code smells" demektir.
Yeni bir şekil daha çizdirmeniz gerektiği zaman bu değişkenler değişebilir yada eksik kalabilir yada hiç kullanılmayabilir tüm bunların önüne geçebilmek için OCP uygulanabilir her şekil nesne olarak yaratılıp kendi çerçevesi içinde incelenebilir, eğer o şekil üzerinde değişiklik yapılacaksa sadece bu sınıf değişir geri kalanlarda değişim olmaz yada yeni bir şekil eklendiyse bunun için sınıf oluşturarak sadece bu sınıfa eklentiler yapılabilir.

Kodunuzdan kötü kokular yayıldığını nasıl anlayabilirsiniz;
  • Kod tekrarları varsa
  • Yorum satırlarınız çok fazlaysa
  • Switch yada uzun if-else yapıları varsa
  • Değişken,metot ya da sınıf isimleri doğru verilmemişse (doğrudan kasıt bir değişenin ismine bakıldığında ne sakladığı anlaşılıyorsa p,x,a gibi değilse)
  • Değişken,metot ya da sınıf isimlerinde "and","or" gibi terimler varsa(stabil olmalı "veya","ve" tanımlamaları olmamalı)
  • İnstance i yaratılıp hiç kullanılmayan değişkenler varsa
  • Metotlar çok fazla kod içeriyorsa
  • Sınıflar çok fazla kod içeriyorsa
  • Metot çok fazla parametre alıyorsa
  • İki sınıf aynı özellikleri taşıyorsa (ör: ikiside çizim yapıyorsa demekki ortak özellikleri var, interface yada abstract class kullanarak ortak kodlar tek bi yerden yönetilebilir)

6 Nis 2009

Apache Tomcat kullanıcı giriş sorunu

Tomcat'te manager modülüne giriş yapmak istenildiği zaman ekrana şifre soran bir form geliyor.
Gelen bu formda kullanıcı adı ve şifre isteniyor, fakat tomcat'in yapılandırma ayarlarında default gelen kullanıcı adı, şifre ve rollerin olduğu tomcat-user.xml boş geliyor.Bu sorunu çözmek için
resimde de belirtildiği gibi tomcat'in içindeki dosya bulunup aşağıdaki şekilde değiştirilebilir.
Aşağıdaki kod sadece örnektir, rolleri ve kullanıcı adlarını istediğiniz gibi değiştirebilirsiniz.

<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="admin"/>
<role rolename="manager"/>
<role rolename="tomcat"/>
<user username="admin" password="secret" roles="manager,admin"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
</tomcat-users>

5 Nis 2009

Sağ Tık ->Gönder (Right Click -> Sent to)

Merhaba,
Bu yazımda Windows XP de bir klasörün ya da dosyanın sağ tık ile istediğiniz yere gönderilmesinin nasıl yapılacağını anlatacağım.
Windows Xp de sağ tuş ile gönder klasörü C:\Documents and Settings\KullanıcıAdı\SendTo klasörünün altındadır.Bu klasör gizli olduğu için görünmeyebilir, klasör seçeneklerinden görünür hale getirilebilir.
Örnek olarak sağ tık ile gönder tuşuna basıldığı zaman bir dosya D:\Programlar adlı klasöre gönderilecektir.
"Sent to" klasörüne gelip sağ tık yapıyoruz Yeni->Kısayol (New->Shortcut) diyoruz.
Aşağıdaki resimdeki gibi dosyanın gönderileceği yeri seçiyoruz.
Devam, devam diyerek kısayolu ekliyoruz.
Herhangi bir yerdeki dosyaya sağ tıkladığımızda gönder dediğimizde "programlar" adlı kısayol görünüyor.Buna seçince dosya belirttiğimiz dizine gidiyor.