This article was migrated from http://rails.office.drecom.jp/takiuchi/archive/73

昨日、Award on Railsの参加者を招待してお疲れ会を行いました。

詳しい内容については、後日よしてつさんからもっと詳しいレポートがあるので省きますが、とても楽しかったです。それまで作品を通してしか知らなかった参加者の方々と、実際にお会いして話をする事ができました。 機会があったら、Rails勉強会とかでまたお会いできると良いですね。

4月に開始してから4ヶ月になりますが、期待していた以上に作品が集まり、内容も面白いものが多かったので良かったです。

参加者の皆様、ありがとうございました。 作品を使ってみて投票してくださった方々もありがとうございました。 後日抽選により、Award on Rails Tシャツ(暗闇で光る)とさくらインターネット様から提供いただいているUSBメモリーをプレゼントさせて頂きます。

ということで、また来年も開催できると良いです。 ありがとうございました。

This article was migrated from http://rails.office.drecom.jp/takiuchi/archive/73

posted by Png genki on Mon 31 Jul 2006 at 18:43

This article was migrated from http://rails.office.drecom.jp/takiuchi/archive/72

WindowsでRuby on Railsを使う方法をまとめておきます。

■仮想化ソフトを使う
VMwareやXen、MS Virtual PC、CoLinuxなどの仮想化ソフトウェアを使って、 POSIX互換環境でRuby on Railsを使う方法です。 パッケージマネージャを利用できるので、拡張ライブラリのインストールなどが楽です。 メモリを十分積んでいれば速度的にも問題ないので、今のところこれが一番お勧めです。
■Cygwinを使う
問題なく動きますが、若干動作が遅めなのであまりお勧めできないです。 拡張ライブラリなどを利用する場合、必要なものはほとんどソースからインストールする事になります。
■ActiveScriptRubyを使う
ActiveScriptRubyをインストールし、RubyGemsからRailsをインストールします。 実運用環境がWindowsの場合は、この方法が一番良さそうですね。
■InstantRailsを使う
InstantRailsを使うと、とにかく簡単にRails環境をセットアップできます。 なるべく環境を汚さないように考えられて作られているので、ためしにRailsを使ってみるような用途には持って来いですね。
Microsoft Visual C++ でコンパイルされたRubyが付属してくるのも面白いです。
This version was compiled using Microsoft Visual C++, not Cygwin. As a result, some I/O functionality -- particularly those involving the Unix fork() system call and pipes -- will not work. The benefit of using MSVC is to have a more stable and reliable version of Ruby.
(InstantRailsに同梱のruby/ReleaseNotes.txtファイルより抜粋)

This article was migrated from http://rails.office.drecom.jp/takiuchi/archive/72

posted by Png genki on Tue 25 Jul 2006 at 18:49

This article was migrated from http://rails.office.drecom.jp/takiuchi/archive/71

7/23日のRails勉強会@東京#8に参加してきました。

前回に引き続いてドリコム本社での開催でしたが、大きなトラブルも無く、無事に終わってよかったです。前回足りていなかったホワイトボードの準備が間に合ってよかったです。

さて勉強会のほうですが、今回も今までと同様にオープンスペース形式で、前半・後半に分かれて6つ(前後にまたがるものが1つ)のセッションが行われました。

■前半
RailsでABD実践(要、『楽々ERDレッスン』)
BackgrounDRbを触ってみる
Rails Chatのソースを読む
"Rails Recipes"を淡々と読む
■後半
ソーシャルブックマークを作る
BackgrounDRbを触ってみる
19Rails Tricks Most Rails Codes

今回は、「Rails Chatのソースを読む」と「BackgrounDRbを触ってみる」に参加しました。

□Rails Chatのソースを読む

Rails Chatは、のりおさんが作られたリアルタイムチャットシステムです。JuggernautというComet for Rails?なストリーミングAjax系?のライブラリを使っているところが特徴です。

タイミングよく、今朝方Juggernautの紹介記事を書いていたのでセッションオーナーをやる事になりましたが、肝心のRailsChatのソースを持っていなかったので、よしみかんさんにバトンタッチ。

