<?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>Umut Ulus &#187; Programlama</title>
	<atom:link href="http://www.umutulus.com/kategori/programlama/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.umutulus.com</link>
	<description>Kişisel İnternet Günlüğü</description>
	<lastBuildDate>Mon, 14 Dec 2009 18:01:23 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Asp.Net View State,Control State,Hidden Fields,Cookies,Query Strings</title>
		<link>http://www.umutulus.com/asp-net-view-statecontrol-statehidden-fieldscookiesquery-strings.htm/</link>
		<comments>http://www.umutulus.com/asp-net-view-statecontrol-statehidden-fieldscookiesquery-strings.htm/#comments</comments>
		<pubDate>Thu, 19 Nov 2009 09:36:29 +0000</pubDate>
		<dc:creator>Umut</dc:creator>
				<category><![CDATA[Genel]]></category>
		<category><![CDATA[Kişisel]]></category>
		<category><![CDATA[Programlama]]></category>
		<category><![CDATA[Asp.Net postback kontrolleri]]></category>
		<category><![CDATA[Asp.Net View State]]></category>
		<category><![CDATA[Asp.Net View State Control State Hidden Fields Cookies Query Strings]]></category>
		<category><![CDATA[Control State]]></category>
		<category><![CDATA[Cookies]]></category>
		<category><![CDATA[Hidden Fields]]></category>
		<category><![CDATA[Query Strings]]></category>

		<guid isPermaLink="false">http://www.umutulus.com/?p=525</guid>
		<description><![CDATA[Web ortamında sayfaların her post-back olmasında ilgili sayfanın yeni bir örneği oluşturulur. Peki yeni bir örneğinin oluşması ne demek?

Sayfamızdaki bilgilerin
Sayfadaki kontrollerin      (TextBox, Grid, CheckBox, Button vb.)

tamamen keybolması demektir. Örneğin kullanıcı sayfamızdaki bir TextBox a veri girdiğinde, artık biliyoruz ki bu veri tamamen kaybolacaktır. Ancak bunu deneyip yaptığımızda gerçek ortamda TextBox [...]]]></description>
			<content:encoded><![CDATA[<p>Web ortamında sayfaların her post-back olmasında ilgili sayfanın yeni bir örneği oluşturulur. Peki yeni bir örneğinin oluşması ne demek?</p>
<ol>
<li>Sayfamızdaki bilgilerin</li>
<li>Sayfadaki kontrollerin      (TextBox, Grid, CheckBox, Button vb.)</li>
</ol>
<p>tamamen keybolması demektir. Örneğin kullanıcı sayfamızdaki bir TextBox a veri girdiğinde, artık biliyoruz ki bu veri tamamen kaybolacaktır. Ancak bunu deneyip yaptığımızda gerçek ortamda TextBox taki verinin kaybolmadığını görüyoruz.</p>
<p>Peki bu nasıl oluyor?</p>
<p>Geleneksel Web Programlamanın bu sınırlılığının üstesinden gelmek için .NET platformu bize bazı sayfa-tabanlı ve uygulama-tabanlı seçenekleri sunmakta. Bunlar:</p>
<ol>
<li>View State</li>
<li>Control State</li>
<li>Hidden Fields</li>
<li>Cookies</li>
<li>Query Strings</li>
<li>Application State</li>
<li>Session State</li>
</ol>
<p>Bu seçeneklerden (View State, Control State, Hidden Fields, Cookies ve Query Strings) sayfamızdaki bilgileri ve kontrol bilgileri bir takım yollarla kullanıcının kendi bilgisayarında (Client-Based State Manegement) saklarlar. Geri kalan seçenekler ise (Application State, Session State ve Profile Property) bu bilgileri uygulama tarafında yani sunucuda (Server-Based State Management) saklarlar.</p>
<p>.NET platformunun bizlere sunduğu bu seçenekleri incelersek:</p>
<p><strong>View State</strong></p>
<p>Post-Back sırasında default olarak sayfa ve kontrol bilgilerini tutan bu yapı, dictionary mantığıyla çalışır. Her bir kontrolün ve sayfa bilgisinin değerleri &#8220;Key&#8221;, &#8220;Value&#8221; şeklinde, hidden field lar olarak korunur. sayfa sunucuya gönderildiğinde,gelen isteğe göre işlem yapıldıkran sonra sunucu view-state değerine göre sayfayı tekrardan render eder ve client a tekrar gönderir. Böylece sayfamızdaki verilerimizi kaybetmemiş ve sunucuya gitmeden önceki halleriyle tekrar tarayıcımızda görürüz.</p>
<p>View state yapısında kendi verilerimizide saklayabiliriz. Dictionar mantığıyla çalıştığını daha önce belirtmiştik. Aşağıdaki gibi basit bir şekilde View State yapısını kullanabilirsiniz</p>
<p><strong>View State e veri ekleme:<br />
</strong>ViewState.Add(&#8221;[Key]&#8220;,&#8221;[Value]&#8220;);</p>
<p><strong>Eklenen bir veriyi alma:</strong><br />
ViewState["[Key]&#8220;].ToString();</p>
<p><strong>Bu yöntemi kullanmanın avantajları:</strong></p>
<ol>
<li>Sunucu kaynaklarını yormaz : Client-Based olduğu için sunucumuza artı bir yük getirmez</li>
<li>Kolay uygulanabilirlik : Ekstra kodlama gerektirmez. Zaten default olarak kullanılan metoddur</li>
<li>Güvenlik : View-State değerleri şifrelenmiş bir şekilde saklandıkları için Hidden field lara göre daha güvenlidirler</li>
</ol>
<p><strong>Dezavantajları:</strong></p>
<ol>
<li>Performans düşüklüğü : View-State değerleri sayfamızla beraber sunucuya gittiği için view-state de büyük boyutta veri saklamak sunucuya gidiş-geliş süresini uzatacaktır. özellikle mobil uygulamalarda büyük veriler büyük performans kaybı demektir.</li>
<li>Potansiyel Güvenlik Riski : Veriler şifrelenmiş bir şekilde saklansa bile sayfa kaynağını görüntülediğimizde bu verileri şifreli halde bile olsa görebiliriz. Bu durum güvenlik riski oluşturabilir.</li>
</ol>
<p><strong>Control State</strong></p>
<p>.NET ControlState özelliği post-back ler arasında custom kontrol verilerini tutmamıza olanak sağlar. Örneğin sayfamızda farklı içerikler gösteren farklı tab yapılarımızın olduğunu düşünün. Hangi tabın seçili olduğunu post-back işleminden önce bilmek istiyorsak bu yapı uygun bir yapıdır. Bu senaryo ViewState ile de yapılabilir, ancak ViewState sayfa bazında kapatılabildiği için uygulamamızda aksaklıklara neden olabilir. ControlState ise ViewState gibi kapatılamaz.</p>
<p>peki nasıl kullanılır?</p>
<p><strong>Veri ekleme:</strong><br />
PageStatePersister.ControlState = &#8220;[Data]&#8220;;  //(veri object türünde eklenebilir)</p>
<p><strong>Veri alma:<br />
</strong>string value = PageStatePersister.ControlState.ToString();</p>
<p><strong>Kullanım Avantajları:</strong></p>
<ol>
<li>Sunucu kaynaklarını yormaz : Client-Based olduğu için sunucumuza artı bir yük getirmez</li>
<li>Güvenilirlik : ViewState gibi kapatılamadığından kullanımı daha kesin sonuçlar verir.</li>
<li>Çok Yönlülük : Control state tekli verilerin nasıl ve nerede saklanması konusunda custom adaptörler yazılabilir</li>
</ol>
<p><strong>Dezavantajları:</strong></p>
<ol>
<li>Programlama bilgisi gerektirir : ASP.NET kullanım için limitli imkan sağlasa da, tam kullanım için kodlama gerektirmektedir.</li>
</ol>
<p><strong>Hidden Fields</strong></p>
<p>Hemen hemen hepimizin bildiği bir state yönetim aracıdır. Normal bir HTML kontrolü olarak sayfamıza ekleyenilirsiniz. Veri saklama ve veri alma, normal bir TextBox tan farksızdır.</p>
<p><strong>Kullanım avantajları:</strong></p>
<ol>
<li>Sunucu kaynaklarını yormaz : Client-Based olduğu için sunucumuza artı bir yük getirmez</li>
<li>Yaygın Destek : Hemen hemen tüm tarayıcılar hidden field desteği vermektedir.</li>
<li>Kullanım kolaylığı : Standart HTML kontrolü olarak sayfanıza ekleyebilirsiniz.</li>
</ol>
<p><strong>Dezavantajları:</strong></p>
<ol>
<li>Güvenlik Riski : Sayfa kaynağı direkt olarak görüntülenirse hidden field değerleri açıkça görülebilir. Değerler şifrelenebilir ancak şifrelenmesi ve şifrelerin tekrar çözülmesi işlemi ekstra kodlama demektir.</li>
<li>Basit Depolama Mantığı : Hidden field larda rich değerler saklayamayız. Daha çok basit veriler saklanması için tasarlanmıştır.</li>
<li>Performans Kaybı : Büyük veriler saklayamadığımız gibi, aşırı kullanımı durumunda sayfada HTML kontrolü olarak saklandığı için performans kayıplarına neden olacaktır</li>
</ol>
<p><strong>Cookies (Çerezler)</strong></p>
<p>Uygulamamızda sıklıkla değişen verilerin Client taraflı saklanmasında en çok kullanılan state yönetim aracıdır. En çok karşımıza çıkan senaryosu ise bildiğimiz gibi Login işlemlerinde kullanıcıyı hatırlamaktır.</p>
<p><strong>Kullanımı:</strong></p>
<p>HttpCookie cookie = new HttpCookie(&#8221;myCookie&#8221;);<br />
cookie.Values.Add(&#8221;UserName&#8221;, UserName);<br />
cookie.Values.Add(&#8221;Password&#8221;, Password);<br />
cookie.Expires = DateTime.Now.AddDays(30); //Cookie nin zaman aşımına uğrama süresi<br />
Response.Cookies.Add(cookie);</p>
<p><strong>Veri Okuma:</strong></p>
<p>if (Request.Cookies["myCookie"] != null)<br />
{<br />
string UserName = Request.Cookies["myCookie"].Values["UserName"].ToString();<br />
string Pwd = Request.Cookies["myCookie"].Values["Password"].ToString();<br />
}</p>
<p><strong>Kullanım Avantajları:</strong></p>
<ol>
<li>Konfigüre Edilebilme : Cookie lerin ayarlanabilir birçok özelliği vardır. isim, değer, zaman aşımı süresi vb.</li>
<li>Sunucu kaynaklarını yormaz : Client-Based olduğu için sunucumuza artı bir yük getirmez</li>
<li>Veri Devamlılığı : Client bilgisayarlarda veri bütünlülüğünü en yüksek oranda garanti edebilen yapılardır.</li>
<li>Kullanım kolaylığı : text tabanlı key-value mantığıyla çalışırlar</li>
</ol>
<p><strong>Dezavantajları :</strong></p>
<ol>
<li>Boyut limiti : Bir çok browser cookie boyutu olarak 4096 byte sınırını getirmektedir.</li>
<li>Kullanıcı Kontrolü : Bazı kullanıcılar cookie alımını tarayıcılarından kapatabilirler, bu da cookie kullanımını olanaksız hale getirir</li>
<li>Güvenlik Riski : Cookie kullanıcılar tarafından görülebilmektedir. Bu da güvenlik açıklarına neden olabilir. Cookie değerleri manuel olarak şifrelenebilir, ancak bu da ekstra kod demektir</li>
</ol>
<p><strong>Query Strings</strong></p>
<p>Query String lerde yine en çok aşina olduğumuz state yönetim araçlarındandır. URL lerin ardına eklenen kullanıcılar için çok da bir anlam ifade etmeyen, yazılımcılar için anlamlı bilgilerdir.</p>
<p><strong>Örneğin :</strong><span style="color: #3366ff;">xyz/index.php?option=com_comprofiler&amp;task=userProfile&amp;user=142</span> adresindeki &#8220;?&#8221; işaretinden sonra gelen<br />
&#8220;option&#8221;, &#8220;task&#8221; ve &#8220;user&#8221; kelimeleri birer Query String anatarlarıdır. Bu anahtarlar kullanıcılar için fazla bir anlam ifade etmez ancak yazılımcılar için çok anlamlıdırlar.</p>
<p><strong>Kullanımı :</strong></p>
<p><span style="color: #3366ff;">xyzindex.php<strong>?option=com_comprofiler</strong></span></p>
<p>Her iki kullanımda aynı işi görmektedir.</p>
<p><strong>Veri Alma:</strong></p>
<p>if (Request["[Key]&#8220;] != null)<br />
{<br />
string value = Request["[Key]&#8220;].ToString();<br />
}</p>
<p><strong> Kullanım Avantajları:</strong></p>
<ol>
<li>Sunucu kaynaklarını yormaz : Client-Based olduğu için sunucumuza artı bir yük getirmez</li>
<li>Yaygın Destek : Hemen hemen tüm tarayıcıların Query String iler veri taşıma desteği vardır.</li>
</ol>
<p><strong>Dezavantajları:</strong></p>
<ol>
<li>Güvenlik Riski : Query String ile taşınan veriler clear text olarak tüm kullanacılar tarafından görülebilmektedir. Bu nedenle değerli veriler kesinlikle query string ile taşınmamalıdır. Bunun yerine Hidden field veya diğer yapılar kullanılabilir.</li>
<li>Kapasite Limiti : Bazı tarayıcılar URL uzunluklarını en fazla 2083 karakter olarak sınırladıklarından istenilen uzunlukta veri taşınamıyor.</li>
</ol>
<p>Böylece ASP.NET State (Durum) yönetiminin Client tarafındaki yapılarını incelemiş olduk. Umarım yardımcı olabilmişimdir. Diğer yazımda Server tarafındaki yapılara göz atıyor olacağız.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.umutulus.com/asp-net-view-statecontrol-statehidden-fieldscookiesquery-strings.htm/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Visual Studio 2010 Beta 2 Çıktı !</title>
		<link>http://www.umutulus.com/visual-studio-2010-beta-2-cikti.htm/</link>
		<comments>http://www.umutulus.com/visual-studio-2010-beta-2-cikti.htm/#comments</comments>
		<pubDate>Wed, 11 Nov 2009 16:43:38 +0000</pubDate>
		<dc:creator>Umut</dc:creator>
				<category><![CDATA[Genel]]></category>
		<category><![CDATA[Programlama]]></category>
		<category><![CDATA[Visual Studio 2010]]></category>
		<category><![CDATA[Visual Studio 2010 Beta 2]]></category>
		<category><![CDATA[Visual Studio 2010 Beta 2 download]]></category>
		<category><![CDATA[Visual Studio 2010 Beta 2 full]]></category>
		<category><![CDATA[Visual Studio 2010 Beta 2 indir]]></category>
		<category><![CDATA[Visual Studio 2010 download]]></category>
		<category><![CDATA[Visual Studio 2010 exe]]></category>
		<category><![CDATA[Visual Studio 2010 indir]]></category>
		<category><![CDATA[Visual Studio 2010 rapidshare]]></category>
		<category><![CDATA[Visual Studio 2010 xe]]></category>

		<guid isPermaLink="false">http://www.umutulus.com/?p=515</guid>
		<description><![CDATA[ Merakla beklediğmiz Visual Studio 2010 Beta 2 bugün itibariyle tüm kullanıcılar tarafından indirilebilir durumda. 6-7 gb arası alan tahsis gerekli olan yeni platformda bir çok yenilik bizi bekliyor

Visual Studio 2010 Beta 2 aşağıdaki linkten indirilebilir.
http://www.microsoft.com/visualstudio/en-us/try/default.mspx#download


]]></description>
			<content:encoded><![CDATA[<p><span id="ctl00_ContentPlaceHolder1_lblDescription"> Merakla beklediğmiz Visual Studio 2010 Beta 2 bugün itibariyle tüm kullanıcılar tarafından indirilebilir durumda. 6-7 gb arası alan tahsis gerekli olan yeni platformda bir çok yenilik bizi bekliyor<br />
</span></p>
<p><span id="ctl00_ContentPlaceHolder1_lblDescription">Visual Studio 2010 Beta 2</span><span id="ctl00_ContentPlaceHolder1_lblDescription"> aşağıdaki linkten indirilebilir.<br />
<a href="http://www.microsoft.com/visualstudio/en-us/try/default.mspx#download">http://www.microsoft.com/visualstudio/en-us/try/default.mspx#download</a></span></p>
<p><span><img class="alignnone" title="visual studio 2010 beta 2" src="http://www.umutulus.com/resimm/vs10.png" alt="" width="183" height="98" /><br />
</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.umutulus.com/visual-studio-2010-beta-2-cikti.htm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C# ile Basit Grafik Çizimler</title>
		<link>http://www.umutulus.com/c-ile-basit-grafik-cizimler.htm/</link>
		<comments>http://www.umutulus.com/c-ile-basit-grafik-cizimler.htm/#comments</comments>
		<pubDate>Sat, 14 Mar 2009 22:58:44 +0000</pubDate>
		<dc:creator>Umut</dc:creator>
				<category><![CDATA[Eğitim]]></category>
		<category><![CDATA[Programlama]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[c# fonkiyonları]]></category>
		<category><![CDATA[C# ile Basit Grafik Çizimler]]></category>
		<category><![CDATA[kare çizimi]]></category>
		<category><![CDATA[kordinat yakalama]]></category>

		<guid isPermaLink="false">http://www.umutulus.com/?p=355</guid>
		<description><![CDATA[İster C# kullanın ister VB kullanın; .NET ortamında çizim yapmak oldukça kolay ve hızlı bir olay. .NET çatısı altında bulunan GDI+ kütüphanesi bizim için birçok çizim araçlarını içermekte. Başka bir deyişler; kare, daire, elips vb. nesnelerin çizimini oldukça kolay hale getiren bir kütüphane. Peki genel mantık nasıl işliyor.
1. Graphics (ki kendisi çizim yapmamızı sağlayan nesnedir) [...]]]></description>
			<content:encoded><![CDATA[<p>İster C# kullanın ister VB kullanın; .NET ortamında çizim yapmak oldukça kolay ve hızlı bir olay. .NET çatısı altında bulunan GDI+ kütüphanesi bizim için birçok çizim araçlarını içermekte. Başka bir deyişler; kare, daire, elips vb. nesnelerin çizimini oldukça kolay hale getiren bir kütüphane. Peki genel mantık nasıl işliyor.</p>
<p>1. Graphics (ki kendisi çizim yapmamızı sağlayan nesnedir) nesnesini hangi yüzey üzerine çizim yapacaksak o yüzeyden oluşturuyoruz.<br />
ÖR: eğer form üzerinde çizim yapılacaksa;<br />
Graphics graph = this.CreateGraphics();</p>
<p>Yada PictureBox üzerinde çizim yapılacaksa;</p>
<p>Graphics graph = pictureBox1.CreateGraphics();<br />
&lt;!&#8211;more&#8211;&gt;<br />
2. Çizilecek nesnelerin koordinatları ve büyüklükleri belirtilir.//Karenin çizilmeye başlayacağı nokta</p>
<p>Point ptSquare = new Point(10,100);</p>
<p>//Karenin boyutu</p>
<p>Size szSquare = new Size(50,50);</p>
<p>Form üzerinde x=10, y=100 koordinatından başlamak üzere…</p>
<p>Genişlik=50, yükseklik=50….</p>
<p>3. Çizim rengi ve kalınlığı için Pen nesnesi</p>
<p>//Kırmızı renkte ve kalınlığı 2 olan kalemi elimize aldık <img src='http://www.umutulus.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Pen pen = new Pen(Color.Red,2);</p>
<p>4. Çizim fonksiyonu çağrılır</p>
<p>//Kareyi Çiz<br />
graph.DrawRectangle(pen, new Rectangle(ptSquare, szSquare));</p>
<p>Tabiki bu kadar değişkenlerle uğraşmayalım doğrudan çizelim diyenler için de yukarıdaki çizimi şu şekilde de yapabiliriz.</p>
<p>graph.DrawRectangle(new Pen(Color.Red, 2), new Rectangle(10, 100, 50, 50));</p>
<p>Bütün kod bloğu şu şekilde:</p>
<p>private void btnDraw_Click(object sender, EventArgs e)<br />
{</p>
<p>//Bu nesne sayesinde çizim yapabiliyoruz. Hangi yüzey üzerine çizim<br />
yapılacaksa o nesneden Graphics nesnesi üretilmelidir.</p>
<p>Graphics graph = this.CreateGraphics();</p>
<p>//Karenin çizilmeye başlayacağı nokta</p>
<p>Point ptSquare = new Point(10,100);</p>
<p>//Karenin boyutu</p>
<p>Size szSquare = new Size(50,50);</p>
<p>//Dairenin çizilmeye başlayaağı nokta</p>
<p>Point ptCircle = new Point(100,100);</p>
<p>//Dairenin boyutu</p>
<p>Size szCircle = new Size(50,50);</p>
<p>//Elipsin çizilmeye başlayacağı nokta</p>
<p>Point ptEllipse= new Point(200,100);</p>
<p>//Elips boyutu</p>
<p>Size szEllipse= new Size(100,50);</p>
<p>//Kırmızı renkte ve kalınlığı 2 olan kalemi elimize aldık <img src='http://www.umutulus.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Pen pen = new Pen(Color.Red,2);</p>
<p>//Kareyi Çiz</p>
<p>graph.DrawRectangle(pen, new Rectangle(ptSquare, szSquare));</p>
<p>//Daireyi Çiz</p>
<p>graph.DrawEllipse(pen, new Rectangle(ptCircle, szCircle));</p>
<p>//Elips Çiz</p>
<p>graph.DrawEllipse(pen, new Rectangle(ptEllipse, szEllipse));</p>
<p>}</p>
]]></content:encoded>
			<wfw:commentRss>http://www.umutulus.com/c-ile-basit-grafik-cizimler.htm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dosya Okuma Yazma Islemleri c#&#8217;dan</title>
		<link>http://www.umutulus.com/dosya-okuma-yazma-islemleri-cdan.htm/</link>
		<comments>http://www.umutulus.com/dosya-okuma-yazma-islemleri-cdan.htm/#comments</comments>
		<pubDate>Fri, 06 Mar 2009 00:45:14 +0000</pubDate>
		<dc:creator>Umut</dc:creator>
				<category><![CDATA[Programlama]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[c# demo]]></category>
		<category><![CDATA[dosya okuma işlemleri]]></category>
		<category><![CDATA[Dosya Okuma Yazma Islemleri c#'dan]]></category>
		<category><![CDATA[dosyadan okuma]]></category>
		<category><![CDATA[dosyaya veri ekleme]]></category>

		<guid isPermaLink="false">http://www.umutulus.com/?p=343</guid>
		<description><![CDATA[Visual Studio 2008 menülerinin Türkçeleştirilmesi için CLIP aracı Web üzerinden yayınlandı.
Visual Studio 2008 menülerinin Türkçeleştirilmesi için CLIP aracı Web üzerinden yayınlandı. Visual Studio 2008&#8242;deki görsel arayüz maddelerinin yerel dildeki çevirilerini bir araç çubuğu yardımcı balonu (tooltip) veya diyalog kutusu içerisinde gösteren bir araç. Kullanıcılar görsel arayüz elemanlarının üzerinden fare ile geçerek çeviriyi anında görebiliyorlar. Ürünün [...]]]></description>
			<content:encoded><![CDATA[<p>Visual Studio 2008 menülerinin Türkçeleştirilmesi için CLIP aracı Web üzerinden yayınlandı.</p>
<p>Visual Studio 2008 menülerinin Türkçeleştirilmesi için CLIP aracı Web üzerinden yayınlandı. Visual Studio 2008&#8242;deki görsel arayüz maddelerinin yerel dildeki çevirilerini bir araç çubuğu yardımcı balonu (tooltip) veya diyalog kutusu içerisinde gösteren bir araç. Kullanıcılar görsel arayüz elemanlarının üzerinden fare ile geçerek çeviriyi anında görebiliyorlar. Ürünün 1.0 versiyonu Visual Studio IDE&#8217;sinin çoğu görsel elemanını çeviriyor. Ürün hakkında daha fazla bilgiyi buradan</p>
<p>http://www.microsoft.com/downloads/details.aspx?FamilyID=4e5258d2-52f4-46b8-8b74-da2dbec7c2f7&amp;displaylang=trDosya Okuma Yazma Islemleri<br />
Bu yazimda dosya islemlerinden text dosyasi yazma ve okuma islemleri üzerimde duracagim. C#&#8217;ta dosya islemleri için System.IO kütüphanesi kullanilir. Bunun için öncelikle projemize bu kütüphaneyi ekliyoruz.</p>
<blockquote><p>using System.IO;</p></blockquote>
<p>Daha sonra formumuzu sekillendirelim. Toolbox&#8217;tan formumuza 5 button, 1 richTextBox ve 1 TextBox sürükleyip birakalim. Asagidaki gibi dizayn edelim.</p>
<p>Simdi butonlarin üzerinde yazan islemlerin nasil yapildigindan bahsedelim. Öncelikle butonlarin click event&#8217;lerini olusturalim.</p>
<p>Yazma islemi için StreamWriter sinifi kullanilir. Bunun için önce bu siniftan bir nesne olusturacagiz. StreamWriternesnesi tanimlanken string tipinde bir parametre girmemiz gerekiyor. Bu parametre üzerinde islem yapacagimiz dosyanin adresinden ve isminden olusan bir path&#8217;tir. Verilen adreste path içinde adi geçen dosya olmayabilir. Bu durumda program önce dosyayi olusturacak sonra üzerinde islem yapacaktir.</p>
<p>Bu programda StreamWriter sinifin yazma prosedürlerinden WriteLine prosedürünü kullanacagiz. WriteLine string tipinde bir parametreyle çalisir ve bu parametreyi dosya içinde tek bir satira yazar. Son olarak bu dosyaya ekledigimiz veriye ulasabilmek için olusturdugumuz nesneyi kapatiriz.</p>
<p>Okuma islemi için StreamReader sinifi kullanilir. Bunun için önce bu siniftan bir nesne olusturacagiz. StreamReadernesnesi tanimlarken string tipinde bir parametre girmemiz gerekiyor. Bu parametre üzerinde islem yapacagimiz dosyanin adresinden ve isminden olusan bir path&#8217;tir. Verilen adreste path içinde adi geçen dosya olmak zorundadir.</p>
<p>Bu programda StreamReader sinifin okuma prosedürlerinden ReadLine prosedürünü kullanacagiz. ReadLine, dosyayi satir satir okumak için kullanilir. Parametre istemez.<br />
Islemi sonlandirmak için nesneyi kapatiriz.</p>
<p>Ekleme islemi, yazma islemine benzemektedir. Bu islem için de StreamWriter sinifini kullanilir. Aralarindaki fark tanimlamada ve uygulamada ortaya çikar. Ekleme islemini tanimlarken File.AppendText kullanilir. AppendText string tipinde bir parametre ister. Bu parametre ekleme islemi yapilacak dosyanin adresinden ve isminden olusan bir path&#8217;tir. Uygulama olarak yazma isleminden farki, dosya içinde daha önceden var olan verileri koruyarak dosyaya yeni veriler eklemesidir. Bu islemde de verilen adreste path içinde adi geçen dosya olmayabilir. Bu durumda program önce dosyayi olusturacak sonra üzerinde islem yapacaktir.</p>
<p>Dosyadaki tüm verileri okumak için yine StreamReader sinifi kullanilir. Burada okuma isleminden farkli olarak bir döngü kullanacagiz.</p>
<p>Programda okunan verileri görebilmek için richTextBox kullandik. Ilk olarak richTextBox&#8217;daki eski verileri temizledik. Verileri richTextBox&#8217;a yazarken string toplamasi yaptik. &#8220;\n&#8221; islemi ile yeni gelen verinin bir alt satirda görünmesini sagladik.</p>
<p>Son butonun click event&#8217;inde richTextBox&#8217;taki tüm verilerin temizlenmesi için Clear procedürünü kullandik.</p>
<blockquote><p>using System;<br />
using System.Collections.Generic;<br />
using System.ComponentModel;<br />
using System.Data;<br />
using System.Drawing;<br />
using System.Linq;<br />
using System.Text;<br />
using System.Windows.Forms;<br />
using System.IO;</p>
<p>namespace Dosya_Okuma_Yazma<br />
{</p>
<p>public partial class Form1 : Form</p>
<p>{<br />
public Form1()<br />
{<br />
InitializeComponent();<br />
}</p>
<p>//Yazma Islemi</p>
<p>private void button1_Click(object sender, EventArgs e)<br />
{<br />
StreamWriter SW = new StreamWriter(&#8221;c:\\deneme.txt&#8221;);<br />
SW.WriteLine(textBox1.Text);<br />
SW.Close();<br />
}</p>
<p>//Okuma Islemi</p>
<p>private void button2_Click(object sender, EventArgs e)<br />
{<br />
StreamReader SR = new StreamReader(&#8221;c:\\deneme.txt&#8221;);<br />
richTextBox1.Text = SR.ReadLine();<br />
SR.Close();<br />
}</p>
<p>//Ekleme Islemi</p>
<p>private void button3_Click(object sender, EventArgs e)<br />
{<br />
StreamWriter SW = File.AppendText(&#8221;c:\\deneme.txt&#8221;);<br />
SW.WriteLine(textBox1.Text);<br />
SW.Close();<br />
}</p>
<p>//Dosyadaki Tüm Verileri Okuma</p>
<p>private void button4_Click(object sender, EventArgs e)<br />
{<br />
richTextBox1.Clear();<br />
StreamReader SR = new StreamReader(&#8221;c:\\deneme.txt&#8221;);<br />
string metin = SR.ReadLine();<br />
while (metin!=null)<br />
{<br />
richTextBox1.Text = richTextBox1.Text + &#8220;\n&#8221; + metin;<br />
metin = SR.ReadLine();<br />
}<br />
}</p>
<p>//richTextBox&#8217;i Temizleme</p>
<p>private void button5_Click(object sender, EventArgs e)<br />
{<br />
richTextBox1.Clear();<br />
}<br />
}<br />
}</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.umutulus.com/dosya-okuma-yazma-islemleri-cdan.htm/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Pardus 2008.2 indir</title>
		<link>http://www.umutulus.com/pardus-20082.htm/</link>
		<comments>http://www.umutulus.com/pardus-20082.htm/#comments</comments>
		<pubDate>Thu, 05 Mar 2009 15:50:38 +0000</pubDate>
		<dc:creator>Umut</dc:creator>
				<category><![CDATA[Eğitim]]></category>
		<category><![CDATA[Genel]]></category>
		<category><![CDATA[Kişisel]]></category>
		<category><![CDATA[Programlama]]></category>
		<category><![CDATA[Programlar]]></category>
		<category><![CDATA[indir]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[pardus]]></category>
		<category><![CDATA[Pardus 2008.2]]></category>
		<category><![CDATA[tubitak]]></category>
		<category><![CDATA[Yeni etiket ekle]]></category>

		<guid isPermaLink="false">http://www.umutulus.com/?p=333</guid>
		<description><![CDATA[Pardus 2008.2 Canis aureusPardus geliştiricileri, çevirmenleri, belge yazarları ve sanatçılarının desteğiyle hazırlanan Pardus 2008.2 güncelleme sürümü, kullanıcılarıyla buluştu.
Pardus 2008.2, Pardus Test Ekibi tarafından yapılan detaylı testlerden sonra, TÜBİTAK FTP sunucularında indirilmek üzere yerini aldı. 2008 serisinin bu ikinci ara sürümü, özgür yazılım dünyasının en yeni bileşen ve teknolojilerini sunuyor.
Pardus 2008.2 sürüm ismini, yaşam alanları tehdit [...]]]></description>
			<content:encoded><![CDATA[<p>Pardus 2008.2 Canis aureusPardus geliştiricileri, çevirmenleri, belge yazarları ve sanatçılarının desteğiyle hazırlanan Pardus 2008.2 güncelleme sürümü, kullanıcılarıyla buluştu.</p>
<p>Pardus 2008.2, Pardus Test Ekibi tarafından yapılan detaylı testlerden sonra, TÜBİTAK FTP sunucularında indirilmek üzere yerini aldı. 2008 serisinin bu ikinci ara sürümü, özgür yazılım dünyasının en yeni bileşen ve teknolojilerini sunuyor.</p>
<p>Pardus 2008.2 sürüm ismini, yaşam alanları tehdit altında olan başka bir Anadolu canlısından alıyor. Pardus 2008.2&#8242;nin sürüm adı Canis aureus. Bir başka deyişle, &#8220;Altın çakal&#8221;.</p>
<p>Bu sürüme neden Canis aureus adının verildiğine dair haberimizi buradan okuyabilirsiniz.<br />
Başlıca yenilikler</p>
<p>Pardus 2008.1&#8242;den bugüne geçen sürede, sadece Kurulan CD içerisindeki 648 pakette yaklaşık 120 hata düzeltmesi, 60&#8242;ın üzerinde güvenlik güncellemesi kullanıcılara ulaştı. Yine aynı sürede CD&#8217;ye yeni özellik ve destekler ekleyen 23 yeni paket dâhil oldu, CD içindeki toplam 648 paketin 181&#8242;i güncellendi.</p>
<p>Pardus 2008.2 Canis aureus, beraberinde bir sürü yeni özellik getiriyor. Pardus&#8217;un temel teknolojileri olan PiSi ve COMAR birçok yeni özelliği desteklerken, daha sorunsuz bir kurulum için YALI&#8217;nın güncellenmiş sürümünü kullanılıyor. Açılış sisteminde yapılan iyileştirmelerle Pardus kullanan sistemlerin açılışı hızlanırken, uzak dosya sistemleri altyapısı için de birçok iyileştirme, Pardus 2008.2 ile birlikte gelen yenilikler arasında göze çarpıyor.<br />
Ağ Yöneticisi</p>
<p>Pardus 2008.2 Canis aureus ile birlikte yeni sürüme yükseltilen Ağ Yöneticisi ve ağ yapılandırma altyapısı da bir seri yenilik ve hata düzeltmesi içeriyor. Bu iyileştirmelerin ilk anda göze çarpanları şöyle:</p>
<p>* Kullanıcı ve bağlantı tabanlı DNS ayarları iyileştirmeleri,<br />
* DHCP ve zaman aşımı iyileştirmeleri,<br />
* ASCII olmayan ESSID iyileştirmeleri,<br />
* Bağlantı başlatma ve durdurma sırasında betik çalıştırma desteği.</p>
<p>Görüntü Yöneticisi</p>
<p>Pardus 2008.2 Canis aureus, yeni nesil Nvidia, ATI ve Intel ekran kartlarını desteklemek için gerekli sürücüleri içeriyor. Pardus Görüntü Yöneticisi ve otomatik tanıma altyapısı zorg, bu yeni sürücüleri kullanacak şekilde güncellendi.<br />
Paket Yöneticisi</p>
<p>Paket Yöneticisi de birçok iyileştirme ve güncelleme içeriyor:</p>
<p>* Paket arama iyileştirmeleri,<br />
* Hatalı indirilen paketlerin tekrar indirilmesi için destek,<br />
* Çeviri ve arayüz güncellemeleri,<br />
* Delta paket ve ters bağımlılık güncelleme desteği. Bu özelliklerin 2008.2 sonrasında kullanıma girmesi planlanıyor.</p>
<p>Dört ayrı ISO</p>
<p>Pardus 2008.2 Canis aureus, dört farklı ISO olarak sunuluyor. Bunların birincisi ve en önemlisi, KDE 3.5.10 tabanlı Pardus 2008.2&#8242;nin bilgisayarlara kurulan öntanımlı masaüstü ortamı.</p>
<p>Pardus 2008.2 Kurulan CD, sadece Türkçe ve İngilizce dillerini destekliyor. Pardus 2008.2 Uluslararası Kurulan CD ise Pardus tarafından desteklenen 11 ayrı dilde kurulum ve kullanım özelliğine sahip. Bu iki sürümün yanı sıra, biri KDE 3,5 diğeriyse KDE 4 ile gelen iki farklı Pardus 2008.2 Çalışan CD sürümü mevcut.</p>
<p>Pardus 2008.2, FTP sunucularında yerini almış durumda. Kurulan CD için bu bağlantıyı, Çalışan CD için bu bağlantıyı takip etmeniz yeterli.</p>
<p><span style="font-size: large;"><a href="ftp://ftp.pardus.org.tr/pub/pardus/kurulan/2008.2/Pardus-2008.2-Canis-aureus.iso" target="_blank"><span style="color: red;">&gt;&gt;  İNDİR   &lt;&lt;</span></a></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.umutulus.com/pardus-20082.htm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
