Ana içeriğe atla

Kayıtlar

Kasım, 2009 tarihine ait yayınlar gösteriliyor

Buruk bir bayram daha...

Yine bir Bayram geldi ve ülkenin Bayram öncesi hali hiç iç açıcı değil. Dün memurlar iş bırakma eylemi yaptılar, bir gün önce de öğretmenler günü oldukça sönük geçti. Daha da genele; ülkedeki insanların suratlarına baktığınızda bayram sevinci yerine kaygı ve endişe görüyorsunuz. Kurban fiyatlarındaki değişim haberlerinden daha çok kimlerin kurban alabilecek güçte olmasının daha önemli olması gerekirken bu durum da göz ardı ediliyor. Bu ülkenin insanları daha refah içinde, geleceğe daha umutla bakarak karşılayacakları bayramları hak ediyorlar. Ama bu bayram bunlardan biri değil.
Herkesin kardeşçe, sağlıklı, mutlu bir bayram geçirmesi dileğiyle...

En iyi açık kaynak raporlama araçları

Yazılım geliştirirken gereksinim duyulan şeylerden biri raporlamadır. Kullanıcılar mutlaka rapor isterler. Bu raporları hızlıca kullandığınız programlama dili bileşenleriyle yapabileceğiniz gibi daha kapsamlı raporlar için hazır araçları kullanabilirsiniz.

Yaptığımız bir projede özgür yazılım olduğu için jasper reports'u kullanmıştık. Java'da kullanılabildiği için oldukça işimize yaramıştı. Açık kaynak raporlama araçlarına bakarsak, günümüzde seçeneklerin oldukça arttığını görebiliriz. Bir yazıda açık kaynak raporlama araçları listesi paylaşılmış. İlgilenenlere duyurulur.

Öncelikler ve zaman kullanımı

Bir yazıda yapacaklarınızın önceliğine karar verme başlığını görünce yazıyı çevirerek paylaşmak istedim. Biraz düşününce konu hakkında kendi düşüncelerimi paylaşmanın daha doğru olacağını düşündüm.

Yapmamız gerekenler, yapılması gerekenler var. Mutlaka bir şeyler üretmeyi kafamıza koyuyoruz. Belki de hiç bir şey üretmeden sadece zamanı tüketmeyi kafamıza koyuyoruz. Her halükarda en değerli şey olan zamanı planlamamız gerekiyor. 24 saat aralıksız üretemeyeceğimiz gibi, 24 saat aralıksız zamanı boşa da tüketemiyoruz. Bu durumda 24 saati nasıl değerlendireceğimiz planlamamız gerekiyor. Her ne kadar her zaman hoşunuza gitmeyen şeyleri yapmayın gibisinden öneriler olsa da bazen hoşunuza gitmeyen bazı şeyleri de yapmanız kaçınılmaz. Bunları da zaman planımıza koyuyoruz. Sadece soyut şeylere değil, somut şeylere, en önemlisi insanlara zaman ayırmamız gerekiyor. Bütün bu süreci en iyi şekilde planlamak ve disiplinli bir şekilde uygulamak gerekiyor. Hele ki uğraştığınız, yapmaya çalıştığınız on…

2009 LOÇ Tırmanışı

Bursa Dağcılık ve Doğa Sporları İhtisas Kulübü (BUDAK) nün
Dağcılık Federasyonumuzun Kurucusu ve İlk Başkanı
merhum Latif Osman ÇIKIGİL(LOÇ) anısına
geleneksel olarak her yıl düzenlediği
LOÇ ANMA TIRMANIŞI
Bursa Uludağ’da 14 - 15 Kasım 2009 tarihinde gerçekleştirildi.


Zirve yüksekliği 2543 mt
Kamp alanı yüksekliği 2450 mt
Yürüyüş süresi 16 saat.
Gece sıcaklık ~= -10 C
Katılımcı sayısı ~= 160



Panel: Yeni Medyada Nefret Söylemi

İstanbul'da yaşayanlar için bir panel duyurusu.
“Yeni Medyada Nefret Söylemi” konulu bir panel düzenlememizin nedeni, Türkiye’nin gündelik yaşamında öteki olarak işaretlenenlere yönelik ırkçı, zenofobik ve homofobik nefret söyleminin geleneksel medyanın yanı sıra giderek daha yaygın bir şekilde yeni medya ortamında da dolaşıma girmesi ve yeniden üretilmesindeki dikkat çekici artış olmuştur.Panelde, önce nefret söyleminin kökleri, nefret söyleminin ve nefret suçlarının hukuki zeminde yeri, ardından da yeni medya ortamında nefret söyleminin hangi mekanizmalarla nasıl üretildiği serimlenecektir. Son olarak da, yeni medya ortamında dolaşıma sokulan ve yeniden üretilen nefret söylemine karşı mücadele etmek için olası çözüm yolları tüm katılımcılarla birlikte tartışılacaktır.Bu panelin düzenlenişinin bizati kendisi de nefret söylemine karşı bir farkındalık bilinci uyandırmayı amaçlamaktadır.Tarih: 21 Kasım 2009, Saat:13.30 - 17.00Yer: Tarık Zafer Tunaya Konferans Salonu Tünel/TaksimYönet…

