Archive for the ‘TOOLS’ Category

Illegal Opcode Detected! May 28th, 2009

İbrahim DEMİR

Uzun zamandır sahipsiz bıraktığım blogumda askere gidene kadar tips&tricks tarzında kısa ipuçları paylaşmaya karar verdim. Artık zaten trend micro-blogging yönüne doğru kaymaya başladı. Uzun blog yazıları yerlerini kısa ve öz başlıklarına bıraktı. Ben de o nedenle sağ taraftaki alana twitter üzerinden paylaştıklarımı da ekledim.

Başlığa konu olan sorun ise jasper-reports kaynak kodlarını makinama alıp beraberinde gelen build.xml ile jar dosyalarını oluştururken başıma geldi.
Tam hata mesajı  şu şekilde:
org.apache.bcel.generic.ClassGenException: Illegal opcode detected

İnternet üzerinde arayınca pek birşey bulamadım ve ofis arkadaşımın önerisiyle işletim sisteminin bölge ve dil ayarlarını değiştirdim.Bölge ve dil tanımlarınızı kontrol panel üzerinden Türkçe’den İngilizce’ye çevirince hata mesajı ortadan kalkacaktır.

Aynı sorun pek çok kod üretici de mevcut malesef.  Java ile çalışanların aklında daima bu ayarı değiştirmek (veya kontrol etmek) bulunmalı.

Kolay gelsin..

Continue reading...


 

JIRAMANIA BİZE ÇOK UZAK ÇOOKKK!!! September 28th, 2007

İbrahim DEMİR

threetools.pngGeçtiğimiz günlerde Atlassian firmasının sitesinde gördüğüm What 3 Dev Tools Do You Rely on Most? başlıklı haber çok hoşuma gitmişti. Yani bir uygulamanın bu kadar çok amaca hizmet edebilir olması ve bu kadar efektif kullanılması hem o uygulamayı yazanlar için hem de kullananlar için çok güzel bir durum.

Yukarıdaki resimde de görüleceği üzere arkadaşlar development süreçlerinin her aşamasına JIRA ‘yı entegre etmişler. Bu sayede JIRA+CVS+ECLIPSE üçlüsü ile projelerini tıkır tıkır yürütmeyi başarmışlar. Resme bakınca JIRAMANIA bu olsa gerek demiştim kendi kendime…

Bu arada nedir bu JIRA diyenler buradan ve Mustafa Tan ‘ın blogundan detaylı bilgiye ulaşabilirler.

JIRA özetle “Söz uçar yazı kalır” felsefesinin yazılım projelerinde hayat bulmasıdır benim gözümde. Yapılan , yapılması gereken, yapılması umulan yada yapılacak olan işlerin takip edilebilmesini ve kayıt altında olmasını sağlar JIRA. Yani e-maili, telefon yada birebir muhattabiyeti kayıt altına alır. “Abi bee bu kod patlıyor bir el atıver de biz de teste devam edelim” şeklinde gelecek vakitsiz bir telefonun önüne geçer JIRA. Onun yerine e-mailinize ve JIRA hesabınıza tatlı bir issue düşer bir öğle tatili öncesinde… :)

Açar bakarsınız ve gerekeni yaparsınız. Sonradan birisi çıkıp da “Ben şu zaman demiştim sen bu zaman yaptın“, yada “ben böyle demiştim sen şöyle yaptın“gibi bir iddiada bulunamaz çünkü herşey orada yazılmıştır. JIRA ‘nın tanıtımı yapıp , teorik olarak kullanımını anlattıktan sonra sıra geldi hayatın gerçekleriyle yüzleşmeye…

Biz de şu anda dahil olduğum projede JIRA ‘nın nimetlerinden faydalanmaya çalışıyoruz. Hem development hem de test sürecinde yoğun bir şekilde JIRA kullanılıyor. Özellikle de projesini yaptığımız şirketin IT departmanıyla olan ilişkilerde işlerin daha ciddi yürütülmesi adına JIRA köprü görevi görüyor. Şu sıralarda bizim ekibin yazdığı modüller Alfa tesinde. Müşterimizin IT departmanındaki arkadaşlar bizlerin yaptığı ekranları test edip bizlere hatalı durumlarda “issue açıyorlar“. Buraya kadar herşey olağan. Ama bazen etrafımda öyle manzaralara denk geliyorum ki… Millet uzaya gidiyor biz nereye diye düşünüyorum…

