<?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>web &#8211; Selman Tunc</title>
	<atom:link href="https://selmantunc.com.tr/tag/web/feed/" rel="self" type="application/rss+xml" />
	<link>https://selmantunc.com.tr</link>
	<description></description>
	<lastBuildDate>Tue, 06 Apr 2021 19:33:51 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://selmantunc.com.tr/wp-content/uploads/2023/07/cropped-tumblr_inline_oglumuMbgO1tyldvk_540-150x150-1-32x32.jpg</url>
	<title>web &#8211; Selman Tunc</title>
	<link>https://selmantunc.com.tr</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Drag drop Upload Example</title>
		<link>https://selmantunc.com.tr/javascript-nodejs/drag-drop-upload-example/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 06 Apr 2021 19:33:51 +0000</pubDate>
				<category><![CDATA[javascript nodejs]]></category>
		<category><![CDATA[drop]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[upload]]></category>
		<category><![CDATA[uploads]]></category>
		<category><![CDATA[web]]></category>
		<guid isPermaLink="false">http://selmantunc.com.tr/2021/04/06/drag-drop-upload-example/</guid>

					<description><![CDATA[https://github.com/blueimp/jQuery-File-Upload https://www.dropzonejs.com/ https://www.dropzonejs.com/bootstrap.html https://fineuploader.com/demos.html seo js araçı  https://github.com/aFarkas/lazysizes pure javascript modal box https://micromodal.vercel.app/#introduction https://dimsemenov.com/plugins/magnific-popup/ https://biati-digital.github.io/glightbox/ https://photoswipe.com/]]></description>
										<content:encoded><![CDATA[<h2><a href="https://github.com/blueimp/jQuery-File-Upload">https://github.com/blueimp/jQuery-File-Upload</a>
<br></h2>
<p>h<a href="https://www.dropzonejs.com/">ttps://www.dropzonejs.com/</a></p>
<p>h<a href="https://www.dropzonejs.com/bootstrap.html">ttps://www.dropzonejs.com/bootstrap.html</a></p>
<p>h<a href="https://fineuploader.com/demos.html">ttps://fineuploader.com/demos.html</a></p>
<p><br></p>
<p><b>seo js araçı </b></p>
<p><a href="https://github.com/aFarkas/lazysizes">https://github.com/aFarkas/lazysizes</a>
<br></p>
<p><b>pure javascript modal box</b></p>
<p><a href="https://micromodal.vercel.app/#introduction">https://micromodal.vercel.app/#introduction</a>
<br></p>
<p><a href="https://dimsemenov.com/plugins/magnific-popup/">https://dimsemenov.com/plugins/magnific-popup/</a>
<br></p>
<p><a href="https://biati-digital.github.io/glightbox/">https://biati-digital.github.io/glightbox/</a>
<br></p>
<p><a href="https://photoswipe.com/">https://photoswipe.com/</a>
<br></p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>wordpress categories and depency post list (for api)</title>
		<link>https://selmantunc.com.tr/uncategorized/wordpress-categories-and-depency-post-list-for/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Sun, 22 Dec 2019 01:49:07 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[gist]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[rest]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wp]]></category>
		<guid isPermaLink="false">http://selmantunc.com.tr/2019/12/22/wordpress-categories-and-depency-post-list-for/</guid>

					<description><![CDATA[https://gist.github.com/stnc/f01362f2e7f2f8086a9e4c652e1e08ae goto link https://gist.github.com/stnc/f01362f2e7f2f8086a9e4c652e1e08ae]]></description>
										<content:encoded><![CDATA[<div class="gist">
<a href="https://gist.github.com/stnc/f01362f2e7f2f8086a9e4c652e1e08ae">https://gist.github.com/stnc/f01362f2e7f2f8086a9e4c652e1e08ae</a>
</div>
<p>goto link <a href="https://gist.github.com/stnc/f01362f2e7f2f8086a9e4c652e1e08ae"><a href="https://gist.github.com/stnc/f01362f2e7f2f8086a9e4c652e1e08ae">https://gist.github.com/stnc/f01362f2e7f2f8086a9e4c652e1e08ae</a></a></p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>zend framework 1 crud tutorial</title>
		<link>https://selmantunc.com.tr/uncategorized/zend-framework-1-crud-tutorial/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Sat, 20 May 2017 20:35:42 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[zend framework]]></category>
		<guid isPermaLink="false">http://selmantunc.com.tr/2017/05/20/zend-framework-1-crud-tutorial/</guid>

					<description><![CDATA[This article will explain you about the CRUD operations of Zend framework 1 in details include topics such as Create a layout, Html 5 and bootsrap css and Database configuration. Let’s take an example of “Ticket”, where&#8230;]]></description>
										<content:encoded><![CDATA[<p>This article will explain you about the CRUD operations of Zend framework 1 in details include topics such as Create a layout, Html 5 and bootsrap css and Database configuration.</p>
<p>Let’s take an example of <b>“Ticket”,</b> where user will create, update and delete the topics of ticket and display the all created tickets at one place. Which will be the complete exercise of our CRUD operation.</p>
<p>Note:- I will use here Zend console commands and all commands need to be executed using cmd prompt.</p>
<p>

zend framework 1 crud,upload,pagination,cvs export example<br><br></p>
<p><a href="https://github.com/stnc/zend-framework-1-ticket-/archive/master.zip">Download Link </a>
<br></p>
<p><a href="https://github.com/stnc/zend-framework-1-ticket-">Source Code </a></p>
<p><br></p>
<p><br></p>
<figure data-orig-width="757" data-orig-height="815" class="tmblr-full"><img decoding="async" src="https://selmantunc.com.tr/wp-content/uploads/2023/07/tumblr_inline_oq9qdqSGV21tyldvk_540.jpg" alt="image" data-orig-width="757" data-orig-height="815"></figure>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Vagrant olası hata çözümleri</title>
		<link>https://selmantunc.com.tr/uncategorized/vagrant-olasi-hata-cozumleri/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Sun, 19 Mar 2017 12:11:14 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[vagrant]]></category>
		<category><![CDATA[web]]></category>
		<guid isPermaLink="false">http://selmantunc.com.tr/2017/03/19/vagrant-olasi-hata-cozumleri/</guid>

					<description><![CDATA[SSH times out while waiting for machine to boot d64d789cabcb9fcfdf063adb87e96f6f (drupalvm) / d7e8c3b6-129a-475c-b7f1-02ddcdc8c6c9 ==&#62; drupalvm: [vagrant-hostsupdater] This operation requires administrative access. You may skip it by manually adding equivalent entries&#8230;]]></description>
										<content:encoded><![CDATA[<h2><b>SSH times out while waiting for machine to boot

</b></h2>
<blockquote><p>d64d789cabcb9fcfdf063adb87e96f6f (drupalvm) / d7e8c3b6-129a-475c-b7f1-02ddcdc8c6c9<br></p>
<p>==&gt; drupalvm: [vagrant-hostsupdater] This operation requires administrative access. You may skip it by manually adding equivalent entries to the hosts file.<br>==&gt; drupalvm: Setting hostname…<br>**An error occurred in the underlying SSH library that Vagrant uses.<br>The error message is shown below. In many cases, errors from this<br>library are caused by ssh-agent issues. Try disabling your SSH </p></blockquote>
<p><br></p>
<p>

Eğer bu şekilde hata alırsanız eğer antivirüs programı kullanıyorsanız firewall u kapatınız ayrıca antivirüs programları  c:WINDOWSsystem32driversetchost dosyasını koruma altına alıyor bunu kontrol ediniz.

<br></p>
<p>Kesinlikle yapılacaklar</p>
<p>-Bios dan   hardware-virtualzation ( yada bazı bioslar da virtualzation  technology ) ın  enabled yapılması lazım (64 bit versiyon kurmak için şart  )</p>
<blockquote><p>

vagrant plugin install vagrant-vbguest</p></blockquote>
<p>   i kurunuz <br></p>
<p>Cable Connect işaretli mi kontrol ediniz.</p>
<figure data-orig-width="1571" data-orig-height="587" class="tmblr-full"><img decoding="async" src="https://selmantunc.com.tr/wp-content/uploads/2023/07/tumblr_inline_on2a8fK2E31tyldvk_540.png" alt="image" data-orig-width="1571" data-orig-height="587"></figure>
<p>2-  

<code>Vagrant</code> dosyanıza </p>
<pre><code>config.vm.provider :virtualbox do |vb|
 &nbsp;vb.gui = true
end</code></pre>
<p>bu kısma vb.gui=true ekleyiniz virtual box gui arayuzunde çalışır., Eğer hata veriyorsa bunu görmenizi sağlar. Zaten hata genelde bios ile ilgili oluyor </p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Facebook neden php ile yazıldı</title>
		<link>https://selmantunc.com.tr/uncategorized/facebook-neden-php-ile-yazildi/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Mon, 27 Feb 2017 18:40:32 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[web]]></category>
		<guid isPermaLink="false">http://selmantunc.com.tr/2017/02/27/facebook-neden-php-ile-yazildi/</guid>

					<description><![CDATA[Silikon vadisinde ve diğer yerlerdeki bir web tabanlı bir startup projesi için dil seçilirken, zaman ve para konusunda çok kafa patlatır rakiplerini ve programlama dillerini inceleler o yüzden php, python,&#8230;]]></description>
										<content:encoded><![CDATA[<p>

Silikon vadisinde ve diğer yerlerdeki bir web tabanlı bir startup projesi için dil seçilirken, zaman ve para konusunda çok kafa patlatır rakiplerini ve programlama dillerini inceleler o yüzden php, python, ruby gibi startup diller seçilir. 
<br></p>
<p>Mark Zuckerberg bugün (ben bunu yazarken 2017 yılında) Facebook’u  yapıyor olsaydı kuşkusuz birçok başka dil, framework, platform ve mimariyi göz önüne alacaktı.<br></p>
<p>Başlangıçta PHP&#8217;yi seçip seçemeyeceklerini söylemek imkansız. Diğer sosyal ağ şirketleri bugün başlarken belli bir kısmı hala PHP&#8217;yi seçiyor. PHP yi seçebilirler, çünkü yapmaları gereken işi yapar ve onu bilen ve onunla üretken olan geliştiricileri işe alabileceklerini bilirler.</p>
<figure data-orig-width="537" data-orig-height="448" class="tmblr-full"><figure id="attachment_mmd_2258" class="wp-block-image "><img decoding="async" width="537" height="448" src="https://selmantunc.com.tr/wp-content/uploads/2023/07/fab53430ee5413e9345191ce520d032265c6a7ec.png" class="attachment-full size-full" alt="image" loading="lazy" /></figure></figure>
<p><b>Başarılı bir projenin programlama dili seçimiyle ilgisi çok az olduğu konusunda</b> bir tartışmalar elbette vardır.</p>
<p>2003 yılında başladıklarında j2EE ve PHP haricinde seçebilecekleri karşılaştırma yapabilecekleri bir dil ve framework yoktu.</p>
<h2><b>Framework(ler) NE ZAMAN ÇIKTILAR?</b></h2>
<ul><li>Ruby vardı, ancak henüz Rails yoktu (1.0, Temmuz 2004&#8217;te tanıtıldı).</li>
<li>JSF 1.x veya Spring 1.0 ile Java 1.4 de tanıtıldı.</li>
<li>Perl 5.8 vardı, ancak Catalyst framework yoktu (Şubat 2005&#8217;te tanıtıldı).</li>
<li>Python vardı, ancak Django

framework

yoktu (Temmuz 2005&#8217;te tanıtıldı).</li>
<li>Web programlama için Ajax terimi 2005 yılında üretildi, daha ortada ajax yoktu ancak asekron XML isteklerinin kullanımı hala standart dışıydı, geniş tarayıcı uyumluluğu için kullanılamayacak kadar erken bir tarihti.</li>
<li>C # 1.0 ve .NET 1.1 (C # 2.0, Haziran 2006&#8217;da piyasaya sürüldü).</li>
<li>JavaScript vardı, ancak Node.js yoktu (2009&#8217;da geliştirildi) </li>
<li>jQuery yoktu

(Ağustos 2006&#8217;da tanıtıldı)

ve diğer JS frameworkler yoktu </li>
<li>Amazon EC2, Ağustos 2006&#8217;da herkese açıldı</li>
<li>Heroku 2007&#8217;de kuruldu.</li>
<li>Git ilk önce 2009&#8217;da herkes tarafından görüldü.</li></ul>
<p>İşin aslı, 2003 de Facebook&#8217;un seçtiği PHP, oluşturulduğu tarihte mükemmel bir seçim oldu.</p>
<p>Açıkçası Facebook PHP&#8217;yi kullanırken çok başarılı olmuştur.<br></p>
<p>Mayıs 2013&#8217;ten bu makaleye bakın <a href="https://translate.googleusercontent.com/translate_c?act=url&amp;depth=1&amp;hl=tr&amp;ie=UTF8&amp;prev=_t&amp;rurl=translate.google.com&amp;sl=en&amp;sp=nmt4&amp;tl=tr&amp;u=http://www.phpclasses.org/blog/post/208-5-Reasons-Why-the-Web-Platform-War-is-Over-PHP-Won-with-75-says-Google.html&amp;usg=ALkJrhh4YotkEDG9hCwzEXaB9vbZKvC0SA">,</a> <a href="https://www.phpclasses.org/blog/post/208-5-Reasons-Why-the-Web-Platform-War-is-Over-PHP-Won-with-75-says-Google.html">

5 Reasons Why the Web Platform War is Over: PHP Won with 75% says Google<br><br></a></p>
<p><a href="https://www.phpclasses.org/blog/post/208-5-Reasons-Why-the-Web-Platform-War-is-Over-PHP-Won-with-75-says-Google.html">Başlangıçta “Facebook&#8217;un uygulamalarını neden PHP ile yazdı” sorusuna cevap verdim.<br></a></p>
<p>Bazı insanlar “neden bugün Facebook&#8217;un tüm kodlarını yeniden yazmaz yada yazmalı ?” diye soruyorlar. </p>
<p>Node.js veya Go&#8217;nun avantajları veya diğer diller ile ilgili bir sürü açıklama mevcuttur.</p>
<p>Eski dili sevmemekten başka bir dilde büyük bir kod tabanını yeniden yazmak için ciddi bir gerekçenin bulunması gerekir.  Bunun yanında <b>onlarca</b> yıllık deneyime dayanan bir çok bilgelik, birikmişlik vardır bunu çöpe atamazsınız.</p>
<p>Ama tabi bunu facebook isterse yapar mı elbette yapar başka bir dile tüm kodları taşır fakat bunun maliyeti ve geliştirme süresinde php tarafındaki bugfix zamanı tartışmalı konudur.</p>
<p>Çünkü bugün facebook 600 milyon satır koda (sadece php kodu değil tüm sistemin kodları) <a href="http://www.informationisbeautiful.net/visualizations/million-lines-of-code/">ulaşmıştır</a>.</p>
<p>Bonus :Facebook mimarisi ve hangi teknolojileri kullandıklarını merak edenler <a href="https://www.quora.com/What-is-Facebooks-architecture-6">buradan </a>bakabilirler.<br><br></p>
<p><a></a></p>
<figure data-orig-width="800" data-orig-height="533" class="tmblr-full"><figure id="attachment_mmd_2273" class="wp-block-image "><img decoding="async" width="800" height="360" src="https://selmantunc.com.tr/wp-content/uploads/2023/07/ffd26f865e2b417fb8b49e0569c10bcf3e0e3c3a.jpg" class="attachment-full size-full" alt="image" loading="lazy" /></figure></figure>
<p>Bir kod sistemini yeniden yazmak ve <i>moda olan yeni bir dile </i>geçmek için zorlayıcı bir sebebiniz olmalıdır. Modayı takip etmek zorunda değilsiniz. </p>
<p>Yeniden yazmanın maliyetini haklı gösteren bazı işlevsellik veya üretkenlik kazancı elde edeceğinizi göstermek zorundasınız.  </p>
<p><br></p>
<h2><b>Özetle </b></h2>
<p>Bir geyik vardır ya forumlarda ve facebook gruplarda görürüz </p>
<p>-PHP kötü ya, çok kötü bir dil ya php </p>
<p>-yok abi ya kötü olur mu , facebook bile php ile yazılmış kötü olsa yazılır mı ?</p>
<p>buna bir cevap olur bu yazı bence </p>
<p>Tabi bugün Facebook , HHVM ve diğer 3.parti uygulamaları ile PHP daha verimli oldu. </p>
<p>(düzenleme (2019) php 7.1 hhvm aynı hıza sahip oldu.)</p>
<p>Benim düşüncem ve görüşüm php esnek bir dil ve size kurallar koymuyor, php programcıları bu yönünü hep istismar etti ve kötüye kullandı o yüzden ortalık  php ile dökümante edilmemiş ne olduğu anlaşılmayan bir sürü spagetti kod ile doldu. </p>
<p>PHP 5 den sonra ve <a href="http://kulekci.net/php-the-right-way/">usulüne uygun php  </a>ile bu sorunlar kısmen giderildi </p>
<p>Composer ve Sympony framework  ile PHP bir anlam kazandı. Sympony ve ZEND 1 bence mükemmel bir mühendislik ürünüdür.</p>
<p>Php fanı değilim kendine göre çok iyi yönleri olduğu gibi diğer dillere göre de mimari açıdan çok eksikleri var. </p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Öğrenmeyi öğrenmek (Yazılım dilleri ve programlama nasıl öğrenilir? )</title>
		<link>https://selmantunc.com.tr/uncategorized/ogrenmeyi-ogrenmek-yazilim-dilleri-ve-programlama/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Mon, 27 Feb 2017 15:50:55 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[genel]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[web]]></category>
		<guid isPermaLink="false">http://selmantunc.com.tr/2017/02/27/ogrenmeyi-ogrenmek-yazilim-dilleri-ve-programlama/</guid>

					<description><![CDATA[Garib bir başlık oldu değil mi aslında hayır , bir şeyi öğrenmeden önce ne öğrenmek istediğimize karar veririz ve en kısa yoldan bilgiye ulaşmamamız gerekir.herkesin öğrenme yöntemleri farklıdır.Şimdi konumuza giriş&#8230;]]></description>
										<content:encoded><![CDATA[<p>Garib bir başlık oldu değil mi aslında hayır , bir şeyi öğrenmeden önce ne öğrenmek istediğimize karar veririz ve en kısa yoldan bilgiye ulaşmamamız gerekir.herkesin öğrenme yöntemleri farklıdır.Şimdi konumuza giriş yapalım.</p>
<p><b>Yazılım dilleri ve programlama nasıl öğrenilir?</b></p>
<p><b>KISA CEVAP INGILIZCE ÖĞRENMEK ZORUNDAYIZ ,uzun cevap aşağıda …</b></p>
<h2><b>Öğrenme Yöntemleri</b></h2>
<figure data-orig-width="648" data-orig-height="400" class="tmblr-full"><img decoding="async" src="https://selmantunc.com.tr/wp-content/uploads/2023/07/tumblr_inline_om1inuJiTn1tyldvk_540.png" alt="image" data-orig-width="648" data-orig-height="400"></figure>
<h2><b>1-Kurslara giderek öğrenmek</b></h2>
<p>Bu yöntemin güzel tarafı ders içi etkinlik ve ödevler ile konuyu daha iyi anlama olanağı ve eğer sınıfı  takımları bölerek proje falan veriliyorsa herkesin birbirinden bişeyler öğrenebilme durumunun olması açısından güzeldir.</p>
<h2><b>2-Birisinin sana özel ders vermesi ile öğrenmek</b></h2>
<p>Dil hakkında deneyimli kişinin size birebir anlatması sizin konuya daha iyi hakim olmanız açısından çok faydalı olacaktır.</p>
<h2><b>3-Video izleyerek öğrenmek</b></h2>
<p>Video izleyerek öğrenmek görsel olarak hafızamıza daha kolay kaydedilir , eğer anlatıcı iyi bir şekilde anlatıyorsa size arada ipuçları verecek hatta kullandığı ide ve yazılım ortamını da göstererek anlattığı için  daha iyi anlamanıza fayda sağlayacaktır.</p>
<p><b><i>Ama video izleyerek öğrenmede önümüzde birkaç seçenek var.</i></b></p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Programlamanın Taosu</title>
		<link>https://selmantunc.com.tr/uncategorized/programlamanin-taosu/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 14 Feb 2017 14:59:34 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[web]]></category>
		<guid isPermaLink="false">http://selmantunc.com.tr/2017/02/14/programlamanin-taosu/</guid>

					<description><![CDATA[Programlamanın Taosu &#8211; 1. Kitap – Sessiz Boşluk Ve şöyle dedi usta programcı: “Sadece TCP/IP kullanarak uzaktaki makinanın işletim sistemini anlayabildiğinde tapınaktan ayrılmanın zamanı gelmiş demektir.” 1.1 Sessiz boşlukta gizemli&#8230;]]></description>
										<content:encoded><![CDATA[<p>Programlamanın Taosu</p>
<ul><li>&#8211;</li></ul>
<p><b>1. Kitap – Sessiz Boşluk</b></p>
<p>Ve şöyle dedi usta programcı: “Sadece TCP/IP kullanarak uzaktaki makinanın işletim sistemini anlayabildiğinde tapınaktan ayrılmanın zamanı gelmiş demektir.”</p>
<p><b>1.1</b></p>
<p>Sessiz boşlukta gizemli bir şey oluştu. Tek başına hareketsiz bekleyen o şey yine de sürekli hareket halindedir. Tüm programların özünde yer alır o. Adını bilmiyorum onun, bu yüzden Programlanın Taosu diyeceğim.</p>
<p>Tao büyükse işletim sistemi büyüktürr. İşletim sistemi büyükse derleyici büyüktür. Derleyici büyükse uygulama büyüktür. Kullanıcı mutludur ve dünyada uyum hüküm sürer.</p>
<p>Programlamanın Taosu uzaklara gider ve sabah rüzgarı ile geri döner.</p>
<p><b>1.2</b></p>
<p>Tao makina dilini doğurdu. Makina dili assembler’ı doğurdu.</p>
<p>Assembler derleyiciyi doğurdu. Şimdi ortalıkta onbin tane programlama dili var.</p>
<p>Ne kadar alçakgönüllü olsa da her dilin bir amacı vardır. Her dil yazılımın Yin ve Yang’ını ifade eder. Her dilin Tao içinde bir yeri vardır.</p>
<p>Ancak mümkünse COBOL ile programlamayın.</p>
<p><b>1.3</b></p>
<p>Başlangıçta sadece Tao vardı. Tao Mekânı ve Zamanı doğurdu. Bu yüzden Zaman ve Mekân programlamanın Yin ve Yang’ıdır.</p>
<p>Tao’yu anlamayan programcılar programları için bir türlü yeterli zamana ve mekana sahip olmazlar. Tao’yu anlayan programcılar ise hedeflerine varmak için gerekli zamana ve mekana daima sahiptirler.</p>
<p>Başka türlü nasıl olabilirdi ki?</p>
<p>Bilge programcıya Tao’dan bahsedildiğinde onu takip eder. Ortalama programcıya Tao’dan bahsedildiğinde onu araştırma gereği duyar. Aptal programcıya Tao’dan bahsedildiğinde kahkahalarla güler.</p>
<p>Eğer gülmezse, duyduğu gerçek Tao değildir.</p>
<p>En yüksek ses işitilmesi en zor olandır.İleri gitmek geri çekilmeye götürür.Büyük yetenek kendini olgunlukta gösterir.Mükemmel bir programın bile hataları vardır.</p>
<h2><b>2. Kitap – Eski Ustalar</b></h2>
<p>Şöyle dedi usta programcı:</p>
<p>“Üç gün program yazma ve hayat anlamsızlaşır.”</p>
<p><b>2.1</b></p>
<p>Eski zamanlarda yaşayan programcılar gizemliydi. Onların düşüncelerini takip edebilmemiz mümkün değil, bu yüzden sadece görünüşlerini tarif etmekte yetineceğiz.</p>
<p>Suyu geçen bir tilki gibi uyanık. Savaş meydanındaki general gibi dikkatli. Misafirlerini ağırlayan ev sahibi gibi nazik. Yontulmamış tahta blok gibi basit. Derin mağaralardaki sular gibi karanlık.</p>
<p>Onların kalplerindeki ve kafalarındaki sırları kim bilir?</p>
<p>Cevap sadece Tao’dadır.</p>
<p><b>2.2</b></p>
<p>Büyük usta Turing bir gün rüyasında bir makina olduğunu gördü ve uyandığında dedi ki: “Bilmiyorum ki acaba ben rüyasında bir makina olduğunu gören Turing miyim yoksa Turing olduğunu gören bir makina mıyım!”</p>
<p><b>2.3</b></p>
<p>Büyük bir firma için çalışan bir programcı bir yazılım konferansına gider ve sonra dönüp müdürüne rapor verir: “O firmalarda çalışan programcılar nasıl insanlar! Kötü davranıyorlardı ve dış görünüşleri ile ilgilenmiyorlardı. Saçları uzun, giysileri eski püskü, kırış kırıştı. En güzel odamızı batırdılar ve benim prezentasyonum esnasında gürültü yapıp durdular.”</p>
<p>Müdür bunun üzerine dedi ki: “Seni oraya asla göndermemeliydim! O programcılar fiziksel dünyanın ötesinde yaşarlar. Hayatı saçma, bir tür tesadüf kabul ederler. Sınır tanımaksızın hareket ederler. Sadece programları için yaşarlar. Neden toplumsal kurallara uysunlar ki?…</p>
<p>Onlar Tao’nun içinde yaşarlar.”</p>
<p><b>2.4</b></p>
<p>Bir çırak ustaya sordu: “Bak şurada bir programcı var, hiç tasarım yapmadan program yazıyor, dokümantasyon hazırlamıyor ve test etmiyor. Ancak kimi gördüysem onun dünyadaki en iyi programcı olduğunu söylüyor. Bu nasıl olabilir?”</p>
<p>Usta cevap verdi: “O programcı Tao’yu bilir. Tasarım kaygısını aşmıştır, sistem göçtüğünde öfkelenmez, evreni olduğu gibi kabul eder. Dokümantasyon kaygısın aşmıştır, bir başkasının onun koduna bakıp bakmaması umurunda değildir. Test etme kaygısını da aşmıştır çünkü yazdığı her program kendi içinde mükemmel, şık ve rahattır, amaçları hemen belli eder kendini. Evet, gerçekten de o Tao’nun gizemlerine ermiştir.”</p>
<h2><b>3. Kitap – Tasarım</b></h2>
<p>Ve şöyle dedi usta programcı:</p>
<p>“Program test edilmeye başlandığında tasarım değişiklikleri yapmak için artık çok geçtir.”</p>
<p><b>3.1</b></p>
<p>Bir zamanlar bir bilgisayar fuarına giden bir adam vardı. Her gün girişteki güvenlik görevlisine şöyle diyordu: “Ben büyük bir hırsızım, arakladığım şeyler yüzünden meşhurum. Seni uyarıyorum bu fuar da benden nasibini alacak.”</p>
<p>Bu konuşma güvenlik görevlisini çok rahatsız etmişti çünkü içeride milyonlarca dolar değerinde bilgisayar ekipmanı vardı ve o da bu yüzden hırsız olduğunu söyleyen adamı yakın takibe almaya karar verdi. Ancak adam bir standdan diğerine gidiyor ve kendine kendine mırıldanıyordu, tüm yaptığı buydu.</p>
<p>Adam fuarı terk eder etmez, güvenlik görevlisi onu bir kenara çekiyor baştan sonra arama tarama yapıyordu. Adamın hırsızlığına işaret eden hiçbir şey çıkmıyordu üzerinden.</p>
<p>Ertesi günü fuara gelen adam güvenlik görevlisine yanaşıp dedi ki: “Dün iyi iş çıkardım ama bugün daha da iyi olacak.” Tüm huzuru kaçan bu sefer takip işini daha sıkı tutmaya karar vermişti ancak sonuç gene hüsrandı.</p>
<p>Fuarın son gününde dayanamayan güvenlik görevlisi adama gidip şöyle dedi:”Sayın Hırsız, o kadar şaşırmış durumdayım ki huzurum kaçtı, çok kötü durumayım, lütfen beni aydınlatın, çaldığınız şey nedir?”</p>
<p>Adam gülümsedi ve tek bir cümle sarf etti:”Fikir çalıyorum.”</p>
<p><b>3.2</b></p>
<p>Bir zamanlar yapısal olmayan programlar yazan bir usta programcı vardı. Çömez programcı onu taklit etmeye yeltendi ve o da yapısal olmayan programlar yazmaya başladı. Sonra ustaya gidip programlarını değerlendirmesini isteyince usta ona yapısal olmaya programlar yazmadığı için kızdı ve dedi ki: “Usta için uygun olan çömez için uygun değildir. Yapıyı aşmadan önce Tao’yu kavramalısın.”</p>
<p><b>3.3</b></p>
<p>Bir zamanlar savaş lordu Wu’nun topraklarında yaşayan bir programcı vardı. Wu onu huzuruna getirtti ve sordu: “Hangisini tasarlamak daha kolaydır, bir muhasebe paketi mi yoksa bir işletim sistemi mi?”</p>
<p>Programcı cevapladı: “Bir işletim sistemi.”</p>
<p>Kulaklarına inanamayan savaş lordu içini çekti ve dedi ki: “Bir işletim sistemi ile kıyaslandığında muhasebe yazılımının çok basit olduğu su götürmez!”</p>
<p>“Tam olarak öyle denemez efendim”, dedi programcı, “bir muhabesebe paketi tasarlarken programcı değişik fikirleri olan insanlarla muhatap olmak zorunda kalır: program nasıl çalışmalıdır, raporlar nasıl görünmelidir, vergi kanunlarına ne şekilde uymaldıdır, vs. Oysa bir işletim sistemi dış görünüş ile sınırlandırılamaz. Bir işletim sistemi tasarlarken programcı makina ve fikirler arasındaki en basit uyumu arar bu yüzden de işletim sistemi tasarlamak daha kolaydır.”</p>
<p>Savaş lordu Wu başını onaylar biçinde salladı ve gülümsedi: “Güzel ve akıllıca! Peki hangisinin hatalarını ayıklamak daha kolaydır?”</p>
<p>Programcı cevap vermedi.</p>
<p><b>3.4</b></p>
<p>Bir müdür usta programcıya gitti ve yeni bir uygulama ile ilgili özellik listesini gösterdi. Sonra da sordu: “Eğer 5 programcıyı görevlendirirsem sistemin tasarlanması ne kadar sürer?”</p>
<p>“1 yıl,” diye cevapladı usta hiç tereddüt etmeden.</p>
<p>“Fakat bu iş çok acil! 10 programcı çalıştırsak?”</p>
<p>Ustanın kaşları çatıldı. “Bu durumda iki yıl sürer” dedi.</p>
<p>“Peki ya 1
00 programcı çalıştırsak?”</p>
<p>Usta omuz silkti ve “O zaman tasarım asla tamamlanmaz” dedi</p>
<h2><b>4. Kitap – Kodlama</b></h2>
<p>Ve şöyle dedi usta programcı: “İyi yazılmış bir program kendi içinde bir cennettir, kötü bir program ise cehennemin ta kendisi.”</p>
<p><b>4.1</b></p>
<p>Bir program hafif ve çevik olmalıdır. Alt rutinleri inci dizileri gibi bağlanmalıdır. Programın ruhu ve amacı sürekli göz önünde bulundurulmalıdır. Fazla ya da az olmamalı, gereksiz döngüler ve değişkenler kullanılmamalıdır. Ancak yapıdan yoksunluk ya da değiştirilemez bir katılık da bulunmamalıdır.</p>
<p>Bir program “En Küçük Şaşkınlık” yasasını takip etmelidir. Nedir bu yasa? Program kullanıcıya daima onu en az şaşırtacak şekilde cevap vermelidir.</p>
<p>Bir program, ne kadar karmaşık olursa olsun, tek bir birim gibi çalışmalıdır. Program dış görünüşü tarafından değil içsel mantığı tarafından yönlendiriliyor olmalıdır.</p>
<p>Eğer program bu ihtiyaçları karşılamazsa düzensizlik ve karmaşa hakim olur. Bunu düzeltmenin tek yolu programı yeniden yazmaktır.</p>
<p><b>4.2</b></p>
<p>Bir çırak ustaya sordu: “Bazen çalışan, bazen de çöken bir programım var. Programlama kurallarına uydum ama gene de apışıp kaldım. Bunun sebebi ne olabilir?”</p>
<p>Usta şöyle cevapladı: “Kafan karışmış çünkü Tao’yu anlamıyorsun. Sadece bir insan etrafındaki insanlardan rasyonel davranışlar bekler. Sen neden aynı şeyi insanların yaptığı bir makinadan bekliyorsun? Bilgisayarlar determinizmi sadece simüle ederler, mükemmel olan ise sadece Tao’dur.</p>
<p>Programlama kuralları geçicidir. Sadece Tao kalıcıdır. Bu yüzden aydınlanabilmek için önce Tao’yu kavramalısın.”</p>
<p>“Peki ama aydınlandığımı nasıl anlayacağım?” diye sordu çırak.</p>
<p>Usta cevap verdi: “Programın düzgün çalışacak.”</p>
<p><b>4.3</b></p>
<p>Bir usta çıraklardan birine Tao’nun doğasını anlatıyordu: “Tao tüm yazılımların içinde vardır, ne kadar küçük olurlarsa olsun bu yazılımlar.”</p>
<p>“Bir hesap makinasında Tao var mıdır?” diye sordu bir çırak.</p>
<p>“Vardır.”</p>
<p>“Peki bir video oyununda da var mıdır Tao?” diye devam etti çırak.</p>
<p>“Bir video oyununda bile vardır,” dedi usta.</p>
<p>“Peki, kişisel bilgisayardaki Windows sisteminde de Tao var mıdır?” diye sordu çırak.</p>
<p>Usta öksürdü, boğazın temizledi, biraz kımıldandı ve “Bugünkü dersimiz bu kadar,” dedi.</p>
<p><b>4.4</b></p>
<p>Prens Wang’ın programcısı yazılım kodluyordu. Parmakları klavye üzerinde dans ediyor, programları tek bir hata mesajı olmadan derleniyor ve rüzgar gibi çalışıyordu.</p>
<p>“Mükemmel!” diye bağırdı Prens. “Tekniğin kusursuz!”</p>
<p>“Teknik mi?” dedi programcı ve terminalinden yukarı doğru baktı. “Benim takip ettiğim şey Tao’dur – tüm tekniklerin ötesinde. Programlamaya ilk kez başladığımda tüm problemi tek bir kütle gibi görüyordum. Aradan yıllar geçtikten sonra o kütleyi görmüyorum. Bunun yerine alt rutinler kullanıyordum. Ancak şimdi artık hiçbir şey görmüyorum. Tüm varlığım şekilsiz bir boşluk gibi. Ruhum plansız programsız, içgüdülerini takip ederek özgürce çalışabiliyor. Kısaca programım kendi kendini yazıyor. Evet, doğru, bazen güç problemlerle karşılaştığım oluyor. Onların geldiğini görüyorum ve yavaşlayıp sessizce izliyorum. Sonra tek bir satırı değiştiriyorum ve problemler duman gibi uçup gidiyor. Programı derliyorum ve yapılan işin güzelliği varlığıma işliyor. Gözlerimi kapatıyorum ve sonra sistemden çıkıyorum.”</p>
<p>Bunun üzerine Prens Wang dedi ki “Keşke tüm programcılarım senin kadar bilge olsaydı.”</p>
<h2><b>5. Kitap – Bakım</b></h2>
<p>Ve şöyle dedi usta programcı:</p>
<p>“Bir program üç satırı geçtiyse bir gün mutlaka bakıma ihtiyaç duyar.”</p>
<p><b>5.1</b></p>
<p>İyi kullanılan bir kapıya yağ gerekmez.Akan su kir tutmaz.Ne düşünceler ne de sesler boşlukta hareket edebilir.Kullanılmayan yazılım çürür.</p>
<p>Bunlar büyük sırlardır.</p>
<p><b>5.2</b></p>
<p>Bir müdür bir programcıya üzerinde çalıştığı programı ne kadar sürede bitirebileceğini sordu. “Yarın bitecek,” diye cevapladı programcı tereddüt etmeden.</p>
<p>“Bu bana pek gerçekçi gelmedi açıkçası,” dedi müdür. “Açık konuş, ne kadar sürer?”</p>
<p>Programcı durup biraz düşündü. “Eklemek istediğim bir iki özellik daha var. İki hafta alır,” dedi.</p>
<p>“Bu bile iyimser bir beklenti!” diye ısrar etti müdür, “Bana kısaca programın ne zaman tamamlanacağını söyler misin?”</p>
<p>Programcı bunu kabul etti.</p>
<p>Yıllar sonra, müdür emekli oldu. Emekliliğini kutlama yemeğine çıkarken programcıyı bilgisayarı başında uyurken gördü. Sabaha kadar program yazmıştı.</p>
<p><b>5.3</b></p>
<p>Bir gün bir çırak programcıya bir muhasebe paketi yazma görev verildi.</p>
<p>Çırak günlerce deliler gibi çalıştı ancak usta programı incelediğinde sistemde bir ekran editörü, genelleştirilmiş grafik rutinleri, bir tür yapay zekâ arabirimi bulunduğunu gördü. Muhasebeye yönelik hiçbir şey yoktu.</p>
<p>Usta bu noktaya dikkat çekince çırak biraz bozuldu, “Lütfen bu kadar sabırsız olmayın, süreç içinde muhasebe fonksiyonlarını da ekleyeceğim.”</p>
<p><b>5.4</b></p>
<p>İyi bir çiftçi ekinini ihmal eder mi?İyi bir öğretmen en aptal öğrenciye bile kötü davranır mı?İyi bir baba bir çocuğunu açlığa makhum eder mi?İyi bir pogramcı programının bakımını yapmayı reddeder mi?</p>
<h2><b>6. Kitap – Yönetim</b></h2>
<p>Ve şöyle dedi usta programcı:</p>
<p>“Programcılar çok ve yöneticiler az olsun – o zaman herkes çok daha üretken olur.”</p>
<p><b>6.1</b></p>
<p>Yöneticiler bitmek bilmeyen toplantılar yaparken programcılar oyun yazar. Muhasebeciler son dönem kârlarından bahsederken programcıların bütçesi kesilmek üzeredir. Bilimadamları gökyüzünden bahsederken ortalığı bulutlar kaplar.</p>
<p>Gerçekten de programlanın Tao’su bu değildir.</p>
<p>Yöneticiler kendilerini adadıklarında, oyun programları ihmal edilir. Muhasebeciler uzun dönemli plan yaptıklarında uyum ve düzen geri döner. Bilimadamları eldeki problemleri incelemeye başladıklarında problemler çözülür.</p>
<p>Gerçekten de programlamanın Tao’su budur.</p>
<p><b>6.2</b></p>
<p>Programcılar neden üretken değildir?Çünkü vakitleri toplantılarda harcanır.</p>
<p>Programcılar neden isyankardır?Çünkü yönetim işlerine çok fazla karışır.</p>
<p>Programcılar neden tek tek istifa ederler?Çünkü kendilerini tüketilmiş hissederler.</p>
<p>Kötü yönetim için çalışmışlardır ve artık işlerine değer vermiyorlardır.</p>
<p><b>6.3</b></p>
<p>Bir yönetici kovulmak üzere iken onun için çalışan bir programcı yeni bir program geliştirdi, bu meşhur olup çok sattı ve yönetici yerini korudu.</p>
<p>Yönetici programcıya prim vermeye çalıştı ancak programcı reddetti ve dedi ki “O programı yazdım çünkü fikir hoşuma gitmişti, bu yüzden de ödül beklemiyorum.”</p>
<p>Bunu duyan yönetici, “Bu programcı bir çalışanın görevlerini mükemmel bir şekilde anlamış durumda, o halde onu yönetici danışman yaparak onurlandıralım!” dedi.</p>
<p>Bunu duyan programcı bir kez daha reddetti ve dedi ki: “Benim varlık amacım programlamak. Terfi edersem herkesin vaktini çalarım. Şimdi bana müsaade. Üzerinde çalıştığım bir program var da.”</p>
<p><b>6.4</b></p>
<p>Bir yönetici programcılarına gidip dedi ki: “İş saatlerinizle ilgili olarak, artık sabah 9′da gelecek ve akşam 5′te çıkacasınız.” Bunu duyar duymaz çoğu programcı hemen oracıkta bastı istifayı.</p>
<p>Bunu gören yönetici dedi ki: “Pekala, pekala. O halde iş saatleerinizi kendiniz ayarlayın, proje zamanında yetiştiği sürece özgürsünüz.” Tatmin olan programcılar öğlen gelip sabahın erken saa
tlerine dek çalışmaya başladılar.</p>
<h2><b>7. Kitap – Şirket Bilgeliği</b></h2>
<p>Şöyle dedi usta programcı:“Bir şirket yöneticisi için program demosu sunabilirsiniz ama onu bilgisayardan anlayan biri haline getiremezsiniz.”</p>
<p><b>7.1</b></p>
<p>Acemi programcı ustaya sordu: “Doğuda insanların ‘Şirket Karargâhı’ dedikleri bir ağaç yapısı var. Bir sürü müdür yardımcısı ve muhasebeci ile dolu. Ortalıkta ‘Şuraya git!’, ‘Buraya git!’, ‘şunu yap, bunu yap’ yazan bir sürü not var ama kimse bunların tam olarak ne anlama geldiğini bilmiyor. Her yıl bu ağaca yeni isimler ekleniyor ama hiçbir işe yaramıyor. Bu kadar garip bir ucube varlığını nasıl oluyor da sürdürebiliyor?”</p>
<p>Usta cevapladı: “Bu koca yapıyı algılıyor ve onun mantıklı bir amacı olmamasından ötürü rahatsız oluyorsun. Onun devasa dönüşlerinden zevk almayı öğrenemez misin? Onun koruyucu dalları altında sakince program yazmanın güzelliğinin farkına varamaz mısın? Onun kullanışsızlığı seni neden bu kadar rahatsız ediyor?”</p>
<p><b>7.2</b></p>
<p>Doğuda tüm balıklardan daha büyük olan bir köpekbalığı yaşar. Kanatları bulutları kaplayan bir kuşa dönüşür. Bu kuş hareket eder etmez Şirket Karagâhından bir mesaj getirir. Bu mesaj programcıların ortasına düşer, tıpkı dalış yapan bir martı gibi. Ve sonra kuş rüzgarı arkasına alır, mavi gökyüzüne doğru yükselip evine döner.</p>
<p>Acemi programcı şaşkınlık içinde kuşa bakakalır çünkü onun ne olduğunu anlamaz. Ortalama programcı kuştan çekinir çünkü getirdiği mesajdan korkar. Usta programcı bilgisayarının başında çalışmaya devam eder çünkü O kuşun ne geldiğini fark eder ne de gittiğini.</p>
<p><b>7.3</b></p>
<p>Fildişi Kule’nin Büyücüsü son icadını getirip usta programcının önünde koydu. Büyücü koca siyah bir kutuyu ustanın ofisine sürüklerken usta sessizce olup bitenleri izliyordu.</p>
<p>“Bu entegre, dağıtık, genel amaçlı bir iş istasyonudur!” diye başladı büyücü ve devam etti, “özel bir işletim sistemi ile ergonomik olarak tasarlanmış, içinde altıncı kuşak dilleri ve teknoloji harikası kullanıcı arabirimleri barındıran bir bilgisayardır. Asistanlarımın yüzlerce adam yılına mal oldu bunu tasarlamak. Nasıl sence de büyüleyici değil mi?”</p>
<p>Usta hafifçe kaşlarını kaldırdı ve “Gerçekten de büyüleyici,” dedi.</p>
<p>“Şirket Karargâhı’ndan gelen emirlere göre yeni programlar için artık bu makinayi platform olarak kullanacaksınız, bu konuda anlaştık mı?”</p>
<p>“Elbette,” diye cevapladı usta, “Hemen onu bilgi işlem merkezine yollayacağım!” Ve büyücü mutlu bir şekilde kulesine geri döndü.</p>
<p>Günler sonra bir acemi, ustanın odasına girdi ve “Yeni programımın yazıcı çıktısını bulamıyorum bir türlü, siz gördünüz mü acaba?” diye sordu.</p>
<p>“Evet,” diye cevapladı usta, kağıtlar bilgi işlem merkezindeki platformun üzerinde yığılı.”</p>
<p><b>7.4</b></p>
<p>Usta programcı bir programdan diğerine korkusuzca geçer. Yönetimdeki hiçbir değişiklik ona zarar veremez. Proje iptal edilse bile o kovulmaz. Neden? Çünkü o Tao ile doludur!</p>
<h2>8. Kitap – Yazılım ve Donanım</h2>
<p>Şöyle dedi usta programcı: “Rüzgar olmadan çimler hareket edemez. Yazılım olmadan donanım işe yaramaz.”</p>
<p><b>8.1</b></p>
<p>Bir çırak, ustaya sordu: “Görüyorum ki bir bilgisayar firması var ki diğerlerinin hepsinden daha büyük. Rekabet ortamında cücelerin arasındaki dev gibi. Tek bir bölümü bile başlı başına bir şirket adeta. Bu neden böyle?”</p>
<p>Usta cevapladı: “Neden böyle aptalca sorular soruyorsun? Şirket büyük çünkü büyük. Sadece donanım yapsaydı hiç kimse satın almazdı. Sadece yazılım yapsaydı kimse kullanmazdı. Sadece sistem bakım hizmeti verseydi insanlar ona hizmetçi muamelesi yapardı. Fakat o bunların hepsini birleştiriyor bu yüzden de insanlar onu tanrılardan biri olarak görüyor. Çırpınmadan, zahmetsizce fethediyor.”</p>
<p><b>8.2</b></p>
<p>Usta bir programcı bir gün yolda bir acemi bir programcı ile karşılaştı. Usta, aceminin elindeki portatif bilgisayar oyununu fark etti. “Afedersin, bir bakabilir miyim acaba?” diye sordu.</p>
<p>Acemi, elindeki bilgisayarı ustaya verdi. Usta alete bakıp konuştu: “Gördüğüm kadarı ile oyunun üç seviyesi var; kolay, orta ve zor. Ancak bu tip bir aletin bir oyun seviyesi daha vardır. Öyle bir seviye ki ne bilgisayar insanı yenmeye çalışır ne de insan bilgisayarı.”</p>
<p>“Lütfen usta”, diye yalvardı acemi, “bu gizemli ayarı nasıl bulabilir bir insan?”</p>
<p>Usta aleti yere attı ve üzerinde zıplayıp parçaladı. Ve acemi o anda aydınlandı.</p>
<p><b>8.3</b></p>
<p>Bir zamanlar mikroişlemciler üzerinde çalışan bir programcı vardı. “Bak burada ne kadar iyiyim” dedi kendisini ziyarete gelen bir programcıya. “Kendi işletim sistemim ve depolama cihazım var. Kaynaklarımı hiç kimse ile paylaşmak zorunda değilim. Yazılım kendi kendine yeterli ve kullanması kolay. Neden işinden ayrılıp bana katılmıyorsun?”</p>
<p>Mainframe programcısı arkadaşına kendi sistemini tarif etmeye başladı: “Mainframe bilgi işlem merkezinde, meditasyon yapan kadim bir bilge gibi oturur. Yüzlerce disk sürücüsü büyük bir okyanus gibidir. Yazılım tıpkı bir elmas gibi çokyüzlüdür ve bir orman gibi derindir. Sistemdeki programlar ırmaklar gibi akar. Ben bulunduğum yerde mutluyum.”</p>
<p>Bunu duyan mikroişlemci programcısı sustu ve derin düşüncelere daldı. İki programcı ömür boyu dost kaldılar.</p>
<p><b>8.4</b></p>
<p>Donanım ve Yazılım Chang-tse yolunda karşılaştılar. Yazılım dedi ki: “Sen Yin’sin ve ben de Yang’ım. Eğer birlikte seyahat ederse meşhur olur ve çok para kazanırız.” Ve birlikte yola koyuldular dünyayı fethetmek üzere.</p>
<p>Yolda Firmware ile karşılaştılar, elinde bir değnek ve üzerinde hırpani giysiler vardı. Firmware onlara dedi ki: “Tao Yin ve Yang’ın ötesindedir. Bir su birikintisi kadar sessiz ve hareketsizdir. Meşhur olma arzusu gütmez ve bu yüzden de kimse onun varlığından haberdar değildir. Servet düşkünü değildir çünkü kendi kendine yetebilir. Zamanın ve mekanın ötesinde yaşar.”</p>
<p>Yazılım ve Donanım, utanmış bir halde eve döndüler.</p>
<h2><b>9. Kitap – Bitiş</b></h2>
<p>Şöyle söyledi usta programcı:“Gitme zamanın geldi.”</p>
<p>Tercüme:Emre Sevinç, 16 Ağustos 2002 (*)</p>
<p>* Geoffrey James’in “The Tao of Programming” adlı eserinden tercüme edilmiştir.Söz konusu eser Lao Tzu’nun “Tao Te Ching” adlı kitabından esinlenerek yazılmıştır.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Bir programlama dilini bilme ölçüsü nedir ?</title>
		<link>https://selmantunc.com.tr/uncategorized/bir-programlama-dilini-bilme-olcusu-nedir/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 14 Feb 2017 13:59:34 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[web]]></category>
		<guid isPermaLink="false">http://selmantunc.com.tr/2017/02/14/bir-programlama-dilini-bilme-olcusu-nedir/</guid>

					<description><![CDATA[Bir programlama dilini bilme ölçüsü nedir ? Bu yazıyı fazlamesai.net de görmüştüm paylaşayım dedim , Serdar Köylü aynen düşündüklerimi yazmış ..Bir programlama dilini bilmek için hiç bir başvuru kaynağı kullanmaksızın&#8230;]]></description>
										<content:encoded><![CDATA[<p><b>Bir programlama dilini bilme ölçüsü nedir ?</b></p>
<p><br></p>
<p>Bu yazıyı <a href="http://fazlamesai.net/">fazlamesai.net</a> de görmüştüm paylaşayım dedim , Serdar Köylü aynen düşündüklerimi yazmış ..<br>Bir programlama dilini bilmek için hiç bir başvuru kaynağı kullanmaksızın program yazılabilmeli</p>
<p>Uludag projesi COMAR projesi baş programcısı Serdar Köylü yeni başlayanlar için kılavuz olabilecek nitelikte, makale yazmış</p>
<p>Ben de listelerde yazılan herşeyin gayet GPL olduğunu düşünerek kendisine sormadan buraya haber olarak geçiyorum :)<br>Selamlar…</p>
<p>bir programlama dilini “tam olarak biliyorum” demek için, o programlama dili üzerinde hiçbir kaynaktan (uç kaynaklar dışında) yararlanmadan program geliştirebiliyor olmanız gerekir.</p>
<p>Bu ezbercilik olup, cogu zaman berbat program yazmanın en iyi yolu olur. 20 Yıl önce bizde böyle yapardık. Ama son 15 yıldır kullandığım C için örneğin, hala “fd = open(…)” yazarken (mesela) mutlaka man dosyasını açıp bakmayı ihmal etmem.. Herhalde ortalama günde 25-30 defaya filan tekabül eder bu..</p>
<p>Kısacası, hıfzı beşer nisyanla maluldur. Önemli olan herşeyi bilmeye, ezberlemeye çalışmak değil, anlamaya odaklanmak, ezber olacak bilgiyi ise nerde bulacağını bilmektir.</p>
<p>Programlama dilini iyi biliyorum diyebilmek için bilinmesi gerekenler bence şunlardır (en azından ilgilenilen mimariler üzerinde):</p>
<p>1. Bellek yönetimini bilmek. Sayılar, arraylar, nesneler vs. nasıl, nerde saklanıyor?<br>2. Fonksiyon çağrıları nasıl yapılıyor? Stack üzerinden mi? Byval&#8217;mı, Reference&#8217;mı kullanıyor vs.? <br>3. Temel komut setini iyi kavramak. Bu komut seti örneğin C için:</p>
<p>if/else/elseif, switch, while, for, break/continue, return olacaktır.</p>
<p>Elbette 1. Maddeye istinaden int, float, struct gibi veritiplerini de bilmek gerekir. “int x” ile “static int x” arasındaki farkı, bu “x” in stack/data/bss vs. nerede tutulduğunu bilmek elzemdir. C özelinde, <a href="https://www.facebook.com/hashtag/define?source=feed_text">#define</a> gibi preprocessor komutlarını da bilmek gerekir elbet.</p>
<p>Peki ya printf() yada mmap()? Bunlar dışarıdan referanslardır. Bunların iyi bilinmesi değil, iyi anlaşılması, kodlama boyunca da manuallerinin el altında tutulması gerekir. Kendi adıma hala printf için ? ve %? olaylarını bilmem, ki 15 yıla yakın süredir bunları kullanırım. Bunları ezberlemeye çalışmak hamallıktır, gereksiz kafa şişirmektir.</p>
<p>Aslen, bu fonksiyonlar dilin değil, işletim sisteminin bir parçasıdır. Diller bunları tarif eder, işletim sistemi yerine getirir. Bir diğer husus ise, “Programlama” kavramının “Programlama Dili” kavramından ayrı olduğudur. Diller bilinen direktifleri, işletim sistemine ne istediğinizi söylemeyi sağlayan fonksiyon setlerini ve işletim sistemine erişim hizmetini sağlarlar. Bunları ne yapacağınız sizin sorununuzdur. Elinizde olanda aslen bu kadarıdır. Grid, textbox, veritabanı vs. olayı nedir, nasıl kullanılır kavramları aslolarak programlama konusunun bir parçasıdır. Eğer programlama bilginiz varsa bu olayları herhangi bir dille kolayca aşabilirsiniz.</p>
<p>Programlama, olayın özüdür. Herhangi bir dilde yapılabilir. Eğer programl ama kavramını özümsemişseniz, herhangi bir dil kullanarak bunu yerine getirebilirsiniz. Hatta, bu bunlarla olmaz diyerek kendi dilinizi yazıverirsiniz. Bu şunu demeye çalışıyor: “Dil öğrenmek değil, programlama öğrenmek aslolandır..”</p>
<p>Saygı ve sevgiler…</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>stnc easytope (jquery isotope easy alternative )</title>
		<link>https://selmantunc.com.tr/uncategorized/stnc-easytope-jquery-isotope-easy-alternative/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 26 Jul 2016 19:28:52 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[php jquery javascript]]></category>
		<category><![CDATA[web]]></category>
		<guid isPermaLink="false">http://selmantunc.com.tr/2016/07/26/stnc-easytope-jquery-isotope-easy-alternative/</guid>

					<description><![CDATA[I present the stnc easytope, the simplest version of jquery isotope to your taste, jquery isotope alternative  DEMO LINK  DOWNLOAD   Github  JQUERY var $filterType = jQuery('#filterOptions li.active a').attr('class'); effect =&#8230;]]></description>
										<content:encoded><![CDATA[<p><b>

I present the stnc easytope, the simplest version of jquery isotope to your taste,

<b>jquery isotope alternative </b></b></p>
<h2><b><i><a href="https://7d3aa7f096eea18b7d04c1054fbc4397527e8b51.googledrive.com/host/0B4Rxs_wfjVAXMUxBTWd5NEF4UkE/#">DEMO LINK </a></i></b></h2>
<figure data-orig-width="225" data-orig-height="225"><figure id="attachment_mmd_3040" class="wp-block-image "><img decoding="async" width="225" height="225" src="https://selmantunc.com.tr/wp-content/uploads/2023/07/tumblr_inline_ogl3jySuXA1tyldvk_540.jpg" class="attachment-full size-full" alt="" loading="lazy" /></figure></figure>
<p><a href="https://github.com/stnc/isotope-easy-alternative/archive/master.zip">DOWNLOAD</a>  </p>
<p><br></p>
<p><a href="https://github.com/stnc/isotope-easy-alternative">Github</a> </p>
<figure data-orig-width="400" data-orig-height="234" class="tmblr-full"><figure id="attachment_mmd_3043" class="wp-block-image "><img decoding="async" width="400" height="234" src="https://selmantunc.com.tr/wp-content/uploads/2023/07/tumblr_inline_ogl3kwS0Pi1tyldvk_540.jpg" class="attachment-full size-full" alt="" loading="lazy" /></figure></figure>
<figure data-orig-width="1113" data-orig-height="775" class="tmblr-full"><img decoding="async" src="https://selmantunc.com.tr/wp-content/uploads/2023/07/tumblr_inline_oaxso0zOLf1tyldvk_540.png" alt="image" data-orig-width="1113" data-orig-height="775"></figure>
<p>JQUERY</p>
<pre>        var $filterType = jQuery('#filterOptions li.active a').attr('class');

        effect = 'animate bounce-in';

        jQuery(document).ready(function ($) {

            $data = jQuery('.marketing ul.ul-products').clone();

            jQuery($data).appendTo('#selman');

            jQuery('#stnc  li a').on('click', function () {

                $data = jQuery('#selman ul').clone();

                jQuery('#stnc  li a').removeClass('selected');
                jQuery(this).addClass('selected');

                var $filterType = jQuery(this).attr("data-filter-value");

                var $filteredData = $data.find('li[data-type=' + $filterType + ']');
                $(".marketing ul li").remove();
                $($filteredData).appendTo(".marketing ul");
                $('.marketing ul li').addClass(effect);

            });
        });
</pre>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Jquery Thumbnail Scroller PLUGIN</title>
		<link>https://selmantunc.com.tr/uncategorized/jquery-thumbnail-scroller-plugin/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Sat, 26 Dec 2015 19:17:51 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[web]]></category>
		<guid isPermaLink="false">http://selmantunc.com.tr/2015/12/26/jquery-thumbnail-scroller-plugin/</guid>

					<description><![CDATA[Kendi ihtiyaçlarımdan dolayı ve jquery de bir eklenti geliştireyim acaba nasıl bişey diye merak ettiğim için bir eklenti geliştirdim. bir resim galerisindeki küçük resimleri gösteren oraya scrool efekti veren gayet&#8230;]]></description>
										<content:encoded><![CDATA[<p>Kendi ihtiyaçlarımdan dolayı ve jquery de bir eklenti geliştireyim acaba nasıl bişey diye merak ettiğim için bir eklenti geliştirdim.</p>
<p>bir resim galerisindeki küçük resimleri gösteren oraya scrool efekti veren gayet hoş bir eklenti oldu</p>
<figure data-orig-width="599" data-orig-height="584" class="tmblr-full"><img decoding="async" src="https://selmantunc.com.tr/wp-content/uploads/2023/07/tumblr_inline_nzzcg1TpCs1tyldvk_540.png" alt="image" data-orig-width="599" data-orig-height="584"></figure>
<p><a href="https://f438e8fe75e497c0d062821c0cb1bd93c16ac63c.googledrive.com/host/0B_0lzatfBXIlV2MtVTNwZ0QySTQ/"><b>Demo LINK </b></a></p>
<p><b><a href="https://github.com/stnc/jquery-thumbnail-scroller">Gİthub</a> </b></p>
<p><a href="https://github.com/stnc/jquery-thumbnail-scroller/archive/master.zip"><b>Download</b></a></p>
<p>#Initialization
##Initialize via javascript</p>
<pre><code>jQuery(document).ready(function() {
        $('#unique-pager').StncThumbnailScroller({
            scrollSpeed : 100,
            fadeSpeed : 400,
            imagePictureAttr : '#showPicture'
        });
    });</code>
</pre>
<pre><code>&lt;br&gt;</code></pre>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
