Mesut.Erdemir: Bir yazılımcının günlüğü..

FileZilla ile Dosya Filtreleme

FileZillaFileZilla, en popüler özgür FTP programlarından birisidir. Yıllardır kullandığım bir aracın böyle bir fonksiyonu olduğunu, FriendFeed’ teki bir arkadaşın sorusu üzerine keşfettim. Hatta FileZilla, oldukça gelişmiş filtreleme özelliklerine sahip bir yazılım diyebilirim. Şimdi bu fonksiyonunu ele almaya başlayalım.

Öncelikle, FileZilla’nın View menüsü altından “Filename Filters…” kısmına gelelim. Bu kısma ulaşabilmek için, “CTRL + I” tuş kombinasyonunu da kullanabiliriz. “Directory listing filters” penceresinde, öntanımlı bazı filtreler bulunmaktadır. Örneğin sadece hosttaki resimleri indirmek istiyorsanız, “Remote filters” kısmından “Show only Images” ‘in önündeki tiki koyabilirsiniz. En üst dizini indirmeye başladığınızda, tüm resimler bilgisayarınıza inecektir. Veya bunun tersi de düşünülebilirsiniz. Örneğin bir dizinde bulunan dosyalardan sadece resim olanların hosta upload edilebilmesi sağlanabilir. Bunun için de, “Local filters” kısmındaki filtre uygulanır. Devamı… »

Ubuntu 10.04′e Göç

Geçen günlerde, Canonical’dan Ubuntu 10.04 CD’lerim gelmişti. Ben de yeni Ubuntuya geçmek için fazla bekleyemedim ve haftasonu 10.04LTS’ye göç ettim. 9.04 versiyonu ile bir sene geçiren birisi olarak, yenilikler(ve bug’lar) hemen gözüme çarptı. İlk yaptığım ayarlama, solda yer alan pencere iconlarını, sağa almak oldu. Update’leri yaptıktan sonra sistemi hızlıca kurcalamaya başladım. Nerdeyse tüm uygulamalar elden geçmiş gibiydi.

Yeni masaüstü ortamı GNOME’da çok başarılı. Uygulamalar kısmına baktığımda, oyunların azaldığını ve bir adet de yeni oyun eklendiğini “gbrainy”-güzel bir zeka oyunu- gördüm. Grafik kategorisinde ise, popüler grafik işleme yazılımı olan GIMP ‘in varsayılan olarak gelmiyor. Yazılım depolarından temin etmek gerekiyor. İnternet kategorisinde, Empathy göze çarpan programlar arasında. Ancak Empathy, size anlık mesajlaşmadan başka birşey sağlamayacaktır. Programın geliştiricileri, mail kutusunu kontrol ettirmekten bile üşeniyorlar ve “bu program sadece streaming/instant messaging için tasarlandı” deyip çıkıveriyorlar işin içinden. Bize de eski dostumuz olan Pidgin’e geri dönmek kalıyor. Gwibber adlı başka bir uygulama da, twitter, facebook gibi sosyal ağlara pratik biçimde mesaj göndermeyi amaçlıyor. Bu işlevde bir araca, 50MB ram tüketimi fazla bence. Ama yine de aktif olarak kullanıyorum. Ses&Video kategorisinde, “Pitivi” adında, windows altındaki movie maker aracına benzer bir video editing aracı geliyor. Fazla kurcalama imkanım olmadı, sadece bir kere render yaptım. Güzel bir araca benziyor. Yönetim kategorisine ise, disk aracı göze çarpan diğer yazılımlardan. Ama yine bu kategori altında bulunan “Servisler” adında, çalışan servisleri gösteren ve yöneten küçük aracı kaldırmışlar. Artık servislere konsoldan reset attırıyorum:) Napalım, alışmaya çalışacağız artık.

Bunlar dışında bir iki ciddi olmasa da, hoş olmayan bug’a rastladım. Bildirdim ve takip ediyorum. Şimdilik böyle idare ediyoruz. 10.04LTS’ye geçmeyi düşünen son kullanıcılar biraz daha bekleyebilir(eğer macera ve Linux sever bir kullanıcıysanız, nerde hata var araştırır bulurum diyenlerdenseniz, hemen geçmelisiniz:P). Hatalar olacaktır, var olan bu hatalar, sistem kullanıldıkça gün yüzüne çıkacak ve dolayısıyla düzeltilecektir. 10.04LTS, genel olarak hoş bir sistem.

