<?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>Murat Çorlu &#187; Programlama</title>
	<atom:link href="http://muratcorlu.com/tr/kategori/programlama/feed/" rel="self" type="application/rss+xml" />
	<link>http://muratcorlu.com/tr</link>
	<description>"Gölgede duranın, gölgesi olmaz"</description>
	<lastBuildDate>Fri, 30 Apr 2010 10:53:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Sahibinden.com Anasayfasına Önyüz Kodlaması Dopingi</title>
		<link>http://muratcorlu.com/tr/yazi/sahibinden-com-anasayfasina-onyuz-kodlamasi-dopingi/</link>
		<comments>http://muratcorlu.com/tr/yazi/sahibinden-com-anasayfasina-onyuz-kodlamasi-dopingi/#comments</comments>
		<pubDate>Wed, 23 Sep 2009 09:29:35 +0000</pubDate>
		<dc:creator>Murat</dc:creator>
				<category><![CDATA[Bilgisayar Tecrübeleri]]></category>
		<category><![CDATA[Programlama]]></category>
		<category><![CDATA[Web Programlama]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://muratcorlu.com/tr/?p=107</guid>
		<description><![CDATA[2 ay kadar zamandır Sahibinden.com&#8216;da önyüz yazılımcısı olarak çalışmaktayım. Önyüz kodlaması konusunda ülkemizdeki eksiklikler sahibinden.com gibi Türkiye&#8217;nin en çok ziyaret edilen sitelerinden birinde de kendisini gösteriyordu. Bu ölçüde büyük web projelerinin önyüz kodlamasını tümden değiştirmek de oldukça büyük bir işgücü ve süre gerektirebiliyor. Bu yüzden önyüz kodlamasını aşama aşama yeniden yazmaya niyetlendik ve sunucu tarafında [...]]]></description>
			<content:encoded><![CDATA[<p>2 ay kadar zamandır <a href="http://www.sahibinden.com">Sahibinden.com</a>&#8216;da önyüz yazılımcısı olarak çalışmaktayım. Önyüz kodlaması konusunda ülkemizdeki eksiklikler sahibinden.com gibi Türkiye&#8217;nin en çok ziyaret edilen sitelerinden birinde de kendisini gösteriyordu. Bu ölçüde büyük web projelerinin önyüz kodlamasını tümden değiştirmek de oldukça büyük bir işgücü ve süre gerektirebiliyor.<span id="more-107"></span></p>
<p>Bu yüzden önyüz kodlamasını aşama aşama yeniden yazmaya niyetlendik ve sunucu tarafında nisbeten daha az işlemin yapıldığı ana sayfayı ilk çalışma alanımız olarak seçtik. Hedeflerimiz şunlardı:</p>
<ul>
<li>Görsel diğer sayfalarla farklılık yaratacak bir değişiklik yapmamak</li>
<li>Geçerli (valid) HTML üretmek</li>
<li>Bilinen bütün modern tarayıcılarda sayfanın problemsiz çalışmasını sağlamak</li>
<li>HTML kodlarında tasarım için kullanılan table etiketlerinden kurtulmak</li>
<li>HTML içindeki(inline) CSS ve Javascript tanımlamalarından kurtulmak</li>
<li>Arama motoru optimizasyonu(SEO) kriterlerine uygun HTML yazmak</li>
<li>Harici CSS ve Javascript dosyalarını birleştirip küçülterek HTTP talep sayılarını ve boyutlarını düşürmek</li>
<li>HTML&#8217;deki gereksiz yorum, tab, enter ve boşlukları temizleyerek HTML boyutunu düşürmek</li>
<li>Tasarım grafiklerinde CSS Sprite yöntemini kullanarak HTTP talep sayısını düşürmek</li>
<li>Javascript kodlarını &#8220;Event Driven&#8221; yazmak</li>
</ul>
<p>Bu amaçlarımızı uygulayabilmek için doğal olarak önyüz kodlarını tamamen sistemden ayırmak gerekti. Bu amaçla ana sayfaya özgü Javascript ve CSS kodlarını sıfırdan yazdık, HTML üretme sistemimizi yeniledik, bazı yerlerde şablon motorumuza gönderilen verilerin yapısında değişiklikler yaptık. Dinamik olarak Javascript, CSS ve HTML kodlarımızı küçülten, birleştiren uygulamalar yazdık. HTML&#8217;i sıfırdan yazdık, tablolardan arındırdık, SEO&#8217;ya uygun şekilde etiketlendirdik. Javascript kodlarını &#8220;Olay Tetikli&#8221; çalışır hale getirdik.Tasarım grafiklerimizin sayılarını olabildiğince azalttık, kalıtsallığı maksimum derecede kullanacak şekilde stil tanımlamaları yaptık.</p>
<p>Tüm bu çalışmalardan sonra geçen cuma (18 Eylül 2009) yeni ana sayfamızı yayına aldık. İçerikte herhangi bir değişiklik yapmadan sadece teknikleri değiştirerek kazandıklarımız ise şunlar oldu:</p>
<ul>
<li>Valid HTML&#8217;imiz oldu: <a href="http://validator.w3.org/check?uri=http://www.sahibinden.com">http://validator.w3.org/check?uri=http://www.sahibinden.com</a></li>
<li>HTML boyutumuz yaklaşık 80KB&#8217;dan yaklaşık 40KB&#8217;a indi.</li>
<li>CSS ve Javascript dosyalarını birleştirme ve CSS Sprite yönetmiyle tasarım grafiklerinin birleştirilmesiyle sayfadaki HTTP talep sayısı 30&#8242;lardan, 8-10&#8242;a indi.</li>
<li>Sayfanın render süresi oldukça azaldı.</li>
<li>IE6 için transparan PNG ve :hover desteği sağlandı.</li>
</ul>
<p>Web standartlarının uygulanması yaygınlaştıkça yapılan bu tür müdahalelerin değeri daha da günyüzüne çıkıyor.  Sahibinden&#8217;deki bu geliştirme büyüyerek devam edecek. Darısı diğer büyük Türk sitelerinin başına&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://muratcorlu.com/tr/yazi/sahibinden-com-anasayfasina-onyuz-kodlamasi-dopingi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux için Adobe AIR Alpha1 duyuruldu</title>
		<link>http://muratcorlu.com/tr/yazi/linux-icin-adobe-air-alpha1-duyuruldu/</link>
		<comments>http://muratcorlu.com/tr/yazi/linux-icin-adobe-air-alpha1-duyuruldu/#comments</comments>
		<pubDate>Tue, 08 Apr 2008 04:03:43 +0000</pubDate>
		<dc:creator>Murat</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Programlama]]></category>
		<category><![CDATA[Web Programlama]]></category>
		<category><![CDATA[adobe air]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://muratcorlu.com/yazi/linux-icin-adobe-air-alpha1-duyuruldu/</guid>
		<description><![CDATA[Adobe, dikkatle takip ettiğim AIR ürününün, heyecanla beklediğim Linux versiyonunun alpha&#8217;sını bir hafta kadar önce duyurdu: http://labs.adobe.com/technologies/air/ HTML, CSS ve Javascript yazarak platform bağımsız(Win, Mac, Linux), masaüstü uygulamaları geliştirme imkanı vermesi AIR&#8217;e karşı çok sıcak bakmamı sağladı. Web&#8217;i masaüstüyle birleştirme çabalarının bir başka örneği olan AIR, ücretsiz olmasıyla da dikkat çekiyor. Yaptığımız sitelerle ilişkilendirilecek küçük [...]]]></description>
			<content:encoded><![CDATA[<p>Adobe, dikkatle takip ettiğim <a href="http://www.adobe.com/products/air/" title="Adobe Air">AIR</a> ürününün, heyecanla beklediğim Linux versiyonunun alpha&#8217;sını bir hafta kadar önce duyurdu: <a href="http://labs.adobe.com/technologies/air/" target="_blank">http://labs.adobe.com/technologies/air/</a><br />
<span id="more-48"></span><br />
HTML, CSS ve Javascript yazarak <strong>platform bağımsız(Win, Mac, Linux),</strong> masaüstü uygulamaları geliştirme imkanı vermesi AIR&#8217;e karşı çok sıcak bakmamı sağladı. Web&#8217;i masaüstüyle birleştirme çabalarının bir başka örneği olan AIR, <strong>ücretsiz</strong> olmasıyla da dikkat çekiyor. Yaptığımız sitelerle ilişkilendirilecek küçük masaüstü araçları yapmak için bile harika bir araç bence. Örneğin yaptığınız bir sitenin yeni içeriklerini takip edebilmesi için kullanıcılarınıza bir masaüstü aracı kullandırmak isteyebilirsiniz. Veya, bir intranet uygulamanızı, masaüstü uygulaması gibi kullandırmayı isteyebilirsiniz. Benzer mantıkla, sitenizin yönetici panelini siteye koymak yerine, bu şekilde bir masaüstü aracı gibi kullandırabilirsiniz.</p>
<p>Benim için Linux versiyonu olması oldukça önemli bir özellik olduğu için(nedeni başka bir yazıya inşaallah&#8230;), bu alpha sürümü çıkana kadar üzerine tam manasıyla eğilmeyi bekletiyordum ancak görünen o ki, Adobe sözünün eri ve Linux için ciddi manada çalışmaya devam ediyor.</p>
<p>Front-end web yazılımcılarının Adobe AIR&#8217;i mutlaka denemelerini ve incelemelerini tavsiye ediyorum. Kullanan, takip eden arkadaşlar varsa, onlarla da yazışmayı, tecrübelerimizi ve fikirlerimizi paylaşmayı isterim.</p>
]]></content:encoded>
			<wfw:commentRss>http://muratcorlu.com/tr/yazi/linux-icin-adobe-air-alpha1-duyuruldu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8220;Framework Devri&#8221; ve &#8220;Mükemmel Kod&#8221;a Ulaşmak</title>
		<link>http://muratcorlu.com/tr/yazi/framework-devri-ve-mukemmel-koda-ulasmak/</link>
		<comments>http://muratcorlu.com/tr/yazi/framework-devri-ve-mukemmel-koda-ulasmak/#comments</comments>
		<pubDate>Wed, 02 Jan 2008 02:20:48 +0000</pubDate>
		<dc:creator>Murat</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Programlama]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://muratcorlu.com/yazi/framework-devri-ve-mukemmel-koda-ulasmak/</guid>
		<description><![CDATA[Bu aralar, bir projede kullanmak amacıyla Ext ile yatıp Ext ile kalkıyorum&#8230; Aslında sadece Ext ile dememek lazım; frameworkler ile yatıp frameworkler ila kalkıyorum demek daha yerinde olabilir. Birbirine benzer işlevleri olan bir sürü framework inceliyorum, &#8220;acaba onu mu kullansam&#8221;, &#8220;acaba bu daha mı işime yarar&#8221;, &#8220;aa, bunun şurası harikaymış&#8221; diyerek daldan dala atlamak, hem [...]]]></description>
			<content:encoded><![CDATA[<p>Bu aralar, bir projede kullanmak amacıyla <strong><a href="http://extjs.com" title="Ext JS">Ext</a></strong> ile yatıp Ext ile kalkıyorum&#8230; Aslında sadece Ext ile dememek lazım; frameworkler ile yatıp frameworkler ila kalkıyorum demek daha yerinde olabilir. Birbirine benzer işlevleri olan bir sürü framework inceliyorum, &#8220;acaba onu mu kullansam&#8221;, &#8220;acaba bu daha mı işime yarar&#8221;, &#8220;aa, bunun şurası harikaymış&#8221; diyerek daldan dala atlamak, hem sıkıcı, hem strese sokucu hem de yorucu olmaya başladı. Gel gör ki devir &#8220;<strong>Framework devri</strong>&#8221; oldu artık ve iyi framework kullanan kötüsünü kullananı dövüyor.<span id="more-41"></span> Efendim, &#8220;framework de ne ola ki?&#8221; diye kafa kaşıyanlar için ara bir açıklamamız kısaca şöyle olsun:</p>
<p><strong>Framework</strong>, bir ya da birkaç programlama dilini kapsayabilen, temel amacı, o dilde sıkça ihtiyaç duyulan işlemler için, hazır ve kullanımı kolay sınıf(class) ve metodlar sunan, bu sayede yazılımcıları gereksiz iş yükünden kurtarmayı hedefleyen uygulama parçacıklarıdır. Frameworkler gittikçe popüler olmaya başladılar. Bir çok dil için, bir çok frameworkden yazılımcılar bolca faydalanmaktalar. Bu frameworklere popüler bazı örnekleri ilgililer için yazımın sonuna iliştiriyorum.</p>
<p>Pek de tatmin edici görünmeyen bu &#8220;tanımlama denemesi&#8221;nden sonra, gelelim varmak istediğime&#8230; Uzunca bir süredir bunca framework görüp, kabaca inceledikten sonra, acaba &#8220;mükemmel kod&#8221; yazabilir miyim diye düşünmeden edemedim. Zira framework&#8217;lerde &#8220;mükemmel kod&#8221;a ulaşmak gibi, hani açıktan olmasa da, gizliden birşeyler seziliyor. Aynı dilde benzer işleri yapan bu kadar çok framework olması, &#8220;bak onu biz de yapıyoruz ama, bizimkini yazmak daha kolay&#8221; gibi, oluşturduğu yeni framework/dil&#8217;i olabilecek en iyisi diye göstermesi ya da en hafifinden o niyette olduğunu hissetirmesi, yine bu amacın aklıma gelmesindeki sebep oldu. Sonra &#8220;mükemmel kod&#8221; fikri üzerine bir miktar kafa yordum. Kafamın yorulmasından açığa çıkan şeyleri de şöylece özetledim:</p>
<p>Gördüm ki; insan elinden çıkmış hiçbir mükemmel şey olmadığı gibi, insan üretimi hiçbir kodun da mükemmel olabilmesi mümkün görünmüyor. Bunu düşününce biraz üzüldüğümü farkettim, demek ki ben de mükemmel bir kodlamaya ulaşabileceğimi ve tüm dertlerimin böylece biteceğini ümid ediyormuşum&#8230; Heyhât! Ne mümkün? Ben ne kadar engin bir bilgisayar programcısı da olsam, ne kadar çok uygulama yazma tecrübesi edinmiş de olsam, ne kadar farklı projelerde görev almış da olsam, yine de &#8220;daha güzeli yazılamayacak bir kod parçası&#8221; üretemiyorum. Neden mi?;</p>
<ol>
<li>Bir kod parçasının güzelliği ne kadar genel düşünülse de kullanılmak istenen projeye göre değişebiliyor.</li>
<li>Projeler aynı olsa bile, kodun işlevinin kalitesi projenin çalışacağı ortama göre de(donanım, işletim sistemi veya diğer yan bileşenler) değişiyor.</li>
<li>Bunlar da aynı olsa bile, kodun işlev kalitesi, bu kaliteyi onaylayan kişilerin, yani programcıların yaklaşımlarına, hatta hayata bakış açılarına göre de değişiyor ki, işte bir şeye mükemmel demeyi engelleyen şey de bu oluyor en nihayetinde.</li>
</ol>
<p>Yani kısacası, olmuyor dostlarım! Olmuyor, ama olmaması da doğal oluyor. Bu biraz idealist yazılımcı takıntılarıma kötü gelse de böyle birşey için ömür tüketmek gerekmediğini bilmenin verdiği huzur açısından güzel. Şimdi müsadenizle ben Ext dokümantasyonuma dönüyorum tekrar. &#8220;Mükemmele yakın&#8221; frameworklü çalışmalar dilerim herkese&#8230;</p>
<p>Not: Bu yazı böyle olmayacaktı, her zamanki gibi yazarken aklıma başka şeyler gelince bu hale dönüştü. Yazarkenki müdahalelerimin son bulmamasından dolayı yarım kalmış bekleyen yazılar hayli artınca, &#8220;artık bu da böyle olsun&#8221; diyerekten paylaşıma sunuyorum. Sürç-ü lisânımız affola&#8230;</p>
<p>Bazı Javascript Frameworkler:</p>
<ul>
<li><a href="http://prototypejs.org" title="Prototype JS">Prototype</a></li>
<li><a href="http://script.aculo.us" title="script.aculo.us">script.aculo.us</a></li>
<li><a href="http://extjs.com" title="Ext JS">Ext</a></li>
<li><a href="http://mootools.net" title="mootools">mootools</a></li>
<li><a href="http://dojotoolkit.org" title="Dojo Toolkit">Dojo Toolkit</a></li>
<li><a href="http://openrico.org" title="Rico">Rico</a></li>
<li><a href="http://jquery.com" title="jQuery">jQuery</a></li>
<li><a href="http://developer.yahoo.com/yui/" title="The Yahoo! User Interface Library (YUI)">YUI</a></li>
</ul>
<p>Bazı sunucu taraflı frameworkler:</p>
<ul>
<li><a href="http://framework.zend.com" title="Zend Framework">Zend</a> &#8211; PHP</li>
<li><a href="http://cakephp.org" title="CakePHP">CakePHP</a> &#8211; PHP</li>
<li><a href="http://seagull.phpkitchen.com/">Seagull</a> &#8211; PHP</li>
<li><a href="http://zoopframework.com/">ZooP</a> &#8211; PHP</li>
<li><a href="http://www.symfony-project.com/">Symfony</a> &#8211; PHP</li>
<li><a href="http://rubyonrails.org/" title="Ruby on Rails">Rails</a> &#8211; Ruby</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://muratcorlu.com/tr/yazi/framework-devri-ve-mukemmel-koda-ulasmak/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
