Sayfalar

20 Temmuz 2009 Pazartesi

Biri Bilgilerimi Yedekler mi?

0 yorum
Geçen aylarda, sabit diskim göçtü. İçindeki verileri kurtarabilmek için bazı yazılımlar denemek istedik, fakat sabit diske bir türlü erişemediğimizden, bu mümkün olmadı. Diskimin içinde de, henüz versiyonlama sistemine göndermediğim(chek-in) ve yedeğini almadığım, 3 haftalık çalışmama ait kodlar ve notlar bulunmaktaydı. Aslında, yakın zamanda bilgisayarımdaki önemli dosyaları bir yerlere yedeklemeyi düşünmüştüm. Ama buna da, mevcut iş yoğunluğunda vakit ayıramadım. Aslında, bunun gibi, angarya işleri yapmaktan pek hoşlanmadığımı da söyleyebilirim. Hatta, keşke bu işi, birisi benim yerime yapsa diye bile düşünmüştüm, :). Ama iş işten geçmiş, uzun zamandır, bilgisayarımda biriktirdiğim önemli dosyaları ve bilgileri kaybetmiştim.

Bir yandan, yetiştirmem gereken projeyi baştan bir daha nasıl yazacağımı düşünürken, bir yandan da, diskimdeki verileri kurtarabilmenin yollarını arıyordum. Sonunda, bir disk kurtarma firması buldum. Diskimdeki verileri kurtarabilip, kurtaramayacaklarını, diski inceledikten sonra, söyleyebileceklerini, belirttiler. Bunun üzerine, diski firmaya götürdüm. Açıkçası, verilerin kurtarılabileceği konusunda, pek umutlu değildim. Firma yetkilisi, diski bir günlük incelemeden sonra, diskte fiziksel hasarlar olmasına rağmen, kurtarılmasını istediğim verileri, %100 oranında, kurtarabileceklerini söyledi. Bunu duyduğumda, çok sevindim. Hem o zamana kadar biriktirdiğim önemli bilgilere kavuşmuş, hem de kritik bir projeyi de geciktirme riskinden kurtulmuştum.

Başıma gelen bu olaydan sonra, bilgilerimi yedekleme konusu daha çok önem kazanmıştı. Ama yine de bunu benim yapmamam gerektiğini düşünüyordum. Yani bilgisayarımı kullanmazken(bilgisayar atıl(idle) iken), birisi benim belirttiğim bilgileri bir yerlere yedeklemeliydi. Önce bunun için bir program yazmayı düşündüm. Sonra, Google’da kısa bir aramadan sonra, “IdleBackup” diye bir program buldum. Bu program tam da benim istediklerimi yapıyordu :). Yani bilgisayar atıl durumda beklerken, belirtilen konumdaki dosyaları, yine belirtilen bir başka konuma kopyalıyordu. Üstelik de ücretsizdi( programın PRO versiyonu ücretli, ama, ücretsiz versiyonu ihtiyacımı karşılayabilir nitelikte)…

Sütten ağzı yanıp, yoğurdu üfleyerek yiyen birisi olarak, artık, önemli bilgilerimi, bu programla, hem ağdaki bu tip işlerde kullandığımız, bir başka bilgisayara, hem de yeni aldığım harici bir diske yedekliyorum :).

Program buradan indirilip kurulabilir. Burada ve programın yardım menüsünde program ile ilgili detaylı bilgiler bulunabilir. Ben yine de, programın öne çıkan özelliklerini ve kullanımına ilişkin detayları aşağıda paylaşmak istiyorum:

Program sayesinde;

*Bilgisayar boşta(idle) kaldıktan, ne kadar zaman sonra, yedekleme işleminde başlaması gerektiği ayarlanabiliyor(en sevdiğim özelliği).


*İstendiğinde manual yedekleme de yapılabiliyor.


*Bilgiler bir usb hafızaya, dahili/harici bir sabit diske veya ağdaki bir başka bilgisayara yedeklenebiliyor,

