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

4 GB’tan büyük zip dosyalarını Linux’ta açmak

unzip komutuyla 14 GB’lık bir zip dosyasını açmaya çalışıp hata aldığımda çektiğim dosya bozuk diye düşünmüştüm. Böyle corrupt falan bişiler yazmıştı. file komutuyla dosyaya baktım, başlıklarında bir sorun yoktu — zip arşiv dosyası olarak görüyordu. Dosyayı silip baştan çekmeme ramak kala, daha dikkatli okuduğumda dosyada 10 GB kadar bir fazlalık olduğunu iddia ettiğini farkettim. Rastlantı […]

Devamı » 14 Şubat 2013

Cobbler Ağ Üzerinden Kurulum Sunucusu

“Cobbler da ney” dediğinizi duyar gibi oluyorum :). Özetle, Cobbler, kurulu olduğu ağdaki bir sunucuyu “ağdan açılmaya” (network boot) ayarladığınızda, karşınıza bir menü gelmesini ve bu menüde seçtiğiniz dağıtımın kurulumunu sağlar. Üstelik kuracağınız dağıtım destekliyorsa, “kickstart” adını verdiğimiz bir dosyaya kurulum adımları sırasında neler yapılacağını yazarsanız, size başka hiçbişi sormadan kurulumu tamamlayabiliyor. Peki, ne işinize […]

Devamı » 09 Şubat 2013

OOP: Soyutlama

OOP’nin 3 temel özelliğinden önceki yazılarımda bahsetmiştim. Bu yazımda ise soyutlama hakkında bilgi vereceğim. Soyutlama kelimesini duyunca “Zaten yazdığımız sınıflar hep soyut değil mi?” diye sorabilirsiniz. Aslında duruma bu şekilde bakmamak lazım. Nesneler, 3 boyutlu canlılar gibidir. Doğarlar; türetilirler, yaşarlar; belirli sorumluluklarını yerine getirirler  ve ölürler; nesne için ayrılan hafıza işletim sistemine bırakılır. Soyut sınıflar […]

Devamı » 27 Ocak 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

Tomcat Sunucuda JNDI ile Hibernate konfigürasyonu

Tomcat uygulama sunucusunda context.xml conf. dosyasından DataSource bilgilerini JNDI pattern bilgisi ile alıp EntityManager nasıl oluştururuz? Şöyle ki; Tomcat altındaki context.xml içerisine resource tanımlamamız gerekiyor. <Context> <Resource auth=”Container”      driverClassName=”oracle.jdbc.driver.OracleDriver” initialSize=”20″ maxActive=”100″ maxIdle=”30″ maxWait=”10000″ name=”jdbc/jndiName” validationQuery=”select 1 from dual” password=”password” type=”javax.sql.DataSource” factory=”org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory” url=”your DB connection url” username=”username”/> </Context> Bu resource bilgileri içerisinde bağlantı bilgilerinin (url, kul. […]

Devamı » 21 Kasım 2012

Hudson/Jenkins sistem tarihi problemi

Hudson veya Jenkins gibi düzenli derleme (sürekli entegrasyon) aracı kullanıyorsanız ve bu araçların kurulu olduğu sunucunuzun sistem tarihi svn veya git sunucularınızın tarihi ile uyuşmuyorsa, hudson kendi sistem tarihine kadar olan değişiklikleri alır ve uygulamanızı deploy eder. Saat farkının farkında değilseniz svndeki değişikliklerinizin neden uygulamaya deploy edilmediğine anlam veremeyebilirsiniz. Benim başıma geldi. O yüzden Sunucularınızın […]

Devamı » 20 Kasım 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