Arşiv ·

LKD Gezegen

· Kategori...

Bir karakterin ettikleri

1 yorum

‘da genellikle lamp yapısı kullanıyoruz. Tabii php ile ciddi anlamda gelistirme yaptığımız için bazı garipliklerle karşılaştığımız oluyor.

Bu garipliklerden biri yüzünden, Bugunbugece üzerinde çalışırken bir kaç aydır php hatalarını alamıyorduk. Bu da hata yakalama konusunda çok büyük zaman kaybı yaşatıyordu bize. İşin garibi, hataları bazen alıyor bazen alamıyorduk.

Aylardır süren bu duruma yeter artık diyerek dün ve bugün çok ciddi biçimde hata takibine giriştim. Açıkçası, sistem yöneticisi olmamın verdiği deneyim ile öncelikle geliştirme sunucumun ayarlarını tekrar tekrar kontrol ettim.

display_errors on, error_reporting E_ALL, log_errors on, log_file atanmış olduğu halde, ne hatalar ekrana ne de loga gidiyordu. Bu noktadan sonra sorunun sunucu ayarlarında olmadığından emin olmak için php_info() ile php.ini’nin doğru yerden alındığını doğruladım. Hala bir sorun bulunmuyordu. .htaccess veya apache conf içinden de php ayarlarında bir değişiklik yapılmadığından emin olduktan sonra bu isin uygulamadan kaynaklandığına ikna oldum.

Sorunu uygulamada aramaya başlayınca ilk olarak kullandığımız alt yapı olan symfony uygulama ayarlarını kontrol etim. Ne elle yaptığımız bir error_reporting ayarı ne de Symfony’nin kaynak kodunda bir hatalı ayar bulamadım. Ne grep faydalı oldu ne de gözlerim.

Buraya kadar gelince artık hatayı tekrar edip nerede problemin olustuğunu bulmam gerektiğinde karar kıldım. Son yaptığım hatayı aynen yerine koydum. Evet beyaz sayfayı almayı başardım. Ama neden hiç bir hata çıkmıyordu? Hatanın olustuğu satırdan hemen önce ini_get_all ile tüm ayarları aldım.

display_errors, global ve yerel ayarları doğru.
error_logging, global ve yerel ayarları doğru.
error_reporting global ayarı doğru ama yerel ayarı 0!!!! Ama nasıl olur? Ben uygulama ve symfony de hiç error_reporting kodu bulamadım??? Biraz geriye doğru error_reporting değeri takip etmeye başladım. viewler  ve layout içinde değer doğruydu.

Kısa süre içinde ilk ipucunu bulmayı başardım. İpucu 1, daha önce farketmediğimiz bir ayrıntı, hatayı view veya layout içinde yaparsak görebiliyoruz. Peki action içinde yaparsak? Evet görüyoruz. Model katmanında yaparsak? Bazen görüyor, bazen görmüyoruz??? En  sevdiğim türden hata.

Ardından ipucu 2 geldi, hata model katmanında veya modelleri init ettiğimiz bir noktada.

Burada uygulamızın kendine has bir özelliğinden bahsetmem doğru olacaktır. Uygulamamızda, actionlar içinde kendine has modelleri olan ve partial olarak isimlendirdiğimiz view öğeleri kullanıyoruz. Bu öğelerin nerede ne zaman kullanılacagını da db içerisinde saklıyoruz. Yani bu modelleri dbye bakıp init eden ve actionların başında olan bir kod parçamız var. İşte sorun da bu kod parçasında init edilen modellerde ortaya çıkıyor. Ancak kod içinde error_reporting ayarı yapılmadığına göre bu değer model içinde nasıl bozulabilir?! İşte burada bizim pek kulanmadığımız hatta hiç sevmediğimiz bir php özelliği kullanılmış. Eski bir geliştiricimiz, bu modellerin init edildiği satırın başına bir ‘@’ karakteri koymus!

Hemen svn blame yapalım,  11. ayın başında. Bu @ karakteri kullanıldığı satırda error_reporting değerini 0 lıyor. Tabii bu satır içinde bir model init edildiği için, modelin yerel hata raporlama değeri 0 olarak kalıyor.

İşte bir @ karakteri 5 geliştiricinin 4 ay boyunca hata takibi yapamamasina neden oldu..

Bir @ diyip geçmeyin..

Bir teşekkür yazısı

yorum yok

Yeditepe üniversitesi ile son zamanlarda yollarımız fazlaca kesişiyor. Bir kaç ay önce hepimizin bildiği gibi Yeditepe Üniversitesinde Özgür Web Teknolojileri Günleri isminde bir etkinlik olmuştu ve bu etkinlikte de Mobilada olarak 3 adet sunum yapmıştık.

Daha sonra, daha önceden zeitin‘den tanıdığımız, Yeditepe üniversitesi öğrencisi Zafer Çakmak, “yorgun penguen” yarı zamanlı web uygulama geliştirici olarak bizimle birlikte çalışmaya başladı.

Tabii bütün kesişimler bunlarla sınırlı kalmadı, Yeditepe Üniversitesi‘nin sosyal iletişim ve tanıtım ofisinin çok güzel bir tanıtım projesi için bana güzel bir hediye gönderdiler. Bu projede sosyal medyada aktif olan kişilere içinde şahsa özel bir not içeren ajanda, kalem ve bardak gönderiyorlar. Bu projenin görünen yüzü Gabriela Olaru‘ya ve tüm Yeditepe üniversitesine bu güzel jest için teşekkür ediyorum.

Ama bu ajandada benim için daha anlamlı olan 2. bir not daha bulunuyordu. Projenin daha az görünen bir yüzü olan Zeynep Kulan ajandayı doldururken bana özel bir sayfa daha doldurmuş. Bu notu aldığımda ne kadar sevindiğimi anlatamam. Gerçi ne kadar sevindiğimi kendilerine gönderdiğim hediyeyi yerken farkettiklerinden eminim.