Bir hata raporlanmış, developer arkadaş da düzeltmiş bir güzel. Şimdi tek yapması gereken JIRA ‘da kendisine atanan görevi ufak bir açıklama girerek kapatmak. Developer arkadaş kaygılı. Neden mi? Çünkü hatayı raporlayan vatandaş açıklamaları anlamamkta büyük bir direnç gösteriyor. Ne yapsam ne yazsam diye düşünürken oradan dahiyane bir fikir egliyor. “Ya telefon açıp söylesene. Böyle böyle diye anlatsana” (Hani yazılandan anlamıyor belki laftan anlar diye umuyor sanırım) yada “Dur dur ben de e-mail adresi var o bayanın uzun uzun bir mail at olsun bitsin“  Güler misin ağlar mısın?

Madem bizim telefon, e-mail gibi hizmetlerimiz var neden JIRA kullanıyoruz? Neden birileri JIRA ‘da bizim sorunsuzca çalışabilmemiz için emek harcıyor? Yada bu işler madem böyle de yürütülebiliyor neden bir grup zeki arkadaş oturup JIRA adlı bir uygulama geliştiriyor. Maksat yeşillik olsun diye değil mi? Yada el alem “Sizin JIRA ‘nız var mı?” diye sorduğunda “Olmaz mı hem de en enterprise edition ‘ından” diyebilmek için…

Görüldüğü üzere bir uygulama ne kadar akıllıca tasarlanmış olursa olsun işin içine beşeri faktörler girince, o akıllıca tasarım pek bir anlam ifade. Siz siz olun bu gibi fikirlere aldırış etmeyin. Elinizdeki araçlar her ne kadar amacınız olmasa da onları ne kadar efektif ve doğru kullanırsanız o kadar rahat edersiniz. Sisteminize ekleyeceğiniz fazladan her araç hem maddi yük getirecek hem de ayrı bir yönetim süreci isteyecektir. O nedenle bu gibi işlere ayıracağınız kaynağın karşılığını en iyi şekilde almalısınız. Hem siz elinizdeki aracı doğru kullanmak konusunda ne kadar ısrarcı olursanız etrafınızdakiler de er geç size uymaya başlayacaktır. (Yani birileri derdini yazarak anlatmayı ve diğer taraf da yazılandan birşyeler anlamayı öğrenmeli.) Yanlışları değil doğruları toplu halde yapmaya özen göstermenizi dileyerek yazımı burada noktalıyorum.

Continue reading...


 

UYUMSUZLUĞA MICROSOFT ‘TAN ÇÖZÜM GELDİ August 29th, 2007

İbrahim DEMİR

Internet Explorer 7 ‘ye geçiş sırasında ciddi problemler yaşanlardan biriyim ben de. Neyseki artık hayatımda IE ‘nin pek bir yeri kalmadı. Fakat bu durum herkes için geçerli değil elbette. Israrlı ve sadık Microsoft kullanıcıları hala IE kullanmaktan bir türlü vazgeçmiyorlar. (İşletim sistemine entegre olarak gelmenin avantajı böyle birşey olsa gerek) Microsoft da bu arkadaşları düşünerek User Agent String Utility v2.0 adlı aracını geçtiğimiz hafta yayınladı.

Bu araç sayesinde henüz IE 7 ‘ye adapte olamamış sitelere kendinizi farklı bir tarayıcından geliyormuş gibi gösterip bağlanqbiliyorsunuz. (Daha doğrusu daha düzgün görüntülüyebilemenizi sağlıyor) Bu ufak uygulamayı kurduktan sonra masaüstünüze oluşturacağı kısayol yardımıyla Internet Explorer ‘ı farklı bir User Agent bilgisiyle açabilirsiniz. Sisteme herhangi bir kayıt eklemieyen bu uygulamaın oluşturduğu kimlik sadece masaüstünüzdeki kısayol ile açtığınız pencere için geçerli oluyor.

