<?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>Kim bu Cem K? &#187; Teknik</title>
	<atom:link href="http://kimbucemk.com/kategori/teknik/feed/" rel="self" type="application/rss+xml" />
	<link>http://kimbucemk.com</link>
	<description></description>
	<lastBuildDate>Mon, 23 Apr 2012 21:27:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Mac OS X&#8217;te Web Geliştiriciliği</title>
		<link>http://kimbucemk.com/teknik/mac-os-x-web-gelistiriciligi/</link>
		<comments>http://kimbucemk.com/teknik/mac-os-x-web-gelistiriciligi/#comments</comments>
		<pubDate>Mon, 27 Jun 2011 18:55:24 +0000</pubDate>
		<dc:creator>Cem K.</dc:creator>
				<category><![CDATA[Teknik]]></category>

		<guid isPermaLink="false">http://kimbucemk.com/?p=718</guid>
		<description><![CDATA[Mac OS X, piyasadaki kullanması en rahat işletim sistemi. Fakat bir son kullanıcı için rahatlık ne kadar önemliyse, bir geliştirici için de esneklik o kadar gereklidir. Her ne kadar istemesem de, son zamanlarda web geliştiriciliğinden para kazanırken buldum kendimi. Bu süreç içerisinde farklı yazılımlar deneyerek OS X&#8217;in rahatlık çerçevesinden çıkmadan istediğim esnekliği sunan konfigürasyona ulaştığıma [...]]]></description>
			<content:encoded><![CDATA[<p>Mac OS X, piyasadaki kullanması en rahat işletim sistemi. Fakat bir son kullanıcı için rahatlık ne kadar önemliyse, bir geliştirici için de esneklik o kadar gereklidir.</p>
<p>Her ne kadar istemesem de, son zamanlarda web geliştiriciliğinden para kazanırken buldum kendimi. Bu süreç içerisinde farklı yazılımlar deneyerek OS X&#8217;in rahatlık çerçevesinden çıkmadan istediğim esnekliği sunan konfigürasyona ulaştığıma inanıyorum. Size işte bu kararlarımdan bahsedeceğim.</p>
<p><img class="aligncenter size-full wp-image-719" title="dock" src="http://kimbucemk.com/wp-content/uploads/2011/06/dock.png" alt="" width="510" height="65" /></p>
<p><span id="more-718"></span></p>
<p>Öncelikle biraz ne tür geliştirme yaptığımdan bahsedeyim, çünkü işinize yaramayan bir şeyse eğer yazdıklarım, boşuna vakit kaybetmenizi istemem. Mesela, ASP.Net geliştiricilerine hiçbir faydam dokunmayacaktır. Sunucu taraflı programlama dili olarak PHP ağırlıklı çalışıyorum. Eğer yayınlama ağırlıklı bir yazılım geliştiriliyorsa <a title="WordPress" href="http://wordpress.org" target="_blank">WordPress</a> (ve kardeşleri), tamamen alakasız bir yazılım isteniyorsa <a title="CodeIgniter" href="http://codeigniter.com" target="_blank">CodeIgniter</a> framework&#8217;ünü kullanıyorum.</p>
<h2>Sunucular</h2>
<p>PHP ile çalıştığım için UNIX tabanlı bir işletim sistemi birçok açıdan tek pratik tercih. Zaten ucuz hosting ve VPS isteyenlerin de Linux&#8217;tan başka şansı pek yok. Üstelik Windows&#8217;ta ortaya çıkabilecek birçok hatayı da önceden elemiş oluyoruz.</p>
<h3>Kolay yol: MAMP/MAMP Pro</h3>
<p style="text-align: center;"><a href="http://kimbucemk.com/wp-content/uploads/2011/06/Screen-shot-2011-06-10-at-6.40.34-AM.png" rel="lightbox[718]"><img class="size-large wp-image-722 aligncenter" title="Screen shot 2011-06-10 at 6.40.34 AM" src="http://kimbucemk.com/wp-content/uploads/2011/06/Screen-shot-2011-06-10-at-6.40.34-AM-510x286.png" alt="" width="510" height="286" /></a></p>
<p>Uzunca bir süre kullandığım ilk sunucu yazılımı <a title="MAMP Pro" href="http://www.mamp.info/en/mamp-pro/index.html" target="_blank">MAMP Pro</a> idi. MAMP Pro, ücretsiz <a title="MAMP" href="http://www.mamp.info/en/mamp/index.html" target="_blank">MAMP</a>&#8216;ın oldukça gelişmiş versiyonu. İkisi de temelde Apache, PHP, MySQL ve phpMyAdmin kuruyor sisteminize.</p>
<p><strong>MAMP</strong> sadece Apache ve MySQL portu, Apache ana klasörü (yani http://localhost/&#8217;a girince hangi klasörün açılacağı) ve PHP versiyonu ile Cache sistemini seçmeye izin veriyor. Bir nevi, sistemle gelen web sunucusunun PHP ve MySQL destekleyen versiyonu gibi.</p>
<p><strong>MAMP Pro</strong> ise, bunların yanısıra, istediğiniz Apache modüllerini açıp kapatmanızı sağlıyor, Apache/MySQL için kullanıcı belirlemenize izin veriyor, Postfix ayarlarını yapmanız için arabirim sunuyor, hangi PHP hatalarının hata kaydına yazılacağını seçmenize izin veriyor. Fakat en önemlisi, <em>virtual host</em> desteği ile sizi localhost&#8217;a bağımlı kalmaktan kurtarıyor. Üstelik bunu çok basit bir arabirimle sağlıyor, ve <code>/etc/hosts</code> dosyasına gerekli girdileri de kendisi giriyor. Değişik projeler geliştiren bir geliştirici için olabilecek en rahat sunucu yönetim aracı.</p>
<h3>Zor Yol: VMware Fusion &amp; Ubuntu Server</h3>
<p>Aslında doğru başlık &#8220;Sanal Makine &amp; Linux&#8221; olurdu herhalde, zira <a title="VMware Fusion" href="http://www.vmware.com/products/fusion/overview.html" target="_blank">VMware Fusion</a> ve <a title="Ubuntu Server" href="http://www.ubuntu.com/business/server/overview" target="_blank">Ubuntu Server</a>, sadece benim tercihlerim. Bunun yerine Virtualbox ve Arch veya Parallels Desktop ve CentOS da olabilirdi.</p>
<p><a href="http://kimbucemk.com/wp-content/uploads/2011/06/Screen-shot-2011-06-10-at-7.00.02-AM.png" rel="lightbox[718]"><img class="aligncenter size-large wp-image-724" title="Screen shot 2011-06-10 at 7.00.02 AM" src="http://kimbucemk.com/wp-content/uploads/2011/06/Screen-shot-2011-06-10-at-7.00.02-AM-510x286.png" alt="" width="510" height="286" /></a></p>
<p>Bunun mantığı, temel olarak, bilgisayarınızın içinde bir VPS ortamı taklit etmek. VMware sizin sanal makinenize bir adet IP adresi veriyor, ve siz bir yer sağlayıcıdan aldığınız VPS&#8217;e nasıl SSH&#8217;le veya SFTP&#8217;yle ulaşıyorsanız, bu sisteme de aynı şekilde ulaşıyorsunuz.</p>
<p>Bu sunucu, tabii ki hiçbir şeyle gelmiyor. PHP&#8217;sinden Apache&#8217;sine, MySQL&#8217;inden phpMyAdmin&#8217;ine her şeyi sizin kendi ihtiyaçlarınıza göre kurmanız gerekiyor, tıpkı VPS&#8217;lerdeki gibi. Şu anda VPS kurulumu yapmayı anlatmayacağım, en azından bu yazıda. Zaten daha önce WordPress&#8217;i VPS&#8217;lerde sağlıklı bir şekilde çalıştırmak için gereken birkaç ayarın nasıl yapıldığını <a title="VPS’le WordPress’i Anlaştırma" href="http://kimbucemk.com/teknik/vpsle-wordpressi-anlastirma/" target="_blank">anlatmıştım</a>, benzer yazılar da daha sonra gelecek. Ama şimdi, yazılım geliştirmek için bu sanal makine içerisinden sistemi Mac OS X&#8217;le nasıl uyum içinde kullandığımı anlatacağım.</p>
<p>Sunucuyu VMware içerisinde kurup çalışmaya bıraktıktan sonra arkaplanda çok güzel bir şekilde gizleyebiliyorum. Sistemle iletişime geçmek için iki yazılım yetiyor: <strong>Terminal</strong> ve <strong>Transmit</strong>.</p>
<p><strong>Terminal</strong>, bildiğiniz Applications &gt; Utilities içerisinde bulunan Terminal.</p>
<p><code>ssh 192.168.41.128</code><sup><a href="http://kimbucemk.com/teknik/mac-os-x-web-gelistiriciligi/#footnote_0_718" id="identifier_0_718" class="footnote-link footnote-identifier-link" title="O IP adresi, 192.168.41.128, VMware&amp;#8217;ın Ubuntu Server i&ccedil;in aldığı IP adresidir, sanal makine i&ccedil;erisinde&nbsp;ifconfig komutunu &ccedil;alıştırarak &ouml;ğrenebilirsiniz.">1</a></sup> komutunu girerek sunucuma bağlanabiliyorum.<sup><a href="http://kimbucemk.com/teknik/mac-os-x-web-gelistiriciligi/#footnote_1_718" id="identifier_1_718" class="footnote-link footnote-identifier-link" title="Mac OS X kullanıcı adımla Ubuntu Server kullanıcı adım aynı olduğundan girme gereksinimi duymuyorum, yoksa ssh cemk@192.168.41.128 olacaktı.">2</a></sup> Bunun ardından sunucumu yönetmek adına gireceğim tüm komutları, virtual host aktive etmek için gereken <code>a2ensite</code> komutundan MySQL sunucusu kurmak için gereken <code>apt-get install mysql-server</code> komutuna her şeyi buradan yazıp halledebiliyorum.</p>
<p>Sunucuyu yönetmeyi hallettik&#8230; Peki ya dosyalara erişim? İşte <strong><a title="Transmit" href="http://panic.com/transmit/" target="_blank">Transmit</a></strong> de orada devreye giriyor. Aslında herhangi bir FTP yazılımıyla SFTP kullanarak sunucunuza bağlanabilir ve dosya aktarımı yapabilirsiniz, ama Transmit&#8217;in ek bir güzelliği var: Belirttiğiniz sunucudaki belirttiğiniz klasörü tıpkı bir USB bellek veya harici disk -veya harddiskinizdeki başka bir bölüntü- gibi Mac OSX&#8217;inize bağlayabiliyor. Böylece sunucunuzdaki dosyaları tıpkı bilgisayarınızdaki herhangi bir dosyaymış gibi görüntüleyip düzenleyebiliyorsunuz. Özellikle bir framework kullanarak birden fazla klasörde gezinip çok sayıda dosya düzenliyorsanız, bunu destekleyen metin editörleriyle kullanabilmek büyük rahatlık sağlıyor.</p>
<p><a href="http://kimbucemk.com/wp-content/uploads/2011/06/Screen-shot-2011-06-12-at-12.25.34-AM.png" rel="lightbox[718]"><img class="aligncenter size-large wp-image-756" title="Screen shot 2011-06-12 at 12.25.34 AM" src="http://kimbucemk.com/wp-content/uploads/2011/06/Screen-shot-2011-06-12-at-12.25.34-AM-510x286.png" alt="" width="510" height="286" /></a></p>

<table id="wp-table-reloaded-id-4-no-1" class="wp-table-reloaded wp-table-reloaded-id-4">
<thead>
	<tr class="row-1 odd">
		<th class="column-1">VMware + Ubuntu</th><th class="column-2">MAMP Pro</th>
	</tr>
</thead>
<tbody>
	<tr class="row-2 even">
		<td class="column-1">+ Oldukça esnek, istediğiniz gibi biçimlendirebiliyorsunuz ortamı.</td><td class="column-2">+ Kurulumu aşırı kolay.</td>
	</tr>
	<tr class="row-3 odd">
		<td class="column-1">+ Sistem gerçek bir sunucuya taşınınca ortaya çıkacak sorunlar önceden görülebilir.</td><td class="column-2">+ Birçok ayarı arabirimden yapabiliyorsunuz.</td>
	</tr>
	<tr class="row-4 even">
		<td class="column-1">- PHP'yle sınırlı değil. Ruby (on Rails), Python (django) vb. dil (framework) ile de çalışılabilir.</td><td class="column-2">+ Virtual hosts için arabirim var ve gerekli bütün ayarlar otomatik yapılıyor.</td>
	</tr>
	<tr class="row-5 odd">
		<td class="column-1">- Kurulum zor.</td><td class="column-2">- Sınırlı esneklik. Ek modül yüklemek isterseniz, imkansız.</td>
	</tr>
	<tr class="row-6 even">
		<td class="column-1">- Ek işlemci, RAM ve kapasite yükü.</td><td class="column-2">- Sadece PHP çalıştırıyor.</td>
	</tr>
</tbody>
</table>

<h2>Editörler</h2>
<p>Peki neden bu kadar kasıyorum? Yani, tercih ettiğim sunucu ortamı Linux&#8217;sa, neden Mac OS X içerisinde bir sanal makina yazılımıyla ikinci bir işletim sistemi açıyorum, RAM&#8217;imin ve işlemcimin bir kısmını ona ayırıyorum? Direkt Ubuntu kurup onun üzerinde geliştirme yapsam olmuyor mu?</p>
<p>Yazılım geliştirmenin tek bir bileşeni yok. Yazılan dil ve dilin çalıştığı ortam kadar önemli olan bir diğer bileşen de kodun yazıldığı metin editörü. Mac OS X, ister web geliştirme için olsun, ister diğer diller için olsun, çok güzel yazılımlarla kutsanmış bir işletim sistemi. Yıllardır kullandığım TextMate ile yeni kullanıp vazgeçilmezlerim arasına aldığım Espresso, kod düzenlemek için tercih ettiğim iki yazılım.</p>
<h3>Espresso</h3>
<p><a title="MacRabbit Espresso" href="http://macrabbit.com/espresso/" target="_blank">Espresso</a>, MacRabbit&#8217;in web geliştiricileri için ürettiği bir yazılım. Tamamen web yazılımı geliştirmek üzerine kurulmuş. Canlı önizleme, dosya aktarım araçları, gezinme yardımcısı, kod tamamlayıcı &#8220;<a title="Espresso Sugars" href="http://sugars.macrabbit.com/" target="_blank">şekerleri</a>&#8221; ve <a title="Espresso Özellikleri" href="http://macrabbit.com/espresso/features/edit/" target="_blank">daha pek çok özelliği</a> web geliştiriciler için özel olarak düşünülmüş ve yaratılmış.</p>
<p><a href="http://kimbucemk.com/wp-content/uploads/2011/06/Screen-shot-2011-06-13-at-2.42.15-AM.png" rel="lightbox[718]"><img class="aligncenter size-large wp-image-760" title="Screen shot 2011-06-13 at 2.42.15 AM" src="http://kimbucemk.com/wp-content/uploads/2011/06/Screen-shot-2011-06-13-at-2.42.15-AM-510x286.png" alt="" width="510" height="286" /></a></p>
<p>Espresso&#8217;nun en sevdiğim özelliğiyse, Espresso Mono ismindeki kendi içinde gelen yazıtipi. Okuması çok rahat, ve insanı kod yazmaya sürüklüyor. Yani, en azından beni.<sup><a href="http://kimbucemk.com/teknik/mac-os-x-web-gelistiriciligi/#footnote_2_718" id="identifier_2_718" class="footnote-link footnote-identifier-link" title="Beni nelerin kod yazmaya s&uuml;r&uuml;klediğini liste yapıp yayınlasam şaşarsınız aslında.">3</a></sup></p>
<p>Özellikle Workspace özelliği çok hoş. Aslında, sekme kullanmak yerine alt alta dizmeyi tercih etmişler açık olan dökümanları sadece, fakat yıllardır sekmeli metin editörü kullanan biri olarak değişikliğe alışmakla kalmayıp, âşık olmayı da becerebildim. Ben meğerse metin editöründe sekme <em>sevmiyormuşum</em>. Hah, kim bilebilirdi ki?</p>
<p><a title="MacRabbit Espresso" href="http://macrabbit.com/espresso/" target="_blank">Espresso&#8217;nun 79.95$&#8217;lık bir fiyatı var, 133.08TL&#8217;ye geliyormuş.</a><sup><a href="http://kimbucemk.com/teknik/mac-os-x-web-gelistiriciligi/#footnote_3_718" id="identifier_3_718" class="footnote-link footnote-identifier-link" title="MacRabbit&amp;#8217;in satış sistemi otomatik olarak para birimini yerelleştiriyor. Zaten satın alma sayfası da T&uuml;rk&ccedil;e.">4</a></sup> Ben bu paraya almadım, satın aldığım bundle&#8217;lardan birinde gelmişti, ona rağmen de uzun bir süre kullanmadım. Tavsiyem önce 15 günlük demosunu indirip tercih ettiğiniz dilde ufak bir yazılımcık yapmaya çalışmanız.</p>
<h3>TextMate</h3>
<p>Espresso&#8217;dan önce uzunca bir süre <a title="TextMate" href="http://macromates.com/" target="_blank">TextMate</a>&#8216;le yaptım geliştirmelerimi. Fakat tek kullandığım özelliği soldaki dosya listesi ve seçtiğim dosyaları üstte sekme olarak açmasıydı. Espresso&#8217;nun aksine, seçilen dosyayı &#8220;yukarıya&#8221; dosya düzenlenmeye başlandığında değil, tıklandığı anda atması, bir yerden sonra sinir bozucu oluyordu. Hele &#8220;geri alma&#8221; özelliğini harf harf yapması var ki, insanı çileden çıkartır.</p>
<p><a href="http://kimbucemk.com/wp-content/uploads/2011/06/Screen-shot-2011-06-27-at-2.09.01-AM.png" rel="lightbox[718]"><img class="alignright size-large wp-image-764" title="Screen shot 2011-06-27 at 2.09.01 AM" src="http://kimbucemk.com/wp-content/uploads/2011/06/Screen-shot-2011-06-27-at-2.09.01-AM-510x286.png" alt="" width="510" height="286" /></a></p>
<p>Fakat TextMate&#8217;i basit bir metin editörü olarak kullanmak, tabii ki sadece benim yaptığım bir hatadan ibaretti. TextMate&#8217;in çok güçlü bir &#8220;bundle&#8221; özelliği var ve kod tamamlama dahil birçok şey yaptırabiliyorsunuz. Öyle ki, Espresso&#8217;nun kod tamamlaması biraz oyuncak gibi kalıyor yanında. Twitter&#8217;ın geliştiricilerinden (ve BasÇek&#8217;teki <a title="Fotoğrafçılıkta harici aydınlatma – I" href="http://www.bascek.com/489/fotografcilikta-harici-aydinlatma-i/" target="_blank">şu yazımın</a> asıl sahibi olan) <a title="Screencast 01: YUI Basics and DOM Hijacking" href="http://www.dustindiaz.com/screencast-episode-01/" target="_blank">Dustin Diaz&#8217;ın YUI temelleri ve Javascript DOM hijacking&#8217;i (gasp etmek?) anlattığı bu videoyu</a> izlerseniz TextMate&#8217;in gücünü görmeniz mümkün.</p>
<p>TextMate&#8217;in 2.0 versiyonu sözde 2 yıldır çıkacak. <a title="TextMate" href="http://macromates.com/" target="_blank">1.5 versiyonu 39Euro, ve 30 günlük deneme sürümü bulunmakta.</a> İndirip denemenizi yine tavsiye ediyorum.</p>
<h3>CSSEdit</h3>
<p><a title="MacRabbit CSSEdit" href="http://macrabbit.com/cssedit/" target="_blank">CSSEdit</a> aslında tam olarak bir metin editörü değil. Espresso ve TextMate&#8217;le her türlü dosyayı düzenleyebilirken, CSSEdit&#8217;te sadece CSS düzenleyebilirsiniz. Fakat X-ray özelliğiyle sitenizin düzenlemek istediğiniz elemanının ismini-cismini hemen bulabilirsiniz ve Inspector ile bu bulduğunuz elemanın CSS dosyasındaki konumuna hemen gidebilirsiniz, ve düzenlemeleri yaparken anında değişikliklerinizi görüntüleyebilirsiniz. Kod tamamlama ve CSS 2.1 özelliklerini içinde barındıran &#8220;görsel editörü&#8221; ile CSS düzenlemek çok kolaylaşıyor.</p>
<p><a href="http://kimbucemk.com/wp-content/uploads/2011/06/Screen-shot-2011-06-27-at-2.54.43-AM.png" rel="lightbox[718]"><img class="aligncenter size-large wp-image-768" title="Screen shot 2011-06-27 at 2.54.43 AM" src="http://kimbucemk.com/wp-content/uploads/2011/06/Screen-shot-2011-06-27-at-2.54.43-AM-510x286.png" alt="" width="510" height="286" /></a></p>
<p>CSSEdit de, Espresso gibi, bir MacRabbit yazılımı.<a title="CSSEdit" href="http://macrabbit.com/cssedit/" target="_blank"> $39.95&#8242;e satılıyor, ki bu da yaklaşık 65TL&#8217;ye denk geliyor.</a> Deneme sürümü, Espresso&#8217;nun aksine, zaman bazlı değil, sadece 2500 karakterden büyük CSS dosyalarını kaydetmenize izin vermiyor. Açıkçası, hangi dili kullanarak yazılım yazarsanız yazın, arabiriminiz için CSSEdit&#8217;i mutlaka denemek isteyeceksiniz.</p>
<h3>Coda</h3>
<p>Daha önce kullanmayı deneyip bir nedenden vazgeçtiğim bir yazılım. <a title="Panic Coda" href="http://panic.com/coda/" target="_blank">Coda</a>, yukarıda bahsettiğim Transmit&#8217;i yapan Panic&#8217;in yarattığı bir yazılım ve Espresso&#8217;ya çok benziyor özellik olarak. Aslında Espresso&#8217;dan daha çok özellik barındırıyor fakat ben nedense kendisine bir türlü ısınamadım. 99$&#8217;a satılıyor. Deneme sürümü bulunmakta.</p>
<h2>Sonuç</h2>
<p>Aslında niye &#8220;sonuç&#8221; diye başlık attığımı bilmiyorum. İlkokuldan kalma alışkanlık herhalde, yazılarda &#8220;giriş-geliştirme-sonuç&#8221; olacak ya illa&#8230; Neyse.</p>
<p>Açıkçası, bu yazıda sadece çalışma alışkanlıklarımdan bahsetmek ve bilmeyenler için birkaç alternatif göstermek istedim. Her yazılımın, her yöntemin bir diğerine göre avantajları ve dezavantajları var. Kendi tercihleriniz ve alışkanlıklarınıza göre uygun gördüğünüz seçimi yaparak bazı işlemleri kolaylaştırıp baş ağrınızı minimuma indirmek elinizde.</p>
<ol class="footnotes"><li id="footnote_0_718" class="footnote">O IP adresi, 192.168.41.128, VMware&#8217;ın Ubuntu Server için aldığı IP adresidir, sanal makine içerisinde <code>ifconfig</code> komutunu çalıştırarak öğrenebilirsiniz.</li><li id="footnote_1_718" class="footnote">Mac OS X kullanıcı adımla Ubuntu Server kullanıcı adım aynı olduğundan girme gereksinimi duymuyorum, yoksa <code>ssh cemk@192.168.41.128</code> olacaktı.</li><li id="footnote_2_718" class="footnote">Beni nelerin kod yazmaya sürüklediğini liste yapıp yayınlasam şaşarsınız aslında.</li><li id="footnote_3_718" class="footnote">MacRabbit&#8217;in satış sistemi otomatik olarak para birimini yerelleştiriyor. Zaten satın alma sayfası da Türkçe.</li></ol>]]></content:encoded>
			<wfw:commentRss>http://kimbucemk.com/teknik/mac-os-x-web-gelistiriciligi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>İyi programcılar hataları yakalar. Mükemmel programcılar onları engeller.</title>
		<link>http://kimbucemk.com/teknik/iyi-programcilar-hatalari-yakalar-mukemmel-programcilar-onlari-engeller/</link>
		<comments>http://kimbucemk.com/teknik/iyi-programcilar-hatalari-yakalar-mukemmel-programcilar-onlari-engeller/#comments</comments>
		<pubDate>Fri, 10 Jun 2011 05:50:31 +0000</pubDate>
		<dc:creator>Cem K.</dc:creator>
				<category><![CDATA[Teknik]]></category>
		<category><![CDATA[human factors]]></category>
		<category><![CDATA[tasarım]]></category>
		<category><![CDATA[usability]]></category>
		<category><![CDATA[user experience]]></category>
		<category><![CDATA[ux]]></category>
		<category><![CDATA[yemeksepeti]]></category>

		<guid isPermaLink="false">http://kimbucemk.com/?p=725</guid>
		<description><![CDATA[Son birkaç gündür saat 4.00&#8242;da yatıp 8.00&#8242;da kalkmaya alışmış olan bünyem, 22.00&#8242;da yatınca 2.00&#8242;da hortladı tabii ki. Sağa sola bakıp, başka yazılar yazarken bir baktım sabah olmuş, &#8220;kahvaltı söyleyeyim&#8221; dedim. Çünkü buzdolabı, boş. &#8220;Yemek söylemek&#8221; deyince akla neresi geliyor? Tabii ki yemeksepeti.com. Ferahevler&#8217;deki Aslı Börek sistemde var mı diye baktım, var. Ama 8&#8242;de açılıyor, 8.45&#8242;te [...]]]></description>
			<content:encoded><![CDATA[<p>Son birkaç gündür saat 4.00&#8242;da yatıp 8.00&#8242;da kalkmaya alışmış olan bünyem, 22.00&#8242;da yatınca 2.00&#8242;da hortladı tabii ki. Sağa sola bakıp, başka yazılar yazarken bir baktım sabah olmuş, &#8220;kahvaltı söyleyeyim&#8221; dedim. Çünkü buzdolabı, boş.</p>
<p>&#8220;Yemek söylemek&#8221; deyince akla neresi geliyor? Tabii ki yemeksepeti.com. Ferahevler&#8217;deki Aslı Börek sistemde var mı diye baktım, var. Ama 8&#8242;de açılıyor, 8.45&#8242;te getiriyor. Fakat sipariş verme aşamasında YemekSepeti&#8217;nin sunduğu seçenekler, sanki başka türlüsü mümkünmüş hissi veriyor.</p>
<p><span id="more-725"></span>İlk önce dükkanın sayfasına girince şu uyarıyla karşılaşıyoruz:</p>
<p><a href="http://kimbucemk.com/wp-content/uploads/2011/06/Screen-shot-2011-06-10-at-7.20.29-AM.png" rel="lightbox[725]"><img class="aligncenter size-large wp-image-726" title="Screen shot 2011-06-10 at 7.20.29 AM" src="http://kimbucemk.com/wp-content/uploads/2011/06/Screen-shot-2011-06-10-at-7.20.29-AM-510x335.png" alt="" width="510" height="335" /></a></p>
<blockquote><p>Bu restoran şu anda servis saatlerinin dışında olduğundan sadece ileriye yönelik sipariş verebilirsiniz.</p></blockquote>
<p>Bana uyar. Sorun değil. &#8220;Sepeti Onayla&#8221; tuşuna basıp adresimizi de seçtikten sonra teslimat saati seçim ekranına geliyoruz. Peki seçili gelen seçenekler neler? &#8220;Bugün&#8221; ve &#8220;Hemen (~45 dak.)&#8221;.</p>
<p><a href="http://kimbucemk.com/wp-content/uploads/2011/06/Screen-shot-2011-06-10-at-7.21.10-AM.png" rel="lightbox[725]"><img class="aligncenter size-large wp-image-727" title="Screen shot 2011-06-10 at 7.21.10 AM" src="http://kimbucemk.com/wp-content/uploads/2011/06/Screen-shot-2011-06-10-at-7.21.10-AM-510x335.png" alt="" width="510" height="335" /></a>&#8220;Hemen&#8221;in yanında &#8220;45. dakika&#8221;nın belirtilmesi, çok hoş mesela. Restoranın sayfasında belirtilen teslimat süresinin sipariş onay sayfasında bu şekilde belirtilmesini çok beğeniyorum. Fakat sorun, 45 dakika sonrasının hâlâ saat 8.00 etmiyor oluşuydu. Hani 8.00&#8242;de açılıyordu Aslı Börek? Aşağıya inip &#8220;Siparişi Ver&#8221; butonuna basıyorum.</p>
<p>Veriler gönderiliyor, veriler alınıyor, sayfa değişiyo— derken, aynı sayfa geri geliyor. Sonra hop, üzerinde bir uyarı:</p>
<blockquote><p>Paketinizin gönderilmesi için belirttiğiniz zaman restoranın çalışma saatleri dışında kalıyor.</p></blockquote>
<p><a href="http://kimbucemk.com/wp-content/uploads/2011/06/Screen-shot-2011-06-10-at-7.21.41-AM.png" rel="lightbox[725]"><img class="aligncenter size-large wp-image-728" title="Screen shot 2011-06-10 at 7.21.41 AM" src="http://kimbucemk.com/wp-content/uploads/2011/06/Screen-shot-2011-06-10-at-7.21.41-AM-510x335.png" alt="" width="510" height="335" /></a></p>
<p>Adam haklı. Restoranın çalışma saati 8.00 olarak belirtilmişti. 7.55, 8.00&#8242;den daha önce haliyle. &#8220;Çalışma saatlerini deneyelim o zaman&#8221; dedik, çünkü malum, uyarı &#8220;çalışma saatleri dışında&#8221; diyordu bizim için seçilmiş olan saate.</p>
<p>8.15, çalışma saatleri içindeydi. Onu denemeye karar verdim.</p>
<p>Veriler gönderildi, veriler alındı, sayfa değiş— derken, yine aynı sayfa. Üzerine <em>yeni</em> bir uyarı:</p>
<blockquote><p>Paketinizin gönderilmesi için belirttiğiniz zaman bu restoran için şu andan/restoran açıldıktan en az 45dk sonra olmalıdır.</p></blockquote>
<p><a href="http://kimbucemk.com/wp-content/uploads/2011/06/Screen-shot-2011-06-10-at-7.22.00-AM.png" rel="lightbox[725]"><img class="aligncenter size-large wp-image-729" title="Screen shot 2011-06-10 at 7.22.00 AM" src="http://kimbucemk.com/wp-content/uploads/2011/06/Screen-shot-2011-06-10-at-7.22.00-AM-510x335.png" alt="" width="510" height="335" /></a>Az önce &#8220;çalışma saati içinde değil&#8221; diyordun, e bu çalışma saati içinde? Ama öyle olmuyor işte. 8.45&#8242;e ayarlayınca saati, siparişimi verebildim.</p>
<h3>Buradaki hatalar nelerdir?</h3>
<p>Açıkçası, burada bir hata yok. En azından yazılımsal olarak. Sonuçta belli bir kural var, ve yapılan tercihlerin o kurala uyup uymadığı kontrol edilip duruma göre bir tepki veriliyor.</p>
<p>Fakat kullanılabilirlik açısından gösterilen ilk uyarıda büyük bir hata var: &#8220;Mesai saatleri dışında&#8221; hatasının teslimat süresi ile ilgili bilgiyi de içinde barındırması gerekiyor. Çünkü o uyarıya göre &#8220;8.00&#8242;dan sonraki herhangi bir zaman dilimi uygunmuş&#8221; havası veriliyor, fakat 8.45&#8242;ten öncesi aslında uygun değil.</p>
<p>Bir diğer hata da, zaten 8.45&#8242;ten öncesi ve gece belli bir saatten sonrası uygun olmayan bir dükkan ve sipariş için 24 saatlik bir dilimin seçilebilir olması. Ama benim tavsiye edeceğim iyileştirmeler bunu ortadan kaldıracağı için üzerinde durma gereksinimi duymuyorum.</p>
<h3>Peki bu sorunlar nasıl düzeltilir?</h3>
<ul>
<li>Bu restoranların belli çalışma saatleri bulunmakta. Hem restoranın sayfasında, hem de hata ekranında bunları görebiliyorsak, teslimat saati seçme aşamasında da sadece bunların arasından seçme şansımız olmalı. Sabah 8-akşam 10 çalışan bir dükkanın sipariş sayfasında gece 3&#8242;ü görmenin bir anlamı yok.</li>
<li>&#8220;Hemen (~45 dak.)&#8221; seçeneği, o an açık bulunmayan restoranlar için farklı olmalı. Hem etiketi değişmeli, hem de yazan süre açılış saati ve teslimat süresini bir şekilde belirtmeli. &#8220;En yakın süre (~8.45am)&#8221; gibi bir seçenek uygun olabilir.</li>
<li>Bunların hiçbiri olmadı, yanlış bir saat seçildiğinde &#8220;Siparişi Ver&#8221; butonu devre dışı olmalı, böylece kullanıcı siparişte bir hata olduğunu görebilmeli —tabii hatanın ne olduğu da belirtilmeli. Bu şekilde hem sayfanın tekrar tekrar yüklenmesi sorunu ortadan kalkacağı gibi, hem de oldukça sık rastladığım bir soruna<sup><a href="http://kimbucemk.com/teknik/iyi-programcilar-hatalari-yakalar-mukemmel-programcilar-onlari-engeller/#footnote_0_725" id="identifier_0_725" class="footnote-link footnote-identifier-link" title="Bazı arkadaşlarım, iş yaparken acıkınca yemeklerini se&ccedil;ip &amp;#8220;Siparişi Ver&amp;#8221; d&uuml;ğmesine tıklar tıklamaz ya tarayıcıyı gizliyor, ya da başka sekmeye ge&ccedil;iyor. Bir hata olması durumunda da &amp;#8220;nerede kaldı bu siparişim&amp;#8221; demeden &ouml;nce siparişi aslında veremediğini farketmiyor. Devre dışı bir d&uuml;ğme, kendisine bastırtmayacağı i&ccedil;in, sorun &ouml;nceden g&ouml;r&uuml;necektir. Bir taşla iki kuş, kısaca.">1</a></sup> çözüm getirecektir.</li>
</ul>
<p>Bu tarz iyileştirmeler genelde gözden kaçar, akla gelmez. Master programım bunun üzerine yoğunlaştığından ve son bir senemi bu tarz çözümler yaratarak geçirdiğim için daha önceden görmeme rağmen hiç dikkatimi çekmeyen bu <em>sorunlar</em>, Türkiye&#8217;ye döner dönmez verdiğim ilk siparişte gözüme battı. Umarım YemekSepeti bu değişiklikleri bir gün bir şekilde devreye sokar.</p>
<p>Tabii önce kahvaltımın gelmesini sağlaması tercihimdir. Zira 8.49 oldu, ve ben acıktım. </p>
<ol class="footnotes"><li id="footnote_0_725" class="footnote">Bazı arkadaşlarım, iş yaparken acıkınca yemeklerini seçip &#8220;Siparişi Ver&#8221; düğmesine tıklar tıklamaz ya tarayıcıyı gizliyor, ya da başka sekmeye geçiyor. Bir hata olması durumunda da &#8220;nerede kaldı bu siparişim&#8221; demeden önce siparişi aslında <em>veremediğini</em> farketmiyor. Devre dışı bir düğme, kendisine bastırtmayacağı için, sorun önceden görünecektir. Bir taşla iki kuş, kısaca.</li></ol>]]></content:encoded>
			<wfw:commentRss>http://kimbucemk.com/teknik/iyi-programcilar-hatalari-yakalar-mukemmel-programcilar-onlari-engeller/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Elektronik kitap kendini zorla okutuyor!</title>
		<link>http://kimbucemk.com/teknik/elektronik-kitap-kendini-zorla-okutuyor/</link>
		<comments>http://kimbucemk.com/teknik/elektronik-kitap-kendini-zorla-okutuyor/#comments</comments>
		<pubDate>Wed, 06 Oct 2010 08:31:37 +0000</pubDate>
		<dc:creator>Cem K.</dc:creator>
				<category><![CDATA[Teknik]]></category>

		<guid isPermaLink="false">http://kimbucemk.com/?p=354</guid>
		<description><![CDATA[İsveç&#8217;e geleli 1.5 ay oldu bile. Ve ben hiç yazı yazmadım. İlginç bir şey olmadığından mı? Aksine, ilginçlikler peşimi bırakmadığından! En son ilginçlik ise, Ocak&#8217;a kadar kalabileceğim ama yine de &#8220;sonunda ev buldum!&#8221; dediğim yere geçtiğim zaman, nook&#8217;umu çıkarıp kitap okuma isteğimle bunu yapamayacağımı farketmem oldu. nook, 3 hafta bavulda kapalı kal(mak zorunda kal)dığı için [...]]]></description>
			<content:encoded><![CDATA[<p>İsveç&#8217;e geleli 1.5 ay oldu bile. Ve ben hiç yazı yazmadım. İlginç bir şey olmadığından mı? Aksine, ilginçlikler peşimi bırakmadığından!</p>
<p>En son ilginçlik ise, Ocak&#8217;a kadar kalabileceğim ama yine de &#8220;sonunda ev buldum!&#8221; dediğim yere geçtiğim zaman, nook&#8217;umu çıkarıp kitap okuma isteğimle bunu yapamayacağımı farketmem oldu. nook, 3 hafta bavulda kapalı kal(mak zorunda kal)dığı için pilini yemiş, tüketmiş, bitirmiş, ve inatla açılmıyordu.</p>
<p><span id="more-354"></span>Şarja takarsın, pili doldurursun, düzelir, değil mi? Hayır. Şarja takınca açılıyordu, tamam, ama pilin yerinde bir soru işareti çıkıyor ve inatla dolmuyordu. Bütün bir gece beklettim, olmadı.</p>
<p>Ben de bunun üzerine yapılabilecek en büyük hatayı yaptım: Sorunun çözümünü Google&#8217;da aradım. Temel olarak şu yöntemi söylüyorlardı.</p>
<ol>
<li>nook&#8217;u kapat.</li>
<li>Pili çıkar.</li>
<li>Cihazı prize bağla.</li>
<li>Açıldıktan sonra pili geri tak, şarjda bırak.</li>
</ol>
<p>Bir gün de bununla geçtikten sonra, baktım hâlâ hareketlenme yok, alternatif yöntemler aradım. Pili çıkart, buna bas, şunu yap derken cihaz ilk aldığım yazılım sürümüne geri döndü. &#8220;Bu iyi olamaz&#8221; diye düşünürken bir de üzerine nereye girmeye çalışırsam çalışayım cihazın kendini kapatıp açması sorunsalı başladı. En sonunda ise e-mürekkepli ekranı karardı ve alttaki ekran açılmamaya başladı.</p>
<p>nook&#8217;u bozmuştum.</p>
<p>Küfrederek ne yapabileceğimi düşünmeye başladım. nook&#8217;u geri toparladım, kenara koydum, ve yöntemler aramaya başladım&#8230; Uyuyakalmışım.</p>
<p>Sabah kalkıp telefonumu elime alınca gördüğüm &#8220;pil bitiyor&#8221; uyarısı, &#8220;dün akşam şarja taktığım bu değil miydi?&#8221; sorusunu beraberinde getirdi. Meğerse nook&#8217;u şarja takmışım. Ve sabah kalktığımda, cihaz pili dolu bir şekilde açıktı.</p>
<p>Bundan çıkarttığım sonuçlar şöyle:</p>
<ul>
<li>Apple olmayan her elektronik ürün elbet birgün saç-baş yolduracak şekilde sorun çıkartıyor. Düzelip düzelmemesi kendi insafına kalmış.</li>
<li>Android denen işletim sistemciği, iOS kadar stabil değil. En azından adam gibi bir fail-safe modu yok.</li>
<li>nook (veya Kindle) alıp da kitap okumamak olmazmış. 3 hafta köşede yatırınca içten içe, kendi kendini yermiş alet.</li>
<li>The Girl With The Dragon Tattoo fena kitap değilmiş.</li>
</ul>
<p><a href="http://kimbucemk.com/wp-content/uploads/2010/10/tgwtdt.jpg" rel="lightbox[354]"><img class="aligncenter size-full wp-image-357" title="tgwtdt" src="http://kimbucemk.com/wp-content/uploads/2010/10/tgwtdt.jpg" alt="" width="500" height="333" /></a></p>
<p>Dipnot: İsveç&#8217;le ilgili bir fotoblog açmaya çabalıyorum. Alan adını aldım bile: itsaswedishthing.com. Sadece fotoğraflarımı işleyip yazılarını yazmam lazım. Bir de alan adını posterous&#8217;dan tumblr&#8217;a yönlendirmem. Bir de temayı elden geçirmem. (Of yoruldum.)</p>
]]></content:encoded>
			<wfw:commentRss>http://kimbucemk.com/teknik/elektronik-kitap-kendini-zorla-okutuyor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VPS&#8217;le WordPress&#8217;i Anlaştırma</title>
		<link>http://kimbucemk.com/teknik/vpsle-wordpressi-anlastirma/</link>
		<comments>http://kimbucemk.com/teknik/vpsle-wordpressi-anlastirma/#comments</comments>
		<pubDate>Sat, 17 Apr 2010 22:07:16 +0000</pubDate>
		<dc:creator>Cem K.</dc:creator>
				<category><![CDATA[Teknik]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[vps]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://kimbucemk.com/?p=189</guid>
		<description><![CDATA[Türkiye&#8217;deki hosting firmalarını geçersek, paylaşımlı sunucu firmalarının çoğu WordPress konusunda büyük rahatlık sağlıyor. Sistemin dosya yükleme aracı gerekli klasörleri otomatik olarak yaratıyor ve Core Update fonksiyonu FTP bilgisi istemeden sorunsuzca güncelleme yapıp eklenti/tema kurmamıza izin veriyor. VPS&#8217;lerde ise bunun için kendimiz uğraşmamız gerekiyor. Birçok sorunun çözümü yokmuş gibi gözükse de, aslında çok basit bir şekilde [...]]]></description>
			<content:encoded><![CDATA[<p>Türkiye&#8217;deki hosting firmalarını geçersek, <a href="http://codex.wordpress.org/Core_Update_Host_Compatibility">paylaşımlı sunucu firmalarının çoğu</a> WordPress konusunda büyük rahatlık sağlıyor. Sistemin dosya yükleme aracı gerekli klasörleri otomatik olarak yaratıyor ve Core Update fonksiyonu FTP bilgisi istemeden sorunsuzca güncelleme yapıp eklenti/tema kurmamıza izin veriyor.</p>
<p>VPS&#8217;lerde ise bunun için kendimiz uğraşmamız gerekiyor. Birçok sorunun çözümü yokmuş gibi gözükse de, aslında çok basit bir şekilde tüm özellikler çalıştırılabiliyor.<img title="Daha fazla..." src="http://kimbucemk.com/wp-includes/js/tinymce/plugins/wordpress/img/trans.gif" alt="" /><span id="more-189"></span>Öncelikle VPS&#8217;lerde başımıza gelebilecek hatalara bir göz atalım:</p>
<p><strong>Dosya Yükleme: </strong>WordPress&#8217;in dosya yükleme sistemi süper çalışıyor. Özellikle fotoğraflar için mucizeler yaratıyor sistem. Otomatik olarak farklı boyutlar yaratıyor, tarihe göre klasörlere atıyor, hatta otomatik olarak galeriler yaratmanıza izin veriyor. Fakat VPS&#8217;lerde dosya izinleri nedeniyle bunların hiçbirini yapamıyor. Bunun için ya <em>/wp-content/uploads</em> dizinine 777 izni veriyorlar, veya kullanıcısını <em>www-data</em> yapıyorlar ki, birincisi büyük bir güvenlik açığı, ikincisi ise kullanıcının kendisinin dizini kullanamaması anlamına geliyor.</p>
<p><strong>Otomatik güncelleme, eklenti/tema yükleme:</strong> WordPress&#8217;i 1.5 sürümünden beri kullanan biri olarak en başta ben sorabilirim &#8220;ananınızın karnından otomatik güncellemeyle mi doğdunuz&#8221; diye. Fakat sağladığı rahatlığı tattıktan sonra vazgeçemiyorsunuz. Ne yazık ki, dosya izinlerini tamir etseniz bile bu özellik inatla çalışmayabiliyor. FTP bilgilerini verince çalışabilme ihtimali olsa da, çoğu kullanıcı VPS&#8217;ine FTP sunucusu kurmamayı tercih ediyor.</p>
<h3>Önemli not:</h3>
<p>Ben 2 yıldır VPS kullanmama rağmen, Slicehost&#8217;ta Debian kullanırken Zerigo&#8217;da Ubuntu&#8217;ya geçtim. Kısaca kullanacağım kullanıcı isimleri ve terimler, özellikle <em>www-data</em>, Debian tabanlı dağıtımlara özgü olabilir. Başka dağıtımların sunucu grubu için<em> apache</em> veya <em>nobody</em> kullanabildiğini gözönünde bulundurup dağıtımınıza göre ayar yapmak isteyebilirsiniz.</p>
<h2>Aşama Aşama VPS Tamiri</h2>
<h3>1. Aşama: Dosya İzinleri Belirleme</h3>
<p>Bu, bu yazıda okuyacağınız en uzun, en hileli, en karmaşık, ve büyük ihtimalle beceremeyip yine bir güvenlik açığı verdiğim tek bölüm olacak. (Eğer bir hata bulursanız lütfen uyarın, na yorum kısmı aşağıda.)</p>
<p>Öncelikle, <strong><em>www-data</em> grubunu kendi kullanıcımıza eklememiz</strong> gerekiyor. Burada, kendi kullanıcı adımın <em>cemk</em> olduğunu varsayıyoruz.</p>
<pre class="brush: bash; title: ;">
sudo usermod -a -G www-data cemk
</pre>
<p>Bunun geçerli olduğunu görmek için, çıkış yapıp tekrar girmeniz gerekiyor. Daha sonra test etmek için <em>groups</em> komutunu çalıştırabiliriz. Kendi kullanıcı adımızın yanında bir de <em>www-data</em>&#8216;yı görmemiz gerekiyor.</p>
<pre class="brush: bash; title: ;">
c111 ~: groups
cemk www-data
</pre>
<p>Şimdi klasörlerimizin gruplarını değiştirmemiz gerekiyor. Eğer bilmiyorsanız, devam etmeden önce <em>chmod, chown</em> ve <em>chgrp</em> komutları hakkında detaylı bilgi almak isteyebilirsiniz.</p>
<p>Bu aşamada, bütün sitelerimizin grubunu <em>www-data</em> yapacağız. Apache <em>www-data</em> grubuna dahil olduğu, ve biz de kendi kullanıcımızı bu gruba dahil ettiğimiz için, <em>chmod</em> ile bu dizinlere verdiğimiz tüm grup izinlerini hem Apache kullanabilecek, hem de biz kullanabileceğiz.</p>
<p>Önce bir ek bilgi: Ben sitelerimi ev dizinimin altında &#8220;sites&#8221; isimli bir dizinde tutuyorum. Aynı şekilde &#8220;logs&#8221; ve &#8220;apps&#8221; diye ayrı dizinlerim de var. Fakat bizi şu anda ilgilendiren &#8220;sites&#8221; ve içindekiler. Burada varolan tüm öğelerin grubunu <em>cemk</em>&#8216;dan <em>www-data</em>&#8216;ya tek satırla çeviriyoruz.</p>
<pre class="brush: bash; title: ;">
sudo chgrp -R www-data /home/cemk/sites/
</pre>
<p>Peki ya yeni eklenecek klasörler? Onun için de bir satır komutumuz var. Normalde tüm dizinlere 750 (kullanıcıya yazma, gruba okuma, gerisine nanik) ve<em> uploads</em> dizinine 770 (kullanıcı ve gruba yazma, gerisine nanik) hakkı vermek mantıklı olan, fakat WordPress otomatik güncellerken <strong>tüm dizinleri ve dosyaları</strong> güncellediği için bütün sitelere olduğu gibi 770 veriyoruz.</p>
<pre class="brush: bash; title: ;">
sudo chmod -R 2770 /home/cemk/sites/
</pre>
<p>En baştaki <strong>2</strong>, &#8220;set group ID&#8221; biti oluyor. Böylece o dizin altında sizin tarafınızdan yaratılan yeni dizin ve dosyalar da <em>www-data</em> grubuna dahil olurlar otomatikman.</p>
<p>Şimdi bir WordPress kurulumu yapın, ve dosya yüklemeyi deneyin. Et voilà! Çalıştığını göreceksiniz. Tabii belli bir boyuttan fazlasını yüklemeye çalışmazsanız.</p>
<h3>2. Aşama: Dosya Boyutu Belirleme</h3>
<p>Bunun için önce php.ini ayar dosyamızı bulmamız gerekiyor. Bunun nerede olduğunu phpinfo() komutuyla öğrenebiliyoruz. <strong>Loaded Configuration File</strong> kısmında yazan dizin, ayar dosyamız oluyor.</p>
<pre class="brush: bash; title: ;">
sudo nano /etc/php5/apache2/php.ini
</pre>
<p>Burada <em>upload_max_filesize</em> ve <em>post_max_size</em> ayarını bulup &#8220;2M&#8221;den istediğimiz değere çıkartıyoruz. Ben 64M yaptım. VPS&#8217;inizin RAM miktarına göre istediğiniz gibi arttırıp azaltabilirsiniz.</p>
<p><strong>Ekleme (20.07.2010): </strong><em>memory_limit</em> değeri de varsayılanda 16MB imiş. VPS&#8217;imdeki hiçbir WordPress kurulumunu 3.2 Beta&#8217;ya geçtikten sonra yükseltemediğimde farkettim ki, yeterli değil. 128M yapmak sorunu çözdü.</p>
<h3>3. Aşama: Otomatik Güncelleştirme, Eklenti/Tema Yükleme</h3>
<p>Diyeceksiniz ki &#8220;iyi güzel hoş, ayarı verdik, dizinlerimize artık sunucumuz da yazabiliyor, <em>e zlib desteği de var PHP&#8217;mizin</em>, peki biz neden hâlâ otomatik güncelleştirmeye veya eklenti/tema yüklemeye tıkladığımızda FTP bilgisi istiyor bu WordPress?&#8221;</p>
<p>Haklısınız. Ben de çok araştırdım. Meğerse son bir tanımlama yapmamız gerekiyormuş WordPress&#8217;e, bu özelliği kullanabileceğini anlatan. <em>wp-config.php</em> dosyasını açıp sonuna aşağıdaki satırı eklemek yetiyor.</p>
<pre class="brush: php; title: ;">

define('FS_METHOD', 'direct');
</pre>
<p>Böylece artık bütün WordPress özelliklerini rahatça VPS&#8217;imizde, tıpkı paylaşımlı hosting&#8217;lerde olduğu gibi, ama daha fazla esneklikle kullanabiliyoruz.</p>
<p>Afiyet olsun!</p>
<p><strong>Dipnot:</strong> Bu işlemleri yaparken sık sık yedek alın. Bunun için <a href="http://slicehost.com">Slicehost</a> veya <a href="http://www.zerigo.com">Zerigo</a> gibi &#8220;snapshot&#8221; almanıza izin veren VPS&#8217;leri tercih edebilirsiniz. (Hatta kendinizi cömert hissediyorsanız Zerigo&#8217;dan <a href="http://www.zerigo.com/ref/w29p1f">referrer kodum</a>la bir paket alıp bana hosting desteğinde bulunabilirsiniz.)</p>
]]></content:encoded>
			<wfw:commentRss>http://kimbucemk.com/teknik/vpsle-wordpressi-anlastirma/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Facebook/Flickr Uyuşmazlığını Giderme</title>
		<link>http://kimbucemk.com/teknik/facebookflickr-uyusmazligini-giderme/</link>
		<comments>http://kimbucemk.com/teknik/facebookflickr-uyusmazligini-giderme/#comments</comments>
		<pubDate>Tue, 10 Nov 2009 23:41:27 +0000</pubDate>
		<dc:creator>Cem K.</dc:creator>
				<category><![CDATA[Teknik]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[flickr]]></category>

		<guid isPermaLink="false">http://kimbucemk.com/?p=63</guid>
		<description><![CDATA[Fotoğraflarını flickr&#8217;da yayınlamayı ve bunu yayınladıklarına dair bildiriyi otomatik olarak facebook&#8217;ta yayınlamayı tercih eden kişiler, son zamanlarda &#8220;The email or user name you entered is not valid. Please verify and try again.&#8221; şeklindeki hatayı aldıklarını ve bunu başaramadıklarını farkedeceklerdir: Bunu çözmenin çok basit bir yöntemi var: gerçek flickr ID&#8217;niz. Bunun için, giriş yapmış durumdayken flickr&#8217;ın [...]]]></description>
			<content:encoded><![CDATA[<p>Fotoğraflarını flickr&#8217;da yayınlamayı ve bunu yayınladıklarına dair bildiriyi otomatik olarak facebook&#8217;ta yayınlamayı tercih eden kişiler, son zamanlarda &#8220;The email or user name you entered is not valid. Please verify and try again.&#8221; şeklindeki hatayı aldıklarını ve bunu başaramadıklarını farkedeceklerdir:</p>
<p><img class="aligncenter size-full wp-image-64" title="flickr_facebook_error" src="http://kimbucemk.com/wp-content/uploads/2009/11/flickr_facebook_error.png" alt="flickr_facebook_error" width="409" height="106" /></p>
<p><span id="more-63"></span>Bunu çözmenin çok basit bir yöntemi var: <strong>gerçek </strong>flickr ID&#8217;niz. Bunun için, giriş yapmış durumdayken flickr&#8217;ın herhangi bir sayfasının kaynağını görüntülemeniz gerekiyor. Başta bir JavaScript alanı var, oradan &#8220;global_nsid&#8221; satırını bulup oradaki değeri kopyalamanız gerekiyor.</p>
<p><img class="aligncenter size-full wp-image-65" title="flickr_nsid" src="http://kimbucemk.com/wp-content/uploads/2009/11/flickr_nsid.png" alt="flickr_nsid" width="401" height="286" /></p>
<p>Daha sonra bunu facebook&#8217;umuzdaki profil ayarlarımızda, flickr kullanıcı adı alanına giriyoruz.</p>
<p><img class="aligncenter size-full wp-image-66" title="flickr_enter_nsid" src="http://kimbucemk.com/wp-content/uploads/2009/11/flickr_enter_nsid.png" alt="flickr_enter_nsid" width="394" height="62" />Et voilá! Sorunumuz çözülmüş durumda. Artık flickr&#8217;a yüklediğimiz resimlerin bildirileri anında facebook&#8217;umuzda da gözükecek &#8211;eskiden olduğu gibi.</p>
<p><img class="aligncenter size-full wp-image-67" title="flickr_facebook_ok" src="http://kimbucemk.com/wp-content/uploads/2009/11/flickr_facebook_ok.png" alt="flickr_facebook_ok" width="406" height="90" /></p>
<p><img class="aligncenter size-full wp-image-70" title="flickr_added" src="http://kimbucemk.com/wp-content/uploads/2009/11/flickr_added.png" alt="flickr_added" width="389" height="144" /></p>
]]></content:encoded>
			<wfw:commentRss>http://kimbucemk.com/teknik/facebookflickr-uyusmazligini-giderme/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

