プロフィール
DTIブログ!

Search

RailsとMerbが統合

ITproニュースより
「Merb2はRails3に」,Rubyの代表的な2つのフレームワークが統合へ

sourceforge.jpより
MerbがRails 3に統合、人気Rubyフレームワークが合体へ

Merbは、Railsに続くWebフレームワークのようで、Ruby on Rails3から両フレームワークが統合することが決まったようだ。

Ruby on Rails:フルスタック・フレームワーク
Merb:ORマッピング・ツールを自由に選択

Rails 3は、モジュール化、性能の最適化、フレームワークの中立性などが強化されることになる。

個人的には、Rails1からRails2への変更に慣れることに時間がかかった経験があるので、Rails2からRails3への変更が容易であることが、望ましい。もちろん、色々なモジュールが選択できるようになることは、望ましい。
Railsでの開発効率の良さがさらに良くなるといい。

Ruby on Rails3は2009年5月にベータ版が発表されるとのこと

MVCモデル 自動生成考察 リンク

最近、MVCモデルを使ったフレームワークでコードの自動生成を
どうしようか悩んでいた。

参考になりそうな記事を見つけたので、早速、メモ(リンク)させていただきます。

ウィリアムのいたずらの開発日記
モデル部分のフレームワークと、MVCのフレームワークとの違い(特に自動生成で)



今回、Ruby on Railsでコードを自動生成したい部分がある。
Rubyだと、メタプログラミングが可能な構造になっている。

今回やりたいのは、あるメタモデルに対するメタプログラミング

大体の構造は、メタモデルに対して(メタ)プログラミングする。
そして、(メタ)プログラミングしたコードに対して、
パラメータを渡して、メタモデルから生成されるであろうモデルで動作する。

そして、生成できたとして、画面は、どうなるの?とか
色々考えることがある。

今日はここまでにして、続きは思いつき次第書くことにする

参考リンク
ウィリアムのいたずらの開発日記

Ruby on Rails nmakeがありません

Railsの環境を作っているときに、
sqlite3が入らなかったので、調べたら同じような問題で止まっている人がいたので、
参考にさせていただきました。

参考リンク
Railsへ(より少ないソフトウェア)
Rubyをインストールする(Windows環境)
sqliteのバージョンが新しい物は、ソースインストールみたいなイメージらしくnamekeが必要らしい。
>gem install sqlite3-ruby -v 1.2.3.2.3'

これで、インストールがうまくいくみたいだ。

Ruby on Rails 1.x系 ログイン認証

Ruby on Railsには、現在
 1.x系 と 2.x系の二つがある。

利用可能なプラグインなどに若干違いがある。
今回は、RoR1.x系のログイン認証のメモ

RoR1.x系のログイン認証に利用するのは、
「acts_as_authenticated」プラグイン

実際に、動作するさせるところまで書いていく。

まず、テスト用のプロジェクトを作成
>rails  _1.2.6_  login_ror1

プロジェクトのディレクトリに移動
>cd  login_ror1

acts_as_authenticatedのプラグインの導入
(これは、プロジェクトごとにやるみたい)
login_ver1 > ruby script/plugin install
http://svn.techno-weenie.net/projects/plugins/acts_as_authenticated/


generateが利用可能になるので、generateを使ってプロジェクトに追加
>ruby  script/generate  authenticated user accounts

ユーザ情報を格納する必要があるので、generateが作成したuserテーブル用migrationファイルの実行
>rake  db:migrate

ログインやログアウトの機能を利用するには、ルーティングの追加が必要
「config/routes.rb」を編集
AcctionController::Routing::Routes.drow do | map |

#(略) ここから追加部分

 # add routes 2008/11/28

  map.login "/login", :controller => "accounts", :action => "login"
  map.logout "/logout", :controller => "accounts", :action => "logout"

#(略) ここまでが追加部分
end

ログイン部分を作る。
app/views/layout/application.rhtmlを作成し、次のコードを入れる。
<body>
<%# ここから %>
<% if logged_in? %>
    Current User : <%=h current_user.login %>
        <%= link_to "[logout]", logout_path %>
    <% else %>
        Not Logged In <%= link_to "[login]", login_path %>
    <% end %>
<%# ここまで %>
<%= yield %>
</body>

これで、すべてのviewは、このページを経由して画面が生成されることになる

次のページにアクセスする
http://localhost:3000/accounts/signup

新規ユーザ登録画面
必要事項を入力して、「sign up」ボタンを押すと
ログインされ、左上の方に
  Current User: 登録したユーザ名 [logout]
と表示される。




次のファイルを削除して、railsデフォルトのTOPページを表示させないようにする。
public/index.html

次のファイルにrouteを追加記述する。
http://localhost:3000と入力されたときに、表示される画面を設定
「config/routes.rb」を編集
AcctionController::Routing::Routes.drow do | map |

#(略) ここから追加部分

  map.login "/login", :controller => "accounts", :action => "login"
  map.logout "/logout", :controller => "accounts", :action => "logout"

#(略) ここまでが追加部分

# 今回追加分
    map.root "/", :controller => "accounts", :action => "signup"
end

map.rootこのルーティングの名前
”/”http://localhost:3000/をTOPとしてみるので、
これにアクセスされたら実行
:controller => "accounts"コントローラーはaccountsにする
:action => "signup"アクションは、signupにする

次のアドレスにアクセス
http://localhost:3000/
すると、
http://localhost:3000/accounts/signup
のページが表示される。ただし、URL部分のhttp://localhost:3000/
のままのまず。

Ruby on Railsの必要工数

最近予約システムを開発しているのだが、よく見ているBlog(ウィリアムのいたずらの開発日記)で必要工数についての記事があるとの情報を見たので、早速今回のやつに適用してみようと思う。

工数(人月)の設定ではシステムの画面数やファイル数
必要工数=0.1×ファイル数+1.3×画面数+0.3×バッチ数

早速、今回開発したものに適用(小さいシステムだけど)

ファイル
 ・controller 5個
 ・View 10+5個
 ・設定ファイル 2個
画面
 ・月別予約画面(カレンダーベース)
 ・個別予約一覧
 ・新規予約
 ・利用不可能日設定
 ・利用ユーザ設定 
 ・利用場所設定

ファイル 22個、画面 6個
必要工数 = 0.1 x 22 + 1.3 x 6 = 2.2 + 7.8 = 10
10日 x 8時間 = 80時間

もっとよく、見たほうがよさそうだ。
明日、きちんと調べてみよう。
 ・ファイル数、画面数
 ・Ruby on Railsの一般的な工数削減数
« | 2017/04 | »
S M T W T F S
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 - - - - - -