Author Archive

Jersey maven repository

Wednesday, June 29th, 2011
Uzun zamandır Jersey projesinin hangi maven reposunda olduğunu arar dururdum. Nihayet allahın belası repoyu buldum:
<repository>
<id>sonatype</id>
<url>http://repository.sonatype.org/content/groups/public</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
Ek: Allahın belası Jersey’in spring entegrasyonunun paket ismi de değişip com.sun.jersey.contribs olmuş. Vay arkadaş sürekli değiştirip durmayın şunu ya!

Kendi kendine, Git!

Tuesday, May 24th, 2011

Bilahare oturup bir Git reposu kuracağım, şuna bakmakta fayda var:

http://alexsotob.blogspot.com/2011/05/this-is-flash-of-pure-inspiration-mes-i.html

Beginning to hate iphone development

Tuesday, April 26th, 2011

“Beginning to hate iphone development” isimli kitabım yakında raflarda olacak. İşte size bir kısmı:

İki düğme koyup bunlara tıklandığında bir label’ın text’ini değiştirmek için şunları yapmanız gerekiyor:

1) Interface builder’dan düğmeyi view’a yerleştiriyoruz. Hehe bu kolay olan kısmıydı. Sanıyosunuz ki Xcode kullanmak matah bişey, butonu view’a yerleştirince gerekli tanımları sizin için yapar sanıyosunuz, yanılıyosunuz!

2) View’ın .h dosyasına aşağıdaki satırları ekliyoruz:

UILabel *statusText;
@property (nonatomic, retain) IBOutlet UILabel *statusText;
- (IBAction)buttonPressed:(id)sender;

3) View’ın .m dosyasına action metodunu yazıyoruz:

@synthesize statusText;

- (IBAction)buttonPressed:(id)sender {
NSString *title = [sender titleForState:UIControlStateNormal];
NSString *newText = [[NSString alloc] initWithFormat:@"%@ button pressed.", title];
statusText.text = newText;
[newText release];
}

4) viewDidUnload metodunun içine aşağıdaki satırı ekliyoruz:

self.statusText = nil;

5) dealloc metodunun içine aşağıdakini koyuyoruz: (garbage collection falan hak getire, utanmasalar far malloc yaptırcaklar…)

[statusText release];

Bu kadar sanıyosunuz di mi? Şimdi bomba kısım geliyor…

6) InterfaceBuilder’a geri dönüyorsunuz, Ctrl tuşuna basılı tutarken File’s Owner ikonunun üzerinden basılı tutarak bunu label’ın üzerine getirip bırakıyorsunuz, bu sırada ufak bir menü çıkıyor, burada daha önceden tanımladığımız statusText çıkıyor, onu seçiyoruz. Böylece kod tarafında tanımladığımız statusText nahanda bu statusText demiş oluyoruz.

Yuh.

Daha kötü nasıl olabilirdi, açıkçası aklıma gelmiyor. Bir de bunun kitabını yazan dangalaklar “bakında nasıl büyü işliyor, mavi mavi parıldıyor şahane di mi eki eki” edasını takınmışlar. Kitabın içinde sürekli notlar var “ya aslında bunu anlasınız da olur, bunu şimdi anlamanıza gerek yok” tadında, çünkü kendileri de anlamamışlardır! Bu kadar salak bir environment gerçekten görmedim. Cobol ile yazsaydık sanırım daha anlamlı falan olurdu.

Bu arada Objective C de hayatımda gördüğüm en Ckindirik syntax’a sahip dil. Metodun öncesine – koymalar, . yerine [] ile çağırmalar falan kabus gibi.

Bitti sandınız di mi? Yook bitmedi, çünkü daha ortada bir action var onu da bi yere bağlamak gerekiyor. Düğüm atmak falan gerekmiyor allahtan…

7) Bunu bulana kadar 15 dk harcadım. Butonun üzerinde sağ tuşla basınca bir popup menü daha çıkıyor, bu sefer bu menüden Tuch Up Inside eventının (event isimleri de bi enteresan) yanındaki + işaretinden sürükleyip (ctrl ye basmıyoz bu kez, daha önce neden basıyoduk ki zaten???) File Owner’s ‘a tutturuyoruz. (Bravo). O zaman gene bi menü çıkıyor ordan buttonClicked (touch up eventına button click metodu da ne güzel oldu) metodunu seçiyoruz.

8 ) Aynı şekilde ikinci düğmenin eventını da aynı şekilde yapmaya çalıştığım halde hiçbişey olmuyor. Takdiri ilahi diyerek daha fazla zorlamıyorum.

Umarım iphone geliştirme konusundan siz de benim kadar nefret etmişsinizdir, bir başka gerizekalı iphone geliştirme örneğinde görüşmek dileğiyle…

Not: bu arada geliştirme yapmak için mutlaka mac os ortamına ihtiyacınız var. Şöyle diyeyim, Apple, Microsoft’dan çok daha beter bir firmaymış…

Visual VM ile remote monitoring

Friday, February 25th, 2011

Bu burda bir dursun, bunu yazıcam ben…

http://www.codefactorycr.com/blog-english/22-java-visualvm-to-profile-a-remote-server.html

Yeni girişimlerin batmasına neden olan 20 neden

Wednesday, February 16th, 2011

Yeni girişimlerin batmasına neden olan 20 nedenleri araştırmışlar bakınız:

http://www.chubbybrain.com/blog/top-reasons-startups-fail-analyzing-startup-failure-post-mortem/