*5 ayrı yedekleme profili oluşturulabiliyor(ben şimdilik 2 tane kullanıyorum) .


*İlk yedeklemeden sonra, sadece değişen dosyalar, kopyalandığından, daha sonraki yedekleme işlemi daha kısa zamanda tamamlanıyor.

*Günlük yedekleme kayıtları(logs) görülebiliyor.
Önemli Not: Eğer varsayılan klasörlere kurulum yaptıysanız, loglar"C:\Program Files\Idlebackup\Log" klasörü altında biriktiriliyor. Belirli zaman aralıklarında bu logları silmezseniz, diskinizde çok fazla yer kaplayabiliyorlar. Sonraki versiyonlarda, bu loglama özelliği ile ilgili daha fazla ayar olabileceğini umuyorum.


Bu programı kullanmanızı, şiddetle, tavsiye ederim…

ali kemal taşçı


29 Ocak 2008 Salı

Eclipse 'de Plugin Ekleme/Çıkarma

1 yorum
Eclipse ,uygulama geliştirme için oldukça kullanışlı bir platform. Tabi bunda, eclipse'e eklenebilen plugin(eklenti)'lerin etkisi çok büyük. Bu pluginler sayesinde, eclipse'in sahip olduğu yetenekleri arttırıp, tek bir platformda birçok işinizi yapabilir hale gelebiliyorsunuz.

Örneğin clearcase plugin’i sayesinde, ayrıca clearcase explorer uygulamasını kullanmadan, eclipse içinden, kodlarınızı versiyonlama sistemine dahil edebilirsiniz. Oracle plugin’i sayesinde eclipse’den veritabanına bağlanıp, birçok işlemi yapabilirsiniz. Weblogic plug-ini ile, server'ı eclipse içinden başlatabilirsiniz.

Bunlar gibi eclipse’de kullanabileceğiniz birçok plugin bulabilirsiniz. Şu anda, http://www.eclipseplugincentral.com sitesinde kayıtlı 1034 adet plugin bulunuyor.



Eclipse'e plugin eklemenin bir çok yöntemi var;

  • Bunlardan en kolayı; plugin içeren .zip dosyasının içeriğini, eclipse’in bulunduğu dizine kopyalamak. Bu yöntemin olumsuz yanı plugin’i kurup, kullanmaktan vazgeçtiğinizde, geri dönüşün zor olması.

  • Bir diğer yöntem ise, eclipse menu’sunden “Help>Software Updates>Find and Install” seçeneğini kullanmak. Bu yöntemle, mevcut pluginlerinizi güncelleyebilir veya, yeni pluginler ekleyebilirsiniz.



Yeni pluginleri bir siteden direkt olarak yükleyebilirsiniz.



Veya, bilgisayarınıza indirdiğiniz plugin’ leri seçerek de yükleme işlemi yapabilirsiniz.



Bu şekilde eklediğiniz, pluginleri eclipse menu’den “Help>Software Updates>Manage Configuration”
seçeneğinden kaldırabilirsiniz. Fakat, bazen bu yöntemle pluginleri kaldırırken sıkıntılar yaşanabiliyor



  • Ben daha çok, şimdi bahsedeceğim ve daha etkili bulduğum, bu yöntemi kullanıyorum;

    Eclipse’e eklemek istediğiniz pluginlerinizi bir klasör altında biriktiriyorsunuz.


Burada “features” ve “plugins” klasörlerinin “eclipse” isimli klasör altında bulunması gerekiyor.

Daha sonra, eclipse’in çalıştığı klasör içinde “Links” adında bir klasör oluşturuyorsunuz.


Bu “Links” adındaki klasörün içine de, eclipse’in başlarken kullanmasını istediğiniz pluginlerin path’lerini aşağıdaki gibi .link uzantılı dosyalara yazarak ekliyorsunuz. Tüm plugin path’lerini tek bir .link dosyasına da yazabilirsiniz.