Buradan, Zeynep’e, Gabi’ye ve tüm Yeditepe Üniversitesi’ne tekrar teşekkürlerimi iletmek istiyorum.

Php Uygulama Geliştirici Arıyoruz

yorum yok

Mobilada olarak,

  • Symfony bilen, ya da öğrenecek
  • Özgür Yazılım CMS sistemlerde uygulama geliştirebilecek veya uygulamaları düzenleyebilecek
  • Linux’dan korkmayan

şartlarına uyan iş arkadaşları arıyoruz.

İş yerimiz:

Halil Rıfat Paşa Mah. Perpa Ticaret Merkezi
A Blok Kat 11 No 1436, 34384 Istanbul
0212 320 0755

ilgilenenler için özgeçmiş göndermek için epsota adresi: ik <- at -> mobilada <- dot -> com

PureFTP adam mı seçiyor?

1 yorum

Bugün, yeniden başlatılan bir sunucumda (tamamen isp nin suçu!) ftp kullanıcıları kabul edilmemeye başladı. Bağlantı yapılıyor ve ardından bağlantı servis tarafından koparılıyordu.

Kendi yaptığım bağlantılar ise hiç bir şey yokmuş gibi devam ediyordu. Biraz araştırınca, kopan bağlantıların syslog da:

pure-ftpd: (?@?) [ERROR] Sorry, invalid address given

şeklinde log ürettiğini gördüm. Biraz araştırınca, PureFTP’nin ters dns sorgusu yapıp, bulduğu isim ile dns sorgusu yaparak gelen ipleri karşılaştırdığını öğrendim. Yani eğer ters dns kaydınız var ama ters dns kaydının dns kaydı yoksa PureFTP sizi reddediyor.

Bu durumda ya kullanıcılarınızın servis sağlayıcılarını dize getireceksiniz, (TTNET ile mümkün değil :) ) ya da PureFTP ye bu davranışından vazgeçmesini söyleyeceksiniz.

PureFTP -H parametresi ile başlatılırsa bu davranışından vazgeçiyor. Tabii siz de benim gibi bir Debian kullanıcısıysanız,

/etc/pure-ftpd/conf/DontResolve

dosyası içine “yes” yazıp pureftp yi yeniden başlatarak bu sorunu çözebilirsiniz.

Linux Berbattır!

2 yorum

Bu cümlenin benden geldiğini duyunca şaşırmış olabilirsiniz. Hatta “Birileri şaka mı yapıyor? Hesaplarını mı çaldılar?” gibi düşünmüş olabilirsiniz. Böyle düşünmekte haklısınız doğal olarak. Çünkü bu cümle bana ait değil. Hatta bu cümlenin arkasında duracak da değilim.

Bu cümle Bryan Lunduke’a ait. 2009 Yılında yaptığı bir sunumun adı. Ben yeni karşılaştım. Ya da daha önce karşılaştıysam da dikkatimi çekmemişti :) Lunduke, bu sunumunda Linux’un masaüstünde neden başarılı olamadığını tartışmaya açıyor. Ve bu sayede de Linux’un daha iyiye gitmesini istiyor.

İsterseniz  sunumu izleyin.

Bryan Lunduke http://lunduke.com/?p=429

Ciddi OpenSSL Açığı???

yorum yok

The Register’ın bir haberine göre, openssl içinde “ciddi” bir açık bulundu. Habere göre, openssl in hata düzeltme için kullandığı kullandığı crypto kütüphanesinin bir “hatası” sayesinde her bir hata da, özel anahtarın 4 bitlik bir kısmı ortaya çıkartılabiliyor.

Bu hatayı araştıran saldırganlar, donanımın, kripto hesapları yaptığı sırada, güç kaynağına müdahale ederek 8000 in üzerinde hata durumu üretmişler. Ve daha sonra yaklaşık 80 makinelik bir küme üzerinde 100 saat kadar özel bir algoritma ile elde ettikleri verileri işlemişler. Sonuç olarak sistemdeki 1024bitlik özel anahtara ulaşmayı başarmışlar.

Ciddi bir açık. Güç kaynaklarınızı güvenceye almayı sakın unutmayın.

http://www.theregister.co.uk/2010/03/04/severe_openssl_vulnerability/

analytics kodunun etiketlerine bile dokunmayın

1 yorum

Eğer, bir uygulamanın satır içi betiklerini topluyorsanız, ve satır içi olarak google analytics kodu varsa, sakın ama sakın, bu “script” etiketi burada kapanmış, tekrar açılmış ne gereği var diyerek silmeyin. Üzülürsünüz. biz üzüldük.

XKCD: hayatı çözmüş karikatür

yorum yok

http://xkcd.com/627/

Teknik Destek HileKağıdı

Teknik Destek HileKağıdı

Bilgisayar Grafiği Konusunda gelişmelere devam

yorum yok

Yazıyı erken bitirdiğimi farkettim.. 

Bilgisayar Grafiği konusunda son gelişmeler

1 yorum

Grafik alanında son gelişmeler:

Burada bana en ilginç gelen (dönen aynasal yüzey ile 3d holografın birkaç senelik olduğunu düşünürsek) Son zamanlarda GPUlar ile edinilen işlem gücü oluyor doğrusu. Sanki şu an bilgisayarlarda kullandığımız işlemcilerde bir yanlış var gibi. Edindiğimiz işlem gücü piki bile grafik işlemcilerin gücüyle yarışamıyor. Sorun doğrudan üzerlerine çalıştırdığımız yazılımlarda mı acaba?

Switch to our mobile site