Kodougu の Rails を最新のバージョンに上げたので、その際のログを残しておきます。Rails にそれほど激しい変更がなかったらしいということと、Kodougu 自身がそれほど Rails を使い込んでいないという理由から、かなり行き当たりばったりで対処してみました。

※ それでも、一度 1.2.6 にしてから 2.0.x へ上げるという作業をしています。1.2.6 では、2.0 に向けて Depreciated な API に関する警告を出してくれるので、1.2.6 上で機能を動かしながら 2.0 対応を進めるということができます。

続きを読む

Posted by あかさた
最近、八角研究所で技術記事を書いているのですが、そこで、Ruby on Rails の開発を潤滑に進めるために、モデリングを含めた開発プロセスを架空の事例に適用して紹介した連載記事を執筆しました。

続きを読む

Posted by あかさた
Kodougu のテストを RSpec で書いてみようと思ったので、RSpec をインストールしてみました。

どうしたわけか、Rubyist Magazine - スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編)のやり方では,
RSpec on Rails がインストールできなかったので、以下を参考にインストールしてみました。

RSpec-1.1.1: Installation
http://rspec.info/documentation/rails/install.html

ruby script/plugin install http://rspec.rubyforge.org/svn/tags/CURRENT/rspec
ruby script/plugin install http://rspec.rubyforge.org/svn/tags/CURRENT/rspec_on_rails

URL が多少変わっていますが、そのせいですかね??? どうも、RubyForge の事情には疎いのでわかりかねます。(--;

そして、こちらの記事のやり方でテストデータを作成して、今テストを書いています。今のところ、RSpec のメリットは全くわからないのですが(オイオイ)、書いていて気持ちいいですね。

Posted by あかさた
そろろろRailsについて本音を書いてみるかについてです。ひがさんはよほど Ruby/Rails の心配をしてくださっているようなので、Rails ユーザの一人として非常にありがたく思うのと同時に、ひがさんの心配のいくつかは取り除くべきかなと感じました。

続きを読む

Posted by あかさた
Rails勉強会@東京第26回のポジションペーパ。とりあえず書きましたが、PowerPoint で png 出力するとなぜか汚いです。なんでだろう・・・。

ポジションペーパ(png)

Posted by あかさた
オブジェクトの広場の一月号が公開されたようです。一番の注目は言うまでもなくRebecca Wirfs-Brock さんインタビュー( 前編 )なのですが、私の気持ちをとらえたのは、以下の記事です。

オブジェクト倶楽部 クリスマスイベント講演資料 OO厨厨トレイン

こういったら怒られそうですが、良い意味で偏ったオブジェクト指向を語っています(というか、オブジェクト指向を軸に歴史を語ることが偏っているのかな?)。最近、広場は「オブジェクト指向なんて道具ですよ、冷静に行きましょう」なんてすましていた感じがするのですが、マッドサイエンティストが科学について語るような怪しさが徐々に戻ってきつつあるようです。(まだ足りないけど。)

これならオブジェクト倶楽部クリスマスイベント2007 行けばよかったなー。

平凡なエンジニアが未踏ソフトウェア創造事業をやったらどうなるのか書いてみた と関連しますが、上記の広場の講演者の中には、私の未踏の成果報告会で講演してくださった方も混ざっています。感謝。

Posted by あかさた
Ruby言語パーサのruby_parser 1.0.0が初リリースによると、Ruby による Ruby パーサが公開されたようです。安定すれば相当便利に使えるでしょうから、勉強がてらさっそく触ってみることにしました。

■ ruby_parser とは?
Ruby で記述された Ruby パーサ。Ruby の構文を受け取って S 式を返します。Lisp 使いにとってはなじみのある形式です。

ホームページ
http://parsetree.rubyforge.org/

RubyForge のプロジェクトサマリ
https://rubyforge.org/projects/parsetree/

■ テスト環境
OS : Windows Vista
CPU: Code2Duo E6850
Mem: 2GB

■ インストール
gem を使えるので、楽ちんです。
gem install ruby_parser --include-dependencies


■ テストコード
実行するのは以下のコードです。

ENV['HOME'] = ''
require 'ruby_parser'

@processor = RubyParser.new
p @processor.parse("p 'Hello RubyParser World!'")


結果は以下のとおりです。

s(:fcall, :p, s(:array, s(:str, "Hello RubyParser World!")))


■ 注意
私の環境では環境変数「HOME」が空文字でもいいので宣言されていないと、require で失敗します。なぜそうなるかは、調査していないのでわかりません。あとで潜ってみるかもしれません。

■ 感想
「楽」の一言に尽きます。Kodougu に組み込んで、Ruby2JavaScript とか実装すれば、クライアントも Ruby で書けるかも、、、などと危ない妄想をしています。どれくらい安定しているのかなどは全くわからないので、しばらく使いこんでみたいと思います。


Posted by あかさた
ウェブアプリになってから、あまり画面そのものをモデリングする機会がありませんでした。スタンドアロンの GUI アプリでは画面のモデリングが必要となるケースが結構あった(複雑な画面を持つアプリケーションは画面上に配置されるコンポーネントを戦略的に管理しないと開発が成り立たなくなる)のですが、Kodougu を含めウェブアプリを作るようになってからあまり意識していませんでした。所詮画面のあるシステム、そうそう違いがあるとは思えないので、ためしに画面設計に関するモデリングを検討してみました。

続きを読む

Posted by あかさた
Kodougu において、「編集ウィンドウを開いた状態で Del キーを押すと図上の要素が消える」というバグを修正しました。

【Bug】編集ウィンドウ上で Del キーを押下すると、図上の要素が消える
http://www.kodougu.net/p/kodougu/ticket/show/21

GUI アプリケーションの状態管理がうまくいっていなかった例です。「特定の状態時」に「どのような操作」を許可するのか、しっかり分析しないと、実行して欲しくないタイミングで拾って欲しくない操作を拾って実行してしまいます。

Command パターンか何かで処理を実装するようにして、Command の実行条件に GUI の状態を指定できるようにするようなフレームワークを作った方がいいのかも。今は何もかもを押しつけられたスパゲティな「Controller」になってしまっているので。


Posted by あかさた
Kodougu で PNG 出力機能の実装を開始しています。なんかぼやけてて、バグバグで、文字化けしてますが、少しずつ前進しています。

以下のような URL を入力すると、Ruby/GtkMozEmbed を使って図のスクリーンショットを撮るというやり方をしています。
http://www.kodougu.net/p/kodougu/diagram/png/82

続きを読む

Posted by あかさた