Örneğin yukarıdaki “rational_clearcase.link “ dosyasında tek satırlık, aşağıdaki ifade yazılı.

path=D:/eclipse-plugins/rational_clearcase

Bu yöntem sayesinde, .link uzantılı tanım dosyasını “Links” klasörüne ekleyerek veya klasörden kaldırarak, plugin ekleme/çıkarma işlemini daha kolay ve temiz bir şekilde yapabilirsiniz.

Not: Değişikliklerin etkili olması için eclipse’i yeniden başlatmayı unutmayın...

ali kemal taşçı



26 Ocak 2008 Cumartesi

Eclipse'de Kullanılan Heap Memory Miktarı

0 yorum
Eclipse ile çalışırken, uygun memory ayarı yapmamışsanız, eclipse'in bir süre sonra yavaşladığını farketmişsinizdir. Bir de ağ bağlantısı yapan plug-inler(clearcase, oracle, mylyn vs.) kullanıyorsanız, bu yavaşlığı daha çabuk algılarsınız. Bu sorunu yaşamamak için, eclipse'i başlatırken uygun memory parametrelerini belirlemek gerekiyor. Bu parametreler, "..eclipse" dizinindeki "eclipse.ini" dosyasında, aşağıdaki gibi set edilebilir.

-vmargs
-Xms512M
-Xmx1024M
Peki bu değerleri nasıl belirlemeliyiz? Tabi ki eclipse'in ne kadar memory kullandığını görerek.
Bunun için eclipse'de, menuden "Window>Preferences" ile açılan pencerede "General" sekmesinde "Show heap status" kutucuğunu seçip, "OK" butonuna bastıktan sonra, eclipse'in sağ alt köşesinde, kullanılan memory miktarını gösteren bir alan görülecektir.

Bu alandaki çöp kutusu simgesine tıklayarak, elle "grabage collector" 'ü bile çalıştırabilirsiniz.






ali kemal taşçı

4 Aralık 2007 Salı

Eclipse Europa ve "java.lang.OutOfMemoryError: PermGen space" hatası

