冷麺 2004年10月

2004年10月08日

引っ越してきました

以前「さくらウェブが大解放」でもチラッと書いたとおり、サーバーを移転しました(アドレスが変わりました)。同じさくら内のサーバーなんですが、以前より快適になってます。なってるはずです。多分。

移転を機会にちょっと気になってたところをいろいろリニューアルしたんですが、いかんせん見た目の変化がまったくないので「これだけ苦労したのに誰もわかっちゃくれない。大人はわかってくれない」という気持ちが強く、せっかくだからココがこんな風に変わりましたよ、ということを数回に分けて精一杯アピールしたいと思います。ほとんどがMovableTypeに関することなので、MTの運営Tipsとして多少はお役に立てるかなということも含めて。

ホスティングサービスやMTに興味のない方には退屈な話になります。悪しからず。

まずはさくらウェブの新サービスなんですが、一番強力な「プレミアム」を選択しました。以前のサービスでは年額¥10,000で容量150MB、CGI・SSIが使えたんですが、新サービス「プレミアム」では年額¥15,000で容量3GB(!)、CGI・SSI・PHP・MySQL・RUBYが使えるようになりました。正直容量はいっぱいいっぱいだったので一気に20倍はありがたいです。また、料金が1.5倍になった分、サーバーの快適度も上がっているように感じます。以前はタイムアウトでエラーが出るため出来なかった「MTのまるごと全部再構築」も楽勝で出来ます。

ついでに独自ドメインも取得しました。kowagari.netです。これで次回からは移転してもわざわざアンテナやブックマークの変更をお願いしなくても済みます。恐らくもう移転はないでしょうけど。

次にMT関連ですが、ざっと変更点だけ箇条書きにして、細かいTipsの内容は次回以降に。

  1. MovableTypeを2.64から3.01D-jaにバージョンアップした。
    • 3.0の最大の売りはコメントスパムを防ぐことなので、はじめからコメント欄を用意していない冷麺ではほとんど意味がない。逆に、テンプレートを新たに書く必要がなかったので、バージョンアップそのものは非常に楽だった。
  2. ページをSHTMLからPHPに変えた。
    • せっかく使えるのだから使わなければ損、という貧乏性な考えでPHPを使うことにしたのだが、とてつもなく大変だった。MTPaginate(MTのプラグイン。長くなりすぎたカテゴリアーカイブなどをページ分割する)が使えるようになったのは大きい。
  3. データベースをBerkleyDBからMySQLに変更した。
    • サーバーの負荷はこれで軽減されるらしいのだけど、正直何がどうなってるのかよくわからない。PHPもMySQLも未知の世界です。
  4. AmazonWebサービス用のXSLTを用意した。
    • 今まで全て手作業で行っていた(!)サイドバーのAmazonレコメンドを楽々作成できるようになった。ついでに本文の中で使うAmazonへのリンクもXSLTとPHPを使って動的に生成できるようにした(そういうページは必然的に重くなるのだが)。
  5. ランダム画像とランダムメッセージをPHPにした。
    • PHPになったことによって、今までSSIで呼び出せていたCGIが一切使えなくなって困った(やり方が悪いだけなのですが)。ぶっちゃけた話、PHPでもSSIとまったく同じやり方で外部CGIを呼び出せるのだと思っていたバカです。その代わり今までよりもスマートな挙動になった。

2004年10月15日

MTテンプレート

徳保さんがMTのテンプレートを公開しているので便乗しようと思います。前回MTのTipsを書くなどと予告してしまったのですが、よく考えたらどれも全部人のやってることのコピーに過ぎないので僕が偉そうな事書いても仕方ないなと思って途方に暮れてたところでした。ソースだけずらっと提示して、ちょっとした解説だけ書くので、参考にしたい方(激しくいなさそうですが)はソースとにらめっこしてみてください。あんまり高度なことはやってません。

Main Indexのテンプレート

