るびま19号にRailsの記事を書きました

Posted filed under Publications, Ruby on Rails.

“るびま”こと”Rubyist Magazine – Rubyist Magazine 0019 号“にRailsのパフォーマンスアップの記事を書きました。 特にviewでpartialやcollectionを多様している人には、結構効くはずです。 間違えを見つけたり、質問などはここのコメントにお願いします。

RailsConf1日目 Scaling a Rails Application from the Bottom Up

Posted filed under Ruby on Rails.

RailsConf 1日目はTutorial/Guidebook day。 registrationをすませた後は”Scaling a Rails Application from the Bottom Up“に参加してみる。 その名の通り、下位層からRailsのスケーリング話。 スピーカーはJoyentのCTO Jason Hoffman。 前半、Guidebookの写真とか撮っててあんまり聞いてなかった Joyentの構成とハードの話し OSはLinux/FreeBSD/Solaris ディスクはSunFire X4500(RAIDZ2+1 likes RAID6+1) and NetApp NAS ベンチマークで10,000op/sec, 80-100Mb/s ハードウエア ベンダーはDELL > HP > Sun DELLは直接色々してくれるけど、Sunはリセラーに丸投げ 本体が$5,000でも電気代が3年で$1,800以上かかる colocationに置くと、回線代>電気代>ラック代 電気代がネック。Vritualizationでマシンを減らす?<よく分からなかった それでもSunを選ぶ理由 RAS(Reliability、Availability、Serviceability)=信頼性、可用性、保守性 コンポーネントがホットスワップ対応 (対応ハードが必要) CPU、メモリ、TCOが結構安い シリアルで色々な操作ができる 仮想化大切 Xenとかあるけど、Solaris Zoneが良い なんでSolaris? PXEブートをサポート 高負荷でも落ちない (Xenは落ちるって話し) ネットワークの統合や仮想化もできる 仮想化が軽い ZFSがある ZFS 使いやすく強力なファイルシステム… Read more »

NiftyからフルRailsおもしろアプリ “アバウトミー”リリース

