Pazartesi, Mart 17, 2008

Memleket

İşte memleketim: Samsun Kutlukent-Kerimbey Mevkii. Başkaları için pek anlamlı olmasa da, benim için çok değerli. Ailem, anılarım, çocukluğum, arkadaşlarım... Hepsini görebiliyorum bu haritaya bakınca.

Harikasın Google :-)


View Larger Map

GoogleMap + X servisleri

Google sağolsun, artık hayatımızın her alanına girdi. (arama, mail, blog, son zamanlarda çok kullandığım rss okuyucu, yasaklanmadıysa youtube vs.) Çok güzel (bazen de tehlikeli olarak nitelenen ve bazı bölgelerin buğulandığı) bir servisi de Google Maps.

Sağladığı arayüzleri (API) sayesinde başka Google Maps üzerine başka servisler de yazılıyor. Misal:
Hatta servis yazımı o kadar kolay ki herkes yazabiliyor. İş arkasaşlarımdan biri (İlkin) çalıştığı yerleri google map'te işaretlediği bir sayfası var: http://gsu.linux.org.tr/~ilkinulas/gmaps/harita.php

Bakalım daha neler göreceğiz?

Salı, Mart 04, 2008

Yeniden Tasarıma başlıyoruz...

(Haydi Bismillah...)

Uygulamaya yeni özellikler eklemek, hata ayıklayıp düzeltmek, bakım yapmak yani kod yazmak geliştirme sürecinde devamlı yaptığımız aktivitelerden biridir (diğerlerine misal olarak: "test yapmak", "kurmak", "destek vermek" vs.). Bunları yaparken kod içinde sürekli birşeyler eklenir, çıkarılır yani değiştirilir. Demek ki, kod statik değil dinamiktir. Dinamik kod ile başa çıkmanın da kuralları olmalı, yani bir metodolojiye sahip olmalı. Ve Yeniden Tasarım (Refactoring) burada devreye giriyor. Tanımına bakalım:
Yeniden Tasarım (Refactoring) kodun dışarıya olan davranışını (özelliklerini) değiştirmeden iç yapısını değiştirmeden iç yapısında geliştirme yapılmasına denir.
Nasıl yani? Şöyle ki. Elimizde bir modül, bir sınıf, ya da bir method olabilir. Bunun bir sınıf olduğunu dişünelim. Bu sınıfın dışarıdan bakan, yani kodun iç yapısını bilmeyen kişiye sunduğu bazı özellikler, bazı davranışlar vardır. Ve sizden bu sınıfa yeni bir özellik daha eklemenizi istiyorlar. Ne yaparsınız? Önce yeni özelliğin ne olduğuna, sonra elimizdeki sınıfa nasıl uygulanacağına bakıp kafanızda kabaca bir tasarım belirlersiniz değil mi? Ve değiştirmeye hemen başlarsınız... Burada biraz duralım.

Refactoring, sınıfın değişiklik yapılmadan önceki özellikleri (karakteri, davranışları vs. ne derseniz deyin) ile değişiklik yapıldıktan sonraki özelliklerin aynı olmasını gerektirir. Nasil yani? Yeni özellikleri eklemek değil miydi Refactoring? Hayır! Refactoring, yeni özelliklerin eklenebilmesine olanak veren bir sınıf haline getirmektir. Yani, yeni özellikleri ekleyene kadar davranışını bozmadan yaptığımız her değişikliktir.

Evet... Refactoring'e girişi yaptık. Bu ve bundan sonraki yazılarımda Refactoring konusunda (mümkün olduğunca) Türkçe bilgiler vermeye çalışacağım. Eğer siz de ilgileniyorsanız irtibat kurmaktan çekinmeyin lütfen.

Not 1: Refactoring kavramının babaları Kent Beck ve Martin Fowler'dır.
Not 2: Çok daha detaylı bilgi http://sourcemaking.com/refactoring sayfasında bulunabilir.

Pazartesi, Mart 03, 2008

Salı, Haziran 01, 2004

Hello World

Bir yazılımcı olarak bana "Hello World" ile başlamak yaraşırdı. Ben de öyle yaptım...


public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("HelloWorld!");
    }
}