İki aydır yazamamışız neden birincisi 6 hafta staj yaptık iş hayatının zorluğunu öğrendik insanın kendine vakit ayıramamasının ne demek olduğunu yorgun gelip canının hiç birşey yapmak istemeyişini anladık.Sonra da kayseriye gittim teknolojik araçlar açısınından tam bir felaketti internet yok olan yerlerde ise internet hızı çok düşüktü.1 ayın sonunda izmire geri döndüm bayrama bir hafta vardı geri gitmek ise zoruma gitti.Canım 15 saat yolculuğu çekmek istemedi bayramın ilk günü izmirdeydim ikinci günü denizliye gittim bayramın geri kalanı gayet güzel geçti arkadaşlar sağolsunlar misafirlerini iyi ağırladılar :)))
bayram bitti pazartesi okula başlıyoruz mezun olanlara sorduk bizim düşüncemiz bu senenin geçen seneye göre daha rahat olacağıydı ama bu sene daha zor olacakmış :))
neyse okul başlasın teknoloji yazılarımıza geri döneriz....
4 Eki 2008
1 Ağu 2008
JUnit Denemeleri (devam-2)
Test yazmanız debug işinizi hafifletiyor.Ama programda asıl işi yapacağınız testleri yazmanıza yardımı olmuyor.Çünkü onların içini doldurmak size kalıyor burada da işin içine algortima bilgisi giriyor.Program yazmanın en can alıcı noktalasıdır Algoritma oluşturmak.
Şimdi asıl işin yapıldığı yere gelecek olursak
-----sınıf başlangıcı-----
package org.calculator.models;
import java.util.StringTokenizer;
import java.util.Vector;
public class HesapMakinesi {
private int sayi = 0;
public void topla(int eklenen) {
sayi = sayi + (eklenen);
}
public void cikar(int cikarilan) {
sayi = sayi - (cikarilan);
}
public int getHafiza() {
return sayi;
}
public void stringToSonuc(String gelen) {
String islenen = gelen;
String aramaKarakteri = "+-";
Vector sayilar = new Vector();//sayilar parçalanmış halde stringler halinde verktörde tutluyor
StringTokenizer tokenizer = new StringTokenizer(islenen, aramaKarakteri);
while (tokenizer.hasMoreTokens()) {
String token = tokenizer.nextToken();
sayilar.add(token);
}
char isaret = ' ';//isaretine göre işlem yapıyor +(topla) veya -(cikar)
int degisken = 0;//hangi siradaki sayının işlem göreceğini belirtiyor
sayi = Integer.valueOf(sayilar.get(0));//ilk sayının ataması yapılıyor
for (int i = 0; i < islenen.length(); ++i) {
isaret = islenen.substring(i, i + 1).charAt(0);//işaretler char olarak değiştiriliyor.
if (isaret == '+') {
degisken++;
topla(Integer.valueOf(sayilar.get(degisken)));
}
if (isaret == '-') {
degisken++;
cikar(Integer.valueOf(sayilar.get(degisken)));
}
}
}
}
----sınıf bitişi----------
topla() metodu verilen sayıyı sayi değişkenine eklemize yarıyor.
cikar() metodu verilen sayıyı sayi değişkeninden çıkarmamıza yarıyor.
ama bunlar için algoritma yazmamıza bile gerek yok sayıyı değişene sadece sayıyı ekliyor ya da çıkarıyor.İşin zor tarafı bu kadar kolay halledilemeyecek ve sizin yazacağınız metodlar.
stringToSonuc(String gelen) metodu gelen string i StringTokenizer ile parçalar ayırıyor ve
elimizdeki sayıları bir vektöre atmamızı sağlıyor.
sonra for döngüsü ile her bir karakter kontrol edilerek işaretine göre topla() ya da cikar() metotlarına değişken gönderiliyor.işaret lerin char a çevrilmesi sadece if() in içinde Stringleri karşılaştırmamış olmam.Belki bir yol vardır ama string olarak gönderdiğim değişkenlerde hatalar ortaya çıktı if() blogunun içine girmedi o yüzden char a çevirip kontrol ettim.
Bir kaç söz daha ekleyecek olursam.
Algoritma yazmadan önce o işi yapabilecek bir yol mevcut olabilir bu da işiniz kolaylaştırır.
StringTokenizer işimi bayağı kolaylaştırdı.
Şimdi asıl işin yapıldığı yere gelecek olursak
-----sınıf başlangıcı-----
package org.calculator.models;
import java.util.StringTokenizer;
import java.util.Vector;
public class HesapMakinesi {
private int sayi = 0;
public void topla(int eklenen) {
sayi = sayi + (eklenen);
}
public void cikar(int cikarilan) {
sayi = sayi - (cikarilan);
}
public int getHafiza() {
return sayi;
}
public void stringToSonuc(String gelen) {
String islenen = gelen;
String aramaKarakteri = "+-";
Vector
StringTokenizer tokenizer = new StringTokenizer(islenen, aramaKarakteri);
while (tokenizer.hasMoreTokens()) {
String token = tokenizer.nextToken();
sayilar.add(token);
}
char isaret = ' ';//isaretine göre işlem yapıyor +(topla) veya -(cikar)
int degisken = 0;//hangi siradaki sayının işlem göreceğini belirtiyor
sayi = Integer.valueOf(sayilar.get(0));//ilk sayının ataması yapılıyor
for (int i = 0; i < islenen.length(); ++i) {
isaret = islenen.substring(i, i + 1).charAt(0);//işaretler char olarak değiştiriliyor.
if (isaret == '+') {
degisken++;
topla(Integer.valueOf(sayilar.get(degisken)));
}
if (isaret == '-') {
degisken++;
cikar(Integer.valueOf(sayilar.get(degisken)));
}
}
}
}
----sınıf bitişi----------
topla() metodu verilen sayıyı sayi değişkenine eklemize yarıyor.
cikar() metodu verilen sayıyı sayi değişkeninden çıkarmamıza yarıyor.
ama bunlar için algoritma yazmamıza bile gerek yok sayıyı değişene sadece sayıyı ekliyor ya da çıkarıyor.İşin zor tarafı bu kadar kolay halledilemeyecek ve sizin yazacağınız metodlar.
stringToSonuc(String gelen) metodu gelen string i StringTokenizer ile parçalar ayırıyor ve
elimizdeki sayıları bir vektöre atmamızı sağlıyor.
sonra for döngüsü ile her bir karakter kontrol edilerek işaretine göre topla() ya da cikar() metotlarına değişken gönderiliyor.işaret lerin char a çevrilmesi sadece if() in içinde Stringleri karşılaştırmamış olmam.Belki bir yol vardır ama string olarak gönderdiğim değişkenlerde hatalar ortaya çıktı if() blogunun içine girmedi o yüzden char a çevirip kontrol ettim.
Bir kaç söz daha ekleyecek olursam.
Algoritma yazmadan önce o işi yapabilecek bir yol mevcut olabilir bu da işiniz kolaylaştırır.
StringTokenizer işimi bayağı kolaylaştırdı.
Etiketler:
JUnit
JUnit Denemeleri (devam)
Örneğe geçmeden önce bir adres verelim.Eclipse ortamına JUnit kütüphanesi eklenmesini bir örnek üzerinde açıklamış.
http://open.ncsu.edu/se/tutorials/junit/
Şimdi benim yaptığım örneğe gelecek olursak.
JUnit Test mantığını kullanarak programda gerekli olacak metotların yazımı işlemi.
Unit testin mantığı basit ve işlevsel program parçaları geliştirmektir.
Örnekte verilecek bir string parçalanarak işaretten sonraki sayının toplanması yada çıkarılması işlemini yapmaktadır.(Basit hesapmakinesi çok çok basit oldu.)
Sadece toplama ve çıkarma yapıyor hata kontrolü bile yapmıyor.
Önce Test Sınıfımız:CalculatorTests.java
------sınıf başlangıcı---------
package org.calculator.tests;
import org.calculator.models.HesapMakinesi;
import junit.framework.TestCase;
public class CalculatorTests extends TestCase {
private HesapMakinesi hmak;
protected void setUp() {
hmak = new HesapMakinesi();
}
public void testTopla() throws Exception {
hmak.topla(new Integer(10));
hmak.topla(new Integer(5));
assertEquals(15, hmak.getHafiza());
}
public void testCikar() throws Exception {
hmak.topla(new Integer(10));
hmak.cikar(new Integer(3));
assertEquals(7, hmak.getHafiza());
}
public void testHesapYap() throws Exception {
hmak.stringToSonuc("3+5-7");
assertEquals(1, hmak.getHafiza());
}
}
-------sınıf bitişi-------
setUp() metodunda programda gerekecek ORTAK nesneler ve değişkenler yaratılıyor.
yazılan testlerin hepsinde kullanan kod parçacıkları varsa refactoring yapılarak setUp() metodunu içine yazılır.
testTopla() verilen sayıların toplanılıp sonuncunu doğru olup olmadığını kontrol ediyor.Doğru ise test başarıyla geçiyor.
testCikar() verilen iki sayılardan birinciden ikincinin çıkarılmasının doğru yapılıp yapılmadığını kontrol ediyor.Sonuç beklenen ile aynı çıktı ise test başarıyla tamamlanıyor.
testHesapYap() girilen string in parçalandığı zaman işaretlerine göre toplanması ve çıkarılması işlemine tabi tutulan değişkenlerin sonucunun doğru olup olmadığını kontrol ediyor.
Bu kodlara bakıp test yazmanın kolay olduğunu düşünebilirsiniz fakat işler ayrıntıda gizli.
Test yazarken assertEquals() metodunun değişkenlerine özenle dikkat etmelisiniz çünkü yazdığınız değişkenlerin hepsini kabul etmiyor aynı zamanda editor sıralamasına göre işlem yapılar http://open.ncsu.edu/se/tutorials/junit/
Şimdi benim yaptığım örneğe gelecek olursak.
JUnit Test mantığını kullanarak programda gerekli olacak metotların yazımı işlemi.
Unit testin mantığı basit ve işlevsel program parçaları geliştirmektir.
Örnekte verilecek bir string parçalanarak işaretten sonraki sayının toplanması yada çıkarılması işlemini yapmaktadır.(Basit hesapmakinesi çok çok basit oldu.)
Sadece toplama ve çıkarma yapıyor hata kontrolü bile yapmıyor.
Önce Test Sınıfımız:CalculatorTests.java
------sınıf başlangıcı---------
package org.calculator.tests;
import org.calculator.models.HesapMakinesi;
import junit.framework.TestCase;
public class CalculatorTests extends TestCase {
private HesapMakinesi hmak;
protected void setUp() {
hmak = new HesapMakinesi();
}
public void testTopla() throws Exception {
hmak.topla(new Integer(10));
hmak.topla(new Integer(5));
assertEquals(15, hmak.getHafiza());
}
public void testCikar() throws Exception {
hmak.topla(new Integer(10));
hmak.cikar(new Integer(3));
assertEquals(7, hmak.getHafiza());
}
public void testHesapYap() throws Exception {
hmak.stringToSonuc("3+5-7");
assertEquals(1, hmak.getHafiza());
}
}
-------sınıf bitişi-------
setUp() metodunda programda gerekecek ORTAK nesneler ve değişkenler yaratılıyor.
yazılan testlerin hepsinde kullanan kod parçacıkları varsa refactoring yapılarak setUp() metodunu içine yazılır.
testTopla() verilen sayıların toplanılıp sonuncunu doğru olup olmadığını kontrol ediyor.Doğru ise test başarıyla geçiyor.
testCikar() verilen iki sayılardan birinciden ikincinin çıkarılmasının doğru yapılıp yapılmadığını kontrol ediyor.Sonuç beklenen ile aynı çıktı ise test başarıyla tamamlanıyor.
testHesapYap() girilen string in parçalandığı zaman işaretlerine göre toplanması ve çıkarılması işlemine tabi tutulan değişkenlerin sonucunun doğru olup olmadığını kontrol ediyor.
Bu kodlara bakıp test yazmanın kolay olduğunu düşünebilirsiniz fakat işler ayrıntıda gizli.
assertEquals(boolean expected, boolean actual)şeklindekini seçip assertEquals(byte expected, byte actual) şekline döndüğünüz zaman assertEquals()'i yeniden yazmanız gerekecek cünkü editör değişiklikleri kabul etmiyor.
http://repository.ops4j.org/classic/junit/junit/3.8.1/api/junit/framework/Assert.htmlsizinde göreceğiniz gibi 21 adet assertEquals metodu mevcut ve birbirinin yerine kullanılamıyor.
blogspotun bize verdiği yer yetmedi ikinci yazıda devam edeceğim.
Etiketler:
JUnit
28 Tem 2008
ISTANBUL
Gelelim şimdi çalışma hayatına en son tatil demiştik üzerinden 40 gün geçmiş bu 40 günde
Izmir-Didim-Izmir-Kayseri-Istanbul yaptım.Şuan halkbankasında teknolojik mimari bölümünde staj yapmaktayım gayet yararlı bir staj olduğu kanısındayım.Open Source Teknolojiler ve Open Source for Mobile adlı iki tane araştırma raporu hazırladım.Daha 5 haftalık staj sürem var (toplamda 9 hafta olacak) geri kalan 5 haftada tmydb adlı intranette çalışan sitenin eksik olan yerlerini tamamlayacağım (.net 2.0 ile yazılmış)
Ayrıca şu sıralar Eclipse üzerinde Java geliştirmeleri yapmaktayım.
Birim testler (JUnit) ve Java'nın web tarafı ile ilgileniyorum.Ufak tefek bir kaç uygulama geliştirdim fakat çalışmaları derlemek için zamanım olmadı.
Istanbula staj yapmaya geldik diyede hep çalışacak değiliz ya :D:D
haftasonlarında da istanbulun güzelliklerini görüyoruz tarihi geziler yapıyoruz.
Çektiğim fotograflar aşağıdaki linklerde mevcut
link1
link2
Izmir-Didim-Izmir-Kayseri-Istanbul yaptım.Şuan halkbankasında teknolojik mimari bölümünde staj yapmaktayım gayet yararlı bir staj olduğu kanısındayım.Open Source Teknolojiler ve Open Source for Mobile adlı iki tane araştırma raporu hazırladım.Daha 5 haftalık staj sürem var (toplamda 9 hafta olacak) geri kalan 5 haftada tmydb adlı intranette çalışan sitenin eksik olan yerlerini tamamlayacağım (.net 2.0 ile yazılmış)
Ayrıca şu sıralar Eclipse üzerinde Java geliştirmeleri yapmaktayım.
Birim testler (JUnit) ve Java'nın web tarafı ile ilgileniyorum.Ufak tefek bir kaç uygulama geliştirdim fakat çalışmaları derlemek için zamanım olmadı.
Istanbula staj yapmaya geldik diyede hep çalışacak değiliz ya :D:D
haftasonlarında da istanbulun güzelliklerini görüyoruz tarihi geziler yapıyoruz.
Çektiğim fotograflar aşağıdaki linklerde mevcut
link1
link2
Etiketler:
haykırışlar
INETA SUMMER HIT
2 Ağustos 3 Ağustos | Konuşmacılar: Ali Rıza Babaoğlan Ali Servet Eyüpoğlu Coşkun Sunalı Daron Yöndem Eralp Erat Kadir Çamoğlu Uğur Umutluoğlu |
Yer:Yıldız Teknik Üniversitesi, Auditorium
kayıt için tıklayınız
INETA'nın yaz seminerleri ve yeniliklerin tanıtımı.
18 Haz 2008
Tatiiilllll
Sonunda bitti.. bir yılı daha bitirdik..yaşasın son sınıf olduk :)))
izmire geldiğim günü dün gibi hatırlıyorum elimde 3 tane valizle üniversitenin kapısından yurda kadar sürüne sürüne gitmiştim bu yetmezmiş gibi pazar günü geldiğim için yurtta görevli yoktu o sebeple yatak yok yorgan yok.bu sürünmeye başlayacağımızın ilk izlenimleriymiş.daha önceden düzenli bir hayatım vardı sabah erken kalkar gece erken yatardım ama hayat bu, birde bilgisayar mühendisliği öğrencisiyseniz ve uykuyu seviyorsanız geri kalan hayat sizin için pek hoş geçmeyebilir ilk zamanlar uyku daha ağır basıyordu ne olursa olsun 12 de yatıyordum ama kader ağlarını örmüş bir kere illaki sende bilmuh hayatına alışacak geceleri değil gündüzleri bir kaç saatle yetinmeye çalışacaksın diye.bu yazıyı bile yazdığım saati göz önüne alırsak şu an itibari ile alıştığımı söyleyebilirim.ama bugün için işin güzel tarafı yarın öğleden sonra denize girebileceğim.insanın yıllar boyunca her sene tatile gitmesi alışkan yapıyor hayat standartını yükseltiyor ve şimdi bunun acısını çekiyorum bundan 5 sene önce tatile gidiyoruz dediklerinde amaaan her sene gidiyoruz bu senede gitmeyelim derdim ama son 3 yıl iliğimi kemiğimi kuruttu.yaz okulları ( 2 sene boyunca) ve çalışma hayatına yaptığım giriş (2 yıl kadar) tatil tatil diye artık yalvarmaya başladım 3 gün 5 gün bile tatil yapmayı istiyor insan.Bundan sonraki senelerde nasıl olacak bilemiyorum.çalışma hayatına başlamamıza 1 yıl kaldığı düşünülürse ve yıllık izin durumları göz önünde bulundurulacak olursa artık haftasonu bile bi yerlere gitmeyi tatil sayabileceğimiz anlamına geliyor.sanırım bu yaz sondan bir önceki adam akıllı tatil olacak.
8 saatten daha az bir zaman kalmış bekle bizi didim geliyoruuuzzz.(amacımız marmaristi ama bize keleş yaptı yer kalmamış.insan kendi memleketinin istediği yerinde de tatil yapamaz oldu artık.)
izmire geldiğim günü dün gibi hatırlıyorum elimde 3 tane valizle üniversitenin kapısından yurda kadar sürüne sürüne gitmiştim bu yetmezmiş gibi pazar günü geldiğim için yurtta görevli yoktu o sebeple yatak yok yorgan yok.bu sürünmeye başlayacağımızın ilk izlenimleriymiş.daha önceden düzenli bir hayatım vardı sabah erken kalkar gece erken yatardım ama hayat bu, birde bilgisayar mühendisliği öğrencisiyseniz ve uykuyu seviyorsanız geri kalan hayat sizin için pek hoş geçmeyebilir ilk zamanlar uyku daha ağır basıyordu ne olursa olsun 12 de yatıyordum ama kader ağlarını örmüş bir kere illaki sende bilmuh hayatına alışacak geceleri değil gündüzleri bir kaç saatle yetinmeye çalışacaksın diye.bu yazıyı bile yazdığım saati göz önüne alırsak şu an itibari ile alıştığımı söyleyebilirim.ama bugün için işin güzel tarafı yarın öğleden sonra denize girebileceğim.insanın yıllar boyunca her sene tatile gitmesi alışkan yapıyor hayat standartını yükseltiyor ve şimdi bunun acısını çekiyorum bundan 5 sene önce tatile gidiyoruz dediklerinde amaaan her sene gidiyoruz bu senede gitmeyelim derdim ama son 3 yıl iliğimi kemiğimi kuruttu.yaz okulları ( 2 sene boyunca) ve çalışma hayatına yaptığım giriş (2 yıl kadar) tatil tatil diye artık yalvarmaya başladım 3 gün 5 gün bile tatil yapmayı istiyor insan.Bundan sonraki senelerde nasıl olacak bilemiyorum.çalışma hayatına başlamamıza 1 yıl kaldığı düşünülürse ve yıllık izin durumları göz önünde bulundurulacak olursa artık haftasonu bile bi yerlere gitmeyi tatil sayabileceğimiz anlamına geliyor.sanırım bu yaz sondan bir önceki adam akıllı tatil olacak.
8 saatten daha az bir zaman kalmış bekle bizi didim geliyoruuuzzz.(amacımız marmaristi ama bize keleş yaptı yer kalmamış.insan kendi memleketinin istediği yerinde de tatil yapamaz oldu artık.)
Etiketler:
haykırışlar
13 Haz 2008
Eclipse Ortamında JUnit Testing
Uzun süredir bloga yazamıyordum.Pek yoğun olmasada yorucu bir final dönemi daha bitti.
Artık mstyldrm.tatil.com.tr diyerek tatile girdiğime kendimide inandırmaya çalışıyorum.
Son iki yıl gayet yorucu oldu,iki yazokulu sıkıntısı ve yıl içinde çalışma hayatı bedeni yıpratmış.Bu yeni yeni ortaya çıkıyor.
15 günlük bir tatilim var ardından tekrar çalışma hayatına dönüyorum.Halkbankasında 1 temmuzdan itibaren 3 ay stajer olarak çalışacağım.Hazır tatildeyken uğraşmadığım kafama takılan şeyleri yapmaya başladım.
Hala kafamda Java,C# arasında gidip gelmeler var.Hangisi üzerinde yoğuşacağıma karar veremedim bu yüzden iki tarafıda incelemeye devam ediyorum.Bugün Javada JUnit testing hakkında araştırmalar yaptım ve videolar izledim.Eğer ki sizde JUnit le ilgileyorsanız buradaki linkte güzel bir video hazırlamışlar.Benim ilgimi çekti umarım sizinde ilginizi çeker.
Artık mstyldrm.tatil.com.tr diyerek tatile girdiğime kendimide inandırmaya çalışıyorum.
Son iki yıl gayet yorucu oldu,iki yazokulu sıkıntısı ve yıl içinde çalışma hayatı bedeni yıpratmış.Bu yeni yeni ortaya çıkıyor.
15 günlük bir tatilim var ardından tekrar çalışma hayatına dönüyorum.Halkbankasında 1 temmuzdan itibaren 3 ay stajer olarak çalışacağım.Hazır tatildeyken uğraşmadığım kafama takılan şeyleri yapmaya başladım.
Hala kafamda Java,C# arasında gidip gelmeler var.Hangisi üzerinde yoğuşacağıma karar veremedim bu yüzden iki tarafıda incelemeye devam ediyorum.Bugün Javada JUnit testing hakkında araştırmalar yaptım ve videolar izledim.Eğer ki sizde JUnit le ilgileyorsanız buradaki linkte güzel bir video hazırlamışlar.Benim ilgimi çekti umarım sizinde ilginizi çeker.
Etiketler:
JUnit
Kaydol:
Kayıtlar (Atom)