Yazılım

HibernateTemplate için get() vs load()

Konu:

Spring üzerinde Hibernate kullananlar için lazım olan ve hangisi neydi unutulabilen bir bilgi. Not olarak dursun;

İstenen veritabanı objesi yoksa get() null döndürür.
load() null döndürmez, ObjectRetrievalFailureException fırlatır.

Kaynak: http://static.springsource.org/spring/docs/2.5.5/api/org/springframework...

Yazılım Projelerinde Dokümantasyon Yazma Motivasyonu

Konu:

Bir yazılım projesi başlangıç aşamasındayken iş mantığı konu sıcak olduğu için bilinir. Fakat proje canlı bir sistem haline geldiğinde neyin nasıl yapıldığı bilgisi genelde unutuluyor. Projede çalışan kişiler değişmese bile işin nasıl yapıldığı kod okuyarak bulunmaya çalışılıyor. Hele bir de projede çalışanlar değişince işler içinden çıkılması çok zor bir hal alıyor. Bu yüzden yazılımda dokümantasyon büyük önem taşıyor.

Yazılım geliştiriciler ortaya bir ürün çıkartarak motive olurlar. Yaptıkları şeyin sonucunda işe yarayan, bir anlam taşıyan olguyu görünce keyif alırlar ve daha iyilerini başarmak için içsel bir güç taşırlar. Bu yüzden her işte olduğu gibi yazılımda da motivasyonun büyük etkisi olduğuna inanıyorum. Dokümantasyon yazmak ise genel anlamda sıkıcı bir iş. Aynı zamanda vakit alıyor. Bununla beraber ürünün yarı zamanda bitmesini bekleyen yöneticiler -özellikle de yazılım bilmeyen ama yazılım projesi başında bulunanlar- dokümantasyon ve test gibi önemli fakat sıkıcı ve zaman alıcı olguların gerçeklenmesine pek imkan vermiyor.

Projelerin dokümante edilmesi ile ilgili zaman konusunda bir miktar yardımcı olan faktörler var. Örneğin kodun içine gömülü olarak yazılabilen dokümantasyonlar ve bunlardan okunabilir dokümantasyon ortaya çıkaran araçlar mevcut. Kod içine sepriştirilmiş olan bu tip yorumları belli bir standart içinde yapmamız gerektiği için. açıkcası pek de motivasyon sağlamadığı kanatindeyim.

Diğer yandan bu işin motivasyonu arttırılırsa yazılım geliştiriciler için dokümantasyon sıkıcı ve dolayısıyla yapılmayan, gerçek olmayan bir idealden öteye geçip daha profesyonel şeyler ortaya konmasına yardımcı olacaktır. Böylece aylar önce yazdığımız kodda aslında neyi nasıl ve neden yaptığımızı arayıp bulmak yerine dokümantasyondan bakarak doğrudan cevaplar verebiliriz. Burada en büyük sıkıntı doğru dokümantasyon aracını ya da araçlarını bulabilmek.

Açıkças çok dokümantasyon yazmış biri değilim. Ama çalıştığım projelere bakarak çalışma arkadaşlarıma nisbeten en çok yorum ve dokümantasyon yazma gayreti içine girenin ben olduğumu düşünüyorum. Bu önemli bir konu; her yazdığım kodu ezberlemeyeceğim için ve projeye benden sonra dahil olacakların işini kolaylaştırabilmek adına daha iyi dokümantasyon bilgisi ve bu bilginin gerçeklenmesi şart. Bunun için de dokümantasyonu nasıl tutmak gerektiği konusunu araştırıyorum.

Belki yanlış yerlere bakıyorum, belki de baktığım ve bulduğum tüm yollar gereğinden fazla sıkıcı olduğu için bu konuda pek yol kat edemedim. Bana göre bu işi kolaylaştıracak bır araç olmalıydı. Sanırım buna mantıksal olarak en çok yaklaşan Alfresco, fakat community paketini yükledikten sonra aldığım hatalar Alfresco'ya karşı beni soğuttu. Yine araştırmalarım sonucu bulduğum Novius OS gelecek vaadediyor gibi. Mümkün olursa onu da deneyeceğim. Bundan başka da en sadesi Mediawiki'nin wiki yazılımı.

Sizce yazılım projelerinde dokümantasyon nasıl yapılmalı? Özellikle 'knowledge base' yani sahip olduğumuz bilgi birikimini kaydedebileceğimiz 'bütün' bir yazılımın eksikliği hissedilmiyor mu?

Ubuntu'da Nodejs ve Npm kurulumu

Konu:

Etiketler:

Benim gibi arayıp bulmakta zorlanan bünyeler için yazıyorum. Kaynak şu adres: https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager

Yapılacaklar;

sudo apt-get install python-software-properties
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs npm

JBoss AS7.1'de "JBAS014676: Failed to parse configuration" Hatası

Konu:

Madvens uyardı:

JBoss Server 7.1 No enum const class java.util.concurrent.TimeUnit.MİLLİSECONDS hatası

Gösterdiği çözüm yöntemi Eclipse için. Fakat eğer JBoss'u standalone ya da domain olarak kullanmak istiyorsanız işler değişiyor. Bu hatanın sebebi, anlaşılacağı üzere Türkçe karakter problemi. Temel sistem konfigürasyonunuz Türkçe fakat JBoss bunu doğrudan alıp kullanmaya çalıştığı için MİLLİSECONDS'daki i harfleri de büyüyor ve hata oluşuyor. Bunu çözmek için çalıştırdığınız conf.bat dosyasının (örneğin standalone çalıştırıyorsanız standalone.conf.bat) Java options ayarlarının bulunduğu uygun bir yere şu satırı eklemek:

set "JAVA_OPTS=%JAVA_OPTS% -Duser.language=en"

Daha önce OrientDB için de benzer bir sorunla karşılaşmış ve bunu OrientDB geliştirici grubunda paylaşmıştım. Onlar da bunu dilden bağımsız şekle getirmişlerdi. JBoss da belki bunu yapabilir.

Bir fenomen olarak "java.sql.SQLException : Dahili gösterime dönüştürülemedi" Hatası

Bir Java yazılım geliştirici olarak "Dahili gösterime dönüştürülemedi" istisnası başıma geldi. Ben de Google her şeyi bilir prensibiyle araştırdım. Fakat kelime grubu olarak tüm uyan tek sonuç yok. Sanki bu hatayı kendim uydurdum ya da kullandığım makine, elindeki Türkçe kelimelerden seçerek rastgele mesajlar oluşturuyor. Google'ın otomatik tamamlaması sayesinde benden başkalarının da bu hatayı araştırdığı anlaşılabiliyor. Fakat tek bir uygun sonucun dönmüyor olması, nasıl bir Türkçeleştirme yapıldığı sorusunu gündemden düşürmüyor.

İngilizce olarak bu hatanın neye benzeyebileceğini de üç aşağı beş yukarı tahmin ederek araştırdım ama benim İngilizce bilgim bu hata mesajını tam oturtmaya yetmedi. Hatayı araştırmaktan vazgeçip zaten İngilizce olduğunu düşündüğüm JDK'yı ya da Oracle veritabanını mı İngilizceye çevirmem gerekiyor, onu da tam olarak kestiremiyorum. Bu hata mesajının ne olduğunu bilen, duyan, algılayan varsa haber versin. İstirham ediyorum.

Sayfalar

Subscribe to RSS - Yazılım