En iyi uygulama kuralları çevirisini çok beğenmesem de Türkçe olarak bu şekilde çevrilen "best practices" kavramı, her uygulama geliştirme ortamı için düşünülmesi gereken, genel bir yöntem/yordam tanımı veya bir grup kural olarak tanımlanabilir.

Biliyorsunuz ki php eski bir dil, her ne kadar güncellense ve yeni sürümler çıksa da geriye dönük destek verdiği için eski methodlar/teknikler yeni sürümlere uyarlanmadan çoğu zaman çalışır durumda kalıyor. Dolayısıyla çok eski methodlar kullanan geliştiriciler, kodlar görmek mümkün.

Bu durumdan rahatsız olan bir grup php geliştiricisi kendi uygulama kurallarını, standartlaşmış veya kabul görmüş yöntemleri güncel bir şekilde tuttukları bir döküman hazırlamışlar ve açık kaynak olarak herkesin katkısına açmışlar.

Sunucu konfigürasyonu, kod yazım standartları gibi bir çok konuyu topladıkları konu başlıkları, yararlı en iyi uygulama kurallarını barındırıyor. İncelemekte kesinlikle fayda var.

Buyrun:http://www.phptherightway.com
1 Aralık Çarşamba ´04
Linux'ta VI'ı bilmeyen yoktur herhalde, vi çok fonksiyonel ve öğrenilemeyecek kadar özelliğe sahip bir editör. Programcılar için mükemmel bir araç olmakla beraber neredeyse bütün ihtiyaçları karşılıyor. Ana olarak kod renklendirme (desteklemediği dil yok galiba), satır nuamraları, autoindent... Bu dökümanda vi hakkında kendimce önemli, işinize yarayacak ipuçları ve özelliklerin kullanımını bulacaksınız!

VI komutlarının kullanımı

Aslında basit bir mantık içeriyor. önce sınırlarını belirtiyoruz klavyeden, sonra işletilecek komut ve ardından nesnemizi. Örnek olarak şu tuş kombinasyonu : 12dw , aslında kursorün bulunduğu konumdan başlayarak, d yani silme işlemi, w yani ondan sonra gelen kelime sonunu ifade eder; yani kursörden itibaren 12 kelime siler.

Bazı komutlar ve örnek kullanımları


d Silme işlemi

r Karakter değiştirme
"rx" şeklinde kullanımda kursörün altında
bulunan karakteri x ile değiştirir.

w,e w, kelime başına; e ise kelime sonuna gider.

o,O o 'ya basıldığında kursörün bulunduğu satırın
altında yazmaya hazır boş satır açar.
O'da ise kursörün bulunduğu satırın üstünde boş satır açar.


Dosya içinde bişeyler arama

VI komut satırına /fatih yazarsanız bütün "fatih"ler farklı renk olacaktır. Sayfa üzerinde gezinerek tam aradığınızı kolayca bulabilirsiniz.

Bul & Değiştir

Düzenli ifade kullanan arkadaşlar sed ve grep gibi araçlarda regex kullanmışlardır. Oradaki kullanıma çok benzeyen bir kullanımla vi'da belli bir ifadeyi bulup değiştirmek kolaylaşıyor.
Birşey aratmak için vi komut satırında /aramak_istedigimiz_sey yazıp uyguluyorduk. Buna kısa şeyler ekleyerek bul ve değiştir işlemini yapacağız.
s/eski/yeni ile kursörden itibaren tek değişim sağlayabilirsiniz.
Kursörün bulunduğu satırın tümünde yapmak için s/eski/yeni/g uyguluyoruz.
Eğer sınırları belli satırlar arasında uygulamak istiyorsak #,#s/eski/yeni/g uyguluyoruz. #,# ~ 2,5 ise 2. satırdan 5. satıra kadar demek oluyor.
Tüm dosyada değişim yapmak için ise : %s/eski/yeni/g uyguluyoruz.
Böylece kolayca bul&değiştir işlemi yapmış olduk. eski ve yeni değerleri yerine düzenli ifade girerek daha esnek arama, değiştirme işlemleri yapabilirsiniz.

Programcılar için bulunmaz özellik

Çoğu c, java tabanlı programlama dili kontrol yapıları (){}[] işaretleri ile doludur. autoindent yazılmış kodlarda hernekadar bu yapılar arasında dolaşmak veya birinin bitişini, diğerinin başlangıcını seçmek kolay gibi görünebilir ancak iç içe yazılmış çok yapıda bu iş autoindent yazılmış bile olsa zorlaşabiliyor. VI'da bitişini öğrenmek istediğiniz ({[ işaretlerinin üstünde iken % işaretini tuşlarsanız direk kapanışına erişebilirsiniz. Aynı işlemi bitiş karakterlerinde de uygulayarak o yapının başlangıcına erişebilirsiniz.


Özellikler ve kullanımları


VI'da özellikler açıp kapamak için vi komut satırında set kullanılır. "set ozellik" o özelliği açar, "set ozellik!" o özelliği kapatır.


wrap Geçerli olarak kapalı olarak açılan vi'da sözcük kaydırma
özelliğini ifade eder. Bu özellik açıldığında yazılar
konsolun boyutuna sığmaya çalışarak yerleşir.
Ancak sayfanın yapısında değişiklik olmaz!

nu nu özelliği satır numaralandırmadır. Geçerli olarak kapalıdır.
açıldığında her satırın başına satır numaraları eklenir.

syntax Bu özellik kod renklendirmenin ayarlanması içindir.
VI dosya soyadlarına göre otomatik olarak açtığınız dosyaya uygun
kod renklendirmesi yapar. Ancak yeni dosya yazarken veya farklı
uzantılarla çalışırken (mesela php uzantılı html dosyalarında)
kod renklendirme türünü değiştirmek isteyebilirsiniz.
syntax özelliği parametreli kullanılır.
Örneğin : set syntax=html veya set syntax=php gibi...

autoindent Geçerli olarak açık olan ve iç içe yazmayı
kolaylaştıran bir özelliktir.


Not : Bu döküman 2 Ocak 2008 tarihinde yeniden düzenlenmiştir.

Hazırlayan : Mehmet Fatih YILDIZ

Popüler Etiketler

facebook connect api örnek kod javascript js date tarih open source lisans gimp howto apple ipad iphone mobile itunes svn subversion proje less css compile compiler macosx windows linux app on-the-fly twitter istatistik social sosyal medya cache htaccess apache kontrol yapıları if while mootools jquery media db database service free css3 html table mdb2 pear sql injection php coding fstab ntfs internet statistics iOS auth http ide editor phpstorm jetbrains deployment version control git icon ikon grafik download xhtml rss url ie browser spam www subdomain redirect crossdomain wordpress blog cms startups framework lifestream parse xml player license meta opengraph optimization fql query job developer mfyz insanlar kitap ui design development tool google search cookie prepare execute mysql mssql pgsql language osx wanda kampanya internet explorer html5 regex portfolio doritos tytz plugin widget oyun notebook laptop support bootstrap screen konsol terminal diff chart applications browsers xmlhttprequest ajax ubuntu imza signature mail ux login webkit form optimizasyon network music dokuman input textarea select link web app sitemap generator nedir code pharma hack seo newsletter subscription radio style logo mod_rewrite assets ipucu digital tebrik firefox server graph share icons button switch ruffles wireless route router session ios zaman export kurulum nasıl object app store store in-app purchase purchase verification integration storekit itunes connect banner calendar analyse procedure workspace box