30 Ocak 2010 Cumartesi

Erlang ve Flex

Erlang ve Flex ile ilgili örneği github'a yükledim. Örnekte erlang-http, erlang-amf ve mnesia paketleri sunucu tarafı yazılmış bir erlang uygulamasının, Flex önyüzü ile nasıl sunuculacağı gösterilmekte.

http://github.com/bogus/Simple-Erlang-Flex

28 Ocak 2010 Perşembe

Java Spring Örnekleri

Hazırlamış olduğumuz Java Spring ile ilgili örnekleri Github'a upload ettik.. Örnek konuları şunlar.

hibernate/
spring-aop/
spring-jpa/
spring-jsf-jpa-aop/
spring-jsf-jpa-tomahawk/
spring-mvc-jpa/

İndirmek için

http://github.com/bogus/Java-Spring-Examples

13 Ocak 2010 Çarşamba

Yazılım Mühendisliği ve Proje Şablonları

Tigris.org bilindiği üzere birçok açık kaynak yazılım mühendisliği projesine ev sahipliği yapıyor. Bunlardan en iyilerinden birisi de ReadySet yazılım mühendisliği proje döküman şablonları. Ülkemizde pek düzenli işletilmese de IEEE Std 1058-1998 ile birlikte kullanıldığında oldukça başarılı proje dökümanları oluşturulabiliyor.

http://readyset.tigris.org/

11 Ocak 2010 Pazartesi

configure.in ile derleme seçenekleri oluşturma

configuration.in ve Makefile.am dosyaları gerçekten maharetli. configure.in'de oluşturacağınız değişkenler ile projenizin derlenmesini yönetebilirsiniz. Örnek olarak configure.in dosyasına şu satırları ekleyelim.
# asking user if they want TIDY support
AC_MSG_CHECKING(for TIDY support)
AC_ARG_ENABLE(
tidy,
[AC_HELP_STRING([--enable-tidy@<:@=no@:>@], [Enable support for the TIDY library])],
[ if test "x$enableval" = "xno"; then
tidy=false
AC_MSG_RESULT(no)
else
tidy=true
AC_MSG_RESULT(yes)
fi
],
[ # enable by default
tidy=false
AC_MSG_RESULT(yes)
]
)
if test "x$tidy" = "xtrue"; then
AC_DEFINE([HAVE_TIDY],[],[Define to enable TIDY support])
TIDY_LIBS="-ltidy ${TIDY_LIBS}"
else
AC_CHECK_FUNCS([printf])
fi
AM_CONDITIONAL(HAVE_TIDY, test "x$tidy" = "xtrue")

Yukarıdaki satırlar ilk önce tidy isimli bir argüman oluşturuyor ve bunun --enable-tidy komut satırı seçeneğiyle değerinin değiştirilebileceğini belirtiyor. Ön tanımlı değer burada false olarak beliritiliyor. Daha sonra ise AM_CONDITIONAL kısmında üst tarafta belirlenen değer ile karşılaştırma yapılıyor ve AC_DEFINE işlemiyle configure işlemi tamamlandığında oluşturulan config.h dosyasında gerekli tanımlamalar yapılıyor.

Daha sonra C/C++ kaynak dosyamıza bu config.h dosyasını ekliyoruz ve gerekli yerleri
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#ifdef HAVE_TIDY
....
#endif

şeklinde düzenliyoruz.

Son olarak eğer bununla ilgili bir kütüphane de link edeceksek projemize Makefile.am dosyasında
if HAVE_TIDY
LIBS += -ltidy
endif

şeklindeki eklemeyle gerçekleştirebiliriz.

1 Ocak 2010 Cuma

JSF Bileşen Kütüphaneleri

JSF implementasyonunu Sun veya Apache MyFaces ile hallediyoruz. Peki zengin istemci tarafında hangi kütüphaneyi kullanmalıyız. İşte güzel bir matris.

http://www.jsfmatrix.net/