preload
2月 18

Rails勉強会(東京)に行ってきた(080217)

Ruby コメントは受け付けていません。

なんと、第27回とのこと。長く続けられている運営の皆様に感謝&尊敬。今回は、霞ヶ関 CTC さんのセミナールームっぽいところをお借りしました。ありがとうございます。

Ruby 関連のこういう勉強会は、今回初めての出席。今回おこなわれた Rails 勉強会は、冒頭、その日のセッションを前後半、幾つかの部屋に分けて募り、いずれかにサインアップしていくという方式。こういう方式のおかげで、Rails 歴の短い僕も、自分のレベルに合うセッションに参加させていただく事ができた。こういう運営はうれしいなあ。

前半は、先日公開された fastladder のソース読み。こういう面白い教材をオープンにしてくれたなかのひとに感謝!一応手元の MacBook で動かせるようにして、gonzui でソース読みの環境を作ってから臨んだ。進行は井上さん。始めに E-R 図で全体のモデルを確認してから、サインアップ〜ユーザ認証〜セッション管理周りを追っていく。認証は AuthenticatedSystem を使ってて、特にトリッキーな部分は無く、素直な実装だった。元が Perl アプリだから当たり前か。Application.rb で before_filter :set_member してて、毎アクセスごとに DB 問い合わせしてユーザの正当性をチェックするような実装になってるみたい。
認証周りだけだと時間が余ってしまったので、lib/crawler.rb も追ってみたい、とお願いし、一緒に読むことになった。サーバサイドだと、クローラの実装周りが面白いところなんじゃないかな、と思って読んでみたけど、こちらもそれほどトリッキーな部分は見当たらなかった。フィードを取得するリクエストの発行部分のタイムアウト値の制御周りや、almost_same みたいなフィードの中身チェックの部分が結構興味深かったかな。本家の方には、まだ明かされてないいろんな工夫があるんだろうな〜。
そうそう、favicon を取得変換する辺りのメモリ使用量について話題になった。僕はこの件なにも追ってなかったんだけど、言われてるような FreeImage の問題なのかな?
メモリ使用量を 10 分の 1 にした shunirr.org さんによれば:

まぁ、favicon取得は新規サイトを登録した時だけだろうと思うので、たぶん2回目以降のくろうるからはメモリ使用量は大して変わらないと思いますけどね。

とのことだけど、どうも update の都度 favicon を見に行ってるように見えるなあ。 (ざっと読んだだけなので、ひょっとしたら違うかも。) subscription のときだけでもいいようにしたら、どうなるかな。
せっかくサーバサイドもセットで公開してくれたんだし、JavaScript 側も含めていろいろいじってみようかな。

後半は、舞波さんによる ActiveScaffold の紹介セッション。去年の8月くらいに ActiveScaffold をちらっと使ってみたけど、カスタマイズの仕方がよくわからなくて、結局放置してた。(ほぼ)ノンカスタマイズで使うときは Streamlined を使っていたので、良い機会だった。
使いはじめが scaffold と同じで簡単なことや、リレーションを動的に解決してくれることは知っていたが、ここまでいろいろカスタマイズできるとは知らなかった。active_scaffold :モデル名 でブロックへ渡してごりごりカスタマイズ。この第一歩がわかっただけで、すげーテンションが上がった。この一歩がわかれば、ドキュメントもソースもどんどん読める!いやー、ActiveScaffold ってスゴいんですね〜。

最後は、KPT (Keep, Problem, Try) と題した、運営の振り返り。前半後半の終わりにも、各セッションでどういうことが話されたかの振り返りの時間があったんだけど、こういうのも含めて、運営がしっかりしてるなあとおもった。27回も続いているのもうなずけます。

いつもブログ拝見してるような方々も来られてて、なんだかとても有意義な時間を過ごさせていただきました。今日は終わってから用事があったので懇親会は行けなかったんだけど、次回は懇親会も行きたいな〜。それから、なんかネタ提供してしゃべれるようにならないと。

Tagged with:
10月 21

