rails etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
rails etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

11 Nisan 2009 Cumartesi

Ubuntucan ve Railscan

Birkaç hafta önce başlayan ikinci Ubuntu deneyinde dün minik bir sorunla karşılaştım ama haddinden fazla minikti. Ruby zaten Ubuntu'ya geçtiğim günden beri kuruluydu. Rails'i de üşenmeyip kurayım dedim, windose altında yazdığım blogcanı kopi-peyst yoluyla linux partisyonuna taşıdım ve başlatmaya çalıştığımda Rubygems sürümünün fazla eski olduğunu öğrendim ve ubuntu repositorylerine az bi miktar sinirlendim niye update etmezler şunu diye. Ayrıca Debian ve Ubuntu altında
gem update --system
veya
gem install rubygems-update; update_rubygems
in de sökmediğini öğrendim. Sonrasında direk tar.gz olarak rubygems'i indirip manuel olarak kurdum(ki manuel kurulum dediğime bakmayın, oldukça kolay bir kurulumcan, arşivi açıp ruby setup.rb install diyoruz). Kalanında pek anormal bir durum olmadı. Gem kaynaklarına gems.github.com u ekledim, blogumun gem dependencylerini yükledim(native extensionlar da babalar gibi derlendi). Sonrasında Rails 2.3'te ApplicationController'ın adının Application olarak değiştirilmesi nedeniyle controllerlarımda az bir miktar değişiklik yaptım ve Blogcan çalışıyordu. Bundan sonra da Blogcan'la birlikte dostluk, barış ve meyva suyu içinde yaşadık.

9 Nisan 2009 Perşembe

RHP (RHP: HTML Preprocessor)

**UYARI: Aşağıda gördüğünüz şeyler geyik amaçlıdır, ciddiye almayınız**
Ruby, PHP'ye kıyasla dandik olan, yumoşlar ve mac kullanan zengin çocukları için olan bir dil, hepimiz bunun farkındayız. Ayrıca rails ölçeklenemiyor, ruby acayip yavaş ve rails bir getto. Rails ölçeklenemiyor demiş miydim?
Neyse benim gibi bazı delikanlı ve cesur insanlar çıkıp Ruby için daha adam gibi web zıbıdıkları yazabiliyor. RHP de bunlardan biri. Kendisi rack üzerine oturtulmuş olup, oldukça basit bir yapıdadır. Şu anki implementasyonu sadece 18 satır tutmakta olup, PHP'nin aslında ne kadar basit ancak bir o kadar muhteşem olduğunu da göstermektedir. Öyle rails gibi noob işi commentlere, testlere falan gerek yok.
Ve aşağıda da RHP'nin rackup dosyasının komple kaynak kodunu görmekteyiz;

require 'erb'
class RHP
Headers = {"Content-Type" => "text/html"}
def call(env)
req = Rack::Request.new(env)
filename = env["PATH_INFO"][1..-1]
$_REQUEST = req.params
begin
[300, Headers, ERB.new(File.read(filename)).result(binding)]
rescue Errno::ENOENT
[404, Headers, "404"]
rescue
[500, Headers, "500"]
end
end
end

run RHP.new


şu da örnek bir RHP sayfası

<%= Time.now %>


<%= $_REQUEST['id'] %>

<%
class Point
attr_accessor :x, :y
def initialize(x,y)
@x, @y = x,y
end
def to_s
"(#{@x},#{@y})"
end
end
$pt = Point.new(42,21)
%>
<%= $pt %>

<% require 'digest/md5' %>
<%= Digest::MD5.hexdigest("42") %>