Java geliştiricilerinin bilmesi gereken 10 şey

Bir yazıda bütün Java geliştiricilerinin bilmesi gereken 10 şey yazılmış. Bu tarz yazılar, 10 şey, 20 şey, hiç bir şey gibi şeyler çok çıkıyor biliyorum. Yine de paylaşmak istedim. Üzerinde tartışabiliriz, yanlarına yazdıklarımın bir kısmı kendi düşüncelerimdir.

Java'nın ve Nesne Yönelimli Programlamanın hemellerini hatırlayın: Hatırlayın yerine hiç unutmayın demek daha doğru olur sanırım. Buna karşı çıkacak birini de düşünmüyorum.Teknoloji kümenizi bilin: Evet, hızlı yazılım geliştirmek, tekerleği tekrar tekrar tasarlamamak, uygun hedef uygun ortam ve teknoloji kullanabilmek için Java'yı, sanal makinelerini, farklı teknolojileri, kütüphaneleri bilmek yararlı olacaktır.Farklı J2EE anaçatıyla denemeler yapın: Spring, EJB, vb. farklı J2EE teknolojileriyle denemeler yapıp, uygun olanı seçmeniz iyi olacaktır.Bir betik dili öğrenin: Mutlaka Java içerisinde kullanabileceğiniz hatta başka zamanlarda da kullanabileceğiniz bir betik dilini öğrenin (bence Python öğrenin :D )Web servisler…

Java ve İlişkiler

Nesne yönelimli programlama dersinin asistanlığını yapıyorum. Bu bağlamda sorular geliyor. En son Nesne Yönelimli Programlama'da Association, Composition ve Aggregation kavramları soruldu. Bu kavramları kodumuzda kullanıp kullanmadığımızı nasıl anlarız? Bu soruyu ortada bırakmak şartıyla, bu kavramların tanımlarını yapmaya çalışayım.

Association (Birliktelik): İki sınıf arasındaki yapısal ilişkiye verilen isim. Herhangi bir dereceye sahip olacak şekilde aralarında ilişki bulunan sınıflar bu birlikteliğe sahip olurlar. UML gösteriminde düz bir çizgi ile temsil edilmektedir. Bu ilişki bize o iki sınıf arasında mesaj alışverişini sağlayan bir kanalın olduğunu anlatır. Burada Java'da mesaj alışverişinin metot çağrımlarıyla gerçekleştiğini hatırlatmak gerekir. Birliktelikler genellikle referanslar ile gerçekleştirilir.
Aggregation (Münasebet): "Sahip olma" ("possession") ilişkisini temsil eden özel bir birlikteliktir. Dairesel olmama koşulu vardır. Bunun anlamı ne…

DISTINCT yerine IN veya EXISTS

SQL cümlelerinde JOIN kullanımı sonucu tekrarlayan kayıtlar ile karşılaştığımız oluyor. Bunları tekil hale getirmek için DISTINCT kelimesini kullanabiliriz(1), ancak distinct sıralama ve filtreleme işlemi yapacağından sorgunun performansını azaltacaktır.
DISTINCT kullanmak yerine mümkünse JOIN ifadesinde kullanılan tablo ve koşullar ayrılarak altsorguya dönüştürülebilir, aranan değere ulaşmak için performansı bu tür durumlarda JOIN den daha yüksek olan IN veya EXISTS kullanılabilir(2).

(1)
select distinct m.musteri_no
from tbl_musteri m
join tbl_hesap h
on h.musteri_no = m.musteri_no
and h.kayit_durum = 'A'
and m.musteri_no = 123456

(2)
select m.musteri_no
from tbl_musteri m
where exists (select h.musteri_no
from tbl_hesap h
where h.musteri_no = m.musteri_no
and h.kayit_durum = 'A')
and m.musteri_no = 123456

Basit kod için 7 kural (KISS - Keep It Simple Stupid)

Basit kod geliştirmenin 7 adet ölçütünden bahseden bir yazı buldum. Yazıyı ayrıca okuyabilirsiniz. Özetle bu 7 özellik şunlar:
Okunması kolay olmalıKullanımı kolay olmalıDeğiştirmesi kolay olmalıGereksiz yere üçüncü parti kütüphane, araç veya teknoloji kullanmamalıBasit görünmeliZarif olmalı (sadece gerekli olanı yapmalı, fazlasını değil, az ve öz olmalı)Dobra olmalı (gereksiz yere yönlendirmeler içermemeli)Bu özellikler tartışılabilir, ama yazılım geliştirirken bir şeyi unutmamak lazım. Kaynak kodun genişletilebilir, değiştirilebilir, güncellenebilir ve anlaşılabilir olmasıdır.

Aynı yazıda ayrıca önemli bir vurgu yapılmış. Bu vurgu basit kodun geliştirilebilmesi için sürekli sınama ve sürekli yeniden yapılandırmanın (refactoring) yapılması (zaten sürekli yeniden yapılandırma yapıyorsanız sürekli sınama da yapmanız ve dolayısıyla bol bol testlerinizin olması gerekir, bu noktada birim testler devreye girer) gerektiğidir.