Main Indexでは3つの別ファイルをインクルードしています。54行目の <? include("res.htm"); ?> という部分と、72行目の <? include("rc.htm"); ?> という部分と、76行目の <? include("buy.htm"); ?> という部分です。res.htmというのは一言返信を書いているHTMLで、手作業で書いています。rc.htmというのは他のページでも使いまわしているサイドバーのメニューです。これはMTによって生成しています。buy.htmというのはサイドバーのメニューうち、Amazonレコメンドの部分のページです。手作業で書いています。これら3つの別ファイルを読み込んで、冷麺のトップページは表示されます。別ファイルの方が管理がしやすいというメリットがあります。

最後の部分のPHPスクリプトはbbcloneというアクセス解析です。日本語版も提供されています。

MTタグでは特別なことは何もやっていません。コメントとトラックバックを排除しているだけです。

rc.htm(サイドバー)のテンプレート

サイドバーを別ファイルにしてインクルードすると、個別ファイルに「最新○件の記事」という表示をつけても、サイト丸ごと再構築する必要がなくなります。サイドバー1ページ再構築するだけで、サイト全体の「最新○件の記事」タイトルが最新の状態になるわけです。また、MTと無関係なページにもこのサイドバーをインクルードすることによって、外観を統一したり、コードを書く手間が省けたりします。

他のテンプレートはざざっと。

Data-BasedArchiveのテンプレート

IndivisualEntryArchiveのテンプレート

CategoryArchiveのテンプレート

IndividualArchive(個別アーカイブ)では、59行目から75行目でAmazonWebサービスのインクルードを行っています。これは最新の価格を動的に表示するためです(負荷が高く、かなり表示が重くなるのでオススメできません)。Amazonの規約では価格表示を行う場合は最新価格を表示しなければいけないのです。また、商品は予めasin.txtに書いておいたasinナンバーの中からランダムで1つピックアップされるようにしてあります。このコードは「Chitatopops: ランダムにメッセージを表示するPHPスクリプト」を改造しました。

CategoryArchive(カテゴリアーカイブ)ではMTPaginateというプラグインを使用しています。MTPaginateについては「ARTIFACT ―人工事実― | MovableTypeのページ分割/Permalinkの変更」及びそのTrackBackを読んで導入しました。割と難しいです。また、ナビゲーションを少しだけ工夫しました。

次回はAmazonWebサービスの利用についてちょっと書きます。

2004年10月16日

(多分)猿でもわかるAmazonWebサービス

(注意:このエントリはAWS3.0時代に書かれたものです)

今回はAmazonWebサービスの利用についてです。と言っても何も高度な事をやるわけではなく、「日記の中に体裁の整った個別商品リンクを仕込みたい。出来れば楽をしてリンクを生成したい」とか「サイドバーにオススメ商品リンクを手軽に作りたい」とか「ちょうどいい大きさの画像を表示したい」とかその程度のレベルです。

まず、体裁にあまりこだわらないのであれば、先人が作った優れたサービス(ツール(?))を使わせてもらうのが一番手っ取り早いです。既に『G-Tools』、『amazlet』、『AsociateHelper』という素晴らしいサービスがあります。ほんのちょっとの楽をするためにものすごく面倒なコードを書くというのも考え物なので、これらが生成するHTMLを気に入ったのならそのまま使わせてもらうのがいいと思います。

「生成するHTMLをどうしてもカスタマイズしたい」「出来れば動的にHTMLを生成したい」「大きすぎず小さすぎない丁度いい画像を表示したい」という場合にはXSLTやPHPの勉強をする必要があります。とはいえ、XSLTもPHPも全くのズブの素人である僕ですら何とかなったので、「コードとか書けねえよ!」って人もあきらめるにはまだ早いです。

続き

まずAmazonWebサービスを利用するにはアソシエイトIDとは別にサブスクリプションID(旧名:デベロッパートークン)を取得する必要があります。2004年10月16日現在、Amazon.co.jpとAmazon.comとの連携が上手くいっておらず、Amazonアソシエイトセントラル(日本サイト)からIDをうまく取得できない状態になってます。正しいID取得ページに行って、サブスクリプションID(登録ID)を手に入れてください。登録IDは20桁の英数字です(旧デベロッパートークンは14桁の英数字でした)。このIDは後々ずっと必要になります。

