25 Şubat 2010 Perşembe

18 Şubat 2010 Perşembe

Barbie Artık Bilgisayar Mühendisi

Ve barbie sonunda doğru yolu buldu ve bilgisayar mühendisi oldu.


Peki barbie nasıl oldu da bilgisayar mühendisi oldu? Barbie resmi sitesinde Barbienin mesleğini belirlemek iin anket yapılınca, bilişim meraklıları da örgütlenip barbienin bilgisayar mühendisi olması için oy kullandılar. Yetkililer bunu farketmiş olmalı ki barbienin bu sene bilgisayar mühendisi olmasının dışında sadece kızların verdiği oyları dikkate alarak haber spikeri de olmasını uygun görmüşler.

Sonuçlar İçin

16 Şubat 2010 Salı

Configuring Database Character Encoding

Veritabanı Karakter Kodlaması Ayarı (UTF-8)
Configuring Database Character Encoding


Geçenlerde üzerinde çalıştığım bir projede web sayfasından FORM ile gönderdiğim verilerin veritabanında türkçe karakterlerinin bozuk çıktığını farkettim. Bunu çözmek için çok çeşitli yollar denedim ve sonunda aşağıda anlatacağım çözüm yolunu buldum.

Web Sayfasındaki formlardan database'e veri kaydederken sık sık encoding problemleriyle karşılaşılır. Bu sorunları aşmak için database tarafındaki iki yerde "character-encoding" ayarlarının yapılması gerekir.

1-) Örneğin verileri UTF-8 encodinginde tutmak istiyorsak öncelikle veritabanını UTF-8 encodingi ile oluşturmalı ve tablo ve alanlarda da aynı encodinge sadık kalmalıyız.

CREATE DATABASE mydatabase CHARACTER SET utf8 COLLATE utf8_bin;

NOT: Bunun dışında veritabanının encodingini de UTF-8 yapmalı (default-character-set=utf8) ve tabloları ve onların karakter tutan alanlarını da UTF-8 encodingine ayarlamalısınız. (ALTER TABLE tablename CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;)


2-) İkincisi veritabanına bağlanırken de encodingi belirtmemiz gerekmekte. Örneğin veritabanı bağlantısını (connection string) aşağıdaki gibi tanımlamalıyız:

jdbc:mysql://hostname:port/database?autoReconnect=true&useUnicode=true&characterEncoding=utf8

NOT: XML dosyasında bağlantı tümcesi tutulacaksa "&" karakterini "&" olarak yazmaya dikkat etmeliyiz.

3-) Ayrıca TOMCAT'in server.xml dosyasından URI encoding ayarı da yapmanız gerekli:


<Connector port="8080" URIEncoding="UTF-8"/>










12 Şubat 2010 Cuma

Hibernate Distinct Query With Join

Aşağıdaki gibi iki tablonun birleştirildiği (join) bir distinct sorgu düşünelim. Ayrıca sorgu bir sütuna göre de filtrelensin:

SELECT DISTINCT ud.birthDate FROM user u, userDetail ud WHERE u.id=ud.userId AND u.membershipType=?


Bunun hibernatedeki karşılığını veren fonksiyon aşağıdaki gibi olmalı:


public List<Date> findDistinctBirthDates(String membershipType) {
        try {
            Session session = getSession();
            Criteria userCriteria = session.createCriteria(User.class);
            Criteria userDetailCriteria =
                        userCriteria .createCriteria("userDetail","ud");
            userDetailCriteria.setProjection(
                        Projections.distinct(
                                    Projections.property("ud.birthDate")
                        )
            );
            userCriteria.add(Restrictions.eq("membershipType",membershipType));
            return userCriteria.list();
        } catch (HibernateException e) {
            throw new DBInfrastructureException(e);
        }
}


5 Şubat 2010 Cuma

SVN ve Proje Yönetim Sistemi

Projelerinizi web üzerinden yönetmek mi istiyorsunuz? Bunun için de açık kaynak bir yönetim sistemi mi arıyorsunuz?

Öyleyse size Proje Yönetim Sistemi (Issue Tracking) ve SVN yönetim sistemi olarak kullanabileceğiniz UNFUDDLE isimli ücretsiz aracı şiddetle tavsiye ederim.



Ücretsiz planında 200MB alan ve iki kullanıcıya izin veriliyor. Bazı özellikleri paralı olsa da genel olarak kişisel projeniz için kullanacaksanız ihtiyaçlarınızı fazlasıyla karşılayacaktır.


http://unfuddle.com/