2008年04月30日

JJUG収穫

JJUG Cross Community Conferenceに参戦。ここ最近、カンファレンスとか勉強会の類いに片っ端からエントリーしております。今回の最大のお目当ては、ひがやすをさんの講演ではあったけど、それ以外にも収穫がいろいろ。

まず、「さらば JAR、ようこそ JAM! Java 7 モジュラリティ、やさしく教えます」と題した、Java7でのパッケージ周りの方向性について。以前によくJavaで開発していた頃に何が面倒だったかって、CLASSPATHの取り扱い。必要な.jarファイルを全部並べたらもの凄い長さになってたり。このあたりがやっと改善されるらしい。なんでも、ファイル命名規則が決まっていて、モジュール名-バージョン.jamにするんだとか。モジュール名もお馴染みの逆ドメイン記法で、例えばcom.example.foo-1.0.0-RC1.jamみたいな感じ。ついでに依存関係とかもメタデータとして書けるように拡張されて、必要なモジュールが自動的にロードされるようになるらしい。これは素晴らしい。あ、でもまだ仕様が全然確定じゃないんだそうで、フタを開けてみたら全然違ってたって落ちになる可能性もまだあるそうで。ご注意。

次にLiftweb/Scalaの話。参加してみたら満員御礼でびっくり。Scalaってこんなに注目されてるのか。当のスピーカー本人が一番驚いていたかも。確か一つ前の号のWEB+DB pressで特集が組まれていたから、そこで注目を集めることになったのかも。内容はLiftでの簡単な処理を作るまでの流れを順を追って説明したり。View FirstなMVC(?)というのは珍しいかも。確かに、Controllerに1ページ分の処理が一緒くたになったりしないという利点はありそう。ただ、snippetの方がコードとHTMLが一緒になっているあたりが若干気持ち悪い。慣れの問題かもしれないけど。

立て続けにScalaの基礎の話に参戦。こちらは言語仕様を眺めてみるあたりがメイン。あと、Erlangと比較しながらのactorクラスの書き方とか挙動を比べてみたり。ここ最近、HaskellとかErlangとかの話が、Javaメインの人の間でも普通に受け入れられるようになってきている気がする。みんなそろそろ新しいものが欲しい時期に来ているのかも。Javaもなんだかんだで10年以上経ってるし。言語としてのScalaの印象は、OOと関数型の美味しいところを巧くまとめてるな、というところ。関数型の簡潔な書き方ができる一方で、Haskellほどには厳格になりすぎずに、OO風にオブジェクトを変化させながら処理を進めていくような書き方にも寛容だったり。現実主義っぽい印象。

トリはひがやすを氏による「ITゼネコンをぶっつぶせ」と題したディスカッション。内容はタイトルほど過激でもなくて、SIerに蔓延ってる悪しき慣習を打破して体質を変えていこう、という前向きな話。普段からSI屋さん批判をブログとかで書いているひが氏の得意分野(?)。鍵は「Programming First Development」。要件定義とコーディングの狭間にある、コードと同等の内容を自然言語で記述する「プログラム設計書」を書くなんて無駄、その代わりに詳細設計のフェーズを実際にプログラミングしてプロトタイプみたいなものを作りつつ、依頼主とのレビューを繰り返すような方法にした方が良くない?という提案が、今回の話の核心。ほんとに上手く行くかはともかく、心情的には賛成かな。あと、やっぱり人を育てるってところが肝だと思いますです。今のSI業界って、話を聞いている限りだと人を育てる余裕を失ってるところが多そうだし。

とまぁ、そんな感じのカンファレンスでした。丸一日入り浸ってたけど、貴重な情報もあり、考えさせられることありで大いに収穫がありましたです。さて。これをどうやって本業にフィードバックしようか。

posted by cesare at 23:22 | 技術関連

2008年04月23日

Twitterがついったーに

しばらく続いていた日本語化対応が完了したようで、今日から日本語で表示されるようになっていた。まずは、リリースおめでとうございます&お疲れさまでした。 > 中の人のみなさま

Followしている人たちの感想を見ていると、やや違和感を持っている人がいるみたい。急に切り替わったことと、広告が入るようになったあたりがポイントになっている模様。ちなみに、僕の使ってるブラウザだと見事にAdBlockされていて、中身が空の枠だけになっているということは黙っておいた方が良いのでせうか?:p

表示言語を決めるルールは、ざっと眺めてみた感じだと、HTTPリクエストの
  1. Cookie「lang」の値
  2. Accept-Languageの値
を順番に見る実装になっているっぽい?

このうち、Cookieの方は「設定」ページで日本語表示に切り替えるとセットされるのだけど、有効期限が入っていない模様。

Set-Cookie: lang=en; path=/

設定を変えてもブラウザを再起動すると元通りになるのは、ここが原因では? とりあえずは、expiresを明示しておいてはいかがでしょうか?

でも、どちらかと言うと設定した表示言語をサーバー側に持つような実装の方が有り難いかな。今のやり方だと使うブラウザごとに設定しないといけないし。ちょっと面倒に思えますです。

