Adil İlhan Yazıları

PHP – Symfony Component’i ile Dependency Injection

Nesne yönelimli programlamada bazı nesneler birbiri ile bağlantılı olmak durumunda kalabiliyor. Ancak bu “bağlama” işlemleri için eğer doğru bir yazılım tasarımı yapılmazsa, kodun “maintain” (sürdürmek) edilebilmesi oldukça zorlaşır. Özellikle kodun maintain edilebilmesi için nesnelerin birbirlerine tightly coupled (sıkı bağlama) değil …

Devamını Oku »

Devamı » 01 Ağustos 2013

PHP – Metottaki Closure Fonksiyondan Üye Metotu Çağırma

PHP’de bir sınıf (class) yazdınız ve bir metot içinde closure (isimsiz, anonim) fonksiyon kullandınız diyelim. Ancak kodunuzun yapısı gereği bu oluşturduğunuz closure fonksiyondan yine aynı sınıf içerisinde ki başka bir metota (member method) erişmeniz gerekiyor. Buradan sonra PHP 5.3′te işin …

Devamını Oku »

Devamı » 13 Haziran 2013

Bir yazılım stajı nasıl olmalı?

Güzel memleketimin dört bir köşesinde, her yıl binlerce genç, yazılım üzerine staj yapıyor. Ben de bir yazılım stajının nasıl olması gerektiği konusunda aklımda olan düşünceleri paylaşayım dedim. Doğrusu yanlışı, eksiği fazlası benim düşüncemdir. Başlayalım… Staj, iş değildir! Staj yaparken, iş …

Devamını Oku »

Devamı » 10 Nisan 2013

phpDocumentor ile PHPDoc oluşturun

Bir yazılımı üretirken, yazılımcıya birçok iş düşer. Bu işler arasında, önem seviyesi çok yüksek olan bir iş vardır: Döküman! Ancak yazılımı üretirken bir yandan da yazılımda neyin nasıl çalıştığını belgelemek her ne kadar kolay görünse de oldukça zor bir iştir. …

Devamını Oku »

Devamı » 20 Şubat 2013

Paket Yöneticilerinin İndirme Hızına Limit Koymak

Sık sık ama ufak tefek (10-15 MB) güncellemeler alıyorum. Bunun için genelde direk güncellemeleri indiriyordum. Ama az önce ~108 MB güncelleme alırken paket yöneticim doğal olarak internet hızımı baya bir süre meşgul etti (yaklaşık 5 dk). Zaman ilerledikçe “ah keşke …

Devamını Oku »

Devamı » 15 Şubat 2013

JBoss – OutOfMemoryError Problemi Çözümü

JBoss’u başlattığınızda java.lang.OutOfMemoryError diye bir hata verebilir. Bu hata, JBoss’a RAM’in yetmediği anlamına gelir. RAM kullanım sınırını arttırmak için run.conf’unuzda bulunan JAVA_OPTS değişkenine -XX:MaxPermSize parametresini eklemeniz işinizi görecektir. Örnek bir kullanım:-XX:MaxPermSize=1024m Ek bilgi: JBoss 4.2′de öntanımlı değer 64 MB’dır

Devamı » 18 Aralık 2012

PHP – Uyarı ve Bilgi Bildirimleri Exception Fırlatsın

PHP’de Uyarı (Warning), Bilgi (Notice) bildirimlerini handle ederken catching yapamamanın eksikliğini yaşamış olabilirsiniz büyük bir ihtimal ile. set_error_handler ile ister Exception fırlatarak ister fırlatmayarak bu bildirimleri handle edebilirsiniz. set_error_handler ile Warning ve Notice uyarıları için ayrı ayrı işlemler yapabilirsiniz. Örneğin: …

Devamını Oku »

Devamı » 12 Aralık 2012

RegEx – Named Capturing Groups Özelliği

RegEx (Regular Expression)’de named capturing groups adı verilen bir özellik mevcuttur. Bu terimin Türkçe karşılığı: isimlendirilmiş yakalama grupları. Peki Nedir Bu Named Capturing Groups? Bu özellik sayesinde grupladığınız RegEx desenine (pattern) isim verebilirsiniz. Bu isimler size dönen array’e, indis olarak …

Devamını Oku »

Devamı » 19 Kasım 2012

PHP – Late Static Binding (Self ve Static Farkı)

Bu yazıda PHP’de self ve static anahtar kelimelerinin çalışma şekillerinden bahsedeceğim. Öncelikle şunu belirteyim static anahtar kelimesi PHP 5.3.0′dan sonraki sürümlerde çalışır. Self ve Static’in Aralarındaki Fark? self, static öğelere (metod, değişken) erişmek için kullanılır. static öğelelere erişmek için yine …

Devamını Oku »

Devamı » 08 Kasım 2012

Drush ile Drupal’e Bağımlılıklarıyla Birlikte Modül Yükleme

Drush Nedir? Drupal’de bir modülün farklı modüllerle bağımlılıkları olabiliyor. WordPress’teki gibi her eklenti birbirinden bağımsız değil. Birisine zaman bilgisi lazımsa gidiyor “date” modülü dependency olarak belirtiyor. O olmadan çalışmıyor. Drush’da bu bağımlılıkları tek tek kurmaktan kurtarıyor. Bir iki konsol komutuyla …

Devamını Oku »

Devamı »