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

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