<?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-13440809</id><updated>2011-12-30T00:00:25.394+02:00</updated><category term='debug'/><category term='web servis'/><category term='Adobe Flex'/><category term='JBoss'/><category term='JVM'/><category term='Java Print API'/><category term='hata'/><category term='java'/><category term='C'/><category term='matris'/><category term='XML'/><category term='JRE'/><category term='for each'/><category term='tomcat'/><category term='open source'/><category term='jaas'/><category term='NEY'/><category term='netbeans'/><category term='JavaFX'/><category term='C++'/><category term='açık kaynak'/><category term='güvenlik'/><category term='archive'/><category term='uygulama sunucusu'/><category term='MyEclipse'/><category term='iterator'/><category term='Graphics'/><category term='ejb'/><category term='JCataloger'/><category term='jpa'/><category term='Eclipse'/><category term='pattern'/><category term='index'/><category term='exception'/><category term='Konferans'/><category term='nota'/><category term='JSF'/><category term='sıkıştırma'/><category term='catalog'/><category term='zip'/><category term='PARDUS'/><category term='anı'/><category term='Yansımalar'/><title type='text'>SeKoBeY's Blog</title><subtitle type='html'>Paylaşım ve unutmamak için...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>90</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-13440809.post-6428933485499286300</id><published>2011-09-08T08:45:00.000+03:00</published><updated>2011-09-08T08:45:45.197+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='hata'/><category scheme='http://www.blogger.com/atom/ns#' term='JBoss'/><title type='text'>JBOSS 6'da "Adding multiple last resources is disallowed" hatası</title><content type='html'>EJB'nizde bir transaction içerisinde birden fazla JPA entity manager kullanarak işlemlerinizi gerçekleştirmek istediniz. JBOSS 6 kullanıyorum. Hiç bir ayar yapmadan bunu denediğinizde aşağıdaki gibi bir hata alabilirsiniz:&lt;br /&gt;&lt;br /&gt;&lt;div style="color: #990000; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;ARJUNA-12140 Adding multiple last resources is disallowed. &lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;...&lt;/div&gt;&lt;span style="color: #990000; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Could not enlist in transaction on entering meta-aware object!; - nested throwable: (javax.transaction.SystemException: java.lang.Throwable: Unabled to enlist resource, see the previous warnings. tx=TransactionImple &amp;lt; ac, BasicAction: 0:ffff0acc0a36:12ce:4e6754eb:142 status: ActionStatus.ABORT_ONLY &amp;gt;); - nested throwable: (org.jboss.resource.JBossResourceException: Could not enlist in transaction on entering meta-aware object!; - nested throwable: (javax.transaction.SystemException: java.lang.Throwable: Unabled to enlist resource, see the previous warnings. tx=TransactionImple &amp;lt; ac, BasicAction: 0:ffff0acc0a36:12ce:4e6754eb:142 status: ActionStatus.ABORT_ONLY &amp;gt;))&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;JBOSS 6'da varsayılan ayarlar olarak bir transaction'da tek datasource kullanabiliyorsunuz. Bu nedenle two phase commit gereken işlemleri yapamıyorsunuz. Bunu yapabilmek için deploy dizini altındaki transaction-jboss-beans.xml dosyasını açınız ve aşağıdaki değişikliği yapınız.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;lt;bean name="CoreEnvironmentBean" class="com.arjuna.ats.arjuna.common.CoreEnvironmentBean"&amp;gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp; ...&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #990000;"&gt;&amp;lt;property name="allowMultipleLastResources"&amp;gt;true&amp;lt;/property&amp;gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp; ...&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;lt;/bean&amp;gt;&lt;/div&gt;&lt;br /&gt;Bunu yapınca uygulamanızı çalıştırdığınızda konsolde aşağıdaki bir warning alabilirsiniz:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;WARN&amp;nbsp; [com.arjuna.ats.arjuna] ARJUNA-12141 Multiple last resources have been added to the current transaction. This is transactionally unsafe and should not be relied upon. Current resource is com.arjuna.ats.internal.arjuna.abstractrecords.LastResourceRecord@63a188&lt;br /&gt;&lt;br /&gt;Bunun nedeni jboss datasource xml'inizde kullandığınız datasource tipi local datasource olmasıdır. Bunun yerine two phase commit imkanı sağlayan xa datasource kullanınız. &lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-6428933485499286300?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/6428933485499286300/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=6428933485499286300&amp;isPopup=true' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/6428933485499286300'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/6428933485499286300'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2011/09/jboss-6da-adding-multiple-last.html' title='JBOSS 6&apos;da &quot;Adding multiple last resources is disallowed&quot; hatası'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total><georss:featurename>Türkiye</georss:featurename><georss:point>40.75141843299745 28.201904296875</georss:point><georss:box>40.36797793299745 27.570190296875 41.134858932997446 28.833618296875</georss:box></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-987351589922949922</id><published>2010-10-06T23:44:00.004+03:00</published><updated>2010-10-06T23:57:47.882+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='NEY'/><title type='text'>Gönüllerin Feryadı "Ney"</title><content type='html'>Ney sazı ile maceram devam ediyor. Saz üzerindeki çalışmalarım yaklaşık 3 seneyi buldu. İnsan sevdiği şeyler üzerine emek harcıyor gerçekten. Ney benim için rastgele bir uğraş olmadı, devamı geldi, Ney ile ilgili ney yapım ustalarının ve hocalarımın yardımları ile farklı bilgiler edindim. Sanki benden bir parça haline geldi diyebilirim. Sıkıldığımda, neşelendiğimde, bunaldığımda yada hüzünlendiğimde destekçim olan yegane unsurlardan birisi oldu. Abartmıyorum eğer evde olursam:) elimden bırakamıyorum diyebilirim.&lt;br /&gt;Geçenlerde iş arkadaşlarımdan Asım'ın teklifi üzerine kurumumuzun dergisinde neyzen arkadaşım Elif ile birlikte bir yazı hazırladık. Çeşitli kaynaklardan bilgileri derleyerek ve kendi tecrübelerimizi de katarak bu yazıyı oluşturduk. Aşağıda bağlantısı mevcut. Yazı derginin son sayfalarında yer almaktadır:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.uekae.tubitak.gov.tr/uekae_content_files/flash/UEKAE_dergi_sayfa_flash/sayi_3/Default.html"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 121px; height: 156px;" src="http://uekae.tubitak.gov.tr/uekae_content_images/UEKAE_Dergi_kpk_250_sayi3.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/13440809-987351589922949922?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/987351589922949922/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=987351589922949922&amp;isPopup=true' title='1 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/987351589922949922'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/987351589922949922'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2010/10/gonullerin-feryad-ney.html' title='Gönüllerin Feryadı &quot;Ney&quot;'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-6786120742709145749</id><published>2010-02-02T19:55:00.003+02:00</published><updated>2010-02-02T20:19:44.702+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='netbeans'/><title type='text'>Süper Netbeans Woodstock Hatası!!!</title><content type='html'>Bildiğiniz gibi &lt;a href="http://netbeans.org/"&gt;Netbeans&lt;/a&gt; görsel web uygulamaları geliştirmek için &lt;a href="http://www.icefaces.org/main/home/"&gt;ICE Faces&lt;/a&gt; mimari çatısını tercih etti. Woodstock'ı geride bıraktı. Çok yerinde, çok mantıklı bir karar. Projemizde bir web uygulamasında Netbeans 6.0 kullandım. Doğal olarak Woodstock ile uygulamayı geliştirdim. Netbeans'in yavaşlıkları zaten deli ediyordu, woodstock'ın da o diktatör, esnek olmayan yapısı iyice deli etti kodun bakımını yaparken. Neyse bugün uygulamayı bir gözden geçireyim dedim. Bir sayfada "Calendar" bileşenini kullanmıştım. Daha düne kadar yani Ocak ayında çok güzel çalışıyordu bu bileşen. Fakat Şubat ayına geçince bileşen sapıttı. Bileşene tıklayınca o her zamanki date picker açılır penceresini göreceğimi ümit ederken hiç bir tepki alamamam ilk önce bir afallamama sebep oldu. Sonra bir kaç kez daha tıkladım, sanki bir şey olacakmış gibi, ve yine bir şey olmadı. Sonra bir baktım ki javascript hatası vermiş bileşenimiz. "this.lastRow has no properties" yada "this.lastRow is null" şeklinde. Sonra düşündüm bu geçen hafta, yani Ocak'ın son haftası, düzgün çalışıyordu. Ne oldu birdenbire. Sonra sistem tarihini Ocak ayına çektim. Bir de ne göreyim, çalıştı. Tarihi Mart ayına çektim, yine çalıştı. Ama tarihi Şubat'a çekince, sapıttı. Muhtemelen geliştiriciler Şubat ayının hususiyetini unutmuş, Şubat 28 çeker hemşerim. Neyse sonra google amcama bir sorayım dedim bu durumu. O da bana şu linki verdi:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://forums.sun.com/thread.jspa?threadID=5364580"&gt;http://forums.sun.com/thread.jspa?threadID=5364580&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Birisi daha karşılaşmış olacak ki hemen nasıl çözeriz diye soru sormuş, hem de geçen sene şubat ayında sormuş bu soruyu. Neyse ben hiç çözümünü sormayacağım, zaten adamlar Woodstock'ın pabucunu dama atmışlar. Sağlık olsun, ne diyelim...&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-6786120742709145749?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/6786120742709145749/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=6786120742709145749&amp;isPopup=true' title='3 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/6786120742709145749'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/6786120742709145749'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2010/02/super-netbeans-woodstock-hatas.html' title='Süper Netbeans Woodstock Hatası!!!'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-7320369246136949400</id><published>2009-06-30T09:27:00.004+03:00</published><updated>2009-06-30T09:39:26.371+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jpa'/><title type='text'>JPA'da Bir Problem mi Var?</title><content type='html'>Çalıştığım projede EJB 3.0 ve JPA'yı kullanmaktayız. Uygulama sunucusu olarak JBoss 4.2.3 GA kullanıyoruz. Bu sabah bir native query yüzünden 1 saat oyalandım durdum. Query native yazıldı çünkü karmaşık bir query idi. JPA API'sindeki createNativeQuery metodu kullanıldı. Sorun şu: query'de çekilen kolonlara isim vermeyince otomatik olarak kolon ismi atanıyor. Bunu da çekilen alanın ismine göre yapıyor. Örneğin; "... d.id, p.id ..." şeklinde kolonlar varsa sonuç listesinde "ID, ID " şeklinde bir görüntü oluşuyor. Bu durumda da normalde d.id değeri 120, p.id değeri 130 ise ikisi de 120 geliyor. Daha sonra query'i "... d.id AS ID1, p.id AS ID2 ..." şeklinde değiştirince sorun gözükmüyor. JPA kolon isimlerinden dolayı bir karmaşaya düşüyor galiba. Çözüm bulmak sevindirici fakat böyle bir saçmalıktan dolayı 1 saat boşa uğraşmak üzücü...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-7320369246136949400?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/7320369246136949400/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=7320369246136949400&amp;isPopup=true' title='3 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/7320369246136949400'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/7320369246136949400'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2009/06/jpada-bir-problem-mi-var.html' title='JPA&apos;da Bir Problem mi Var?'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-486760503166181280</id><published>2009-03-25T13:44:00.005+02:00</published><updated>2009-03-25T15:21:12.356+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='tomcat'/><title type='text'>Tomcat 6.x Windows Servis'ine VM Argümanı Nasıl Verilir?</title><content type='html'>&lt;a href="http://tomcat.apache.org/"&gt;Apache Tomcat 6.x&lt;/a&gt; windows servis olarak çalıştırılabilmektedir. Tomcat'i bilgisayarınıza kurduğunuzda "bin" klasörü altında service.bat, tomcat6.exe ve tomcat6w.exe dosyaları bulunmaktadır. VM argumanı verirken bu dosyaları kullanacağız. Bu dosyalardan asıl işimizi gören "service.bat" dosyasıdır. Bu dosya ile tomcat windows servis olarak kurulabilir veya var olan bir servis kaldırılabilir. Bu dosyayı direk çalıştırdığınızda şu satır çıkar konsolda:&lt;br /&gt;&lt;br /&gt;Usage: service.bat install/remove [service_name]&lt;br /&gt;&lt;br /&gt;Buna göre "service.bat install" dediğinizde tomcat servis olarak yüklenecek veya "service.bat remove" dediğinizde var olan tomcat servisi sistemden kaldırılacaktır. Tomcat'i servis olarak yükledikten sonra "bin" klasörü içindeki tomcat6w.exe dosyasını çalıştırarak tomcat'in servis olarak çalışırken nasıl ayarlar ile çalışacağını kontrol edebilirsiniz, tabi ki bir kısım ayarlar. Bu ayarlardan bir tanesi VM argumanlarının verileceği kısımdır. Bu argümanlar açılan pencerede 4. tab olan Java tab'ındaki "Java Options" kısmında verilir. Ben bu kısma PermGen Space ayarı ile ilgili vm parametreleri girdim. Ondan sonra servisi başlattım fakat hata verdi, argümanları algılayamadı. Daha sonra service.bat dosyasını düzenlemek için açtım. Dosyada:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:courier new;"&gt;rem Set extra parameters&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;"%EXECUTABLE%" ...&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;şeklinde devam eden bir satır var. Bu satıra VM argümanları ";" işareti ile ayrılarak yazılmış. Ben de -XX:PermSize=512m, -XX:MaxPermSize=512 argümanlarını şu şekilde ekledim:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:courier new;"&gt;"%EXECUTABLE%" //US//%SERVICE_NAME% ++JvmOptions "-Djava.io.tmpdir=%CATALINA_BASE%\temp;-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager;-Djava.util.logging.config.file=%CATALINA_BASE%\conf\logging.properties;-XX:PermSize=512m;-XX:MaxPermSize=512m" --JvmMs 256 --JvmMx 512&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Daha sonra servisi "service.bat remove" ile kaldırıp "service.bat install" ile tekrar kurdum. Bu işlemden sonra servis düzgün olarak çalıştı.&lt;br /&gt;Bu arada tomcat servis olarak değil de normal olarak yani startup.bat dosyası ile çalıştırılacaksa ve VM argümanı verilmek isteniyorsa catalina.bat dosyası içindeki "JAVA_OPTS" değişkenine istenilen argümanlar eklenmelidir. Ekleme aşağıdaki şekilde olabilir:&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:courier new;"&gt;set JAVA_OPTS = %JAVA_OPTS% -XX:PermSize=512m -XX:MaxPermSize=512&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Zaten dosya içinde JAVA_OPTS şeklinde aratırsanız örneğini görebilirsiniz.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-486760503166181280?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/486760503166181280/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=486760503166181280&amp;isPopup=true' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/486760503166181280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/486760503166181280'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2009/03/tomcat-6x-windows-servisine-vm-arguman.html' title='Tomcat 6.x Windows Servis&apos;ine VM Argümanı Nasıl Verilir?'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-7163451017694272613</id><published>2009-02-11T19:44:00.003+02:00</published><updated>2009-03-25T14:15:22.672+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JSF'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='tomcat'/><title type='text'>JSF Tomcat ve Eclipse konfigürasyonu</title><content type='html'>Eclipse Ganymede versiyonunda JSF projesi nasıl yapılır, Tomcat üzerinde nasıl çalıştırılır? gibi soruların cevaplarının bulunabileceği güzel bir makale &lt;a href="http://balusc.blogspot.com/2008/01/jsf-tutorial-with-eclipse-and-tomcat.html"&gt;"JSF  tutorial with Eclipse and Tomcat"&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-7163451017694272613?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/7163451017694272613/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=7163451017694272613&amp;isPopup=true' title='3 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/7163451017694272613'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/7163451017694272613'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2009/02/jsf-tomcat-ve-eclipse-konfigurasyonu.html' title='JSF Tomcat ve Eclipse konfigürasyonu'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-8703368766850244089</id><published>2008-11-02T12:12:00.000+02:00</published><updated>2008-11-02T12:17:25.110+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='anı'/><title type='text'>Türksel Çeker :)</title><content type='html'>Geçen hafta yaptığımız Bolu Yedigöller gezisinde karşılaştığım ve bizim milletimizin kıvrak zekasını tekrar müşahede ettiğim tebessüm ettirici bir anıyı paylaşmak istedim. Maalesef Yedigöller'e giderken telefon hattınız çekmeyebilir. Bazı noktalarda çekiyor. Aşağıdaki resimde de bu noktalardan bir tanesi gösterilmiş:) Yalnız sadece Türksel :) çekiyor, Aveya veya Vodafon :) çekmiyor. Bu noktada insanlar sevdikleri ile konuşabiliyor.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_vcjkxVTznMg/SQ195wb2jqI/AAAAAAAAASI/HTQR-RESpMw/s1600-h/IMG_1198.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 266px;" src="http://1.bp.blogspot.com/_vcjkxVTznMg/SQ195wb2jqI/AAAAAAAAASI/HTQR-RESpMw/s400/IMG_1198.JPG" alt="" id="BLOGGER_PHOTO_ID_5264001970673716898" 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/13440809-8703368766850244089?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/8703368766850244089/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=8703368766850244089&amp;isPopup=true' title='2 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/8703368766850244089'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/8703368766850244089'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2008/11/trksel-eker.html' title='Türksel Çeker :)'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_vcjkxVTznMg/SQ195wb2jqI/AAAAAAAAASI/HTQR-RESpMw/s72-c/IMG_1198.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-758715186425266151</id><published>2008-11-02T12:06:00.000+02:00</published><updated>2008-11-02T12:09:40.151+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='NEY'/><category scheme='http://www.blogger.com/atom/ns#' term='nota'/><category scheme='http://www.blogger.com/atom/ns#' term='Yansımalar'/><title type='text'>Yansımalar - Ağıt Nota</title><content type='html'>Yansımalar grubunun çok güzel parçalarından bir tanesi Ağıt. Beste Birol YAYLA'ya ait. Notası aşağıdadır:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_vcjkxVTznMg/SQ18M2JqtqI/AAAAAAAAASA/Mtrg9rywWbs/s1600-h/A%C4%9F%C4%B1t.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 271px; height: 400px;" src="http://1.bp.blogspot.com/_vcjkxVTznMg/SQ18M2JqtqI/AAAAAAAAASA/Mtrg9rywWbs/s400/A%C4%9F%C4%B1t.jpg" alt="" id="BLOGGER_PHOTO_ID_5264000099602314914" 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/13440809-758715186425266151?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/758715186425266151/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=758715186425266151&amp;isPopup=true' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/758715186425266151'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/758715186425266151'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2008/11/yansmalar-at-nota.html' title='Yansımalar - Ağıt Nota'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_vcjkxVTznMg/SQ18M2JqtqI/AAAAAAAAASA/Mtrg9rywWbs/s72-c/A%C4%9F%C4%B1t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-5088673864760193615</id><published>2008-10-17T22:03:00.000+03:00</published><updated>2008-10-17T22:07:55.218+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nota'/><category scheme='http://www.blogger.com/atom/ns#' term='Yansımalar'/><title type='text'>Yansımalar Yakamoz Nota</title><content type='html'>Merhabalar,&lt;br /&gt;Sevgili Birol YAYLA'nın çok sevdiğim eserlerinden biri Yakamoz. Son yıllarda tanıdığım en önemli bestekârlardan birisi Birol YAYLA. A.Şenol FİLİZ ile muhteşem bir ikili oluyorlar. Grupları Yansımalar kendi tarzında yoluna devam eden yegane gruplardan bir tanesi. Son albümleri olan Gölgesiz Aydınlık'ın piyasaya çıkacağı günü sabırsızlıkla bekliyorum.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_vcjkxVTznMg/SPjiZQFD1oI/AAAAAAAAAR4/KtHxPkUIiHo/s1600-h/Yakamoz.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_vcjkxVTznMg/SPjiZQFD1oI/AAAAAAAAAR4/KtHxPkUIiHo/s400/Yakamoz.jpg" alt="" id="BLOGGER_PHOTO_ID_5258201488395851394" 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/13440809-5088673864760193615?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/5088673864760193615/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=5088673864760193615&amp;isPopup=true' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/5088673864760193615'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/5088673864760193615'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2008/10/yansmalar-yakamoz-nota.html' title='Yansımalar Yakamoz Nota'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_vcjkxVTznMg/SPjiZQFD1oI/AAAAAAAAAR4/KtHxPkUIiHo/s72-c/Yakamoz.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-91120327934285961</id><published>2008-09-18T10:39:00.000+03:00</published><updated>2008-09-18T10:55:44.547+03:00</updated><title type='text'>JAR içinden animated gif nasıl okunur?</title><content type='html'>Şu &lt;a href="http://sekobey.blogspot.com/2006/09/jar-iinden-resim-dosyas-nasl-okunur.html"&gt;yazımda &lt;/a&gt;bir jar dosyası içinden bir resim dosyasının nasıl okunacağını yazmıştım. Fakat bu yöntemi bir jar içinden animated gif dosyasını okumak için uygularsanız resim animated olmaz statik olur. Animated GIF dosyaları bir kaç tane resmin ard arda sıralanıp tek bir dosya haline getirilmesinden oluştur. Biz bu resimlere frame dersek JAR içinden bu resmi okuduğunuzda ilk frame size getirilir ve siz hareketsiz bir resim görürsünüz. Bunun çözümü ise tabiki tüm frameleri okumaktır. Bu nasıl yapılır:&lt;span style="color: rgb(51, 102, 102); font-family: courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier new;"&gt;// İlk önce class loader nesnesi alınır&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;ClassLoader cl = this.getClass().getClassLoader();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;// okunacak animated gif resource olarak okunur&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;InputStream is = &lt;/span&gt;&lt;span style="color: rgb(102, 0, 204); font-family: courier new;"&gt;&lt;span style="color: rgb(51, 102, 102);"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: courier new;"&gt;cl.getResourceAsStream("images/animatedpic.gif");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;// resim byte olarak okunacağı için bir ByteArrayOutputStream nesnesi oluşturulur&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;ByteArrayOutputStream baos = new ByteArrayOutputStream();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;// -1 okuyana kadar resource'dan byte byte okunur ve output stream'e yazılır.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;int r = 0;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;while ((r = is.read()) != -1)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;        baos.write(r);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;// Son olarak output stream byte dizisine dönüştürülür ve Image nesnesi oluşturulur.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Image image = Toolkit.getDefaultToolkit().createImage(baos.toByteArray());&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;// Bu image nesnesini de istediğiniz yerde kullanabilirsiniz.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;JLabel label = new JLabel();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;label.setIcon(new ImageIcon(image));&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-91120327934285961?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/91120327934285961/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=91120327934285961&amp;isPopup=true' title='6 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/91120327934285961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/91120327934285961'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2008/09/jar-iinden-animated-gif-nasl-okunur.html' title='JAR içinden animated gif nasıl okunur?'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-4625984099804810336</id><published>2008-09-08T23:05:00.000+03:00</published><updated>2008-09-08T23:15:43.265+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='NEY'/><category scheme='http://www.blogger.com/atom/ns#' term='nota'/><title type='text'>İpek Yolu</title><content type='html'>Selamlar,&lt;br /&gt;"İpek Yolu" parçasını duymayanınız yoktur. Eğer duymadıysanız &lt;a href="http://www.akilli.tv/video/105180/ipek-yolu-kitaro.aspx"&gt;buyrun&lt;/a&gt;. Bu parça aslında Kitaro grubuna ait bir parçadır. Detaylı bilgi için &lt;a href="http://www.ipekyolunda.com/2007/11/23/silk-road-kitaroipek-yolu/"&gt;buyrun&lt;/a&gt;. İşin garip yanı ben bu parçayı Kitaro'dan dinlemedim, Kervansaray grubunun 1. albümünde yer alıyordu ve NEY ile icra edilmişti, çok hoşuma gitmişti ilk dinlediğimde. Ben burada bu parçanın hocam Serpil CEYLAN tarafından tashih edilen notasını koymak istiyorum. İnternetteki arayışlarıma rağmen pek net bir sonuca ulaşamadım bu konuda. Umarım benim gibi bu parçanın notalarını arayanlara yardımcı olur:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_vcjkxVTznMg/SMWHIkVAU7I/AAAAAAAAARU/IMA0GeZy048/s1600-h/ipek+yolu.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_vcjkxVTznMg/SMWHIkVAU7I/AAAAAAAAARU/IMA0GeZy048/s400/ipek+yolu.jpg" alt="" id="BLOGGER_PHOTO_ID_5243745922403292082" 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/13440809-4625984099804810336?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/4625984099804810336/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=4625984099804810336&amp;isPopup=true' title='3 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/4625984099804810336'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/4625984099804810336'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2008/09/ipek-yolu.html' title='İpek Yolu'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_vcjkxVTznMg/SMWHIkVAU7I/AAAAAAAAARU/IMA0GeZy048/s72-c/ipek+yolu.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-7714250765821650647</id><published>2008-08-29T23:25:00.000+03:00</published><updated>2008-08-29T23:49:37.861+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='NEY'/><category scheme='http://www.blogger.com/atom/ns#' term='nota'/><category scheme='http://www.blogger.com/atom/ns#' term='Yansımalar'/><title type='text'>NEY ve Yansımalar Sonbahar Nota</title><content type='html'>Yazı yazmayalı baya bir zaman oldu. İş, güç, okul derken bu köşemizi unuttuk. Gerçi yazacak çok şey çıktı ama ya vakit bulamadım ya da üşendim. Bu yazıdan sonra burada sadece JAVA ile ilgili yazılar olmayacak. Bundan sonra farklı konularda da hayatımda gördüklerimi, duyduklarımı ve yaşadıklarımı paylaşacağım. Paylaşmanın bir alanda olması diğer alanlarda bilgi kısırlığına neden olacak endişesiyle bu kanıya vardım. Bu yazıyı yazdığım sırada yaklaşık 1 senedir NEY kursuna devam ediyor olacağım. NEY benim için yıllardan beri içimde kalmış bir uhde idi. Bu görevi de ancak ve ancak çalışma hayatına atıldıktan 3 yıl sonra yerine getirebildim. Kurs olarak Cevizli Maltepe İSMEK kursuna devam ettim. Buradan hocamız Serpil CEYLAN'a teşekkür ediyorum. Saolsun sabrederek tüm öğrenciler ile teker teker ilgilendi. NEY enstrümanı gerçekten sabır isteyen ve insana sabrı öğreten bir enstrüman. NEY için enstrüman demek biraz basit kalıyor sanki. NEY çok değişik bir varlık diyebilirim. NEY'in sesi gerçekten insan sesine en yakın ses. NEY üflemek ve dinlemek insanın inlemelerini dışa vuruyor. NEY ile inlemelerinizi dillendiriyorsunuz. NEY bir kamış, basit bir tahta parçası diyenler vardır. Ama insanda bıraktığı etki büyük. Diğer enstrümanların önemi büyük tabi ama NEY aralarında en mütevazi olanı. Bir kamış, hafif, taşınması kolay ve sesi dinleyen herkesi etkileyebiliyor. Nasıl mütevazi insanı herkes sever, gururlu olma insanlar tarafından hoş karşılanmaz. NEY'de ben bu mütevaziliği gördüm. Bir kamış dedik, ama size boynunuzu eğdiriyor. Gururunuzu ayaklarınızın altına almanızı sağlıyor. NEY inler, insan inler, diğer sesler duyulmaz olur. Günlük yaşamın hızlılığı insanı sakin olmaktan alıkoyuyor, her işte bir panik, heyecan, stres oluşuyor. Bu tarz dertlerden muzdaripseniz NEY üflemenizi tavsiye ederim. En azından bir enstrüman ile uğraşmak gerektiği kanaatindeyim. Neyse yazının başlığından baya bir uzaklaştım. Sevgili Serpil CEYLAN hocamızın tahsis ettiği Yansımalar grubunun Sonbahar parçasının notasını sizinle paylaşmak istedim. Bu parçanın o güzel melodisi sayın Birol YAYLA'ya aittir. Yansımalar grubu hayranı ilerde bu grup ile ilgili düşüncelerimi de paylaşmak isterim.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_vcjkxVTznMg/SLhgE9DcfXI/AAAAAAAAARM/0DkQnPhZQMQ/s1600-h/Sonbahar.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_vcjkxVTznMg/SLhgE9DcfXI/AAAAAAAAARM/0DkQnPhZQMQ/s400/Sonbahar.jpg" alt="" id="BLOGGER_PHOTO_ID_5240043804670328178" 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/13440809-7714250765821650647?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/7714250765821650647/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=7714250765821650647&amp;isPopup=true' title='9 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/7714250765821650647'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/7714250765821650647'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2008/08/ney-ve-yansmalar-sonbahar-nota.html' title='NEY ve Yansımalar Sonbahar Nota'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_vcjkxVTznMg/SLhgE9DcfXI/AAAAAAAAARM/0DkQnPhZQMQ/s72-c/Sonbahar.jpg' height='72' width='72'/><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-2462612902917164243</id><published>2008-06-02T09:49:00.001+03:00</published><updated>2008-06-02T10:06:54.391+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JBoss'/><title type='text'>Aynı Makinede İki Tane JBOSS Çalıştırılması</title><content type='html'>&lt;span style="color: rgb(204, 0, 0);"&gt;Not: Burada anlatılanlar JBOSS 4.2.1 versiyonunda uygulanmıştır.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Aynı makinede iki adet JBOSS aynı anda çalıştırılabilir. Bunun için JBOSS’ta yeni bir konfigurasyon tanımlanması gerekmektedir. Bilindiği gibi JBOSS ilk kurulup çalıştırıldığında çalışan konfigürasyon “default” konfigürasyonudur. Konfigürasyonlar &lt;jboss_ev_dizini&gt;/server/ dizini altında bulunur. Örnek bir gösterim aşağıdaki gibidir:&lt;br /&gt;&lt;/jboss_ev_dizini&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_vcjkxVTznMg/SEOYW0UoCpI/AAAAAAAAAQk/OfLKmVzHcsc/s1600-h/directory.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_vcjkxVTznMg/SEOYW0UoCpI/AAAAAAAAAQk/OfLKmVzHcsc/s400/directory.PNG" alt="" id="BLOGGER_PHOTO_ID_5207173111940123282" border="0" /&gt;&lt;/a&gt;JBOSS ilk kurulduğunda gelen konfigürasyonlar “all”, “default” ve “minimal” konfigürasyonlarıdır. Burada biz kendimiz yeni bir konfigürasyon oluşturup aynı anda “default” ve bizim oluşturduğumuz konfigürasyonu deneyeceğiz.&lt;br /&gt;&lt;br /&gt;Öncelikle “default” klasörü farklı bir isimde server dizinin altına kopyalanır, örn: “myconfig”. Daha sonra myconfig/conf dizini altındaki jboss-service.xml dosyası bir editörde açılır. Bu dosyada Service Binding kısmı bulunur. Burada amaç “myconfig” konfigürasyonunun çalışacağı portları belirlemektir. Aksi takdirde “default” konfigürasyonu ile çakışır. “default” konfigürasyonu kopyaladığımız için burası comment edilmiştir. Buradaki comment kaldırılır ve aşağıdaki gibi görüntü oluşur:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;mbean code="org.jboss.services.binding.ServiceBindingManager"&gt;&lt;/mbean&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_vcjkxVTznMg/SEObskUoCqI/AAAAAAAAAQs/spkVL1EhxOQ/s1600-h/code.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_vcjkxVTznMg/SEObskUoCqI/AAAAAAAAAQs/spkVL1EhxOQ/s400/code.PNG" alt="" id="BLOGGER_PHOTO_ID_5207176784137161378" border="0" /&gt;&lt;/a&gt;Bu parçada &lt;span style="font-style: italic;"&gt;StoreURL&lt;/span&gt; alanı ile gösterilen dosyada hazır port konfigürasyonları vardır. Bu dosyayı açtığınızda “ports-default”, “ports-01”, “ports-02” ... gibi konfigürasyonlar vardır. Kendi konfigürasyonunu da oluşturabilirsiniz. &lt;span style="font-style: italic;"&gt;ServerName&lt;/span&gt; alanı ile de bu dosyadaki konfigürasyonlardan birisini seçersiniz. Bu parçada “ports-02” konfigürasyonu seçilmiş. “default” konfigürasyonda yukarıdaki xml parçası commentli olduğu için “ports-default” konfigürasyonu kullanılmaktadır. Böylece kendi konfigürasyonumuzu oluşturduk.&lt;br /&gt;&lt;br /&gt;Şimdi sıra geldi çalıştırmaya. Çalıştırmak için &lt;jboss_ev_dizini&gt;/bin/run.bat veya run.sh (linux için) dosyasını çalıştıracağız. İlk önce default konfigürasyonu çalıştıralım. Komut satırında “run.bat –c default” yazılır ve çalıştırılır. Daha sonra “myconfig” konfigürasyonu için “run.bat –c myconfig” yazılır ve çalıştırılır. Böylelikle iki konfigürasyon da aynı makinede çalıştırılmış olunur. Eğer çakışan port olursa, bu port numarası “myconfig” konfigürasyonundaki dosyalar arasında aranır. Bulunan sonuçlar kullanılmayan portlardan birisi ile değiştirilir.&lt;/jboss_ev_dizini&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-2462612902917164243?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/2462612902917164243/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=2462612902917164243&amp;isPopup=true' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/2462612902917164243'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/2462612902917164243'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2008/06/ayn-makinede-iki-tane-jboss-altrlmas.html' title='Aynı Makinede İki Tane JBOSS Çalıştırılması'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_vcjkxVTznMg/SEOYW0UoCpI/AAAAAAAAAQk/OfLKmVzHcsc/s72-c/directory.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-117566406467277039</id><published>2008-02-10T12:58:00.000+02:00</published><updated>2008-02-10T13:38:26.067+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ejb'/><category scheme='http://www.blogger.com/atom/ns#' term='güvenlik'/><category scheme='http://www.blogger.com/atom/ns#' term='JBoss'/><category scheme='http://www.blogger.com/atom/ns#' term='jaas'/><title type='text'>JBoss için Login Module Tanımlanması ve Rol Bazlı EJB Güvenliği</title><content type='html'>Java Authentication and Authorization Service (JAAS) ve EJB Güvenliği adlı yazımda JAAS'dan kısaca bahsetmiştim. JAAS'ın kullandığı bir yapı olan Login Module kavramının ne olduğuna da kısaca değinmiştim. Login Module login işleminin gerçekleştiği birimlerdir. Her sistem farklı tipte login gerçekleştirebilir. Kimisi basit kullanıcı adı ve şifre bilgileri ile bu işlemi yaparken kimisi sertifika bazlı işlem yapabilir. JBoss'da kendi içinde JAAS'ı kullanmaktadır. Bu nedenle JBoss üzerinde çalıştırdığınız EJB'lere rol bazlı erişim sağlamak istiyorsanız JBoss'un kendi sunduğu bir login modül kullanabilirsiniz yada kendiniz oluşturabilirsiniz. Burada kendimiz nasıl oluştururuz ona bakalım.&lt;o:p&gt;&lt;/o:p&gt;  &lt;p class="MsoNormal"&gt;Yazacağınız login module JBoss'un sunduğu AbstractServerLoginModule abstract sınıfını extend etmelidir. Bu &lt;a href="http://www.docjar.com/html/api/org/jboss/security/auth/spi/AbstractServerLoginModule.java.html"&gt;linkte&lt;/a&gt; kaynak kodunu görebilirsiniz (Ayrıca bu sınıfı kullanan JBoss login modülleri olan &lt;a href="http://www.docjar.com/html/api/org/jboss/security/auth/spi/UsernamePasswordLoginModule.java.html"&gt;UsernanePasswordLoginModule&lt;/a&gt; ve &lt;a href="http://www.docjar.com/html/api/org/jboss/security/auth/spi/DatabaseServerLoginModule.java.html"&gt;DatabaseServerLoginModule&lt;/a&gt; sınıflarının kodları da incelenmesi gerekmektedir). Bu nedenle yazacağınız kod &lt;b style=""&gt;getRoleSets()&lt;/b&gt; ve &lt;b style=""&gt;getIdentity()&lt;/b&gt; metodlarını override etmelidir. Tabi bunlarla kalmamak lazım. Bir de login işlemini gerçekleştiren &lt;b style=""&gt;login()&lt;/b&gt; metodu var. Bu metod bu sınıfta implemente edilmiş ama biz kendimize uygun bir login modül oluşturacağımız için bu metodu da override etmemiz gerekir. Ayrıca login module ilklendirilirken kullandığınız seçenekler var ise &lt;b style=""&gt;initialize()&lt;/b&gt; metodunu da override etmek gerekir. Genel olarak sınıf aşağıdaki gibi olacaktır:&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;package com.ornek;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;public class MyLogin&lt;/span&gt;&lt;span style=""&gt;Module extends &lt;span style="font-weight: bold;"&gt;AbstractServerLoginModule &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;...&lt;o:p style="color: rgb(0, 102, 0);"&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(0, 102, 0);" class="MsoNormal"&gt;&lt;span style=""&gt;/*&lt;span style=""&gt;   &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(0, 102, 0);" class="MsoNormal"&gt;&lt;span style=""&gt;burada options parametresi login modül'e verilen optionları barındırır, callbackHandler giriş bilgilerini barındırır, subject de rol bilgilerini tutar.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;*/&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;public void initialize(Subject subject, CallbackHandler callbackHandler, Map sharedState, Map options) {&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;span style=""&gt;      &lt;/span&gt;...&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(0, 102, 0);" class="MsoNormal"&gt;&lt;span style=""&gt;/*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;login işlemi burada gerçekleştirilir. işlem başarılı ise mutlaka süper sınıfta tanımlanmış loginOk değişkeni true değerine atanmalıdır. Aksi takdirde süper sınıftaki commit metodu çalışmaz.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;*/&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;public boolean login() throws LoginException {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 35.4pt;"&gt;&lt;span style=""&gt;...&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 35.4pt;"&gt;&lt;span style=""&gt;super.loginOk = true;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 35.4pt;"&gt;&lt;span style=""&gt;...&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(0, 102, 0);" class="MsoNormal"&gt;&lt;span style=""&gt;/*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(0, 102, 0);" class="MsoNormal"&gt;&lt;span style=""&gt;Login olan kullanıcının role gruplarını oluşturan bir metoddur ve override edilmesi gerekir. Bu metod override edildiğinde kullanıcının role bilgilerini barındıran en azından “Roles” adında bir Group oluşturulmalıdır.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;*/&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;protected Group[] getRoleSets() throws LoginException {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;span style=""&gt;      &lt;/span&gt;...&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(0, 102, 0);" class="MsoNormal"&gt;&lt;span style=""&gt;/*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(0, 102, 0);" class="MsoNormal"&gt;&lt;span style=""&gt;Kullanıcının birincil giriş bilgisini içeren Principal nesnesini döndürür.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(0, 102, 0);" class="MsoNormal"&gt;&lt;span style=""&gt;Bu metod genelde login metodu içinde oluşturulan Principal nesnesini döndürür.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;*/&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;protected Principal getIdentity() {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;span style=""&gt;      &lt;/span&gt;...&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Kendi modülünüzü yazdıktan sonra bunun Jboss’a tanıtılması gerekmektedir. Bunun için login module sınıfınızı jar haline getirin ve Jboss deploy kütüphanelerini (&lt;jboss_kurulum_dizini&gt;/server/default/lib) arasına oluşturduğunuz jar’ı kopyalayın. Daha sonra deploy konfigürasyonlarının olduğu dizin (&lt;jboss_kurulum_dizini&gt;/server/default/conf) altındaki &lt;b style=""&gt;login-config.xml&lt;/b&gt; dosyasını açın. Bu dosyaya kendi login modulünüzü ekleyeceksiniz. Zaten dosyanın başında nasıl yapcağınız anlatılıyor. Örneğin yukarıdaki sınıfı şu şekilde eklenebilir:&lt;/jboss_kurulum_dizini&gt;&lt;/jboss_kurulum_dizini&gt;&lt;/p&gt;&lt;application-policy name="MyLoginModule"&gt;&lt;/application-policy&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_vcjkxVTznMg/R67h6QmHnNI/AAAAAAAAAQE/bejZIQjZOuo/s1600-h/login-config-sample.PNG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/_vcjkxVTznMg/R67h6QmHnNI/AAAAAAAAAQE/bejZIQjZOuo/s400/login-config-sample.PNG" alt="" id="BLOGGER_PHOTO_ID_5165314213644049618" border="0" /&gt;&lt;/a&gt;&lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Görüldüğü üzere kendi yazacağınız login module sınıfında yukarıdaki üç metodu override etmeniz yeterli olacaktır. login metodu düzgün olarak çalıştığında ve super.loginOk = true ise süper sınıf kendi içindeki commit metodunu çalıştıracak ve kullanıcının rol bilgilerini oluşturan getRoleSets metodunu çağıracak. Bütün işlemler bittiğinde kullanıcıya ait giriş ve rol bilgilerini barındıran bir Subject nesnesi oluşturulacak. Bu nesne ejb metodları çağırılırken çağıranın rol bilgilerinin kontrolü için kullanılacak. Örnek:&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;@Remote&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;public interface MyEJB {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;span style=""&gt;               &lt;/span&gt;public void myMethod();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;span style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;@SecurityDomain(“MyLoginModule”)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;@Stateless&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;public MyEJBImpl implements MyEJB {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;span style=""&gt;      &lt;/span&gt;@RolesAllowed(“MyRoleName”)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 35.4pt;"&gt;&lt;span style=""&gt;public void myMethod() {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 35.4pt;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;      &lt;/span&gt;...&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 35.4pt;"&gt;&lt;span style=""&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Yukarıdaki örnekte EJB metodları çalıştırılmadan önce MyLoginModule ismindeki login modülün çalıştırılacağı ve kullanıcının girişinin gerçekleştirileceği &lt;b style=""&gt;SecurityDomain&lt;/b&gt; annotation’ı ile belirtilmiştir. SecurityDomain annotation’ı içine vereceğiniz login module ismi login-config.xml dosyasında tanımlı olmalıdır. Kullanıcı girişi gerçekleştirildiğinde istenilen ejb metodu çağırılır aksi takdirde hata verilir.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Bir EJB metodu olan myMethod’a sadece MyRoleName rolundeki kullanıcıların erişebileceği &lt;b style=""&gt;@RolesAllowed&lt;/b&gt; annotation’ı ile gösterilmiştir. Bu annotation içine birden fazla rol yazabilirsiniz @RolesAllowed(“Role1”, “Role2”, ...) şeklinde. İşte bu annotation içindeki rol bilgileri login module tarafında oluşturulan Subject nesnesinin içindeki rol bilgisiyle karşılaştırılır. Eğer Subject nesnesi bu rollerden birisini barındırıyorsa metod çalıştırılır. Aksi takdirde çalıştırılmaz.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-117566406467277039?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/117566406467277039/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=117566406467277039&amp;isPopup=true' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/117566406467277039'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/117566406467277039'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2008/02/jboss-iin-login-module-tanmlanmas-ve.html' title='JBoss için Login Module Tanımlanması ve Rol Bazlı EJB Güvenliği'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_vcjkxVTznMg/R67h6QmHnNI/AAAAAAAAAQE/bejZIQjZOuo/s72-c/login-config-sample.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-9031527085098011631</id><published>2008-01-07T16:25:00.000+02:00</published><updated>2008-01-07T18:30:30.134+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ejb'/><category scheme='http://www.blogger.com/atom/ns#' term='güvenlik'/><category scheme='http://www.blogger.com/atom/ns#' term='jaas'/><title type='text'>Java Authentication and Authorization Service (JAAS) ve EJB Güvenliği</title><content type='html'>JAAS java uygulamaları için kimlik doğrulama ve yetkilendirme işlemlerini portatif bir şekilde yapılmasını sağlayan bir arayüzdür. JAAS'ı kullanarak kendiniz sisteme giriş yapmayı ve yetkilendirmeyi sağlayan mödüler API'ler yazabilirsiniz.&lt;br /&gt;JAAS'ı herhangi bir güvenlik sisteminde kullanabilirsiniz. Örneğin; bir uygulama sunucusu kimlik doğrulamayı bir dosyadan okuyarak yapıyor olabilir yada bir veritabanından sorgulatarak ya da bir LDAP sunucusuna bağlanarak yapıyor olabilir. JAAS ile bu ortamlara ayak uydurmak hiç dert değil. Çünkü JAAS interface'lerden oluşur ve siz de bu interface'leri implemente edersiniz. Böylece kimse kimseye darılmaz.&lt;br /&gt;JAAS EJB güvenliğinde sıklıkla kullanılır. Sun, JAAS'ı EJB güvenliğinde standard olarak kullanmaktadır.&lt;br /&gt;&lt;br /&gt;Genelde JAAS modüllerinin kullanımı ile ilgili iki tip senaryo vardır:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Bir masaüstü uygulamanız vardır ve bu uygulamanız uzak bir uygulama sunucusuna bağlanıp sisteme giriş yapacaktır. Sisteme giriş sağlandıktan sonra da kullanıcının yetkileri oluşturulup bu yetkilerine göre sistemde hangi modüllere erişip hangi modüllere erişemeyeceği belirlenecektir. Bunun için masaüstü uygulamanız JAAS ile kullanıcının giriş bilgilerini uygulama sunucusuna iletir. Uygulama sunucusu da bu bilgileri kullanarak sisteme girişi gerçekleştirip kullanıcının rollerini oluşturur. Bundan sonraki EJB metodlarının çağırılmasında kullanıcının rol bilgilerine bakılır. Eğer yetkisi varsa izin verilir yoksa izin verilmez.&lt;/li&gt;&lt;li&gt;Bir web tarayıcı aracılığı ile sisteme giriş yapabilirsiniz. Burada da kullanıcının giriş bilgileri JSP/servlet'e aktarılır. JSP/Servlet'de bu bilgileri kullanarak sisteme girişi gerçekleştirir. Tarayıcı giriş bilgilerini aşağıdaki yöntemleri kullanarak aktarır:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Basic authentication&lt;/li&gt;&lt;li&gt;Form-based authentication&lt;/li&gt;&lt;li&gt;Digest authentication&lt;/li&gt;&lt;li&gt;Certificate authentication&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;Masaüstü uygulamaları gibi web uygulamasında da sisteme giriş gerçekleştiğinde, istemci EJB metodlarını kullancının yetkileri izin verdiği ölçüde çağırır.&lt;br /&gt;&lt;br /&gt;JAAS'ın çalışma mantığına bakacak olursak aşağıdaki maddeler çıkabilir:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;İstemci yeni bir &lt;a href="http://java.sun.com/j2se/1.5.0/docs/api/index.html?javax/security/auth/login/LoginContext.html"&gt;LoginContext&lt;/a&gt; nesnesi oluşturur. Bu sınıf JAAS tarafından sunulmuştur ve kimlik doğrulama (authentciation) sürecinden sorumludur.&lt;/li&gt;&lt;li&gt;LoginContext nesnesi bir &lt;a href="http://java.sun.com/j2se/1.5.0/docs/api/index.html?javax/security/auth/login/LoginContext.html"&gt;Configuration&lt;/a&gt; nesnesi alır. Bu nesnede kimlik doğrulama işleminin hangi &lt;a href="http://java.sun.com/j2se/1.5.0/docs/api/javax/security/auth/spi/LoginModule.html"&gt;LoginModule&lt;/a&gt;'ler ile yapılacağı bildirilir. Örneğin bir sistem sadece kullanıcı adı ve şifre doğrulaması istersen başka bir sistem hem kullanıcı adı-şifre hem de sertifika bazlı doğrulama isteyebilir.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;LoginContext Configuration nesnesine kimlik doğrulama mekanizmalarının neler olduğunu sorar.&lt;/li&gt;&lt;li&gt;Configuration nesnesi kimlik doğrulama mekanizmalarından oluşan mekanizmalardan oluşan bir liste döndürür. Bu mekanizmaların her birine login module denmektedir. Login Module JAAS'ın sunduğu bir interface'dir. LoginModule kimlik doğrulama işleminin yapıldığı birimlerdir.&lt;/li&gt;&lt;li&gt;LoginContext LoginModule sınıflarından birer nesne oluşturur.&lt;/li&gt;&lt;li&gt;LoginContext oluşturulan LoginModule nesnelerini ilklendirir.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;İstemci kodu LoginContext nesnesi üzerinden login() metodunu çağırır.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;LoginContext login işlemlerini LoginModule nesnelerine devreder. Çünkü kimlik doğrulama işlemlerinin nasıl yapılacağını bu modüller bilmektedir.&lt;/li&gt;&lt;li&gt;Sizin tarafınızdan yazılmış LoginModule nesneleri kimlik doğrulama işlemini gerçekleştirir.&lt;/li&gt;&lt;li&gt;İşlem sonucu oluşturulan bilgiler &lt;a href="http://java.sun.com/j2se/1.5.0/docs/api/javax/security/auth/Subject.html"&gt;Subject&lt;/a&gt; sınıfından oluşturulmuş bir nesnenin içinde saklanır. Bu nesneyi güvenli işlemler gerçekleştirmek için kullanırsınız.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Bundan sonra istemci kodu EJB metodlarını çağırır ve sistem giriş bilgisi bu metod çağırımlarında otomatik olarak iletilir.  Böylece uygulama sunucusu bu bilgileri kullanarak kimlik doğrulama ve yetkilendirme işlemlerini yapar.&lt;/li&gt;&lt;/ol&gt;Aşağıda yukarıdaki yapının resim olara çizilmiş halini görebilirsiniz:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_vcjkxVTznMg/R4JNH8w47oI/AAAAAAAAAP0/o-X4HnRlCjc/s1600-h/jaas_architecture.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_vcjkxVTznMg/R4JNH8w47oI/AAAAAAAAAP0/o-X4HnRlCjc/s320/jaas_architecture.PNG" alt="" id="BLOGGER_PHOTO_ID_5152765722630876802" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Bu yazıda JAAS yüzeysel olarak incelenmiştir. Detaylı bilgi için lütfen bkz. &lt;a href="http://java.sun.com/javase/6/docs/technotes/guides/security/jaas/JAASRefGuide.html"&gt;JAAS Reference Guide&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;JAAS Java SE ile birlikte gelmektedir. Böylelikle ayrı bir jar indirmenize gerek yoktur.&lt;br /&gt;Bir sonraki yazıda JAAS kullanarak bir JBOSS uygulama sunucusundaki EJB'lere güvenli erişmeyi sağlayan bir örnek anlatılacaktır.&lt;br /&gt;&lt;br /&gt;Kaynak: &lt;a href="http://www.theserverside.com/tt/books/wiley/masteringEJB3/index.tss"&gt;Mastering Enterprise Java Beans 3.0&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-9031527085098011631?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/9031527085098011631/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=9031527085098011631&amp;isPopup=true' title='1 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/9031527085098011631'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/9031527085098011631'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2008/01/java-authentication-and-authorization.html' title='Java Authentication and Authorization Service (JAAS) ve EJB Güvenliği'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_vcjkxVTznMg/R4JNH8w47oI/AAAAAAAAAP0/o-X4HnRlCjc/s72-c/jaas_architecture.PNG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-2247589199579247889</id><published>2007-10-15T22:19:00.000+03:00</published><updated>2007-10-15T22:30:35.381+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JBoss'/><title type='text'>JBoss Binding IP Adress</title><content type='html'>Merhaba,&lt;br /&gt;Bir Enterprise Java Projesi'nde çalışıyorum. Business kısmını EJB'ler üstlenmiş durumda. Uygulama sunucusu olarak JBoss 4.0.5 kullanıyorduk. Varsayılan konfigürasyonlarla bu JBoss versiyonuna aynı ağ üzerindeki herhangibir client makineden ulaşabiliyorduk. Yani business metodları çağırabiliyorduk. Fakat JSF 1.2 desteği olmadığından dolayı JBoss 4.2.1'e geçtik. Fakat bu seder EJB metodlarını çağıramaz olduk. Bu versiyonda uygulama sunucusu bir sadece bind ettiği bir IP, varsayılan 127.0.0.1,  üzerinden hizmet veriyor. Bu nedenle 127.0.0.1 bind edildiğinden, yani localhost, dışarıdan erişemiyordum. Bu sorunu araştırdığımda eğer istenilen bir IP adresine bind edilmesi isteniyorsa JBoss'u "-b" seçeneği ile başlatın deniyordu. Örneğin; JBoss'un çalıştığı makinenin ağdaki IP'si 10.1.1.2 olsun. Komut satırında &lt;jboss&gt; -b 10.1.1.2 şeklinde bir komut çalıştırırsanız JBoss 10.1.1.2 IP adresine yapılacak isteklere cevap verecektir.&lt;br /&gt;&lt;/jboss&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-2247589199579247889?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/2247589199579247889/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=2247589199579247889&amp;isPopup=true' title='1 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/2247589199579247889'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/2247589199579247889'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2007/10/jboss-binding-ip-adress.html' title='JBoss Binding IP Adress'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-4375512751426053989</id><published>2007-08-18T11:52:00.000+03:00</published><updated>2007-08-18T12:27:22.539+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iterator'/><category scheme='http://www.blogger.com/atom/ns#' term='for each'/><title type='text'>For each döngüsü ve Iterator</title><content type='html'>Bildiğiniz gibi Java 5 ile beraber for each döngüsü java'ya eklendi. Bu döngü ile bir collection'daki  yada bir dizideki elemanlar üzerinde rahatça dolaşıp işlem yapabiliyorsunuz. Örneğin; elinizde String sınıfı tipinde nesneler barındıran "list" isminde bir List nesneniz olsun. Bu List üzerinde aşağıdaki gibi dolaşabilirsiniz:&lt;br /&gt;&lt;br /&gt;for (String s : list)  {&lt;br /&gt;   // s'i kullanan veya kullanmayan işlemler...&lt;br /&gt;}&lt;br /&gt;Bu örnekte type safety'de sağlanmış oluyor. Generics o biçim destekleniyor yani:). Bir diğer örnekte array'ler için. Örneğin elinizde A sınıfı tipinde "arr" isminde bir diziniz olsun, bu dizi üzerinde aşağıdaki şekilde dolaşabilirsiniz:&lt;br /&gt;&lt;br /&gt;for (A item : arr) {&lt;br /&gt;   // item ile bir işlem yap...&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Iterator java'da bildim bileli olan bir şey, Iterator ile Collection nesnesinin elemanları üzerinde dolaşabilir ve işlemler yapabilirsiniz ve o collection nesnesi de bu değişikliklerden etkilenir. Örneğin; içinde String nesneleri barındıran "mySet" isminde bir HashSet nesneniz bulunmaktadır. Bu set üzerinde aşağıdaki şekilde dolaşabilirsiniz.&lt;br /&gt;&lt;br /&gt;Iterator&lt;string&gt; iter = mySet.iterator();&lt;br /&gt;while ( iter.hasNext() ) {&lt;br /&gt;   String s = iter.next();&lt;br /&gt;   // işlemlere devam et...&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Gördüğünüz gibi "for each" yapısı Iterator'dan daha basit ve anlaşılır. Ancak Iterator'un pabucunun dama kaldırılmayacağını dün anladım.&lt;br /&gt;İçinde oluşturduğum sınıf tipinde nesneler barındıran bir List üzerinde bir kaç işlem yapacaktım. Bu işlem de list elemanları üzerinde sırayla ilerleyip her elemanı bir koşuldan geçirip eğer koşul sağlanırsa o elemanı listeden kaldırmaktı. Bu işlemi for each ile aşağıdaki gibi yapmıştım:&lt;br /&gt;&lt;br /&gt;List&lt;myclass&gt; list = ...;&lt;br /&gt;for (MyClass m : list ) {&lt;br /&gt;   if ( condition )&lt;br /&gt;       list.remove(m);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Bu kodu çalıştırdığımda &lt;span style="font-weight: bold;"&gt;java.util.ConcurrentModificationException&lt;/span&gt; aldım. Daha sonra aynı işlemi Iterator ile yaptım.&lt;br /&gt;&lt;br /&gt;List&lt;myclass&gt; list = ...;&lt;br /&gt;Iterator&lt;myclass&gt; iter = list.iterator();&lt;br /&gt;while (iter.hasNext()) {&lt;br /&gt;   MyClass m = iter.next();&lt;br /&gt;   if ( condition )&lt;br /&gt;           iter.remove();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Bu kodda ise hata almadım. Nedeni kesin olarak bilmemekle beraber bildiğim kadarıyla Iterator bir Collection nesnesi içindeki elemanlar üzerinde pointer mantığıyla çalışıyor. For each'de ise böyle bir yapı yok, yani bir array gibi çalışıyor. Bu nedenle "for each" ile list üzerinde dolaşırken aynı anda bir nesneyi listeden kaldırmak istediğinizde nesnelerin indexleri değiştiğinden dolayı bu hatayı veriyor olabilir. Iterator ise kaldırılacak elemana point ettiğinden elemanı listeden kaldırıyor ve pointer'ını yeni nesne üzerinde konumlandırıyor, bir linked list mantığı. Siz ne dersiniz?&lt;br /&gt;&lt;/myclass&gt;&lt;/myclass&gt;&lt;/myclass&gt;&lt;/string&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-4375512751426053989?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/4375512751426053989/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=4375512751426053989&amp;isPopup=true' title='9 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/4375512751426053989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/4375512751426053989'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2007/08/for-each-dngs-ve-iterator.html' title='For each döngüsü ve Iterator'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-818202182016347148</id><published>2007-07-08T20:13:00.000+03:00</published><updated>2007-07-08T22:27:43.728+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pattern'/><title type='text'>Observer Pattern</title><content type='html'>Design Pattern kavramı nesne tabanlı programlama mantığında sıkça kullanılır. Belli kalıplar vardır ve bu kalıplar nesne tabanlı programlamada belli ihtiyaçlardan doğmuştur. Observer Pattern de bunlardan bir tanesidir. Bu pattern'i kafamızda canlandıracak bir örnek vermek gerekirse ki bu bir gazete sitesine abone olmak olabilir. Burada gazete sitesi bir yayıncıdır ve yeni haberler çıktığından bunları yayınlar. Siteye abone olanlar ise bu haberleri çeşitli şekillerde görürler. Bu RSS şeklinde olur, mail şeklinde olur vs.&lt;br /&gt;Tanım olarak &lt;span style="font-weight: bold;"&gt;Observer Pattern &lt;/span&gt;kapsadığı objeler arasında one-to-many ilişkisi kurar. Böylece bir objenin durumu değiştiğinde, bu objeye bağlı diğer objelere haber verilir ve objeler kendilerini güncellerler.&lt;br /&gt;Sınıf diyagramı aşağıdaki gibidir:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_vcjkxVTznMg/RpEd3UMJUpI/AAAAAAAAAKM/0XU19peZKGc/s1600-h/Observer+Pattern.png.jpeg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_vcjkxVTznMg/RpEd3UMJUpI/AAAAAAAAAKM/0XU19peZKGc/s320/Observer+Pattern.png.jpeg" alt="" id="BLOGGER_PHOTO_ID_5084878290427662994" border="0" /&gt;&lt;/a&gt;Diyagramda iki adet interface vardır, Subject ve Observer. Observer olacak sınıflar yani değişikliklerden haberi olacak sınıflar kendilerini bu interface'i implemente eden sınıflara, ConcreteSubject,  registerObserver() metodu ile kayıt ederler. İstedikleri zamanda kendilerini removeObserver metodu ile abonelikten kaldırırlar. Subject sınıfı da observer objelerinin kim olduklarını bilmez. O sadece kendisine kayıt olan objelerin Observer interface'inin implemente ettiklerini bilir. Böylece Subject objesinde bir değişiklik olduğu zaman notifyObservers() metodu ile kendisine kayıtlı olan observer objelerinin update() metodlarını çağırır. Observer objeleri de kendilerini yenilerler. Observer Pattern sayesinde subject ve observerlar birbirlerini bilmezler, interface'ler aracılığı ile haberleşilirler. Böylece tasarım unsurlarından loosely coupled objeler sağlanmış olur. İkincisi runtime esnasında observer ollan objeler kendilerini subject sınıfına kayıt ettirebilir yada kendilerini kayıt listesinden kaldırabilirler.&lt;br /&gt;Örneğin bir haber sitesinin abonelik sisteminde iki tür abonelik olsun. Bunlar Mail ve &lt;a href="http://en.wikipedia.org/wiki/Rss"&gt;RSS&lt;/a&gt; olsun. Mail abonelik sisteminde abonelere haberlerin özet hali mail atılsın. RSS abonelik sisteminde haberlerin özetleri rss standardında  oluşturulsun. Abonelerin rss destekli programlari oluşturulan dosyadaki değişiklikleri otomatik olarak takip ettikleri için bizim abonelere mail veya başka bir ileti atmamıza gerek yoktur. Burada iki tane arayüzümüz, Subject ve Observer, dört tane de sınıfımız olacak, Haber, HaberYayinlayicisi, MailAboneleri ve RssAboneleri. Kodlar tam olmasa da aşağıdaki gibi olabilir:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;public interface Subject {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  public void registerObserver(Observer observer);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  public void removeObserver(Observer observer);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  public void notifyObservers();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;public interface Observer {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;     public void update(List&lt;haber&gt; haberler);&lt;/haber&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;public class HaberYayinlayicisi implements Subject {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;     private ArrayList&lt;observer&gt; observers;&lt;/observer&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;     private ArrayList&lt;haber&gt; haberler;&lt;/haber&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  public HaberYayinlayicisi() {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;           observers = new ArrayList&lt;observer&gt;();&lt;/observer&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;           haberler = new ArrayList&lt;haber&gt;();&lt;/haber&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;     public void registerObserver(Observer observer) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;           observers.add(observer);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;     }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;     public void removeObserver(Observer observer) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;           observers.remove(observer);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;     }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;     public void notifyObservers() {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;           for (Observer observer : observers) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                  observer.update(haberler);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;           }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;     public void yeniHaberlerGeldi() {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;           notifyObservers();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;     // bu metodu yeni haberleri olusturan baska bir sınıf cagiracak..&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;     public void setYeniHaberler(List&lt;haber&gt; haberler) {&lt;/haber&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;           this.haberler = (ArrayList&lt;haber&gt;) haberler;&lt;/haber&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;           yeniHaberlerGeldi();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;// Bu sınıf bir tane haberi gösterir.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;public class Haber {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  private String baslik;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  private String ozet;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  private String link;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  public Haber() {}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; &lt;br /&gt;  // setters-getters, constructors&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  ....&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;// Observer interface'ini implemente eden bir sınıf.&lt;br /&gt;// Abonelerine mail yolu ile haberleri ulaştırır.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;public class MailAboneleri implements Observer {&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  private Subject haberYayinlayicisi;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  public MailAboneleri(Subject haberYayinlayicisi) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;           this.haberYayinlayicisi = haberYayinlayicisi;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;           haberYayinlayicisi.registerObserver(this);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  public void update(List&lt;haber&gt; haberler) {&lt;/haber&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;           String mailBody = constructMailBody(haberler);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;           sendMailToSubscribers(mailBody);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;     }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    /**&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;     * bu metod kayitli tum abonelere mail gonderir.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;     * Orn: Aboneler veritabanindan cekilebilir. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;     */ &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  private void sendMailToSubscribers(String mailBody) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;     }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;     // bu metod gonderilecek mail icerigini olusturur.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;     private String constructMailBody(List&lt;haber&gt; haberler) {&lt;/haber&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    return "";&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;     }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;// Bu sınıf da Observer interface'ini implemente eden diger siniftir. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;// Abonelerine rss kanali ile haberleri ulaştırır.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;public class RssAboneleri implements Observer {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  private Subject haberYayinlayicisi;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  public RssAboneleri(Subject haberYayinlayicisi) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;           this.haberYayinlayicisi = haberYayinlayicisi;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;           haberYayinlayicisi.registerObserver(this);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  public void update(List&lt;haber&gt; haberler) {&lt;/haber&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;           String rssXml = constructRssXml(haberler);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;           putXmlToDirectory(rssXml);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  // bu metod rss standartlarina uygun xml'i uretir.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  private String constructRssXml(List&lt;haber&gt; haberler) {&lt;/haber&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;           return null;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;     }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  // bu metod uretile xml'i var olan xml dosyasi ile degistirir.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  // Aboneler'in kullandiklari rss programlari degisikligi otomatik olarak&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;     // algilarlar...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  private void putXmlToDirectory(String rssXml) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;     }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;// Bu sinif da ornek bir calisan sınıftir.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;public class Main {&lt;/span&gt;&lt;br /&gt;   &lt;br /&gt;&lt;span style="font-family:courier new;"&gt;     public static void main(String[] args) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;     HaberYayinlayicisi haberYayinlayicisi =&lt;br /&gt;            new HaberYayinlayicisi();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            MailAboneleri mailAboneleri = &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            new MailAboneleri(haberYayinlayicisi);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    RssAboneleri rssAboneleri = &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            new RssAboneleri(haberYayinlayicisi);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    Haber a = new Haber("Olay, olay, olay!!!", "Bina patladi!!!",&lt;br /&gt;                "www.habermakinasi.com/?id=5");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    Haber b = new Haber("Flas, flas, flas!!!", "Ikinci bina patladi!!!",                                        "www.habermakinasi.com/?id=7");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    List&lt;haber&gt; haberler = new ArrayList&lt;haber&gt;();&lt;/haber&gt;&lt;/haber&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    haberler.add(a);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    haberler.add(b);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            haberYayinlayicisi.setYeniHaberler(haberler);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;      }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Kaynak: &lt;a href="http://www.oreilly.com/catalog/hfdesignpat/"&gt;Head First Design Patterns&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-818202182016347148?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/818202182016347148/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=818202182016347148&amp;isPopup=true' title='5 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/818202182016347148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/818202182016347148'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2007/07/observer-pattern.html' title='Observer Pattern'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_vcjkxVTznMg/RpEd3UMJUpI/AAAAAAAAAKM/0XU19peZKGc/s72-c/Observer+Pattern.png.jpeg' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-2575074375714423364</id><published>2007-05-21T23:05:00.000+03:00</published><updated>2007-05-21T23:21:09.726+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='MyEclipse'/><title type='text'>MyEclipse 5.5 çıktı!!!</title><content type='html'>Eclipse ortamında uygulama geliştirenler için MyEclipse önemli araçlardan bir tanesi. İçerisinde masaüstünden kurumsal yazılıma kadar çeşitli uygulama alanlarını desteklemektedir. Bu yeni versiyonda Java EE 5'i destekliyor. Bu araç anladığım kadarıyla daha çok Web ve Kurumsal taraftaki geliştirmeye ağırlık vermiş. Örneğin Java ME'yi desteklemiyor gözüküyor özelliklerine bakıldığında.&lt;br /&gt;&lt;a href="http://www.myeclipseide.com/module-htmlpages-display-pid-1.html"&gt;Özelliklerine&lt;/a&gt; şöyle bir baktığımda gözüme çarpanlar EJB 3.0, JPA, sürükle bırak web geliştirme (JSF ile), AJAX, JavaScript debugger, Uygulama Sunucu entegrasyonları, Veritabanı Bağlantı Yöneticisi, Spring desteği idi.&lt;br /&gt;Bundan önce MyEclipse'i bir kere deneme fırsatım olmuştu. O zaman Struts ile web uygulaması geliştiriyorduk. Güzel ve zekice editor'ler sunuyordu o zamanlar. Örneğin struts config dosyasından kaynaklara ve classlara ulaşılabiliyordu, görsel olarak gösterimler de vardı galiba. Bu versiyonda herhalde JSF baya hoş şeyler düşünmüşlerdir, hele hele AJAX desteği de varsa.&lt;br /&gt;İndirip denemek lazım...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-2575074375714423364?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/2575074375714423364/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=2575074375714423364&amp;isPopup=true' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/2575074375714423364'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/2575074375714423364'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2007/05/myeclipse-55-kt.html' title='MyEclipse 5.5 çıktı!!!'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-7720613492296839797</id><published>2007-05-20T11:50:00.000+03:00</published><updated>2007-05-20T12:20:29.170+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaFX'/><category scheme='http://www.blogger.com/atom/ns#' term='JRE'/><category scheme='http://www.blogger.com/atom/ns#' term='Adobe Flex'/><category scheme='http://www.blogger.com/atom/ns#' term='JVM'/><title type='text'>Modüler JRE</title><content type='html'>&lt;a href="http://feeds.feedburner.com/%7Er/techtarget/tsscom/home/%7E3/117690809/thread.tss"&gt;Şurada&lt;/a&gt; okuduğum bilgiye göre JRE (Java Runtime Environment) müşteri odaklı, daha basit ve modüler, hale getirilecekmiş. Böylece daha iyi son kullanıcı ve GUI etkileşimleri, ufak dosya indirmeleri, hızlı yüklemeler, hızlı başlangıç gibi son kullanıcıyı memnun edecek özellikler sıralanıyor. Bu özellik Java 6 ile beraber sunulacakmış.&lt;br /&gt;Şu da söyleniyor: Kullanıcı Swing uygulalamalarını çalıştırmak için 3-4 mb'lık JVM'i indirip makinesine kuracak ve uygulama çalışması için ek kütüphaneler istediğinde internetten indirilecekmiş. Ayrıca indirilen yeni paketler diskinizde birden fazla JRE versiyonları oluşturmayacakmış. Buna da on-demand, in-place yükleme demişler.&lt;br /&gt;Bence bu özellik gayet faydalı olur. Çünkü basit bir swing uygulamasını çalıştırmak için 20-30 mb'lık bir JRE yüklemenize gerek kalmaz. Fakat uygulamanın çok fazla ek bağımlılığı varsa bu da çok fazla download'a sebep olacak demektir. Gerçi ilki her zaman kullanışlı olur, ikincisinde gerektiği zaman bir kere indirmiş olacaksınız ve daha sonra indirilen bu kütüphaneleri kullanacaksınız. Gerekmediği zaman niye 20-30 mb'lık bir kurulum kullanayım ki?&lt;br /&gt;Ayrıca indirme olayı benim çalışan programımın çalışmasını etkilememesi lazım. Bu çok önemli bence, aksi takdirde baya eleştiri alır. Örneğin; ben bir uygulamayı çalıştırdım ve uygulama ek bir kütüphaneye ihtiyaç duydu. Kütüphane indirildi ve çalışan uygulama yeniden başlatılmak için sonlandırıldı. Bu göze hoş gözükmüyor. Diyeceksiniz ki indirilecek kütüphane boyutu büyükse uygulama zaten bekleyecek. Zaten indirme hızları git gide artıyor, kaldı ki kütüphane boyutları 50 mb'lık dosyalar değil.&lt;br /&gt;Modüler JRE ile JavaFX &lt;a href="http://download.java.net/general/openjfx/demos/tesla.jnlp"&gt;(demo)&lt;/a&gt; dediğimiz Java'nın son teknolojilerinden birisinin kolay kullanımı hedefleniyor anladığım kadarıyla. JavaFX &lt;a href="http://www.adobe.com/products/flex/"&gt;Adobe Flex'e&lt;/a&gt; karşılık geliştirilen bir teknoloji. Daha sonra bu konuya değinmeyi düşünüyorum.&lt;br /&gt;Yalnız Modüler JRE'nin 2008'in ilk yarısı çıkarılmasının düşünülmesi iyi değil zannımca. Çünkü diğerler şirketlerin dereyi geçmiş olmaları muhtemeldir (&lt;a href="http://www.adobe.com/products/flex/"&gt;Flex&lt;/a&gt;/&lt;a href="http://labs.adobe.com/technologies/apollo/"&gt;Apollo&lt;/a&gt;).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-7720613492296839797?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/7720613492296839797/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=7720613492296839797&amp;isPopup=true' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/7720613492296839797'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/7720613492296839797'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2007/05/modler-jre.html' title='Modüler JRE'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-9220781230822278176</id><published>2007-05-18T14:20:00.000+03:00</published><updated>2007-05-18T14:27:01.855+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hata'/><category scheme='http://www.blogger.com/atom/ns#' term='web servis'/><title type='text'>WSS0340 kodlu Hata!!!</title><content type='html'>Merhaba,&lt;br /&gt;Yazdığım bir uygulamadan bir web servisine bağlanmayı deniyordum. Uygulamayı çalıştırdığımda şöyle bir hata aldım:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;SEVERE: WSS0340: The creation time is ahead of the current time.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;javax.xml.rpc.soap.SOAPFaultException: Invalid creation time value in Timestamp&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Daha sonra nette arattığımda sorunun bilgisayarın sistem zamanının yanlış olmasından kaynaklandığını söylüyordu. Gerçekten de öyleymiş, uygulamayı çalıştırdığım zaman tarih 18.05.2007 14:12 idi, ama sistem zamanı 26.11.2006 14:12 idi. Sistem zamanını değiştirip uygulamayı yeniden başlattığımda uygulama düzgün çalıştı ve web servisine bağlanabildim.&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&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/13440809-9220781230822278176?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/9220781230822278176/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=9220781230822278176&amp;isPopup=true' title='2 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/9220781230822278176'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/9220781230822278176'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2007/05/wss0340-kodlu-hata.html' title='WSS0340 kodlu Hata!!!'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-6456162497113143329</id><published>2007-05-13T12:24:00.000+03:00</published><updated>2007-05-13T12:31:09.620+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='uygulama sunucusu'/><category scheme='http://www.blogger.com/atom/ns#' term='matris'/><title type='text'>Uygulama Sunucu Matrisi</title><content type='html'>Şu &lt;a href="http://www.theserverside.com/tt/articles/article.tss?l=ServerMatrix"&gt;bağlantıda&lt;/a&gt; piyasada kullanılan j2ee uygulama sunucularının bulunduğu bir matris var. Matrisde sunucuların versiyonları, çıkış tarihleri, indirme bağlantıları, kullandıkları JDK versiyonları, destekledikleri EJB, JSP,  JMS versiyonları, (varsa) fiyatları, hakkında yazılmış eleştiriler, çalıştığı platformlar gibi güzel bilgiler var. Kimi sunucuların eski versiyonları olsa da çoğu markayı bir arada sunduğunda güzel bir matris olmuş. Zaten sunucuların yeni versiyonlarını da sitelerinden görebilirsiniz.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-6456162497113143329?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/6456162497113143329/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=6456162497113143329&amp;isPopup=true' title='2 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/6456162497113143329'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/6456162497113143329'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2007/05/uygulama-sunucu-matrisi.html' title='Uygulama Sunucu Matrisi'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-7381999285833637565</id><published>2007-04-01T12:46:00.000+03:00</published><updated>2007-04-01T13:03:23.796+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='Graphics'/><category scheme='http://www.blogger.com/atom/ns#' term='Java Print API'/><title type='text'>Java 6'da Print API Hatası</title><content type='html'>&lt;a href="http://java.sun.com/products/java-media/2D/forDevelopers/sdk12print.html"&gt;Java Print API&lt;/a&gt; bir uygulamadaki yazılı çizili ne varsa bunları yazdırmanızı sağlayan bir kütüphanedir. Bu kütüphane yardımı ile bir &lt;a href="http://java.sun.com/javase/6/docs/api/java/awt/Graphics.html"&gt;Graphics&lt;/a&gt; nesnesinde çizdirdiğiniz her şeyi bir  yazıcıya gönderip yazdırabilirsiniz. Ayrıca bu API sistemdeki tanımlı yazıcıları kullandığı için sizin kodda yazıcı bulmak için çok fazla uğraşmanıza gerek yoktur. Örneğin; Windows'ta tanıttığınız yazıcıları Java Print API kullanabilir.&lt;br /&gt;İşte bende geçenlerde iş yerimde yazdığımız bir uygulamada Graphics nesnesine çizdirdiğim şeyleri bir kart yazıcısında yazdırmak için bu API'yi kullandım. İlk başta &lt;a href="http://java.sun.com/j2se/1.5.0/"&gt;Java 5&lt;/a&gt; ile uygulamayı geliştiriyordum ve gayet güzel çalışıyordu. Yazdığımız uygulama da demo amaçlı bir uygulama idi ve bir gün sonra demo yapacaktık. Herşey gayet düzgün gidiyordu, ta ki &lt;a href="http://java.sun.com/javase/6/"&gt;Java 6&lt;/a&gt;'ya geçene kadar. Son gün Java 6'ya geçtiğimde biraz daha kod yazmaya deva ettim ve uygulamayı bir kez daha denedim. Bir de ne göreyim bir gün düzgün çıktı verdirten kod şimdi düzgün çıktı verdirmiyordu. Sonra birkaç kez daha denedim ama sonuç nafile. Tabi o sırada sorunun Java 6'dan kaynaklandığı hiç aklımın ucundan bile geçmiyordu. 7 saat uğraştıktan sonra arkadaşların yardımı ile Java 6 aklımın ucuna geldi. Daha sonra Java 5'e geçince sorun bitti ama bende bittim.&lt;br /&gt;Diyeceğim Java 6 kullanırken böyle hatalar ile karşılaşabilirsiniz. Muhtemelen geliştiricileri bu API'yi Java 6 için test etmediler. Çünkü bu API bayadır var. Bunu bir bug olarak SUN'ın sitesine girmek lazım...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-7381999285833637565?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/7381999285833637565/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=7381999285833637565&amp;isPopup=true' title='2 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/7381999285833637565'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/7381999285833637565'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2007/04/java-6da-print-api-hatas.html' title='Java 6&apos;da Print API Hatası'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-1561874936491897042</id><published>2007-03-27T23:45:00.000+03:00</published><updated>2007-03-27T23:51:01.299+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Konferans'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><title type='text'>Eclipse İstanbul'da...</title><content type='html'>Eclipse için İstanbul'da 30 Nisan 2007 Pazartesi günü özel bir konferans düzenlenecek. Bu konferansta Eclipse teknolojilerinin gücüne dikkat çekecek yerli ve yabancı konuşmacılar yer alacak. &lt;a href="http://www.eclipsist.org"&gt;Sitesinde&lt;/a&gt; konferansa katılım ücretsiz!!! gözüküyor. Yer olarak İTÜ Ayazağa kampüsü Kültür Merkezi belirtilmiş. Kaçırmayın derim... &lt;a href="http://www.eclipsist.org/eclipsist/2007/navigator.do?page=program"&gt;Konferans programı&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-1561874936491897042?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/1561874936491897042/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=1561874936491897042&amp;isPopup=true' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/1561874936491897042'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/1561874936491897042'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2007/03/eclipse-istanbulda.html' title='Eclipse İstanbul&apos;da...'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-8445633671298563353</id><published>2007-03-17T19:58:00.000+02:00</published><updated>2007-03-17T20:07:08.050+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='sıkıştırma'/><category scheme='http://www.blogger.com/atom/ns#' term='zip'/><title type='text'>Dosyalarınızı Nasıl Sıkıştırırsınız?</title><content type='html'>Merhabalar,&lt;br /&gt;Java'da dosyalarınızı ve klasörlerinizi hiç sıkıştırmayı denediniz mi? Denemediyseniz buyrun böyle alalım:) . Java'yı kullanarak dosya ve klasörlerinizi arşivleyen bir program yazabilirsiniz. Bunun için "java.util.zip" paketini kullanabilirsiniz.  Bu iş için bu paketteki &lt;a href="http://java.sun.com/javase/6/docs/api/java/util/zip/ZipFile.html"&gt;ZipFile&lt;/a&gt;, &lt;a href="http://java.sun.com/javase/6/docs/api/java/util/zip/ZipEntry.html"&gt;ZipEntry&lt;/a&gt; ve &lt;a href="http://java.sun.com/javase/6/docs/api/java/util/zip/ZipOutputStream.html"&gt;ZipOutputStream&lt;/a&gt; sınıflarını kullanabilirsiniz.&lt;br /&gt;&lt;span style="font-style: italic;"&gt;ZipEntry&lt;/span&gt; sınıfı zip dosyasında saklanacak her bir elemanı temsil eder. Bu elemanlar dosyalar ve klasörlerdir. &lt;span style="font-style: italic;"&gt;ZipFile&lt;/span&gt; sınıfı bir zip dosyasını temsil eder. &lt;span style="font-style: italic;"&gt;ZipOutputStream&lt;/span&gt; ise bir zip dosyasına için gerekli olan I/O sınıfıdır.&lt;br /&gt;İsterseniz örneklere bakarak inceleyelim:&lt;br /&gt;&lt;br /&gt;1. Bir dosyayı sıkıştırmak için:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    byte[] readBuffer = new byte[2156];&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    int bytesIn = 0;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    FileInputStream fis = null;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    ZipOutputStream zos = null;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    try {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        zos = new ZipOutputStream(new FileOutputStream("&lt;yazılacak&gt;"));&lt;/yazılacak&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        fis = new FileInputStream(&lt;"Sıkıştırılacak dosyanın yolu"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        // dosya bir zip elemanı haline dönüştürülüyor&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        ZipEntry anEntry = new ZipEntry(fileToZip.getPath());&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        // Zip elemanı yazılmak üzere ZipOutputStream nesnesine veriliyor.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        zos.putNextEntry(anEntry);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        // Son olarak dosyanın içeriği stream'e yazılıyor.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        while((bytesIn = fis.read(readBuffer)) != -1)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            zos.write(readBuffer, 0, bytesIn);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    } catch (FileNotFoundException e) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        e.printStackTrace();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    } catch (IOException e) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        e.printStackTrace();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    } finally {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        // yazma işlemi bittikten sonra streamler kapatılıyor.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        try {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            fis.close();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            zos.close();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        } catch (IOException ex) {}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;2. Bir klasörü sıkıştırmak için:&lt;br /&gt;        Klasör ve klasörün her bir elemanı ayrı bir entry olduğu için ayrı ayrı sıkıştırılır.&lt;br /&gt;&lt;br /&gt;         &lt;span style="font-family:courier new;"&gt;File dirTozip = new File(&lt;"Sıkıştırılacak klasörün yolu"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    ZipOutputStream zos = null;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    try &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    { &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        zos = new ZipOutputStream(new FileOutputStream("&lt;yazılacak&gt;"));&lt;/yazılacak&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        // gerçekten klasör mü?&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        if ( !dirTozip.isDirectory() ) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            throw new IllegalArgumentException(dirTozip+" bir klasör olmalı!");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        // klasörün içeriği alınıyor&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        String[] dirList = dirTozip.list(); &lt;/span&gt;&lt;span style="font-family:courier new;"&gt;        &lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        // klasörün içindeki her bir eleman ayrı ayrı sıkıştırılıyor.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        for(int i=0; i&lt;dirlist.length;&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        { &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            File f = new File(dirTozip, dirList[i]); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            if(f.isDirectory()) &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            { &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                // eğer bu File nesnesi bir klasörse içindekileri sıkıştırmak için&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                // bu fonksiyon yeniden çağrılır (recursive)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                // yeni bir klasörü elemanı oluşturuluyor.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                ZipEntry anEntry = new ZipEntry(f.getPath()+"/");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                zos.putNextEntry(anEntry);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                zipDir(f, zos); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                continue; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            } &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            // Buraya ulaştıysak bir dosya sıkıştırabiliriz demektir.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            zipFile(f, zos); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        } &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    } catch(Exception e) { &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        e.printStackTrace();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    }  finally {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        // yazma işlemi bittikten sonra streamler kapatılıyor.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        try {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            fis.close();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            zos.close();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        } catch (IOException ex) {}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;3. Bir zip dosyasını açmak için:&lt;br /&gt;&lt;br /&gt;    &lt;span style="font-family:courier new;"&gt;    Enumeration entries;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    ZipFile zipFile;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    try {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        zipFile = new ZipFile(&lt;"Açılacak zip'in yolu"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        entries = zipFile.entries();&lt;/span&gt;&lt;br /&gt;       &lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        byte[] buffer = new byte[1024];&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        int len;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        while(entries.hasMoreElements()) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            ZipEntry entry = (ZipEntry)entries.nextElement();&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            // eğer entry bir klasör ise klasör oluşturulmalı&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            if(entry.isDirectory()) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                (new File(entry.getName())).mkdir();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                continue;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            // Entry açılıyor....&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            InputStream in = zipFile.getInputStream(entry);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            BufferedOutputStream out = new BufferedOutputStream(new                                                                                    FileOutputStream(entry.getName()));&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            while((len = in.read(buffer)) &gt;= 0)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                out.write(buffer, 0, len);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            in.close();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            out.close();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        zipFile.close();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    } catch (IOException ioe) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        ioe.printStackTrace();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        return;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Bu 3 işlemle basit bir arşivleme programı yazabilirsiniz. Kolay gelsin...&lt;br /&gt;&lt;br /&gt;&lt;/dirlist.length;&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-8445633671298563353?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/8445633671298563353/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=8445633671298563353&amp;isPopup=true' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/8445633671298563353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/8445633671298563353'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2007/03/dosyalarnz-nasl-sktrrsnz.html' title='Dosyalarınızı Nasıl Sıkıştırırsınız?'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-6662431876375174928</id><published>2007-02-28T09:09:00.000+02:00</published><updated>2007-02-28T09:20:35.847+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='catalog'/><category scheme='http://www.blogger.com/atom/ns#' term='archive'/><category scheme='http://www.blogger.com/atom/ns#' term='index'/><category scheme='http://www.blogger.com/atom/ns#' term='JCataloger'/><title type='text'>JCataloger v1.0 beta</title><content type='html'>&lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="font-size:85%;"&gt;Merhaba,&lt;/span&gt;&lt;/p&gt;         &lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="font-size:85%;"&gt;Açık kaynak olarak geliştirdiğim JCataloger programının v1.0 betasını google project hosting yardımı ile siz değerli insanların kullanımına sunmaya başladım. Kısaca bu programın ne işe yaradığından bahsedeyim: JCataloger size elinizin altında bulunan arşivlerinizi indekslemeyi sağlar. Bunu arşivinizdeki CD, DVD, sabit sürücü... gibi veri saklama ortamlarındaki klasör yapısını kopyalayıp bu klasör yapısını indeksleyerek yapar. Böylece aklınızda olan bir dosyayı kolayca ve hızlı bir şekilde arşivinizde aramaya yardımcı olur. Bu kolaylık şundan dolayıdır; arşivinizde 1000 tane CD varsa bir dosyayı bu kadar CD'ye teker teker bakarak aramak uzun sürebilir. İşte JCataloger sizi bu zahmetten kurtarabilecek bir program.&lt;br /&gt;Yalnız programın beta sürümünü yayımladığımdan dolayı bazı hatalar olabilir. Zaten amacım benim göremediğim hataları ve yenilikleri siz değerli insanların gözleri ile görebilmektir ve bu programı geliştirmektir. JCataloger indeksleme işi için arka tarafta &lt;a href="http://lucene.apache.org/"&gt;Apache Lucene&lt;/a&gt; projesini kullanmaktadır.&lt;br /&gt;Programın kaynak ve çalıştırabilir kodlarını &lt;/span&gt;&lt;a href="http://code.google.com/p/jcataloger/downloads/list"&gt;&lt;span style="font-size:85%;"&gt;http://code.google.com/p/jcataloger/downloads/list&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; adresinden indirebilirsiniz.&lt;br /&gt;JCataloger hakkında hata ve yeni istekleriniz için &lt;/span&gt;&lt;a href="http://code.google.com/p/jcataloger/issues/list"&gt;&lt;span style="font-size:85%;"&gt;http://code.google.com/p/jcataloger/issues/list&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Arial,sans-serif;"&gt; adresini kullanabilirsiniz.&lt;br /&gt;&lt;span style="font-size:85%;"&gt;JCataloger'ın kodu Subversion kullanılarak host edilmektedir. Aşağıdaki adresteki bilgiler ile kodu yerel makinenize çekebilirsiniz.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;tt&gt;&lt;a href="http://code.google.com/p/jcataloger/source"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:Arial,sans-serif;"&gt;http://code.google.com/p/jcataloger/source&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/tt&gt;&lt;/p&gt;  &lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="font-size:85%;"&gt;JCataloger'dan haberdar olmak için &lt;/span&gt;&lt;a href="http://jcataloger.googlepages.com/"&gt;&lt;span style="font-size:85%;"&gt;ana sayfasını&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; ziyaret edebilirsiniz.&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="font-size:85%;"&gt;İyi günler dilerim...&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-6662431876375174928?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/6662431876375174928/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=6662431876375174928&amp;isPopup=true' title='2 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/6662431876375174928'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/6662431876375174928'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2007/02/jcataloger-v10-beta.html' title='JCataloger v1.0 beta'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-2432258606879307542</id><published>2007-02-14T20:08:00.000+02:00</published><updated>2007-02-14T20:15:35.451+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'>Özgür Yazılım ve Açık Kaynak Günleri</title><content type='html'>Merhabalar,&lt;br /&gt;3-4 mart tarihlerinde İstanbul Bilgi Üniversitersi'nde &lt;a href="http://open.bilgi.edu.tr/freedays/"&gt;özgür yazılım ve açık kaynak günleri&lt;/a&gt; düzenlenecek. Bu organizasyon bayadır yapılıyor. Açık kaynak yazılımın gelişmesi için daha fazla organizsayonun yapılması gerekir. Ülkemizin yazılım ithal etmemesi için bu konunun üstüne gidilmelidir. Ticari yazılımlarla yapılacak işleri alternatif olan açık kaynak yazılımlarla da yapabilirsiniz. Buna Java en büyük örnektir bence. Size kurumsal, mobil, masaüstü çözümlerini sunuyor, seç beğen al yani:). Umarım bu organizasyon kaçmaz...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-2432258606879307542?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/2432258606879307542/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=2432258606879307542&amp;isPopup=true' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/2432258606879307542'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/2432258606879307542'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2007/02/zgr-yazlm-ve-ak-kaynak-gnleri.html' title='Özgür Yazılım ve Açık Kaynak Günleri'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-4649717865295997411</id><published>2007-02-01T12:16:00.000+02:00</published><updated>2007-02-01T12:29:29.165+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PARDUS'/><category scheme='http://www.blogger.com/atom/ns#' term='netbeans'/><category scheme='http://www.blogger.com/atom/ns#' term='exception'/><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><title type='text'>NetBeans'de Bir Hata</title><content type='html'>Merhabalar,&lt;br /&gt;PARDUS'ta yada başka bir işletim sisteminde NetBeans  kullanırken özellikle yeni bir proje oluştururken şöyle bir hata ile karşılaşabilirsiniz: &lt;span style="font-weight: bold;"&gt;javax.xml.transform.TransformerConfigurationException : Could not compile stylesheet&lt;/span&gt;. Bu hatayı ben yeni bir görsel JSF projesi oluştururken aldım. Bildiğiniz gibi NetBeans proje oluşturulduğunda ant scriptlerinin bulunuduğu XML dosyalarını da üretiyor. Muhtemelen bir sorundan dolayı bunları üretemiyor ve bu hatayı veriyor. Çözümü ise çok basitmiş. Sadece NetBeans'in konfigürasyonlarının bulunduğu &lt;span style="font-weight: bold;"&gt;netbeans-5.5/etc/netbeans.conf &lt;/span&gt;dosyasındaki &lt;span style="font-weight: bold;"&gt;netbeans_default_options &lt;/span&gt;parametresine locale tr_TR seçeneğini eklemektir. Parametrenin son hali aşağıdaki gibi olacaktır:&lt;br /&gt;&lt;pre&gt;netbeans_default_options="-J-Xms32m -J-Xmx128m -J-XX:PermSize=32m -J-XX:MaxPermSize=96m&lt;br /&gt;-J-Xverify:none --locale tr_TR"&lt;br /&gt;&lt;br /&gt;Bundan sonra projelerinizi düzgün bir şekilde oluşturabilirsiniz.&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-4649717865295997411?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/4649717865295997411/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=4649717865295997411&amp;isPopup=true' title='6 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/4649717865295997411'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/4649717865295997411'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2007/02/netbeansde-bir-hata.html' title='NetBeans&apos;de Bir Hata'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-7250105085162799388</id><published>2007-01-28T19:14:00.000+02:00</published><updated>2007-01-28T19:25:58.141+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C'/><category scheme='http://www.blogger.com/atom/ns#' term='debug'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>Eclipse C/C++ Debugger'ındaki Bir Hatanın Çözümü</title><content type='html'>Yazdığınız C kodunu debug etmek için Eclipse'in C/C++ eklentisini kullanıyorsanız aşağıdaki gibi bir hata ile karşılaşabilirsiniz:&lt;br /&gt;Kullandığım işletim sistemi PARDUS. gcc ve gdb paketleri yüklü. Eclipse yazdığım c kodlarını çalıştırmak ve debug etmek için bu paketleri kullanıyor. Yazdığım bir C kodunu çalıştırabildim, fakat debug yapmak istediğimde &lt;span style="font-weight: bold;"&gt;"Failed to set program arguments, environment or working directory"&lt;/span&gt; gibi bir hata verdi. Bunun nedeni de şu imiş. Benim Eclipse çalışma alanım &lt;span style="font-weight: bold;"&gt;Eclipse Projelerim&lt;/span&gt; isminde bir klasördür. Debugger, oluşturduğunuz bir C projesinin yolunda boşluk karakteri görürse deminki hatayı veriyor. Yani Eclipse Projelerim klasörünün ismini Eclipse_Projelerim şeklinde değiştirdim ve sorun çözüldü. Aynı şekilde C kaynak dosyası da boşluk karakteri içermemeli.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-7250105085162799388?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/7250105085162799388/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=7250105085162799388&amp;isPopup=true' title='2 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/7250105085162799388'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/7250105085162799388'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2007/01/eclipse-cc-debuggerndaki-bir-hatann-zm.html' title='Eclipse C/C++ Debugger&apos;ındaki Bir Hatanın Çözümü'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-8013236273770933779</id><published>2007-01-25T15:10:00.000+02:00</published><updated>2007-01-25T15:42:07.123+02:00</updated><title type='text'>iPhone Java'yı destekleyecek mi?</title><content type='html'>Bildiğiniz gibi &lt;a href="http://www.apple.com/iphone/"&gt;Apple iPhone&lt;/a&gt; ismindeki telefonuyla telefon piyasasına da girmek istiyor. Bu ürün henüz dünya çapında satışa çıkarılmadı. Bu yazıyı yazarken herhalde Amerika'da satılmaktadır. Bu üründe de Apple tasarımdaki yaratıcılığını yine konuşturmuş. Neyse şimdi ürünün reklamını yapmayayım, en iyisi sadete geleyim. Şurda sitede &lt;a href="http://en.wikipedia.org/wiki/Steve_Jobs"&gt;Steve Jobs&lt;/a&gt; ile yapılmış bir söyleşi anlatılmış. Steve Jobs'un dediğine göre iPhone Java'yı içindeki tarayıcısında desteklemeyecekmiş. Çünkü artık Java kullanılmıyormuş, burda herhalde Applet'leri kastetmiş kendisi. Bu konuda haklı olabilir, çünkü gerçekten appletler artık o ilk çıktığı cazibesini nerdeyse kaybetti bence. Artık onun yerine insanlar flash kullanmayı tercih ediyor. Telefona üçüncü parti bir program yükleme konusunda da Jobs şunu söylemiş. "Telefon bir PC değildir, iki üç program kurduktan sonra telefon araması yaptığında telefon çalışmaz hale geliyor." Bence bu yanlış bir düşünce olmuş, çünkü mobil piyasası çok hareketli. Artık yazılım şirketleri mobil programlar geliştirerek bu piyasadaki pastadan pay almaya bakıyorlar. Bu nedenle telefon üreticileriyle yazılım firmaları çeşitli anlaşmalar yapyorlar. Bu nedenle Java ve .Net gibi yazılım ortamlarının bu alanda kullanımı da gittikçe artıyor. Mobil telefon piyasasına bakarsanız yeni çıkan telefonların nerdeyse hepsi Java destekliyor. &lt;a href="http://blogs.zdnet.com/Burnette/?p=238"&gt;Ed Burnette&lt;/a&gt; de bu konuda şunu söylemiş, telefon için yazılım geliştirirken C, C++ gibi unmanaged (yani memory kontrolünü sizin yaptığınız, pointer kullanımı...) yazılım dilleri yerine Java ve .Net gibi managed diller kullanırsanız telefon çökmez. Gerçekten de öyle, C'de eğer tanımladığınız pointer'ları iyi bir şekilde yönetemezseniz ve hafıza kullanımını iyi bir şekilde yönetemezsiniz o program telefona çok zarar verir. Bu nedenle Java gibi garbage collection'ı olan, hafıza yönetimini, pointer kullanımını kendisi ayarlayan diller kullanırsanız bir sorun çıkmaz. Bu anlatılanlara göre iPhone Java'yı desteklemezse yazık olur. Çünkü rekabet edeceği firmalar program desteği konusunda iPhone'a fark atar:)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-8013236273770933779?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/8013236273770933779/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=8013236273770933779&amp;isPopup=true' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/8013236273770933779'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/8013236273770933779'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2007/01/iphone-javay-destekleyecek-mi.html' title='iPhone Java&apos;yı destekleyecek mi?'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-116803164292469853</id><published>2007-01-05T23:02:00.000+02:00</published><updated>2007-01-05T23:14:03.176+02:00</updated><title type='text'>Ölü Pixellere Son!</title><content type='html'>Bir dizüstü bilgisayar satın aldınız diyelim. Çok heyecanlısınız, çünkü uzun süredir bu anı bekliyordunuz. Eski masaüstü bilgisayarınızdan kurtuldunuz. Artık bilgisayarınızı istediğiniz yere taşıyabileceksiniz ve daha bir sürü güzel, heyecanlı düşünceler beyninizi kemiriyor.&lt;br /&gt;Bu düşüncelerle dizüstünüzün kapağını açtınız ve açma düğmesine bastınız. İşletim sistemi çalıştı, herşey yolunda. Fakat o da ne? Ekranda bir tane benek duruyor, elinizle siliyosunuz gitmiyor, tükürüp siliyosunuz gene gitmiyor. Maalesef o benek silmekle gitmez! Bu benek aynen aşağıdaki gibidir:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger/2088/1181/1600/579573/stuck_pixel.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/x/blogger/2088/1181/320/880162/stuck_pixel.jpg" alt="" border="0" /&gt;&lt;/a&gt;Resimdeki kırmızı benek bir ölü pixeldir ve bunun tamiri için makineyi servise gönderebilirsiniz yada &lt;a href="http://www.jscreenfix.com/"&gt;bu sitede&lt;/a&gt; iddia edildiğine göre bir java programı aracılığı ile bu ölü pixeli tekrar canlandırabilirsiniz. Programın ismi de &lt;span style="font-weight: bold; font-style: italic;"&gt;JScreenFix&lt;/span&gt;.  Çalıştırdığınızda karıncalı televizyon görüntüsünü andıran bir arayüz çıkarıyor ve bu ekranın bu ölü pixelleri düzelteceğine inanılıyor. Ölü pixeli olan arkadaşlar, bir deneyip buraya yazarsanız sevinirim. Bilgimiz olsun:)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-116803164292469853?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/116803164292469853/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=116803164292469853&amp;isPopup=true' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/116803164292469853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/116803164292469853'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2007/01/l-pixellere-son.html' title='Ölü Pixellere Son!'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-116794367927953306</id><published>2007-01-04T22:32:00.000+02:00</published><updated>2007-01-04T22:47:59.553+02:00</updated><title type='text'>Solr Index Server!!!</title><content type='html'>Apache &lt;a href="http://incubator.apache.org/solr/"&gt;Solr&lt;/a&gt; isminde bir ürün çıkardı. Solr bir arama sunucusu. Yani siz istediğiniz dökümanları, verileri sunucu tabanlı bir uygulamaya HTTP üzerinden XML istek (request), aynı AJAX gibi, olarak gönderiyorsunuz, sunucu da bu verileri kendi içerisinde &lt;a href="http://lucene.apache.org/java/docs/"&gt;Lucene&lt;/a&gt; projesini kullanarak indeksliyor. Bir şeyi aramak istediğinizde aynı şekilde XML istek olarak HTTP üzerinden sunucuya istek yolluyorsunuz. Sunucu da size sonuçları XML olarak döndürüyor.&lt;br /&gt;Bir düşünsenize, büyük bir şirket ve yüklü bir döküman yığınının tutulduğu bir veya bir kaç sunucu var ve bu dökümanlardan tüm çalışanlar faydalanıyor. Solr sayesinde bu dökümanları indeksleyebilir ve hızlı arama sonuçlarına ulaşabilirsiniz, aynı google gibi:). Solr kullanarak sunucu üzerinde arama yapıp sonuçlarını kullanıcıya güzel bir arayüzle gösteren kullanıcı tabanlı (thin client) uygulamalar yazabilirsiniz. Örnekler çoğaltılabilir.&lt;br /&gt;Bu uygulamanın &lt;a href="http://incubator.apache.org/solr/features.html"&gt;özellikleri&lt;/a&gt; ve bir de &lt;a href="http://incubator.apache.org/solr/tutorial.html"&gt;eğitimi&lt;/a&gt; mevcut! Kolay gelsin...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-116794367927953306?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/116794367927953306/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=116794367927953306&amp;isPopup=true' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/116794367927953306'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/116794367927953306'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2007/01/solr-index-server.html' title='Solr Index Server!!!'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-116775671011190045</id><published>2007-01-02T18:42:00.000+02:00</published><updated>2007-01-02T18:51:55.843+02:00</updated><title type='text'>Aptana Web IDE</title><content type='html'>Selamlar,&lt;br /&gt;Eclipse  RCP kullanılarak  &lt;a href="http://www.aptana.com/"&gt;Aptana&lt;/a&gt; isminde bir web ide geliştirilmiş. Bu  IDE sayesinde  html, javascript ve css dosyalarınızı gayet kolaylıkla yönetebilirsiniz. Örneğin javascript kullanarak bir kütüphane (mesela AJAX kütüphanesi) yazmak istiyorsanız bu Aptana gayet iyi bir seçim olabilir. Çünkü ilk önce eclipse ortamından kopmamış oluyorsunuz, ikincisi Aptana içinde bir tane javascript debugger'ı getiriyor. Böylelikle yazdığınız javascript kodlarının nasıl çalıştığını gözlemleyebilirsiniz. Bir diğer özellik html, css, javascript için kod yardımı (code assist) özelliği de var.&lt;br /&gt;Ayrıca bu Aptana'yı kullananlar bir de eğitim amaçlı olarak videolarını koydukları bir &lt;a href="http://www.aptana.tv/"&gt;site&lt;/a&gt; yapmışlar. Bu sitede çeşitli kısa eğitimler bulabilirsiniz.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-116775671011190045?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/116775671011190045/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=116775671011190045&amp;isPopup=true' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/116775671011190045'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/116775671011190045'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2007/01/aptana-web-ide.html' title='Aptana Web IDE'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-116756041763326777</id><published>2006-12-31T12:19:00.000+02:00</published><updated>2007-01-02T19:26:28.226+02:00</updated><title type='text'>Bayram Tebriği</title><content type='html'>Herkesin kurban bayramını kutlar, yeni yılın sağlık, başarı ve mutluluk getirmesini dilerim.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-116756041763326777?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/116756041763326777/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=116756041763326777&amp;isPopup=true' title='2 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/116756041763326777'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/116756041763326777'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2006/12/bayram-tebrii.html' title='Bayram Tebriği'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-116553218677928951</id><published>2006-12-08T00:54:00.000+02:00</published><updated>2006-12-09T16:28:24.066+02:00</updated><title type='text'>Özgürlük için...</title><content type='html'>&lt;a href="http://www.pardus.org"&gt;Pardus 2007&lt;/a&gt;'yi bekliyoruz ve blog kardeşliğine katılıyorum ve diyorum:Özgürlük için...  ve sizde söyleyin: Özgürlük için...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-116553218677928951?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/116553218677928951/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=116553218677928951&amp;isPopup=true' title='2 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/116553218677928951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/116553218677928951'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2006/12/zgrlk-iin.html' title='Özgürlük için...'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-116542674041107237</id><published>2006-12-06T19:32:00.000+02:00</published><updated>2006-12-06T19:40:48.690+02:00</updated><title type='text'>Virtual Ant</title><content type='html'>&lt;a href="http://ant.apache.org/"&gt;Ant&lt;/a&gt;'ı kullanmayanımız yoktur herhalde.Kısaca Ant bizlere karmaşık sistemlerin build ve deploy işlemlerini kolay bir şekilde yapmamızı sağlıyor.Şu ana kadar bu işlemi elimizle build.xml dosyaları yazarak yapıyorduk.Fakat,saolsun,bundan sonra elimizle yazmayacağız,elimizle tıklayarak yapacağız,yani fare kullanarak:)Virtual Ant denilen proje görsel olarak ant scriptleri hazırlamamıza olanak sağlıyor.Proje windows'taki file exporere gibi bir arayüzle karşınıza çıkıyor.Burdaki dosyalar üzerindeki yapacağınız işlemler gerçek dosya sistemini etkilemiyor.Yani sanal çalışıyorsunuz.Yaptığınız her işlem bir ant task'ı olarak kaydediliyor.Daha geniş bilgi için &lt;a href="http://www.placidsystems.com/virtualant/Default.aspx"&gt;sitesine&lt;/a&gt; ve &lt;a href="http://www.placidsystems.com/virtualant/video/newdemo/vantdemo.htm"&gt;demosuna&lt;/a&gt; bakabilirsiniz.Unutmadan proje paralıdır.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-116542674041107237?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/116542674041107237/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=116542674041107237&amp;isPopup=true' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/116542674041107237'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/116542674041107237'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2006/12/virtual-ant.html' title='Virtual Ant'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-116534959003509824</id><published>2006-12-05T21:52:00.000+02:00</published><updated>2006-12-06T11:46:11.620+02:00</updated><title type='text'>Pardus'a geçtim</title><content type='html'>Merhabalar,&lt;br /&gt;Artık ben de bir Linux kullanıcısı oldum.Daha doğrusu &lt;a href="http://www.pardus.org.tr/"&gt;PARDUS&lt;/a&gt; kullanıcısı.Bu iletinin java ile fazla bir ilgisi yok fakat bundan sonra PARDUS'ta java ile ilgili karşılaştığım sorunlar olup çözümlerini bulduğum zaman buraya yazacağım.Şu an windows'a hiç ihtiyaç duymuyorum.PARDUS'u Tubitak'taki ve emek veren herkes çok güzel bir şekilde inşa etmişler.PARDUS'u kurduğunuz zaman ihtiyacınız olan her şey beraberinde geliyor.Yeni bir şey yüklemek istediğinizde PISI adı verilen kendilerinin geliştirdiği paket yükleme ve güncelleme aracını kullanıyorsunuz.RPM ve DEB uzantılı dosyaların kurulumunu desteklemiyor.PARDUS'u kurduktan sonra yeni bir işletim sistemine geçmemden dolayı bir kaç zorlukla karşılaşmadım değil.Bunların en önemlisi internet oldu.Bende ZOOM 5510B USB ADSL modem vardı ve bunu bir türlü tanıtamadım.Kendi içinde gelen eciadsl paketi benim modemin bir eski versiyonunu destekliyormuş.Ben ne yaptım, abimin zoom ethernet modemi ile takas ettim benim modemi.Böylece sorun çözüldü:)&lt;br /&gt;Java uygulamalarını kurmam da hiç zor olmadı.Ne kurdum:&lt;a href="http://www.eclipse.org/"&gt;Eclipse 3.2.1&lt;/a&gt;,&lt;a href="http://www.netbeans.org/"&gt;NetBeans 5.5&lt;/a&gt;, &lt;a href="http://www.netbeans.org/products/visualweb/"&gt;NetBeans Visual Web Pack&lt;/a&gt;, &lt;a href="https://glassfish.dev.java.net/"&gt;Glassfish Application Server&lt;/a&gt;.Bunlardan NetBeans'in kurulumunda sorunlar oldu.Bu sorunların çözümünü daha sonra dile getireceğim.Şu an çok güzel bir şekilde Java geliştirebiliyorum.&lt;br /&gt;Bence PARDUS'u tüm Türkiye kullanmalı.En önemlisi milli bir işletim sistemi.Böylece açık kaynak koda desteğimiz de artmış olur ve piyasadaki microsoft tekelide azalmış olur.Windows'un kullanım açısından en son kullanıcıya hitap etmesini inkar etmemek lazım;fakat PARDUS'un da bu özellik olarak fazla eksik bir tarafı yok bence.Tamamen alışkanlık meselesi, kullandıkça alışıyorsunuz...İyi günler dilerim...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-116534959003509824?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/116534959003509824/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=116534959003509824&amp;isPopup=true' title='4 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/116534959003509824'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/116534959003509824'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2006/12/pardusa-getim.html' title='Pardus&apos;a geçtim'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-116461395103896640</id><published>2006-11-27T09:45:00.000+02:00</published><updated>2006-11-27T09:52:31.360+02:00</updated><title type='text'>JBuilder 2007 ve Eclipse</title><content type='html'>Merhaba,&lt;br /&gt;&lt;a href="http://www.borland.com/us/products/jbuilder/index.html"&gt;JBuilder 2007&lt;/a&gt; sürümü Eclipse RCP kullanılarak geliştirilmiş.Yani çekirdek eclipse'in üzerine kendi eklentilerini geliştirmişler.Böylece Eclipse kullanıcıları JBuilder'a farklı Eclipse eklentileri ekleyebilecekler.&lt;br /&gt;Bu sürüm çeşitli güzel özellikleri içinde barındırıyor.Görsel olarak &lt;a href="http://java.sun.com/products/ejb/"&gt;EJB 3.0&lt;/a&gt; ve &lt;a href="http://java.sun.com/developer/technicalArticles/J2EE/jpa/"&gt;JPA&lt;/a&gt; sınıflarını tasarlayabiliyorsunuz.Masaüstü programlar için görsel olarak GUI tasarlayabiliyorsunuz ki JBuilder bu konuda bir hayli iddialıdır.&lt;br /&gt;Denemekte fayda var:) İyi çalışmalar...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-116461395103896640?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/116461395103896640/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=116461395103896640&amp;isPopup=true' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/116461395103896640'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/116461395103896640'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2006/11/jbuilder-2007-ve-eclipse.html' title='JBuilder 2007 ve Eclipse'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-116274788614230590</id><published>2006-11-05T19:26:00.000+02:00</published><updated>2006-11-05T19:31:26.490+02:00</updated><title type='text'>Java 6 (Mustang)'deki Değişikliklerin Listesi</title><content type='html'>Merhabalar,&lt;br /&gt;Aşağıdaki linkte Java 6'daki iyileştirmeler ve yeni özellikler  listelenmiş.Faydalı olacağını düşündüm.&lt;br /&gt;&lt;a href="http://java.sun.com/javase/6/webnotes/features.html"&gt;http://java.sun.com/javase/6/webnotes/features.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-116274788614230590?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/116274788614230590/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=116274788614230590&amp;isPopup=true' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/116274788614230590'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/116274788614230590'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2006/11/java-6-mustangdeki-deiikliklerin.html' title='Java 6 (Mustang)&apos;deki Değişikliklerin Listesi'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-116266316067186031</id><published>2006-11-04T19:50:00.000+02:00</published><updated>2006-11-04T20:12:49.646+02:00</updated><title type='text'>Dikey yazı nasıl yazarsınız?</title><content type='html'>Bildiğiniz üzere Graphics interface'nin drawString metodunu kullanarak bir JFrame üzerinde istediğiniz koordinatta bir yazı yazdırabilirsiniz.Dikey olarak yazı yazdırmak istediğinizde nasıl yaparsınız? Aşağıdaki kod parçası bu işi yapmaktadır:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;public static void drawVerticalText( Graphics g, double drawType, String label, int xPos, int yPos ) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        Graphics2D g2D = (Graphics2D)g;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    // Yazıyı döndürmek için transformasyon gerekiyor.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    AffineTransform fontAT = new AffineTransform();&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    // Varolan fontun bozulmaması için&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    Font theFont = g2D.getFont();&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    // 90 derece sola dondurulmus eni font oluşturuluyor&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    fontAT.rotate(3*Math.PI/2);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    Font theDerivedFont = theFont.deriveFont(fontAT);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    // yeni fontu belirleniyor&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    g2D.setFont(theDerivedFont);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    // yazınızı dondurulmus fontla yazabilirsiniz&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    g2D.drawString(label, xPos, yPos);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    // varolan fontu tekrar kullanmaya devam edin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    g2D.setFont(theFont);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Metoda parametre olarak kullandığınız Graphics objesi ve diğer gerekli parametreleri verdikten sonra istediğiniz koordinata istediğiniz yazıyı yazabilirsiniz.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-116266316067186031?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/116266316067186031/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=116266316067186031&amp;isPopup=true' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/116266316067186031'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/116266316067186031'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2006/11/dikey-yaz-nasl-yazarsnz.html' title='Dikey yazı nasıl yazarsınız?'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-116258323626926827</id><published>2006-11-03T21:46:00.000+02:00</published><updated>2006-11-03T21:49:06.996+02:00</updated><title type='text'>NetBeans mi Eclipse mi?</title><content type='html'>&lt;p style="margin-bottom: 0in;"&gt;Merhabalar,&lt;br /&gt;Başlıkdan da anlaşıldığı üzere yeni çıkan &lt;a href="http://www.netbeans.org/"&gt;NetBeans 5.5&lt;/a&gt; ile &lt;a href="http://www.eclipse.org/"&gt;Eclipse 3.2&lt;/a&gt; arasındaki artıları eksileri haddim üzere olmayarak fikirlerimi belirtmek istedim.Öncelikle yazacaklarım Charles Ditzel ile yapılan bir &lt;span style="color: rgb(0, 0, 128);"&gt;&lt;u&gt;&lt;a href="http://java.sun.com/developer/technicalArticles/Interviews/ditzel_qa.html"&gt;röportaja&lt;/a&gt;&lt;/u&gt;&lt;/span&gt; dayanmaktadır.Kendisi sitesinde aldığım gibi koyuyorum &lt;i&gt;a partner area architect at Sun Microsystems.&lt;/i&gt;&lt;br /&gt;Öncelikle NetBeans'de şöyle bir özellik var."All in one".Türkçe söylemek isterdim fakat bu daha güzel sanki.Yani geliştirme adına bulabileceğiniz her şey nerdeyse NetBeans'i kurduğunuzda geliyor.Mesela GUI designer olarak &lt;a href="http://www.netbeans.org/kb/41/flash-matisse.html"&gt;Matisse&lt;/a&gt; projesi adında yürütülen çalışma ile geliyor ve gayet başarılı.Masaüstü için görsel uygulamalar geliştirmeyi çok kolay hale getiriyor. Sonra &lt;a href="http://java.sun.com/javaee/"&gt;Java EE 5&lt;/a&gt;'i destekliyor ki şu an IDE'ler arasında &lt;a href="http://www.jetbrains.com/idea/"&gt;IntelliJ IDEA&lt;/a&gt; dışında hiçbir IDE Java EE 5'i desteklemiyor.Ayrica kullandığınız veritabanlarına IDE ortamından bağlanmanıza olanak sağlıyor.NetBeans içerisinde Struts ve JSF desteği veriyor.Fakat bu yukarda saydıklarımın hiç biri eklenti yüklemeden Eclipse ile kullanılamıyor.Masaüstü için görsel programlar yazmak istiyorsanız Visual Editor eklentisini indirmeniz gerek.JAVA EE desteklemek için &lt;a href="http://www.eclipse.org/webtools/"&gt;WTP (Web Tools Project)&lt;/a&gt; indirmeniz gerek ki boyutu 180 MB civarında.Ayrıca &lt;a href="http://struts.apache.org/"&gt;Struts&lt;/a&gt; ve &lt;a href="http://java.sun.com/javaee/javaserverfaces/"&gt;JSF&lt;/a&gt; desteği de maalesef yok.Bunların yanı sıra NetBeans ortamına kendi sitesinde yayınlanan çeşitli paketler yardımı ile yeni geliştirme ortamları eklemek mümkün.Örneğin; &lt;a href="http://www.netbeans.org/products/mobility/"&gt;Mobility Pack&lt;/a&gt; ile &lt;a href="http://java.sun.com/javame/index.jsp"&gt;J2ME&lt;/a&gt; geliştirme ortamı olması ki telefonlara sürükle bırak özelliği ile görsel uygulamalar yazabiliyorsunuz.&lt;a href="http://www.netbeans.org/products/visualweb/"&gt;Visual Web Pack&lt;/a&gt; ile sürükle bırak JSF web uygulamaları yapabileceğiniz ortamı oluşturabiliyorsunuz.Ayrıca Eclipsede de olduğu geniş bir plugin listesi var.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;Eclipse'i indirdiğinizde ise bir editor,debugger,compiler geliyor.Sakın yanlış anlamayın, Eclipse'i kötülüyor değilim.Ben de genel olarak Eclipse'i kullanıyorum.Çünkü Eclipse'in look &amp; feel'i beni rahatlatıyor.NetBeans genel olarak ne kadar hızlandı deseler de Eclipse'i geçemez.Bir kere kod yazarken real-time compiler'ı NetBeans ile kıyaslaştırılamaz.NetBeans kodu değiştirdikten 2-3 sn. sonra uyarı veriyor neredeyse:).Ayrıca Eclipse'in perspective ve view mantığı diğer IDE'lere taş çıkartacak nitelikte.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;Ama dediğim gibi iş web uygulaması, EJB uygulaması gibi kurumsal uygulamalar geliştirmeye geldiğinde ve son teknolojiyi kullanmaya geldiğinde Eclipse NetBeans'e göre zayıf kalıyor.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;Benim şu ana kadar genel olarak izlenimlerim böyle.Sizin düşüncülerinizi de almak isterim.İyi çalışmalar dilerim...&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-116258323626926827?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/116258323626926827/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=116258323626926827&amp;isPopup=true' title='6 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/116258323626926827'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/116258323626926827'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2006/11/netbeans-mi-eclipse-mi.html' title='NetBeans mi Eclipse mi?'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-116192676776938208</id><published>2006-10-27T08:22:00.000+03:00</published><updated>2006-10-27T08:27:53.726+03:00</updated><title type='text'>JavaScript 1.7</title><content type='html'>Merhabalar, &lt;a href="http://en-us.www.mozilla.com/en-US/firefox/2.0/releasenotes/"&gt;Mozilla Firefox 2.0&lt;/a&gt; versiyonuyla piyasaya merhaba dedi.Yeni sürümün özelliklerini incelerken JavaScript 1.7'yi desteklediğini gördüm.Yani JavaScript'in yeni versiyonunun çıktığını da bu şekilde öğrendim.JavaScript'teki yeni özellikleri anlatan bir makale yayınlamışlar.&lt;a href="http://developer.mozilla.org/en/docs/New_in_JavaScript_1.7"&gt;İşte burda!&lt;/a&gt; Gerçekten çok hoş özellikler eklenmiş.Mesela Java'daki iterator mantığı getirilmiş, functionlar artık birden fazla değer döndürebiliyor ve döndürülen değerleri aynı anda farklı değişkenlere atayabiliyorsunuz...Makaleye bakmanızı tavsiye ederim.&lt;br /&gt;İyi çalışmalar...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-116192676776938208?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/116192676776938208/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=116192676776938208&amp;isPopup=true' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/116192676776938208'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/116192676776938208'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2006/10/javascript-17.html' title='JavaScript 1.7'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-115934736593886794</id><published>2006-09-27T11:47:00.000+03:00</published><updated>2006-09-27T12:03:36.513+03:00</updated><title type='text'>JAR içinden resim dosyası nasıl okunur?</title><content type='html'>Bir masaüstü uygulaması yazdınız.Uygulamanızın tüm dosyalarının (java, class, resim dosyaları...) aynı jar içinde olmasını istiyorsunuz.Böyle bir jar dosyası oluşturabilirsiniz fakat kaynak dosyalarını mesela resim dosyalarını direk kodunuzun içinden aşağıdaki gibi:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span style="color: rgb(51, 102, 102);font-family:courier new;" &gt;Icon icon = new ImageIcon("pic1.jpg");&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;çağıramazsınız.Bunu yapmak için aşağıdaki gibi kodlamanız gerekecek:&lt;br /&gt;&lt;br /&gt;                                                                 &lt;span style="color: rgb(51, 102, 102);font-family:courier new;" &gt;// İlk önce ClassLoader objesini alırsınız.&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="color: rgb(51, 102, 102);font-family:courier new;" &gt;                                                    ClassLoader cl = this.getClass().getClassLoader();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 102);font-family:courier new;" &gt;                                                    // Create icons&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 204);font-family:courier new;" &gt;&lt;span style="color: rgb(51, 102, 102);"&gt;                                                    Icon saveIcon  = new ImageIcon(cl.getResource("images/save.gif"));&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(102, 0, 204);font-family:courier new;" &gt;&lt;/span&gt;İlk önce Bir tane &lt;a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/ClassLoader.html"&gt;ClassLoader&lt;/a&gt; objesi alıyorsunuz.Daha sonra bu obje ile resim dosyasını bir resource olarak programınıza yüklüyorsunuz.Yalnız getResource metodunun içine resim dosyasının tüm yolunu vermeyi unutmayın.&lt;br /&gt;&lt;/div&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/13440809-115934736593886794?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/115934736593886794/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=115934736593886794&amp;isPopup=true' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/115934736593886794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/115934736593886794'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2006/09/jar-iinden-resim-dosyas-nasl-okunur.html' title='JAR içinden resim dosyası nasıl okunur?'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-115934614132931118</id><published>2006-09-27T10:41:00.000+03:00</published><updated>2006-10-05T16:20:47.953+03:00</updated><title type='text'>AJAX Frameworks</title><content type='html'>Merhabalar,&lt;br /&gt;Geçen gün AJAX için yapacağımız çalışma için piyasada var olan ve güzel olan AJAX çatılarını (framework) incelemeye çalıştım.Benim beğendiklerim aşağıdaki gibidir,bilmem siz ne dersiniz:)&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;a style="font-weight: bold;" href="https://ajax4jsf.dev.java.net/nonav/ajax/ajax-jsf/"&gt;Ajax4JSF&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;:&lt;/span&gt; JSF (Java Server Faces) çatısı için hazırlanmış.Bedava...&lt;a href="https://ajax4jsf.dev.java.net/nonav/ajax/ajax-jsf/download.html#examples"&gt;Demo!!!&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.nextapp.com/platform/echo2/echo/"&gt;&lt;span style="font-weight: bold;"&gt;Echo 2:&lt;/span&gt;&lt;/a&gt; Gayet güzel bir çalışma.Özellikle size sunduğu bileşenler (component) çok hoş.Yalnız biraz yavaş çalışıyor.Bu proje ile javascript, html ve http bilmenize gerek kalmiyor.Çünkü size java uygulamasi yazma olanağı sağlıyor ve bunu web sayfasi olarak sunuyor.Tek gereken bir servlet container ve java bilgisi,ayrıca bedava...&lt;a href="http://www.nextapp.com/platform/echo2/echo/demo/"&gt;Demo!!!&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.backbase.com/"&gt;&lt;span style="font-weight: bold;"&gt;Backbase:&lt;/span&gt;&lt;/a&gt; Bu projeyi görünce adamlar aşmış dedim.Hoş ve hızlı bileşenlerle ve zeki kullanım kolaylıkları ile gayet güzel bir ajax çatısı olmuş.Bu proje size kendi kütüphanesini sunuyor.Eclipse için plugin desteği var.Ayrıca .net versiyonu da var.Yalnız paralı, 30 günlük deneme süresi var.&lt;a href="http://www.backbase.com/#home/pulldown/demos.xml%5B0%5D"&gt;Demo!!!&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://getahead.ltd.uk/dwr"&gt;&lt;span style="font-weight: bold;"&gt;DWR (Direct Web Remoting):&lt;/span&gt;&lt;/a&gt; Bu proje ile java metodlarını bir jsp dosyasından direk çağrabiliyorsunuz.JavaScript fonksiyonlarının içerisinde yazdığınız java metodlarını çağırdığınız için sayfaların yenilenmesine gerek kalmıyor.Ayrıca Struts,JSF,hibernate desteği de var.&lt;a href="http://getahead.ltd.uk/dwr/examples"&gt;Demo!!!&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.icesoft.com/"&gt;&lt;span style="font-weight: bold;"&gt;ICEFaces:&lt;/span&gt;&lt;/a&gt; Paralı olan bu ürün size kendi JSF bileşenlerini sunuyor.Kullanımı kolay, görsellik güzel.&lt;a href="http://www.icesoft.com/products/demos_icefaces.html"&gt;Demo!!!&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.jspcontrols.net/"&gt;&lt;span style="font-weight: bold;"&gt;JSP Controls Tag Library:&lt;/span&gt;&lt;/a&gt; Bu proje otomatik olarak tarayıcının (browser) senkron çalışıp çalışmadığını algılıyor ve sayfaları istenilen modda açma olanağı sağlıyor.Bedava...&lt;a href="http://www.superinterface.com/jspcontrols/index.html"&gt;Demo!!!&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.clearnova.com/"&gt;&lt;span style="font-weight: bold;"&gt;ThinkCAP JX:&lt;/span&gt;&lt;/a&gt; Bu ürün size RAD ortamı sağlıyor ve hızlı bir şekilde AJAX uygulamaları geliştirebiliyorsunuz.Eclipse, JBuilder... için plug-in desteği var.Çatısı açık kaynak fakat RAD ortamı para ile satılıyor.&lt;a href="http://www.clearnova.com/"&gt;Demo!!!&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.thinwire.com/"&gt;&lt;span style="font-weight: bold;"&gt;ThinWire:&lt;/span&gt;&lt;/a&gt; ThinkCAP JX tarzı bir proje.Masaüstü tarzı uygulamalar yapabiliyorsunuz.Ayrıca herşeyi bedava.&lt;a href="http://www.thinwire.com/examples.html"&gt;Demo!!!&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-115934614132931118?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/115934614132931118/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=115934614132931118&amp;isPopup=true' title='2 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/115934614132931118'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/115934614132931118'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2006/09/ajax-frameworks.html' title='AJAX Frameworks'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-115677403258304820</id><published>2006-08-28T16:53:00.000+03:00</published><updated>2006-10-03T15:48:43.020+03:00</updated><title type='text'>Annotation de neymiş?</title><content type='html'>&lt;a href="http://tr.wikipedia.org/wiki/Java_programlama_dili"&gt;Java 5&lt;/a&gt; ile gelen Java syntax'ındaki değişikliklerde annotation kısmına göz atıyordum. &lt;a href="http://java.sun.com/j2se/1.5.0/docs/guide/language/annotations.html"&gt;Annotation&lt;/a&gt; kısmını okuduğumda bu yapıyı acaba kendi yazdığım uygulamalarda nasıl kullanırım diyordum. Aklıma doğru dürüst bir fikir gelmiyordu. Ta ki &lt;a href="http://java.sun.com/javaee/"&gt;Java EE 5&lt;/a&gt; teknolojisine bakana kadar. Adamlar her şeyi annotation ile yapmışlar.Gerçekten çok hoşuma gitti, çünkü XML kullanımını minimum seviyeye indirmişler ve uygulamaları geliştirmek gayet kolaylaşmış. Örneğin; .NET platformunda web servis oluşturmayı herkes denemiştir. Gerçekten kolay bir şekilde web servis tanımlayabiliyorsunuz. Servis metodlarının başına, hatırladığım kadarıyla, [Web Method] deyince .NET geri kalan kısmı sizin için hallediyordu. Java EE 5'de de aynı şekilde Web Servis sınıfının başına @WebService ve servis metodlarının başına @WebMethod yazınca Web Servisinizi yazmış oluyorsunuz, geriye ufak tefek işler kalıyor. EJB'lerin yapısı da gayet kolaylaşmış annotation yardımı ile.&lt;br /&gt;Bence annotation mantığı iyi kavranırsa mimarisi daha güzel ve kodu daha anlaşılır uygulamalar geliştirilebilir.Herkese iyi çalışmalar...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-115677403258304820?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/115677403258304820/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=115677403258304820&amp;isPopup=true' title='6 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/115677403258304820'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/115677403258304820'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2006/08/annotation-de-neymi.html' title='Annotation de neymiş?'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-115583646021186643</id><published>2006-08-17T20:38:00.000+03:00</published><updated>2006-12-05T14:16:30.030+02:00</updated><title type='text'>JSTL mi, Struts Tag Library mi?</title><content type='html'>&lt;p style="text-align: left;"&gt;Bildiğiniz gibi &lt;/p&gt;&lt;a href="http://struts.apache.org/"&gt;Struts framework&lt;/a&gt;'ünü kullanarak &lt;a href="http://en.wikipedia.org/wiki/Model-view-controller"&gt;MVC (Model-View-Controller)&lt;/a&gt; modeline göre web uygulamarı geliştiribiliyorsunuz. Bu modelin view kısmında yani kullanıcı arayüzü kısmında isteğe (request) veya oturuma (session) gömdüğünüz objelerin alanlarını (field) göstermek için, scriplet kullanmak istemiyorsanız, ya &lt;a href="http://struts.apache.org/1.2.4/userGuide/dev_logic.html"&gt;Struts etiket kütüphanesini (tag library)&lt;/a&gt; kullanıyorsunuz, ya &lt;a href="http://java.sun.com/products/jsp/jstl/"&gt;jstl (java standard tag library)&lt;/a&gt; ya da kendi yazdığınız etiket kütüphanesini kullanıyorsunuz. Kendi yazdıklarınızı şu an es geçelim. Ben bu iletide JSTL ve Struts etiket kütüphanesinin arasındaki önemli gördüğüm farklılıkları anlatacağım:&lt;p&gt;&lt;/p&gt;&lt;ol&gt;    &lt;li&gt;En önemli fark bence isteğe ya da oturuma gömdüğünüz bir objeyi JSTL'in bulamaması durumunda bir hata vermemesi, sayfayı çalıştırmaya devam etmesi, Struts'da ise NullPointerException yada başka hatalar üretip sayfayı çalıştırmaması.Bu durumun hem avantajı hem de dezavantajı var. Eğer objenin değeri gerçekten sizin için önemli değilse çalışmaya devam etmesi gerçekten güzel olur; fakat objenin değeri sizin için önemli ise bir sorun olduğunu düşünüp hatalı kısmı gözden geçirmek istersiniz. Bu farklılık size fayda sağlıyor.Devam etmesini düşündüğünüz yerlerde JSTL kullanıp hatalı yerlerde Struts etiket kütüphanesini kullanabilirsiniz. Aslında Struts etiket kütüphanesinde olan herşey JSTL'de mevcut, sadece html tag library'si hariç.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;JSTL yazımı Struts etiket kütüphanesinden daha kolay. Derli toplu bir yapısı var, özellikle expression language kullanarak gayet kısa ve güze kodlar yazabiliyorsunuz.Mesela &amp;lt;c:forEach [attributes]&amp;gt;...&amp;lt;/c:forEach&amp;gt; etiketi (tag) ile &amp;lt;logic:iterate [attributes]&amp;gt;...&amp;lt;/logic:iterate&amp;gt; etiketi  aynı işi yapıyor.Fakat bence core etiket kütüphanesi etiketi olan forEach daha derli toplu ve anlaşılır.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Son olarak da JSTL'in JSR (Java Specification Request) olarak geliştirilmesi, Struts etiket kütüphanesinin de Apache tarafından geliştirilmesidir. JSTL ilk önce çıkmıştır. Bu nedenle ilk göz ağrısı unutulmaz:)&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;Benim tercihim genelde JSTL olmuştur, bir tek form elemanlarını oluşturmak için Struts'ın html tag libray'sini kullanmak zorundasınız.Çünkü bunun karşılığı JSTL'de yok. Neyseki Java alemindeki çeşitlilikten dolayı istediğimiz tag libray kullanabiliriz...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-115583646021186643?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/115583646021186643/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=115583646021186643&amp;isPopup=true' title='2 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/115583646021186643'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/115583646021186643'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2006/08/jstl-mi-struts-tag-library-mi_17.html' title='JSTL mi, Struts Tag Library mi?'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-115385591468480251</id><published>2006-07-25T22:08:00.000+03:00</published><updated>2006-10-18T09:51:10.950+03:00</updated><title type='text'>IntelliJIdea 6.0</title><content type='html'>&lt;a href="http://www.jetbrains.com/idea/"&gt;IntelliJIdea&lt;/a&gt;'yi zamanında kullanmıştım, o zaman versiyonu 4.0'tü galiba. Şimdi &lt;a href="http://www.jetbrains.com/idea/features/newfeatures.html#collaboration"&gt;6.0&lt;/a&gt; versiyonu çıkacak. Yeni özellik olarak ne gelmiş diye bir baktım ve şu an Java dünyasında güncel ne varsa bu yeni versiyonda entegre edilmiş. Gözüme çarpanlar &lt;a href="http://java.sun.com/products/ejb/"&gt;EJB 3.0&lt;/a&gt;, &lt;a href="http://java.sun.com/javaee/javaserverfaces/"&gt;JSF&lt;/a&gt;, &lt;a href="http://adaptivepath.com/publications/essays/archives/000385.php"&gt;AJAX&lt;/a&gt;, &lt;a href="http://struts.apache.org/"&gt;Struts&lt;/a&gt;, &lt;a href="http://code.google.com/webtoolkit/"&gt;GWT (Google Web Toolkit)&lt;/a&gt;, GUI designer. EJB için persistence sınıflarını gösteren dialog haritaları eklenmiş. Bu haritalarla görsel olarak sınıflar arasındaki ilişkileri rahatlıkla görebiliyorsunuz. GWT'i  entegre etmeleri ilgimi çekti. Neden derseniz, artık google IDE'lere bile girdi de ondan:). GUI Designer bence çok hoş olmuş, kolaylıkla GUI tasarlayabiliyorsunuz. Ayrıca önceden yapmış olduğunuz GUI'ler varsa veya internetten veya başka bir yerden GUI kodu edindiyseniz bunları IntelliJIdea sizin için proje olarak alabiliyor, hem de GUI'nin istediğiniz kısımlarını. GUI Designer'ı anlamak için sitesindeki &lt;a href="http://www.javalobby.org/eps/intellij_ui_designer/"&gt;demo&lt;/a&gt;'yu izlemenizi tavsiye ederim.Ayrıca IDE'de irili ufaklı bir çok değişiklik yapmışlar, refactor gibi, code completion gibi özellikleri daha iyi hale getirdiklerini iddia ediyorlar. Son olarak TeamCity denilen CVS vari bir geliştirmede bulunmuşlar.Böylece SW developer'ların  ortak çalışmasını sağlayacaklar ve IDE'de entegre gelen chat modülü de cabası olmuş.Chat modülü sayesinde developer'lar kendi aralarında chat yapabiliyorlar ve herhangi bir dosya üzerinde kod parçalarını göstererek çalışabiliyorlar. Java alemine hayırlı olsun...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-115385591468480251?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/115385591468480251/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=115385591468480251&amp;isPopup=true' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/115385591468480251'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/115385591468480251'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2006/07/intellijidea-60.html' title='IntelliJIdea 6.0'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-115239140050501162</id><published>2006-07-08T23:38:00.000+03:00</published><updated>2006-07-08T23:43:20.606+03:00</updated><title type='text'>GJTAPI ve Telefon</title><content type='html'>Modeminizi kullanarak birisine telefon açmak istediniz. &lt;a href="http://gjtapi.sourceforge.net/"&gt;GJTAPI &lt;/a&gt;bu ihtiyacınıza cevap verecek bir açık kaynak proje. Ayrıca web servisi desteği de var. Çalıştığım yerde bir arkadaşım gösterdi.Kendisi bir java masaüstü uygulaması yazmıştı. Şirkette dahili numaranızı yazıp &lt;span style="font-style: italic; font-weight: bold;"&gt;call &lt;/span&gt;butonuna basıyorsunuz ve hemencecik sizi arıyor:) Bunu uzaklardaki insanlar için de geliştirebilirsiniz.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-115239140050501162?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/115239140050501162/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=115239140050501162&amp;isPopup=true' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/115239140050501162'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/115239140050501162'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2006/07/gjtapi-ve-telefon.html' title='GJTAPI ve Telefon'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-115229088483563792</id><published>2006-07-07T19:47:00.000+03:00</published><updated>2006-10-18T09:52:26.560+03:00</updated><title type='text'>6 Saatlik Deneyim</title><content type='html'>Merhabalar, bugün karşılaştığım, nerdeyse 6 saattir bulmakta uğraştığım bir hatayı sizinle paylaşmak istiyorum. Hatanın nedeni çok basit ama proje büyük olunca bulmak çok zor oluyor. Bildiğiniz üzere Java'da objeleri yeni oluşturmak ile referans olarak başka bir değişkene atamak  farklı şeyler.Bu temel bir kuraldır. İşte bu kural dikkate alınmazsa aşağıdaki sorunu yaşarsınız:&lt;br /&gt;Mesela elinizde &lt;a href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/HashMap.html"&gt;HashMap &lt;/a&gt;sınıfına ait &lt;span style="font-style: italic; font-weight: bold;"&gt;map &lt;/span&gt;isminde bir objeniz var.Key olarak bir &lt;a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html"&gt;String&lt;/a&gt;,value olarak List objesi tutuyor. Eğer siz, &lt;span style="font-style: italic;"&gt;map &lt;/span&gt;objesinden bir değeri aşağıdaki şekilde bir &lt;a href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html"&gt;List &lt;/a&gt;değişkenine atarsanız ve yeni değişkenden bir eleman silerseniz bu &lt;span style="font-style: italic;"&gt;map&lt;/span&gt; objesinde tutulan List objesinden de silinir:&lt;br /&gt;                       &lt;span style="font-size:100%;"&gt;&lt;span style="font-family:courier new;"&gt;List list = (List)map.get("a");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;             // key değeri a olan map'teki List objesinden de aynı elemanı siler.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;             list.remove(0); &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;yukardakinin yerine aşağıdakini kullanmak gerekir:&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:courier new;"&gt;List list = new ArrayList( (List)map.get("a") );&lt;br /&gt;// list yeni bir obje olduğundan map objesi etkilenmez.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;             list.remove(0); &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Bu nedenle işlemlerinizde bir tutarsızlık görebilirsiniz, benim bugün gördüğüm gibi.Bir de bence hatalar genelde ufak ayrıntılardan çıkmakta, kodu yazarken temel olan şeyleri göz önünde daima bulundurmak lazım.Aksi takdirde 6 saat boşu boşuna debeleniyorsunuz:)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-115229088483563792?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/115229088483563792/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=115229088483563792&amp;isPopup=true' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/115229088483563792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/115229088483563792'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2006/07/6-saatlik-deneyim.html' title='6 Saatlik Deneyim'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-115187114967611160</id><published>2006-07-02T23:11:00.000+03:00</published><updated>2006-10-18T09:54:08.403+03:00</updated><title type='text'>Eclipse 3.2 çıktı!!!</title><content type='html'>Merhabalar,&lt;br /&gt;IDE'lerin piri diyebildiğim &lt;a href="http://www.eclipse.org"&gt;Eclipse&lt;/a&gt;'in 3.2 versiyonu çıktı.Bu versiyonda  &lt;a href="http://java.sun.com/javase/6/"&gt;Java 6 (Mustang)&lt;/a&gt; desteği var. Ayrıca kod tamamlama özelliği, performansı, kullanılabilirliği de geliştirilmiş. Bir de &lt;a href="http://www.eclipse.org/callisto/"&gt;Callisto&lt;/a&gt; adı verilen proje kapsamında 1o tane ayrı geliştirilen proje Eclipse ile beraber indirebilir halde sizi bekliyor. Bu 10 tane proje aslında bilindik projeler, mesela bir tanesi Eclipse Visual Editor (VE), GUI tasarlamanıza yarayan bir eklenti. İsterseniz bileşsenleri ayrı ayrı yükleyebiliyorsunuz yada önceki Eclipse sürümünüzden güncelleme yapabiliyorsunuz.&lt;br /&gt;Eclipse 3.2 ile iyi eğlenceler dilerim...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-115187114967611160?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/115187114967611160/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=115187114967611160&amp;isPopup=true' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/115187114967611160'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/115187114967611160'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2006/07/eclipse-32-kt.html' title='Eclipse 3.2 çıktı!!!'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-115087650910510068</id><published>2006-06-21T10:50:00.000+03:00</published><updated>2006-06-21T10:55:09.536+03:00</updated><title type='text'>JMeter 2.2</title><content type='html'>Merhabalar,&lt;br /&gt;Apache &lt;a href="http://jakarta.apache.org/jmeter/"&gt;JMeter&lt;/a&gt;'ın 2.2 versiyonu cıkmıs haberimiz yok:) Bilmeyenler icin JMeter size bir Java projesinde fonsiyonaliteyi test etmenizi ve performansı ölçmenizi sağlıyor.Genelde web tabanlı projelerde kullanılır.&lt;a href="http://jakarta.apache.org/site/downloads/downloads_jmeter.cgi"&gt;İndirmek için tıklayınız&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-115087650910510068?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/115087650910510068/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=115087650910510068&amp;isPopup=true' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/115087650910510068'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/115087650910510068'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2006/06/jmeter-22.html' title='JMeter 2.2'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-114936901773723080</id><published>2006-06-04T00:00:00.000+03:00</published><updated>2006-06-04T00:12:09.326+03:00</updated><title type='text'>Bir dosya için system ikon'u nasıl alınır?</title><content type='html'>Şöyle bir ihtiyacınız oldu.Bir program yazdınız,programınızda bir klasörde bulunan klasörleri ve dosyaları listelemek istediniz.Listelenen bu elemanların bir işletim sistemindeki ikon'larını göstermek istediniz.Nasıl yapacaksınız?&lt;br /&gt;FileSystemView adında bir sınıfımız var bu iş için (&lt;a href="http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/filechooser/FileSystemView.html"&gt;javax.swing.filechooser.FileSystemView&lt;/a&gt;).Bu class size herhangi bir dosyanın sistem ikonunu döndürmenin yanında bir çok işinize yarayacak metodu barındırıyor.Benim ihtiyacımı karşılayan kod parçası aşağıdadır.Sizin ihtiyacınızı sağlayan kod parçalarını da bekleriz:)&lt;br /&gt;       &lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;    File file = null;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        String extension = "doc";&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        try&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;             //Create a temporary file with the specified extension&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;             file = File.createTempFile("icon", "." + extension);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;         &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;             FileSystemView view = FileSystemView.getFileSystemView();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;             Icon icon = view.getSystemIcon(file);&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;             &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;             //Delete the temporary file&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;             file.delete();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&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/13440809-114936901773723080?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/114936901773723080/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=114936901773723080&amp;isPopup=true' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/114936901773723080'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/114936901773723080'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2006/06/bir-dosya-iin-system-ikonu-nasl-alnr.html' title='Bir dosya için system ikon&apos;u nasıl alınır?'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-114841825902385878</id><published>2006-05-24T00:04:00.000+03:00</published><updated>2006-05-24T00:04:23.230+03:00</updated><title type='text'>Java passByReference</title><content type='html'>Java ile haşır neşir olan insanlar java da objelerin methodlara parametre olarak gönderilirken value olarak değil de referans olarak geçtiğini bilirler.(Türkçe söyleyince biraz garip geldi ama passByValue değil de passByReference yani)&lt;br /&gt;Basit değil mi peki aşağıdaki code ne print edecek.&lt;br /&gt;class Person(){&lt;br /&gt;   int personId;&lt;br /&gt;}&lt;br /&gt;class Foo{&lt;br /&gt;    main(){&lt;br /&gt;          Person p=new Person();&lt;br /&gt;          p.personId=3;&lt;br /&gt;          System.out.println(p.personId);&lt;br /&gt;          doSomething(p);&lt;br /&gt;          System.out.println(p.personId);    &lt;br /&gt;    }&lt;br /&gt;   &lt;br /&gt;    public void doSomething(Person p){&lt;br /&gt;      p=new Person();&lt;br /&gt;      p.personId=5;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;önce 3 sonra 5 değil mi çünkü referansını göndermiştik eleman da değiştirdi.Maalesef  hayır önce de 3 sonra da 3. Neden mi çok basit methodlara objeleri parametre olarak gönderdiğimizde objenin referansının kendisini değil kopyasını göndeririz.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-114841825902385878?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/114841825902385878/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=114841825902385878&amp;isPopup=true' title='1 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/114841825902385878'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/114841825902385878'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2006/05/java-passbyreference.html' title='Java passByReference'/><author><name>sedat</name><uri>http://www.blogger.com/profile/11304132102560723689</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-114841729092010197</id><published>2006-05-23T23:47:00.000+03:00</published><updated>2006-06-13T11:33:32.833+03:00</updated><title type='text'>Eclipse Ctrl+1</title><content type='html'>Eclipsin en kullanışlı kısa yolu bence ctrl+space den sonra ctrl+1&lt;br /&gt;neler mi yapabiliyorsunuz :&lt;br /&gt;&lt;br /&gt;eclipsin sizi bir hata için uyardığı her yerde kullanabiliyorsunuz.&lt;br /&gt;Herhangi bir bloğu if-else try-catch runnable vs gibi şeyler içine almak için kullanabiliyorsunuz.Olmayan bir methodun ismini return type'ını parametrelerini yazdığınızda sizin için method oluşturmasını, bırakın methodu class oluşturmasını sağlayabiliyorsunuz.&lt;br /&gt;Ve benim en çok kullandığım özelliği ise herhangi bir methodu çağırdığınızda bunu local bir variable'a assign etme işinizi müthiş kolaylaştırıyor.Hatta siz zaten hiçbirşey yapmıyorsunuz.O sizin yerinize methodun return tipine ve ismine göre uygun local variable'a methodu eşitlemenizi sağlıyor.&lt;br /&gt;mesela:&lt;br /&gt;&lt;br /&gt;      Logger.getLogger("a.b.c");&lt;br /&gt;Yazdıktan sonra ctrl+1 ile eclipse size bir menu çıkarıyor.Local bir variable ya da yeni bir field seçeneği. Local variable dediğinizde&lt;br /&gt;      Logger logger=Logger.getLogger("a.b.c");&lt;br /&gt;şeklinde işinizin bittiğini görüyorsunuz.&lt;br /&gt;Aslında daha bir sürü kolaylık sağlıyor ya yer yok yazamıyoruz :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-114841729092010197?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/114841729092010197/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=114841729092010197&amp;isPopup=true' title='1 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/114841729092010197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/114841729092010197'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2006/05/eclipse-ctrl1.html' title='Eclipse Ctrl+1'/><author><name>sedat</name><uri>http://www.blogger.com/profile/11304132102560723689</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-114841253767078366</id><published>2006-05-23T22:28:00.000+03:00</published><updated>2006-05-23T22:28:58.343+03:00</updated><title type='text'>Eclipse Navigate menüsü</title><content type='html'>Madem katıldık biz de birşeyler yazalım.Üst üste birkaç eclipse yazısı önce.&lt;br /&gt;Eğer büyük bir proje ile uğraşıyorsanız ya da karman çorman bir sürü paket ve hiyerarşiye sahipseniz aradığınız dökümanı bulmak için Eclipse'in Navigate menüsü altındaki Open Type (Ctrl+Shift+T) ve Open Resource(Ctrl+Shift+R) 'u kullanabilirsiniz.&lt;br /&gt; Lucene tabanlı olarak indexlenen class ve resourcelara isimlerinden hatırladığınız kısmını yazarak ulaşabilirsiniz zira pattern search de yapılabiliyor.Java dosyaları için OpenType ,genel olarak bütün dosyalar için(java dosyaları da dahil) Open Resource'u kullanabilirsiniz.&lt;br /&gt;&lt;br /&gt;Örneğin *res*.py yazarak isminde res geçen python dosyalarını bulmanız mümkün.&lt;br /&gt;(Bu arada eclipse ile python yazabildiğinizden bahsetmiş miydim? :) )&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-114841253767078366?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/114841253767078366/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=114841253767078366&amp;isPopup=true' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/114841253767078366'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/114841253767078366'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2006/05/eclipse-navigate-mens.html' title='Eclipse Navigate menüsü'/><author><name>sedat</name><uri>http://www.blogger.com/profile/11304132102560723689</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-114822650113226024</id><published>2006-05-21T18:48:00.000+03:00</published><updated>2006-05-21T18:48:22.276+03:00</updated><title type='text'>Shale Framework</title><content type='html'>Shale Framework, Struts'ın zayıf ve güçlü yanları göz önüne alınarak geliştirilmiş bir mirascısı olmasının yanında Java Web Development'taki son gelişmeleri de göz önüne alarak Struts'ın çerçevesini daha da genişletiyor. Shale, Struts'tan farklı olarak ele alınmaya değen ve şu an tanınmasa da yakında popüler olacak bir framwork:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://struts.apache.org/struts-shale/"&gt;http://struts.apache.org/struts-shale/&lt;br /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-114822650113226024?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/114822650113226024/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=114822650113226024&amp;isPopup=true' title='1 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/114822650113226024'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/114822650113226024'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2006/05/shale-framework.html' title='Shale Framework'/><author><name>kyy</name><uri>http://www.blogger.com/profile/06121130845782930831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-114822090512567260</id><published>2006-05-21T17:12:00.000+03:00</published><updated>2006-05-21T17:16:37.073+03:00</updated><title type='text'>Nonblocking Algorithms</title><content type='html'>Bazen thread-safe gerektiren islemler yapariz ki sychronization'in  getirdigi bazi maliyetler vardir. Fakat her zaman syncronization  gerekmeyebilir. Java 5.0 ile java.util.concurrent paketini kullanarak lock-free thread-safe tekil degiskenler kullanabilirsiniz:&lt;br /&gt;&lt;a href="http://www-128.ibm.com/developerworks/java/library/j-jtp04186/index.html"&gt;http://www-128.ibm.com/developerworks/java/library/j-jtp04186/index.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-114822090512567260?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/114822090512567260/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=114822090512567260&amp;isPopup=true' title='2 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/114822090512567260'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/114822090512567260'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2006/05/nonblocking-algorithms.html' title='Nonblocking Algorithms'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-114673751518846067</id><published>2006-05-04T13:08:00.000+03:00</published><updated>2006-05-04T13:13:04.613+03:00</updated><title type='text'>SIPA :)</title><content type='html'>Aman yanlış anlamayın:)Üniversiteden iki arkadas bitirme tezi olarak Java 5'i kullanarak skype tarzı bir chat programı yazmışlar.Program Java ile yapıldıgı için ilgimi çekti.Size normal bir chat programında olması gereken özellikleri sunuyor.Ayrıca görsellik de göz tırmalamıyor gayet hoş bence.Ne diyim böyle projeler yapıp açık kod alemine katkıda bulunmak lazım.Neredeyse unutuyordum, adresi de &lt;a href="http://www.koylu.net/"&gt;burda-&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-114673751518846067?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/114673751518846067/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=114673751518846067&amp;isPopup=true' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/114673751518846067'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/114673751518846067'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2006/05/sipa.html' title='SIPA :)'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-114621021354875281</id><published>2006-04-28T10:36:00.000+03:00</published><updated>2006-04-28T10:43:33.926+03:00</updated><title type='text'>Looking Glass Projesi</title><content type='html'>SUN'ın geçen gün izlediğim ama izlemekte geç kaldığım bir projesini gördüm.Üç boyutlu bir işletim sistemi.İsmi de &lt;a href="http://www.sun.com/software/looking_glass/index.xml"&gt;Looking Glass,&lt;/a&gt;2003 yılında bir  konferansta demosu olmus.Önceden üç boyutlu işletim sistemi diye bir şeyler duymuştum,ama &lt;a href="http://www.sun.com/software/looking_glass/demo.xml"&gt;görüntülerini&lt;/a&gt; ve&lt;a href="http://www.sun.com/software/looking_glass/details.html"&gt; screenshotlarını&lt;/a&gt; görmemiştim.Sanırım sparc işlemci üzerinde çalışıyor.Görüntülere bakmanızı tavsiye ederim.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-114621021354875281?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/114621021354875281/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=114621021354875281&amp;isPopup=true' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/114621021354875281'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/114621021354875281'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2006/04/looking-glass-projesi.html' title='Looking Glass Projesi'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-114475395400981086</id><published>2006-04-11T14:05:00.000+03:00</published><updated>2006-04-11T14:12:34.446+03:00</updated><title type='text'>Excel'i Kullanmak...</title><content type='html'>Geçen günlerde Excel'de bir kaç rapor yapmam gerekiyordu.Bu raporlar'ı yapması basit bir şey değildi.Bir sürü veriyi kolon bazında satır bazında tarayıp anlamlı raporlar çıkartmam gerekiyordu.Haliyle Excel mühendisi olmadığım için bunları Excel'in içinden yapamadım.Çoğu Excel mühendisine sordum ama onlar da excel'in kendi fonksiyonları ile yapamadılar.Son anda işten bir arkadaşım yardımıma koştu.Bana bir &lt;a href="http://www.andykhan.com/jexcelapi/"&gt;API'nin linkini&lt;/a&gt; verdi. API'yi yapan adam gerçekten çok hoş yapmış projeyi.Birkaç satırla Excel'de istediğiniz veriye sheet ve cell bazında ulaşabiliyorsunuz.Ayrıca excel dosyası oluşturup kendi verilerinizi kaydedebiliyorsunuz.Kısacası isterseniz Excel'e takla attırabilirsiniz:)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-114475395400981086?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/114475395400981086/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=114475395400981086&amp;isPopup=true' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/114475395400981086'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/114475395400981086'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2006/04/exceli-kullanmak.html' title='Excel&apos;i Kullanmak...'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-114413085254027202</id><published>2006-04-04T08:59:00.000+03:00</published><updated>2006-04-08T18:25:48.286+03:00</updated><title type='text'>Java Veritabanı</title><content type='html'>Merhabalar, &lt;a href="http://developers.sun.com/prodtech/javadb/javadb_overview.html"&gt;Java DB&lt;/a&gt; diye bir proje varmış.Sun'ın kendisinin ürettiği bir proje.Masaüstü programlarınızda kullanabileceğiniz bir veritabanı.Sanırım kurumsal uygulamalarda da kullanılabilir ama tutulacak veri çok olursa ve bir kaç bin kullanıcı aynı anda sistemi kullanırsa sıkıntı yaşanabilir.Java DB daha çok mütevazi sistemler için geçerli diyelim:) SQL dilini, JDBC gibi veritabanı teknolojilerini aynen Java DB'de de kullanabliyorsunuz.Benim en çok sevindiğim nokta, bir masaüstü uygulaması geliştirdiğimde veritabanı ne kullanacaz demiycem artık.Direk Java DB kullanacağım:) Bu &lt;a href="http://java.sun.com/developer/technicalArticles/J2SE/Desktop/javadb/?feed=JSC"&gt;makalede &lt;/a&gt;de nasıl kullanılacağı anlatılıyor.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-114413085254027202?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/114413085254027202/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=114413085254027202&amp;isPopup=true' title='4 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/114413085254027202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/114413085254027202'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2006/04/java-veritaban.html' title='Java Veritabanı'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-114407213686388431</id><published>2006-04-03T16:43:00.000+03:00</published><updated>2006-04-03T16:48:57.906+03:00</updated><title type='text'>Bedava Resim Düzenleyici</title><content type='html'>İyi günler dilerim, bir web sitesine bakarken &lt;a href="http://jalbum.net/extras.jsp"&gt;JAlbum &lt;/a&gt;diye bir link gördüm.Linke tıklayınca aklımda olan bir düşüncenin acaba gerçeği var mı derken bu proje bu düşüncemi bastırdı.&lt;a href="http://jalbum.net/extras.jsp"&gt;JAlbum &lt;/a&gt;size resimlerinizi &lt;a href="http://picasa.google.com/"&gt;Picasa &lt;/a&gt;tarzında düzenlemenize izin veren, çeşitli skin'lerle albümler yapmanızı sağlayan ve bu albümleri arkadaşarınızla paylaşmanızı sağlayan çok güzel bedava bir program.Denemenizi öneririm.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-114407213686388431?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/114407213686388431/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=114407213686388431&amp;isPopup=true' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/114407213686388431'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/114407213686388431'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2006/04/bedava-resim-dzenleyici.html' title='Bedava Resim Düzenleyici'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-114400154300098236</id><published>2006-04-02T20:56:00.000+03:00</published><updated>2006-05-08T12:46:33.543+03:00</updated><title type='text'>JFreeChart</title><content type='html'>Bu proje çok güzel istatistik grafikleri yapmanıza olanak sağlıyor.İki boyutlu ve üç boyutlu grafikler (pie chart,bar chart,line chart,area chart ...) ile verilerinizi göstermenizi sağlıyor.Çeşitli veritabanlarına bağlanmanıza olanak sağlıyor.Ayrıca oluşturduğunuz grafikleri JPEG ve PNG formatında kaydedilmenizi, PDF formatında saklayabilmenizi, yazıcı ile çıktısını almayı sağlıyor.Bunlar benim ilgimi çekenler, &lt;a href="http://www.jfree.org/jfreechart/index.php"&gt;sayfasında&lt;/a&gt; daha birçok özelliği bulabilirsiniz.Ayrıca bir &lt;a href="http://www.jfree.org/jfreechart/jfreechart-1.0.0-demo.jnlp"&gt;demosu&lt;/a&gt; da mevcut...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-114400154300098236?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/114400154300098236/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=114400154300098236&amp;isPopup=true' title='1 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/114400154300098236'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/114400154300098236'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2006/04/jfreechart.html' title='JFreeChart'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-114388311166565983</id><published>2006-04-01T12:08:00.000+03:00</published><updated>2006-04-02T19:24:42.376+03:00</updated><title type='text'>Java 6 (Mustang) vs. Java 5 (Tiger)</title><content type='html'>Java 6 ve Java 5 için yapılan ilk benchmark sonuçları açıklanmış.Buna göre Java 6 sanal makinesinin hızı Java 5'e göre %40-100 daha iyiymiş.Bunda tabiki ceşitli kütüphanelerde yapılan iyileştirmelerin büyük etkisi var.Mesela Collections framework'ünde yapılan değişiklikler,iyileştirmeler buna büyük bir etkisi var.Çünkü uygulamaların çoğunda bu framework sıklıkla kullanılmakta.Bir örnek HashMap sınıfı.Bu nedenle bu framework üzerindeki iyileştirmeler hızı büyük bir oranda etkileyecektir.Testlerin sonuçları aşağıdaki linklerde:&lt;br /&gt;&lt;a href="http://javolution.org/doc/results15.txt" target="_blank"&gt;http://javolution.org/doc/results15.txt&lt;/a&gt; (Tiger)&lt;br /&gt;&lt;a href="http://javolution.org/doc/results16.txt" target="_blank"&gt;http://javolution.org/doc/results16.txt&lt;/a&gt; (Mustang)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-114388311166565983?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/114388311166565983/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=114388311166565983&amp;isPopup=true' title='2 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/114388311166565983'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/114388311166565983'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2006/04/java-6-mustang-vs-java-5-tiger.html' title='Java 6 (Mustang) vs. Java 5 (Tiger)'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-114344870694011384</id><published>2006-03-27T11:27:00.000+03:00</published><updated>2006-03-27T19:23:28.436+03:00</updated><title type='text'>ROME ile RSS...</title><content type='html'>Bloglar'ın gün geçtikçe sayısı artıyor.İnsanlar günlük yazmak yada başka nedenlerle blog hesapları oluşturuyor.Bildiğiniz gibi bu blog hesaplarının bir de feed adresleri oluyor.RSS ve Atom bu feed'lerin yapısını tanımlayan iki tane format.&lt;a href="https://rome.dev.java.net/"&gt;ROME&lt;/a&gt; adında bir proje yardımı ile bu tip feed'leri kolaylıkla anlayan programlar yazabilirsiniz.Bu proje size hazır kütüphaneler sunuyor.Bu kütüphaneler yardımıyla programınızda bir kaç satır kodla  bir blog'un haberlerini kolaylıkla elde edebiliyorsunuz.Gerisi size kalmış...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-114344870694011384?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/114344870694011384/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=114344870694011384&amp;isPopup=true' title='2 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/114344870694011384'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/114344870694011384'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2006/03/rome-ile-rss.html' title='ROME ile RSS...'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-114258258551065218</id><published>2006-03-17T09:53:00.000+02:00</published><updated>2006-03-18T22:11:36.426+02:00</updated><title type='text'>JAVA 5 Tutorial</title><content type='html'>Güzel bir haber,bildiğiniz gibi Java'yı öğrenmek için sık başvurulan kaynaklardan birisi de &lt;a href="http://java.sun.com/docs/books/tutorial/index.html?feed=JSC"&gt;online java tutorial&lt;/a&gt; idi.Bu tutorial JAVA 5'e göre güncelleştirilmiş.İyi okumalar:)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-114258258551065218?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/114258258551065218/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=114258258551065218&amp;isPopup=true' title='1 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/114258258551065218'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/114258258551065218'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2006/03/java-5-tutorial.html' title='JAVA 5 Tutorial'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-114228621772204987</id><published>2006-03-13T23:17:00.000+02:00</published><updated>2006-03-13T23:43:40.846+02:00</updated><title type='text'>Java'ya Dil Desteği...</title><content type='html'>Bildiğiniz gibi .net'i Java'dan ayıran en önemli özellik istediğin dilde yaz bir yerde çalıştır matığının olmasıdır.Yazılan kod ortak bir dile çevrilip daha sonra bu kod çalışıtırılır.Java'da ise sanal makine (virtual machine) dediğimiz, arka planda çalışan ve Java class dosyalarını çalıştıran bir program vardır.Her işletim sistemine özel bir sanal makine olduğundan platform bağımsızlık Java'da sağlanmıştır.Bugün bir arkadaşımın bana yolladığı bir link ilgimi çok çekti.Java'ya dinamik tipli dilleri ,dynamic typed languages, (Python,JavaScript...)  destekleyecek bir yapı getireceklermiş.Dinamik tipli dil şu demek:Mesela JavaScript'de değişken tanımlamak için&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-family:courier new;"&gt;"var x;"&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;dersiniz.Burda "&lt;span style="font-family:courier new;"&gt;x&lt;/span&gt;" değişkeninde string bir değer de tutabilirsiniz, integer bir değer de.Bu nedenle dinamik tipli dilleri derlemek statik tipli dilleri derlemeye nazaran daha zordur.&lt;br /&gt;Bu proje şu an &lt;a href="http://www.jcp.org/en/jsr/detail?id=292"&gt;JSR 292&lt;/a&gt; olarak açılımış durumda.Anlatılana göre bu yapıyı sanal makine üzerinde bir takım değişiklikler yaparak gerçekleştirileceklermiş.Sanal makine dinamik bir hale getirilecek.Yani şu anki sanal makine statik, statik olarak değişken tipi kontrolü yapacak şekilde tasarlanmış.Yeni geliştirilecek sanal makine ise dinamik değişken tipi kontrolü yapılacak.Böylece dinamik tipli diller desteklenecek ve çalışma zamanında (runtime) sınıfların,metodların içeriği de değiştirilebilecek.Bu proje 2007'nin ikinci yarısında hayata geçecekmiş ve JSE 7 (Dolphin) sürümünde gelecekmiş.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-114228621772204987?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/114228621772204987/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=114228621772204987&amp;isPopup=true' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/114228621772204987'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/114228621772204987'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2006/03/javaya-dil-destei.html' title='Java&apos;ya Dil Desteği...'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-114217292489622484</id><published>2006-03-12T15:43:00.000+02:00</published><updated>2006-03-14T13:18:57.190+02:00</updated><title type='text'>Object Oriented Database Management Systems</title><content type='html'>Object Oriented Database Management Systems (OODMS), Nesne Tabanlı Veri Tabanı Yönetim Sistemleri, ismini önceden duymuştum ama hiç bu konu ile ilgili bir makale okumadım.Sadece lisans yıllarında "Database" dersinde bir kaç bilgiden öteye değildi bildiklerim.Ta ki geçen gün bir zat'ın &lt;a href="http://www.maxiasp.net/ders.aspx?dno=245"&gt;makalesini&lt;/a&gt; okuyunca ilgim bu konuya arttı. OODMS'ler gerçekten çok güzel düşünülmüş.Siz nasıl nesne tabanlı programlama yapıyorsanız veritabınını da bu şekilde tanımlayabiliyorsunuz.Böylece veritabanında kalıtım özelliğini de sağlamış oluyorsunuz.Bir çok avantajı var,mesela primary key ortadan kalkıyor.Çünkü herşey bir nesne ve her nesnenin bir ID'si var.Sorgulama (Query) diline de fazla ihtiyacınız yok.Çünkü nasıl programlamada bir nesnenin elemanlarına get() metodları ile ulaşıyorsunuz,burda da vaziyet aynı.Makalede de belirtildiği gibi kötü tarafı şema değişikliği.Yani  veritabanında bir değişiklik yaptığınızda bu değişikliklere takabül eden sınıflarda da değişiklik yapmak gerek.Ama bu konuyu halledecek araçlar bence mevcuttur, araştırmadım gerçi.Otomatik olarak veritabanındaki değişiklikleri algılayıp kodu güncelleyebilirler mesela.&lt;br /&gt;Günümüzde İlişkisel veritabanları bazı araçlar kullanılarak nesne tabanlı bir yapıya dönüştürebiliyorsunuz.Mesela ünlü hibernate projesini kullanarak haritalama (mapping) yardımı ile table'lar ile JavaBean sınfları arasında ilişki kurabiliyor ve nesne tabanlı olarak veritabanına veri yazıp okuyabiliyorsunuz.Ama arka tarafta, işlemler gene ilişkisel veritabanına göre yapıldığı için performansta bir kayıp oluyor.Ama OODBMS'de zaten her şey nesne tabanlı, o nedenle performansta ilişkisel veritabanında göre performans kaybının daha düşük olacağı kanaatindeyim.Bir deneyip görmek lazım...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-114217292489622484?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/114217292489622484/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=114217292489622484&amp;isPopup=true' title='1 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/114217292489622484'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/114217292489622484'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2006/03/object-oriented-database-management.html' title='Object Oriented Database Management Systems'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-114156492136347707</id><published>2006-03-05T15:13:00.000+02:00</published><updated>2006-03-05T15:22:01.363+02:00</updated><title type='text'>Netbeans 5.5 ve JEE 5 SDK çıktı!!!</title><content type='html'>Evet arkadaşlar, Sun'ın yeni enterprise kiti &lt;a href="http://java.sun.com/javaee/"&gt;JEE 5&lt;/a&gt; çıktı.Dikkat ettiğiniz üzere artık J2EE yok, "two" ibaresi kaldırıldı.JEE 5 içinde Sun Application Server,version 9'u barındırıyor ve son teknolojileri destekliyor,JSF 1.2,JAX-WS 2.0,JAXB 2.0...Bunun yanında &lt;a href="http://developers.sun.com/prodtech/javatools/jsenterprise/tpr/index.html"&gt;NetBeans 5.5&lt;/a&gt;'de çıktı ve tabiki JEE 5'i destekliyor.Ayrıca NetBeans 5.5 Java 6 beta kodlarını da çalıştırabiliyor.Yalnız bu ikilinin hala beta versiyonları mevcutmuş.Çünkü spesifikasyonlarda ufak değişikliklerin olması muhtemel.Bu nedenle tam sürümleri 2006'nin ikinci çeyreğinde çıkacakmış.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-114156492136347707?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/114156492136347707/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=114156492136347707&amp;isPopup=true' title='2 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/114156492136347707'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/114156492136347707'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2006/03/netbeans-55-ve-jee-5-sdk-kt.html' title='Netbeans 5.5 ve JEE 5 SDK çıktı!!!'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-114156415321939027</id><published>2006-03-05T15:03:00.000+02:00</published><updated>2006-03-05T15:09:13.236+02:00</updated><title type='text'>Struts'da Form ve Action'lar...</title><content type='html'>Arkadaşlar güzel bir makale buldum.&lt;a href="http://struts.apache.org/"&gt;Struts&lt;/a&gt;'da &lt;a href="http://struts.apache.org/struts-action/index.html"&gt;Action ve Form&lt;/a&gt; nesnelerinin nasıl farklı şekillerde kullanılacağını anlatıyor ve bu yöntemlerin avantajlarını,dezavantajlarını ve hangi durumlarda kullanılabileceğini anlatıyor.Gerçekten çok hoş bir &lt;a href="http://www.theserverside.com/articles/article.tss?l=StrutsActionMapping"&gt;makale&lt;/a&gt;,referans olabilecek nitelikte...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-114156415321939027?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/114156415321939027/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=114156415321939027&amp;isPopup=true' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/114156415321939027'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/114156415321939027'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2006/03/strutsda-form-ve-actionlar.html' title='Struts&apos;da Form ve Action&apos;lar...'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-114124819024206223</id><published>2006-03-01T23:08:00.000+02:00</published><updated>2006-03-01T23:23:10.273+02:00</updated><title type='text'>J2ME Polish</title><content type='html'>Arkadaşlar çalıştığım şirkette bir arkadaşım var.Geçen günlerde bana çok güzel bir projeyi tanıttı,&lt;a href="http://www.j2mepolish.org"&gt;J2ME Polish&lt;/a&gt;.Projeye göz attığımda ağzım açık kaldı açıkçası.Mobil telefonlar için yapmak istediğiniz uygulamalar olur,ama nasıl yapacağınızı düşünürsünüz.Oyun yüklersiniz telefonunuza,adamlar bu grafikleri nasıl yapmışlar dersiniz.J2Me Polish size aklınıza gelen fikirleri kolaylıkla geliştirmeyi sağlıyor.Sitesinde gezerken bir kaç özellik gözüme takıldı, değinmeden geçemeyeceğim:&lt;br /&gt;&lt;ol&gt;      &lt;ol&gt;     &lt;li&gt;Öncelikle uygulamalar için enterasan GUI'ler tasarlayabiliyosunuz ve bu tasarıma CSS dosyalarında yapıyorsunuz.Süper bir şey.Kodda sadece CSS'i çağırıyosunuz.Aynı html gibi.Aşağıdaki resim başka söze gerek bırakmıyor.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/2088/1181/1600/screenshot-example-enough.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/2088/1181/200/screenshot-example-enough.jpg" alt="" border="0" /&gt;Sonra size bir oyun motoru sunuyor.MIDP 2.0 Oyun motorunu, MIDP 1.0 desktekleyen telefonlarda kullanabiliyosunuz.&lt;/a&gt;&lt;/li&gt;     &lt;li&gt;Kendi fontunuzu tanımlayabliyorsunuz,mesela verdan font tipini tanımlayabiliyorsunuz.Normalde üç tip Font vardı MIDP 1.0'da.&lt;/li&gt;     &lt;li&gt;Lokalizasyon yapmanıza imkan sağlıyor.Böylece uygulamanıza dil desteği sağlıyorsunuz.&lt;/li&gt;     &lt;li&gt;Telefon veritabanı mevcut.Böylece uygulamanızı spesifik telefonlara göre yapabliyorsunuz.&lt;/li&gt;    &lt;/ol&gt;  &lt;/ol&gt;Ve daha niceleri.Bence girip bir bakın derim ve denemenizi tavsiye ederim.Bundan sonra mobil bir uygulama geliştirirken bu projeyi kullanmadan geçemem herhalde...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-114124819024206223?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/114124819024206223/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=114124819024206223&amp;isPopup=true' title='5 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/114124819024206223'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/114124819024206223'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2006/03/j2me-polish.html' title='J2ME Polish'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-113828307418809224</id><published>2006-01-26T15:28:00.000+02:00</published><updated>2006-01-26T15:44:34.200+02:00</updated><title type='text'>JFormDesigner ile Swing...</title><content type='html'>Gmail'imde maillerime bakarken &lt;a href="http://www.jformdesigner.com/"&gt;JFormDesigner&lt;/a&gt; isminde bir projenin reklamını gördüm ve tabiki sitesine gidip bir bakayım dedim.Çok hoşuma gitti.Neden derseniz, Swing ile kullanıcı arayüzü oluşturmak hem elle kod yazarak hem de çeşitli araçlar kullanarak  gerçekten zor.Mesela NetBeans'in form designer'ını kullanmıştım, baya bir zordu. Eclipse'in visual editor eklentisi de keza öyleydi.Ama bu proje gerçekten iyi düşünülmüş, kullanıcı arayüzü oluşturmak gerçekten çok kolaylaştırılmış.Hani .net'inkinden daha iyi desem yeridir:). &lt;a href="http://www.jformdesigner.com/"&gt;Sitesinde&lt;/a&gt; projenin demolarına bakabilirsiniz, bu zaten yeterli olacaktır zannımca...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-113828307418809224?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/113828307418809224/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=113828307418809224&amp;isPopup=true' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/113828307418809224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/113828307418809224'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2006/01/jformdesigner-ile-swing.html' title='JFormDesigner ile Swing...'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-113820246967870039</id><published>2006-01-25T17:15:00.000+02:00</published><updated>2006-01-25T18:00:33.236+02:00</updated><title type='text'>Java 6 (Mustang)</title><content type='html'>Uzun bir aradan sonra tekrar merhaba!!!Bir okuyucum saolsun bir yorum yazmış ve benden &lt;a href="https://mustang.dev.java.net/"&gt;Java 6 (Mustang)&lt;/a&gt; için yorumlarımı sormuş.Teşekkür ediyorum ilk önce.Şu aralar internette Java 6 ile ilgili haberlere bakıyordum.Yazılan makalelere göre syntax olarak bir değişiklik yapılmayacak bu yeni sürümde.Biliyorsunuz Java 5 ile birçok yeni özellik getirilmişti Java programlama diline (Herhalde c# ile arasındaki syntax farklılıklarını bir nebze olsun gidermek için:) ).Genel hatlarıyla Java'nın bu yeni sürümünde bazı var olan API'lerde iyileştirmeler ve eklentiler yapılmış ve yeni özellikler katılmış.Ayrıca mimari olarak da birtakım değişiklikler mevcut.Gözüme takılanlar şöyle:&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;Artık Java kaynak dosyaları bir uygulama içerisinden derlenebilecek (Java Compiler API).Böylece basit IDE'ler daha kolay bir şekilde yazılabilir.&lt;/li&gt;   &lt;li&gt;Script dilleri derlenebilecek.Bu sayede Java uygulamalarının içerisinde mesela "JavaScript" yazılabilecek.Mustang'de &lt;a href="http://www.mozilla.org/rhino/"&gt;Mozilla Rhino (JavaScript yorumlayıcısı)&lt;/a&gt; entegre edilmiş.Rhino'yu normalde uygulamlara siz kendiniz entegre ediyordunuz.Böylece Java uygulamalarınızda javascript yazabiliyordunuz.&lt;/li&gt;   &lt;li&gt;"java.io.File" sınıfı artık size diskinizdeki bölümleri, bu bölümlerin toplam boyutlarını,boş kalan kısımların büyüklüğünü söyleyebilecek.Ayrıca Windows platformunda 255 karakterden fazla dosya yolları yazabileceksiniz.&lt;/li&gt;   &lt;li&gt;XML ve web servisleri konusunda bir hayli  gelişme var.Herhalde XML ve web servislerinin popüleritesi arttığından dolayı JAVA bu önemi anlamış olsa gerek.Mustang'e çok büyük olmayan bir HTTP server entegre edilmiş.Böylece basit callbackler ve web servisler çalıştırılabilecek.&lt;/li&gt;   &lt;li&gt;JDBC 4.0 Mustang'e entegre edilmiş olarak gelecek.Böylece otomatik &lt;code&gt;java.sql.Driver&lt;/code&gt; keşfi sağlanabilecek,SQL:2003 XML desteği ve Ulusal dil desteği sağlanmış olacak.&lt;/li&gt;   &lt;li&gt;Java uygulamalarının izlenmesinde,yönetiminde de bir çok yenilik gelmiş.Bunlardan en çok hoşuma giden, geçenlerde bir arkadaşımın bahsettiği, java uygulamaları artık VM'ye eklenecek.Mesela siz aynı anda üç tane uygulama çalıştırdınız.Bunlar Windows görev yöneticisinde üç ayrı javaw.exe olarak gözükür.Artık bunları tek javaw.exe olarak göreceksiniz.Böylece her bir uygulama için ayrı ayrı hafıza kullanımı olmayacak ve hız artacak.&lt;/li&gt;   &lt;li&gt;java.lang.OutOfMemoryError artık size sadece bir satır cümle basmayacak.Bu soruna neden olan neyse stack trace'i basılacak.Bu da hafızanın efektif olarak kullanılması gereken uygulamalarda büyük bir avantaj sağlıyacak.&lt;/li&gt;   &lt;li&gt;jconsole geliştrilmiş, hem kullanıcı arayüzü olarak hem de yapısal olarak.Böylece çalışan uygulamarı daha kolay bir şekilde görebilecek ve yönetebileceksiniz.&lt;/li&gt; &lt;/ul&gt; Evet arkadaşlar, benim gözüme takılanlar bu şekilde.Yanlışım varsa lütfen düzeltmeyi unutmayın.Sizlerinde yorumlarını bekliyorum.Ayrıca bir şeyi daha unutmadan söyleyeyim.Dikkat ettiyseniz artık JAVA sürümleri 1.3, 1.4 şeklinde değil de Java 5 Tiger, Java 6 Mustang... isimleri ile çıkıyor.Bu da bence Java'ya ayrı bir hava katıyor.Ayrıca Mustang'den sonra çıkacak yeni sürümün kod ismi de "Dolphin" miş.Bunu da söyleyeyim dedim.Herkese iyi günler dilerim...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-113820246967870039?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/113820246967870039/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=113820246967870039&amp;isPopup=true' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/113820246967870039'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/113820246967870039'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2006/01/java-6-mustang.html' title='Java 6 (Mustang)'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-113699948943976176</id><published>2006-01-11T18:55:00.000+02:00</published><updated>2006-01-11T19:14:12.673+02:00</updated><title type='text'>Eclipse'e J2EE Standard Tools eklentisi...</title><content type='html'>Ben bir Eclipse IDE'si hayranıyım, gerçekten çok güzel, çok kullanışlı ve çok hızlı bir uygulama geliştirme platformu. En büyük özelliklerinden bir tanesi de genişletilebilir olması. Bu sayede Eclipse'e çeşitli eklentiler ekleyerek çeşitli fonksiyonaliteler katabiliyorsunuz.Piyasada bedava yada paralı birçok eklenti mevcut. Bu iletide çok güzel bir eklentiden, başlıkta da belirtildiği gibi &lt;a href="http://www.eclipse.org/webtools/jst/main.html"&gt;J2EE Standard Tools&lt;/a&gt; eklentisinden, bahsedeceğim. Bu eklenti Eclipse platformunda EJB'den tutun Servlet'lere kadar bir çok J2EE teknolojisini kullanarak web uygulamaları geliştirmenizi sağlıyor. Bu eklenti ile çeşitli dosya tipleri özel bir formatta açılıyor.Mesela XML dosyaları özel bir editörde açılıyor ve tasarım aşamasında XML'i değiştirebiliyorsunuz, JSP dosyalarında kod renklendirmesi yapabiliyor ve scripletlerde otomatik kod tamamlama özelliğini kullanabiliyorsunuz ...Bir de IDE'de "File" menüsünden "New..." alt menüsünü seçtiğinizde bir sürü yeni proje tipi çıkıyor.Örneğin; EJB,J2EE gibi...Kısacası,bu eklentiyi bir deneyin derim ben...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-113699948943976176?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/113699948943976176/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=113699948943976176&amp;isPopup=true' title='2 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/113699948943976176'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/113699948943976176'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2006/01/eclipsee-j2ee-standard-tools-eklentisi.html' title='Eclipse&apos;e J2EE Standard Tools eklentisi...'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-113699815467349913</id><published>2006-01-11T18:47:00.000+02:00</published><updated>2006-01-11T18:49:14.700+02:00</updated><title type='text'>Kurban bayramınız kutlu olsun...</title><content type='html'>Uzakların yakın olduğu, küskünlerin barıştığı, huzurlu ve mutlu bir bayram geçirmeniz dileğiyle, hayırlı bayramlar...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-113699815467349913?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/113699815467349913/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=113699815467349913&amp;isPopup=true' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/113699815467349913'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/113699815467349913'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2006/01/kurban-bayramnz-kutlu-olsun.html' title='Kurban bayramınız kutlu olsun...'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-113614717021901539</id><published>2006-01-01T22:17:00.000+02:00</published><updated>2006-01-01T22:26:10.246+02:00</updated><title type='text'>RSSOwl, JAVA RSS okuyucu...</title><content type='html'>Geçen gün merak ettim ve Google'da JAVA'da yapılmış bir RSS okuyucu var mı diye arattım.Tabi bir sürü sonuç çıktı.Çıkmaması anormal olurdu zaten.Bu sonuçlardan, en iyi rss okuyucu sıralamasına da giren, open source bir proje buldum, &lt;a href="http://www.rssowl.org/"&gt;RSSOwl&lt;/a&gt;. Program gerçekten güzel,kullanışlı. Görselliği Eclipse'in kullandığı IBM'in ürünü olan SWT Toolkit'i kullanarak hazırlamışlar. Programın ilginç bir özelliği, bir haberi html,pdf ve rtf olarak kaydetmeye olanak sağlaması. Diğer RSS okuyuculardaki özellikler mevcut kendisinde.Uzun lafın kısası bir denemenizi öneririm...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-113614717021901539?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/113614717021901539/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=113614717021901539&amp;isPopup=true' title='2 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/113614717021901539'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/113614717021901539'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2006/01/rssowl-java-rss-okuyucu.html' title='RSSOwl, JAVA RSS okuyucu...'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-113520008423943636</id><published>2005-12-21T23:15:00.000+02:00</published><updated>2005-12-21T23:36:50.263+02:00</updated><title type='text'>Image Processing ve Java</title><content type='html'>Arkadaşlar Java'nın gücünü gün geçtikçe daha iyi anlıyorum. Image Processing üzerine bir kaç ödevim vardım ve Java'da yapacaktım.İki tane, bana göre temel sayılabilcek, sınıf keşfettim. &lt;a href="http://java.sun.com/j2se/1.4.2/docs/api/java/awt/image/PixelGrabber.html"&gt;PixelGrabber&lt;/a&gt; ve &lt;a href="http://java.sun.com/j2se/1.4.2/docs/api/java/awt/image/MemoryImageSource.html"&gt;MemoryImageSource&lt;/a&gt;.PixelGrabber sınıfı ile bir Image objesinin pixellerini teker teker elde edebiliyorsunuz.Aşağıda gözükmektedir:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Image originalImage = new ImageIcon( imageURLString ).getImage();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;int [] originalPixelArray;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;PixelGrabber grabber = new PixelGrabber(originalImage, 0, 0, -1,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                        -1, true);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;if (grabber.grabPixels()) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    originalPixelArray = (int[]) grabber.getPixels();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Daha sonra bu pixel dizisi üzerinde istediğiniz işlemi yaptıktan sonra yeni pixellernden oluşan dizi ile MemoryImageSource sınıfını kullanarak işlenmiş resmi oluşturabiliyorsunuz:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:courier new;"&gt;         MemoryImageSource mis = new MemoryImageSource(width, height, newPixelArray,&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:courier new;"&gt;                    0, width);&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:courier new;"&gt;         Image newImage = createImage(mis);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Burda width ve height parametreleri yeni resmin genişliğini ve yüksekliğini gösteriyor. Bir resme nasıl animasyonlu bir şekilde fade etkisi uygulandığını görmek için &lt;a href="http://www.java2s.com/Code/Java/2D-Graphics-GUI/GrabandFadedisplaysimageandfadestoblack.htm"&gt;tıklayınız&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-113520008423943636?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/113520008423943636/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=113520008423943636&amp;isPopup=true' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/113520008423943636'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/113520008423943636'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2005/12/image-processing-ve-java.html' title='Image Processing ve Java'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-113481665561024428</id><published>2005-12-17T12:42:00.000+02:00</published><updated>2005-12-17T12:50:55.623+02:00</updated><title type='text'>Castor ve XML</title><content type='html'>Uzun bir aradan sonra tekrar ilginç bir teknoloji ile karşınızdayım:) Gerçi teknoloji sayılmaz ama bir proje diyelim. &lt;a style="font-weight: bold;" href="http://www.castor.org/"&gt;Castor&lt;/a&gt; projesi size XML dosyaları üzerinde çok çeşitli işlemler yapabileceğiniz API'ler sunuyor.Örneğin XML dosyalarını &lt;a href="http://java.sun.com/products/javabeans/index.jsp"&gt;Java Bean&lt;/a&gt;'ler şeklinde parse edebilyorsunuz ve XML parse edildikten sonra yapılan herhangi bir değişikliği otomatik olarak algılayıp XML dosyasını güncelleyebiliyorsunuz.Açıçası database kullanmadan XML kullanarak bir web uygulaması yazabilirsiniz, bunu neden söyledim, çünkü bir e-ticaret sitesi yapacağım ve bunu sadece XML dosyaları kullanarak yapmayı düşünüyorum.Bakalım &lt;a style="font-weight: bold;" href="http://www.castor.org/"&gt;Castor&lt;/a&gt; ile neler yapabileceğiz...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-113481665561024428?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/113481665561024428/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=113481665561024428&amp;isPopup=true' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/113481665561024428'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/113481665561024428'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2005/12/castor-ve-xml.html' title='Castor ve XML'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-113356242903527858</id><published>2005-12-03T00:10:00.000+02:00</published><updated>2005-12-03T00:27:09.046+02:00</updated><title type='text'>Arrays sınıfı harika...</title><content type='html'>Geçenlerde Java 5 Tiger'a bakıyordum biraz.Gözüme çok güzel bir sınıf takıldı,java.util.Arrays .Bu sınıf ile sizin uzun uzun yaptığınız dizi işlemlerini bir metodla yapabiliyorsunuz. Mesela iki diziyi&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold; font-family: courier new;"&gt;Arrays&lt;/span&gt;&lt;span style="font-family: courier new;"&gt;.&lt;span style="font-weight: bold;"&gt;equals&lt;/span&gt;(myArray, myOtherArray);&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;şeklinde karşılaştırabiliyorsunuz yada bir dizi içinde binary search yapabiliyorsunuz, şu şekilde:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-family: courier new;"&gt;int index = &lt;/span&gt;&lt;span style="font-weight: bold; font-family: courier new;"&gt;Arrays.binarySearch&lt;/span&gt;&lt;span style="font-family: courier new;"&gt;(myArray, 98);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt; En önemlisi&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-family: courier new;"&gt;&lt;span style="font-weight: bold;"&gt;Arrays.sort&lt;/span&gt;(myArray);&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;diyerek dizinizin elemanlarını sıralayabiliyorsunuz.Kısacası bir bakmanızı tavsiye ederim.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-113356242903527858?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/113356242903527858/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=113356242903527858&amp;isPopup=true' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/113356242903527858'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/113356242903527858'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2005/12/arrays-snf-harika.html' title='Arrays sınıfı harika...'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-113232619169503410</id><published>2005-11-18T16:56:00.000+02:00</published><updated>2005-11-18T17:03:11.716+02:00</updated><title type='text'>System Tray'a ulaşmak artık çok kolay...</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;Programlar minimize edildiğinde system tray'da gözükmesi ve program ikonunun üstüne sağ tıklayarak programla ilgili çeşitli kısa yollara ulaşılması çok güzel bir özellik benim için.Bu arada System Tray nedir? diye soranlar için, system tray windows'ta veya linux'ta sağ alt köşede bulunan özel bir kısım.Burada çalışan bazı programların ikonları bulunur.JAVA'da artık system tray özelliği olan programlar yazmak çok kolay.Yeni gelecek Java 6.0 (Mustang)'de iki sınıf olacak, SystemTray ve TrayIcon diye.Bu sınıflar sizin system tray'a yönelik programlar yazmanızı sağlayacak. Bu sınıfların kullanımını anlatan bir &lt;a href="http://java.sun.com/developer/technicalArticles/J2SE/Desktop/mustang/systemtray/"&gt;makaleden&lt;/a&gt; detaylı bilgiyi alabilirsiniz.&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/13440809-113232619169503410?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/113232619169503410/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=113232619169503410&amp;isPopup=true' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/113232619169503410'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/113232619169503410'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2005/11/system-traya-ulamak-artk-ok-kolay.html' title='System Tray&apos;a ulaşmak artık çok kolay...'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-113232490509442695</id><published>2005-11-18T16:37:00.000+02:00</published><updated>2005-11-18T16:41:45.140+02:00</updated><title type='text'>Bedava Araçlar!!!</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;Evet işte uzun zamandır beklediğim an gelmiş,&lt;span style="font-weight: bold;"&gt;SUN&lt;/span&gt; bir kıyak daha yapmış saolsun.&lt;a href="http://developers.sun.com/prodtech/javatools/free/?feed=RSS"&gt;SUN Java Creator IDE ve Sun Java Studio Enterprise&lt;/a&gt; artık bedava.Normalde fiyatları epeyce yüksekti.Bedava kullanmak için bir şart var, o da SDN üyesi olmak.Zaten o da çok basit.Ben ikisini de indirdim,inşallah bir sorun ile karşılaşmam.&lt;br/&gt;&lt;p style="font-size:10px;text-align:right;"&gt;Technorati Tags: &lt;a href="http://technorati.com/tag/sun" rel="tag"&gt;sun&lt;/a&gt;, &lt;a href="http://technorati.com/tag/java" rel="tag"&gt;java&lt;/a&gt;, &lt;a href="http://technorati.com/tag/ide" rel="tag"&gt;ide&lt;/a&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/13440809-113232490509442695?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/113232490509442695/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=113232490509442695&amp;isPopup=true' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/113232490509442695'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/113232490509442695'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2005/11/bedava-aralar.html' title='Bedava Araçlar!!!'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-113155523337324808</id><published>2005-11-09T18:46:00.000+02:00</published><updated>2005-11-09T18:53:53.406+02:00</updated><title type='text'>Taconite</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;AJAX uygulamaları geliştirmek için bir framework daha, &lt;a href="http://taconite.sourceforge.net/" style="font-weight: bold;"&gt;TACONITE!!!&lt;/a&gt;. Apache lisanslı olan bu proje size istemci-taraflı bir javascript kütüphanesi sunuyor.Böylece XML dökümanlarını AJAX yolu ile okuyabiliyorsunuz.Ayrıca size JSP tag kütüphanesi de sunuyor çoğu işi kolaylıkla yapabilesiniz diye...&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/13440809-113155523337324808?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/113155523337324808/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=113155523337324808&amp;isPopup=true' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/113155523337324808'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/113155523337324808'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2005/11/taconite.html' title='Taconite'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-113104738390125311</id><published>2005-11-03T21:48:00.000+02:00</published><updated>2005-11-03T21:49:43.943+02:00</updated><title type='text'>Bayramınız Kutlu Olsun...</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;Herkesin bayramını en içten dileklerimle kutlar,hayırlara vesile olmasını dilerim...&lt;br/&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/13440809-113104738390125311?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/113104738390125311/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=113104738390125311&amp;isPopup=true' title='1 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/113104738390125311'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/113104738390125311'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2005/11/bayramnz-kutlu-olsun.html' title='Bayramınız Kutlu Olsun...'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-113096343781420941</id><published>2005-11-02T22:28:00.000+02:00</published><updated>2005-11-02T22:30:37.826+02:00</updated><title type='text'>Swing Eğitimi</title><content type='html'>Java'da Swing kütüphanesini kullanarak masaüstüne yönelik uygulamar geliştirmek için güzel bir site. &lt;a href="http://java.sun.com/docs/books/tutorial/uiswing/"&gt;Tıklayınız, yalnız ingilizce....&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-113096343781420941?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/113096343781420941/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=113096343781420941&amp;isPopup=true' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/113096343781420941'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/113096343781420941'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2005/11/swing-eitimi.html' title='Swing Eğitimi'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-113096223573252103</id><published>2005-11-02T22:00:00.000+02:00</published><updated>2005-11-02T22:10:35.746+02:00</updated><title type='text'>EclipseME Projesi</title><content type='html'>&lt;a href="http://eclipseme.org"&gt;EclipseME&lt;/a&gt; projesi, JAVA Micro Edition platformunda uygulama geliştirmeye yarayan bir projedir.Benim bir zamanlar mobil telefonlar için proje geliştirirken kullandığım bir eklenti (plugin)'dir. Bu eklentiyi eclipse ide'sine kolayca entegre edebiliyorsunuz ve çok rahat bir şekilde mobil uygulamalar geliştirebiliyorsunuz.Yazdığınız kodun telefonda nasıl çalıştığını görmek istiyorsanız da dert değil,çünkü çeşitli telefon emülatörlerinde ön izleme yapmanızı sağlıyor. Eklenti ön koşul olarak &lt;a href="http://java.sun.com/j2me/download.html"&gt;J2ME Wireless Toolkit&lt;/a&gt;'i yüklemenizi istiyor.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-113096223573252103?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/113096223573252103/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=113096223573252103&amp;isPopup=true' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/113096223573252103'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/113096223573252103'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2005/11/eclipseme-projesi.html' title='EclipseME Projesi'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-113084007260713173</id><published>2005-11-01T11:09:00.000+02:00</published><updated>2005-11-01T12:14:32.703+02:00</updated><title type='text'>Obfuscation Nedir?</title><content type='html'>Java Dünyası'nda kod geliştiren herkes .class uzantılı (derlenmiş java dosyaları)  dosyalardan kaynak koda (.java uzantılı dosyalara) decompiler denilen araçlarla geçileceğini bilir. Bu nedenle internetten yada herhangi bir yerden elinize geçen bir java projesinin sadece class dosyaları varsa bu araçlarla rahatlıkla orjinal kaynak koda dönebilirsiniz. Tabi bazı kayıplar olabilir,fakat bu kodu anlamanıza engel olmaz. Bu nedenle class dosyaları, kodunuzun başkaları tarafından okunmasını istemiyorsanız, güvenli değildir.&lt;br /&gt;&lt;br /&gt;İşte obfuscation dediğimiz olay bu işe bir çözüm getirmiştir. Obfuscation işlemi sizin derlediğiniz .java dosyaları ile oluşan .class dosyaları üzerinde işlem yapar ve artık .class dosyalarından kaynak koda ulaşma işlemine bir son verir. Bu işlemi nasıl mı yapar?&lt;br /&gt;&lt;br /&gt;Temel olarak bir class dosyasını alır ve onun ismini,kullandığı metodarın,alanların isimlerini değiştirerek alfabeden isimler atar. Mesela Deneme.class, a.class'a dönüşür. Tabi bunu yaparken bu class'ı kullanan diğer class'larda da gerekli değişiklikleri yapar.Böylece kodunuz hem sorunsuz bir şekilde çalışır hem de güvenliliği sağlanmış olur. Obfuscation işlemini yapan araçlara Obfuscator denmektedir ve piyasada çeşitli obfuscator'ler bulunmaktadır. Bunlardan en beğendiklerim &lt;a href="http://proguard.sourceforge.net/"&gt;ProGuard&lt;/a&gt; (bedava) ve &lt;a href="http://www.retrologic.com/"&gt;RetroGuard&lt;/a&gt; (ticari projeler için paralı)'dır.&lt;br /&gt;&lt;br /&gt;Obfuscation işlemi ayrıca projenin büyüklük olarak da küçülmesini sağlar. Özellikle mobil projeler için bu çok güzel bir özelliktir. Çünkü çoğu mobil proje internetten,wap'tan indirilmektedir. Bu nedenle projenin mümkün olduğu kadar küçük olması aranmaktadır.Obfuscation class isimlerini,değişkenlerinin isimlerini... kısalttığı için otomatik olarak projenin boyutu da küçülmektedir.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-113084007260713173?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/113084007260713173/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=113084007260713173&amp;isPopup=true' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/113084007260713173'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/113084007260713173'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2005/11/obfuscation-nedir.html' title='Obfuscation Nedir?'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-113076695126304085</id><published>2005-10-31T15:30:00.000+02:00</published><updated>2005-10-31T15:55:51.293+02:00</updated><title type='text'>J2EE Dizayn Kalıpları</title><content type='html'>Aşağıdaki sitede J2EE dizayn kalıplarının (design patterns) listelendiği bir online katalog bulabilirsiniz: &lt;a href="http://corej2eepatterns.com/Patterns2ndEd/index.htm"&gt;Core J2EE Patterns&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-113076695126304085?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/113076695126304085/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=113076695126304085&amp;isPopup=true' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/113076695126304085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/113076695126304085'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2005/10/j2ee-dizayn-kalplar.html' title='J2EE Dizayn Kalıpları'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-113076386035755851</id><published>2005-10-31T14:59:00.000+02:00</published><updated>2005-10-31T15:04:20.413+02:00</updated><title type='text'>PDF'li Uygulamalar</title><content type='html'>Adobe Java Uygulamaları için .pdf uzantılı dosyaları okuyabileceğiniz bir API çıkarmış. Bu API ile kendiniz bir Acrobat Reader yazabilirsiniz. Sitesi için &lt;a href="http://www.adobe.com/products/acrviewer/acrvdnld.html?name=Accept"&gt;tıklayın&lt;/a&gt;. "EXE" veya "ZIP" uzantılı olarak indirebiliyorsunuz. "ZIP" uzantılı olan uygulama geliştirmek için, zip'in içinde örnekler ve açıklamalar bulunmakta.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-113076386035755851?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/113076386035755851/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=113076386035755851&amp;isPopup=true' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/113076386035755851'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/113076386035755851'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2005/10/pdfli-uygulamalar.html' title='PDF&apos;li Uygulamalar'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-113075986210227193</id><published>2005-10-31T13:40:00.000+02:00</published><updated>2005-10-31T14:21:33.856+02:00</updated><title type='text'>AJAX...</title><content type='html'>Ajax yeni bir teknoloji, bir senedir piyasada kullanılmakta:) Ben bu teknolojiyi son 2-3 aydır takip ediyorum. Nedir bu AJAX?&lt;br /&gt;&lt;br /&gt;Hepimizin bildiği  gibi  web sayfalarını dolaşırken herhangi bir butona yada linke tıkladığımızda sayfanın yeniden güncellenip içeriğinin değiştiğini görürüz, sayfanın yeniden yüklenmesinde karşımıza boş bir sayfa çıkar.AJAX bu olayı çözmüş,yani sayfalar dinamik olarak yükleniyor aynı &lt;a href="http://www.gmail.com/"&gt;GMail&lt;/a&gt;'de olduğu gibi. Mesela siz bir butona tıkladınız ve karşınıza bir "loading..." yazısı çıktı ve sayfanın beyazlaşmadığını gördünüz.Ya da sayfanın belli bir bölümünü dinamik olarak güncellemek istediniz,herhangibir linke tıkladınız ve o bölümde bir "güncelleniyor..." yazısı çıktı ve bir kaç sn. sonra ordaki içeriğin değiştiğini gördünüz.&lt;br /&gt;&lt;br /&gt;AJAX işte böylece sayfaların dinamikleşmesini sağlıyor.Peki AJAX yeni bir framework mü? Cevap ise hayır.AJAX bir teknikten öteye geçmiyor. AJAX ile sadece JavaScript'i efektif olarak kullanıyosunuz, böylece nerdeyse varolan tüm çatı (framework) 'lara uygulayabiliyorsunuz.Mesela "Struts" çatı(framework)'sına yada sadece "jsp" koduna monte edebilirsiniz. &lt;br /&gt;&lt;br /&gt;AJAX'ın daha kolay kullanılması için çeşitli projeler geliştirilmiş. Örneğin &lt;a href="https://dwr.dev.java.net/"&gt;DWR (Direct Web Remoting)&lt;/a&gt; size javascript'le uğraşmama kolaylığı sağlıyor,bildiğiniz java class'larını direk kullanmanızı sağlıyor.Bunun yanı sıra ceşitli makaleler mevcut,benim en sevdiğim makale: &lt;a href="http://today.java.net/pub/a/today/2005/10/27/sprinkle-ajax-magic-into-struts-webapp.html?page=1"&gt;"Sprinkle Some AJAX Magic in Your Struts Web Application".&lt;/a&gt; Bu makale AJAX'ı çok güzel bir şekilde anlatıyor ve AJAX'ı bir struts örneğinde kullanıyor.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-113075986210227193?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/113075986210227193/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=113075986210227193&amp;isPopup=true' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/113075986210227193'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/113075986210227193'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2005/10/ajax.html' title='AJAX...'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13440809.post-111800194750252398</id><published>2005-06-05T22:46:00.000+03:00</published><updated>2005-06-05T23:05:47.506+03:00</updated><title type='text'>Merhaba!!!</title><content type='html'>İlk mesajım,hadi hayırlısı...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13440809-111800194750252398?l=sekobey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sekobey.blogspot.com/feeds/111800194750252398/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13440809&amp;postID=111800194750252398&amp;isPopup=true' title='2 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/111800194750252398'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13440809/posts/default/111800194750252398'/><link rel='alternate' type='text/html' href='http://sekobey.blogspot.com/2005/06/merhaba.html' title='Merhaba!!!'/><author><name>Serkan Yıldırım</name><uri>http://www.blogger.com/profile/13633173915392377675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry></feed>
