日経ソフトウェア4月号

移動中にたまたま購入した雑誌が面白かったので紹介。

・ニコニコ動画開発記 (中)
技術的な記事はよく見るけど、これは現場の様子や人間関係などを詳しく書いたもの。
特に、1 週間で動画共有サイトを作った記録など。

・初音ミクの遊び方
書いた人はなんと、Perl で有名な結城浩さん。上手に歌わせるコツなど。
メロディの部分を作るところまで載っているので、初音ミクだけでなくただ DTM に興味ある人にも参考になる。

・PHP から iTunes を操作する
なんと PHP から COM を通して iTunes が操作できるらしい。知らなかった。
プレイリストの編集だけでなく、再生、停止、音量の調節までできるらしい。

・画像ファイルの読み込み
C 言語で 24bit ビットマップを読み込む。配列に格納して、操作するなど。
基本的なコードで書かれていてわかりやすい。

・アルゴリズム大全集(別冊)
ナンバープレイスや麻雀、経路探索 ( A* やダイクストラ) が載っている。
これは何かあった時に役立つだろう。

雑誌だから、って焦って買いに行かなくても、大きい本屋に行けばバックナンバーを置いてるので大丈夫。Amazon.co.jp にも在庫があるみたい。

Amazon.co.jp: 日経ソフトウエア 2008年 04月号 [雑誌]: 本

研究室配属

山口大学 防災システム工学研究室/安全環境研究室
4 月からこの研究室に配属されることになりました。まだ何をするかは決まっていません。

あと、このグループのメンバーになりました。

ハチロク世代
ハチロク世代のはてなグループです。高みを目指す同世代のエンジニアや各分野の専門家で横のつながりを作って切磋琢磨してみませんか?

明日から東京へ行ってきます。就職活動ではありません。
朝一の飛行機なので、目覚ましをいつもより冗長化しています。

Patio-FU の改良版が作られていた!

Patio-FU(改)
この掲示板スクリプトは、KENT-WEB の Web Patio の改造版である Patio-FU を更に改造した改造スクリプトです。

2 年くらい前に、KENT-WEB の WebPatio にアップローダーをくっつけたものはないかな?、と質問があったので「だったら作ってやるよ」と軽い返事で作ってしまったソフトが Patio-FU

本家の WebPatio がファイルのアップロードに対応しちゃったみたいで、更新せずに放置していたら、いつの間にか、改良版が作られていました。
Patio-FU(改) という名前で、サムネイル機能が付いているみたいです。

とりあえず、サイトデザインだけでも更新しておこうかな。

WordPress のインストール、カスタマイズ、テーマ作成のメモ

前の記事 ( 新しいブログを始めました | BlueSky Lab. ) に掲載した、D1 FREAKS SITE は ブログ作成ソフトに WordPress を使っている。ちなみに、このブログは Movable Type を使っている。

設定をカスタマイズして、オリジナルのデザインに変更するのは当然ということで、作業記録の覚書。
全体を通して、WPJ Codex - WPJ_Codex 本家のマニュアルが参考になる。

インストール

1. 事前に必要なもの
・サーバ (Linux+Apache+MySQL+PHP 環境)
・データベース (MySQL)
・mod_rewrite, .htaccess を有効にする

2. 本体をダウンロード
本家サイト( WordPress | 日本語 ) から WordPress 本体をダウンロードする。
WordPress JAPAN のほうはファイルがごちゃごちゃしているので、本体だけならこちらがおすすめ。

3. wp-config.php の設定
細かいことは割愛。DB の設定など。

4. 解凍したものをサーバにアップ
WordPress の入っているディレクトリ、wp-content ディレクトリのパーミッションを 777 または 707 に。

5. URL にアクセス
あとはページに従うだけ。正しく設定できていれば、あっという間に終わる。

設定のカスタマイズ

・編集専用アカウントを作っておく
管理機能が無効になるので、フールプルーフ的によい。

・テキストエリアを広くする
設定画面 (wp-admin/) →「各種設定」→「投稿設定」→「記事投稿用テキストエリアのサイズ」 を 20 行くらいに設定。
これだけで作業効率が 1.5 倍向上する。

