Kodlama sürecinde yazılım hata verdiği zaman diğer bir kısma geçmeyip o hatayı bulmaya çalışmak genelde daha uzun vaktin geçmesine sebep olabiliyor. Bugün böyle bir hatanın arayışında fazlaca bir zaman yitirdim, hatayı ve çözümü yazıyorum, başa gelebilecek türden bir hata.
Hata şu: “RJS ile sayfanın bir kısmını ‘partial’ bir dosya ile değiştireceğim ve bazı yerlere efektler vereceğim”
Basit bir olay, çalışmaması için bir sebep yok.
page.visual_effect :highlight, 'kategori_ekle'
Lakin gel gör bu kod çalışmamakta direniyor. Kodlarda bir sorun yok, sebep şu:
_kategori_listesi.rhtml şu şekilde:
@kategoriler.each … bla bla
Hata Sebebi:
“Kategori Listesi” kategoriler adındaki değişkeni arıyor ve ekleme yaptıktan sonra bunu gözden kaçırıp döndürmemişiz.
Özet:
replace_html ile partial bir dosyanın içeriği koymak istiyorsanız değişkenleri mutlaka düzgün gönderin. Zira, Rails size herhangi bir hata vermiyor.
Rss Oluşturumu 11/08/07
Controller dosyamız:
def index
@liste = Giris.find(:all, :order => "updated_at, created_at" , :limit => 15, :conditions => 'ozel = false AND aktif = true')
@headers["Content-Type" ] = "application/rss+xml"
end
index.rxml dosyamız
xml.rss "version" => "2.0" , "xmlns:dc" => "http://purl.org/dc/elements/1.1/" do
xml.channel do
xml.title 'SAYFA BAŞLIĞI'
xml.link url_for(:only_path => false, :controller => 'gunluk', :action => 'index' )
xml.pubDate CGI.rfc1123_date(@liste.first.updated_at)
xml.description h("AÇIKLAMA" )
@liste.each do |kayit|
xml.item do
xml.title kayit.baslik
xml.link url_for(:only_path => false,
:controller => 'gunluk' ,
:action => 'yazi' ,
:id => kayit.kisa_baslik)
xml.description kayit.kisa_icerik
xml.pubDate CGI.rfc1123_date(kayit.updated_at)
xml.guid url_for(:only_path => false,
:controller => 'gunluk' ,
:action => 'yazi' ,
:id => kayit.kisa_baslik)
xml.author "YAZAN"
end
end
end
end
XmlBuilder sınıfından faydalandık.
Beep’e Hayır! 07/08/07
Özellikle laptop üzerinde çalışırken, olup olmadık anlarda çıkabilecek “Beep” sesi ile tüm dikkatleri üzerine çekebilirsiniz. (Dikkat çekmek isteyenlere duyurulur ayrıca)
Windows üzerinde “Beep” sesini engellemek için şu yol mevcut imiş MSDN‘den edindiğim bilgilere göre:
net stop beep
Bir diğer yolda şu:
regedit > HKEY_CURRENT_USER > Control Panel > Sound > Beep : No
Linux üzerinde KDE için ayarlardan bunu direkt kapatabiliyoruz. (Sistem Zili)
Pardus & Postgresql 06/08/07
Pardus üzerinde hızlıca Postgresql’i kurmak için aşağıdaki adımları izleyebiliriz:
- Postgresql kurulumu ( pisi it postgresql-server )
- Servisi açalım: service postgresql-server start
- Kullanıcımız için “role” oluşturalım (Konsolda)
muarifer@muarifer ~ $ su
Parola:
muarifer muarifer # su postgres
postgres@muarifer muarifer $ createuser muarifer
Shall the new role be a superuser? (y/n) yexit
exit - Veritabanımızı oluşturalım: createdb VERITABANI
- Veritabanına bağlanmak için: psql -d VERITABANI
%> ile -%> farkı? 27/07/07
Şudur:
< %= "ÇELİKER" %>
Murat
ÇELİKER
< %= "Çeliker" -%>
Sevgili Gürkan‘ın sorusuna istinaden.
En basit ve etkili ufak editör 23/07/07
Editörlerin benim tarafımda inanılmaz değerleri vardır. İlginçtir, masaüstü uygulamaları geliştirmeye başlama sebebim kendime uygun bir editör tasarlamaktı. Adı “Düzenle” idi ve sanıyorum 368 adet sürüm çıkartmışımdır - benden başka kimsenin haberi yok tabii ki -
Bir editor deyip geçmemek lazım.
Windows ortamında şöyle eli yüzü düzgün bir editör arıyorken (daha önceleri editplus kullanıcısı olarak ve yaklaşık 1649 tane editör denemiş biri olarak) PSPad süper bir izlenim bıraktı bende.
Now the most advanced Ruby and Rails support in any IDE
ActiveState, Komodo IDE 4.1 için tam anlamıyla Rails’e destek vermeye başladığını belirtiyor. Pastadan dilim kapma hesabına olabilir.
Belirttikleri şunlar:
# Support for debugging Rails controllers and views (RHTML templates)
# Lightning-fast Ruby debugging—now 60 times faster!
Deneyip, yorum yapacağım inşallah.
TList sınıfı iyidir.
// dispose falan.
for i := 0 to sepetUrun.Count-1 do
Dispose(sepetUrun[i]);
sepetUrun.Clear;
btnSepeteAt.Caption := IntToStr(sepetUrun.Count);
Sayfaya kalıcı bağlantı adresleri için verilecek stringlerde temizlik yapmak lazım oluyor. Bunu yazmıştım “Muhtıra” için, onun çıkacağı yok en azından içindeki güzel kodları paylaşayım.
isim.downcase!
{'İ' => 'i', 'Ğ' => 'g', 'Ü' => 'u', 'Ş' => 's', 'Ç' => 'c', 'Ö' => 'o',
'ğ' => 'g', 'ü' => 'u', 'ş' => 's', 'ö' => 'o', 'ç' => 'c', 'ı' => 'i'}.each_pair { |a,b| isim.gsub!(a,b) }
isim.gsub(/([^ a-zA-Z0-9_-]+)/, '').tr(' ', '-').gsub(/--/, '-').gsub(/-$/, '')
end
irb(main):046:0> kisa_ceviri(”Permalink İçin Çeviri, String Temizleyici Falan.”)
=> “permalink-icin-ceviri-string-temizleyici-falan“
Bu kodu alıp Ruby’nin nimetlerinden faydalanalım ve şöyle yapalım.
NOT: Bu kod 18/08/2008 de güncellenmiştr. downcase! ya da diğer selfi değiştiren fonksiyonlarda değişen bir yer yoksa sonuç olarak nil döndürmektedir. bu nedenle downcase! den dönen bilgi direk str değişkenine aktarılmamıştır.
def kisa_ceviri
self.downcase!
str = self
{'İ' => 'i', 'Ğ' => 'g', 'Ü' => 'u', 'Ş' => 's', 'Ç' => 'c', 'Ö' => 'o',
'ğ' => 'g', 'ü' => 'u', 'ş' => 's', 'ö' => 'o', 'ç' => 'c', 'ı' => 'i'}.each_pair { |a,b| str.gsub!(a,b) }
str.gsub(/([^ a-zA-Z0-9_-]+)/, '').tr(' ', '-').gsub(/--/, '-').gsub(/-$/, '')
end
end
irb(main):046:0> “Permalink İçin Çeviri, String Temizleyici Falan.”.kisa_ceviri
=> “permalink-icin-ceviri-string-temizleyici-falan“
Yüzyılın Uygulaması: SlideShare 09/07/07
Bu yüzyılın tabiri her ne kadar hiçbir zaman gerçeği yansıtmasa da slideshare’de yüzyılsal olaylardar biri imiş. Verdim odp dosyasını flasha çevirdi ve bunu yapmak için 10 sn. de kayıt olup, 10 sn. de dosyayı attım, 20sn. süremi aldı. Kullanım kolaylığı budur.
Total Organizer 07/07/07

