2004-08-18 [長年日記]
_ postdiary.rbで回り込みを使いたい (06:02)
postdiary.rbでの写真投稿はimage_rightで受けるようにしているんだけど、よく考えたら、
本文+\n+imgタグ
という形式で投稿されちゃうんで、せっかくimage_rightしていても本文が回り込んでくれない。かといって、
imgタグ+\n+本文
にしちゃうと、俺の場合は本文にセクションタイトル要素を書いているんで、それが写真の後ろに来てしまう。というのがいやだったんで、postdiary.rbを、
- @body = "#{@body.sub( /\n+\z/, '' )}\n#{img_src}"
+ @body = @body.split(/\n/).insert(1, img_src).join("\n")
+ @body = "#{@body.sub( /\n+\z/, '' )}\n"
に変えてみた。要は、本文の1行目をセクションタイトルと見なし、2行目にimgタグを挿入し、その後ろの残りの本文をくっつける。という改造をしてからふと思いついたけど、本当はSubjectを使って、
'!"+subject+"\n"+imgタグ+\n+本文
を投稿するようにした方がいいような気がしてきた(Wikiスタイルの場合)。メール投稿のsubjectは、日付のタイトル扱いではなくセクションタイトル扱いの方が似つかわしい気がする。
subjectを使うようにしてみた
最初にsubjectを見て、subjectがあったら@bodyの頭に(Wikiスタイルの)セクションタイトルの形式で追加。んでもって、imageがあったら、それは@bodyの2行目に挿入。(日付の)タイトルは送らない。というアプローチ。下はpostdiary.rb(Revision: 1.1)との差分。Wikiスタイル+カテゴリ使用の人じゃないとそのままじゃ使えないと思う。
153a154,160
> title = ''
> if /^Subject:(.*)$/ =~ head then
> title = $1.strip
> title = NKF::nkf('-eXd', title)
> @body = "! [moblog]#{title}\n#{@body}"
> end
>
160c167,168
< @body = "#{@body.sub( /\n+\z/, '' )}\n#{img_src}"
---
> @body = @body.split(/\n/).insert(1, img_src).join("\n")
> @body = "#{@body.sub(/\n+\z/, '')}"
183,187d190
< title = ''
< if /^Subject:(.*)$/ =~ head then
< title = $1.strip
< end
<
190c193
< data = "title=#{CGI::escape NKF::nkf( '-eXd', title )}"
---
> data = "title="
_ うがー今日はいい天気だ (11:43)
帽子かぶってくれば良かった。
ちょっと暗いな
W21Sのカメラ、AUTOモードで撮るとちょっと暗いな。昨日の暗い空を見て、てっきり状況にあわせた方向に強調して写すタイプなのかと思っていたら、単に暗いだけか。AUTOじゃなくてマニュアルでシーン設定をした方がいいのかな。
_ 元チェッカーズの徳永善也さん、舌がんで死去 (13:34)
ちゃかしたらいかんネタだということは重々承知しているのですが、思わず「徳永善也さん、舌かんで死去」と読み間違えてしまったのです。「へー、自殺か」とか思っちゃったのです。ごめんなさい。もうしません。
_ tDiaryのテーマとサイトのアイデンティティ (14:41)
tDiaryのテーマという仕組みはとてもよくできた仕組みだと思うけれども、自サイトのテーマを既成のテーマの中から選んで頻繁に入れ替えたりすると、そのサイトのアイデンティティというものが失われていってしまう気がする。それは、特にキャラクターなどの特徴が強いテーマを使った場合に顕著。
人はまず見た目で識別してかかるので、同じ特徴的なテーマを使っているサイトは一見同じもののように認識してしまう。それでも、そのサイトがそのテーマを使っていることに慣れてくると、見た目の類似ではなく文章の内容の方に集中できるようになってくるのだが、そこでまたがらりと別の特徴のあるテーマに変えられてしまうと、再び外見のイメージの方により強く引きずられてしまい、文章の内容に集中できなくなってしまう。
と一般論のように語ってみたわけだが、結局言いたいことは、「あんまり頻繁にテーマを変えられるとどのサイトを読んでいるのか私がわからなくなって混乱するので、あんまり頻繁にテーマを変えたりしないで欲しいなー」という愚痴なわけです。
_ 旧サーバーをApache 2.0.50+PHP 4.3.8に (17:11)
この間からなぜかPHPをアップデートしようとするとこける状態になっていた旧サーバー(このサーバーね)。Apache 1.3系列+PHP 4.3系列と、Apache 2系列+PHP 5系列を平行して動かつつアップデートを重ねてきたんで、どこがこけているのかさっぱりわからない。
やけくそなんで、旧ApacheとPHP関連はすべて抹消した上で、新規にApache 2.0.50+PHP 4.3.8をインストールしたら、ようやく動くようになった。やっとApache 2をメインにできたんで、これで(主にmod_svn周りの)ややこしい運用をせずにすむようになるな。
でもまだ設定を完全に復活させていないんで、いろいろ誤動作があることでしょう。
_ gz_handler→mod_deflate (19:35)
せっかくApache 2にしたんで、今までPHP上でob_start('gz_handler')してgz圧縮していたのを、mod_deflateに切り替えてみた。これならPHP以外のコンテンツも圧縮されるし。
なんとなく、圧縮処理自体の効率はmod_deflateの方が良さそうな気がするけど、どこかにベンチマークでもないかなー。他の要因の影響が出ないような環境を作るのが面倒くさそうだ。
そういやmod_gzipには、圧縮したデータをキャッシングして再利用する機能があったと思うんだけど、mod_deflateには見あたらないな。純粋に圧縮フィルタとしての機能しかなくなっちゃったのかな。
_ GDのjpegサポート (21:50)
PHPでimagecreatefromjpegを使おうとしたら、そんな関数ないと言われた。
んが、GDオプション付け忘れたっけ? とか思って見てみたら、GDは入っているけれども、jpegサポートが入っていない。前からそうだったかなー。GD関数ってPHPの(関数ライブラリの)いやな部分(主に命名規則)と直面しなきゃいけないから、あんまり触った覚えがないんだよな。
で結局、configureに--with-jpeg-dir=/usr/libとかつけないと、ちゃんとJPEGサポートされない模様。/usr/libくらい自動で検索してくれればいいのに。
いつまで経っても眠れないので、いつのまにか現実逃避モードに入ってしまった。眠れないときはプログラムを書いたり、インストールしたりしたくなるよね。 ケータイからブラウザアクセスして日記を書くのも大変なものなので、メールで更新できるようにすることにした。つ..