手始めに自分が手に入れたIDで、アマゾンから情報を引き出してみましょう。ドラクエ8の商品情報を見てみます。

「?dev-t=」以降の英数字の部分は自分が取得した20桁の登録IDと置き換え、「&t=」以降の部分は自分のアソシエイトIDに置き換えます。すぐ想像つくと思いますが「&AsinSearch=」以降の英数字がasinナンバーです。書き換えたらブラウザのアドレス欄に貼り付けて飛んでみてください。書き換えずにそのままコピペしても飛べます(その場合は僕の登録ID、僕のアソシエイトIDが使われます)。ブラウザに商品情報やカスタマーレビューが書かれたXML文書が返ってきたはずです。

これを加工して、自分のHTML文書に合った体裁にするのがXSLTの役目なんですが、これを書くのが非常に面倒くさいわけです。先に挙げた3つのツールは、独自のXSLTによってさまざまな体裁のHTMLソースを提供するサービスだと言えます。

コピペしたアドレスのうち、「&f=xml」という部分を「&f=http://kowagari.net/diary/xsl/asin.xsl」に書き換えると、このようなアドレスになります。 「http://xml-jp.amznxslt.com/onca/xml3?dev-t=1RY2GZY6JZHCCDDV7482&t=kowagari-22&f=http://kowagari.net/diary/xsl/asin.xsl&locale=jp&type=heavy&AsinSearch=B00062ILP8」。ここに飛ぶと、さっきはわけがわからなかったXML文書が、XSLTのおかげでそれっぽく見えるようになります。

僕の場合は『G-Tools』さんのXSLTを改造して、自分専用のHTMLを生成するXSLTを用意しました。ソースを保存して見比べてみてください。何となく改造の仕方がわかると思います。もうちょっとシンプルな改造XSLTも用意しました。ここからならすぐに自分用に改造できると思います。(本当はここが一番肝心なんですけど、説明すると多分本1冊分くらいの分量になってしまうので端折ります)

さらに『AUSGANG SOFT』さんが作られた『G-Toolsブックマークレット』を併用すると、Amazonの商品ページから直接このXSLTを呼び出せます。登録IDとアソシエイトID、呼び出すXSLTのURLを自分のものに書き換えればそのまま使うことが出来ます。ブックマークレットの説明は小関さんのページがわかりやすいです。

試しにテラヤマ専用ブックマークレット、←このリンクを右クリックして「お気に入りに追加」してみてください。それからAmazonの商品ページ『スター・ウォーズトリロジー』をブラウザに表示して、今さっき「お気に入り」に入れたテラヤマ専用ブックマークレットを表示します。このようにすれば、簡単にHTMLソースを生成できるわけです。

ただ、これによって生成されたHTMLソースは価格変動が起こったときなどに対応できません。Amazonは発売直後が15%OFF、暫く経って定価になるなどの価格変動がよくあります。間違った価格を表示し続けることはAmazonの規約違反です。なので、生成するソースをPHPにして、動的に価格を取得するという方法が使えるのですが、ここにも落とし穴があって、Amazonの規約ではWebサービスから情報を引き出すのは1秒に1回までという制限があります。動画ナビゲーターさんなどにリンクされて、1秒間に10人も20人もこのPHPにアクセスされると、規約違反でサービスを止められてしまう可能性があります。そのような怖れがあるなら、価格や在庫状況は表示しないようにした方が無難かもしれません。あるいはデータベースに格納した最新価格を1時間毎に更新するなどの工夫が必要になります。


これら改造ソースは全てG-ToolsさんやAUSGANG SOFTさん、amazletさんのソースを元にしていることを重ねてお断りしておきます。改造とかしないでそのままこれらのサービスを利用させてもらった方が確実に楽です。