Eğer Internet Explorer ‘a kalıcı olarak bu profili vermek istiyorsanız http://www.enhanceie.com/useragent.aspx adresindeki registry scriplerden faydalanabilirsiniz. EricLaw tarafından hazırlanan sitede Internet Explorer kullanıcılarının işine yarayabilecek çok faydalı scriptler ve eklentiler mevcut.

Microsoft ‘un bu tip bir araç çıkarması bana Microsoft MVP olan bir arkdaşım söylemiş olduğu: “Microsoft geriye uyumluluk konusunda dünyanın en iyi firmasıdır.” cümlesini hatırlattı. Geriye uyumluluk bu mudur , böyle birşey midir? Uydurmacılık nedir peki?…

user_agent.jpg

Continue reading...


 

vLite İLE LIGHT-WEIGHT VISTA August 18th, 2007

İbrahim DEMİR

vlite.jpgİnternet hayatıma (yoğun bir şekilde) girdiğinden beri bilgisayar kullanım alışkanlıklarımın da değiştiğini fark ettim. Önceden bir yerlerden bir şekilde internet bağlantısı bulunca X,Y,Z kaynaklarından okuduğum , duyduğum tüm programları indirir sonra da teker teker denerdim. Anlayacağınız bilgisayarıma kurup-kaldırmadığım uygulama yoktu. Ama şimdilerde görüyorum ki benim için Bilgisayar Kullanmak= Development+RSS+Web Surf . En son ne zaman video işlediğimi yada registry clean-up yaptığımı unuttum. Bilgisayarımda kurulu olan onlarca programa artık hiç ilgi göstermiyorum sanırım…

Neyseki dün akşam bir fırsat bulup uzun zaman evvel kurduğum vLite uygulamasını denedim.vLite uygulamasını denememin en büyük nedeni bu uygulamanın Windows 2000/XP/2003 için olan sürümü nLite ‘ın gerçekten çok başarılı bir uygulama olmasıydı. Dünkü denemelerim de gösterdi ki vLite da gayet sorunsuz bir şekilde çalışıyor.

Peki vLite ne yapar, kimin ne işine yarar? vLite ile Windows Vista kurulumunuza şekil verebiliyorsunuz. Öncelikle Windows Vista CD ‘nizde yer alan kurulum dosyalarını bilgisayarınızın hard diskine kopyalamanız gerekiyor. (İşin en can sıkıcı kısmı burası) Ardından da vLite uygulamasına bu dizini gösterip Vista sürümünüzü bulmasını bekliyorsunuz. Bir sonraki adımda ise Bileşen Çıkarma , Kurulum Ayarları , Sürücü Entegre Etme , Katılımsız Kurulum (Unattended Setup) ve Bootable ISO oluşturma seçeneklerine geçiyorsunuz.

Özellikle ofis ortamında kullanılacak sistemler için Vista altında bir dolu gereksiz (görsel ve multimedia ağırlı) bileşen bulunuyor. Bunlardan kurtulmak performans artışı sağlayacaktır diye düşünüyorum. Öte yandan Google ve Microsoft arasında tartışma konusu olan Vista Integrated Search ‘den de vLite sayesinde kurtulmak mümkün.

Bu arada ben vLite uygulamasının 1.0 sürümüyle bu işlemleri yaptım ve az önce fark ettim ki 1.1 sürümü ile Yama ve Dil
Paketi Entegrasyonu (Hotfix and Language Pack Integration) da eklenmiş.  Bu , vLite ‘ın en çok işinize yarayacak özelliklerden biri diye düşünüyorum. Ayrıca Kasım 2007 ‘de yayınlanacak olan Vista Service Pack-1 ‘in kurulum CD ‘nize entegrasyonu (Slipstreaming) için de vLite ‘ın yeni bir sürümle bunu da destekleyeceğini düşünüyorum. (nLite uygulamasının en sevdiğim özelliği buydu)

Yukarıda yazıklarımı özetleyecek olursak: eğer sizler de benim gibi kurulumda yüzlerce gereksiz servisi ve bileşeni sisteminize dahil eden ve bunları konfigüre etmeye izin vermeyen yada saniyede bir yaması çıkan yada  Servis Bohçası (Service Pack) yüzlerce megabyte ‘ı bulan Windows işletim sistemi ailesinden vazgeçmemekte ısrar ediyorsanız alet çantanızdan vLite ‘ı eksik etmemelisiniz???

