<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-32009241</id><updated>2012-01-06T16:36:56.388+02:00</updated><category term='wiki'/><category term='divx'/><category term='marka'/><category term='jdbc'/><category term='Affect Version'/><category term='VLAN'/><category term='Shared Items'/><category term='gc'/><category term='UMPC'/><category term='i-net'/><category term='Apple'/><category term='Wibro'/><category term='mesh'/><category term='Confluence'/><category term='war'/><category term='jar'/><category term='eğitim'/><category term='portable'/><category term='Version'/><category term='açık kaynak'/><category term='çalışan'/><category term='iphone'/><category term='RSS'/><category term='Code Coverage'/><category term='EMMA'/><category term='player'/><category term='Apache Ant'/><category term='avi'/><category term='compare'/><category term='Sürüm Yönetimi'/><category term='Benchmark'/><category term='video'/><category term='Wimax'/><category term='Parser'/><category term='performance'/><category term='subtitle'/><category term='Quartz'/><category term='difference'/><category term='Baseline'/><category term='Tag'/><category term='Wi-Fi'/><category term='kitap'/><category term='JIRA'/><category term='Google Reader'/><category term='java'/><category term='CVS'/><category term='IMS'/><category term='XML'/><category term='Fix Version'/><category term='Apache AXIOM'/><category term='altyazı'/><category term='oracle'/><category term='ear'/><category term='SOAP'/><category term='jcaptcha'/><category term='captcha'/><category term='Atlassian'/><category term='wireless'/><category term='Otomasyon'/><category term='Issue Tracking'/><category term='Release Management'/><category term='CruiseControl'/><category term='webservis'/><category term='Label'/><category term='open-source'/><category term='zip'/><title type='text'>Mustafa Tan</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>85</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-32009241.post-4685868860624563251</id><published>2009-02-20T23:08:00.000+02:00</published><updated>2009-02-20T23:59:32.182+02:00</updated><title type='text'>Taşındım -&gt; http://mustafatan.net</title><content type='html'>Ne zamandır şu blogger.com'dan kurtulup Wordpress'e geçeyim diyordum. Geçenlerde bu işi halletim. Artık &lt;a href="http://mustafatan.net/"&gt;http://mustafatan.net&lt;/a&gt; adresinde yazılarıma devam edeceğim.&lt;br /&gt;&lt;br /&gt;Yazılarımı RSS'den takip ediyorsanız &lt;a href="http://feeds.feedburner.com/mustafatan"&gt;http://feeds.feedburner.com/mustafatan&lt;/a&gt; adresini kullanabilirsiniz.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-4685868860624563251?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/4685868860624563251/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=4685868860624563251' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/4685868860624563251'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/4685868860624563251'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2009/02/tasndm-httpmustafatannet.html' title='Taşındım -&gt; http://mustafatan.net'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-2151135768043537853</id><published>2007-12-16T14:01:00.000+02:00</published><updated>2007-12-16T14:44:02.793+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open-source'/><category scheme='http://www.blogger.com/atom/ns#' term='Google Reader'/><title type='text'>Açık Kaynak Yazılım Geliştirme Kılavuzu</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Bu aralar Karl Fogel'ın "&lt;a href="http://producingoss.com/en/index.html"&gt;&lt;span style="font-weight: bold;"&gt;Producing Open Source Software&lt;/span&gt;&lt;/a&gt;" kitabına takılıyorum. Tabii ki kitap ücretsiz ve internet'ten online olarak indirilebiliyor ve okunabiliyor.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Karl Fogel harika bir kitap yazmış. Açık Kaynak Uygulama geliştirmek isteyenler veya var olan uygulamalarını açık kaynak topluluğa açmak isteyenler için harika bir klavuz.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_LrmmdzKl3hc/R2UckWsCGCI/AAAAAAAAADg/6N0-NHBC1dg/s1600-h/prepare_your_team.JPG"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_LrmmdzKl3hc/R2UckWsCGCI/AAAAAAAAADg/6N0-NHBC1dg/s320/prepare_your_team.JPG" alt="" id="BLOGGER_PHOTO_ID_5144549560231794722" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Ayrıca kitabın yayınlandığı &lt;a href="http://producingoss.com/"&gt;http://producingoss.com&lt;/a&gt; adresinde Google developer'larından &lt;a href="http://www.red-bean.com/sussman/"&gt;Ben-Collins Sussman&lt;/a&gt; ve &lt;a href="http://www.red-bean.com/fitz/"&gt;Brian Fitzpatrick&lt;/a&gt;'in hazırladığı "&lt;a href="http://youtube.com/watch?v=ZtYJoatnHb8"&gt;&lt;span style="font-weight: bold;"&gt;What's In It for Me? Benefits from Open Sourcing Code&lt;/span&gt;&lt;/a&gt;" isimli harika bir sunuma denk geldim bugün.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Açık Kaynak Dünyayı hala anlayamadıysanız 35 dakikalık (+15 dakika soru-cevap) bu YouTube Videosunu izlemenizi şiddetle tavsiye ederim:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;object height="355" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/ZtYJoatnHb8&amp;amp;rel=1"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/ZtYJoatnHb8&amp;amp;rel=1" type="application/x-shockwave-flash" wmode="transparent" height="355" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-2151135768043537853?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/2151135768043537853/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=2151135768043537853' title='2 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/2151135768043537853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/2151135768043537853'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2007/12/ak-kaynak-yazlm-gelitirme-klavuzu.html' title='Açık Kaynak Yazılım Geliştirme Kılavuzu'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_LrmmdzKl3hc/R2UckWsCGCI/AAAAAAAAADg/6N0-NHBC1dg/s72-c/prepare_your_team.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-5864293041565581459</id><published>2007-10-13T22:31:00.000+03:00</published><updated>2007-10-13T22:53:50.485+03:00</updated><title type='text'>Cep Hisse</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Uzun zamandır bir blog yazmıyordum, baktım örümcekler ağ yapmaya başlamış, birşeyler karalıyayım dedim. Bu aralar boş vakitlerimi ekibine dahil olduğum bir açık kaynak proje alıyor. Bu yüzden blog yazmaya vakit bulamıyorum. Merak edenler için yakında katkıda bulunduğum açık kaynak proje hakkında detaylı bilgi paylaşacağım.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Bugün ben ise aynı ekipte birlikte çalıştığım bir arkadaşın (&lt;a href="http://deniz.bellikan.com/"&gt;Deniz Bellikan&lt;/a&gt;) mobil uygulamasını duyurmak istiyorum. Deniz şu ana kadar tanıdığım en kaliteli Weblogic Adminler'inden biri. Zamanında development da yapmış olduğundan Weblogic için harika yönetimsel uygulamalar geliştirebiliyor. Deniz'in maharetlerini burda anlatmakla bitiremem o yüzden "Ayinesi iştir kişinin lafa bakılmaz" atasözünden harketle Deniz'in kendisi için geliştirdiği ve bizim gazımızla sebil bir hale getirdiği &lt;a href="http://cephisse.bellikan.com/"&gt;Cep Hisse&lt;/a&gt; ismindeki mobil uygulamadan kısaca bahsedeceğim.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Cep Hisse &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;borsadaki hisselerinizin değerini cep telefonunuzdan anında izleyebileceğiniz bir Java tabanlı mobil uygulama. Cep Hisse hisse senedi bilgilerini yatırımcı kurumların web sitelerinden online olarak almakta. Bu yüzden hisse bilgileri oldukça güncel. Program data transferinde çok az bilgi alıp/gönderdiği için cebinize yansıyacak GPRS faturası oldukça düşük.&lt;br /&gt;&lt;br /&gt;Aslında program hakkında detaylı bilgiye &lt;a href="http://cephisse.bellikan.com/"&gt;http://cephisse.bellikan.com&lt;/a&gt; adresinden ulaşabilir ve ücretsiz olarak cep telefonunuza indirebilirsiniz. Program hakkındaki önerilerinizi çekinmeden Deniz'e yollayabilirsiniz.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://cephisse.bellikan.com/img/8.png"&gt;&lt;img style="cursor: pointer; width: 182px; height: 228px;" src="http://cephisse.bellikan.com/img/8.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Not: Deniz bu programı birkaç akşamını ve bir hafta sonunu harcayarak geliştirdi. Aslında istese daha neler yapar. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;İyi bayramlar...&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-5864293041565581459?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/5864293041565581459/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=5864293041565581459' title='2 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/5864293041565581459'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/5864293041565581459'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2007/10/cep-hisse.html' title='Cep Hisse'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-3374146317092854030</id><published>2007-08-16T22:00:00.000+03:00</published><updated>2007-08-17T23:11:24.324+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Code Coverage'/><category scheme='http://www.blogger.com/atom/ns#' term='EMMA'/><title type='text'>EMMA ile Code Coverage</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Yazılım Geliştirme sürecindeki en önemli adımlardan biri de testleri tamamlanan uygulamanın gerçek (production) ortamda devreye alınmasıdır. Bir uygulamanın gerçek ortam için hazır olup olmadığını belirleyen en önemli kriterlerin başında test sonuçları gelir. Klasik yazılım geliştirme metodolojilerinde, Test Yöneticisinin tüm testlerin başarıyla geçtiği bilgisini vermesi, yeşil ışığın yanması için yeterlidir. Hatta Test bölümüne "Tüm ekranları test ettiniz değil mi?" diye sorulduğunda genelde şu cevap alınır; "Tabii ki..., her ekranda birer işlem bile yaptık."&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Buna rağmen gerçek ortamda bir sürü hata ortaya çıkmaya başlar, bunları sebebi sorulduğunda ise bahane hazırdır: "Biz o senaryoyu test etmemiştik". Peki nasıl olur da bir yazılımın ne kadarının test edildiğini, tamamen objektif değerler ile tespit edebiliriz? Tabii ki "&lt;a href="http://en.wikipedia.org/wiki/Code_coverage"&gt;Code Coverage&lt;/a&gt;" diye adlandırılan araçlarla.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;İşte bu blogumda özellikle java dünyasında çok kullanılan, açık kaynak kodlu "Code Coverage" araçlarından biri olan &lt;a href="http://emma.sourceforge.net/"&gt;&lt;span style="font-weight: bold;"&gt;EMMA&lt;/span&gt;&lt;/a&gt;'dan bahsedeceğim. EMMA kabaca, Java tabanlı uygulamaların test edildiklerinde, kod parçalarının (sınıf, metot, blok ve satır bazında) ne kadarının kullanıldığını raporlar.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Örneğin bu &lt;a href="http://emma.sourceforge.net/coverage_sample_a/index.html"&gt;linkteki&lt;/a&gt; EMMA ile hazırlanmış Apache Velocity uygulamasına ait, html formatındaki "Code Coverage" raporunu inceleyecek olursanız, unit testler sonrasında hangi kod, ne oranda test edilmiş rahatlıkla görebilirsiniz. Sınıf bazında detaya bakacak olursanız kodlarda tamamen geçilen yerlerin &lt;span style="color: rgb(0, 153, 0);"&gt;yeşil&lt;/span&gt;, bir kısmından geçilenlerin &lt;span style="color: rgb(255, 255, 0);"&gt;sarı&lt;/span&gt;, hiç uğranılmayan yerlerin &lt;span style="color: rgb(255, 0, 0);"&gt;kırmızı&lt;/span&gt; ile renklendirildiğini farkedeceksiniz.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://emma.sourceforge.net/images/faq/ex1.png"&gt;&lt;img style="cursor: pointer; width: 484px; height: 225px;" src="http://emma.sourceforge.net/images/faq/ex1.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;EMMA ile yukarıdaki örnekteki raporu üretebilmeniz için öncelikle java kodlarınızın (*.class) basit bir işlemden geçmesi gerekmektedir. Bu işlemin "&lt;a href="http://emma.sourceforge.net/intro.html#Offline+instrumentation"&gt;off-line&lt;/a&gt;" ve  "&lt;a href="http://emma.sourceforge.net/intro.html#On-the-fly+instrumentation"&gt;on-the-fly&lt;/a&gt;" olmak üzere 2 yöntemi vardır. Uygulamanın tipine (stand-alone, web, vs.) göre bu yöntemlerden biri seçilir.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;EMMA, raporlarını HTML, XML veya text formatında üretebilir. Ayrıca HTML raporu uygulamanın kaynak kodları ile ilişkilendirilebilir.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;EMMA java uygulamasını işlemek için kaynak kodlara ihtiyaç duymaz. Açık bir klasördeki *.class dosyalarını veya *.jar içindeki class'ları kullanabilir. Kaynak kodlar sadece html raporlarında ekstra bir güzellik sağlar.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;EMMA çok az kaynak tüketerek ve hızlı bir şekilde çalışır. Ayrıca JDK 1.2.x ve üstünü destekler.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;EMMA'nın en güzel özelliklerinden biri de kullanımı çok kolay bir Apache Ant &lt;a href="http://emma.sourceforge.net/userguide_single/userguide.html#introANT"&gt;task&lt;/a&gt;'ının olmasıdır.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Aslında EMMA'nın daha bir çok mahareti mevcut, fakat benim tavsiyem kafanızdaki diğer sorulara da cevap bulabilmeniz amacıyla &lt;a href="http://emma.sourceforge.net/faq.html"&gt;Sık Sorulan Sorular&lt;/a&gt; bölümüne bir göz atmanız. Bu bölümde EMMA gayet özet ve güzel bir şekilde anlatılmış.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Şimdi de EMMA ile bir deneme sürüşü yapalım:&lt;/span&gt;&lt;/span&gt;&lt;ul&gt;&lt;li style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Öncelikle bu &lt;a href="http://sourceforge.net/project/showfiles.php?group_id=108932&amp;package_id=117584"&gt;linkten&lt;/a&gt; EMMA'yı bilgisayarınıza indirin. Eğer sadece EMMA'yı çalıştırmak için gerekli dosyaları indirmek istiyorsanız &lt;span style="font-weight: bold;"&gt;emma-X.Y.Z-lib.zip&lt;/span&gt; formatındaki dosyayı indirin ve bilgisayarınızda her hangi bir yere açın. &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Benim bilgisayarımda EMMA, "&lt;span style="font-weight: bold;"&gt;D:\Programs\emma-2.0.5312&lt;/span&gt;" altında kurulu.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;EMMA'yı çalıştırmak için bilgisayarınızda Java'nın yüklü olması yeterlidir. EMMA çalışmak için başka bir kütüphaneye ihtiyaç duymaz.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Örneğimizde ilk olarak EMMA'nın &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;"&lt;a href="http://emma.sourceforge.net/intro.html#On-the-fly+instrumentation"&gt;on-the-fly instrumentation&lt;/a&gt;"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt; yöntemini kullanacağız. Ardından &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;"&lt;a href="http://emma.sourceforge.net/intro.html#Offline+instrumentation"&gt;off-line instrumentation&lt;/a&gt;"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;  yöntemini kullanarak aynı örneği tekrarlayacağız.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Öncelikle EMMA'dan geçireceğimiz uygulamayı seçiyoruz. Bu örnekte iki zip formatındaki (jar,war,ear, vs.) dosyanın farkını gösteren harika bir açık kaynak uygulama olan &lt;a href="http://mustafatan.blogspot.com/2007/01/zipdiff.html"&gt;zipdiff&lt;/a&gt;'i kullanacağız.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;EMMA ile "Code Coverage" yapmıyor olsaydık, zipdiff kullanarak iki farklı versiyondaki log4j.jar dosyasının html raporu şeklinde farkını şu şekilde alıyor olacaktık:&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-style: italic;"&gt;&gt;java -jar zipdiff.jar -file1 log4j-1.2.8.jar -file2 log4j-1.2.13.jar -outputfile diffs.html&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Şimdi de aynı uygulamayı EMMA ile birlikte çalıştıralım:&lt;br /&gt;&lt;br /&gt;&lt;a style="font-weight: bold;" href="http://emma.sourceforge.net/intro.html#On-the-fly+instrumentation"&gt;on-the-fly instrumentation&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;On-the-fly yöntemi daha çok standalone çalışabilen uygulamalar için tercih edilmektedir. Bu yöntem ile tek bir seferde "Code Coverage" raporu elde edilebilmekte, java uygulaması EMMA üzerinden çalışmaktadır.&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;Uygulamayı çalıştırdığımızda da şöyle bir sonuç alıyoruz:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-style: italic;"&gt;&gt;java -cp D:\Programs\emma-2.0.5312\lib\&lt;span style="font-weight: bold;"&gt;emma.jar emmarun-r html -sp src\main&lt;/span&gt; -jar zipdiff.jar -file1 log4j-1.2.8.jar -file2 log4j-1.2.13.jar -outputfile diffs.html&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&gt;File 1 = log4j-1.2.8.jar&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&gt;File 2 = log4j-1.2.13.jar&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&gt;&lt;span style="font-weight: bold;"&gt;EMMA: writing [html] report to [D:\Programs\zipdiff-0.4\coverage\index.html] ...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;Yukarıdaki komutu çalıştırdığımızda EMMA &lt;span style="font-style: italic;"&gt;"coverage"&lt;/span&gt; isminde bir klasör yaratacak ve html formatındaki raporu bu klasör içinde oluşturacaktır. Eğer yukarıdaki komut satırında "-r html" parametresini kullanmasaydık rapor text formatında olacaktı. Ayrıca "-sp" parametresi ile zipdiff uygulamasının kaynak kodlarını EMMA'ya göstermiş olduk.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_LrmmdzKl3hc/RsXs4d8ZR7I/AAAAAAAAACM/uCpIMT0Ic68/s1600-h/emma_report.JPG"&gt;&lt;img style="cursor: pointer; width: 391px; height: 164px;" src="http://2.bp.blogspot.com/_LrmmdzKl3hc/RsXs4d8ZR7I/AAAAAAAAACM/uCpIMT0Ic68/s400/emma_report.JPG" alt="" id="BLOGGER_PHOTO_ID_5099742607921727410" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;On-the-fly instrumentation çok basit olmasına rağmen performansı az da olsa düşürmekte:&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;the runtime overhead of added instrumentation&lt;/span&gt; is small (5-20%) and the bytecode instrumentor itself is very fast (mostly limited by file I/O speed). Memory overhead is a few hundred bytes per Java class.&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family:verdana;"&gt;&lt;a href="http://emma.sourceforge.net/intro.html#Offline+instrumentation"&gt;off-line instrumentation&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Off-line yöntemi daha çok JSP,Servlet,EJB gibi Uygulama Sunucularında çalışan uygulamalar için tercih edilen bir yöntemdir. Zaten EMMA'nın &lt;a href="http://emma.sourceforge.net/faq.html"&gt;Sık Sorulan Sorular&lt;/a&gt; bölümünde bunun sebebi ve Tomcat, Weblogic, WebSphere, vs. gibi Uygulama Sunucuları ile nasıl kullanılacağı adım anlatılmış:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;How do I use EMMA in {WebLogic, Websphere, Tomcat, JBoss, ...}?&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;&lt;span style="font-family:verdana;"&gt;First of all, there is little chance that you will be able to use the on-the-fly mode (emmarun) with a full-blown J2EE container. The reason lies in the fact that many J2EE features require specialized classloading that will happen outside of EMMA instrumenting classloader. The server might run fine, but you will likely get no coverage data.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;&lt;span style="font-family:verdana;"&gt;Thus, the correct procedure is to instrument your classes prior to deployment (offline mode). Offline instrumentation always follows the same &lt;span style="font-weight: bold;"&gt;compile, instrument, package, deploy, get coverage, generate reports&lt;/span&gt; sequence. &lt;a href="http://emma.sourceforge.net/faq.html#q.runtime.appservers"&gt;Follow these steps...&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Şimdi yukarıdaki örneği off-line yöntemi ile yapalım. Bu yöntemde "-overwrite" parametresi kullanacağımız için siz de benzer örneği yaparken uygulamanızın (jar dosyasının) bir yedeğini almayı unutmayın. Çünkü EMMA off-line yöntemde tüm class'ları değiştirmektedir.&lt;br /&gt;Öncelikle uygulamamızı (zipdiff.jar) bir EMMA'dan geçiriyoruz:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;&lt;span style="font-family:verdana;"&gt;&gt;java -cp D:\Programs\emma-2.0.5312\lib\&lt;span style="font-weight: bold;"&gt;emma.jar emma instr -m overwrite&lt;/span&gt; -cp zipdiff.jar&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;&lt;span style="font-family:verdana;"&gt;&gt;EMMA: processing instrumentation path ...&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;&lt;span style="font-family:verdana;"&gt;&gt;EMMA: instrumentation path processed in 359 ms&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;&lt;span style="font-family:verdana;"&gt;&gt;EMMA: [27 class(es) instrumented, 10 resource(s) copied]&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-style: italic;"&gt;&gt;EMMA: metadata merged into [D:\Programs\zipdiff-0.4\&lt;/span&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;coverage.em&lt;/span&gt;&lt;span style="font-style: italic;"&gt;] {in 47 ms}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Yukarıdaki komutu çalıştırdığımızda &lt;span style="font-weight: bold;"&gt;coverage.em&lt;/span&gt; isimli bir dosya elde ediyoruz. Bu dosyayı daha sonra raporu oluşturmak için kullanacağız. Ardından uygulamamızı çalıştıracağız fakat bu sefer EMMA üzerinden değil de klasik yöntemle başlatacağız. Sadece fazladan classpath'e emma.jar dosyasını da ekleyeceğiz:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="font-style: italic; text-align: left;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&gt;java -cp D:\Programs\emma-2.0.5312\lib\&lt;span style="font-weight: bold;"&gt;emma.jar&lt;/span&gt;;zipdiff.jar zipdiff.Main -file1 log4j-1.2.8.jar -file2 log4j-1.2.13.jar -outputfile diffs.html&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-style: italic;"&gt;&gt;EMMA: collecting runtime coverage data ...&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-style: italic;"&gt;&gt;File 1 = log4j-1.2.8.jar&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-style: italic;"&gt;&gt;File 2 = log4j-1.2.13.jar&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-style: italic;"&gt;&gt;EMMA: runtime coverage data merged into [D:\Programs\zipdiff-0.4\&lt;span style="font-weight: bold;"&gt;coverage.ec&lt;/span&gt;] {in 62 ms}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Uygulamamızı da çalıştırdık ve bu sefer de &lt;span style="font-weight: bold;"&gt;coverage.ec&lt;/span&gt; isminde bir dosya elde ettik. Şimdi de coverage.em ve coverage.ec dosyalarını kullanarak raporumuzu üretelim:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-style: italic;"&gt;&gt;java -cp D:\Programs\emma-2.0.5312\lib\emma.jar emma report -r html -sp src\main &lt;/span&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;-in coverage.em,coverage.ec&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&gt;EMMA: processing input files ...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&gt;EMMA: 2 file(s) read and merged in 15 ms&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-style: italic;"&gt;&gt;EMMA: writing [html] report to [D:\Programs\zipdiff-0.4\coverage\index.html] ...&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Komut satırından çalıştırılan yukarıdaki benzer basit örnekleri EMMA'nın &lt;a href="http://emma.sourceforge.net/intro.html"&gt;Quick Start&lt;/a&gt; sayfasından, detaylıları da &lt;a href="http://emma.sourceforge.net/userguide_single/userguide.html#introCMDLINE"&gt;User Guide&lt;/a&gt;'dan bulabilirsiniz.  Ayrıca EMMA'nın Apache Ant &lt;a href="http://emma.sourceforge.net/userguide_single/userguide.html#introANT"&gt;task&lt;/a&gt;'ları da mevcut. Ant task'ları kullanarak Uygulama Sunucuları için  hazırlanmış derleme ve test scriptlerini de ayrıca hazırlayıp burada paylaşacağım. Bu arada biz EMMA'yı Weblogic ile gayet başarılı bir şekilde kullanıyoruz.&lt;br /&gt;Şimdilik benden bu kadar :)&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-3374146317092854030?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/3374146317092854030/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=3374146317092854030' title='5 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/3374146317092854030'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/3374146317092854030'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2007/08/emma-ile-code-coverage.html' title='EMMA ile Code Coverage'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_LrmmdzKl3hc/RsXs4d8ZR7I/AAAAAAAAACM/uCpIMT0Ic68/s72-c/emma_report.JPG' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-8019258417013000212</id><published>2007-08-07T22:30:00.000+03:00</published><updated>2007-08-07T22:42:33.334+03:00</updated><title type='text'>Social Bookmarking and Networking</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;Geçenlerde &lt;a href="http://www.commoncraft.com/"&gt;CommonCroft&lt;/a&gt; firmasının yayınladığı, Wiki ve RSS'in yalın bir ingilizce ile anlatıldığı video sunumlarını &lt;a href="http://mustafatan.blogspot.com/2007/06/yaln-ingilizce-ile-video-sunumlar.html"&gt;paylaşmıştım&lt;/a&gt;. Aynı firma bu sefer de &lt;a href="http://del.icio.us/"&gt;del.icio.us&lt;/a&gt; ile birlikte yaygınlaşan "Social Bookmarking" konusunda güzel bir video hazırlamış:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Social Bookmarking in Plain English&lt;/span&gt;&lt;br /&gt;&lt;object height="350" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/x66lV7GOcNU"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/x66lV7GOcNU" type="application/x-shockwave-flash" wmode="transparent" height="350" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Bundan birkaç ay evvel de "Social Networking" ile ilgili bir video yayınlanmıştı:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Social Networking in Plain English&lt;/span&gt;&lt;br /&gt;&lt;object height="350" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/6a_KF7TYKVc"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/6a_KF7TYKVc" type="application/x-shockwave-flash" wmode="transparent" height="350" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Ne demişler "Bilgi paylaştıkça çoğalır..."&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-8019258417013000212?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/8019258417013000212/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=8019258417013000212' title='2 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/8019258417013000212'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/8019258417013000212'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2007/08/social-bookmarking-and-networking.html' title='Social Bookmarking and Networking'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-8204407483754675087</id><published>2007-08-01T23:00:00.000+03:00</published><updated>2007-08-01T23:01:19.937+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Confluence'/><category scheme='http://www.blogger.com/atom/ns#' term='Atlassian'/><title type='text'>Confluence - I</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Daha evvel &lt;a href="http://www.atlassian.com/software/jira/"&gt;JIRA&lt;/a&gt;'yı tanıtıcı &lt;a href="http://mustafatan.blogspot.com/search/label/JIRA"&gt;birçok blog&lt;/a&gt; yazmama rağmen yine Atlassian firmasının bir ürünü olan &lt;a href="http://www.atlassian.com/software/confluence/"&gt;Confluence&lt;/a&gt;'dan detaylı bir şekilde hiç bahsetmemiştim. Bu blogumda, bence dünyanın en iyi &lt;a href="http://en.wikipedia.org/wiki/Wiki"&gt;Wiki&lt;/a&gt; uygulaması olan Confluence'u anlatmaya çalışacağım.&lt;br /&gt;&lt;br /&gt;Confluence'un organizasyonunuza sağlayacağı katma değeri anlayabilmek için öncelikle Wiki kavramından haberdar olmanız gerekiyor. Eğer wiki kelimesini daha evvel hiç duymadıysanız öncelikle aşağıdaki kısa video'yu mutlaka izleyin:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Wikis in Plain English&lt;/span&gt;&lt;br /&gt;&lt;object height="350" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/-dnL00TdmLY"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/-dnL00TdmLY" type="application/x-shockwave-flash" wmode="transparent" height="350" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;Confluence aslında &lt;a href="http://en.wikipedia.org/"&gt;http://en.wikipedia.org&lt;/a&gt; gibi implementasyonları bulunan açık kaynak wiki uygulamalarının daha kurumsal, daha yetenekli olan bir versiyonu.&lt;br /&gt;&lt;br /&gt;Confluence kısaca bilgi, doküman, haber, vs. paylaşım portal'ı. Confluence'u kullanarak ister şirketinizin web sitesini hazırlayabilir, isterseniz ürünlerinizin dokümantasyonunu yapabilirsiniz. Tabii ki tüm bunları sanki Microsoft Word kullanıyormuşsunuz gibi zengin ve kullanımı çok kolay bir arayüzle gerçekleştirebilirsiniz. İsterseniz aşağıdaki linkteki kısa video'yu izleyerek Confluence ile neler yapabileceğinizi hemen görebilirsiniz.&lt;br /&gt;&lt;a href="http://www.atlassian.com/software/confluence/videos/overview/overview.jsp"&gt;&lt;br /&gt;http://www.atlassian.com/software/confluence/videos/overview/overview.jsp&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Confluence'un diğer wiki uygulamalarından ayrılan en temel özelliklerini de şu şekilde sıralayabiliriz:&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Confluence'un en çarpıcı özelleklerinin başında sayfa hazırlamanın kolaylığı gelmektedir. Sayfalarınızı ister wiki editörü isterseniz de &lt;a href="http://en.wikipedia.org/wiki/WYSIWYG"&gt;WYSIWYG&lt;/a&gt; editörü kullanarak hazırlayabilirsiniz. Ayrıca bu sayfaların sadece istediğiniz kişiler tarafından görülmesini ve değiştirilmesini sağlayabilirsiniz.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Atlassian'ın tüm ürünlerinde olduğu gibi Confluence da Java tabanlı olup her işletim sisteminde ve veritabanında çalışmaktadır. Demo amacıyla son versiyonunu indirip 5 dakika içerisinde çalışır hale getirebilirsiniz. Confluence'un kullanımı olduğu kadar kurulumu ve yönetimi de çok sade ve kolaydır. (&lt;a href="http://confluence.atlassian.com/display/DOC/Installing+Confluence+Standalone"&gt;Confluence Kurulum Dokümanı&lt;/a&gt;)&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Confluence'un küçükten büyüğüne her müşteriye aynısını uyguladığı, &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;kullanıcı bazlı çok basit bir lisanslama modeli vardır. 25 kullanıcılı bir lisans 1200$ iken sınırsız kullanıcılı lisans ücreti 8000$'dır. Eğer ticari bir firma değilseniz ve açık kaynak bir uygulama için kullanacaksanız o zaman hiç bir lisans bedeli ödemeden Confluence'u kullanabilirsiniz.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Confluence bir çok dış sisteme çok rahatlıkla entegre olabilmektedir. Örneğin RSS pluginleri sayesinde Confluence'u RSS Reader veya Feeder olarak kullanabilirsiniz. (&lt;a href="http://confluence.atlassian.com/display/ds/RSS+Capabilities"&gt;Örnek bir RSS Reader sayfası&lt;/a&gt;) Ya da SOAP veya XML-RPC servislerini kullanarak kendi geliştirdiğiniz uygulamaları Confluence ile entegre edebilirsiniz. Benim favorilerim arasında ise Confluence-JIRA entegrasyonu yer almaktadır. (&lt;a href="http://confluence.atlassian.com/display/ds/JIRA+integration"&gt;Örnek bir Confluence-JIRA entegrasyonu sayfası&lt;/a&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Confluence, düşük lisans bedeli, daha fazla müşteri felsefesi ile  satışa sunulduğu için dünya üzerinde &lt;a href="http://www.atlassian.com/software/confluence/customers.jsp"&gt;65 ülkede 3200'den fazla&lt;/a&gt; firmada kullanılmaktadır. Bu da ürünün daha fazla test edilmesine ve gelişmesine neden olmaktadır. Confluence her ay çıkan sürümleriyle (ve sorunsuz güncellemeleri ile) beklentilerinizi daha oluşmadan karşılamaktadır. Herhalde, IBM dahi Confluence &lt;a href="http://www-941.ibm.com/collaboration/wiki"&gt;kullanıyor&lt;/a&gt; desem, ürünün kalitesi hakkında bir ipucu vermiş olurum.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Confluence'un harika bir &lt;a href="http://confluence.atlassian.com/display/DOC/Confluence+Documentation+Home"&gt;dokümantasyonu&lt;/a&gt; mevcuttur. Organizasyonunuzda herhangi biri Confluence'un kurulumunu ve yönetimini yapabilir. Bir sorun yaşadığınızda herhangi bir firmadan  destek almanıza gerek kalmaz. &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;a href="http://confluence.atlassian.com/display/DOC"&gt;http://confluence.atlassian.com/display/DOC&lt;/a&gt; ve de&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt; &lt;a href="http://jira.atlassian.com/browse/CONF"&gt;http://jira.atlassian.com/browse/CONF&lt;/a&gt; adresleri ihtiyacınız olan tüm desteği sağlayacaktır.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Confluence'un müşterileri tarafından da geliştirilen ve sürekli büyüyen harika bir &lt;a href="http://www.atlassian.com/software/confluence/plugins/"&gt;Plugin Kütüphanesi&lt;/a&gt; mevcuttur. Pluginler sayesinde Confluence'un yetenekleri sürekli artmaktadır. İsterseniz siz de kendi pluginlerinizi yazabilirsiniz. Confluence'un en güçlü yanlarından biri olan plugin olayına sonraki bloglarımda daha detaylı değineceğim.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Confluence'un görselliği yüksek ve çok çeşitli metin formatlama özellikleri vardır. Sayfalarınızdaki java, sql, xml gibi farklı yapıdaki yazıları, farklı görünecek şekilde formatlayabilirisiniz. Bu da yazılarınızın kullanıcılar üzerindeki etkisini arttıracaktır. (&lt;a href="http://confluence.atlassian.com/display/ds/Source+code"&gt;Formatlı Yazı Örneği&lt;/a&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Confluence'un &lt;a href="http://lucene.apache.org/"&gt;Apache Lucene&lt;/a&gt; tabanlı harika bir arama motoru vardır. Confluence içinde yer alan herhangi bir bilgi attach'lenmiş word veya excel içinde dahi olsa mutlaka listelenir.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Confluence'un özellikleri burada anlatmakla bitmez, bunun yerine aşağıdaki linki kullanarak diğer özelliklerine bir göz atmanızı öneririm.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.atlassian.com/software/confluence/features/default.jsp"&gt;http://www.atlassian.com/software/confluence/features/default.jsp&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Confluence ile ilgili sonraki bloglarımda daha çok orijinal Confluence Pluginler'inden ve Confluence'un yönetimi ile ilgili püf noktalarından bahsetmeye çalışacağım. İsterseniz aşağıdaki Confluence kullanım demosunu izleyerek ürün hakkında daha fazla bilgiye sahip olabilirsiniz.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Atlassian Jolt Submission - Confluence&lt;/span&gt;&lt;br /&gt;&lt;object height="350" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/XKrK8un6aJE"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/XKrK8un6aJE" type="application/x-shockwave-flash" wmode="transparent" height="350" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-8204407483754675087?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/8204407483754675087/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=8204407483754675087' title='5 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/8204407483754675087'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/8204407483754675087'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2007/08/confluence-i.html' title='Confluence - I'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-363117024778849627</id><published>2007-07-21T14:19:00.000+03:00</published><updated>2007-07-21T15:59:30.448+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Quartz'/><title type='text'>Quartz Scheduler</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;Özellikle kurumsal uygulamalardaki en kritik konulardan biri de belli bir saatte çalışması planlanmış batch işlemleridir. Örneğin Bankacalık Uygulamalarındaki Otomatik Ödeme Talimatları, Havale ve EFT talimatları, Günsonu işlemleri, vs. "&lt;a href="http://en.wikipedia.org/wiki/Job_Scheduler"&gt;Job Scheduler&lt;/a&gt;" diye adlandırılan araçlar ile gerçekleştirilmektedir.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;Bu işlemler arkaplanda, kullanıcı ile bir etkileşimi olmadan çalıştığı için aynı anda yüzlerce thread'in çalışmasına neden olabilir. Bu yüzden bu araçların işlerini, sistem kaynaklarını en verimli bir şekilde kullanarak, hata yapmadan, yapsa bile loglayarak veya daha sonra düzelterek (recovery) çalışması gerekmektedir. Özellikle bankacılık gibi kritik uygulamaların günsonu işlemlerinde milyon dolar'ların işlendiğini düşünecek olursanız bu araçların önemi daha iyi anlaşılacaktır.&lt;br /&gt;&lt;br /&gt;İşte bu blogum'da daha evvel geliştirdiğimiz bir çok uygulamamızda kullandığımız &lt;a href="http://www.opensymphony.com/quartz/"&gt;Quartz Scheduler&lt;/a&gt;'dan bahsedeceğim. Hatta bahsetmekle kalmayacak, Quartzla ilgili yazdığım bir &lt;a href="http://www.gezwiki.com/display/build/Quartz+JDBCJobStore+Tutorial"&gt;örneği&lt;/a&gt; de paylaşacağım.&lt;br /&gt;&lt;br /&gt;Quartz, dünyaca ünlü bir çok lisanslı uygulamanın da kullandığı açık kaynak uygulama. Quartz halen, bünyesinde &lt;a href="http://www.opensymphony.com/webwork/"&gt;WebWork&lt;/a&gt; (Strus ile birleşip Strus2 adını aldı), &lt;a href="http://www.opensymphony.com/sitemesh/"&gt;SiteMesh&lt;/a&gt;, &lt;a href="http://www.opensymphony.com/oscache/"&gt;OSCache&lt;/a&gt; gibi dünyaca ünlü açık kaynak projeleri barındıran &lt;a href="http://www.opensymphony.com/"&gt;OpenSymphony&lt;/a&gt; Açık Kaynak topluluğu altında geliştirilmekte. Açık Kaynak uygulamaları kullanmakta hala tereddüt edenleri biraz rahatlattıktan sonra Quartz'ın özelliklerine geçelim.&lt;br /&gt;&lt;br /&gt;Quartz öncelikle her türlü Java Uygulamasının bir parçası şeklinde çalışabiliyor:&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-weight: bold;"&gt;*&lt;/span&gt; Quartz can run embedded within another free standing application&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;*&lt;/span&gt; Quartz can be instantiated within an application server (or servlet container), and participate in &lt;a href="http://mustafatan.blogspot.com/2007/01/xa-needed-more-often-than-you-think.html"&gt;XA transactions&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;*&lt;/span&gt; Quartz can run as a stand-alone program (within its own Java Virtual Machine), to be used via RMI&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;*&lt;/span&gt; Quartz can be instantiated as a cluster of stand-alone programs (with load-balance and fail-over capabilities)&lt;/blockquote&gt;Quartz'ın &lt;a href="http://mustafatan.blogspot.com/2007/01/xa-needed-more-often-than-you-think.html"&gt;XA Transaction&lt;/a&gt; desteği aslında çok önemli bir özellik, maalesef bir çok yazılım geliştirici XA'in (Distributed Transactions) öneminin farkında olmadığı için veritabanları üzerinde uyumsuz (inconsistant) veriler bulunmakta.&lt;br /&gt;&lt;br /&gt;Quartz bir özelliği de, dünyaca ünlü Strus ve Spring gibi framework'lere kolayca entegre edilebilir olması:&lt;br /&gt;&lt;br /&gt;* &lt;a href="http://www.springframework.org/docs/reference/scheduling.html"&gt;Quartz'ın Spring ile Entegrasyonu&lt;/a&gt;&lt;br /&gt;* &lt;a href="http://www.onjava.com/pub/a/onjava/2006/03/01/job-scheduling-in-web-application.html"&gt;Quartz'ın Strus ile Entegrasyonu&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Quartz'ın en önemli özelliklerinden biri de Trigger diye adlandırlan çok farklı tetikleme mekanizmasına sahip olması:&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-weight: bold;"&gt;*&lt;/span&gt; at a certain time of day (to the millisecond)&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;*&lt;/span&gt; on certain days of the week&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;*&lt;/span&gt; on certain days of the month&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;*&lt;/span&gt; on certain days of the year&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;*&lt;/span&gt; not on certain days listed within a registered Calendar (such as business holidays)&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;*&lt;/span&gt; repeated a specific number of times&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;*&lt;/span&gt; repeated until a specific time/date&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;*&lt;/span&gt; repeated indefinitely&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;*&lt;/span&gt; repeated with a delay interval&lt;/blockquote&gt;Quartz'ın bir başka özelliği de çalıştırdığı işlerin transactional bir şekilde gerçekleştirebilmesi.  Ayrıca Clustering ve Job Persistence desteği sayesinde bir veritabanı üzerinde işlerini saklayabiliyor ve cluster node'ları arasında dağıtabiliyor:&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-weight: bold;"&gt;*&lt;/span&gt; The design of Quartz includes a JobStore interface that can be implemented to provide various mechanisms for the storage of jobs.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;*&lt;/span&gt; With the use of the included JDBCJobStore, all Jobs and Triggers configured as "non-volatile" are stored in a relational database via JDBC.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;*&lt;/span&gt; With the use of the included RAMJobStore, all Jobs and Triggers are stored in RAM and therefore do not persist between program executions - but this has the advantage of not requiring an external database.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;*&lt;/span&gt; Quartz can participate in JTA transactions, via the use of JobStoreCMT (a subclas of JDBCJobStore).&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;*&lt;/span&gt; Quartz can manage JTA transactions (begin and commit them) around the execution of a Job, so that the work the Job does happens within a JTA transaction.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;*&lt;/span&gt; Fail-over.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;*&lt;/span&gt; Load balancing.&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;Quartz'ın diğer özelliklerini ve güzelliklerini anlatmam saatler sürer. Bunun yerine kendi sitesindeki &lt;a href="http://www.opensymphony.com/quartz/wikidocs/Tutorial.html"&gt;tutorial&lt;/a&gt;'lara bir gözatmanızda fayda var. Ayrıca aşağıda linkini paylaştığım Quartz'ın Cluster modda kullanımı ile ilgili bir örneğe göz atabilirsiniz.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.gezwiki.com/display/build/Quartz+JDBCJobStore+Tutorial"&gt;Quartz JDBCJobStore Tutorial&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Bu blogu okuyanlar arasında "Ne gerek var Java'da Scheduler kullanmaya" diye düşünenler olabilir. Bu soruya cevap vermeden evvel alternatifleri düşünelim:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1) Batch işlemlerinin veritabanı job'ları olarak çalıştırılması&lt;/span&gt;&lt;br /&gt;Bu yöntem zaten şu an en yaygın kullanılan yöntemlerden birisi. Veritabanı diğer kullanıcı işlemleri nedeniyle yük altında değilken veya batch olarak işlenen çok fazla veri yokken bu yöntem çok sağlıklı çalışır. Peki yükümüz her geçen gün artarsa ne yapacağız, unutmayın veritabanı üzerinde çalışan fonksiyonlar bir yandan hesaplama yapmak için bir yandan da kayıtları güncellemek için sistem kaynaklarını kullanırlar. Kaynaklarınız yetmediği zaman aynı orta katmanda olduğu gibi veritabanlarınızı çoğaltamazsınız.&lt;br /&gt;&lt;br /&gt;Ama Quartz kullanıyorsanız veritabanını sadece insert, update ve delete işlemleri için kullanılıyor, tüm business fonksiyonları ise Quartz'ın çalıştığı başka sunucular üzerinde işleniyor olacak. Kaynak ihtiyacınız arttıkça yeni sunucular ekleyebileceksiniz. (Load-balancing)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2) Batch işlemlerinin işletim sistemi (unix/windows) job'ları olarak çalıştırılması&lt;/span&gt;&lt;br /&gt;Bu yöntem aslında ilk bakışta Quartz'ın load-balancing özelliğini karşılıyor gibi gözüküyor. Shell script yazılarak Unix'in cron'una eklenen batch işlemlerin en zayıf yani recovery'dir.  Kısaca özetlemek gerekirse  Quartz'ın cluster node'ları arasında "Quartz Kardeşliği" diye bir kavram vardır. Hiç bir kardeş diğerine hükmetmez ama arkasını kollar. Kardeşlerden biri çalışırken hata alırsa diğerleri onun işlerini halledebilirler. Eğer aralarına başka bir kardeş daha katılırsa ellerindeki işleri diğer kardeşle paylaşırlar. Shell scriptler ile bu işleri yapmak çok zordur. (Fail-over)&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-363117024778849627?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/363117024778849627/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=363117024778849627' title='5 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/363117024778849627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/363117024778849627'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2007/07/quartz-scheduler.html' title='Quartz Scheduler'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-628578608507791720</id><published>2007-07-21T12:51:00.000+03:00</published><updated>2007-07-21T13:25:05.475+03:00</updated><title type='text'>Google'dan Kablosuz Internet Atağı</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;Google kablosuz dünyaya olan ilgisini hız kesmeden devam ettiriyor. Google, geçenlerde &lt;a href="http://www.grandcentral.com/about/google"&gt;GrandCentral&lt;/a&gt;'ı satın almasından sonra şimdi de Amerika'daki açık arttırma ile dağıtılacak olan 700MHz spekturumundaki kablosuz bağlantı ihalesine tam 4.6 milyar dolar teklif vereceğini açıkladı:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;&lt;blockquote&gt;&lt;a href="http://googleblog.blogspot.com/2007/07/our-commitment-to-open-broadband.html"&gt;&lt;span style="font-weight: bold;"&gt;Our commitment to open broadband platforms&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Google's interest in promoting competition in the broadband market here in the U.S., to help ensure that as many Americans as possible can access the Internet. However, it takes more than just ideas and rhetoric if you want to help bring the Internet to everyone. So today, we're putting consumers' interests first, and putting our money where our principles are -- to the tune of &lt;span style="font-weight: bold;"&gt;$4.6 billion&lt;/span&gt;.&lt;/div&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;Buraya kadar olan herşey normal gözüküyor. Adamın parası var, Telekom işine girmek istiyor, dolayısıyla parayı gözden çıkarmış. Fakat Google ihaleyi düzenleyecek olan &lt;a href="http://en.wikipedia.org/wiki/Federal_Communications_Commission"&gt;FCC&lt;/a&gt;'yi biraz da manupüle etmeye çalışarak bu parayı aşağıdaki şartlar dahilinde vereceğini söylüyor:&lt;br /&gt;&lt;blockquote&gt;With that in mind, last week, as the federal government prepares for what is arguably its most significant auction of wireless spectrum in history, we &lt;a href="http://services.google.com/blog_resources/ex_part_via_efiling.pdf"&gt;urged&lt;/a&gt; the Federal Communications Commission (FCC) to adopt rules to make sure that regardless of who wins the spectrum at auction, consumers' interests are the top priority. Specifically, we encouraged the FCC to require the &lt;span style="font-weight: bold;"&gt;adoption of four types of "open" platforms&lt;/span&gt; as part of the auction:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;* Open applications:&lt;/span&gt; consumers should be able to download and utilize any software applications, content, or services they desire;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;* Open devices:&lt;/span&gt; consumers should be able to utilize their handheld communications device with whatever wireless network they prefer;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;* Open services:&lt;/span&gt; third parties (resellers) should be able to acquire wireless services from a 700 MHz licensee on a wholesale basis, based on reasonably nondiscriminatory commercial terms; and&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;* Open networks:&lt;/span&gt; third parties (like Internet service providers) should be able to interconnect at any technically feasible point in a 700 MHz licensee's wireless network.&lt;/blockquote&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;Bu da demek oluyor ki Google açıklık stratejisini mobil dünyada da uygulamak istiyor. GigaOM'da bu haberle ilgili yapılan ilginç bir yorum da şu şekilde:&lt;br /&gt;&lt;blockquote&gt;&lt;a href="http://gigaom.com/2007/07/20/google-will-bid-for-wireless-spectrum/"&gt;&lt;span style="font-weight: bold;"&gt;Google will bid for Wireless Spectrum&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;Google’s proposal liberally throws around the word, OPEN: open apps, open platform, open devices, open services and open network. Those are nice words. But in reality no one commits spending $4.6 billion (or more) unless they have vested interests. &lt;span style="font-weight: bold;"&gt;I suspect Google has a lot more wireless applications coming, and needs to basically insure a way to get them to the people.&lt;/span&gt;&lt;/blockquote&gt;Tabii bu ihaleye teklif verecek olan diğer büyük rakiplerden AT&amp;T de, Google'un bu teklifinin üzerine hemen bir açıklama yayınladı:&lt;br /&gt;&lt;blockquote&gt;&lt;a href="http://gigaom.com/2007/07/20/att-responds-to-google-wireless-bid/"&gt;&lt;span style="font-weight: bold;"&gt;AT&amp;amp;T Responds to Google Bid&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;Google is demanding the Government stack the deck in its favor, limit competing bids, and effectively force wireless carriers to alter their business models to Google’s liking. We would repeat that Google should put up or shut up— they can bid and enter the wireless market with any business model they prefer, then let consumers decide which model they like best.&lt;/blockquote&gt;Açık Kaynak Dünyasının bir taraftarı olarak Google'ın bu "OPEN" hareketlerini canı gönülden destekliyorum :)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-628578608507791720?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/628578608507791720/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=628578608507791720' title='2 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/628578608507791720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/628578608507791720'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2007/07/googledan-kablosuz-internet-ata.html' title='Google&apos;dan Kablosuz Internet Atağı'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-6543826408805345968</id><published>2007-07-15T23:48:00.000+03:00</published><updated>2007-07-16T00:57:30.675+03:00</updated><title type='text'>Robocode and BattleCode</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Bir çoğumuzda olduğu gibi benim de yazılım dünyasına hevesim bilgisiyar oyunlarıyla başladı. İlk bilgisayarım olan &lt;a href="http://en.wikipedia.org/wiki/Commodore_64"&gt;Commodore 64&lt;/a&gt;'ü aldığımdan bu yana hep takıldığım bir oyun mutlaka olmuştur. Fakat son bir yıldır oyunun yerini bloglar, wikiler ve RSS'ler almaya başladı. :)&lt;br /&gt;&lt;br /&gt;Oyun olayını abarttığım dönem ise &lt;a href="http://en.wikipedia.org/wiki/Ultima_Online"&gt;Ultima Online&lt;/a&gt; (UO) oynadığım yıllardır. Aslında &lt;a href="http://en.wikipedia.org/wiki/MMORGP"&gt;MMRPOG&lt;/a&gt;'ciler ne demek istediğimi gayet iyi anlayacaklardır. Bir "RolePlaying" oyunu olan UO'nun en önemli ve en çok zaman alan kısmı ise argoda "skill kasma" diye tabir edilen, bilgisayarın başında anlamsızca saatlerinizi geçirdiğiniz kısımdır. Bu tip oyunlarda karakterinizin yetenekleri kuvvetli değilse hiç birşey yapamazsınız.&lt;br /&gt;&lt;br /&gt;İşte o dönemde UO'da otomatik bir şekilde (unattended) karakter geliştirmenin yollarını ararken &lt;a href="http://www.easyuo.com/"&gt;EasyUO&lt;/a&gt; isminde bir programın varlığını keşfettim. EasyUO kabaca UO'daki client-server arasındaki iletişimi simüle eden bir scripting programıydı. EasyUO kullanarak bir arkadaşımla birlikte öyle scriptler yazmıştık ki, scriptler oyunu bizden daha iyi oynar olmuşlardı. Gece biz uyurken karakterlerimiz otomatik olarak gelişiyordu. Bir nevi oyun robotları yazıyorduk.&lt;br /&gt;&lt;br /&gt;Daha sonra farkettim ki çok kompleks bir oyun için işleri otomatikleştirebiliyorsak, iş dünyasında görece daha basit işler için otomatikleştirme çok daha kolay yapılabilirdi. İşte Apache Ant ve CruiseControl gibi Konfigürasyon Yönetimi araçlarına ilgim bu şekilde başladı.&lt;br /&gt;&lt;br /&gt;Açıkçası oyun oynamak için yazılım yapmanın, yazılım mühendislerine çok şey katacağını düşünüyorum. Bu yüzden birkaç sene evvel takıldığım fakat geçenlerde iş yerinde bir arkadaşla konuşurken tekrar gündeme gelen iki konuyuı sizinle paylaşmak istedim.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;a href="http://robocode.sourceforge.net/"&gt;&lt;span style="font-weight: bold;"&gt;Robocode&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Robocode, yıllar önce IBM mühendislerinden Matthew Nelson tarafından başlatılan açık kaynak bir java oyunu. Şu aralar Flemming N. Larsen tarafından bakımı yapılan oyunda kendi yazdığınız robotları başkalarının robotları ile çarpıştırabiliyorsunuz. Oyunda bir numara olmak için hem Java bilginizi hem de AI, algoritma, vs. gibi bilgilerinizi devamlı geliştirmeniz gerekiyor. Epey bir hayran kitlesi bulunan Robocode'un çeşitli ülkelerde ligleri bile düzenlenmekte. Daha evvel duymadıysanız mutlaka bir deneyin derim. &lt;a href="http://robocode.sourceforge.net/"&gt;http://robocode.sourceforge.net/&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;blockquote&gt;&lt;span style="font-size:78%;"&gt;&lt;a href="http://www-128.ibm.com/developerworks/library/j-robocode2/"&gt;&lt;span style="font-weight: bold;"&gt;Learning never stops with Robocode&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:78%;"&gt;If there was ever any doubt on the ability of Robocode to serve as a great teaching tool for Java programming, algorithm design, basic trigonometry, or even distributed computing principles, this article should settle it. Robocode naturally challenges the beginning robot designer to go "the extra mile" to create winning, advanced robots that reflect their mastery of the programming and algorithm design art. Far from being "just another game," Robocode delivers on its educational goals in the name of friendly competition. If only learning could always be this much fun!&lt;/span&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_LrmmdzKl3hc/RpqIssixmyI/AAAAAAAAACE/YM1v4vMSo70/s1600-h/robocode.jpg"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_LrmmdzKl3hc/RpqIssixmyI/AAAAAAAAACE/YM1v4vMSo70/s400/robocode.jpg" alt="" id="BLOGGER_PHOTO_ID_5087529030521035554" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;a href="http://battlecode.mit.edu/2007/info"&gt;&lt;span style="font-weight: bold;"&gt;BattleCode&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;BattleCode da &lt;a href="http://en.wikipedia.org/wiki/Massachusetts_Institute_of_Technology"&gt;MIT&lt;/a&gt;'de ders olarak okutulan java tabanlı, yarışma tadında bir oyun. Robocode'dan en büyük farkı BattleCode'da takım oyununun ön plana çıkması. Ayrıca BattleCode, Robocode'a göre çok daha karmaşık. Zaten oyunun &lt;a href="http://battlecode.mit.edu/2007/docs/specs.html"&gt;spec&lt;/a&gt;'lerini inceledeğinizde ne demek istediğimi anlayacaksınız.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://battlecode.mit.edu/2007/img/robocraft-screenshot.png"&gt;&lt;img style="cursor: pointer; width: 270px; height: 201px;" src="http://battlecode.mit.edu/2007/img/robocraft-screenshot.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;Sanırım MIT derslerde öğrencilere oyun oynatacak kadar cidiyetsiz bir üniversite. Ben zaten MIT'den daha adam çıktığını hiç duymadım :)&lt;br /&gt;&lt;br /&gt;Bu blog'u da sevgili dostum &lt;a href="http://oktayozgun.blogspot.com/"&gt;Oktay Özgün&lt;/a&gt;'ün vakti zamanında benimle paylaştığı bir yazıyla kapatayım. Ne demişler, "En güzel oyun kendi yazdığınızdır"&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-size:78%;"&gt;&lt;a href="http://edgeperspectives.typepad.com/edge_perspectives/2007/01/gaming_and_lear.html"&gt;&lt;span style="font-weight: bold;"&gt;Gaming and Learning&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;Unlike education acquired through textbooks, lectures, and classroom instruction, what takes place in massively multiplayer online games is what we call accidental learning. It's learning to be - a natural byproduct of adjusting to a new culture - as opposed to learning about. Where traditional learning is based on the execution of carefully graded challenges, accidental learning relies on failure. &lt;span style="font-weight: bold;"&gt;Virtual environments are safe platforms for trial and error. The chance of failure is high, but the cost is low and the lessons learned are immediate.&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-6543826408805345968?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/6543826408805345968/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=6543826408805345968' title='2 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/6543826408805345968'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/6543826408805345968'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2007/07/robocode-and-battlecode.html' title='Robocode and BattleCode'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_LrmmdzKl3hc/RpqIssixmyI/AAAAAAAAACE/YM1v4vMSo70/s72-c/robocode.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-5977525679116709166</id><published>2007-07-15T00:11:00.000+03:00</published><updated>2007-07-15T00:43:24.595+03:00</updated><title type='text'>XStream HierarchicalStreamWriter Örneği</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;a href="http://www.google.com/analytics"&gt;Google Analytics&lt;/a&gt;'in en sevdiğim yanlarından bir tanesi de, blog'umu google üzerinden ziyaret edenlerin hangi anahtar kelimeler kullanarak geldiklerini göstermesi. Analytics kullanmaya başladığım Şubat 2007'den beri bazı konular çok aranmış. Bunların başında da 70 kez sorgulanan &lt;a href="http://xstream.codehaus.org/"&gt;XStream&lt;/a&gt; geliyor.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-family:verdana;"&gt;Geçen yaz XStream ile ilgili bir &lt;a href="http://mustafatan.blogspot.com/2006/08/xstream.html"&gt;blog&lt;/a&gt; yazmış, her zaman yaptığım gibi XStream'in güzelliklerinden ve faydalarından bahsetmiş, kullanım ile ilgili hiç örnek vermemiştim. Çünkü kendi sitesinde gayet güzel örnekler mevcuttu. Ama yine de bu kadar çok aranınca benim de çorbada tuzum olsun misali güzel bir örnek paylaşayım istedim.&lt;br /&gt;&lt;br /&gt;XStream ile tanışmam &lt;a href="http://www.atlassian.com/software/jira"&gt;JIRA&lt;/a&gt;'nın kendi &lt;a href="http://www.atlassian.com/software/jira/docs/latest/backup_data.html"&gt;backup&lt;/a&gt;'larını XML olarak nasıl aldığını merak etmemle başladı. Veritabanın büyüklüğü ne olursa olsun, JIRA JDBC ile bağlanabildiği tüm veritabanlarından aynı standartta ve performansta XML olarak yedekleme yapabiliyordu. Klasik XML araçları ve yöntemleri kullanarak çok büyük miktarlarda verinin xml olarak yazdırılması mümkün değildi. İşte o zaman biraz araştırınca JIRA'nın XStream'in &lt;a href="http://xstream.codehaus.org/javadoc/com/thoughtworks/xstream/io/HierarchicalStreamWriter.html"&gt;HierarchicalStreamWriter&lt;/a&gt; özelliğini kullandığını farketmiştim.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-size:78%;"&gt;XStream is abstracted from the underlying XML data using the &lt;span style="font-weight: bold;"&gt;HierarchicalStreamWriter&lt;/span&gt;  and &lt;span style="font-weight: bold;"&gt;HierarchicalStreamReader&lt;/span&gt;  interfaces for serializing and deserializing respectively.&lt;br /&gt;This abstraction allows XStream to read XML from direct streams using an XML parser or directly manipulate existing structures (such as DOM). &lt;span style="font-weight: bold;"&gt;This prevents the overhead of having to reparse if XStream is working from XML that has been partially processed by other libraries (for instance a SOAP library)&lt;/span&gt;. It also avoids tying XStream to a particular library.&lt;br /&gt;XStream comes bundled with reader and writer implementations for most major XML libraries.&lt;/span&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-family:verdana;"&gt;Uzun lafın kısası XStream ile büyük miktarlarda Object-to-XML operasyonları yapmak isteyenler için bir örnek hazırladım. İlgilenenler aşağıdaki adresten faydalanabilir:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;a href="http://www.gezwiki.com/display/build/XStream+HierarchicalStreamWriter+Tutorial"&gt;XStream HierarchicalStreamWriter Tutorial&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-5977525679116709166?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/5977525679116709166/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=5977525679116709166' title='1 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/5977525679116709166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/5977525679116709166'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2007/07/xstream-hierarchicalstreamwriter-rnei.html' title='XStream HierarchicalStreamWriter Örneği'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-3055182666368364525</id><published>2007-07-11T21:53:00.000+03:00</published><updated>2007-07-12T11:19:13.760+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='gc'/><title type='text'>Java Hafıza Problemleri ve GCViewer</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:Verdana;"&gt;Uzun bir aradan sonra tekrar blog yazmaya vakit bulabildim. Bu uzun aralığa sebep olan da işyerimin tarihinde yaptığı en büyük altyapığı değişikliğinde görev alıyor olmamdı. Geçiş sırasında 24 saatlik nöbetler ile çalıştığımız için gecemiz gündüzümüze karıştı. Çok büyük bır sıkıntı yaşamadan kısa sürede düzelttiğimiz birkaç performans sorunu ile gayet başarılı bir şekilde migration'ı tamamladık.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:Verdana;"&gt;Büyük miktarda verinin söz konusu olduğu migration sonrası yaşanılan en büyük sorunların başında, Uygulama katmanındaki Uygulama Sunucularının performansı gelir. Aynı anda gelen binlerce istek, milyonlarca kayıdın bulduğu tablolar üzerinden işlem yaparak Uygulama Sunucularındaki JVM'lerin canına okurlar. Gerçek production ortamını yaşamadan bazı performans sorunlarını önceden tespit etmeniz mümkün olmaz. Bunların başında da memory sorunları gelmektedir.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:Verdana;"&gt;Hepimizin bildiği gibi Java'nın en temel özelliklerinden biri de hafıza'da işi biten (referansı bulunmayan) objelerinin temizliğini GC (&lt;a href="http://en.wikipedia.org/wiki/Garbage_collection_%28computer_science%29"&gt;Garbace Collector&lt;/a&gt;) mekanizması ile otomatik yapmasıdır. Tabii bu güzel özellik Java geliştiricilerinin hafızayı hoyratça ve sorumsuzca kullanmasına neden olmaktadır. Nasıl olsa GC herşeyi temizlemektedir.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:Verdana;"&gt;Normalde aynı anda 100 isteğe cevap veren uygulama sunucunuz, yeni bir deployment sonrası daha 50 isteğe gelmeden sıkışmaya başlıyor, gelen istekleri kuyruğa atıyor, CPU tavana vuruyorsa, ilk bakmanız gereken yer JVM'in hafızasıdır. Eğer her bir istekte, memory'de çok büyük yer kaplayan objeler işleniyorsa GC'nin çalışması sistemin performansını korkunç derecede düşürecektir.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:Verdana;"&gt;Genelde Java Uygulamaları, sunucunun toplam hafızası baz alınarak, JVM'in hafızadan kullanacağı maksimumum değeri gösteren -Xmx parametresi ile başlatılır.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;br /&gt;JAVA_OPTS="-Xms2048m &lt;span style="color: rgb(255, 0, 0);"&gt;-Xmx2048m&lt;/span&gt;"&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:Verdana;"&gt;Peki yukarıdaki örnekte olduğu gibi JVM, 2GB hafıza ile çalıştırılmış olmasına rağmen çok kötü bir performans gösteriyorsa sorunun hafıza kaynaklı olup olmadığını nasıl anlayacağız? Bunun tespiti için  öncelikle JVM'i GC loglaması yaptıran aşağıdaki parametreler ile başlatmamız gerekmektedir.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;br /&gt;JAVA_OPTS="-Xms2048m -Xmx2048m &lt;span style="color: rgb(255, 0, 0);"&gt;-Xloggc:gc.log -XX:+PrintGCDetails -XX:+PrintGCTimeStamps&lt;/span&gt;"&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:Verdana;"&gt;-Xloggc:&lt;filename&gt; parametresi, her GC çalıştığında verdiğiniz dosyaya loglama &lt;/filename&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;filename&gt;yapılmasını &lt;/filename&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;-XX:+PrintGCDetails -XX:+PrintGCTimeStamps&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;parametreleri de bu loglamanın detaylı yapılmasını sağlayacaktır. Uygulamamızı tekrardan başlattıktan sonra oluşmaya başlayan log dosyasını (gc.log), &lt;a href="http://www.tagtraum.com/gcviewer-download.html"&gt;http://www.tagtraum.com/gcviewer-download.html&lt;/a&gt; adresinden ücretsiz olarak indirebileceğimiz &lt;a href="http://www.tagtraum.com/gcviewer.html"&gt;GCViewer&lt;/a&gt; ile açmamız yeterlidir. Eğer uygulamamızda bir memory problemi var ise, yük altında iken kısa bir süre sonra aşağıdaki gibi bir resimle karşılaşacağız:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_LrmmdzKl3hc/RpU9cSItA5I/AAAAAAAAAB0/xbYFhVba0Sc/s1600-h/gc_throughput_low.jpg"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_LrmmdzKl3hc/RpU9cSItA5I/AAAAAAAAAB0/xbYFhVba0Sc/s400/gc_throughput_low.jpg" alt="" id="BLOGGER_PHOTO_ID_5086038910298817426" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Peki bu resimdeki grafik bize tam olarak ne anlatıyor kısaca anlatmaya çalışayım. &lt;span style="color: rgb(51, 51, 255);"&gt;Mavi&lt;/span&gt; zikzak çizgiler o an JVM'de kullanılan hafızayı, siyah uzun çubuklar ise Full GC'nin çalıştığı zamanları ve pause sürelerini göstermektedir. Ekranın Sağ alt köşesindeki &lt;span style="font-weight: bold;"&gt;Throughput&lt;/span&gt; değeri ise JVM'in GC nedeniyle duraklamadan (pause) geçirdiği sürenin toplam süreye oranını göstermektedir.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Yukarıdaki grafikte JVM'in uygulama açıldıktan yaklaşık 15 dakika sonra memory sıkıntısı çekmeye  başladığı, bunun üzerinde hafızadaki kullanılmayan objeleri temizlemek için bol bol GC çalıştırdığı, fakat memory'den büyük yer kaplayan objeler bulunduğu için daha sık GC çalıştırmak zorunda kaldığı açıkça görülmektedir. Throughput değeri %55'lere düşmüş, ortalama pause süresi 3.5sn.'lerde gezinmektedir. Bu şekilde çalışmaya devam eden JVM eninde sonunda "Out Of Memory" hatası alacaktır.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Her ne kadar tercih edilen GC algoritmasına göre pause süreleri değişse de, her GC çalışması sistemde bir performans kaybına yol açar. Aşağıdaki gibi sağlıklı bir GC grafiği için büyük miktarlarda hafıza k&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;ullanan objelerden uzak durmak ve de JVM'i güzel "&lt;a href="http://java.sun.com/performance/reference/whitepapers/tuning.html"&gt;Tune&lt;/a&gt;" etmek gerekmektedir.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_LrmmdzKl3hc/RpVHCyItA6I/AAAAAAAAAB8/BvqAqq2X0bY/s1600-h/gc_throughput_high.jpg"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_LrmmdzKl3hc/RpVHCyItA6I/AAAAAAAAAB8/BvqAqq2X0bY/s400/gc_throughput_high.jpg" alt="" id="BLOGGER_PHOTO_ID_5086049467328431010" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;Görüldüğü gibi bu JVM gayet istikrarlı bir şekilde, kendisine ayrılan hafızanın yarısını kullanarak %98 Throughput değerlerinde çalışmaktadır. Fazla yük yok iken JVM zaten default değerlerinde gayet sağlıklı çalışır. Fakat yük altındayken işler değişir.&lt;br /&gt;&lt;br /&gt;Bir başka blogumda yüksek yük altında çeşitli JVM parametrelerini kullanarak Throughput'u nasıl yüksek tutabileceğimizi anlatmaya çalışacağım. Aşağıda da özellikle developer arkadaşlara hitap eden bu konuyla ilgili güzel bir blog mevcut:&lt;blockquote&gt;&lt;span style="font-size:78%;"&gt;&lt;a href="http://www.theserverside.com/tt/knowledgecenter/knowledgecenter.tss?l=NoObjectsLeftBehind"&gt;&lt;span style="font-weight: bold;"&gt;No Objects Left Behind&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If we believe what the graphic that is telling us that the cost of garbage collection is related to the number of objects left behind, the obvious solution is to not leave objects behind. The most reliable way to release objects as soon as possible is to narrow their scope. We can achieve this by moving statically scoped variables to be instance based. We can move instance based variables to local scoping. We need to ask questions such as: “Can we eliminate this variable altogether? Is there any element in the design that is forcing us to hold onto data for longer than is necessary?” Another important aspect is the JVM’s configuration. Is there anything we can do in that regard to help the garbage collector cope with higher rates of object churn? In a vast majority of cases the answers to these questions are yes, yes, and yes. Beware, this advice gets muddled when you consider objects that have a high cost of acquisition.&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-3055182666368364525?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/3055182666368364525/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=3055182666368364525' title='5 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/3055182666368364525'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/3055182666368364525'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2007/07/java-hafza-problemleri-ve-gcviewer.html' title='Java Hafıza Problemleri ve GCViewer'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_LrmmdzKl3hc/RpU9cSItA5I/AAAAAAAAAB0/xbYFhVba0Sc/s72-c/gc_throughput_low.jpg' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-1642532411312702059</id><published>2007-06-23T15:14:00.000+03:00</published><updated>2007-06-23T15:37:56.802+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='wiki'/><category scheme='http://www.blogger.com/atom/ns#' term='RSS'/><title type='text'>Yalın İngilizce ile Video Sunumları</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Web 2.0 rüzgarının en önemli etkilerinden biri de Internet üzerinden iletişimin şeklinin değişmesi. Artık insanlar forumlar yerine blogları, mail'ler yerine RSS'leri, word yerine wiki'leri tercih ediyor.&lt;br /&gt;&lt;br /&gt;Youtube ile birlikte ise PowerPoint sunumları yerine video sunumları çok daha tercih edilir oldu. CV'ler bile artık Youtube Video'su şeklinde hazırlanıyor.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.commoncraft.com/"&gt;CommonCraft &lt;/a&gt;Firması da Vidoe Sunum işini profesyonelce ve eğlenceli bir şekilde yapanlardan. Neden bu işe giriştiklerini ise web sitelerinde şu şkilde ifade etmişler:&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Your customers think you're funny.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;The question is: Are they laughing at you or with you?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;We're social design consultants. By helping you get started with online communities, we can make sure you don't miss the punchline. We also produce short videos "&lt;span style="font-weight: bold;"&gt;In Plain English&lt;/span&gt;" using a special format we call paperworks.&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;CommonCraft, &lt;a href="http://en.wikipedia.org/wiki/Rss"&gt;RSS&lt;/a&gt;'i ve &lt;a href="http://en.wikipedia.org/wiki/Wiki"&gt;Wiki&lt;/a&gt;'yi gerçekten basit bir İngilizce ve çok güzel video sunumları ile anlatmışlar. Özellikle çevrenizdeki insanları (arkadaşlarınız, patronlarınız, yöneticileriniz, vs.) Web 2.0 teknolojilerinin faydaları konusunda ikna edemiyorsanız aşağıdaki video'ları şiddetle öneririm:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Wikis in Plain English&lt;/span&gt;&lt;br /&gt;&lt;object height="350" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/-dnL00TdmLY"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/-dnL00TdmLY" type="application/x-shockwave-flash" wmode="transparent" height="350" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;RSS in Plain English&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;object height="350" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/0klgLsSxGsU"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/0klgLsSxGsU" type="application/x-shockwave-flash" wmode="transparent" height="350" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-1642532411312702059?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/1642532411312702059/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=1642532411312702059' title='2 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/1642532411312702059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/1642532411312702059'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2007/06/yaln-ingilizce-ile-video-sunumlar.html' title='Yalın İngilizce ile Video Sunumları'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-4738612408165416127</id><published>2007-06-23T11:14:00.000+03:00</published><updated>2007-06-23T13:20:39.469+03:00</updated><title type='text'>Telco 2.0</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Biliyorsunuz bu aralar her akımın 2.0 'ı moda. Web 2.0, Enterprise 2.0, SOA 2.0, vs... Bu moda Telekom Dünyası için de geçerli. Genelde bir teknolojinin 2.0 versiyonu çıktımı bilin ki o versiyonla birlikte yeni oyuncular da sahnededir. &lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;JBoss'un 2 numaralı adamı Sacha Labourey, JBoss'un da Telekom dünyasına el attığını dün resmen açıkladı:&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:78%;"&gt;&lt;blockquote&gt;&lt;a href="http://blogs.jboss.com/blog/slabourey/?permalink=JBoss_Entering_the_Telco_Market.txt"&gt;&lt;span style="font-weight: bold;"&gt;JBoss Entering the Telco Market&lt;/span&gt;&lt;/a&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:78%;"&gt;&lt;blockquote&gt;&lt;span style="font-weight: bold;"&gt;Where is the Telco market going?&lt;/span&gt; It is moving (this started quite a while ago in fact) towards the “dumb network”. While calling your future strategy a “dumb network” might not seem a very smart career move at first, well, it is. Leveraging a dumb network means that the next-gen Telco will be able to leverage the omnipresent and highly redundant IP network called the Internet (possibly backed by private redundant paths) for all of their “communications” (voice, messenger, video, smoke signals, etc.) and services...&lt;/blockquote&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:78%;"&gt;&lt;blockquote&gt;&lt;span style="font-weight: bold;"&gt;the Next-Gen Telco (Telco 2.0) &lt;/span&gt;will run on much cheaper and flexible networks and provide new services that would remain a nice dream with the good old legacy Telco paradigm...&lt;/blockquote&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:78%;"&gt;&lt;blockquote&gt;&lt;span style="font-weight: bold;"&gt;So where does JBoss and Red Hat fit in this picture?&lt;/span&gt; We announced this week that JBoss will lead the development and productization of the Mobicents project into a fully supported “JBoss Communications Platform”. &lt;a href="http://www.mobicents.org-a.googlepages.com/"&gt;Mobicents&lt;/a&gt; is the first and only Open Source Platform certified for both SIP and JSLEE compliance, complementing J2EE to enable convergence of voice, video, instant messaging and data in next generation intelligent applications.&lt;br /&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:78%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.mobicents.org-a.googlepages.com/98738660_beee6be6e9_o.jpg"&gt;&lt;img style="cursor: pointer; width: 400px;" src="http://www.mobicents.org-a.googlepages.com/98738660_beee6be6e9_o.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/blockquote&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Kısaca "Telco 1.0" dediğimiz şu an ki klasik iletişim araçlarımız olan sabit telefon (&lt;a href="http://en.wikipedia.org/wiki/PSTN"&gt;PSTN&lt;/a&gt;) ve cep telefonlarımızın (&lt;a href="http://en.wikipedia.org/wiki/GSM"&gt;GSM&lt;/a&gt;) üzerinde koştuğu teknolojileri simgeliyor. Bu teknoolojinin altyapısı ağrılıklı olarak donanım tabanlıdır ve bu donanımlar kendine özgüdür. Cihazlar arası iletişimde özel protokoller kullanılır. Ürün ve servis geliştrmek pahalı ve zahmetlidir. Genelde geliştirilen her ürün için donanım ve yazılım güncellemesi ihtiyacı ortaya çıkar.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;Telco 2.0 diye tabir edilen iletişim teknolojisi ise IP tabanlıdır. Buna en güzel örnek Skype, MSN, vs. ile yaptığınız görüntülü veya sesli &lt;a href="http://en.wikipedia.org/wiki/Voip"&gt;VOIP&lt;/a&gt; tabanlı görüşmelerdir. Hatırlayın Skype'yi PC'nize kurduktan sonra yazılım sizden bir kulaklık ve mikrofon haricinde birşey istedi mi? Bilgisayarınızı değiştmenizi ? veya yeni bir kart takmanızı ? Tabii ki hayır.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;İşte Telco 2.0, aynı IT dünyasında olduğu gibi donanımlara çok bağımlı olmadan IP tabanlı, ucuz, bakımı kolay Telekominikasyon Ürünleri ve Servisleri geliştme imkanı sunuyor.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;Bazılarınızın aklından, dünkü çocukların koca Telekom devlerine verisyonu bir arttırarak meydan okuyamayacağı düşüncesi geçiyor olabilir. Hatırlatırım zamanında Microsft Google'ı, IBM de JBoss'u dünkü çocuk olarak görmüştü. İsterseniz IP tabanlı, özellikle kablosuz teknolojiler şu aralar ne alemde dünyadan haberler ile bir göz atalım. Telekom Devlerinin işlerinin ne kadar zorlaşmaya başladığını daha iyi anlayacaksınız.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Daha önceki bir &lt;a href="http://mustafatan.blogspot.com/2007/04/free-wi-fi.html"&gt;blogumda&lt;/a&gt; Meraki'nin Amerika'da Wi-Fi tabanlı basit cihazlarla çok ucuza veya bedava internet hizmeti verdiğini duyurmuştum. Meraki geçenlerde güneş enerjisi ile çalışan bir repeater'ını duyurdu:&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;blockquote&gt;&lt;span style="font-size:78%;"&gt;&lt;a href="http://gigaom.com/2007/06/03/meraki-outdoor-repeater/"&gt;&lt;span style="font-weight: bold;"&gt;Meraki meshes, one Repeater at a time and some solar power&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;The repeater can pick up signal from a $49 Meraki Mini, which can take the fixed line input and distribute it via a mesh of outdoor repeaters into a neighborhood. The outdoor repeater can be stuck on a wall or a pole and can be coupled with a solar kit (comprised of solar panel, battery pack and an outdoor Ethernet cable) that can eliminate the need to run powerlines to mesh networking devices.&lt;br /&gt;&lt;br /&gt;Meraki claims with this low cost solution, the price to connect homes with high-speed wireless Internet access comes to between $1-to-$2 a month. This makes it particularly attractive in emerging economies, where power is at a premium, and running wires can be a bit of a chore. This solution can also come in handy for small communities in the developed world. The best use-case scenario for Meraki will be neighborhoods that can create their own smaller, Wi-Fi clouds.&lt;/span&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:78%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://gigaom.files.wordpress.com/2007/06/merakisolar.jpg"&gt;&lt;img style="cursor: pointer; width: 400px;" src="http://gigaom.files.wordpress.com/2007/06/merakisolar.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;Telekom operatörlerinin en büyük korkularından birisi de, küçük firmaların kendi hatları üzerinden müşterilerine çok daha ucuza VOIP hizmeti vermesidir. Bu tip girişimleri ellerinden geldiğince engellemeye çalışırlar. Bunun bir örneği de İngiltere'den:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;blockquote&gt;&lt;a href="http://gigaom.com/2007/06/15/tmobile-truphone/"&gt;&lt;span style="font-weight: bold;"&gt;CellCarriers fear mobile VoIP planet&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Mobile carriers are scared of one thing: becoming dumb pipes whose only utility is to carry voice and text.&lt;/span&gt; And it is one of the reasons why they are fighting tooth and nail with the mobile VoIP providers, using all sorts of tactics to make mobile VoIP a non-starter. (See video below the fold!)&lt;br /&gt;&lt;br /&gt;The company bearing the brunt of this scorched-earth policy is Truphone, a UK-based start-up that &lt;a href="http://gigaom.com/2007/01/01/truphone/"&gt;has developed a mobile VoIP client that makes it easy to make cheap calls&lt;/a&gt; (cheaper than mobile minutes that is) over dual mode phone, like Nokia N95 and Nokia E-Series phones. Once again, the company finds itself in the cross hairs of a behemoth that wishes to see Truphone go away.&lt;/blockquote&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;object height="350" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/eH0auDTbHx4"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/eH0auDTbHx4" type="application/x-shockwave-flash" wmode="transparent" height="350" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;Micorosoft da boş durur mu? O da Telekom dünyasına el atmaya başladı:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;blockquote&gt;&lt;a href="http://www.itwire.com.au/index.php?option=com_content&amp;task=view&amp;amp;id=12965&amp;Itemid=1095"&gt;&lt;span style="font-weight: bold;"&gt;Microsoft's next assault on telecoms market, via Telco 2.0&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;This week at NXTcomm 2007, (a big US telecoms trade show) Microsoft promises to demonstrate "how it helps telecommunications providers make the transition to Telco 2.0, where traditional telecommunications offerings meld with technologies from the Web 2.0 world to form a nearly endless range of innovative new services."&lt;br /&gt;&lt;br /&gt;Microsoft says it will highlight three components critical to making Telco 2.0 a reality: &lt;span style="font-weight: bold;"&gt;screens, services and service delivery.&lt;/span&gt; Solutions and products featured at the show will include Microsoft Mediaroom, the latest update to its IPTV Edition software platform, Microsoft Windows Mobile enhanced products for VoIP services, hosted messaging and collaboration, and a host of others.&lt;/blockquote&gt;&lt;/span&gt;Geçenlerde VOIP üzerine Turk.internet.com 'da Yusuf Alakavuk güzel bir yazı yayınlandı:&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-size:78%;"&gt;&lt;a href="http://turk.internet.com/haber/yazigoster.php3?yaziid=18471"&gt;&lt;span style="font-weight: bold;"&gt;Kelebek Etkisi ve VoIP&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;Burada bahsettiğimiz Kelebek Etkisi ile “VoIP” teknolojisinden bahsediyoruz. 90’ların ortasında kanatlarını çırpmaya başlayan bu teknoloji bugünlerde sert rüzgarlar halinde esmeye başladı ve uzmanların görüşlerine göre 2008 ile 2010 yılları arasında ciddi bir fırtınaya dönüşecek.&lt;br /&gt;&lt;br /&gt;Artık Microsoft “www.microsoft.com“ gibi büyük yazılım şirketleri bu alana girmeye başladılar. Mevcut şirketler değişen şartlara göre stratejilerini gözden geçiriyorlar. Açık kaynak yazılım üreten topluluklar bu alanda bir çok proje ürettiler ve üretiyorlar. Hatta açık kaynak VoIP yazılımları başka Açık Kaynak yazılımlarla entegre oldular. Bu durum servis konusunda tecrübeli daha ufak şirketleri bu alana çekiyor. Hatta ülkemizde de bu alanda çözümler üreten Cwiz “www.cwiz.com.tr“ gibi ürünler görülüyor. Bu değişimin sebebi ise 90 ların ortasında kanatlarını çırpmaya başlayan VoIP kelebeği.&lt;/span&gt;&lt;/blockquote&gt; Son olarak bir dünya rekoru haberini sizinle paylaşmak istiyorum. Biz Wimax'i beklerken Wi-Fi 'da boş durmuyor:&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-size:78%;"&gt;&lt;a href="http://news.com.com/8301-10784_3-9730708-7.html?part=rss&amp;subj=news&amp;amp;tag=2547-1_3-0-20"&gt;&lt;span style="font-weight: bold;"&gt;New Wi-Fi distance record: 382 kilometers&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;Researcher Ermanno Pietrosemoli has set what appears to be a new record for the longest communication link with Wi-Fi.&lt;br /&gt;&lt;br /&gt;Pietrosemoli, president of the Escuela Latinoamerica de Redes (which means networking school of Latin America) established a Wi-Fi link between two computers located in El Aguila and Platillon Mountain, Venezuela. That's a distance of 382 kilometers, or 238 miles. He used technology from Intel, which is concocting its own long-range Wi-Fi equipment, and some off-the-shelf parts. Pietrosemoli gets about 3 megabits per second in each direction on his long-range connections. &lt;/span&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:78%;"&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:78%;"&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:78%;"&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:78%;"&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:78%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://blog.fon.com/en/archive/antenna.jpg"&gt;&lt;img style="cursor: pointer; width: 400px;" src="http://blog.fon.com/en/archive/antenna.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-4738612408165416127?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/4738612408165416127/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=4738612408165416127' title='3 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/4738612408165416127'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/4738612408165416127'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2007/06/telco-20.html' title='Telco 2.0'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-752412207707648980</id><published>2007-06-10T09:37:00.000+03:00</published><updated>2007-06-10T11:03:02.747+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='CruiseControl'/><category scheme='http://www.blogger.com/atom/ns#' term='Apache Ant'/><category scheme='http://www.blogger.com/atom/ns#' term='Otomasyon'/><title type='text'>Otomatikleştiremediklerimizdenmisiniz?</title><content type='html'>&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;Java geliştiricileri iyi bilir, bir web uygulaması geliştirirken sık sık "Derle, Paketle, Kopyala, Deploy Et, Cache'leri sil, Sunucuyu Yeniden Başlat, vs." adımları tekrar tekrar çalıştırılır. Bu işlemler çok sık yapıldığı ve zaman aldığı için manuel olarak gerçekleştirmek gerçek bir baş ağrısıdır.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;İşte bu yüzden Sun mühendislerinden &lt;a href="http://en.wikipedia.org/wiki/James_Duncan_Davidson"&gt;James Duncan Davidson&lt;/a&gt;, vakti zamanında şu an Apache Tomcat diye bilinen meşhur JSP/Servlet sunucusunu açık kaynak dünyaya kazandırmaya çalışırken başı çok ağrımış ve &lt;a href="http://ant.apache.org/"&gt;Apache Ant&lt;/a&gt;'ın temellerini atmış. Ant sayesinde yazılım geliştirme adımları bir xml dosyasında sırayla çalışacak şekilde tanımlanabilir olmuş ve bu adımlar geliştiriciler tarafından sadece bir komut çalıştırılarak gerçeklenebilir hale gelmiş.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_LrmmdzKl3hc/RmuhTZdKXyI/AAAAAAAAABk/PrQvPdofLCM/s1600-h/build_xml.JPG"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_LrmmdzKl3hc/RmuhTZdKXyI/AAAAAAAAABk/PrQvPdofLCM/s400/build_xml.JPG" alt="" id="BLOGGER_PHOTO_ID_5074326759785783074" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;Apache Ant kullanıcılar tarafından tetiklenerek (ben buna &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;yarı-otomatik diyorum :) &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;) bir çok işi halledip verimlilik artışı sağlasa da, meşhur yazılım gurusu &lt;a href="http://en.wikipedia.org/wiki/Martin_Fowler"&gt;Martin Fowler&lt;/a&gt; gerçek verimliliğin bu işlemlerin Sürekli Entegrasyon (&lt;a href="http://www.martinfowler.com/articles/continuousIntegration.html"&gt;Continuous Integration&lt;/a&gt;) kapsamında tam otomatize edildiğinde sağlanabileceğini ifade etmiş. Tabii ardından Martin Fowler'ın da ekip üyesi olduğu Yazılım Danışmanlık firması &lt;a href="http://www.blogger.com/www.thoughtworks.com/"&gt;Thoughtworks,&lt;/a&gt; Apache Ant gibi açık kaynak bir ürün olan &lt;a href="http://cruisecontrol.sourceforge.net/"&gt;CruiseControl&lt;/a&gt; ü piyasaya sürmüş.&lt;br /&gt;&lt;br /&gt;CruiseControl sayesinde, Ant scriptleri tam otomatize edilebilir hale gelmiş. Ayrıca istenildiği zamanda veya periyotta scriptler çalıştırılıp, sonuçlarının rapor halinde yayınlanması ve e-mail, messenger, RSS gibi araçlar aracılığıyla bilgilendirmesi sağlanmış.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_LrmmdzKl3hc/Rmuki5dKXzI/AAAAAAAAABs/fvjhauNpeI4/s1600-h/config_xml.JPG"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_LrmmdzKl3hc/Rmuki5dKXzI/AAAAAAAAABs/fvjhauNpeI4/s400/config_xml.JPG" alt="" id="BLOGGER_PHOTO_ID_5074330324608638770" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;TDD'nin (&lt;a href="http://en.wikipedia.org/wiki/Test_Driven_Development"&gt;Test Driven Development&lt;/a&gt;) yaygınlaşmasıyla Ant insanlara yetmez olmuş, benzer mantıkla çalışan daha yetenekli fakat kompleks &lt;a href="http://maven.apache.org/maven-1.x/"&gt;Maven&lt;/a&gt;, &lt;a href="http://maven.apache.org/"&gt;Maven2&lt;/a&gt; gibi build araçları ortaya çıkmış. Fakat sürekli yeni araçlar çıkmasına karşın, maalesef işlerin otomatikleştirilmesi hep aynı kişiler tarafından yapılmış. &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;Özellikle Sistem Admin'ler başta olmak üzere birçok programcı, testçi, vs. günlük çok sık tekrarladıkları işleri otomatize etmemektedirler. Ben özellikle zaman yokluğundan ve angarya işlerden (yedekleme, kopyalama, ftp, kapat-aç, vs.) şikayet eden sistemcilerin otomasyonla neden ilgilenmediğini hiç anlayamamışımdır. &lt;span style="font-weight: bold;"&gt;Özellikle elimizin altında Apache Ant gibi her işletim sisteminde çalışan, programlama bilgisi gerektirmeyen, tanımların xml dosyasına yapıldığı, dosya kopyalamaktan ftp yapmaya, mail atmaktan sql çalıştırmaya kadar her türlü task'ın bulunduğu bir build aracı varken.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Ayrıca bir çok yazılım geliştirici kendi Ant Task'larını programlarının yanında ücretsiz vermekte. Örneğin bir Weblogic Admin'i &lt;a href="http://edocs.bea.com/wls/docs92/programming/wldeploy.html"&gt;wldeploy ant task&lt;/a&gt;'ını kullanarak çay makinasının başında geyik yaparken bir yandan deployment'larını otomatik yaptırabilir.&lt;br /&gt;&lt;br /&gt;Uzun lafın kısası yazılım dünyasında herşey otomatize edilebilir. Eğer bu yazıyı okuduktan sonra gaza gelip "Ben de işlerimi otomatize edeceğim fakat nereden başalayacağım" düşüncesi aklından geçen arkadaşlar olursa, &lt;a href="http://www.gezwiki.com/"&gt;http://www.gezwiki.com&lt;/a&gt; adresinde başta Apache Ant ve CruiseControl olmak üzere çok sık kullandığım otomasyon araçları ile ilgili örnekler yayınlıyorum. Şu an örnek sayısı çok fazla değil ama var olan örnekler gerçekten çok ihtiyaç duyulanları içeriyor. Sizde katkı sağlamak isterseniz lütfen irtibata geçmekten çekinmeyin. Bu arada site &lt;a href="http://www.atlassian.com/software/confluence/personal-wiki.jsp"&gt;Confluence Personal Wiki&lt;/a&gt; üzerinde. &lt;a href="http://www.atlassian.com/"&gt;Atlassian&lt;/a&gt; firması  ticari olmayan işler için Wiki ürününü ücretsiz veriyor.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;Aranızda kendime ayıracak vakit bulamıyorum diyenleriniz varsa önce kendinize "Çok sık tekrarladığım işlerin ne kadarını otomatize ettim" diye bir sorun.&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-752412207707648980?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/752412207707648980/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=752412207707648980' title='1 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/752412207707648980'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/752412207707648980'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2007/06/otomatikletiremediklerimizdenmisiniz.html' title='Otomatikleştiremediklerimizdenmisiniz?'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_LrmmdzKl3hc/RmuhTZdKXyI/AAAAAAAAABk/PrQvPdofLCM/s72-c/build_xml.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-6496290935367374526</id><published>2007-06-02T22:55:00.000+03:00</published><updated>2007-06-16T16:52:44.124+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='player'/><category scheme='http://www.blogger.com/atom/ns#' term='portable'/><category scheme='http://www.blogger.com/atom/ns#' term='divx'/><category scheme='http://www.blogger.com/atom/ns#' term='avi'/><title type='text'>SABA DMP271</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;En büyük zevklerimden biri de dizi seyretmek. Ben de bir çoğunuzun yaptığı gibi &lt;a href="http://en.wikipedia.org/wiki/Lost_%28TV_series%29"&gt;Lost&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Heroes_%28TV_series%29"&gt;Heroes&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Prison_Break"&gt;Prison Break&lt;/a&gt; vs. gibi &lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;&lt;a href="http://en.wikipedia.org/wiki/DivX_%3B-%29"&gt;DIVX&lt;/a&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;formatındaki dizileri haftası haftasına takip ediyorum. &lt;a href="http://www.divxforever.net/"&gt;www.divxforever.net&lt;/a&gt; gibi sitelerden de divx için altyazı tedarik ediyorum. Bu dizileri de genelde laptopumda &lt;a href="http://mustafatan.blogspot.com/2007/03/divx-tools.html"&gt;VLC Player&lt;/a&gt; ile izliyorum.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Fakat dizi ve film izlemek için pek fazla zaman bulamıyorum. Aslına bakarsanız bu iş için en uygun zaman ev-iş-ev arasında serviste geçen zaman. Laptop'u her zaman yanımda taşımadığım için servis yolculuklarım genelde radyo dinleyerek geçiyor.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;İşte uzun zamandır altyazıları ile birlikte her türlü DIVX'i oynatacak, çözünürlüğü güzel, ekranı ne büyük ne de küçük, pil ömrü yüksek, fiyatı uygun bir &lt;a href="http://en.wikipedia.org/wiki/Portable_Media_player"&gt;&lt;span style="font-weight: bold;"&gt;Portable Media Player&lt;/span&gt;&lt;/a&gt; arıyordum. Bugün tesadüfen &lt;a href="http://www.electronicpartner.com.tr/"&gt;EP:Center&lt;/a&gt;'da gezinirken 7 inch'lik bir ekranda Lost'un son bölümünün, hem de türkçe altyazısı ile birlikte oynadığını gördüm. Cihazı (&lt;a href="http://www.teknosa.com.tr/Cultures/tr-TR/Products/urundetay.htm?CS_ProductID=135171146&amp;CS_Category=_CERCEVE719&amp;amp;CS_Catalog=_FOTOGRAF___VIDEO_KAMERA"&gt;SABA DMP271&lt;/a&gt;) biraz inceleyince uzun zamandır aradığım özelliklerde olduğunu farkettim. Tabii hemen 199 YTL'yi bayılıp satın aldım.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img.teknosa.com/pimages/product_format7_135171146.jpg"&gt;&lt;img style="cursor: pointer; width: 400px;" src="http://img.teknosa.com/pimages/product_format7_135171146.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Cihazı eve getirdikten sonra yaptığım ilk iş &lt;a href="http://en.wikipedia.org/wiki/Atlantis_%28stargate%29"&gt;Stargate Atlantis&lt;/a&gt; dizisinden bir bölüm izlemek oldu. İşte cihaz hakkındaki ilk izlenimlerim:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-weight: bold;"&gt;Olumlular&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;199 YTL'lik fiyatı, sağladığı özelliklerine göre çok iyi.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;7" 'lik ekranı ve yarım kiloluk ağırlığı gayet rahat bir izleme imkanı sunuyor.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Bilinen her türlü medyayı (MPEG1/2/4, AVI, DIVX, MP3, JPEG vs.) oynatabiliyor.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;DIVX altyazı desteği mevcut. Türkçe karakterler bozulmuyor ve gayet okunaklı. Birden fazla altyazıyı aynı klasöre koyup bir tuşla altyazılar arası geçiş yapabiliyorsunuz.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;Cihaz üzerinde kontrol düğmelerinin olmasının yanında bir de çok şık bir kumandası mevcut. Özellikle cihazı televizyona bağladığınızda çok işe yarıyor.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Cihaza harici olarak USB veya SD/MMC/MS hafıza kartları takılabiliyor. Ben cihazı alırken bir de Kingston marka 2GB USB Hafız Kartı aldım, filmleri bu kart üzerinden izliyorum.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Yaklaşık 1.5-2 saatlik pil ömrü mevcut. Kulaklıkla dinlendiğinde sanırım bu süre değişecektir. Çünkü dışarı ses veren hoparlörleri de mevcut.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;SABA DMP 271&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt; ile birlikte gelen Türkçe bir kullanma kılavuzu ve yaygın bir Servis Listesi mevcut. Ayrıca cihazın yazılımının gerektiğinde sitesinden güncellenebileceği belirtilmiş. Umarım bu cümlede kastedilen DIVX codec'lerin de güncellenebildiği.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;SABA DMP-271 USB external hard-disk'leri de destekliyor. Bir arkadaşın laptop'u için kullandığı hard-disk'i takıp denedik, gayet güzel çalışıyor. Hard-disk elektriğini de USB'den alıyordu.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Birden çok dosyaya bölünmüş filmeleri de kesinti yapmadan alt yazıları ile birlikte izleyebiliyorsunuz. Cihaz bir dosyanın sonuna geldiğinde fazla hisstermeden diğer dosyaya geçiyor. &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Eğer dosya isimlerini öncelik sırasına göre alfabetik bir şekilde verirseniz dosya sonlarında yeniden ayar yapmanıza gerek kalmaz. &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;(Örnek dosya isimleri : film1.avi, film2.avi, film1.srt, film2.srt)&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-weight: bold;"&gt;Olumsuzlar&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;Bana şu ana kadar en olumsuz yan olarak gözüken cihazın etrafındaki gereksiz saydam çervece. Gerçek fotoğraf çerçevesi hafası vermesi için tasarlanmış bu fazlalık kolayca çıkarılamıyor. Sanırım servise götürmem gerekecek.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;Cihazla birlikte gelen bir çanta veya kılıf yok. Sanırım üreticiler bu cihazın sadece masa üstünde kullanılacağını düşünmüşler. Bizim gibi mobilite düşkünü bir toplumu düşünmemişler.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;Kutusundan1 adet AV Kablosu çıkıyor ama cihazı televizyon bağlamak için yeterli değil. Gerçi ben de daha evvel aldığım çeşitli cihazlardan kalma scart, vs. kablosu vardı bu yüzden pek sorun yaşamadım ama sizin bu iş için ekstradan bir kablo almanız gerekebilir.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;Eğer ev-iş-ev arasında serviste çok vakit geçiriyorsanız ve dizi, film vs. izlemeyi seviyorsanız böyle bir cihazı kesinlikle tavsiye ederim.&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-6496290935367374526?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/6496290935367374526/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=6496290935367374526' title='4 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/6496290935367374526'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/6496290935367374526'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2007/06/saba-dmp271.html' title='SABA DMP271'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-7090596006404500156</id><published>2007-05-20T15:59:00.000+03:00</published><updated>2007-05-20T18:40:32.672+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='kitap'/><category scheme='http://www.blogger.com/atom/ns#' term='eğitim'/><title type='text'>Çocuklar İçin Ücretsiz Java Kitabı</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Java Gurusu ve aynı zamanda birçok Java kitabının yazarı &lt;a href="http://www.javalobby.org/forums/profile.jspa?userID=125662"&gt;Yakov Fain&lt;/a&gt; bir tane de çocuklar için, karikatürlerle renklendirdiği bir Java kitabı yazmış. Kitabın orijinal adı "&lt;a href="http://www.faratasystems.com/display_page.php?page_id=197"&gt;Java Programming for kids, parents and grandparents&lt;/a&gt;" ve ücretsiz olarak pdf formatında (İngilizce ve Fransızca) piyasaya çıkmış. (&lt;a href="http://www.smartdataprocessing.com/JavaKid811.pdf"&gt;İndirmek için tıklayınız&lt;/a&gt;)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.faratasystems.com/images/publications/cover4.jpg"&gt;&lt;img style="cursor: pointer; width: 320px;" src="http://www.faratasystems.com/images/publications/cover4.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Bu kitap ilk bakışta he ne kadar sadece çocuklara hitap ediyormuş gibi gözükse de aslında Java'ya yeni başlayan herkesin çok faydalanacağı bir başlangıç kitabı. Ayrıca Bilgisayar Eğitmenleri ve Öğretmenleri için de harika bir kaynak.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Kitap 3 sene evvel yazılmaya başlandığı için içerik biraz eski gibi gözükse de Java'nın temel ve pek değişmeyen kavramlarını anlattığı için gayet öğretici. Ayrıca tüm örnekler JDK 1.5 ve Eclipse baz alınarak anlatılmış.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Konu açılmışken Java'ya yeni başlayanların ve ilerletmek isteyenlerin çok faydalanacağını düşündüğüm bir kaynak daha mevcut. &lt;a href="http://www.javapassion.com/"&gt;http://www.javapassion.com&lt;/a&gt; adresinde &lt;a href="http://www.javapassion.com/SangSchedule.html#Bio"&gt;Sang Shin&lt;/a&gt; tarafından sunum şeklinde hazırlanmış, pdf formatında harika Java eğitimleri mevcut. Acemisinde, ustasına kadar her kesime hitap eden harika Java eğitimler hazırlamış Sang amcamız.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Özellikle &lt;a href="http://www.javapassion.com/javaintro/"&gt;Java Programming with Passion!&lt;/a&gt; ismindeki, Basic ve Advanced olmak üzere iki kısımdaki toplam 20 başlık altında topladığı eğitimler harika. Yeni başlayanların mutlaka bu linkteki eğitimlere bir göz atmasında fayda var.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;Ustalar için ise aşağıdaki eğitimler gayet faydalı olacaktır:&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;                                &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;a href="http://www.javapassion.com/ajaxcodecamp/"&gt;AJAX Programming with Passion!&lt;/a&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;a href="http://www.javapassion.com/j2ee/index.html"&gt;&lt;br /&gt;Java EE Programming with Passion!&lt;/a&gt; &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;a href="http://www.javapassion.com/javaintro/"&gt;&lt;br /&gt;Java Programming with Passion!&lt;/a&gt; &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;a href="http://www.javapassion.com/webservices/index.html"&gt;&lt;br /&gt;Web Services Programming with Passion!&lt;/a&gt; &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;a href="http://www.javapassion.com/jini/index.html"&gt;&lt;br /&gt;Distributed Programming using Jini and JavaSpaces Technology&lt;/a&gt;&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;a href="http://www.javapassion.com/xml/index.html"&gt;&lt;br /&gt;XML &lt;/a&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;a href="http://www.javapassion.com/j2ee/courses/JSP"&gt;&lt;br /&gt;Basic Servlet and JSP programming&lt;/a&gt;&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;a href="http://www.javapassion.com/javacourses/advancedj2ee5daycourse.html"&gt;&lt;br /&gt;Advanced J2EE programming&lt;/a&gt; &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;a href="http://www.javapassion.com/javacourses/j2ee5daycourse.html"&gt;&lt;br /&gt;J2EE programming(5-day)&lt;/a&gt;&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;a href="http://javapassion.com/javacourses/ServletProgramming.html"&gt;&lt;br /&gt;Servlet programming&lt;/a&gt;&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;a href="http://www.javapassion.com/j2ee/#Struts"&gt;&lt;br /&gt;Struts programming&lt;/a&gt;&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;a href="http://www.javapassion.com/webservices/TwodayWebservices.html"&gt;&lt;br /&gt;Web services programming&lt;/a&gt;&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;a href="http://javapassion.com/javacourses/webservices5day.html"&gt;&lt;br /&gt;Web services programming&lt;/a&gt;&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;a href="http://www.javapassion.com/j2ee/#JSF"&gt;&lt;br /&gt;JavaServer Faces (JSF) programming&lt;/a&gt;&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;a href="http://www.javapassion.com/sdwest2006netbeans/"&gt;&lt;br /&gt;NetBeans IDE 5.0 1-day Workshop&lt;/a&gt;&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;a href="http://www.javapassion.com/j2se/index.html"&gt;&lt;br /&gt;J2SE 5.0 (Tiger) programming&lt;/a&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-7090596006404500156?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/7090596006404500156/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=7090596006404500156' title='3 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/7090596006404500156'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/7090596006404500156'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2007/05/ocuklar-iin-cretsiz-java-kitab.html' title='Çocuklar İçin Ücretsiz Java Kitabı'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-4588354007720656022</id><published>2007-05-19T09:41:00.000+03:00</published><updated>2007-05-19T10:29:34.514+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Parser'/><category scheme='http://www.blogger.com/atom/ns#' term='Benchmark'/><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><category scheme='http://www.blogger.com/atom/ns#' term='Apache AXIOM'/><title type='text'>Apache AXIOM</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Geçenlerde&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt; &lt;a href="http://www.xml.com/pub/a/2007/05/09/xml-parser-benchmarks-part-1.html?page=1"&gt;XML Parser Benchmarks: Part 1&lt;/a&gt; ve &lt;a href="http://www.xml.com/pub/a/2007/05/16/xml-parser-benchmarks-part-2.html?page=1"&gt;XML Parser Benchmarks: Part 2&lt;/a&gt; isiminde iki adet blog yayınlandı. Bu bloglarda dönem dönem yapıldığı gibi gündemdeki bazı yeni XML Parser'lar karşılaştırılmış.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;İlk defa bu tip bir benchmark'ta Java ve C kütüphanelerinin birlikte karşılaştırıldığına şahit oldum. Eskiden C ve Java aynı kefeye konmazdı bile. Gerçi bu testlerinin çoğunda da C kütüphanleri bariz bir üstünlük sağlamış ama xml dokümanlarının baştan belli bir kısmına kadar okuma yapıldığı testlerde &lt;a href="http://ws.apache.org/commons/axiom/"&gt;Apache AXIOM&lt;/a&gt; 'un Java versiyonu ciddi bir üstünlük sağlamış.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Hemen aklınıza "Bir xml dokümanının belli bir kısmının okunması ne işimize yarar?" diye bir soru gelebilir. Özellikle web servislerde, xml'in başında, header diye tabir edilen  kısımda session, encoding, username, IP, vs. gibi veriler tutulur. Web Servisinizin tamamını okumadan öncelikle sadece session bilgisini kontrol etmek isteyebilirsiniz, ya da web servisle size gelen bir sürü bilgiden sadece bir kısmını okumak isteyebilirsiniz.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Zaten &lt;a href="http://ws.apache.org/commons/axiom/"&gt;Apache AXIOM&lt;/a&gt; ilk başlarda Apache'in meşhur SOAP kütüphanesi olan Axis'in bir alt bileşeni olarak geliştirilmeye başlanmış ve daha sonra ayrı bir proje olarak kendisine bir yer edinmiş. AXIOM'un en güzel tarafı, kullanımının DOM Parser'lar kadar kolay olması ve xml dokümanını sonuna kadar okumadığınız ve harhangi bir güncelleme yapmadığınız sürece diğer DOM parser'lara göre daha hızlı ve az kaynak kullanarak çalışması.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: justify; font-style: italic;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;blockquote&gt;AXIOM is a XML object model by Apache. It was developed for Apache's Web Service Engine AXIS2, but it is pushed forward as a separate project. Currently there exist a Java and a C version of the parser. The Java version uses the Woodstox StAX parser to read in the documents. The C version uses the LIBXML2 stream pull-parser. As already mentioned AXIOM has the advantage of only building the document tree in memory until the last node of which data is needed. This way the whole tree only has to be built when the data in the end of the document is required to be read or altered. The C implementation is currently in version 0.96 and can therefore not be considered as fully stable.&lt;/blockquote&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.xml.com/2007/05/16/Graphics/partial_object_big.png"&gt;&lt;img style="cursor: pointer; width: 400px;" src="http://www.xml.com/2007/05/16/Graphics/partial_object_big.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:78%;"&gt;&lt;a href="http://www.xml.com/pub/a/2007/05/16/xml-parser-benchmarks-part-2.html?page=2"&gt;Figure 5: Benchmark results for the reading of only the first 67 elements in large documents&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Yukarıdaki grafikte özellike xml dokümanının boyutunun arttıkça AXIOM'un daha iyi bir performans gösterdiği açıkça gözüküyor. Bu arada XML Parser Benchmark' larını yapan arkadaşlar, her nedense StAX Pull Parser testlerine favori Pull Parser'ım &lt;a href="http://www.extreme.indiana.edu/xgws/xsoap/xpp/"&gt;XPP3&lt;/a&gt; 'ü dahil etmemişler.&lt;br /&gt;&lt;br /&gt;XML Teknolojisinin uygulamalardaki ağırlığı arttıkça giderek daha performanslı kütüphanler geliştiriliyor ama ben gene de mecbur kalmadıkça XML'den uzak durmayı tercih ediyorum. En iyi XML, sadece konfigürasyon dosyası olarak kullanılan XML'dir... :)&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-4588354007720656022?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/4588354007720656022/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=4588354007720656022' title='2 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/4588354007720656022'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/4588354007720656022'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2007/05/apache-axiom.html' title='Apache AXIOM'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-2391299061520524880</id><published>2007-05-13T15:10:00.000+03:00</published><updated>2007-05-13T16:35:18.631+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='çalışan'/><category scheme='http://www.blogger.com/atom/ns#' term='marka'/><title type='text'>Çalışanını marka yapanlar kazanıyor</title><content type='html'>&lt;span style=";font-family:verdana;font-size:85%;"  &gt;Hamur kağıdın kokusunu unutmamak için her hafta sonu mutlaka kahvaltıda okumak üzere gazete almaya çalışıyorum. Pazar gazetelerinin en sevdiğim kısımları ise İnsan Kaynakları ekleri.&lt;br /&gt;&lt;br /&gt;Bugün Sabah'ın İnsan Kaynaklarında "&lt;a href="http://www.isteinsan.com.tr/yon101-1116303-20070513.html"&gt;Marka çalışan, karı da arttırıyor&lt;/a&gt;" manşetiyle çok ilginç bir haber vardı:&lt;blockquote&gt;&lt;a style="font-style: italic;" href="http://www.isteinsan.com.tr/yon103-1116303-20070513.html"&gt;&lt;span style="font-weight: bold;"&gt;Çalışan markası yönetimi şirketlere ne kazandırıyor?&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;* En çok çalışılmak istenen kurum konumuna geliyorlar.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;* Tedarikçileri tarafından daha çok tercih edilen şirket olabiliyorlar.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;* Kanal ve bayi olmak konusunda rakiplerine oranla en az iki kat daha fazlaşvuru alabiliyorlar.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;* Zamanla ürün ve hizmetlerini daha karlı satabiliyorlar.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;* Daha kolay ve daha avantajlı şartlarda kredi bulabiliyorlar.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;* Pazarlama harcamalarını zaman içinde düşürüp daha fazla etki sağlayabiliyorlar.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;* Toplumsal sorumluluk çalışmaları kadar ticari performansları, ürün ve hizmetleri de daha fazla ilgi görmeye başlıyor.&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;Aslında bu arkadaşlar arasında son yıllarda çok tartıştığımız bir konu. Özellikle son zamanlarda şirketler kaliteli insan kaynağı bulmada çok zorlanıyorlar. Bunun en önemli nedenlerinden bir tanesi de şirketlerin ellerindeki mevcut insan kaynağını tutmayı başaramaması. Özellikle yazılım sektöründe çalışan en önemli sermayedir, fakat Türkiye'de maalesef bu sermayenin önemi hala tam olarak anlaşılabilmiş değil. Aslında bunda müşterilerin de çok büyük hatası mevcut. Son yıllara kadar müşteriler hizmet alacakları firmayı seçerken sadece firmanın adına bakıyorlardı. Gerçi artık bu durum yavaş yavaş değişmeye ve firmaların çalışanları da ön plana çıkmaya başladı.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;Muhtemelen bu durum firma sahiplerini rahatsız ediyor çünkü markalaşan elemanı elde tutmak zorlaşıyor. Aslında yurtdışında çalışana hisse verilerek bu sorun büyük ölçüde çözülmüş fakat Türkiye'de bu kültür henüz oturmuş değil:&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;&lt;a href="http://www.isteinsan.com.tr/yon101-1116303-20070513.html"&gt;Türkiye hazır değil&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-style: italic;"&gt;Kadıbeşegil, "Türkiye'de sermaye tabana yayılmadığı çalışanlara hisse vermek yaygın değil. Bu yüzden çalışan markası yatırımcı dinamiklerinden yoksun şekilde inşa ediliyor. Markalaşmanın bir ayağı eksik kalıyor. Şirketler çalışanın işyeri ortamını, sosyal haklarını ve diğer beklentileri karşılıyor ama bu onları ekonomik açıdan da tatmin ediyor anlamına gelmez" diyor. Çalışanları markalaştırmanın birçok yatırımcı için masraf kapısı olarak görüldüğünü belirten Kadıbeşegil, yatırımcı açısından bakıldığında Türkiye'de bu örneklerin ancak yabancı sermayeli şirketlerde görülebileceğini söylüyor.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;Yazılım Sektörü diğer üretim sektörleri ile karşılaştırıldığından gerçekten çok farklı bir resim çiziyor. &lt;a href="http://www.jboss.org/"&gt;JBoss&lt;/a&gt;'un eski patronu &lt;a href="http://marcf.blogspot.com/"&gt;Marc Fluery&lt;/a&gt;, geçenlerde bir &lt;a href="http://marcf.blogspot.com/2007/05/rich-green-of-sun-pay-oss-developpers.html"&gt;blog'unda&lt;/a&gt; yazılım dünyasındaki insan gücünün önemini şu şekilde vurgulamıştı:&lt;br /&gt;&lt;blockquote style="font-style: italic;"&gt;A economic translation of the mythical man month hypothesis, is that "mathematically" you get more innovation and productivity by paying one superior developer $10 than by paying $1 to 10 average guys.&lt;br /&gt;Some tasks in software are better served by "lone-wolf" innovators than by armies of developers, some are not. &lt;/blockquote&gt;Dünya son zamanlarda çok daha hızlı dönüyormuş gibi geliyor bana. Bakalım bu dönüşe kimler ayak uydurabilecek.&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-2391299061520524880?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/2391299061520524880/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=2391299061520524880' title='1 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/2391299061520524880'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/2391299061520524880'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2007/05/alann-marka-yapanlar-kazanyor.html' title='Çalışanını marka yapanlar kazanıyor'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-8946387930644588116</id><published>2007-05-08T23:08:00.000+03:00</published><updated>2007-05-09T00:30:51.482+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Issue Tracking'/><category scheme='http://www.blogger.com/atom/ns#' term='JIRA'/><title type='text'>JIRA Nedir - III</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;JIRA ile ilgili önceki bloglarımda daha çok uygulamanın altyapısına değinmiş, esas son kullanıcıyı ilgilendiren özelliklerinden pek bahsetmemiştim. Bu blog'da JIRA'nın muhteşem özelliklerini madde madde anlatmaya çalışacağım.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-weight: bold;"&gt;a)  Issue : &lt;/span&gt;JIRA'nın en temel yapı taşıdır. JIRA'daki tüm işler birer issue olarak açılır ve tüm sistem bu issue kavramı üzerinde çalışır. JIRA'nın en kuvvetli özelliklerinden biri de issue'ların projelere ve tiplerine göre özelleştirilebilir olmasıdır. Issue'lara standart özelliklerinin yanında başka fonksiyonalite de yükleyebilirsiniz. (&lt;a href="http://www.atlassian.com/software/jira/docs/latest/issues.html"&gt;What is an Issue?&lt;/a&gt;)&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-weight: bold;"&gt;b) Project :&lt;/span&gt; JIRA'da iş akışlarınızı sınıflandırmanın en iyi yolu proje kullanmaktan geçer. Farklı konular, farklı ekranlar, farklı iş akışları, farklı haklar, farklı kullanıcılar vs. için her seferinde yeni bir proje kullanabilirsiniz. Örneğin bir Yazılım Projesi, Yardım Masası, Gereksinim Yö&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;netimi, Ürün Satışı, vs. JIRA projesi olabilir. Projelerinize alt gruplar tanımlayabilir, &lt;a href="http://mustafatan.blogspot.com/2007/03/srm-ynetimi-pratikleri-iii.html"&gt;Sürüm Yönetimi&lt;/a&gt; için bir versiyonlama sistemi kullanabilirsiniz. Ayrıca her proje için ayrı bir iş akışı, ayrı bir ekran, ayrı bir güvenlik tanımı, ayrı bir bilgilendirme sistemi vs. tanımlayabilirsiniz. (&lt;a href="http://www.atlassian.com/software/jira/docs/latest/projects.html"&gt;What is a project?&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;c) Workflow : &lt;/span&gt;JIRA'nın standart iş akışı bir çok projeniz için yeterli gelse de, eğer isterseniz mevcut workflow'u değiştirerek veya sıfırdan bir workflow yaratarak &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;çok kompleks bir iş akışı tanımlayabilirsiniz. Web arayüzlü harika workflow editörü, çok rahat ve basit bir kullanım kolaylığı sağlar.  (&lt;a href="http://www.atlassian.com/software/jira/docs/latest/default_workflow.html"&gt;Understanding Workflow&lt;/a&gt;)&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.atlassian.com/software/jira/docs/latest/images/docs/workflow-viewsteps.png"&gt;&lt;img style="cursor: pointer; width: 400px;" src="http://www.atlassian.com/software/jira/docs/latest/images/docs/workflow-viewsteps.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;d) Dashboard :&lt;/span&gt; JIRA'nın en güzel yanlarından biri de kişiselleştirilebilir bir giriş sayfasının bulunmasıdır. Giriş ekranını, farklı projeler için farklı portlet'ler, filter'lar, raporlar, vs. ile donatabilirsiniz. Bunlar için de hiç bir Admin'e ihtiyaç duymazsınız. (&lt;a href="http://www.atlassian.com/software/jira/docs/latest/dashboard.html"&gt;Configuring the Dashboard&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;e) Search :&lt;/span&gt; JIRA'nın çok gelişmiş bir arama motoru vardır. Bu iş için altyapısında, meşhur bir açık kaynak kütüphane olan &lt;a href="http://lucene.apache.org/java/docs/features.html#Features"&gt;Apache Lucene&lt;/a&gt;'i kullanır. Arama kriterleri arasında, sonradan eklediğiniz özelleştirilmiş alanlar dahi otomatikman yer alır. Çok sık yaptığınız arama filtrelerini kaydedebilir hatta diğer kullanıcılar ile paylaşabilirsiniz. (&lt;a href="http://www.atlassian.com/software/jira/docs/latest/issue_filters.html"&gt;Saving Searches 'Issue Filters'&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;f) Reporting :&lt;/span&gt; JIRA'da standart olarak çok kullanışlı rapor şablonları mevcuttur. Ama isterseniz &lt;a href="http://confluence.atlassian.com/display/JIRA/JIRA+Development+Hub"&gt;JIRA Plugin Development&lt;/a&gt; desteği sayesinde kendi detaylı raporlarınızı hazırlayabilir ya da diğer JIRA severlerin hazırlayıp tüm dünya ile ücrestiz olarak &lt;a href="http://confluence.atlassian.com/display/JIRAEXT/Home"&gt;paylaştığı raporları&lt;/a&gt; kullanabilirsiniz. (&lt;a href="http://www.atlassian.com/software/jira/features/report.jsp"&gt;Multi-dimensional reporting&lt;/a&gt;)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;g) Sub-Task :&lt;/span&gt; Farzedin takip etmeniz gereken bir konu var ama alt detayları henüz tam kesinleşmemiş. Kesinleşen kısımlarını da başkalarının takip etmesi gerekiyor. Fakat üst yönetim işin bitişini sizden bekliyor. İşte bu tip durumlarda JIRA'daki sub-task özelliği çok işe yarıyor. Size atanmış bir issue'nun alt issue'larını da siz başkalarına atayıp, işin tamamını tek bir noktadan takip edebiliyorsunuz. (&lt;a href="http://www.atlassian.com/software/jira/docs/latest/subtasks_creating.html"&gt;Creating a sub-task&lt;/a&gt;)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.atlassian.com/software/jira/docs/latest/images/docs/subtasks-view.gif"&gt;&lt;img style="cursor: pointer; width: 400px;" src="http://www.atlassian.com/software/jira/docs/latest/images/docs/subtasks-view.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-weight: bold;"&gt;h) Issue Linking : &lt;/span&gt;JIRA'da biribirileriyle alakalı işler link özelliği sayesinde çok rahat takip edilebilirler. İstediğiniz sayıda farklı bağımlılık tipi (depends, duplicates, etc.) oluşturabilirsiniz. Issue linkleme sayesinde sizden iş bekleyen birisinin, elinizdeki işi neden yapamadığınızı ifade etmeniz kolaylaşır. (&lt;a href="http://www.atlassian.com/software/jira/docs/latest/linking.html"&gt;Linking Issues&lt;/a&gt;)&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.atlassian.com/software/jira/docs/latest/images/docs/linking-screenshot.png"&gt;&lt;img style="cursor: pointer; width: 400px;" src="http://www.atlassian.com/software/jira/docs/latest/images/docs/linking-screenshot.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-weight: bold;"&gt;i) Watching : &lt;/span&gt;JIRA'daki Watcher kavramı sayesinde hakkı olan herkes bir issue'ya kendisini veya başkasını herhangi bir anda ekleyebilir. (Kimin eklediği bilinmez) Bir issue'daki tüm gelişmeler Watcher listesindeki herkese anında ulaştırılır. Bu sayede konuyla alakalı olmak isteyen herkesin tüm gelişmelerden anında haberdar olması garantiye alınmış olur. (&lt;a href="http://www.atlassian.com/software/jira/docs/latest/voterswatchers.html"&gt;Voter and Watcher Lists&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;Aslında JIRA'nın güzellikleri ve faydaları anlatmakla bitmez ama bu blog'un artık bitmesi gerekiyor. Sanırım JIRA'yı yeterince tanıttım. Bundan sonraki bloglarımda JIRA'nın diğer güzel kardeşi &lt;a href="http://www.atlassian.com/software/confluence/"&gt;Confluence&lt;/a&gt;'u tanıtmaya çalışacağım. Tabii vakit bulabilirsem :)&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-8946387930644588116?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/8946387930644588116/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=8946387930644588116' title='1 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/8946387930644588116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/8946387930644588116'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2007/05/jira-nedir-iii.html' title='JIRA Nedir - III'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-5175300966893234584</id><published>2007-04-28T10:12:00.000+03:00</published><updated>2007-04-28T10:46:47.945+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Wimax'/><category scheme='http://www.blogger.com/atom/ns#' term='Wibro'/><category scheme='http://www.blogger.com/atom/ns#' term='UMPC'/><title type='text'>Wimax nereye koşuyor?</title><content type='html'>&lt;div  style="color: rgb(0, 0, 0); text-align: justify; font-family: verdana;font-family:verdana;" class="Section1"&gt;&lt;span style="font-size:85%;"&gt;Geçtiğimiz hafta Wimax ile ilgili önemli gelişmeler oldu, kısaca hepsine bir gözatmakta fayda var.&lt;br /&gt;&lt;br /&gt;İlk önemli gelişme  Amerikan Ordusunun da Wimax’i Samsung ile birlikte şu an test ediyor olması.  Eğer olumlu sonuçlanırsa askeri iletişimin Wimax üzerine taşınma ihtimali var.  Tabii bu da yaklaşık 3 milyar dolarlık bir pazar demek.  Bence Amerikan ordusu  da Wimax üzerine yatırım yaparsa, Wimax’i kimse tutamaz.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.infoworld.com/article/07/04/26/HNarmymobilewimax_1.html"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;US Army to evaluate Mobile WiMax use&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Mobile WiMax is a version of WiMax designed to provide high-speed broadband connections for users while they are on the move. The Army's tests will take place at the Command, Control, Communications, Computers, Intelligence, Surveillance, and Reconnaissance (C4ISR) On-The-Move experimentation facility, in Fort Dix, New Jersey, the South Korean company said.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;Wimax ile ilgili  haberler hep olumlu olacak değil, biraz da olumsuzları paylaşayım istedim. Wibro  Kore’de Haziran 2006’da devreye girmesine rağmen abone sayısı bugüne kadar ancak  sadece 1000’e ulaşabilmiş.&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;&lt;a style="font-style: italic;" href="http://www.wimax.com/commentary/blog/koreas-wibro"&gt;&lt;span style="font-weight: bold;"&gt;Is WiBro a success or a failure ?&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;According to some news sources, Korea Telecom's WiBro (which stands for Wireless Broadband) will be expanding its service to cover all parts of Seoul including subway lines. WiBro is Korea's WiMAX compatible wireless internet platform. The service provides users with approximately 1-3 Mbps and mobility of up to 120kph.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;What troubles me is when the WiBro service was introduced back in June of 2006, KT only got 1,000 customers in the first six months. This is most disappointing to say the least. One would expect consumers' to line up for such a service, which provides wireless connectivity on the go. The problem may lie in the marketing methods used and promoted by Korea Telecom. &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;Kore'deki Wimax'ın başarısız olması ile ilgili benim de birkaç naçizane tespitim var, bunları paylaşmak istedim:&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-size:85%;"&gt;a) Koreliler genç  nüfusları nedeniyle yüksek hızlı internet erişimine çok önem veriyorlar bu  yüzden evlerdeki sabit internet hızları ortalama 10Mbit. Wibro’nun hızı ise max  3Mbit. Ben de olsam 10Mbit’i bırakıp 3 Mbit’e tenezzül etmem. Bir de Fransa’daki  gibi ayda 40$’a 50Mbit fiber erişim verirlerse hiç etmem.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://feeds.feedburner.com/%7Er/OmMalik/%7E3/111693000/"&gt;&lt;span style="font-weight: bold;"&gt;50 Mbps for $40, but in France&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;Neuf Cegetel, the French competitive  telecom carrier &lt;a href="http://www.echosdunet.net/dossiers/dossier_1546_neuf%2Blance%2Bson%2Boffre%2Bfibre%2Boptique%2Bsur%2Bparis.html" target="_blank"&gt;has just started selling&lt;/a&gt; &lt;span style="font-weight: bold;"&gt;a 50 megabits per second  fiber-to-the-home connection that costs about 30 Euros (about $40) a month.&lt;/span&gt; In  comparison, 50 Mbps costs a &lt;a href="http://gigaom.com/2007/03/20/50megs-sacramento/" target="_blank"&gt;while lot of money in the US&lt;/a&gt;. Verizon, Surewest and  Cablevision are three companies currently offering 50 megs at a wallet-ripping  price. For $40 you get somewhere between 3-to-6 Mbps (voice and television not  included) from most carriers in the US.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;Neuf’s service is currently  available in select parts of Paris &amp; Pau (a town in the very south of  France) and also includes VoIP and HD &amp;amp; Regular TV over IP services. The  company is also in talks to buy the Club Internet &lt;/span&gt;&lt;a style="font-style: italic;" href="http://www.broadbandtvnews.com/today/?p=810" target="_blank"&gt;broadband business from&lt;/a&gt;&lt;span style="font-style: italic;"&gt; Deutsche Telekom. It it adds 600,000  Club Internet customers, then Neuf will become the #2 broadband provider in  France, behind Orange, which has 4.2 million subscribers.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;  &lt;span style="font-size:85%;"&gt;b) Bence Wibro’unun  Kore’deki satış modeli hatalı, Wibro mevcut sabit hat abonelerine bir ek özellik olarak sunulmalıydı. Örneğin aylık ilave 10$ ödeyene, sabit 10Mbit erişiminin  yanında 1Mbit Wibro gibi.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;c) Son olarak yüksek hızlı  kablosuz mobil iletişimin önündeki en büyük engel bence hal pil ömürleri.  Bağlantı hızlarımız istediğimiz kadar hızlı ve ucuz olsun, elimizdeki cihazlar bu  kapasiteyi dolduramadığı sürece bir anlamı olmayacaktır. Bildiğiniz gibi  geçenlerde &lt;a href="http://product.samsung.com/micro_manuals/Q1/samsung_Q1.html"&gt;Samsung Q1&lt;/a&gt; isimli &lt;a href="http://umpc.com/"&gt;UMPC&lt;/a&gt;’yi satışa sundu. Bir forumda bu cihazı tecrübe  etmiş birinin yorumlarını aynen paylaşıyorum:&lt;br /&gt;&lt;br /&gt;&lt;a style="font-weight: bold; font-style: italic;" href="http://umpc.com/forums/thread/975.aspx" target="_blank"&gt;UMPC vs Tablet PC&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: normal;"&gt;&lt;span style="font-style: italic;"&gt;I  have been an active user of the Tablet PCs for the past 3 years, I have owned  the Compaq, acer, gateway, fujitsu and Toshiba.  Currently using an Acer C110,  great size and keyboard for data entry.  I was excited when I first read about  the UMPC, especially when I saw the price compared to the Tablet's.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;Well I got my first UMPC a couple weeks ago (Samsung Q1) and couldn't be more disappointed.  There is no comparing the two computer they're different and have different uses.  The Samsung is to big to be portable to small to be useful, the onscreen touch keyboard gave me cramps in both hands.  &lt;/span&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;The 1 hour battery life (teorikte 3.5 saat) was a joke, and the startup and restart speed was horrible (5 minutes).&lt;/span&gt;&lt;span style="font-style: italic;"&gt;  I did use it with Microsofts streets and trips with a &lt;/span&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;USB GPS receiver which would have been great had the battery not died 20 minutes from my destination.&lt;/span&gt;&lt;span style="font-style: italic;"&gt;  All is all a great concept, which needs major improvements in speed, battery life and text input as well as an operating system optimized for the UMPC not the tablet pc. Oh yeah and what happend to the original price point of $500.00 the Samsung cost me $800.00 on Ebay.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Aslında Wimax'in geleceği ile ilgili endişe edecek çok bir durum yok. Pil meselesi 3G'nin de büyük sorunu. Satış modeli düzgün seçilirse bence Wimax her yerde başarılı olur.&lt;/span&gt;&lt;/span&gt;  &lt;p class="MsoNormal" style="margin-left: 35.4pt;"&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-5175300966893234584?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/5175300966893234584/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=5175300966893234584' title='3 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/5175300966893234584'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/5175300966893234584'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2007/04/wimax-nereye-kouyor.html' title='Wimax nereye koşuyor?'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-3345075206169865703</id><published>2007-04-20T21:34:00.000+03:00</published><updated>2007-04-20T22:03:27.370+03:00</updated><title type='text'>Intel gives up on 3G</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: verdana;"&gt;Ericsson geçtiğimiz ay Wimax'e artık yatırım yapmayacağını açıkladığında açıkçası hiç şaşırmamıştım:&lt;br /&gt;&lt;br /&gt;&lt;a style="font-weight: bold; font-style: italic;" href="http://www.itwire.com.au/content/view/10750/127/"&gt;Ericsson gives up on WiMAX&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;"Ericsson has chosen as of December 2006 to discontinue development in WiMAX infrastructure."&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Çünkü Wimax'in yaygınlaşması Ericsson gibi GSM devlerinin pek işine gelmiyordu. Wimax demek, genişbant mobil iletişim pazarının Amerikan kökenli şirketlerle (Motorola, Intel, vs.) paylaşılması demek olduğu için Ericsson, Wimax'i kendi eliyle büyütmek istemediği için tamamen yüzünü 3G'ye çevirdi.&lt;br /&gt;&lt;br /&gt;Ericsson'un açıkça pozisyonunu belli etmesinden sonra Wimax'in en büyük destekçisi olan Intel de artık açık açık 3G'ye yatırım yapmayacağını açıkladı. Bakın geçtiğimiz günlerde Mooly Eden (General Manager of Intel's Mobile Platforms Group) bir &lt;a href="http://news.cnet.co.uk/laptops/0,39029680,49289408,00.htm"&gt;söyleşide&lt;/a&gt; neler söylemiş:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;"&lt;span style="font-weight: bold;"&gt;You're not going to get a 3G solution from Intel&lt;/span&gt;, There are 3G solutions from third parties, but if you look at 3G adoption, it's still a one-digit attach rate. We are going to focus on WiMax, which we believe will be a more pervasive solution, and we are trying to work with the ecosystem to accelerate it worldwide."&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;"When we launched Centrino in 2003, the attach rate of Wi-Fi was 15 per cent," he said. "Now the attach rate is more than 95 per cent. In the US, by 2008, we are going to have more than 100 million people covered with WiMax."&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Diğer bir GSM devi Nokia ise bu rekabette hala tarafsız bir resim çizip, hem Wimax'e hem de 3G'ye destek vereceğini söylüyor. Samsung ise özellikle &lt;a href="http://umpc.com"&gt;UMPC&lt;/a&gt;'lerle Wimax'in en büyük destekçilerinden.&lt;br /&gt;&lt;br /&gt;Bakalım 3G vs. Wimax rekabetinden kimler kazançlı çıkacak.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-3345075206169865703?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/3345075206169865703/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=3345075206169865703' title='3 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/3345075206169865703'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/3345075206169865703'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2007/04/intel-gives-up-on-3g.html' title='Intel gives up on 3G'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-4214562875301884197</id><published>2007-04-17T23:06:00.000+03:00</published><updated>2007-04-18T01:09:06.613+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mesh'/><category scheme='http://www.blogger.com/atom/ns#' term='Wi-Fi'/><category scheme='http://www.blogger.com/atom/ns#' term='wireless'/><title type='text'>Free Wi-Fi</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Bloglarımda Wimax ile ilgili gelişmeleri ve bilgileri paylaşmaya çalışıyorum. Hep Wimax'ten bahsederken, Wimax'in küçük kardeşi Wi-Fi'yi ihmal ettik. Halbuki yurt dışında özellikle &lt;a href="http://en.wikipedia.org/wiki/Wireless_mesh_network"&gt;mesh Wi-Fi&lt;/a&gt; konusunda büyük gelişmeler oluyor.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Örneğin Amerika'da &lt;a href="http://meraki.net/"&gt;Meraki&lt;/a&gt; isimli bir şirket mesh Wi-Fi hizmeti veriyor ve isterseniz sizi ortak yapıyor. Sistem şu şekilde işliyor; Öncelikle bir &lt;a href="http://meraki.net/products/mini/"&gt;Meraki Mini&lt;/a&gt; (49$) veya &lt;a href="http://meraki.net/products/outdoor/"&gt;Meraki Outdoor&lt;/a&gt; (99$) access point &amp; repeater cihazı satın alıyorsunuz.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://sf.meraki.net/images/products_mini_03.jpg"&gt;&lt;img style="cursor: pointer; width: 400px;" src="http://sf.meraki.net/images/products_mini_03.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-style: italic;"&gt;Extend wireless Internet access throughout your home in just a few minutes. You can use your own connection or pull in a wireless network if your city is broadcasting one.You can share Internet access with your neighbors by adding repeaters to your neighborhood, including the Meraki Mini Outdoor.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ardından cihazın üzerindeki &lt;a href="http://meraki.net/products/dashboard/"&gt;çok basit arayüzü&lt;/a&gt; ile çevredeki en yakın kablosuz internet hattına bağlanıyorsunuz. Eğer evde zaten bir fixed internet hattınız (Cable, ADSL, vs.) var ise bu cihaz yardımı ile bağlantınızı da paylaşabiliyorsunuz.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://meraki.net/images/screenshots/dashboard-overview.gif"&gt;&lt;img style="cursor: pointer; width: 400px;" src="http://meraki.net/images/screenshots/dashboard-overview.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-style: italic;"&gt;Manage your Meraki network with Dashboard. Make changes or updates, and keep an eye on your network at your own convenience. Or if you don’t feel like optimizing anything, sit back and relax—the network will take care of itself. You don’t even have to worry about the money. Use the Dashboard billing feature to set rates and collect automatic payments. Then figure out how cost-effective your network is with built-in revenue analysis. And if you have a business model, come back and check out figures any time to make sure everything is on track.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Böylelikle her abone aynı zamanda bir verici gibi davranıyor. O an hangi hat müsaitse onun üzerinde bağlantı sağlanıyor. Bir de Meraki şu an sadece San Fransisco'ya özgü bir free wi-fi sistemi kurmuş. Bu sistemde gönüllüler kullanıcılardan hiç bir bağlantı ücreti talep etmeden wireless repeater'ları ile bedava internet erişimi veriyorlar.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://sf.meraki.net/"&gt;http://sf.meraki.net/&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-style: italic;"&gt;Meraki is teaming up with people in Alamo Square, Duboce Park, the Castro, and the Mission to start bringing free wireless Internet access to the city. As a neighbor, you can help the network grow by putting a Mini repeater  in your front window, balcony, or roof. We're giving away the hardware and if you can place a repeater on your roof, we may set you up with a free DSL line as well.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Our goal is to connect the next billion people to the Internet by changing the economics of access. From time to time you might notice things like local advertising and search tools. These are things we're testing to determine the best way to roll out affordable wireless access to the rest of the world.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://sf.meraki.net/overview"&gt;http://sf.meraki.net/overview&lt;/a&gt; adresinden canlı canlı şu an kaç kişinin bedava mesh Wi-Fi sisteminden yararlandığını, kaplama alanını, trafiğin byte cinsinden büyüklüğünü, vs. görebilirsiniz. Şu an sisteme kayıtlı gönüllü (repeater) sayısı 61, fakat 259 kişi daha başvurmuş sisteme dahil olmak için. Meraki'inin free Wi-Fi network'ü için hedefi 1000 repeater.&lt;br /&gt;&lt;br /&gt;Benzer bir gelişme de İngiltere'den:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.tech.co.uk/computing/networking-and-wi-fi/news/london-becomes-europes-largest-wi-fi-hotspot?articleid=2071154659&amp;zoom=true&amp;amp;page=1"&gt;&lt;span style="font-style: italic;"&gt;London becomes Europe's largest Wi-Fi hotspot&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-style: italic;"&gt;London is to become the biggest Wi-Fi hotspot in Europe when 350,000 city workers are given public wireless internet access. Next week, work will start on &lt;span style="font-weight: bold;"&gt;installing 130 base stations &lt;/span&gt;all around the City of London to offer public wireless internet connections. The stations will be dotted around the area in a mesh networking set-up which will span the entire Square Mile area of the capital.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Wi-Fi firm The Cloud will work together with local councils to extend the wireless network; when the work is completed London will have the largest Wi-Fi hotspot in Europe. &lt;/span&gt;&lt;span style="font-style: italic;"&gt;The cost of unlimited access of the network will be set at &lt;span style="font-weight: bold;"&gt;around £12 per month.&lt;/span&gt; Initially the connection will only cover the central London areas of Soho, the Barbican and the City of London, but there are plans to extend the zone across the capital.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;br /&gt;Şimdi bazılarınızın Türkiye'de bu konuda bir girişim yok mu diye sorduğunuzu hissediyorum. Bu konuda bir tek bildiğim Doğan Online'ın ADSL aboneleri için vereceğini duyurduğu Wi-Fi hizmeti:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.milliyet.com.tr/2006/12/12/son/soneko30.asp"&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;EV DIŞINDA DA UCUZ, HIZLI ERİŞİM&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-style: italic;"&gt;Smile ADSL ile kullanıcılarına Türk Telekom'dan farklı hizmetler vermeyi hedeflediklerini bildiren Demir, abonelerin evlerindeki mevcut kullanıcı adı ve şifreleri ile Türkiye'de şu an 40 yerde bulunması planlanan 'hotspot' bağlantı noktaları çevresinde ucuz ve hızlı bağlantı kurabilmelerinin sağlanacağını kaydetti.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;Demir, kablosuz network (Wifi) teknolojisine dayalı bu 'hotspot'ları ileride aşamalı olarak geliştirerek, büyük kapsama alanları oluşturmayı planladıklarını ve yalnızca evde kullanımla sınırlı ADSL sisteminin daha geniş kullanım alanı bulmasını sağlayacak bu sistemin pilot çalışmasını Bahçeşehir'de başlattıklarını dile getirdi.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;''2007'de amacımız, tüketiciye geniş bandın kullanılabileceği katma değerli servisler götürmek'' diyen Demir, 2007 sonuna kadar 350 bin ADSL, &lt;span style="font-weight: bold;"&gt;35 bin (Wifi) abonesine&lt;/span&gt; ulaşmayı hedeflediklerini söyledi.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Acaba yazılım dünyasındaki açık kaynakçıların yaptığı gibi, açık Wi-Fi'ciler de Telekom devlerine kafa tutabilecekler mi? Gelecekte kablosuz iletişimde hangi teknoloji (GSM, 3G, Wi-Fi, Wimax, vs.) hakim olacak? Sanırım bekleyip göreceğiz.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-4214562875301884197?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/4214562875301884197/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=4214562875301884197' title='3 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/4214562875301884197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/4214562875301884197'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2007/04/free-wi-fi.html' title='Free Wi-Fi'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-5263908188979119129</id><published>2007-04-11T22:54:00.000+03:00</published><updated>2007-04-11T23:30:18.735+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Wimax'/><title type='text'>Wimax HD TV</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Uzun zamandır Wimax ile ilgili bir blog yazmıyordum. Bu aralar dünyada o kadar çok Wimax ile ilgili gelişme oluyor ki hangisini paylaşacağımı şaşırdım. Ama bugün okuduğum Wimax ile ilgili bir gelişmeyi sizinle paylaşmak istedim.&lt;br /&gt;&lt;br /&gt;Kablosuz genişbant erişimin çok önemli olduğu ülkelerden biri olan Japonya'da geçenlerde Wimax ile ilgili bir demo gerçekleştirilmiş ve bu demoda 30Mbit/s ile high-definition televizyon yayını yapılmış:&lt;br /&gt;&lt;br /&gt;&lt;a style="font-style: italic;" href="http://www.tech.co.uk/computing/networking-and-wi-fi/other-network-devices/news/wimax-wireless-pushed-to-handle-hd-tv?articleid=1194804472"&gt;&lt;span style="font-weight: bold;"&gt;At 30Mbit/s, demo of tweaked WiMax can stream high-def TV&lt;/span&gt;&lt;/a&gt;  &lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;Using a tweaked IEEE802.16e setup, Japan Radio Company (JRC) and Runcom Technologies recently showed &lt;span style="font-weight: bold;"&gt;HD TV video being transmitted at 30Mbit/s&lt;/span&gt;, which was more than enough throughput for the high-quality images.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt; &lt;span style="font-style: italic;"&gt;The two companies combined their wireless expertise to create a base station and user terminals using WiMax &lt;span style="font-weight: bold;"&gt;IEEE802.16e-2005 on the 2.5GHz&lt;/span&gt; portion of the radio spectrum.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.jrc.co.jp/eng/whatsnew/20070327/images/wimax_jrc_01.gif"&gt;&lt;img style="cursor: pointer; width: 400px;" src="http://www.jrc.co.jp/eng/whatsnew/20070327/images/wimax_jrc_01.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Yukarıdaki şekilde ise demoda kullanılan Wimax PC kartı ile Wimax Baz İstasyonu mevcut. (Yoksa kocaman cihazlar mı bekliyordunuz :) ) Wimax teknolojisi beklediğimizden hızlı gelişiyor, bakalım daha neler göreceğiz...&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.wisoa.net/members_logos/mobile_internet-big.jpg"&gt;&lt;img style="cursor: pointer; width: 400px;" src="http://www.wisoa.net/members_logos/mobile_internet-big.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-5263908188979119129?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/5263908188979119129/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=5263908188979119129' title='4 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/5263908188979119129'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/5263908188979119129'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2007/04/wimax-hd-tv.html' title='Wimax HD TV'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-8917149323914471575</id><published>2007-04-09T22:57:00.000+03:00</published><updated>2007-04-10T00:40:31.564+03:00</updated><title type='text'>JIRA Nedir - II</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: verdana;"&gt;JIRA'nın çok tutulmasının sebeplerinden biri de platform bağımsızlığı ve kolay kurulabilir olmasıdır. JIRA java tabanlı olması ve veritabanı bağlantısı olarak JDBC kullanması nedeniyle Java'nın çalıştığı tüm işletim sistemlerinde, hemen hemen tüm &lt;a href="http://www.atlassian.com/software/jira/docs/latest/servers/index.html"&gt;Uygulama Sunucularında&lt;/a&gt; ve &lt;a href="http://www.atlassian.com/software/jira/docs/latest/databases/index.html"&gt;Veritabanlarında&lt;/a&gt; çalışır.&lt;br /&gt;&lt;br /&gt;Tüm bunların ötesinde JIRA'yı download ettiğiniz andan itibaren yaklaşık 5 dakika içinde çalışır bir duruma getirebilirsiniz. Eğer JIRA'nın standalone kurulumunu indirdiyseniz, bütünleşik Tomcat ve &lt;a href="http://mustafatan.blogspot.com/2006/12/hsqldb.html"&gt;Hsqldb&lt;/a&gt; sayesinde JIRA otomatik bir şekilde &lt;a href="http://www.atlassian.com/software/jira/docs/latest/setup.html"&gt;kurulur&lt;/a&gt; ve çalışır hale gelir.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;"Jira was simple to set up. I would say that it took me no longer than about 5 minutes to unzip the file (enterprise version), go to the web site to generate the enterprise trial license, and walk through the admin setup pages. After that, I created some users, a project, and an issue for my colleagues to work with. I was impressed with how easy all of this was. And that I did not need to read any documentation to do it. The forms are all self-documenting, which is the way it should be."&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;Michael W. Balk of &lt;a href="http://public.research.att.com/"&gt;AT&amp;T Labs Research&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Entity Engine&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Bu yazıyı okuyanlar ve veritabanı bağımsız uygulama geliştirme konusunda pek tecrübesi olmayanlar JIRA'nın nasıl oluyor da tüm veritabanlarına destek verebildiğine şaşırmış olabilirler. İşte işin sırrı &lt;a href="http://ofbiz.apache.org/"&gt;Apache Ofbiz&lt;/a&gt; 'in &lt;a href="http://ofbiz.apache.org/docs/entity.html"&gt;Entity Engine&lt;/a&gt; 'inde yatıyor.&lt;br /&gt;&lt;br /&gt;Entity Engine sayesinde JIRA, kodlarında özel bir değişiklik yapmadan, sadece konfigürasyon dosyalarındaki değişiklikler sayesinde JDBC desteği olan tüm veritabanlarına bağlana biliyor. Ayrıca Entity Engine veritabanı güncellemelerini otomatik yapabiliyor. 4100'ün üzerinde müşterisi olan ve yaklaşık 2 ayda bir sürüm çıkaran bir firma için bu ne kadar önemli bir özelliktir bilseniz.&lt;br /&gt;&lt;br /&gt;&lt;a style="font-style: italic;" href="http://www.atlassian.com/software/jira/docs/latest/entityengine.html"&gt;&lt;span style="font-weight: bold;"&gt;Why we chose the Entity Engine&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;We chose the &lt;/span&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;EE&lt;/span&gt;&lt;span style="font-style: italic;"&gt; over CMP or BMP entity beans because:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;    * &lt;/span&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;it is more portable between application servers&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;    * &lt;/span&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;table schemas are automatically created and updated&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;    * &lt;/span&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;using the field type definitions, we can add support for new databases very quickly&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;    * &lt;/span&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;it is faster than most CMP implementations and has some nice caching features&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Maintenance&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Şimdi de bazılarınızın aklından "Kurulumu kolaymış, acaba bakımı da öyle mi" diye geçebilir. Merakınızı şu şekilde gidereyim. Sanırım yaklaşık 2 sene evvel JIRA 2.6 Standard Edition kullanıyorduk ve 3.1 Enterprise Edition'a geçmeye karar verdik. Tek yaptığım yeni versiyonu kurmak ve eski veritabanına yönlendirmek oldu. Eski sistemde bir sürü özelliştirme yapmamıza rağmen, yeni JIRA'yı çalıştırdığımda Tomcat'in konsolunda şöyle bir mesaj çıktı. "Yeni güncellemeler tespit ettim, lütfen biraz bekleyin..." Yaklaşık 5 dakika sonra yeni JIRA güncellemeleri otomatik olarak yapılmıştı. İnanın bana bu tecrübeye yaşayan bir tek ben değilim.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;"We love JIRA. We are a small software company, and JIRA has helped with our quality and processes immeasurably. We were just audited by one of our customers (Fortune 100 Company) and were able to prove what we said by allowing them into our JIRA system... thanks.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;We just upgraded to JIRA 3.2 Enterprise from 3.0.x. I wanted to share our experience.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;Total time from download to install: 5 minutes.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;Total down time for our users: 15 seconds.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;Total issues with upgrade: 0."&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;Andrew Wertkin of &lt;a href="http://www.synapsistech.com/"&gt;Synapsis Technology&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;a href="http://www.atlassian.com/software/jira/docs/latest/backup_data.html"&gt;Backup&lt;/a&gt;/&lt;a href="http://www.atlassian.com/software/jira/docs/latest/restore_data.html"&gt;Restore&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;JIRA'nın muhteşem özelliklerinden biri de veritabanı bağımsız otomatik yedekleme sistemi. JIRA sizin belirleyeceğiniz periyodlarda özelleştirilmiş alanlar da dahil olmak üzere kendisine ait tüm tabloları xml formatında export eder ve zip'ler. Bu yedek dosyaları daha sonra istediğiniz veritabanına import edebilirsiniz.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;"We had an interesting JIRA experience today. The building manager shut down the power without notifying us and the postgresql DB just disappeared. Due to an error in out backup script the DB wasn't included. Thankfully, the nightly JIRA created backup was there to save us - restore worked perfectly!"&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;Rob Harrop of Cake Solutions&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;JIRA'nın bu özelliğini ilk gördüğümde backup hızı ve kalitesi karşısında hayrete düşmüş ve hemen altyapıda ne kullandıklarını merak etmiştim. Ufak bir araştırmadan sonra &lt;a href="http://mustafatan.blogspot.com/2006/08/xstream.html"&gt;XStream&lt;/a&gt; ismindeki müthiş bir open-source tool'u kullandıklarını gördüm.&lt;br /&gt;&lt;br /&gt;Bu blog'da JIRA'nın yönetimsel güzelliklerine değinmeye çalıştım, bir dahaki blog'da artık fonksiyonel özelliklerine el atarız :)&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-8917149323914471575?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/8917149323914471575/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=8917149323914471575' title='4 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/8917149323914471575'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/8917149323914471575'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2007/04/jira-nedir-ii.html' title='JIRA Nedir - II'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-8194914135000853939</id><published>2007-04-08T15:36:00.000+03:00</published><updated>2007-04-08T18:01:15.209+03:00</updated><title type='text'>JIRA Nedir  - I</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Uzun zamandır bir çok blogumda &lt;a href="http://www.atlassian.com/software/jira/"&gt;JIRA&lt;/a&gt; ile ilgili örnekler vermiş fakat JIRA'yı detaylı olarak hiç anlatmamıştım. Bu sefer JIRA'yı, çarpıcı özellikleriyle anlatmaya çalışacağım.&lt;br /&gt;&lt;br /&gt;JIRA, &lt;a href="http://en.wikipedia.org/wiki/Atlassian"&gt;Atlassian&lt;/a&gt; firması tarafından geliştirilmiş web tabanlı bir İş, Hata Takip ve Proje Yönetim aracıdır. Her ne kadar öncelikle Yazılım Dünyasına hizmet eden bir uygulama gibi gözükse de kolay özelleştirilebilir iş akış sistemi, ekranları ve alanları sayesinde tüm sektörlerde ve departmanlarda kullanılabilecek bir uygulamadır.&lt;/span&gt;&lt;/span&gt;&lt;ul&gt;&lt;li style="font-family: verdana;font-family:verdana;" &gt;&lt;span style="font-size:78%;"&gt; Manage bugs, features, tasks, improvements or any issue&lt;/span&gt;&lt;/li&gt;&lt;li style="font-family: verdana;font-family:verdana;" &gt;&lt;span style="font-size:78%;"&gt; A clean and powerful user interface that is easy to understand for         both business and technical users&lt;/span&gt;&lt;/li&gt;&lt;li style="font-family: verdana;font-family:verdana;" &gt;&lt;span style="font-size:78%;"&gt; Map your business processes to custom workflows&lt;/span&gt;&lt;/li&gt;&lt;li style="font-family: verdana;font-family:verdana;" &gt;&lt;span style="font-size:78%;"&gt; Track attachments, changes, components and versions&lt;/span&gt;&lt;/li&gt;&lt;li style="font-family: verdana;font-family:verdana;" &gt;&lt;span style="font-size:78%;"&gt; Full text searching and powerful filtering (customisable, saveable, shareable and subscribeable!)&lt;/span&gt;&lt;/li&gt;&lt;li style="font-family: verdana;font-family:verdana;" &gt;&lt;span style="font-size:78%;"&gt; Customisable dashboards and real-time statistics&lt;/span&gt;&lt;/li&gt;&lt;li style="font-family: verdana;font-family:verdana;" &gt;&lt;span style="font-size:78%;"&gt; Enterprise permissioning and security&lt;/span&gt;&lt;/li&gt;&lt;li style="font-family: verdana;font-family:verdana;" &gt;&lt;span style="font-size:78%;"&gt; Easily extended to and integrated with other systems (including email, RSS, Excel, XML and source control)&lt;/span&gt;&lt;/li&gt;&lt;li style="font-family: verdana;font-family:verdana;" &gt;&lt;span style="font-size:78%;"&gt; Highly configurable notification options&lt;/span&gt;&lt;/li&gt;&lt;li style="font-family: verdana;font-family:verdana;" &gt;&lt;span style="font-size:78%;"&gt; Runs on almost any hardware, OS and database platform&lt;/span&gt;&lt;/li&gt;&lt;li style="font-family: verdana;font-family:verdana;" &gt;&lt;span style="font-size:78%;"&gt; Web service enabled for programmatic control (SOAP, XML-RPC and REST interfaces)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;         &lt;span style="font-family: verdana;font-family:verdana;font-size:78%;"  &gt;&lt;a href="http://www.atlassian.com/software/jira/comparison.jsp"&gt;and much more...&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;JIRA rakiplerine göre çok daha fazla zengin ve kolay kullanılabilir özellikler sunar. Bu &lt;a href="http://www.atlassian.com/software/jira/features/"&gt;linkten&lt;/a&gt; bahsettiğim zengin içeriğe ,daha detaylı bir şekilde göz atalabilirsiniz ama ben bloglarımda JIRA'nın diğer çarpıcı özelliklerine altyapısından başlayarak değinmeye çalışacağım.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Atlassian'ın Patronları&lt;/span&gt;&lt;br /&gt;Atlassian 2002 yılında, &lt;a href="http://blogs.atlassian.com/rebelutionary/"&gt;Mike Cannon-Brookes&lt;/a&gt; ve Scott Farquhar isimli &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;2 &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Avusturalyalı genç girişimci tarafından kurulmuş. Bu genç girişimciler bizim bildiğimiz klasik patronlardan gerçekten çok farklılar. Bence JIRA'nın başarısının arkasındaki birinci neden bu patronlar. İnşallah hepimize böyle patronlar nasip olur. İzleyin ve görün :&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;object height="350" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/VfyUbuFoiBU"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/VfyUbuFoiBU" type="application/x-shockwave-flash" wmode="transparent" height="350" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;&lt;span style="font-weight: bold;"&gt;Açık Kaynak Kullanımı&lt;/span&gt;&lt;br /&gt;Atlassian firmasının tanıtımında şöyle bir cümle yer alıyor "&lt;span style="font-style: italic;"&gt;Atlassian is a customer-driven software company, &lt;span style="font-weight: bold;"&gt;combining brilliantly simple tools&lt;/span&gt; with legendary service.&lt;/span&gt;" İşte bu cümlede geçen nefis basit araçlar'la kastedilen açık kaynak uygulamalardır. JIRA altyapısında irili ufaklı yaklaşık 70 adet java tabanlı açık kaynak API kullanmaktadır.&lt;br /&gt;&lt;br /&gt;Atlassian'cılar bu açık kaynak ürünleri çok güzel harmanlayıp muhteşem uygulamalar ortaya çıkarıyorlar. Felsefeleri ise gayet basit, yeni bir özelliğe ihtiyaç duyduklarında önce açık kaynak dünyayı araştırıyorlar bu konuda daha evvel bir ürün geliştiren olmuş mu diye. Eğer iyi kötü bir açık kaynak API bulurlarsa hemen destek (contribution) oluyorlar. Bu sayede hem kendi ürünlerini geliştirmede tasarruf etmiş, hem de destek oldukları açık kaynak ürünlerin gelişmesine büyük katkı sağlamış oluyorlar.&lt;br /&gt;&lt;br /&gt;Mike Cannon-Brookes &lt;a href="http://blogs.atlassian.com/rebelutionary/archives/2007/03/commercial_open_source_license_donations.html"&gt;&lt;span style="font-weight: bold;"&gt;Commercial Open Source License Donations&lt;/span&gt;&lt;/a&gt; isimli blogunda bu stratejilerini çok güzel anlatmış. Ayrıca aşağıdaki &lt;a href="http://images1.filecloud.com/412629/jira.jpg"&gt;bu grafikte&lt;/a&gt; JIRA'nın WEB-INF/lib klasörü altındaki jar dosyalarını kullanarak &lt;a href="http://www.kirkk.com/main/Main/JarAnalyzer"&gt;JarAnalyzer&lt;/a&gt; ile  hazırladığım bağımlılık haritasını görebilirsiniz. Sadece JIRA'nın değil, açık kaynak dünyanın da API'lerini biribirine bağlayıp nasıl harika bir sinerji oluşturduğunu çok güzel göstermektedir.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Lisanslama Modeli&lt;/span&gt;&lt;br /&gt;JIRA'nın çok kısa sürede tüm dünyada kullanılan başarılı bir ürün hale gelmesindeki en önemli etkenlerden birisi de sunduğu &lt;a href="http://www.atlassian.com/software/jira/pricing.jsp"&gt;lisans ve fiyat modelidir&lt;/a&gt;. Atlassian firması JIRA'yı Standard ($1200), Professional ($2400) ve Enterprise ($4800) olmak üzere çok komik lisans bedellerine satmakta ve kaynak kodunu da yanında birlikte vermektedir. Üniversiteler gibi akademik alanda kullanacaklara bu fiyatlar % 50 indirimlidir.&lt;br /&gt;&lt;br /&gt;Şimdi eminim XYZ firmasının $100.000'den başlayan fiyatla sattığı ürünlerle kıyaslayınca bu lisans ücretleri çok tuhaf gözüküyor. Aslında öyle değil. Atlassian altyapıda kullandığı açık kaynak ürünler sayesinde JIRA'yı geliştirme maliyetlerini düşürmüş, ayrıca 15-20 firmaya $100.000'a satmak yerine binlerce firmaya $1000 ile $5000 arasındaki herkesin kolaylıkla ödeyebileceği bir fiayata satarak sürümden kazanmış. Bu sayede &lt;a href="http://www.atlassian.com/software/jira/customers.jsp"&gt;müşterileri&lt;/a&gt; arasında Microsoft, NASA, Sony, Toyota gibi dünya devleri ile birlikte anı sanı duyulmamış 55 ülkeden 4100'ün üzerinde müşterisi bulunmakta.&lt;br /&gt;&lt;br /&gt;JIRA lisans modelinde ayrıca çok harika bir iş daha yapmış her bir lisans için sınırsız kullanıcı, sınırsız CPU, sınırsız proje ve sınırsız issue imkanı sunmuş. JIRA'yı veya benzer bir tool'u kullanmamış olanlar bunun önemini tam kavramamış olabilirler ama özellikle dünyaca ünlü XYZ firmalarının ürünlerini kullananlar ne demek istediğimi hemen anlayacaktır.&lt;br /&gt;&lt;br /&gt;Son olarak, Atlassian JIRA'yı "we are free, if you are free" prensipi ile &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;açık kaynak dünyaya ücretsiz vermekte ve bu dünyadan gelen geribeslemeler ile JIRA'nın kalitesini arttırmaktadır. Bir nevi açık kaynak dünya "kazan-kazan" prensibi ile JIRA'nın parasını testçilik ve analistlik yaparak ödemektedir.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:78%;"&gt;To give back to the open source community (and hopefully improve the quality of those projects!), JIRA is free for any Open Source project to use.&lt;br /&gt;There are a few requirements for an Open Source license, the main ones being: &lt;/span&gt;&lt;/p&gt;&lt;ul  style="font-family:verdana;"&gt;&lt;li style="font-weight: bold;"&gt;&lt;span style="font-size:78%;"&gt;Established code base&lt;/span&gt;&lt;/li&gt;&lt;li style="font-weight: bold;"&gt;&lt;span style="font-size:78%;"&gt;Publicly available project website&lt;/span&gt;&lt;/li&gt;&lt;li style="font-weight: bold;"&gt;&lt;span style="font-size:78%;"&gt;Using an approved open source license&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;İşte size JIRA kullanan birkaç meşhur açık kaynak proje:&lt;br /&gt;&lt;a href="http://jira.codehaus.org/"&gt;&lt;br /&gt;http://jira.codehaus.org&lt;/a&gt;&lt;br /&gt;&lt;a href="http://jira.jboss.com/"&gt;http://jira.jboss.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://opensource.atlassian.com/projects/spring"&gt;http://opensource.atlassian.com/projects/spring&lt;/a&gt;&lt;br /&gt;&lt;a href="https://issues.apache.org/struts"&gt;https://issues.apache.org/struts&lt;/a&gt;&lt;br /&gt;&lt;a href="https://issues.apache.org/jira"&gt;https://issues.apache.org/jira&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ayrıca Türkiye'den de JIRA lisansının alınmasına vesile olduğum meşhur &lt;a href="http://www.turquaz.com/tr/"&gt;Turquaz Muhasebe&lt;/a&gt; projesi mevcut:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://jira.turquaz.com/"&gt;http://jira.turquaz.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;JIRA ile ilgili anlatacağım daha çok şey var ve bunlar da bir blog'a sığmaz. Bir sonraki blogumda JIRA'yı anlatmaya devam edeceğim...&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-8194914135000853939?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/8194914135000853939/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=8194914135000853939' title='2 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/8194914135000853939'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/8194914135000853939'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2007/04/jira-nedir-i.html' title='JIRA Nedir  - I'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-448849931614567036</id><published>2007-04-01T20:34:00.000+03:00</published><updated>2007-04-01T21:04:09.116+03:00</updated><title type='text'>Automated Test Tools</title><content type='html'>&lt;span style="font-family: verdana;font-family:arial;font-size:85%;"  &gt;Ocak ayında JIRA developer'larından Andreas Knecht JIRA'nın otomatik testlerini anlatan &lt;a href="http://blogs.atlassian.com/developer/2007/01/jira_uberbox.html"&gt;JIRA uberbox&lt;/a&gt; isimli bir blog yayınlamıştı. Blog'da JIRA testleri ile ilgili bazı bilgiler yer alıyordu:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Note: For JIRA we have 2 automated test suites, &lt;span style="font-weight: bold;"&gt;Unit tests (about 2600 of them)&lt;/span&gt; and &lt;span style="font-weight: bold;"&gt;Functional tests (about 430)&lt;/span&gt;. Functional tests startup an instance of JIRA and make HTTP requests against this instance testing various parts of the UI.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Blogu okuduktan sonra JIRA'nın başarısının tesadüf olmadığını ve Test Driven Development'a ne kadar önem verdiklerini bir kere daha anlamıştım. Ayrıca unit ve functional testler için hangi araçları kullandıklarını merak etmiş ve Andreas Knecht'en bu merakımı gidermesini istemiştim :) Aynı blog'a 1 gün sonra cevap yazmış ama ihmalkarlığımdan dolayı cevabını ancak bugün okuyabildim.&lt;br /&gt;&lt;br /&gt;Atlassian'cılar test işleri için de Hollywood Bulvarı'nda ismi yer almayan open-source programlar kullanıyorlarmış. Aynen aktarıyorum Andreas'ın mesajını:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Hi Mustafa,&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;For unit tests we simply use JUnit. The functional tests are a little more complicated. For setting up the app-server we use &lt;a style="font-weight: bold;" href="http://cargo.codehaus.org/"&gt;cargo&lt;/a&gt;. To actually run the tests (i.e. clicking around the UI) we use &lt;a style="font-weight: bold;" href="http://jwebunit.sourceforge.net/"&gt;jWebunit&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;All the tests (both unit and functional) get executed via &lt;a href="http://maven.apache.org/"&gt;Maven&lt;/a&gt;. &lt;a href="http://www.atlassian.com/software/bamboo/"&gt;Bamboo&lt;/a&gt; simply runs the appropriate maven command.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Cheers,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Andreas&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.atlassian.com/developer/2007/01/jira_uberbox.html"&gt;http://blogs.atlassian.com/developer/2007/01/jira_uberbox.html&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-448849931614567036?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/448849931614567036/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=448849931614567036' title='4 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/448849931614567036'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/448849931614567036'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2007/04/automated-test-tools.html' title='Automated Test Tools'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-7795227694876375759</id><published>2007-03-27T23:31:00.000+03:00</published><updated>2007-04-04T00:18:29.831+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Issue Tracking'/><category scheme='http://www.blogger.com/atom/ns#' term='Fix Version'/><category scheme='http://www.blogger.com/atom/ns#' term='Release Management'/><category scheme='http://www.blogger.com/atom/ns#' term='Affect Version'/><category scheme='http://www.blogger.com/atom/ns#' term='Sürüm Yönetimi'/><title type='text'>Sürüm Yönetimi Pratikleri - III</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Sürüm Yönetiminde en önemli konulardan biri de Hata ve İstek Takip araçlarıdır. (&lt;a href="http://en.wikipedia.org/wiki/Issue_tracking_system"&gt;Issue Tracking Tools&lt;/a&gt;) Maalesef ülkemizde hala birçok yazılım evi ve departmanı bu takip işini e-mail veya telefonla yapmaktadır.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;Doğal olarak bu firmalar yazılım yaşam döngüsü boyunca ortaya çıkan işleri düzgünce kayıt altına alamadıkları için takip edememekte, takip edemedikleri bir ürünün de Sürüm Yönetimini yapamamaktadırlar.&lt;br /&gt;&lt;br /&gt;Bazı firmaların yaptığı diğer bir yanlış iş ise farklı talep tipleri için farklı araçlar kullanmalarıdır. Eğer hataların (bugs) takibi için ayrı bir araç, yeni iş istekleri için ayrı bir araç kullanılırsa sağlıklı bir Sürüm Yönetimi yapmak zorlaşır.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Bu yazımda Sürüm Yönetimi için nasıl bir İş Takip Sistemi'ne ihtiyacımız olduğundan ve bu iş için kullanacağımız araçtan beklentilerimizi ortaya koymaya çalışacağım.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;a) Release Notes (&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-weight: bold;"&gt;Sürüm Notları&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-weight: bold;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;br /&gt;Sürüm Yönetiminin aslında esas hedefi ve çıktısı sağlıklı Sürüm Notlarıdır. Sürüm Notları bir yazılıma ait işlerin (new feature &amp; bug fix) ne zaman ve hangi sürümde devreye alınacağını veya alındığını gösterir.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-weight: bold;"&gt;1)&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Issue Tracking Tool&lt;/span&gt; : Sağlıklı bir Sürüm Notu hazırlamak için öncelikle &lt;a href="http://www.atlassian.com/software/jira"&gt;JIRA&lt;/a&gt; gibi güzel bir araca ihtiyacımız var. (Neden JIRA? sorusu için ayrı bir blog hazırlıyorum)&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-weight: bold;"&gt;2)&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Issues :&lt;/span&gt; Geliştirdiğimiz proje, ürün, uygulama vs. ile ilgili her türlü konuyu (bug, task, new feature, improvement, problem, support request, etc.) İş Takip Arac'ı üzerinden takip etmemiz gerekiyor. (&lt;a href="http://jira.jboss.com/jira/browse/JBAS-4257"&gt;Örnek-I&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3)&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Affect Version(s) :&lt;/span&gt; Herhangi bir ortamda (DEV, TEST, PROD) uygulama kullanılırken tespit edilen hatalar takip sistemine girilirken mutlaka &lt;a href="http://mustafatan.blogspot.com/2007/02/srm-ynetimi-pratikleri-i.html"&gt;Sürüm Yönetimi Pratikleri - I&lt;/a&gt; başlıklı bloğumda bahsi geçen sürüm/versiyon numarası da (&lt;a href="http://www.atlassian.com/software/jira/docs/latest/projects.html#versions"&gt;affect version&lt;/a&gt;) kullanılmalıdır. Bu sayede hatanın hangi versiyonda ortaya çıktığı belli olacak ve Sürüm Notlarında gözükecektir.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_LrmmdzKl3hc/RgmJAQjw8oI/AAAAAAAAABQ/u-jTz84Dsic/s1600-h/jira_issue_version.JPG"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_LrmmdzKl3hc/RgmJAQjw8oI/AAAAAAAAABQ/u-jTz84Dsic/s320/jira_issue_version.JPG" alt="" id="BLOGGER_PHOTO_ID_5046715494983332482" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-weight: bold;"&gt;4) Fix Version(s) :&lt;/span&gt; Bir hata çözüldüğünde veya bir istek tamamlandığında bu işin hangi sürümle (fix version ??? link) devreye alınacağı mutlaka İş Takip Aracı'nda belirtilmelidir. Bu bilgi Sürüm Notlarının hazırlanabilmesi için çok önemlidir.&lt;br /&gt;&lt;br /&gt;Bu bilgileri kullanarak örnek linkteki gibi Sürüm Notlarını online olarak takip edebiliriz: (&lt;a href="http://jira.jboss.com/jira/browse/JBAS?report=com.atlassian.jira.plugin.system.project:roadmap-panel"&gt;JBoss Application Server Release Notes&lt;/a&gt;)&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-weight: bold;"&gt;5) &lt;a href="http://en.wikipedia.org/wiki/Version_control_system"&gt;SCM&lt;/a&gt; and Issue Integration :&lt;/span&gt;&lt;span&gt; Sürüm Yönetimi açısından en önemli konulardan biri de kodlar'daki değişikliklerin sürüm kapsamında yapılıp yapılmadığının kontrolüdür. Hiç kimse kapsam dışındaki bir değişikliğin production ortamına alınmasını istemez. Bunun önlemenin en iyi yolu Versiyon Kontrol Araçlarındaki (CVS, SVN, ClearCase, vs.) değişikliklerin, İş Takip Araçlarındaki konularla ilişkilendirilmesidir.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span&gt;&lt;br /&gt;Eğer developer'lar her check-in yaptıklarında, kod'un içerisinde ilgili yere bu değişikliğin nedeni olan IssueKey'i comment olarak yazarlarsa, JIRA ve CVS'in entegre olduğu durumlarda bu değişiklik JIRA'daki ilgili issue ile ilişkilendirilir ve raporlanır.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.atlassian.com/software/jira/docs/v2.6.1/images/docs/config/cvs_integration-versioncontrol.png"&gt;&lt;img style="cursor: pointer; width: 320px;" src="http://www.atlassian.com/software/jira/docs/v2.6.1/images/docs/config/cvs_integration-versioncontrol.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span&gt;&lt;span style="font-weight: bold;"&gt;6) Issue Linking : &lt;/span&gt;Bir sürüm kapsamındaki işlerin bağımlılıklarının takip edilmesi çok önemlidir. Örneğin 2.1.7 sürümünde çıkartacağınız bir iyileştirmenin bir parçası 2.2.0 sürümde çıkartmayı planladığınız bir iyileştirmeye bağımlı ise Sürüm Planını tekrardan yapmanız gerekecektir. Burada esas sorun planın tekrar yapılması değil bu bağımlılığın önceden ve kolayca tespit edilebilmesidir.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.atlassian.com/software/jira/docs/latest/images/docs/linking-screenshot.png"&gt;&lt;img style="cursor: pointer; width: 320px;" src="http://www.atlassian.com/software/jira/docs/latest/images/docs/linking-screenshot.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span&gt;&lt;br /&gt;Bu konu ile ilgili diğer bloglar:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://mustafatan.blogspot.com/2007/02/srm-ynetimi-pratikleri-i.html"&gt;Sürüm Yönetimi Pratikleri - I&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span&gt;&lt;br /&gt;&lt;a href="http://mustafatan.blogspot.com/2007/02/srm-ynetimi-pratikleri-ii.html"&gt;Sürüm Yönetimi Pratikleri - II&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-7795227694876375759?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/7795227694876375759/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=7795227694876375759' title='7 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/7795227694876375759'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/7795227694876375759'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2007/03/srm-ynetimi-pratikleri-iii.html' title='Sürüm Yönetimi Pratikleri - III'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_LrmmdzKl3hc/RgmJAQjw8oI/AAAAAAAAABQ/u-jTz84Dsic/s72-c/jira_issue_version.JPG' height='72' width='72'/><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-8703493326790252153</id><published>2007-03-25T19:57:00.000+03:00</published><updated>2007-03-25T20:21:06.457+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='SOAP'/><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><category scheme='http://www.blogger.com/atom/ns#' term='gc'/><title type='text'>Pauseless Garbage Collection</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;a href="http://www.pushtotest.com/About/bio.html"&gt;Frank Cohen&lt;/a&gt; Las Vegas'ta düzenlenen TheServerSide.com Java Sempozyumunda gördüklerini ve duyduklarını bloglarına taşımış. Bu &lt;a href="http://www.theserverside.com/news/thread.tss?thread_id=44764"&gt;bloglarından bir tanesine&lt;/a&gt; ilginç bir diyaloğa rastladım:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Azul Systems participated in the Server Side Java Symposium as both exhibitor and speakers. I had a chance to sit down for ten minutes to speak with Gil Tene, CTO and cofounder at Azul. "I've been blown away with what we have accomplished in our generational pauseless garbage collection performance," Gil said, "Using Kirk Pepperdine's performance benchmark &lt;span style="font-weight: bold;"&gt;we have measure 35 Gbytes/second of continuous, no gc pause, hashmap allocation rates!&lt;/span&gt;" Gil told me Cliff Click has a JavaOne talk on a log3 hashtable that they plan to open source. &lt;span style="font-weight: bold;"&gt;It scales linearly to 700 cpus or more. Gil said he expect 10 Gbytes/second and was "blown away by 35.&lt;/span&gt;" By comparison the typical Linux system clocks at 1 Gbytes/second.&lt;br /&gt;&lt;a href="http://www.theserverside.com/news/thread.tss?thread_id=44764"&gt;&lt;span style="font-style: italic;"&gt;http://www.theserverside.com/news/thread.tss?thread_id=44764&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Frank Cohen ayrıca aynı sempozyumda &lt;a href="http://downloads.pushtotest.com/presentations/2007_TSSJS_XMLPerf.pdf"&gt;&lt;span style="font-style: italic;"&gt;XML Scalability and Performance&lt;/span&gt;&lt;/a&gt; konusunda bir sunum da yapmış. Yaklaşık 4.5Mb. büyüklüğündeki ve pdf formatındaki sunumu aşağıdaki adresten indirebilirsiniz:&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;a href="http://downloads.pushtotest.com/presentations/2007_TSSJS_XMLPerf.pdf"&gt;http://downloads.pushtotest.com/presentations/2007_TSSJS_XMLPerf.pdf&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_LrmmdzKl3hc/Rgaufwjw8nI/AAAAAAAAABI/ROxXkjShUVY/s1600-h/frank_cohen_xml.JPG"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_LrmmdzKl3hc/Rgaufwjw8nI/AAAAAAAAABI/ROxXkjShUVY/s320/frank_cohen_xml.JPG" alt="" id="BLOGGER_PHOTO_ID_5045912293149307506" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-8703493326790252153?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/8703493326790252153/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=8703493326790252153' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/8703493326790252153'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/8703493326790252153'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2007/03/pauseless-garbage-collection.html' title='Pauseless Garbage Collection'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_LrmmdzKl3hc/Rgaufwjw8nI/AAAAAAAAABI/ROxXkjShUVY/s72-c/frank_cohen_xml.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-4472471007537393504</id><published>2007-03-25T13:57:00.000+03:00</published><updated>2007-03-26T00:11:04.871+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VLAN'/><category scheme='http://www.blogger.com/atom/ns#' term='player'/><category scheme='http://www.blogger.com/atom/ns#' term='altyazı'/><category scheme='http://www.blogger.com/atom/ns#' term='divx'/><category scheme='http://www.blogger.com/atom/ns#' term='subtitle'/><title type='text'>DIVX Tools</title><content type='html'>&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;Sizin de benim gibi dizi merakınız var mı bilmiyorum ama Internet sayesinde düzenli olarak izlediğim 3-5 tane dizi var. Tabii bu diziler divx formatında olduğu için ve altyazı'ları ayrıca eklemek gerektiği için çeşitli araçlara ihtiyacım oluyor.&lt;br /&gt;&lt;br /&gt;Aslında bu tip araçlar konusunda uzman olan ve harika yazılar yazan &lt;a href="http://yesiltas.net/sezer/"&gt;Sezer Yeşiltaş&lt;/a&gt; arkadaşımız. Ben onun kadar olmasa da çok severek kullandığım 2 Divx aracını tavsiye edeceğim.&lt;br /&gt;&lt;br /&gt;Birincisi yine Sezer'in tavsiye ettiği, müthiş bir Media Player olan  &lt;a href="http://www.videolan.org/"&gt;VLAN &lt;/a&gt;(VLC Media Player). VLAN tamamen ücretsiz, her işletim sisteminde çalışan, ekstra codec, driver, vs. istemeden herşeyi oynatan şahane bir player. &lt;a href="http://www.videolan.org/"&gt;http://www.videolan.org&lt;/a&gt;  adresinden VLAN'ı temin edebilirsiniz. Detaylı bilgi için de Sezer'in bloguna bir gözatabilirsiniz. &lt;a href="http://www.yesiltas.net/sezer/2007/03/vlc-media-oynatc-videolan-adnda-bir.html"&gt;http://www.yesiltas.net/sezer/2007/03/vlc-media-oynatc-videolan-adnda-bir.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;İkincisi ise divx altyazı senkronizasyon sorunları ile uğraşırken tesadüfen bulduğum harika bir Altyazı Senkronlama ve Düzenleme aracı olan &lt;a href="http://www.urusoft.net/products.php?cat=sw&amp;amp;lang=1"&gt;Subtitle Workshop&lt;/a&gt;. Divxplanet forumlarında Subtitle Workshop ile ilgili detaylı bir rehber mevcut. Bu rehbere &lt;a href="http://forum.divxplanet.com/index.php?showtopic=37487"&gt;http://forum.divxplanet.com/index.php?showtopic=37487&lt;/a&gt; adresinden ulaşabilirsiniz.&lt;br /&gt;&lt;br /&gt;Bu güzel araçları bize sağlayan açık dünyanın tüm güzel insanlarına sevgiler ve saygılar...&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-4472471007537393504?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/4472471007537393504/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=4472471007537393504' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/4472471007537393504'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/4472471007537393504'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2007/03/divx-tools.html' title='DIVX Tools'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-8683992717730295096</id><published>2007-03-24T10:11:00.000+02:00</published><updated>2007-03-24T10:29:29.208+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Shared Items'/><category scheme='http://www.blogger.com/atom/ns#' term='RSS'/><category scheme='http://www.blogger.com/atom/ns#' term='Google Reader'/><title type='text'>Google Reader Shared Items</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: verdana;"&gt;Uzun zamandır &lt;a href="http://www.jetbrains.com/omea/reader/"&gt;Omea RSS Reader&lt;/a&gt; kullanıyorum ve 60'ın üzerinde blog'u ve haber sitesini takip ediyorum. Omea kullanmamın en büyük nedeni çok kullanışlı bir arayüze sahip olması ve internet bağlı değilken bile önceden güncellediğim RSS'leri okuyabilmem.&lt;br /&gt;&lt;br /&gt;Lakin yaklaşık 2 hafta kadar önce uzun süredir direnmeme rağmen Google Reader'a geçiş yaptım. Aslında hesabım çok önceden vardı ama kullanmıyordum. Google Reader'a geçiş yapmamın tek bir nedeni var o da&lt;a href="http://www.google.com/help/reader/sharing.html"&gt; Shared Items&lt;/a&gt; özelliği.&lt;br /&gt;&lt;br /&gt;Internetin tüm hayatımızı sarması ve yaygınlaşmasıyla artık dört bir yandan bilgi yağıyor. Hergün en az 100 RSS haberini gözden geçiriyorum ve ilgimi çekenleri fırsat bulduğumda okuyorum. Bu zahmetli işlem benim için günlük bir rutin haline geldi. Fakat biliyorum ki çevremdeki çoğu kişinin bu imkanı yok.&lt;br /&gt;&lt;br /&gt;Bu yüzden bu bilgi yağmurunun içerisinden beğendiklerimi Google Reader'ın &lt;span style="font-weight: bold; font-style: italic;"&gt;share&lt;/span&gt; özelliği sayesinde artık arkadaşlarımla da paylaşıyorum. Bloglarımı web'ten takip edenler zaten sol menüde "&lt;span style="font-weight: bold; font-style: italic;"&gt;My Recent Readings&lt;/span&gt;" bölümünü görmüşlerdir.&lt;br /&gt;&lt;br /&gt;Google Reader bu paylaşımları ayrıca RSS feed olarak da sunuyor. Madem Google yapmış o zaman kullanmak lazım.&lt;br /&gt;&lt;br /&gt;Bilgi paylaştıkça çoğalır.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="interrupt-broadcast-header"&gt;&lt;span style="font-weight: bold;"&gt;Mustafa Tan's&lt;/span&gt; &lt;b&gt;shared items&lt;/b&gt; are publicly accessible. &lt;/div&gt;   They are available as a page at  &lt;a href="http://www.google.com/reader/shared/05031251813210006982" class="shared-items-url" target="_blank"&gt;http:&lt;wbr&gt;/&lt;wbr&gt;/www.google.com&lt;wbr&gt;/reader&lt;wbr&gt;/shared&lt;wbr&gt;/05031251813210006982&lt;/a&gt;  (and there's &lt;a href="http://www.google.com/reader/public/atom/user/05031251813210006982/state/com.google/broadcast" class="shared-items-feed-url" target="_blank"&gt;a feed&lt;/a&gt; &lt;img src="http://www.google.com/reader/ui/338499216-feed-icon-12.png" alt="" class="feed-icon" align="absmiddle" /&gt; too)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-8683992717730295096?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/8683992717730295096/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=8683992717730295096' title='2 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/8683992717730295096'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/8683992717730295096'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2007/03/google-reader-shared-items.html' title='Google Reader Shared Items'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-2674131278864428958</id><published>2007-03-14T23:13:00.000+02:00</published><updated>2007-03-14T23:37:24.781+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='captcha'/><category scheme='http://www.blogger.com/atom/ns#' term='jcaptcha'/><category scheme='http://www.blogger.com/atom/ns#' term='JIRA'/><title type='text'>jcaptcha</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: verdana;"&gt;Geçenlerde JIRA'nın 3.8 versiyonu yayınlandı. Her zaman yaptığım gibi hemen &lt;a href="http://confluence.atlassian.com/display/JIRA/JIRA+3.8+Release+Notes"&gt;Sürüm Notlarına&lt;/a&gt; bir göz attım ilgi çekici yenilikler var mı diye.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;We are happy to deliver JIRA 3.8 only 3 months after JIRA 3.7. In JIRA 3.8 we have implemented one of the most popular features, Editable Comments; made JIRA much easier to install and run on Windows via a Windows Installer; built a more robust integration with Atlassian Crowd (our identity management system); &lt;span style="font-weight: bold;"&gt;and are hoping to help fight evil spammers by using CAPTCHA&lt;/span&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;İlk gözüme çarpan 3.7'de çok çektikleri spammer'lardan kurtulmak için kullanmaya başladıkları &lt;a href="http://en.wikipedia.org/wiki/Captcha"&gt;&lt;span style="font-weight: bold;"&gt;CAPTCHA&lt;/span&gt;&lt;/a&gt; (&lt;span style="font-weight: bold;"&gt;C&lt;/span&gt;ompletely &lt;span style="font-weight: bold;"&gt;A&lt;/span&gt;utomated &lt;span style="font-weight: bold;"&gt;P&lt;/span&gt;ublic &lt;span style="font-weight: bold;"&gt;T&lt;/span&gt;est to tell &lt;span style="font-weight: bold;"&gt;C&lt;/span&gt;omputers and &lt;span style="font-weight: bold;"&gt;H&lt;/span&gt;umans &lt;span style="font-weight: bold;"&gt;A&lt;/span&gt;part) özelliği oldu. Biraz araştırınca bu iş için açık kaynak bir uygulama olan &lt;a href="http://jcaptcha.sourceforge.net/"&gt;&lt;span style="font-weight: bold;"&gt;jcaptcha&lt;/span&gt;&lt;/a&gt; 'yı tercih ettiklerini gördüm.&lt;br /&gt;&lt;br /&gt;jcaptcha zengin özelliklere ve güzel bir dokümantasyona sahip. Aşağıdaki linkleri kullanarak çok kısa sürede web uygulamanıza captcha özelliği kazandırabilirsiniz:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://forge.octo.com/jcaptcha/confluence/display/general/5+minutes+application+integration+tutorial"&gt;5 minutes application integration tutorial&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forge.octo.com/jcaptcha/confluence/display/general/Struts+integration"&gt;Struts integration&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.javaworld.com/javaworld/jw-03-2005/jw-0307-captcha.html"&gt;Use a CAPTCHA-based authentication module for J2EE Web applications&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://jcaptcha.sourceforge.net/"&gt;http://jcaptcha.sourceforge.net/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Eğer JIRA'cılar kullanıyorsa siz de production ortamlarında gönül rahatlığıyla kullanabilirsiniz. Ben kefilim :)&lt;br /&gt;&lt;br /&gt;Bilginize&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-2674131278864428958?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/2674131278864428958/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=2674131278864428958' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/2674131278864428958'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/2674131278864428958'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2007/03/jcaptcha.html' title='jcaptcha'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-4174149189051848627</id><published>2007-03-01T23:29:00.000+02:00</published><updated>2007-03-01T23:48:25.114+02:00</updated><title type='text'>O'Reilly SysAdmin</title><content type='html'>&lt;div style="font-family: verdana;"&gt;&lt;span style="font-size: 85%;"&gt;&lt;span style="font-size:85%;"&gt;Oreillynet.com ’da çeşitli konularda blog grupları mevcut. Bunlardan bir  tanesi de çıkan yazıları sürekli takip ettiğim System Admin’ler ile ilgili olan  : &lt;/span&gt;&lt;a href="https://mail.turkcell.com.tr/exchweb/bin/redir.asp?URL=http://www.oreillynet.com/sysadmin/blog/" target="_blank"&gt;&lt;span style="font-size:85%;"&gt;http://www.oreillynet.com/sysadmin/blog/&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;  &lt;/span&gt;&lt;/span&gt; &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 85%;"&gt;&lt;span style="font-size:85%;"&gt;Bu blogda çok güzel  konular tartışılıyor. Vakit bulduğunuzda 2007’den itibaren yayınlanmış bloglara  (çok uzun değiller) mutlaka bir göz atın. İlginizi çekeceğini düşündüğüm birkaç  yazıdan alıntı yaptım.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 85%;"&gt;&lt;b&gt;&lt;span&gt;&lt;a href="https://mail.turkcell.com.tr/exchweb/bin/redir.asp?URL=http://www.oreillynet.com/sysadmin/blog/2007/02/better_tools_make_us_more_powe.html" target="_blank"&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;Better tools make us more  powerful&lt;/span&gt;&lt;/em&gt;&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 85%;"&gt;&lt;span&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;Unfortunately, I’ve seen  too many sysadmins fall in love with the tedium of knowing all the little bits  of all the systems they manage and not worry so much about understanding the  higher-level nature of their jobs. I think this is part of why there are so few  good, new tools being developed in this space, why sysadmins generally provide  such poor service to their employers (e.g., slow deployments, lack of metrics,  lack of transparency), and why they’re so afraid of using better  tools.&lt;/em&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 85%;"&gt;&lt;span&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;&lt;strong&gt;To those  sysadmins who are afraid of automating themselves out of a job, you should ask  yourself where your value is: Is it the tedious parts, or is it the  understanding behind the job?&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 85%;"&gt;&lt;span&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;&lt;a href="https://mail.turkcell.com.tr/exchweb/bin/redir.asp?URL=http://www.oreillynet.com/sysadmin/blog/2007/02/why_isnt_system_administration.html"&gt;&lt;strong&gt;Why  Isn't System Administration Evolving?&lt;/strong&gt;&lt;/a&gt;&lt;/em&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 85%;"&gt;&lt;span&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;I’ve heard all of the  standard excuses — &lt;strong&gt;we don’t have enough time, we can’t risk it, we spend  all day doing computers and don’t want to do it at night, my company won’t let  me, etc.&lt;/strong&gt; Every software project that has ever evolved out of an  internal project has exactly these same excuses, and yet they have somehow  succeeded. Why have so few sysadmin tools evolved this way? Why are sysadmins so  willing to believe their excuses?&lt;/em&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 85%;"&gt;&lt;b&gt;&lt;span&gt;&lt;a href="https://mail.turkcell.com.tr/exchweb/bin/redir.asp?URL=http://www.oreillynet.com/sysadmin/blog/2007/02/what_sysadmins_can_learn_from.html" target="_blank"&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;What Sysadmins Can Learn From  Developers&lt;/span&gt;&lt;/em&gt;&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 85%;"&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;Developers have done a great  job in the last couple of decades of evolving their practice, so that  development looks very different now than it did a couple of years ago. There’s  a lot of competition for tools and methodologies, lots of publishing on these  differences, and plenty of opportunity for new ideas to gain mindshare. This  competition is really important to evolution: Unless there is opportunity and  reward for better ideas and products, these better ideas don’t develop very  quickly.&lt;/span&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 85%;"&gt;&lt;b&gt;&lt;span style="font-weight: bold;"&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;Sysadmins, on the other hand, have very little competition, in either  ideas or products, and in the few areas where there is competition there  generally isn’t much to differentiate the  competitors.&lt;/span&gt;&lt;/em&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;h2&gt;&lt;span style="font-size: 85%;"&gt;&lt;b&gt;&lt;span&gt;&lt;a href="https://mail.turkcell.com.tr/exchweb/bin/redir.asp?URL=http://www.oreillynet.com/sysadmin/blog/2007/02/fighting_specialization.html" target="_blank"&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;Fighting  Specialization&lt;/span&gt;&lt;/em&gt;&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt; &lt;p&gt;&lt;span style="font-size: 85%;"&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;I’m lucky to be in a position  where I am not forced to specialize on a single technology. I have always made a  habit of keeping up with the job market, and it seems the trend is that the  bigger the company you wind up at, the more likely you are to be staring at the  same thing day in and day out.&lt;/em&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-4174149189051848627?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/4174149189051848627/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=4174149189051848627' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/4174149189051848627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/4174149189051848627'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2007/03/oreilly-sysadmin.html' title='O&apos;Reilly SysAdmin'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-740278477343402681</id><published>2007-02-24T00:22:00.000+02:00</published><updated>2007-02-24T00:30:56.734+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Label'/><category scheme='http://www.blogger.com/atom/ns#' term='CVS'/><category scheme='http://www.blogger.com/atom/ns#' term='Release Management'/><category scheme='http://www.blogger.com/atom/ns#' term='Baseline'/><category scheme='http://www.blogger.com/atom/ns#' term='Sürüm Yönetimi'/><category scheme='http://www.blogger.com/atom/ns#' term='Tag'/><category scheme='http://www.blogger.com/atom/ns#' term='Version'/><title type='text'>Sürüm Yönetimi Pratikleri - II</title><content type='html'>&lt;span style="font-family:Verdana;font-size:85%;"&gt;Bir önceki &lt;a href="http://mustafatan.blogspot.com/2007/02/srm-ynetimi-pratikleri-i.html"&gt;blogumda&lt;/a&gt;  Sürüm Yönetimi pratiklerine bir giriş yapmış, Sürüm Numarasının Runtime'da  kullanımına (Version.class) değinmiştim. Bu yazıda ise diğer kullanım  şekillerinden bahsedeceğim.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Version Control Tool  &lt;/span&gt;&lt;/strong&gt;&lt;/div&gt; &lt;div&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Hangi Versiyon Kontrol aracını (CVS, SVN,  ClearCase, StarTeam, vs.) kullanırsanız kullanın tüm bu araçlarda mutlaka bir  etiketleme (Tag, Label, vs.) sistemi vardır. Sürümü oluştururken bir önceki &lt;a href="http://mustafatan.blogspot.com/2007/02/srm-ynetimi-pratikleri-i.html"&gt;blog&lt;/a&gt; 'da  bahsettiğim Sürüm Numarasını kullanarak, sürüm kapsamına giren java, jsp,  xml, html, sql, vs. tüm dosyalara mutlaka etiket atılmalıdır. gibi&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Etiketleme işleminde kullanılan Sürüm Numarası  genelde en sade formattadır.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Örnek:  &lt;strong&gt;TestProject_2.1.2_15022006&lt;/strong&gt; , &lt;strong&gt;TestProject_2.1.2&lt;/strong&gt;  veya &lt;strong&gt;2.1.2 &lt;/strong&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;gibi.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_LrmmdzKl3hc/Rd9pwy8RD0I/AAAAAAAAAA8/tzej8xiKtvY/s1600-h/rel_man_baselines.JPG"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_LrmmdzKl3hc/Rd9pwy8RD0I/AAAAAAAAAA8/tzej8xiKtvY/s320/rel_man_baselines.JPG" alt="" id="BLOGGER_PHOTO_ID_5034859195452690242" border="0" /&gt;&lt;/a&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Etiketleme işleminde baz alınacak versiyonların  seçimi için 3 yöntemden birini seçebilirsiniz:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;strong&gt;1)&lt;/strong&gt; &lt;strong&gt;Development Baseline  (Latest Version) &lt;/strong&gt;Bu yöntemde sürüm zamanı geldiğinde &lt;a href="http://en.wikipedia.org/wiki/Baseline_%28configuration_management%29"&gt;Development  Baseline&lt;/a&gt; 'ındaki kodların son versiyonlarına etiket atılır. Sürüme dahil  edilmek istenmeyen versiyonlar etiketleme öncesi geri alınarak sürüme çıkması  engellenir. Bu yöntem genelde bir dosya üzerinde birden fazla kişinin  çalışmadığı, küçük takımlardan oluşan, yapılan değişikliklerin kısa sürede  sürümlere dahil edildiği projelerde tercih edilir. Bu yöntemde eğer ekip üyeleri  dosyalarına ve değişikliklerine hakim ise çok sorun yaşanmaz ama gene de  diğerlerine göre en riskli yöntemdir. Etiketleme işlemi tamamlandıktan sonra,  etiketlenen dosyalar &lt;a href="http://en.wikipedia.org/wiki/Baseline_%28configuration_management%29"&gt;Production  Baseline&lt;/a&gt; 'ına transfer edilir.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;strong&gt;2) Production Baseline (Latest Version)  &lt;/strong&gt;Bu yöntemde developer'lar sürüme dahil olmasını istedikleri dosyaları  kendileri manuel olarak Production Baseline (branch) 'ına transfer ederler.  Sürüm zamanı geldiğinde bu baseline 'deki kodların son versiyonlarına etiketleme  yapılır. Bu yöntem diğerlerine göre en güvenli olanıdır. Yanlış kodların  gönderilmesi gibi hataların önüne bu yöntemle geçilmiş olur. Bu yöntemin en  büyük handikapı ise developer'ların sık sık, gerçekten sürüme dahil olması  gereken dosyaları bu baseline' a transfer etmeyi unutmalarıdır.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;strong&gt;3) Development Baseline (Release Label)  &lt;/strong&gt;Bu yöntemde ise developerlar Development Baseline 'ında sürüme dahil  olmasını istedikleri dosyalarının ilgili versiyonlarına &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;TO_RELEASE, TO_TEST, TO_PROD vs. gibi önceden belirlenmiş  sabit etiketler atarlar. (ya da kaydırırlar) Sürüm zamanı geldiğinde Sürüm  Yönetimi, üzerinde bu sabit etiketten bulunan dosyaların ilgili versiyonlarını  sürüm numarası ile etiketler. Bu yöntemde genelde ayrıca bir Production Baseline  kullanılmaz.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt; &lt;div&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Bu etiketleme işlemini ister ant yardımıyla  otomatik, isterseniz de manual yapabilirsiniz:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;strong&gt;Manual Etiketleme &lt;/strong&gt;çok sık  sürümün çıkarılmadığı projelerde en çok tercih edilen yöntemdir. Bu işlem  &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;developerlar veya Sürüm Yöneticisi tarafından  gerçekleştirilebilir. Dikkat edilmesi gereken nokta ise etiketleme işleminin  daha evvelden Sürüm Yönetimi tarafından yayınlanmış tarihte ve saatte  yapılmasıdır. Özellikle derleme ve paketleme işlemi belli bir saatte otomatik  olarak başlayacaksa zamanlama çok daha önemli olacaktır.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;strong&gt;Otomatik Etiketleme &lt;/strong&gt;genelde  periyodik olarak çok sık sürüm çıkarılan projelerde tercih edilen bir yöntemdir.  Otomatik etiketleme işlemi, derleme ve paketleme işleminin bir ön işi olarak  birlikte gerçekleştirilir. Otomatik yapılan işlemlerde treni kaçıran  :) developer sayısı çok olsa da, sürümler sık çıktığı için bir sonraki sefere yetişilerek  bu durum kolayca telafi edilebilir.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Genelde developer ve testçi sayısının fazla  olduğu büyük projelerde periyodik olarak sürüm zamanları ve numaraları önceden  belirlenir ve yayınlanır. Ayrıca bu sürüm numaraları, test sürümleri baz alınarak  oluşturulur. &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Küçük ekiplerin geliştirdiği ve  sürümlerin çok sık çıkmadığı projelerde ise sürüm numaları production sürümleri  baz alınarak oluşturulur.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Sürüm Yönetimi hakkında konuşacağımız daha çok  şey var, bir sonraki blogda görüşmek üzere :)&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-740278477343402681?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/740278477343402681/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=740278477343402681' title='1 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/740278477343402681'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/740278477343402681'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2007/02/srm-ynetimi-pratikleri-ii.html' title='Sürüm Yönetimi Pratikleri - II'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_LrmmdzKl3hc/Rd9pwy8RD0I/AAAAAAAAAA8/tzej8xiKtvY/s72-c/rel_man_baselines.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-7146229404964405513</id><published>2007-02-18T17:05:00.000+02:00</published><updated>2007-02-24T00:34:39.305+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Release Management'/><category scheme='http://www.blogger.com/atom/ns#' term='Sürüm Yönetimi'/><category scheme='http://www.blogger.com/atom/ns#' term='Version'/><title type='text'>Sürüm Yönetimi Pratikleri - I</title><content type='html'>&lt;span style="font-family: verdana;font-family:verdana;font-size:85%;"  &gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;span style=""&gt;İster kurumsal bir firmanın yazılım departmanı  olsun, isterse küçük bir yazılım evi olsun. Yazılım geliştiren her  organizasyonun mutlaka bir Sürüm Yönetimi (&lt;a href="http://en.wikipedia.org/wiki/Release_Management"&gt;Release Management&lt;/a&gt;)  olmalı. Maalesef çoğu kişi tarafından Sürüm Yönetimi deyince akla sadece,  program kaynak kodlarının &lt;a href="http://en.wikipedia.org/wiki/Concurrent_Versions_System"&gt;CVS&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/ClearCase"&gt;ClearCase&lt;/a&gt; gibi  Versiyon Kontrol Sistemlerinde (&lt;a href="http://en.wikipedia.org/wiki/Source_Control_Management"&gt;SCM&lt;/a&gt;) saklanması geliyor. Halbuki  Sürüm Yönetimi Müşteriyi, Analizi, Tasarımı, Kodlamayı, Test'i ve  Deploymentı da içine alan daha kompleks ve uzun bir süreç.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="font-family: verdana;font-family:verdana;" &gt; &lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;span style=""&gt;Bu yüzden birkaç blog ile Sürüm Yönetimini  anlatmamız mümkün değil. Bunun yerine niyeim işin teoriğine pek girmeden,  büyüklüğü ve türü ne olursa olsun her türlü yazılım projelerinde  kullanabileceğiniz Süreç Yönetiminin pratiklerinden ve püf noktalarında  bahsetmek. Birazdan bahsedeceğim konular daha evvel uyguladığımız ve büyük  faydasını gördüğümüz pratiklerdir. Vereceğim örnekler her ne kadar Java  uygulamalarına ait olsa da benzer mantıkla diğer tüm programlama dillerine de  uyarlanabilir.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;span style=""&gt;Bu konuyla ilk defa haşır-neşir olacakların,  birazdan çok bahsi geçecek bazı araçlar ve metodolojiler hakkında altyapı  oluşturmaları gerekiyor ki Süreç Yönetimi pratiklerini anlamaları ve kendi  projelerinde uygulamaları kolay olsun. Bu yüzden lütfen öncelikle  aşağıdaki linklere bir göz atalım:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;ul&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Release_Management"&gt;&lt;span style=""&gt;What is Release Management ?&lt;/span&gt;&lt;/a&gt;   &lt;/li&gt;&lt;li&gt;&lt;a href="http://ant.apache.org/faq.html#what-is-ant"&gt;&lt;span style=""&gt;What is Apache Ant ?&lt;/span&gt;&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.martinfowler.com/articles/continuousIntegration.html"&gt;&lt;span style=""&gt;What is Continuous Integration  ?&lt;/span&gt;&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a href="http://cruisecontrol.sourceforge.net/"&gt;&lt;span style=""&gt;What is Cruise Control ?&lt;/span&gt;&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Revision_Control"&gt;&lt;span style=""&gt;What is Version Control ?&lt;/span&gt;&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Issue_tracking"&gt;&lt;span style=""&gt;What is Bug &amp; Issue Tracking  ?&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ul&gt; &lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;strong&gt;&lt;span style=""&gt;Sürüm Numarası&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;span style=""&gt;Sürüm Yönetiminin temel yapı taşı Sürüm  Numarasıdır. Bu yüzden bir projeye başlamadan evvel Sürüm Numarası'nın hangi  formatta olacağını, bu numarayı nasıl (manual/automatic) üreteceğimizi,  farklı  ortamlar (Development, Test, Production, vs.) için nasıl  farklılaştıracağımız belirlememiz gerekiyor.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;Eğer çok sık (2-3 günde bir) sürüm/deployment yapılan  bir projenin Sürüm Yönetimini yapacaksanız Sürüm Numarası'nı olabildiğince  detaylı bilgi içerecek şekilde tasarlayın. Eğer sürümleriniz arasında uzun  süreler var ise Sürüm Numarasının çok detaylı olmasına gerek yok.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;Ben genelde kendime Açık Kaynak dünyasını örnek aldığım  için bu konuda da yaklaşık 2-3 ayda bir sürüm çıkaran  JBoss'u örnek vereceğim:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossProductVersioning"&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;strong&gt;&lt;em&gt;JBoss Product Version  Conventions&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;strong&gt;&lt;em&gt;&lt;br /&gt;&lt;br /&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;em&gt;&lt;/em&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;em&gt;Product versions follow this format  &lt;strong&gt;X&lt;/strong&gt;.&lt;strong&gt;YY&lt;/strong&gt;.&lt;strong&gt;ZZ&lt;/strong&gt;.&lt;strong&gt;Q&lt;/strong&gt;*  (i.e. 1.2.3.GA, 1.2.3.CR1, 1.2.3.Alpha1-20060205091502)&lt;br /&gt;&lt;br /&gt;&lt;/em&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;em&gt;&lt;/em&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;em&gt;&lt;strong&gt;X&lt;/strong&gt; signifies major version related  to production release. This is a number.&lt;/em&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;em&gt;&lt;strong&gt;YY&lt;/strong&gt; signifies minor version with  minor feature changes or additions (use of even numbers is preferred...3.0, 3.2,  3.4, etc.). This is a number.&lt;/em&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;em&gt;&lt;strong&gt;ZZ&lt;/strong&gt; signifies patches and bug fixes.  Minor features that do not introduce backward compatibility issues are ok. This  is a number.&lt;/em&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;em&gt;&lt;strong&gt;Q&lt;/strong&gt;* is an alpha-numeric qualifier.  The prefix of the quali&lt;/em&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;em&gt;fier needs to match the qualifier conventions listed  below to ensure that versions can be compared consistently in terms of version  ordering.&lt;/em&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;em&gt;&lt;/em&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;em&gt;Major versions are usually developed in multiple  iterations. Each iteration concludes with an intermediate version release.  Intermediate versions are annotated with appropriate suffixes. This shows the  progression of release versions. A given release may not have all stages of  releases shown here.&lt;br /&gt;&lt;br /&gt;&lt;/em&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;Yukarıdaki örnekte görüldüğü gibi genelde Sürüm  Numaralarında 3 veya 4 basamaklı "." işareti ile biribirinden ayrılmış numaralar  kullanılır. Bu numaralar her zaman, atlama yapmadan sırayla  arttırılır. &lt;strong&gt;X&lt;/strong&gt; genelde projeniz büyük yapısal veya fonksiyonel  değişiklik var ise arttırılır. &lt;strong&gt;YY &lt;/strong&gt;ise genelde production  ortamına planlı yeni özelliklerin alındığı sürümlerde arttırılır.  &lt;strong&gt;ZZ&lt;/strong&gt; genelde test veya prod ortamlarında alınan bugfix ve  improvement'lar için arttırılır. &lt;strong&gt;Q &lt;/strong&gt;ise Build Number diye tabir  edilen özellikle development ortamları gibi çok sık çıkarılan sürümleri  biribirinden &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;ayırmak için kullanılan bir numaradır.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;Bu bilgiler ışığında projelerinizin büyüklüğüne ve sürüm  çıkarma sıklığına göre kullanabileceğiniz bazı numaralandırma formatları  şunlar:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;ul&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;li&gt;[Project_Name]_X.YY.ZZ --&gt;  TestProject_2.1.2  &lt;/li&gt;&lt;li&gt;[Project_Name]_X.YY.ZZ_[Date] --&gt;  TestProject_2.1.2_15022006  &lt;/li&gt;&lt;li&gt;[Project_Name]_X.YY.ZZ_[Date]_[Time] --&gt;  TestProject_2.1.2_15022006_1300  &lt;/li&gt;&lt;li&gt;[Project_Name]_X.YY.ZZ_[Date]_[Time]_[Build Number]  --&gt; TestProject_2.1.2_15022006_1300_[114]  &lt;/li&gt;&lt;li&gt;[Project_Name]_X.YY.ZZ_[Date]_[Time]_[Environment]_[Build  Number] --&gt;  TestProject_2.1.2_[Test]_15022006_1300_[114]&lt;/li&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ul&gt; &lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;Sürüm Numarası formatına karar verdiğimize göre bu sürüm  numarasını nerelerde kullanacağımıza da karar vermemiz gerekiyor. Edindiğim  tecrübeler ışığında söyleyebilirim ki "Biz Sürüm Yönetimi yapıyoruz"  diyebilmeniz için aşağıdaki 3 ortama Sürüm Numaralarını senkronize bir  şekilde girmeniz gerekiyor.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_LrmmdzKl3hc/Rdhrui8RDyI/AAAAAAAAAAk/D9xt9O25BBs/s1600-h/rel_man_triangle1.JPG"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_LrmmdzKl3hc/Rdhrui8RDyI/AAAAAAAAAAk/D9xt9O25BBs/s320/rel_man_triangle1.JPG" alt="" id="BLOGGER_PHOTO_ID_5032891030984265506" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt; &lt;ul&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;li&gt;&lt;span style=""&gt;Runtime (Version.class)&lt;/span&gt;   &lt;/li&gt;&lt;li&gt;&lt;span style=""&gt;Version Control Tool (Label, Version, Tag,  etc.)&lt;/span&gt;  &lt;/li&gt;&lt;li&gt;&lt;span style=""&gt;Issue &amp; Bug Tracking Tool  (Version)&lt;/span&gt;&lt;/li&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ul&gt;  &lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;strong&gt;Runtime&lt;/strong&gt; &lt;strong&gt;(Version.class)&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;strong&gt;&lt;/strong&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;Sürüm Yönetimi yaptığını düşünen organizasyonların yaptığı en büyük  hatalardan biri de, versiyon bilgisini deploy ettirdikleri kodların içine bir  yere kaydetmemeleridir. İster bir class içerisinde, isterse bir property dosyası  içerisinde olsun Sürüm Numarası mutlaka derlediğiniz paketin içinde  bulunmalıdır. Peki bunun bize ne yararı olur:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;ul&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;li&gt;&lt;strong&gt;Deployment hatalarının önceden tespiti.&lt;/strong&gt; Eğer derlediğiniz  uygulamaları adminler tarafından manual olarak yapılıyorsa, yanlış paketin  kopyalanması, cache'in temizlenmemesi, vs. gibi hataları paketinizin içindeki  Sürüm Bilgisi sayesinde hemen farkedebilirsiniz.  &lt;/li&gt;&lt;li&gt;&lt;strong&gt;Tespit edilen bugların sürüm bazında raporlanması&lt;/strong&gt;. Test  elemanları buldukları hataları &lt;a href="http://en.wikipedia.org/wiki/Issue_tracking"&gt;Issue Tracking Tool&lt;/a&gt; 'unuza  girerken, hatanın ortaya çıktığı sürüm numarasını bu bilgi sayesinde tespit  edeceklerdir. Hangi sürümde ne kadar hatanın yakalandığı bilgisi Sürüm  Yöneteminin en önemli çıktılarından birisidir.&lt;/li&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ul&gt; &lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;Sürüm Bilgisi genelde ya jar dosyaları içerisindeki MANIFEST dosyalarında,  ya property dosyalarında ya da sembolik bir java dosyası içerisinde saklanır.  Ben genelde Version.class isminde bir java dosyasında saklamayı tercih ediyorum.  Sürüm bilgisini uygulamaların içerisine 2 yöntemden biri kullanarak  yerleştirilebilir.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;strong&gt;a) Manuel &lt;/strong&gt;olarak Konfigürasyon Yöneticinizden veya bir  developer'dan her sürüm çıkışı öncesi, önceden yayınladığınız Sürüm Numarasını  formatını sizin belirlediğiniz bir Version.class'ı içerisine güncellemesini  isteyebilirsiniz. Bu yöntem hataya, unutkanlığa çok açık olduğu için benim çok  tercih ettiğim bir yöntem değildir. Fakat 2-3 haftada bir gibi uzun aralıklarla  sürüm çıkartıyorsanız bu işi manual yapmakta hiç bir sakınca yok.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;Örnek bir Version.class&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;em&gt;package com.blogspot.mustafatan.testproject;&lt;/em&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;em&gt;&lt;/em&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;em&gt;public class Version {&lt;br /&gt;private static String version =  "&lt;strong&gt;TestProject_2.1.2_15022006&lt;/strong&gt;";&lt;/em&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;em&gt;&lt;/em&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;em&gt; public static String getVersion() {&lt;/em&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;em&gt;return  version;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/em&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;strong&gt;b) Otomatik &lt;/strong&gt;olarak &lt;a href="http://ant.apache.org/"&gt;Apache Ant&lt;/a&gt; 'ı kullanarak  hem uygulamanızı derleyip, hem de bu sırada sürüm numarası oluşturup  derlediğiniz paket içerisine yerleştirebilirsiniz. Bu sayede kullanıcı  hatalarından kaynaklanabilecek versiyonlama hatalarını engelleyebilir, hem de  çok daha detaylı bilgi içeren bir sürüm numarası üretebilirsiniz. Bu işlem için  Ant'ın Copy, Javac, BuildNumber, Replace gibi meşhur task'larından bol bol  yararlanabilirsiniz.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;   &lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;Örnek Ant Task'ları:&lt;br /&gt;&lt;br /&gt;   &amp;#60;buildnumber file="buildNumbers/TestProject.number"/&amp;#62;&lt;br /&gt;&lt;br /&gt;   &amp;#60;tstamp&amp;#62;&lt;br /&gt;         &amp;#60;format property="BUILD_TIME" pattern="ddMMyyyy-HHmm" locale="en"/&amp;#62;&lt;br /&gt;   &amp;#60;/tstamp&amp;#62;&lt;br /&gt;&lt;br /&gt;   &amp;#60;property name="build.version" value="TestProject_${release.number}_${BUILD_TIME}_Development_${build.number}"/&amp;#62;&lt;br /&gt;&lt;br /&gt;&lt;buildnumber file="buildNumbers/TestProject.number"&gt;&lt;tstamp&gt;&lt;property name="build.version" value="TestProject_${release.number}_${BUILD_TIME}_Development_${build.number}"&gt;&lt;/property&gt;&lt;/tstamp&gt;&lt;/buildnumber&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;Sürüm numaralarını bir şekilde oluşturduğumuza göre geriye bir  tek bu numaranın son kullanıcının kolayca ulaşabileceği veya görebileceği  şekilde ekranlarda gösterilmesi kalıyor. Örneğin Internet Explorer  menüsünde &lt;em&gt;Help -&gt; About Internet Explorer&lt;/em&gt; sekmesine tıkladığınızda  Browser' ınızın hangi versiyonda olduğunu rahatlıkla görebilirsiniz. Benzer  şekilde siz de uygulamanızın sürüm numarasını, ana menüde kullanıcılarınızın  rahatça görebileceği bir yerde gösterebilirsiniz.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_LrmmdzKl3hc/RdhuVC8RDzI/AAAAAAAAAAs/NJQiDgKc69c/s1600-h/explorer_version.JPG"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_LrmmdzKl3hc/RdhuVC8RDzI/AAAAAAAAAAs/NJQiDgKc69c/s320/explorer_version.JPG" alt="" id="BLOGGER_PHOTO_ID_5032893891432484658" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;  &lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;Devamı için: &lt;a href="http://mustafatan.blogspot.com/2007/02/srm-ynetimi-pratikleri-ii.html"&gt;Sürüm Yönetimi Pratikleri - II&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-7146229404964405513?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/7146229404964405513/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=7146229404964405513' title='5 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/7146229404964405513'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/7146229404964405513'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2007/02/srm-ynetimi-pratikleri-i.html' title='Sürüm Yönetimi Pratikleri - I'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_LrmmdzKl3hc/Rdhrui8RDyI/AAAAAAAAAAk/D9xt9O25BBs/s72-c/rel_man_triangle1.JPG' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-9127135423419731538</id><published>2007-02-04T11:15:00.000+02:00</published><updated>2007-02-04T11:43:28.543+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='Confluence'/><category scheme='http://www.blogger.com/atom/ns#' term='Atlassian'/><category scheme='http://www.blogger.com/atom/ns#' term='JIRA'/><title type='text'>Videos about JIRA</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: verdana;"&gt;Beni yakından tanıyanlar ya da yazılarımı düzenli takip edenler &lt;a href="http://www.atlassian.com/software/jira/"&gt;JIRA&lt;/a&gt; 'yı ve &lt;a href="http://www.atlassian.com/software/confluence/"&gt;Confluence&lt;/a&gt; 'u ne kadar sevdiğimi ve bu ürünlerin geliştiren Atlassian firmasına ne kadar hayranlık duyduğumu iyi bilirler. Zaman zaman arkadaşlarım bana "Ne var bu kadar bu elemanlarda" diye soruyorlar.&lt;br /&gt;&lt;br /&gt;Vakit ayırıp aşağıdaki 2-3 dakikalık  youtube video'larını izlerseniz hiç JIRA veya Confluence kullanmamış olsanız bile bana hak vereceksiniz.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a style="font-family: verdana;" href="http://www.youtube.com/watch?v=LIcv2V_Qwf8&amp;mode=related&amp;amp;search=" id="video_title_text_0_61_106" rel="nofollow"&gt;A look at award winning company Atlassian&lt;br /&gt;&lt;/a&gt;&lt;a style="font-family: verdana;" href="http://www.youtube.com/watch?v=F-mw8Qr4fYE&amp;mode=related&amp;amp;search=" rel="nofollow" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"&gt;Ali Moore speaks with Michael Cannon-Brookes&lt;br /&gt;&lt;/a&gt;&lt;a style="font-family: verdana;" href="http://www.youtube.com/watch?v=VfyUbuFoiBU&amp;mode=related&amp;amp;search=" rel="nofollow" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"&gt;Atlassian Software Systems&lt;/a&gt;&lt;a style="font-family: verdana;" href="http://www.youtube.com/watch?v=tAaEyI4PI0E&amp;mode=related&amp;amp;search=" rel="nofollow" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"&gt;&lt;br /&gt;A Day with Confluence&lt;br /&gt;&lt;/a&gt;&lt;a style="font-family: verdana;" href="http://www.youtube.com/watch?v=kncEDi_hVLM&amp;mode=related&amp;amp;search=" rel="nofollow" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"&gt;Mission: Atlassian&lt;/a&gt;&lt;a style="font-family: verdana;" href="http://www.youtube.com/watch?v=yHuNpY4YXe4&amp;mode=related&amp;amp;search=" rel="nofollow" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"&gt;&lt;br /&gt;Mike Cannon-Brookes&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: verdana;"&gt;&lt;br /&gt;  &lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-9127135423419731538?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/9127135423419731538/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=9127135423419731538' title='4 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/9127135423419731538'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/9127135423419731538'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2007/02/videos-about-jira.html' title='Videos about JIRA'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-7307226323829060686</id><published>2007-02-04T11:00:00.000+02:00</published><updated>2007-02-04T11:15:30.576+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open-source'/><category scheme='http://www.blogger.com/atom/ns#' term='açık kaynak'/><title type='text'>Top 20 most popular Open Source programs in 2006</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: verdana;"&gt;Yeni bir yıla başladığımızda birileri mutlaka geçen yılın "en" leri ile ilgili listeler yayınlıyor. Aşağıda açık kaynak uygulamalar ile ilgili bir liste daha mevcut. Gerçekten içlerinde benim de ilk defa duyduklarım mevcut. Umarım size de bir faydası olur:&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;p style="font-family: verdana; font-style: italic;"&gt;&lt;span style="font-size:85%;"&gt;Those were the &lt;strong&gt;top most popular open source&lt;/strong&gt; software in 2006 and some of them will stay popular for the years to come. (File Sharing not included). If you’d like to see some other popular open source software, you can visit &lt;a href="http://www.opensourcewindows.org/" target="_blank" onclick="javascript:urchinTracker('/outbound/www.opensourcewindows.org');"&gt;OpenSourceWindows.org.&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;ol style="font-family: verdana; font-style: italic;"&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://www.7-zip.org/" onclick="javascript:urchinTracker('/outbound/www.7-zip.org');"&gt;7-Zip&lt;/a&gt; - file compression + &lt;a href="http://portableapps.com/apps/utilities/7-zip_portable" target="_blank" rel="tag" onclick="javascript:urchinTracker('/outbound/portableapps.com');"&gt;7Zip Portable&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://www.abisource.com/" onclick="javascript:urchinTracker('/outbound/www.abisource.com');"&gt;Abiword&lt;/a&gt; - create word documents + &lt;a href="http://portableapps.com/apps/office/abiword_portable" target="_blank" rel="tag" onclick="javascript:urchinTracker('/outbound/portableapps.com');"&gt;Abi Portable&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://audacity.sourceforge.net/" onclick="javascript:urchinTracker('/outbound/audacity.sourceforge.net');"&gt;Audacity&lt;/a&gt; - sound editing and effects + &lt;a href="http://portableapps.com/apps/music_video/audacity_portable" target="_blank" rel="tag" onclick="javascript:urchinTracker('/outbound/portableapps.com');"&gt;Audacity Portable&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://www.blender.org/" onclick="javascript:urchinTracker('/outbound/www.blender.org');"&gt;Blender 3D&lt;/a&gt; - 3D modeling and animation + &lt;a href="http://www.portablefreeware.com/?q=Blender&amp;m=Search" target="_blank" rel="tag" onclick="javascript:urchinTracker('/outbound/www.portablefreeware.com');"&gt;Blender Portable&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://www.clamwin.com/" onclick="javascript:urchinTracker('/outbound/www.clamwin.com');"&gt;ClamWin&lt;/a&gt; - antivirus and antispyware scanner + &lt;a href="http://www.portablefreeware.com/?q=ClamWin&amp;m=Search" target="_blank" rel="tag" onclick="javascript:urchinTracker('/outbound/www.portablefreeware.com');"&gt;ClamWin Portable&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://www.heidi.ie/eraser/" onclick="javascript:urchinTracker('/outbound/www.heidi.ie');"&gt;Eraser&lt;/a&gt; - erases your data securely + &lt;a href="http://www.portablefreeware.com/?id=267" target="_blank" rel="tag" onclick="javascript:urchinTracker('/outbound/www.portablefreeware.com');"&gt;Eraser Portable&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://filezilla.sourceforge.net/" onclick="javascript:urchinTracker('/outbound/filezilla.sourceforge.net');"&gt;FileZilla&lt;/a&gt; - ftp client + &lt;a href="http://portableapps.com/apps/internet/filezilla_portable" target="_blank" rel="tag" onclick="javascript:urchinTracker('/outbound/portableapps.com');"&gt;FileZilla Portable&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://www.mozilla.org/" onclick="javascript:urchinTracker('/outbound/www.mozilla.org');"&gt;Firefox&lt;/a&gt; - browser + &lt;a href="http://portableapps.com/apps/internet/firefox_portable" target="_blank" rel="tag" onclick="javascript:urchinTracker('/outbound/portableapps.com');"&gt;Firefox Portable&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://gaim.sourceforge.net/" onclick="javascript:urchinTracker('/outbound/gaim.sourceforge.net');"&gt;Gaim&lt;/a&gt; - instant messenger + &lt;a href="http://portableapps.com/apps/internet/gaim_portable" target="_blank" rel="tag" onclick="javascript:urchinTracker('/outbound/portableapps.com');"&gt;Gaim Portable&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://ganttproject.biz/" onclick="javascript:urchinTracker('/outbound/ganttproject.biz');"&gt;Ganttproject&lt;/a&gt; - scheduling , resource management, calendaring &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://www.gimp.org/" onclick="javascript:urchinTracker('/outbound/www.gimp.org');"&gt;Gimp&lt;/a&gt; - &lt;a href="http://plasticbugs.com/?page_id=294" target="_blank" rel="tag" onclick="javascript:urchinTracker('/outbound/plasticbugs.com');"&gt;GimpShop&lt;/a&gt; - image manipulation + &lt;a href="http://portableapps.com/apps/graphics_pictures/gimp_portable" target="_blank" rel="tag" onclick="javascript:urchinTracker('/outbound/portableapps.com');"&gt;Gimp Portable&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://www.team-mediaportal.com/" onclick="javascript:urchinTracker('/outbound/www.team-mediaportal.com');"&gt;Media Portal&lt;/a&gt; - media center &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://www.nvu.com/" onclick="javascript:urchinTracker('/outbound/www.nvu.com');"&gt;NVU&lt;/a&gt; - html editor + &lt;a href="http://portableapps.com/apps/development/nvu_portable" target="_blank" rel="tag" onclick="javascript:urchinTracker('/outbound/portableapps.com');"&gt;NVU Portable&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://www.openoffice.org/" onclick="javascript:urchinTracker('/outbound/www.openoffice.org');"&gt;OpenOffice.org&lt;/a&gt; - office suite + &lt;a href="http://portableapps.com/apps/office/openoffice_portable" target="_blank" rel="tag" onclick="javascript:urchinTracker('/outbound/portableapps.com');"&gt;Open Office.org Portable&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://sourceforge.net/projects/pdfcreator/" onclick="javascript:urchinTracker('/outbound/sourceforge.net');"&gt;PDFCreator&lt;/a&gt; - create PDF files &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://www.rssowl.org/" onclick="javascript:urchinTracker('/outbound/www.rssowl.org');"&gt;RSSOwl&lt;/a&gt; - rss reader &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://www.ntwind.com/software/taskswitchxp.html" onclick="javascript:urchinTracker('/outbound/www.ntwind.com');"&gt;TaskSwitchXP&lt;/a&gt; - advanced task management utility &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://www.mozilla.com/en-US/thunderbird/" onclick="javascript:urchinTracker('/outbound/www.mozilla.com');"&gt;Thunderbird&lt;/a&gt; - e-mail client + &lt;a href="http://portableapps.com/apps/internet/thunderbird_portable" target="_blank" rel="tag" onclick="javascript:urchinTracker('/outbound/portableapps.com');"&gt;Thunderbird Portable&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://www.videolan.org/vlc/" onclick="javascript:urchinTracker('/outbound/www.videolan.org');"&gt;VLC Media Player&lt;/a&gt; - media player + &lt;a href="http://portableapps.com/apps/music_video/vlc_portable" target="_blank" rel="tag" onclick="javascript:urchinTracker('/outbound/portableapps.com');"&gt;VLC Portable&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://www.httrack.com/page/21/fr/index.html" onclick="javascript:urchinTracker('/outbound/www.httrack.com');"&gt;WebHTTrack&lt;/a&gt; - web site copier&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: verdana;"&gt;Kaynak : &lt;a href="http://www.carolsvault.com/top-20-most-popular-open-source-programs-in-2006/"&gt;http://www.carolsvault.com/top-20-most-popular-open-source-programs-in-2006/&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-7307226323829060686?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/7307226323829060686/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=7307226323829060686' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/7307226323829060686'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/7307226323829060686'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2007/02/top-20-most-popular-open-source.html' title='Top 20 most popular Open Source programs in 2006'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-8195057281283984620</id><published>2007-02-02T17:47:00.000+02:00</published><updated>2007-02-02T19:15:16.261+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open-source'/><title type='text'>Open Source Catalogue 2007</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;a href="http://www.optaros.com/"&gt;Optaros&lt;/a&gt; geçenlerde &lt;span style="font-weight: bold;"&gt;140.000 &lt;/span&gt;bin açık kaynak uygulama içerisinden, kurumsal ve ticari anlamda kullanılabilecek &lt;span style="font-weight: bold;"&gt;260&lt;/span&gt; tanesini seçip müthiş bir rapor hazırlamış. Ben açıkçası bu kataloğun uzunu yıllar open-source ürünlerin seçiminde kaynak olarak kullanılacağını düşünüyorum. Aşağıda rapor hakkında özet bilgi bulabilirsiniz. Open-source ürünleri hala çoluk çocuk işi olarak görenlere ithaf edilmiştir :)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Katalog'te yer alan uygulamalar şu kriterlere göre değerlendirilmiş:&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Functionality&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Community&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Maturity&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Trend&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;ER-Rating&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Version&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Description&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;License&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Support&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-style: italic;font-family:verdana;" &gt;“&lt;span style="font-weight: bold;"&gt;ER&lt;/span&gt;” therefore stands for “&lt;span style="font-weight: bold;"&gt;E&lt;/span&gt;nterprise &lt;span style="font-weight: bold;"&gt;R&lt;/span&gt;eadiness” and describes how capable an open source &lt;/span&gt;&lt;span style="font-style: italic;font-family:verdana;" &gt;with the needs and requirements of midsize and large enterprises and organizations.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_LrmmdzKl3hc/RcNq47iNbbI/AAAAAAAAAAU/RVbIWFMZFY0/s1600-h/open_source_catalog_sample.JPG"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_LrmmdzKl3hc/RcNq47iNbbI/AAAAAAAAAAU/RVbIWFMZFY0/s320/open_source_catalog_sample.JPG" alt="" id="BLOGGER_PHOTO_ID_5026979135362002354" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:78%;"&gt;© Copyright 2007. Some Rights Reserved. This work is licensed under a Creative Commons Attribution 2.5 License&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Bu uygulamalar da aşağıdaki başlıklarda katagorize edilmiş:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Operating Systems and Infrastructure&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Operating Systems (Server &amp; Client)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Graphical User Interfaces (Client)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Communication Infrastructure&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Security&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Web Servers&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Systems Management and Operations&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Miscellaneous&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-weight: bold;"&gt;Application Development and Infrastructure&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Databases and file systems&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Application servers&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Portal servers&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Programming languages&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Frameworks&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Components for application development&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Development and test environments&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Business process and workflow management&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Web services&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Middleware and enterprise integration&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;SOA (Service Oriented Architecture)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Rules engines&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;ETL, data management and transformation&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Search machines&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-weight: bold;"&gt;Infrastructure Solutions&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Collaboration/groupware/communication&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Enterprise Content Management (Document Management, Web Content Management)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Identity &amp; Access Management&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;VOIP (Voice over IP) and Telephony&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-weight: bold;"&gt;Business Applications&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;CRM, ERP and eCommerce&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Analytics, Reporting and Datawarehousing&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Knowledge Management and eLearning&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Office and client side business solutions&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Raporun tamamını ister ücretsiz üye olarak &lt;a href="http://www.optaros.com/en/publications/white_papers_reports/open_source_catalogue_2007"&gt;optaros.com&lt;/a&gt; 'dan, ya da bu linkten &lt;a href="http://www.filecloud.com/files/file.php?user_file_id=357832"&gt;Optaros_Open_Source_Catalog_2007_v1_1&lt;/a&gt; direk indirebilirsiniz.&lt;br /&gt;&lt;br /&gt;İyi okumalar.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-8195057281283984620?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/8195057281283984620/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=8195057281283984620' title='3 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/8195057281283984620'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/8195057281283984620'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2007/02/open-source-catalogue-2007.html' title='Open Source Catalogue 2007'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_LrmmdzKl3hc/RcNq47iNbbI/AAAAAAAAAAU/RVbIWFMZFY0/s72-c/open_source_catalog_sample.JPG' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-925620262275569131</id><published>2007-01-26T22:23:00.000+02:00</published><updated>2007-02-23T13:37:24.654+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jar'/><category scheme='http://www.blogger.com/atom/ns#' term='compare'/><category scheme='http://www.blogger.com/atom/ns#' term='war'/><category scheme='http://www.blogger.com/atom/ns#' term='difference'/><category scheme='http://www.blogger.com/atom/ns#' term='zip'/><category scheme='http://www.blogger.com/atom/ns#' term='ear'/><title type='text'>zipdiff</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Eğer J2EE teknolojilerini kullanarak geliştirme yapıyorsanız sıkça ear, war ve jar dosyaları ile haşır neşir oluyorsunuz demektir. Bu tip dosyalarla uğraşanların en büyük ihtiyacı farklı versiyondaki 2 aynı dosyanın içeriklerinin karşılaştırılmasıdır. ear ve war dosyaları içerisinde ayrıca jar gibi sıkıştırılmış dosyaların bulunması nedeniyle klasik programlarla komple bir karşılaştırma yapmak mümkün olmaz.&lt;br /&gt;&lt;br /&gt;İşte bu ihtiyaçtan yola çıkarak açık kaynak dünyasının bir diğer cengaveri &lt;span style="font-weight: bold;"&gt;Sean C. Sullivan&lt;/span&gt; isimli kardeşimiz vakti zamanında &lt;a href="http://zipdiff.sourceforge.net/"&gt;&lt;span style="font-weight: bold;"&gt;zipdiff&lt;/span&gt;&lt;/a&gt; isimli basit ama süper faydalı bir uygulama geliştirmiş.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;a href="http://zipdiff.sourceforge.net/"&gt;&lt;span style="font-weight: bold;"&gt;zipdiff&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt; kullanarak ear/war/jar/zip formatındaki dosyaları karşılaştırıp html veya text formatında çok güzel bir rapor elde edebilirsiniz. Tek yapmanız gereken &lt;a href="http://zipdiff.sourceforge.net/"&gt;http://zipdiff.sourceforge.net/&lt;/a&gt; adresinden son zippdiff'in son versiyonunu indirmek, zipdiff.jar ve commons-cli-1.0.jar dosyalarını aynı klasörde olacak şekilde aşağıdaki örnek komutu çalıştırmak:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;java -jar zipdiff.jar -file1 foo.zip -file2 bar.zip -outputfile diffs.html&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;Use the zipdiff tool when you need to compare the contents of two zip files. It is equally suited for comparing jar files, EAR files, WAR files or RAR files. Run it standalone or as an Ant task. The tool supports three output formats: plain text, XML, and HTML. zipdiff is written in Java.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://zipdiff.sourceforge.net/"&gt;http://zipdiff.sourceforge.net/&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-925620262275569131?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/925620262275569131/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=925620262275569131' title='2 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/925620262275569131'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/925620262275569131'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2007/01/zipdiff.html' title='zipdiff'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-1351276951661084516</id><published>2007-01-14T01:18:00.000+02:00</published><updated>2007-01-14T02:02:29.629+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IMS'/><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><category scheme='http://www.blogger.com/atom/ns#' term='iphone'/><title type='text'>iphone &amp; IMS Debate</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: verdana;"&gt;&lt;a href="www.apple.com/iphone/"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;iphone&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;Geçen hafta &lt;a href="http://en.wikipedia.org/wiki/Steve_Jobs"&gt;Steve Jobs&lt;/a&gt; yine yapacağını yaptı ve &lt;a href="http://en.wikipedia.org/wiki/Iphone"&gt;iphone&lt;/a&gt; ile piyasayı salladı. Ben de dahil olmak üzere çoğumuz iphone'un göz kamaştırıcı görünüşüne ve özelliklerine yoğunlaştık. Halbuki henüz &lt;a href="http://en.wikipedia.org/wiki/FCC"&gt;FCC&lt;/a&gt; 'den onay almamış olan iphone'un bazı negatif yönleri mevcut:&lt;br /&gt;&lt;a href="http://www.oreillynet.com/xml/blog/2007/01/why_iphone_is_not_for_me.html"&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;iPhone is cool, but not for the masses!&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-style: italic;"&gt;Already people(including O’Reilly mac devcenter bloggers) talking about these, some of them are:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;* &lt;span style="font-weight: bold;"&gt;No 3G&lt;/span&gt;, it works on Cingular EDGE platform, not on Cingular 3G network HSDPA.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;* &lt;span style="font-weight: bold;"&gt;No &lt;a href="http://en.wikipedia.org/wiki/Over-the-air_programming"&gt;OTA&lt;/a&gt;&lt;/span&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;* &lt;span style="font-weight: bold;"&gt;Cannot install third party software&lt;/span&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;* No expandable memory. I think 8GB is enough memory, but the for iPod video lovers, its a disadvantage.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;* &lt;span style="font-weight: bold;"&gt;No removable battery&lt;/span&gt;. If the battery is broken, you send the phone to Apple instead of they sending you the battery. So no problem. Coming to using the extra battery, its definitely a disadvantage. But how many people are using extra batteries for their mobile phones? Its very small amount. So I don’t think its a big deal.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Yukarıda bahsi geçen olumsuzluklardan bence en önemlileri 3G desteğinin olmaması ve pilin cihazla bütünleşik olması. Ama yine de Apple çok güzel bir ürün çıkarmış ve de kesinlikle çıktığında piyasayı sallayacak.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.oreillynet.com/pub/a/etel/2007/01/11/the-ims-debate.html"&gt;&lt;span style="font-weight: bold;"&gt;IMS Debate&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Cuma günü RSS okuyucumda gözüme çarpan &lt;a href="http://en.wikipedia.org/wiki/IP_Multimedia_Subsystem"&gt;IMS&lt;/a&gt; ile ilgili bir &lt;a href="http://www.oreillynet.com/pub/a/etel/2007/01/11/the-ims-debate.html"&gt;yazı&lt;/a&gt; , son zamanlarda okuduğum en müthiş makaleydi. Burada bu makale ile ilgili çok fazla alıntı yapmayacağım çünkü sizin de bu makaleyi baştan sona okumanızı istiyorum. Ama öncelikle bu makalenin yazarı Lee Dryburgh'u biraz tanıyalım:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;Lee Dryburgh explores some of the concerns surrounding the IP Multimedia Subsystem (IMS) which will be used in next-generation operator networks and which lies at the core of their future strategies. Lee has been a consulting engineer for a number of telcos and equipment vendors and is the author of the best-selling book on &lt;a href="http://en.wikipedia.org/wiki/SS7"&gt;SS7&lt;/a&gt;.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Lee Dryburgh bu makalesinde Telekom dünyasına ağır göndermeler yapmış. Örneğin:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;"The world has changed a lot in a year. I'm not so concerned that telcos will be evil. Rather, I am concerned that they will be &lt;span style="font-weight: bold;"&gt;naïve &lt;/span&gt;and &lt;span style="font-weight: bold;"&gt;inept.&lt;/span&gt; And that the market overestimates the potential for this model to succeed. Most of all, I'm concerned that we may be distracting ourselves from the central issue: &lt;span style="font-weight: bold;"&gt;Infrastructure&lt;/span&gt;"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ben lafı uzatmadan özellikle Telekom dünyası ile yakından ilgilenenleri bu müthiş yazı ile başbaşa bırakayım:&lt;br /&gt;&lt;a href="http://www.oreillynet.com/pub/a/etel/2007/01/11/the-ims-debate.html"&gt;http://www.oreillynet.com/pub/a/etel/2007/01/11/the-ims-debate.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-1351276951661084516?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/1351276951661084516/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=1351276951661084516' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/1351276951661084516'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/1351276951661084516'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2007/01/iphone-ims-debate.html' title='iphone &amp; IMS Debate'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-4172647836799179504</id><published>2007-01-14T00:46:00.000+02:00</published><updated>2007-01-14T01:08:21.140+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JIRA'/><category scheme='http://www.blogger.com/atom/ns#' term='jdbc'/><category scheme='http://www.blogger.com/atom/ns#' term='i-net'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>Oracle JDBC Drivers &amp; I-net</title><content type='html'>&lt;p style="font-family: verdana;font-family:verdana;"  class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;Oracle JDBC driver ile yaşanan  sorunları birçoğunuz tecrübe etmiş veya duymuşsunuzdur. Her ne kadar Oracle 10g ile  birlikte bu hatalar azalsa da hala ciddi sorunlar olabiliyor. Özellikle &lt;a href="http://www.atlassian.com/software/jira/"&gt;JIRA&lt;/a&gt;  gibi platform (Database, Application Server ve Operating System) bağımsız  ürünlerin JDBC driver’lardan beklentileri çok daha fazla  oluyor. &lt;/span&gt;&lt;/p&gt;  &lt;p style="font-family: verdana;font-family:verdana;"  class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;JIRA dünya üzerinde 2200’den fazla  müşteri tarafından kullanılıyor ve müşterilerinin çoğunluğu veritabanı olarak  Oracle kullanıyor. Bu yüzden JIRA’cılar Oracle konusunda bayağı tecrübe  edinmişler ve bu tecrübelerini &lt;a href="http://www.atlassian.com/software/jira/docs/v3.7.1/databases/oracle.html"&gt;dokümanlarına&lt;/a&gt; yansıtmışlar. Sonuç olarak Oracle  JDBC driver yerine, 3 kat daha hızlı &lt;a href="http://www2.blogger.com/exchweb/bin/redir.asp?URL=http://www.inetsoftware.de/products/jdbc/oracle" target="_blank"&gt;I-net software JDBC driver&lt;/a&gt; ‘i tavsiye ediyorlar. Belki lazım  olur diye paylaşayım istedim:&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-family: verdana;font-family:verdana;" &gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;&lt;b&gt;WARNING:&lt;/b&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; please make  sure you get the &lt;strong&gt;&lt;b&gt;10.1.0.5&lt;/b&gt;&lt;/strong&gt; version of the  driver. &lt;b&gt;&lt;span style="font-weight: bold;"&gt;Every other version has  problems&lt;/span&gt;&lt;/b&gt;:&lt;/span&gt;&lt;/p&gt; &lt;ul style="font-family: verdana;font-family:verdana;"  type="disc"&gt;&lt;li class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;The 9i drivers don't support CLOBs,  so are unusable.&lt;/span&gt;  &lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;The 10g Release 2 JDBC driver  (10.2.0.1.0) hangs with some databases.&lt;/span&gt;  &lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;The 10g Release 1 JDBC driver  (10.1.0.4) does not hang, but &lt;a href="http://www2.blogger.com/exchweb/bin/redir.asp?URL=http://forums.oracle.com/forums/thread.jspa?messageID=1200579" target="_blank"&gt;throws ArrayIndexOutOfBoundsExceptions&lt;/a&gt;. A second user reports  that it silently fails to import workflows in Oracle 9i, and JIRA later dies  with a NullPointerException.&lt;/span&gt;  &lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;The latest 10.1.0.5 driver allegedly  fixes the ArrayIndexOutOfBoundsException, and we have at least one report of it  working without problems.&lt;/span&gt; &lt;/li&gt;&lt;/ul&gt; &lt;p style="font-family: verdana;font-family:verdana;" &gt;&lt;span style="font-size:85%;"&gt;Anecdotally, these problems seem to  affect 9i users more than 10g. Thus:&lt;/span&gt;&lt;/p&gt; &lt;ul style="font-family: verdana;font-family:verdana;"  type="disc"&gt;&lt;li class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;If you are using &lt;strong&gt;&lt;b&gt;Oracle  9i&lt;/b&gt;&lt;/strong&gt;, we recommend you avoid Oracle's drivers  altogether, and buy the &lt;b&gt;&lt;span style="font-weight: bold;"&gt;&lt;a href="http://www2.blogger.com/exchweb/bin/redir.asp?URL=http://www.inetsoftware.de/products/jdbc/oracle" target="_blank"&gt;I-net software JDBC driver&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;, which is known to work  without problems. Try the 10g driver at your own risk.&lt;/span&gt;  &lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;If you are using &lt;strong&gt;&lt;b&gt;Oracle  10g&lt;/b&gt;&lt;/strong&gt;, download the 10.1.0.5 driver from &lt;a href="http://www2.blogger.com/exchweb/bin/redir.asp?URL=http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/" target="_blank"&gt;Oracle's site&lt;/a&gt;.&lt;/span&gt; &lt;/li&gt;&lt;/ul&gt; &lt;p style="font-family: verdana;font-family:verdana;" &gt;&lt;span style="font-size:85%;"&gt;Each of the problems listed above  has been discovered at great cost to our users, and support cases have sometimes  dragged for months. We thus &lt;strong&gt;&lt;b&gt;&lt;span style="color:red;"&gt;&lt;span style="color:red;"&gt;strongly recommend avoiding  Oracle&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/strong&gt;&lt;span style="color:red;"&gt;&lt;span style="color:red;"&gt;  &lt;/span&gt;&lt;/span&gt;if you have any choice in the matter, for the benefit of all  concerned. &lt;/span&gt;&lt;/p&gt; &lt;p style="font-family: verdana;font-family:verdana;"  class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://www2.blogger.com/exchweb/bin/redir.asp?URL=http://www.atlassian.com/software/jira/docs/v3.7.1/databases/oracle.html" target="_blank"&gt;http://www.atlassian.com/software/jira/docs/v3.7.1/databases/oracle.html&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family: verdana;font-family:verdana;"  class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://www2.blogger.com/exchweb/bin/redir.asp?URL=http://www.atlassian.com/software/jira/docs/v3.7.1/databases/oracle.html" target="_blank"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-family: verdana;font-family:verdana;"  class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;&lt;span style="font-weight: bold;"&gt;i-net software -  JDBC drivers for Oracle Server&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font-family: verdana;font-family:verdana;" &gt;&lt;span style="font-size:85%;"&gt;i-net software offers a full range  of JDBC drivers for Oracle Database Servers. From this product line you can pick  the driver that fits your requirements best. All Oracle drivers are type 4  drivers, i.e., the drivers are completely written in Java and can be deployed on  every platform.&lt;/span&gt;&lt;/p&gt; &lt;p style="font-family: verdana;font-family:verdana;"  class="heading"&gt;&lt;span style="font-size:85%;"&gt;Why should you choose an Oracle  driver from i-net software?&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family: verdana;font-family:verdana;"  class="heading"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;* fast; &lt;/span&gt;compared with other drivers i-net drivers are up to 3 times as fast.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;* small; &lt;/span&gt;The sizes of our drivers are between 90 KB to 200KB. By comparison, Oracle's driver is over 1 MB in size.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;* very stable;&lt;/span&gt; Find out for yourself about the stability of other vendors' drivers - and compare!&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;* thread safe&lt;/span&gt;; This is a MUST for developers working with multiple threads!&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;* strictly complies with JDBC;&lt;/span&gt; i-net drivers have no extra API, all features were implemented complying with the standard JDBC API, therefore, it is very straightforward to generate an application accessing different DBMS without changing the code! This also makes sure i-net drivers can be easily used in third party tools.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family: verdana;font-family:verdana;"  class="heading"&gt;&lt;span style="font-size:85%;"&gt;Which driver edition should I  use?&lt;/span&gt;&lt;/p&gt; &lt;ul style="font-family: verdana;font-family:verdana;"  type="disc"&gt;&lt;li class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;The choice of the right JDBC driver  depends on the Java version of your system.&lt;/span&gt;  &lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;An overview about available JDBC  features can be found in the Feature Matrix.&lt;/span&gt;  &lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;If you have any questions please  contact our &lt;a href="mailto:sales@inetsoftware.de" target="_blank"&gt;sales  team&lt;/a&gt;.&lt;/span&gt; &lt;/li&gt;&lt;/ul&gt; &lt;p style="font-family: verdana;font-family:verdana;"  class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://www2.blogger.com/exchweb/bin/redir.asp?URL=http://www.inetsoftware.de/products/jdbc/oracle/" target="_blank"&gt;http://www.inetsoftware.de/products/jdbc/oracle/&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="font-family: verdana;font-family:verdana;font-size:85%;"  &gt; &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-4172647836799179504?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/4172647836799179504/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=4172647836799179504' title='1 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/4172647836799179504'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/4172647836799179504'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2007/01/oracle-jdbc-drivers-i-net.html' title='Oracle JDBC Drivers &amp; I-net'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-116817948539160163</id><published>2007-01-07T15:59:00.000+02:00</published><updated>2007-01-07T20:29:06.423+02:00</updated><title type='text'>Nokia joins Wimax train</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Ağustos 2006'da &lt;a href="http://www.tiobe.com/tpci.htm"&gt;Sprint Nextel&lt;/a&gt;'in öncülüğünde Intel, Motorola ve Samsung bir araya gelerek 4G standardı olarak Wimax'i (IEEE 802.16e) seçmiş ve Wimax konusunda ciddi yatırımlar yapma kararı almışlardı.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://www.motorola.com/mediacenter/news/detail.jsp?globalObjectId=7173_7118_23"&gt;&lt;span style="font-style: italic;"&gt;Sprint Nextel Announces 4G Wireless Broadband Initiative With Intel, Motorola and Samsung&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:78%;" &gt;Working together with Intel, Motorola and Samsung, Sprint Nextel will develop a nationwide network infrastructure as well as mobile WiMAX-enabled chipsets that will support advanced wireless broadband services for computing, portable multimedia, interactive and other consumer electronic devices. These efforts are intended to allow Sprint Nextel customers to experience a nationwide mobile data network that is designed to offer faster speeds, lower cost, and greater convenience and enhanced multimedia quality.&lt;br /&gt;&lt;br /&gt;In working together with Intel, Motorola, and Samsung, Sprint Nextel has the experience, network infrastructure, spectrum and distribution channels to make 4G mobility services pervasive and indispensable for customers. The company?s deployment plans target a launch of the advanced wireless broadband services in trial markets by the end of 2007 with plans to deploy a network that reaches as many as 100 million people in 2008. Sprint Nextel plans to expand mobile WiMAX network coverage thereafter.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;O zaman bu işbirliği haberi kimseyi şaşırtmamıştı. Çünkü İskandinavya kökenli şirketlerinin liderlik ettiği 2G döneminin GSM standardı tüm dünyada yaygınlaşırken, Amerika kökenli telekom ve teknoloji şirketleri mobil dünyadan istedikleri payı alamamışlardı.&lt;br /&gt;&lt;br /&gt;Bu şirketler bu sefer işi sıkı tutup, güçlü bir işbirliği ile Wimax standardı üzerine yoğunlaştılar. 3G mi yoksa 4G mi tartışmasının devam ettiği bugünlerde, bu sefer İskandinav kökenli telekom firmaları hangi teknolojiye yatırım yapacakları konusunda kararsız. Bu firmalardan biri olan Nokia uzun süre 3G ve Wimax arasında kararsız kalmıştı ama nihayet 5 Ocak 2007'de çıkan bir haberle pozisyonlar netleşti :)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.infoworld.com/article/07/01/05/HNnokiasprint4g_1.html"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Nokia joins Sprint WiMax bandwidth-wagon&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;Nokia will supply infrastructure and client hardware for the high-speed network&lt;/span&gt;, which is designed to far outstrip cellular speeds, Sprint announced Friday. The Finnish mobile giant joins Intel, Samsung Electronics and Motorola as a vendor to Sprint, which plans its WiMax network as a 4G (fourth-generation) system to complement 3G (third generation).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;When Sprint chose WiMax last year, it automatically boosted the prospects of the fledgling wireless broadband technology. The addition of Nokia, a dominant cellular supplier outside the U.S., is a boon to Sprint in its mission to foster a large vendor ecosystem around WiMax. Having more equipment providers, especially ones with a global presence, should put more products on the market and increase manufacturing volumes so device prices lower.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;Nokia will supply network gear, including its Nokia Flexi WiMax base transceiver stations, and develop and market mobile devices including multimedia computers and Internet tablets&lt;/span&gt;, the carrier said. It will also help develop services and applications and foster global adoption of WiMax to make international roaming possible. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Diğer bir GSM lideri Ericsson da aslında geçenlerde artık IP ve genişbanta yatırım yapacağının sinyallerini vermiş ve 20 Aralıkta piyasa değerinin üstünde bir para vererek 1.9 milyar dolara &lt;a href="http://www.redback.com/"&gt;Redback Networks&lt;/a&gt;'u satın aldığını duyurmuştu:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://turk.internet.com/haber/yazigoster.php3?yaziid=17110"&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Ericsson, Redback'i 2,1 Milyar $'a Satın Aldı&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;İki şirketin güçlerini birleştirmesi müşteri ve hissederlar açısından önemli bir değer yaratacağı gibi, çalışanlar için de yeni fırsatlar ortaya çıkaracaktır. VOIP, IPTV ve video-on-demand gibi mobil ve sabit genişbant ağlara yönelik sürekli artan talep yeni IP-bazlı servisleri pazara sunmamızı gerektiriyor. Bu tür uygulamalar çok yüksek servis kalitesi istiyorlar ve halihazırda bulunan bantların genişlikliklerinin ve yönetim araçlarının yeterli olmaması bu servislerin verilmesini zorlaştırıyor. Bu ağlarda servis kalitesi yuksek kapasiteli akıllı routerların kullanılması gerekiyor.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Wimax'e öncülük eden şirketler sürekli Wimax'in 3G'ye bir rakip değil, tam aksine tamamlayıcı bir teknoloji olduğunu vurguluyorlar. Ama bu aslında &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Telekom devlerini ürkütmemek için dile getirilen bir söylem. Lisans bedellerinin, son kullanıcı ve operatör cihazlarının çok yüksek olması nedeniyle hiç kimse aynı amaca hizmet eden 2 teknolojiye birden para yatırmak istemeyecektir. Bakalım 2007 bize başka neler gösterecek.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-116817948539160163?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/116817948539160163/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=116817948539160163' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/116817948539160163'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/116817948539160163'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2007/01/nokia-joins-wimax-train.html' title='Nokia joins Wimax train'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-116817785726317205</id><published>2007-01-07T15:23:00.000+02:00</published><updated>2007-01-07T15:50:57.636+02:00</updated><title type='text'>Ruby ruled in 2006</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: verdana;"&gt;&lt;a href="http://www.tiobe.com"&gt;TIOBE&lt;/a&gt; firması her ay arama motorlarını (Google, Yahoo, MSN, vs.) kullanarak&lt;/span&gt;&lt;/span&gt; &lt;span style="font-family: verdana;"&gt;&lt;span style="font-size:85%;"&gt;programlama dillerinin kullanım oranlarını araştırıyor. Her sene başında da bir önceki yıl ile kıyaslayarak bir rapor hazırlıyor. 2006 yılı sonuçlarına göre Java liderliğini korumuş fakat Ruby en fazla artış göstererek 2006 yılının programlama dili seçilmiş.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: verdana;"&gt;&lt;a href="http://www.tiobe.com/tpci.htm"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: verdana;"&gt;&lt;a href="http://www.tiobe.com/tpci.htm"&gt;&lt;span style="font-weight: bold;"&gt;TIOBE Programming Community Index for January 2007&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: verdana;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;table style="width: 534px; height: 578px;" class="ttable" bordercolordark="#003366" bordercolorlight="#c0c0c0" id="Table2" align="center" border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th style="font-family: verdana; text-align: center;" nowrap="nowrap"&gt;&lt;span style="font-size:78%;"&gt; Position&lt;br /&gt;Jan 2007&lt;/span&gt;&lt;/th&gt;&lt;th style="font-family: verdana; text-align: center;" nowrap="nowrap"&gt;&lt;span style="font-size:78%;"&gt;Position&lt;br /&gt;Jan 2006&lt;/span&gt;&lt;/th&gt;&lt;th style="font-family: verdana; text-align: center;" nowrap="nowrap"&gt;&lt;span style="font-size:78%;"&gt;Delta in Position&lt;/span&gt;&lt;/th&gt;&lt;th style="font-family: verdana; text-align: center;" nowrap="nowrap"&gt;&lt;span style="font-size:78%;"&gt;Programming Language&lt;/span&gt;&lt;/th&gt;&lt;th style="font-family: verdana; text-align: center;" nowrap="nowrap"&gt;&lt;span style="font-size:78%;"&gt;Ratings&lt;br /&gt;Jan 2007&lt;/span&gt;&lt;/th&gt;&lt;th style="font-family: verdana; text-align: center;" nowrap="nowrap"&gt;&lt;span style="font-size:78%;"&gt;Delta&lt;br /&gt;Jan 2006&lt;/span&gt;&lt;/th&gt;&lt;th style="font-family: verdana; text-align: center;" nowrap="nowrap"&gt;&lt;span style="font-size:78%;"&gt;Status&lt;/span&gt;&lt;/th&gt;&lt;/tr&gt; &lt;tr height="25"&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;1&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;1&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;&lt;img src="http://www.tiobe.com/tiobe_index/images/Same.gif" border="0" /&gt;&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: left;"&gt;&lt;span style="font-size:78%;"&gt;&lt;a href="http://www.tiobe.com/tiobe_index/Java.html"&gt;Java&lt;/a&gt;&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;19.160%&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;-3.10%&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;  A&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr height="25"&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;2&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;2&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;&lt;img src="http://www.tiobe.com/tiobe_index/images/Same.gif" border="0" /&gt;&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: left;"&gt;&lt;span style="font-size:78%;"&gt;&lt;a href="http://www.tiobe.com/tiobe_index/C.html"&gt;C&lt;/a&gt;&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;15.807%&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;-3.20%&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;  A&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr height="25"&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;3&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;3&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;&lt;img src="http://www.tiobe.com/tiobe_index/images/Same.gif" border="0" /&gt;&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: left;"&gt;&lt;span style="font-size:78%;"&gt;&lt;a href="http://www.tiobe.com/tiobe_index/C__.html"&gt;C++&lt;/a&gt;&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;10.425%&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;-1.04%&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;  A&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr height="25"&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;4&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;5&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt; &lt;span style="font-size:78%;"&gt;&lt;img src="http://www.tiobe.com/tiobe_index/images/Up.gif" border="0" /&gt;&lt;/span&gt; &lt;/td&gt; &lt;td style="font-family: verdana; text-align: left;"&gt;&lt;span style="font-size:78%;"&gt;&lt;a href="http://www.tiobe.com/tiobe_index/%28Visual%29_Basic.html"&gt;(Visual) Basic&lt;/a&gt;&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;9.123%&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;+0.03%&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;  A&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr height="25"&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;5&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;4&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt; &lt;span style="font-size:78%;"&gt;&lt;img src="http://www.tiobe.com/tiobe_index/images/Down.gif" border="0" /&gt;&lt;/span&gt; &lt;/td&gt; &lt;td style="font-family: verdana; text-align: left;"&gt;&lt;span style="font-size:78%;"&gt;&lt;a href="http://www.tiobe.com/tiobe_index/PHP.html"&gt;PHP&lt;/a&gt;&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;7.943%&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;-1.46%&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;  A&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr height="25"&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;6&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;6&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;&lt;img src="http://www.tiobe.com/tiobe_index/images/Same.gif" border="0" /&gt;&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: left;"&gt;&lt;span style="font-size:78%;"&gt;&lt;a href="http://www.tiobe.com/tiobe_index/Perl.html"&gt;Perl&lt;/a&gt;&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;6.237%&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;-0.81%&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;  A&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr height="25"&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;7&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;7&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;&lt;img src="http://www.tiobe.com/tiobe_index/images/Same.gif" border="0" /&gt;&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: left;"&gt;&lt;span style="font-size:78%;"&gt;&lt;a href="http://www.tiobe.com/tiobe_index/C_.html"&gt;C#&lt;/a&gt;&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;3.521%&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;-0.03%&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;  A&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr height="25"&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;8&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;8&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;&lt;img src="http://www.tiobe.com/tiobe_index/images/Same.gif" border="0" /&gt;&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: left;"&gt;&lt;span style="font-size:78%;"&gt;&lt;a href="http://www.tiobe.com/tiobe_index/Python.html"&gt;Python&lt;/a&gt;&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;3.502%&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;+0.90%&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;  A&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr height="25"&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;9&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;10&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt; &lt;span style="font-size:78%;"&gt;&lt;img src="http://www.tiobe.com/tiobe_index/images/Up.gif" border="0" /&gt;&lt;/span&gt; &lt;/td&gt; &lt;td style="font-family: verdana; text-align: left;"&gt;&lt;span style="font-size:78%;"&gt;&lt;a href="http://www.tiobe.com/tiobe_index/JavaScript.html"&gt;JavaScript&lt;/a&gt;&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;2.845%&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;+1.31%&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;  A&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr height="25"&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;10&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;21&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt; &lt;span style="font-size:78%;"&gt;&lt;b&gt;11 * &lt;/b&gt;&lt;img src="http://www.tiobe.com/tiobe_index/images/Up.gif" border="0" /&gt;&lt;/span&gt; &lt;/td&gt; &lt;td style="font-family: verdana; text-align: left;"&gt;&lt;span style="font-size:78%;"&gt;&lt;a href="http://www.tiobe.com/tiobe_index/Ruby.html"&gt;Ruby&lt;/a&gt;&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;2.519%&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;+2.15%&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;  A&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr height="25"&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;11&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;11&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;&lt;img src="http://www.tiobe.com/tiobe_index/images/Same.gif" border="0" /&gt;&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: left;"&gt;&lt;span style="font-size:78%;"&gt;&lt;a href="http://www.tiobe.com/tiobe_index/SAS.html"&gt;SAS&lt;/a&gt;&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;2.343%&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;+1.18%&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;  A&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr height="25"&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;12&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;9&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt; &lt;span style="font-size:78%;"&gt;&lt;img src="http://www.tiobe.com/tiobe_index/images/Down.gif" border="0" /&gt;&lt;img src="http://www.tiobe.com/tiobe_index/images/Down.gif" border="0" /&gt;&lt;img src="http://www.tiobe.com/tiobe_index/images/Down.gif" border="0" /&gt;&lt;/span&gt; &lt;/td&gt; &lt;td style="font-family: verdana; text-align: left;"&gt;&lt;span style="font-size:78%;"&gt;&lt;a href="http://www.tiobe.com/tiobe_index/Delphi.html"&gt;Delphi&lt;/a&gt;&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;2.336%&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;+0.75%&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;  A&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr height="25"&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;13&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;12&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt; &lt;span style="font-size:78%;"&gt;&lt;img src="http://www.tiobe.com/tiobe_index/images/Down.gif" border="0" /&gt;&lt;/span&gt; &lt;/td&gt; &lt;td style="font-family: verdana; text-align: left;"&gt;&lt;span style="font-size:78%;"&gt;&lt;a href="http://www.tiobe.com/tiobe_index/PL_SQL.html"&gt;PL/SQL&lt;/a&gt;&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;1.570%&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;+0.54%&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;  A&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr height="25"&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;14&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;22&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt; &lt;span style="font-size:78%;"&gt;&lt;b&gt;8 * &lt;/b&gt;&lt;img src="http://www.tiobe.com/tiobe_index/images/Up.gif" border="0" /&gt;&lt;/span&gt; &lt;/td&gt; &lt;td style="font-family: verdana; text-align: left;"&gt;&lt;span style="font-size:78%;"&gt;&lt;a href="http://www.tiobe.com/tiobe_index/D.html"&gt;D&lt;/a&gt;&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;1.335%&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;+0.97%&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;  A-&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr height="25"&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;15&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;20&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt; &lt;span style="font-size:78%;"&gt;&lt;img src="http://www.tiobe.com/tiobe_index/images/Up.gif" border="0" /&gt;&lt;img src="http://www.tiobe.com/tiobe_index/images/Up.gif" border="0" /&gt;&lt;img src="http://www.tiobe.com/tiobe_index/images/Up.gif" border="0" /&gt;&lt;img src="http://www.tiobe.com/tiobe_index/images/Up.gif" border="0" /&gt;&lt;img src="http://www.tiobe.com/tiobe_index/images/Up.gif" border="0" /&gt;&lt;/span&gt; &lt;/td&gt; &lt;td style="font-family: verdana; text-align: left;"&gt;&lt;span style="font-size:78%;"&gt;&lt;a href="http://www.tiobe.com/tiobe_index/ABAP.html"&gt;ABAP&lt;/a&gt;&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;1.229%&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;+0.82%&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;  A-&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr height="25"&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;16&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;14&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt; &lt;span style="font-size:78%;"&gt;&lt;img src="http://www.tiobe.com/tiobe_index/images/Down.gif" border="0" /&gt;&lt;img src="http://www.tiobe.com/tiobe_index/images/Down.gif" border="0" /&gt;&lt;/span&gt; &lt;/td&gt; &lt;td style="font-family: verdana; text-align: left;"&gt;&lt;span style="font-size:78%;"&gt;&lt;a href="http://www.tiobe.com/tiobe_index/Lisp_Scheme.html"&gt;Lisp/Scheme&lt;/a&gt;&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;0.674%&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;+0.07%&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;  B&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr height="25"&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;17&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;18&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt; &lt;span style="font-size:78%;"&gt;&lt;img src="http://www.tiobe.com/tiobe_index/images/Up.gif" border="0" /&gt;&lt;/span&gt; &lt;/td&gt; &lt;td style="font-family: verdana; text-align: left;"&gt;&lt;span style="font-size:78%;"&gt;&lt;a href="http://www.tiobe.com/tiobe_index/Ada.html"&gt;Ada&lt;/a&gt;&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;0.638%&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;+0.17%&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;  B&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr height="25"&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;18&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;13&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt; &lt;span style="font-size:78%;"&gt;&lt;img src="http://www.tiobe.com/tiobe_index/images/Down.gif" border="0" /&gt;&lt;img src="http://www.tiobe.com/tiobe_index/images/Down.gif" border="0" /&gt;&lt;img src="http://www.tiobe.com/tiobe_index/images/Down.gif" border="0" /&gt;&lt;img src="http://www.tiobe.com/tiobe_index/images/Down.gif" border="0" /&gt;&lt;img src="http://www.tiobe.com/tiobe_index/images/Down.gif" border="0" /&gt;&lt;/span&gt; &lt;/td&gt; &lt;td style="font-family: verdana; text-align: left;"&gt;&lt;span style="font-size:78%;"&gt;&lt;a href="http://www.tiobe.com/tiobe_index/COBOL.html"&gt;COBOL&lt;/a&gt;&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;0.637%&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;-0.13%&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;  B&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr height="25"&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;19&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;15&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt; &lt;span style="font-size:78%;"&gt;&lt;img src="http://www.tiobe.com/tiobe_index/images/Down.gif" border="0" /&gt;&lt;img src="http://www.tiobe.com/tiobe_index/images/Down.gif" border="0" /&gt;&lt;img src="http://www.tiobe.com/tiobe_index/images/Down.gif" border="0" /&gt;&lt;img src="http://www.tiobe.com/tiobe_index/images/Down.gif" border="0" /&gt;&lt;/span&gt; &lt;/td&gt; &lt;td style="font-family: verdana; text-align: left;"&gt;&lt;span style="font-size:78%;"&gt;&lt;a href="http://www.tiobe.com/tiobe_index/Pascal.html"&gt;Pascal&lt;/a&gt;&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;0.570%&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;+0.04%&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;  B&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr height="25"&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;20&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;34&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt; &lt;span style="font-size:78%;"&gt;&lt;b&gt;14 * &lt;/b&gt;&lt;img src="http://www.tiobe.com/tiobe_index/images/Up.gif" border="0" /&gt;&lt;/span&gt; &lt;/td&gt; &lt;td style="font-family: verdana; text-align: left;"&gt;&lt;span style="font-size:78%;"&gt;&lt;a href="http://www.tiobe.com/tiobe_index/Transact-SQL.html"&gt;Transact-SQL&lt;/a&gt;&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;0.510%&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;+0.34%&lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana; text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;  B&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: verdana;"&gt;&lt;span style="font-style: italic;font-size:78%;" &gt;&lt;span style="font-weight: bold;"&gt;We are glad to announce that Ruby has become "Programming Language of the Year 2006"&lt;/span&gt;. Ruby has the highest popularity increase in a year of all programming languages (+2.15%). Runner up this year is JavaScript with +1.31%. Both languages are boosted by their corresponding frameworks, Ruby On Rails and Ajax. This might be a new trend. In the recent past it was necessary to have a large company behind the language to get it in the spotlight (Sun with Java, Microsoft with C#), but nowadays a killer app appears to be sufficient. Viral marketing via the Internet works! The winners of the last 2 years, PHP and Java, are the losers of this year. Other trends that are observed are the growth of dynamically typed languages and the fact that the difference in popularity between languages is getting less.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;table class="ttable" bordercolordark="#003366" bordercolorlight="#c0c0c0" id="Table4" align="center" border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="font-family: verdana;"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;Category&lt;/b&gt;&lt;/span&gt; &lt;/td&gt; &lt;td style="font-family: verdana;"&gt; &lt;span style="font-size:78%;"&gt;&lt;b&gt;Ratings Jan 2007&lt;/b&gt;&lt;/span&gt; &lt;/td&gt; &lt;td style="font-family: verdana;"&gt; &lt;span style="font-size:78%;"&gt;&lt;b&gt;Delta Jan 2006&lt;/b&gt;&lt;/span&gt; &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td style="font-family: verdana;"&gt;&lt;span style="font-size:78%;"&gt; Object-Oriented Languages &lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana;"&gt;&lt;span style="font-size:78%;"&gt; 52.3% &lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana;"&gt;&lt;span style="font-size:78%;"&gt; +1.4% &lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td style="font-family: verdana;"&gt;&lt;span style="font-size:78%;"&gt; Procedural Languages &lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana;"&gt;&lt;span style="font-size:78%;"&gt; 45.3% &lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana;"&gt;&lt;span style="font-size:78%;"&gt; -2.3% &lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td style="font-family: verdana;"&gt;&lt;span style="font-size:78%;"&gt; Logical Languages &lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana;"&gt;&lt;span style="font-size:78%;"&gt; 1.6% &lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana;"&gt;&lt;span style="font-size:78%;"&gt; +0.8% &lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td style="font-family: verdana;"&gt;&lt;span style="font-size:78%;"&gt; Functional Languages &lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana;"&gt;&lt;span style="font-size:78%;"&gt; 0.7% &lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana;"&gt;&lt;span style="font-size:78%;"&gt; +0.1% &lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt; &lt;table class="ttable" bordercolordark="#003366" bordercolorlight="#c0c0c0" id="Table5" align="center" border="1"&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td style="font-family: verdana;"&gt; &lt;span style="font-size:78%;"&gt;&lt;b&gt;Category&lt;/b&gt;&lt;/span&gt; &lt;/td&gt; &lt;td style="font-family: verdana;"&gt; &lt;span style="font-size:78%;"&gt;&lt;b&gt;Ratings Jan 2007&lt;/b&gt;&lt;/span&gt; &lt;/td&gt; &lt;td style="font-family: verdana;"&gt; &lt;span style="font-size:78%;"&gt;&lt;b&gt;Delta Jan 2006&lt;/b&gt;&lt;/span&gt; &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td style="font-family: verdana;"&gt;&lt;span style="font-size:78%;"&gt; Statically Typed Languages &lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana;"&gt;&lt;span style="font-size:78%;"&gt; 57.9% &lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana;"&gt;&lt;span style="font-size:78%;"&gt; -5.1% &lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td style="font-family: verdana;"&gt;&lt;span style="font-size:78%;"&gt; Dynamically Typed Languages &lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana;"&gt;&lt;span style="font-size:78%;"&gt; 42.1% &lt;/span&gt;&lt;/td&gt; &lt;td style="font-family: verdana;"&gt;&lt;span style="font-size:78%;"&gt; +5.1%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: verdana;"&gt;Araştırmanın nasıl hazırlandığı ile ilgili detaylara ve daha fazla bilgiye &lt;a href="http://www.tiobe.com/tpci.htm"&gt;http://www.tiobe.com/tpci.htm&lt;/a&gt; adresinden ulaşabilirsiniz.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-116817785726317205?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/116817785726317205/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=116817785726317205' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/116817785726317205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/116817785726317205'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2007/01/ruby-ruled-in-2006.html' title='Ruby ruled in 2006'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-116773623359221895</id><published>2007-01-02T11:52:00.000+02:00</published><updated>2007-01-05T16:13:15.396+02:00</updated><title type='text'>XA : Needed More Often Than You Think</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Java ile uygulama geliştirenleriniz mutlaka &lt;span style="font-style: italic;"&gt;transaction&lt;/span&gt;, &lt;span style="font-style: italic;"&gt;distributed transaction&lt;/span&gt;, &lt;span style="font-style: italic;"&gt;XA&lt;/span&gt;, &lt;span style="font-style: italic;"&gt;XA resources&lt;/span&gt;, &lt;/span&gt;&lt;/span&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;&lt;span style="font-family:verdana;"&gt;two-phase commit (2PC) &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt; terimlerini duymuştur. Bu yazıda, aslında çok ihtiyaç duyulan ama çeşitli nedenlerden kullanılmayan/kullanılamayan XA bağlantısından bahsetmeye ve ayrıca aşağıdaki sorulara da kendimce cevap bulmaya çalışacağım.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;# &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;XA bağlantısına hangi durumda ihtiyacımız var?&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;# &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;XA bağlantısının uygulamaya getirdiği maliyet nedir?&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;# &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;XA bağlantısı kullanmak istemiyorsak, alternatifi nedir?&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;# &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;XA kullanımının sistemin genel mimarisine bir etkisi veya mimariden bir beklentisi var mıdır?&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Bu sorulara cevap aramadan evvel bahsi çok geçecek bazı kavramların sözlük tanımlarına bir göz atalım.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-style: italic;font-size:78%;" &gt;&lt;span style="font-weight: bold;"&gt;Transaction&lt;/span&gt; : a series of actions performed as a single logical unit of work in which either all of the actions are performed or none of them are (also called a local or simple transaction). A transaction is often described as ACID -- atomic, consistent, isolated, and durable.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;font-size:78%;" &gt;&lt;span style="font-weight: bold;"&gt;Distributed transaction&lt;/span&gt; : An ACID transaction between two or more independent transactional resources (for example, two separate databases). For the transaction to commit successfully, all of the individual resources must commit successfully; if any of them are unsuccessful, the transaction must roll back in all of the resources.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-style: italic;font-size:78%;" &gt;&lt;span style="font-weight: bold;"&gt;XA&lt;/span&gt; : which describes the standard protocol that allows coordination, commitment, and recovery between transaction managers and resource managers.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-style: italic;font-size:78%;" &gt;&lt;span style="font-weight: bold;"&gt;XA Resources&lt;/span&gt; : databases, messaging queuing products such as JMS, mainframe applications, ERP packages, or anything else that can be coordinated with the transaction manager.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-style: italic;font-size:78%;" &gt;&lt;span style="font-weight: bold;"&gt;Two-phase commit&lt;/span&gt; : An approach for committing a distributed transaction in two steps: Phase 1, Prepare: Each of the resources votes on whether it's ready to commit -- usually by going ahead and persisting the new data but not yet deleting the old data. Phase 2, Commit: If all of the resources are ready, they all commit -- after which the old data is deleted and the transaction can no longer roll back. Two-phase commit ensures that a distributed transaction can always be committed or always rolled back, even if parts of the system crash while the transaction is being committed. Many, but not all, distributed transaction implementations use two-phase commit.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family:verdana;"&gt;XA bağlantısına hangi durumda ihtiyacımız var?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Eğer aynı transaction içerisinde birden fazla veritabanında güncelleme (insert/delete/update) yapıyor iseniz ve veritabanları arasında data uyumsuzluğuna (data inconsistency) tahammülünüz yok ise o zaman XA bağlantısına ihtiyacınız var demektir.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;Bu durumu çok meşhur basit bir örnekle anlatmaya çalışalım. Elimizde Uygulama Sunucusunda çalışan, EJB kullanarak geliştirdiğimiz bir muhasebe programı olsun. Diyelim ki birinde stok bilgilerini, diğerinde hesapları tuttuğumuz 2 ayrı veritabanımız olsun. (Bakınız Şekil-1) Bir satış yapıldığında bir EJB metodumuz (makeSales()) da önce StockDS'i kullanarak stok'tan ilgili ürünü düşsün ve ardından AccountDS'i kullanarak toplam satış değeri kadar parayı da hesaba aktar&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;sın.&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger/7573/3490/1600/188997/localDS.jpg"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/x/blogger/7573/3490/400/86238/localDS.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-style: italic;"&gt;Figure-1. Local Connection Pools. makeSales() = t1 + t2 + t3&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Bu örnekte tüm veritabanı bağlantıları hepinizin bildiği Local olarak tanımlanmış durumda. İlk bakışta herşey normalmiş gibi gözüküyor. Peki ya makeSales() metodu içerisinde gerçekleşen transaction StockDS bağlantısını commit() 'ledikten sonra tam AccountDS'e commit() komutunu gönderirken herhangi bir sorundan dolayı (network bağlantı hatası, vs.) hata alıp yarım kalırsa ne olur. Stok'umuz azalır ama hesabımıza para geçmez. Bunun sebebi de distributed transaction kullanmamız gereken bir yapıda local transaction kullanmamızdır. Yani yukarıdaki örnekteki datasource'ların kullandığı &lt;a href="http://en.wikipedia.org/wiki/Database_Connection"&gt;connection pool&lt;/a&gt;'lar local değil XA olmalıydı.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Bu tip sorunların yaşanma olasılığı düşük de olsa, günlük transaction miktarı yüksek olan sistemlerde veri tutarsızlığı &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;(data inconsistency) çok fazla olacaktır. Hele işin için de bir de para varsa bazen 1 kuruşun bile hesabı sorulabilir.&lt;br /&gt;&lt;br /&gt;Bazı developerlar hemen "&lt;span style="font-style: italic;"&gt;Bizim uygulamalarımız tek bir veritabanı ile çalışıyor, bizim böyle bir sorunumuz yok&lt;/span&gt;" diyebilir. Eğer tek bir datasource kullanıyorsanız dediğiniz doğrudur. Lakin aynı veritabanına bakan farklı connection pool'lar tanımladıysanız ve aynı transaction içerisinde bu pool'ları kullanan datasource'lar var ise yukarıda bahsettiğimiz senaryonun aynısı gerçekleşmiş olur.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family:verdana;"&gt;XA bağlantısının uygulamaya getirdiği maliyet nedir?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Eğer Uygulama Sunucusunda çalışan uygulamalar geliştiriyorsanız ve XA kullanmaya karar verdiyseniz tek yapmanız gereken datasource'larınızın kullandığı &lt;a href="http://en.wikipedia.org/wiki/Connection_Pool"&gt;Connection Pool&lt;/a&gt;'ları Local'den XA'ye çevirmek. &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Fakat bu konuda hemen aksiyon almadan evvel aşağıdaki noktalara dikkat etmeniz gerekiyor.&lt;br /&gt;&lt;br /&gt;* Öncelikle veritabanınızın XA bağlantısını destekliyor olması gerekiyor. Oracle gibi kurumsal veritabanlarının XA (distributed transaction) desteği mevcuttur. Maalesef open-source veritabanlarının çoğunda XA desteği bulunmaz.&lt;br /&gt;&lt;br /&gt;* Uygulama Sunucunuzunda da XA transaction'ları destekliyor olması gerekiyor. Piyasadaki JBoss, Weblogic, WebSphere gibi open-source veya lisanslı bir çok uygulama sunucusunun XA desteği mevcut. Bu konuda veritabanlarına göre daha şanslıyız :)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;* Teorikte birçok Uygulama Sunucusu ve Veritabanı XA desteği olduğunu söylese de, pratikte hepsinin XA desteğini başarılı bir şekilde verdiğini söyleyemeyiz. Örneğin Oracle XA konusunda senelerce çok fazla şikayet aldı. Özellikle Oracle'ın 8.x ve 9.x serisi veritabanı ve driver'ı uzun süre meşhur bug'ları ile yaşadı. (Bakınız: &lt;a href="http://edocs.bea.com/wls/docs81/jta/thirdpartytx.html"&gt;Oracle Thin Driver Known Issues and Workarounds&lt;/a&gt;)  Hatta Oracle 10g çıkıncaya kadar bazı uygulama sunucuları Oracle'a bağlanmak için kendi geliştirdiği driver'larını kullandı. (Bakınız: &lt;a href="http://e-docs.bea.com/wls/docs81/oracle/trxjdbcx.html#1082158"&gt;WebLogic jDriver for Oracle (Deprecated)&lt;/a&gt; ) Benzer şekilde her Uygulama Sunucusunun XA desteği çok başarılı değil. Bu yüzden Uygulama Sunucusu seçiminde dikkatli olmak gerekiyor.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;* XA bağlantısının performansı, doğal olarak Local bağlantıya göre biraz daha düşüktür. Bunun en büyük nedeni XA transaction'larının local transaction'lara göre sistem kaynaklarını daha fazla ve daha uzun süre meşgul etmesidir. XA bağlantısının veritabanı üzerindeki performans etkisi daha çok veritabınında kullanılan "isolation level" ve "locking" mekanizmaları ile ilgilidir. Bu konuda detaylı bilgiliyi Oracle Gurusu Hasan Tonguç Yılmaz'ın &lt;a href="http://tonguc.wordpress.com/2007/01/02/oracle-concepts-and-architecture-part-1/"&gt;Oracle Concepts and Architecture - Part 1&lt;/a&gt; blogunda&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt; bulabilirsiniz.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;* XA kullanmak isteyenlerin (özellikle kurumsal şirketler) karşısına çıkan en büyük engellerden biri de Oracle store procedure ve dblink ikilisinin EJB'ler ile birlikte kullanılmasıdır. Bir XA transaction'ı içerisinde dblink kullanılıyorsa ve bu dblink'in bağlandığı veritabanı "&lt;span style="font-style: italic;"&gt;shared&lt;/span&gt;" modda değilse meşhur "&lt;span style="font-style: italic;"&gt;ORA-24777: use of non-migratable database link not allowed&lt;/span&gt;" hatası ile karşılaşılır. Günümüzde artık Oracle kurulumlarında daha performanslı olan "dedicated" mod kullanıldığı için bu durum XA ve dblink'in birlikte kullanımı açısından büyük bir sorun teşkil etmektedir.&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;a href="http://www.stanford.edu/dept/itss/docs/oracle/10g/appdev.101/b10795/adfns_xa.htm#1007057"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;XA Issues and Restrictions&lt;/span&gt;&lt;/a&gt; &lt;span style="font-style: italic;"&gt;&lt;br /&gt;Database Links : Oracle XA applications can access other Oracle Database instances through database links, with the following restrictions. Use the shared server (formerly known as Multi-Threaded Server) configuration.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger/7573/3490/1600/922249/xaDSwithDBLink.jpg"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/x/blogger/7573/3490/400/665900/xaDSwithDBLink.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-style: italic;"&gt;Figure-2. XA Connection Pools with dblink. makeSales() = t1 + t2 + t3 + t4&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;Şekil-2'de bu durumu bir önceki örneğimize ilave yapıp somutlaştırmaya çalıştım. makeSales transaction'ı bu sefer hesaba para yatırdıktan sonra dblink ile Billing veritabanına bağlanıp fatura kesilebilmesi için fatura hareket tablosuna kayıt atmaya çalışıyor. Fakat Billing veritabanı "&lt;span style="font-style: italic;"&gt;dedicated&lt;/span&gt;" modda olduğu için hata veriyor.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-weight: bold;"&gt;XA bağlantısı kullanmak istemiyorsak, alternatifi nedir?&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;XA kullanımı ile ilgili bu kadar sıkıntı gördükten sonra haklı olarak bir alternatif arayaşına gidebilirsiniz. Peki XA kullanmadan veritabanları arasındaki data uyumsuzluğunu nasıl önleyeceğiz? Bunun başlıca yöntemlerinden biri düzenli olarak manual veya otomatik veri uyumsuzluğu kontrolü (&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;data integrity check&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;) yapılması. Bunun için aşağıdaki adımlar izlenebilir.&lt;br /&gt;&lt;br /&gt;# Muhtemel data uyuşmazlığı oluşabilecek tabloların ve kayıtların önceden tespit edilmesi.&lt;br /&gt;# Data uyuşmazlıklarının nasıl düzeltileceği konusunda prosedürlerinin hazırlanması&lt;br /&gt;# Tespit edilen bu tablolar arasında gün içinde veya gün sonunda manual/otomatik uyumsuzluk kontrolünün yapılması&lt;br /&gt;# Tespit edilen uyuşmazlıkların düzeltilmesi için gerekli manual/otomatik aksiyonların alınması.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;XA kullanımının sistemin genel mimarisine bir etkisi veya mimariden bir beklentisi var mıdır?&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;Yukarıda da bahsettiğimiz gibi XA kullanımına geçiş kararı aslında tamamen sisteminizin mimarisini etkileyecek bir karardır. Özellikle sunum, orta ve veritabanı katmanlarının farklı farklı yazılımcılar tarafından geliştirildiği, SOA tabanlı mimarilerin kullanıldığı sistemlerde XA stratejisi çok daha kritiktir.&lt;br /&gt;&lt;br /&gt;XA konusunda Genel Mimari'yi ilgilendirecek konuları aşağıda sıralamaya çalıştım:&lt;br /&gt;&lt;br /&gt;# Uygulama Sunucusu tercihi&lt;br /&gt;# Veritabanı tercihi&lt;br /&gt;# Veritabanı Oracle ise kurulum (shared/dedicated) modu ve dblink kullanımı tercihi&lt;br /&gt;# XA olmasına gerek olmayan transaction ve pool'ların tespiti. (Örneğin sadece sorgulama yapan işlemler)&lt;br /&gt;# Altayapıda kullanılan framework tercihi.&lt;br /&gt;&lt;br /&gt;XA konusunda aslında daha çok  şey söylenebilir. Bu tamamen sizin sisteminizin büyüklüğüne ve karmaşıklığına bağlı. Eğer bu konuda daha detaylı ve teknik bilgiye ulaşmak isterseniz aşağıdaki linklerden faydalanabilirsiniz. Ben çok faydalandım :)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Kaynaklar&lt;/span&gt;&lt;br /&gt;&lt;a href="http://wldj.sys-con.com/read/44439.htm"&gt;&lt;span style="text-decoration: underline;"&gt;XA Transactions&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www-128.ibm.com/developerworks/websphere/library/techarticles/0407_woolf/0407_woolf.html?ca=dnp-327Scroll"&gt;Configuring and using XA distributed transactions in WebSphere Studio&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.datadirect.com/developer/jdbc/topics/jta/index.ssp#anchor3"&gt;Distributed Transactions and the Transaction Manager&lt;/a&gt;&lt;br /&gt;&lt;a href="http://edocs.bea.com/wls/docs81/ConsoleHelp/jdbc_datasources.html"&gt;Weblogic JDBC Datasources&lt;/a&gt;&lt;br /&gt;&lt;a href="http://e-docs.bea.com/wls/docs81/jta/gstrx.html#1065328"&gt;Weblogic Distributed Transactions and the Two-Phase Commit Protocol&lt;/a&gt;&lt;br /&gt;&lt;a href="http://wiki.jboss.org/wiki/Wiki.jsp?page=IHaveProblemsWithOracleXA"&gt;JBoss OracleXA Tricks&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.onjava.com/pub/a/onjava/2001/06/06/j2ee_trans.html?page=4"&gt;OReilly J2EE Transaction Frameworks&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-116773623359221895?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/116773623359221895/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=116773623359221895' title='3 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/116773623359221895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/116773623359221895'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2007/01/xa-needed-more-often-than-you-think.html' title='XA : Needed More Often Than You Think'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-116755402556531020</id><published>2006-12-31T09:46:00.000+02:00</published><updated>2006-12-31T10:33:46.156+02:00</updated><title type='text'>H2 Database Engine</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Bir önceki &lt;a href="http://mustafatan.blogspot.com/2006/12/hsqldb.html"&gt;blogumda&lt;/a&gt; Thomas Mueller'in Hypersonic SQL olarak temellerini attığı ve daha sonra açık kaynak topluluğu tarafından HSQLDB olarak devam ettirilen java tabanlı bir veritabanından bahsetmiştim.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Bu sefer Thomas Mueller'in HSQLDB'deki tecrübelerini kullanarak belli alanlarda MySql ile bile yarışabileceği &lt;a href="http://www.h2database.com"&gt;H2&lt;/a&gt; adını verdiği yine java tabanlı bir veritabanından bahsedeceğim ama öncelikle Mueller'in H2 ve HSQLDB hakkındaki düşüncelerine bir göz atalım:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt; &lt;span style="font-size:78%;"&gt;&lt;a href="http://www.infoq.com/news/h2-released"&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;H2 1.0 Database by Hypersonic Creator is Out&lt;/span&gt;&lt;/a&gt; &lt;span style="font-style: italic;"&gt;&lt;br /&gt;It makes sense to use H2&lt;span style="font-weight: bold;"&gt; whenever you need an embedded database in your Java application&lt;/span&gt;. Or if you need a database for regression testing, or to learn SQL or the JDBC API. Or if you need a high-performance database.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;There are some architecural problems in HSQLDB that are hard to fix or work around: The opening / closing a database in HSQLDB can be very slow if the database is big, because the whole database is always backed up. HSQLDB doesn't offer any transaction isolation. Some operations on HSQLDB are limited by the memory (result set size, transaction size, BLOB / CLOB size). The current query optimizer of HSQLDB is really bad in my opinion. A lot of the higher level features are not supported (updatable result sets, encrypted database, data compression, computed columns, linear index, hash index, multi-dimensional index, linked table). In my view the source code of H2 is cleaner than that of HSQLDB. But the jar file of H2 is a bit bigger than the one of HSQLDB (1 MB jar file size instead of 600 KB). And for some very simple operations HSQLDB is currently a little bit faster.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Mueller, yukarıda bahsettiği HSQLDB'deki eksikleri de gözönünde bulundurarak aşağıdaki özelliklerde yeni bir open-source veritabanı geliştirmiş. Gerçek liste çok uzun ama ben önemli gördüklerimi burada listeliyorum:&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-style: italic;font-size:78%;" &gt;&lt;a href="http://www.h2database.com/html/features.html#feature_list"&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;H2 Feature List&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Main Features&lt;/span&gt;&lt;br /&gt;   # Very fast database engine&lt;br /&gt;   # Free, with source code&lt;br /&gt;   # Written in Java&lt;br /&gt;   # Supports standard SQL, JDBC API&lt;br /&gt;   # Embedded and Server mode, Clustering support&lt;br /&gt;   # Strong security features&lt;br /&gt;   # Experimental native version (GCJ) and ODBC drivers&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-style: italic;font-size:78%;" &gt;&lt;span style="font-weight: bold;"&gt;Additional Features&lt;/span&gt;&lt;br /&gt;   # Disk based or in-memory databases and tables, read-only database support, temporary tables&lt;br /&gt;   # Transaction support (serializable transaction isolation), 2-phase-commit&lt;br /&gt;   # Multiple connections, table level locking&lt;br /&gt;   # Cost based optimizer, using a genetic algorithm for complex queries, zero-administration&lt;br /&gt;   # Scrollable and updatable result set support, large result set, external result sorting, functions can return a result set&lt;br /&gt;   # Encrypted database (AES or XTEA), SHA-256 password encryption, encryption functions, SSL&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-style: italic;font-size:78%;" &gt;    # User password authenticated uses SHA-256 and salt&lt;br /&gt;   # User passwords are never transmitted in plain text over the network (even when using insecure connections)&lt;br /&gt;   # Small footprint (smaller than 1 MB), low memory requirements&lt;br /&gt;   # Uses a small number of database files, binary and text storage formats, graceful handling of low disk space situations&lt;br /&gt;   # Well tested (high code coverage, randomized stress tests)  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-style: italic;font-size:78%;" &gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;SQL Support&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-style: italic;font-size:78%;" &gt;    # Compatibility modes for HSQLDB, MySQL and PostgreSQL&lt;br /&gt;   # Support for multiple schemas, information schema&lt;br /&gt;   # Referential integrity / foreign key constraints with cascade, check constraints&lt;br /&gt;   # Inner and outer joins, subqueries, read only views and inline views&lt;br /&gt;   # Triggers and Java functions / stored procedures&lt;br /&gt;   # Many built-in functions, including XML and lossless data compression&lt;br /&gt;   # Wide range of data types including large objects (BLOB/CLOB)&lt;br /&gt;   # Sequence and autoincrement columns, computed columns (can be used for function based indexes)&lt;br /&gt;   # ORDER BY, GROUP BY, HAVING, UNION, LIMIT, TOP&lt;br /&gt;   # Collation support, Users, Roles&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;H2'nin HSQLDB ile karşılaştırıldığında ön plana çıkan esas özellikleri aslında Transaction Isolation, Clustering, High Availability, Two Phase Commit gibi &lt;a href="http://www.h2database.com/html/advanced.html"&gt;gelişmiş konularda&lt;/a&gt; yatıyor. Benim açık kaynak tutkunu biri olarak H2'nin en sevdiğim yönü ise dokümantasyonu. Mueller, &lt;a href="http://www.h2database.com/html/grammar.html"&gt;SQL Grammar&lt;/a&gt;, &lt;a href="http://www.h2database.com/html/functions.html"&gt;Functions&lt;/a&gt;, &lt;a href="http://www.h2database.com/html/datatypes.html"&gt;Data Types&lt;/a&gt;, &lt;a href="http://www.h2database.com/javadoc/index.html"&gt;Javadoc JDBC API&lt;/a&gt; gibi önemli konularda çok güzel &lt;a href="http://www.h2database.com/h2.pdf"&gt;dokümantasyon&lt;/a&gt; yapmış.&lt;br /&gt;&lt;br /&gt;Tabii ki her yiğidin övündüğü bir özelliği vardır, H2'nin ise bu özellik performans: &lt;span style="font-style: italic;"&gt;(low number of concurrent connections &amp; embedded usage)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.h2database.com/html/images/performance.png"&gt;&lt;img style="cursor: pointer; width: 400px;" src="http://www.h2database.com/html/images/performance.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-family: verdana; font-style: italic;font-size:78%;" &gt;Operations/second (higher is better) - &lt;a href="http://www.h2database.com/html/performance.html"&gt;More information about this test&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ben özellikle geliştirdiğiniz java uygulamalarını müşterilere demo olarak dağıtırken veritabanı ihtiyacınız var ise H2'yi şiddetle tavsiye ederim. H2 hakkında detaylı bilgiye &lt;a href="http://www.h2database.com"&gt;http://www.h2database.com&lt;/a&gt; adresinden ulaşabilirsiniz.&lt;br /&gt;&lt;br /&gt;Hayırlı bayramlar ve yeni yıllar...&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-116755402556531020?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/116755402556531020/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=116755402556531020' title='1 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/116755402556531020'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/116755402556531020'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2006/12/h2-database-engine.html' title='H2 Database Engine'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-116747171055775959</id><published>2006-12-30T11:41:00.000+02:00</published><updated>2006-12-30T21:20:46.440+02:00</updated><title type='text'>HSQLDB</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Her programcının uygulama geliştirirken muhakkak ihtiyaç duyduğu yazılımlardan bir tanesi de veritabanıdır.  Eğer işyerinde yazılım yapıyorsanız, muhtemelen bir sunucuda yüklü Oracle'ı kullanıyorsunuzdur. Evde yazılım geliştirenler ise daha çok local'lerine yükledikleri MySql veya Postgre  veritabanlarını kullanıyorlardır.&lt;br /&gt;&lt;br /&gt;Bu yazımda sizlere local'linizde uygulama geliştirirken kullanabileceğiniz veya geliştirdiğiniz uygulamayı kullanıcılara demo amaçlı dağıtırken kullanabileceğiniz basit, hafif, hızlı, yetenekli ve java tabanlı bir veritabanından bahsetmek istiyorum.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;a href="http://hsqldb.org/"&gt;HSQLDB&lt;/a&gt;;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt; Thomas Mueller'in &lt;a href="http://freshmeat.net/projects/hypersonicsql/"&gt;Hypersonic SQL&lt;/a&gt; veritabanı olarak başlattığı, daha sonra 2001 yılında bir topluluk tarafından devam ettirilen ve şu an 380.000 download rakamıyla SourceForge'un &lt;a href="http://sourceforge.net/project/stats/index.php?group_id=23316&amp;ugn=hsqldb&amp;amp;type=&amp;mode=year"&gt;Top 50&lt;/a&gt; listesinde bulunan open-source bir veritabanıdır.&lt;br /&gt;&lt;br /&gt;HSQLDB'nin en önemli özelliği, java tabanlı olması nedeniyle özel bir kuruluma gerek kalmadan her işletim sisteminde kolayca çalıştırılabilir hale gelmesi. Bu nedenle internet dünyasında veritabanına ihtiyaç duyan çoğu uygulama demo versiyonları içine HSQLDB gömerler ki kullanıcılar hemen uygulamalarını kullanabilsinler. Bu yüzden Tomcat + HSQLDB ikilisi çok yaygın kullanılır:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;a href="http://www.atlassian.com/software/jira/docs/latest/databases/index.html"&gt;&lt;span style="font-style: italic;"&gt;Connecting JIRA to a database&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;JIRA Standalone: As part of its installation process, JIRA Standalone automatically installs, configures and connects itself to an &lt;span style="font-weight: bold;"&gt;HSQLDB database&lt;/span&gt;. &lt;span style="font-weight: bold;"&gt;This is fine for evaluation purposes, but for production installations&lt;/span&gt;, you should connect JIRA to an enterprise database. This also lets you take advantage of existing database backup and recovery procedures.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Ayrıca dünyada bir milyondan fazla kullanıcısı bulunan &lt;a href="http://www.openoffice.org/"&gt;OpenOffice&lt;/a&gt; (&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Microsoft Office'in open-source rakibi&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;), veritabanı olarak 8GB'da kadar veri saklayabilen HSQLDB kullanır.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:78%;" &gt;The product is currently being used as a database and persistence engine &lt;span style="font-weight: bold;"&gt;in many Open Source Software projects and even in commercial projects and products.&lt;/span&gt; In it's current version it is extremely stable and reliable. It is best known for its small size, ability to execute completely in memory, its flexibility and speed.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Bu yazının sonunda ayrıca HSQLDB'nin temel özelliklerini bulabilirsiniz. Daha fazla bilgi için &lt;a href="http://hsqldb.org/"&gt;http://hsqldb.org/&lt;/a&gt; adresine göz atmanız gerekecek. Bu arada Thomas Mueller Hypersonic SQL'i devretmiş ama boş durmamış yine java tabanlı bence çok daha süper veritabanı geliştirmiş. Bir sonraki yazımda ondan bahsedeceğim.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://hsqldb.org/web/hsqlFeatures.html"&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Features Summary&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:78%;" &gt;# 100% Java&lt;br /&gt;# A full RDBMS (Relational Database Management System), with the Object capabilities of Java&lt;br /&gt;# Switchable source code to support JDK 1.1.x, 1.2.x, 1.3.x, 1.4.x and above&lt;br /&gt;# Super fast startup and SELECT, INSERT, DELETE and UPDATE operations&lt;br /&gt;# Standard SQL (Structured Query Language) syntax&lt;br /&gt;# Inner and outer joins, SELECT queries as correlations in joins&lt;br /&gt;# Scalar (single value) SELECTS, correlated subqueries including IN, EXISTS, ANY, ALL&lt;br /&gt;# Views, Temp tables and sequences&lt;br /&gt;# Primary key, unique and check constraints on single or multiple columns&lt;br /&gt;# Indexes on single or multiple columns&lt;br /&gt;# ORDER BY, GROUP BY and HAVING&lt;br /&gt;# COUNT, SUM, MIN, MAX, AVG and statistical aggregate functions (also in expressions and function arguments)&lt;br /&gt;# Full support for SQL expressions such as CASE .. WHEN .. ELSE .. , NULLIF etc.&lt;br /&gt;# SQL standard autoincrement column support plus sequences&lt;br /&gt;# Transaction COMMIT, ROLLBACK and SAVEPOINT support&lt;br /&gt;# Referential Integrity (foreign keys) with full cascading options (delete, update, set null, set default)&lt;br /&gt;# Multiple schemata per database&lt;br /&gt;# Java stored procedures and functions&lt;br /&gt;# Triggers&lt;br /&gt;# Database security with passwords, user rights and roles with GRANT and REVOKE&lt;br /&gt;# Extensive set of ALTER TABLE commands allowing change of column type&lt;br /&gt;# In-memory tables for fastest operation&lt;br /&gt;# Disk based tables for large data sets&lt;br /&gt;# Text tables with external file data sources such as CSV files&lt;br /&gt;# In-memory (like applets), embedded (into Java applications) and Client-Server operating modes&lt;br /&gt;# Three client server protocols: HSQL, HTTP and HSQL-BER - can run as an HTTP web server - all with SSL option&lt;br /&gt;# Can be used in applets, read-only media (CD), inside jars, webstart and embedded applications&lt;br /&gt;# Multiple databases per JVM&lt;br /&gt;# Disk tables (CACHED TABLE) up to 8GB and text tables up to 2GB each&lt;br /&gt;# Size of each string and binary data item only limited by memory&lt;br /&gt;# Full support for PreparedStatement objects to speed up query processing&lt;br /&gt;# 95% JDBC interface support with batch statement and scrollable ResultSet functionality&lt;br /&gt;# All JDBC 1 data types supported, plus 'Object' , Boolean, Blob and Clob&lt;br /&gt;# Full JDBC 2 DatabaseMetaData and ResultSetMetaData support&lt;br /&gt;# Database dump as SQL script with or without data&lt;br /&gt;# Powerful and compact java command line and GUI tools for database management &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-116747171055775959?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/116747171055775959/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=116747171055775959' title='3 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/116747171055775959'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/116747171055775959'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2006/12/hsqldb.html' title='HSQLDB'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-116699982045584455</id><published>2006-12-25T00:09:00.000+02:00</published><updated>2006-12-25T00:37:01.123+02:00</updated><title type='text'>Wimax : Attractive Economics</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Wimax 'in 3G gibi rakiplerine karşı en önemli avantajlarından biri de ekonomik oluşu. Wimax 'i ekonomik yapan en önemli faktörlerinden biri de bant genişliğini ve frekansı çok verimli kullanıyor olması. Bu verim sayesinde Wimax'in, kablosuz iletişim dünyasının en önemli maliyet kalemlerinden bir olan Baz İstasyonu ihtiyacı daha düşüktür. Aşağıdaki tabloda Wimax'in, şartlar aynı tutularak rakibi olan &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;HSPA ve EVDO gibi 3G teknolojilerine göre Baz İstasyonu ihtiyacı gösterilmiştir.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.wimaxforum.org/news/downloads/Mobile_WiMAX_Performance_and_Comparative_Summary.pdf"&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Business Case Impact&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-style: italic;"&gt;From a business case perspective the throughput and spectral efficiency advantages of mobile WiMAX results in fewer base stations to achieve a desired data density. The example in Figure 3 summarizes the number of base stations required to achieve a DL data density of 215 kilobytes per sec per sq-km over a 129 sq-km coverage area. &lt;span style="font-weight: bold;"&gt;Fewer base stations greatly reduces the network capital costs for a given network capacity and, with lower equipment maintenance costs, results in lower operating expenses as well.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger/7573/3490/1600/147750/3G_vs_Wimax_2.jpg"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/x/blogger/7573/3490/400/861458/3G_vs_Wimax_2.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Gördüğünüz gibi Wimax'in 129 kilometre-karelik bir alanı kaplamak için ihtiyaç duyduğu baz istasyonu sayısı 3G' ye göre % 50 daha az. Baz istasyonlarının kira, elektrik (klima + verici) ve bakım maliyetlerinin gayet yüksek olduğunu hatırlatırım.&lt;br /&gt;&lt;br /&gt;Ayrıca Wimax açık sistemler üzerine kurulduğu için şu an bir sürü üretici aynı standartlarda Wimax ürünleri üzerinde geliştirmeler ve üretim yapıyor. Wimax baz istasyonlarının üreticilerin çokluğu nedeniyle çok daha ucuz olacağı tahmin ediliyor.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-116699982045584455?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/116699982045584455/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=116699982045584455' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/116699982045584455'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/116699982045584455'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2006/12/wimax-attractive-economics.html' title='Wimax : Attractive Economics'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-116673907196033667</id><published>2006-12-21T23:50:00.000+02:00</published><updated>2006-12-22T00:11:12.883+02:00</updated><title type='text'>What are we looking for in every employee?</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: verdana;"&gt;Open-source dünyasının en sevdiğim topluluklardan biri de &lt;a href="http://www.atlassian.com/software/jira/"&gt;JIRA&lt;/a&gt; ve &lt;a href="http://www.atlassian.com/software/confluence/"&gt;Confluence&lt;/a&gt; 'un geliştiricisi olan &lt;a href="http://www.atlassian.com/"&gt;Atlassian&lt;/a&gt; firmasıdır. Atlassian'ın en sevdiğim yönü, geliştirdiği ürünlerinin altyapısında bol bol open-source kullanması ve ürünlerini open-source dünyasına ücretsiz vermesidir.&lt;br /&gt;&lt;br /&gt;Geçenlerde Atlassian'ın web sitesini gezerken "&lt;a href="http://www.atlassian.com/about/jobs.jsp"&gt;Eleman Arıyoruz&lt;/a&gt;" linki dikkatimi çekti ve işe alacakları elemanlarda ne tip özellikler aradıklarını merak ettim. İşte size Atlassian'ın çalışanlarından beklentileri.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Get It Done&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;In employees, Atlassian values aptitude and attitude as well as experience. We value the ability to get things done extremely highly. &lt;span style="color: rgb(255, 0, 0);"&gt;The right thought is "What can I do next?", the wrong one is "There's nothing for me to do."&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Think Like An Engineer&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;We value an engineering mindset in all employees, in all departments. &lt;span style="color: rgb(255, 0, 0);"&gt;Engineers solve problems and constantly seek to improve processes. No process we have is set in stone. We want you to always be looking for ways to make things more efficient.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Be David, Not Goliath.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;We are a small, nimble company in which change and progress are a constant. We compete and beat the biggest software companies on the planet daily. This should excite you, not scare you.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;There's No I In Culture&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Our company is based around small, dynamic teams. You should work well with others, treat teamwork and team achievement as the end goal and be a good cultural fit with the whole company.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;You Are Our Ambassador&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;On a personal level you should have good written and oral communication skills. Every employee is a spokesperson for the company at all times. As an internet-focussed company, experience with large volumes of email communication is always useful. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: verdana;"&gt;Sizi bilmem ama ben bir çıktısını alıp masamda gözümün önünde bir yere yapıştıracağım&lt;/span&gt;&lt;/span&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-116673907196033667?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/116673907196033667/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=116673907196033667' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/116673907196033667'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/116673907196033667'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2006/12/what-are-we-looking-for-in-every.html' title='What are we looking for in every employee?'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-116656133378347641</id><published>2006-12-19T22:47:00.000+02:00</published><updated>2006-12-21T00:15:48.460+02:00</updated><title type='text'>Jar Finder</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;J2EE uygulama geliştiricilerin en çok yaşadığı problemlerden biri de class uyuşmazlıklarıdır. Özellikle uygulamalarınızda çok fazla open-source library var ise veya uygulamanızın çalıştığı Uygulama Sunucusundaki tüm uygulamalar jar dosyalarını global classpath'e tanımlatıyorsa daha fazla yaşanır.&lt;br /&gt;&lt;br /&gt;Class uyuşmazlıklarının en büyük nedeni classpath'de aynı class'ın birden çok farklı versiyonunun bulunmasıdır. JVM classpath'te aynı class'tan 2 tane bulunmasına kızmaz. Önce hangisini yükledi ise onu kullanır diğerini es geçer ve bu konuda da bir hata veya uyarı mesajı atmaz. JVM'in ve Uygulama Sunucularının Class yüklerken kullandığı bir hiyerarşi ve mantık vardır. Bu konuda en güzel bilgiyi &lt;a href="http://e-docs.bea.com/wls/docs81/programming/classloading.html"&gt;Weblogic  Server Application Classloading&lt;/a&gt; dokümanında bulabilirsiniz.&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://e-docs.bea.com/wls/docs81/programming/wwimages/classloading4.gif"&gt;&lt;img style="cursor: pointer; width: 400px;" src="http://e-docs.bea.com/wls/docs81/programming/wwimages/classloading4.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;Aynı classpath'te farklı versiyondaki classlar yüzünde uygulamalarınız garip davranışlar gösterebilir ve siz de sorun nerde diye arar durursunuz. İşte bu durumdan şüphelendiğiniz an yapmanız gereken class'ınızın hangi jar'dan yüklendiğini bulmak. Bunun için yapmanız gereken aşağıdaki jsp'yi class'ınızı çağırdığınız ear/war içine koyup deploy etmek ve çalıştırmak.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:78%;" &gt;&amp;lt;%@ page language="java" contentType="text/html; charset=ISO-8859-1"  pageEncoding="ISO-8859-1" %&amp;gt;&lt;br /&gt;&amp;lt;html&amp;gt;&amp;lt;head&amp;gt;&lt;br /&gt;&amp;lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&amp;gt;&lt;br /&gt;&amp;lt;title&amp;gt;Determining from Where a Class Was Loaded&amp;lt;/title&amp;gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt;&amp;lt;form method=get&amp;gt;&lt;span style="font-weight: bold;"&gt;Please enter fully qualified class name&lt;/span&gt; (e.g. oracle.jdbc.driver.OracleDriver )&amp;lt;br&amp;gt;&lt;br /&gt;&amp;lt;b&amp;gt; ClassName : &amp;lt;/b&amp;gt; &amp;lt;input name="className" maxlength=255 size=40 value="" type=text&amp;gt; &amp;lt;input type=submit value=Find&amp;gt;&lt;br /&gt;&amp;lt;/form&amp;gt;&lt;br /&gt;&amp;lt;%         &lt;br /&gt;  String className = request.getParameter("className");&lt;br /&gt;  if(className != null) {&lt;br /&gt;      try&lt;br /&gt;      {&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;            Class clazz = Class.forName(className);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;            java.security.ProtectionDomain pDomain = clazz.getProtectionDomain();&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-style: italic;font-size:78%;" &gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;            java.security.CodeSource cSource = pDomain.getCodeSource();&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-style: italic;font-size:78%;" &gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;            java.net.URL loc = cSource.getLocation();&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-style: italic;font-size:78%;" &gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;            String result = loc.getFile();&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-style: italic;font-size:78%;" &gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-style: italic;font-size:78%;" &gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;          out.println("&amp;lt;b&amp;gt;Path : "+result+"&amp;lt;/b&amp;gt;");&lt;br /&gt;      }catch (Throwable e)&lt;br /&gt;      {&lt;br /&gt;          out.println(e.getMessage());&lt;br /&gt;      }         &lt;br /&gt;  }&lt;br /&gt;%&amp;gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;/span&gt;Bu jsp size class'ınızın hangi jar dosyasından yüklendiğini tam olarak gösterecektir. Eğer benim sorunum bir class'tan 2 tane olması değil hiç olmaması diyorsanız ve "&lt;span style="font-style: italic;"&gt;Class Not Found&lt;/span&gt;" hatası veren class'ın hangi jar'a jar'a ait olduğunu bulmak istiyorsanız o zaman &lt;a href="http://www.jarfinder.com/"&gt;www.jarfinder.com&lt;/a&gt; 'a başvuracaksınız:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;&lt;span style="font-family:verdana;"&gt;&lt;a href="http://www.jarfinder.com/"&gt;www.jarfinder.com&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-style: italic;"&gt;Our database currently contains over 250,000 classes from java projects such as apache, spring, jboss and many more. If you know of a library that we don't currently index please see our help section for details of how to add it to the database.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-116656133378347641?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/116656133378347641/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=116656133378347641' title='2 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/116656133378347641'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/116656133378347641'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2006/12/jar-finder.html' title='Jar Finder'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-116637328586788947</id><published>2006-12-17T16:44:00.000+02:00</published><updated>2006-12-17T20:29:16.663+02:00</updated><title type='text'>Wimax : Superior Performance</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Bir önceki Wimax ile ilgili &lt;a href="http://mustafatan.blogspot.com/2006/12/wimax-strengths.html"&gt;blog&lt;/a&gt; 'umda Wimax teknolojisinin güçlü yanlarına değinmiş fakat detaylara girmemiştim. Sanırım artık eteğimizdekileri dökme vakti geldi :) Fakat teknik detaylara girmeden evvel birazdan bahsi geçecek bazı kısaltmalar ve terimler hakkında kısaca bilgi vermek istiyorum.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt; &lt;a href="http://en.wikipedia.org/wiki/EVDO"&gt;&lt;span style="font-weight: bold;"&gt;EVDO&lt;/span&gt;&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/HSDPA"&gt;&lt;span style="font-weight: bold;"&gt;HSDPA&lt;/span&gt;&lt;/a&gt; ve &lt;a href="http://en.wikipedia.org/wiki/HSPA"&gt;&lt;span style="font-weight: bold;"&gt;HSPA&lt;/span&gt;&lt;/a&gt; gibi terimler &lt;a href="http://en.wikipedia.org/wiki/3G"&gt;3G&lt;/a&gt; teknolojisine ait standartlardır. (GSM'in 2G, Wimax'in ise bir 4G standardı olması gibi)&lt;br /&gt;&lt;a style="font-weight: bold;" href="http://en.wikipedia.org/wiki/Multiple-input_multiple-output_communications"&gt;MIMO&lt;/a&gt; (Multiple Input Multiple Output) ve &lt;span style="font-weight: bold;"&gt;SIMO&lt;/span&gt; (Single Input Multiple Output) ise Wimax'e ait anten teknolojilerini ifade eder.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Bu kısa bilgilerden sonra Wimax 'i, 3G ile karşılaştırarak bir performansına göz atalım:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger/7573/3490/1600/916894/3G_vs_Wimax_1.jpg"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/x/blogger/7573/3490/400/789557/3G_vs_Wimax_1.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;Yukarıdaki grafikte görüldüğü gibi şartlar aynı tutularak yapılan testlerde Wimax'ın sağladığı band genişliği 14Mbps'e kadar çıkarken, 3G ise 5Mbps seviyelerinde. Wimax'in bu üstünlüğü aslında &lt;a href="http://en.wikipedia.org/wiki/OFDMA"&gt;OFDMA&lt;/a&gt; teknolojisinde yatıyor:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-style: italic;"&gt;The advanced performance of mobile WiMAX is largely tied to its use of &lt;span style="font-weight: bold;"&gt;Orthogonal Frequency Division Multiple Access (OFDMA)&lt;/span&gt;, a multiplexing technique well suited to multipath environments that gives network operators higher throughput and capacity, great flexibility in managing spectrum resources, and improved indoor coverage (Figure 3).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;WiMAX performance is further enhanced by the use of &lt;span style="font-weight: bold;"&gt;Time Division Duplex (&lt;a href="http://en.wikipedia.org/wiki/Duplex_%28telecommunications%29"&gt;TDD&lt;/a&gt;)&lt;/span&gt;, but it can also support &lt;span style="font-weight: bold;"&gt;Frequency Division Duplex (&lt;a href="http://en.wikipedia.org/wiki/Duplex_%28telecommunications%29#Frequency_division_duplex"&gt;FDD&lt;/a&gt;)&lt;/span&gt; which dominates in 3G networks. Whereas FDD keeps the uplink and the downlink channels separate in frequency, TDD is a less complex, more efficient mechanism that uses a single frequency channel, with uplink and downlink traffic separated by a guard time.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;"&lt;span style="font-style: italic;"&gt;Bize laboratuar ortamında yapılan testler değil, gerçek hayattan örnekler lazım&lt;/span&gt;" diyenlere cevabım, Wimax teknolojisine en fazla yatırım yapan Samsung'a ait bir çalışmanın sonuçları olacak:&lt;br /&gt;&lt;a href="http://turk.internet.com/haber/yazigoster.php3?yaziid=16426"&gt;&lt;br /&gt;&lt;/a&gt;&lt;span style="font-size:78%;"&gt;&lt;a href="http://turk.internet.com/haber/yazigoster.php3?yaziid=16426"&gt;&lt;span style="font-style: italic; font-weight: bold;font-family:verdana;" &gt;Samsung 4G Teknolojilerini Açıkladı&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-family:verdana;" &gt;Samsung Electronics kısa bir süre önce gerçekleşen Samsung 4G Forum 2006 etkinliği çerçevesinde, 4G'ye yönelik teknolojisini tanıtmak için deneme amaçlı bir gösteri gerçekleştirdi. Samsung, ayrıca dünyanın ilk aktarma (&lt;span style="font-weight: bold;"&gt;handover&lt;/span&gt;) teknolojisini de tanıttı. &lt;span style="font-weight: bold;"&gt;Bu teknoloji 100 Mbps'lik süper hızlı mobil iletişimi saatte 60 km hızla giden bir araç içerisinde dahi kesintisiz kılıyor.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:Verdana,Arial,Helvetica,sans-serif;font-size:85%;"  &gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-style: italic;font-family:verdana;" &gt;Gelişmiş bir kablosuz iletişim teknolojisi olan &lt;span style="font-weight: bold;"&gt;4G&lt;/span&gt;, &lt;span style="font-weight: bold;"&gt;sabit mekanlarda 1 Gbps&lt;/span&gt;, &lt;span style="font-weight: bold;"&gt;hareket halindeyse 100 Mbps&lt;/span&gt; düzeyinde veri aktarım hızlarına erişebiliyor. 1 Gbps'lik hızla, 100 MP3 dosyasını (yaklaşık 300 MB) 2,4 saniyede, bir film CD'sini (800 MB) 5,6 saniyede veya 20 dakikalık bir HDTV yayını 12,5 saniyede aktarılabiliyor.&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-116637328586788947?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/116637328586788947/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=116637328586788947' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/116637328586788947'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/116637328586788947'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2006/12/wimax-superior-performance.html' title='Wimax : Superior Performance'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-116631226668862400</id><published>2006-12-17T00:54:00.000+02:00</published><updated>2006-12-17T01:37:46.906+02:00</updated><title type='text'>Wimax Strengths</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger/7573/3490/1600/540658/wimax_coverage.jpg"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/x/blogger/7573/3490/400/375748/wimax_coverage.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;Bazılarımızın aklına &lt;span style="font-style: italic;"&gt;"Lisanslar çıktığında, hangi firmalar bu Wimax hizmetini verebilecek"&lt;/span&gt; diye bir soru gelebilir. Aslında yavaş yavaş Wimax hizmetini verebilecekler ortaya çıkmaya başladı:&lt;br /&gt;&lt;span style="font-style: italic;font-size:78%;" &gt;&lt;br /&gt;&lt;a href="http://www.milliyet.com.tr/2006/12/12/son/soneko30.asp"&gt;&lt;span style="font-weight: bold;"&gt;EV DIŞINDA DA UCUZ, HIZLI ERİŞİM&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;Smile ADSL ile kullanıcılarına Türk Telekom'dan farklı hizmetler vermeyi hedeflediklerini bildiren Demir, abonelerin evlerindeki mevcut kullanıcı adı ve şifreleri ile Türkiye'de şu an 40 yerde bulunması planlanan 'hotspot' bağlantı noktaları çevresinde ucuz ve hızlı bağlantı kurabilmelerinin sağlanacağını kaydetti.&lt;br /&gt;Demir, &lt;span style="font-weight: bold;"&gt;kablosuz network (Wifi) teknolojisine dayalı bu 'hotspot'ları ileride aşamalı olarak geliştirerek, büyük kapsama alanları oluşturmayı planladıklarını&lt;/span&gt; ve yalnızca evde kullanımla sınırlı ADSL sisteminin daha geniş kullanım alanı bulmasını sağlayacak bu sistemin pilot çalışmasını Bahçeşehir'de başlattıklarını dile getirdi.&lt;br /&gt;"2007'de amacımız, tüketiciye geniş bandın kullanılabileceği katma değerli servisler götürmek" diyen Demir, &lt;span style="font-weight: bold;"&gt;2007 sonuna kadar 350 bin ADSL, 35 bin (Wifi) abonesine ulaşmayı hedeflediklerini söyledi.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Gördüğünüz gibi GSM operatörleri dışındaki firmalar da wireless broadband konusunda çalışma içerisindeler. İsterseniz Wimax konusundaki yazılara devam ederken öncelikle Wimax 'i bu kadar cazip kılan temel özelliklerine bir göz atalım.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;* Superior performance&lt;/span&gt;&lt;span style="font-style: italic;"&gt;, made possible by the adoption of OFDMA multiplexing, which gives WiMAX a performance edge in delivering IP data services compared to 3G technologies. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;* Flexibility&lt;/span&gt;&lt;span style="font-style: italic;"&gt;, which allows service providers to support multiple usage models, including fixed and mobile access, over the same WiMAX infrastructure and to operate their networks in multiple spectrum bands. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;* Advanced IP-based architecture&lt;/span&gt;&lt;span style="font-style: italic;"&gt;, which includes IMS support to facilitate a rapid, low cost, rollout of new applications and of interworking with 3G and other technologies. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;* Attractive economics&lt;/span&gt;&lt;span style="font-style: italic;"&gt;, driven by a standards-based approach, cost-effective infrastructure, mass adoption of low-cost subscriber units, and attractive IPR royalties &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Wimax'in güçlü yanları olarak yukarıdaki 4 özellik vurgulanmış. Bence Türkiye açısından en önemlileri, ekonomikliği ve IP tabanlı bir mimarisinin oluşu. Çünkü bu iki özellik GSM dünyası ile rekabette çok önemli bir faktör olacak ama aslında Wimax, Telekom dünyasına bir rakip değil. Wimax hizmetini Kablo, ADSL, GSM ve hatta 3G operatörleri bile verebilir.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:78%;" &gt;&lt;span style="font-weight: bold;"&gt;* 2G (GSM) mobile operators&lt;/span&gt; that do not operate a 3G network typically plan to deploy a new technology that supports mobile Internet. For them, WiMAX is one of the best choices (as in the case of Yozan in Japan) and, free of a 3G legacy, they will have the opportunity to leap ahead of 3G operators and head directly towards a next-generation technology that is cheaper to deploy, affords a better performance, and smoothes the transition to an IP-core network and to fourth-generation networks.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:78%;" &gt;&lt;span style="font-weight: bold;"&gt;* Wireline DSL and cable modem operators&lt;/span&gt; (e.g. Comcast in the US, France Telecom in France, Omnivision in Venezuela, TVA Sistema de Televisao, Brazil) have control over the fixed infrastructure and may want to deploy fixed WiMAX in areas of limited coverage, with a view to deploying mobile WiMAX later as a complement to their fixed broadband services. In some cases, they may elect to focus exclusively on mobile WiMAX. WiMAX operators can bundle personal broadband as an extension of the current services that allows subscribers to take the service with them wherever they go. In this case, WiMAX enables these operators to differentiate their products from wired competitors and to gain additional revenues without the cost and effort of becoming a fully-fledged mobile operator.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Eğer aklınızdan "&lt;span style="font-style: italic;"&gt;Ben ADSL'den şaşmam, GPRS'de bağlantı hızlarını ve maliyeti gördük&lt;/span&gt;" düşüncesi geçiyorsa bence hemen karar vermede acele etmeyin, bir sonraki blog'u bekleyin :)&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-116631226668862400?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/116631226668862400/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=116631226668862400' title='1 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/116631226668862400'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/116631226668862400'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2006/12/wimax-strengths.html' title='Wimax Strengths'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-116621157479009202</id><published>2006-12-15T20:35:00.000+02:00</published><updated>2007-03-22T23:07:26.695+02:00</updated><title type='text'>GeoTools &amp; Mobile Positioning</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Geçenlerde Büyükşehir Belediyesinin web sitesinde "&lt;span style="font-style: italic;font-size:78%;" &gt;Yollardaki anlık hızlara, değişken mesaj panolarındaki mesaj bilgilerine, 110 trafik kamerasının görüntülerine kısa bir süre sonra cep telefonlarınızdan ulaşabileceksiniz.&lt;/span&gt;" haberini okuyunca &lt;a href="http://tkm.ibb.gov.tr/"&gt;http://tkm.ibb.gov.tr&lt;/a&gt; adresindeki trafik bilgilerini gösteren programlara bir göz attım.&lt;br /&gt;&lt;br /&gt;Eğer yanlış anlamadıysam, Belediye ana arterlerde yol kenarlarına yerleştirdiği sensorler sayesinde Yoğunluk Haritası ismindeki programın verilerini oluşturuyor. İstanbul'un sadece ana arterlerinin trafik durumunu gösterse de hiç yoktan iyidir.&lt;br /&gt;&lt;br /&gt;Bu tip haberleri okuyunca veya trafikte hiç tahmin etmediğim bir anda takılıp kalınca, aklıma hep İstanbul'daki 10 milyondan fazla cep telefonu sinyalini neden trafik durumunu takip etmek için kullanmadığımız sorusu aklıma geliyor.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;Tabii cep telefonundan konum belirleme denince akla hep &lt;a href="http://en.wikipedia.org/wiki/GPS"&gt;GPS&lt;/a&gt; 'ten alınan bilgilerin cep telefonları üzerinden merkezi sisteme aktarılması geliyor. GPS üzerinden gönderilen bilgiler çok daha gerçekçi olsa da şu an için cep telefonları GPS modülü içermediğinden bu sistemin yaygınlaştırılması pratikte pek mümkün gözükmüyor.&lt;br /&gt;&lt;br /&gt;Bunun yerine cep telefonlarının hareket halindeyken baz istasyonları arasında geçiş yaparken (&lt;a href="http://en.wikipedia.org/wiki/Handoff"&gt;handover&lt;/a&gt;) yaydıkları sinyalleri kullanarak tahmini konum ve hız tespiti yapılması çok daha ekonomik ve pratik bir model. Bir sonraki adım ise bu üretilen tahmini datanın analiz edilip elenmesi, similasyon programı ile ileriye dönük trafik modelinin oluşturulması. Son olarak da bu modelin ve mevcut durumun bir &lt;a href="http://en.wikipedia.org/wiki/Gis"&gt;GIS&lt;/a&gt; programı ile gösterilmesi.&lt;br /&gt;&lt;br /&gt;Aslında amacım yukarıdaki mantıkla çalışan ticari bir Mobile Positioning sisteminden ve open-source bir GIS (Geographic Information System) tool'undan bahsetmek. Uzmanlık alanım olmadığı için yorum yapmadan alıntı yaptım.&lt;br /&gt;&lt;br /&gt;&lt;a style="font-weight: bold;" href="http://geotools.codehaus.org/"&gt;&lt;span style="font-style: italic;"&gt;GeoTools&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;GeoTools is an open source (LGPL) Java code library which provides standards compliant methods for the manipulation of geospatial data, for example to implement Geographic Information Systems (GIS). The GeoTools library implements Open Geospatial Consortium (OGC) specifications as they are developed, in close collaboration with the GeoAPI and GeoWidgets projects. The capabilities of Geotools are presented in the feature list.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-style: italic;font-size:78%;" &gt;&lt;span style="font-size:85%;"&gt;&lt;span style=";font-family:verdana;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:78%;"  &gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.nsf.gov/news/mmg/media/images/traffic1_f.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px;" src="http://www.nsf.gov/news/mmg/media/images/traffic1_f.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-style: italic;font-family:verdana;font-size:85%;"  &gt;&lt;a href="http://www.nsf.gov/news/news_summ.jsp?cntn_id=107972&amp;org=NSF"&gt;&lt;span style="font-weight: bold;"&gt;Real-Time Traffic Routing from the Comfort of Your Car&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style=";font-family:verdana;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;font-family:verdana;font-size:78%;"  &gt;Engineers have developed a system for &lt;span style="font-weight: bold;"&gt;taking anonymous cell-phone location&lt;/span&gt; information and turning it into an illuminated traffic map that identifies congestion in real time.The system takes advantage of the steady stream of positioning cues--untraced signals all cell phones produce, &lt;span style="font-weight: bold;"&gt;whether in use or not, as they seek towers with the strongest signals&lt;/span&gt;. It is the first traffic-solution technology that monitors patterns on rural roads and city streets as easily as on highways.&lt;br /&gt;&lt;br /&gt;Developed by IntelliOne of Atlanta, Ga., the &lt;span style="font-weight: bold;"&gt;TrafficAid &lt;/span&gt;system could not only help guide drivers around tie-ups, but also tell emergency responders where accidents are or how effectively an evacuation is unfolding by pinpointing clusters of cell phones&lt;br /&gt;&lt;br /&gt;"&lt;span style="font-weight: bold;"&gt;Unlike sensors and other equipment along major freeways that are expensive and take years to deploy&lt;/span&gt;, our system takes advantage of existing cellular networks in which wireless carriers have already invested billions of dollars," said National Science Foundation (NSF) awardee and IntelliOne CEO Ron Herman, a former engineer and computer scientist.&lt;br /&gt;...&lt;br /&gt;From this information, IntelliOne uses its Mobile Positioning System (MPS) to convert ordinary signaling data into phone locations at a &lt;span style="font-weight: bold;"&gt;rate of two times per second&lt;/span&gt;, which in turn is passed to the company's Traffic Determination Engine (TDE), where each phone is matched to the correct road and monitored with other phone locations&lt;span style="font-weight: bold;"&gt; to produce average speeds and travel times for all roads with cell coverage&lt;/span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-style: italic;font-size:78%;" &gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://geotools.codehaus.org/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-116621157479009202?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/116621157479009202/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=116621157479009202' title='1 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/116621157479009202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/116621157479009202'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2006/12/geotools-mobile-positioning.html' title='GeoTools &amp; Mobile Positioning'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-116604497525551235</id><published>2006-12-13T23:22:00.000+02:00</published><updated>2006-12-14T21:54:44.356+02:00</updated><title type='text'>Wimax: An Open Standard for Wireless Broadband</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Bundan &lt;a href="http://mustafatan.blogspot.com/2006/10/3g-disappointment.html"&gt;önceki bloglarımda&lt;/a&gt; epey &lt;a href="http://en.wikipedia.org/wiki/3G"&gt;3G&lt;/a&gt; teknolojisinden bahsetmiş, daha sonraki bloglarımda &lt;a href="http://en.wikipedia.org/wiki/Wimax"&gt;Wimax&lt;/a&gt; hakkında yazacağımı belirtmiştim. Wimax hakkında konuşmaya başlamadan evvel 10 yıl kadar geriye gidip &lt;a href="http://en.wikipedia.org/wiki/2G"&gt;2G&lt;/a&gt; standardı olarak kabul edilen GSM'in Türkiye'deki doğuşunu bir hatırlayalım:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:78%;" &gt;&lt;a href="http://www.bthaber.net/277/menu_haber_02.htm"&gt;&lt;span style="font-weight: bold;"&gt;17 milyar dolarlık "evet"&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;1980'ler Türkiye'nin dışa açıldığı ve ihracatın patladığı ilk yıllardı. Ama bu büyüme çok hızlı gerçekleşince şirketler bu büyüklüğe hazırlıksız yakalanmışlardı. Bu sıkıntılı dönem 1980'lerin sonuna doğru dış ticaret sermaye şirketlerinin yapısının değişmesine yol açtı.&lt;br /&gt;&lt;br /&gt;Dönemin parlak şirketlerinden Penta Dış Ticaret de bu gelişmelerden nasibini aldı ve küçüldü. Penta Dış Ticaret küçülmüştü ancak bu şirketin bir yan kuruluşu olan Penta Tekstil 3 ortağıyla yoluna devam ediyordu. Bu üç ortak Murat Vargı, Muzaffer Akpınar ve Tevfik Yazıcıoğlu'ydu.&lt;br /&gt;&lt;br /&gt;İşte tam o dönemlerde Finacial Times'da Murat Vargı'yla, Wall Street Journal'da da Muzaffer Akpınar'la yapılan Penta Tekstil'in çalışmalarına ilişkin röportajlar yayınlandı. Yazıların özünde genç Türk girişimcilerinin başarıları anlatılıyordu. Bu iki gazetede çıkan röportajlar hemen etkisini gösterdi. İsveçli bir GSM girişimcisi kısa bir süre sonra hem Murat Vargı'ya hem de Muzaffer Akpınar'a bir yazı yazdı ve GSM işinden söz etti. Murat Vargı kaderlerini değiştirecek bu mektubu ciddiye aldı ve İsveç'e gitti. İlk görüşmeleri yaptı. Her şey iyiydi. Ancak tek bir sorun vardı; para. Vargı ve çevresindekiler işin büyüyeceğine inanıyorlar ama buna sermaye koyacak birini bulma konusunda zorlanıyorlardı. Murat Vargı tam bu noktada kritik bir karar verdi: Önce Türkiye"nin en büyük iki grubuna gidilecekti.&lt;br /&gt;&lt;br /&gt;Vargı önceliği Koç Holding'e verdi. Bu karardan sonra Koç Grubu'yla görüşüldü. Koç "bu iş olmaz" dedi. Başvurulan ikinci grup, Sabancı Holding'in de yanıtı daha doğrusu yanılgısı Koç'tan farklı değildi. 10 yıl sonra kaçan fırsatı Sakıp Sabancı o kendine özgü uslubuyla şöyle özetledi: "&lt;span style="font-weight: bold;"&gt;İçimiz yanıyor ağam... İçimiz.&lt;/span&gt;"&lt;br /&gt;&lt;br /&gt;Bu iki görüşme Murat Vargı'yı hayal kırıklığına uğrattı ama yıldırmadı. O parçaları birleştirme ve sonuca gitme özelliğini burada da gösterdi. Bıkmadan usanmadan görüşmelerini sürdürdü. Murat Vargı ve Penta Tekstil'e istediği cevap nihayet Çukurova Grubu'ndan geldi. Grubun genç ve dışa açık patronu Mehmet Emin Karamehmet 'evet' dedi. Bu 'evet'in değerinin 25 milyar dolar olduğu sonradan anlaşıldı. 'Evet'in anlamı ortaya çıktığında da Türkiye'de herşey değişmiş, teknoloji hayatın her alanına damgasını vurmaya başlamıştı.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Gördüğünüz gibi GSM teknolojisi Türkiye'ye geldiğinde, hiç kimse Türk insanının mobil sesli iletişime bu kadar ilgi göstereceğini tahmin etmiyordu. Hatırlarsanız GSM'den önce şahsi telefon diye bir kavramımız yoktu. Evlerimizdeki sabit telefonlar tüm ailenin telefonuydu. Özel konuşma yapmak çok zordu. İşyerindeyken veya bir misafirlikteyken bir yeri aramamız gerektiğinden hep birilerinden izin almamız gerekiyordu. Yani kısacası evden dışarı çıkarken sabit telefonumuzu yanımızda götüremiyorduk. (Şu an evdeki ADSL internet bağlantımızı götüremediğimiz gibi)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;GSM hizmeti ilk başladığında cep telefonlarımız ile sadece konuşabiliyor ve sms atabiliyorduk ve ardından gelen faturalarımızı ödüyorduk. Başlangıçta herkese yeten bu hizmet sonraları yetmemeye başladı. Müşteriler cep telefonları üzerinden internet erişim servisi (&lt;a href="http://en.wikipedia.org/wiki/General_Packet_Radio_Service"&gt;GPRS&lt;/a&gt;), katma değerli servisler, ön ödemeli servisler (kontör) gibi hizmetler talep etmeye başladı. Bu yeni isteklerin çoğu kapalı bir teknoloji olan mevcut 2G altyapısı üzerine yapılamıyordu. Bu yüzden sonradan yapılan bu eklentiler ile teknolojinin adı &lt;a href="http://en.wikipedia.org/wiki/2.5G"&gt;2.5G&lt;/a&gt; oldu.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Özellikle internetin yaygınlaşması ile artan müşteri taleplerini mevcut 2.XG altyapısı ile karşılayamayacaklarını anlayan Telekom şirketleri, 3G olarak adlandırılan yeni teknolojileri geliştirmeye başladılar. 3G 'nin 2G 'den en büyük farkı data (internet, video streaming, vs.) hizmetlerini daha yüksek bir bant aralığında sağlıyor olmasıydı. 3G de, 2G gibi Telekom altyapısı üzerine kurulmuştu, yeni ürün geliştirmek zordu, operasyonel maliyetler yüksekti, kısacası internet kullanıcısının istediği aylık sabit bir ücrete, sınırsız, hızlı data ve ses hizmeti talebini karşılayamıyordu. (Bakınız : &lt;a href="http://mustafatan.blogspot.com/2006/11/3g-and-turkey.html"&gt;3G &amp; Turkey&lt;/a&gt;)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;İşte bu noktada &lt;a href="http://en.wikipedia.org/wiki/4G"&gt;4G&lt;/a&gt; diye adlandırılan yeni nesil teknoloji devreye girdi. 4G ile diğer önceki teknolojik değişikliklerden çok daha radikal değişiklikler ortaya çıktı. 2G ve 3G deki teknolojilerin aksine 4G teknolojilerinin :&lt;br /&gt;&lt;br /&gt;  * öncü geliştiricileri Intel gibi IT firmaları.&lt;br /&gt;  * altyapısı kapalı değil açık sistemler üzerine kurulu.&lt;br /&gt;  * altyapısı çok daha hızlı ve geniş data hizmeti sunuyor.&lt;br /&gt;  * altyapısı ses üzerine değil data üzerine kurulu&lt;br /&gt;  * altyapısı IP tabanlı olduğu için ürün geliştirmek çok daha kolay&lt;br /&gt;  * operasyonu çok daha ekonomik&lt;br /&gt;  * ....&lt;br /&gt;&lt;br /&gt;Bu liste uzayıp gidiyor, işte zaten bu yüzden dünyada ve Türkiye'de yola  3G ile mi yoksa 4G ile mi devam etmeli diye &lt;a href="http://mustafatan.blogspot.com/2006/10/3g-disappointment.html"&gt;büyük tartışmalar var&lt;/a&gt;. 2G teknolojileri ilk çıktığında nasıl İskandinav ülkelerinin başı çektiği GSM standardı ön plana çıktı ise 4G 'de de Intel'in desteklediği Wimax ön planda.&lt;br /&gt;&lt;br /&gt;1G -&gt; 2G -&gt; 3G -&gt; 4G gelişimi ile ilgili daha detaylı bilgiye Levent Uysal'ın turk.internet.com'da yazdığı makalelerden ulaşabilirsiniz:&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.turk.internet.com/haber/yazigoster.php3?yaziid=16943"&gt;&lt;span style=";font-family:Verdana,Arial,Helvetica,sans-serif;font-size:85%;"  &gt;&lt;b&gt;Cep Telefonu Endüstrisinde Gelişim&lt;/b&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;Wimax (IEEE 802.16) aslında hepimizin yakından tanıdığı bir teknoloji. Şu an laptoplarımızda bulunan wireless (IEEE 802.11) bağlantının daha yetenekli, kapsama alanı daha geniş ve daha hızlı olanı. Wimax'ın orijinal tanımı ise şu şekilde:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:78%;" &gt;&lt;a href="http://www.wimaxforum.org/technology"&gt;&lt;span style="font-weight: bold;"&gt;WiMAX Technology&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;WiMAX is a standards-based technology enabling the delivery of last mile wireless broadband access as an alternative to wired broadband like cable and DSL. WiMAX provides fixed , nomadic, portable and, soon, mobile wireless broadband connectivity without the need for direct line-of-sight with a base station. In a typical cell radius deployment of three to ten kilometers, WiMAX Forum Certified? systems can be expected to deliver capacity of up to 40 Mbps per channel, for fixed and portable access applications. This is enough bandwidth to simultaneously support hundreds of businesses with T-1 speed connectivity and thousands of residences with DSL speed connectivity. Mobile network deployments are expected to provide up to 15 Mbps of capacity within a typical cell radius deployment of up to three kilometers. It is expected that WiMAX technology will be incorporated in notebook computers and PDAs by 2007, allowing for urban areas and cities to become ?metro zones? for portable outdoor broadband wireless access.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Wimax'e yön veren, standartları belirleyen en önemli topluluklardan biri de Intel'in sponsorluğundaki &lt;a href="http://www.wimaxforum.org/about"&gt;Wimax Forum&lt;/a&gt;. Wimax Forum'un hedefleri web sitesinde şu şekilde sıralanmış:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:78%;" &gt;&lt;a href="http://www.wimaxforum.org/about"&gt;&lt;span style="font-weight: bold;"&gt;The WiMAX Forum's key objectives for 2006 are:&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;    * Promote and accelerate global WiMAX deployments&lt;br /&gt;    * Make WiMAX service the platform of choice and the worldwide market segment leader for broadband wireless&lt;br /&gt;    * Deliver a framework for a high performance end-to-end IP network architecture supporting fixed, portable, and mobile users&lt;br /&gt;    * Assure WiMAX Forum Certified products are trusted by Service Providers worldwide&lt;br /&gt;    * Develop WiMAX profiles based upon an IEEE 802.16 and ETSI interoperable client serving a global market&lt;br /&gt;    * Increase user demand by enabling competitive new applications and service models&lt;br /&gt;    * Promote a favorable IPR policy&lt;br /&gt;    * Deliver the framework for deployment of personal broadband on a global scale by leveraging the contributions of the majority of players within the ecosystem&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Wimax Forum'da Wimax ile ilgili her türlü teknik dokümanı bulabilirsiniz. Bir sonraki Wimax ile ilgili blogumda farklı açılardan Wimax'i inceleyip alternatif teknolojiler karşılaştırma yapmaya çalışacağım. Ama diyorsanız ki "&lt;span style="font-style: italic;"&gt;Wimax benim ilgimi çok çekti, senin bloglarını bekleyemiyeceğim&lt;/span&gt;"  o zaman size &lt;a href="http://www.wimaxforum.org/news/downloads/MobileWiMAX_PersonalBroadband.pdf"&gt;Mobile WiMAX: The Best Personal Broadband Experience!&lt;/a&gt; white paper'ini şiddetle tavsiye ederim.&lt;br /&gt;&lt;br /&gt;Saygılar&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-116604497525551235?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/116604497525551235/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=116604497525551235' title='1 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/116604497525551235'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/116604497525551235'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2006/12/wimax-open-standard-for-wireless.html' title='Wimax: An Open Standard for Wireless Broadband'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-116543914933631114</id><published>2006-12-06T22:28:00.000+02:00</published><updated>2006-12-06T23:05:49.676+02:00</updated><title type='text'>FreeTTS</title><content type='html'>&lt;span style="font-family: verdana;font-size:85%;" &gt;Türk Telekom'un sabit telefonlara sms gönderilebilmesi ile ilgili hizmetini deneme imkanı bulunca, yıllar önce kullandığım bir open-source uygulama aklıma geldi.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;font-size:78%;" &gt;&lt;span style="font-family: verdana;"&gt;&lt;a href="http://www.pressturk.com/detay.php?d=14432"&gt;&lt;span style="font-weight: bold;"&gt;Sabit Hatlardan da Kısa Mesaj Gönderilecek&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;Sabit telefonlara gönderilen kısa mesajları görebilmek için SMS uyumlu telefon cihazlarına sahip olmak gerekiyor. &lt;span style="font-weight: bold;"&gt;SMS uyumlu olmayan cihazlarda ise yazılı mesajlar, sesli mesaj olarak iletilebilecek.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: verdana;"&gt;Gerçekten de bugün gönderdiğim birkaç test mesajıyla, yazılı mesajların gayet başarılı bir şekilde sese dönüştüğüne şahit oldum. Yazıyı sese dönüştürme programı olarak ne kullanıyorlar bilmiyorum ama bir ara Koç topluluğuna bağlı GeVeZe diye bir şirket vardı bu işler ile uğraşan.&lt;br /&gt;&lt;br /&gt;Aslında yazıyı sese dönüştürmek çok zor bir teknloji değil:&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;span style="font-family: verdana;font-size:85%;" &gt;&lt;a href="http://freetts.sourceforge.net/"&gt;&lt;span style="font-style: italic;"&gt;FreeTTS 1.2&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: verdana; font-weight: normal; font-style: italic;font-size:85%;" &gt;FreeTTS is an open source speech &lt;a href="http://en.wikipedia.org/wiki/Synthesis" title="Synthesis"&gt;synthesis&lt;/a&gt; system written entirely in the &lt;a href="http://en.wikipedia.org/wiki/Java_programming_language" title="Java programming language"&gt;Java programming language&lt;/a&gt;. It is based upon &lt;a href="http://en.wikipedia.org/wiki/Flite" title="Flite"&gt;Flite&lt;/a&gt;&lt;/span&gt;&lt;span style="font-family: verdana; font-weight: normal; font-style: italic;font-size:85%;" &gt; . There is active development happening in the FreeTTS project.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:78%;" &gt;&lt;span style="font-family: verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: verdana;"&gt;FreeTTS Java API'sini kullanarak çok kısa sürede ingilizce metinleri sese dönüştürebilirsiniz. Sanırım esas türkçeyi merak ediyorsunuz. FreeTTS aslında her dile destek veriyor fakat öncelikle türkçe diline has özel ses dosyalarının oluşturulması gerekiyor.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: verdana; font-style: italic;font-size:78%;" &gt;&lt;b&gt;       How do I add support for a language other than English?&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-family: verdana; font-style: italic;font-size:85%;" &gt;&lt;span style="font-size:78%;"&gt;This is not a trivial task as it requires a lexicon for the language        as well as various statistical data about the language.  The document         &lt;a href="http://festvox.org/festvox/festvox_toc.html"&gt;        http://festvox.org/festvox/festvox_toc.html&lt;/a&gt; describes this        is more detail.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: verdana;"&gt;Tabii eğer şansınız varsa belki türkçe için gerekli altyapıyı önceden biri hazırlamıştır. Bunun için FreeTTS &lt;a href="https://sourceforge.net/forum/?group_id=42080"&gt;Forumlarına&lt;/a&gt; bir göz atmanız yeterli. Bence mutlaka bir deneyin, profesyonel olarak kullanma imkanı bulamazsanız dahi epey eğleneceksiniz :)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://freetts.sourceforge.net/"&gt;http://freetts.sourceforge.net/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-116543914933631114?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/116543914933631114/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=116543914933631114' title='2 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/116543914933631114'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/116543914933631114'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2006/12/freetts.html' title='FreeTTS'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-116516353944275564</id><published>2006-12-03T18:31:00.000+02:00</published><updated>2006-12-03T18:38:42.270+02:00</updated><title type='text'>JIRA 3.7 Beta 2</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;a href="http://www.atlassian.com/software/jira/"&gt;JIRA&lt;/a&gt; 'cıların en sevdiğim yönü lisanslı bir ürün geliştirmelerine rağmen sanki open-source geliştiriyormuş gibi çalışmaları. &lt;a href="http://www.atlassian.com/software/jira/"&gt;JIRA&lt;/a&gt; 'ya yeni özellikler eklerken son kullanıcıya o kadar çok kulak veriyorlar ki.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://confluence.atlassian.com/display/JIRA/JIRA+3.7+Beta+2+Release+Notes"&gt;JIRA 3.7 Beta 2&lt;/a&gt; versiyonunda çok çarpıcı yeni özellikler mevcut. Uzun süre JIRA adminliği yapmış birisi olarak 3.7 sürümü ile gelen 2 yeni özelliğinden özellikle bahsetmek istiyorum.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;* &lt;/span&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family:verdana;"&gt;&lt;a href="http://confluence.atlassian.com/display/JIRA/JIRA+3.7+Beta+2+Release+Notes#JIRA3.7Beta2ReleaseNotes-projectRoles"&gt;Project Roles&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;JIRA'yı eğer kurumsal bir şirkette kullanıyorsanız doğal olarak çok proje olacağından her bir proje için bir  sürü yönetimsel  konfigürasyon (groups, permissions, workflows, vs.) yapmak zorunda kalıyorsunuzdur. Bu yeni sürümde administration oldukça kolaylaşmış:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-style: italic;"&gt;Does your system currently contain multiple, project-specific groups? &lt;span style="font-weight: bold;"&gt;Once you upgrade to JIRA 3.7, your permission schemes and notification schemes can use project roles instead of groups.&lt;/span&gt; By implementing project roles, you may be able to greatly &lt;span style="font-weight: bold;"&gt;reduce the number of groups, permission schemes and notification schemes in your JIRA system.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family:verdana;"&gt;* &lt;a href="http://confluence.atlassian.com/display/JIRA/JIRA+3.7+Beta+2+Release+Notes#JIRA3.7Beta2ReleaseNotes-commitAcceptance"&gt;SVN Commit Acceptance plugin &lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Bildiğiniz gibi open-source dünyası çoğunlukla &lt;a href="http://en.wikipedia.org/wiki/Version_control_system"&gt;Source Code Management&lt;/a&gt; (SCM) aracı olarak &lt;a href="http://en.wikipedia.org/wiki/Concurrent_Versions_System"&gt;CVS&lt;/a&gt; 'in devamı olarak geliştirilen &lt;a href="http://en.wikipedia.org/wiki/Subversion"&gt;SVN&lt;/a&gt; (Subversion) kullanılıyor. JIRA'nın uzun zamandır zaten hemen hemen tüm SCM araçları ile entegre (&lt;a href="http://www.atlassian.com/software/jira/docs/latest/cvs_integration.html"&gt;CVS Integration&lt;/a&gt;, &lt;a href="http://confluence.atlassian.com/display/JIRAEXT/JIRA+ClearCase+Plugin"&gt;ClearCase Integration&lt;/a&gt;, vs.) çalışabiliyor fakat bu yeni sürüm ile SVN entegrasyonu bir adam öteye götürülmüş. Bu yeni özellik sayesinde SVN'e check-in'lenen kodlar JIRA üzerinden onaylanabiliyor:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-style: italic;"&gt;In some environments, developers like the idea that &lt;span style="font-weight: bold;"&gt;there must be a one-to-one correlation between issues and check-ins&lt;/span&gt;. The new SVN Commit Acceptance plugin gives JIRA the &lt;span style="font-weight: bold;"&gt;ability to approve or deny any check-in made to CVS or SVN&lt;/span&gt;. We've started by allowing administrators to check three of the most common uses:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    * &lt;span style="font-weight: bold;"&gt;Does this commit reference a valid issue key?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    * &lt;span style="font-weight: bold;"&gt;Is that issue open?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    * &lt;span style="font-weight: bold;"&gt;Does that issue belong to the committer?&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Normalde bu kontrol Sürüm Yönetimi tarafından manual olarak yapılır ve epey zahmetli bir iştir. Hele bir de çok sık sürüm çıkarıyorsanız.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Umarım şu an sadece SVN için olan bu yeni özellik, ClearCase ve StarTeam gibi kurumsal şirketlerde daha çok kullanılan diğer SCM araçlarına da uyarlanır.&lt;br /&gt;&lt;br /&gt;JIRA'dan bahsetmişken &lt;a href="http://almworks.com"&gt;www.almworks.com&lt;/a&gt; 'ün yakın zamanda off-line çalışabilen bir &lt;a href="http://almworks.com/news/jiraclient-beta-nov-06.html"&gt;beta JIRA Client sürümü&lt;/a&gt; çıkardığını da paylaşmakta fayda var.&lt;br /&gt;&lt;br /&gt;İyi hafta sonları...&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-116516353944275564?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/116516353944275564/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=116516353944275564' title='1 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/116516353944275564'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/116516353944275564'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2006/12/jira-37-beta-2.html' title='JIRA 3.7 Beta 2'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-116397112479010633</id><published>2006-11-19T21:17:00.000+02:00</published><updated>2006-11-19T23:36:03.683+02:00</updated><title type='text'>3G looking for a way out : X-Series</title><content type='html'>&lt;span style=";font-family:verdana;font-size:85%;"  &gt;&lt;span style="font-style: italic;"&gt;&lt;a href="http://www.mobilegazette.com/3-xseries-06x11x17.htm"&gt;3 X-Series: Flat Rate 3G&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;Hutchison Whampoa, owner of the 3 mobile network has announced their curiously named "X-Series". No, the &lt;span style="font-weight: bold;"&gt;X-Series&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;is not a phone, but it's a tariff&lt;/span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;What makes X-Series special is that (as far as we know) it's the first flate rate 3G call plan anywhere - &lt;span style="font-weight: bold;"&gt;subscribers pay a fixed monthly fee for access&lt;/span&gt; to pretty much anything they want. 3 say: "X-Series customers will only pay a flat access fee on top of their basic subscription and then what?s free to use on the internet should be free to use on mobile broadband (&lt;span style="font-weight: bold;"&gt;subject to fair usage &lt;/span&gt;and international roaming conditions, of course)"&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;3G sanırım artık ayakta kalmak için son hamlelerini deniyor. 3G'nin &lt;a href="http://mustafatan.blogspot.com/2006/10/3g-disappointment.html"&gt;başarısız olmasının en büyük nedeni&lt;/a&gt; maliyetiydi. Kullandıkça öde modeli, son kullanıcıya cazip gelmediği için 3G'ye yapılan yatırım operatörleri zor durumda bırakıyordu.&lt;br /&gt;&lt;br /&gt;Bu yüzden 3G üreticileri &lt;a href="http://xseries.three.com"&gt;X-Series&lt;/a&gt; ile Internet devlerini de (Google, Yahoo, Skype, ebay, vs.) arkalarına alarak cep telefonları üzerinden sabit fiyata sınırsız internet imkanı sunmaya karar vermişler:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:78%;" &gt;Initially, 3 have partnered up with a variety of internet content and service providers. Yes, we've seen &lt;span style="font-weight: bold;"&gt;Google&lt;/span&gt;, &lt;span style="font-weight: bold;"&gt;Yahoo&lt;/span&gt;, &lt;span style="font-weight: bold;"&gt;Microsoft&lt;/span&gt; (for Windows Live Messenger) and &lt;span style="font-weight: bold;"&gt;eBay&lt;/span&gt; before, and frankly these are the staple diets of most internet users. However two of the services are pretty novel for a mobile phone network - &lt;span style="font-weight: bold;"&gt;Skype&lt;/span&gt; and &lt;span style="font-weight: bold;"&gt;Slingbox&lt;/span&gt; support. Skype is pretty well known for its ultra-cheap or free internet telephony. But the Slingbox is something quite different - this allows you to stream media from your home to another device, so for example you could stream your digital TV signal from home to your mobile phone, so you can watch just about anything, anywhere. There are a number of other multimedia features too.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Fakat &lt;/span&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;şu an &lt;/span&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;X-Series uyumlu &lt;/span&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;sadece 2 cep telefonu modeli (&lt;a href="http://xseries.three.com/phones_nokia_overview.shtml"&gt;Nokia N73&lt;/a&gt; ve &lt;a href="http://xseries.three.com/phones_sony_overview.shtml"&gt;Sony Ericsson W950i&lt;/a&gt;) mevcut. Bu cep telefonları kullanılarak laptop'lara sınırsız internet erişimi kazandırmak da mümkün, lakin bağlantı hızı çok yüksek değil. (&lt;384kbps)&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-style: italic;"&gt;This is a bold move from 3, and it acknowledges the fact that the old style of charging per megabyte wasn't that attractive to customers - and indeed, most customers were just using their 3G phones for talking and texting, particularly on the 3 network which has offered very good value in order to build market share. Indeed, it's hard to see how other operators can continue to offer their current 3G data plans against a flat rate competition.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;a style="font-style: italic;" href="http://www.ntv.com.tr/news/389839.asp"&gt;3G'NİN ÖNÜ AÇIK AMA BİR ŞARTLA&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-family:verdana;" &gt;Ericsson araştırması, Türkiye'de henüz lisansı çıkmadığı için operatörlerin hazır olmasına karşın tüketiciye ulaşamayan 3G uygulamalarına karşı tüketicilerin istekli olduğunu ortaya koyuyor. Kullanıcıların yüzde 48'si video telefonu, yüzde 47'si cepten internet, yüzde 38'i mobil TV gibi uygulamalara talep beyan etti. Ancak, Kulabaş'ın altını çizdiği nokta ise &lt;span style="font-weight: bold;"&gt;tüketicilerin 3G uygulamasında kesinlikle tek fiyata limitsiz kullanımdan yana olduğu&lt;/span&gt;, zira katılımcıların yüzde 78'i tek sabit fiyat istiyor.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Benim merak ettiğim zararına yapılan bu promosyonun 3G balonunu ne kadar daha ayakta tutacağı:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-style: italic;"&gt;The problem is that mobile networks have paid &lt;span style="font-weight: bold;"&gt;billions for their licenses&lt;/span&gt;, and as yet have made precious &lt;span style="font-weight: bold;"&gt;little return on their investment&lt;/span&gt;. For example in the UK, the 5 3G operators shelled out a massive £22 billion for licenses in a country with around 45 million handsets. In order to recoup costs, operators will &lt;span style="font-weight: bold;"&gt;have to earn a whopping £500 per subscriber&lt;/span&gt;, and this doesn't seem to be happening.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-style: italic;"&gt;3 haven't said how much the X-Series call plan will cost, but they have said that it will be available from 1st December 2006 in the UK, then during 2007 in other Hutchison 3 territories.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Telekom dünyası da büyük bir değişime gebe demiştik ama açıkçası ben bile bu kadar erken beklemiyordum.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://mustafatan.blogspot.com/2006/11/professional-open-source.html"&gt;&lt;span style="font-style: italic;"&gt;Professional Open Source&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-style: italic;"&gt;Telekom sektörü bu aralar 3G vs. Wimax rekabetinin yarattığı etkiyle sessiz sedasız ama sancılı bir değişim yaşıyor. Aslında rekabet Kapalı ve Açık Sistemler arasında. Bu rekabette 3G Kapalı Sistemleri, Wimax ise Açık Sistemleri temsil ediyor. Özellikle 3G'nin bir çok ülkedeki ticari başarısızlığı ve beklentileri karşılayamaması rekabeti iyice kızıştırıyor.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Bakalım bu yakınlarda daha neler duyacağız...&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-116397112479010633?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/116397112479010633/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=116397112479010633' title='1 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/116397112479010633'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/116397112479010633'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2006/11/3g-looking-for-way-out-x-series.html' title='3G looking for a way out : X-Series'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-116385021291511793</id><published>2006-11-18T13:10:00.000+02:00</published><updated>2006-11-19T15:30:13.983+02:00</updated><title type='text'>Professional Open Source</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Aslında bu hafta sonu için farklı bir konuda blog yazmayı planlamıştım ama perşembe günü &lt;a href="http://mustafatan.blogspot.com/2006/08/omea-rss-reader.html"&gt;RSS Reader&lt;/a&gt; 'ima düşen aşağıdaki blogu okuyunca fikrim değişti.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;&lt;span style="font-family:verdana;"&gt;&lt;a href="http://www.osdir.com/Article9501.phtml"&gt;Nokia, Vienna to don Red Hat&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:verdana;font-size:78%;"  &gt;&lt;span style="font-style: italic;"&gt;Nokia plans to use Red Hat Enterprise &lt;span style="font-weight: bold;"&gt;Linux as its primary operating system for  carrier-grade telecommunications equipment&lt;/span&gt; through a partnership announced  Wednesday. &lt;span style="font-weight: bold;"&gt;Red Hat staff will be located at Nokia to provide consulting,  support, certification and training services&lt;/span&gt;, but terms of the deal weren't  disclosed.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;Nokia gibi bir telekom devinin alt yapısını bir Open Source firması olan Red Hat'a emanet etmesine bir çoğunuz şaşırmış olabilir. Bildiğiniz gibi geçen nisan ayında Red Hat JBoss'u 320 milyon dolara satın almıştı. Open Source dünyasını yakından takip edenler Red Hat'ın bu hareketine pek anlam verememişlerdi. Anlaşılan Red Hat büyük işlere hazırlık yapıyormuş.&lt;br /&gt;&lt;br /&gt;Telekom sektörü bu aralar &lt;a href="http://en.wikipedia.org/wiki/3G"&gt;3G&lt;/a&gt; vs. &lt;a href="http://en.wikipedia.org/wiki/Wimax"&gt;Wimax&lt;/a&gt; rekabetinin yarattığı etkiyle sessiz sedasız ama sancılı bir değişim yaşıyor. Aslında rekabet Kapalı ve Açık Sistemler arasında. Bu rekabette 3G Kapalı Sistemleri, Wimax ise Açık Sistemleri temsil ediyor. Özellikle 3G'nin &lt;a href="http://mustafatan.blogspot.com/2006/10/3g-disappointment.html"&gt;bir çok ülkedeki ticari başarısızlığı&lt;/a&gt; ve beklentileri karşılayamaması rekabeti iyice kızıştırıyor.&lt;br /&gt;&lt;br /&gt;Bu değişimin benzeri aslında yaklaşık 5 sene ilk evvel IT sektöründe, Open Source ile başladı ve hala da devam ediyor. Telekom sektöründeki bu değişim üzerinde konuşmadan evvel öncelikle IT dünyasındaki değişime bir göz atmak gerekiyor.&lt;br /&gt;&lt;br /&gt;Open Source hareketinin ve etrafındaki topluluğun gücü ilk başta birçok IT vendor'u tarafından görmezden gelindi veya küçük görüldü. IT vendor'ları Open Source'u 3-5 gencin evinde hobi olarak geliştirdiği, ticari sistemlerin production ortamlarında kesinlikle kullanılamayacak ve kendilerine rakip olamayacak uygulamalar olarak görüyordu. JBoss'un 2. numaralı adamı olarak kabul edilen Sacha Labourey bir blogunda bu görmezden gelişi şu şekilde tanımlıyor:&lt;br /&gt;&lt;a href="http://jboss.org/jbossBlog/blog/slabourey/2005/07/18/Open_Source_Positioning.txt"&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Open Source Positioning&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-style: italic;"&gt;The sixth category, the "&lt;span style="font-weight: bold;"&gt;in-denial&lt;/span&gt;", prefer not to see Open Source and will make sure to mention its existence as less as possible. When you speak about OSS to such a company representative, (s)he will usually stare at a virtual spot on the ceiling and start whistling a well-known song. Like for the second category ("mixed-codebase"), I also see this category as a transition stage. Abuse of that stage usually leads to stage five ("head-less chicken").&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Halbuki Open Source başlangıçta amatör bir hobi olarak başladıysa bile zamanda içinde &lt;a href="http://www.apache.org/"&gt;www.apache.org&lt;/a&gt; , &lt;a href="www.jboss.org"&gt;www.jboss.org&lt;/a&gt; , &lt;a href="http://www.objectweb.org/"&gt;www.objectweb.org&lt;/a&gt;, &lt;a href="http://www.opensymphony.com/"&gt;www.opensymphony.com&lt;/a&gt;, &lt;a href="http://codehaus.org/"&gt;www.codehaus.org&lt;/a&gt; gibi toplulukların öncülüğünde profesyonel ve ciddi bir iş haline dönüştü.&lt;br /&gt;&lt;br /&gt;Professional Open Source diye adlandırılan bu yeni yazılım ve iş geliştirme metodolojisinin öncülerinden olan JBoss'un kurucusu Marc Fluery de bir blogunda Professional Open Source'u şöyle açıklıyor:&lt;br /&gt;&lt;br /&gt;&lt;a style="font-style: italic;" href="http://jboss.org/jbossBlog/blog/mfleury/2005/07/11/From_Volunteer_Open_Source_to_Professional_Open_Source.txt"&gt;From Volunteer Open Source to Professional Open Source&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:78%;" &gt;Something that some people don't know about Jboss is that &lt;span style="font-weight: bold;"&gt;we ALL STARTED AS VOLUNTEERS&lt;/span&gt;. Some people wrongly assume we started as a company that embraced FOSS (Free &amp; Open Source Software) for marketing purposes. While the marketing is great make no mistakes. &lt;span style="font-weight: bold;"&gt;We DO NOT HIRE someone that has not started as a volunteer&lt;/span&gt;. I and ALL of the JBoss developers came out of the volunteer open source community.&lt;br /&gt;...&lt;br /&gt;Also the reality of Enterprise IT FOSS software is that &lt;span style="font-weight: bold;"&gt;most of the core development is done by a handful of people, the top 5% of the development ranks&lt;/span&gt;. I ***LOVE*** THESE PEOPLE, I WANT THESE PEOPLE TO GET FULL TIME COMPENSATION AND A NICE UPSIDE AS WELL. They need to be full-time paid professionals, these are the guys we hire at JBoss. They may work for a Professional Open Source company like JBoss or MySQL, first-generation OS packager like Red Hat, or their work may be subsidized by academia, governments or corporations in the loss-leader open source model practiced by companies like IBM, but the point is that &lt;span style="font-weight: bold;"&gt;somebody is paying the bills; there is no free lunch&lt;/span&gt;. Romantic myth perpetrating the contrary (FREE DEVELOPERS!) are disgusting to me, which is why I come across as strongly as I do. &lt;span style="font-weight: bold;"&gt;OUR MODEL AT JBOSS IS THAT THE BEST VOLUNTEERS BECOME FULL TIME EMPLOYEES HERE&lt;/span&gt;, which is why Jboss looks like it is developed by Jboss employees, a great contributor will become a Jboss employee with stock options and the whole nine yards.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Marc Fluery'nin de blog'unda belirttiği gibi Professional Open Source gücünü dünyanın en iyi gönüllü developer orudusundan alıyor ve ayrıca bu işi hayır amaçlı yapmıyorlar. Marc Fluery gönüllüler ordusundan başka bir blog'unda şu şekilde bahsetmiş:&lt;br /&gt;&lt;br /&gt;&lt;a style="font-style: italic;" href="http://jboss.org/jbossBlog/blog/bbickel/2005/07/11/Will_Professional_Open_Source_become_dominant_in_Middleware.txt"&gt;Will Professional Open Source become dominant in Middleware?&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;ul  style="font-style: italic;font-family:verdana;"&gt;&lt;li&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-weight: bold;"&gt;JBoss Employee Contributions.&lt;/span&gt; Of course the company has done well, so many former contributors to the projects now &lt;span style="font-weight: bold;"&gt;have real, paying jobs that allow them to develop on a full time basis for JBoss&lt;/span&gt;, Inc. This of course is the core of the company - people moving from contributors to making their living from this business. This is a lot of people writing free software for the rest of the community.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-weight: bold;"&gt;Over 400,000 Developers now use JBoss.&lt;/span&gt; They contribute in many ways - from &lt;span style="font-weight: bold;"&gt;testing and finding bugs&lt;/span&gt; to creating added value components on top of JBoss.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-weight: bold;"&gt;Over 5,000 Forum Contributors&lt;/span&gt; help each other to find the best way to use JBoss and come up with &lt;span style="font-weight: bold;"&gt;new and interesting ideas&lt;/span&gt; on how to improve the software.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-weight: bold;"&gt;Over 500 Developer Contributors&lt;/span&gt; are signed up to participate in our developer forum and email list. Over time nearly &lt;span style="font-weight: bold;"&gt;1,000 people have contributed &lt;/span&gt;code to the JBoss code base. Some are &lt;span style="font-weight: bold;"&gt;simple bug fixes&lt;/span&gt;, some are &lt;span style="font-weight: bold;"&gt;major pieces of functionality&lt;/span&gt;, some are &lt;span style="font-weight: bold;"&gt;great ideas&lt;/span&gt; for the next version, or even good ideas on what new projects JBoss should be creating.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Eğer vaktiniz varsa yukarıda alıntı yaptığım blogların tamamını okumanızı öneririm. Professional Open Source'u daha iyi anlamak için önemli mesajlar içeriyorlar.&lt;br /&gt;&lt;br /&gt;IT dünyasındaki Professional Open Source'un yarattığı bu değişim zaman içinde istemeye istemeye de olsa IT vendor'ları tarafından kabul gördü ve Oracle, IBM gibi büyük vendor'lar gönülsüz gönüllü open-source'a destek vermeye başladılar. Geçenlerde SUN'ın Java'yı da open-source yapacağını duyurması (&lt;a href="http://www.jboss.com/elqNow/elqRedir.htm?ref=http://jboss.org/jbossBlog/blog/slabourey/?permalink=FOSS+Java%2C+Finally%21.txt"&gt;FOSS Java, Finally!&lt;/a&gt;) IT dünyasındaki open source değişiminin sonuna gelindiğinin ayak sesleri gibiydi.&lt;br /&gt;&lt;br /&gt;Bir sonraki blog'umda IT dünyasında yaşanan bu gelişmelerin önümüzdeki yıllarda Telekom dünyasını nasıl etkileyeceğinden bahsedeceğim.&lt;br /&gt;&lt;br /&gt;İyi hafta sonları...&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-116385021291511793?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/116385021291511793/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=116385021291511793' title='1 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/116385021291511793'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/116385021291511793'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2006/11/professional-open-source.html' title='Professional Open Source'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-116384133570040800</id><published>2006-11-18T10:58:00.000+02:00</published><updated>2006-11-18T11:19:31.586+02:00</updated><title type='text'>Log4A (Log for Admins)</title><content type='html'>&lt;span style=";font-family:verdana;font-size:85%;"  &gt;Hepimizin bildiği gibi test ve production ortamlarında bir hata alındığında, bu hatanın esas kaynağını tespit etmek epey vakit alan bir işlemdir. Eğer hata bir de kritik bir süreci durduruyorsa, bir sürü insan seferber edilmek zorunda kalınır. Hataların kaynağının tespitinin zor olmasının başlıca nedenlerinden biri de Java'da exception durumunda yapılan loglamanın System Admin'ler düşünerek yapılmıyor olmasıdır.&lt;br /&gt;&lt;br /&gt;Bir Developer olarak eğer daha evvel Application veya Database Adminliği yapmadıysanız, kodlarınız içinde yapacağınız loglama daha çok development amaçlı olacaktır. Halbuki test ve production ortamlarında ihtiyaç duyulan loglama çok farklıdır. Log4j kullanıyor dahi olsalar eğer loglama yaparken kendini Admin yerine koyabilenler çok daha yararlı loglar yazdırdığınızı fark edeceklerdir.&lt;br /&gt;&lt;br /&gt;Peki bir Developer kodlama yaparken kendini Admin yerine nasıl koyar. Öncelikle local'inizde development yaparken, sorunun nerden kaynaklandığını bir bakışta anlayamadığınız bir hata almayı bekleyin. Bu hatayı aldığınızda normalde ilk olarak yaptığınız şey debug etmek olacaktır. İşte bu noktada kesinlikle debug yapmayın, unutmayın kendinizi Admin yerine koydunuz, production ortamında debug imkanı yok. Şimdi debug yapmadan mevcut loglara bakarak hatanızı bulmaya çalışın, yarım saat geçtikten sonra hala bulamadıysanız, bir de akşam saatleri ise artık kesin Admin gibi hissetmeye başlamış olmanız lazım. Bu kadar duygu sömürüsü yaptıktan sonra isterseniz Log4A örneklerine geçelim ve hangi durumlardaki loglamaların önemli olduğuna bir bakalım.&lt;br /&gt;&lt;br /&gt;Test ve production ortamlarındaki hataların yaklaşık %75'i entegrasyon hatalarından oluşur. Özellikle bir çok katmanın bulunduğu mimarilerde bu tip entegrasyon hataları daha çok olur. Bu tip hataların en çok çıktığı durumları özetlersek:&lt;br /&gt;&lt;/span&gt;&lt;ol&gt;&lt;li&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;Database Connection (JDBC Connection)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;File System Access (file read, write)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;Classpath Access (Configuration file, class loading, etc.)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;Remote Application Server Access (RMI, Remote EJB Call, etc.)&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;Yukarıdaki özetlediğimiz şekilde, kod içerisinde uygulamanızın dışındaki bir ortama erişimde bir hata alındığında aşağıdaki örneklerdeki gibi loglama yapmanız çok faydalı olacaktır. Öncelikle bir tane loglama yapılmış ama Log4A kullanılmamış bir kod örneğine bakalım. Aşağıdaki kod parçasında sql query'sindeki tablonun production ortamına atılmamış olduğunu varsayalım:&lt;br /&gt;&lt;br /&gt;public static String getCustomerName(String customerID){&lt;br /&gt;&lt;br /&gt; String customerName="";&lt;br /&gt; try {&lt;br /&gt;      Class.forName("oracle.jdbc.driver.OracleDriver");&lt;br /&gt;      Connection connection = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:TEST", USERNAME, PASSWORD);&lt;br /&gt;      String query = "SELECT * from CUSTOMER_INFO where CUSTOMER_ID="+customerID;&lt;br /&gt;      Statement stmt = connection.createStatement();&lt;br /&gt;      ResultSet rs = stmt.executeQuery(query);&lt;br /&gt;      while (rs.next()) {&lt;br /&gt;           customerName  = rs.getString("CUSTOMER_NAME");&lt;br /&gt;      }&lt;br /&gt;      connection.close();&lt;br /&gt;  } catch (Exception e) {&lt;br /&gt;      logger.error(e);&lt;br /&gt;      e.printStackTrace();&lt;br /&gt;  }&lt;br /&gt;return customerName;           &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Bu kodu çalıştırdığımızda şu şekilde bir hata alıyoruz.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;java.sql.SQLException: ORA-00942: tablo veya görüntü mevcut degil&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Gördüğünüz gibi Admin olarak tablonun hangisi olduğunu, hangi veritabanında olduğunu bilmemiz mümkün değil. Saolsun Oracle da tablo adını vermediği için elimiz ayağımız bağlı. Developer'a ulaşıp yardım almaktan başka çaremiz yok. Stacktrace'ten koda bakıp tabloyu tespit etmeye de çalışabiliriz ama aynı metod içinde birden fazla sql de olduğu durumlar olabilir. Bunun yerine aşağıdaki şekilde Log4A yaparsak Admin'lerin hatanın kaynağını hemen tespit edebilir:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;public static String getCustomerName(String customerID){&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;  &lt;span style="font-weight: bold;"&gt;String query = "";&lt;/span&gt;&lt;br /&gt; &lt;span style="font-weight: bold;"&gt;String dbUrl = "";&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;  String customerName="";&lt;br /&gt; try {&lt;br /&gt;      Class.forName("oracle.jdbc.driver.OracleDriver");&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;       dbUrl = "jdbc:oracle:thin:@localhost:1521:TEST";&lt;br /&gt;      Connection connection = DriverManager.getConnection(dbUrl, USERNAME, PASSWORD);&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;        String query = "SELECT * from CUSTOMER_INFO where CUSTOMER_ID="+customerID;&lt;br /&gt;      Statement stmt = connection.createStatement();&lt;br /&gt;      ResultSet rs = stmt.executeQuery(query);&lt;br /&gt;      while (rs.next()) {&lt;br /&gt;           customerName  = rs.getString("CUSTOMER_NAME");&lt;br /&gt;      }&lt;br /&gt;      connection.close();&lt;br /&gt;  } catch (Exception e) {&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;       logger.error("query= "+query); //Log4A&lt;br /&gt;      logger.error("dbUrl= "+dbUrl); //Log4A&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;        logger.error(e);&lt;br /&gt;      e.printStackTrace();&lt;br /&gt;  }&lt;br /&gt;return customerName;           &lt;br /&gt;}  &lt;/span&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;&lt;br /&gt;&lt;br /&gt;Bu kodu çalıştırdığımızda ise şu şekilde çok daha açıklayıcı bir hata alıyoruz:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;query= SELECT * from CUSTOMER_INFO where CUSTOMER_ID=12345678&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;dbUrl= jdbc:oracle:thin:@localhost:1521:TEST&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;java.sql.SQLException: ORA-00942: tablo veya görüntü mevcut degil&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Gördüğünüz gibi hatanın hangi veritabanında, hangi tabloda olduğu apaçık belli. Bu sayede hatanın sebebini tespit etmek artık çok daha kolay. Bizim örneğimizde parametre olarak &lt;/span&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;connection url vardı &lt;/span&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;, EJB uygulamalarında bu parametre DataSource olabilir, sql yerine store procedure olabilir. Benzer örnekleri aynı mantıkla çoğaltabiliriz ama sanırım gerek yok.&lt;br /&gt;&lt;br /&gt;Özetle bir hata alındığında hataya sebep olabilecek kritik parametrelerin try bloğundan önce initiliaze edilip, exception bloğunda loglanmasına Log4A diyoruz. Bu sayede Adminler test ortamlarında günlerce, production ortamlarında saatlerce hataların sebeplerini aramak zorunda kalmazlar.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-116384133570040800?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/116384133570040800/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=116384133570040800' title='1 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/116384133570040800'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/116384133570040800'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2006/11/log4a-log-for-admins.html' title='Log4A (Log for Admins)'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-116353750330982956</id><published>2006-11-14T22:34:00.000+02:00</published><updated>2006-11-14T22:54:30.366+02:00</updated><title type='text'>Evolved EDGE</title><content type='html'>&lt;span style="font-family: verdana;font-size:85%;" &gt;3G'ye henüz geçmemiş operatörler, &lt;/span&gt;&lt;span style="font-family: verdana;font-size:85%;" &gt;Evolved EDGE ile ilgili haberleri okuyunca herhalde ucuz kurtulduklarının farkındadırlar. Eğer 3G'ye dünya kadar yatırım yapmış bir operatör olsaydım, 3G teknolojisini satan firmanın yakasına yapışır "Madem mevcut 2G altyapısı ve lisansı ile 3G'nin sağladığı veri hızı sağlanabiliyordu niye bize sattınız bu gereksiz teknolojiyi" diye sorardım.&lt;br /&gt;&lt;br /&gt;&lt;a style="font-style: italic;" href="http://www.3g.co.uk/PR/Nov2006/3897.htm"&gt;Evolved EDGE is Emerging as an Attractive Alternative to 3G&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic; font-family: verdana;font-family:Arial,Helvetica,sans-serif;font-size:85%;"  &gt;According to a new Research Brief from ABI Research, GSM operators              are increasingly focused on Evolved EDGE as a viable alternative to              3G network upgrades in 2008 and beyond, following the forthcoming              release of a new 3GPP standard. With spectral efficiency similar to              HSDPA and 1xEV-DO, Evolved EDGE promises to deliver data rates equivalent              to 3G while utilizing existing GSM spectrum licenses.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic; font-family: verdana;font-family:Arial,Helvetica,sans-serif;font-size:85%;"  &gt;"The radio              spectrum can be used more efficiently to provide data service continuity              between GSM and W-CDMA," notes Cox. "Evolved EDGE, which              uses the same spectrum as GSM and EDGE, will allow broadband data              speeds to be supported across the network."&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-116353750330982956?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/116353750330982956/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=116353750330982956' title='1 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/116353750330982956'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/116353750330982956'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2006/11/evolved-edge.html' title='Evolved EDGE'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-116333738140344996</id><published>2006-11-12T15:00:00.000+02:00</published><updated>2006-11-12T16:44:33.793+02:00</updated><title type='text'>TinyMCE: What You See Is What You Get</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Son yıllarda Wiki ve Blog sitelerinin artmaya başlamasıyla son kullanıcının html ekranlarını kullanarak rich format diye tabir edilen Word tadında veri girişi ihtiyacı ortaya çıktı. Normalde bir html ekranına koyacağınız TextArea işinizi görse de, kullanıcı girdiği metini formatlayamadığı için çok kullanışlı olmuyordu.&lt;br /&gt;&lt;br /&gt;Bunun yerine genelde kullanıcılar formatlanmış metnini Word'de yazıp uygulamaya attach ediyordu. Tabii ki Word dokümanı içerisindeki metinde arama yapmak, düzeltme yapmak, vs. büyük sorun oluyordu.&lt;br /&gt;&lt;br /&gt;Son yıllarda JavaScript teknolojisinin gelişmesiyle Javascript HTML WYSIWYG diye adlandırılan editörler gelişmeye başladı. İşte bu yazının konusu bu editörlerin en meşhuru &lt;a href="http://tinymce.moxiecode.com/"&gt;TinyMCE&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;a href="http://tinymce.moxiecode.com/"&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;TinyMCE Features&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Easy to integrate, takes only two lines of code.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Customizable through themes and plugins.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Customizable XHTML 1.0 output. Block invalid elements and force attributes.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;International language support (Language packs)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Multiple browser support, Mozilla, MSIE, FireFox, Opera and Safari (experimental).&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;PHP/.NET/JSP/Coldfusion GZip compressor, Makes TinyMCE 75% smaller and a lot faster to load.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Open-source&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Eğer herhangi bir download yapmadan neymiş bu &lt;a href="http://tinymce.moxiecode.com/"&gt;TinyMCE&lt;/a&gt;, bir görelim diyorsanız &lt;a href="http://tinymce.moxiecode.com/example_full.php?example=true"&gt;&lt;span style="font-weight: bold;"&gt;Full featured example&lt;/span&gt;&lt;/a&gt; sayfasına tıklayıp &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;a href="http://tinymce.moxiecode.com/"&gt;TinyMCE&lt;/a&gt; ile neler yapabileceğinizi hemen görebilirsiniz.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.atlassian.com/software/confluence/"&gt;Confluence&lt;/a&gt; , &lt;a href="http://www.blogger.com"&gt;Blogger&lt;/a&gt; , &lt;a href="http://www.xwiki.org/"&gt;XWiki&lt;/a&gt; gibi meşhur wiki/blog uygulamaları da editor olarak &lt;a href="http://tinymce.moxiecode.com/"&gt;TinyMCE&lt;/a&gt; kullanıyor. Örneğin şu an okumakta olduğunuz yazıyı da &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;a href="http://www.blogger.com"&gt;Blogger&lt;/a&gt; 'ın TinyMCE editöründe yazıyorum. &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt; Bazılarınızın aklına hemen "&lt;span style="font-style: italic;"&gt;Google'ın Gmail'i de editör olarak TinyMCE mi kullanıyor&lt;/span&gt;?" sorusu gelebilir. Sorunuzun cevabı hayır. Google genelde bu tip uygulamaları kendi geliştiriyor çünkü kendine has bir çok özelleştirmeler yapıyor.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;a href="http://tinymce.moxiecode.com/"&gt;TinyMCE&lt;/a&gt; 'yi wiki/blog haricindeki uygulamalarınızda özellikle son kullanıcılardan feedback almak için kullandığınız Şikayet, Öneri, Raporlama, vs. gibi ekranlarınızda kullanabilirsiniz.&lt;br /&gt;&lt;br /&gt;Detaylı bilgi için: &lt;a href="http://tinymce.moxiecode.com/"&gt;http://tinymce.moxiecode.com/&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32009241-116333738140344996?l=mustafatan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mustafatan.blogspot.com/feeds/116333738140344996/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32009241&amp;postID=116333738140344996' title='1 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/116333738140344996'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32009241/posts/default/116333738140344996'/><link rel='alternate' type='text/html' href='http://mustafatan.blogspot.com/2006/11/tinymce-what-you-see-is-what-you-get.html' title='TinyMCE: What You See Is What You Get'/><author><name>Mustafa Tan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_LrmmdzKl3hc/SN9jJMFGI0I/AAAAAAAABGQ/t5TD335oXjA/S220/mustafa.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32009241.post-116325349472336568</id><published>2006-11-11T15:58:00.000+02:00</published><updated>2007-02-23T13:40:43.815+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='webservis'/><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='SOAP'/><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><title type='text'>XML: The Performance Killer</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Bu yazımın esas amacı aslında Java uygulamarında XML kullanmanın getirdiği maliyetleri ve &lt;a href="http://www.sosnoski.com/"&gt;Dennis Sosnoski&lt;/a&gt; amcamızın meşhur XML Model Benchmark Test'lerini tanıtmak.&lt;br /&gt;&lt;br /&gt;XML teknolojisi yazılım dünyasının işlerini bir çok noktada kolaylaştıran ama bir o kadar da zorlaştıran bir teknoloji. Özellikle Java ile uygulama geliştiriyorsanız XML'den olabildiğince uzak durmak gerekiyor. XML parsing &amp; generating operasyonları sırasında çok fazla String işlemi olduğu için JVM memory ve CPU kullanımı korkunç artıyor. XML'e &lt;span style="font-style: italic; font-weight: bold;"&gt;performance killer&lt;/span&gt; diye boşu boşuna dememişler.&lt;br /&gt;&lt;br /&gt;XML'in &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;performance killer&lt;/span&gt; 'dan nasıl &lt;span style="font-weight: bold; font-style: italic;"&gt;project killer&lt;/span&gt; 'a dönüşebileceğine bakmadan evvel &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;öncelikle neden uygulamalarımızda XML kullanmak zorunda kaldığımıza bir bakalım.&lt;br /&gt;&lt;br /&gt;XML kullanımı, &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;özellikle Java dünyasında &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt; Web Service'lerin yaygınlaşması ile artmaya başladı. Web Service kullanımını arttıran da hepimizin yakından bildiği &lt;a href="http://en.wikipedia.org/wiki/Service-oriented_architecture"&gt;SOA&lt;/a&gt; (Service Oriented Architecture) oldu. 2000'li yılların başında &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;a href="http://en.wikipedia.org/wiki/Service-oriented_architecture"&gt;SOA'&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;nın moda olmaya başlamasıyla, dünyaca ünlü vendor'larımız her zaman yaptık
