しばらく引っ越します。
借りていたVPSのUbuntuを10.04にアップグレードしたところ、しばらくして起動しなくなりました。サポートに問い合わせたところ、9.04までしかサポートしていなかったそうです。
仕方なく、VPSを再インストールし、バックアップから復旧しましたが、以前のVPSでは毎日とっていたバックアップをさぼってしまっていたので、2009年9月のものしかなく、いくつかの投稿が失われてしまいました。
ちょっとショックだったのと、メモリの少ないVPSでのTypoの運用が苦しいなと思っていたところだったので、ちょっと浮気して、はてなに日記を書く事にしました。
今後はRuby 1.9やRails 3.0に慣れるためにも自分でゼロからブログを作ってみたいと思っています。できれば、はてなの機能のうち最低限欲しいと思うものを参考に。
WindowsでCucumberのフィーチャやRSpecのスペックを日本語で表示する
Ruby on RailsアプリケーションをBDDで開発する際の標準となった感のあるCucumberとRSpecですが、フィーチャやスペックを日本語で記述することになります。 Mac OS XやLinuxでは全く問題にならないのですが、Windowsの場合、UTF-8の出力をコンソールに表示する事が問題となります。 NetBeansを使えば、出力ウィンドウでUTF-8を表示可能ですが、特定のフィーチャを指定して実行する機能などがないため、実用てきではありません。
コードページ変更による方法
コマンドプロンプトのコードページを65001(UTF-8)にする方法もあるようですが、日本語表示フォントの設定がうまく行かなかったり、コマンド入力が正しく実行されなかったりして、手元の環境では使用できませんでした。
何度か試しているうちに気がついたのが、設定の順序です。次の方法だとうまく行くようです。
- 日本語フォントを明示的に設定する
- コードページを変更する
1は、コマンドプロンプトのウィンドウの左上をクリックして、「プロパティ」を選択し、「フォント」の設定を「MSゴシック」に変更します。
2は、コマンドプロンプトでchcp 65001と入力して、65001(UTF-8)に変更します。
win32consoleをハックする方法
Windows上で、RSpecや Cucumberのカラー出力をしようとするとwin32consoleをインストールするようにアドバイスされます。
このモジュール自体は、日本語に対応している訳ではなさそうですが、Win32::Console::ANSI::IO#_convをハックする事で、出力文字をShift-JISに強制変更させます。
require "Win32/Console"
require "kconv"
....
module Win32
module Console
module ANSI
class IO < IO
....
def _conv(s)
if @concealed
s.gsub!( /\S/,' ')
elsif @conv
if EncodeOk
from_to(s, cpANSI, cpOEM)
elsif @@cp == 'cp932cp932'
s = s.tosjis
elsif @@cp == 'cp1252cp850' # WinLatin1 --> DOSLatin1
....
end
end
end
end
ただし、この方法はコンソールに出力する場合のみコード変換を行うため、リダイレクトを行う場合にはうまく行きません。ZenTestのautotest(RSpecの場合のautospec)は内部でリダイレクトを行っているため、うまく行きませんでした。
Four Days on Rails 2.3をアップしました
2008年5月に公開した Four Days on Rails 2.0をRuby on Rails 2.3にあわせて見直したものをアップしました。
http://rails.to/pages/4-days-on-rails-2.3
RubyKaigi 2008 The Day Two - PM 2
iKnowの開発者Zev Blutさんによる事例報告。
2週間のリリースサイクル。短い。
失敗談:ActiveRecord count/size/lengthの違い
失敗談:OpenIDの認証が遅くなった
失敗談:ファイルシステムext3の限界でキャッシュができない
継続インテグレーションツールKwalaのおまけつき。
食べログの京和さんの事例。
Windows/ASPからRailsへの移行だったのだそうデス。
メモリ喰い対策。
データベースの負荷分散。MMCはダメ。ActsAsReadonlyableで。
クエリーはテーブルを件数、ID、属性の3段階に分けてチューニング。
routeは書いていないがそれほど特別な事はしていない。大規模でも大丈夫。
jpmobileのしだらさん。
携帯向けアプリを作る上での数々の機能を、携帯キャリア・機種によらずAPIで提供。すばらしい。絵文字変換機能まで。
Four Days on Rails 2.0(日本語版)の修正(Ver1.1)をリリースしました。
先にリリースしたFour Days on Rails 2.0 の修正版をリリースしました。
[Update:2008/5/20]
下記の点を修正したVer.1.1をリリースしました。
- Linux(Ubuntu)の場合にrubygemsをホームディレクトリにインストールする際のsetup.rbの不要な引数を削除しました。
- 同じく、設定が必要な環境変数としてRUBYLIBを追加しました。(この設定がない場合、aptを使って導入したrubygemsのファイルが読み込まれ正常に動作しない場合があります)
- ファイル拡張子の誤りを修正しました。
Four Days on Rails 2.0(日本語)を公開します
Four Days on Railsの日本語訳 を公開してからずいぶん時間がたち、Railsが2.0となったことで、チュートリアルとしての意味が薄れてきたため、題材を生かしてRails 2.0に対応させたFour Days on Rails 2.0 を作成しました。Rails 2.0のRESTfulなScaffoldを生かしたものにしたため、かなりオリジナルなものになっています。
3月のRuby勉強会@新潟第2回で使用した「ベータ版」を仕上げたものです。なかなか時間がとれず、公開が遅くなってしまいました。改めて見直してみると、ずいぶんと間違いや修正忘れが多く、勉強会の参加者の方にはご迷惑をおかけしました。
今回の新バージョンも間違いがまだ残っていると思いますし、REST部分についてはテストができていないので、不具合を見つけた方はコメントをよろしくお願いします。
イケテルRails勉強会@新潟第1回について
勉強会の最中に掲載した半端な記事だけで、すいませんでした。
4月19日の勉強会は、予想以上の参加者が集まり(実際40人の定員が満員札止めだったようです)、有名な「円陣」からスタートして、みんなで楽しく勉強することができました。
ほかの開催地での勉強に比べて、トラブルは少なかったようですが、新しい教材での始めての開催ということで、ちょっと欲張っていたかなということもあり、最後はバタバタで宿題となってしまいましたが、非常に有意義な勉強会でした。講師の最首さん、世話役の五十嵐さん、NICOの事務局の方がたありがとうございました。今後もよろしくお願いします。
P.S. いきなり最首さんから「挨拶を」と振られたので、言いたいことの一部しかいえなかった気がしますが、今後も新潟でRubyの輪を広げて行きたいと思っていますので、よろしくお願いします。
Nginxとmonitを導入しました
このブログサイトは、Railsで書かれたTypo で構築していますが、mongrel_clusterのフロントエンドにはApacheを使ってきました。
最近、The Rails Way を読んだので、フロントエンドをNginx に変更し、ついでに監視ツールのmonit も導入してみました。
Nginxでは、最初Mime-typeを入れ忘れたので、スタイルシートが無効になったり、X-Forwarded-protocolでhttpsを指定してしまい、SSLがないのにURLがhttpsになったりして面食らいましたが、何とかうまくいっているようです。
monitの設定では、mongrel_clusterでプロセスを1つずつstart/stopするスクリプトが動かず、調べるのに時間がかかってしまいましたが、おかげで、mongrelで導入されたgems_pluginのフックの仕組みが分かりました。それにしても、mongrelを作ったZed Shawは偉い!
オープンソースカンファレンス2008 NagaokaでRailsの事例発表します
今年のオープンソースカンファレンスの新潟県での開催は下記の通り、長岡技術科学大学での開催となりました。
日程:4月12日(土) 10時~18時(予定)
会場:長岡技術科学大学 講義棟 1F
内容:オープンソースに関する最新情報の提供 ・展示 – オープンソースコミュニティ、企業・団体による展示 ・セミナー – オープンソースの最新情報を提供
参加費:無料
主催:オープンソースカンファレンス実行委員会
共催:NPO法人 新潟オープンソース協会
企画運営:株式会社びぎねっと
http://www.ospn.jp/osc2008-nagaoka/
なお、本カンファレンスでは私の勤務先においてRailsで開発したワークフローシステムについて開発事例として紹介する予定となっております。お近くの方はぜひご参加ください。
Railsで作る社内システム ~ワークフローシステム開発事例紹介~
2008-04-12 (土) 14:00-14:45 講師:長谷川 雅明 (株式会社BSNアイネット) 担当:株式会社BSNアイネット
2006年の秋から開発を始めた Ruby on Rails による社内ワークフローシステムがようやく本稼働を迎えます。 このセッションでは、.NET や Java の開発者、Web アプリが初めてという新人たちで構成した、「Ruby初心者達」が学習しながらどのようにアプリケーションを開発してきたか、また、Ruby のどこが優れていると感じ、どこに苦労したのかを事例をもとに紹介します。
http://www.ospn.jp/osc2008-nagaoka/modules/eguide/event.php?eid=7
Ruby勉強会@新潟 第2回のお知らせ
第1回からずいぶん時間が経ってしまいましたが、第2回の勉強会を開催したいと思います.
開催概要 ---------------------------------------------- ・日時 3月15日(土) 午後3時30分~7時30分 ・場所 クロスパル新潟(中央公民館) 403講義室http://www.city.niigata.jp/info/crosspal/index.html
・集合時間 午後3時15分 ・内容 <前半> Ruby入門(RubyでWebサービスを使う) <後半> Rails入門(Four Days on RailsとRails 2.0) (内容は現在検討中のため、変更の可能性があります。ご了承ください。) ・参加費 無料 ・準備するもの パソコン、電源コード(2口以上のもの)、LANケーブル ・懇親会 場所等未定です。登録された方に後ほどお知らせします。 ・登録方法 下記のURLからお願いします。 確認のメールを送信します。http://rails.to/entries/
・登録締切 懇親会参加希望の方(3/7)それ以外の方(3/14) ・ご協力 NPO法人 新潟オープンソース協会(http://www.niigata-oss.org/) -- なお、勉強会では、RubyやRailsのインストール方法の解説はしない予定です。 下記のページを参考にして、事前にインストールをお願いします。http://rails.to/pages/setup-rails-on-windows http://rails.to/pages/setup-rails-on-linux
今回からデータベースは、SQLite3を使って説明の予定です。 sqlite3(sqlite3.dll)の他、 gem install sqlite3-ruby でアダプタをインストールしてください。
[Update] 勉強会で使用した「Ruby入門」の教材の誤りを訂正したバージョンと、サンプルプログラムをアップしました。
--------------------- いたさん(板垣正敏) NPO法人 新潟オープンソース協会 会員 日本Rubyの会 会員http://rails.to/

