Home / Diary / 2008年7月のログ

目次

  1. Wordpress 2.6にアップデート
  2. 7月16日の駄文
  3. サイトリニューアルに関する覚書
  4. カドゥケウス NEW BLOOD タイムアタック

Wordpress 2.6にアップデート

使っているプラグインが軒並みアップデートして2.5以降のメニューに対応したっぽいので、Wordpress本体も2.3から2.6にアッデートした。

パッケージダウンロードして上書きしてアップグレードのリンクを押すだけで完了。相変わらず楽だなぁ。

2.6での変更点はこなかじ。

WordPress 2.6

ダッシュボードのメニューのところに、プラグインだとアップデートできる数、コメントだと承認できる数が表示されるようになった。これは地味に便利だ。

それと、2.5からの機能だけどプラグインのアップデート。クリックするだけでアップデートしてくれるのでわざわざアップロードする必要が無くなった。実に良い。

その他、編集履歴は一人で使ってると恩恵が少ない。ブックマークレットは、まぁ便利かも。Gearsは・・・必要か? そもそもGearsってオフラインでの動作やマルチスレッドの提供がメインだと思っていたんだが。コンテンツのキャッシュはmod_expireでも設定してブラウザにまかせるべきでは?

Info

2008
0731

Tagssite

7月16日の駄文

救急救命 カドゥケウス2 発売

ただし米国で。

日本では8月7日に発売なので、ほぼ1年振りにプレイしたらX1どころか原罪のキリアキにすらボコボコにされてしまった。腕の劣化があまりにもひどいのでリハビリする予定。

今回はサウンド担当になぜか並木学が加わったので、色々な意味で期待できる。

救急救命カドゥケウス2

Xbox 360 新機能詳細:HDDインストール、LIVE Party、新ダッシュボード

待望のHDDインストールが。高速ローディングだけでなく、あの爆音が無くなる! ・・・ついにドリームキャスト2に相応しくなったな。

さて、アイマスのカタログを消す作業に入るか・・・ってカタログ消したらデータの読み込みに失敗しおった。まさか、カタログ=DLC本体で、購入するとアンロックする方式だったのか! なんてこったい。

ニンテンドーDS ソフトカタログ

毎年恒例(?)のソフトカタログ。ニンテンドードリーム8月号に付属、というかこっちがメイン。カタログの内容はソフトの簡単な紹介とデータ。初週と総販売本数なんてのも載っている。

丁度DS Liteが当たるキャンペーンも展開しているので、タイミング的にはかなり良い。値段も880円と安いので、資料目的で買うもよし、適当に眺めて物色するも良し。

Nintendo DREAM (ニンテンドードリーム) 2008年 08月号

マール王国の人形姫 天使が奏でる愛のうた

上のDSカタログの裏表紙がこのソフトの広告だった。

ゲームの内容は初代のリメイクということなんだが・・・すげー不安。ダンジョン手抜きじゃないか? イベント端折られてないか? ミュージカルではちゃんと歌うのか? グリグリ動くのか? ってゆーか携帯版のざる移植ってオチじゃないのか? キャラデザ違ぇー!

などなど、数々の不安を抱えたままとりあえず買うつもり。キャラデザはリトプリ以降天プレ未満の微むっちりが良かったんだが・・・

マール王国の人形姫 天使が奏でる愛のうた

CAPCOM:BIOHAZARD5

E3の実際にプレイしている映像を見た限りゲームシステムが4の延長っぽくて安心した。あとはバイオ4のような素晴らしいレベルデザインを是非。

Info

2008
0716

Tagsmisc

サイトリニューアルに関する覚書

ブログツール

Wordpress 2.3を使用。2.5はプラグインの仕様が変わってしまったので、使用するプラグイン全てが対応するまで見送る方向。

なぜWordpress?

便利だから。特にページ作成機能。普及しているのでプラグインも多い。

欠点はコードのカオスっぷり。統一感の無さが泣ける。ってか1.xの頃から全く変わってないのは呆れるわ。

サイトをどのように弄ったか

静的生成廃止

  1. テンプレートに修正が入ると全ページ出力し直さなければならない
  2. 時間指定投稿ができない
  3. キャッシュ系の機能とプラグインが豊富になってきた

などなどの理由により。

レイアウト

サイドバーを取り払い、エラスティックにしてAutoPagerizeにも対応。なるべくシンプルになるように心がけた。

キャッシュの利用