ソースコードを読む事自体は淡々と勧められました。 Juggernautは面白そうですね。いろいろ使えそうです。大規模運用が可能なのかどうかはわからないですが、小規模での運用には非常に便利だと思います。

Pushサーバが大規模運用に耐えうる同時コネクション数を実現できるのかどうか、ファイアウォールを越えられるかどうかといった点は、やはり気になりますね。検証してみたいです。

□BackgrounDRbを触ってみる

BackgroundDRbは、バックグラウンド処理を行うworkerを生成するためのRailsプラグインです。前半にも同じセッションがあったのですが、人気があったため後半も継続になりました。

オリジナルの紹介記事「Introduction to BackgrounDRb」やよしみかんさんによる翻訳版を参照しながら、実際にサンプルを作ってみました。

オリジナルの記事のソースにバグがあり、いろいろ苦労した人もいましたが、これも非常に便利そうなプラグインですね。BackgroundDRbで非同期化したプロセスの完了通知をJuggernautで行うようにしたら面白いかも。

□懇親会

禅問答説が飛び出すなど、ABDの話とかが盛り上がっていました。 他にもいろいろと他所では聞けない話題もあり、非常に楽しかったです。

This article was migrated from http://rails.office.drecom.jp/takiuchi/archive/71

posted by Png genki on Sun 23 Jul 2006 at 21:37

This article was migrated from http://rails.office.drecom.jp/takiuchi/archive/70

Juggernautは、Ajaxianとかでも紹介されていましたが、Comet for Rails?なRailsプラグインです。 Flashのxmlsocketを使って、サーバとブラウザ間にコネクションを張り、リアルタイムにページの更新を行ったりする事ができます。

moroさんの記事で紹介されていたRails Chatでも利用されているようです。

まずはインストールしてみましょう。JuggernautはJsonライブラリに依存しているので、無ければ先にインストールします。

# gem install json
さて、続いてJuggernaut本体のインストールです。
$ ./script/plugin install \
svn://rubyforge.org/var/svn/juggernaut/trunk/juggernaut
$ rake install_juggernaut
$ ./script/plugin install \
svn://rubyforge.org/var/svn/juggernaut/trunk\
/juggernaut/vendor/plugins/juggernaut
これで完了です。毎度の事ながら、Railsのプラグイン機構は本当に便利ですね。 (注: 8月30日現在、インストール方法が上記のように変わっているようです)

さて、続いてrhtmlファイルからJuggernautのjavascriptを呼び出すようにします。