0 yorum
Uzun zamandır, Eclipse 3.1 versiyonunu kullanarak geliştirme yaparken, yeni gelişmelerden faydalanabilmek için, Eclipse Europa (Eclipse 3.3) yı kurmaya karar verdim. Eclipse 3.3 'ün ilginç ve yararlı birçok özelliğini görüp, memnun kaldıktan sonra, geliştirmelerime, artık bu versiyonda devam etmeye karar verdim. Bunun üzerine eski eclipse'deki tüm tanımlarımı(claspath variables, ant builds vs.) yeni eclipse'e taşıyıp, geliştirmeme devam ettim. Fakat, bir süre çalıştıktan sonra, eclipse'in aniden(workspace'i kaydetmeden) kapanması ve yeniden açtığımda, yaptığım tüm tanım ve ayarlamaların kaybolması beni çileden çıkardı. Tam aldığım karardan pişman olup, eski eclipse'e dönecektim ki, eclipse'in, "..eclipse\workspace\.metadata\" dizinindeki ".log" dosyasına, aşağıdaki hatayı atarak kapandığını farkettim.

java.lang.OutOfMemoryError: PermGen space


Daha önceden, eclipse'i "..eclipse" dizinindeki "eclipse.ini" dosyasına aşağıdaki parametreleri de ekleyerek başlatıyordum.

-vmargs
-Xms512M
-Xmx1024M


Buradaki -Xmx değerini arttırmama rağmen sorun düzelmeyince, Internette bu hatayı kısa bir süre araştırdıktan sonra, sorunu yaşayan tek kişinin ben olmadığımı farkettim. Sorunun nedeni JVM'in data structure ve class tanımlarını sakladığı "permanentSpace" alanının dolmasıydı.

Sorunun çözümünde ise yukarıdaki parametrelere şunları da eklemem gerektiğini öğrendim.

-XX:PermSize=128M
-XX:MaxPermSize=128M


Buradaki parametreler için uygun bir değer belirledikten sonra, artık bu sorunu yaşamıyorum...


Yararlandığım Kaynaklar:


ali kemal taşçı


25 Ağustos 2007 Cumartesi

Bilgisayarda Saklanabilen Post-it Notlar(Stickies)

1 yorum
Yapmanız gereken işleri veya günlük koşuşturmaca da aklınıza gelen şeyleri unutmamak için, istediğiniz yere(genelde monitöre) yapışabilen post-it notları(hatırlatmaç :)) muhtemelen kullanmışsınızdır. Bu az yapışan kağıtlar sayesinde, not aldığınız şeylerin, zihninizde gereksiz yer işgal etmesini engellediğiniz gibi, unutulma riskini de azaltırsınız.
Yapıştırılan bu kağıtların miktarının artmasıyla oluşan kağıt kalabalığının, pek hoş bir görüntü arzetmediği rahatlıkla söylenebilir. Ayrıca uzun zaman yapışık kalan kağıtların da yapışkan özelliklerini kaybetmeleriyle birlikte düşüp kaybolması, sinir bozucu bile olabilir. Bu kağıtlara ödediğiniz paralar da cabası...
Bu olumsuzlukları yaşamamak için, post-it'in tüm özelliklerini taşıyan bilgisayar programlarını kullanabilirsiniz. Örneğin; Stickies , Post-it Software Notes Lite ,Post-it Digital Notes ...
Burada kullanmakta olduğum ve oldukça memnun kaldığım bir programdan, Stickies'den bahsetmek istiyorum. Stickies, post-it notlar gibi not alabildiğimiz, ve birçok faydalı özelliği üzerinde barındıran bir bilgisayar programıdır.
Programın tüm özellikleri ilgili bilgiler sitesinde ve yanında gelen dökümanında bulunmasına rağmen, en dikkatimi çeken ve hoşuma giden özelliklerini aşağıdaki gibi sıralayabilirim:
  • Stickies'e yazdığınız notları kaydetmek için bir şey yapmanıza gerek yoktur, otomatik kaydedilir,
  • Not alırken yaptığınız yanlışlıkları, word programında olduğu gibi, geri alabilirsiniz,
  • Notlara başlıklar yazabilir, bu başlıklara tıklayınca, ekranda daha az yer kaplamalarını sağlayabilirsiniz,
  • Notlar için, alarm kurup, istediğiniz gün, saat ve dakikada, ekranda titreyerek ve/veya ses çıkararak sizi uyarmalarını sağlayabilirsiniz,
  • Notlara devam eden alarmlar kurabilirsiniz. Örneğin, yazdığınız bir notun, her Cuma günü saat 16:45'te ekranda titreyerek ve/veya ses çıkararak sizi uyarmasını sağlayabilirsiniz,
  • Yazdığınız notları farklı bilgisayarlara herhangibir yolla(kopyalayarak, e-mail ile...) gönderebilir, farklı bilgisayarlardan bu şekilde notlar alabilirsiniz,
  • Notların renklerini ve yazı tiplerini değiştirebilirsiniz,
ali kemal taşçı

Eclipse'te Bookmark View Kullanımı