とはいえ、Twitterお気に入りだし、ローカライズを始めとして、より広い層に使いやすくしていくという方向は歓迎です。今後の発展に期待。

posted by cesare at 20:36 | 技術関連

iGoogle ART CAFE

iGoogle ART CAFEに遊びに行ってきましたよ。 ART CAFE by Google

期間限定なので、一度ぐらいは覗いておこうかと。明日で終わりだし。

店内の様子はこんな感じ。

in the cafe

客席の半分ぐらいは普通のテーブルで、残りの半分はノートPCを並べてあるあたりがGoogle。とりあえず何か食べたかったのでPCのない席に。昼前に着いたので、まだ人も多くなくて好きな席に座れました。BGMの選曲もかなりお洒落。Steely Danとか。彼らの音楽はGoogleによく合う。理知的なところが似てるのかな。

「Couleur de Google」を頼んでみた。 Couleur de Google

せっかく来たので、アーティストテーマも設定してみることに。一通り眺めてみて、隈 研吾さん作のHIROSHIGEにした。店員をつかまえてグッズをもらう。どんなグッズがあるのかと思ったら、店員がノートPC抱えて戻ってくる。見るとYouTubeの動画をいくつか配置したページが。この中から一つ選ぶべし、と。「?」と思いつつも適当に選ぶと、その動画を再生。何を見せられるのかと思ったら、ポストイットにグッズの名前が手書きされる映像が。なるほど。細かいところまでGoogleらしい。ちなみに、もらったグッズはオリジナルミラーでした。

とまぁ、そんな感じで、お洒落に見せかけつつも細かいところに遊び心を配置したカフェでありました。

posted by cesare at 18:45 | 日記

2008年04月21日

Rails勉強会@東京に参加

Rails勉強会に参加してきた。今回の会場は、虎ノ門近くの伊藤忠テクノソリューションズさんのオフィスにて。ここに来るのは2度目。この前はRuby検定のときでした。あ、そうそう、検定は落ちましたorz。という話はさておき、会場提供ありがとうございます > CTCのみなさま。

今回のお題は
  • Scaffoldの半歩先へ
  • GITの話
  • Passengerの話
  • rake taskの話
  • Railsアプリケーションの運用周りの話
というラインナップ(抜けてないよね?^^;)。僕はと言えば、GITとrake taskのセッションに参加。

まず、Rails本家で採用になって注目を集めるGITの話ですが。とりあえず話を聞かせてもらおうかと気軽に参加してみたは良いけど、説明ができるぐらいに詳しい人はいないようなので、人柱に手を上げてみる。PCを部屋にあった大型モニターに繋いで、全員が同じ画面を見ながらインストールから簡単に使ってみるまでを試してみようということに。そうそう。気になるGITの発音は「ぎっと」が正解だそうです。「じっと」じゃないらしい。

インストール自体は、本家からソース取ってきて configure & make で特に問題なく片付ける。インストール先に夥しい数の git-xxx コマンドが置かれている(しかも大半がハードリンクしてる)のが気になる人が多い模様(笑)。各コマンドの使い方とかは僕自身も全然詳しくないので、Git - SVN Crash Courseあたりの解説を眺めながらローカルでレポジトリ作ってみたり、cloneしてみたりブランチ作ってみたりしながら何が起きるのかを確かめていく感じ。簡単に使ってみた感想としては、一人で自分用ファイルの履歴管理とかするのには手軽に使えて便利だけど、複数メンバーで共同作業するときは作業手順を予め合意しておかないと収集がつかなくなりそうだな、と。Railsの中の人とか、どんなルールにしてるんだろう?

後半セッションは、瀧内さんによる rake task の話。Rails trunkに入っている新しいタスクを覗いてみようという趣旨で。どうやら migrate 周りの方針が少し変わったようで、db/migrate/配下に自動生成されるファイルのプリフィックスが日時情報っぽい名前になっているという予想外の展開が。今までだったら 001_create_xxx.rb みたいな名前だったのが、20080420070446_foo.rb なんて感じのファイルが生成されるようになっております。確かに時系列に並ぶようにはなるけど、ちょっと気持ち悪いかも。で、おそらくこの変更と関連して、time:zones:*タスクが新設されている模様。きっと、タイムゾーンが違うところにいる人同士での作業に配慮したんではないかと思われますが、敢えて単純な通し番号方式をやめて日時情報形式にしなければならなかったのかは、まだよく解りません。謎。

その他には、gems:*タスクが増えていて、ちょっと気になるところだったので掘り下げてみることに。どうやら、config/environment.rbに例えば、
Rails::Initializer.run do |config|
  config.gems = [
    Rails::GemDependency.new('oauth'),
  ]
  # 以下略
みたいに書いておいて rake gems:install とすると自動的に必要なgem(上の例だと oauth)をインストールしてくれたりするみたい。詳しくは瀧内さんが書いてくれるはず:)

という感じで、いろいろと勉強になりました。GITはちゃんと理解して使えるようになっておきたいな。早めにベストプラクティスを探っておきたいところ。近々にまたエントリー書きます。

posted by cesare at 00:26 | 技術関連

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は1年以上新しい記事の投稿がないブログに表示されております。