<?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>Venus Programlama</title>
	<atom:link href="http://programlama.venus.gen.tr/feed" rel="self" type="application/rss+xml" />
	<link>http://programlama.venus.gen.tr</link>
	<description>Programlama üzerine deneyimler, ipuçları ve hazır kodlar...</description>
	<lastBuildDate>Fri, 21 May 2010 17:20:20 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Veritabanı Optimizasyonu</title>
		<link>http://programlama.venus.gen.tr/mysql/veritabani-optimizasyonu.html</link>
		<comments>http://programlama.venus.gen.tr/mysql/veritabani-optimizasyonu.html#comments</comments>
		<pubDate>Fri, 21 May 2010 16:50:13 +0000</pubDate>
		<dc:creator>Venus</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[create index]]></category>
		<category><![CDATA[mysql komutları]]></category>
		<category><![CDATA[order by rand]]></category>
		<category><![CDATA[veritabanı optimizasyonu]]></category>

		<guid isPermaLink="false">http://programlama.venus.gen.tr/?p=52</guid>
		<description><![CDATA[Bu makalede MySQL&#8217;i daha az yormak, sorguların işleniş zamanlarını kısaltmak, sitenizi hızlandırmak için birtakım veritabanı optimizasyonu tavsiyelerinde bulunacağım.
Eğer kendi kodlamalarınızla veritabanı kullanacaksanız birçok mysql sorgusu ile boğuşmak durumunda kalabilirsiniz. Kullandığınız tablolar çok fazla veri içerebilir. MySQL sunucusu bu verileri işlerken tüm veritabanındaki bilgileri kontrol etmek zorunda kalıyor olabilir. Şimdi ideal bir sorgu yapısını örnekleyelim:
1. Sadece [...]]]></description>
			<content:encoded><![CDATA[<p>Bu makalede MySQL&#8217;i daha az yormak, sorguların işleniş zamanlarını kısaltmak, sitenizi hızlandırmak için birtakım veritabanı optimizasyonu tavsiyelerinde bulunacağım.</p>
<p>Eğer kendi kodlamalarınızla veritabanı kullanacaksanız birçok mysql sorgusu ile boğuşmak durumunda kalabilirsiniz. Kullandığınız tablolar çok fazla veri içerebilir. MySQL sunucusu bu verileri işlerken tüm veritabanındaki bilgileri kontrol etmek zorunda kalıyor olabilir. Şimdi ideal bir sorgu yapısını örnekleyelim:</p>
<p><strong>1. Sadece gerekli sütunları sunucudan isteyin:</strong></p>
<p>Tüm sütunları istemek demek, MySQL sunucusunun fazladan ve gereksiz veri göndermesi demektir. Örneğin bir tablodaki sadece başlık ve tarih kısmını kullanmamız gerekiyorsa bunu SELECT [sütunlar] bölümünde belirtmeliyiz.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p52code6'); return false;">Kodu Görüntüle</a> SQL</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p526"><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code" id="p52code6"><pre class="sql" style="font-family:monospace;"><span style="color: #808080; font-style: italic;"># Yanlış Kullanım:</span>
<span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #66cc66;">*</span> <span style="color: #993333; font-weight: bold;">FROM</span> haberler <span style="color: #993333; font-weight: bold;">LIMIT</span> 0<span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">10</span>;
&nbsp;
<span style="color: #808080; font-style: italic;"># Doğru Kullanım:</span>
<span style="color: #993333; font-weight: bold;">SELECT</span> baslik<span style="color: #66cc66;">,</span> tarih <span style="color: #993333; font-weight: bold;">FROM</span> haberler <span style="color: #993333; font-weight: bold;">LIMIT</span> 0<span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">10</span>;</pre></td></tr></table></div>

<p><strong>2. ORDER BY rand() kullanımından kaçının.</strong></p>
<p>Gelen verilerin sırasını bildirmemize yarayan ORDER BY komutunun yanında eklenen rand() verilerin rastgele getirilmesini ister. Fakat bu özellikle binlerce kayıt bulunan bir tabloda sunucuya extra yük bindirir. Yaklaşık 120000 kayıtlı bir tabloda rand() kullanırsak en az 0.3 saniye sürecektir sorgumuz. Oysa ideal bir sorgu 0.001-0.005 ms harcamalıdır.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p52code7'); return false;">Kodu Görüntüle</a> SQL</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p527"><td class="line_numbers"><pre>1
2
</pre></td><td class="code" id="p52code7"><pre class="sql" style="font-family:monospace;"><span style="color: #808080; font-style: italic;"># Yanlış Kullanım:</span>
<span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #66cc66;">*</span> <span style="color: #993333; font-weight: bold;">FROM</span> sarki_sozleri <span style="color: #993333; font-weight: bold;">ORDER</span> <span style="color: #993333; font-weight: bold;">BY</span> rand<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">LIMIT</span> 0<span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">10</span>;</pre></td></tr></table></div>

<p>Eğer illa ki rastgele veri almak istiyorsanız, bu işi PHP&#8217;de de yapabileceğinizi unutmayın. Böylelikle yük MySQL&#8217;den kalkacaktır.</p>
<p><strong>3. INDEX kullanın.</strong></p>
<p>MySQL&#8217;de verileri hızlı bir biçimde sıralamak ve karşılığında gelen veriyi bulmak için INDEX yaratmalıyız. Özellikle en çok kullanılan sütunlar için INDEX yaratırsak sunucu daha az zamanda verileri bulacaktır:</p>
<p>İki yolla index ekleyebilirsiniz:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p52code8'); return false;">Kodu Görüntüle</a> SQL</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p528"><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code" id="p52code8"><pre class="sql" style="font-family:monospace;"><span style="color: #808080; font-style: italic;"># 1. Yol</span>
<span style="color: #993333; font-weight: bold;">ALTER</span> <span style="color: #993333; font-weight: bold;">TABLE</span> tablo_adi <span style="color: #993333; font-weight: bold;">ADD</span> <span style="color: #993333; font-weight: bold;">INDEX</span> index_adi <span style="color: #66cc66;">&#40;</span>sutun1<span style="color: #66cc66;">,</span> sutun2<span style="color: #66cc66;">,</span> <span style="color: #66cc66;">...</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;"># 2. Yol</span>
<span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">INDEX</span> index_adi <span style="color: #993333; font-weight: bold;">ON</span> tablo_adi <span style="color: #66cc66;">&#40;</span>sutun1<span style="color: #66cc66;">,</span> sutun2<span style="color: #66cc66;">,</span> <span style="color: #66cc66;">...</span><span style="color: #66cc66;">&#41;</span>;</pre></td></tr></table></div>


<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p52code9'); return false;">Kodu Görüntüle</a> SQL</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p529"><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code" id="p52code9"><pre class="sql" style="font-family:monospace;"><span style="color: #808080; font-style: italic;"># Örneğin aşağıdaki tarz bir sorguyu sıkça kullanıyorsak:</span>
<span style="color: #993333; font-weight: bold;">SELECT</span> baslik <span style="color: #993333; font-weight: bold;">FROM</span> haberler <span style="color: #993333; font-weight: bold;">WHERE</span> dosya <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">&quot;dosya_adi&quot;</span> <span style="color: #993333; font-weight: bold;">AND</span> kategori <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">&quot;1&quot;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;"># Aşağıdaki gibi bir index yaratma yoluna gidebiliriz:</span>
<span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">INDEX</span> l_dosya_kat <span style="color: #993333; font-weight: bold;">ON</span> haberler <span style="color: #66cc66;">&#40;</span>dosya<span style="color: #66cc66;">,</span> kategori<span style="color: #66cc66;">&#41;</span>;</pre></td></tr></table></div>

<p>Böylelikle bu tarz sorgular daha az zaman harcayacaktır.</p>
<p>Eğer tablodaki CHAR, VARCHAR, TEXT gibi yazı içeren verilerde LIKE &#8220;%kelime%&#8221; tarzı aramalar gerçekleştiriyorsanız. FULLTEXT INDEX&#8217;i kullanabilirsiniz.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p52code10'); return false;">Kodu Görüntüle</a> SQL</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p5210"><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code" id="p52code10"><pre class="sql" style="font-family:monospace;"><span style="color: #808080; font-style: italic;"># Şarkı sözü tablomuzda sözlerin bulunduğu sütuna bunu ekliyoruz.</span>
<span style="color: #993333; font-weight: bold;">CREATE</span> FULLTEXT <span style="color: #993333; font-weight: bold;">INDEX</span> l_sozler <span style="color: #993333; font-weight: bold;">ON</span> sarkisozleri <span style="color: #66cc66;">&#40;</span>sozler<span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;"># Ve eğer sözlerde arama yapacaksak bunu kullanmamız yeterli:</span>
<span style="color: #993333; font-weight: bold;">SELECT</span> isim<span style="color: #66cc66;">,</span> soz <span style="color: #993333; font-weight: bold;">FROM</span> sarkisozleri <span style="color: #993333; font-weight: bold;">WHERE</span> MATCH<span style="color: #66cc66;">&#40;</span>sozler<span style="color: #66cc66;">&#41;</span> AGAINST<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'kelime'</span><span style="color: #66cc66;">&#41;</span>;</pre></td></tr></table></div>

<p>Yukarıdaki örnek çalıştırılsaydı içinde &#8220;kelime&#8221; geçen tüm şarkı sözleri sorgu sonucu olarak yansıtılırdı.</p>
<p>Umarım sizlere faydalı olur bu yazı.</p>
<p>Unutmadan <a href="http://html.sitesi.web.tr/">HTML Dersleri</a> sayfamızdan sonra <a href="http://sql.sitesi.web.tr/">MySQL Komutları</a> sayfamız da tamamlandı. Veritabanları ile ilgili yardım için bu siteyi kullanabilirsiniz.</p>
]]></content:encoded>
			<wfw:commentRss>http://programlama.venus.gen.tr/mysql/veritabani-optimizasyonu.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fazladan Taksimli Adresler</title>
		<link>http://programlama.venus.gen.tr/digerleri/fazladan-taksimli-adresler.html</link>
		<comments>http://programlama.venus.gen.tr/digerleri/fazladan-taksimli-adresler.html#comments</comments>
		<pubDate>Mon, 14 Dec 2009 21:06:19 +0000</pubDate>
		<dc:creator>Venus</dc:creator>
				<category><![CDATA[Diğerleri]]></category>
		<category><![CDATA[htaccess]]></category>
		<category><![CDATA[mod rewrite]]></category>
		<category><![CDATA[rewritecond]]></category>
		<category><![CDATA[rewriterule]]></category>

		<guid isPermaLink="false">http://programlama.venus.gen.tr/?p=50</guid>
		<description><![CDATA[Bugün Google&#8217;ın sitelerimden birini adres.com/dosya// şeklinde dizinine eklediğini gördüm. Normal şartlar altında böyle olmaması gerek. Ya birileri bu şekilde bağlantı verdi ve google da bu bağlantıyı kontrol etti. Ya da bir iç kod hatası sonucu bu sayfaya ulaşabildi. Ama sorun şu ki bu adreslerin düzeltilmesi ve tek bölü işareti ile yayınlanması gerekliydi.
İnternette biraz araştırdım ve [...]]]></description>
			<content:encoded><![CDATA[<p>Bugün Google&#8217;ın sitelerimden birini adres.com/dosya// şeklinde dizinine eklediğini gördüm. Normal şartlar altında böyle olmaması gerek. Ya birileri bu şekilde bağlantı verdi ve google da bu bağlantıyı kontrol etti. Ya da bir iç kod hatası sonucu bu sayfaya ulaşabildi. Ama sorun şu ki bu adreslerin düzeltilmesi ve tek bölü işareti ile yayınlanması gerekliydi.</p>
<p>İnternette biraz araştırdım ve benzer sorunu yaşayabilecek arkadaşlar için HTACCESS dosyasında yapacakları küçük bir düzenlemeyle buna engel olabileceklerini öğrendim.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p50code12'); return false;">Kodu Görüntüle</a> HTACCESS</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p5012"><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code" id="p50code12"><pre class="htaccess" style="font-family:monospace;">RewriteEngine On
RewriteCond %{REQUEST_URI} ^(.*)//$
RewriteRule . http://www.adres.com%1/ [R=301]</pre></td></tr></table></div>

<p>Böylelikle ola ki arama motoru arkadaşçıl (SEF) adreslerle çalışan bir siteniz varsa yanlış bir indexlenmenin önüne geçmiş olacaksınız&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://programlama.venus.gen.tr/digerleri/fazladan-taksimli-adresler.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C# ile Hazırlanan Programı Kapatmak</title>
		<link>http://programlama.venus.gen.tr/c-sharp/c-ile-hazirlanan-programi-kapatmak.html</link>
		<comments>http://programlama.venus.gen.tr/c-sharp/c-ile-hazirlanan-programi-kapatmak.html#comments</comments>
		<pubDate>Wed, 05 Aug 2009 12:37:06 +0000</pubDate>
		<dc:creator>Venus</dc:creator>
				<category><![CDATA[C Sharp]]></category>
		<category><![CDATA[program kapatma kodu]]></category>
		<category><![CDATA[program kapatmak]]></category>

		<guid isPermaLink="false">http://programlama.venus.gen.tr/?p=44</guid>
		<description><![CDATA[C-Sharp kullanılarak hazırladığınız programı yeri geldiğinde kapatmak konusunda sıkıntı yaşayabilirsiniz. İşlemdeki bir form yüklenirken bazı kodların çalışmadığını göreceksiniz. Bu nedenle programınızı kapatmak için yerine göre aşağıdaki kodlardan birini kullamalısınız.
form.Close();
Formu kapatır. Form yüklenirken bu kod çalışmaz. Eğer program tek formdan oluşuyorsa bu aynı zamanda programı kapatmak anlamına gelecektir.
Application.Exit();
Eğer GUI kullandıysanız bu işinize yarayacaktır.
Environment.Exit(kod);
Diğer bir programı kapatma [...]]]></description>
			<content:encoded><![CDATA[<p>C-Sharp kullanılarak hazırladığınız programı yeri geldiğinde kapatmak konusunda sıkıntı yaşayabilirsiniz. İşlemdeki bir form yüklenirken bazı kodların çalışmadığını göreceksiniz. Bu nedenle programınızı kapatmak için yerine göre aşağıdaki kodlardan birini kullamalısınız.</p>
<p><b>form.Close();</b><br />
Formu kapatır. Form yüklenirken bu kod çalışmaz. Eğer program tek formdan oluşuyorsa bu aynı zamanda programı kapatmak anlamına gelecektir.</p>
<p><b>Application.Exit();</b><br />
Eğer GUI kullandıysanız bu işinize yarayacaktır.</p>
<p><b>Environment.Exit(kod);</b><br />
Diğer bir programı kapatma kodudur. Parantez içindeki yer bir integer değeri olup buradaki değer programın kapatılış kodudur. Bu konuda bir bilginiz yoksa 0 yazın.</p>
<p><b>Process.GetCurrentProcess().Kill();</b><br />
Bu da diğer bir etkili yol. Nasıl Process.Start(&#8220;yol&#8221;) kullanılarak bir program çalıştırılıyorsa, C# kullanarak bir programı bu yolla kapatabilirsiniz. GetCurrentProcess() bir fonksiyon olup kullanılan programa işaret eder.</p>
]]></content:encoded>
			<wfw:commentRss>http://programlama.venus.gen.tr/c-sharp/c-ile-hazirlanan-programi-kapatmak.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fonksiyon Hazırlamak</title>
		<link>http://programlama.venus.gen.tr/php/fonksiyon-hazirlamak.html</link>
		<comments>http://programlama.venus.gen.tr/php/fonksiyon-hazirlamak.html#comments</comments>
		<pubDate>Wed, 04 Mar 2009 18:39:06 +0000</pubDate>
		<dc:creator>Venus</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[fonksiyonlar]]></category>
		<category><![CDATA[for next]]></category>
		<category><![CDATA[include]]></category>
		<category><![CDATA[php dersleri]]></category>
		<category><![CDATA[php fonksiyon]]></category>
		<category><![CDATA[php fonksiyon hazırlamak]]></category>
		<category><![CDATA[php işlemleri]]></category>
		<category><![CDATA[strtolower]]></category>
		<category><![CDATA[strtoupper]]></category>

		<guid isPermaLink="false">http://programlama.venus.gen.tr/?p=41</guid>
		<description><![CDATA[PHP içerisinde birçok fonksiyon barındırır. Bu fonksiyonların bir kısmı kendiliğinden gelir, bir kısmı ise php.ini dosyasından belirteceğiniz modüllerle kullanılabilir hale gelir. Örneğin strtolower() fonksiyonu her php dosyasının çalıştırabileceği bir fonksiyon iken imagecreatefromjpeg() fonksiyonu yalnız php_gd2.dll kütüphanesinin dahili ile çalıştırılabilir.
Ayrıca php kodlaması yapan kişi yani programcı da kendine özgü fonksiyonlar yazabilir. Bunun için php dosyamızın içerisinde [...]]]></description>
			<content:encoded><![CDATA[<p>PHP içerisinde birçok fonksiyon barındırır. Bu fonksiyonların bir kısmı kendiliğinden gelir, bir kısmı ise php.ini dosyasından belirteceğiniz modüllerle kullanılabilir hale gelir. Örneğin <strong>strtolower()</strong> fonksiyonu her php dosyasının çalıştırabileceği bir fonksiyon iken <strong>imagecreatefromjpeg()</strong> fonksiyonu yalnız php_gd2.dll kütüphanesinin dahili ile çalıştırılabilir.</p>
<p>Ayrıca php kodlaması yapan kişi yani programcı da kendine özgü fonksiyonlar yazabilir. Bunun için php dosyamızın içerisinde fonksiyon kodlarına yer verebileceğimiz gibi <strong>include()</strong> ya da <strong>require()</strong> ile fonksiyonların bulunduğu bir dosyadan da veri çekebiliriz.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p41code17'); return false;">Kodu Görüntüle</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p4117"><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code" id="p41code17"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000000; font-weight: bold;">function</span> YeniFonksiyon<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$degisken</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
   <span style="color: #666666; font-style: italic;">// işlemler buraya gelecek</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p>Burada fonksiyon adından sonra gelen parantezle belirttiğimiz değişkenler olmasa da olur. Fakat her durumda parantez açılır ve kapanır YeniFonksiyon() şeklinde. Eğer bir değişken için varsayılan bir değer belirtmek istersek bunu == operatörü ile yaparız:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p41code18'); return false;">Kodu Görüntüle</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p4118"><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code" id="p41code18"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000000; font-weight: bold;">function</span> HaritadaGoster<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$nereyi</span><span style="color: #339933;">,</span> <span style="color: #000088;">$neresi</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">'Merkez'</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
   <span style="color: #666666; font-style: italic;">// işlemler buraya gelecek</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p>Yukarıdaki kodda görüldüğü üzere fonksiyonda ilk değişkeni kullanmak zorunludur, fakat ikinci değişken olan $neresi kullanılmasa da olur. Bu durumda &#8216;Merkez&#8217; adını alacaktır. Bu değişkenler her durumda fonksiyon içinde kullanılacaktır. Değişkenlerin aralarına virgül (,) koymayı unutmamak gerek.</p>
<p>Fonksiyon içerisindeki her değişken, genel değişkenlerden bağımsız hareket etmektedir. Yani eğer fonksiyon dışındaki php belgemizde $degisken kullanıldıysa ve değer içeriyorsa, fonksiyon içinde bu değişken işlev görmez ve undefined (tanımsız) olarak görülür. Bunu engelleyip genel değişkeni fonksiyona dahil etmek için <strong>global</strong> komutunu kullanırız.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p41code19'); return false;">Kodu Görüntüle</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p4119"><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code" id="p41code19"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000000; font-weight: bold;">function</span> Kucult<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
   <span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$genel</span><span style="color: #339933;">;</span>
   <span style="color: #b1b100;">return</span> <a href="http://www.php.net/strtolower"><span style="color: #990000;">strtolower</span></a><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$genel</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p>Her fonksiyon return (veri); şeklinde geri döner. Buradan dönen veri mantıksal (true, false), alfasayısal, sayısal ya da dize değer taşıyabilir.</p>
<p>Şimdi öğrendiklerimizi uygulayacağımız bir php fonksiyonu yazalım. Örneğin yazacağımız fonksiyon bir cümlede geçen her kelimenin baş harfini büyütsün ve bize versin.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p41code20'); return false;">Kodu Görüntüle</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p4120"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
</pre></td><td class="code" id="p41code20"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000088;">$degisken</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'büyük tavşan küçük fareyi görünce çok sevindi.'</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> BasHarfBuyut<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$degisken</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> BasHarfBuyut<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$kelime</span> <span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
   <span style="color: #000088;">$kelimeler</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/explode"><span style="color: #990000;">explode</span></a><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">&quot; &quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$kelime</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #000088;">$yeni_kelime</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
   <span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span> <span style="color: #000088;">$i</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span> <span style="color: #339933;">&lt;</span> <a href="http://www.php.net/count"><span style="color: #990000;">count</span></a><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$kelimeler</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span><span style="color: #339933;">++</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
      <span style="color: #000088;">$kelimeler</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$i</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/strtoupper"><span style="color: #990000;">strtoupper</span></a><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$kelimeler</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$i</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span>0<span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <a href="http://www.php.net/substr"><span style="color: #990000;">substr</span></a><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$kelimeler</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$i</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> 1<span style="color: #339933;">,</span> <a href="http://www.php.net/strlen"><span style="color: #990000;">strlen</span></a><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$kelimeler</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$i</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#41;</span> <span style="color: #339933;">-</span> 1 <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #000088;">$yeni_kelime</span> <span style="color: #339933;">.=</span> <span style="color: #000088;">$kelimeler</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$i</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">' '</span><span style="color: #339933;">;</span>
   <span style="color: #009900;">&#125;</span>
   <span style="color: #b1b100;">return</span> <a href="http://www.php.net/trim"><span style="color: #990000;">trim</span></a><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$yeni_kelime</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p>Bu örnekte fonksiyonun görevi öncelikle tüm boşluk ( ) işaretlerine bakarak yeni bir dize oluşturmak ve böylece kelimeleri ayırmak. Daha sonraki işlem kelimelerin ilk harfini ayrı ayrı büyütmek ve son olarak işlenmiş halini göndermek.</p>
<p>Bir sonraki konuda görüşmek dileklerimizle&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://programlama.venus.gen.tr/php/fonksiyon-hazirlamak.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Javascript String İşlemleri</title>
		<link>http://programlama.venus.gen.tr/javascript/javascript-string-islemleri.html</link>
		<comments>http://programlama.venus.gen.tr/javascript/javascript-string-islemleri.html#comments</comments>
		<pubDate>Tue, 03 Feb 2009 18:56:00 +0000</pubDate>
		<dc:creator>Venus</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[alfasayısal değişkenler]]></category>
		<category><![CDATA[indexof]]></category>
		<category><![CDATA[java script]]></category>
		<category><![CDATA[java string]]></category>
		<category><![CDATA[javascript fonksiyonları]]></category>
		<category><![CDATA[tolowercase]]></category>
		<category><![CDATA[touppercase]]></category>

		<guid isPermaLink="false">http://programlama.venus.gen.tr/?p=37</guid>
		<description><![CDATA[Uzun bir aradan sonra tekrar merhaba. Bugün sizlerle Java Script dilinde kullandığımız alfasayısal (string) değerler ile ilgili fonksiyonlar ve işlemler hakkında bilgi vereceğim. Öncelikle script dilinde nasıl bir string (harfler ve sayılar) değişken oluştururuz buna bakalım:
var a = 'Merhaba Dünya';
var b = 'İstanbul un en güzel mekanları burada.';
Burada &#8220;var degiskenadi = tırnak veya çift tırnak [...]]]></description>
			<content:encoded><![CDATA[<p>Uzun bir aradan sonra tekrar merhaba. Bugün sizlerle Java Script dilinde kullandığımız alfasayısal (string) değerler ile ilgili fonksiyonlar ve işlemler hakkında bilgi vereceğim. Öncelikle script dilinde nasıl bir string (harfler ve sayılar) değişken oluştururuz buna bakalım:</p>
<p><code>var a = 'Merhaba Dünya';<br />
var b = 'İstanbul un en güzel mekanları burada.';</code></p>
<p>Burada &#8220;var degiskenadi = tırnak veya çift tırnak arasına değişken değeri&#8221; şeklinde bir ayarlama yaparak değişkenlerimizi belirledik. Eğer üst ayraç kullanacaksak kaçış işareti olan (\) unutulmamalıdır. Aksi takdirde java script hata verecektir.</p>
<p><code>var b = 'İstanbul'un en güzel mekanları burada.'; // yanlış<br />
var c = 'İstanbul\'un en güzel mekanları burada.'; // doğru<br />
var d = "İstanbul'un en güzel mekanları burada."; // ayıraç yerine çift tırnak, diğer bir yol</code></p>
<p>Bir string değişkenin karakter sayısını <b>.length</b> komutu vermektedir.</p>
<p><code>var a = 'Merhaba Dünya!';<br />
var b = a.length; // değişken 14 sayısını içerir</code></p>
<p>Alfasayısal değişkenleri birleştirirken + (artı) işareti kullanılır.</p>
<p><code>var a = 'Murat';<br />
var b = 'Eliçalışkan';<br />
var c = a + ' ' + b; // değişken Murat Eliçalışkan olmuştur</code></p>
<p>Eğer bir string değer ile integer (sayısal) değer toplanırsa değer otomatik olarak alfasayısala dönüşecektir. Alfasayısallarda 4 işlem yapılamaz. Fakat string bir değer integere dönüştürülmek istenirse toString() fonksiyonundan yararlanabiliriz:</p>
<p><code>var a = 1 + 2;<br />
var b = a.toString(); // b string bir değişken olup değeri '3' dür.</code></p>
<p>Bir alfasayısal değişken sadece sayısal değerler içeriyorsa sayısal değere dönüştürülebilir. Bunun için toplama haricindeki matematiksel bir işlem yapmak yeterlidir (Toplama yani + işareti javascriptin kuralı gereği değişkenin sonuna ekler ve alfasayısal değer verir). Örneğin:</p>
<p><code>var a = '100';<br />
var b = a * 10; // değişken 1000 olur</code></p>
<p><strong>Çeşitli Alfasayısal Fonksiyonlar</strong></p>
<p><b>indexOf() Fonksiyonu</b></p>
<p>İlk olarak indexOf() fonksiyonundan bahsedelim. Bu fonksiyon bize alfasayısal bir değer içerisinde yer alan karakter ya da karakter grubunun konumu hakkında bilgi verir. Eğer sonuç -1 ise öyle bir karakter yoktur, 0 ve daha büyükse ise karakterin bulunduğu yeri bize bildirir.</p>
<p><code>var a = 'Merhaba Dünya!';<br />
var b = a.indexOf('a'); // 4 verir</code></p>
<p>Sonuç 4 olarak çıkacaktır. Çünkü aranılan ilk değer 5. sıradadır, ilk değer 0 ile başlayacağı için bu bir eksiği olacaktır. Eğer a.indexOf(&#8216;w&#8217;) deseydik, sonuç bulamayacağı için -1 olarak görünecekti.</p>
<p><b>charAt() Fonksiyonu</b></p>
<p>Verilen numarada geçen karakteri bize veren fonksiyondur.</p>
<p><code>var a = 'Merhaba Dünya!';<br />
document.write(a.charAt(5)); // b harfini gösterir.</code></p>
<p><b>split() Fonksiyonu</b></p>
<p>Bu fonksiyon değişkendeki bir karaktere göre kelimeleri dize değeri haline getirmemize yarar. Örneğin bir cümledeki tüm kelimeleri tek tek ele almamız gerekirse:</p>
<p><code>var a = 'Bugün hava güzel!';<br />
var dize = new Array();<br />
dize = a.split(' '); // boşluk karakterini ayıraç olarak alır</code></p>
<p>Bu durumda dize[0] Bugün, dize[1] hava, dize[2] ise güzel! kelimelerini barındıracaktı.</p>
<p><b>substring() Fonksiyonu</b></p>
<p>Değişken içerisinde belirtilen karakterleri almamızı sağlar. Örneğin bir kelimenin içerisindeki 4. karakter ile 8. karakter arasındaki kelimeleri alacaksak. substring( baslangic, bitis ) şeklinde kullanılır:</p>
<p><code>var a = 'Venus Programlama';<br />
document.write( a.substring(0, 5) ); // Venus verir</code></p>
<p><b>substr() Fonksiyonu</b></p>
<p>Diğerinden farklı olarak ikinci yazılan değer, ne kadar karakter ilerleneceğidir. Örneğin substr( 4, 8 ) dersek 4. karakterden 8 ileri gidip bu kısmı alacağı anlamına gelir.</p>
<p><b>toUpperCase() ve toLowerCase() Fonksiyonu</b></p>
<p>Bir alfasayısal değerdeki tüm harfleri küçültür ya da büyütür. Örneğin:</p>
<p><code>var a = 'Merhaba Dünya!';<br />
var b = a.toUpperCase(); // MERHABA DÜNYA!<br />
var c = a.toLowerCase(); // merhaba dünya!</code></p>
<p>Bir sonraki yazıda görüşmek dileklerimizle&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://programlama.venus.gen.tr/javascript/javascript-string-islemleri.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