Continue reading...


 

VISUALSVN – Subversion Plugin For Visual Studio August 10th, 2007

İbrahim DEMİR

vssvn.pngSanırım başlıkta Visual ile başlayan bir sözcük blogumu takip eden görmek .NETci arkadaşlarımızı mutlu etmiştir. Dünkü Eclipse yazısından sonra bugün de Visual Studio için bir eklentiden bahsetmeye karar verdim.

Uygulama geliştirirken özellikle de takım halinde çalışıyorsak Version Control (yada Source Control yada Revision Control) dediğimiz kaynak kodlarımızı bir havuzda (repository) toplayarak bunların yönetilmesini sağlayan bir sisteme mutlaka ihtiyaç duyarız. (Yönetmek: Senkronizayon, aynı dosya üzerinde birlikte çalışma ,değişiklikleri geriye alma vb.)

Bu iş için son zamanlarda popülerliği gitgide artan (Neredeyse CVS ‘i unutturacak bizlere) SVN (SubVersioN) sistemini kullanabilirsiniz.

Bundan bir kaç ay evvel Visual Source Safe ile ilgili ufak bir araştırma yaparken Visual Source Safe ‘in Eclipse ile birlikte de kullanılabileceğini görmüştüm. Malumunuz Visual Source Safe kurulumu yaptığınızda kendisini Visual Studio ‘ya entegre eder ve projelerinizi Source Safe içinde saklamanıza ve yönetmenize imkan tanır. İşte Visual Source Safe ‘i Eclipse ortamında da kullanabilmek için de VSS Plugin adlı open-source bir uygulama geliştirmişler. Hatta o zamanlar IDE ‘ye para vermeyip Source Control ‘e (VSS ‘ye) kim para verir diye düşünmüştüm. (Hala da düşünüyorum?)

Bu yazıya konu olan uygulama ise bir Eclipse eklentisi değil Visual Studio eklentisi. Bu eklenti sayesinde SVN ‘i .NET uygulamalarınızın kaynak kodlarını yönetmek için kullanabilirsiniz. Elbette bu uygulama da ücretli. (Ücretli bir ürüne ücretsiz bir eklenti yazıldığı nerede görülmüş :) ) Fakat lisans ücretleri gayet uygun. Elbetteki Visual Source Safe kadar kompleks ve gelişmiş bir ürün değil fakat Visual Studio ‘ya verdiğiniz linsans ücretinin üstüne bir de Visual Source Safe ücreti eklemek istemiyorsanız tercih edilebilir ve gayet de iyi iş görecektir.

Bu yazıyı yazmadan evvel sabah ufak ben de bir deneme yaptım. Eğer sizler de denemek isterseniz buradan 30 günlük deneme sürümünü indirebilirsiniz. Ayrıca buradaki adresten VisualSVN ‘e ait dokümantasyonu indirip anlatılanları adım adım uygulamak faydalı olacaktır. (24 sayfalık gayet güzel ve sıkmayan bir döküman hazırlamışlar.) Sizlere tavsiyem SVN ile çalışacaksanız Tortoise SVN ‘i indirip kurun. (Windows platformunda olduğunuzu varsayıyorum.) Bu sayede dosya sisteminiz üzerinde bu güzel shell eklentisi ile hızlıca işlemlerinizi yapabilirsiniz. Kurulumdan sonra boş bir dizin yaratın ve sağ tıklayarak Create Repository komutunu çalıştırın. Bir sonraki adımda VisaulSVN eklentisini de kurun ve Visaul Studio ‘ya eklenen VisualSVN menüsünden repository’e bağlanın (file:///D:/SVN şeklinde) Bundan sonra dökümandaki yönergeleri takip ederek VisualSVN ile kolaylıkla çalışabilirsiniz.

Eğer Microsoft ‘a elimizi verdik kolumuzu nasıl kurtarırız diye düşünüyorsanız bu gibi farklı uygulamalara şans tanımak ve  ihtiyaçlarınızı karşılıyorsa bu tarz ürünleri kullanmak maliyetlerinizi düşürecektir. Şimdilik benden bu kadar. Sağlıcakla kalın…

Continue reading...