<?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>Yazılım - Tarık Akarsu</title>
	<atom:link href="https://www.mtakarsu.com/yazilim/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.mtakarsu.com/yazilim/</link>
	<description>Muhammet Tarık Akarsu</description>
	<lastBuildDate>Wed, 03 Apr 2019 19:08:15 +0000</lastBuildDate>
	<language>tr</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.5.8</generator>
	<item>
		<title>ASP.NET MVC Nedir? Temel Elemanları Nelerdir?</title>
		<link>https://www.mtakarsu.com/asp-net-mvc-nedir/</link>
					<comments>https://www.mtakarsu.com/asp-net-mvc-nedir/#respond</comments>
		
		<dc:creator><![CDATA[Tarık Akarsu]]></dc:creator>
		<pubDate>Sat, 16 Apr 2016 19:44:46 +0000</pubDate>
				<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[asp.net mvc]]></category>
		<category><![CDATA[entity framework nedir]]></category>
		<category><![CDATA[front end mvc nedir]]></category>
		<category><![CDATA[mvc bilinmesi gerekenler]]></category>
		<category><![CDATA[mvc dersleri]]></category>
		<category><![CDATA[mvc formları nedir]]></category>
		<category><![CDATA[mvc örnekleri]]></category>
		<category><![CDATA[razor mvc nedir]]></category>
		<guid isPermaLink="false">https://www.mtakarsu.com/?p=233</guid>

					<description><![CDATA[<p><a href="https://www.mtakarsu.com">Tarık Akarsu</a><br />
<a href="https://www.mtakarsu.com">Tarık Akarsu - Muhammet Tarık Akarsu</a></p>
<p>MVC (Model View Controller) Tasarım Kalıbı MVC son dönem nesne yönelimli programlamanın temel taşlarından olan bir tasarım kalıbıdır. MVC kalıbı bir probleme ilişkin modeli, görünümü (örneğin nasıl bir ekranda görüntüleneceğini) ve bunları kontrol eden yapıyı birbirinden ayırır. MVC kalıbına ilişkin genel bir kod aşağıdaki gibidir: using System; using System.Collections.Generic; namespace CSD { public class App &#8230;</p>
<p><a href="https://www.mtakarsu.com/asp-net-mvc-nedir/">ASP.NET MVC Nedir? Temel Elemanları Nelerdir?</a><br />
<a href="https://www.mtakarsu.com">Tarık Akarsu</a></p>
]]></description>
										<content:encoded><![CDATA[<p><a href="https://www.mtakarsu.com">Tarık Akarsu</a><br />
<a href="https://www.mtakarsu.com">Tarık Akarsu - Muhammet Tarık Akarsu</a></p>

<h2 class="wp-block-heading">MVC (Model View Controller) Tasarım Kalıbı</h2>



<p>MVC son dönem nesne yönelimli programlamanın temel taşlarından olan bir tasarım kalıbıdır. MVC kalıbı bir probleme ilişkin modeli, görünümü (örneğin nasıl bir ekranda görüntüleneceğini) ve bunları kontrol eden yapıyı birbirinden ayırır. MVC kalıbına ilişkin genel bir kod aşağıdaki gibidir:</p>



<pre class="wp-block-code"><code>using System;
using System.Collections.Generic;
namespace CSD
{
public class App
{
public static void Main()
{
ProductController controller = new ProductController();
controller.Display();
controller.Input();
}
}
static class ProductDB
{
private static List&lt;Product> ms_products;
static ProductDB()
{
ms_products = new List&lt;Product>;();
ms_products.Add(new Product(1, "Kitap";));
ms_products.Add(new Product(2, "laptop";));
ms_products.Add(new Product(3, "Phone";));
}
public static Product[] GetAllProducts()
{
return ms_products.ToArray();
}
public static void Add(Product p)
{
ms_products.Add(p);
}
//...
}

class ProductInputView {
public Product Input()
{
Console.WriteLine(“Id yi giriniz”);
int id = int.Parse(Console.ReadLine());
Console.WriteLine(“İsmi giriniz”);
string name = Console.ReadLine();
return new Product(id, name);
}
}
class ProductView {
private Product[] m_products;
public ProductView(Product[] products)
{
m_products = products;
}
public void DisplayProducts()
{
foreach (Product p in m_products)
Console.WriteLine(p);
}
}
class ProductController {
public void Display()
{
Product[] products = ProductDB.GetAllProducts();
ProductView view = new ProductView(products);
view.DisplayProducts();
}
public void Input()
{
ProductInputView view = new ProductInputView();
Product p = view.Input();
ProductDB.Add(p);
this.Display();
}
}
//Model
class Product
{
private int m_id;
private string m_name;
public Product(int id, string name)
{
m_name = name;

m_id = id;
}
public int Id { get { return m_id; } set { m_id = value; } }
public string Name { get { return m_name; } set { m_name = value; } }
public override string ToString()
{
return string.Format(“[{0}]{1}”, m_id, m_name);
}
}
}</code></pre>



<p>Burada Product isimli sınıf bir model, ProductView ise nasıl
görüntüleneceğine ilişkin sınıftır. Burada önemli olan problemin View ve
Modelin birbirinden bağımsız olarak Controller tarafından çözülmesidir.</p>



<p>Burada model view u bilmeyebilir fakat view modelini
bilmektedir. Yukarıdaki program parçası tamamıyla olmasa da ASP.NET MVC
teknolojisinin çalışma prensibine uygundur. Burada dikkat edilirse her view
işlemi için controller sınıfında birer metot karşılık getirilmiştir. Bu durum
esnek çalışmayı sağlamakta. Tasarım aşamasıyla programlama aşamasını ayrı ayrı
ya da beraber olarak yapabilme yeteneği kazandırmaktadır. Yani, iyi bir
tasarımcı programlama bilmese de bir sayfa tasarımı yapabilir, programcı da bu
tasarımı alıp sadece HTML kontrollerini kullanarak uygulamayı geliştirebilir.</p>



<h3 class="wp-block-heading">ASP.NET MVC Teknolojisi</h3>



<p>Bilindiği gibi ASP.NET Microsoft firmasının .NET ortamında
Web uygulamaları geliştirmek için tasarladığı bir kütüphanedir. Bu kütüphane
içerisinde MVC tasarım kalıbını kullanarak web uygulamaları geliştirmek için
tasarlanmış yeni nesil kütüphane sistemine ASP.NET MVC denilmektedir.</p>



<h3 class="wp-block-heading">ASP.NET MVC Varsayılan Durumlar</h3>



<p>ASP.NET MVC teknolojisi programcı hiç bir belirleme
yapmaksızın default bir takım belirlemelerle geliştirmeye olanak sağlamaktadır.
Buna İngilizce olarak “convention” denilmektedir. Bu belirlemeler değiştirilebilmektedir.
Ancak bir çok durumda değiştirilmesine gerek olmayabilir. Bu belirlemelerde bir
takım varlıklar (dosya, page ya da sınıf) belirli dizinler içerisinde
aranacaktır. Yani programcı varlıkları bu dizinlere koyarsa ASP.NET MVC
tarafında bir belirleme yapmaksızın program ilgili işlemleri yapacaktır.</p>



<h3 class="wp-block-heading">ASP.NET MVC Projesinin Temel Elemanları</h3>



<p>Burada boş bir ASP.NET MVC projesinin temel elemanları
anlatılacaktır. Bu elamanlar genel olarak dizinler ve dosyalar şeklindedir. Bir
proje içerisinde yukarıda anlatılan view, model ve controller sınıflarına
default dizinler bulunur. Şüphesiz bu dizinlerin hiç birisi zorunlu değildir.
Hatta sıfırdan bir ASP.NET MVC projesi “hard coded” oluşturulabilir.</p>



<p>App_Start dizini bir takım ilk belirlemelere ilişkin dinamik
kodları içermektedir. Örneğin RoutoConfig.cs dosyası ile routing işlemleri
belirlenmektedir. App_Data dizini içerisinde adından da anlaşılacağı gibi bir
takım veriler bulundurulur. Örneğin bir takım dosyalar, ya da özellikle
veritabanı dosyaları burada bulundurulabilir. Scripts dizininde genel olarak
javascript ya da jquery dosyaları bulundurulur.</p>



<h3 class="wp-block-heading">ASP.NET MVC Kullanımı</h3>



<p>ASP.NET MVC teknolojisi genel olarak controller içerisindeki
action metotlara dayanmaktadır. Yani bir durum için controller sınıf
içerisindeki bir metot çağrılmaktadır. ASP.NET Web Forms tarafındaki her sayfanın
bir sınıfla eşleştirilmesi (code behind) durumu bu teknoljide yoktur. Ya da
örneğin postback gibi bir mekanizma burada yoktur. Controller sınıfları ASP.NET
MVC için default olarak Controllers isimli bir dizin altında aranır. Ayrıca
yine default olarak tüm controller sınıflarının isimleri “Controller” ile bitirilmektedir.</p>



<p>Her view un görevi gibi ASP.NET MVC teknolojisinde de view
bir görünümün tasarımını içermektedir. Ancak ASP.NET Web Forms ya da PHP gibi
teknolojilerden farklı olarak bir view elamanı diskte bir dosyaya karşılık
gelmeyebilir. Eğer bir view bir dosyaya karşılık gelecekse bu dosya ASP.NET MVC
için default olarak proje içerisindeki views isimli dizin altında aranacaktır.</p>



<p>Model genel olarak verinin nasıl tutulduğuna ilişkin
bellekteki nesnenin karşılık geldiği sınıf bildirimidir. Bu sınıflar programcı
tarafından yazılabileceği gibi bir takım araçlar yardımıyla da veri tabanı
yönetim sistemlerinden üretilebilmektedir. Bir model ASP.NET MVC için default
olarak Models isimli bir dizin içerisinde aranacaktır. Ancak bunun başka
dizinlerde kullanımına çok rastlanmaktadır.</p>
<p><a href="https://www.mtakarsu.com/asp-net-mvc-nedir/">ASP.NET MVC Nedir? Temel Elemanları Nelerdir?</a><br />
<a href="https://www.mtakarsu.com">Tarık Akarsu</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.mtakarsu.com/asp-net-mvc-nedir/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>WhatsApp İçin Olası Senaryolar (Android)</title>
		<link>https://www.mtakarsu.com/android-whatsapp-olasi-senaryolar/</link>
					<comments>https://www.mtakarsu.com/android-whatsapp-olasi-senaryolar/#respond</comments>
		
		<dc:creator><![CDATA[Tarık Akarsu]]></dc:creator>
		<pubDate>Wed, 09 Mar 2016 08:54:53 +0000</pubDate>
				<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[whatsapp aç]]></category>
		<category><![CDATA[whatsapp apk indir]]></category>
		<category><![CDATA[whatsapp download]]></category>
		<category><![CDATA[whatsapp indir ucretsiz]]></category>
		<category><![CDATA[whatsapp indir ücretsiz cepde]]></category>
		<category><![CDATA[whatsapp messenger indir]]></category>
		<category><![CDATA[whatsapp uptodown]]></category>
		<category><![CDATA[whatsapp yukle ucretsiz]]></category>
		<guid isPermaLink="false">https://www.mtakarsu.com/?p=225</guid>

					<description><![CDATA[<p><a href="https://www.mtakarsu.com">Tarık Akarsu</a><br />
<a href="https://www.mtakarsu.com">Tarık Akarsu - Muhammet Tarık Akarsu</a></p>
<p>Android için whatsapp da kullanılabilecek olası bazı senaryolar; Whatsapp&#8217;ın ilk çalıştırılmasıonCreate &#62; onStart &#62; onResumeWhatsappta Arama gelmesionPauseAlarm ÇalmasıonPauseWhatsappta Kullanıcı Listesi Sayfasındayken kişi seçip konuşma sayfasının açılmasıKullanıcı Listesi Sayfası : onPauseKonuşma Sayfası : onCreate &#62; onStart &#62; onResumeKonuşma sayfasındayken BACK tuşuna basılmasıKonuşma Sayfası: onPause &#62; onStop &#62; onDestroyKullanıcı Listesi Sayfası: onResumeKullanıcı Listesi Sayfasındayken BACK tuşuna basılmasıonPause &#8230;</p>
<p><a href="https://www.mtakarsu.com/android-whatsapp-olasi-senaryolar/">WhatsApp İçin Olası Senaryolar (Android)</a><br />
<a href="https://www.mtakarsu.com">Tarık Akarsu</a></p>
]]></description>
										<content:encoded><![CDATA[<p><a href="https://www.mtakarsu.com">Tarık Akarsu</a><br />
<a href="https://www.mtakarsu.com">Tarık Akarsu - Muhammet Tarık Akarsu</a></p>

<p>Android için whatsapp da kullanılabilecek olası bazı senaryolar;</p>



<p><strong>Whatsapp&#8217;ın ilk çalıştırılması</strong><br>onCreate &gt; onStart &gt; onResume<br><strong>Whatsappta Arama gelmesi</strong><br>onPause<br><strong>Alarm Çalması</strong><br>onPause<br><strong>Whatsappta Kullanıcı Listesi Sayfasındayken kişi seçip konuşma sayfasının açılması</strong><br>Kullanıcı Listesi Sayfası : onPause<br>Konuşma Sayfası : onCreate &gt; onStart &gt; onResume<br><strong>Konuşma sayfasındayken BACK tuşuna basılması<br></strong>Konuşma Sayfası: onPause &gt; onStop &gt; onDestroy<br>Kullanıcı Listesi Sayfası: onResume<br><strong>Kullanıcı Listesi Sayfasındayken BACK tuşuna basılması<br></strong>onPause &gt; onStop &gt; onDestroy<br><strong>Kullanıcı Listesi Sayfasındayken HOME tuşuna basılması<br></strong>onPause &gt; onStop<br><strong>Konuşma Sayfasındayken HOME tuşuna basılması<br></strong>Konuşma Sayfası: onPause &gt; onStop<br>Kullanıcı Listesi Sayfası: onPause &gt; onStop<br><strong>HOME tuşuyla kapatılan Whatsapp&#8217;ın tekrar açılması</strong><br>onRestart &gt; onStart &gt; onResume<br><strong>Ekranın Yan Çevirilmesi</strong><br>onPause &gt; onStop &gt; onDestroy &gt; onCreate &gt; onStart &gt; onResume <br></p>
<p><a href="https://www.mtakarsu.com/android-whatsapp-olasi-senaryolar/">WhatsApp İçin Olası Senaryolar (Android)</a><br />
<a href="https://www.mtakarsu.com">Tarık Akarsu</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.mtakarsu.com/android-whatsapp-olasi-senaryolar/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>HTML5 Yeni DOCTYPE Bildirimi Tanımlama</title>
		<link>https://www.mtakarsu.com/html5-doctype/</link>
					<comments>https://www.mtakarsu.com/html5-doctype/#respond</comments>
		
		<dc:creator><![CDATA[Tarık Akarsu]]></dc:creator>
		<pubDate>Fri, 01 Jan 2016 18:21:25 +0000</pubDate>
				<category><![CDATA[Html5]]></category>
		<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[<! doctype css]]></category>
		<category><![CDATA[bootstrap]]></category>
		<category><![CDATA[doctype bildirimi]]></category>
		<category><![CDATA[DOCTYPE html]]></category>
		<category><![CDATA[doctype html nedir]]></category>
		<category><![CDATA[doctype php]]></category>
		<category><![CDATA[html doctype list]]></category>
		<category><![CDATA[html5 markup elements]]></category>
		<category><![CDATA[validator]]></category>
		<guid isPermaLink="false">https://www.mtakarsu.com/?p=228</guid>

					<description><![CDATA[<p><a href="https://www.mtakarsu.com">Tarık Akarsu</a><br />
<a href="https://www.mtakarsu.com">Tarık Akarsu - Muhammet Tarık Akarsu</a></p>
<p>&#60;!DOCTYPE html> Belge türünü ayarlamak için kullandığımız bu etiket, HTML5 ile daha kısa ve kullanışlı bir hale getirilmiştir. Örneğin; XHTML 1.0’da belge türü üç şekilde ayarlanabiliyordu ve tanımlama oldukça uzundu. HTML5, bu karmaşayı ortadan kaldırmış ve geriye doğru uyumluluğu (eski HTML sürümleri ile) korumuştur. Bu etiketin HTML5 ağaç yapısı içinde belgenin en başlında tanımlanması zorunludur. &#8230;</p>
<p><a href="https://www.mtakarsu.com/html5-doctype/">HTML5 Yeni DOCTYPE Bildirimi Tanımlama</a><br />
<a href="https://www.mtakarsu.com">Tarık Akarsu</a></p>
]]></description>
										<content:encoded><![CDATA[<p><a href="https://www.mtakarsu.com">Tarık Akarsu</a><br />
<a href="https://www.mtakarsu.com">Tarık Akarsu - Muhammet Tarık Akarsu</a></p>

<pre class="wp-block-code"><code>&lt;!DOCTYPE html></code></pre>



<p>Belge türünü ayarlamak için kullandığımız bu etiket, HTML5
ile daha kısa ve kullanışlı bir hale getirilmiştir. Örneğin; XHTML 1.0’da belge
türü üç şekilde ayarlanabiliyordu ve tanımlama oldukça uzundu. HTML5, bu karmaşayı
ortadan kaldırmış ve geriye doğru uyumluluğu (eski HTML sürümleri ile) korumuştur.
Bu etiketin HTML5 ağaç yapısı içinde belgenin en başlında tanımlanması
zorunludur. Şimdi önceki HTML sürümlerinde yapılan DOCTYPE tanımlamalarına
bakalım.</p>



<h2 class="wp-block-heading">

DOCTYPE tanımlamaları

</h2>



<h3 class="wp-block-heading">XHTML 1.0 DOCTYPE (Transitional) tanımlaması:</h3>



<pre class="wp-block-code"><code>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"></code></pre>



<h3 class="wp-block-heading">XHTML 1.0 DOCTYPE (Strict) tanımlaması:</h3>



<pre class="wp-block-code"><code>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"></code></pre>



<h3 class="wp-block-heading">HTML 4.01 DOCTYPE (Strict) tanımlaması:</h3>



<pre class="wp-block-code"><code>&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd"></code></pre>



<p>Dikkat ederseniz tanımlamalar oldukça uzun ve aslında Strict
olan yapılar geriye doğru uyumluluğu desteklemiyor. Örneğin; sayfanızda XHTML
1.0 DOCTYPE (Strict) tanımlamasını kullanırsanız. Belge içerisinde sadece XHTML
1.0 sürümünde var olan (desteklenen) etiketleri ya da özellikleri kullanmanıza
izin verilir. Strict tanımlaması yaparsanız önceki HTML sürümlerinde var olan fakat
XHTML 1.0 taraşından desteklenmeyen etiket ya da özellikleri kullanmanıza izin
verilmez. İşte bu durum, Strcit yapısının geriye doğru uyumlu olmadığı anlamına
gelir.</p>



<p>Belge içerisinde DOCTYPE tanımlamasını yapmazsak, tarayıcı sayfayı <strong>Quirks Mod</strong>’da çalıştıracaktır. Tam da burada tarayıcı modları ile ilgili bilgi vermek istiyorum. Tarayıcı modları tarayıcının web sayfasını nasıl yorumladığını/yorumlayacağını gösterir. IE5/MAC sürümü ile beraber tarayıcılarda gösterilecek web sayfalarının standartlara uyması beklenmiştir. Standartlara bağlı kalınmadan yazılan eski web sayfalarının tarayıcılar taraşından gösterilebilmesi için IE5 ile beraber Microsoft DOCTYPE kavramını ortaya atmıştır. Buna göre web belgesinin en başlında DOCTYPE tanımlaması olan sayfalar standart modda, DOCTYPE tanımlaması olmayan (eski sayfalar) tuhaf modda çalışır. Diğer tarayıcı firmalarının da benimsemesi ile <strong>Tarayıcı Modları</strong> kavramı ortaya çıkmıştır. <br>Standard olarak üç tane tarayıcı modu bulunmaktadır. Şimdi bunları inceleyelim. </p>



<h2 class="wp-block-heading">Tarayıcı Modları</h2>



<ul><li><strong>Quirks Mode:</strong> DOCTYPE tanımlamasını yapmazsak tarayıcının sayfayı Quirks Mod’da çalıştıracağını söylemiştik. Bu durumda sayfanız oluşturulurken tarayıcı W3C standartlarına bağlı kalmaz. Sayfa görünümü ya da elemanların yerleşimi kullanılan tarayıcıya bağlı olarak değişiklik gösterebilir. DOCTYPE tanımlaması yapmamış iseniz; web sayfanız tarayıcının var olan eski kurallarına göre değerlendirilecek ve tarayıcıda oluşturulacaktır. Tarayıcı, Quirks modda çalıştığında farklı tarayıcılarda CSS özelliklerinin doğru olarak sayfa elemanlarına uygulanmasında farklı problemler çıkabilmektedir. Ayrıca tarayıcı Quirks Modda kurallara bağımlılık açısından daha esnek davranacaktır. Örneğin; DOCTYPE tanımlaması yapmazsanız IE6 ve alt sürümleri W3C kutu modeli yerine kendi kutu modelini kullanır.</li><li><strong>Standart Mode:</strong> DOCTYPE tanımlaması yaparak sayfamızın tarayıcı taraşından standart modda gösterileceğini belirtmiş oluruz. Standart modda tarayıcılar standartlara dayalı sayfamızı yorumlayacaktır. Standart modda tarayıcı sıkı bir denetim yapar ve sayfa görüntüsü oluşturur. HTML5 bildiriminde no quirks mode olarak adlandırılmıştır. </li><li><strong>Almost Standart Mode:</strong> Standart mod ile hemen hemen aynı olan bu mod; Opera, Safari, Chrome, Firefox ve IE8 taraşından desteklenmektedir. HTML5 bildiriminde limited quirks mode olarak adlandırılmıştır. </li></ul>
<p><a href="https://www.mtakarsu.com/html5-doctype/">HTML5 Yeni DOCTYPE Bildirimi Tanımlama</a><br />
<a href="https://www.mtakarsu.com">Tarık Akarsu</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.mtakarsu.com/html5-doctype/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>HTML5 Yeni Character Set Bildirimi Tanımlama</title>
		<link>https://www.mtakarsu.com/html5-character-set/</link>
					<comments>https://www.mtakarsu.com/html5-character-set/#respond</comments>
		
		<dc:creator><![CDATA[Tarık Akarsu]]></dc:creator>
		<pubDate>Fri, 18 Dec 2015 17:16:24 +0000</pubDate>
				<category><![CDATA[Html5]]></category>
		<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[charset ne demek]]></category>
		<category><![CDATA[css charset]]></category>
		<category><![CDATA[html charset]]></category>
		<category><![CDATA[html charset nedir]]></category>
		<category><![CDATA[html charset türkçe]]></category>
		<category><![CDATA[html encoding turkish characters]]></category>
		<category><![CDATA[html special characters]]></category>
		<category><![CDATA[html utf8 türkçe]]></category>
		<category><![CDATA[meta charset css w3]]></category>
		<category><![CDATA[meta charset nedir]]></category>
		<category><![CDATA[meta charset utf 8]]></category>
		<category><![CDATA[meta charset utf 8 türkçe]]></category>
		<guid isPermaLink="false">https://www.mtakarsu.com/?p=221</guid>

					<description><![CDATA[<p><a href="https://www.mtakarsu.com">Tarık Akarsu</a><br />
<a href="https://www.mtakarsu.com">Tarık Akarsu - Muhammet Tarık Akarsu</a></p>
<p>Meta etiketi &#60;head> etiketleri arasında bildirilir ve sayfa hakkında tarayıcılara ya da arama motorlarına bir takım bilgiler sunar. charset özelliği belge içerisinde kullanılacak karakter seti (kümesi) tanımlaması için kullanılır. Önceki HTML sürümlerinde charset tanımlamasının nasıl yapıldığına bakalım. &#60;meta charset="utf-8"> &#60;meta http-equiv="content-type" content="text/html;charset=utf-8"> meta etiketinin özelliklerine kısaca bakalım. name: Meta etiketi içerisinde değer atanacak önceden tanımlı &#8230;</p>
<p><a href="https://www.mtakarsu.com/html5-character-set/">HTML5 Yeni Character Set Bildirimi Tanımlama</a><br />
<a href="https://www.mtakarsu.com">Tarık Akarsu</a></p>
]]></description>
										<content:encoded><![CDATA[<p><a href="https://www.mtakarsu.com">Tarık Akarsu</a><br />
<a href="https://www.mtakarsu.com">Tarık Akarsu - Muhammet Tarık Akarsu</a></p>

<p>Meta etiketi <strong>&lt;head></strong> etiketleri arasında bildirilir ve sayfa hakkında tarayıcılara ya da arama motorlarına bir takım bilgiler sunar. charset özelliği belge içerisinde kullanılacak karakter seti (kümesi) tanımlaması için kullanılır. Önceki HTML sürümlerinde charset tanımlamasının nasıl yapıldığına bakalım.</p>



<pre class="wp-block-code"><code>&lt;meta charset="utf-8"> </code></pre>



<pre class="wp-block-code"><code>&lt;meta http-equiv="content-type" content="text/html;charset=utf-8"> </code></pre>



<p>meta etiketinin özelliklerine kısaca bakalım.</p>



<ul><li><strong>name:</strong> Meta etiketi içerisinde değer atanacak önceden tanımlı alt özellik isimlerini tanımlamak için kullanılır. Bu özellikle tanımlanan alt özelliğe değer atamak için content özelliği kullanılır. Name özelliğine atanabilecek alt özellikler aşağıda listelenmiştir. <ul><li><strong>application-name:</strong> Uygulama adını tanımlamak için kullanılır.</li><li><strong>author:</strong> Web sayfasını oluşturan kişi hakkında bilgi tanımlamak için kullanılır.</li><li><strong>description:</strong> Sayfa içeriği ile ilgili tanımlayıcı bir bilgi (açıklama) tanımlamak için kullanılır.</li><li><strong>generator:</strong> Sayfanın oluşturulduğu program (yazılım) ile ilgili bilgi tanımlamak için kullanılır.</li><li><strong>keywords:</strong> Arama motorları için virgülle ayrılmış anahtar kelimeler tanımlamak için kullanılır. Örnek: </li></ul></li></ul>



<pre class="wp-block-code"><code>&lt;metaname="keywords" content="HTML5,HTML5 Programlama,HTML5 JavaScript"> </code></pre>



<p>Yukarıdaki bildirim web sitesi ile ilgili arama motorları için anahtar kelimeler tanımlar. Ayrıca <strong>WHATWG MetaExtensions</strong> ile tanımlanan aşağıdaki alt özellikleri de kullanabilirsiniz.<br>creator, googlebot, publisher, robots, slurp, viewport</p>



<ul><li><strong>http-equiv:</strong> default-style, refresh alt özelliklerini değer atamak için tanımlar. Belirtilen alt özelliklere content özelliği ile değerler atanır. </li><li><strong>default-style:</strong> Alternatif stil tanımlaması yapmak için kullanılır.</li><li><strong>refresh:</strong> Belirtilen süre sonunda sayfayı tekrar yüklemek ya da kullanıcıyı başka bir URL adresine yönlendirmek için bu alt özelliği kullanabilirsiniz. Örnek: </li></ul>



<pre class="wp-block-code"><code>&lt;meta http-equiv="refresh" content="5; url=http://www.mtakarsu.com"> </code></pre>



<p>Mevcut sayfa yüklendikten 5 sn sonra kullanıcı url ile belirtilen adrese yönlendirilecektir. </p>



<ul><li><strong>content:</strong> http-equivya da name özelliklerinde tanımlanan alt özelliklere değer atamak için kullanılır.</li><li><strong>charset(HTML5):</strong> Sayfada kullanılan karakter setini (kümesi) tanımlamak için kullanılır. HTML5 ile yeni tanımlanan bir özelliktir. Aslında UTF–8 kullanmak çoğu zaman yeterli olacaktır. Sayfanız için bir charset tanımlaması yapmazsanız sayfanızdaki karakter ya da sembollerin gösteriminde problem yaşayabilirsiniz. charset ile karakter setini tanımlamak aslında tarayıcıların karakter ya da sembolleri düzgün bir şekilde göstermeleri için kullanılan algoritmanın bir parçasıdır. HTML5 bildiriminde; meta etiketinin scheme özelliği ve http-equiv özelliğinin content-type, content-language, set-cookie alt özelliklerinin kullanılması önerilmemektedir.</li></ul>
<p><a href="https://www.mtakarsu.com/html5-character-set/">HTML5 Yeni Character Set Bildirimi Tanımlama</a><br />
<a href="https://www.mtakarsu.com">Tarık Akarsu</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.mtakarsu.com/html5-character-set/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>C# Merhaba Dünya! Programı</title>
		<link>https://www.mtakarsu.com/csharp-merhaba-dunya-programi/</link>
					<comments>https://www.mtakarsu.com/csharp-merhaba-dunya-programi/#respond</comments>
		
		<dc:creator><![CDATA[Tarık Akarsu]]></dc:creator>
		<pubDate>Sat, 07 Nov 2015 13:23:09 +0000</pubDate>
				<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[merhaba dünya]]></category>
		<category><![CDATA[merhaba dünya csharp]]></category>
		<guid isPermaLink="false">https://www.mtakarsu.com/?p=216</guid>

					<description><![CDATA[<p><a href="https://www.mtakarsu.com">Tarık Akarsu</a><br />
<a href="https://www.mtakarsu.com">Tarık Akarsu - Muhammet Tarık Akarsu</a></p>
<p>Merhaba Dünya Programı Ekrana “Merhaba Dünya” yazısını basan temel bir C# programı şöyledir: class Sample { class App { public static void Main() { System.Console.WriteLine("Merhaba Dünya"); } } } Programın Derlenerek Çalıştırılması 1) Notepad gibi bir editörde program yazılarak .cs uzantılı olacak biçimde save edilir. 2) Komut satırına geçilir. Oradan programın bulunduğu dizine geçilir. 3) &#8230;</p>
<p><a href="https://www.mtakarsu.com/csharp-merhaba-dunya-programi/">C# Merhaba Dünya! Programı</a><br />
<a href="https://www.mtakarsu.com">Tarık Akarsu</a></p>
]]></description>
										<content:encoded><![CDATA[<p><a href="https://www.mtakarsu.com">Tarık Akarsu</a><br />
<a href="https://www.mtakarsu.com">Tarık Akarsu - Muhammet Tarık Akarsu</a></p>

<h2 class="wp-block-heading">Merhaba Dünya Programı</h2>



<p><br> Ekrana “Merhaba Dünya” yazısını basan temel bir C# programı şöyledir:</p>



<pre class="wp-block-code"><code>class Sample
{
      class App 
      {
            public static void Main() 
            {
                System.Console.WriteLine("Merhaba Dünya");
            }
      }
}</code></pre>



<h3 class="wp-block-heading"> Programın Derlenerek Çalıştırılması</h3>



<p>1) Notepad gibi bir editörde program yazılarak .cs uzantılı olacak biçimde save edilir. <br>2) Komut satırına geçilir. Oradan programın bulunduğu dizine geçilir. <br>3) Komut satırından aşağıdaki komut uygulanır:</p>



<pre class="wp-block-code"><code>prog &lt;program dosyası ismi>
prog Sample.cs</code></pre>



<p><strong>Anahtar Notlar:</strong> Bazı komut satırı komutları şunlardır:<br>e: &#8212;&gt; sürücü değiştirmek için <br>cd &#8212;&gt; dizin değiştirmek için <br>dir &#8212;&gt; içeriği görüntülemek için <br>cd .. &#8212;&gt; bir dışarı çık <br>type &#8212;&gt; bir dosyanın içeriğini görüntüler</p>



<h3 class="wp-block-heading">Merhaba Dünya Programının Açıklaması</h3>



<p>Kabaca bir C# programı isim alanlarından (namespace), isim alanları sınıflardan (class), sınıflar da metotlardan oluşur. İsim alanı bildiriminin genel biçimi şöyledir:</p>



<pre class="wp-block-code"><code>namespace    { //… }</code></pre>



<p>İki küme parantezi arasındaki program parçasına blok denir. C#&#8217;ta pek çok bildirim bir blok içermektedir. Sınıf bildiriminin genel biçimi şöyledir:</p>



<pre class="wp-block-code"><code>class &lt;sınıf ismi> { //… }</code></pre>



<p> Metot bildirimin de genel biçimi şöyledir:<br></p>



<pre class="wp-block-code"><code>[erişim belirleyicisi] [static] ([parametre bildirimi]) { //... }</code></pre>



<p>C#&#8217;ta alt programlara metot denir. Erişim belirleyicileri şunlardan biri olabilir:</p>



<ul><li>public</li><li>protected</li><li>private</li><li>internal</li><li>protected internal</li></ul>



<p>erişim belirleyicisini hiç yazmamakla private yazmak aynı anlama gelir (yani default private). C# programları Main isimli bir metottan çalışmaya başlar. Bir C# programında bir ve yalnızca bir tane Main metodunu bulunmalıdır. Bir metodun bildirilmesi demek onun bizim tarafımızdan yazılması demektir. Çağrılması ise, çalıştırılması demektir. Static bir metodu çağırmanın genel biçimi şöyledir:<br></p>



<pre class="wp-block-code"><code>[isim alanı ismi][.][sınıf ismi][.]([argüman listesi]);</code></pre>



<p>Örneğin;</p>



<pre class="wp-block-code"><code>System.Console.WriteLine ("Merhaba Dünya");</code></pre>



<p>Console sınıfı .NET&#8217;in sınıf kütüphanesinde yazılmış olarak bulunan hazır bir sınıftır. .NET&#8217;te böyle binlerce sınıf vardır. Console sınıfının WriteLine isimli metodu iki tırnak içerisindeki yazıyı ekrana basar. Console sınıfının aynı zamanda Write isimli metodu da vardır. Write imleci (cursor) yazının sonunda bırakır, WriteLine aşağı satırın başında bırakır. <br>Bir C# programı birden fazla isim alanından, birden fazla sınıftan ve pek çok metottan oluşabilir. Main metodu herhangi bir isim alanındaki herhangi bir sınıfın içerisinde bulunabilir. Main metodu static olmak zorundadır fakat public olmak zorunda değildir. <br><strong>Anahtar Notlar:</strong> Metot ismi olarak Foo, Bar, Tar gibi isimler kursta sıklıkla kullanılacaktır. Bu isimlerin özel hiçbir anlamı yoktur. Öylesine uydurulmuş isimler olarak pek çok kitapta kullanılmaktadır. <br>Eğer çağrılan metot, çağıran metotla aynı isim alanındaysa çağırma sırasında isim alanı ismi hiç yazılmayabilir.<br>Çağrılan metot çağıran metotla aynı sınıf içerisindeyse sınıf isminin de yazılmasına gerek yoktur (tabi istenirse yazılabilir). Yalnızca metot ismi yeterlidir. <br>Console sınıfının Clear isimli metodu ekranı siler.</p>



<pre class="wp-block-code"><code>namespace CSD
{ 
         class App 
         {
              public static void Main()
              { 
                     System.Console.Clear();
                     System.Console.WriteLine("This is a test");
              }
          }
}</code></pre>
<p><a href="https://www.mtakarsu.com/csharp-merhaba-dunya-programi/">C# Merhaba Dünya! Programı</a><br />
<a href="https://www.mtakarsu.com">Tarık Akarsu</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.mtakarsu.com/csharp-merhaba-dunya-programi/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>C# Nedir? .NET Nedir? Java ile Karşılaştırma</title>
		<link>https://www.mtakarsu.com/csharp-nedir-net-nedir-java-ile-karsilastirma/</link>
					<comments>https://www.mtakarsu.com/csharp-nedir-net-nedir-java-ile-karsilastirma/#comments</comments>
		
		<dc:creator><![CDATA[Tarık Akarsu]]></dc:creator>
		<pubDate>Tue, 27 Oct 2015 12:09:09 +0000</pubDate>
				<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[.net and c#]]></category>
		<category><![CDATA[.net core nedir]]></category>
		<category><![CDATA[.net developer nedir]]></category>
		<category><![CDATA[.net framework]]></category>
		<category><![CDATA[.net mi java mı]]></category>
		<category><![CDATA[.net programlama]]></category>
		<category><![CDATA[asp .net nedir]]></category>
		<category><![CDATA[c sharp kodları]]></category>
		<category><![CDATA[c# .net vs java]]></category>
		<category><![CDATA[c# avantajları]]></category>
		<category><![CDATA[c# dersleri]]></category>
		<category><![CDATA[c# geleceği]]></category>
		<category><![CDATA[c# hakkında makaleler]]></category>
		<category><![CDATA[c# ile yapılanlar]]></category>
		<category><![CDATA[c# indir]]></category>
		<category><![CDATA[c# programlama dili özellikleri]]></category>
		<category><![CDATA[c# syntax nedir]]></category>
		<category><![CDATA[c# vs java]]></category>
		<category><![CDATA[framework nedir]]></category>
		<category><![CDATA[java .net karşılaştırması]]></category>
		<category><![CDATA[java mı .net mi]]></category>
		<category><![CDATA[java mı c# mı]]></category>
		<category><![CDATA[mvc nedir]]></category>
		<category><![CDATA[sınavda net nedir]]></category>
		<category><![CDATA[xamarin mi java mı]]></category>
		<guid isPermaLink="false">https://www.mtakarsu.com/?p=209</guid>

					<description><![CDATA[<p><a href="https://www.mtakarsu.com">Tarık Akarsu</a><br />
<a href="https://www.mtakarsu.com">Tarık Akarsu - Muhammet Tarık Akarsu</a></p>
<p>.NET Nedir? .NET Microsoft&#8217;un yeni kuşak bir uygulama geliştirme ve çalıştırma ortamıdır. .NET&#8217;in Tarihsel Gelişimi .NET&#8217;in resmi duyurusu 2000 yılında yapıldı. İlk versiyonu 2002&#8217;de çıktı (Framework 1.0). Sonraki versiyon 2003&#8217;te piyasaya sürüldü (Framework 1.1). Sonra 2005&#8217;te Framework 2.0 çıktı. Onu 2007&#8217;de Framework 3.0 ve 2008&#8217;de Framework 3.5 izledi. 2010&#8217;da Framework 4.0, 2012&#8217;de Framework 4.5 piyasaya &#8230;</p>
<p><a href="https://www.mtakarsu.com/csharp-nedir-net-nedir-java-ile-karsilastirma/">C# Nedir? .NET Nedir? Java ile Karşılaştırma</a><br />
<a href="https://www.mtakarsu.com">Tarık Akarsu</a></p>
]]></description>
										<content:encoded><![CDATA[<p><a href="https://www.mtakarsu.com">Tarık Akarsu</a><br />
<a href="https://www.mtakarsu.com">Tarık Akarsu - Muhammet Tarık Akarsu</a></p>

<h2 class="wp-block-heading">.NET Nedir?</h2>



<p>.NET Microsoft&#8217;un yeni kuşak bir uygulama geliştirme ve çalıştırma ortamıdır.  </p>



<h3 class="wp-block-heading">.NET&#8217;in Tarihsel Gelişimi<br></h3>



<p>.NET&#8217;in resmi duyurusu 2000 yılında yapıldı. İlk versiyonu 2002&#8217;de çıktı (Framework 1.0). Sonraki versiyon 2003&#8217;te piyasaya sürüldü (Framework 1.1). Sonra 2005&#8217;te Framework 2.0 çıktı. Onu 2007&#8217;de Framework 3.0 ve 2008&#8217;de Framework 3.5 izledi. 2010&#8217;da Framework 4.0, 2012&#8217;de Framework 4.5 piyasaya sürüldü. Halen Framework 5.0 üzerinde çalışılmaktadır. </p>



<h3 class="wp-block-heading">.NET&#8217;in Standardı </h3>



<p>.NET ortamı ECMA ve ISO tarafından standardize edilmiştir. Bu ortamın standardı ECMA-335 CLI (Common Language Infrastructure) ismiyle oluşturulmuştur. .NET bir CLI gerçekleştirimidir (implementasyonudur). Aynı ortam UNIX/Linux sistemlerinde Mono ismiyle gerçekleştirilmiştir. Bunun dışında Portable.NET, Rotor projeleri de vardır. </p>



<h2 class="wp-block-heading">C# Nedir? </h2>



<p>C# ismindeki # müzikteki diyez işaretinden gelmektedir. C# sırf .NET ortamı için düşünülmüş ve tasarlanmış bir programlama dilidir.  C# eski Borland çalışanı Anders Hejlsberg ve 4 arkadaşı taarafından tasarlanmıştır. C# “nesne yönelimli”, fonksiyonel özellikleri olan modern bir dildir. C# büyük ölçüde Java&#8217;dan kopya çekilmiş fakat Java&#8217;dan çok daha iyileştirilmiştir. C++&#8217;a biraz daha yaklaştırılmıştır.  </p>



<h2 class="wp-block-heading">.NET&#8217;in Temel Özellikleri</h2>



<ol><li><strong>Arakodlu Çalışma Sistemi:</strong> C, C++, Pascal gibi dillerde proramı derleyip .exe dosya elde ettiğimizde bu dosyanın içerisinde Microişlemcinin doğrudan çalıştırabileceği Makine kodları bulunur. Halbuki C#&#8217;ta bir programı derlediğimizde oluşan .exe&#8217;nin içerisinde hiçbir mikroişlemcinin dili olmayan yapay bir arakod bulunur. Bu arakod doğrudan çalışmaz. .NET framework tarafından gerçek Makine komutlarına dönüştürülerek çalışır. Bu arakoda CIL (Common Language Infrastructure) denilmektedir. Arakod içeren bir program çalıştırılmak istendiğinde .NET&#8217;in ismine CLR (Common Language Runtime) denilen alt sistemi devreye girer. Önce arakod CLR tarafından gerçek makine komutlarına dönüştürülür ve çalıştırılır. Arakodun gerçek makine koduna dönüştürülmesi sürecine JIT derlemesi (Just in Time Compilation) denilmektedir. JIT işlemi sırasında Microsoft&#8217;un verilerine göre %18 civarında bir kayıp söz konusudur. Pekiyi arakodlu çalışmanın ne avantajları vardır? Bu sayede programlar platform bağımsız bir biçimde yazılıp çalıştırılabilir. Yani Windows&#8217;ta oluşturduğumuz bir .exe program başka bir sisteme götürülerek (tabi orada CLI ortamının kurulu olması gerekir) çalıştırılabilir. C/C++ gibi dillerde üretilen doğal kodlar hem işlemciye hemde işletim sistemine bağlıdır. .NET için üretilen CIL kodları giçbirine bağlı değildir.</li><li><strong>Geniş Bir Sınıf Kütüphanesi:</strong> .NET&#8217;in geniş ve ortak bir sınıf kütüphanesi vardır. Buna Framework Class Library (FCL) denilmektedir. Kütüphanenin çeşitli bölümleri çeşitli farklı isimlerle anılır. Örneğin veritabanı işlemlerine işlemleri için kullanılan sınıflara ADO.NET, Web sayfası yapmak için kullanılan sınıflara ASP.NET, gibi…</li><li><strong>Dillerarası Entegraston (Language Interoperability):</strong> Bir dilde yazılmış bir kodun diğer bir dilden kullanılması her zaman sorunlu bir konudur. Örneğin C++&#8217;ta yazılan kodun VB&#8217;den kullanılması gibi. Microsoft bunun için COM (Component Object Model) isimli bir arayüz oluşturmuştu. Böylece COM standartlarına uygun olarak yazılmış olan bir kod yine bu standardı destekleyen bir dilden çağrılabiliyordu. COM&#8217;ların pek çok problemi de vardır. Ve bu sistem hala kullanılmaktadır. <strong>.NET&#8217;te aynı arakodu üreten birden fazla dil vardır:</strong> <ol><li>C#</li><li>C++/CLI (C++&#8217;ın .NET&#8217;leştirilmiş versiyonu)</li><li>VB.NET (Klasik VB&#8217;nin .NET&#8217;leştirilmiş biçimi)</li><li>J# (Java sentaksıyla .NET kullanımı)</li><li>F# (Microsoft&#8217;un fonksiyonel yeni dili. Fakat amacı farklı. C# ile rekabet halinde değil)<em><br>Bu dillerin hepsi aynı arakodu ürettiği için birinde yazılan kod diğerinde rahatça kullanılabilmektedir. Yani örneğin bir projenin bir parçası VB.NET ile diğer parçası C# ile yazılabilir. <br>CLI ortamında pek çok dil kullanılabiliyorsa da bu ortamın birinci dili C#&#8217;tır. Çünkü C# sıfırdan bu ortamın için tasarlanmıştır.</em></li></ol></li><li><strong>Hızlı Uygulama Geliştirme Ortamı (Rapid Application Development):</strong> .NET bir hızlı uygulama geliştirme ortamı sunar. Bunun için görsel araçlardan da faydalanılır. Öğrenilmesi nispeten daha kolaydır.</li><li><strong>Güvenli Bir Çalışma Ortamı:</strong> .NET&#8217;te yazılmış olan programların sisteme zarar verme olasılıkları çok daha azdır. Program yüzünden makinada problem çıkma olasılığı (birtakım bilgilerin bozulması vs.) çok daha azdır.</li></ol>



<h2 class="wp-block-heading">Java mı .NET mi? </h2>



<p>Java hem programlama dilinin ismidir hem de ortamın (platformun) ismidir. Bu nedenle konuşurken “Java Programlama Dili” ya da “Java Platformu” demek gerekir. Halbuki .NET ortamın ismidir, dilin ismi C#&#8217;tır. Java 90&#8217;ların ilk yarısında çıkmış olmasına karşın .NET 200&#8217;lerin ilk yarısında çıkmıştır. Dolayısıyla arada 10 seneye yakın zaman farkı vardır. Java daha yaygın kullanılmaktadır. Java ortamıyla .NET ortamı tamamen benzer amaçlar için kullanılır. Bu durumda bu iki ortam rekabet halindedir. Fakat dil olarak C# kesinlikle Java&#8217;dan çok daha iyidir. İki platformda da işsiz kalınmaz. .NET daha çok Microsoft&#8217;u çağrıştırdığı için açık kaynak kodu destekleyen grupların gönlü daha çok Java&#8217;dadır. Fakat Java&#8217;nın kontrolü de Oracle şirketine geçmiştir. .NET Java&#8217;dan daha derli toplu bir ortamdır. </p>



<h3 class="wp-block-heading">.NET Ortamı Nasıl Kurulur?</h3>



<p>Microsoft .NET&#8217;i Windows XP&#8217;nin belli bir sürümüyle birlikte Windows&#8217;un bir parçası haline getirmiştir. Yani Windows kurulduğunda .NET Framework de kurulmuş olmaktadır. Tabi biz bunu silip yeni versiyonu kurabiliriz. .NET Framework şu biçimlerde kurulabilmektedir:</p>



<ul><li>Visual Studio IDE&#8217;sini kurduğumuzda zaten .NET ortamı da kurulmuş olur.</li><li>Microsoft&#8217;un Web sayfasına girilip .NET redistributable Package indirilerek kurulabilir. </li></ul>



<h3 class="wp-block-heading">Programlama Dillerinin Tarihsel Gelişimi </h3>



<p>Programa dilleri hep başka dillerden alıntılar yaparak ve yeni birtakım özellikler ekleyerek geliştirilmiştir. Ağacın tepesinde Fortran vardır (1954-1957). Fortran Dünyanın ilk yüksek seviyeli dilidir. Fortran&#8217;ı Algol ve Cobol dilleri izlemiştir. C Programlama Dili 1970 yılında tasarlanmıştır. Java 90&#8217;ların ilk yarısında C# 2000&#8217;lerin ilk yarısında kullanıma girmiştir. </p>



<h3 class="wp-block-heading">Programlama Dillerinin Sınıflandırılması </h3>



<p>Programlama Dillerini 3 biçimde sınıflandırabiliriz:<br>1) Seviyelerine Göre Sınıflandırma<br>2) Kullanım Alanlarına Göre Sınıflandırma<br>3) Programlama Modeline Göre Sınıflandırma</p>



<h4 class="wp-block-heading">Seviyelerine Göre Sınıflandırma</h4>



<p>Seviye (level) bir programlama dilinin insan algılayışına yakınlığının bir ölçüsüdür. Yüksek seviyeli diller kolay öğrenilebilen, insana yakın dillerdir. Alçak seviyeli diller makinanın doğal çalışmasına daha yakındır. Olabilecek en aşağı seviyeli dil saf Makine dilidir.</p>



<h4 class="wp-block-heading">Kullanım Alanlarına Göre Sınıflandırma</h4>



<p>Genel amaçlı diller, Bilimsel ve mühendislik diller, Oyun ve animasyon dilleri, Yapay seka dilleri, Web dilleri, Sistem programlama dilleri vs…</p>



<h4 class="wp-block-heading">Programlama Modeline Göre Sınıflandırma<br></h4>



<p>Bir programı yazarken kullanılan genel model (paradigm) önemlidir. Bazı dillerde sınıf yoktur. Program fonksiyonların birbirlerini çağırmasıyla yazılır. Bu tekniğe prosedürel model denir. Bazı dillerde sınıflar vardır. Program sınıflar kullanılarak yazılır. Bu modele nesne yönelimli (object oriented) model denir. Bazı dillerde program sanki formül yazılıyormuş gibi yazılır. Bunlara fonksiyonel (functional) diller denir. Bazı dillerde program tamamen ya da kısmen göresel olarak oluşturulur. Bunlara görsel (visual) model denir. Bazıları ise birden fazla modeli desteklerler. Bunlara çok modelli (multiparadigm) diller denir.</p>



<h3 class="wp-block-heading">C# Nasıl Bir Dildir?</h3>



<p>C# genel amaçlı, yapay zeka, Web programlama, bilimsel ve mühendislik alanlarda kullanılabilen nesne yönelimli, fonksiyonel özellikleri olan, yüksek seviyeli bir programlama dilidir. <br><strong>Anahtar Notlar:</strong> Hangi programlama dilinin yüzde kaç kullanıldığına ilişkin istatistikleri yapan Tiobe isimli bir şirket vardır. http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html<br><strong>Anahtar Notlar:</strong> Geniş bir sınıflandırma için http://en.wikipedia.org/wiki/List_of_programming_languages_by_type linkini inceleyiniz.</p>



<h3 class="wp-block-heading">Önemli Temel Kavramlar</h3>



<h4 class="wp-block-heading">Çevirici Program, Derleyici ve Yorumlayıcı Kavramları</h4>



<p>Bir programlama dilinde yazılmış olan programı eşdeğer olarak başka bir dile dönüştüren programlara çevirici programlar (translater) denir. Çevirici programlarda kaynal dil (source language) ve hedef dil (target language) söz konusudur. Örneğin C#&#8217;ı VB&#8217;ye dönüştüren program bir çevirici programdır. Burada kaynak dil C#, hedef dil VB&#8217;dir. Bir çevirici programda hedef dil alçak seviyeli bir dilse (saf Makine dili, sembolik Makine dili ya da arakod) bu tür çevirici programlara derleyici (compiler) denilmektedir. CLR&#8217;nin arakodu gerçek Makine koduna dönüştürme faaliyeti de bir derleme faaliyedir. <br>Bazı programlar hiç kod üretmeden programları doğrudan çalıştırırlar. Bunlara yorumlayıcı (interpreter) denilmektedir. Bazı dillerle yalnızca derleyicilerle (C, C++, C#, Java), bazı dillerle yalnızca yalnızca yorumlayıcılarla (perl, php, …), bazı dillerle de hem derleyicilerle hem de yorumlayıcılarla (Basic, Matlab) çalışılır.</p>



<h4 class="wp-block-heading">İşletim Sistemi Kavramı</h4>



<p>İşletim sistemi makinanın donanımını yöneten, bilgisayar ile kullanıcı arasında köprü kuran temel bir sistem 3<br>yazılımıdır. Örneğin Windows, Mac OS X, Linux, Android, IOS gibi…<br>İşletim sistemlerini masaüstü ve mobil olmak üzere ikiye ayırabiliriz.</p>



<ul><li>Microsoft Firmasının Masaüstü sistemi &#8211;&gt; Windows, Mobil sistemi &#8211;&gt; Windows Mobile</li><li>Apple Firmasının Masaüstü sistemi &#8211;&gt; Mac OS X, Mobil sistemi &#8211;&gt; IOS</li><li>Linux açık kaynak kodlu masaüstü sistemdir. Onun mobile versiyonuna “Embedded Linux” denilmektedir.</li><li>Android Linux kod temeline dayanan Google tarafından finanse edilen açık kaynak kodlu mobil bir işletim sistemidir.</li><li>Blackberry RIM firmasının mobil işletim sistemidir.</li></ul>



<h4 class="wp-block-heading">Mobil Sistemlerde Kullanılan Programlama Dilleri ve Ortamları</h4>



<p>Her mobil sistemin kendi öz bir geliştirme dili ve ortamı vardır:<br>Microsoft Windows Mobile &#8212;-&gt; : .NET ve C#<br>Apple IOS &#8212;&gt; Cocoa ve Objective-C/Swift<br>Android &#8212;&gt; Java<br>C# biliyorsanız, IOS&#8217;ta Mono Touch, Android&#8217;te Monodroid kullanılarak program yazılabilir. </p>



<h4 class="wp-block-heading">Açık ya da Özgür Yazılım ve Mülkiyete Sahip Yazılım</h4>



<p>Özgür yazılımın (free software)  ve açık kaynak (open source) yazılımın aralarında bazı farklar olmasına karşın temel prensipleri aynıdır. Bu prensipler:</p>



<ul><li>Bedavadır.</li><li>Kaynak kod sahiplenilmez, kaynak kod üzerinde ekleme yapılırsa bu kapatılamaz. Onun da açılması gerekir.</li><li>Çoğaltılabilir, izin almadan kullanılabilir.<br> Bunun tersi mülkiyete bağlı (propriatery) yazılımdır. Bunlar para ödenerek kullanılır. Çoğaltılamazlar. </li></ul>



<h4 class="wp-block-heading">IDE (Integrated Development Environment) Kavramı</h4>



<p>Derleyiciler komut satırından çalıştırılan basit bir arayüze sahip programlardır. Aslında teorik olarak dünyanın en büyük C# programı notepad gibi bir editörde yazılı, komut satırından csc.exe ile derlenebilir. Fakat yazılım geliştirmeyi kolaylaştırmak için ismine IDE denilen özel yazılımlar geliştirilmiştir. IDE&#8217;lerin içerisinde editörler, yardımcı araçlar, test araçları vs. bulunur. Microsoft&#8217;un  ünlü IDE&#8217;si “Visual Studio” isimli IDE&#8217;dir. Bu IDE paralıdır. Fakat bedava versiyonu “Visual Studio Express Edition” biçiminde verilmektedir. Ve bu kursta kullanılabilecek yetenektedir. Apple&#8217;ın Xcode isimli bir IDE&#8217;si vardır. Eclipse, Netbeans gibi open source IDE&#8217;ler de vardır. Moo&#8217;da “Mono Develop” isimli bir IDE bedava olarak kullanılabilir.</p>
<p><a href="https://www.mtakarsu.com/csharp-nedir-net-nedir-java-ile-karsilastirma/">C# Nedir? .NET Nedir? Java ile Karşılaştırma</a><br />
<a href="https://www.mtakarsu.com">Tarık Akarsu</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.mtakarsu.com/csharp-nedir-net-nedir-java-ile-karsilastirma/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Server Mysql Türkçe Karakter Sorunu Çözümü</title>
		<link>https://www.mtakarsu.com/server-mysql-turkce-karakter-sorunu-cozumu/</link>
					<comments>https://www.mtakarsu.com/server-mysql-turkce-karakter-sorunu-cozumu/#respond</comments>
		
		<dc:creator><![CDATA[Tarık Akarsu]]></dc:creator>
		<pubDate>Thu, 20 Jan 2011 18:46:09 +0000</pubDate>
				<category><![CDATA[Yazılım]]></category>
		<guid isPermaLink="false">https://www.mtakarsu.com/?p=302</guid>

					<description><![CDATA[<p><a href="https://www.mtakarsu.com">Tarık Akarsu</a><br />
<a href="https://www.mtakarsu.com">Tarık Akarsu - Muhammet Tarık Akarsu</a></p>
<p>Yurt dışından aldığınız yeni serverınızda (layertech, ev1 den aldığınız makinanızda default dil ingilizcedir) eğer sizde türkçe karakter sorunu yaşıyorsanız aşağıdaki adımları takip ederek bu sorunu kolayca çözebilirsiniz: ilk adım SSH ile serverınıza baglanıp root girişi yapmak.piyasada bulabileceginiz en iyilerden biri olan ve free olan&#160;putty&#160;programını kullanarak işe başayabilirsiniz. Hosting firmasının size vermiş olduğu root kullanıcı adı &#8230;</p>
<p><a href="https://www.mtakarsu.com/server-mysql-turkce-karakter-sorunu-cozumu/">Server Mysql Türkçe Karakter Sorunu Çözümü</a><br />
<a href="https://www.mtakarsu.com">Tarık Akarsu</a></p>
]]></description>
										<content:encoded><![CDATA[<p><a href="https://www.mtakarsu.com">Tarık Akarsu</a><br />
<a href="https://www.mtakarsu.com">Tarık Akarsu - Muhammet Tarık Akarsu</a></p>

<p>Yurt dışından aldığınız yeni serverınızda (layertech, ev1 den aldığınız makinanızda default dil ingilizcedir) eğer sizde türkçe karakter sorunu yaşıyorsanız aşağıdaki adımları takip ederek bu sorunu kolayca çözebilirsiniz:</p>



<p>ilk adım SSH ile serverınıza baglanıp root girişi yapmak.piyasada bulabileceginiz en iyilerden biri olan ve free olan&nbsp;putty&nbsp;programını kullanarak işe başayabilirsiniz.</p>



<p>Hosting firmasının size vermiş olduğu root kullanıcı adı ve şifresini yazarak serverınıza baglantıktan sonra<br>komut satırına şunu yazın:<br></p>



<pre class="wp-block-code"><code>pico /etc/my.cnf</code></pre>



<p>

my.cnf dosyasınının boş bir yerine şu kodları yazın<br></p>



<pre class="wp-block-code"><code>default-character-set=latin5
default-collation=latin5_turkish_ci
init_connect='SET NAMES latin5'</code></pre>



<p> daha sonra Crtl+X yapın.Son degişikleri kayıt edeyim mi diye soracak size &#8216;y&#8217; yada &#8216;yes&#8217; yazıp Enter tuşuna basın. sonrada komut satırına şunu yazın

</p>



<pre class="wp-block-code"><code>/scripts/restartsrv mysql</code></pre>



<p>artık sorunsuz şekilde türkçe karekterler yeni serverınızda gözükür. </p>
<p><a href="https://www.mtakarsu.com/server-mysql-turkce-karakter-sorunu-cozumu/">Server Mysql Türkçe Karakter Sorunu Çözümü</a><br />
<a href="https://www.mtakarsu.com">Tarık Akarsu</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.mtakarsu.com/server-mysql-turkce-karakter-sorunu-cozumu/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