さらに追記。サブスクリプションID(旧名デベロッパートークン)はアプリケーション開発者を特定するためのIDであり、今回の場合で言えばほとんどが『G-Tools』さんの開発したXSLTを、ちょこちょこと僕が改変しただけなので、IDは『G-Tools』さんのものをそのまま使うべきなのかもしれません。

2004年10月18日

図解!アンテナ捕捉先が移転したら

「あれー? おっかしいなあ。ちゃんとURL変更したのになあ。なんでいつまで経っても「冷麺は移転しました」ってアンテナに出るのかなあ。しかもめちゃめちゃ上の方に表示されて超うざい。はてなアンテナのバグ? 嫌がらせ? なんかうぜえから冷麺はもう読むのやめよう。死んじゃえテラヤマ」

うわー、ちょっと待ってください! それ間違ってます! 僕のせいじゃありません! URL変更したつもりが変更されてません。とりあえず手っ取り早い解決方法は「一旦冷麺の登録を削除して、改めて登録しなおすです! はてなアンテナの編集画面で「リンクURL」と表示されている部分は、更新チェックを行うURLではなくて、アンテナからリンクしているURLのことです! 何言ってるかよくわからない? じゃあ図解します! なんかおかしいなあって思ってる人は是非読んでください。

まずは状況確認しましょう。アンテナの編集画面を表示します。

アンテナ編集画面

ここにずらっと並んでる「更新チェックするサイト」から「冷麺」を探してください。「冷麺」という文字をクリックして、詳細画面を表示します。

冷麺をクリック

こんな編集詳細画面が出てきます。

間違っているケース

よーく見てください。リンクURLはきちんと「 http://kowagari.net/diary/ 」と新しくなっていますが、その上に表示されてるURLはこんなんなってません?

「 6.http://bx.sakura.ne.jp/~kyou/diary/ 冷麺 」

古いURLです! これはつまり、「古いURLの更新をチェックしろ、そしてアンテナのリンクをクリックしたときは新しいURLに行け」ということです。これじゃあダメなんですよー。「おかしいなあ」と思ってリンク先(リンクURL)に飛ぶと、どこにも「冷麺は移転しました!」なんて書いてない、という事態に陥るわけです。

一旦登録を削除して、移転先をアンテナに加えてください。そうすればしつこく「移転しました!」という表示が出ることはなくなります。そして正しいURLが登録されると、編集画面はこんな風になるはずです。

正しいケース

よーく見てください。「リンクURL」もその上のURLも、両方とも正しく「 http://kowagari.net/diary/ 」になってます。

九十九式の宮本さんに教えてもらったのですが、調べてみるとかなり多くの人がこの間違いをしているのでした。というか、はてなアンテナの説明不足ですねこれは。「アンテナ登録しているサイトが移転したら、編集しないで削除する。それから改めて移転先を登録する」。覚えておくんなまし。

2004年10月30日

お葬式

2年半前「肺気腫」を患った祖父が今月の23日に亡くなり、岩手の方に葬式に行ってきた。享年87歳。男でこの年齢なら長生きと言っていい。しかし10年前に失明し、2年半前には肺気腫を患い、苦しみながらの死だったので、大往生という感じでもなかった。

高齢になってから目が見えなくなったものだから、祖父は自分ひとりでは何もできない。24時間つきっきりの介護が必要で、またド田舎なものだから設備や人員の整った病院がなく、祖母に全ての負担がかかってしまう状態だった。祖父は男尊女卑の塊のような暴君で、祖母をまるで奴隷のように扱う。正直祖母としては亡くなってほっとしたという方が大きかったと思う。あのまま何年も辛い介護が続いたら、祖母の方が倒れてしまうか、あるいはもっと最悪の事態が起きかねなかった。そんな事情があって、葬式は湿っぽくもなく、かと言って明るくもなく、誰も口には出さないが「やっと逝ってくれたか」という後ろめたいような複雑な雰囲気に包まれていた。

僕は2回目の経験だったのだが、東北の葬式は東京とは何もかもが違う。他ではどうなのか知らないが、岩手県岩手郡安代町日泥という土地での葬式は実に奇異な風習でいっぱいなのだった。ちょっと記録しておこうと思う。