・ビジュアルエディタを無効にする
WYSIWIG エディタが嫌いな人は無効にしてしまおう。私の場合、WYSIWIG エディタより HTML のほうが絶対に早く書ける。
「ユーザー」→ユーザーごとの「編集」→「投稿時にビジュアルエディタを使用する」をオフに。

・記事の URL フォーマットを変更
デフォルトの
http://d1freaks.plavox.info/?p=123
より、
http://d1freaks.plavox.info/archives/123 や、
http://d1freaks.plavox.info/2008/03/13/sample-post/
としたほうが、SEO 的に良い。
「各種設定」→「パーマリンク設定」で行う。

・RSS フィードは全文配信に
「各種設定」→「表示設定」で「RSS / Atom フィード」を「全文を表示する」に。

・RSS フィードの改行を有効にする。
WordPress では RSS フィードの本文の改行が削除されてしまう。これでは RSS リーダーで読みづらいので、改行を有効にする。
デフォルトでは、ページからポイントされているフィードは RSS 2.0 なので、wp-includes/feed-rss2.php を開き、
<content:encoded><![CDATA[<?php the_content() ?>]]></content:encoded>
という行を
<content:encoded><![CDATA[<?php the_content('', 0, '', 0, 3) ?>]]></content:encoded>
にすればOK。それでもうまくいかないときは、「表示設定」で「全文を配信する」になっているかどうか、確認する。

テーマを自作

1.テーマファイルを作成
wp-content/themes にテーマが入っている。

ここに新しいフォルダを作成し、最低限必要な以下のファイルを作成する。
・style.css (スタイルシート、必須)
・index.php (トップページ、必須)
・single.php (個別の記事)
・archive.php (カテゴリ、月別のアーカイブ)
・page.php (ページ機能で作成したページ)

以下のファイルも作成する。これらは上記のファイルのパーツとして使用される。
・header.php (ヘッダー)
・comments.php (コメント欄)
・sidebar.php (サイドバー)
・footer.php (フッター)
・images フォルダ (テーマに必要な画像等を入れるフォルダ)

以下のファイルは必要ならば作成する。私はどれも作成しなかった。
作成しなかったものは、デフォルトのものが使用されるので問題なし。
・404.php (記事が見つからない場合のページ...デフォルトのもので十分)
・comments-popup.php (コメントをポップアップ表示する際のページ...使わない)
・search.php (検索結果...サーバの負荷を考慮し、検索機能は Google に依頼した)
・searchform.php (検索フォーム)
・screenshot.png (テーマのスクリーンショット。300×225px。公開する場合はあったほうがいいかも。)

* CSS をたくさん分割しているテーマもあるが、読込速度向上の理由で CSS は 1 つのファイルにまとめて書くべき。

2. style.css にテーマ情報を記入。
絶対に記入する。テーマを認識するのに必要。
テーマ名、URL、著作者情報、などを記入する。
Author URI の下はコメント欄。ライセンスがあれば、コメント欄に記入する。ライセンスによっては、派生元のURL等も記入する。

例:

/* 
Theme Name: D1 FREAKS 2008
Theme URI: http://d1freaks.plavox.info/
Description: Theme for D1 FREAKS SITE.
Version: 1.0
Author: Takekatsu HIRAMURA
Author URI: http://d1freaks.plavox.info/
The CSS, XHTML and design is released under GPL: http://www.opensource.org/licenses/gpl-license.php */

3.上記ファイルを編集する
基本的に、「Default」のテーマをまねて書けばいい。
WordPress の関数を使う。Wptags.com公式の Function Reference (英語) が参考になる。

4. アップロード、設定
フォルダごとアップすれば、自動的にシステムで認識してくれる。
設定画面の「表示」→「テーマ」で選択すれば OK。

感想など

・ダイナミックパブリッシングなので快適
再構築の必要がなく、意外とページ生成も早いので便利。
設定画面のページ生成も Perl で作られている MT4 に比べて、WordPress は PHP なのでとても早い。

・改行の判定が MT に比べて素直な気がする。
<brockquote> の中に <p> が入る仕様は気にいらないけど。
仕方ないので、 CSS を使って無理やり解決させた。こんな感じ。

div.entry blockquote p{
 margin:0px;
 padding:0px;
}

・カテゴリとタグの概念が、カテゴリに統一されている。
カテゴリを複数指定できるなら、タグの概念と同じだからかな。