0 yorum
Geliştirdiğimiz uygulamalara(applications) yeni modül eklemeyi, varolan modülde değişiklik yapmayı(iyileştirme) veya hataların düzeltilmesini(bugfix) gerektiren projelerde görev aldığımızda, uygulamaya yeni dosyalar(.java, .jsp, .xml...) ekleriz veya varolan dosyalarda değişiklik yaparız. Daha sonra eklediğimiz veya değiştirdiğimiz dosyaların, uygulamanın bir sonraki sürümüyle birlikte uygulamaya katılmasını sağlarız. Bu gibi projelerde uygulamadaki birçok dosya ile çalıştığımız için, genellikle bir yerlere hangi proje için hangi dosyaları değiştirdiğimizi not ederiz. Böylelikle bir sonraki sürüm çıkışında veya ilgili projeye ait hataların düzeltilmesinde hangi dosyaları değiştirdiğimizi bulabiliriz.
Eğer Eclipse ile yazılım geliştiriyorsak, üzerinde değişiklik yaptığımız dosyaları bulmak çok daha kolay ve hızlı olabilir. Bunun için yapmamız gereken şey dosyalara işaret(bookmark) koymak olacaktır.
Örneğin; ABC adında bir uygulamamız olduğunu düşünelim. Bu uygulamada üzerinde Proje1 ve Proje2 adında iki çalışma yapılmış olsun. Proje1 çalışması sırasında uygulamadaki abc1.java, abc1.jsp ve web.xml dosyalarında, Proje2 çalışması sırasında ise uygulamadaki abc2.java, abc2.jsp ve yine web.xml dosyalarında değişiklik yapıldığını varsayalım.

Değiştirdiğimiz dosyaları kolayca bulabilmek için bu dosyalara işaret(bookmark) koyalım. Bunun için değiştirmek istediğimiz dosyayı açıp, menuden Edit> Add Bookmark' a tıklayalım.
Dosyaların sol taraflarındaki gri alana sağ tıkladığımızda da Add Bookmark menusu çıkacaktır. Bu durumda bookmark'ı istediğimiz satıra koyabiliriz.

Açılan kutucukta, bookmark ismi olarak üzerinde çalışma yapılan proje isimlerini yazalım.

Artık işaret konulmuş dosyaların sol tarafında kitap ayracı sembolü gözükecek ve bu sembolün üzerine gelince de işaretin ismi gözükecek.

Bu şekilde diğer dosyalara da işaret koyduktan sonra, sıra esas işi yapan bookmark view'ı görünür hale getirmeye geldi. Bunun için menüden Window>Show View> Other'a tıklayıp, açılan kutucukta Bookmarks'ı seçelim.

Açılan Bookmark View'da işaret koyduğumuz dosyaları görebiliriz.

Bookmark View'a ait filtrede Where description contains alanına istediğimiz proje ismini yazarsak sadece istediğimiz projeye ait değiştirilen dosyaları listeleyebiliriz.
Değiştirdiğimiz dosya sayısının ve projelerin çok fazla olduğu durumlarda bu yöntemin işimizi fazlasıyla kolaylaştıracağını söyleyebilirim.

.class dosyası hangi jar içindedir acaba?

1 yorum
Yeni bir java projesinde çalışmaya başladığımızda, projeyi kendi çalışma ortamımızda çalıştırırken, eğer classpath ayarlarını doğru yapmamışsak aşağıdakine benzer bir hata almamız muhtemeldir.

java.lang.NoClassDefFoundError: org/apache/struts/action/ActionForm

Genellikle bulunamayan bu .class dosyası bir jar dosyası içindedir ve bu jar dosyasının classpath'e eklenmesi ile sorun çözülür. Burada esas mesele bu .class dosyasının hangi jar içinde olabileceğini bulmaktır.

Böyle bir durumda, http://javacio.us/ 'un sunduğu ücretsiz servis işimize yarayabilir.

Bunun için yapmamız gereken adımları aşağıdaki gibi sıralayabiliriz.

1- http://javacio.us/ sayfasına girerek servise abone olmalıyız.




2- Bu servise Google hesabımızı kullanarak abone olabiliriz. Eğer yoksa Google'da yeni bir hesap oluşturmak gerekecektir.




3-Google hesabımıza girdikten sonra servise abone oluruz.




Bundan sonra istediğimiz zaman, Google'da, hataya neden olan .class dosyasını paket adı(örn. org.apache.struts.action.ActionForm) ile birlikte yazarak hangi jar dosyasında olabileceğini bulabiliriz. Bu arada bu servisten yararlanabilmek için Google hesabımıza giriş yapmayı(Sign-in) unutmamak gerekir.






ali kemal taşçı