27 Mart 2006

ROME ile RSS...

Bloglar'ın gün geçtikçe sayısı artıyor.İnsanlar günlük yazmak yada başka nedenlerle blog hesapları oluşturuyor.Bildiğiniz gibi bu blog hesaplarının bir de feed adresleri oluyor.RSS ve Atom bu feed'lerin yapısını tanımlayan iki tane format.ROME adında bir proje yardımı ile bu tip feed'leri kolaylıkla anlayan programlar yazabilirsiniz.Bu proje size hazır kütüphaneler sunuyor.Bu kütüphaneler yardımıyla programınızda bir kaç satır kodla bir blog'un haberlerini kolaylıkla elde edebiliyorsunuz.Gerisi size kalmış...

17 Mart 2006

JAVA 5 Tutorial

Güzel bir haber,bildiğiniz gibi Java'yı öğrenmek için sık başvurulan kaynaklardan birisi de online java tutorial idi.Bu tutorial JAVA 5'e göre güncelleştirilmiş.İyi okumalar:)

13 Mart 2006

Java'ya Dil Desteği...

Bildiğiniz gibi .net'i Java'dan ayıran en önemli özellik istediğin dilde yaz bir yerde çalıştır matığının olmasıdır.Yazılan kod ortak bir dile çevrilip daha sonra bu kod çalışıtırılır.Java'da ise sanal makine (virtual machine) dediğimiz, arka planda çalışan ve Java class dosyalarını çalıştıran bir program vardır.Her işletim sistemine özel bir sanal makine olduğundan platform bağımsızlık Java'da sağlanmıştır.Bugün bir arkadaşımın bana yolladığı bir link ilgimi çok çekti.Java'ya dinamik tipli dilleri ,dynamic typed languages, (Python,JavaScript...) destekleyecek bir yapı getireceklermiş.Dinamik tipli dil şu demek:Mesela JavaScript'de değişken tanımlamak için
"var x;"
dersiniz.Burda "x" değişkeninde string bir değer de tutabilirsiniz, integer bir değer de.Bu nedenle dinamik tipli dilleri derlemek statik tipli dilleri derlemeye nazaran daha zordur.
Bu proje şu an JSR 292 olarak açılımış durumda.Anlatılana göre bu yapıyı sanal makine üzerinde bir takım değişiklikler yaparak gerçekleştirileceklermiş.Sanal makine dinamik bir hale getirilecek.Yani şu anki sanal makine statik, statik olarak değişken tipi kontrolü yapacak şekilde tasarlanmış.Yeni geliştirilecek sanal makine ise dinamik değişken tipi kontrolü yapılacak.Böylece dinamik tipli diller desteklenecek ve çalışma zamanında (runtime) sınıfların,metodların içeriği de değiştirilebilecek.Bu proje 2007'nin ikinci yarısında hayata geçecekmiş ve JSE 7 (Dolphin) sürümünde gelecekmiş.

12 Mart 2006

Object Oriented Database Management Systems

Object Oriented Database Management Systems (OODMS), Nesne Tabanlı Veri Tabanı Yönetim Sistemleri, ismini önceden duymuştum ama hiç bu konu ile ilgili bir makale okumadım.Sadece lisans yıllarında "Database" dersinde bir kaç bilgiden öteye değildi bildiklerim.Ta ki geçen gün bir zat'ın makalesini okuyunca ilgim bu konuya arttı. OODMS'ler gerçekten çok güzel düşünülmüş.Siz nasıl nesne tabanlı programlama yapıyorsanız veritabınını da bu şekilde tanımlayabiliyorsunuz.Böylece veritabanında kalıtım özelliğini de sağlamış oluyorsunuz.Bir çok avantajı var,mesela primary key ortadan kalkıyor.Çünkü herşey bir nesne ve her nesnenin bir ID'si var.Sorgulama (Query) diline de fazla ihtiyacınız yok.Çünkü nasıl programlamada bir nesnenin elemanlarına get() metodları ile ulaşıyorsunuz,burda da vaziyet aynı.Makalede de belirtildiği gibi kötü tarafı şema değişikliği.Yani veritabanında bir değişiklik yaptığınızda bu değişikliklere takabül eden sınıflarda da değişiklik yapmak gerek.Ama bu konuyu halledecek araçlar bence mevcuttur, araştırmadım gerçi.Otomatik olarak veritabanındaki değişiklikleri algılayıp kodu güncelleyebilirler mesela.
Günümüzde İlişkisel veritabanları bazı araçlar kullanılarak nesne tabanlı bir yapıya dönüştürebiliyorsunuz.Mesela ünlü hibernate projesini kullanarak haritalama (mapping) yardımı ile table'lar ile JavaBean sınfları arasında ilişki kurabiliyor ve nesne tabanlı olarak veritabanına veri yazıp okuyabiliyorsunuz.Ama arka tarafta, işlemler gene ilişkisel veritabanına göre yapıldığı için performansta bir kayıp oluyor.Ama OODBMS'de zaten her şey nesne tabanlı, o nedenle performansta ilişkisel veritabanında göre performans kaybının daha düşük olacağı kanaatindeyim.Bir deneyip görmek lazım...

