<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Gökalp Kuşçu</title>
	<atom:link href="http://www.gokalpkuscu.com/feed" rel="self" type="application/rss+xml" />
	<link>http://www.gokalpkuscu.com</link>
	<description>Aquila Non Captat Muscas</description>
	<lastBuildDate>Wed, 18 Jan 2012 21:05:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Hackers &amp; Painters : Yazılımcılar ve Bilgisayar Dünyası</title>
		<link>http://www.gokalpkuscu.com/hackers-painters-yazilimcilar-ve-bilgisayar-dunyasi</link>
		<comments>http://www.gokalpkuscu.com/hackers-painters-yazilimcilar-ve-bilgisayar-dunyasi#comments</comments>
		<pubDate>Wed, 18 Jan 2012 21:00:28 +0000</pubDate>
		<dc:creator>Gökalp Kuşçu</dc:creator>
				<category><![CDATA[Hackers & Painters]]></category>
		<category><![CDATA[Hackers & Painters Bilgisayar Dünyası]]></category>
		<category><![CDATA[Hackers & Painters Önsöz]]></category>
		<category><![CDATA[Hackers & Painters Özet]]></category>
		<category><![CDATA[Hackers & Painters Paul Graham]]></category>
		<category><![CDATA[Hackers & Painters Yazılımcılar]]></category>

		<guid isPermaLink="false">http://www.gokalpkuscu.com/?p=765</guid>
		<description><![CDATA[Merhabalar bu aralar boş zaman edindiğimde okuduğum bir kitabın içeriğini özet bir şekilde paylaşmak istedim. Bölüm bölüm elimden geldiğince aktarmak istiyorum. İlk olarak kitabı paylaşayım Hackers &#038; Painters yazarı Paul Graham. Çok güzel bir biçimde &#8211; giriş için söylüyorum &#8211; yazılımcılardan bahsetmiş.Ara ara fikirlerimi eklemem sıkıntı olmaz sanırım. Yazılımdaki para, nispeten genel bir eğilimin bir [...]]]></description>
			<content:encoded><![CDATA[<p><img alt="" src="http://www.gokalpkuscu.com/wp-content/uploads/2012/01/hackerspainters.png" class="alignright" width="172" height="231" /></p>
<p>Merhabalar bu aralar boş zaman edindiğimde okuduğum bir kitabın içeriğini özet bir şekilde paylaşmak istedim. Bölüm bölüm elimden geldiğince aktarmak istiyorum. İlk olarak kitabı paylaşayım <a href="http://www.amazon.com/Hackers-Painters-Big-Ideas-Computer/dp/1449389554/ref=sr_1_1?s=books&#038;ie=UTF8&#038;qid=1326918059&#038;sr=1-1" title="Hackers &#038; Painters" target="_blank">Hackers &#038; Painters</a> yazarı <a href="http://paulgraham.com/" title="Paul Graham" target="_blank">Paul Graham</a>. Çok güzel bir biçimde &#8211; giriş için söylüyorum &#8211; yazılımcılardan bahsetmiş.Ara ara fikirlerimi eklemem sıkıntı olmaz sanırım.</p>
<blockquote><p>
  Yazılımdaki para, nispeten genel bir eğilimin bir parçasıdır ve o eğilim de bu kitabın konusudur. İçinde bulunduğumuz çağ, Bilgisayar Çağıdır. Uzay Çağı ve Atom Çağıda olabilirdi, ancak bunlar sadece halkla ilişkiler alanında çalışanlar tarafından icat edilmiş isimlerdir. Bilgisayarların yaşam biçimimiz üzerindeki etkisi uzay yolculuğu ya da nükleer teknolojininkinden çok daha fazladır.
</p></blockquote>
<p>Ne güzel özetlemiş; artık bunun farkına varmamız gerekli, hayatımızın her alanına, her anımıza giren bilgisayar aslında günümüzün çağı. Çok mu tehlikeli çok yaralı sanırım buna sizin kullanım tarzınız karar veriyor olacak.</p>
<p><span id="more-765"></span></p>
<p>Tabi bu durum böyle düşünülürken şöyle farklı bir durum da oluşuyor. Peki Bilgisayar çağında isek yazılımcıları anlamak?</p>
<blockquote><p>
  Dolayısıyla, nerede olduğumuzu ve nereye gittiğimizi anlamak istiyorsanız, bilgisayar programcılarının kafalarının içinde neler olup bittiğini bilmek lehinize olacaktır.
</p></blockquote>
<p>Uzun yıllardır insanlar arasında bilinen bir yanlış anlaşılma var, hacker sözcüğünün kötü niyetli bir bilgisayar kurtlarının üzerine atılması işte bu konunun özetide şu şekilde aktarılmış.</p>
<blockquote><p>
  Bilgisayar korsanları (hackerlar), bilgisayarlara izinsiz giren kişiler değil mi ? Bilgisayar dünyasına yabancı olanlar için &#8220;hacker&#8221; sözcüğünün anlamı bu. Fakat bilgi işlem dünyasında çalışan uzman programcılar da kendilerini &#8220;hacker&#8221; olarak nitelendirir.
</p></blockquote>
<p>Diğer bir konu ise hemen hemen her yazılım platformundan bir dönem dile getirilen hangi programlama dili daha iyi konusuna güzel bir açıklama sonunda getirilmiş <img src='http://www.gokalpkuscu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<blockquote><p>
  Programcılar kullandıkları dillere göre farklı kabilelere ayrılır. Ama yazdıkları programlara göre daha da çeşitli gruplara ayrılırlar. Bu nedenle, bir programlama dilinin diğerinden daha iyi olduğunu söylemek, kötü bir davranış olarak adlandırılabilir. Ancak, <strong>nazikçe dile getirdiğimiz bir gerçek, hiçbir programlama dili tasarımcısının kabulleneceği bir durum değildir ve muhtemelen pek çok kişi böyle bir karşılaştırmadan dolayı üzülebilir de. Ancak bence bilgisayar korsanlığını anlamanın bundan daha iyi bir yolu da yoktur</strong>.
</p></blockquote>
<p>Ve ön söz olarak son olarak yazılımcılar hakkında söylenen bir kaç metni aktarıyorum kendiniz ile ne kadar özleştirebilirsiniz artık bakın <img src='http://www.gokalpkuscu.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<blockquote><p>
 Gerçek şu ki, <strong>bilgisayar programcılarının &#8220;ifade özgürlüğü&#8221; takıntısı vardır.</strong> Bilgisayar programcıları neden ifade özgürlüğüne bu kadar önem veriyor ? Bence, yazılımda yenilikçiliğin önemli bir kavram olması ve yenilikçiliğin de pratikte, yaygın fikirlere karşı çıkmakla aynı anlama gelmesinden dolayı, <strong>iyi programcılar her şeyi sorgulama alışkanlığı geliştirirler.</strong> Kelimelerden oluşan, mekanik bir saat kadar karmaşık ve ondan daha büyük bir makine ile uğraşırken, böyle bir alışkanlık gerektirmek şarttır.<strong>Uyumsuz veya yerleşik kavramlara karşı çıkan insanlar bilgisayar programcısı olmaya daha meyilliler.</strong>
</p></blockquote>
<p><strong>Bilgisayar programcıları dışarıdan bakıldığında sıkıcı görünseler de, kafalarının içi şaşırtıcı derecede ilginç yerlerdir.</strong></p>
<p>Bir sonraki konu, Çalışkanlar Öğrenciler (inekler) Neden Popüler Değildir.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gokalpkuscu.com/hackers-painters-yazilimcilar-ve-bilgisayar-dunyasi/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Merhaba 2012&#8230;</title>
		<link>http://www.gokalpkuscu.com/merhaba-2012</link>
		<comments>http://www.gokalpkuscu.com/merhaba-2012#comments</comments>
		<pubDate>Sat, 31 Dec 2011 20:04:20 +0000</pubDate>
		<dc:creator>Gökalp Kuşçu</dc:creator>
				<category><![CDATA[Kişisel Mevzu]]></category>
		<category><![CDATA[Projeler]]></category>
		<category><![CDATA[Hoşgeldin 2012]]></category>
		<category><![CDATA[Merhaba 2012]]></category>
		<category><![CDATA[nice senelere...]]></category>

		<guid isPermaLink="false">http://www.gokalpkuscu.com/?p=761</guid>
		<description><![CDATA[Merhabalar, Dünya tarihinde bir yılı daha geride bırakmış bulunmaktayız. Zaman ne kadar çabuk geçmekte; ne zaman büyüdüm, ne zaman okudum, öğrendim ve ne zaman çalışmaya başladım vay be! Yalan yok yaşlanıyoruz artık haha! Tüm herkesin yeni yılını kutlarım. Sağlıklık, başarı ve mutluluklar diliyorum güzel ülkemin güzel insanları için&#8230; Not olarak; Sanırım bu yılın en büyük [...]]]></description>
			<content:encoded><![CDATA[<p>Merhabalar,</p>
<p>Dünya tarihinde bir yılı daha geride bırakmış bulunmaktayız. Zaman ne kadar çabuk geçmekte; ne zaman büyüdüm, ne zaman okudum, öğrendim ve ne zaman çalışmaya başladım <img src='http://www.gokalpkuscu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  vay be!</p>
<p>Yalan yok yaşlanıyoruz artık haha! <img src='http://www.gokalpkuscu.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  Tüm herkesin yeni yılını kutlarım.<br />
Sağlıklık, başarı ve mutluluklar diliyorum güzel ülkemin güzel insanları için&#8230;</p>
<p><span id="more-761"></span></p>
<p>Not olarak;</p>
<p><img class="alignnone" style="border-style: initial; border-color: initial;" title="2012 Truth" src="http://www.gokalpkuscu.com/wp-content/uploads/2011/12/images.jpg" alt="" width="309" height="163" /></p>
<p>Sanırım bu yılın en büyük konularından biri Mayalar olacak <img src='http://www.gokalpkuscu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  </p>
]]></content:encoded>
			<wfw:commentRss>http://www.gokalpkuscu.com/merhaba-2012/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>DOM ve SAX Api arasındaki farklar nelerdir ?</title>
		<link>http://www.gokalpkuscu.com/dom-ve-sax-api-arasindaki-farklar-nelerdir</link>
		<comments>http://www.gokalpkuscu.com/dom-ve-sax-api-arasindaki-farklar-nelerdir#comments</comments>
		<pubDate>Sun, 04 Dec 2011 18:09:16 +0000</pubDate>
		<dc:creator>Gökalp Kuşçu</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[DOM api]]></category>
		<category><![CDATA[Java Dom api]]></category>
		<category><![CDATA[Java sax api]]></category>
		<category><![CDATA[SAX api]]></category>
		<category><![CDATA[SAX hızlımı ?]]></category>
		<category><![CDATA[SAX ve DOM arasındaki farklar]]></category>

		<guid isPermaLink="false">http://www.gokalpkuscu.com/?p=732</guid>
		<description><![CDATA[Merhaba, Bu iki apinin kıyaslaması aşağıdaki gibidir. Kullanırken bilmemiz gereken apiler. SAX -> Kök üzerinden parse işlemini gerçekleştirir. -> Bellek üstünde tutulmaz. -> Bir node ekleyemeyiz veya silemeyiz. -> Event base bir parserdır. -> Basit bir apidir. -> Commentleri bozmaz. -> Bellek tabanlı olmadığı için DOM dan biraz daha hızlıdır. DOM -> Üstünde işlem yapmadan [...]]]></description>
			<content:encoded><![CDATA[<p>Merhaba, Bu iki apinin kıyaslaması aşağıdaki gibidir. Kullanırken bilmemiz gereken apiler. <img src='http://www.gokalpkuscu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>SAX</strong></p>
<p>  -> Kök üzerinden parse işlemini gerçekleştirir.<br />
  -> Bellek üstünde tutulmaz.<br />
  -> Bir node ekleyemeyiz veya silemeyiz.<br />
  -> Event base bir parserdır.<br />
  -> Basit bir apidir.<br />
  -> Commentleri bozmaz.<br />
  -> Bellek tabanlı olmadığı için DOM dan biraz daha hızlıdır.</p>
<p><strong>DOM</strong></p>
<p>  -> Üstünde işlem yapmadan önce XML i belleğe taşır.<br />
  -> Belleği daha fazla kullanır.<br />
  -> Yeni nodelar ekleyebilir veya silebilirsiniz.<br />
  -> Parse işlemini herhangi bir yönde yapabilir.<br />
  -> Tree model bir parserdır.<br />
  -> Commentleri bozar.<br />
  -> SAX dan biraz daha yavaştır. <img src='http://www.gokalpkuscu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><span id="more-732"></span></p>
<p>Umarım işinize yarar kolay gelsin.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gokalpkuscu.com/dom-ve-sax-api-arasindaki-farklar-nelerdir/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Primefaces 3.0.M1 Kurulumu !</title>
		<link>http://www.gokalpkuscu.com/primefaces-3-0-m1-kurulumu</link>
		<comments>http://www.gokalpkuscu.com/primefaces-3-0-m1-kurulumu#comments</comments>
		<pubDate>Sun, 10 Jul 2011 18:38:45 +0000</pubDate>
		<dc:creator>Gökalp Kuşçu</dc:creator>
				<category><![CDATA[PrimeFaces]]></category>
		<category><![CDATA[primeface konfigürasyonu]]></category>
		<category><![CDATA[primefaces çalıştırılması]]></category>
		<category><![CDATA[primefaces kullanımı]]></category>
		<category><![CDATA[primefaces kurulumu]]></category>
		<category><![CDATA[primefaces-3.0.M1 kurulum]]></category>
		<category><![CDATA[primefaces-3.0.M1.jar]]></category>

		<guid isPermaLink="false">http://www.gokalpkuscu.com/?p=720</guid>
		<description><![CDATA[Selamlar, primefaces opensource component suit kurulumu hakkında bir döküman paylaşacağım. Kurulama başlamadan önce offical resmi sitesindeki açıklamayı okuyalım. PrimeFaces is a lightweight open source component suite for Java Server Faces 2.0 featuring 100+ rich set of JSF components. Additional PrimeFaces Mobile module features a UI kit for developing mobile web applications Daha ayrtıntılı bilgi için [...]]]></description>
			<content:encoded><![CDATA[<p>Selamlar, primefaces opensource component suit kurulumu hakkında bir döküman paylaşacağım. Kurulama başlamadan önce offical resmi sitesindeki açıklamayı okuyalım.</p>
<blockquote><p>PrimeFaces is a lightweight open source component suite for Java Server Faces 2.0 featuring 100+ rich set of JSF components. Additional PrimeFaces Mobile module features a UI kit for developing mobile web applications</p></blockquote>
<p>Daha ayrtıntılı bilgi için : <a title="http://www.primefaces.org" href="http://www.primefaces.org">http://www.primefaces.org</a> ziyaret edebilirsiniz.</p>
<p>Bu suiti kullanmak için sahip olmanız gereken sadece 3 tane jar var bunlar;</p>
<ul>
<li>jsf-api.jar</li>
<li>jsf-impl.jar</li>
<li>primefaces-3.0.M1.jar</li>
</ul>
<p>Dökümanın en son kısmında paylaştığım proje dosyasının içinde hepsi mevcuttur. İsterseniz maven kurup depend edin isterseniz manuel olarak elinizle WEB-INF/lib/&#8230; altına kütüphanelerinizi kopyalayın.</p>
<p><span id="more-720"></span></p>
<p>Kütüphane işlemlerini gerçekleştirdikten sonra project explorer ekranımız aşağıdaki gibi görünecektir.</p>
<div class="wp-caption alignnone" style="width: 319px"><img class="wp-image-739" title="Primefaces" src="http://www.gokalpkuscu.com/wp-content/uploads/2011/07/primefaces.png" alt="Primefaces" width="309" height="283" /><p class="wp-caption-text">Primefaces</p></div>
<p>En önemli kısım Web.xml içindeki context parametrelerini tanımlanız.</p>
<p>Web.xml</p>
<pre class="brush: xml; title: ; notranslate">
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;web-app xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;
	xmlns=&quot;http://java.sun.com/xml/ns/javaee&quot; xmlns:web=&quot;http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd&quot;
	xsi:schemaLocation=&quot;http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd&quot;
	id=&quot;WebApp_ID&quot; version=&quot;2.5&quot;&gt;
	&lt;display-name&gt;primefaces&lt;/display-name&gt;
	&lt;welcome-file-list&gt;
		&lt;welcome-file&gt;index.html&lt;/welcome-file&gt;
		&lt;welcome-file&gt;index.htm&lt;/welcome-file&gt;
		&lt;welcome-file&gt;index.jsp&lt;/welcome-file&gt;
		&lt;welcome-file&gt;default.html&lt;/welcome-file&gt;
		&lt;welcome-file&gt;default.htm&lt;/welcome-file&gt;
		&lt;welcome-file&gt;default.jsp&lt;/welcome-file&gt;
	&lt;/welcome-file-list&gt;

	&lt;context-param&gt;
		&lt;param-name&gt;javax.faces.DEFAULT_SUFFIX&lt;/param-name&gt;
		&lt;param-value&gt;.xhtml&lt;/param-value&gt;
	&lt;/context-param&gt;
	&lt;context-param&gt;
		&lt;param-name&gt;facelets.SKIP_COMMENTS&lt;/param-name&gt;
		&lt;param-value&gt;true&lt;/param-value&gt;
	&lt;/context-param&gt;
	&lt;context-param&gt;
		&lt;param-name&gt;javax.faces.STATE_SAVING_METHOD&lt;/param-name&gt;
		&lt;param-value&gt;client&lt;/param-value&gt;
	&lt;/context-param&gt;
	&lt;context-param&gt;
		&lt;param-name&gt;com.sun.faces.allowTextChildren&lt;/param-name&gt;
		&lt;param-value&gt;true&lt;/param-value&gt;
	&lt;/context-param&gt;
	&lt;servlet&gt;
		&lt;servlet-name&gt;Faces Servlet&lt;/servlet-name&gt;
		&lt;servlet-class&gt;javax.faces.webapp.FacesServlet&lt;/servlet-class&gt;
		&lt;load-on-startup&gt;1&lt;/load-on-startup&gt;
	&lt;/servlet&gt;
	&lt;servlet-mapping&gt;
		&lt;servlet-name&gt;Faces Servlet&lt;/servlet-name&gt;
		&lt;url-pattern&gt;*.jsf&lt;/url-pattern&gt;
	&lt;/servlet-mapping&gt;

&lt;/web-app&gt;
</pre>
<p>Eğer projenize primefaces için yapılmış bir temayı eklemek istiyorsanız. İlk olarak resmi sitesinden ilgili tema jarını indirip WEB-INF/lib/&#8230; altına atmanız daha sonra. Web.xml içinde aşağıdaki context parametresini eklemeniz.</p>
<p>İndirdiğim jar : <strong>ui-darkness-1.0.1.jar</strong><br />
Gerekli context parametresi: </p>
<pre class="brush: xml; title: ; notranslate">
      &lt;context-param&gt;
	  &lt;param-name&gt;primefaces.THEME&lt;/param-name&gt;
	  &lt;param-value&gt;ui-darkness&lt;/param-value&gt;
	&lt;/context-param&gt;
</pre>
<p>Bu işlemi gerçekleştirdikten sonra artık primefaces ile web sayfaları yapabilirsiniz. Web-Content altına bir index.xhtml oluşturalım. Browser üstünden çağrırken web xml içinde jsf uzantı ile maplediğimzi için index.jsf olarak çağıracağız.</p>
<pre class="brush: java; title: ; notranslate">
&lt;html xmlns:f=&quot;http://java.sun.com/jsf/core&quot;
	  xmlns:h=&quot;http://java.sun.com/jsf/html&quot;
	  xmlns:p=&quot;http://primefaces.prime.com.tr/ui&quot;&gt;

&lt;f:view contentType=&quot;text/html&quot;&gt;
	&lt;h:head&gt;
		&lt;title&gt;gokalpkuscu.com&lt;/title&gt;
	&lt;/h:head&gt;
&lt;h:body&gt;
   &lt;h:form prependId=&quot;false&quot;&gt;
	 &lt;p:notificationBar position=&quot;bottom&quot; effect=&quot;slide&quot; widgetVar=&quot;bar&quot; styleClass=&quot;top&quot;&gt;
	 &lt;h:outputText value=&quot;What PrimeFaces has so far is just the beginning!&quot; style=&quot;color:#FFCC00;font-size:36px;&quot; /&gt;
	 &lt;/p:notificationBar&gt;

	 &lt;p:commandButton value=&quot;Show&quot; onclick=&quot;bar.show()&quot; type=&quot;button&quot; /&gt;
  	 &lt;p:commandButton value=&quot;Hide&quot; onclick=&quot;bar.hide()&quot; type=&quot;button&quot; /&gt;

  	&lt;/h:form&gt;
 &lt;/h:body&gt;
&lt;/f:view&gt;
&lt;/html&gt;
</pre>
<p>Bunuda yaptıktan sonra artık ilgili sayfamızı çağırabiliriz: http://localhost:8080/primefaces/index.jsf</p>
<div class="wp-caption alignnone" style="width: 502px"><img class="  " title="Primefaces Çalıştırılmış Hali" src="http://www.gokalpkuscu.com/wp-content/uploads/2011/07/primefaces2.png" alt="Primefaces Çalıştırılmış Hali" width="492" height="277" /><p class="wp-caption-text">Primefaces Çalıştırılmış Hali</p></div>
<p>Note: There is a file embedded within this post, please visit this post to download the file.<br />
this project includes all libs</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gokalpkuscu.com/primefaces-3-0-m1-kurulumu/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Minimalist olmak ?</title>
		<link>http://www.gokalpkuscu.com/minimalist-olmak</link>
		<comments>http://www.gokalpkuscu.com/minimalist-olmak#comments</comments>
		<pubDate>Sat, 04 Jun 2011 18:10:27 +0000</pubDate>
		<dc:creator>Gökalp Kuşçu</dc:creator>
				<category><![CDATA[Kişisel Mevzu]]></category>

		<guid isPermaLink="false">http://www.gokalpkuscu.com/?p=716</guid>
		<description><![CDATA[Efendim efendim uzun süredir, giremedik yazamadık veyahut yazmak istemedik. Şu janjanlı temadan kurtulmak istedim. Minimalist olmak istedim. Uzun süre öncede böyle idi bir değişiklik yaptık geçtik şu janjanlı yüze phew! Temiz olsun şu ekranlar &#8230; Verilen her iki akıldan birinin içinde de &#8216;Minimalizm..&#8217; sözcüğü geçerdi.. İşte o kızlardan sorup öğrenmiştim minimalizmin ne olduğunu.. Japonlar&#8217;ın ev [...]]]></description>
			<content:encoded><![CDATA[<p>Efendim efendim uzun süredir, giremedik yazamadık veyahut yazmak istemedik. Şu janjanlı temadan kurtulmak istedim. Minimalist olmak istedim. Uzun süre öncede böyle idi bir değişiklik yaptık geçtik şu janjanlı yüze phew! Temiz olsun şu ekranlar <img src='http://www.gokalpkuscu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>&#8230;</p>
<blockquote><p>Verilen her iki akıldan birinin içinde de &#8216;Minimalizm..&#8217; sözcüğü geçerdi.. İşte o kızlardan sorup öğrenmiştim minimalizmin ne olduğunu.. Japonlar&#8217;ın ev halinden esinlenmiş bir deyim.. Bir evi mümkün olduğu kadar az eşya ile döşemenin adı &#8216;minimalist tarz..&#8217; oluyormuş.. Diyelim bir salonunuz var.. Üçlü bir koltuk, yanında tekli bir koltuk.. Ortaya bir sehpa.. Bir de televizyon, salon tamam.. </p>
<p>Eğer &#8216;aşırı minimalistsen&#8217; televizyon ile sehpayı da kaldırırsın.. Ancak bu durumda evine gelen biri, kendisinden evvel haciz memurlarının uğradığını düşünebileceğinden salonun girişine &#8216;Bu ev minimalist tarzda döşenmiştir..&#8217; şeklinde bir tabela asmakta yarar var.. </p></blockquote>
<p>&#8230;.<br />
Saygılar Muhterem&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gokalpkuscu.com/minimalist-olmak/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Java ile RESTful webservice (Jersey / JAX-RS)</title>
		<link>http://www.gokalpkuscu.com/java-ile-restful-webservice-jersey-jax-rs</link>
		<comments>http://www.gokalpkuscu.com/java-ile-restful-webservice-jersey-jax-rs#comments</comments>
		<pubDate>Sat, 26 Feb 2011 20:24:59 +0000</pubDate>
		<dc:creator>Gökalp Kuşçu</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[create web service with JAX-RS restful]]></category>
		<category><![CDATA[how can i write restful service]]></category>
		<category><![CDATA[java restful]]></category>
		<category><![CDATA[java restful webservis yazmak]]></category>
		<category><![CDATA[JAX-RS]]></category>
		<category><![CDATA[JAX-RS yazmak]]></category>
		<category><![CDATA[jersey JAX-RS]]></category>
		<category><![CDATA[restful]]></category>
		<category><![CDATA[restful webservice]]></category>
		<category><![CDATA[restful webservice yazmak]]></category>
		<category><![CDATA[The ResourceConfig instance does not contain any root resource classes Jersey Servlet dispatcher]]></category>
		<category><![CDATA[web servis yazmak]]></category>

		<guid isPermaLink="false">http://www.gokalpkuscu.com/?p=697</guid>
		<description><![CDATA[Soap tabanlı web servislerin yazılmasının güçlüklerinden dolayı ortaya çıkmış bir mimaridir. 2000 yılında Roy Thomas Fielding&#8217;in hazırladığı doktora tezinden tanımlanan yazılım mimarisidir.Genellikle HTTP protokolü ile kullanılır, HTTP protokolünün sunduğu methodlara odaklanmıştır. GET, POST, PUT, DELETE gibi. Bu makalede içerecek konular aşağıdaki gibidir: 1. REST &#8211; Representational State Transfer 1.1. Genel açıklama 1.2. HTTP methodları 1.3. [...]]]></description>
			<content:encoded><![CDATA[<p>Soap tabanlı web servislerin yazılmasının güçlüklerinden dolayı ortaya çıkmış bir mimaridir. 2000 yılında Roy Thomas Fielding&#8217;in hazırladığı doktora tezinden tanımlanan yazılım mimarisidir.Genellikle HTTP protokolü ile kullanılır, HTTP protokolünün sunduğu methodlara odaklanmıştır. GET, POST, PUT, DELETE gibi. Bu makalede içerecek konular aşağıdaki gibidir:</p>
<ul> <strong>1. REST &#8211; Representational State Transfer</strong></p>
<li> 1.1. Genel açıklama</li>
<li> 1.2. HTTP methodları</li>
<li> 1.3. RESTFul webservices</li>
<li> 1.4. Java, REST and Jersey</li>
</ul>
<ul> <strong>2. RESTful Webservice yazmak ve çalıştırmak </strong></p>
<li> 2.1. Proje oluşturmak</li>
<li> 2.2. Java sınıfı</li>
<li> 2.3. Jersey Servlet dispatcher tanımlama</li>
<li> 2.4. Rest servisi çalıştırma</li>
</ul>
<p>İçeriğide gördüğümüze göre başlayalım,</p>
<p><span id="more-697"></span></p>
<p><strong>1. REST &#8211; Representational State Transfer</strong></p>
<li><strong> 1.1 Genel Açıklama </strong></li>
<p>REST web standartlarını ve HTTP protokolünü baz alan bir mimaridir. İlk olarak 2000 yılında Roy Fielding tarafından tanımlanmıştır. Rest mimarisinde herşey bir kaynaktır. Bir rest mimarisinde, tipik olarak diğer kaynaklara ulaşmak için bir rest serverınız, kaynaklara ulaşan rest client ve değişen rest kaynakları vardır. Her kaynak HTTP&#8217;nin genel işlemlerini desteklemelidir. GET ile herhangi bir web service request atmak gibi.</p>
<p>Rest kaynakları farklı sunumlar içerebilir, mesela text, xml, json. Client http ile farklı bir sunum yapmasını isteyebilir. ( Content Negotiation )</p>
<li> <strong>1.2 HTTP methods</strong></li>
<p>Rest mimari HTTP protokolleri arasından PUT, GET, POST, DELETE methodlarını kullanır.</p>
<p><span style="text-decoration: underline;">GET :</span> Bir web sunucusunda bulunan kaynagı (resource) edinmek için GET komutunu kullanır. Bu kaynak JPEG, HTML, PDF olabilir. GET method ile kaynak degistirilemez.</p>
<p><span style="text-decoration: underline;">POST :</span> REST mimarisinde POST methodu yeni bir kaynağın oluşturulması (create) için kullanılır. Örneğin POST methodunu kullanarak sanal bir kütüphane sistemine yeni bir kitap ekleyebilir.</p>
<p><span style="text-decoration: underline;">PUT :</span> REST mimarisinde PUT mevcut bir kaynağı değiştirmek (UPDATE) için kullanılır. Örneğin sanal bir kütüphanedeki bir kitabın bilgilerini değiştirebiliriz.</p>
<p><span style="text-decoration: underline;">DELETE :</span> REST mimarisinde DELETE methodu mevcut bir kaynağı silmek için kullanabiliriz. Örneğin sanal bir kütüphanedeki bir kitabı silmek.</p>
<li> <strong>1.3. RESTFul webservices</strong></li>
<p>Bir RESTFul webservice http protokolünü ve rest conseptini baz alır. Servis için bir uri tanımlar. MIME-Types destekler yukarıda belirmiştim bunlar, XML, JSON vs. JAX-RS JAXB ile XML ve JSON &#8216;a destek sağlar</p>
<li> <strong>1.4. Java, REST and Jersey</strong></li>
<p>Java JAX-RS ile bunu bir standart hale getirmiştir. (Bir spesifikasyon , <a href="http://jcp.org/aboutJava/communityprocess/final/jsr311/index.html">http://jcp.org/aboutJava/communityprocess/final/jsr311/index.html </a> adresinden buna ulaşabilirsiniz.  Jersey referans bir implemantasyondur. Jersey temel olarak çekirdek server ve clientı içerir. Çekirdek client iletişim için gerekli kütühane desteğini sağlar. Tabiki server için <img src='http://www.gokalpkuscu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Ve son olarak JAX-RS REST sınıflar için anotasyon kullanır.</p>
<p><strong>2. RESTful Webservice yazmak ve çalıştırmak </strong></p>
<li><strong> 1.1 Proje oluşturmak </strong></li>
<p>Ben Eclipse kullanacağım, ilk olarak dinamik bir web projesi oluşturun. Ve ardından bir plaket oluşturun, ve ilk web servisinizin adını koyduğunuz bir sınıf oluşturun. Benim oluşturduğum projenin ki bu şekilde.</p>
<div class="wp-caption alignnone" style="width: 465px"><img class="wp-image-741" title="Project Explorer" src="http://www.gokalpkuscu.com/wp-content/uploads/2011/02/porjectExplorer.bmp" alt="" width="455" height="306" /><p class="wp-caption-text">Project Explorer</p></div>
<p>Project explorerda gördüğünüz gibi lib altında 3 tane kütüphane var, bu projede maven kullanmadığımız için bunları manuel bulup eklemelisiniz. Proje en son olarak yazının sonuna ekleyeceğim onun içinde bulunmakta ve referanslar kısmında adreslerini vereceğim.</p>
<p>Non-maven developers require: // söylenen gibi. <img src='http://www.gokalpkuscu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>jersey-server.jar ,<br />
jersey-core.jar ,<br />
asm.jar</p>
<li><strong> 1.2 Java sınıfı </strong></li>
<p>Şimdi servisimizi yazalım, ben anlatılan dökümandaki örneği kullanacağım fakat paylaşacağım projede sadece bir yapı kullandım oda xml dönderen.</p>
<pre class="brush: java; title: ; notranslate">

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

//Webservisin yolu
@Path(&quot;/hello&quot;)
public class Hello {

	// TEXT_PLAIN isteği
	@GET
	@Produces(MediaType.TEXT_PLAIN)
	public String sayPlainTextHello() {
		return &quot;Hello Jersey&quot;;
	}

	// XML isteği
	@GET
	@Produces(MediaType.TEXT_XML)
	public String sayXMLHello() {
		return &quot;&lt;!--?xml version=&quot;1.0&quot;?--&gt;&quot; + &quot; Hello Jersey&quot; + &quot;&quot;;
	}

	// HTML isteği
	@GET
	@Produces(MediaType.TEXT_HTML)
	public String sayHtmlHello() {
		return &quot; &quot; + &quot;&quot; + &quot;Hello Jersey&quot; + &quot;&quot;
				+ &quot;
&lt;h1&gt;&quot; + &quot;Hello Jersey&quot; + &quot;&lt;/h1&gt;
&quot; + &quot; &quot;;
	}

}
</pre>
<p>Web service bu kadar. @GET istek yapılacağını gösteriyor, @Produces ise dönüş tipini tanımlıyor. @Path ise web servise ulasılan browser yolu tanımlıyor.</p>
<li><strong> 1.3 Jersey Servlet dispatcher tanımlama </strong></li>
<p>Bu kısım önemli , servlet container tanımlama ve property geçirme.</p>
<pre class="brush: xml; title: ; notranslate">

       &lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;web-app id=&quot;WebApp_ID&quot; version=&quot;2.4&quot;
	xmlns=&quot;http://java.sun.com/xml/ns/j2ee&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;
	xsi:schemaLocation=&quot;http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd&quot;&gt;
	&lt;display-name&gt;jax-rs&lt;/display-name&gt;
	&lt;welcome-file-list&gt;
		&lt;welcome-file&gt;index.html&lt;/welcome-file&gt;
		&lt;welcome-file&gt;index.htm&lt;/welcome-file&gt;
		&lt;welcome-file&gt;index.jsp&lt;/welcome-file&gt;
		&lt;welcome-file&gt;default.html&lt;/welcome-file&gt;
		&lt;welcome-file&gt;default.htm&lt;/welcome-file&gt;
		&lt;welcome-file&gt;default.jsp&lt;/welcome-file&gt;
	&lt;/welcome-file-list&gt;

	&lt;servlet&gt;
		&lt;servlet-name&gt;Jersey REST Service&lt;/servlet-name&gt;
		&lt;servlet-class&gt;com.sun.jersey.spi.container.servlet.ServletContainer&lt;/servlet-class&gt;
		&lt;init-param&gt;
			&lt;param-name&gt;com.sun.jersey.config.property.packages&lt;/param-name&gt;
			&lt;param-value&gt;webservice&lt;/param-value&gt; &lt;!-- webservis paketi --&gt;
		&lt;/init-param&gt;
		&lt;load-on-startup&gt;1&lt;/load-on-startup&gt;
	&lt;/servlet&gt;
	&lt;servlet-mapping&gt;
		&lt;servlet-name&gt;Jersey REST Service&lt;/servlet-name&gt;
		&lt;url-pattern&gt;/rest/*&lt;/url-pattern&gt;
	&lt;/servlet-mapping&gt;

&lt;/web-app&gt;
</pre>
<blockquote><p>Tips : param-value =&gt; webservice &lt; = param-value alanında bir yanlışlık yaptıysanız bu hatayı alacaksınız, <strong>com.sun.jersey.api.container.ContainerException: The ResourceConfig instance does not contain any root resource classes.</strong>
</p></blockquote>
<li><strong> 2.4. Rest servisi çalıştırma </strong></li>
<p>Tüm bu işlemlerden sonra Tomcat&#8217;inizi çalıştırın, sorunsuz bir şekilde açıldı ise, yapmanız gereken tek şey browserınıza şunu yazmak <img src='http://www.gokalpkuscu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>http://localhost:8080/jax-rs/rest/hello</p>
<div class="mceTemp">
<dl class="wp-caption alignnone" style="width: 439px;">
<dt class="wp-caption-dt"><img title="jaxrs" src="http://www.gokalpkuscu.com/wp-content/uploads/2011/02/jaxrs.bmp" alt="" width="429" height="213" /></dt>
</dl>
</div>
<p><small>referanslar :<br />
<a href="http://www.vogella.de/articles/REST/article.html">http://www.vogella.de/articles/REST/article.html</a><br />
<a href="http://jersey.java.net/nonav/documentation/latest/chapter_deps.html">http://jersey.java.net/nonav/documentation/latest/chapter_deps.html</a><br />
Java Dergisi 1. Sayı<br />
</small></p>
Note: There is a file embedded within this post, please visit this post to download the file.
]]></content:encoded>
			<wfw:commentRss>http://www.gokalpkuscu.com/java-ile-restful-webservice-jersey-jax-rs/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>İstanbul Panorama 1453 Tarih Müzesini gezdiniz mi ?</title>
		<link>http://www.gokalpkuscu.com/istanbul-panorama-1453-tarih-muzesini-gezdiniz-mi</link>
		<comments>http://www.gokalpkuscu.com/istanbul-panorama-1453-tarih-muzesini-gezdiniz-mi#comments</comments>
		<pubDate>Wed, 26 Jan 2011 20:03:47 +0000</pubDate>
		<dc:creator>Gökalp Kuşçu</dc:creator>
				<category><![CDATA[Kişisel Mevzu]]></category>
		<category><![CDATA[İstanbul Panorama]]></category>
		<category><![CDATA[İstanbul Panorama 1453]]></category>
		<category><![CDATA[İstanbul Panorama gezi]]></category>
		<category><![CDATA[İstanbul Panorama tarih müzesi]]></category>
		<category><![CDATA[İstanbul Panorama tarih müzesi gezi]]></category>

		<guid isPermaLink="false">http://www.gokalpkuscu.com/?p=690</guid>
		<description><![CDATA[Geçenlerde gitme fırsatım oldu ve kuzenimle beraber müzeye gittik. Dışardan baktığımda küçük be bu felan gibisinden konuşuyordum ki içerideki alana girince düşüncelerim değişti . Sanki küçük ama bir o kadarda büyük görünüyordu. Ses efektleri pek hoşuma gitmese de görüntü harika, gerçekten iyi iş çıkarmışlar. flickr daki profilime bir kaç resmini koydum sağ taraftan bakabilirsiniz. Belirteyim [...]]]></description>
			<content:encoded><![CDATA[<p>Geçenlerde gitme fırsatım oldu ve kuzenimle beraber müzeye gittik. Dışardan baktığımda küçük be bu felan gibisinden konuşuyordum ki içerideki alana girince düşüncelerim değişti . <img src='http://www.gokalpkuscu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Sanki küçük ama bir o kadarda büyük görünüyordu. Ses efektleri pek hoşuma gitmese de görüntü harika, gerçekten iyi iş çıkarmışlar. <img src='http://www.gokalpkuscu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  flickr daki profilime bir kaç resmini koydum sağ taraftan bakabilirsiniz.</p>
<p>Belirteyim ki kesinlikle bir dolaşılmalı şuan hatırlamıyorum ama bir giriş ücreti var sanırım 5 TL idi yanlış hatırlamıyorsam&#8230;</p>
<p><span id="more-690"></span></p>
<p>Heh birde resmi sitesinden tam kendisini anlatan bir yazı, şu kısma dikkat,</p>
<p>Panorama’nın kalbi olan resim, 38 metre çaplı bir yarım küre üzerine yapılmıştır. Yarım kürenin iç yüzeyini kaplayan resim, 2350 m2 olup, resimle ziyaretçi platformu arasındaki 650 m2&#8242;lik 3 boyutlu objeler platformuyla birlikte, toplam 3000 m2&#8242;lik dev bir büyüklüğe ulaşmakta ve ziyaretçiyi her yönden kuşatmaktadır. <img src='http://www.gokalpkuscu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<blockquote><p>Burası Topkapı, İstanbul kuşatmasının en çetin geçtiği, aşılamaz denilen surların aşıldığı, kutlu askerlerin bekledikleri günün yaşandığı yer… İstanbul’un fethe açılan kapısı…  Burada İstanbul&#8217;un fethine yeniden tanık olacak ve kente giriliş anını neredeyse aynen yaşayacaksınız. Macar topçu ustası Urban&#8217;ın döktüğü toplara dokunup Kostantinopolis&#8217;in surlarına doğru onların patlamalarına şahit olacaksınız. Sultan II. Mehmed&#8217;in binlerce askerinin tekbir seslerini ve Mehter Marşı&#8217;nı duyup, belki de eşlik edeceksiniz. </p>
<p>Burası 14 yıl önce Topkapı&#8217;daki Trakya Otogarı&#8217;nın olduğu, bugün ise “Topkapı Kültür Parkı”nın bulunduğu yer. Solunuza bakınca Edirnekapı&#8217;daki surları, karşıya bakınca Topkapı Surları&#8217;nı yani Kostantinopolis&#8217;e ilk Türk askerinin girdiği kapıyı ve sağınıza dönünce de Silivrikapı&#8217;daki surları görürsünüz. İşte Sultan II. Mehmed&#8217;in “Fatih” unvanını alışına şahit olacağınız ve İstanbul&#8217;un fethini yaşayacağınız yer tam da burası.</p>
<p>Panorama’nın kalbi olan resim, 38 metre çaplı bir yarım küre üzerine yapılmıştır. Yarım kürenin iç yüzeyini kaplayan resim, 2350 m2 olup, resimle ziyaretçi platformu arasındaki 650 m2&#8242;lik 3 boyutlu objeler platformuyla birlikte, toplam 3000 m2&#8242;lik dev bir büyüklüğe ulaşmakta ve ziyaretçiyi her yönden kuşatmaktadır.</p>
<p>Müzenin, panoramik resim ile ilgili çalışmalarına 2005 yılında başlanmış, 2008 yılında tamamlanmıştır. Bu çalışma 8 sanatçı tarafından yapılmıştır. Resimde 10.000 figür çizimi vardır. Surlardaki yıkılmış bölgeler ve bu bölgelerin büyüklükleri, İstanbul&#8217;un ilk belediye başkanı olan Hızır Bey&#8217;e, surların tamiri ile ilgili olarak sunulmuş bir rapora dayanmaktadır.</p>
<p>Çerçevesi ve sınırı olan bir resim, ne kadar derinlik ve üç boyut duygusu uyandırırsa uyandırsın çerçevesini ya da sınırını görebiliyorsanız, onun sizden ne kadar uzakta asılı olduğunu anlarsınız. “İSTANBUL 1453 Panoramik Müzesi”ndeki çalışmada resmin bittiği yer diye bir şey olmadığı için, resme bakan kişi optik alışkanlıklarıyla eserin gerçek boyutlarını kavrayamayacaktır. İzleyici, platforma çıktığı anda 10 saniye kadar sürecek bir şok yaşamaktadır. Bu durum, resmin gerçekliğini ve boyutlarını kavramayı sağlayacak referanslar, başlangıç ve bitiş gibi dayanak noktaları bulamamanın şaşkınlığıdır. Burası insana, kapalı bir mekâna girildiği halde, bir şekilde tekrar üç boyutlu dış mekâna çıkılmış duygusunu yaşatmaktadır.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.gokalpkuscu.com/istanbul-panorama-1453-tarih-muzesini-gezdiniz-mi/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ne oluyor yahu ?</title>
		<link>http://www.gokalpkuscu.com/ne-oluyor-yahu</link>
		<comments>http://www.gokalpkuscu.com/ne-oluyor-yahu#comments</comments>
		<pubDate>Sat, 22 Jan 2011 15:55:12 +0000</pubDate>
		<dc:creator>Gökalp Kuşçu</dc:creator>
				<category><![CDATA[Kişisel Mevzu]]></category>
		<category><![CDATA[2011 ilk blog yazisi]]></category>
		<category><![CDATA[Gökalp Kuşçu]]></category>
		<category><![CDATA[gökalp kuşçu ne yapıyor]]></category>

		<guid isPermaLink="false">http://www.gokalpkuscu.com/?p=688</guid>
		<description><![CDATA[Eskileri tanırım, diyorlardı ki çalışırken zamanın senin için olmadığı ya da bir anlam ifade etmediği haftaları geçirmek zorunda bırakıp, hobi olarak yaptığın işleri aksatacak derlerdi. Hadi ordan canım derdim Fark ettim ki durum bundan ibaret, hafta içi dağılmış bir saatte eve gelip ( gelene kadar &#8230; istanbul abi yol muhabbeti işte ) yemek yiyorum sonra [...]]]></description>
			<content:encoded><![CDATA[<p>Eskileri tanırım, diyorlardı ki çalışırken zamanın senin için olmadığı ya da bir anlam ifade etmediği haftaları geçirmek zorunda bırakıp, hobi olarak yaptığın işleri aksatacak derlerdi. Hadi ordan canım derdim <img src='http://www.gokalpkuscu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  </p>
<p>Fark ettim ki durum bundan ibaret, hafta içi dağılmış bir saatte eve gelip ( gelene kadar &#8230; istanbul abi yol muhabbeti işte ) yemek yiyorum sonra baktım ki saat 9 olu veriyor. Sonra oturup bir google reader turluyorum ama kafam o kadar dolu ki bırakıyorum. Açıyorum supernaturel başlıyorum izlemeye ( şu an favori dizim ) . Zamanın benim için bir anlam ifade etmediği bir zamanda uyuyorum.</p>
<p>Heh, zevk aldığım işi yapıp, meraklı ve zevkli insanlarla çalışıyorum. İyikide bu var he, yoksa nasıl çekilirdi bu döngü anlatamam valla&#8230; <img src='http://www.gokalpkuscu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  </p>
<p>Bu arada istanbulda servisde geçirdiğim bu zaman zarfında kitap okumaya sarmış bulunmaktayım saolsun günlük 90 dakikamı yiyen bir eylem. Şuan ne okuyorum Maya Kehanetleri tavsiye ederim gayet ilginç şeyler var içinde <img src='http://www.gokalpkuscu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Şimdilik 2011 ilk yazısını yazdım diyelim <img src='http://www.gokalpkuscu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.gokalpkuscu.com/ne-oluyor-yahu/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pipernate ile servis sınıfları oluşturmak</title>
		<link>http://www.gokalpkuscu.com/pipernate-ile-servis-siniflari-olusturmak</link>
		<comments>http://www.gokalpkuscu.com/pipernate-ile-servis-siniflari-olusturmak#comments</comments>
		<pubDate>Tue, 28 Dec 2010 15:45:09 +0000</pubDate>
		<dc:creator>Gökalp Kuşçu</dc:creator>
				<category><![CDATA[Pipernate]]></category>
		<category><![CDATA[php ile servis yazmak]]></category>
		<category><![CDATA[php orm service]]></category>
		<category><![CDATA[php service]]></category>
		<category><![CDATA[pipernate service]]></category>
		<category><![CDATA[pipernate service layer]]></category>
		<category><![CDATA[pipernate servis katmanı]]></category>

		<guid isPermaLink="false">http://www.gokalpkuscu.com/?p=676</guid>
		<description><![CDATA[= Pipernate ile servis sınıfları oluşturmak = Pipernate yazarken aslında çektiğimiz sıkıntılarada biraz çözüm getirmek için bazı düşüncelerimiz vardı, yaptığımız sunum katmanındaki mesela haberler.php için olabildiğince php kodlarını dışarda bırakmak, iş gerektiren kısımları servis katmanına aktarmak ve kod karmaşıklığından uzaklaşmak idi. Bunun için pipernate altına services adı altında bir paket koyduk ve iş gerektiren tüm [...]]]></description>
			<content:encoded><![CDATA[<p>= Pipernate ile servis sınıfları oluşturmak =</p>
<p>Pipernate yazarken aslında çektiğimiz sıkıntılarada biraz çözüm getirmek için bazı düşüncelerimiz vardı, yaptığımız sunum katmanındaki mesela haberler.php için olabildiğince php kodlarını dışarda bırakmak, iş gerektiren kısımları servis katmanına aktarmak ve kod karmaşıklığından uzaklaşmak idi. Bunun için pipernate altına services adı altında bir paket koyduk ve iş gerektiren tüm kodlarımızı bu katman altına aldığımız sınıflara yaptırmaya başladık. Artık sunum yapan sayfalarımız sadece servisteki classın içindeki methodlara ulaşıp doldur, boşalt yapmaktan başka bir iş yapmıyor. Böylece bakım ve yeni özelliklerde eklemek kolaylaştı <img src='http://www.gokalpkuscu.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Şimdi bu sınıfları nasıl oluşturacağınızı anlatacağım bunun için size biraz DbService sınıfından bahsedeyim, bu sınıf sizle db arasında bir köprü, bunun içindeki methodların hepsi tüm işleriniz için yeterli olan methodlarınızı tutmakta.</p>
<p><span id="more-676"></span></p>
<p>*Bu makale güncellenmiştir.*<br />
 * Mevcut servisi interface ile desteklendi. </p>
<p>*INTERFACE*</p>
<pre class="brush: php; title: ; notranslate">

&lt; ?php
   interface Ifmembers_service {

            ############## LIKE ENUMS #################
   	   const modelName = &quot;fusers&quot;;
  	   const extendModelName = &quot;ffollowers&quot;;

   	   public function getUserProfil($finkUserID);
   	   public function getUsers($limit, $orderBy);
   	   public function getFollowers($finkUserID);

   }
?&gt;
</pre>
<p>*SERVICE CLASS*</p>
<pre class="brush: php; title: ; notranslate">
  &lt; ?php

  require_once '../system/DbService.php';  // ana service katmanı
  require_once 'serviceInterfaces/Ifmembers.service.php'; //interface 

  require_once MODELPATH.'fusers.php';    // kendi servisimde kullanmak için
  require_once MODELPATH.'ffollowers.php';

  class fmembers_service extends DbService implements Ifmembers_service {

  	public function __construct(){
  		parent::__construct();
  	}

  	public function getUserProfil($finkUserID){
          $this-&gt;criteria = new Criteria(Ifmembers_service::modelName);
  	  $this-&gt;criteria-&gt;where(&quot;fid&quot;, $finkUserID);
  	  $this-&gt;modelname = $this-&gt;uniqueResult($this-&gt;criteria);
  	  return $this-&gt;modelname;
  	}

     public function getUsers($limit, $orderBy){
     	 $this-&gt;criteria = new Criteria(Ifmembers_service::modelName);
  	 $this-&gt;criteria-&gt;orderBy(&quot;fid&quot;,$orderBy);
  	 $this-&gt;criteria-&gt;limit(0,$limit);
  	 $this-&gt;modelname = $this-&gt;select($this-&gt;criteria);
  	 return $this-&gt;modelname;
  	}

  	public function getFollowers($finkUserID){
  	  $this-&gt;criteria = new Criteria(Ifmembers_service::extendModelName);
  	  $this-&gt;criteria-&gt;where(&quot;fiduser&quot;, $finkUserID);
  	  $this-&gt;extendModelname = $this-&gt;select($this-&gt;criteria);

  	   foreach ($this-&gt;extendModelname-&gt;asArray() as $data){
  	     return $this-&gt;getUserProfil($data-&gt;fidfollower);
  	   }
  	}

}
</pre>
<p>Şimdi gördüğünüz gibi – extends DbService – ile DbService extend ettik. bookmark_service sınıfına ait construct methodun içine parent::__construct(); ile extend ettiğimiz DbService ile gerekli konfigürasyonu yaptık. </p>
<p>Sırada çağırıp test etme işi kaldı. user.php sayfamıza gidiyoruz. Servisimizi include ediyoruz.</p>
<pre class="brush: php; title: ; notranslate">

  $service = new fmembers_service();
   $data =  $service-&gt;getUsers(10, &quot;DESC&quot;);

    if($data-&gt;size() == 0){
     echo &quot;There is no data!&quot;;
    }
     else{
     	print_r($data-&gt;asArray());
     }
</pre>
<p>Sonuç olarak dönen değerimizinde boş olup olmadığını kontrol ettikten sonra işlerimizi bitiyoruz. <img src='http://www.gokalpkuscu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Kolay ve hızlı kodlamalar</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gokalpkuscu.com/pipernate-ile-servis-siniflari-olusturmak/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pipernate ~ PHP Object Relational Mapping Framework</title>
		<link>http://www.gokalpkuscu.com/pipernate-php-object-relational-mapping-framework</link>
		<comments>http://www.gokalpkuscu.com/pipernate-php-object-relational-mapping-framework#comments</comments>
		<pubDate>Tue, 28 Dec 2010 15:12:39 +0000</pubDate>
		<dc:creator>Gökalp Kuşçu</dc:creator>
				<category><![CDATA[Pipernate]]></category>
		<category><![CDATA[php framework]]></category>
		<category><![CDATA[php object relational mapping]]></category>
		<category><![CDATA[php orm]]></category>
		<category><![CDATA[php orm framework]]></category>
		<category><![CDATA[pipernate]]></category>

		<guid isPermaLink="false">http://www.gokalpkuscu.com/?p=671</guid>
		<description><![CDATA[Aralık 20, 2010 tarihi itibariyle yeni bir framework&#8217;ü php dünyasına kazandırdık, gelen tepkiler gayet mutlu edici ve dönen isteklerin olması teşvik edici oldu. Umarım devam edecek olan development sürecimiz ile daha stabil bir sürüm daha çıkarabiliriz. Pipernate : Size sql stringler yazmadan bunları kurmanızı ve sonuçlarınızı list of object olarak elde etmenizi sağlayan bir orm [...]]]></description>
			<content:encoded><![CDATA[<p>Aralık 20, 2010 tarihi itibariyle yeni bir framework&#8217;ü php dünyasına kazandırdık, gelen tepkiler gayet mutlu edici ve dönen isteklerin olması teşvik edici oldu. Umarım devam edecek olan development sürecimiz ile daha stabil bir sürüm daha çıkarabiliriz. </p>
<blockquote><p> Pipernate : Size sql stringler yazmadan bunları kurmanızı ve sonuçlarınızı list of object olarak elde etmenizi sağlayan bir orm tooldur. </p></blockquote>
<p><strong>Bu blog başlığı altından yazılan örneklere ve ilgili kaynaklara ulaşıp, isteklerde bulunabilirsiniz.</strong></p>
<p>web page : <a href="http://www.pipernate.com">http://www.pipernate.com</a><br />
web code page : <a href="http://code.google.com/p/pipernate/">http://code.google.com/p/pipernate/</a><br />
pipernate wiki pages : <a href="http://code.google.com/p/pipernate/w/list">http://code.google.com/p/pipernate/w/list</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gokalpkuscu.com/pipernate-php-object-relational-mapping-framework/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

