Skip to content

Category Archives: Gezegen

HAProxy backend sunucularına istemci ip adresini aktarma

12-Apr-13

Vekil sunucu (Proxy) ve/veya yük dengeleme (Load Balancing) servislerinin arkasında çalışan sistemler istemci ip adresi olarak bu servislerin ip adresini alırlar. Bu servislerin çoğu X-Forwarded-For ya da benzer bir ek başlık ile gerçek istemci adresini de sunuculara iletme desteği sunarlar. HAProxy yük dengeleme servisinde de bu iş için yapılandırma dosyasına `option forwardfor` seçeneğinin eklenmesi gerekiyor. [...]

python uygulamalarında hata ayıklama – pdb

23-Jan-13

Program yazarken ortaya çıkan hataların sebeplerini bulmak kodun büyüklüğü, karmaşıklığı ile orantılı olarak zorlaşıyor. Çok sayıda geliştiricinin üzerinde çalıştığı projelerde ya da sonradan dahil olunan projelerde hata takibi daha da zor oluyor. Python hata durumunda (çoğu zaman) güzel çıktılar sunuyor olsa bile işin o noktaya nasıl geldiğini ve değişkenlerin, argümanların o andaki değerlerini koda müdahale [...]

nginx ve php-fpm ile moodle2 kurulumu

07-Oct-12

PHP programcıları her geçen gün sistem yöneticilerine saç baş yolduracak acayip işler yapmaya devam ediyorlar.  En son karşılaştığım acayiplik Moodle‘dan geldi. (sürüm pek yeni değil ama kurulumunu yapmak nasip olmamıştı) Programcı arkadaşlar hangi akla hizmet yaptılarsa resim dosyalarını sunmak için kullandıkları image.php dosyasının parametlerini query_string‘ten almak yerine farklı bir yol seçmişler ve ortaya şu acayip [...]

Virtualenv içinde ‘import random’ hatası

06-Oct-12

Uzun süredir python uygulamalarının kurulumları için virtualenv kullanıyorum. Bugün bir güncelleme sırasında django uygulamasındaki kütüphanelerden gelen ekstra komutların kullanılamaz olduğunu farkettim. ./manage.py komutu herhangi bir hata vermeden sadece öntanımlı django komutlarını listeliyordu. ./manage.py runserver komutu ise aşağıdaki hatayı veriyordu. Traceback (most recent call last): File “./manage.py”, line 14, in execute_manager(settings) … … File “/usr/lib/python2.6/email/utils.py”, line [...]

strace ile birden çok süreci eşzamanlı takip etmek

14-Jan-12

Yazılım tarafında ortaya çıkan hatalar konusunda loglar yetersiz kaldığında veya uygulama segfault verip bir hata mesajı bile basamaz olduğunda `strace` aklıma gelen ilk uygulama oluyor. `strace` kendisine argüman olarak gösterdiğimiz süreç tarafından kullanılan sistem çağrılarını ve sinyallerini gösteriyor. Bir süreci doğrudan `strace` kullanarak başlatmamız mümkün. Bunun için uygulamayı başlatırken satırın en başına `strace` eklememiz yetiyor. [...]

scp ile dosya transferinde boşluk içeren dosya adları

13-Jan-12

Konsoldan uygulamalara argüman olarak boşluk, bölü, parantez vb. özel karakterler içeren değerler vermek bazen beklenenden daha zor olabiliyor. Bazı durumlarda bu değerleri tırnak içine almak iş görse de kimi zaman kaçış karakteri (ters bölü karakteri “\”) veya karakterleri devreye girmek zorunda kalıyor. scp ile dosya transferi de buna örnek durumlardan biri. Uygulamaya verdiğimiz argümanlar hem [...]

Özgür Yerelleştirme Kataloğu – Lictionary.in

19-Nov-11

Çeşitli özgür yazılımların yerelleştirme çalışmalarına dahil olduğum günden beri yerelleştirme sözlüğü ihtiyacı hep dikkatimi çekiyordu. Bazı projeler için proje özelinde yapılmış çalışmalar olsa da (eski kde sözlüğü vb.) bunlar içerik olarak çok sınırlı kalıyor hem de özgür yazılımlar arası ortaklığı sağlayamıyordu. Bu da elimizdeki büyük bilgi birikiminden edinilebilecek gücü kaçırdığımızı hissettiriyordu. Birkaç ay önce yine [...]

(Hala kullanılmakta olan) Silinen dosyaları kurtarma

16-Nov-11

Kullandığımız uygulamalar çalışırken okudukları/yazdıkları dosyaları (ya da uygulamaya göre dosyanın bir kısmını) bellekte tutarlar. Linux üzerinde birçok kez karşılaştığım bir güzellik olarak, siz kullanılan dosyayı sistemden silseniz bile uygulama bellekteki kopya ile çalışmaya devam eder. Bu duruma güzel bir örnek olarak çalışan bir uygulamayı sistemden silebilmeniz ve siz uygulamayı kapatana kadar uygulamanın sorunsuz çalışması gösterilebilir. [...]

Google page rank sorgulama

09-Oct-11

Bugün bir iş için pagerank betiğine işim düşünce farkettim ki Google, “seo’cularin” gözbebeği olan Pagerank değerinin sorgulama sayfasında değişikliğe giderek kullandığı adres formatını değiştirmiş. Hatta son birkaç gündür forumlar ve twitter üzerinde bu konu ile ilgili çok yoğun bir mesaj trafiği varmış. Elimdeki perl ve python betiklerinin çalışmadığını görünce ve güncellemelerden de hayır gelmeyince betiği [...]

Google Summer Of Code 2011

19-Mar-11

Google’ın yükseköğretim öğrencilerini özgür yazılımlarla buluşturan projesi Google Summer Of Code bu yıl da başladı. Yaz tatilinde özgür yazılımlara katkı vermek bir yandan da para kazanmak isteyen öğrenciler için kaçırılmayacak bir fırsat. Programa katılmak için başvuru yapan yüzlerce özgür yazılım projesinden kabul edilenlerin listesi 18 Mart itibari ile açıklandı. Projeler tarafından önerilen fikirler öğrencilere sunuldu [...]