Cihan Okyay's Blog

Python, Django, Linux

Sublime Text ile Gist’lerinizi Yönetin

| Comments

Herkese Merhaba,

Uzun süredir blogum ile ilgilenemedim. İşlerin yoğunluğundan yazacak vakit ve enerjisi kalmıyor insanın. Ancak bu kadar yoğun çalışmanın getirilerinden biri yazacak fikirlerin çığ gibi büyümesi herhalde. Not defterimde 15’e yakın blog yazısı fikri durmakta :) Neyse bu kadar gevezelik yeter.

Bir süredir sublime text ile yakın bir ilişki içerisindeyim. Ana yazılım geliştirme araçlarımdan biri olmasa bile sürekli takip ettiğim bir projeydi kendileri. Son zamanlarda PyCharm’in hantal bir IDE olması ve uzman vim kullanıcısı olamamam yüzünden yeni editör arayışlarım vardı. Sanırım mutluluğu Sublime’da buldum :)

virtualenvwrapper nedir?

| Comments

Daha önce virtualenv ve pip üzerine bir yazı yazmıştım. Eğer daha önce virtualenv kullanmadıysanız okumaya başlamadan önce, o yazıya göz atmanızda fayda var.

virtualenvwrapper, virtualenv için tamamlayıcı bir eklentidir (extension). Bir çok virtualenv işini daha rahat yapabilmemize olanak tanır. Özelliklerini sıralamak gerekirse;

Tek bir yerden sanal ortamlarınızı yönetmenizi sağlar. (NOT: Bazı yerlerde virtual environment yazmak yerine sanal ortam kelimelerini kullandım.)

Sanal ortamlarınızı yönetmenizi sağlayan bir wrapper görevi görür. (oluşturma, silme, kopyalama gibi)

Tek komutla sanal ortamlar arasında geçiş yapabilmenizi sağlar.

Özelleştirebileceğiniz hook dosyalari ile bir çok operasyonu yönetebilirsiniz. (Daha detaylı olarak bahsedilecek)

virtualenv ve pip üzerine

| Comments

İşimde ve kendi projelerimde genelde Django kullanıyorum. Django ile yazılım geliştirirken bir çok üçüncü parti uygulama kurmak gerekebiliyor. Örneğin migration işlemleri için south kurmak gerekiyor. Diyelim ubuntu kullanıyorsunuz ve south ubuntu deposunda var. Veya pip, easy_install gibi python paket sistemleri ile kurulum yapıyorsunuz. Bu durumda bu paketler sistemin geneline kuruluyor. Bu durumun ne gibi sıkıntıları var derseniz, projeye özel değişik versiyonda kütüphaneleri denemek zorlaşıyor. İşte tam bu sırada virtualenv gibi harika bir araç yardımımıza koşuyor. virtualenv kısaca bize özel bir python alanı yaratıyor ve orada yaptığımız kurulumların sadece orada geçerli olmasını sağlıyor. Şimdi ubuntu’da adım adım virtualenv kurulumu ve kullanımını inceleyelim.

Django TinyMCE Entegrasyonu

| Comments

Merhabalar,

TinyMCE, web uygulamamızda haber girişi, blog postu vb. girerken bir çok kolaylığı sağlayan bir araç. Örneğin, yazı stillerini belirlemek, paragrafları düzenlemek, yazıya resim veya video eklemek gibi işlevlerde yardımcı oluyor. Django’nun en iyi özelliklerinden birisi olan admin paneli içinde tinymce ile gelmiyor. Kolayca biz ekleyebiliriz. Bu adresten TinyMCE’yi indirdikten sonra jscripts altındaki tiny_mce dizinini Django projemizdeki static klasörümüze kopyalıyoruz.

Kopyaladıktan sonra tiny_mce dizinine gidip içinde textareas.js adında bir dosya yaratıyoruz. Bu js dosyasına aşağıdaki kodları yapıştırıyoruz.

Django Deployment Workshop

| Comments

Merhabalar,

Herhalde PyCon, Python ile ilgilenen yazılımcıların gitmek istedikleri etkinliklerin başında gelir. Tabi bu şansa herkes sahip olamıyor. Neyse ki PyCon’da ki çoğu sunu kayıt altına alınıyor ve bizde bundan yararlanıyoruz. Son günlerde iş arkadaşım Uğur Özyılmazel (vigo) ile işten kalan zamanlarımızda Jacob Kaplan Moss‘un Django deployment workshop sunumunun kaydını izledik. Maalesef PyCon 2010 sunumunu bulabildik. Çünkü Kaplan Moss 2011 sunumunun kayıt altına alınmasını istemediğini söylemiş PyCon yetkililerine. Sanırım bir düşüncesi var bu workshop ile ilgili. :) Biz workshop’ı izlediğimizden beri deployment ve ölçeklenebilirlik konularında gayet yararlı bilgiler edindik.

Django admin kulanıcısının parolasını sıfırlamak

| Comments

Merhaba,

Django ile yazılım geliştiren ve daha çok yeni öğrenmekte olan arkadaşlara yararlı olabilecek tips & tricks serisi yapmayı düşünüyordum. Bu ilk yazı olduğundan not düşme ihtiyacı hissettim. :)

Django’da gömülü gelen bir admin paneli mevcut. Eğer INSTALLED_APPS bölümünde ‘django.contrib.admin’ aktif durumdaysa syncdb işlemi sırasında sizden admin kullanıcı adı ve parolası istiyor. Sizde buna göre admin paneline giriş yapabileceğiniz bir kullanıcı adı ve parola belirliyorsunuz. Olur da parolanızı kaybederseniz diye basit bir çözüm sunayım dedim.

Proje dizinimizde aşağıdaki komutu vererek django shell’i açıyoruz.