もしこのブログがお役に立ちましたら、次回のAmazonでのお買い物時に こちらのリンクから 購入していただけますと嬉しく思います。

2011年7月5日

仲間外れの瓜

瓜は瓜でも食べられない瓜があります。
さてどれでしょう?

1.西瓜
2.甜瓜
3.傻瓜
4.哈密瓜

2011年7月4日

Servlet で 301 リダイレクト

サーバー移行などで URL が変更になった場合、リダイレクトには HTML の meta タグよりも .htaccess が有効だそうです。
ただ、GAE/J など .htaccess が使えない場合はどうするかというと、Servlet に 301 リダイレクトを実装すればいいわけです。

以下の例は元々の URL が
http://www.getore.info/blog/?[ページ番号を指定するクエリ]
だったのが
http://blog.getore.info/[自動生成のリンク]
に変更になった場合です。

public class RedirectServlet extends HttpServlet {
public void service(HttpServletRequest req, HttpServletResponse resp)
throws IOException {
// 変換規則が無い場合は一つ一つマッピングするしかない
Map<String, String> map = new HashMap<String, String>();
map.put("p=404", "2011/06/radiko_714.html");
map.put("p=19", "2009/10/umssort_12.html");

String query = "";
if (req.getQueryString() != null) {
query = req.getQueryString();
}

String file = "";
if (map.containsKey(query)) {
file = map.get(query);
}

// 該当するページが無い場合はトップページに飛ぶ
String url = "http://blog.getore.info/" + file;

resp.setStatus(301);
resp.setHeader("Location", url);
resp.setHeader("Connection", "close");
}
}

何かの変換規則がある場合は、Map を使うのではなく、正規表現などで対応した方が手っ取り早いと思います。

そして、web.xml に上のサーブレットを追加します。
<servlet>
<servlet-name>Redirect</servlet-name>
<servlet-class>info.getore.RedirectServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Redirect</servlet-name>
<url-pattern>/blog/</url-pattern>
</servlet-mapping>

2011年7月3日

最近飲んだビール

・PAULANER(ドイツ) 500cc缶で20元≒260円
期待して飲んでみたんですが、少なくとも僕の口には合わなかったです。
何とも形容しがたい味で、強いて言えば石鹸のような風味です。
キレとかコクとかとは無縁のビールです。

・mahou NEGRA(スペイン) 330cc瓶で13.5元≒180円
ごくごく普通の黒ビールではないでしょうか。
日本人の口に合うと思います。

・Kaiserdom Dark LAGER BEER(ドイツ) 500cc瓶で18元≒240円
非常にさっぱりした黒ビールです。
味は悪くないのですが、さっぱりしすぎて何か物足りないような気もします。

2011年7月2日

サーバー移行

今まで有料のレンタルサーバーでホームページとブログを運用していたのですが、更新期限が迫っていたのを期に Google の無料サービスに移行しました。(独自ドメイン料金は別途必要)
ホームページは Goole App Engine (GAE)、ブログは Blogger です。

ホームページ作成の手順は以下の通りです。
1.Google Apps を申し込む(独自ドメインが必要)
2.Google App Engine を申し込む
3.Google App Engine で設定した App ID にコンテンツをアップロードする
4.Google Apps のダッシュボードから上記 App ID をセットする
5.Google Apps のダッシュボードから独自ドメインの URL(例:www.getore.info)を追加する
6.独自ドメイン(例:www.getore.info)の A レコードを Google の指示通りに設定する

ブログの移行については、もともと使っていた WordPress が Blogger と互換性がなかったので以下の手順を踏みました。
1.WordPress の管理画面からバックアップファイルをダウンロードする
2.ダウンロードしたファイルをこのサイトで Blogger 用に変換する
3.Blogger の設定画面から変換ファイルをアップロードする
4.独自ドメインのサブドメイン(例:blog.getore.info)を設定する

ブログ移行後の既知の問題点は以下の通りです。
・移行した記事の検索ができない
・写真は別途一枚ずつ移行する必要がある
・独自ドメインの設定で、サブディレクトリは指定できない

正直な話、移行は面倒で問題も付き物ですが、サーバー費用 0 円でホームページとブログの運営ができるとはありがたい話です。

2011年6月12日

radiko 番組表

radiko っていう、ネットでラジオが聞けるサービスがありますよね。
実は、中国からも東京のサーバー経由で関東の放送が聞けるんですが、方法についてはいつか機会があれば書こうと思います。

今回書くのは番組表についてです。
radiko を使っていてちょっと不便だなーと思うのは、本家の番組表の閲覧性が悪いことです。
僕にとっては少なくとも3つほど改善してほしい点がありました。

一つは、地域によっては放送局が多いせいで、現状の7つの枠に収まりきれず、わざわざ上の矢印部分で左右にスクロールさせないといけません。
もうひとつは、番組表を開いた直後、自動的に現在時間にスクロールしてくれますが、ある放送局は数時間前に今の放送を開始していて、その番組情報を確認したい場合結局自分で上にスクロールしないといけません。
最後は、番組表の JavaScript が PC の時間を参照するので、海外在住の場合で PC のタイムゾーンを変更している場合に、おかしな時間に自動スクロールされます。

以上のような問題があってもどかしかったのですが、番組の情報が XML で公開されていることが分かったので、これを使って Web サービスを自分で作ってみました。
http://radiko-table.appspot.com/

自分の需要を満たせれば良かったので非常にシンプルです。
すべての放送局で今何が放送されているかが一目で分かるので、興味のある番組を探すのに適していると思います。
あと、本家では表示されない説明文が付きます。