Refactoring Nedir?

Blogumda genelde lisans dönemindeki arkadaşlarıma, kardeşlerime hitap ettiğim için bu yazımda da sizlere çok işinize yarayacak bir kavramdan bahsedeceğim. Refactoring. Bir çoğunuz duydunuz, duymayanlarınızda aslında bir şekilde bunu yapıyorlar fakat bu yazının amacı konuyu tam anlamıyla öğrenmek ve kafanızda (büyük ihtimalle) dağınık halde bulunan bilgileri toplayıp bütünleştirmek olacak. Ayrıca belki hiç bilmediğiniz ve denemediğiniz bazı teknikler de öğrenmiş olacaksınız. Tekniklerin hepsine bu yazıda değinemeyebilirim fakat en azından bir giriş olur diye düşünüyorum.

Bir tanım yapmak gerekirse;

Refactoring; yazılımı daha basit, daha anlaşılır, değiştirmesi daha kolay bir hale getirmek amacıyla iç yapısında yapılan ve yazılımın dış davranışını etkilemeyen değişikliklerdir.

Bu tanım üzerinde biraz durabiliriz. Öncelikle amaç belirtilmiş; yazılımı daha basit ve anlaşılır bir hale getirmek, değişmesi kolay yani flexible yapmak. Daha sonra bu amaca ulaşmak için ne yapmamız gerektiği söylenmiş; yazılımın iç yapısını değiştirmek. En sonda da önemli bir şart belirtilmiş; yazılımın dış davranışını etkilememek.

ORM ve JPA Kavramları

Önceki yazılarda Java‘dan ve Object Oriented Programlamadan yeterince bahsedildiğini düşünüyorum. Bu konularda örnek uygulamalar geliştirdikçe etkinliğiniz artacaktır. Önemli olan kavramları ve mantıklarını iyi oturtmuş olmak. Buraya kadar olan bilgiler belki lisans eğitiminizde işinize yarayacaktır ancak daha sonrası için kesinlikle yetersiz. Bu yüzden daha advance konulara giriş yapmak gerektiğini düşündüm. Bu yazıda Object Relational Mapping‘den bahsediyor olacağız. JPA‘nın nasıl oluştuğuna ve ne işe yaradığına değineceğiz. Bundan sonraki yazılarda da Java için en populer ORM uygulaması olan Hibernate üzerinden gitmeyi planlıyorum. Umarım yararlı olacaktır.

Java – Object Oriented Kavramı IV

Yazılım Tasarım Prensipleri özellikle büyük projelerde gerçekten önem arz ediyor. Proje boyunca en çok üzerinde durulması ve düşünülmesi gereken noktanın burası olduğunu yaşayarak anlamış bulunuyorum. Yazılım tasarımı derken kastettiğimiz ekranların tasarımı gibi birşey değil. Class hiyerarşisi, db yapısı, kullanılacak frameworkler ve bunların entegrasyonu, kullanılacak tasarım şablonları (design patterns) ve bunların uyumu gibi konuları kapsayan bir tasarımdan bahsediyorum. Burada dikkat edilecek pek çok nokta var. Ancak en temel ve objektif olanları yazılım tasarım prensipleri ismini haketmiş ve burada onlardan bahsedeceğiz.

Bu prensipleri üstad Robert Martin’in “Agile Software Development: Principles, Patterns, and Practices” isimli kitabında bulabilirsiniz. Bu fikirlerin ilk olarak toplandığı kitaptır ve çok değerlidir. Bu kitaba göre yazılımınızı tasarlarken 3 şeyden kaçının;

Bilişim Hakkında Özlü Sözler

Son zamanlarda katıldığım etkinlik, seminer, eğitim vs. sayısının artması sebebiyle bazen öyle sözler duyuyorum ki, çok hoşuma gidiyor, çok etkileniyorum ve bende bunu mutlaka biryerde kullanmalıyım diyorum. Biraz önce burada böyle bir başlık açıp, duyduğum bu tarz sözleri bu başlık altına yazmak gibi bir fikirle geldim (“fikirle gelmek” ingilizcedeki “to come up with an idea” gibi bişey olur diye düşündüm ama Türkçe çevirince olmadı sanki 🙂 ). Aklıma geldikçe, biyerlerde duydukça, biyerlerde okudukça buraya yazacağım. Belki bir cümle, bir kelime veya paragraflık bir analoji olabilir. Bloga her girdiğimde şöyle bir baksam aklımda kalır ve bende konuşmalarımda böyle cümleler, anolojiler kullanarak daha etkili olabilir, fikrimi kabul ettirebilirim diye düşünüyorum.

  • In theory, there is no difference between theory and practice. But, in practice, there is.
    Jan L.A. van de Snepscheut

Güvenli WordPress Kurulumu

WordPress‘den uzun uzun bahsetmeye gerek yok sanırım, herkes biliyordur. Nette en sık karşılaştığımız open source blog diyeceğim ama artık karşımıza sadece blog olarak çıkmayabiliyor. Artık neredeyse her türlü site wordpress olabiliyor. WordPress PHP ile geliştirildiğinden, bizde kendimize PHP geliştiricisi dediğimizden wordpress kurarken ve kullanırken bazı noktalara dikkat ediyoruz. Geçenlerde bir arkadaşımızın isteği üzerine dikkat ettiğimiz bu noktaları paylaşmak istedik. Büyük ihtimalle nette bu bahsettiklerimin hepsini bulabilirsiniz ama ben kendi yaptıklarımı kendi anlatımımla yazmak istiyorum. Başka biryerde de wordpress kuracak olursam kendim için bir checklist olmuş olur.

WordPress’in İndirilmesi

  • Download işlemi sırasında dikkat edilecek pek birşey yok. Her zaman orjinal wordpress’i ve en son versiyonu indirdiğinizden emin olun yeterli. Orjinal site: http://wordpress.org.