今月は、忙殺&ネタ不足で何もできていなかったので、あり合わせで何か作ってみようということで、先に公開した 機種情報 DB の検索サービスを作ってみた。

てなわけで、機種情報検索サービスはこちら

携帯機種名を入れて検索すれば、DB 上のデータを部分一致検索して表示する。そんだけです。

携帯サイトを開発/運用していると、「900 以降だったら横幅何文字で作りゃいいかな?」とか「あれ?この機種横幅いくつだっけ?」とか、機種情報に関するちょっとした調べ物がよく発生するので、自分用に作ってみた次第。http://archive.tmty.jp/mbdb/?m=%s を Firefox にブックマークして、スマートキーワードを適当に設定(たとえば mb とかに)しておけば、<Ctrl+L> => mb n901i => <Enter> てな感じで、ぱぱっと検索できます。

そもそもは、キャリアがバラバラなフォーマットで情報提供するから面倒なんだよな。これから秋冬モデルがババっと出てくるし、適当に DB メンテしてやらねば。

あ、このサービスを携帯サイトの外部連携とかで組込みで使うのはご遠慮ください。そういう Web サービスもあってもいいかな、とは思うけど、今の運用環境的に、こちら側がボトルネックになっちゃうのが間違いないので。あと、レイアウトとか項目もいろいろいじると思いますので、スクレイピングとかするくらいなら 機種情報 DB から CSV 持ってってください。更新は timeline でも拾えますので。それから、ご利用の感想やら、なんかオカシイ動きをしてるところがあったら、コメントとかでこっそり教えてもらえると嬉しいです。

しかし、DB という形でネタを持っておくと、こうやって短時間でいろいろ作れて面白い。冷蔵庫にあるモノで作っちゃいました、という感覚に似てる。いまんとこワンパターンだけど、いろいろ作っておきたいな。

Tagged with:
6月 12

NetBeans-6.0M9でRubyOnRailsするとgenerateでコケる

Ruby コメントは受け付けていません。

こないだGREEの勉強会で聞いたNetBeansでのRuby On Railsを早速試してみた。せっかくいじってみるので、最新の Preview Release (M9) を入れてみた。

例によって僕のPCはubuntu-7.04 feistyなので、デスクトップ効果を使っている場合は、Java6 u1を入れておいてやる必要がある。この辺はSunのKatakaiさんのブログが詳しい。

で、インストールが終わったら、インストール先ディレクトリの bin/netbeans を起動。おー、ちゃんと起動した。

[File]-[New Project] で Ruby On Rails Application が選択できる。Project Name を付けてやるだけで、cli 不要で、さくっと初期設定できちゃう。これはラクチンだ。IDE から Run すれば、デプロイ気にすること無く、WEBrick の起動からブラウザの localhost:3000 アクセスまで、全部やってくれる。

本家では 10分でできるブログシステム開発のチュートリアル も、flash ムービー付きで公開されている。ということで、早速試してみた。が、Controllerの [Generate] してみたら、右下にエラーアイコンぽいのが出た。NullPointerException 吐いたみたい。
エラーメッセージは

A java.lang.NullPointerException exception has occurred.
Please report this at http://www.netbeans.org/community/issues.html,
:

こんなかんじで、あと、ログには↓みたいのが出てた。

どうやらGUI周りでトラブってるぽいんだが、Classpath確認やらJDKの再設定やら試してみても、解決しない。

というところで、上記のKatakaiさんのエントリに、

Java6 u1 を使うと NetBeans 6.0 が GTK のネイティブルック&フィールになるのでうれしい

というのを発見。ん、Look & Feel が変わってるのか。何か関係してるかもしれない、と、試しに起動オプションで Look & Feel をいじってみる。

$ ./netbeans –laf javax.swing.plaf.metal.MetalLookAndFeel

これで、起動したGUIで [Generate] したら、ちゃんと generate 用のダイアログが表示された。GTK の Look & Feel 制御周りがまだ怪しいのかな。

ともかく、これでRails開発ごりごりできるようになった。デバッグ環境が最初から整ってるのが、なかなか良い。

Tagged with: