Archive for April, 2009

[Ruby] Sinatra

Thursday, April 23rd, 2009

Rubyフレームワークといえば、誰もが「Ruby On Rails」と答えるでしょうが、
そんな中、Railsではない素敵なフレームワークを発見しました。

用途してはRailsは至れり尽くせりで嬉しいけどちょっとしつこいよね。ってな時でしょうか。

超軽量Rubyフレームワーク 「sinata」
http://www.sinatrarb.com/

サイトのトップを見ただけでどれだけ軽量なのかがわかります。

[Sinatra]環境構築

gemを一発かますだけ。

[Sinatra]Hello World

HelloWorldわずか5行。

hello.rb

[Sinatra]勿論テンプレートも分けれます

viewsフォルダを作成
views/index.erb

[Sinatra]レイアウトも作成可能

views/layout.erb

これはかなりシンプルでいいかも。
Passengerにも対応しているようです。
静的なサイトであればRailsからSinataに乗り換えてもいいと思いました。

[Ruby] クローラー作成 スクレイピング scrape

Wednesday, April 22nd, 2009

久々にRubyでクローラー作成。
クローラー先は内緒で。
素敵にライブラリがあるので一瞬でデータを取ってこれちゃいます。

まずはgemでscrapiをインストール

rubyファイルを作成。Scrape用のクラスを作成してみます。

scrape_site.rb

[Mercurial] ブランチの作成方法 hr branch ..

Wednesday, April 22nd, 2009

まわりがgitの中、がんばってmercurialを使っています。
なかなかMercurialも使い勝手が良いですよ。

Branch操作のコマンドメモです。

まずは自分のブランチをチェック

初期はブランチ名はdefualtとなっています。

ブランチを作成します

newfeatureというブランチを作ってみます。

ブランチの切り替えを行います

切り替えにはupdateコマンドを使います。

ブランチの一覧を見てみましょう

そのままです。branchesコマンドです。

ブランチのマージもお手の物です

ブランチdefaultに新しく作成したブラントnewfeatureをマージする場合。
updateコマンドでそのままブランチ名を指定してあげれば大丈夫です。

Mercurialの導入には・・・
HostMonsterに分散管理システムMercuryをインストール
http://b.ruyaka.com/2009/03/01/ホスティングに分散管理システムmercuryをインストー/

Linuxコマンド フォルダの容量調査

Monday, April 13th, 2009

いつも忘れるので、おもっいきりメモ。。

du -s * | sort
du –block-size=M -s * | sort

[RestfulRails] ActiveRecord拡張 – ActiveResourceと同期させてみる。

Thursday, April 2nd, 2009

ActiveResourceを使えば簡単にRestfulな動作ができる。
が、実際にはバリデーションやフォーム連携やhas_manyなどの親子関係などの動作には対応しておらず、
結構実装がしづらい。
今後のRailsの対応予定の項目にActiverecordとActiveresoceの同期があげられていたがいつになるかわからない。
ということでActiveRecordを拡張して無理やりRestful対応をさせてみる。
結果↓な感じ・・。

app/models/sample.rb

app/models/restful_sample.rb

これでwill_paginateやら親子関係やらも従来どおり使える・・はず。
意識せずに裏側ではRestfulなやりとりをしています。
ただ、データベースに入出力はしないものの、テーブル構成はRestfulServerと同じものを用意するする必要があります。
結構用途は限定されますが、、リソースをRestfulにしたい場合などは使えるかも!?
拡張ライブラリは以下。

lib/sync_active_resource.rb