<?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"
	>

<channel>
	<title>Murat Tüfekçi</title>
	<atom:link href="http://www.mt.gen.tr/Weblog/index.php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mt.gen.tr/Weblog</link>
	<description>Paylaşmanın asaletini hiç bir zaman bencilliğin çirkinliğine tercih etme, ve öyle bir arkadaş seç ki sen onun için ölümü düşündüğünde o senin için çoktan ölmüş olsun.</description>
	<pubDate>Tue, 16 Sep 2008 15:14:17 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
	<language>en</language>
			<item>
		<title>Bilinmeyen Serialization</title>
		<link>http://www.mt.gen.tr/Weblog/index.php/2008/09/16/bilinmeyen-serialization/</link>
		<comments>http://www.mt.gen.tr/Weblog/index.php/2008/09/16/bilinmeyen-serialization/#comments</comments>
		<pubDate>Tue, 16 Sep 2008 15:13:51 +0000</pubDate>
		<dc:creator>Murat Tüfekçi</dc:creator>
		
		<category><![CDATA[Asp.Net]]></category>

		<category><![CDATA[C#]]></category>

		<category><![CDATA[Kategorisiz]]></category>

		<guid isPermaLink="false">http://www.mt.gen.tr/Weblog/index.php/2008/09/16/bilinmeyen-serialization/</guid>
		<description><![CDATA[Bilinmeyen fakat bazen çok yararlı olacağını düşündüğüm ve sizinle paylaşmak istediğim Serialization hakkında bir kaç yararlı ip uçu vereceğim. Ve web uygulaması veya windows uygulaması olsun cok yararlı olabileceğine eminim ve bu konuya birazda olsa açıklık getireceğim.

Direk konuya girerekten açıklamaya çalışacağım. Bir turizm projesi üzerinde çalıştığım için direk kendi projemden örnek vererek başlıyacağım. Otel rezervasyonu [...]]]></description>
			<content:encoded><![CDATA[<p>Bilinmeyen fakat bazen çok yararlı olacağını düşündüğüm ve sizinle paylaşmak istediğim Serialization hakkında bir kaç yararlı ip uçu vereceğim. Ve web uygulaması veya windows uygulaması olsun cok yararlı olabileceğine eminim ve bu konuya birazda olsa açıklık getireceğim.</p>
<p><span id="more-21"></span></p>
<p>Direk konuya girerekten açıklamaya çalışacağım. Bir turizm projesi üzerinde çalıştığım için direk kendi projemden örnek vererek başlıyacağım. Otel rezervasyonu yaparken rezervasyon adında bir sınıf yaratıp bu sınıfın üyelerini gerekli bilgilerle doldurup rezervasyon sonunda bu sınıfı kullanarak kolayca bilgilerimi veritabanına kaydetmek gibi cok kullanışlı ve kolay bir yol izlemek istedim. Fakat herzaman ki gibi kolay olarak görünen bu olay bazı yerlerinde biraz sorun yarattı. Esas sorun bu sınıfı sayfalar ve  post ları arasında taşımaktı. Ama taşıma işlemi kendi içinde de ikiye ayrıldı. Birincisi bu bilgiyi sayfalar arasında ikiniciside bir sayfa içindeki birden fazla post olaylarındaydı. Sayfalar arasında bu sınıfı taşımam zaten bildiğim bir konuydu Session nesnesin de sınıflarımızı direk atayıp sonra basit bir tip dönüşümü ile alabiliyorduk,</p>
<p>Session["Sinifim"]=new Sinifim(); // Siniftan Atama<br />
Sinifim sf= (Sinifim)Session["Sinifim"]; // Session Objesinde  Atama</p>
<p>örnekte belirttiğim gibi bu işlem zaten bilindik bir durumdu fakat ben bu sınıfı sayfanın kendi postları içinde aynı şekilde taşıyabilirdim ama session nesnesini kullanmak bazen performans sorunlarına neden olduğu bildiğim bir durumdu. Bu performans durumdan sayfalar arasındaki geçişlerde vazgeçebilirdim ama sayfanın kendi postları içerinde yogun biçimde sunucu taraflı kodlar olduğu için tutmak istemiyordum. Bu yüzdende sayfaya özel olarak tutalan viewstate i araştırmaya başladım. ViewState bildiğiniz üzere sayfadaki kontrollerin sayfa postları sırasında değerlerini kaybetmemesini sağlamaktır. Mantık olarak bu kontroller için kullanılıyorsa, benim yarattığım bir sınıf içinde kullanılabilmeliydi. Araştırmalarım sonucu Serialization konusunun can alıcı kullanışlılıkta bir konu oluğunu öğrendim ve uyguladım. Örnek olarak elinizde bir sınıf var ve bu sınıfı tuttuğu değerlerle bir dosyada saklamak istiyorsunuz. Eger bu sınıfı Serialization ile isaretlerseniz bu mumkün olacak ve dosya içinde binary olarak saklayabileceksiniz.  ViewState içinde veri saklamanın aslında dosyanın içinde veri saklamak gibi çalıştığından pek farkı yoktur.Bu yüzden eğer bir sınıfı ViewState içerisinde saklamak istiyorsanız o sınıfı Serialization ile işaretlemeniz gerekmektedir. İşin özü bu. Örnek olarak,</p>
<p>[Serializable]<br />
public class Oda{}</p>
<p>şeklinde tanımlanmış bir sınıfı viewstate e veya bir dosyaya sorunsuz kaydedebilirsiniz.</p>
<p>Başka bir durumda bazen sınıfın barındırdığı bazı değerlerin viewstate de fazla yer tutmaması için saklamak istemeyebilirsiniz. Örnek olarak DataTable tipine olan bir nesneniz içerisinde çok büyük bilgi tutabilir ki bu bilgiyi viewstate&#8217;e kaydetmek mantık açısından yanlış olurdu. Düşünsenize 50 KB lik binary veri saklayan bir hidden input u sunucuya post etmek:) . Herneyse bu tanıma uyan bir durumla karşılaşırsanız yapmanız gerek şu,</p>
<p>[NonSerialized]<br />
public DataTable CocukUrunTablo;<br />
diyerekten bu değerin saklanmasını engelleyebilirsiniz diyorum ve bu konuyuda burda kapatiyorum.</p>
<p>Sorularınızı cevaplamaktan mutluluk duyacağımdan email ve yorumlarınızı bekliyorum.</p>
<p style="margin-left: 40px">&nbsp;</p>
<p><span class="c5"></span><span class="c5"></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.mt.gen.tr/Weblog/index.php/2008/09/16/bilinmeyen-serialization/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PHP de Error in my_thread_global_end(): 1 threads didn&#8217;t exit sorunu</title>
		<link>http://www.mt.gen.tr/Weblog/index.php/2008/04/10/php-de-error-in-my_thread_global_end-1-threads-didnt-exit-sorunu/</link>
		<comments>http://www.mt.gen.tr/Weblog/index.php/2008/04/10/php-de-error-in-my_thread_global_end-1-threads-didnt-exit-sorunu/#comments</comments>
		<pubDate>Thu, 10 Apr 2008 15:13:33 +0000</pubDate>
		<dc:creator>Murat Tüfekçi</dc:creator>
		
		<category><![CDATA[PHP]]></category>

		<category><![CDATA[libmysql.dll]]></category>

		<category><![CDATA[MySQL]]></category>

		<category><![CDATA[my_thread_global_end()]]></category>

		<category><![CDATA[php 5.2.5]]></category>

		<category><![CDATA[php mysql sorunu]]></category>

		<guid isPermaLink="false">http://www.mt.gen.tr/Weblog/index.php/2008/04/10/php-de-error-in-my_thread_global_end-1-threads-didnt-exit-sorunu/</guid>
		<description><![CDATA[Error in my_thread_global_end(): 1 threads didn&#8217;t exit sorunu var olan libmysql.dll dosyasını php 5.2.1 sürümü ile gelen libmysql.dll ile değiştirmeniz bu problemi aşmanızı sağlayacaktır.
Bu dosyayı ister http://www.php.net/releases/ adresinde 5.2.1 sürümünden elde edin isterseniz  ya da aşağıda linke tıklayarak buradan indirebilirsiniz. Kolay gelsin..
Mysql Error in my_thread_global_end() sorununu çözen libmysql.dll dosyasını indirmek için tıklayın.

]]></description>
			<content:encoded><![CDATA[<p>Error in my_thread_global_end(): 1 threads didn&#8217;t exit sorunu var olan libmysql.dll dosyasını php 5.2.1 sürümü ile gelen libmysql.dll ile değiştirmeniz bu problemi aşmanızı sağlayacaktır.</p>
<p>Bu dosyayı ister http://www.php.net/releases/ adresinde 5.2.1 sürümünden elde edin isterseniz  ya da aşağıda linke tıklayarak buradan indirebilirsiniz. Kolay gelsin..</p>
<p><a href="http://www.mt.gen.tr/Weblog/wp-content/uploads/2008/04/libmysql.dll" title="Mysql Error in my_thread_global_end() en sorununu çözen dosya">Mysql Error in my_thread_global_end() sorununu çözen libmysql.dll dosyasını indirmek için tıklayın.<br />
</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.mt.gen.tr/Weblog/index.php/2008/04/10/php-de-error-in-my_thread_global_end-1-threads-didnt-exit-sorunu/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Ucuz Tatil Sevenlere Erken Rezervasyon Kampanyası</title>
		<link>http://www.mt.gen.tr/Weblog/index.php/2008/02/25/ucuz-tatil-sevenlere-erken-rezervasyon-kampanyasi/</link>
		<comments>http://www.mt.gen.tr/Weblog/index.php/2008/02/25/ucuz-tatil-sevenlere-erken-rezervasyon-kampanyasi/#comments</comments>
		<pubDate>Mon, 25 Feb 2008 12:50:13 +0000</pubDate>
		<dc:creator>Murat Tüfekçi</dc:creator>
		
		<category><![CDATA[Turizm]]></category>

		<guid isPermaLink="false">http://www.mt.gen.tr/Weblog/index.php/2008/02/25/ucuz-tatil-sevenlere-erken-rezervasyon-kampanyasi/</guid>
		<description><![CDATA[Bildiğiniz gibi tatil sezonu yaklaşmakta. Bütün büyük tur operatorleri erken rezervasyon kampanyaları ile ucuz tatil imkanları sunmakta. Erken rezervasyonun avantajı ise tabi ki cok yüksek olan indirim oranları. %20 lerden %50 lere kadar çeşitli indirim oranları mevcut. Bu sayede tatil sevenler çok uygun fiyatlarla tatillerini daha kaliteli otellerde gecirebilirler.

Yaz aylarının yaklaşması turizm piyasasında hareketlenmeye sebep [...]]]></description>
			<content:encoded><![CDATA[<p>Bildiğiniz gibi tatil sezonu yaklaşmakta. Bütün büyük tur operatorleri erken rezervasyon kampanyaları ile ucuz tatil imkanları sunmakta. Erken rezervasyonun avantajı ise tabi ki cok yüksek olan indirim oranları. %20 lerden %50 lere kadar çeşitli indirim oranları mevcut. Bu sayede tatil sevenler çok uygun fiyatlarla tatillerini daha kaliteli otellerde gecirebilirler.</p>
<p><span id="more-18"></span></p>
<p>Yaz aylarının yaklaşması turizm piyasasında hareketlenmeye sebep olmak birlikte sezonda en cok satışı yapabilmek tur operatörlerinin en büyük amacı. Bunun ilk adımı olarakta çeşitli erken rezervasyon kampanyalarını müşterilerine sunmaktalar. <a href="http://www.bamtur.com ">BAMTUR</a>, <a href="http://www.etstur.com">ETS</a>, <a href="http://www.jollytur.com">JOLLY</a>, <a href="http://www.prontotour.com">PRONTO</a> v.b.  büyük turizm firmaları bu kampanyalarla müşteri ağlarını genişletmeye çalışıyorlar. Tatil seven vatandaşlarımızın bu gibi fırsatları kaçırmamaları şiddetle önermekteyim. Şimdiden iyi tatiller..</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mt.gen.tr/Weblog/index.php/2008/02/25/ucuz-tatil-sevenlere-erken-rezervasyon-kampanyasi/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Asp.Net , Url Rewriting ve UrlRewritingNet.UrlRewrite</title>
		<link>http://www.mt.gen.tr/Weblog/index.php/2008/02/13/aspnet-url-rewriting-ve-urlrewritingneturlrewrite/</link>
		<comments>http://www.mt.gen.tr/Weblog/index.php/2008/02/13/aspnet-url-rewriting-ve-urlrewritingneturlrewrite/#comments</comments>
		<pubDate>Wed, 13 Feb 2008 11:32:07 +0000</pubDate>
		<dc:creator>Murat Tüfekçi</dc:creator>
		
		<category><![CDATA[Asp.Net]]></category>

		<category><![CDATA[C#]]></category>

		<guid isPermaLink="false">http://www.mt.gen.tr/Weblog/index.php/2008/02/13/aspnet-url-rewriting-ve-urlrewritingneturlrewrite/</guid>
		<description><![CDATA[Günümüzde arama motorlarında üst sıralarda olmak çok büyük önem taşımaya başladı. Her websitesi sahibinin ilk aradığı koşulun Google,Yahoo,Live Search gibi arama motorlarında üst sıralarda olmak olduğunu görmekteyiz. Bu bağlamda site sahiplerinin (ya da geliştiricilerinin) bazı kurallara ve ince noktalara dikkat etmeleri gerekmektedir. Bir web sayfasının arama motorlarında üst sıralarda çıkmanın, elimizde olan ya da elimizde [...]]]></description>
			<content:encoded><![CDATA[<p>Günümüzde arama motorlarında üst sıralarda olmak çok büyük önem taşımaya başladı. Her websitesi sahibinin ilk aradığı koşulun Google,Yahoo,Live Search gibi arama motorlarında üst sıralarda olmak olduğunu görmekteyiz. Bu bağlamda site sahiplerinin (ya da geliştiricilerinin) bazı kurallara ve ince noktalara dikkat etmeleri gerekmektedir. Bir web sayfasının arama motorlarında üst sıralarda çıkmanın, elimizde olan ya da elimizde olmayan gereksinimlerden kaynaklığından bir garantisi yoktur. Ama belirlenmiş kurallar olduğuda açıktır. Bu yüzden elimizden geldiğince bu kurallara uyarsak arama motorları sonuçlarında daha üst sıralarda kendimize yerler bulabiliriz. Öyleyse, ne yapmak gerekir derseniz bu başlı başlına bir olay olduğundan hepsinden bahsedemicem ama en önemli koşullardan biri üstünde yoğunlaşıcam. Önemli olan bu gereksinimde aranan kelime ya da kelime grubunun sayfa adresinde geçip geçmediğidir.</p>
<p>Asp.Net teknolojisi bize kendi içinde sanal adresler yaratıp alt tarafta başka bir sayfanın yaptığı işlemi yaptırmamıza olanak sağlar.  Bunu kendi yaptığımız httpmodule dediğimiz özel bir bileşenler sayesinde yapmak mumkun olduğu gibi geliştirilmiş hazır modüllerde kullanmak zaten kısıtlı olan zamanımızı korumamızı sağlar. Benim burda bahsedeceğimde bu tür hazır bir modül olan UrlRewritingNet.UrlRewrite modulu.</p>
<p><span id="more-17"></span>Kullanması çok kolay bu modül,  performans bakımından da gayet tatmin edici sonuçlar vermekte. Gel gelelim esas işin nasıl yapılacağına ilk önce modulle gelen dll dosyasını bin klasorune kopyamanız gerekiyor sonrasındada aşağıdaki satırları web.config dosyanıza eklemelisiniz ;</p>
<pre name="code" class="xml">
&lt;httpModules&gt;
&lt;add name="UrlRewriteModule" type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter"/&gt;
&lt;/httpModules&gt;</pre>
<p>Eger Http modul tagı zaten var ise httpmodules tagları arasına &lt;add name=&#8221;UrlRewriteModule&#8221; type=&#8221;UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter&#8221;/&gt; eklemeniz yeterli. Diğer türlü br web.config içinde birden çok &lt;httpModules&gt; tag ı hata verecektir.</p>
<p>İkinci işlem ise urlwrite kurallarının yazılması. Kurallar &lt;configuration&gt; tag ının içine yazılmalıdır :</p>
<pre name="code" class="xml">
&lt;?xml version="1.0"?&gt;
&lt;configuration&gt;
&lt;urlrewritingnet rewriteOnlyVirtualUrls="true" contextItemsPrefix="QueryString" defaultPage="default.aspx" defaultProvider="RegEx" xmlns="http://www.urlrewriting.net/schemas/config/2006/07"&gt;
&lt;rewrites&gt;
&lt;add name="RewriteOnDomain" virtualUrl="^http\://(.*)/SampleWeb/domain/(.*)/Detail(.*).aspx" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/Default.aspx?language=$3&amp;id=$4;&amp;domain=$1" rewrite="Domain" ignoreCase="true"/&gt;
&lt;add name="OtelDetalRewrite" virtualUrl="^~/Otel_(.*)_(.*).aspx" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/OtelDetay.aspx?$2" ignoreCase="true"/&gt;
&lt;add name="TurDetalRewrite" virtualUrl="^~/Tur_(.*)_(.*).aspx" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/TurDetay.aspx?TurID=$2" ignoreCase="true"/&gt;
&lt;add name="Iletisim2PathRewrite" virtualUrl="^~/(.*)/(.*)/Iletisim.aspx" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/Iletisim.aspx" ignoreCase="true"/&gt;
&lt;add name="Iletisim1PathRewrite" virtualUrl="^~/(.*)/Iletisim.aspx" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/Iletisim.aspx" ignoreCase="true"/&gt;
&lt;add name="RedirectInApplication" virtualUrl="^~/(.*)/Default.aspx" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/Default.aspx" redirect="Application" redirectMode="Permanent" ignoreCase="true"/&gt;
&lt;add name="KickBrowserToDomain" virtualUrl="^http\://(.*)/SampleWeb/kickto/(.*).aspx" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="http://$2?source=$1" redirect="Domain" redirectMode="Permanent" ignoreCase="true"/&gt;
&lt;/rewrites&gt;
&lt;/urlrewritingnet&gt;

...... &lt;/configuration&gt;
</pre >
Yukarida görüldüğü gibi bir kaç örnek kural da mevcut. Gelelim bu kurallar hakkında bir kaç açıklamaya  :
<pre name="code" class="xml">
&lt;add name="OtelDetalRewrite" virtualUrl="^~/Otel_(.*)_(.*).aspx" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/OtelDetay.aspx?$2" ignoreCase="true"/&gt;
</pre>
<p>bu örnekte (.*)  yazan yerlere denk gelen değerler $index şeklinde sıralanıyorlar. Gördüğünüz gibi   (^~/Otel_(.*)_(.*).aspx) ^~/Otel_1_25.aspx şeklinde bir adres istenirse bu adres arka tarafta  (~/OtelDetay.aspx?$2) ~/OtelDetay.aspx?25 sayfasını çağıracaktır.</p>
<pre name="code" class="xml">
&lt;add name="Iletisim1PathRewrite" virtualUrl="^~/(.*)/Iletisim.aspx" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/Iletisim.aspx" ignoreCase="true"/&gt;
</pre">
Bu kuraldada eğer herhangi bir alt klasörden iletisim.aspx istenirse application root ta iletisim.aspx in çağıralacağını belitmekteyiz.</p>
<p>Bazı Uyarılar;</p>
<p>- Sanal klasorlerle çalışırken resimlerinizin, stylesheet lerin,  javascript dosyalarınızın vb. yollarına dikkat edin.<br />
- ASP.NET Isapi tarafından ele alınmayan dosyalar için (xml,html vb.) iis de bütün istekleri asp.net isapi ele alacak şekilde değiştirmek gerekebilir.</p>
<p>- Asp.Net AJAX (ATLAS) çalışmayabiliyor çözümünü henüz bulamadım bulunca direk yazacağım zaten. Google grubundan sordum fakat yanıt alamadım. Aslında sorun Asp.Net Ajax kaynaklı olduğundan cevap verememeleri normal.<br />
- Ajaxpro kutuphanesi sorunsuz çalışıyor... <a href="http://www.bamtur.com/">http://www.bamtur.com</a> adresinde çalışan örnekleri mevcut.</p>
<p>Her hangi bir sorunuz ya da sorununuz varsa yanıtlamaktan mutluluk duyarım.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mt.gen.tr/Weblog/index.php/2008/02/13/aspnet-url-rewriting-ve-urlrewritingneturlrewrite/feed/</wfw:commentRss>
		</item>
		<item>
		<title>musikCube , mp3 listelerinizi kolay yönetin&#8230;</title>
		<link>http://www.mt.gen.tr/Weblog/index.php/2007/11/10/musiccube/</link>
		<comments>http://www.mt.gen.tr/Weblog/index.php/2007/11/10/musiccube/#comments</comments>
		<pubDate>Sat, 10 Nov 2007 13:27:21 +0000</pubDate>
		<dc:creator>Murat Tüfekçi</dc:creator>
		
		<category><![CDATA[Kullanışlı Yazılımlar]]></category>

		<guid isPermaLink="false">http://www.mt.gen.tr/Weblog/index.php/2007/11/10/musiccube/</guid>
		<description><![CDATA[Bügün musikCube yazılımını deneme şansı buldum. Cidden hoş özellikleri var. Ama en can alıcı özelliğin dynamic playlists özelliği. Mp3 arşivinizden sorgulama yönetmi (SQL) ile dinamik oynatma listeleri yaratabiliyorsunuz&#8230;. Library eklediğiniz butun muzikler içinde artist,album,genre,title,rating,filename,bitrate,timesplayed,lastplayed,timeadded,tracknum ve notes alanlarından soruglamalar yapabiliyorsunuz örnek olarak album isminde santana kelimesi gecen bütün şarkılar için;
LOWER(album) LIKE &#8216;%santana%&#8217;
ya da isminde santana kelimesi [...]]]></description>
			<content:encoded><![CDATA[<p>Bügün musikCube yazılımını deneme şansı buldum. Cidden hoş özellikleri var. Ama en can alıcı özelliğin dynamic playlists özelliği. Mp3 arşivinizden sorgulama yönetmi (SQL) ile dinamik oynatma listeleri yaratabiliyorsunuz&#8230;. Library eklediğiniz butun muzikler içinde artist,album,genre,title,rating,filename,bitrate,timesplayed,lastplayed,timeadded,tracknum ve notes alanlarından soruglamalar yapabiliyorsunuz örnek olarak album isminde santana kelimesi gecen bütün şarkılar için;</p>
<p>LOWER(album) LIKE &#8216;%santana%&#8217;</p>
<p>ya da isminde santana kelimesi gecen bütün şarkılar için;</p>
<p>LOWER(filename) LIKE &#8216;%santana%&#8217;</p>
<p>Çok yararlı ve kullanımı inanılmaz kolaylaştırdığı için herkese şiddetle tavsiye ediyorum&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mt.gen.tr/Weblog/index.php/2007/11/10/musiccube/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Asp.Net 2.0 ve Compiled .DLL (PreCompiled)</title>
		<link>http://www.mt.gen.tr/Weblog/index.php/2007/04/27/aspnet-20-ve-compiled-dll-precompiled/</link>
		<comments>http://www.mt.gen.tr/Weblog/index.php/2007/04/27/aspnet-20-ve-compiled-dll-precompiled/#comments</comments>
		<pubDate>Fri, 27 Apr 2007 08:22:45 +0000</pubDate>
		<dc:creator>Murat Tüfekçi</dc:creator>
		
		<category><![CDATA[Asp.Net]]></category>

		<guid isPermaLink="false">http://www.mt.gen.tr/Weblog/index.php/2007/04/27/aspnet-20-ve-compiled-dll-precompiled/</guid>
		<description><![CDATA[Asp.Net 1.x de olan sitenin butun koldarının bir dll içerisinde toplanmasıydı. Bu bazı açılardan iyi bazı açılardan da kötüydü. Asp.Net 2.0 bu özellik varsayılan olmaktan çıkmış ve opsiyonel olarak karşımıza çıkmıştır. Kodların açık olarak görünmesi işimize yarasa da bazı durumlarda direkt görünmemesini sağlama ihtiyacı duyabiliriz.
Yapmamız gereken Solution Explorer da Proje ismine sağ tıkladığımızda açılan menude [...]]]></description>
			<content:encoded><![CDATA[<p>Asp.Net 1.x de olan sitenin butun koldarının bir dll içerisinde toplanmasıydı. Bu bazı açılardan iyi bazı açılardan da kötüydü. Asp.Net 2.0 bu özellik varsayılan olmaktan çıkmış ve opsiyonel olarak karşımıza çıkmıştır. Kodların açık olarak görünmesi işimize yarasa da bazı durumlarda direkt görünmemesini sağlama ihtiyacı duyabiliriz.</p>
<p>Yapmamız gereken Solution Explorer da Proje ismine sağ tıkladığımızda açılan menude <strong>Publish Website</strong> seçeneğine tıklamanız. Açılan pencerede sizden opsiyonlar seçmenizi ve projenin publishable versiyonunu nereye kaydedeceğinizi soracaktır. Dosya yolunu belirttikten sonra <strong>Allow this precompiled  site to updatable</strong> seçeğinizi seçtikten sonra OK tuşuna basmanız yeterli olacaktır. Bu seçenekler sitenizde formlar için ve app_code klasorundeki .cs dosyalarını dll dosyaları haline getirecektir.</p>
<p>Kolay gelsin.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mt.gen.tr/Weblog/index.php/2007/04/27/aspnet-20-ve-compiled-dll-precompiled/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Asp.Net FTP Upload (C#)</title>
		<link>http://www.mt.gen.tr/Weblog/index.php/2007/04/08/aspnet-ftp-upload-c/</link>
		<comments>http://www.mt.gen.tr/Weblog/index.php/2007/04/08/aspnet-ftp-upload-c/#comments</comments>
		<pubDate>Sun, 08 Apr 2007 18:54:33 +0000</pubDate>
		<dc:creator>Murat Tüfekçi</dc:creator>
		
		<category><![CDATA[Asp.Net]]></category>

		<category><![CDATA[C#]]></category>

		<category><![CDATA[Kategorisiz]]></category>

		<guid isPermaLink="false">http://www.mt.gen.tr/Weblog/index.php/2007/04/08/aspnet-ftp-upload-c/</guid>
		<description><![CDATA[Bu yazımızda C# ile dosya upload ve ASP.NET FileUpload kontrolünden direk FTP sunucusuna dosya yüklemeyi anlatacağım.

İki senaryomuz mevcut. 1.si direk hdd den bir ftp sunucusuna dosya yüklemek, 2.si Asp.Net FileUpload kontrolu ile sunucu diskine kaydetmeden ftp ye upload etmek.

// FTPUpload Sinifi
using System;
using System.Net;
using System.IO;
using System.Web;

/// &#124;summary&#62;
/// FTPUpload Class
/// &#124;/summary&#62;
public class FTPUpload
{
private string _LocalPath;
/// &#124;summary&#62;
/// Disk [...]]]></description>
			<content:encoded><![CDATA[<p>Bu yazımızda C# ile dosya upload ve ASP.NET FileUpload kontrolünden direk FTP sunucusuna dosya yüklemeyi anlatacağım.</p>
<p><span id="more-13"></span></p>
<p>İki senaryomuz mevcut. 1.si direk hdd den bir ftp sunucusuna dosya yüklemek, 2.si Asp.Net FileUpload kontrolu ile sunucu diskine kaydetmeden ftp ye upload etmek.</p>
<pre name="code" class="csharp">
// FTPUpload Sinifi
using System;
using System.Net;
using System.IO;
using System.Web;

/// |summary&gt;
/// FTPUpload Class
/// |/summary&gt;
public class FTPUpload
{
private string _LocalPath;
/// |summary&gt;
/// Disk üzerindeki Yolu Orn: C:\abc.jpg
/// |/summary&gt;
public string LocalPath
{
get { return _LocalPath; }
set { _LocalPath = value; }
}

private string _RemoteUrl;
/// |summary&gt;
/// Upload için URL. Orn ftp://ftp.mt.gen.tr/wwwroot
/// |/summary&gt;
public string RemoteUrl
{
get { return _RemoteUrl; }
set { _RemoteUrl = value; }
}

private string _UserName;
/// |summary&gt;
/// Ftp Kullanici adi
/// |/summary&gt;
public string UserName
{
get { return _UserName; }
set { _UserName = value; }
}

private string _Password;
/// |summary&gt;
/// Ftp Kullanici Sifresi
/// |/summary&gt;
public string Password
{
get { return _Password; }
set { _Password = value; }
}
private string _remoteFileName;
/// |summary&gt;
/// Upload edilen dosyanin ftp server uzerindeki resmi
/// |/summary&gt;
public string RemoteFileName
{
get { return _remoteFileName; }
set { _remoteFileName = value; }
}

/// |summary&gt;
/// Default Constructor
/// |/summary&gt;
public FTPUpload()
{
this._LocalPath = string.Empty;
this._RemoteUrl = string.Empty;
this._Password = string.Empty;
this._UserName = string.Empty;
this._remoteFileName = string.Empty;
}
/// |summary&gt;
/// Istege bagli olarak gerekli degerler constructor araciligi ilede atanabilir.
/// |/summary&gt;
/// |param name="LocalPath"&gt;|/param&gt;
/// |param name="RemoteURL"&gt;|/param&gt;
/// |param name="RemoteFileName"&gt;|/param&gt;
/// |param name="UserName"&gt;|/param&gt;
/// |param name="Password"&gt;|/param&gt;
public FTPUpload(string LocalPath, string RemoteURL,string RemoteFileName, string UserName, string Password)
{
this._LocalPath = LocalPath;
this._RemoteUrl = RemoteURL;
this._Password = Password;
this._UserName = UserName;
this._remoteFileName = RemoteFileName;
}

/// |summary&gt;
/// Server da yada local diskte bulunan dosyayı ftp sunucuyu upload etmek icin
/// |/summary&gt;
/// |returns&gt;islem basarili sekilde tamamlandimi?|/returns&gt;
public bool UploadFile()
{
try
{
FtpWebRequest req = (FtpWebRequest)WebRequest.Create(this._RemoteUrl + @"/" + this._remoteFileName);
req.Method = WebRequestMethods.Ftp.UploadFile;
req.Credentials = new NetworkCredential(this._UserName, this._Password);
FileStream fs = new FileStream(this._LocalPath, FileMode.Open);
byte[] bS = new byte[fs.Length];
fs.Read(bS, 0, bS.Length);
fs.Close();
fs.Dispose();
req.GetRequestStream().Write(bS, 0, bS.Length);
}
catch (Exception ex)
{
return false;
}
return true;
}

///
/// FileUpload kontrolunden post edilen dosyayi direk ftp ye upload etmek
/// |param name="postedFile" |FileUpload kontrolunun postedfile ozelligi |/param|
/// |/summary|
/// returns|islem basarili sekilde tamamlandimi?|/returns|
public bool UploadStreamToStream(HttpPostedFile postedFile)
{
try
{
FtpWebRequest req = (FtpWebRequest)WebRequest.Create(this._RemoteUrl + @"/" + this._remoteFileName);
req.Method = WebRequestMethods.Ftp.UploadFile;
req.Credentials = new NetworkCredential(this._UserName, this._Password);
Stream fs = postedFile.InputStream;
byte[] bS = new byte[fs.Length];
fs.Read(bS, 0, bS.Length);
fs.Close();
fs.Dispose();
req.GetRequestStream().Write(bS, 0, bS.Length);
}
catch (Exception ex)
{
return false;
}
return true;
}
}

Sinif tanimini tamamladiktan sonra .aspx.cs de herhangi bir event icerinde
//Asp.Net

protected void Button1_Click(object sender, EventArgs e)
{
FTPUpload up = new FTPUpload();
up.LocalPath = Server.MapPath("./a.gif");
up.RemoteUrl = "ftp://ftp.mt.gen.tr";
up.RemoteFileName = "abcx.gif";
up.UserName = "user";
up.Password = "pwd";
if (up.UploadStreamToStream(FileUpload1.PostedFile))
Response.Write("OK");
else
Response.Write("YOK");
}
</pre>
<p>şeklinde kullanabilirsiniz. Eğer sorunuz varsa yorum olarak yollarsanız yardım etmekten mutluluk duyarım.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mt.gen.tr/Weblog/index.php/2007/04/08/aspnet-ftp-upload-c/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Dinamik olarak UserControl leri kullanmak</title>
		<link>http://www.mt.gen.tr/Weblog/index.php/2006/12/24/dinamik-olarak-usercontrol-leri-kullanmak/</link>
		<comments>http://www.mt.gen.tr/Weblog/index.php/2006/12/24/dinamik-olarak-usercontrol-leri-kullanmak/#comments</comments>
		<pubDate>Sun, 24 Dec 2006 11:42:21 +0000</pubDate>
		<dc:creator>Murat Tüfekçi</dc:creator>
		
		<category><![CDATA[Asp.Net]]></category>

		<category><![CDATA[C#]]></category>

		<guid isPermaLink="false">http://www.mt.gen.tr/Weblog/index.php/2006/12/24/dinamik-olarak-usercontrol-leri-kullanmak/</guid>
		<description><![CDATA[Asp.Net Dinamik Kontrol Yaratma başlıklı yazımda kontrollerin dinamik olarak nasıl ekleneceğinden yeteri kadar bahsetmiştim. Hatta örnek olarak verdiğim örnekte temel asp.net kontrolu yerine yaratmış olduğumuz bir usercontrol u kullanmıştık. Bu usercontrol u icerisinde birden fazla asp.net temel kontrolunu iceren bir küme bulunmaktaydı. Biz bu usercontrol u temel kontroller iceren bir şablon kontrol olarak düşünebiliriz. Ve [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.mt.gen.tr/Weblog/index.php/2006/11/10/dimanik-kontrol-yaratmak/" rel="bookmark" title="Permanent link to Asp.Net Dinamik Kontrol Yaratma">Asp.Net Dinamik Kontrol Yaratma</a> başlıklı yazımda kontrollerin dinamik olarak nasıl ekleneceğinden yeteri kadar bahsetmiştim. Hatta örnek olarak verdiğim örnekte temel asp.net kontrolu yerine yaratmış olduğumuz bir usercontrol u kullanmıştık. Bu usercontrol u icerisinde birden fazla asp.net temel kontrolunu iceren bir küme bulunmaktaydı. Biz bu usercontrol u temel kontroller iceren bir şablon kontrol olarak düşünebiliriz. Ve biz bu usercontrol u Page nesnesinin  LoadControl(string Path) methodunu kullanarak yüklemiştik. Buraya kadar herşey çok güzeldi. Fakat biz bu yüklediğimiz kontrolun içinde ki bir kontrolun değerini değiştirmek istersek napacağız? İşte burda bu konuya açıklık getireceğiz.</p>
<p><span id="more-11"></span> Aslinda üzerinde çalıştığımız sorunun cevabı da yine <a href="http://www.mt.gen.tr/Weblog/index.php/2006/11/10/dimanik-kontrol-yaratmak/" rel="bookmark" title="Permanent link to Asp.Net Dinamik Kontrol Yaratma">Asp.Net Dinamik Kontrol Yaratma</a> örnek kodunda vermiştik :<br />
((Label)crtl.FindControl(“lblTip”)).Text = Tip;<br />
gördüğünüz gibi usercontrol un icerdiği id si lblTip olan bir Label nesnesini bulup tip dönüşümü ile bu Label nesnesinin özellik (Property)  değerleriyle oynayabiliyoruz. Şimdi Şöyle bir örnekle başka bir durumu açıklıyayım. Örneğin bu usercontrol un KENDINE AIT bir özelliği (Property) var. Mesela bu usercontrol un icerisinde Jason Moon&#8217;s Takvim script ini kullaniyorsunuz. Ve eger bu script i incelerseniz<br />
DateInput(&#8217;independence&#8217;, false, &#8216;YYYY-MM-DD&#8217;, &#8216;1776-07-04&#8242;)<br />
şeklinde cağırdınız yerde takvim kontrolu yaratılıyor olduğunu anlarsınız. Şimdi herşey güzel de biz burda 04.07.1776 olan varsayılan değeri yani ilk açıldığında gösterdiği tarihi başka bir tarih yapmak istiyoruz hemde bunu bu usercontrol u yaratan anasayfada ayarlamak istiyoruz iste o zaman olaylar biraz karşık hale geliyormus gibi gelsede aslında kolay bir yönetmi var. Oda Property dediğimiz konudan geciyor.  Property leri iyice araştırmanızı tavisye ederim ben çok fazla değinmeyeceğim. Ama şöle bir örnek vereyim :</p>
<pre name="code" class="csharp">
public partial class KisiselBilgiTemplate : System.Web.UI.UserControl
{
private string _postDate;
public string PostedDate
{
get
{
return _postDate;
}
set
{
_postDate = value;
}
}
</pre>
<p>&#8230;&#8230;.</p>
<p>gördüğün gibi burda private bir variable public bir Property araclığı ile ulaşıyoruz. Burda Value global bir terim yani eşitleme sirasında eşitliğin atanılacak değerini simgeliyor. Neyse konumuza geri dönelim . Peki ben bu property i ne için kullanıcam işte ben bu tarihi</p>
<p>DateInput(&#8217;independence&#8217;, false, &#8216;YYYY-MM-DD&#8217;, &#8216;1776-07-04&#8242;)</p>
<p>1776-07-04 yerine benim istediğim bir tarihi mesela doğum günüm olan 03.09.1983 olmasını istiyorum. Zaten global olan bu PostedDate direk kullanabilirim yani şöyle</p>
<p>DateInput(&#8217;independence&#8217;, false, &#8216;YYYY-MM-DD&#8217;, &lt;% Response.Write(PostedDate)%&gt; )</p>
<p>Html yorumlanir klasik asp deki gibi bir degeri direk istediğimiz yere yazdırabiliyoruz. Bunuda tamamladıktan sonra geldik son kısma peki ben bu Property nin değerini usercontrol u yuklerken programatik olarak nasıl değiştireceğm?</p>
<p>Projede kullandığım kodu direk örnek olarak vererekten açıklamak istiyorum:</p>
<pre name="code" class="csharp">
private Control BilgiFormlariYaratici(string IdPrefix,string Tip, int Sira,KISITIPLERI TIP,int OdaIndex)
{
Control ctrl = LoadControl("~/Acentalar/UserControls/KisiselBilgiTemplate.ascx");
Type tp = ctrl.GetType();
System.Reflection.PropertyInfo IlkKisi = tp.GetProperty("IletisiBilgiFormu");
if (OdaIndex == 0 &amp;&amp; Sira == 0 &amp;&amp; TIP == KISITIPLERI.YETISKIN)
{
IlkKisi.SetValue(ctrl,"onClick=\"IletisimBilgisiFormu();\"",null);
}
else
IlkKisi.SetValue(ctrl,string.Empty,null);

((Label)ctrl.FindControl("lblKim")).Text = (Sira + 1) + ". " + Tip;

System.Reflection.PropertyInfo PropInfo = tp.GetProperty("PostedDate");
switch (TIP)
{
case KISITIPLERI.COCUK:
PropInfo.SetValue(ctrl, ",'01-01-2006'", null);
break;
case KISITIPLERI.ILAVE:
PropInfo.SetValue(ctrl, ",'01-01-1980'", null);
break;
case KISITIPLERI.YETISKIN:
PropInfo.SetValue(ctrl, ",'01-01-1970'", null);
break;
default:
PropInfo.SetValue(ctrl, string.Empty, null);
break;
}

ctrl.ID = IdPrefix;
return ctrl;
}
</pre>
<p>gördüğünüz gibi olay System.Reflection.PropertyInfo sınfında. bu sınıfın SetValue methodu ile dinamik olarak yüklediğiniz usercontol lerin public property lerinin değerlerini değitirebilirsiniz. Ve bölelikle bu konuyuda bu şekilde kapatabiliriz.</p>
<p>Sorularınız olursa yanıtlamaktan tekrar ve tekrar mutluluk duyarım.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mt.gen.tr/Weblog/index.php/2006/12/24/dinamik-olarak-usercontrol-leri-kullanmak/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Yıllık Yazıları</title>
		<link>http://www.mt.gen.tr/Weblog/index.php/2006/12/11/yillik-yazilari/</link>
		<comments>http://www.mt.gen.tr/Weblog/index.php/2006/12/11/yillik-yazilari/#comments</comments>
		<pubDate>Mon, 11 Dec 2006 21:37:33 +0000</pubDate>
		<dc:creator>Murat Tüfekçi</dc:creator>
		
		<category><![CDATA[Yıllık Yazılarım]]></category>

		<guid isPermaLink="false">http://www.mt.gen.tr/Weblog/index.php/2006/12/11/yillik-yazilari/</guid>
		<description><![CDATA[Arkadaşlar Yıllık yazılarınızı Yorum olarak yazmanızı rica ediyorum 
]]></description>
			<content:encoded><![CDATA[<p>Arkadaşlar Yıllık yazılarınızı Yorum olarak yazmanızı rica ediyorum <img src='http://www.mt.gen.tr/Weblog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.mt.gen.tr/Weblog/index.php/2006/12/11/yillik-yazilari/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Bilinmeyen Serialization</title>
		<link>http://www.mt.gen.tr/Weblog/index.php/2006/12/07/bilinmeyen-serialization%c2%bf/</link>
		<comments>http://www.mt.gen.tr/Weblog/index.php/2006/12/07/bilinmeyen-serialization%c2%bf/#comments</comments>
		<pubDate>Thu, 07 Dec 2006 20:14:07 +0000</pubDate>
		<dc:creator>Murat Tüfekçi</dc:creator>
		
		<category><![CDATA[Asp.Net]]></category>

		<category><![CDATA[C#]]></category>

		<guid isPermaLink="false">http://www.mt.gen.tr/personal/index.php/2006/12/07/bilinmeyen-serialization%c2%bf/</guid>
		<description><![CDATA[Bilinmeyen fakat bazen çok yararlı olacağını düşündüğüm ve sizinle paylaşmak istediğim Serialization hakkında bir kaç yararlı ip uçu vereceğim. Ve web uygulaması veya windows uygulaması olsun cok yararlı olabileceğine eminim ve bu konuya birazda olsa açıklık getireceğim.

Direk konuya girerekten açıklamaya çalışacağım. Bir turizm projesi üzerinde çalıştığım için direk kendi projemden örnek vererek başlıyacağım. Otel rezervasyonu [...]]]></description>
			<content:encoded><![CDATA[<p>Bilinmeyen fakat bazen çok yararlı olacağını düşündüğüm ve sizinle paylaşmak istediğim Serialization hakkında bir kaç yararlı ip uçu vereceğim. Ve web uygulaması veya windows uygulaması olsun cok yararlı olabileceğine eminim ve bu konuya birazda olsa açıklık getireceğim.</p>
<p><span id="more-9"></span></p>
<p>Direk konuya girerekten açıklamaya çalışacağım. Bir turizm projesi üzerinde çalıştığım için direk kendi projemden örnek vererek başlıyacağım. Otel rezervasyonu yaparken rezervasyon adında bir sınıf yaratıp bu sınıfın üyelerini gerekli bilgilerle doldurup rezervasyon sonunda bu sınıfı kullanarak kolayca bilgilerimi veritabanına kaydetmek gibi cok kullanışlı ve kolay bir yol izlemek istedim. Fakat herzaman ki gibi kolay olarak görünen bu olay bazı yerlerinde biraz sorun yarattı. Esas sorun bu sınıfı sayfalar ve  post ları arasında taşımaktı. Ama taşıma işlemi kendi içinde de ikiye ayrıldı. Birincisi bu bilgiyi sayfalar arasında ikiniciside bir sayfa içindeki birden fazla post olaylarındaydı. Sayfalar arasında bu sınıfı taşımam zaten bildiğim bir konuydu Session nesnesin de sınıflarımızı direk atayıp sonra basit bir tip dönüşümü ile alabiliyorduk,</p>
<p>Session["Sinifim"]=new Sinifim(); // Siniftan Atama<br />
Sinifim sf= (Sinifim)Session["Sinifim"]; // Session Objesinde  Atama</p>
<p>örnekte belirttiğim gibi bu işlem zaten bilindik bir durumdu fakat ben bu sınıfı sayfanın kendi postları içinde aynı şekilde taşıyabilirdim ama session nesnesini kullanmak bazen performans sorunlarına neden olduğu bildiğim bir durumdu. Bu performans durumdan sayfalar arasındaki geçişlerde vazgeçebilirdim ama sayfanın kendi postları içerinde yogun biçimde sunucu taraflı kodlar olduğu için tutmak istemiyordum. Bu yüzdende sayfaya özel olarak tutalan viewstate i araştırmaya başladım. ViewState bildiğiniz üzere sayfadaki kontrollerin sayfa postları sırasında değerlerini kaybetmemesini sağlamaktır. Mantık olarak bu kontroller için kullanılıyorsa, benim yarattığım bir sınıf içinde kullanılabilmeliydi. Araştırmalarım sonucu Serialization konusunun can alıcı kullanışlılıkta bir konu oluğunu öğrendim ve uyguladım. Örnek olarak elinizde bir sınıf var ve bu sınıfı tuttuğu değerlerle bir dosyada saklamak istiyorsunuz. Eger bu sınıfı Serialization ile isaretlerseniz bu mumkün olacak ve dosya içinde binary olarak saklayabileceksiniz.  ViewState içinde veri saklamanın aslında dosyanın içinde veri saklamak gibi çalıştığından pek farkı yoktur.Bu yüzden eğer bir sınıfı ViewState içerisinde saklamak istiyorsanız o sınıfı Serialization ile işaretlemeniz gerekmektedir. İşin özü bu. Örnek olarak,</p>
<p>[Serializable]<br />
public class Oda{}</p>
<p>şeklinde tanımlanmış bir sınıfı viewstate e veya bir dosyaya sorunsuz kaydedebilirsiniz.</p>
<p>Başka bir durumda bazen sınıfın barındırdığı bazı değerlerin viewstate de fazla yer tutmaması için saklamak istemeyebilirsiniz. Örnek olarak DataTable tipine olan bir nesneniz içerisinde çok büyük bilgi tutabilir ki bu bilgiyi viewstate&#8217;e kaydetmek mantık açısından yanlış olurdu. Düşünsenize 50 KB lik binary veri saklayan bir hidden input u sunucuya post etmek:) . Herneyse bu tanıma uyan bir durumla karşılaşırsanız yapmanız gerek şu,</p>
<p>[NonSerialized]<br />
public DataTable CocukUrunTablo;<br />
diyerekten bu değerin saklanmasını engelleyebilirsiniz diyorum ve bu konuyuda burda kapatiyorum.</p>
<p>Sorularınızı cevaplamaktan mutluluk duyacağımdan email ve yorumlarınızı bekliyorum.</p>
<p style="margin-left: 40px">
<p><span class="c5" /><span class="c5" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.mt.gen.tr/Weblog/index.php/2006/12/07/bilinmeyen-serialization%c2%bf/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