・トラックバックのリンクがない。
そもそもコメントスパムには、captcha やホワイトリスト、ベイズフィルタである程度対処できるけど、トラックバックスパムには対処できる決定的な手段がないからかな。
それに rel=nofollow ならスパムにも SEO にも意味をなさないしね。
そういえば、nowa や vox も TB の機能がなくなっていたような...。
「トラックバック終了のお知らせ」かな。

テーマのデザインがきれいにできたので、1カ月くらい運用して問題なければ、ロゴや広告を取り除いたものをテーマとして公開します。

新しいブログを始めました

新しいブログを始めました。正確には、昔作って 3 年間くらい放置していたサイトを復活させました。

ブログの内容は、新種のモータースポーツ「D1 グランプリ」に関するもので、GIGAZINE痛いニュース(ノ∀`) などに代表されるいわゆる 2 次情報発信サイトです。

これから忙しくなるはずなのに、こんなことを始める理由は、
1. 2 次情報発信サイトにおけるユーザ数、PV、RSS フィードに関する調査
2. AdSense の収入がいまだに(結構)あったことに気づき、新しい小遣い稼ぎを思いついた
3. DDNS サーバの更新を忘れがちなので、ドメインを統一して作業を効率化したかった
4. WordPress の使用感、CMS ソフトの仕様の調査
5. SEO に関する実験
です。

情報収集を効率よく行うために、livedoor Readerはてなアンテナ を駆使し、競技やイベントの開催日程は Google カレンダー を使って管理しています。

以下、宣伝。
D1 FREAKS SITE
D1グランプリの最新情報と紹介

mod_rewrite で 301 リダイレクトするサイトのお引越し例

Web サイトの URL を変更する時は、meta タグでジャンプさせるのではなく、 "HTTP 301 Moved Parmanently" の ステータスコードを出力するのが正しい。サーチエンジンのインデックスも自動的に書き換えてくれるので SEO 的にも良い。
ただし、RSS フィードのお引越しに関しては mala 氏の記事が大変詳しい。

ひとつひとつのファイルに対して設定するのは面倒くさいので、mod_rewrite を使って一括してリダイレクトすれば楽。
具体的には、ディレクトリのトップに .htaccess ファイルを置き、以下のコードを書けばよい。

例1. ファイル名を維持しないでリダイレクト
http://www.old-url.info/ → http://www.new-url.info/
http://www.old-url.info/somepage.html → http://www.new-url.info/

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* http://www.new-url.info/ [R=301]
</IfModule>

例2. ファイル名を維持してリダイレクト
http://www.old-url.info/ → http://www.new-url.info/
http://www.old-url.info/somepage.html → http://www.new-url.info/somepage.html

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule (.*) http://www.new-url.info/$1 [R=301]
</IfModule>

もちろん、.htaccess を有効にするには AllowOverRide を All にする必要があり、mod_rewrite も有効にしておかなければならない。

CSS デザインのボックスの無難な色の組み合わせ

スタイルシートを使用した、ボックスの背景と枠線の色の組み合わせ。
全て Yahoo! JAPAN のトップページから拝借した。

background-color: #edf2ff; border-color: #9fb7d4;
background-color: #ffecf7; border-color: #d49fc9;
background-color: #ffeac8; border-color: #ffbc6d;
background-color: #d9f5cd; border-color: #4ec346;
background-color: #f6f6f6; border-color: #b9b9b9;
background-color: #edf4f8; border-color: #c4defa;

「宅配便の配達状況 API / iGoogle ガジェット」を更新しました

宅配便の配達状況 API / 宅配便の配達状況 iGoogle ガジェット

CS MSMS さんのコメントを参考に、日通航空に対応しました。

コメントやソーシャルブックマークは定期的にチェックしておかないと。
はてブでは、「Yahoo pipesで作ると面白いかも」などと有益なアドバイスも頂けるので。

名鉄運輸も追加しようとしたけど、セッションをかましているせいでうまくいかなかった。
同様の理由で、福山通運の新バージョンのページにもジャンプできなかった。

使っているうちに「配達記録郵便」も「郵便書留」で検索可能だということがわかった。
たくさん伝票を扱う人は バーコードリーダー が便利。宅配便の伝票のバーコードは幅が大きめなので、小型の機種は避けておくべき。