Subversion post-commit ile anlık güncelleme

Proje geliştirme aşamasında subversion kullanıyor isek yaptığımız commitleri anlık olarak görmek isteyebiliriz. Bunun için subversion da post-commit scripti mevcut. Yapmamız gerekenleri en baştan adım adım sıralamamız gerekirse;

1. SVN klasörümüze giriyoruz.

cd /svn

2. Yeni bir  svn projesi yaratıyoruz.

svnadmin create example

3. post-commit template’nin olduğu klasöre giriyoruz ve adını değiştiriyoruz.

cd example/hooks
mv post-commit.tmpl post-commit

4. Oluşan post-commit dosyasına çalıştırma izni veriyoruz.

chmod +x post-commit

5. post-commit dosyasımızı açıyoruz.

nano post-commit

6. İçindeki herşeyi siliyoruz.
7. Boş post-commit dosyamıza aşağıdaki satırları kendimize göre düzenleyerek ekliyoruz.

#!/bin/bash
svn checkout file:///svn/example/ /home/example.org/public_html/dev --non-interactive

8. Bir kere bu post-commit dosyamızı çalıştırıyoruz.

./post-commit

9. Deploy olduktan sonra tekrar post-commit dosyamızı nano ile düzenlemeye açıyoruz ve içindeki herşeyi silip şu satırları yine kendimize göre düzenleyerek ekliyoruz.

#!/bin/bash
svn update /home/example.org/public_html/dev --non-interactive

10. Site klasörümüze herhangi bir IDEde commit yaptığımızda yetki vermek için gerekli olan ayarları yapıyoruz.

chmod 777 /home/example.org/public_html/dev
chmod 777 /home/example.org/public_html/dev/
chown -R apache:apache /home/example.org/public_html/dev
chown -R apache:apache /home/example.org/public_html/dev/

Artık herhangi bir IDE’de checkout ettiğimiz projemizi commit ettiğimizde aynı zamanda developement sitemizde güncellenecek.

Yani, example projemiz commit edildiğinde example.org/dev adresindeki sitemiz de aynı anda güncellenmiş olacak.

CentOS ve Directadmin üzerine Subversion Kurulumu

Normal şartlarda centos üzerine subversion yum ile kurulabilmekte fakat sunucunuzda directadmin kurulu ise, mod_dav_svn gibi extensionlarda sorun çıkmakta dolayısıyla subversionu kaynağından derlememiz gerekmekte.

Yapmamız gereken adamları sıralamamız gerekirse;

1.  libexpat ve libneon paketlerini yüklüyoruz.

yum install expat-devel
yum install neon-devel

2. SVN kaynak dosyalarını çekeceğimiz bir geçici klasör oluşturuyoruz ve içine giriyoruz.

mkdir /etc/customsvn
cd /etc/customsvn

Continue reading CentOS ve Directadmin üzerine Subversion Kurulumu →

Codeigniter ve ORM: Veri sınırlama

Datamapper’ın güzel yanlarından biri de veritabanından verileri hızlıca ve kısa kodlarla çekebilmemiz.

Tipik bir get kodumuz şöyle;

$u = new Uyeler();

// Bu bize 10 tane üyeyi getirir, yani limiti 10 gönderiyoruz.
$u->get(10);

 

Limitizi daha da detaylandırmak istersek;

$u = new Uyeler();

// Bu kodda bize 20. ID'den başlayarak 10 tane sonuç döndürür.
// Yani sayfalama için kullanacağımız koddur.
$u->get(10,20);

Continue reading Codeigniter ve ORM: Veri sınırlama →

Codeigniter ve Datamapper ORM

Bildiğimiz gibi codeigniter halihazırda güzel bir veritabanı sınıfına sahip, fakat bunu daha da geliştirip nesneye dayalı hale getirmek istiyorsanız, codeigniter kullanıcılarından WanWizard‘ın hazırlamış olduğu Datamapper sınıfını kullanabilirsiniz. Sınıfın codeigniter‘ın gibi bir user guide dökümanı mevcut. Ama kurulumunu türkçe anlatmak ve kullanımı hakkında birkaç örnek vermek gerekirse yapmanız gerekenler şunlar;

Şuradan Datamapper’ın son sürümünü indiriyoruz. (Bu yazı yazılırken: 1.8.1)

  • Zip dosyanı çıkarıyoruz.
  • application/config/datamapper.php dosyasını açıyoruz ve kendimize göre gerekli değişiklikleri yapıyoruz.
  • application/config/datamapper.php dosyasını application/config klasörüne kopyalıyoruz.
  • application/libraries/datamapper.php dosyasını application/libraries klasörüne kopyalıyoruz.
  • application/languages/english/datamapper_lang.php dosyasını application/language/english klasörüne kopyalıyoruz.
  • application/config/autoload.php dosyasını açıyoruz otomatik yüklenen kütüphanelere database ve datamapper sınıflarını ekliyoruz.
  • Otomatik yüklenen modellerin boş olduğuna dikkat ediyoruz çünkü datamapper modelleri kendisi zaten yüklüyor.
  • Son olarak application/config/database.php dosyasında db_prefix ayarının boş olmasına dikkat ediyoruz.