Total Organizer Pro, windows için yapılacaklar listesinizi (takvim ve not tutma olayı da mevcut) tutabileceğiniz basit ve güzel bir uygulama.
Projeler klasöründe 2006′nın 5. ayında ya da daha öncesinde başladığım ve sonrasında büyük ihtimal unuttuğum (evet, insan yazacağı programı unutabiliyor) “Tutaç” şimdilik alternatif olamıyor ne yazıkki bu programa.
UI 2.0 & boyoto 05/07/07
Boyahane Otomasyonu yazılımın da kullanım mutlaka en basit şekilde olmak zorunda. Programı kulllanacak kişilerin çoğu programı kullanmaya başlayarak ilk kez bilgisayar ile tanışıyor çünkü. Ayrıca işçiye iş çıkarmak yerine onu daha verimli çalıştırmak daha önemli, bunun için yazılım da gereksiz alan olmamak zorunda, kullanım basit olmak zorunda, kafa karıştırıcı hiçbir şey bulunmamalı. Ayrıca güzel bir pencere de bunları sunmak tabii tümünden daha önemli bence.
Masaüstü uygulamaları geliştirirken en çok dikkat ettiğim husus kolay kullanılabilirlik ve güzel görünüm. Kolay kullanılabilirlik aranılana hızlıca ulaşabilme, güzel görünüm ise bu ulaşılabilecek alanları en anlamlı biçimde yerleştirme.
Boyotodan örnek iki ekran. (Boyoto projesinin satır sayısı 60000 i geçti, hayırlısı artık.)

biraz gecikmiş destek 02/07/07
Azer Koçulu’nun geliştirmiş olduğu, geleceğin web dünyasından bir nevi bir önizleme olabilecek bir uygulama: http://rainbow9.org/
# _kayit.rhtml
< %= kayit.isim %>
< %= kayit.blabla %>
aslen şudur;
<%= kayit.isim %>
< %= kayit.blabla %>
< % end %>