Wordpressを素のままで扱うとSQLクエリの過多でサーバーが重くなってしまうので、積極的にキャッシュを利用するようにした。

具体的にはWordpressに標準で備わっているオブジェクトキャッシュ。さらにプラグインのWP Super cacheを導入。極力データベースへアクセスしないようにした。

この時点でトップページを開いた時に要する時間は初回2秒前後、キャッシュ後0.3秒前後。

サイトの構成が安定したら一部ファイルにmod_expireを設定して、クライアント側でのキャッシュも行ってもらうつもり。レイアウトに使っている画像なんかは特に。

画像の連結

縦と横のサイズが固定されている要素に繰り返さないで表示する画像は連結できるので、RPGツクールのマップチップの如く、ひたすら連結。

参考:icon_chip.png

トータルサイズは微増するが、httpアクセスが激減するという効果があるので実に有効。ページのローディングを妨げないようになる。

サイズが固定されていなくても、条件次第ではチップに組み込むことが可能だったりする。要工夫。

この手法はCSS Spriteとか言うらしい。

JavaScriptの積極的廃止

自分が常にJavaScriptをオフにしていることもあるが、サイトに仕込まれているJavaScriptはよほどのことが無い限り必要ではない、もしくは、無くてもいいようにサイトを設計すべきだと判断した。

というわけで、現在入れているのはGoogle Analytics等のアクセス解析のみ。

あと、JavaScriptじゃないけど「なかのひと」も外した。たまにしか見なかったし、表示するスペースが無かったので。

関連するエントリの表示

表示にはプラグインのSimple Tagsを利用。

タグの設定が甘い上に少ないので微妙に関連していないようなエントリも表示されている気がするが、そのうち解決すると思うので放置中。

目次の自動生成

本文からH1~H6の見出しを取得して、それらへのアンカーをリストで表示するようにした。コードはこなかじ。

