恵比寿、渋谷を中心に開発を行われているビープラウド社にて、Rails開発者を募集中です。場所は初台となっておりますので、新宿周辺で働かれているフリーランスの方はぜひご応募ください。※ MOONGIFTとのクロスポストです。

Picture 581.png

案件としてはRailsベースの広告管理システムの開発になります。Railsも徐々に案件が増えているとは言え、まだまだシェアは低いかと思います。Rails開発者の方はぜひともチェックしてください。なお人数は1~2名となっています。

詳細は以下にて。

(続きを読む…)

いつもRails 2.0をご覧いただきありがとうございます。Rails 2.0ではRails開発における技術支援や開発自体の受託を行っております。開発リソースが足らない場合や、新しいWebシステムを企画されている際にはぜひお声がけください。

お問い合わせはinfo@rails20.jpまでお願いします。

PowerDNS用Railsフロントエンド「PowerDNS on Rails」 [ MOONGIFT ]より。

Picture198.png
PowerDNS on Railsの画面

 

PowerDNSというのはBINDのライバルとなるソフトウェアで、DNS情報をRDBMSで管理することができる。RDBMSなので、MySQLやPostgreSQLをバックエンドに採用することができる。特徴としてフロントエンドがないことがあるが、そこはオープンソース・ソフトウェアの強みであってフロントエンドもオープンソース・ソフトウェアで開発されている。その一つがPowerDNS on Railsだ(ソースコードは公開されているがライセンスは明記されていないので実際にはオープンソースではない)。

PowerDNS on RailsはRailsを使って作られたPowerDNSフロントエンドで、DNS情報の設定やマクロなどの設定ができる。シンプルなインタフェースだが、ターミナルやテキストファイルベースで設定するのに比べると分かりやすいかも知れない。インストールは簡単で(PowerDNS自体のインストールは省略)、database.ymlでデータベース設定を編集後、

$ rake db:migrate
$ rake db:seed

を行うと基本的なユーザ設定も行われる。その後は

$ ruby script/server

でサーバを立ち上げた後、http://localhost:3000/にアクセスし、admin/secretでログインができる。

社内サーバも含めたDNS管理や、複数台構成のWebシステムの内部IP管理などで使えるソフトウェアではないだろうか。PowerDNS自体の魅力も引き上げてくれるはずだ。

 

PowerDNS on Rails
 http://kennethkalmer.github.com/powerdns-on-rails/

<% if File.exists?(model.path) %>
   ...
<% end %>

ではなく、

<% if model.file_exists? %>
  ...
<% end %>

というのが37signals流。メリットは、

  • ビューがすっきりする
  • 結果をキャッシュできる
  • ユニットテストしやすい
  • ローカルファイルシステムから別システム(S3とかMogileFSとか)へ移すことも想定
  • MVCとしてモデルがファイルを参照するなら、それがどこにあるかはモデルだけが把握すべき

といったことが挙げられています。

A design and usability blog: Signal vs. Noise (by 37signals)
 http://37signals.com/svn/posts/1944-dont-do-this-if-fileexistsmodel

開発者にとって一番難儀なのがデザインではないだろうか。いや、そうじゃないという人もいるだろうが筆者はそうだ。いつもデザインで悩んで、あげくの当てに放棄してしまう。そんな中、便利に使っているのがWeb App ThemeというRailsプラグインだ。HTMLファイルもあるのでRailsアプリケーションに限らず利用はできるが、ここではプラグインとして便利に使う方法を紹介したい。

まず最初はプラグインのインストールだ。

$ ruby script/plugin install git://github.com/pilu/web-app-theme.git

Initialized empty Git repository in #{RAILS_ROOT}/vendor/plugins/web-app-theme/.git/

remote: Counting objects: 72, done.

remote: Compressing objects: 100% (59/59), done.

remote: Total 72 (delta 15), reused 9 (delta 0)

Unpacking objects: 100% (72/72), done.

From git://github.com/pilu/web-app-theme

* branch HEAD -> FETCH_HEAD

これだけでインストールは完了する。次にテーマの生成になる。

$ ./script/generate theme

exists app/views/layouts

create public/stylesheets/themes/default/

create app/views/layouts/application.html.erb

create public/stylesheets/web_app_theme.css

create public/stylesheets/web_app_theme_override.css

create public/stylesheets/themes/default/style.css

この状態でサーバを立ち上げてアクセスすると以下のように表示される(元々のindex.htmlは削除して、ルーティングの設定も変更されている必要がある)。なお、ファイルの内容は修正済なのでご注意いただきたい。

ピクチャ 143.png

 

これが最も基本的なスタイルだ。次にテーマを変更する場合。テーマは全部で9種類用意されている。「bec-green」「bec」「blue」「djime-cerulean」「drastic-dark」「kathleene」「orange」「reidb-greenish」「warehouse」をテーマとして指定すれば良いだけだ。