Codeigniter ve Datamapper bağlantısını gerçekleştirdik. Artık projemizde ORM kullanabiliriz.

Continue reading Codeigniter ve Datamapper ORM →

Django Dersleri

Birisi benim daha önceden çekip yayınladığım django videolarını tek bir dosya haline getirip hotfile‘a koymuş. Buyrun aşağıdan indirebilirsiniz.

http://hotfile.com/dl/116006429/192685f/Django_Dersleri_-_Alpcan_Aydn.rar.html

Not: Kim olduğunu bilmesem de kendisine teşekkür ediyorum.

Yükleniyor…

Gerçekten harika bir animasyon…

WordPress 3.1.4 Dil Sorunu

WordPress 3.1.4 versiyonun türkçe dil dosyalarında bir sorun var. wp-content klasörünün içindeki languages klasöründe bulunan dil dosyalarını  3.1.3 versiyonunkiler ile değiştirildiğinde sorun ortadan kalkıyor.

WordPress 3.1.3‘ü buradan indirebilirsiniz.

Şoförler programcılar gibi işe alınsaydı nasıl olurdu?

Şuradaki yazıyı çok beğendim ve türkçeye çevirmek istedim. Buyrun türkçesi;

Şoförler programcılar gibi işe alınsaydı nasıl olurdu?

İş adı: Şoförlük

İş gereklilikleri: Normal ve büyük arabalarda, otobüslerde tırlarda, yük kamyonlarında, tramvaylarda, metrolarda, traktörlerde, dozerlerde, günümüzde NATO ülkeleri tarafından kullanılan modern hafif ve ağır tanklarda profesyonel kabiliyet.

Ralli ve ekstrem sürüş kabileyeti zorunludur.
Formula-1 sürücülüğü ise sizin için bir artıdır.

Piston ve rotol/Wankel motorlarının tamirinde, manuel ve otomatik viteslerde, ateşleme sistemlerinde, yol bilgisayarlarında, ABSde, ABDde, GPSde ve dünyaca ünlü araba ses sistemlerinde bilgi ve tecrübe zorunludur!

Araba boyama ve kaplama deneyimi ise yine sizin için bir artıdır.

Adaylar BMW, General Motors ve Boschdan mutlaka sertifika almış olmalıdır. Sertifikalar iki yıldan eski olamaz.

Maaş: Saati $15 veya 20$ , görüşme sonuçlarına göre değişebilir.

Eğitimsel Gereklilik: Mühendislik diploması.

Gerçekten harika bir ironi olmuş :D

Django Giriş

Django Nedir? 

Django, python altyapısını kullanan tasarım mimarisi için ise MVT (Model View Template) yolunu seçmiş, hızlı ve gayet esnek bir web frameworktür. 

MVT, bir programlama disiplinidir. Bu disiplini django için açıklayacak olursak, Model, djangonun veritabanındaki tabloları ve sütunları yarattığımız kısımdır. View ise MVC yapısını bilenler için söylüyorum; kendisi Controllerdır. Başka bir şekilde açıklayacak olursak kullanıcıya gösterilecek sayfayı işlediğimiz bölümdür. Son olarak Template ise View‘de işlediğimiz çıktıyı ekrana basmamızı sağlayan kısımdır.

Django’nun Avantajları

  • Kendiniz bir veritabanı tasarlamazsınız, django model yaratırken oluşturduğunuz sınıfları bir tablo, sınıflarda tanımladığınız değişkenleri ise sizin yine tanımlarken belirttiğiniz sütünlar şeklinde yaratır. Bu hata şansını azaltır, zamandan kazandırır.
  • Django, daha sonra özelleştirme yapabileceğiniz bir admin panelini kendisi yaratır. Bu panel belki de çoğu kişini kendisinin geliştirdiği panellerden çok daha fonksiyoneldir.
  • Django, çok esnek bir URL tanımlama sistemine sahiptir. Tanımlanan URLlere isimler verilebilmektedir, dolayısıyla gelecekte yapılan bir değişiklikten dolayı tasarımda da linki değiştirmenize gerek kalmaz.
  • Django, geleceğin ve hatta artık günümüzün dili olan Python programlama dilini kullanır.
  • Django çok esnek ve bir o kadar özelleştirilebilir bir template dilini sahiptir. ASP.NET bilenler için söylüyorum; Master Page‘in gelişmiş bir versiyonu bulunmaktadır.
  • Django, spagetti kod düşmanıdır, python’un vermiş olduğu düzen sayesinde, kodlar gayet anlaşılırdır, aranan şey rahatlıkça bulunabilir.
  • Django, tasarımcı ve geliştiriciyi ayrı çalıştırır, herkes kendi işine rahatlıkla yoğunlaşabilir.
  • En önemlisi django ile geliştirme hiç bir frameworkde olmadığı kadar eğlencelidir.

Sonuç;
Minimum hata çıktısı, maksimum zevk, minimum sinir, maksimum huzur, minumum hatta sıfır karışıklık, maksimum esneklik, özelleştirme, yani django…

Benzeri bir ingilizce yazı: Why Django