<?php
if( is_archive( ) && !$already_out ) {
    $already_out = true;
    $header_list = array( );

    foreach( $posts as $p ) {
        array_push( $header_list, "1. [" . preg_replace( '/\[(.*?)\]\(.*?\)/', "$1", $p->post_title ) . "](#p" . $p->ID . ")" );
    }
}
if( is_page( ) ) {
    $header_cnt = 1;
    $header_list = array( );

    function getHeader( $matches ) {
        global $header_cnt, $header_list;
        $title = preg_replace( '/^\s|\s$/', "", preg_replace( '/\[(.*?)\]\(.*?\)/', "$1", $matches[2] ) );
        $tab = str_repeat( "\t", strlen( $matches[1] ) - 2 );
        $anchor = $matches[3] ? $matches[3] : "h" . $header_cnt++;

        array_push( $header_list, $tab . "1. [" . $title . "](#" . $anchor . ")" );
        return $matches[1] . " " . $title . " {#" . $anchor . "}";
    }

    if( $page > count( $pages ) )
        $page = count( $pages );

    $pages[$page-1] = preg_replace( '/\r\n|\r|\n/', "\n", $pages[$page-1] );
    preg_replace_callback('{
    ^(\#{2,6})
    [ ]*
    (.+?)
    (?:[ ]+\{\#([-_:a-zA-Z0-9]+)\})?
    $
    }xm','getHeader', $pages[$page-1] );
}
?>
<?php if( count( $header_list ) > 0 ) : ?>
<div class="index">
<p>目次</p>
<?php
$header_html = Markdown( join( $header_list, "\n" ) );
echo $header_html;
?>

要はMarkdownテキストから見出し部分(行頭が#の連続)を取得して、それらの頭に数字を付けて無理やり順序付きリストにしてからMarkdownに放り込んでいる。idが指定されていないなら自動で付加。

URLについて

ワードプレス標準の動的URL設定が融通がきかないので結局mod_rewriteでゴリゴリ書いた。

はてなブックマークの注目エントリーを表示

最初はJSONとか考えたが、HTMLにしてしまうのが最もシンプル且つ効率的(どうせ再利用しないし)だと判断した。

スクリプトの中身はPraggerのRSS::loadで読み込んで適当に数を絞ってるだけ。

ブックマークコメントを表示

JavaScriptを使わずにブックマークコメントを表示を参照。

利用しているプラグイン

WP-PageNavi

Pager、いわゆるカテゴリ等のページで現在のページ番号と前後及び始端終端の番号を表示するやつ、といえば分かるだろうか。Google検索の最下部のアレとか。

スタイルは以下のページから拝借した。

Some styles for your pagination

Akismet

スパム対策として広く使われているプラグイン。要登録。

Spam Karma

こちらもスパム対策。投稿者の投稿頻度、ページを開いてから投稿するまでの時間、内容に含まれるURLの数などなど、様々な手法で評価してスパムかどうかを判断することができる。

Simple Tags

Wordpress標準のタグ機能を拡張するプラグイン。タグクラウドの表示や一括編集、関連したエントリの表示等ができる。

WP Super Cache

一度出力したページをキャッシュすることで、次回以降のDBアクセス時間を無くし、表示までの時間を大幅に短縮することができるプラグイン。何かとDBアクセスを行うWordpressには必須のプラグイン。

PHP Markdown Extra

Markdown記法でエントリを記述できるようになる。可読性が高く、DBも微妙にスリム化できる。このプラグインを通さないようなテキストまでMarkdown記法を使ってしまうほど愛用している。

利用していないが注目したプラグイン

Breadcrumb Navigation XT

パンくずリストを表示するプラグイン。サイトURL設計が微妙にアレなので結局このプラグインからコードを拝借してパンくずリストを生成するようにした。

WP-Amazon

投稿時にAmazonから商品を検索して記事の中に商品の画像とリンクをD&Dでサクっと入れることができるようになるプラグイン。Operaで動かなかったので見送り。

テキストを画像に変換するプラグインwp-DJTR

自分の好きなフォントで表示できるというのは非常に魅力的だったが、画像だらけになるのは嫌なので結局使わなかった。

今後の方針

Info

2008
0714

Tagsphpsite

カドゥケウス NEW BLOOD タイムアタック

クリアタイム1時間40分31秒。

取り組み始めたのは5月下旬あたりから。1プレイに約2時間を要するために、多忙だった6月は平日に通しプレイを行うのがほぼ不可能だった。そこで平日は要所要所の練習をして、休日に通しプレイを行うことに。

しかし、プレイしてもプレイしても、タイムが遅かったり、早いけど凡ミス連発で見るに絶えなかったり、タイム出た直後に新パターンを思いついたりで、一向に満足のいく記録が出ない。ちょっと浮気してWi-Fiランキングのほうに手を出したりして、それがタイムアタックのヒントになってさらに新たなパターンを思いついたり・・・なんてこともあったりして、7月頭に、よーやく、よーやく、目標タイムが出た。

心細動のランダム発生で±1分ぐらい上下してしまうが、このタイムなら文句無しだろう。当初予定していた1時間43分切りから大幅に短縮できた。

速さの秘訣

いかにミスしないか。これに尽きる。

ミスしなければミスエフェクトの時間(約0.5秒~1秒)が短縮され、バイタル損失も無くなるのでバイタル回復に要する時間(約1.5秒/回)を短縮することができる。

ブラキオン等のミスしないことを前提としたパターンを組み込んでいるステージでは下手すると数十秒のロスにも繋がりかねないので、多少速度を犠牲にしても確実にこなす必要がある。

一応、このプレイ以上の速度でもプレイできるが、そうなるとミスの数が多くなってしまい、結果的に遅くなってしまう。この速さが「ミスしないようにプレイできる速さの限界」ということになる。

例えば以下の動画はWi-Fiランキング用のプレイだが、数十秒程度だからこその速さであり、1時間40分もこの調子でプレイするのはまず無理だ。体力と集中力が持たない。

YouTube - Trauma Center: NEW BLOOD 7-3 Identity Loss SCORE:4874

動画

今回はVeohにもアップロードしてみた。分割せずにアップロードしたので、VeohTVをインストールしないと全編を視聴できないが、アップロードしたファイルをそのまま視聴&ダウンロードができるので、高解像度&高画質以外受け付けないような人はこっちを。

Trauma Center: NEW BLOOD Speedrun 1h40m31s | Veoh Video Network

低画質でもいいから、とにかく分割されていないのが見たいという方はこちら。

Google Video: Trauma Center: NEW BLOOD Speedrun 1h40m31s

Info

2008
0710

Tagsgame

暴満館

最新のエントリ
注目のエントリ(はてな)
ゲーム攻略

暴満館 ~The House of Full Violence~
Powered by WordPress.
About | Contact | 新着のエントリ情報 RSS

ページ内の見出し一覧
Wordpress 2.6にアップデート
7月16日の駄文
サイトリニューアルに関する覚書
カドゥケウス NEW BLOOD タイムアタック