<?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>Delizeka</title>
	<atom:link href="http://www.delizeka.net/feed" rel="self" type="application/rss+xml" />
	<link>http://www.delizeka.net</link>
	<description>Deliliğe övgü..</description>
	<lastBuildDate>Sun, 13 May 2012 03:25:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Problem starting Google Chrome on guest session in Ubuntu</title>
		<link>http://www.delizeka.net/2012/05/13/problem-starting-google-chrome-on-guest-session-in-ubuntu.html</link>
		<comments>http://www.delizeka.net/2012/05/13/problem-starting-google-chrome-on-guest-session-in-ubuntu.html#comments</comments>
		<pubDate>Sun, 13 May 2012 03:23:41 +0000</pubDate>
		<dc:creator>Uğur Aslan</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[google chrome]]></category>
		<category><![CDATA[guest session]]></category>
		<category><![CDATA[problem]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.delizeka.net/?p=219</guid>
		<description><![CDATA[If you install Google Chrome in Ubuntu and start it on a guest session (by clicking to Chrome icon), you can notice that nothing -literally- happens. I faced this problem a few days ago and after some googling around, I found two bug reports related with this situation. The first one [http://bit.ly/JpcoBE] is on Chromium [...]]]></description>
			<content:encoded><![CDATA[<p>If you install Google Chrome in Ubuntu and start it on a guest session (by clicking to Chrome icon), you can notice that nothing -literally- happens. I faced this problem a few days ago and after some googling around, I found two bug reports related with this situation. The first one [<a title="http://bit.ly/JpcoBE" href="http://bit.ly/JpcoBE" target="_blank">http://bit.ly/JpcoBE</a>] is on Chromium issues page. And the other one [<a title="http://bit.ly/K6FSAG" href="http://bit.ly/K6FSAG" target="_blank">http://bit.ly/K6FSAG</a>] is on Launchpad Ubuntu Bug-tracking page.</p>
<p>As far as I understand, the problem arises due to limitations of guest accounts in Ubuntu. On the Chromium side, they expect to run SUID binaries on guest sessions in order to provide sandbox for securely interpreting HTML and running Javascript. They say that the sandbox is very critical for security reasons. And users shouldn&#8217;t start Chrome/Chromium without sandbox for their own security. They also mention that they had a future plan to have SUID-free alternative implementation for sandbox.</p>
<p>Actually, there is an undocumented <strong>&#8220;&#8211;no-sandbox&#8221;</strong> option for Google Chrome. But Google Chrome staff doesn&#8217;t want users to use this option because of security concerns by stating that users can&#8217;t understand the risk of using this option. So, this is the main reason for <strong>&#8220;&#8211;no-sandbox&#8221;</strong> option having no documentation at all. They emphasise that this option is included for only debugging purposes.</p>
<p>So the problem is unsolved by now. You can use <strong>&#8220;&#8211;no-sandbox&#8221;</strong> option for running Google Chrome/Chromium on guest sessions in Ubuntu by accepting serious potential security issues. You can make a .desktop file with &#8220;Exec=/opt/google/chrome/google-chrome &#8211;no-sandbox %U&#8221; for guest accounts and give guest users a chance to run Google Chrome on their sessions.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.delizeka.net%2F2012%2F05%2F13%2Fproblem-starting-google-chrome-on-guest-session-in-ubuntu.html&amp;title=Problem%20starting%20Google%20Chrome%20on%20guest%20session%20in%20Ubuntu" id="wpa2a_2"><img src="http://www.delizeka.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><h3  class="related_post_title">Benzer Konular</h3><ul class="related_post"><li>Ağustos 7, 2009 -- <a href="http://www.delizeka.net/2009/08/07/gordugum-en-ilginc-bug.html" title="Gördüğüm en ilginç/eğlenceli 2. bug (Google Chrome 3.0 Alfa)">Gördüğüm en ilginç/eğlenceli 2. bug (Google Chrome 3.0 Alfa)</a></li><li>Ocak 28, 2008 -- <a href="http://www.delizeka.net/2008/01/28/ubuntuda-adobe-photoshop-nasil-kurulur.html" title="Ubuntu&#8217;da Adobe Photoshop nasıl kurulur?">Ubuntu&#8217;da Adobe Photoshop nasıl kurulur?</a></li><li>Ocak 10, 2008 -- <a href="http://www.delizeka.net/2008/01/10/ubuntu-gutsy-gibbon-uzerine-freenx-nasil-kurulur.html" title="Ubuntu Gutsy Gibbon üzerine freenx nasıl kurulur?">Ubuntu Gutsy Gibbon üzerine freenx nasıl kurulur?</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.delizeka.net/2012/05/13/problem-starting-google-chrome-on-guest-session-in-ubuntu.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to auto shut down after pre-defined time of inactivity in Xubuntu</title>
		<link>http://www.delizeka.net/2012/05/13/how-to-auto-shutdown-after-pre-defined-time-of-inactivity-in-xubuntu.html</link>
		<comments>http://www.delizeka.net/2012/05/13/how-to-auto-shutdown-after-pre-defined-time-of-inactivity-in-xubuntu.html#comments</comments>
		<pubDate>Sun, 13 May 2012 02:35:08 +0000</pubDate>
		<dc:creator>Uğur Aslan</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[auto shutdown]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[idle]]></category>
		<category><![CDATA[inactivity]]></category>
		<category><![CDATA[xubuntu]]></category>

		<guid isPermaLink="false">http://www.delizeka.net/?p=207</guid>
		<description><![CDATA[I needed a script that shuts down PC automatically after pre-defined time of inactivity. In order to catch time of inactivity, one should monitor interrupts of keyboard/mouse and maybe some other things. I didn&#8217;t follow this path, because I had an enabled screensaver which activates after certain time of inactivity. And it was easier to [...]]]></description>
			<content:encoded><![CDATA[<p>I needed a script that shuts down PC automatically after pre-defined time of inactivity. In order to catch time of inactivity, one should monitor interrupts of keyboard/mouse and maybe some other things. I didn&#8217;t follow this path, because I had an enabled screensaver which activates after certain time of inactivity. And it was easier to catch screensaver status than dealing with calculating inactive time for a given Xubuntu user.</p>
<p>There is a tool called <strong>xscreensaver-command </strong>that can tell the last status of screen saver if it is given the parameter &#8220;-time&#8221;. So the logic is very simple : get the last status change of screensaver and when screensaver actives shut down computer.</p>
<p>But with this logic, whenever screensaver activates, shut down process is immediately taking place. And user can&#8217;t have the opportunity to cancel shutdown. For that reason, I decided to give user a chance to cancel shut down, put extra time between screensaver activation and beginning of shutdown process. So a user can have, let&#8217;s say, 5 extra minutes to inactivate screensaver [by moving mouse or pressing any key with keyboard].</p>
<p>The resulted script is below. You can use it by placing it xdg autostart folder with an appropriate desktop file (nohup/sending background will be good). This script was not very much tested. Please use it with your own risk! I use it with Xubuntu 12.04 and no problems occurred until now.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/bash</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># parameters</span>
<span style="color: #007800;">before_shutdown</span>=<span style="color: #000000;">300</span>; <span style="color: #666666; font-style: italic;"># [in seconds] script will shutdown when screensaver activated and this amount of seconds passed afterwards</span>
<span style="color: #007800;">check_period</span>=<span style="color: #000000;">60</span>; <span style="color: #666666; font-style: italic;"># [in seconds] script will check screensaver status for every &quot;check_period&quot; seconds</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># timeToSeconds function credits : http://bit.ly/Jp26l1</span>
<span style="color: #000000; font-weight: bold;">function</span> timeToSeconds <span style="color: #7a0874; font-weight: bold;">&#123;</span>
     <span style="color: #007800;">timeSeconds</span>=<span style="color: #000000;">0</span>
     <span style="color: #007800;">timeStripped</span>=<span style="color: #800000;">${1//:/$' '}</span>
&nbsp;
     <span style="color: #007800;">multiplier</span>=<span style="color: #000000;">3600</span>
     <span style="color: #000000; font-weight: bold;">for</span> item <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #007800;">$timeStripped</span>
     <span style="color: #000000; font-weight: bold;">do</span>
          <span style="color: #007800;">item</span>=<span style="color: #800000;">${item#0}</span>
          <span style="color: #007800;">timeSeconds</span>=$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>timeSeconds + <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>item<span style="color: #000000; font-weight: bold;">*</span>multiplier<span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
          <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span> multiplier <span style="color: #000000; font-weight: bold;">/</span>= <span style="color: #000000;">60</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
     <span style="color: #000000; font-weight: bold;">done</span>
<span style="color: #7a0874; font-weight: bold;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">while</span> <span style="color: #c20cb9; font-weight: bold;">true</span>
     <span style="color: #000000; font-weight: bold;">do</span>
&nbsp;
     <span style="color: #007800;">sclast</span>=$<span style="color: #7a0874; font-weight: bold;">&#40;</span>xscreensaver-command <span style="color: #660033;">-time</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">awk</span> <span style="color: #ff0000;">' { print $4 &quot;\t&quot; $9 }'</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>;
     <span style="color: #007800;">sc_status</span>=$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$sclast</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">awk</span> <span style="color: #ff0000;">'{ print $1}'</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>;
     <span style="color: #007800;">sc_time</span>=$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$sclast</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">awk</span> <span style="color: #ff0000;">'{ print $2}'</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>;
&nbsp;
     <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$sc_status</span>&quot;</span> == <span style="color: #ff0000;">'blanked'</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
&nbsp;
          timeToSeconds <span style="color: #007800;">$sc_time</span>;
          <span style="color: #007800;">start_time</span>=<span style="color: #007800;">$timeSeconds</span>;
          <span style="color: #007800;">curr_time</span>=$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">date</span> +<span style="color: #000000; font-weight: bold;">%</span>H:<span style="color: #000000; font-weight: bold;">%</span>M:<span style="color: #000000; font-weight: bold;">%</span>S<span style="color: #7a0874; font-weight: bold;">&#41;</span>;
          timeToSeconds <span style="color: #007800;">$curr_time</span>;
          <span style="color: #007800;">end_time</span>=<span style="color: #007800;">$timeSeconds</span>;
&nbsp;
          <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #007800;">$start_time</span> <span style="color: #660033;">-gt</span> <span style="color: #007800;">$end_time</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
               <span style="color: #007800;">end_time</span>=$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span> fl + <span style="color: #000000;">86400</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>;
          <span style="color: #000000; font-weight: bold;">fi</span>;
&nbsp;
          <span style="color: #007800;">timespend</span>=$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span> end_time - start_time <span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>;
&nbsp;
          <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #007800;">$timespend</span> <span style="color: #660033;">-ge</span> <span style="color: #007800;">$before_shutdown</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
               <span style="color: #666666; font-style: italic;">#shutdown init</span>
               dbus-send <span style="color: #660033;">--system</span> <span style="color: #660033;">--print-reply</span> <span style="color: #660033;">--dest</span>=<span style="color: #ff0000;">&quot;org.freedesktop.ConsoleKit&quot;</span> <span style="color: #000000; font-weight: bold;">/</span>org<span style="color: #000000; font-weight: bold;">/</span>freedesktop<span style="color: #000000; font-weight: bold;">/</span>ConsoleKit<span style="color: #000000; font-weight: bold;">/</span>Manager org.freedesktop.ConsoleKit.Manager.Stop
          <span style="color: #000000; font-weight: bold;">fi</span>;
     <span style="color: #000000; font-weight: bold;">fi</span>;
&nbsp;
     <span style="color: #c20cb9; font-weight: bold;">sleep</span> <span style="color: #007800;">$check_period</span>;
<span style="color: #000000; font-weight: bold;">done</span>;</pre></div></div>

<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.delizeka.net%2F2012%2F05%2F13%2Fhow-to-auto-shutdown-after-pre-defined-time-of-inactivity-in-xubuntu.html&amp;title=How%20to%20auto%20shut%20down%20after%20pre-defined%20time%20of%20inactivity%20in%20Xubuntu" id="wpa2a_4"><img src="http://www.delizeka.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><h3  class="related_post_title">Benzer Konular</h3><ul class="related_post"><li>Aralık 11, 2008 -- <a href="http://www.delizeka.net/2008/12/11/debian-etch-icin-dns-sunucusu-bind9-kurulumu-ve-ayarlari.html" title="Debian Etch için DNS Sunucusu (Bind9) Kurulumu ve Ayarları">Debian Etch için DNS Sunucusu (Bind9) Kurulumu ve Ayarları</a></li><li>Eylül 9, 2008 -- <a href="http://www.delizeka.net/2008/09/09/linux-trnet-yayinda.html" title="Linux-tr.net yayında&#8230;">Linux-tr.net yayında&#8230;</a></li><li>Mayıs 28, 2008 -- <a href="http://www.delizeka.net/2008/05/28/debian-etchde-asus-nx-1101-ethernet-karti-surucusu-derlemek.html" title="Debian Etch&#8217;de ASUS NX 1101 ethernet kartı sürücüsü derlemek">Debian Etch&#8217;de ASUS NX 1101 ethernet kartı sürücüsü derlemek</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.delizeka.net/2012/05/13/how-to-auto-shutdown-after-pre-defined-time-of-inactivity-in-xubuntu.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to disable clipboard synchronization of freeNX</title>
		<link>http://www.delizeka.net/2012/05/13/how-to-disable-clipboard-synchronization-of-freenx.html</link>
		<comments>http://www.delizeka.net/2012/05/13/how-to-disable-clipboard-synchronization-of-freenx.html#comments</comments>
		<pubDate>Sun, 13 May 2012 01:39:54 +0000</pubDate>
		<dc:creator>Uğur Aslan</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.delizeka.net/?p=205</guid>
		<description><![CDATA[Nomachine&#8217;s Nxserver provides a configuration parameter about clipboard synchronization of client and server. If you use freeNx  after Nomachine&#8217;s NXserver you can see that not all of configuration parameters has been implemented. One of these configuration parameters is one that is about clipboard. If you want to disable clipboard  synchronization of freeNx. All you have to do [...]]]></description>
			<content:encoded><![CDATA[<p>Nomachine&#8217;s Nxserver provides a configuration parameter about clipboard synchronization of client and server. If you use <a title="FreeNx web site" href="http://freenx.berlios.de/" target="_blank">freeNx </a> after Nomachine&#8217;s NXserver you can see that not all of configuration parameters has been implemented. One of these configuration parameters is one that is about clipboard.</p>
<p>If you want to disable clipboard  synchronization of freeNx. All you have to do is editing /usr/lib/nx/nxnode (if you cannot find nxnode under this path you can easily &#8216;locate nxnode&#8217;)</p>
<p>Open nxnode file, and find this lines below:</p>
<p>cat &lt;&lt; EOF &gt; $USER_FAKE_HOME/.nx/C-$sess_id/options<br />
${kbtype:+kbtype=$kbtype,}&#8230;&#8230;&#8230;&#8230;&#8230;.${fullscreen:+,fullscreen=1}:$display<br />
EOF</p>
<p>You can add clipboard option to the end of second line which ends with &#8216;:$display&#8217;. So if you want to disable clipboard you can add clipboard=none to the end of the line that ends with &#8216;:$display&#8217;.  Which means:</p>
<p>${kbtype:+kbtype=$kbtype,}&#8230;&#8230;&#8230;&#8230;&#8230;.${fullscreen:+,fullscreen=1},clipboard=none:$display</p>
<p>Enjoy freeNx.</p>
<p>Thanks to Fabian Franz for explained this hack in freeNx mail list.</p>
<p>Note : This article was very old indeed, I&#8217;m not sure whether the suggestion written here works now.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.delizeka.net%2F2012%2F05%2F13%2Fhow-to-disable-clipboard-synchronization-of-freenx.html&amp;title=How%20to%20disable%20clipboard%20synchronization%20of%20freeNX" id="wpa2a_6"><img src="http://www.delizeka.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><h3  class="related_post_title">En çok yorumlananlar</h3><ul class="related_post"><li>Mart 12, 2008 -- <a href="http://www.delizeka.net/2008/03/12/http-proxy-veya-internet-kisitlamalari-nasil-asilabilir.html" title="HTTP Proxy veya internet kısıtlamaları nasıl aşılabilir?">HTTP Proxy veya internet kısıtlamaları nasıl aşılabilir?</a></li><li>Ocak 28, 2008 -- <a href="http://www.delizeka.net/2008/01/28/ubuntuda-adobe-photoshop-nasil-kurulur.html" title="Ubuntu&#8217;da Adobe Photoshop nasıl kurulur?">Ubuntu&#8217;da Adobe Photoshop nasıl kurulur?</a></li><li>Ocak 20, 2008 -- <a href="http://www.delizeka.net/2008/01/20/whois-sorgulama-sistemi-kimindircom.html" title="Whois sorgulama sistemi &#8211; Kimindir.com">Whois sorgulama sistemi &#8211; Kimindir.com</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.delizeka.net/2012/05/13/how-to-disable-clipboard-synchronization-of-freenx.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Whois nedir, ne değildir?</title>
		<link>http://www.delizeka.net/2011/08/11/whois-nedir-ne-degildir.html</link>
		<comments>http://www.delizeka.net/2011/08/11/whois-nedir-ne-degildir.html#comments</comments>
		<pubDate>Thu, 11 Aug 2011 13:24:34 +0000</pubDate>
		<dc:creator>Uğur Aslan</dc:creator>
				<category><![CDATA[Bilişim]]></category>
		<category><![CDATA[Genel]]></category>
		<category><![CDATA[Whois Sorgulama]]></category>
		<category><![CDATA[İnternet]]></category>
		<category><![CDATA[alan adı]]></category>
		<category><![CDATA[kimindir.com]]></category>
		<category><![CDATA[sorgu]]></category>
		<category><![CDATA[whois sorgulama]]></category>

		<guid isPermaLink="false">http://www.delizeka.net/?p=190</guid>
		<description><![CDATA[Kimindir.com sitesinin belli bir kitle tarafından kullanılmaya başlanmasından ve arama motorlarında da üst sıralara çıkmasının ardından geçtiğimiz birkaç sene içinde bana çeşitli kişilerden bazı geri dönüşler oldu. Birbirine benzeyen birçok istek veya soru olunca bu konuda bir yazı yazmak gerektiğini düşündüm. Whois nedir aslında buradan başlamak lazım. Çünkü insanların çoğu alan adı sahibi olsalar bile [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Kimindir.com sitesinin belli bir kitle tarafından kullanılmaya başlanmasından ve arama motorlarında da üst sıralara çıkmasının ardından geçtiğimiz birkaç sene içinde bana çeşitli kişilerden bazı geri dönüşler oldu. Birbirine benzeyen birçok istek veya soru olunca bu konuda bir yazı yazmak gerektiğini düşündüm.</p>
<p style="text-align: justify;">Whois nedir aslında buradan başlamak lazım. Çünkü insanların çoğu alan adı sahibi olsalar bile bu konuyu pek bilmiyorlar ya da tamamen yanlış biliyorlar. Whois bilgisi; alan adının sahibinin iletişim bilgilerini içeren, alan adının bir nevi künyesi sayılabilecek bir bilgidir. Bu bilginin kaynağı öyle ya da böyle alan adını satın alan kişidir. Ve farkında olsa da olmasa da bu künye bilgisini tüm internete kısıtsız bir şekilde açmayı kabul etmiş demektir.</p>
<p style="text-align: justify;"><span id="more-190"></span></p>
<p style="text-align: justify;">Şimdi bu noktada insanları yanıltan bir süreç var aslında. Bilgi eksikliği ile de birleşince bu konu teknik bilgisi olmayan kişiler için anlaması zor bir hal alıyor. Bu nedenle birkaç başlık altında bazı konularda açıklama yazmak istiyorum.</p>
<h4 style="text-align: justify;">Whois bilgisi nedir?</h4>
<p style="text-align: justify;">Whois bilgisi ya da diğer bir deyiş ile alan adının künyesi herhangi bir alan adı için mecburi olarak öyle ya da böyle olması gereken bilgilerdir. Ve en önemlisi bu bilgiler, internette herkese açık olarak sorgulanabilen, alınabilen bilgilerdir. Dolayısıyla herhangi bir sitede bu bilgilerin yayınlanması ile yayınlanmaması arasında teorik olarak bir fark yoktur. İsteyen herkes herhangi bir teknik bilgisi olmasa dahi, Google&#8217;da ufak bir arama ile istediği alan adının whois bilgilerine erişebilir veya nasıl erişebileceğini öğrenebilir.</p>
<p style="text-align: justify;">Bu bilgi herkese açık bir bilgi olması nedeniyle de, hiç kimse hiç bir siteyi kişisel bilgilerini yayınlamak ile suçlayamaz. Zira teorik olarak bu bilgilerin herkesin kullanımına açılmasına kendisi izin vermiştir ve bir sitede kaydedilip yayınlanması ile yayınlanmaması arasında bir fark yoktur. Zira isteyen herkes başta denildiği gibi kolayca bu bilgiye ulaşabilir.</p>
<p style="text-align: justify;">Whois bilgisi genelde 3 alandan oluşur : alan adı sahibi, alan adı yöneticisi ve alan adı teknik işlerini yapan kişinin bilgileri. Burada amaç alan adının sahibini ve iletişim bilgilerini tescil etmek, bir sorun olduğunda alan adı sahibine bu iletişim bilgileri ile erişebilmektir. Dolayısıyla en azından burada verilecek e-posta adresinin doğru olması gerekmektedir.</p>
<h4 style="text-align: justify;">Whois bilgisini kim, nasıl belirler?</h4>
<p style="text-align: justify;">Whois bilgisini teorik olarak alan adını satın alan kişi belirler. Dolayısıyla gene teorik olarak, alan adı satın alan kişi aldığı alan adının whois bilgisinde ne görünüp görünmeyeceğine de karar vermiş sayılır. Fakat maalesef alan adı satan firmalar, web sitelerinde bir alan adı sattıkları aşamada genelde whois bilgisi ne olsun diye sormazlar. Üyeleri bir alan adı satın aldığında, alan adının whois bilgileri olarak otomatik olarak üyenin kişisel bilgilerini kaydederler. Dolayısıyla alan adı satın alan kişi, çoğu kez farkında olmadan whois bilgisi olarak kişisel iletişim bilgilerini herkese açmaktadır.</p>
<p style="text-align: justify;">Bu durum bazıları için özellikle telefon numarası gibi bilgiler nedeniyle rahatsız edici bir durum haline gelebilir. Bu tür durumlarda whois  ve ya alan adı sorgusu yapan sitelere savaş açmak yerine, alan adı satın aldığı firmadan destek alarak bilgileri gizlettirmek ya da en azından istenildiği şekilde düzenlenmesini sağlamak gerekir. Çünkü whois bilgisinin kaynağı doğrudan ya da dolaylı olarak alan adını satın aldığınız firmadır. Diğer tüm siteler ya da kişiler, bu firma kanalı ile internete açılan bilgiyi almak dışında birşey yapmazlar.</p>
<p style="text-align: justify;">Bir çok alan adı satan firmanın sitesinde, whois ayarları yapmak için bölümler mevcuttur. Bu bölümlerde whois bilgilerini değiştirebilirsiniz. Ya da bazı firmalarda ücretsiz olarak sağlanabilen &#8220;gizli whois&#8221; özelliğini kullanarak whois bilgilerinizin tamamen internete açık olmasını engelleyebilirsiniz.</p>
<p style="text-align: justify;">Zaman zaman kimindir.com iletişim adresine &#8220;benim kişisel bilgilerimi sitenizden silin&#8221; gibi istekler geliyor. Her seferinde bu bilgilerin bizde olmadığını anlatmaya çalışıyorum. Ayrıca kimindir.com dan silinse bile benzer işi yapan binlerce sitede hala bilgilerinin yer aldığını da açıklamaya çalışıyorum. Şunu burada not edeyim ki, kimindir.com da 24 saatlik cache/ön bellek dışında alan adı bilgileri kaydedilmiyor. Ama whois.sc gibi dünyaca ünlü bir sitede whois bilgileri kaydedilmek ile kalmıyor, uygun bir ücret karşılığında bir alan adının geriye dönük tüm whois değişikliklerini de görebiliyorsunuz. Çünkü teknik olarak bu bilgi internete açık bir bilgi, gizli birşey değildir.</p>
<p style="text-align: justify;">Elbette normal vatandaşın bu konudan haberi olmadığı için, bir alan adı aldığında kişisel bilgilerinin Google&#8217;da arama yapılınca çıkmamasını istemesini anlayabiliyorum. Fakat böyle durumlarda kalan kişilerin yapabilecekleri tek şey alan adı satın aldıkları firmadan destek alarak bilgilerini gizlemeleri veya değiştirmeleridir.</p>
<h4 style="text-align: justify;">Whois bilgilerini gizledim ama hala internette bilgilerim görünüyor. Neden?</h4>
<p style="text-align: justify;">Whois bilgilerinde kişisel bilgilerinizin olduğunu fark edip, rahatsız oldunuz. Ve yapabileceğiniz en doğru şeyi yaparak, alan adınızı satın aldığınız firmadan destek alıp bilgilerinizi gizlediniz ya da değiştirdiniz. Şimdi istiyorsunuz ki, hiç bir yerde bu bilgiler yer almasın. İsteğinizde sonuna kadar haklısınız fakat internetteki her site tek bir makinada çalışan, birbirine veri olarak direkt bağlı yapılar değil. Yani siz bir yerde bir bilgiyi değiştirdğiniz anda, diğer sitelerde hemen değişmesini bekleyemezsiniz. Hele bu whois bilgisi gibi birşey ise biraz zamana ihtiyacınız olacaktır.</p>
<p style="text-align: justify;">Neden zamana ihtiyaç var? Çünkü whois sorgulaması yapan sitelerin çoğunluğu örneğin 1 saat önce sorgulanmış bir alan adını, her istendiğinde tekrar tekrar sorgulamazlar. Bazı siteler kalıcı olarak bu bilgiyi kaydederler, belli periyotlarla otomatik olarak bu bilgiyi güncellerler. Bu periyotlar 6 saat de olabilir, 1 hafta da olabilir. Bu süreyi belirlemek de sitelerin kendi bileceği bir iştir. Kimindir.com gibi bazı siteler de bu bilgileri geçici olarak (24 saat) hafızada tutarlar. (ilgilenenler için kimindir.com whois verilerini sadece memcached&#8217;de 24 saatlik expire süresi ile tutmakta. Yani veriler sadece RAM&#8217;de tutuluyor) Hafızada tutmak zorundalardır, zira birisi gelip bir alan adını otomatik olarak 1000 kere sorgularsa, whois sorgusu yaptığı yerler bunu aşırı bir sorgu olarak değerlendirip, sorgu yapılmasına izin vermeyebilirler. Ayrıca sorgu yapmak teknik olarak kaynak tüketen bir iştir. Ve çoğu alan adının whois bilgileri senelerce hiç değişmez. En sık değişen bilgi bile genelde senede bir alan adı yenilendiğinde değişir. Bu nedenle de her seferde aynı şeyi sorgulamak gereksizdir.</p>
<p style="text-align: justify;">Yukarıdaki açıklamaya dayanarak da şu sonuca ulaşırız : Whois bilgilerinde yapılan bir değişiklik başka sitelere hemen yansımayabilir. Bilgilerin güncellenmesi bazen günler, bazen aylar alabilir (Google kendi ön belleğine almış ise içerik değişse bile 90 güne kadar ön belleğini değiştirmeyebilir mesela). Dolayısıyla her whois güncellemesi yapanın whois sorgusu yapan bir siteyi gözüne kestirip &#8220;bilgilerimi güncelledim, sizde eskisi çıkıyor&#8221; demesi sadece sabırsızlıktır. Çünkü binlerce sitenin hepsine böyle bir istekte bulunmak mümkün olmadığına göre, tek bir siteden bilgiyi &#8220;hemen&#8221; kaldırtmaya çalışmak çok fayda sağlamayacaktır.</p>
<p style="text-align: justify;">Bu noktada hemen belirteyim, kimindir.com a bu türde istekler gelirse, mailleri gördüğüm zaman gene de ilgilenmeye çalışıyorum. Hatta acaba isteyenlerin alan adlarının, kimindir.com dan sorgulanmasını engellemek gibi bir seçenek mi koysam diye de düşünüyorum. Ama bu sefer kimindir.com da sonuç gelmediği halde, &#8220;şu sitede hala bilgilerim çıkıyor&#8221; diye bana başvurulmasından çekiniyorum.</p>
<h4 style="text-align: justify;"><strong>&#8220;Kişisel bilgilerimi sitenizde yayınlayamazsınız!&#8221;</strong></h4>
<p style="text-align: justify;">En çok bu lafı edenlere birşey anlatmakta zorlanıyorum. Ben, kimindir.com da CIA ile anlaşıp, kişilerin bilgilerini buldurup yayınlamıyorum. Tam aksine alan adı sahipleri ister bilerek, ister bilmeyerek bu bilgileri &#8220;halka açık bir şekilde&#8221; whois bilgisi olarak yayınlıyorlar. Whois bilgisi konusunda çoğu kişinin anlatsak bile anlamak istemediği konu hep şu oluyor : whois bilgisi herkesin erişimine açık (public) bir bilgidir. Dolayısıyla evinizdeki PC den tek bir komut ile alabildiğiniz bu bilgileri; alan adı satın aldığınız firmanın sitesine teknik olarak sorulduğunda hemen cevap olarak gönderilen bu bilgileri, herhangi birinin evinde kaydetmesi ne kadar normal birşey ise, herhangi bir sitenin kaydetmesi de o kadar normal birşeydir. &#8220;Ben bilmiyordum ama..&#8221; serzenişinin whois sorgusu yapan sitelere değil, alan adı satın alırken &#8220;bakın whois bilgilerinize biz otomatik olarak iletişim bilgilerinizi yazdık&#8221; demeyen firmalara yapılması gerekiyor. Size sormadan (eğer sormamışlarsa tabii) kişisel bilgilerinizi whois kaydına ekleyen firmaları hırpalamanız gerekiyor, herkesin ulaşabildiği bir bilgiyi insanlara ufak da olsa bir konuda yardımcı olmak için yayın yapan web sitelerini değil.</p>
<p style="text-align: justify;">Kimindir.com olarak yukarıda da ilettiğim gibi, bu tür durumlarda bana iletilen konulara bakmaya gayret ediyorum. Bundan sonra da bana iletilen durumlarda insanlara yardımcı olmaya çalışacağım. Ama bu konuda bana başvurmadan önce whois.sc gibi sitelere de bakılmasını öneriyorum. Zira ben iyi niyetli bir şekilde isteyenlerin alan adı whois bilgilerini kaldırsam dahi diğer sitelerden kaldırtmaları pek mümkün olmayacak. Zaten çözüm bence bilgi kaldırtmaya çalışmak da değil zaten.</p>
<h4 style="text-align: justify;">Öneriler :</h4>
<p style="text-align: justify;">Öncelikle tüm alan adı sahiplerine whois bilgilerini kontrol etmelerini öneriyorum. Eğer whois bilgilerinde kimsenin görmesini istemediğiniz bilgiler var ise, alan adınızı satın aldığınız firmaya &#8220;whois gizleme&#8221; özelliği olup olmadığını sorarak varsa whois bilgilerinizi gizleyiniz. Eğer bu özellik yoksa ya da ücretli ise, whois bilgilerinizi değiştirmelerini talep ediniz ya da size verdikleri yönetim panellerinden bu bilgileri güncelleyiniz. Fakat ne olursa olsun, verdiğiniz e-posta adreslerinin geçerli ve size ait bir e-posta adresi olmasına dikkat ediniz. Diğer bilgiler çok önemli değildir aslında ama e-posta kendi alan adınızın güvenliği için önemlidir.  Eğer isterseniz bir gmail adresi alıp, sadece bu iş için o adresi verebilirsiniz mesela.</p>
<p style="text-align: justify;">Whois bilgilerinde bir güncelleme yaparsanız en az 1 gün sonra yaptığınız güncellemenin diğer sitelere yansıyacağını unutmayın. Değişiklik öncesi bilgilerinizi zaten kaydetmiş durumda olacak yüzlerce uluslararası site olacak. Bunlar konusunda yapabileceğiniz pek birşey yok sanırım. Çünkü yazımda da belirttiğim gibi bazıları bu bilgileri ücretli üyelik karşılığında insanlara bir değişiklikler listesi olarak baştan sonra gösterebiliyorlar.</p>
<p style="text-align: justify;">Ne olursa olsun, detaylı bir şekilde bilmediğiniz konuları ilgililere tatlı bir dil ile sorun, anlatmalarını isteyin. Yardım isterken kibar olmaya çalışın. Şunu unutmayın, whois sorgusu yapan web siteleri aslında whois bilgileri konusunda size yardımcı olmak zorunda değiller. Size destek vermek zorunda olan ve aslında problemleri çözebilecek olan alan adı satın aldığınız ve hizmeti karşılığında parasını almış olan firmalardır.</p>
<p style="text-align: justify;">
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.delizeka.net%2F2011%2F08%2F11%2Fwhois-nedir-ne-degildir.html&amp;title=Whois%20nedir%2C%20ne%20de%C4%9Fildir%3F" id="wpa2a_8"><img src="http://www.delizeka.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><h3  class="related_post_title">Benzer Konular</h3><ul class="related_post"><li>Ocak 20, 2008 -- <a href="http://www.delizeka.net/2008/01/20/whois-sorgulama-sistemi-kimindircom.html" title="Whois sorgulama sistemi &#8211; Kimindir.com">Whois sorgulama sistemi &#8211; Kimindir.com</a></li><li>Aralık 27, 2009 -- <a href="http://www.delizeka.net/2009/12/27/web-yazilim-sektorunde-uzmanlik.html" title="Web yazılım sektöründe uzmanlık">Web yazılım sektöründe uzmanlık</a></li><li>Eylül 9, 2008 -- <a href="http://www.delizeka.net/2008/09/09/linux-trnet-yayinda.html" title="Linux-tr.net yayında&#8230;">Linux-tr.net yayında&#8230;</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.delizeka.net/2011/08/11/whois-nedir-ne-degildir.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>md5 sonucu kendisine eşit olan değer</title>
		<link>http://www.delizeka.net/2010/12/07/md5-degeri-kendisine-esit-olan.html</link>
		<comments>http://www.delizeka.net/2010/12/07/md5-degeri-kendisine-esit-olan.html#comments</comments>
		<pubDate>Tue, 07 Dec 2010 00:50:45 +0000</pubDate>
		<dc:creator>Uğur Aslan</dc:creator>
				<category><![CDATA[Bilişim]]></category>
		<category><![CDATA[Güvenlik]]></category>
		<category><![CDATA[algoritma]]></category>
		<category><![CDATA[hash]]></category>
		<category><![CDATA[md5]]></category>
		<category><![CDATA[soru]]></category>

		<guid isPermaLink="false">http://www.delizeka.net/?p=183</guid>
		<description><![CDATA[Dün gece kriptoloji ile ilgili birşeyler okurken aklıma gelen bu soru gün boyunca kafamı kurcaladı: Öyle bir girdi var mıdır ki md5 fonksiyonuna girdiğinde çıktı olarak kendisini üretsin? Bu soruyu sabahtan beri düşünmekteydim. md5 metodunun matematiksel detayını tam bilmediğimden ötürü bu soruya bir yanıt bulamadım. Meğer başkaları da bu ya da buna benzer soruları düşünmektelermiş. [...]]]></description>
			<content:encoded><![CDATA[<p>Dün gece kriptoloji ile ilgili birşeyler okurken aklıma gelen bu soru gün boyunca kafamı kurcaladı:</p>
<p><strong>Öyle bir girdi var mıdır ki md5 fonksiyonuna girdiğinde çıktı olarak kendisini üretsin?</strong></p>
<p>Bu soruyu sabahtan beri düşünmekteydim. md5 metodunun matematiksel detayını tam bilmediğimden ötürü bu soruya bir yanıt bulamadım. Meğer başkaları da bu ya da buna benzer soruları düşünmektelermiş. İnternette araştırdığım kadarı ile <span style="text-decoration: underline;">bilinen</span> böyle bir girdi verisi mevcut değil. Ama ihtimal hesaplarına göre böyle bir noktanın varolma durumu mevcut.</p>
<p>md5 sum 128 bit bir değer ürettiğine göre, md5(x) = x olacak denklemde girdi olarak yazdığımız x&#8217;in de 128-bit olması gerekir. Buradan hareketle ihtimalleri hesaplanacak olursa ortaya kabaca %63.21 gibi bir oran çıkıyor. Yani yaklaşık %63 ihtimalle böyle bir girdi mevcut. (İlgili hesaplamaları <a title="Perfect Hash" href="http://ograll.blogspot.com/2009/06/mathematics-of-perfect-hash.html" target="_blank">şuradan</a> takip edebilirsiniz.)</p>
<p><span id="more-183"></span>Aslında <a href="http://elliottkember.com/kember_identity.html" target="_blank">şu arkadaş</a> bu sorunun bir benzerine cevap aramak için bir sayfa hazırlamış ve bu probleme bir isim vermiş &#8220;The Kember Identity&#8221; . Bu sayfayı da inceleyebilirsiniz. Ya da stackoverflow&#8217;da bu soru ile ilgili <a href="http://stackoverflow.com/questions/235785/is-there-an-md5-fixed-point-where-md5x-x" target="_blank">şu sayfaya</a> göz atabilirsiniz.</p>
<p>Stackoverflow&#8217;daki soruda hesaplandığı üzere bu problem (2)^128 durumun test edilmesi ile çözülebilir. Eğer her bir değer için test 1 milisaniye olursa testin alacağı süre (sırayla tek bir makinada yapıldığı düşünülürse) yaklaşık olarak 10790283070806014188970529155 yıldır. Ben kendi makinamda PHP ile yaptığım denemede 1 saniyede yaklaşık 50 bin md5 alabildiğime göre, 1 md5 0,02 milisaniye sürüyor demektir. PHP yerine C ile kodu yazarsak muhtemelen daha hızlı sonuç alacağımızdan süre daha da düşecektir. En iyi ihtimalleri göz önüne alarak ortalama 1 md5 = 0,0001 milisaniye dersek ve tek makina değil de 10 bin makina ile bu sürece katılsak, 107902830708060141890 yıla süreyi düşürebiliriz. Bu süreyi 1 seneye düşürebilmek için ise yaklaşık 10^24 adet makinayı 7/24 kullanmak gerekir.</p>
<p>Elbette belki tüm seriyi sıra ile denemek yerine karışık olarak deneyerek şansımızı artırmayı(!) deneyebileceğimiz gibi, tüm seriyi tamamlamadan da çözüm olacak girdi verisini bulmak da mümkün olabilir. Tabii %63 ihtimalle böyle bir değer var dediğimiz gibi, çevirip %37 lik bir ihtimalle böyle bir değer yoktur da diyebiliriz.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.delizeka.net%2F2010%2F12%2F07%2Fmd5-degeri-kendisine-esit-olan.html&amp;title=md5%20sonucu%20kendisine%20e%C5%9Fit%20olan%20de%C4%9Fer" id="wpa2a_10"><img src="http://www.delizeka.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><h3  class="related_post_title">En çok yorumlananlar</h3><ul class="related_post"><li>Mart 12, 2008 -- <a href="http://www.delizeka.net/2008/03/12/http-proxy-veya-internet-kisitlamalari-nasil-asilabilir.html" title="HTTP Proxy veya internet kısıtlamaları nasıl aşılabilir?">HTTP Proxy veya internet kısıtlamaları nasıl aşılabilir?</a></li><li>Ocak 28, 2008 -- <a href="http://www.delizeka.net/2008/01/28/ubuntuda-adobe-photoshop-nasil-kurulur.html" title="Ubuntu&#8217;da Adobe Photoshop nasıl kurulur?">Ubuntu&#8217;da Adobe Photoshop nasıl kurulur?</a></li><li>Ocak 20, 2008 -- <a href="http://www.delizeka.net/2008/01/20/whois-sorgulama-sistemi-kimindircom.html" title="Whois sorgulama sistemi &#8211; Kimindir.com">Whois sorgulama sistemi &#8211; Kimindir.com</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.delizeka.net/2010/12/07/md5-degeri-kendisine-esit-olan.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Tiran&#8217;a yerleşmek</title>
		<link>http://www.delizeka.net/2010/11/07/tirana-yerlesmek.html</link>
		<comments>http://www.delizeka.net/2010/11/07/tirana-yerlesmek.html#comments</comments>
		<pubDate>Sun, 07 Nov 2010 03:04:38 +0000</pubDate>
		<dc:creator>Uğur Aslan</dc:creator>
				<category><![CDATA[Genel]]></category>
		<category><![CDATA[arnavutluk]]></category>
		<category><![CDATA[tiran]]></category>
		<category><![CDATA[yaşam]]></category>
		<category><![CDATA[yerleşmek]]></category>

		<guid isPermaLink="false">http://www.delizeka.net/?p=169</guid>
		<description><![CDATA[Birkaç haftadır Arnavutluk&#8217;un başkenti Tiran&#8217;dayım ve uzun süreli olarak kalmak üzere buraya yerleşmeye ve alışmaya başladım. Öncelikle bir yere gezmek/görmek için gitmenin oraya yaşamak için gitmekten çok daha farklı tecrübeler yaşattığını iletmem lazım. İlk defa ağustos ayında buraya geldiğimde şu anda gördüklerimden daha farklı şeyler dikkatimi çekmişti. Şimdi ise buradaki hayatın gerçeklerini daha net görmeye [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Birkaç haftadır Arnavutluk&#8217;un başkenti Tiran&#8217;dayım ve uzun süreli olarak kalmak üzere buraya yerleşmeye ve alışmaya başladım. Öncelikle bir yere gezmek/görmek için gitmenin oraya yaşamak için gitmekten çok daha farklı tecrübeler yaşattığını iletmem lazım. İlk defa ağustos ayında buraya geldiğimde şu anda gördüklerimden daha farklı şeyler dikkatimi çekmişti. Şimdi ise buradaki hayatın gerçeklerini daha net görmeye başladım. Gördüğüm şeyler arasında iyi olan şeyler de mevcut, Türkiye&#8217;ye göre kötü olan şeyler de mevcut.</p>
<p style="text-align: justify;">En başta şunu söylemem lazım ki, burada bazı işleri halledebilmek için Arnavutça şart. Bu nedenle eğer Arnavutça bilmiyorsanız mutlaka Arnavutça bilen birisinin yanınızda olmasında fayda var. Mümkünse bir Arnavut vatandaşı olursa daha iyi olur. Arnavutça&#8217;nın elzem olduğu konuların başında bir ev kiralamak geliyor. Çünkü o kadar ev baktık, ettik ama İngilizce bilen bir ev sahibine rastlamadık. Bize tercümanlık eden birisi ile görüşebildik.</p>
<p style="text-align: justify;"><span id="more-169"></span>Ev tutmak demişken, ev kiralama sürecinden bahsedeyim. Burada eğer sıfırdan eşyalarınızı kendiniz alarak bir ev kurmayacaksanız, eşyalı bir ev tutacaksınız demektir. Ben Türkiye&#8217;de çok fazla eşyalı ev kiralayan ev sahibi görmemiştim. Sadece evini öğrencilere vermek isteyen bazı ev sahipleri eşyalı ev kiraya veriyorlar diye biliyorum. Ama burada eşyalı ev, kiraya verilen evin özelliklerinden biri durumunda. Nasıl ki bir evin park yeri var mı, balkonu var diye sorulabiliyorsa burada da eşyalı mı diye sorulabiliyor rahatlıkla. Kiralık evlerin belki en az dörtte biri eşyalı oluyor.</p>
<p style="text-align: justify;">Tiran&#8217;da kiralık ev piyasası acayip hareketli. Arıyorsunuz bir ev sahibini, ev ile ilgili bilgileri alıyorsunuz. Ertesi sabah gidip evi göreyim diyorsunuz. Bir bakmışsınız ev çoktan tutulmuş. Biz ev aradığımızda beğendiğimiz 1-2 evi bu şekilde kaçırdık mesela. Tiran&#8217;da güzel bir ev bulmak istiyorsanız merkezden biraz daha uzaklaşıp yeni yapılan binalara bakmak gerekiyor. Merkezdeki evler ve binalar biraz eski yapılar. Tabii denk gelirseniz merkezde de 2 katlı bahçeli güzel bir evin bir katını da kiralayabilirsiniz. Ama çok şanslı olmanız lazım.</p>
<p style="text-align: justify;">Eğer merkezde oturmak istiyorsanız, ev kiraları İstanbul&#8217;dakilere yakın diyebilirim. Ev eşyalı olunca biraz daha kiraları artıyor doğal olarak. Merkezden biraz uzaklaşınca daha uygun kiralarla ev bulmak mümkün. &#8220;Blok&#8221; diye tabir edilen buranın &#8220;Etiler&#8221; veya &#8220;Nişantaşı&#8221;sı diyebileceğimiz bölgede ise kiralar %50-60 oranında artıyor. 2+1 eşyalı bir sıkıntısı olmayan merkeze yakın ortalama bir ev için 300-400 Euro vermek gerekiyor.</p>
<p style="text-align: justify;">Bizim ev ararken dikkat ettiğimiz konulardan biri de elektrik ve su kesintilerinin en az olduğu yerlerden ev bulmak idi. Bir de internet bağlanttırmanın mümkün ve kolay olabileceği bir bölge seçmeye çalıştık. Çünkü burada özellikle bazı bölgelerde elektrik kesintisi çok klasik bir hadise.  Ve elektrik (henüz fatura gelmedi ama) Türkiye&#8217;ye göre çok çok pahalı imiş.</p>
<p style="text-align: justify;">Burada doğalgaz olmadığı için mutfakta LPG tüpleri veya elektrikli ocaklar kullanılıyor. Sıcak su için termosifon, ısınma için ise klima ya da elektrik sobaları. Dolayısıyla özellikle ısınma ve sıcak su da Türkiye&#8217;ye göre daha maliyetli oluyor.</p>
<p style="text-align: justify;">[singlepic id=1 w=200 h=200 float=left]İnternet konusu ise tam bir muamma diyebilirim. Burada internetin insanların hayatına henüz tam anlamıyla girememiş olmamasına şaşmamak lazım zira internet/telefon konusunda altyapı bir felaket imiş.  Burada telefon hatları ile ilgilenen birinden duyduğum kadarı ile bazı bölgelerde telefon kablolarını zamanında doğru düzgün bir koruma olmadan direkt toprağa gömmüşler. Bazı bölgelerde halk kendisi çekmiş telefon hatlarını. Şimdilerde düzeltmeyi planlıyorlarmış ama hal-i hazırdaki durum pek iç açıcı değil anladığım kadarı ile. Dolayısıyla da telefon hattı ile internet alabilmek çok zor ya da imkansız olabiliyormuş bazı bölgelerde.</p>
<p style="text-align: justify;">İnternet bağlattırmak ayrı bir dert. Birincisi birçok firma var ama hepsini tahlil edebileceğimiz bir durum mevcut değil. Herhangi birisine gidip konuştuğunuzda en iyi hizmeti biz veriyoruz diyorlar. Birisi telefon hattından internet veriyor, birisi fiberoptik ile belirli noktalara kadar internet getiriyor, o noktadan sonra da kablo çekiyorlar ve bir diğeri de kablolu tv üzerinden (ya da benzer bir yapı ile) internet sağlıyor. Bu şekilde sanırım 10&#8242;a yakın firma var. Her biri farklı bölgelerde kullandıkları altyapılar nedeniyle farklı kısıtlamalara sahipler. Ama hemen hemen hepsinde ortak olan bir konu var, o da internet hızı söylenen hız olmayabiliyor. Bazısında altyapı nedeniyle, bazısında belli bölgeye verilen internet o bölgelerdekilere paylaştırıldığı için bu tarz bir durum mevcut.</p>
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: justify;">Ben birkaç firma ile görüştüm, birisi daha ikna edici geldi. Burada adres sistemi pek düzgün olmadığı için adres yerine evi google maps&#8217;ten işaretlememi istediler. 2 mbit download, 512 KB upload için 20 euro/ay olarak başvurdum. Burada upload hızı 128 KB yi geçen çok az ISP olduğunu söyleyebilirim. Başvurudan sonra 2 gün içinde teknik ekip gelecek kablo çekecekler dediler. Aynı gün internete bağlanabileceksiniz dediler. 2 gün sonra teknik ekip aradı, evi gösterdim. &#8220;Tamam&#8221; dedi gitti. Ben &#8220;kablo çekmek&#8221; tabiri ile profesyonel birşey yapacaklar zannediyordum.  Bir yarım saat kadar sonra evin bulunduğu sokakta, gelen ekip başka evlerin bahçe duvarlarına, ağaçlara filan tırmanıyorlardı. Ellerinde bir kablo, kablo yukarıda havada dursun diye ağaçlara, buldukları direklere filan kabloyu dolayarak, bağlayarak evin camından içeriye kadar ilkel bir şekilde bir kablo çektiler. Sonra da &#8220;sinyal yok, yarın geliriz&#8221; deyip gittiler. Günler sonra da modemi getirdiler, ADSL şifresini filan girdiler. Ancak ondan sonra internete bağlanabildik. Şu anda internet iyi sayılır. Arada bir donuyor sanki ama burası için hiç de fena sayılmaz.</p>
<p style="text-align: justify;">GSM operatorü olarak Çalık Holding&#8217;in sahibi olduğu <a href="http://www.eaglemobile.al/en/individuale.aspx">Eagle Mobile</a>&#8216;ı tercih ettik. Buradaki Vodafone konusunda kullanıcılarda kötü yorumlar duyduk. Ayrıca buradaki tanıdığımız hemen herkes <a href="http://www.eaglemobile.al/en/individuale.aspx">Eagle Mobile</a> kullandığı için de görüşmelerin daha uygun fiyatlı olması açısından Eagle Mobile&#8217;ı tercih ettik.  Eagle Mobile burada güzel işler yapmak isteyen ve çalışan bir firma, gördüğümüz kadarı ile. Varolan 3 gsm operatörü arasından en düzgün görüneni de Eagle Mobile zaten. AMC diye başka bir operatör daha var. En eskileri o imiş. Fiyatları biraz pahalı olduğu için ona hiç bakmadık zaten.</p>
<p style="text-align: justify;">Televizyon kanallarına gelecek olursak, burada karasal yayınların yanında Türkiye&#8217;deki Digiturk gibi özel uydu kanalları sunan platformlar da mevcut. Arnavutça yayın yapan kanallar kadar, İtalyanca yayın yapan kanallar var. Arnavutça dil olarak İtalyanca&#8217;ya benzeyen bir dil imiş ve halkın bir kısmı burada sadece İtalyan televizyon kanallarını izleyerek İtalyanca öğrenmiş. Zaten burada Arnavutça&#8217;dan sonra 2. bilinen dil İtalyanca. Orjinal dilince İngilizce film yayınlayan kanallar da mevcut. Bir evde uydu varsa daha çok Hotbird uydusundaki kanalları izliyorlar. Biz uydu alıcısını Turksat&#8217;a çevirttirmek istedik. Ev sahibi tanıdığı birisi ile görüştü, ertesi gün için belli bir saatte geleceğini söylemiş. Sonra gelmedi, sonra başka birgün geleceğini söyledi. Sonra bu döngü sanırım 4-5 kez daha tekrarlandı. 1 hafta kadar sonra gelip halletti teknik eleman. Varolan uydu antenini nedenini anlayamadığım bir şekilde ayarlamadığı için, bize işçilik ücreti dışında yeni bir uydu anteni almaya maloldu ama sonunda halloldu.</p>
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: justify;">[singlepic id=2 w=200 h=200 float=right]Sonuç olarak teknolojiye dayalı konular genelde burada sıkıntılı konular. İnsan Türkiye&#8217;de şikayet ettiği firmaların hizmetini, desteğini arar hale geliyor. Ama başka açılardan da çok güzel şeyler var. Meyve-sebze konusu bunlardan biri. Burada satılan meyveler sebzeler direkt bahçeden toplanmış getirilmiş gibi. Hormonsuz, (bu işlerden pek anlamam ama) belki ilaçsız, katkısız ve doğal. Örneğin İstanbul&#8217;da mandalina alırsınız, turuncu renkte, kabuğu kalın, bazen bir yumruk kadar büyük olurlar. Görsel süper ama çok tadı, tuzu olmaz, hafif tatlı ise güzel deriz.  Burada mandalinalar yeşil-sarı renkteler, çok ufaklar ve kabukları birkaç milimetre kalınlığında. En yeşilini bile alın kabuğunu soyarken çıkan koku bile yeter. Ben burada ilk defa mandalina yediğimde ben hiç mandalina yememişim dedim. Burada limon ve mandalina&#8217;yı kabuğu ile yiyenler de mevcut. Salataya limonu yıkayıp direkt doğruyorlar kabuğu ile. Diğer meyve sebzeler de aynı şekilde doğallar. Bir de evlerin bahçelerinde limon, portakal, mandalina, nar ağaçları görmek ayrı bir görsel güzellik.</p>
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: justify;">Meyve-sebze burada fiyat olarak da uygun. Pahalı bir marketten 1 kilo mandalinayı 1 lira civarına alabiliyorsunuz. Daha uygun yerler de mevcut. Henüz gidemedim ama meyve-sebze halinde çok daha ucuz olduğunu söylüyorlar. Ayrıca bazı sokaklarda meyve-sebze satanlar da var. Bunların da fiyatları daha uygun. Zaten burada sebze meyve fiyatı bir kalite ölçütü de değil, daha çok nereden aldığınız ile ilgili bir konu.</p>
<p style="text-align: justify;">[singlepic id=3 w=200 h=200 float=left]Burada eksikliğini hissettiğimiz şeylerden birisi herhangi bir kafeye oturduğunuzda doğru düzgün çay içememek. Herkes kahve içiyor. Demleme çay yok. Çay istediğinizde sallama çay getiriyorlar. Getirdikleri poşet çay da kalitesiz birşey oluyor zaten. Eve yerleşmeye başladıktan sonra burada &#8220;Medrese Pazarı&#8221; denilen yere gidip hemen bir çaydanlık aradık. Medrese pazarı denilen yer buranın Eminönü&#8217;sü diyebiliriz. Yatak örtüsünden züccaciyeye, mobilya&#8217;dan elektrikli ev eşyalarına kadar birçok şey bulunabiliyor. Çaydanlığı bu pazarda zor da olsa bulabildik. Çay bulmak ise bizim için kolaydı. Çünkü burada Türkiye&#8217;den ürünler getirip satan bir Türk var. Türkiyeden iyi markaların bazı ürünlerini burada bulabiliyoruz. Çay da bunlardan birisi.</p>
<p style="text-align: justify;">Marketlerde İtalyan ürünleri, Yunanistan&#8217;dan gelen ürünler ve Türkiye&#8217;den gelen ürünleri görmeniz mümkün. Ülker ve Eti&#8217;nin bisküvi, çikolata anlamında birçok ürününü burada rahatlıkla bulabiliyorsunuz. Hatta sokakta bazı amcaların teyzelerin ufak tefek sattıkları bazı ürünlerin yanında bile görebilirsiniz En çok görülen bir diğer marka da Tadım kuruyemişleri. Aslında şu son 2-3 hafta içinde birçok Türk markası gördük çeşitli yerlerde. Ama hepsi aklıma gelmiyor şimdi.</p>
<p style="text-align: justify;">Sonuç olarak, Tiran artıları ile eksileri ile güzel bir yer. Ancak Tiran&#8217;a yerleşmeyi kimse Türkiye&#8217;de herhangi bir şehre yerleşiyormuş gibi düşünmemeli. Kesinlikle birçok açıdan Türkiye&#8217;deki birçok şehirden geride bir şehir. Kendine has sıkıntıları, kendine has alışkanlıkları var. Herhangi birşeyi hallettirmek istiyorsanız, Türkiye&#8217;de olduğunuzdan daha fazla sabırlı olup daha az şey beklemelisiniz. Daha yazılası çok şey var, ama Tiran&#8217;a yerleşmek deyince aklıma gelenler bunlar..</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.delizeka.net%2F2010%2F11%2F07%2Ftirana-yerlesmek.html&amp;title=Tiran%E2%80%99a%20yerle%C5%9Fmek" id="wpa2a_12"><img src="http://www.delizeka.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><h3  class="related_post_title">Benzer Konular</h3><ul class="related_post"><li>Ağustos 30, 2010 -- <a href="http://www.delizeka.net/2010/08/30/tiranda-bir-gun.html" title="Tiran&#8217;da bir gün">Tiran&#8217;da bir gün</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.delizeka.net/2010/11/07/tirana-yerlesmek.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Tiran&#8217;da bir gün</title>
		<link>http://www.delizeka.net/2010/08/30/tiranda-bir-gun.html</link>
		<comments>http://www.delizeka.net/2010/08/30/tiranda-bir-gun.html#comments</comments>
		<pubDate>Mon, 30 Aug 2010 14:38:06 +0000</pubDate>
		<dc:creator>Uğur Aslan</dc:creator>
				<category><![CDATA[Gezi]]></category>
		<category><![CDATA[aranavutluk]]></category>
		<category><![CDATA[tiran]]></category>

		<guid isPermaLink="false">http://www.delizeka.net/?p=161</guid>
		<description><![CDATA[Dün Arnavutluk&#8217;un başkenti Tiran&#8217;a geldik bir arkadaşımla beraber. 1 gün boyunca edindiğim izlenimleri paylaşmak istedim. Tiran&#8217;a THY ile 1,5-2 saat içinde ulaştık. İlk defa yurtdışına çıktığımız ve ilk defa Arnavutluk&#8217;a geldiğimiz için Tiran havaalanında ne için geldiğimizi pasaport kontrolünde biraz sorguladılar. Arnavutluk&#8217;ta yaşayan Türk dostlarımız bu konuda daha önceden bizi uyarıp, bizim isimlerimizi ve bizim [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Dün Arnavutluk&#8217;un başkenti Tiran&#8217;a geldik bir arkadaşımla beraber. 1 gün boyunca edindiğim izlenimleri paylaşmak istedim.</p>
<p style="text-align: justify;">Tiran&#8217;a THY ile 1,5-2 saat içinde ulaştık. İlk defa yurtdışına çıktığımız ve ilk defa Arnavutluk&#8217;a geldiğimiz için Tiran havaalanında ne için geldiğimizi pasaport kontrolünde biraz sorguladılar. Arnavutluk&#8217;ta yaşayan Türk dostlarımız bu konuda daha önceden bizi uyarıp, bizim isimlerimizi ve bizim &#8220;davet üzerine&#8221; buraya geldiğimizi havaalanına bir davet mektubu olarak iletmişlerdi. Böylece pasaport kontrolünde gönderilen davetiyeler sayesinde birkaç soruya cevap verip geçtik. İlk defa yurtdışına çıkacak ve ilk defa Arnavutluk&#8217;a gelecek olanlar eğer Arnavutluk&#8217;taki bir şirketten davet mektubu gönderilmesini sağlamazlarsa 1 saate yakın havaalanında bekletilebiliyorlar.<br />
<span id="more-161"></span><br />
Bizi Arnavutluk&#8217;taki tanıdıklarımızla birlikte çalışan ve Türkçe de dahil birçok dil bilen bir Arnavut karşıladı. Türkçe konuşan bu arkadaş sayesinde daha ilk dakikadan itibaren kendimizi yabancı biri olarak hissetmemeye başladık. Ayrıca arkadaşın otoparka aracı almaya gittiği esnada tanıştığımız bir Arnavut taksici de birkaç sene Zeytinburnu&#8217;nda taksicilik yapmış ve Türkçe bilen biri çıkınca biraz daha kendimizi rahat hissettik.</p>
<p style="text-align: justify;">Havaalanından şehir merkezi araç ile yaklaşık 10-15 dk. Yollar çok düzgün değil ama birçok yerde çalışma varmış yolların daha iyi hale getirilmesi için. Şehir merkezinde bir kafede oturup çay ve kahve içtik. Tiran&#8217;da kahve çeşiti bol ve herkes tarafından bir yere oturduğunuzda ilk akla gelen içecek imiş. Demleme çay Türk restoranlar dışında pek yok galiba. Çay istediğinizde poşet çay getiriyorlar.</p>
<p style="text-align: justify;">Daha sonra bir alışveriş merkezine gittik, pazar günü olmasına rağmen acayip tenha idi. Zaten nüfusu 900 bin kadar olan bir şehirde çok bir kalabalık da bulmak pek mümkün değil sanırım.</p>
<p style="text-align: justify;">İkliminden söz etmek gerekirse daha çok Ankara&#8217;ya benzediğini söyleyebilirim. Tek farkla muhtemelen Ankara bu zamanlar çok çok daha sıcaktır. Burada hava günlük güneşlik olmasına rağmen İstanbul&#8217;daki gibi bunaltmıyor. Daha az nemli ve akşamları da serin olan bir yer. Günün en güneşli zamanında sokakta yürürken yürüdüğünüz için ancak terliyorsunuz, gölge bir yerde oturduğunuzda sıcaklık hiç rahatsız etmiyor.</p>
<p style="text-align: justify;">Yollardaki arabalar genellikle Türkiye&#8217;de pahalı olan iyi araçlar. Her tarafta BMW, Mercedes araç görüyorsunuz. Otomobil ve benzin fiyatları burada Türkiye&#8217;ye göre çok uygunmuş.</p>
<p style="text-align: justify;">Ülkede hem müslümanlar hem de diğer dinler mensup olanlar bulunduğu için bir müslüman olarak yemek konusunda bazı konuları burada yaşayan birisine sormak gerekiyor. Özellikle hayvansal gıdalarda islami koşullara uygunluk her restoranda bulunabilen bir özellik değilmiş. Bu konularda dikkatli tercihler yapan birisi iseniz, burada yaşayan ve bu konulara dikkat eden birinden uygun restoranlar konusunda bilgi almanız gerekebilir.</p>
<p style="text-align: justify;">Burada henüz Arnavutluk&#8217;a özgü bir yemek yeme fırsatımız olmadı. Kebap türü birşeyler yedik buradaki tanıdıklarımızın götürdüğü iyi bir restoranda. Etler çok lezzetli idi. Türkiye&#8217;de buna yakın bir lezzete Trabzon&#8217;da iken denk gelmiştim.</p>
<p style="text-align: justify;">Öğlen yemeği için ise bir Türk restoranı bulduk ve oraya gittik. Mercimek çorbası, kuru fasulye, pilav eşliğinde LigTV de önceki günkü maçların tekrarlarını izleyerek kendimizi evimizde hissettik. 2 kişi karnımızı iyice doyurana kadar yediğimiz bu yemek için içecekler ile birlikte 1200 lek, yani yaklaşık 17 TL ödedik. İstanbul&#8217;da aynı şekilde bir yemek muhtemelen min. 50-60 TL tutardı.</p>
<p style="text-align: justify;">Her ne kadar burada hemen herkesin İngilizce bildiği söylense de sokakta herkesin İngilizce bilmesini beklememek gerekiyor. Bir bakkala girdiğinizde, kenarda köşedeki bir kafede İngilizce bilen birisi olmayabiliyor. Ancak biraz ingilizce, birkaç kelime öğrenilen Arnavutça ile günlük olayları halledebiliyorsunuz. İnsanlar sizi anlamasa da el kol işaretleri ile yardımcı olmaya çalışıyorlar.</p>
<p style="text-align: justify;">Sokakta dolaşırken bir yerde otururken çevrenizde konuşulanların hiç birini anlamamak ilginç bir duygu imiş. Televizyonu açtığınızda hiç birşey anlamamak, onu bırakın tanıdık hiçbir şey bile görmemek de bayağı ilginç bir his. Rahatsızlık duymadım ama biraz garip geliyor tabii.</p>
<p style="text-align: justify;">Arnavutça bilmiyoruz ama Türkçe ve İngilizce&#8217;den geçen o kadar çok kelime var ki Arnavutça&#8217;da mağazaların vitrinlerinde yazılanları çok rahat anlayabiliyorsunuz. Çanta, pantolon, sandalet, çay vs. gibi birçok kelimenin yazılış az biraz farklı olsa da okunduğu zaman anlaşılıyor.</p>
<p style="text-align: justify;">Şimdilik bu kadar&#8230;</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.delizeka.net%2F2010%2F08%2F30%2Ftiranda-bir-gun.html&amp;title=Tiran%E2%80%99da%20bir%20g%C3%BCn" id="wpa2a_14"><img src="http://www.delizeka.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><h3  class="related_post_title">Benzer Konular</h3><ul class="related_post"><li>Kasım 7, 2010 -- <a href="http://www.delizeka.net/2010/11/07/tirana-yerlesmek.html" title="Tiran&#8217;a yerleşmek">Tiran&#8217;a yerleşmek</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.delizeka.net/2010/08/30/tiranda-bir-gun.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Smarty, PHPTAL ve performans konusunda düşündürdükleri</title>
		<link>http://www.delizeka.net/2010/02/14/smarty-phptal-ve-performans-konusunda-dusundurdukleri.html</link>
		<comments>http://www.delizeka.net/2010/02/14/smarty-phptal-ve-performans-konusunda-dusundurdukleri.html#comments</comments>
		<pubDate>Sun, 14 Feb 2010 05:18:32 +0000</pubDate>
		<dc:creator>Uğur Aslan</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[performans]]></category>
		<category><![CDATA[phptal]]></category>
		<category><![CDATA[smarty]]></category>

		<guid isPermaLink="false">http://www.delizeka.net/?p=139</guid>
		<description><![CDATA[Baştan belirteyim, bu yazının amacı template engine (şablon motoru) kullanmayalım ya da performans için her türlü işe yarar objelerden, frameworklerden, component ve yaklaşımlardan uzak duralım değildir. Performans önemli bir konudur ama bir web uygulamasının üretilmesi, üretildikten sonra rahat ve esnek bir biçimde geliştirilebilmesi, vb. de ciddi şekilde önemli konulardır. Fakat en son Facebook ekibinin HipHop [...]]]></description>
			<content:encoded><![CDATA[<p>Baştan belirteyim, bu yazının amacı template engine (şablon motoru) kullanmayalım ya da performans için her türlü işe yarar objelerden, frameworklerden, component ve yaklaşımlardan uzak duralım değildir. Performans önemli  bir konudur ama bir web uygulamasının üretilmesi, üretildikten sonra rahat ve esnek bir biçimde geliştirilebilmesi, vb. de ciddi şekilde önemli konulardır.</p>
<p>Fakat en son Facebook ekibinin <strong>HipHop</strong> ve <strong>XHP</strong> gibi konuları gündeme getirmesinden sonra PHP kodlarının performansı üzerinde tekrardan düşünmeye başladım. PHP performansı deyince de ilk aklıma gelen konulardan birisi smarty ve PHPTAL gibi şablon motorlarının kullanımı oldu. Acaba bu şablon motorları ne kadar hızlı çalışıyor diye test etmek istedim.</p>
<p>Smarty uzun süredir kullandığım fakat son dönemlerde gerekliliğini ve yeterliliğini sorguladığım bir şablon motoru benim için. Hatta kim bana şimdi &#8220;Smarty mi kullanalım, direkt PHP mi yazalım HTML tagleri arasına?&#8221; diye sorsa bir saniye bile düşünmeden &#8220;PHP yazın&#8221; derim. Zira Smarty hakikaten HTML arasında PHP yazmaktan öte çok fazla bir iş yapmıyor. Compile, cache gibi yapıları ise aslında maksimum birkaç saat içinde hem de daha iyi bir şekilde sıfırdan yazabileceğiniz türden şeyler. Bugüne kadar biraz ciddi bir alternatifi olmamasından biraz da back-end kod ve yapılarının tasarımdan ayrılmasına inandığımız için Smarty&#8217;i kullanmış idik. Şimdiler de ismi çok duymaya başladığım PHPTAL gibi daha düzgün bir alternatif mevcut. PHPTAL&#8217;ı kullananların anlattığı ve kendi dökümanlarına göz attığımda gördüklerim kadar tanıyorum aslında. Yani çok ciddi bir tecrübem yok PHPTAL ile ilgili. Ama bundan sonrasında bir proje için Smarty yerine kullanmayı düşündüğüm bir şablon motorudur. Bu nedenle de Smarty&#8217;nin ne kadar hızlı çalıştığını merak ederken PHPTAL&#8217;ı da bu merakıma dahil etmiş oldum.</p>
<p><span id="more-139"></span></p>
<p>Bu şablon motorlarının, HTML içine PHP kodu yazarak hazırlanan bir sayfayı oluşturma konusunda ne kadar hızlı olduklarını test etmek istedim. Ama öyle ciddi bir test ortamı ve test planı hazırlamadım. Amacım sadece fikir edinmek olduğu için birkaç satır PHP kodu, birkaç satırlık HTML fikir vermek için yeterli olur diye düşündüm. PHP kodunda yapacağım işlem, bir metni boşluk karakterlerinden bölerek bir diziye (array) atmak ve bu dizideki her bir elemanın HTML içinde div içinde bir span olarak oluşturulmasını sağlamaktı. Aşağıda Smarty, PHPTAL için yazdığım şablon (template) kodlarını inceleyebilirsiniz.</p>
<p><strong>Smarty için (test.tpl) : </strong></p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #00bbdd;">&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">html</span> xmlns<span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://www.w3.org/1999/xhtml&quot;</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">head</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">meta</span> <span style="color: #000066;">http-equiv</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;content-type&quot;</span> <span style="color: #000066;">content</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/html; charset=utf-8&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">title</span>&gt;</span>Test Page<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">title</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">head</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">body</span>&gt;</span>
&nbsp;
    {section name=word loop=$words}
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
        <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">span</span>&gt;</span>{$words[word]}<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">span</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
    {/section}
&nbsp;
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">body</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">html</span>&gt;</span></pre></div></div>

<p><strong>PHPTAL için (test.xhtml) : </strong></p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;?xml <span style="color: #000066;">version</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;1.0&quot;</span>?&gt;</span>
<span style="color: #00bbdd;">&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">html</span> xmlns<span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://www.w3.org/1999/xhtml&quot;</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">head</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">meta</span> <span style="color: #000066;">http-equiv</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;content-type&quot;</span> <span style="color: #000066;">content</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/html; charset=utf-8&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">title</span>&gt;</span>Test Page<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">title</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">head</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">body</span>&gt;</span>
&nbsp;
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> tal:repeat<span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;word words&quot;</span>&gt;</span>
        <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">span</span> tal:<span style="color: #000066;">content</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;word&quot;</span>&gt;</span>Word<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">span</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
&nbsp;
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">body</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">html</span>&gt;</span></pre></div></div>

<p>Şablon motorlarını çağıran PHP kodlarını da aşağıda iletiyorum. En sonda ilettiğim PHP kodu ise şablon motoru kullanmadan aynı kodu üreten bir kod. Bu kodla ilgili sonuçları da &#8220;Pure PHP&#8221; başlığı ile ileteceğim.</p>
<p><strong>Smarty için PHP kodu (smarty.php) : </strong></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?</span>
<span style="color: #b1b100;">require</span> <span style="color: #0000ff;">'./../Smarty-2.6.26/libs/Smarty.class.php'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$smarty</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Smarty<span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$text</span>   <span style="color: #339933;">=</span> <span style="color: #0000ff;">'Fusce ut faucibus quam. Duis nisl dui, malesuada porta mattis sed, ultricies a odio. Nunc ornare aliquet tortor, eget semper nibh ultricies nec. Aliquam venenatis arcu sed ligula mattis quis aliquam enim ullamcorper. Quisque ligula libero, porttitor sed pellentesque eget, iaculis ac neque. Aliquam erat volutpat. Suspendisse potenti. Quisque elementum vulputate sodales. Sed vel massa sollicitudin erat consectetur porta ut auctor justo. Sed eget hendrerit massa. Mauris magna quam, suscipit convallis adipiscing quis, luctus eu mi.'</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$data</span>   <span style="color: #339933;">=</span> <span style="color: #990000;">explode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">' '</span><span style="color: #339933;">,</span> <span style="color: #000088;">$text</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$smarty</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">assign</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'words'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$data</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$smarty</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">display</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'test.tpl'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p><strong>PHPTAL için PHP kodu (phptal.php) : </strong></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?</span>
<span style="color: #b1b100;">require_once</span> <span style="color: #0000ff;">'./../PHPTAL-1.2.1/PHPTAL.php'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$template</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> PHPTAL<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'test.xhtml'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$text</span>   <span style="color: #339933;">=</span> <span style="color: #0000ff;">'Fusce ut faucibus quam. Duis nisl dui, malesuada porta mattis sed, ultricies a odio. Nunc ornare aliquet tortor, eget semper nibh ultricies nec. Aliquam venenatis arcu sed ligula mattis quis aliquam enim ullamcorper. Quisque ligula libero, porttitor sed pellentesque eget, iaculis ac neque. Aliquam erat volutpat. Suspendisse potenti. Quisque elementum vulputate sodales. Sed vel massa sollicitudin erat consectetur porta ut auctor justo. Sed eget hendrerit massa. Mauris magna quam, suscipit convallis adipiscing quis, luctus eu mi.'</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$data</span>   <span style="color: #339933;">=</span> <span style="color: #990000;">explode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">' '</span><span style="color: #339933;">,</span> <span style="color: #000088;">$text</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$template</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">words</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$data</span><span style="color: #339933;">;</span>
&nbsp;
try <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$template</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">execute</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
catch <span style="color: #009900;">&#40;</span>Exception <span style="color: #000088;">$e</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$e</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p><strong>Sadece PHP ile çalışacak versiyon için (phptest.php) : </strong></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?</span>
<span style="color: #000088;">$text</span>   <span style="color: #339933;">=</span> <span style="color: #0000ff;">'Fusce ut faucibus quam. Duis nisl dui, malesuada porta mattis sed, ultricies a odio. Nunc ornare aliquet tortor, eget semper nibh ultricies nec. Aliquam venenatis arcu sed ligula mattis quis aliquam enim ullamcorper. Quisque ligula libero, porttitor sed pellentesque eget, iaculis ac neque. Aliquam erat volutpat. Suspendisse potenti. Quisque elementum vulputate sodales. Sed vel massa sollicitudin erat consectetur porta ut auctor justo. Sed eget hendrerit massa. Mauris magna quam, suscipit convallis adipiscing quis, luctus eu mi.'</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$data</span>   <span style="color: #339933;">=</span> <span style="color: #990000;">explode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">' '</span><span style="color: #339933;">,</span> <span style="color: #000088;">$text</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span>
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
&lt;head&gt;
    &lt;meta http-equiv=&quot;content-type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
    &lt;title&gt;Test Page&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&nbsp;
    <span style="color: #000000; font-weight: bold;">&lt;?</span> <span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$word</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
    &lt;div&gt;
        &lt;span&gt;<span style="color: #000000; font-weight: bold;">&lt;?=</span> <span style="color: #000088;">$word</span><span style="color: #000000; font-weight: bold;">?&gt;</span>&lt;/span&gt;
    &lt;/div&gt;
    <span style="color: #000000; font-weight: bold;">&lt;?</span> <span style="color: #b1b100;">endforeach</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
&nbsp;
&lt;/body&gt;
&lt;/html&gt;</pre></div></div>

<p>Test için kullandığım şablon motorlarının versiyonları : Smarty-2.6.26, PHPTAL-1.2.1.<br />
Web sunucusu olarak lighttpd-1.4.22 + PHP-cgi (mod_fastcgi) kullandım ve PHP versiyonu PHP 5.2.10-2.<br />
Kullandığım bilgisayarın özellikleri ise : Intel(R) Pentium(R) Dual  CPU  E2180  @ 2.00GHz (1 MB Cache), 2 GB Ram.<br />
İşletim Sistemi : Ubuntu 9.10</p>
<p>Toplamda 2 farklı test yaptım. Test ederken amacım yüksek yoğunluk altında bir performans ölçümü yapabilmek olduğu için keep-alive kullanmadım ve aynı andalık (concurrency) seviyesini 500, test süresini de 30 saniye olarak ayarladım. İlk testte yukarıda $data değişkenini aynen kullanırken, ikinci testte şablon motorlarının ürettiği HTML miktarını ciddi şekilde artırmak için $data değişkeni içindeki metni 15 kez yan yana kopyalayarak $data olarak kullandığım. Yani $data metninin boyutu 15 kat artmış oldu. Dolayısıyla ikinci test için sadece metin boyutunu değiştirmiş oldum. PHP kodunda kullandığım explode işlemi de aslında ikinci testte daha uzun sürüyor olmalı biliyorum ama tüm test edilecek kodlarda aynen geçtiği için süreyi artırsa da sonuçlar arasındaki kıyaslamayı yapmaya engel olmayacaktır.</p>
<p>Test sonuçlarını alırken de her bir testi 3 kez tekrarladım ve en iyi ya da en kötü değeri değil ortadaki değerleri test sonucu olarak aldım. Testi Apache Benchmark (ab) ile, &#8220;ab -c 500 -t 30 URL&#8221; şeklinde çalıştırarak gerçekleştirdim. Sonuçlar aşağıdaki gibidir:</p>
<table border="0" cellspacing="0" frame="VOID" rules="NONE">
<colgroup>
<col width="121"></col>
<col width="80"></col>
<col width="80"></col>
<col width="80"></col>
</colgroup>
<tbody>
<tr>
<td colspan="4" width="362" height="17" align="LEFT" valign="BOTTOM" bgcolor="#ffff99"><strong>Test 1</strong></td>
</tr>
<tr>
<td height="17" align="LEFT" bgcolor="#c0c0c0"></td>
<td align="CENTER" valign="BOTTOM" bgcolor="#c0c0c0"><strong>Smarty</strong></td>
<td align="CENTER" valign="BOTTOM" bgcolor="#c0c0c0"><strong>PHPTAL</strong></td>
<td align="CENTER" valign="BOTTOM" bgcolor="#c0c0c0"><strong>Pure PHP</strong></td>
</tr>
<tr>
<td height="17" align="RIGHT" valign="BOTTOM" bgcolor="#c0c0c0"><strong>Completed Req. : </strong></td>
<td align="RIGHT" valign="BOTTOM">8530</td>
<td align="RIGHT" valign="BOTTOM">7338</td>
<td align="RIGHT" valign="BOTTOM">50000</td>
</tr>
<tr>
<td height="17" align="RIGHT" valign="BOTTOM" bgcolor="#c0c0c0"><strong>Req/sec : </strong></td>
<td align="RIGHT" valign="BOTTOM">284.23</td>
<td align="RIGHT" valign="BOTTOM">244.56</td>
<td align="RIGHT" valign="BOTTOM">1808.69</td>
</tr>
<tr>
<td height="17" align="RIGHT" valign="BOTTOM" bgcolor="#c0c0c0"><strong>Time/sec [ms] : </strong></td>
<td align="RIGHT" valign="BOTTOM">1759.12</td>
<td align="RIGHT" valign="BOTTOM">2044.48</td>
<td align="RIGHT" valign="BOTTOM">276.44</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" frame="VOID" rules="NONE">
<colgroup>
<col width="121"></col>
<col width="80"></col>
<col width="80"></col>
<col width="80"></col>
</colgroup>
<tbody>
<tr>
<td colspan="4" width="362" height="17" align="LEFT" valign="BOTTOM" bgcolor="#ffff99"><strong>Test 2</strong></td>
</tr>
<tr>
<td height="17" align="LEFT" bgcolor="#c0c0c0"></td>
<td align="CENTER" valign="BOTTOM" bgcolor="#c0c0c0"><strong>Smarty</strong></td>
<td align="CENTER" valign="BOTTOM" bgcolor="#c0c0c0"><strong>PHPTAL</strong></td>
<td align="CENTER" valign="BOTTOM" bgcolor="#c0c0c0"><strong>Pure PHP</strong></td>
</tr>
<tr>
<td height="17" align="RIGHT" valign="BOTTOM" bgcolor="#c0c0c0"><strong>Completed Req. : </strong></td>
<td align="RIGHT" valign="BOTTOM">3004</td>
<td align="RIGHT" valign="BOTTOM">2620</td>
<td align="RIGHT" valign="BOTTOM">16442</td>
</tr>
<tr>
<td height="17" align="RIGHT" valign="BOTTOM" bgcolor="#c0c0c0"><strong>Req/sec : </strong></td>
<td align="RIGHT" valign="BOTTOM">100.08</td>
<td align="RIGHT" valign="BOTTOM">87.33</td>
<td align="RIGHT" valign="BOTTOM">547.98</td>
</tr>
<tr>
<td height="17" align="RIGHT" valign="BOTTOM" bgcolor="#c0c0c0"><strong>Time/sec [ms] : </strong></td>
<td align="RIGHT" valign="BOTTOM">4995.96</td>
<td align="RIGHT" valign="BOTTOM">5725.2</td>
<td align="RIGHT" valign="BOTTOM">912.44</td>
</tr>
</tbody>
</table>
<p>Bu sonuçlara baktığımızda HTML kodları içine PHP yazılarak yapılan geliştirmenin şablon motoru kullanılarak yazılanlara oranla en az 5 kat daha hızlı olduğunu görebiliyoruz. Ayrıca 1 sn. içinde sunucunun cevap verebildiği istek sayısında da ciddi bir fark olduğu görülüyor. Sonucun böyle olacağını tahmin ediyordum aslında. Çünkü hiç birşey düşünmesek bile toplamı 10 satırdan oluşan bir PHP kodu ile yüzlerce satırdan oluşan ve tek bir istek için bile onlarca işlem yapan bir şablon motorunun aynı hızda çalışamayacağı aşikardır. Anlaşıldığı üzere bu hız-performans farkı da aslında hiç de azımsanmayacak ölçüde bir fark. Bu durumda bence asıl soru şu hale geliyor: &#8220;Kalite standartlarına ve kabul gören metotlara uygun olarak kod yazmak, geliştirme sürecini kısaltan, ileriye dönük olarak kodların bakımını kolaylaştıran kütüphaneleri ve yaklaşımları kullanmak genel-geçer, her zaman ve her durumda doğru olan bir yaklaşım mıdır?&#8221;. </p>
<p>Bu soruya cevap aramadan önce rahatlıkla diyebiliriz ki PHP&#8217;nin kendi çalışma süresi (eklenen kütüphaneler, kullanılan frameworkler ile birlikte bile) genelde bir web uygulamasının en yavaş çalışan kısmı değildir. Yavaşlığa temel olan genelde başta veritabanı işlemleri olmak üzere PHP&#8217;nin bir şekilde bağlandığı yapılardır. Ve aslında birçok durumda; şablon motoru, PHP frameworkleri ve diğer kütüphaneler gibi yapılar çoğu kez performansı dolaylı olarak artırır. Çünkü programcıların belki birçoğu bu hazır imkanlar olmadığında performansa etki edecek hem mimari hem de prosedürel anlamda daha çok hata yaparlar. Bunların haricinde bir uygulamanın geliştirme süresi, daha sonradan bakımın kolay yapılabilmesi performanstan bile daha değerlidir. Ama gene de tüm bunların her durumda ve her proje için yararlı olacağını iddia etmek doğru olmayacaktır.</p>
<p>Donanımın artırılamadığı durumlarda eğer PHP kodunun daha hızlı çalışması konusunda bir ihtiyaç varsa, öncelikle web sunucusu, işletim sistemi ve ilgili konfigürasyonları, cache uygulamaları ve sistemleri (memcache, APC, xcache, vb.) ve varolan kod üzerinde yapılabilecek optimizasyonlar öncelikli olarak yapılmaya çalışılmalıdır. Fakat bütün bunlar yapıldıktan sonra gene sabit bir donanım içinde performans artırmak gerekirse ilk gözden çıkarılabilecek şeyler tüm özelliklerinin kullanılmadığı hazır kütüphaneler olmalıdır. Tabii bu son çareyi denemeden önce eğer isterseniz Facebook&#8217;un yaptığı gibi (HipHop) ekstrem çözümler deneyebilirsiniz.</p>
<p>PHP kodunun kendi performansı muhtemelen birçok programcı için bu aktardığım seviyede kritik değildir. Fakat benim gibi belli bir Linode VPS üzerinde birçok siteyi barındırmaya çalışıyorsanız, yeni ve çok ziyaretçisi olacak yeni bir site hazırlıyor ve bir üst VPS paketi için ekstra para ödemek istemiyorsanız, hazırlayacağınız projeyi kodlamaya başlamadan önce bu tür bir test yapmak ve buna göre kod yazmaya başlamak iyi bir tercih olabilir.</p>
<p>Smarty kullananlar için son bir notum olacak : Smarty kullanmayın! Aslında şablon motoru kullanmış olmak için şablon motoru kullanmayın da diyebilirim. Herhangi bir şablon motorununda sadece PHP değişkenlerinin yazılışlarını değiştirmek ve sadece foreach döngüleri ve if/switch ler için bir şablon motoru kullanıyorsanız, bence bir şablon motoru kullanmanıza hiç gerek yok.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.delizeka.net%2F2010%2F02%2F14%2Fsmarty-phptal-ve-performans-konusunda-dusundurdukleri.html&amp;title=Smarty%2C%20PHPTAL%20ve%20performans%20konusunda%20d%C3%BC%C5%9F%C3%BCnd%C3%BCrd%C3%BCkleri" id="wpa2a_16"><img src="http://www.delizeka.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><h3  class="related_post_title">Benzer Konular</h3><ul class="related_post"><li>Ocak 27, 2008 -- <a href="http://www.delizeka.net/2008/01/27/php-ile-dosya-download-ve-bandwidth-yonetimi.html" title="PHP ile dosya download ve bandwidth yönetimi">PHP ile dosya download ve bandwidth yönetimi</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.delizeka.net/2010/02/14/smarty-phptal-ve-performans-konusunda-dusundurdukleri.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Memcached ile PHP Session Yönetimi</title>
		<link>http://www.delizeka.net/2010/02/07/memcached-ile-php-session-yonetimi.html</link>
		<comments>http://www.delizeka.net/2010/02/07/memcached-ile-php-session-yonetimi.html#comments</comments>
		<pubDate>Sun, 07 Feb 2010 13:29:44 +0000</pubDate>
		<dc:creator>Uğur Aslan</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[memcached php session managemen linux server apache]]></category>

		<guid isPermaLink="false">http://www.delizeka.net/?p=121</guid>
		<description><![CDATA[Memcached yoğun sunucular için önemli bir performans iyileştirme aracı olarak kullanılabilen bir uygulama. Aslında temel olarak yaptığı şey key-value olarak saklanan verileri RAM üzerinde tutarak istendiği zaman çok hızlı bir şekilde bu verileri getirebilmesi. Facebook&#8217;ta kullanılan memcached birçok web uygulaması için de vazgeçilmez bir caching aracıdır. Bildiğiniz üzere PHP sessionları ya bir klasörde dosya olarak [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Memcached yoğun sunucular için önemli bir performans iyileştirme aracı olarak kullanılabilen bir uygulama. Aslında temel olarak yaptığı şey key-value olarak saklanan verileri RAM üzerinde tutarak istendiği zaman çok hızlı bir şekilde bu verileri getirebilmesi. Facebook&#8217;ta kullanılan memcached birçok web uygulaması için de vazgeçilmez bir caching aracıdır.</p>
<p style="text-align: justify;">Bildiğiniz üzere PHP sessionları ya bir klasörde dosya olarak ya da veritabanında saklanabilmektedir. Özellikle çok kullanıcılı sistemlerde session verilerini RAM üzerinde tutmak belli oranda perfomans sağlayabilir. Sessionları RAM üzerinde tutabilmek için de Memcached&#8217;den faydalanabiliriz. Tabii session datalarının RAM üzerinde tutulması, olası bir problem sonrasında RAM deki verilerin tamamen yok olma riskini de kabul etmeyi gerektiriyor.</p>
<p style="text-align: justify;">İşin analiz ve değerlendirme kısmını bir kenara bırakıp, teknik olarak bunu nasıl yapabileceğinizi aktarayım. Burada anlatacaklarım Debian Etch üzerinde Apache2-PHP5 kurulu bir ortamda test edilmiştir ancak Debian temelli herhangi bir sunucu için de aşağı yukarı aynı şekilde kurulum yapılabilir.</p>
<p><span id="more-121"></span><br />
Öncelikle memcached kuralım ve başlatalım :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> memcached
<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>init.d<span style="color: #000000; font-weight: bold;">/</span>memcached start</pre></div></div>

<p style="text-align: justify;">Sonrasinda PHP&#8217;nin memcached ile iletişimini sağlayacak modülü kuralım.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> php5-memcache</pre></div></div>

<p style="text-align: justify;">Bundan sonra da PHP&#8217;nin session yönetiminde session&#8217;a atanan değerlerin memcached&#8217;e gönderilmesi konusunda yardımcı olacak pecl paketini kuruyoruz.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">pecl <span style="color: #c20cb9; font-weight: bold;">install</span> pecl<span style="color: #000000; font-weight: bold;">/</span>memcache</pre></div></div>

<p style="text-align: justify;">Kurulum esnasında gelecek aşağıdaki soruya evet diye cevap veriyoruz.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">Enable memcache session handler support? <span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #c20cb9; font-weight: bold;">yes</span><span style="color: #7a0874; font-weight: bold;">&#93;</span> : <span style="color: #c20cb9; font-weight: bold;">yes</span></pre></div></div>

<p style="text-align: justify;">En sonunda php.ini dosyasınızda session yönetimi ile ilgili satırları aşağıdaki gibi değiştirmeniz gerekiyor.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">session.save_handler = memcache
session.save_path=<span style="color: #ff0000;">&quot;tcp://127.0.0.1:11211?persistent=1&amp;amp;weight=1&amp;amp;timeout=1&amp;amp;retry_interval=15&quot;</span></pre></div></div>

<p style="text-align: justify;">Eğer aşağıdaki satır otomatik olarak eklenmemişse php.ini dosyasının sonuna aşağıdaki satırı eklemeniz de memcache kullanabilmek için gerekmektedir.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">extension</span>=memcache.so</pre></div></div>

<p style="text-align: justify;">php.ini dosyasında hem memcache hem de memcached ile session yönetimi konusunda yapılabilecek ekstra ayarlar da mevcuttur. Bunlardan birisi memcached&#8217;e erişim konusunda anlık yaşanabilecek problemler için bir timeout süresinin belirlenerek sessionlar için kullanılabilecek ikinci bir memcache sunucusuna yönlendirilmesidir. Bir diğeri memcached&#8217;in kendi konfigürasyonu ile ilgili ayarlardır. Bunlar ihtiyaca göre değişiklik gösterebilecek konular olduğu için bu konular isteğe göre değiştirilebilir.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.delizeka.net%2F2010%2F02%2F07%2Fmemcached-ile-php-session-yonetimi.html&amp;title=Memcached%20ile%20PHP%20Session%20Y%C3%B6netimi" id="wpa2a_18"><img src="http://www.delizeka.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><h3  class="related_post_title">En çok yorumlananlar</h3><ul class="related_post"><li>Mart 12, 2008 -- <a href="http://www.delizeka.net/2008/03/12/http-proxy-veya-internet-kisitlamalari-nasil-asilabilir.html" title="HTTP Proxy veya internet kısıtlamaları nasıl aşılabilir?">HTTP Proxy veya internet kısıtlamaları nasıl aşılabilir?</a></li><li>Ocak 28, 2008 -- <a href="http://www.delizeka.net/2008/01/28/ubuntuda-adobe-photoshop-nasil-kurulur.html" title="Ubuntu&#8217;da Adobe Photoshop nasıl kurulur?">Ubuntu&#8217;da Adobe Photoshop nasıl kurulur?</a></li><li>Ocak 20, 2008 -- <a href="http://www.delizeka.net/2008/01/20/whois-sorgulama-sistemi-kimindircom.html" title="Whois sorgulama sistemi &#8211; Kimindir.com">Whois sorgulama sistemi &#8211; Kimindir.com</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.delizeka.net/2010/02/07/memcached-ile-php-session-yonetimi.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web yazılım sektöründe uzmanlık</title>
		<link>http://www.delizeka.net/2009/12/27/web-yazilim-sektorunde-uzmanlik.html</link>
		<comments>http://www.delizeka.net/2009/12/27/web-yazilim-sektorunde-uzmanlik.html#comments</comments>
		<pubDate>Sun, 27 Dec 2009 01:49:56 +0000</pubDate>
		<dc:creator>Uğur Aslan</dc:creator>
				<category><![CDATA[Programlama]]></category>
		<category><![CDATA[İnternet]]></category>
		<category><![CDATA[kariyer]]></category>
		<category><![CDATA[uzmanlık]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[yazılım]]></category>

		<guid isPermaLink="false">http://www.delizeka.net/?p=109</guid>
		<description><![CDATA[Hasan kardeşim blogundaki son yazısında (Pratisyen Hekim veya Kalp Cerrahı Olmak) gittiği bir iş görüşmesi sonrasında yazılım dünyasında bence hem şirketler hem de çalışanlar için sürüp giden bir problemi işaret etmiş. Bu ve bununla ilintili diğer bazı konular üzerinde ben de bazı sıkıntıları yazmak istedim. Öncelikle özellikle daha çok web dünyasında çalışan bir yazılımcı olarak [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Hasan kardeşim blogundaki son yazısında (<a title="Pratisyen Hekim veya Kalp Cerrahı Olmak" href="http://hasanozgan.com/notes/post/pratisyen-hekim-veya-kalp-cerrahi-olmak" target="_blank">Pratisyen Hekim veya Kalp Cerrahı Olmak</a>) gittiği bir iş görüşmesi sonrasında yazılım dünyasında bence hem şirketler hem de çalışanlar için sürüp giden bir problemi işaret etmiş. Bu ve bununla ilintili diğer bazı konular üzerinde ben de bazı sıkıntıları yazmak istedim.</p>
<p style="text-align: justify;">Öncelikle özellikle daha çok web dünyasında çalışan bir yazılımcı olarak meselenin özünde yer aldığını düşündüğüm bir konuyu aktarayım. İnternet hayatımıza ilk girdiği andan itibaren bu sektörde uzmanlaşmayı kavrama konusunda ciddi bir yanlış algı oluşmaya başladı. Çünkü &#8220;web yazılımcısı&#8221; diye genelleyebileceğimiz yazılım sektöründe çalışanların yaptıkları işin aslında bir mühendislik işi olduğunun bilinmemesi, anlaşılamaması veya anlaşılmak istenmemesi kendine ya da bir başkasına &#8220;site yapabilen&#8221; herhangi birini &#8220;web yazılım uzmanı&#8221; haline getirdi.  Hayatında sadece hazır bir araçla, hazır bir kodla ya da hazır bir altyapı ile site yapmış olanların bazıları (aslında bence büyük çoğunluk) bir süre sonra forumlarda &#8220;böyle birşey yapmak istiyorum, varsa hazır kod gönderir misiniz&#8221; şeklinde gelişimlerini devam ettirdiler. Herşeyi işlerine o anda yaradığı kadar öğrendiler. Yaptıklarını iddia ettikleri mesleği şöyle birkaç ay HTML, ASP veya PHP ile uğraşan herhangi birinin kolayca yapabileceği bir meslek olarak kabul ettiler. İşin kötüsü, işi a&#8217;dan z&#8217;ye öğrenmek konusunda bir gayretleri olmadığı, herhangi bir dökümanı okumayı angarya olarak gördükleri, bilgilerini artırabilecek herhangi bir internet kanalını takip etmedikleri ve çevrelerindeki birçok insanın da bu işi böyle götürdüklerini gördükleri için bir anda kendilerini &#8220;uzman&#8221; kabul ettiler. Uzman(!) bir adama yeni birşey öğrenmek gerekmediği düşüncesinden hareketle, öğrenme işini &#8220;forumdan bulamadığım şeyleri Google&#8217;dan aratıp bulurum&#8221;a indirgediler. Ve böylece günümüz Türkiye&#8217;sinde kendi &#8220;uzman web yazılımcısı, programcısı&#8221; olarak tanımlayan büyük bir güruh oluştu.</p>
<p style="text-align: justify;"><span id="more-109"></span></p>
<p style="text-align: justify;">Bu hikayenin bir benzeri de kısa yoldan para kazanma hevesi ile, sektördeki talepten faydalanmayı hedefleyen şirketler için de geçerlidir. Aslında ekip olarak yukarıda bahsedilen &#8220;uzman web yazılımcıları&#8221;ndan oluşan, herhangi bir nedenle bir web sitesi yaptırmaya karar vermiş müşterilerin bilgisizliğinden faydalanarak para kazanmaya çalışan onca şirketten bazıları bugün yazılım, hosting, vb. konularda isimleri önemli hale gelmiş şirketler haline geldiler. Ama cehaletin 3. seviyesi diye tabir edilen cehl-i mürekkep ile malul olduklarından dolayı hala ilk işe başladıkları günkü düşünce ile hala kendilerini işleri konusunda uzman tasavvur etmekteler.</p>
<p style="text-align: justify;">Dolayısıyla, adam gibi kendini yetiştiren web yazılımcısı yerine, bu dünyanın mühendisliğinde daha spesifik bir alanda uzman olabilmek için samimi bir his ile kendini geliştirmeye devam eden insanların sayısı hep az olarak kaldı. Yani bu sektörde, Hasan&#8217;ın yazısındaki ifade ile &#8220;Beyin cerrahı&#8221; olmak için uğraş veren ve maalesef kıymetleri bilinmeyen insanların sayısı epey az. Bunun yanında kendini içinde aslında birçok uzmanlık dalı olması gereken bir alanda uzman gören yazılımcılar ve bu tür uzmanları(!) seven şirketler çoğunlukta.</p>
<p style="text-align: justify;">Türkiye için konuşacak olursak, yazılım konusunda çalışan firmaların çoğu işin mühendislik, bilgi birikim gerektiren tarafını umursamadan, sadece müşteriyi anlık olarak memnun edebilecek bir iş çıkarmaya uğraşan şirketlerdir. Önemli olan hızlı bir şekilde müşteriye istediğini vermektir, internet kullanıcısı üzerinden hızlı bir şekilde para kazanmaktır. İşin altyapısı önemli değildir, arabirim sadece Internet Explorer ile çalışsa da olur, güvenlik ise şirketin girişinde &#8220;Nereye hemşerim?&#8221; diye soran kişinin sıfatıdır, yazılımla bir arada bile kullanılmaz.</p>
<p style="text-align: justify;">Bu duruma bakarak, birbirini besleyen büyüten kötü bir sistem görüyorum ben. Cehalet içinde yazılımcılar, cehalet içinde firmalar, cehalet içinde müşteriler&#8230; Geriye bu işi sevdiği için yapan, hakikaten bir konuda kendini uzman addedebilmek için 10 senelik bir tecrübeye rağmen hala bir haftada yüzlerce kaynak takip eden, kendi başına birşeyler denemek, üretmek, tecrübe etmek için gecesini ya da haftasonunu feda edebilen bir grup kalıyor. Bir de sayıca gene az olmalarına rağmen hakikaten mükemmel bir iş çıkarmak, yaptıkları işi sadece müşterisini memnun etmek için değil, kendi iç yazılım prensiplerine, o güne kadar geliştirdikleri belki dünyada da kabul gören metodolojilere, teknik kalite kıstaslarına uygun halde üretmeye çalışan düzgün yazılım şirketleri var.  Bu iki grup içinden yazılımcılar, genelde çalıştıkları firmalardan memnun değiller; firmalar ise hem müşterilerinden memnun değiller hem de şirketlerinde işinde uzman insan bulamadıklarından şikayetçiler.</p>
<p style="text-align: justify;">Zamanında görüşmeye gittiğim, yabancı menşeili büyük bir firma yetkilisi Türkiye&#8217;de ilan verdikleri belli bir alanda uzman yazılımcı bulamadıklarından bahsetmişti. &#8220;Front-end web developer&#8221; başlığı ile verdikleri ilana başvuranların çoğunun kendilerini web yazılımcısı olarak tanıttıklarını ama HTML, CSS, JS, PHP, MySQL bildiklerini iddia edenlerin ama aslında hepsinden biraz bildiklerini söylemişti. &#8220;Asp.NET bildiğim için front-end developer olabilirim, yaptığım sitelerin arabirimlerinin hepsini ben kodladım&#8221; diyen birinin aslında hazırladığı sayfanın sadece Internet Explorer da düzgün görüntülenmesi karşısında &#8220;Müşteri IE kullanıyordu&#8221; diyerek cevap vermesinden de bahsetmiştik.</p>
<p style="text-align: justify;">İşin diğer ucunda ise,  kariyerimin başında şirketteki tek web yazılımcısı olarak çalıştığım bir firmada patron birgün gelip bana &#8220;MS Office&#8217;in bir benzerini ne kadar sürede yazarız?&#8221; diye sormuştu. Adamın sorduğu soruya &#8220;Tek başına mı yazacağım yoksa bir ekip mi kuruyoruz?&#8221; diye sormuştum, dalga geçiyor zannedip şakayı devam ettirmeye çalışarak. Patron &#8220;Şimdilik sen varsın diye düşünelim&#8221; diyerek bir cevap bekleyince iyimser bir tahmin yapıp &#8220;En az 10 sene sürer&#8221; demiştim:) &#8220;10 sene çok uzun, neyse başka çözüm düşüneyim&#8221; diyerek yanımdan ayrılmıştı.</p>
<p style="text-align: justify;">Ben bu mantığın bir süre çalıştığım firmaya özgü birşey olarak düşünmüştüm. Yanıldığımı birçok yerde çalıştıktan, başka yerlerde çalışan arkadaşların benzer hikayelerini dinledikten sonra anlamıştım.</p>
<p style="text-align: justify;">Bu tür şirket ille de MS Office&#8217;i kısa sürede yazmak istemez elbette, bazılarında iyi işi kısa sürede çıkarmak için gece gündüz çalıştığınız işler birkaç dakikalık iş olarak görülür, piyasadaki kopyala-yapıştırcı yazılımcılarla karşılaştırılırsınız; bazıları Facebook&#8217;a, Google&#8217;a birkaç ay içinde rakip olabilecek ürünler çıkarabileceğini düşünür; bazıları siz PHP konusunda uzman iken Delphi ile bir masaüstü uygulamasını yazmanızı ister; bazıları web master adı altında aslında çok değişik uzmanlık alanları olan tasarım, arabirim kodlama, back-end development hatta tasarımdan dolayı da matbaa deneyimi bekler;  bazıları üzerinde anlaşılıp hazırlanan bir projenin bitimine yakın varolan yapı ile ciddi teknik çelişkiler içeren bir hale getirilmesini ister hem de birkaç saatte olsun ister&#8230; Bu liste uzar gider.</p>
<p style="text-align: justify;">Öte yandan, birini işe almaya çalışırken gelen adayların bazısı UTF-8 i hiç duymadığı halde kendini Türkiye&#8217;de sayılı yazılım uzmanlardan birisi olarak görür; bazısı associative array nedir bilmeden kendine PHP konusunda 10 üzerinden 9 verir; bazısı DOC TYPE nedir diye sorulduğunda hiç duymadığını söylediği halde kendini front-end developer konusunda uzman ilan eder; HTTP nasıl çalışır sorusuna HTTP, HTML&#8217;in diğer adıdır diyerek yanıt verdiği halde büyük çaptaki web projelerinde sistem yöneticisi ve back-end developer olarak çalıştığını iddia eder; bazısı JSON nedir bilmeden AJAX ve ilgili konular üzerinde kendinde bir eksik görmediğini söyler ve bazısı da verdiği cevaplar nedeniyle konusunda uzman olduğuna inanmadığınızı düşündüğünüzü ilettiğinizde, &#8220;ben bugüne kadar bunca yerde çalıştım, bu sorulara konu olan hiç bir meseleyi bilen biriyle karşılaşmadım, bu soruların cevaplarına da hiç bir zaman ihtiyaç duymadım&#8221; der&#8230; Bu liste de uzar gider.</p>
<p style="text-align: justify;">Sonuç olarak, Hasan&#8217;a katılıyorum. Bizim sektörde de insanlar &#8220;Kalp Cerrahı&#8221; gibi bir uzmanlığa yönelmeliler. Şirketler de kendilerini geliştirmeleri ve yazılım olayını bir mühendislik olarak ele almalılar. Uzmanlıklara saygı duymalı, belirli konularda uzmanlarla çalışmalılar. Belirli bir uzmanlığa giden bir yazılımcı elbette diğer tüm dallarda bilgi sahibi olmalıdır. &#8220;Sadece Asp.NET yazarım, JSP nasıl çalışır umrumda değil&#8221; gibi bir düşünce olamaz. Ama Hasan&#8217;ın da belirttiği gibi, her konuda bilgi sahibi olmak ne her konuda çalışabilen birisi olmayı gerektirir, ne de belirli bir alanda uzmanlığa gitmeye engel olur. Mesele, bu işi ciddiye almaktır, haddini bilmektir, kendini bilmektir.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.delizeka.net%2F2009%2F12%2F27%2Fweb-yazilim-sektorunde-uzmanlik.html&amp;title=Web%20yaz%C4%B1l%C4%B1m%20sekt%C3%B6r%C3%BCnde%20uzmanl%C4%B1k" id="wpa2a_20"><img src="http://www.delizeka.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><h3  class="related_post_title">Benzer Konular</h3><ul class="related_post"><li>Ocak 27, 2008 -- <a href="http://www.delizeka.net/2008/01/27/php-ile-dosya-download-ve-bandwidth-yonetimi.html" title="PHP ile dosya download ve bandwidth yönetimi">PHP ile dosya download ve bandwidth yönetimi</a></li><li>Ağustos 11, 2011 -- <a href="http://www.delizeka.net/2011/08/11/whois-nedir-ne-degildir.html" title="Whois nedir, ne değildir?">Whois nedir, ne değildir?</a></li><li>Eylül 9, 2008 -- <a href="http://www.delizeka.net/2008/09/09/linux-trnet-yayinda.html" title="Linux-tr.net yayında&#8230;">Linux-tr.net yayında&#8230;</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.delizeka.net/2009/12/27/web-yazilim-sektorunde-uzmanlik.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

