25 Temmuz 2006

IntelliJIdea 6.0

IntelliJIdea'yi zamanında kullanmıştım, o zaman versiyonu 4.0'tü galiba. Şimdi 6.0 versiyonu çıkacak. Yeni özellik olarak ne gelmiş diye bir baktım ve şu an Java dünyasında güncel ne varsa bu yeni versiyonda entegre edilmiş. Gözüme çarpanlar EJB 3.0, JSF, AJAX, Struts, GWT (Google Web Toolkit), GUI designer. EJB için persistence sınıflarını gösteren dialog haritaları eklenmiş. Bu haritalarla görsel olarak sınıflar arasındaki ilişkileri rahatlıkla görebiliyorsunuz. GWT'i entegre etmeleri ilgimi çekti. Neden derseniz, artık google IDE'lere bile girdi de ondan:). GUI Designer bence çok hoş olmuş, kolaylıkla GUI tasarlayabiliyorsunuz. Ayrıca önceden yapmış olduğunuz GUI'ler varsa veya internetten veya başka bir yerden GUI kodu edindiyseniz bunları IntelliJIdea sizin için proje olarak alabiliyor, hem de GUI'nin istediğiniz kısımlarını. GUI Designer'ı anlamak için sitesindeki demo'yu izlemenizi tavsiye ederim.Ayrıca IDE'de irili ufaklı bir çok değişiklik yapmışlar, refactor gibi, code completion gibi özellikleri daha iyi hale getirdiklerini iddia ediyorlar. Son olarak TeamCity denilen CVS vari bir geliştirmede bulunmuşlar.Böylece SW developer'ların ortak çalışmasını sağlayacaklar ve IDE'de entegre gelen chat modülü de cabası olmuş.Chat modülü sayesinde developer'lar kendi aralarında chat yapabiliyorlar ve herhangi bir dosya üzerinde kod parçalarını göstererek çalışabiliyorlar. Java alemine hayırlı olsun...

08 Temmuz 2006

GJTAPI ve Telefon

Modeminizi kullanarak birisine telefon açmak istediniz. GJTAPI bu ihtiyacınıza cevap verecek bir açık kaynak proje. Ayrıca web servisi desteği de var. Çalıştığım yerde bir arkadaşım gösterdi.Kendisi bir java masaüstü uygulaması yazmıştı. Şirkette dahili numaranızı yazıp call butonuna basıyorsunuz ve hemencecik sizi arıyor:) Bunu uzaklardaki insanlar için de geliştirebilirsiniz.

07 Temmuz 2006

6 Saatlik Deneyim

Merhabalar, bugün karşılaştığım, nerdeyse 6 saattir bulmakta uğraştığım bir hatayı sizinle paylaşmak istiyorum. Hatanın nedeni çok basit ama proje büyük olunca bulmak çok zor oluyor. Bildiğiniz üzere Java'da objeleri yeni oluşturmak ile referans olarak başka bir değişkene atamak farklı şeyler.Bu temel bir kuraldır. İşte bu kural dikkate alınmazsa aşağıdaki sorunu yaşarsınız:
Mesela elinizde HashMap sınıfına ait map isminde bir objeniz var.Key olarak bir String,value olarak List objesi tutuyor. Eğer siz, map objesinden bir değeri aşağıdaki şekilde bir List değişkenine atarsanız ve yeni değişkenden bir eleman silerseniz bu map objesinde tutulan List objesinden de silinir:
List list = (List)map.get("a");
// key değeri a olan map'teki List objesinden de aynı elemanı siler.
list.remove(0);


yukardakinin yerine aşağıdakini kullanmak gerekir:
List list = new ArrayList( (List)map.get("a") );
// list yeni bir obje olduğundan map objesi etkilenmez.
list.remove(0);


Bu nedenle işlemlerinizde bir tutarsızlık görebilirsiniz, benim bugün gördüğüm gibi.Bir de bence hatalar genelde ufak ayrıntılardan çıkmakta, kodu yazarken temel olan şeyleri göz önünde daima bulundurmak lazım.Aksi takdirde 6 saat boşu boşuna debeleniyorsunuz:)

02 Temmuz 2006

Eclipse 3.2 çıktı!!!

Merhabalar,
IDE'lerin piri diyebildiğim Eclipse'in 3.2 versiyonu çıktı.Bu versiyonda Java 6 (Mustang) desteği var. Ayrıca kod tamamlama özelliği, performansı, kullanılabilirliği de geliştirilmiş. Bir de Callisto adı verilen proje kapsamında 1o tane ayrı geliştirilen proje Eclipse ile beraber indirebilir halde sizi bekliyor. Bu 10 tane proje aslında bilindik projeler, mesela bir tanesi Eclipse Visual Editor (VE), GUI tasarlamanıza yarayan bir eklenti. İsterseniz bileşsenleri ayrı ayrı yükleyebiliyorsunuz yada önceki Eclipse sürümünüzden güncelleme yapabiliyorsunuz.
Eclipse 3.2 ile iyi eğlenceler dilerim...