Bu arada bir önceki blog girdim için hala mesaj yazan olmadı. Hala adrese teslim Ubuntu 10.04 CD’si kazanma şansınız var :P

Ubuntu 10.04 LTS CD’lerim Geldi!

Bildiğimiz gibi, Ubuntu 10.04 LTS(Long Term Support) sürümü, geçtiğimiz ayın sonunda çıktı. Ben de Canonical‘dan 10.04 LTS sürümü için 5 adet CD istemiştim. Aşağı yukarı 2 hafta sonra elime ulaştı CD’ler. Hiçbir ücret ödemeden! Öncelikle bunun için Canonical’a ve Ubuntu topluluğuna teşekkür etmek istiyorum. Ve onlara da söylediğim gibi, çevremdeki Linux/Ubuntu severlere dağıtacağım bu CD’leri-hatta 1 tanesini verdim bile:)

Olaya, “Aman canım sadece bir CD” olarak bakmayın! O CD’nin size ulaşana kadar verilen emeği düşünün. Milyonlarca insanın, Linux’a yaptığı katkı var o CD’lerde. Dünyada-özellikle Afrikada(Bilmeyenler için Ubuntu bir Afrika dağıtımıdır) o kadar açlıkla savaşan insan varken belki de o CD’nin bana gelene kadar yapılan masraflarla bir kişi karnını doyurabilecekti. O yüzden bu yapılan davranış gerçekten takdir edilesi birşey. Microsoft bana böyle bedava bir CD yollasa-ki hiç zannetmiyorum, bunların hiçbirini düşünmezdim-umrumda bile de olmazdı. Hem zaten gönderdiği işletim sistemi de 30-45 gün sonra açılmazdı :D Ayrıca buradaki olay “bedavalık” değil! Çok daha farklı birşey var burada. Sanki birileri SADECE “insanlık için” birşeyler yapıyor! Çıkarsızca.

Daha bitmedi! Devamı… »

PHP İle Metin Ayırma İşlemleri

Eski bir .Net programcısı olarak sık kullandığım metodlardan birisiydi String.Split metodu. Özellikle veritabanı işlemlerinde serileştirilmiş veriyi diziye atarken hayat kurtarıcı oluyor. Örnek vermek gerekirse, (neredeyse)sınırsız sayıda eklenebilen resimlerin isimlerini veritabanında tutmak için.. Geçenlerde PHP ile böyle bir proje yaparken explode fonksiyonunun, .Net frameworkteki String.Split ile aynı işi yaptığını öğrendim. Hemen bir örnek üzerinde gösterelim;

<?php
$str = 'bir;iki;uc;dort';
// Baştan başlayarak 2 eleman al
print_r(explode(';', $str, 2)); print '<br/>';

// Sondaki 1 eleman hariç diğerlerini al
print_r(explode(';', $str, -1));print '<br/>';

// Tüm elemanları ayır
print_r(explode(';', $str));
?>

Yukarıdaki kodların ekran çıktısı aşağıdaki gibi olacaktır:

Array ( [0] => bir [1] => iki;uc;dort )
Array ( [0] => bir [1] => iki [2] => uc )
Array ( [0] => bir [1] => iki [2] => uc [3] => dort )

CodeIgniter Url Sorunu

CodeIgniter Framework ile geliştirme yapıyorsanız, varsayılan Url biçiminiz http://siteismi/index.php/class/function şeklinde olmaktadır. Yani class ve function index.php ‘ye post edilmek zorunda. Ancak projelerde index.php, Url yapısını bozmaktadır. Kaldırmak için, basit bir htaccess dosyasından yararlanabilirsiniz. Aşağıdaki Rewrite kuralını “.htaccess” dosyası içerisinde kopyalayıp, ana dizine atın ve config.php ayarlarından, “index_page” ‘in önündeki index.php’yi silin. Bundan sonra http://siteismi/class/function şeklinde bir Url yapısına sahip olmuş olacaksınız:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]