05 Mart 2006

Netbeans 5.5 ve JEE 5 SDK çıktı!!!

Evet arkadaşlar, Sun'ın yeni enterprise kiti JEE 5 çıktı.Dikkat ettiğiniz üzere artık J2EE yok, "two" ibaresi kaldırıldı.JEE 5 içinde Sun Application Server,version 9'u barındırıyor ve son teknolojileri destekliyor,JSF 1.2,JAX-WS 2.0,JAXB 2.0...Bunun yanında NetBeans 5.5'de çıktı ve tabiki JEE 5'i destekliyor.Ayrıca NetBeans 5.5 Java 6 beta kodlarını da çalıştırabiliyor.Yalnız bu ikilinin hala beta versiyonları mevcutmuş.Çünkü spesifikasyonlarda ufak değişikliklerin olması muhtemel.Bu nedenle tam sürümleri 2006'nin ikinci çeyreğinde çıkacakmış.

Struts'da Form ve Action'lar...

Arkadaşlar güzel bir makale buldum.Struts'da Action ve Form nesnelerinin nasıl farklı şekillerde kullanılacağını anlatıyor ve bu yöntemlerin avantajlarını,dezavantajlarını ve hangi durumlarda kullanılabileceğini anlatıyor.Gerçekten çok hoş bir makale,referans olabilecek nitelikte...

01 Mart 2006

J2ME Polish

Arkadaşlar çalıştığım şirkette bir arkadaşım var.Geçen günlerde bana çok güzel bir projeyi tanıttı,J2ME Polish.Projeye göz attığımda ağzım açık kaldı açıkçası.Mobil telefonlar için yapmak istediğiniz uygulamalar olur,ama nasıl yapacağınızı düşünürsünüz.Oyun yüklersiniz telefonunuza,adamlar bu grafikleri nasıl yapmışlar dersiniz.J2Me Polish size aklınıza gelen fikirleri kolaylıkla geliştirmeyi sağlıyor.Sitesinde gezerken bir kaç özellik gözüme takıldı, değinmeden geçemeyeceğim:
    1. Öncelikle uygulamalar için enterasan GUI'ler tasarlayabiliyosunuz ve bu tasarıma CSS dosyalarında yapıyorsunuz.Süper bir şey.Kodda sadece CSS'i çağırıyosunuz.Aynı html gibi.Aşağıdaki resim başka söze gerek bırakmıyor.Sonra size bir oyun motoru sunuyor.MIDP 2.0 Oyun motorunu, MIDP 1.0 desktekleyen telefonlarda kullanabiliyosunuz.
    2. Kendi fontunuzu tanımlayabliyorsunuz,mesela verdan font tipini tanımlayabiliyorsunuz.Normalde üç tip Font vardı MIDP 1.0'da.
    3. Lokalizasyon yapmanıza imkan sağlıyor.Böylece uygulamanıza dil desteği sağlıyorsunuz.
    4. Telefon veritabanı mevcut.Böylece uygulamanızı spesifik telefonlara göre yapabliyorsunuz.
Ve daha niceleri.Bence girip bir bakın derim ve denemenizi tavsiye ederim.Bundan sonra mobil bir uygulama geliştirirken bu projeyi kullanmadan geçemem herhalde...