<?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-1552001124024662783</id><updated>2012-01-17T14:23:38.644+02:00</updated><category term='hazelcast'/><category term='ceturk'/><category term='NTLM'/><category term='Seminar'/><category term='Subversion'/><category term='Mokito'/><category term='PL/SQL'/><category term='Free Software'/><category term='LTW'/><category term='terracotta'/><category term='Java'/><category term='Google'/><category term='CTW'/><category term='Stallman'/><category term='Spring Roo'/><category term='Cntlm'/><category term='Tomcat'/><category term='AspectJ'/><category term='Nexus'/><category term='Bada'/><category term='EHCache'/><category term='Maven'/><category term='Toplink'/><category term='m2e'/><category term='Proxy'/><category term='Eclipse'/><category term='JEE6'/><category term='JSF'/><category term='Gelecex'/><category term='Spring'/><category term='TortoiseSVN'/><category term='Android'/><category term='ZK'/><title type='text'>Okan Kahraman's Mindshare</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://okahraman.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1552001124024662783/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://okahraman.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Okan KAHRAMAN</name><uri>https://profiles.google.com/110436782671517881286</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-UiEVsfDU8Bo/AAAAAAAAAAI/AAAAAAAAAAA/TTDC9WtzOsk/s512-c/photo.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>25</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1552001124024662783.post-3509696409177314936</id><published>2011-09-14T15:10:00.002+03:00</published><updated>2011-09-15T10:11:30.516+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AspectJ'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='CTW'/><category scheme='http://www.blogger.com/atom/ns#' term='Maven'/><category scheme='http://www.blogger.com/atom/ns#' term='m2e'/><category scheme='http://www.blogger.com/atom/ns#' term='Spring'/><category scheme='http://www.blogger.com/atom/ns#' term='Tomcat'/><category scheme='http://www.blogger.com/atom/ns#' term='LTW'/><title type='text'>Switch CTW to LTW</title><content type='html'>Maven has lots of useful features but &lt;b&gt;m2e&lt;/b&gt; eclipse plugin is really poor. Beacuse of weird issues with &lt;b&gt;m2e&lt;/b&gt; plugin and &lt;b&gt;aspectj-maven-plugin&lt;/b&gt;, I decided to switch from &lt;b&gt;CTW&lt;/b&gt; (Compile Time Weaving) to &lt;b&gt;LTW&lt;/b&gt; (Load Time Weaving).&lt;br /&gt;&lt;br /&gt;First of all I removed the &lt;b&gt;aspectj-maven-plugin&lt;/b&gt;&amp;nbsp;configuration from project's pom.xml. Than I added the required &lt;b&gt;spring-tomcat-weaver.jar&lt;/b&gt;&amp;nbsp;under the Tomcat common lib directory. This library provides an instrumentable classloader for tomcat &amp;nbsp;and we need to tell to the tomcat to use the &lt;b&gt;TomcatInstrumentableClassLoader&lt;/b&gt; with the following &lt;b&gt;context.xml&lt;/b&gt; file.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&amp;lt;Context&lt;/b&gt; &lt;b&gt;path&lt;/b&gt;="/webapppath" &lt;b&gt;&amp;gt;&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;	&lt;/span&gt;&lt;b&gt;&amp;lt;Loader&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;		&lt;/span&gt;&lt;b&gt;loaderClass&lt;/b&gt;="org.springframework.instrument.classloading.tomcat.TomcatInstrumentableClassLoader"&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;		&lt;/span&gt;&lt;b&gt;useSystemClassLoaderAsParent&lt;/b&gt;="false" &lt;b&gt;/&amp;gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;lt;/Context&amp;gt;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;context.xml&lt;/b&gt; file should be located under&lt;b&gt; META-INF&lt;/b&gt; directory of our web app.&lt;br /&gt;&lt;br /&gt;In weblogic we don't need a library like this. Spring loadtime weaver does all the job for us. Of course we need to activate spring load time weaver by adding &amp;lt;&lt;b&gt;context:load-time-weaver /&amp;gt;&amp;nbsp;&lt;/b&gt;to our project's app context.&lt;br /&gt;&lt;br /&gt;After all of these configuration process our spring project has started to weave classes on loadtime and we don't need &lt;b&gt;m2e&lt;/b&gt; and&lt;b&gt; aspectj-maven-plugin&lt;/b&gt;&amp;nbsp;synchronization anymore.&lt;br /&gt;&lt;br /&gt;Finally I added the following config lines to my pom.xml to execute the unit and integration tests with maven successfuly.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;b&gt;&amp;lt;plugin&amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;	&lt;/span&gt;&lt;b&gt;&amp;lt;groupId&amp;gt;&lt;/b&gt;org.apache.maven.plugins&lt;b&gt;&amp;lt;/groupId&amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;	&lt;/span&gt;&lt;b&gt;&amp;lt;artifactId&amp;gt;&lt;/b&gt;maven-surefire-plugin&lt;b&gt;&amp;lt;/artifactId&amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;	&lt;/span&gt;&lt;b&gt;&amp;lt;configuration&amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;	&lt;/span&gt; &amp;nbsp;&lt;b&gt; &amp;lt;argLine&amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;	&lt;/span&gt;-javaagent:"${settings.localRepository}/org/springframework/spring-instrument/${spring.version}/spring-instrument-${spring.version}.jar"&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;	&lt;/span&gt; &amp;nbsp; &lt;b&gt;&amp;lt;/argLine&amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;	&lt;/span&gt;&lt;b&gt;&amp;lt;/configuration&amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;b&gt;&amp;lt;/plugin&amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;b&gt;&amp;lt;plugin&amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;	&lt;/span&gt;&lt;b&gt;&amp;lt;groupId&amp;gt;&lt;/b&gt;org.apache.maven.plugins&lt;b&gt;&amp;lt;/groupId&amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;	&lt;/span&gt;&lt;b&gt;&amp;lt;artifactId&amp;gt;&lt;/b&gt;maven-failsafe-plugin&lt;b&gt;&amp;lt;/artifactId&amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;	&lt;/span&gt;&lt;b&gt;&amp;lt;configuration&amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;	&lt;/span&gt; &lt;b&gt;&amp;nbsp; &amp;lt;argLine&amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;	&lt;/span&gt;-javaagent:"${settings.localRepository}/org/springframework/spring-instrument/${spring.version}/spring-instrument-${spring.version}.jar"&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;	&lt;/span&gt; &amp;nbsp;&lt;b&gt; &amp;lt;/argLine&amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;	&lt;/span&gt;&lt;b&gt;&amp;lt;/configuration&amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;b&gt;&amp;lt;/plugin&amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1552001124024662783-3509696409177314936?l=okahraman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://okahraman.blogspot.com/feeds/3509696409177314936/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1552001124024662783&amp;postID=3509696409177314936' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1552001124024662783/posts/default/3509696409177314936'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1552001124024662783/posts/default/3509696409177314936'/><link rel='alternate' type='text/html' href='http://okahraman.blogspot.com/2011/09/switch-ctw-to-ltw.html' title='Switch CTW to LTW'/><author><name>Okan KAHRAMAN</name><uri>https://profiles.google.com/110436782671517881286</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-UiEVsfDU8Bo/AAAAAAAAAAI/AAAAAAAAAAA/TTDC9WtzOsk/s512-c/photo.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1552001124024662783.post-5810689507292144138</id><published>2011-02-25T14:04:00.000+02:00</published><updated>2011-02-25T14:04:42.714+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Free Software'/><category scheme='http://www.blogger.com/atom/ns#' term='Stallman'/><title type='text'>Stallman Ankara'da</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-LscGpQ-M6VY/TWear5Rb8eI/AAAAAAAAj4k/ddjZ7k6BlTs/s1600/stallman.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://1.bp.blogspot.com/-LscGpQ-M6VY/TWear5Rb8eI/AAAAAAAAj4k/ddjZ7k6BlTs/s400/stallman.jpg" width="282" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1552001124024662783-5810689507292144138?l=okahraman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://okahraman.blogspot.com/feeds/5810689507292144138/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1552001124024662783&amp;postID=5810689507292144138' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1552001124024662783/posts/default/5810689507292144138'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1552001124024662783/posts/default/5810689507292144138'/><link rel='alternate' type='text/html' href='http://okahraman.blogspot.com/2011/02/stallman-ankarada.html' title='Stallman Ankara&apos;da'/><author><name>Okan KAHRAMAN</name><uri>https://profiles.google.com/110436782671517881286</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-UiEVsfDU8Bo/AAAAAAAAAAI/AAAAAAAAAAA/TTDC9WtzOsk/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-LscGpQ-M6VY/TWear5Rb8eI/AAAAAAAAj4k/ddjZ7k6BlTs/s72-c/stallman.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1552001124024662783.post-415685767659712029</id><published>2011-01-11T15:50:00.002+02:00</published><updated>2011-01-11T15:52:02.512+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Nexus'/><category scheme='http://www.blogger.com/atom/ns#' term='Cntlm'/><category scheme='http://www.blogger.com/atom/ns#' term='Proxy'/><category scheme='http://www.blogger.com/atom/ns#' term='NTLM'/><category scheme='http://www.blogger.com/atom/ns#' term='Maven'/><title type='text'>Nexus Repository Manager Behind an HTTP Proxy</title><content type='html'>If you are trying to run Nexus Repository Manager behind an http proxy server that requires NTLM authentication, then you have issues with it because the httpclient version that nexus uses is problematic about NTLM authentication.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There are some http proxy configuration parameters on Administration/Server view. I configured the proxy settings as below and filled the NTLM fields according to my domain settings but nexus could not reach the repositories through http proxy because of NTLM authentication issues.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_TpkS7DGDKiQ/TSxV-RG6m3I/AAAAAAAAj30/gVvewZkNgGY/s1600/nexus.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="272" src="http://4.bp.blogspot.com/_TpkS7DGDKiQ/TSxV-RG6m3I/AAAAAAAAj30/gVvewZkNgGY/s400/nexus.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;After some googling, I found that there is a workaround for this issue. First we need to &lt;a href="http://sourceforge.net/projects/cntlm/files/"&gt;download&lt;/a&gt; the &lt;a href="http://cntlm.sourceforge.net/"&gt;cntlm authentication proxy&lt;/a&gt; and install it.&lt;/div&gt;&lt;div&gt;Extract the content of the cntlm zip file to a temporary location, enter the extracted directory and run the &lt;b&gt;setup.bat &lt;/b&gt;that installs the cntlm under the &lt;b&gt;Program Files&lt;/b&gt; and registers a new windows service named&amp;nbsp;&lt;b&gt;cntlm. &lt;/b&gt;Now we are able to start and stop cntlm service via windows services tool. After the installation of cntlm we need to configure it by editing cntlm.ini file that resides under the &lt;b&gt;~/Program Files/Cntlm/&lt;/b&gt; folder.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;#&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;# Cntlm Authentication Proxy Configuration&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;#&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;# NOTE: all values are parsed literally, do NOT escape spaces,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;# do not quote. Use 0600 perms if you use plaintext password.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;#&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;b&gt;Username&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;okahraman&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;b&gt;Domain&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;mydomain&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;b&gt;Password&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;mypassword&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;# Use hashes instead (-H)&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;#Workstation&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;netbios_hostname&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;# Should be auto-guessed&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;b&gt;Proxy&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;aproxy:8080&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;#Proxy&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;10.217.112.42:8080&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;#&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;# This is the port number where Cntlm will listen&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;#&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;b&gt;Listen&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;3128&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now local authentication proxy is ready and &amp;nbsp;we need to configure the nexus with the local cntlm proxy.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_TpkS7DGDKiQ/TSxd1nvDvII/AAAAAAAAj34/B5hkxdDUz_g/s1600/nexus-local.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="187" src="http://4.bp.blogspot.com/_TpkS7DGDKiQ/TSxd1nvDvII/AAAAAAAAj34/B5hkxdDUz_g/s400/nexus-local.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;and we are ready to go with nexus repository manager...&lt;/div&gt;&lt;h2 style="font-family: arial, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 20px;"&gt;&lt;br /&gt;&lt;/h2&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1552001124024662783-415685767659712029?l=okahraman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://okahraman.blogspot.com/feeds/415685767659712029/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1552001124024662783&amp;postID=415685767659712029' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1552001124024662783/posts/default/415685767659712029'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1552001124024662783/posts/default/415685767659712029'/><link rel='alternate' type='text/html' href='http://okahraman.blogspot.com/2011/01/nexus-repository-manager-behind-http.html' title='Nexus Repository Manager Behind an HTTP Proxy'/><author><name>Okan KAHRAMAN</name><uri>https://profiles.google.com/110436782671517881286</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-UiEVsfDU8Bo/AAAAAAAAAAI/AAAAAAAAAAA/TTDC9WtzOsk/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_TpkS7DGDKiQ/TSxV-RG6m3I/AAAAAAAAj30/gVvewZkNgGY/s72-c/nexus.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1552001124024662783.post-1277921153610816077</id><published>2011-01-10T11:45:00.002+02:00</published><updated>2011-01-10T11:48:41.426+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Spring Roo'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Seminar'/><category scheme='http://www.blogger.com/atom/ns#' term='Gelecex'/><title type='text'>Gazi Üniversitesi Spring Roo Sunumu</title><content type='html'>&lt;b&gt;Gazi Üniversitesi Java Günü&lt;/b&gt; etkinliğinde yaptığım &lt;b&gt;Spring Roo&lt;/b&gt; sunumu:&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;iframe frameborder="0" height="342" src="https://docs.google.com/present/embed?id=ddr223dj_225drp498gk" width="410"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1552001124024662783-1277921153610816077?l=okahraman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://okahraman.blogspot.com/feeds/1277921153610816077/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1552001124024662783&amp;postID=1277921153610816077' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1552001124024662783/posts/default/1277921153610816077'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1552001124024662783/posts/default/1277921153610816077'/><link rel='alternate' type='text/html' href='http://okahraman.blogspot.com/2011/01/gazi-universitesi-spring-roo-sunumu.html' title='Gazi Üniversitesi Spring Roo Sunumu'/><author><name>Okan KAHRAMAN</name><uri>https://profiles.google.com/110436782671517881286</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-UiEVsfDU8Bo/AAAAAAAAAAI/AAAAAAAAAAA/TTDC9WtzOsk/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1552001124024662783.post-4510589895191862374</id><published>2011-01-03T11:06:00.002+02:00</published><updated>2011-01-03T11:08:50.945+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Spring Roo'/><category scheme='http://www.blogger.com/atom/ns#' term='Seminar'/><category scheme='http://www.blogger.com/atom/ns#' term='Gelecex'/><title type='text'>Gazi Üniversitesi Yazılım Günleri</title><content type='html'>&lt;a href="http://www.ceturk.com/"&gt;CETURK&lt;/a&gt; ve &lt;a href="http://www.gelecex.com/"&gt;Gelecex&lt;/a&gt; gibi bilişim platformları 2011 yılında da hız kesmeden üniversitelerde yazılım ve teknoloji konulu etkinlikler düzenlemeye devam ediyorlar. Bunlardan sonuncusu&amp;nbsp;6 -7 Ocak'ta&amp;nbsp;&lt;a href="http://www.gazi.edu.tr/"&gt;Gazi Üniversitesi&lt;/a&gt;'nin ev sahipliği yapacağı&amp;nbsp;&lt;a href="http://www.gelecex.com/"&gt;Gelecex&lt;/a&gt;&amp;nbsp;&lt;a href="http://www.gelecex.com/gelecex-yazilim-gunleri-gazi-universitesi.html"&gt;Yazılım günleri&lt;/a&gt;. Bu etkinlik kapsamında ben de &lt;a href="http://www.springsource.org/roo"&gt;Spring Roo&lt;/a&gt;&amp;nbsp;hakkında bir sunum gerçekleştireceğim. İlgilenenler için etkinlik programı aşağıdadır:&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_TpkS7DGDKiQ/TSGQK7zlQ9I/AAAAAAAAj3o/7hXbnldjxvw/s1600/yaz%25C4%25B1l%25C4%25B1mg%25C3%25BCnleri-copy.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/_TpkS7DGDKiQ/TSGQK7zlQ9I/AAAAAAAAj3o/7hXbnldjxvw/s320/yaz%25C4%25B1l%25C4%25B1mg%25C3%25BCnleri-copy.jpg" width="226" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Etkinlikte görüşmek üzere...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1552001124024662783-4510589895191862374?l=okahraman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://okahraman.blogspot.com/feeds/4510589895191862374/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1552001124024662783&amp;postID=4510589895191862374' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1552001124024662783/posts/default/4510589895191862374'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1552001124024662783/posts/default/4510589895191862374'/><link rel='alternate' type='text/html' href='http://okahraman.blogspot.com/2011/01/gazi-universitesi-yazlm-gunleri.html' title='Gazi Üniversitesi Yazılım Günleri'/><author><name>Okan KAHRAMAN</name><uri>https://profiles.google.com/110436782671517881286</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-UiEVsfDU8Bo/AAAAAAAAAAI/AAAAAAAAAAA/TTDC9WtzOsk/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_TpkS7DGDKiQ/TSGQK7zlQ9I/AAAAAAAAj3o/7hXbnldjxvw/s72-c/yaz%25C4%25B1l%25C4%25B1mg%25C3%25BCnleri-copy.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1552001124024662783.post-7592649093893031732</id><published>2010-12-09T03:02:00.000+02:00</published><updated>2010-12-09T03:02:46.710+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TortoiseSVN'/><category scheme='http://www.blogger.com/atom/ns#' term='Subversion'/><category scheme='http://www.blogger.com/atom/ns#' term='Proxy'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><title type='text'>SVN and Eclipse proxy issues</title><content type='html'>&amp;nbsp;We connect to internet via proxy server&amp;nbsp;at work due to existing security policies. Consequently, we need to configure appropriate proxy settings for eclipse&amp;nbsp;as well&amp;nbsp;to access a source repository(CVS,SVN,Git etc.) or to connect to an update site. It is not difficult to configure the proxy in eclipse but I have to do this work twice a day &amp;nbsp;because of using the same development environment both at home and at work.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_TpkS7DGDKiQ/TQAp6utB7eI/AAAAAAAAj3U/b5GjvGlz4TI/s1600/eclipseproxy.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="261" src="http://2.bp.blogspot.com/_TpkS7DGDKiQ/TQAp6utB7eI/AAAAAAAAj3U/b5GjvGlz4TI/s400/eclipseproxy.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Today, when I arrived at home, I disabled the proxy settings in eclipse and started to work with my project as usual but I got an error while trying to synchronize the project with svn repository. I was able to acces the Git repository and eclipse update sites without any problems and it pointed out that the problem was related to svn proxy configuration. The first thing came to my mind was the svn configuration files under the "&lt;b&gt;C:\Documents and Settings\okahraman\Application Data\Subversion&lt;/b&gt;" directory. I glanced at these files and could not find any issue with configuration. After cursing at the eclipse for a while, I remembered the TortoiseSVN client that I had installed this morning.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_TpkS7DGDKiQ/TQAo-hfA72I/AAAAAAAAj3Q/1mC1P9JUytY/s1600/tortoise.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="267" src="http://4.bp.blogspot.com/_TpkS7DGDKiQ/TQAo-hfA72I/AAAAAAAAj3Q/1mC1P9JUytY/s400/tortoise.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;I had configured the proxy settings for TortoiseSVN client and had left it like that. After some googling I did find that&amp;nbsp;windows registry stores&amp;nbsp;the proxy configuration for TortoiseSVN at "&lt;b&gt;HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Servers\global&lt;/b&gt;".&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_TpkS7DGDKiQ/TQAogNrlXOI/AAAAAAAAj3M/gB10AO5gv4U/s1600/svnproxy.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="196" src="http://3.bp.blogspot.com/_TpkS7DGDKiQ/TQAogNrlXOI/AAAAAAAAj3M/gB10AO5gv4U/s400/svnproxy.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;It is understood that the configuration stored in windows registry overrides the eclipse proxy configuration for svn. So if you use the TortoiseSVN and eclipse together on same machine, you should be careful about proxy configurations. As you can guess, SVN client (Subversive for me) in eclipse has started to run after I disabled the proxy configuration on TortoiseSVN.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1552001124024662783-7592649093893031732?l=okahraman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://okahraman.blogspot.com/feeds/7592649093893031732/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1552001124024662783&amp;postID=7592649093893031732' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1552001124024662783/posts/default/7592649093893031732'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1552001124024662783/posts/default/7592649093893031732'/><link rel='alternate' type='text/html' href='http://okahraman.blogspot.com/2010/12/svn-and-eclipse-proxy-issues.html' title='SVN and Eclipse proxy issues'/><author><name>Okan KAHRAMAN</name><uri>https://profiles.google.com/110436782671517881286</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-UiEVsfDU8Bo/AAAAAAAAAAI/AAAAAAAAAAA/TTDC9WtzOsk/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_TpkS7DGDKiQ/TQAp6utB7eI/AAAAAAAAj3U/b5GjvGlz4TI/s72-c/eclipseproxy.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1552001124024662783.post-6138408996361836042</id><published>2010-12-02T10:29:00.001+02:00</published><updated>2011-01-05T14:16:53.037+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>From localization to personalization...</title><content type='html'>Today is my birthday and google reminded me of my bithday before my family and friends. It is usual to see localized logos at google but I have never seen a personalized logo like this before at google. I think this is funny :)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_TpkS7DGDKiQ/TPdYrV-WubI/AAAAAAAAj2o/yrTOJjbn17Y/s1600/google.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="182" src="http://2.bp.blogspot.com/_TpkS7DGDKiQ/TPdYrV-WubI/AAAAAAAAj2o/yrTOJjbn17Y/s400/google.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1552001124024662783-6138408996361836042?l=okahraman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://okahraman.blogspot.com/feeds/6138408996361836042/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1552001124024662783&amp;postID=6138408996361836042' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1552001124024662783/posts/default/6138408996361836042'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1552001124024662783/posts/default/6138408996361836042'/><link rel='alternate' type='text/html' href='http://okahraman.blogspot.com/2010/12/from-localization-to-personalization.html' title='From localization to personalization...'/><author><name>Okan KAHRAMAN</name><uri>https://profiles.google.com/110436782671517881286</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-UiEVsfDU8Bo/AAAAAAAAAAI/AAAAAAAAAAA/TTDC9WtzOsk/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_TpkS7DGDKiQ/TPdYrV-WubI/AAAAAAAAj2o/yrTOJjbn17Y/s72-c/google.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1552001124024662783.post-5556425571415785373</id><published>2010-11-30T01:03:00.002+02:00</published><updated>2010-11-30T17:36:08.649+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Spring'/><category scheme='http://www.blogger.com/atom/ns#' term='JEE6'/><title type='text'>Some key considerations from Jürgen Höller's "Spring and Java EE 6: Synergy or Competition"</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_TpkS7DGDKiQ/TPQw9gHIxuI/AAAAAAAAj1c/Qrnfk_sSjjU/s1600/spring.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://2.bp.blogspot.com/_TpkS7DGDKiQ/TPQw9gHIxuI/AAAAAAAAj1c/Qrnfk_sSjjU/s640/spring.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;For the complete presentation:&lt;a href="http://www.infoq.com/presentations/Spring-Java-EE6"&gt;http://www.infoq.com/presentations/Spring-Java-EE6&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1552001124024662783-5556425571415785373?l=okahraman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://okahraman.blogspot.com/feeds/5556425571415785373/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1552001124024662783&amp;postID=5556425571415785373' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1552001124024662783/posts/default/5556425571415785373'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1552001124024662783/posts/default/5556425571415785373'/><link rel='alternate' type='text/html' href='http://okahraman.blogspot.com/2010/11/some-key-considerations-from-jurgen.html' title='Some key considerations from Jürgen Höller&apos;s &quot;Spring and Java EE 6: Synergy or Competition&quot;'/><author><name>Okan KAHRAMAN</name><uri>https://profiles.google.com/110436782671517881286</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-UiEVsfDU8Bo/AAAAAAAAAAI/AAAAAAAAAAA/TTDC9WtzOsk/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_TpkS7DGDKiQ/TPQw9gHIxuI/AAAAAAAAj1c/Qrnfk_sSjjU/s72-c/spring.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1552001124024662783.post-3817957597710484665</id><published>2010-11-27T20:51:00.000+02:00</published><updated>2010-11-27T20:51:04.890+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Seminar'/><category scheme='http://www.blogger.com/atom/ns#' term='Bada'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Android Programlama ve Mobil Dünya</title><content type='html'>Bugün TBD Genç tarafından organize edilen ve &lt;a href="http://bt.etu.edu.tr/"&gt;TOBB ETÜ Bilişim Teknolojileri ve Robot Topluluğu&lt;/a&gt;'nun ev sahipliği yaptığı &lt;b&gt;Android Programlama ve Mobil Dünya&lt;/b&gt; seminerine dinleyici olarak katılma fırsatı buldum. Öncelikle bize bu eğlenceli Cumartesi'yi hazırlamak için emek harcayan herkese çok teşekkür ediyorum.&lt;br /&gt;&lt;br /&gt;Seminer Android ve iPhone ortamlarında uygulama geliştirme tecrübesi bulunan &lt;b&gt;Mustafa Ferhan Akman&lt;/b&gt; tarafından verildi. Başarılı sunumundan dolayı Mustafa Bey'e teşekkür ediyorum.&lt;br /&gt;&lt;br /&gt;Benim mobil uygulamalara karşı ilgim bir kaç ay önce satın aldığım Samsung Wave ile başladı. Bu telefon üzerinde Samsung'un geliştirdiği Bada işletim sistemi bulunuyor. Bada'nın başarılı bir işletim sistemi olduğunu ve oldukça performanslı çalıştığını söyleyebilirim. Benim için tek eksisi bada uygulamalarının C++ ile geliştirilmesi. Telefonu aldığım ilk hafta deneme amacıyla telefonun flash'ını açıp kapatan bir uygulama yazdım ancak itiraf etmeliyim ki C++ ile kod yazmayalı uzun zaman olmuş :) UI tasarımını bir hayli kolaylaştıran eclipse tabanlı başarılı IDE'si ve mobil simülatörü göz önünde bulundurulduğunda Samsung'un bu platforma daha çok yatırım yapacağını söyleyebilirim.&lt;br /&gt;&lt;br /&gt;Android işletim sistemini defalarca duymama rağmen ayrıntılı bir şekilde inceleme fırsatı bulamamıştım. Bugünkü sunum sayesinde hem Android işletim sistemi mimarisi hakkında genel bilgi sahibi oldum hem de bu platform üzerinde nasıl uygulama geliştirileceğine dair bir başlangıç yaptım. Dürüst olmak gerekirse Android üzerindeki uygulamaların java kullanılarak geliştirilmesi benim için tek başına bile bir tercih sebebi olabilir. Samsung her iki platforma da, bada ve android, yatırım yapmaya devam edecek gibi görünüyor. Bunlardan hangisinin daha başarılı olacağını bize zaman gösterecek.&lt;br /&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1552001124024662783-3817957597710484665?l=okahraman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://okahraman.blogspot.com/feeds/3817957597710484665/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1552001124024662783&amp;postID=3817957597710484665' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1552001124024662783/posts/default/3817957597710484665'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1552001124024662783/posts/default/3817957597710484665'/><link rel='alternate' type='text/html' href='http://okahraman.blogspot.com/2010/11/android-programlama-ve-mobil-dunya.html' title='Android Programlama ve Mobil Dünya'/><author><name>Okan KAHRAMAN</name><uri>https://profiles.google.com/110436782671517881286</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-UiEVsfDU8Bo/AAAAAAAAAAI/AAAAAAAAAAA/TTDC9WtzOsk/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1552001124024662783.post-326028375500137547</id><published>2010-11-21T21:55:00.001+02:00</published><updated>2010-11-21T22:37:34.933+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JSF'/><title type='text'>Thoughts about JSF</title><content type='html'>Thank God someone else shares my feelings about JSF...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_TpkS7DGDKiQ/TOl44R63LeI/AAAAAAAAj1M/TsaTnBrr4Bs/s1600/jsf.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="323" src="http://1.bp.blogspot.com/_TpkS7DGDKiQ/TOl44R63LeI/AAAAAAAAj1M/TsaTnBrr4Bs/s640/jsf.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1552001124024662783-326028375500137547?l=okahraman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://okahraman.blogspot.com/feeds/326028375500137547/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1552001124024662783&amp;postID=326028375500137547' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1552001124024662783/posts/default/326028375500137547'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1552001124024662783/posts/default/326028375500137547'/><link rel='alternate' type='text/html' href='http://okahraman.blogspot.com/2010/11/thoughts-about-jsf.html' title='Thoughts about JSF'/><author><name>Okan KAHRAMAN</name><uri>https://profiles.google.com/110436782671517881286</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-UiEVsfDU8Bo/AAAAAAAAAAI/AAAAAAAAAAA/TTDC9WtzOsk/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_TpkS7DGDKiQ/TOl44R63LeI/AAAAAAAAj1M/TsaTnBrr4Bs/s72-c/jsf.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1552001124024662783.post-352556401375036148</id><published>2010-11-08T12:06:00.004+02:00</published><updated>2010-11-27T21:12:53.457+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ceturk'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='hazelcast'/><title type='text'>CETURK Ege Üniversitesi Java Günü'nün Ardından</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_TpkS7DGDKiQ/TPFWPYuPlEI/AAAAAAAAj1U/8XEj2GDfsWc/s1600/07112010+109+%255B1600x1200%255D.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/_TpkS7DGDKiQ/TPFWPYuPlEI/AAAAAAAAj1U/8XEj2GDfsWc/s320/07112010+109+%255B1600x1200%255D.JPG" width="212" /&gt;&lt;/a&gt;&lt;a href="http://2.bp.blogspot.com/_TpkS7DGDKiQ/TPFWFTHedrI/AAAAAAAAj1Q/eTXImnSKuPc/s1600/07112010+075+%255B1600x1200%255D.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/_TpkS7DGDKiQ/TPFWFTHedrI/AAAAAAAAj1Q/eTXImnSKuPc/s320/07112010+075+%255B1600x1200%255D.JPG" width="212" /&gt;&lt;/a&gt;&lt;a href="http://1.bp.blogspot.com/_TpkS7DGDKiQ/TPFWf5ssjrI/AAAAAAAAj1Y/7H2rR44RV3M/s1600/07112010+131+%255B1600x1200%255D.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="212" src="http://1.bp.blogspot.com/_TpkS7DGDKiQ/TPFWf5ssjrI/AAAAAAAAj1Y/7H2rR44RV3M/s320/07112010+131+%255B1600x1200%255D.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Cumartesi günü İzmir'de hem eğlenceli hem verimli bir gün geçirdik. Etkinlik Ege Üniversitesi Bilgisayar Mühendisliği Bölümü'nün binasında yapıldı. Öğrendiğime göre burası tarihi bir binaymış. Etkinliğe katılım oranı genel olarak iyiydi. İzmir'deki diğer üniversitelerden de dinleyici olarak katılan arkadaşların ortak bir talebi vardı. Hepsi kendi üniversitelerinde de buna benzer etkinliklerin düzenlenmesini istiyordu. CETURK yöneticisi Mehmet ACA ilerleyen dönemlerde İzmir'deki diğer üniversitelerde de buna benzer etkinlikler düzenleceğini ve organizasyon için arkadaşlar ile iletişimde olacağını belirtti. CETURK ve Mehmet Bey gerçekten bu tip organizasyonlar düzenleyebilmek için takdir edilecek bir çaba sarfediyorlar. Kendi adıma bu çabalarından ötürü teşekkür ediyorum.&lt;br /&gt;&lt;br /&gt;Etkinlikte "Java Geliştiricileri için Kullanışlı Araçlar" isimli bir sunum yaptım. Ancak kendi yaptığım sunumdan çok Talip Öztürk Bey'in yaptığı sunumdan bahsetmek istiyorum zira benim için çok faydakı bilgiler içeriyordu. Talip Bey kendi geliştirdiği açık kaynaklı bir ürün olan "Hazelcast - Java Distributed Cache" konusunda bir sunum gerçekleştirdi.Özel olarak ilgi duyduğum bir alan olan Distributed Cache ile ilgili daha önce Çankaya Üniversitesi'nde yine bir CETURK etkinliğinde "Terracotta ile Sınırsız Ölçeklenebilirlik" isimi bir sunum yapmıştım. O dönemde çalıştığım firmadaki projelerimizden birinde Terracotta kullanmayı düşünüyorduk ve belirli bir arge çalışması yapmıştık. Daha sonra farklı sebeplerden dolayı bu ürünü kullanmaktan vazgeçtik. Ancak Hazelcast sunumunu dinledikten sonra bizim o dönemki ihtiyaçlarımızı tam olarak karşılayabildiğini ve Terracotta'nın tüm cluster'ı yönetebilmek için ayrı/merkezi bir terracotta server'ına ihtiyaç duyması gibi dezavantjların Hazelcast'ta olmadığını gördüm. Hazelcast p2p çalışıyor ve distribution sırasındaki network trafiğini en aza indirmek için çeşitli optimizasyon yöntemleri kullanıyor. Distibuted mimarinin karmaşıklığını geliştiriciden soyutluyor ve cache'in kolay ve etkili kullanılabilmesini sağlıyor.&lt;br /&gt;Talip Bey Hazelcast'i kullanan firmalardan örnekler verirken Turkcell'in de müşterilerinden biri olduğunu belirtti. Komiktir ki benim Terracotta'yı araştırdığım dönemlerde Turkcell'in de Terracotta kullandığını duymuştum. Bu duyum ürüne dair bazı kaygılarımı ortadan kaldırmıştı. Ancak sürecin sonraki aşamalarında Turkcell, Terracotta ile dead lock problemleri yaşamış ve bu ürünü kullanmaktan vazgeçmiş. Şu anda Hazelcast ile yola devam ediyorlarmış :)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Kısacası bundan sonraki projelerimde distributed bir cache'e ihtiyaç duyduğumza Hazelcast ilk tercihim olacak. İlgilenen arkadaşlar &lt;a href="http://www.hazelcast.com/"&gt;http://www.hazelcast.com&lt;/a&gt; adresinden bu ürünü indrip projelerinde kullanmaya başlayabilirler.&lt;br /&gt;&lt;br /&gt;Etkinlikte yaptığım sunum:&lt;br /&gt;&lt;br /&gt;&lt;iframe frameborder="0" height="342" src="https://docs.google.com/present/embed?id=ddr223dj_130gkjvskk5" width="410"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1552001124024662783-352556401375036148?l=okahraman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://okahraman.blogspot.com/feeds/352556401375036148/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1552001124024662783&amp;postID=352556401375036148' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1552001124024662783/posts/default/352556401375036148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1552001124024662783/posts/default/352556401375036148'/><link rel='alternate' type='text/html' href='http://okahraman.blogspot.com/2010/11/ceturk-ege-universitesi-java-gununun.html' title='CETURK Ege Üniversitesi Java Günü&apos;nün Ardından'/><author><name>Okan KAHRAMAN</name><uri>https://profiles.google.com/110436782671517881286</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-UiEVsfDU8Bo/AAAAAAAAAAI/AAAAAAAAAAA/TTDC9WtzOsk/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_TpkS7DGDKiQ/TPFWPYuPlEI/AAAAAAAAj1U/8XEj2GDfsWc/s72-c/07112010+109+%255B1600x1200%255D.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1552001124024662783.post-8603298656921638442</id><published>2010-11-01T15:44:00.001+02:00</published><updated>2010-11-01T15:58:58.590+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ceturk'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Seminar'/><title type='text'>Ege Üniversitesi Java Günü</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_TpkS7DGDKiQ/TM6_w30N-lI/AAAAAAAAj00/nY6IOY8_FV0/s1600/ceturk-ege-universitesi-java-gunu-banner-2010-b.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="210" src="http://1.bp.blogspot.com/_TpkS7DGDKiQ/TM6_w30N-lI/AAAAAAAAj00/nY6IOY8_FV0/s320/ceturk-ege-universitesi-java-gunu-banner-2010-b.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;6 Kasım'da Ege Üniversitesi'nde düzenlenecek &lt;a href="http://www.ceturk.com/"&gt;CETURK&lt;/a&gt; Java Günü etkinliğinde ben de " &lt;b&gt;Java Geliştiricileri için Kullanışlı Araçlar&lt;/b&gt;" isimli bir sunum yapacağım. İzmir'de görüşmek üzere...&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Etkinlik Programı&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;10:00-10:15 &amp;nbsp;&amp;nbsp; &amp;nbsp;Açılış Konuşması &amp;nbsp;&amp;nbsp; &amp;nbsp;Ege Üniversitesi Bilgisayar Mühendisliği&lt;br /&gt;10:15-10:30 &amp;nbsp;&amp;nbsp; &amp;nbsp;CETURK &amp;nbsp;&amp;nbsp; &amp;nbsp;Mehmet ACA&lt;br /&gt;10:30-11:45 &amp;nbsp;&amp;nbsp; &amp;nbsp;Veritabanı Temel Kavramları ve ORACLE Veritabanına Genel Bakış &amp;nbsp;&amp;nbsp; &amp;nbsp;Talip Hakan ÖZTÜRK&lt;br /&gt;11:45-12:00 &amp;nbsp;&amp;nbsp; &amp;nbsp;Ara &amp;nbsp;&amp;nbsp; &lt;br /&gt;12:00-13:15 &amp;nbsp;&amp;nbsp; &amp;nbsp;Java Distributed Cache &amp;nbsp;&amp;nbsp; &amp;nbsp;Talip ÖZTÜRK&lt;br /&gt;13:15-14:15 &amp;nbsp;&amp;nbsp; &amp;nbsp;Öğlen Arası &amp;nbsp;&amp;nbsp; &lt;br /&gt;14:15-15:30 &amp;nbsp;&amp;nbsp; &amp;nbsp;Java Geliştiricileri için Kullanışlı Araçlar &amp;nbsp;&amp;nbsp; &amp;nbsp;Okan KAHRAMAN&lt;br /&gt;15:30-15:45 &amp;nbsp;&amp;nbsp; &amp;nbsp;Ara &amp;nbsp;&amp;nbsp; &lt;br /&gt;15:45-17:00 &amp;nbsp;&amp;nbsp; &amp;nbsp;Eclipse – İhtiyacınız Olan Tek IDE &amp;nbsp;&amp;nbsp; &amp;nbsp;Mustafa DEMİR&lt;br /&gt;17:15-17:30 &amp;nbsp;&amp;nbsp; &amp;nbsp;Ara &amp;nbsp;&amp;nbsp; &lt;br /&gt;17:30-18:00 &amp;nbsp;&amp;nbsp; &amp;nbsp;Panel – Java , Oracle ve Kariyer &amp;nbsp;&amp;nbsp; &amp;nbsp;Tüm Konuşmacılar&lt;br /&gt;18:00-18:15 &amp;nbsp;&amp;nbsp; &amp;nbsp;Kitap Çekilişi&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1552001124024662783-8603298656921638442?l=okahraman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://okahraman.blogspot.com/feeds/8603298656921638442/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1552001124024662783&amp;postID=8603298656921638442' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1552001124024662783/posts/default/8603298656921638442'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1552001124024662783/posts/default/8603298656921638442'/><link rel='alternate' type='text/html' href='http://okahraman.blogspot.com/2010/11/ege-universitesi-java-gunu.html' title='Ege Üniversitesi Java Günü'/><author><name>Okan KAHRAMAN</name><uri>https://profiles.google.com/110436782671517881286</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-UiEVsfDU8Bo/AAAAAAAAAAI/AAAAAAAAAAA/TTDC9WtzOsk/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_TpkS7DGDKiQ/TM6_w30N-lI/AAAAAAAAj00/nY6IOY8_FV0/s72-c/ceturk-ege-universitesi-java-gunu-banner-2010-b.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1552001124024662783.post-7671924758048163041</id><published>2010-02-27T18:05:00.004+02:00</published><updated>2010-03-04T20:15:45.595+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mokito'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Seminar'/><title type='text'>Gazi Üniversitesi Mockito sunumu</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://3.bp.blogspot.com/_TpkS7DGDKiQ/S4_3nB5l1lI/AAAAAAAAMaU/JcyyzuwycM4/s1600-h/S5000261.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_TpkS7DGDKiQ/S4_3nB5l1lI/AAAAAAAAMaU/JcyyzuwycM4/s320/S5000261.JPG" /&gt;&lt;/a&gt;&lt;a href="http://3.bp.blogspot.com/_TpkS7DGDKiQ/S4_35QsQj3I/AAAAAAAAMak/40dU0F-F6qY/s1600-h/S5000267.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_TpkS7DGDKiQ/S4_35QsQj3I/AAAAAAAAMak/40dU0F-F6qY/s320/S5000267.JPG" /&gt;&lt;/a&gt;&lt;a href="http://3.bp.blogspot.com/_TpkS7DGDKiQ/S4_4M1yKTMI/AAAAAAAAMa8/4k1DwbQJtcc/s1600-h/S5000270.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_TpkS7DGDKiQ/S4_4M1yKTMI/AAAAAAAAMa8/4k1DwbQJtcc/s320/S5000270.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Bu hafta da &lt;a href="http://www.ceturk.com/"&gt;CETURK&lt;/a&gt; ile birlikte Gazi Üniversitesi'ndeydik. Geçen hafta Çankaya Üniversitesi'nde düzenlenen Java ve Kariyer Gününün devamı şeklinde düzenlenen etkinlikte ben de &lt;a href="http://www.mockito.org/"&gt;Mockito&lt;/a&gt; hakkında bir sunum yapma fırsatı buldum. Etkinliğin düzenlenmesinde emeği geçen bütün arkadaşlara teşekkür ederim.&lt;br /&gt;&lt;br /&gt;&lt;iframe frameborder="0" height="342" src="http://docs.google.com/present/embed?id=ddr223dj_115kb59p4ft" width="410"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1552001124024662783-7671924758048163041?l=okahraman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://okahraman.blogspot.com/feeds/7671924758048163041/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1552001124024662783&amp;postID=7671924758048163041' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1552001124024662783/posts/default/7671924758048163041'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1552001124024662783/posts/default/7671924758048163041'/><link rel='alternate' type='text/html' href='http://okahraman.blogspot.com/2010/02/gazi-universitesi-mockito-sunumu.html' title='Gazi Üniversitesi Mockito sunumu'/><author><name>Okan KAHRAMAN</name><uri>https://profiles.google.com/110436782671517881286</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-UiEVsfDU8Bo/AAAAAAAAAAI/AAAAAAAAAAA/TTDC9WtzOsk/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_TpkS7DGDKiQ/S4_3nB5l1lI/AAAAAAAAMaU/JcyyzuwycM4/s72-c/S5000261.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1552001124024662783.post-2479349585738589869</id><published>2010-02-23T16:14:00.005+02:00</published><updated>2010-02-24T09:43:09.471+02:00</updated><title type='text'>Ankara Java Teknolojileri Semineri</title><content type='html'>&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://2.bp.blogspot.com/_TpkS7DGDKiQ/S4TYMCJDXPI/AAAAAAAAAHs/8swk0hD3UCA/s1600-h/java.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_TpkS7DGDKiQ/S4TYMCJDXPI/AAAAAAAAAHs/8swk0hD3UCA/s320/java.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&amp;nbsp; &lt;br /&gt;Etkinlik Planı:&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;13:00 – 13:30&amp;nbsp; Olcay KÜK – &lt;b&gt;Açılış Konuşması ve CETURK Tanıtımı&lt;/b&gt;&lt;br /&gt;13:30 – 14:30&amp;nbsp; Mustafa Demir – &lt;b&gt;Kurumsal Bilgi Sistemlerine Model Güdümlü Geliştirim Yaklaşımı&lt;/b&gt;&lt;br /&gt;14:45 – 15:45&amp;nbsp; Kenan Sevindik – &lt;b&gt;JAVA, Kariyer ve Gelecek&lt;/b&gt;&lt;br /&gt;16:00 – 17:00 Okan Kahraman – &lt;b&gt;Mockito -&amp;nbsp; Java Mocking Framework&lt;/b&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/1552001124024662783-2479349585738589869?l=okahraman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://okahraman.blogspot.com/feeds/2479349585738589869/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1552001124024662783&amp;postID=2479349585738589869' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1552001124024662783/posts/default/2479349585738589869'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1552001124024662783/posts/default/2479349585738589869'/><link rel='alternate' type='text/html' href='http://okahraman.blogspot.com/2010/02/ankara-java-teknolojileri-semineri.html' title='Ankara Java Teknolojileri Semineri'/><author><name>Okan KAHRAMAN</name><uri>https://profiles.google.com/110436782671517881286</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-UiEVsfDU8Bo/AAAAAAAAAAI/AAAAAAAAAAA/TTDC9WtzOsk/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_TpkS7DGDKiQ/S4TYMCJDXPI/AAAAAAAAAHs/8swk0hD3UCA/s72-c/java.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1552001124024662783.post-9137570857881306445</id><published>2010-02-23T15:47:00.012+02:00</published><updated>2010-04-30T21:30:51.238+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Seminar'/><category scheme='http://www.blogger.com/atom/ns#' term='terracotta'/><category scheme='http://www.blogger.com/atom/ns#' term='EHCache'/><title type='text'>Çankaya Üniversitesi'nde eğlenceli bir gün</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_TpkS7DGDKiQ/S4byZhFABXI/AAAAAAAAAIY/9w3UKiq2znI/s1600-h/IMG_0103.JPG" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="211" src="http://3.bp.blogspot.com/_TpkS7DGDKiQ/S4byZhFABXI/AAAAAAAAAIY/9w3UKiq2znI/s320/IMG_0103.JPG" width="320" /&gt;&lt;/a&gt;&lt;a href="http://4.bp.blogspot.com/_TpkS7DGDKiQ/S4b0ASsuY7I/AAAAAAAAAIw/glM9e8mr-b8/s1600/IMG_0069.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="211" src="http://4.bp.blogspot.com/_TpkS7DGDKiQ/S4b0ASsuY7I/AAAAAAAAAIw/glM9e8mr-b8/s320/IMG_0069.JPG" width="320" /&gt;&lt;/a&gt;&lt;a href="http://4.bp.blogspot.com/_TpkS7DGDKiQ/S4bzVgTVk5I/AAAAAAAAAIg/uf6UwlOvetk/s1600/IMG_0129.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="211" src="http://4.bp.blogspot.com/_TpkS7DGDKiQ/S4bzVgTVk5I/AAAAAAAAAIg/uf6UwlOvetk/s320/IMG_0129.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;a href="http://4.bp.blogspot.com/_TpkS7DGDKiQ/S4b0ASsuY7I/AAAAAAAAAIw/glM9e8mr-b8/s1600-h/IMG_0069.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;/a&gt;&lt;a href="http://4.bp.blogspot.com/_TpkS7DGDKiQ/S4bzVgTVk5I/AAAAAAAAAIg/uf6UwlOvetk/s1600-h/IMG_0129.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;object height="300" width="400"&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=10723290&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" /&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=10723290&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;a href="http://vimeo.com/10723290"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Geçen cuma &lt;a href="http://www.ceturk.com/" id="n5.t" title="CETURK"&gt;CETURK&lt;/a&gt; tarafından organize edilen bir etkinliğe konuşmacı olarak katılma fırsatı buldum. Etkinlik "Java ve Kariyer Günü" adı altında Çankaya Üniversitesi'nde düzenlendi. Öncelikle organizasyon için CETURK ekibine ve emeği geçen herkese teşekkürlerimi iletiyorum. Çoğunluğu öğrencilerden oluşan bir dinleyici kitlesi vardı ve katılımın yüksek olması gerçekten sevindiriciydi. &lt;br /&gt;&lt;br /&gt;Etkinlikte "&lt;b&gt;Terracotta ile sınırsız ölçeklenebilirlik&lt;/b&gt;" konulu bir sunum yaptım. Terracotta konusundaki araştırmalarımdan edindiğim bilgileri fazla teknik detaya girmeden dinleyicilere aktarmaya çalıştım. Sunumun en eğlenceli yeri ise en sonunda &lt;b&gt;shared graphics editor&lt;/b&gt; örneğini gösterdikten sonra dinleyicilerden birinin "bütün dinlediğim sunum bunu mu anlatıyormuş!" şeklindeki tepkisiydi. Aslında bu tepki benim için yararlı bir tecrübe oldu.&amp;nbsp; Bir sonraki terracotta sunumda ilgili örneği en sonda göstermek yerine en başta göstererek terracotta hakkında bilgisi olmayan dinleyicilerin ne çeşit bir teknoloji hakkında sunum yapıldığını daha iyi anlayabileceklerini düşünüyorum.&lt;br /&gt;&lt;br /&gt;Benim öğrenci olduğum dönemlerde Ankara'da bu tip etkinliklere çok fazla rastlanmıyordu. O dönemlerde en aktif çalışan grup Linux Kullanicilari Derneği idi. Ben de bir linux fanı olarak genelde düzenledikleri seminerleri kaçırmamaya ve düzenli olarak takip etmeye çalışıyordum. Son zamanlarda belirli bir teknolojiye veya kavrama odaklı etkinlikliklerin sayısı artmaya başladı. Artık üniversitelerdeki öğrenci toplulukları daha iyi organize olabiliyor ve sektörde çalışan tecrübeli kişiler ile öğrencileri buluşturan farklı etkinlikler düzenleyebiliyorlar. Bence öğrenciler bunun kıymetini bilmeli ve mezun olmadan önce bu tip etkinliklere ellerinden geldiğince katılmaya çalışmalılar.&lt;br /&gt;&lt;br /&gt;Bu Cuma da Çankaya Üniversitesi'ndeki etkinliğe benzer bir etkinlik Gazi Üniversitesi'nde düzenlenecek. Umarım Çankaya Üniversitesi'ndeki kadar eğlenceli ve katılımı yüksek bir gün geçiririz.&lt;br /&gt;&lt;br /&gt;&lt;iframe frameborder="0" height="342" src="http://docs.google.com/present/embed?id=ddr223dj_45wr5g49dh" width="410"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1552001124024662783-9137570857881306445?l=okahraman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://okahraman.blogspot.com/feeds/9137570857881306445/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1552001124024662783&amp;postID=9137570857881306445' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1552001124024662783/posts/default/9137570857881306445'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1552001124024662783/posts/default/9137570857881306445'/><link rel='alternate' type='text/html' href='http://okahraman.blogspot.com/2010/02/cankaya-universitesinde-eglenceli-bir.html' title='Çankaya Üniversitesi&apos;nde eğlenceli bir gün'/><author><name>Okan KAHRAMAN</name><uri>https://profiles.google.com/110436782671517881286</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-UiEVsfDU8Bo/AAAAAAAAAAI/AAAAAAAAAAA/TTDC9WtzOsk/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_TpkS7DGDKiQ/S4byZhFABXI/AAAAAAAAAIY/9w3UKiq2znI/s72-c/IMG_0103.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1552001124024662783.post-6813890504593131039</id><published>2010-02-18T11:54:00.003+02:00</published><updated>2010-02-23T16:16:16.844+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Seminar'/><title type='text'>Java and Career Day in Ankara</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_TpkS7DGDKiQ/S30Nzi1brCI/AAAAAAAAAHc/FpAHQvIL0Ic/s1600-h/CankayaPoster-600x378.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="251" src="http://1.bp.blogspot.com/_TpkS7DGDKiQ/S30Nzi1brCI/AAAAAAAAAHc/FpAHQvIL0Ic/s400/CankayaPoster-600x378.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1552001124024662783-6813890504593131039?l=okahraman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://okahraman.blogspot.com/feeds/6813890504593131039/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1552001124024662783&amp;postID=6813890504593131039' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1552001124024662783/posts/default/6813890504593131039'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1552001124024662783/posts/default/6813890504593131039'/><link rel='alternate' type='text/html' href='http://okahraman.blogspot.com/2010/02/java-and-career-day.html' title='Java and Career Day in Ankara'/><author><name>Okan KAHRAMAN</name><uri>https://profiles.google.com/110436782671517881286</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-UiEVsfDU8Bo/AAAAAAAAAAI/AAAAAAAAAAA/TTDC9WtzOsk/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_TpkS7DGDKiQ/S30Nzi1brCI/AAAAAAAAAHc/FpAHQvIL0Ic/s72-c/CankayaPoster-600x378.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1552001124024662783.post-4784011807459984447</id><published>2009-10-05T17:20:00.023+03:00</published><updated>2010-02-24T10:56:33.136+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Spring'/><title type='text'>Passing array as a parameter  to PL/SQL stored procedure using Spring Jdbc Api</title><content type='html'>&lt;div class="MsoNormal"&gt;Passing an array as parameter into orcle pl/sql stored procedure is a little tricky. We are going to use “&lt;b&gt;Spring Way&lt;/b&gt;” to do this. First of all we need access to the underlying  connection. &lt;/div&gt;&lt;div class="MsoNormal"&gt;There is an abstract implementation of the &lt;span style="font-family: courier new;"&gt;SqlTypeValue&lt;/span&gt; interface named &lt;span style="font-size: 100%;"&gt;&lt;span style="font-family: Courier New;"&gt;AbstractSqlTypeValue&lt;/span&gt;&lt;/span&gt; , for convenient creation of type values that are supposed to be passed into the &lt;span style="font-family: Courier New; font-size: 100%;"&gt;PreparedStatement.setObject&lt;/span&gt; method. The &lt;span style="font-family: Courier New; font-size: 100%;"&gt;createTypeValue&lt;/span&gt; callback method has access to the underlying Connection, if that should be needed to create any database-specific objects.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-size: 100%;"&gt;&lt;span style="color: #7f0055; font-family: Courier New;"&gt;&lt;span style="color: black;"&gt;&lt;b&gt;PassArray.java&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;script class="brush: java" type="syntaxhighlighter"&gt;&lt;![CDATA[import java.sql.Connection;import java.sql.SQLException;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import org.springframework.jdbc.core.JdbcTemplate;import org.springframework.jdbc.core.SqlParameter;import org.springframework.jdbc.core.simple.SimpleJdbcCall;import org.springframework.jdbc.core.support.AbstractSqlTypeValue;public class PassArray {   protected JdbcTemplate jdbcTemplate;   private String schemaName="T_SCHEMA";   public class MyArray extends AbstractSqlTypeValue {      private List values;      public MyArray(List values) {         this.values = values;      }      public Object createTypeValue(Connection con, int sqlType,                           String typeName) throws SQLException {         oracle.sql.ArrayDescriptor desc = new Oracle.sql.ArrayDescriptor(typeName, con);         return new oracle.sql.ARRAY(desc, con,(Long[])values.toArray(new Long[values.size()]));      }   }   public void callProcedureWithArrayParameter() {      List values = new ArrayList();      values.add(1L);      values.add(2L);      SimpleJdbcCall jdbcCall = new SimpleJdbcCall(jdbcTemplate)           .withSchemaName(schemaName)           .withProcedureName("PCK_TEST.SP_WITH_ARRAY_PARAMETER")           .withoutProcedureColumnMetaDataAccess()           .declareParameters(new SqlParameter("P_ARRAY",java.sql.Types.ARRAY,schemaName + ".PARAMETER_ARRAY_TYPE"));      Map map = new HashMap();      map.put("P_ARRAY", new MyArray(values));      jdbcCall.execute(map);   }}]]&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 100%;"&gt; &lt;span style="font-family: Courier New;"&gt;&lt;b&gt;PL/SQL Code:&lt;/b&gt;&lt;br /&gt;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;script class="brush: sql" type="syntaxhighlighter"&gt;&lt;![CDATA[CREATE OR REPLACE TYPE T_SCHEMA.PARAMETER_ARRAY_TYPE IS TABLE OF NUMBER(19);/CREATE OR REPLACE PACKAGE T_SCHEMA."PCK_TEST" AS   PROCEDURE sp_with_array_parameter(p_array IN PARAMETER_ARRAY_TYPE);END PCK_TEST;/CREATE OR REPLACE PACKAGE BODY T_SCHEMA."PCK_TEST" AS   PROCEDURE sp_with_array_parameter (p_array IN PARAMETER_ARRAY_TYPE) IS      CURSOR c_records (p_array PARAMETER_ARRAY_TYPE) IS SELECT * FROM MY_TABLE WHERE id IN (SELECT * FROM TABLE (CAST (p_array AS PARAMETER_ARRAY_TYPE)));   BEGIN      FOR r_record IN c_records (p_array)      LOOP         --some biz logic here      END LOOP;   END;END PCK_TEST;/]]&gt;&lt;/script&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1552001124024662783-4784011807459984447?l=okahraman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://okahraman.blogspot.com/feeds/4784011807459984447/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1552001124024662783&amp;postID=4784011807459984447' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1552001124024662783/posts/default/4784011807459984447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1552001124024662783/posts/default/4784011807459984447'/><link rel='alternate' type='text/html' href='http://okahraman.blogspot.com/2009/10/passing-array-as-parameter-to-plsql.html' title='Passing array as a parameter  to PL/SQL stored procedure using Spring Jdbc Api'/><author><name>Okan KAHRAMAN</name><uri>https://profiles.google.com/110436782671517881286</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-UiEVsfDU8Bo/AAAAAAAAAAI/AAAAAAAAAAA/TTDC9WtzOsk/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1552001124024662783.post-6590819361891680441</id><published>2009-06-02T14:39:00.000+03:00</published><updated>2009-06-02T14:40:21.257+03:00</updated><title type='text'>My first appspot project :)</title><content type='html'>&lt;a href="http://okahraman.appspot.com"&gt;okahraman.appspot.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1552001124024662783-6590819361891680441?l=okahraman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://okahraman.blogspot.com/feeds/6590819361891680441/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1552001124024662783&amp;postID=6590819361891680441' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1552001124024662783/posts/default/6590819361891680441'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1552001124024662783/posts/default/6590819361891680441'/><link rel='alternate' type='text/html' href='http://okahraman.blogspot.com/2009/06/my-first-appspot-project.html' title='My first appspot project :)'/><author><name>Okan KAHRAMAN</name><uri>https://profiles.google.com/110436782671517881286</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-UiEVsfDU8Bo/AAAAAAAAAAI/AAAAAAAAAAA/TTDC9WtzOsk/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1552001124024662783.post-5969297317634741836</id><published>2008-02-26T12:50:00.003+02:00</published><updated>2010-02-24T11:07:22.664+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Toplink'/><title type='text'>Implementing a naming strategy in Toplink</title><content type='html'>&lt;span style="color: black;"&gt;We can implement a naming strategy in Toplink like Hibernate naming strategy via using &lt;span style="font-family: Courier New;"&gt;DescriptorCustomizer&lt;/span&gt; interface of Toplink. &lt;/span&gt;    &lt;br /&gt;Descriptors describe how a Java class relates to a data source representation. They relate object classes to the data source at the data model level. For example, persistent class attributes may map to database columns. TopLink uses descriptors to store the information that describes how an instance of a particular class can be represented in a data source.&lt;br /&gt;&lt;div class="MsoNormal"&gt;You can customize a descriptor at run time by specifying a descriptor customizer–a Java class that implements the &lt;span style="font-size: 100%;"&gt;&lt;code&gt;oracle.toplink.tools.sessionconfiguration.DescriptorCustomizer&lt;/code&gt;&lt;/span&gt; interface and provides a default (zero-argument) constructor.&lt;/div&gt;&lt;br /&gt;&lt;code style="font-family: Courier New;"&gt;&lt;span style="color: black;"&gt;&lt;b&gt;NamingStrategyCustomizer.java&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;/div&gt;&lt;br /&gt;&lt;script class="brush: java" type="syntaxhighlighter"&gt;&lt;![CDATA[import java.util.Vector;import oracle.toplink.descriptors.ClassDescriptor;import oracle.toplink.internal.helper.DatabaseTable;import oracle.toplink.tools.sessionconfiguration.DescriptorCustomizer;/*** * @author Okan Kahraman**/public class NamingStrategyCustomizer implements DescriptorCustomizer {   public static final String PROJECT_TABLE_PREFIX="Project_X_";   public void customize(ClassDescriptor classDescriptor) throws Exception {      Vector&lt;databasetable&gt; tables = classDescriptor.getTables();            for (DatabaseTable table : tables) {         //adds the project prefix to the table name         table.setName(PROJECT_TABLE_PREFIX + table.getName());         //returns the schema name         table.getTableQualifier();         //returns the schema and table name together         table.getQualifiedName();      }   }}]]&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;&lt;code style="font-family: Courier New;"&gt;&lt;span style="color: black;"&gt;&lt;b&gt;BaseEntity.java&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;script class="brush: java" type="syntaxhighlighter"&gt;&lt;![CDATA[import javax.persistence.Column;import javax.persistence.GeneratedValue;import javax.persistence.Id;import javax.persistence.MappedSuperclass;import oracle.toplink.annotations.Customizer;@MappedSuperclass@Customizer(value = NamingStrategyCustomizer.class)public class BaseEntity {   @Id   @GeneratedValue   @Column(name="ID")   private Long id = null;   public void setId(Long id) {      this.id = id;   }   public Long getId() {      return id;   }}]]&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1552001124024662783-5969297317634741836?l=okahraman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://okahraman.blogspot.com/feeds/5969297317634741836/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1552001124024662783&amp;postID=5969297317634741836' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1552001124024662783/posts/default/5969297317634741836'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1552001124024662783/posts/default/5969297317634741836'/><link rel='alternate' type='text/html' href='http://okahraman.blogspot.com/2008/02/we-can-implement-naming-strategy-in.html' title='Implementing a naming strategy in Toplink'/><author><name>Okan KAHRAMAN</name><uri>https://profiles.google.com/110436782671517881286</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-UiEVsfDU8Bo/AAAAAAAAAAI/AAAAAAAAAAA/TTDC9WtzOsk/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1552001124024662783.post-6314327220864884611</id><published>2008-02-06T14:38:00.000+02:00</published><updated>2008-02-07T12:41:44.319+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ZK'/><title type='text'>Eclipse Plug-in for ZK: ZK Studio</title><content type='html'>ZK Studio is an Eclipse plug-in to quickstart our ZK project. Every time we start a new Dynamic project in Eclipse, we always need to do the same routines. ZK Studio handles these routines with ease and saves our time.&lt;br /&gt;&lt;br /&gt;Download ZK Studio from the following link:&lt;br /&gt;&lt;a title="ZK Sudio 0.5.0 (Eclipse plug-in)" href="http://downloads.sourceforge.net/zk1/zk-studio-0.5.0.zip" id="xmiu"&gt;ZK Sudio 0.5.0 (Eclipse plug-in)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The installation of ZK Studio is just like any other eclipse plug-ins. Copy the  "org.zkoss.eclipse.setting_0.5.0.vxxx.jar" file into your "ECLIPSE_HOME/plugins" folder and restart your Eclipse workbench. Configuration of ZK Studio is quite easy:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;In your Eclipse IDE, click toolbar "Window" and select "Preferences...".&lt;/li&gt;&lt;li&gt;At preference tree, select "ZK" category then chose "Installed ZKs".&lt;/li&gt;&lt;li&gt;Currently there's no installed ZKs, so we need to prepare one. Preparing a ZK package is very simple:&lt;/li&gt;&lt;ol&gt;&lt;li&gt;Download ZK's binary distribution from SourceForge.net&lt;/li&gt;&lt;li&gt;Unpack it as a folder, put it in a proper place like: "D:\work\libraries\zk\zk-bin-3.0.3"&lt;/li&gt;&lt;li&gt;Thats all you need to do.&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;Back to Eclipse IDE's preference dialog. In "Installed ZKs" click "Add..." button and chose the package you prepared.&lt;/li&gt;&lt;li&gt;Press "apply", "ok" to quit preference dialog.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;div id="tlyu" style="padding: 1em 0pt; text-align: left;"&gt;&lt;img style="width: 720px; height: 407px;" src="http://docs.google.com/File?id=ddr223dj_5dr5p35dk" /&gt;&lt;br /&gt;&lt;br /&gt;Now create a new Dynamic Web Project and add ZK to your project configutaion.&lt;br /&gt;&lt;br /&gt;&lt;div id="fkiq" style="padding: 1em 0pt; text-align: left;"&gt;&lt;img style="width: 689px; height: 526px;" src="http://docs.google.com/File?id=ddr223dj_6ghcq6vg4" /&gt;&lt;/div&gt;Click "Next" and select ZK WebApp facet to enable ZK for current project.&lt;br /&gt;&lt;br /&gt;&lt;div id="xhu7" style="padding: 1em 0pt; text-align: left;"&gt;&lt;img style="width: 686px; height: 526px;" src="http://docs.google.com/File?id=ddr223dj_7dsmd2jd8" /&gt;&lt;/div&gt;Select the ZK version you want to use in current project.&lt;br /&gt;&lt;br /&gt;&lt;div id="p2kg" style="padding: 1em 0pt; text-align: left;"&gt;&lt;img style="width: 686px; height: 522px;" src="http://docs.google.com/File?id=ddr223dj_8f6k9rrgx" /&gt;&lt;/div&gt;Click "Finish" and Eclipse will create a new ZK-enabled project.&lt;br /&gt;&lt;br /&gt;Yea, simple but useful plug-in...&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1552001124024662783-6314327220864884611?l=okahraman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://okahraman.blogspot.com/feeds/6314327220864884611/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1552001124024662783&amp;postID=6314327220864884611' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1552001124024662783/posts/default/6314327220864884611'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1552001124024662783/posts/default/6314327220864884611'/><link rel='alternate' type='text/html' href='http://okahraman.blogspot.com/2008/02/zk-studio-is-eclipse-plug-in-to.html' title='Eclipse Plug-in for ZK: ZK Studio'/><author><name>Okan KAHRAMAN</name><uri>https://profiles.google.com/110436782671517881286</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-UiEVsfDU8Bo/AAAAAAAAAAI/AAAAAAAAAAA/TTDC9WtzOsk/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1552001124024662783.post-7197260102423251968</id><published>2008-02-02T12:06:00.000+02:00</published><updated>2008-02-02T12:09:01.442+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ZK'/><title type='text'>ZK 3.0.3 released</title><content type='html'>Over 8 new features and 22 bugs fixed, ZK 3.0.3 focuses mainly on fixing bugs and improving performance. More languages are supported for messages, and more formats are supported to JasperReports.&lt;br /&gt;&lt;br /&gt;&lt;a title="www.zkoss.org" href="http://www.zkoss.org/" id="x4zh"&gt;www.zkoss.org&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1552001124024662783-7197260102423251968?l=okahraman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://okahraman.blogspot.com/feeds/7197260102423251968/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1552001124024662783&amp;postID=7197260102423251968' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1552001124024662783/posts/default/7197260102423251968'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1552001124024662783/posts/default/7197260102423251968'/><link rel='alternate' type='text/html' href='http://okahraman.blogspot.com/2008/02/over-8-new-features-and-22-bugs-fixed.html' title='ZK 3.0.3 released'/><author><name>Okan KAHRAMAN</name><uri>https://profiles.google.com/110436782671517881286</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-UiEVsfDU8Bo/AAAAAAAAAAI/AAAAAAAAAAA/TTDC9WtzOsk/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1552001124024662783.post-3416104828680437707</id><published>2008-01-23T13:57:00.001+02:00</published><updated>2008-01-23T14:15:00.983+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ZK'/><title type='text'>ZK 3.0.2 released</title><content type='html'>&lt;p&gt;ZK 3.0.2 focuses mainly on fixing bugs and improving performance. In addition to over 44 bug fixes, there are 30 new features.&lt;/p&gt;  &lt;p&gt;In this release, more components are introduced and enhanced. jasperreports component is supported. ListModel and databind supports combobox. Datebox supports valid range of date. Moreover, the performance of live data of listbox and grid is improved. JpaUtil and OpenEntityManagerInView allow you to integrate with J2EE more easily. You can retrieve EntityManager and EntityManagerFactory by using newly added JpaUtil.&lt;/p&gt;Great work again! Thanks ZK team!&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.zkoss.org/release/rn-3.0.2.dsp"&gt;www.zkoss.org&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1552001124024662783-3416104828680437707?l=okahraman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://okahraman.blogspot.com/feeds/3416104828680437707/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1552001124024662783&amp;postID=3416104828680437707' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1552001124024662783/posts/default/3416104828680437707'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1552001124024662783/posts/default/3416104828680437707'/><link rel='alternate' type='text/html' href='http://okahraman.blogspot.com/2008/01/zk-302-released.html' title='ZK 3.0.2 released'/><author><name>Okan KAHRAMAN</name><uri>https://profiles.google.com/110436782671517881286</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-UiEVsfDU8Bo/AAAAAAAAAAI/AAAAAAAAAAA/TTDC9WtzOsk/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1552001124024662783.post-2706365949695976684</id><published>2008-01-23T12:31:00.002+02:00</published><updated>2010-02-24T11:12:47.566+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Spring'/><title type='text'>Accessing spring managed beans from outside the container</title><content type='html'>Sometimes we have to leave the container and need to access beans that managed by Spring. Spring has an interface named AplicationContextAware. Implementing this interface is discouraged by the springframework team, because it tightly couples our code to spring. There are no many ways to overcome this problem and we want to use the same context across different tiers, without re-instantianting the context. So we created our own singleton bean named SpringUtils which implements AplicationContextAware.&lt;br /&gt;&lt;br /&gt;&lt;script class="brush: java" type="syntaxhighlighter"&gt;&lt;![CDATA[import org.springframework.beans.BeansException;import org.springframework.beans.factory.BeanFactory;import org.springframework.beans.factory.NoSuchBeanDefinitionException;import org.springframework.context.ApplicationContext;import org.springframework.context.ApplicationContextAware;import org.springframework.util.Assert;/*** * @author Okan Kahraman**/public class SpringUtils implements ApplicationContextAware {   private static ApplicationContext applicationContext;   @Override   public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {      this.applicationContext = applicationContext;   }   public static Object getBean(String beanRefName, Class beanClass) {      Object object = null;      Assert.notNull(applicationContext, "ApplicationContext must not be null!");      try {         BeanFactory factory = (BeanFactory) applicationContext;         object = factory.getBean(beanRefName, beanClass);      } catch (NoSuchBeanDefinitionException ex) {         // ignore      }      return object;   }   public static Object getBean(String beanRefName) {      Object object = null;      Assert.notNull(applicationContext, "ApplicationContext must not be null!");      try {         BeanFactory factory = (BeanFactory) applicationContext;         object = factory.getBean(beanRefName);      } catch (NoSuchBeanDefinitionException ex) {         // ignore      }      return object;   } }]]&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1552001124024662783-2706365949695976684?l=okahraman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://okahraman.blogspot.com/feeds/2706365949695976684/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1552001124024662783&amp;postID=2706365949695976684' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1552001124024662783/posts/default/2706365949695976684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1552001124024662783/posts/default/2706365949695976684'/><link rel='alternate' type='text/html' href='http://okahraman.blogspot.com/2008/01/accessing-spring-managed-beans-from.html' title='Accessing spring managed beans from outside the container'/><author><name>Okan KAHRAMAN</name><uri>https://profiles.google.com/110436782671517881286</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-UiEVsfDU8Bo/AAAAAAAAAAI/AAAAAAAAAAA/TTDC9WtzOsk/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1552001124024662783.post-6668658116247340298</id><published>2008-01-21T10:19:00.000+02:00</published><updated>2008-01-23T13:24:29.304+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ZK'/><title type='text'>jpa2web, Generate AJAX-based Web Applications</title><content type='html'>jpa2web is an open source tool that generates AJAX-based web applications from JPA-annotated java beans. It currently uses FreeMarker Java Template Engine Library, ZK AJAX Framework and Hibernate ORM tool as JPA API.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_TpkS7DGDKiQ/R5RbCP2YpvI/AAAAAAAAAAo/oJv7rkCVmBk/s1600-h/jpa2web.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_TpkS7DGDKiQ/R5RbCP2YpvI/AAAAAAAAAAo/oJv7rkCVmBk/s320/jpa2web.gif" alt="" id="BLOGGER_PHOTO_ID_5157847567418566386" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;jpa2web generates the presentation layer that enables CRUD operations.&lt;br /&gt;&lt;br /&gt;See link below for a detailed article:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ibm.com/developerworks/java/library/wa-aj-jpa2web/index.html"&gt;http://www.ibm.com/developerworks/java/library/wa-aj-jpa2web/index.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1552001124024662783-6668658116247340298?l=okahraman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://okahraman.blogspot.com/feeds/6668658116247340298/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1552001124024662783&amp;postID=6668658116247340298' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1552001124024662783/posts/default/6668658116247340298'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1552001124024662783/posts/default/6668658116247340298'/><link rel='alternate' type='text/html' href='http://okahraman.blogspot.com/2008/01/jpa2web-generate-ajax-based-web.html' title='jpa2web, Generate AJAX-based Web Applications'/><author><name>Okan KAHRAMAN</name><uri>https://profiles.google.com/110436782671517881286</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-UiEVsfDU8Bo/AAAAAAAAAAI/AAAAAAAAAAA/TTDC9WtzOsk/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_TpkS7DGDKiQ/R5RbCP2YpvI/AAAAAAAAAAo/oJv7rkCVmBk/s72-c/jpa2web.gif' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1552001124024662783.post-2648543034882920514</id><published>2008-01-19T13:49:00.002+02:00</published><updated>2008-01-23T13:24:41.377+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ZK'/><title type='text'>ZK, The simplest way to make Web applications rich</title><content type='html'>ZK is an open-source Ajax Web framework that enables rich user interface for Web   applications with less programming effort.  It allows Java Web developers to create rich Web applications, quite easily without even requiring developers to write complex JavaScript codes.  The framework uses JavaScripts but  the complexity of Ajax tier  has been isolated from the web developers. ZK represents Web applications in feature-rich XUL components, and manipulates them by listening  to events  triggered by users, as we did for years in desktop applications. All our application codes run at the  server. It could co-exist with portals, JSP or any other technologies. ZK provides a rich set of XUL-based components. In the current release of ZK (3.0.1), 88 XUL and 83 HTML components are supported. They include menus, tab boxes, list boxes, sliders, group boxes, grids, date boxes and many other enhanced components.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_TpkS7DGDKiQ/R5H5Uv2YpuI/AAAAAAAAAAg/X7kfLW_VQbE/s1600-h/ZK_arch.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_TpkS7DGDKiQ/R5H5Uv2YpuI/AAAAAAAAAAg/X7kfLW_VQbE/s320/ZK_arch.jpg" alt="" id="BLOGGER_PHOTO_ID_5157177183153202914" border="0" /&gt;&lt;/a&gt;  &lt;span style="font-size:78%;"&gt;&lt;span style="font-weight: bold;"&gt; ZK Architecture Overview&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;The Ajax-based engine consists of three parts: ZK Loader, ZK AU Engine and ZK Client Engine. The ZK Loader loads ZUML pages and render them into HTML pages in response to URL requests.&lt;br /&gt;&lt;br /&gt;The ZK Client Engine is running  at the browser, and the ZK AU engine at the server. They act as pitcher and catcher. They deliver events happening in the browser to the application running at the server, and update the DOM tree at the browser based on how components are manipulated by the application.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;I think the ZK framework is quite mature, although small bugs are found from time to time.  It has a JEE based webapp as visual editor(Zero Kode) but no Eclipse-based plugin yet and I think this is  the biggest minus.&lt;br /&gt;&lt;br /&gt;I tried to give some introductory information about ZK framework in this post. In the next post, I will give some startup samples about interface components and events.&lt;br /&gt;&lt;br /&gt;You can reach the detailed documents, tutorials and samples from the official site of ZK: &lt;a href="http://www.zkoss.org/"&gt;www.zkoss.org&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;XUL          : XML User Interface Language.&lt;br /&gt;ZUML    : ZK User Interface Markup Language.&lt;br /&gt;AJAX      : Asynchronous JavaScript and XML.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1552001124024662783-2648543034882920514?l=okahraman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://okahraman.blogspot.com/feeds/2648543034882920514/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1552001124024662783&amp;postID=2648543034882920514' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1552001124024662783/posts/default/2648543034882920514'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1552001124024662783/posts/default/2648543034882920514'/><link rel='alternate' type='text/html' href='http://okahraman.blogspot.com/2008/01/zk-simplest-way-to-make-web.html' title='ZK, The simplest way to make Web applications rich'/><author><name>Okan KAHRAMAN</name><uri>https://profiles.google.com/110436782671517881286</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-UiEVsfDU8Bo/AAAAAAAAAAI/AAAAAAAAAAA/TTDC9WtzOsk/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_TpkS7DGDKiQ/R5H5Uv2YpuI/AAAAAAAAAAg/X7kfLW_VQbE/s72-c/ZK_arch.jpg' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
