思った。

「Railsは覚える事が多過ぎる」

なので、日本一簡単なチュートリアル作成に挑戦!

目次

  1. インストール
  2. 雛形の作成
  3. いらないファイルの削除
  4. アプリケーションの作成
  5. Webサーバーの起動
  6. 確認

1. インストール

RubyGemsのgemコマンドを使ってrailsをインストール。

% sudo gem install rails

2. 雛形の作成

railsのインストールによって入ったrailsコマンドを使って、アプリケーションの雛形を作ります。

使い方:rails <アプリケーション名>

% rails hello
% cd hello

出来るファイル:

README   - railsの説明(いらない)
Rakefile - Rakeの設定ファイル(気にしない)
app      - 自分の書くコードを置くところ(良く使う)
config   - 設定ファイル各種(良く使う)
db       - データベース関連のファイル置き場(気にしない)
doc      - このアプリケーションに関するドキュメント(気にしない)
lib      - ライブラリ置き場(気にしない)
log      - ログ置き場(気にしない)
public   - 静的ファイル置き場(気にしない)
script   - 便利スクリプト置き場(気にしない)
test     - テスト置き場(いらない)
tmp      - 一時ファイル置き場(気にしない)
vendor   - 外部ソフト置き場(気にしない)

3. いらないファイルの削除

rm -f README
rm -f public/index.html       - インストールおめでとうページ
rm -f public/images/rails.png - ロゴ画像
rm -rf test

4. いらないライブラリの除外

config/environment.rb の下記の様に編集します。

RAILS_GEM_VERSION = '2.3.2' unless defined? RAILS_GEM_VERSION
require File.join(File.dirname(__FILE__), 'boot')
Rails::Initializer.run do |config|
  config.frameworks -= [ :active_record, :active_resource, :action_mailer ]
end

上記でデフォルトで使われる3つのライブラリを利用しないようにしています。

  • active_record – DB関連(気にしない)
  • active_resource – Web API関連(気にしない)
  • action_mailer – メール関連(気にしない)

5. アプリケーションの作成

app/controllers/top_controller.rb を作成します。

class TopController < ApplicationController
  def index
    render :text => 'Hello'
  end
end

topという名前は適当です。アンダースコア区切りのファイル名を大文字区切りにしたものをクラス名にします。(決まり事)

表示したいページをメソッド名として作ります。(indexメソッド)

renderメソッドの:textオプションに文字列を渡すと、それをそのまま表示してくれます。

config/routes.rb を下記の用に編集します。

ActionController::Routing::Routes.draw do |map|
  map.connect '/', :controller => 'top', :action => 'index'
end

map#connectメソッドにurlとそれに対応するcontroller名、action名(さっき書いたヤツ)を指定して紐付けます。

6. Webサーバーの起動

% ruby script/server

7. 確認

% open http://localhost:3000/

http://localhost:3000/

完成!

これでテキストを表示するWebアプリケーションが作れることが分かったと思います。

他の事は単に、

「Railsに付いている便利機能」

だと思って一個づつ、一個づつ、自分のアプリケーションに取り入れて行けば良いと思います。

Passenger Preference Pane · Fingertips

ノートのACアダプタ買いました。

R0010083.JPG

こうだったのが、

R0010084.JPG

すっきり!

(2個あると1個は家置きにできるから)

4)Railsテスティング環境 2009 – Cucumber,Webrat and Rspec – - 技術メモ的なモノ

Rails of Ruby on Rails

  • 主要な処理をモデルによせてコントローラーを薄くする
    • Modelはテストしやすいのでそこで対応
  • 「コントローラのアクションではfindやnew以外のモデルメソッドは一つくらいにしなさい」といったアドバイスもある
  • モデルに追加するメソッドはRSpecで重点的にテスト
  • コントローラーやビュー、ヘルパーはCucumberでテスト

「modelはrspec、controller, view, helperはcucumberでテスト」ってかなり共感できる。

リファクタリングには良いけど、rspecでcontroller, viewをガッチリテストしても結局ブラウザで表示させたらエラーってがっかりする。

mock, stub化が激しくなり過ぎると書いてる時は綺麗で楽しいけど、実情と乖離してくる。

cucumberのlanguageファイルはココにあった。

cucumber/lib/cucumber/languages.yml

"ja":
  name: Japanese
  native: 日本語
  encoding: UTF-8
  feature: フィーチャ|機能
  background: 背景
  scenario: シナリオ
  scenario_outline: シナリオアウトライン|シナリオテンプレート|テンプレ|シナリオテンプレ
  examples: 例|サンプル
  given: 前提
  when: もし
  then: ならば
  and: かつ
  but: しかし|但し
  space_after_keyword: false

“フィーチャ”って“機能”とも書けるんですね。機能の方が分かりいいな。

ついでにgithubのコードブラウザは複数行に対してURLがあるということを知った。(#L299-313みたいなヤツ)すごい!

GrowlHelperApp

検索にかぶって邪魔になることが多いのでGrowl右下に変えた。

2009年7月6日追記:

GrowlHelperApp

今度はTwitterFoxにかぶる。

R0010081.JPG

燃料が届いたっ!

sudo gem install cldwalker-hirb --source http://gems.github.com
vi ~/.irbrc
require 'hirb'
Hirb.enable

irbでデータが見易くなるhirb。consoleアプリ作る時の見栄え向上viewフレームワークとしても役立つ。

Wirbleより後に書くとぶつかるのは罠。

railsのscript/consoleでも動いてARの出力も見易くなる。カラムが多すぎると自動的にvertical表示(mysqlの¥Gみたいなやつ)になるのは驚いた。

R0010079.JPG

しばらくやってみたんですが、外部ディスプレイは台を置いて縦配置が快適でよかったです。(ノート閉じて外部キーボード派の方や複数台のディスプレイを使う方にはあんまり快適じゃないかも)

R0010080.JPG

Blue Lounge CableBoxというやつは基本、電源タップを隠す箱なんですが、高さが絶妙にディスプレイ台に向いてました。

23インチぐらいまでのディスプレイなら乗ると思います。

アームほどイカツくしたくない場合オススメです!

cable_box_1.gif

GX200カワユスなー(そろそろ皆さんムカついてる頃と存じます)

090702_011530.JPG

オプションのレンズキャップだと電源を入れると、、、

090702_011552.JPG

勝手に開いて楽!

スペックとかは詳しく無いので、この写真撮った携帯カメラより良いとしかわかりませんが楽し。

RICOH デジタルカメラ GX200 ボディ GX200
RICOH 自動開閉式レンズキャップ LC-1