2010年2月アーカイブ

ZenCoding はじめてみた

ブログ記事は MT のフォーマットをなしにして書くので、div>p を作るのがすごい楽。
EmacsWiki: Zen Coding

いつも、Emacs でドラフトを書いて、それを MT のテキストエリアにコピペするわけですが、フォーマットなしなので多少 HTML タグを書く必要があります。これを *scratch* で書いていたので、何のサポートもなく、ひたすらタイプしていました。

最近 ZenCoding を知って、その Emacs 版を使ってみることにしました。そしたら、「div>p C-RET RET」で段落のコンテナを作ってもらえるじゃないですか。まあ、この程度しか使ってないのであれなんですが、個人的にすごく楽になったように錯覚してます。

導入を決めたポイントはいくつかあります。

  1. プレビューがある
  2. テスト(spec)書く時に使う CSS セレクタを覚えられそう
  3. 楽できそう

未だに CSS セレクタを把握してないのは恥ずかしい限りですが、一石二鳥な感じがあってすごく期待しています。まだ考えながら使っているので、本当に楽になったわけではないんですが、期待感があるのでしばらくは使い続けるつもりです。正直、なんとかスニペットは使い忘れるんですが、これなら使い忘れることはないかな、という期待感もあります。

というわけで、ZenCoding の背景などは全く把握してませんが、CSS セレクタ書いて C-RET RET したら HTML を書き込んでくれるツールとして使っていこうと思います。

影舞 と DBI と最近の Ruby

社内のサーバをリプレースする作業が進行中。

その中の影舞を移行する作業を手伝ったわけですが、どうも比較的新しいバージョンの DBI や Ruby で動かすには、少々問題がある様でした。今は Redmine をメインで利用していますが、影舞には過去の貴重な情報が詰まっているので、なんとかうまいこと移行しないといけません。ちなみに、影舞は社内のみの公開だったので、バージョンアップをサボって 0.8.6 を使っていました。

まず、Ruby の 1.8.7 を使って動かすためには、セーフレベル絡みで問題がありました。これに関しては、$SAFE = 1 の行を消せばなんとかなる様子でした。ただ、試しに影舞の 0.8.8 を動かしてみたら、その問題は解消されたのか、特に問題になっていませんでした。

問題は DBI 絡みで、DateTime#to_time や DateTime#minute などを呼ぼうとして undefined method などとなっていました。古いサーバでは DBI も古いバージョン(0.1.1)を使っていて、このバージョンを上げてしまうと件のメソッドを拡張した Time や Timestamp を使わなくなってしまうらしく難儀しました。突然 DateTime を使うようになった(?)事も問題の原因だったようです。

dbi-0.1.1 の野良 gem を作って解決を試みたりしましたが、今度は dbd-mysql のパスが変わっていた事で別の問題が発生したりして泥沼の予感がひしひしと。なんだか、DBD/Mysql/Mysql だかを呼ぼうとするわけですが、dbd-mysql は lib/dbd/ と小文字のディレクトリしかなかったり、よくわからない状況でした。

あまり時間をかけていられなかったので、最後の望みをかけて影舞のリポジトリの 0.8 ブランチを使ってみることにしました。これは、色々と情報をあさっていく中で、影舞で DateTime#to_time メソッドを追加したというコミットログがみつかったからです。

結果、なんとか動いている様に見えています。とりあえず新規レポートが書けて、返信できて、一覧や詳細を見られれば問題ないので、しばらくは様子見でいいかなという状況です。

そんなこんなで、近々社内システムを運用しているサーバが強化される予定です。

Apache でのコンテント圧縮のやり方を忘れて調べている最中に、AddOutputFilterByType は 2.1 以降で非推奨という事を知ったので。

そもそも、mod_filter が何をどうするものかさっぱり知らないので、その調査から始めているところです。今のところ、ダイナミックな設定を可能とする柔軟性があること、HTTP リクエスト、HTTP レスポンス、環境変数を元にしたフィルタのディスパッチが可能だという事くらいしか把握してません。
KOSHIGOE学習帳 - [Apache] mod_filter

プロトコル・ハンドリングのところが、いまいちよく理解できません。コンテント・フィルタ・モジュールの互換性維持を補助するための仕組み、という感じでしょうか。とりあえず mod_filter の機能要件を満たさないモジュールを、mod_filter で利用するための仕組みと考えています。

ところで、mod_filter は使われてるんでしょうか?コンテント圧縮についてググってみた限り、AddOutputFilterByType が使われ続けている様な印象です。まあ、ちょっとしか調べてないのであれですけど。単純に Apache 2.0 の方が使われているという感じでしょうか。

そんなこんなで、mod_filter でのコンテント圧縮に関する記事はゼロではないので、それらを参考にしながら、トライ&エラーでやってみようと思います。鬼門はブラウザ(端末)対応ですね...。

2010/02/04 現在で、PHP, Perl, JSP, ASPX の 4 種類が用意されているわけだけど、これをほか言語に移植することは規約違反?
Google Analytics | Official Website

前にも同じようなことを調べた気がしたら、まさに同じ理由(規約の第13条の(b))で断念してました。
Server Side Google Analytics できる気がしない - KoshigoeBLOG

何が正解か、いまだ正しく理解していませんし、Google に問い合わせてもいませんが、実際どうなんでしょうか?ググれば移植した人は実際にいるわけで、運用しているかはともかくブログ記事で公開していたりしますよね。多言語に移植する程度なら問題ないという事でしょうか。

メンテコストとか考えると、普通に PHP を使えるようにがんばった方が良さそうな気もしつつ...。

プロフィール

このアーカイブについて

このページには、2010年2月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2010年1月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。