$ ./script/generate theme –theme=blue

exists app/views/layouts

create public/stylesheets/themes/blue/

overwrite app/views/layouts/application.html.erb? (enter “h” for help) [Ynaqdh] Y

force app/views/layouts/application.html.erb

identical public/stylesheets/web_app_theme.css

identical public/stylesheets/web_app_theme_override.css

create public/stylesheets/themes/blue/style.css

そうすれば次のようにテーマが変更されて表示される。

ピクチャ 144.png

もしapplication.html.erbが嫌であれば、Layoutを指定して変更できる。

$ ./script/generate theme application2 # ここではapplication2.html.erbを指定。

exists app/views/layouts

exists public/stylesheets/themes/default/

create app/views/layouts/application2.html.erb

identical public/stylesheets/web_app_theme.css

identical public/stylesheets/web_app_theme_override.css

identical public/stylesheets/themes/default/style.css

これだけで手軽にテーマに対応したデザインができてしまう。デザイン自体、メニューがあったり、サブメニューがある、テーブルやフォームも考慮されており、さらにメッセージや2カラムフォームも利用できる。リストやログイン画面なども考慮されている等、デザインで厄介になりそうなポイントはきちんと押さえられている。これならば大抵のWebサイトの雛形として使えるのではないだろうか。

実際に使ってみた感じでは、フッターが左側のカラムについているので、幅広のフッターにしたい時にちょっと苦労するといった程度だ。それ以外はとても手軽に使えて、見栄えもよく、開発する気を損なわないで済む。デザインで苦労した経験のある方はぜひ使ってみて欲しいライブラリだ。

その他画面は詳細にて。

(続きを読む…)

rails.png

MOONGIFTではRailsによる受託開発、教育を行っております。そして今回、なぜRailsが良いのかという理由について挙げてみましたのでRails開発に迷いを感じられている方は参考にしていただければと思います。書いてあることは前々から言われているようなことばかりですが…。

まず第一前提としてよく「Railsは生産性が高い」と言われますが、今回は書かないようにしています。目に見えづらく、経験則によるものなのでかえって怪しく見えてしまうからです。数字にまで落とし込めれば良いのですが、正確性がないので今回は省きます。

詳細は以下より。

(続きを読む…)

が、いまいち分からなかったりします。やりたいことはApplicationController内に定義してある関数を呼び出す処理。BackgrounDRbの中で、expire_pageを呼び出したい時もあると思うので。キャッシュの生成処理をBackgrounDRb内でやらせるのは高速化につながるのではないかと思います。そうすると、キャッシュの生成にかかるコストをバッググラウンドでやらせつつ、表示が高速化できるようになります。

妥協的な方法は以下。

(続きを読む…)

RailsのホスティングサービスであるHosting Rails.comで、mod_railsを使ったホスティングオプションがはじまりました。Mongrelプランと同じで、$9.79/月となっています。

ピクチャ 4.png
説明ページ

 

パフォーマンスがどの程度かによりますが、$9.79というのは格安ではないでしょうか。テスト的に立ち上げてみたい方にお勧めです。

 

Hosting Rails – Ruby on Rails Hosting – Robust & Affordable Plans
 http://www.hostingrails.com/

ピクチャ 2.png

subLog : HTML / CSS to PDF using Ruby on Rails

 

答えを言ってしまうと、Prince XMLを使います。各種プラットフォーム向けに提供されているライブラリなので、これを使えば手軽に作成できそうです。そのためのライブラリprince.rbとpdf_helper.rbが公開されています。ちなみにPrince XMLは個人の非商用利用に限りフリーのライブラリなのでご注意ください。

ピクチャ 1.png
Prince XMLのトップページ

 

subLog : HTML / CSS to PDF using Ruby on Rails
 http://sublog.subimage.com/articles/2007/05/29/html-css-to-pdf-using-ruby-on-rails

Railsを勉強するには手を動かすのも良いけれど、人の書いたソースを見て勉強するのも良い。その方法でいくと、オープンソースのRailsアプリケーションは最高の勉強材料になるだろう。

ピクチャ 26.png
Open Source Railsのトップページ

Open Source RailsではそんなオープンソースのRailsソフトウェアを9個ほど(執筆時)紹介している。概ねMOONGIFTでも紹介済みだが、幾つかは未紹介のものもある。そちらについては後日紹介していくだろうが、先にチェックしたい方はぜひ見てみて欲しい。

例は以下。

(続きを読む…)

Newer Posts »
MOONGIFTネットワーク。こちらもぜひご覧ください。
MOONGIFT
Open Service
Rails 2.0
Resident on Net
iPhone最適化
リーンソフトウェア
MarketPedia
Producing Web
Cool Coding