Posted filed under Products, Publications, Ruby on Rails.

 私が作成の前半を手伝ったサービス、”アバウトミー – 自分発見プロフィール“がNiftyからリリースされました。  他のSNS系サービスの様に、友達関係を中心としたサービスじゃなくて、自分を掘っていくサービスで、質問に答え始めると意外にな自分が発見できちゃうサービスです。 答えを友達と比較したり、自分のマイナー度合いを見つけてみると面白げです。自分のプロフィールを人に説明するは難しいですが、このサービスを使えば、「ここ見ておいて」って言えばOK! (w  と、珍しくサイトの宣伝っぽい事をしていますが、実は私はこのサイトの構築に関わったのですが、公開前のα版と、この公開版の基礎作り的な部分だけ作り、NaCLさんと富士通ソフトウエアテクノロジーズがそれを引き継いで完成させ公開になりました。 時間の関係で最後まで関われなかったのは残念ですが、こんな楽しいサービスに仕上げた2社の実力に感謝です。 また、Niftyの方々とは、このサイト構築を通じて、非常に楽しく仕事をさせて貰え、非常に感謝しています。 このサイトが流行ってくれるよう、陰ながら応援しています。 と言うわけで、いまならMOO MiniCards プレゼントキャンペーン開催中!なので、ぜひ登録してください! ■追記 名前が載ったメディア @nifty、足あと機能を実装したブログ向けプロフィール「アバウトミー」 (最後の写真 ITmedia News:自己紹介+RSSリーダー+Twitter ニフティ「アバウトミー」 ネット上での自分の活動を集約する「アバウトミーβ」,ニフティがRuby on Railsで構築:ITpro 「ブログでいちばん見たいのはプロフィール」、ニフティ − @IT

RailsConf2007参加してきます

Posted filed under Ruby on Rails.

15日出発、21日帰国でRailsConf2007参加してきます。 たぶん、みなさんNW航空で行くとおもうんですが、ぜひ良ければ出発日を教えてください。 あとは、masui(あっと)masuidrive.jpにメールいただけると嬉しいです。 My買い物リスト: LUMIX DMC-FX7電池(あれば) USB-SDカードリーダ プレゼント用Tシャツ (なんか用) サインペン (今年はなににサイン貰おう) メモ帳 (TAXIで行き先書いて見せたり) 電子辞書 持ち物 着替え MB+MB用電池x3+AC+延長ケーブル iPod+QC3+充電 ひげそり NDS+充電 MiniCard ポートランドのマップ印刷 ホテル情報・会場情報の印刷 クレジットカード・パスポート・航空券 デジカメ

[紹介] HTTPでdRubyと同じようにリモートメソッドを呼び出すNetworkFacade

Posted filed under Ruby on Rails.

 dRubyは専用のプロトコルを使って、リモートアクセス用のクライアントとサーバを構築しますが、NetworkFacadeを使うことで、HTTPを使ってRubyのオブジェクトのやりとりをすることが出来るようになります。  dRubyを使ったことがある人なら、ほとんど同じように使うことができます。簡単なサンプルが、プロジェクトのページに記載されているので、ぜひ参考にしてみてください。  こちらでも簡単なオブジェクトは試しましたが、まだ出たばかりなので、エラー処理などが正しく行われているかに不安が残ります。  同時に既存のXML/RPCやRESTをオブジェクトにバインドすることもできます。 Wikipediaを呼び出すのは下記の様なコードになります。 #!/usr/bin/env ruby require ‘rubygems’ require ‘network-facade’ class Wikipedia < NetworkFacade::REST::Client ‘http://wikipedia.simpleapi.net/’   mapping :keyword, ‘/api’ end wikipedia = Wikipedia.new wikipedia.keyword(:keyword => ‘Ruby on Rails’).root.elements.each(“*/body”) do |e|   puts e end  ファイアウォールなどの都合で、HTTPを使って外部のRubyサーバと手軽に通信したいときにどうぞ。

Slingshotの評判

Posted filed under Ruby on Rails.

 Atlanta Ruby Users Groupのミーティングで、Slingshotの話しが出たらしく、The Armchair Politician :: Joyent Slingshot a Disappointmentにまとめられていました。  そこで、下記のような利点と欠点がリストアップされていて、ほとんど同じ事を感じたので、ちょっと約してみました。(一部意訳、括弧内は私のコメント) 利点: オブラインモードの時に、ローカルキャッシュにデータを残せる Qt/GTK/Win32/Cocoaではなく、HTMLとrailsだけでローカルアプリケーションを作ることができる 欠点: 同期に関する問題 パッケージ(ruby + rails + gems + アプリケーション + slingshot)で100Mを超える ブラウザのコントロールができない (戻るとか更新の事だと思う) PostgreSQL, MySQLなどを使うことができない 心配、見つけた潜在的問題、そして現実: 同時に複数のSlingshotアプリケーションを起動できない (全部3000番ポートで起動されるから これはすぐ直るはず) OSネイティブの機能をサポートしていない (Multi-platformを目指してるなら難しいのでは?) script/serverをホントに起動してる所やデータベースのコピーをローカルに持ってることに失望した (ほんとにそう思うw はじめはJRubyで仮想化っぽいことをしてるのかと思ってた)  これ以外に、利点としてドラッグアンドドロップのサポートが上げられると思う。これをブラウザでやるのは結構面倒だから。  特に一番最後のscript/serverを呼んでるところは、ほんとがっかりした。実物を見るまではJRubyで動いてて、サーバまでを全部Slingshot内で処理してるんだと思ってた。この方式だとRailsプロセスと、フロントエンドのプロセスが別々なので、Slingshotがそのプロセス管理をちゃんとできないと、本体は終了したのにRailsプロセスがゾンビで残ってる、っていう事になりかねないな。  ここから、プロダクトレベルまで仕上げるには、まだまだ道のりが長そうだけど、こういう製品はぜひ欲しいので、Joyentにはがんばって欲しい。

Railsでデスクトップアプリを作ってみる [OSX編]

Posted filed under Ruby on Rails.

 色々試行錯誤した結果、Slingboxでアプリケーションを作ることができました。 ActiveScaffold (旧AjaxScaffold)で作った簡単なアドレス帳をサンプルアプリケーションにSlingshotの使い方を見てみましょう。 作業その0 元となるRailsアプリケーションを作る  今回は元となるアプリケーションはActiveScaffoldで、さくっと作ってみます。 $ rails slingshot1 -d sqlite3 $ cd slingshot1 ./script/plugin install http://activescaffold.googlecode.com/svn/tags/active_scaffold $ ./script/generate model address name:string address:string mail:string $ rake db:migrate $ ./script/generate controller address $ echo “class AddressController < ApplicationController;active_scaffold :address;end" > app/controllers/address_controller.rb $ echo ‘< %= javascript_include_tag :defaults %>< %= active_scaffold_includes %> < %= yield %>‘ >… Read more »

RailsをデスクトップアプリにするSlingshotがリリースされたけど・・・

Posted filed under Ruby on Rails.

 先日、このblogでも紹介した、Railsでデスクトップアプリケーションを作るための環境、Joyeur Slingshotが初めてリリースされました。  Railsをデスクトップで実行する環境と、サーバとデータを同期させるプラグインがリリースされている模様。  早速、試してみましょう。と思ったらどうにも動かない・・・。と思ったら動いた・・・・。謎だ。  色々と試してみるので、続報をお待ち下さい。