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.