23日土曜日。前日から岩手に行っていた僕の母から電話があり、祖父が亡くなったとの知らせを受ける。仕事の都合があるのですぐには行けないが、「火葬には立ち会え」と言われる。ここがまずおかしい。普通は告別式に出るべきところだ。

24日日曜日。父が朝早くに岩手に出発する。僕は月曜日の仕事の段取りを一日中やっていた。岩手から電話がある。「26日に焼き場に行く。27日が告別式だ。日にちが近いから両方出なさい」と言われる。焼いてから告別式まで日が開くこともあるのだった。

25日月曜日。11時頃、僕の妹と甥っ子姪っ子、従兄弟2人の総勢6人で岩手に向けて出発した。葬式の段取りは実に不可解だった。まずお通夜というものがない。23日に亡くなってから今日まで、親戚連中は実家に集まってずーっと飲んだくれてはいるのだが、弔問客などは受け付けないのだ。線香を絶やさずにとにかく連日連夜飲み続ける。そして、告別式をやる前に荼毘に付してしまうのだそうだ。この日夜遅くに岩手に到着すると、実家は酔っ払いの溜まり場と化していた。恐がる甥っ子と一緒に死に水を取った。祖父の遺体は87歳とは思えない頑健な体躯で、棺が窮屈そうに見えた。虫歯が一本もなく、全部の歯が生え揃っていたので、変な言い方ではあるが実に立派な死に顔だった。

26日火曜日。実家から車で40分ほどもある焼き場で遺体を荼毘に付す。病気で亡くなった老人の骨というものはボロボロに崩れてしまうらしいが、祖父の骨はしっかりと形を保っていた。骨壷(というか桐箱)に詰めてまた実家に戻る。この日の夜は近所のおばさんが集まって不思議な念仏を唱えた。妙な鳴り物をカンカンと鳴らしながら、「なんむあーみだーんぶつ なむあみだー」と東北特有のズーズー弁で1時間近くも歌う。これは念仏というより正に歌だった。歌詞をよく覚えていないらしく、途中何度も間違えるおばさんがいたり、鳴り物を鳴らすおばさんにリズム感がまったくなかったりで、聴いていると自然に笑いがこみあげてくる。沈鬱な雰囲気が全くない不思議な念仏だった。この念仏を聴きながら、後ろでは親族が大宴会を開いている。

27日水曜日。告別式。実家の大広間で行われた。これはごく普通の葬式だ。坊さんが読経して喪主が挨拶する。唯一違うのは、遺体ではなく遺骨を前に行われるということだった。告別式が終わると、実家から1kmほど離れた墓所まで親族一同が遺骨や遺影、造花、卒塔婆、あとは何の意味があるのかよくわからない龍の意匠の施されたのぼりなどを持って、行進というか行列をする。誰が何を持つかは予め決められていて、一人一人名前を呼ばれて持たされる。この時に、男は幽霊がつけているような白い三角頭巾を頭に付けられ、女は白いリボンを頭に付けられる。幽霊一座のような行列がぞろぞろと歩く姿は、知らない人が見たらぎょっとするに違いないと思った。「まるで昔の映画の1シーンみたいだね」と言っている人もいた。墓所にたどり着くと、墓を開いて遺骨を収めるのだが、いきなり骨壷(というか桐箱)を開けて墓の内部に骨をぶちまけるので驚く。先祖の骨とめちゃめちゃに混じり合って墓に入るのだった。線香をあげて、行列は終了した。このあとさらに寺まで行って会食があるのだが、僕ら孫たちは早々に切り上げて東京に向けて出発した。夜8時、東京に到着。


以前別の親戚が亡くなったときは12月の後半で、行列の時に地吹雪が起こっていて大変だった。次に来る時は祖母の時なんだな、と考えたら少し切なくなった。



Amazon.co.jpアソシエイト

楽天

MENU

冷麺最新5件の記事

冷麺最新3ヶ月

Amazonレコメンド

Amazonトップセラー