<%= javascript_include_tag "juggernaut_javascript" %>
<%= javascript_include_tag "juggernaut" %>
app/views/layouts/*.rhtmlあたりに記述しておけば大丈夫でしょう。 さらに、Juggernautが使用するFlashもbodyの最後あたりに埋め込みます。
<%= flash_plugin(session[:juggernaut_channels]) %>
最後の仕上げに、Juggernautの設定ファイルの雛形がconfig/juggernaut_config.yml に作成されているので、適宜変更してください。

これでJuggernautを使う準備は整いました。 実際に簡単なChatアプリケーションを作ってみましょう。

$ rails chat
$ cd chat
$ ./script/generate controller chat
ChatControllerとViewを記述します。
$ vim app/controllers/chat_controller.rb
class ChatController < ApplicationController
  def index
    session[:juggernaut_channels] = ["chat_channel"]
  end

  def send_data
    input_data = Juggernaut.html_and_string_escape(params[:chat_input])
    data = "new Insertion.Top('chat_data', '<li>#{ input_data }</li>');"
    Juggernaut.send(data, session[:juggernaut_channels])
    render :nothing => "true"
  end
end
続いてView
$ vim app/views/chat/index.rhtml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <title>Chat</title>
  <%= stylesheet_link_tag 'default' %>
  <%= javascript_include_tag :defaults %>
  <%= javascript_include_tag "juggernaut_javascript" %>
</head>
<body>
  <%= form_remote_tag(
    :url => {:action => :send_data},
    :complete => "$('chat_input').value = ''") %>
    <%= text_field_tag('chat_input', '', {:size => 20, :id => 'chat_input'}) %>
    <%= submit_tag "Add" %>
  <%= end_form_tag %>
  <ul id="chat_data" style="list-style:none">
  </ul>
  <%= flash_plugin(session[:juggernaut_channels]) %>
</body>
</html>
これで完了です。あとは、pushサーバとWebサーバを起動すればOK。
$ ruby script/push_server &
$ ./script/server
http://localhost:3000/chat/にアクセスしてみましょう。
リアルタイムに書き込んだ内容が反映されます。

This article was migrated from http://rails.office.drecom.jp/takiuchi/archive/70

posted by Png genki on Sun 23 Jul 2006 at 07:56

This article was migrated from http://rails.office.drecom.jp/takiuchi/archive/69

syoyoさん主催のFastest Forward Paper Previewに参加してきました。

syoyoさんが紹介していたRecursive Wang Tilesがやっぱり凄い。 naokiさんのSpherical Harmonic Exponentiationも同じぐらい凄いですね。Waveletでもできるのかが気になる。球体近似だから回転とかもやれそう? imagireさんのDirect3D 10 Systemは紹介の仕方がとても面白おかしかったです。

僕も準備時間があればLightCutsのやつをやりたかったけど、ちょっと断念。

聞いた話だと、redqueenがLS+DS+E問題の実装をしているらしいので、検証してみたい。

This article was migrated from http://rails.office.drecom.jp/takiuchi/archive/69

posted by Png genki on Tue 18 Jul 2006 at 04:06

This article was migrated from http://rails.office.drecom.jp/takiuchi/archive/68

Ruby on Railsに関係するWebサイトは非常に沢山存在しますが、代表的なものや、特に役立ちそうだと感じたサイトをいくつか紹介します(自分用のリンク集を兼ねて)

Ruby on Rails
http://rubyonrails.org/
Ruby on Railsの公式サポートサイト。Ruby on Railsに関するMLやIRCチャンネルに関する情報や、様々な開発者向けの情報があります。
オブジェクト指向スクリプト言語Ruby
http://www.ruby-lang.org/
Ruby言語の公式サポートサイト。
RubyForge
http://rubyforge.org/
Rubyを使って作成されたオープンソース・アプリケーションをホストしているレポジトリ。
RAA - Ruby Application Archive
http://raa.ruby-lang.org/
Rubyアプリケーションのアーカイブ。
Rubyist Magazine
http://jp.rubyist.net/magazine/
日本Rubyの会が発行するRubyユーザのためのオンラインマガジン。
Rails Plugin (netswitch!)
http://blog.netswitch.jp/articles/tag/rails_plugin
数多くのRailsプラグインの解説をされています。
rails2u.com
http://rails2u.com/
国内で早くからRuby on Rails情報を発信しているサイトの一つ。こちらで公開されているRuby on Rails のAPIドキュメントをインクリメンタルサーチできるサービスは非常に便利です。
ヽ( ・∀・)ノくまくまー
http://wota.jp/ac/
やさしいRailsの育て方でお馴染みの西さん(a. k. a. maiha)のサイト。こちらも早期からRuby on Rails情報を発信しているサイトの一つ。ActiveRecord周辺の記事が特に面白いです。
Rubyist SNS
http://jp.rubyist.net/sns/
Rubyユーザのコミュニティサイト。
Rails勉強会
http://wiki.fdiary.net/rails/
Ruby on Railsの勉強会。東京と関西で開催されています。
Ruby Inside
http://www.rubyinside.com/
RubyやRails関連の面白い情報が沢山紹介されています。
サイトは随時追加中です。

This article was migrated from http://rails.office.drecom.jp/takiuchi/archive/68

posted by Png genki on Mon 17 Jul 2006 at 04:03

This article was migrated from http://rails.office.drecom.jp/takiuchi/archive/67

IE7からIE6に戻す方法のメモです。

  1. まず、コントロールパネルから「プログラムの追加と削除」を開きます。
  2. 「プログラムの変更と削除」を選びます。
  3. ここで、上部にある「更新プログラムの表示」のチェックボックスをチェックします。
  4. 「Windows XP - Software Updates」 の下層にある Internet Explorer 7 Betaを削除します。
  5. コンピュータを再起動します。
以上で完了です。

This article was migrated from http://rails.office.drecom.jp/takiuchi/archive/67

posted by Png genki on Wed 12 Jul 2006 at 11:08

This article was migrated from http://rails.office.drecom.jp/takiuchi/archive/66

しばらく前になりますが、 メイリオ (Meiryo)をいれてみた を参考に、Windows Vistaに搭載される予定のフォント「メイリオ」を使っています。

メイリオはClearType(サブピクセルまで考慮してフォント滑らかに表示するGDI+の機能)用に開発されたフォントなのですが、これがなかなか綺麗で良い感じですね。 まだ開発途上版のようで、いくつかの文字でちょっとバランスが悪い感じの文字があったりしますが、概ね問題無さそうです。

これに目が慣れると、元のレンダリングが汚く見えてしまって困るかも。

This article was migrated from http://rails.office.drecom.jp/takiuchi/archive/66

posted by Png genki on Tue 11 Jul 2006 at 04:17

This article was migrated from http://rails.office.drecom.jp/takiuchi/archive/65

Railsコア(RailTies)に対する./script/breakpointer機能拡張パッチが採用されました。

これによって、ブレークポイント到達時にこんな事ができるようになります。
   1  irb(#<topcontroller:0x40822a68>):002:0> show_source_list
   2  0001  class TopController < ApplicationController
   3  0002    def show
   4  0003->    breakpoint
   5  0004    end
   6  0005    
   7  0006    def index
   8  0007    end
   9  0008    
  10  => "/path/to/rails/root/app/controllers/top_controller.rb"
  11  irb(#</topcontroller:0x40822a68><topcontroller:0x40822a68>):004:0> show_call_stack 3
  12  vendor/rails/railties/lib/breakpoint.rb:536:in `breakpoint'
  13  vendor/rails/railties/lib/breakpoint.rb:536:in `breakpoint'
  14  app/controllers/top_controller.rb:3:in `show'
  15  => "/path/to/rails/root/app/controllers/top_controller.rb:3"
  16  </topcontroller:0x40822a68>

ブレークポイント周辺のソースリストの表示と、コールスタックの表示です。 show_source_listの方は、引数に行数を指定する事で、表示するソースリストの 範囲を変えることができます。

あとはステップ実行ができるようになれば、普通のデバッガど同等の事ができるようになりそうですね。

This article was migrated from http://rails.office.drecom.jp/takiuchi/archive/65

posted by Png genki on Mon 10 Jul 2006 at 01:10

This article was migrated from http://rails.office.drecom.jp/takiuchi/archive/64

先日、自分が検索エンジンをほとんど使わなくなったことに気が付いて、ちょっとビックリしました。 あったとしても、せいぜい1ワードの単語の意味を調べるのに使うぐらい。 その場合でも、Googleじゃなくてgoo辞書(含むWikipedia)とかを使う事が多いです。 1日中パソコンの前にいて、Googleを一回も使わない日もあるんですよね。 1年前の自分だったら考えられない事です。

なぜそうなったかを考えてみると、明らかにソーシャルブックマークのフィードをRSSリーダで購読するようになったからですね。 使い始めた最初のうちはそんなに変化はなく、Googleも普通に使っていたのですが、 自分でブックマークしたエントリを同じくブックマークしている人とかのブックマークのフィード をRSSリーダに登録するようになってから、徐々に自分でウェブを巡回する必要性 が無くなって来た感じです。

This article was migrated from http://rails.office.drecom.jp/takiuchi/archive/64

posted by Png genki on Sun 9 Jul 2006 at 20:03