忍者ブログ
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。



2026/04/09 00:55 |
買ったものリスト 2010/05/09

任天堂2009年プラチナ会員特典のゲーム&ウォッチBALLが届きました。
懐かしすぎんだろ、と思ったが何気にBALLはプレイしたことがなかった。
20100509-ball.jpg


かってに改蔵 愛蔵版1・2
☆☆☆☆☆

久米田康治はサンデーの小学館と喧嘩別れしてマガジンに移動したうえさんざっぱらネタにしていたので、まさか出るとは思っていなかった新装版。
中身は昔の単行本と一緒なので持ってれば基本的に買う必要はないですが、転居の時に全部処分していたので再購入。

巻末にサンデー編集者による作家インタビューが載っているのですが、なんだかやたらトーンダウンしているというか発言がおとなしいんですが。
もっとこう雷句先生が訴えたときのコミックス巻末みたいなアレを期待していたのですがさすがに無理だったか。


文学少女と恋する挿話集3 野村 美月
☆☆☆☆

竹田千愛まさかの先生化。
相変わらず文章のクオリティが素晴らしすぎるので読んでるときは全く気にならないのですが、相変わらず人格破綻者ばっかりだよな。

ひとつだけ気になったのが後書きで読む順番を強制してたところ。
そんなの外伝3で言ってどうするよ。


ひらめきはつめちゃん 大沖
☆☆☆☆

なんとなく授業中に発明した謎の箱が家になる漫画。
絵も下手で可愛いとかの表現から百万光年かけ離れている絵柄だし、箱が万能過ぎてドラえもん状態だし、ネタと言うほどのネタもなくどうでもいい日常を過ごすどうでもいい話ばかりだし、どうしてこんなどうでもいい漫画がこんなに面白いのかが理解できん。
何故だ。


ナナシノゲエム目

通勤時間は基本的に資格試験の勉強を行っているわけですが、先日セキュリティスペシャリストを受けたので合格発表までなんかやろうかなと適当に購入。
そういやドラクエ6やってなかったなあと思い出したのだがまあそのうちでいいや。

PR


2010/05/09 18:30 | Comments(0) | TrackBack() | 買ったもの
==NOVEL PHILOSOMA== 13

==SCENE 10==

 ミショーたちのストレガは、坑道を飛んだ。ひたすら飛んだ。エマーコールの送信ポイントまであと20マイルだった。
 アリスのコールはその時だった。
「コーション。前方にゲノムを探査」
「ゲノム?」
「何だ、それは?」
 ラングのいぶかしげな声が聞こえた。
 アリスは答えなかった。代わりに、放置されていた採掘マシンから、鳥のようなものが一斉に群をなして飛び立った。
「ゲノム接近。ブレイク」
「コイツは……!」
 ラングは目を見張った。鳥じゃない……コイツは……化け物の片割れだ。クソ!
 ディースリーの機体に化け物が殺到した。ラングは思わず怒鳴った。
「二人とも逃げろ!」
 バーナーを入れて、ラングは強引の化け物とディースリーの間に入った。それは、仲間を救おうという本能だった。そうだ。この瞬間、ラングにとってディースリーは仲間だった。結果がどうなるかは考えなかった。ただ、目の前で巻き起こる「死」を見る事は耐えられなかった。
 ミショーは愕然とした。化け物はラングの機体に殺到していた。ミショーは叫んだ。
「ラング!」
 コクピットに巨大なモスキートの化け物が張り付いた。ラングは呻いた。
「コイツがゲノムか」
「アウト・オブ・コントロール……アウト・オブ・コントロール……」
 警報音と共にアリスのコールが響いた。ラングはパネルを蹴った。アリスのリンクが切れている。計器の半分は死んでいた。マニュアルを立ち上げたが……クソ!反応が遅い!これでは……。
 その瞬間、ラングは理解した。
「コンピューターが……クソ、カレンもコイツに……」
「ラング、脱出して、早く!」
 ラングはベイルアウトしようとした。だが、姿勢制御が完全に不能になり、機体がロールを打った。
「ダメだ!脱出装置が!」
 ストレガはロールを打って降下していた。スティックを引いたがまったく反応がない。ハイドロも全部アウトになった。このままでは……。
「アウト・オブ・コントロール……アウト・オブ・コントロール……」
 アリスのコールは死刑宣告だった。それは繰り返され、ラングのコクピットを満たした。
 ラングは呻いた。黙れ! この役立たずコンピューター! 黙れ! 黙れ! 黙れ!……次の瞬間、異音と共にアリスのコールが止まり、不意に電源が全て落ちた。モニターで構成されているストレガのコクピットは闇に閉ざされた。完全な闇だ。あるのはただ暗闇だけだった。
「うわ~!」
 ラングは絶叫した。
 それが、彼の取った最後の意識的な坑道だった。次の瞬間、ラングの機体は430ノットで地面に激突した。機首からエンジンブロックまでが圧縮され、残骸に変わるのにゼロコンマ1秒しかかからなかった。ラングは苦痛を感じる暇さえなかった。次の瞬間、ストレガは爆発した。
 スクリーンに爆発の炎が映った。
「ラング!」
 ミショーは叫んだ。ダメだ……あれでは……ベイルアウトはダメだった。
 思わずミショーは呟いていた。
「ああ……神様……なんで……」
「生命反応消失……コーション、ロー、アルト。グランド・モード・チェンジ」
ミショーの嘆きをよそに、アリスはクールにコールしていた。
ストレガの残骸が再び爆発した。それが、アイザック・ラング大尉の墓標となった。
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

 ミショーは泣いていた。彼女ははっきりと理解できた。カレンに対して自分が素っ気なかったわけを……。
 カレンは……そうだ……自分はカレンとラングの仲を認めるわけにはいかなかった。
 なんてことなの……ミショーは思った。
 相手を失ったその瞬間に、ミショーは愛を自覚したのだ……。
 それは決定的なものだった。彼女は再び全てを失った。
 ミショーに残されたのはただ一つ、住民を助け出すという意識だけだった。
「ローアルト。ブレイクモードセレクター、チェンジ」
 アリスのコールだけが淡々と響いていた。
 ディースリーに言うべき言葉はなかった……彼は全てを理解した。そうか……そういうことか……。
 まったく、なんという男なのだろう、俺は……ディースリーは、初めて己を恥じた。この出来事は、その後のディースリーの人生そのものを変えた。以前の彼なら、ミショーを見てもこんな感情は起こらなかっただろう。シニカルな彼の心の何かが徐々に変わろうとしていた……。

 ギャラントのCICは緊迫した空気に包まれていた。
「ミサイル士官は直ちに配置に付け」
 キナバルの命令が響いた。
「ミサイル士官、配置につきました」
「電子ロック解除を確認」
「発射コード入力スタート」
「慣性航法装置チェック開始」
「バランサーの作動を確認」
「ミサイルハッチオープン」
 チェックの声が響いていた。キナバルは厳しい顔でモニターに映る220を睨んでいた。
 220には敵対的異星人がいる……国家安全保障会議はそう結論した。「ギャラントに搭載されている核弾頭の発射準備を整えろ」キナバルは大統領からそう命じられたのだ。
 ギャラントに搭載されているMk-47は、20メガトンの核弾頭を10発装備したMIRV───多弾頭各個目標再突入体だった。誘導方式はいかなる妨害も通用しない慣性誘導。投射重量は4万7000ポンド。昔ながらの言い方で呼べば、これはもっとも進んだ核ミサイルだった。搭載された10発の核弾頭を複数目標に誘導して攻撃する高性能核ミサイル。
 そのMk-47をギャラントは50発装備していた。仮にそれを全て220に発射すれば、破壊力は20×10×50で1万メガトン、つまり10ギガトンになる。220程度の小型惑星を吹き飛ばすのに充分な威力だ。更に、ミサイルの照準を220の採掘タワー深部に定めた場合、220深部に存在するイプシロンワンが連鎖反応を起こし、惑星は完全に消滅する。
 キナバルは、発射命令が下りない事を祈った。心から祈った。
「大佐?」
 キナバルは振り向いた。コックスが立っていた。
「作戦を中止して下さい。もう無駄です」
 コックスの顔色は蒼白だった。今までにない表情を彼は浮かべていた。

 ミショーは唖然として周囲の地形を眺めていた。
 それは今までに見たこともないような異様な地形だった。直径30センチはある透明な卵状のものが、妖しく輝いていた。それは、天井一面を不気味に覆っていた。まるでカエルの卵だった。しかも、碧く輝いている……こんな不気味なものを、ミショーは今まで見たことがなかった。
「ここは……?」
「生存者コール探知。ガイデット・スタート」
 アリスは勝手にストレガを生存者のいるポイントに誘導し始めた。別段ミショーは驚かなかった。出撃前のミッションプログラムでそうなるようにしておいたのだから……。
 だが、次の瞬間、ミショーは氷のように凝結した。フラッシュ・コールと共にギャラントからの通信が入ったからだ。
「……こちらギャラント……全機……脱出しろ……繰り返す……脱出を……」
 ミショーは慌ててカフをあげた。
「ギャラント、こちらミショー。応答して下さい」
 ノイズの中から微かにキナバルが聞こえた。
「……大尉……生命反応をロスト……」
 プチッという音と共に送信が切れた。ハッとするミショーにアリスのコールが響く。
「ギャラント、通信途絶」
 ミショーは怒鳴った。
「交信確保!」
「交信不能」
「そんな……」
 愕然とするミショーにディースリーが割り込んできた。
「大尉、大佐は生命反応ロストと……」
 狙い澄ましたように電子音が響いた。
「コーション。生存者コール継続中」
「なに?」
「生存者コール継続確認」
「ディースリー、生存者を救助したら、ただちにここを脱出する」
「ラジャー」
「アリス、マップオープン」
 返事の電子音の代わりに、拒否を意味する不快な電子音が響いた。ミショーは顔をしかめた。どういうことだ?
「アリス、自己診断プログラムをロード、システムチェック」
「こっちもだ、アリス」
 一瞬の間を置いて、アリスがコールした。
「ロード不能、チェックネガティヴ」
「なに?」
 愕然としたミショーは、思わず怒鳴った。
「強制コマンド! 全システムチェック!」
「ネガティブ」
「大尉、アリスをカットしますか? ブレイクダウンの恐れが……」
 アリスのコールはその時だった。
「ワーニング。ターゲット・コンタクト」
「え?」
「ターゲット・コンタクト……ターゲット・コンタクト……」
 ミショーはディスプレイをチェックした。ターゲットなどない。どこにもない。
「アリス、ターゲットは何?」
「ターゲット・コンタクト」

 

==NOVEL PHILOSOMA==


2010/05/05 19:32 | Comments(0) | TrackBack() | ゲーム
OracleでLIMIT句

Oracleにlimitが存在しないというのは有名な話です。
おかげでページングなどが必要なアプリに対し、Oracleは恐ろしく使いにくいDBになってしまっています。

MySQLであれば
    SELECT * FROM table ORDER BY id DESC LIMIT 100,10
と簡単に書くことができますが、同じことをOracleで行おうとすると、
    SELECT * FROM ( SELECT * FROM table ORDER BY id DESC ) WHERE ROWNUM BETWEEN 100 AND 110
と副問い合わせを使わざるを得ません。

さてここで疑問なのですが、この副問い合わせ、一旦テーブルtableの全件を並べ替え、その中から該当の行を取り出してきています。
これって相当パフォーマンスがアレなんじゃないのと。
http://www.oracle.co.jp/forum/thread.jspa?threadID=2001064
やはりよろしくないようです。

実際の検索方法としては副問い合わせ以外にも分析関数、相関サブクエリによる検索方法というものがありました。
http://oraclesqlpuzzle.hp.infoseek.co.jp/10-3.html
相関サブクエリは、前から110件だけは並べ替えるけど、それ以降は全部111位とみなすことで並べ替えを行わず、それによって検索速度を上げるという手法だそうです。

まあ早くなるのはいいんですが、たかが並べ替えたいだけのためにこんな面倒なSQLを書かないといけないってどうなんだ。

WebアプリにはやはりMySQL一択ですな。
まあMySQLにもインデックス張ると遅くなるとか面白現象もあるみたいですが。

 



2010/05/03 21:01 | Comments(0) | TrackBack() | PHP
買ったものリスト 2010/05/02

iPadを触ってみたんだが薄くてでかくて動作が軽くてびっくりだね。
ただネットに繋がってなかったんで何もできなかった。
文字通り何も。
メモ帳とスケジューラくらいしか機能できぬ。
またカードリーダ的なものもないのでMP3を聴きたいと思っても毎回PCを経由しないといけません。
PCとネット環境がないと心底役立たずな機械です。
私は今後買うことはないなと思いました。


RPG W(・∀・)RLD5 ―ろーぷれ・わーるど― 吉村 夜
☆☆☆

前巻まで立て続けに大きなイベントに否応なく巻き込まれてきたパーティも一旦小休止。
船が難破して無人島でサバイバルという名のバカンスを過ごします。
超巨大魚に食われかけたりドラゴンに噛まれかけたりそんな素敵なバカンス。


クイックセーブ&ロード3 鮎川
☆☆☆☆

回りくどい手段とはいえ主人公は実質作中最強人物といえるのでこれからどう話を続けるのかと思ってみればまさかの記憶喪失。
自分以外の人間がクイックセーブ&ロードを信じてぽいぽい死んでいく世界で、失った大切な何かを取り戻すために抗う主人公、そして記憶と共に判明する驚愕の事実とは…。
シリーズの完結編として非常に締めのいい作品でした。


ラブやん13 田丸 浩史
☆☆☆

ロリ天使&悪魔をすっかり無かったものにしてしまったドン引き街道まっしぐらな本作は相変わらず境界線の向こう側を行ったり来たりしています。
駄目から始まり駄目に終わるカズフサとすっかり駄目に染まりきったラブやんの珍道中、果たして駄目以外の終わりがあるのやらどうやら。


ソード・ワールド2.0リプレイ 拳と魔封の物語3 諸星 崇
☆☆

2.0のリプレイってとにかく設定優先で、話は単に設定に乗っかってるだけという展開が多い。
今巻とか選択の余地がほとんどないストーリーテリングだし。
そういうのは小説でやってくれればいいから。
もっとこうバブリーズやトリオ・ザ・住専みたいなフリーダムなリプレイでしか起こらないような展開を望む。
 


ケツイ 絆地獄たち EXTRA(限定版) 5pb.

エスプガルーダ2もアフターバーナークライマックスもデススマイルズMBL1.1もまだまともにプレイしてないというのにどうすんだこれ。
 



2010/05/02 22:31 | Comments(0) | TrackBack() | 買ったもの
EC-CUBE PHP5.3.1でEC-CUBEを動かす
手元のPHPがそれまで5.2.9だったのですが、5.3.1にアップグレードしたところ死亡。

>Deprecated: Assigning the return value of new by reference is deprecated in C:\eccube\data\module\DB.php on line 475
>Deprecated: Assigning the return value of new by reference is deprecated in C:\eccube\data\module\DB.php on line 552
>Deprecated: Assigning the return value of new by reference is deprecated in C:\eccube\data\module\DB.php on line 1129
>Deprecated: Assigning the return value of new by reference is deprecated in C:\eccube\data\module\PEAR.php on line 557
>Deprecated: Assigning the return value of new by reference is deprecated in C:\eccube\data\module\PEAR.php on line 560
>Deprecated: Assigning the return value of new by reference is deprecated in C:\eccube\data\module\Mail.php on line 156
>Deprecated: Assigning the return value of new by reference is deprecated in C:\eccube\data\module\Net\UserAgent\Mobile.php on line 165
>Deprecated: Function ereg() is deprecated in C:\eccube\data\class\util\SC_Utils.php on line 83
>Deprecated: Assigning the return value of new by reference is deprecated in C:\eccube\data\module\DB\common.php on line 964
>Deprecated: Assigning the return value of new by reference is deprecated in C:\eccube\data\module\DB\common.php on line 1171


平たく言うと、「その関数、使い方は今後サポートしなくなるから使うな」ということです。
Pearでエラーってどういうことだよ、と見てみると更新日が2007年。
PHP4なんていい加減捨ててしまえ。

フォーラムでの解決方法は「ダウングレードしろ
いや駄目だろそれ。

後方互換性の確保という理念はまあいいのですが、そのために新バージョン切り捨てとかありえない。


手っ取り早く修正するのであればerror_reporting()C:\eccube\data\class/SC_Initial.phpに書かれていますので、

function setErrorReporting() {
  //error_reporting(E_ALL & ~E_NOTICE);
  error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED);
}


ってするといいのですがこんなのではよくありません。

とりあえずpearコマンドで入れられている共通版のPearをインクルードするように差し替えようと思いましたが、至る所で
    require_once(dirname(__FILE__) . '/../module/Mail.php');
とか書かれてる。
もうちょっとこう……

次善の策と言うことで直接書き換えます。
Pear関連で発生しているDeprecatedエラーは、全部 &newって書かれているせいなので、単&にを削除するだけです。

残りは\data\class\util\SC_Utils.phpereg()ですが、単に文字列比較しているだけなので
  //if( !ereg('/install/', $_SERVER['PHP_SELF']) ) {
    if( strpos($_SERVER['PHP_SELF'] , '/install/' )===false ) {

と書き換えます。

余談ですがこのSC_Utils::sfInitInstall()、場合によっては最終的に完成するURLが'hoge/fuga//install/'みたいになります。
header('Location: hoge/fuga//install/')であればhttp://eccube.localhost/hoge/fuga/install/に一応辿り着けるのですが、htmlディレクトリをDocumentRootにしている場合、header('Location: //install/')となりhttp://install/を探しに行って死にます。
最初の一回しか使わないからいいといえばいいんですけどねえ。

さて無事エラーは出なくなりましたが、かわりに真っ白です。
はて。

順に読んでいくと、

/html/install/index.php
require_once("../require.php");

/html/require.php
require_once($require_php_dir . HTML2DATA_DIR . "require_base.php");

/data/require_base.php
$sessionFactory->initSession();

/data/class/session/sessionfactory/SC_SessionFactory_UseCookie.php
session_start();
で死んでいました。
お?

どのタイミングで死ぬかというと、/data/require_base.php
$objSession = new SC_Helper_Session_Ex();
です。
これより前だとsession_start()に成功し、後だとsession_start()に失敗します。

SC_Helper_Sessionが何をやってるかというとsession_set_save_handler()を使ってセッションをDBに保存していました。

…データベースの設定はインストール開始後に行うんですが…
FatalErrorすら吐かずに完全停止というのは少々ご勘弁願いたい。

とりあえず/data/class/SC_Inittial.phpに以下の対応を行うことでフリーズは回避されます。
  //define("DEFAULT_DSN", "pgsql://nobody:password@localhost:5432/eccubedb")
    define("DEFAULT_DSN", "mysql://nobody:password@localhost:5432/eccubedb");


なんでだよ。

インストール開始後も、ことある毎にDeprecatedエラーが大量発生しまくって酷いったらありゃしない。
インストール終了後、サイトトップを表示してみると目眩がします。
なんで今更ereg()なんか使ってるんだ。

はっきりいって使えたものではないので、結局error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED);にしてしまいました。


EC-CUBEの記事


2010/04/30 22:34 | Comments(1) | TrackBack() | PHP
==NOVEL PHILOSOMA== 12

==SCENE 09==

 ミショーたちは採掘エリアを飛んでいた。それはまったく、驚くべき広さを持っていた。高さは3000フィート、幅は2万フィートはゆうにある。眼下にはさまざまな採掘機械が無人のまま放置されていた。こんな大規模な採掘を、ミショーは見たことがなかった。何を掘っているかしらないが、常軌を逸している。
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
 アリスのコールが入った。
「フラッシュ・ボギーデダヘッド」
 ラングは思った。いよいよ来たか……カレンの分まで思い知らせてやる……。ラングはコールした。
「アリス、敵の種類は?」
「ストレガ」
 その瞬間の反応は、ラングもミショーも同じだった。ディースリーもだ。彼等は一斉に叫んだ。
「何い!」
「ストレガだと?」
「先発隊よ、きっと!」
 先発隊……恐るべき可能性が浮かんだ。
「まさか、反乱か?」
「敵、ストレガ変異体」
「馬鹿な?」
「乗員死亡。攻撃態勢」
 ミショーはレディオ・セレクターを素早く切り替えた。
「大佐、応答して下さい!ストレガが……」
 凄まじい無線ノイズが響いた。慌ててミショーは無線をカットした。
「ギャラント、交信不能、交信不能」
 なんということだ……敵はストレガ。ギャラントとの通信は不能。最悪だ。さらに警報音が鳴った。敵が……向こうのストレガが火器管制レーダーを作動させたのだ。ミショーは腹を決めた。アルファは、反乱を起こしたか、それともテロリストにストレガを奪われたのだ。ミショーは怒鳴った。
「こうなったらやるしかないわ、ラング!」
「ラジャー。アタック!」
 前方に微かな輝点が浮かぶ。ストレガのヘッド・アップ・ディスプレイが、ターゲットを捉えたのだ。
 ミショーはレーダーをスーパー・サーチ・モードからボアサイト・モードへと切り替えた。レーダービームの中に飛び込んだ敵機がロックされた。照準レティクルの距離表示緑環が、見る間に小さくなる。ヘッドオン、正面からの攻撃だ。相対速度はマッハを越えていた。レティクルの中に、ターゲット───
 ストレガがはっきり見えた。
 しかし、その姿は───
 ミショーは愕然とした。自分の眼が信じられなかった。敵ストレガは急速に接近してきた……ああ、なんてこと……馬鹿な……こんな馬鹿な……。
 敵ストレガは、茶色の粘液に覆われていた。各所に飛び出た突起物は爪か触覚に見えた。
 その外観は……。
 間違いだ。何かの間違いだ!
 ストレガは生物だった。
 原生生物の衣をまとい、それは400ノットのスピードで一直線に接近していた。

「クラークとは、人工知能のために開発された疑似生命プログラムです」
 ギャラントのCICでは、サブ・スクリーンを使ってコックスが説明していた。
 彼はやつれた顔をキナバルに向けた。わずか30分あまりで、彼は5年は歳を取ったような顔になった。それだけ精神的なショックが大きかったのだ。
 サブ・スクリーンには、クラークのフォトが映し出されていた。
 コックスは、解読したファイルの内容をキナバルに説明した。
 7年前、科学探査船「S・ホーキング」は、95名の乗員を乗せて調査に出発した。だが、人間ではない乗員がもう一人いた。
 それが「クラーク」だ。
 昔から連綿としてコンピューター学会で研究されていたのは、「コンピューターはどこまで人間に近づくことができるか?」という点だった。今までのコンピューターは、専門家システムとしての推論機能は持っていたが、決してそれ以上のものではなかった。
「クラークは、『生命の概念』を中心に構成されたプログラムです。生命の基礎概念は、何ですか、大佐?』
 キナバルは少し考えて答えた。
「増殖……それに……」
「ええ……『進化』です。しかし、これに人間的な要素を加えたら……? 人間が人間として根源的に持っているものは?」
「感情か?」
「人格と言い換えてもいいでしょう。クラークは、限りなく人間に近いプログラムとして誕生しました。人間との違いは、肉体がない事と死なない事くらいのものです」
 キナバルは当惑していた。コンピュータに感情があるか、という問題は大昔から議論されていたが、検証の方法はないからだ。
「まさか……チューリング・テストのアドバンスじゃないのか?」
 チューリング・テストとは、1954年に死去したイギリスの若き天才数学者、アラン・チューリングが発案したものである。それは、コンピュータに知性があるかどうかを判別するテストだった。ルールは簡単だ。人間とコンピュータを対話させ、人間とまったく区別がつかない場合は、コンピューターは思考(知性)を持つというものである。
 だが、このテストは不完全なルールに基づいていた。対話は、人間とコンピューターの応答の違いを区別する客観的基準になり得なかったのだ。その代表例が「オウム返し」プログラムだ。これは、人間の質問に対して、コンピューターがあるパターンと質問の語尾変化で応答する、ごく単純なプログラムだ。そこには知性などあり得ないはずだった。
 だが、驚くべき事に、大半の人間はこのプログラムに引っかかった。彼等は、コンピュータが感情を持ったものだと錯覚し、テストの合格を宣言した。だが、彼等はやがて真相を知り……以来、チューリング・テストは、より慎重な形で行われるようになった。
 とは言っても、ルールの不明瞭さは相変わらずだった。そのため、抜け道をくぐり抜けるエセAIプログラムは後を絶たなかった。キナバルはその点を言っているのだ。
 コックスは首を振った。
「いえ……クラークは本物でした。電脳ネットの中で成長したクラークは、やがて著作を始めたんです」
 それは科学から哲学まで幅広いものだった。その斬新なアプローチは各方面で大きな反響を呼んだ。特に哲学の分野では顕著で、彼の著作「コズミック・シード」は、アウレリウス哲学の復興として高い評価を得た。
 コックスは続けた。
「クラークを開発したUASAは、彼の公開をためらいました。代わりに彼等が取った方法は、クラークという人間をでっち上げ、著作物として発表することでした」
「ああ……写真や映像を偽造した訳だ」
「一世紀前のCG映像でも、本物と見分けのつかないフォトは作れましたからね」
「しかし、なぜ連中は公開をためらったんだ?」
 コックスはメイン・スクリーンを指さした。そこには220が映っていた。キナバルの顔が思わず引きつった。
「まさか少佐……?」
「そうです。彼等はクラークにイプシロンワンを研究させ、反物質爆弾の開発を進めていたんです」
「なんてことを……」
「著作の発表は、いわば口止め料です。クラークは……その……著作の発表を条件に爆弾造りを引き受けたんです」
 キナバルは絶句した。待て、じゃあ220には反物質爆弾が……それがテロリストに奪われたというのか? キナバルの声が震えた。
「じゃあ、テロリストは反物質爆弾を……」
 コックスは首を振った。
「いえ、あそこにいるのは、テロリストじゃありません」
 スクリーンが切り替わった。
 そこに映ったのは、ミショーが見た生物ストレガだった。画面の隅に名称があった。
 それはPHAGE STREGAと記されていた。

 ラングもカレンも、そしてディースリーも、発狂の一歩手前で戦っていた。敵のストレガは生物だった。彼等の意識は乱れた。ただ、パイロットとしての本能だけが彼等を戦わせていた。
 不意に、戦いは終わった。
 ファージ・ストレガは全機が撃墜され、地面にその残骸を晒していた。
 ミショーは呆然とそれを見つめていた。間違いない……確かに生物だ……。
 彼等はグランド・モードでファージ・ストレガを観察した。やがて、ミショーは言った。
「テロリストですって?」
「しかし、なぜストレガが……?」
 ラングの疑問は、ファージ・ストレガそのものに向けられていた。先刻のマッスルはまだ判る。敵があらかじめマッスルを改造していたとしたら……だが、突入して1時間も経っていないアルファフライトのストレガをどうやって……?
 ディースリーがポツリと言った。
「金属分子と分子結合しているんですよ」
「…………」
 ラングもミショーも、否定する気にはなれなかった。現物がここにあるのだ。
「大尉、今まで登録されている地球外生物はいくつです?」
「ああ……うん、確か、二つだ」
「地球外生物スリーとして登録を申請します」
「判った」
 ラングはディースリーのクールな態度に一驚した。だが、これが最も的確な対応であることに気づいた。パニックは、何の解決にもならない。ここは、訓練通りにやるしかない……ミショーも同じ思いなのか、冷静なコールを返してきた。
「全機、このままエマーコールポイントへ。住民を確保、ギャラントからの救出を待つ」
「ラジャー」
 3機のストレガは、編隊を組み、再びエマーコールを求めて飛び始めた。

 ミショーたちのフライトを、クラークは知覚していた。
 彼は電磁気だった。あらゆる生命現象は、極言すれば核力と引力と電磁力の所産と言えた。クラークは、「思考」というパートだけを拡大させた存在だった。
 計画は全て順調に進んでいた。220の防衛システムを狂わせるのは、楽しい知的ゲームだった。3Dホログラムを造り、磁気フィールドと熱を与えて人間そっくりの質感を加える事は、彼にとっては造作なかった。ギャラントのコンピューターにアクセスし、本物の証明をホログラムに与えるのは実に簡単だった。ギャラントの戦術コンピューターに作戦を立てさせるのは、児戯だった。人間はそれにまんまと引っかかり……ここは反省すべき点がある。コックスが撤退を進言したら、キナバルは受け入れただろう。そうなったら全ては終わりだった。コックスへの感謝の置き土産は残しておいた。ファイルを見て、さぞかし彼は驚いただろうな。
 とにかく、ここまでたどり着いたのは3機だ……3機か……2機で充分だ。数を減らそう……失敗は許されない。
 クラークはどうやるか、考えた。
 自らアクセスするのがもっとも確実だが……よそう。彼等にも生き延びる機会を与えるべきだ。それが、人間の手によって誕生した電脳ネット生命体の心意気というヤツだ。


==NOVEL PHILOSOMA==



2010/04/29 00:24 | Comments(0) | TrackBack() | ゲーム
EC-CUBE 商品管理画面、脅威の隠し機能

管理画面→商品管理→商品マスタに移動すると、以下のようなURLになると思います。
http://eccube.localhost/admin/products/index.php

ここでPOSTパラメータにmode=delete_allと記入して送信してみると、商品データが全部消えてしまいます。
怖ろしい。
実はロジック的にそういう機能が書かれているのに、テンプレートからリンクが貼ってないのですよね。

一体何のためにあるんだこの機能。

ていうか、いつも思うんだが$_GETとか$_POSTとか書かないで$_REQUESTにしてくれ。


EC-CUBEの記事
 



2010/04/26 22:58 | Comments(0) | TrackBack() | PHP
買ったものリスト 2010/04/25

http://twitter.com/gameside
7月3日発売の次号「ゲームサイドVol.24」をもって、「ゲームサイド」は休刊する事となりました。今後は速報性の高い情報は「Game Bridge」 http://g-bri.com 、保存価値のあ記事や企画は書籍シリーズとして、皆様にお届けしたいと思っております。

えっと…?どういうことですか?

例えば……「シューティングゲームサイド」とか新しく創ったら、読んでみたいですか? 業界初のシューティング専門誌。私は読みたい。無いなら、創ろうか。創れるかな? 試算を組んでみよう。

原田が居た頃にやらないと……まあ、私はほしいですがどう考えてもゲームサイドより売れない。



バカとテストと召喚獣
☆☆

………えーと、本作品のいったいどこで笑えばいいのでしょうか。

…………

……あまりにつまらなすぎて何も書くことがない。

とりあえず、巻末で文学少女を宣伝しているのは作者に可哀相すぎる。
主に筆力の点で。


ギャルゲーマスター椎名
☆☆☆

おお、2409階の彼女という神作品の著者じゃないか、と思って買ったら全然違った。
何故そんな勘違いをした。
なんかこの作者のどれかの作品が神だったという記憶があるんだがamazonのリストを見てもピンと来ない。
少なくともラディカルプリンセスは読んだことがないので違うし、ラキアは良かったが神と言うほどではなかった気がするし、なんだったかなあ。

内容ですがうん微妙。
↑と根本的な方向性が同じなのですが、ただ文章が上手なだけ随分マシです。
少なくとも読めるレベルにはなっています。


赤ずきんちゃんが不思議の国に迷い込んだようです
☆☆☆☆

昔話をポップな絵柄で新解釈、なシリーズ第二弾。
http://www.nicovideo.jp/watch/sm7433989 ←第一弾

誰も名前を覚えてくれないから赤ずきんでとか言ってたのに本作ではあっさり本名が判明します。
その後不思議の国に迷い込んで…ってそういえば俺不思議の国のアリスの原作読んだこと無かった。
なので原作にどの程度沿っているのかはよくわかりません。
シュールな世界観と台詞運びは健在なので前作が面白かった人は買って損はないでしょう。
表紙裏とか裏表紙とかも色々凝ってますし。
前作にあった秀逸なオチのようなものが本作では無くなっていたのでそこだけは残念。


クイックセーブ&ロード2
☆☆☆☆

記憶を保ったまま過去に戻れる、そんな力があれば私なら迷わずロト6を買いに行きますが、本作は任意のタイミングで一度だけクイックセーブができてしまう、そんな夢の能力を手に入れた主人公が迫り来る家族崩壊をくい止めるお話。
文章がうまくて緊迫感がただごとではないです。
まあいくらでもリセットできるのだから正直もう少しうまい解決策もあるだろうにと思わないでもないですが中2だから仕方ないか。
しかしこの戦いすらもいつかは時の彼方に埋もれてしまうのかと思うと空恐ろしい。


The Elder Scrolls IV: オブリビオン Game of the Year Edition
☆☆☆☆☆

何でもできるRPG、Oblivionに拡張パックを追加した完全版が発売。
本当は拡張パックShivering IslesがDLCとして用意されていたはずなのですが、技術的理由かなにかで提供できなくなってしまったようです。
結局実績も完全に別のソフトとして販売されました。
この通常版の実績1000/1250をどうしてくれる。
追加部分以外は変わってないので、前作をプレイしていた場合は同じことをもう一度する羽目になるのですが、まあ面白いからよし。
☆は通常版の評価です。GOTYエディションも変わらないだろうので☆5個。



2010/04/25 16:39 | Comments(0) | TrackBack() | 買ったもの
EC-CUBE 子カテゴリを取得
引数としてやってきた現在のカテゴリから、子カテゴリのリストを取得しようと思います。

/data/class/helper/SC_Helper_DB.phpにはやたら沢山メソッドがあるのですが、その中にカテゴリ関連のものも存在します。
カテゴリを取得できるっぽいメソッドとしてSC_Helper_DB::sfGetCatTree()があります。

1
2
3
4
5
6
7
8
    /**
     * カテゴリツリーの取得を行う.
     *
     * @param integer $parent_category_id 親カテゴリID
     * @param bool $count_check 登録商品数のチェックを行う場合 true
     * @return array カテゴリツリーの配列
     */
    function sfGetCatTree($parent_category_id, $count_check = false)

ちょっと試してみます。

1
    $ret=$SC_Helper_DB->sfGetCatTree('1',false);

親カテゴリIDが1のリストを取得してくるかと思えば、何故か商品が一件でも登録されているカテゴリが全て返ってきました。
なんだこれ。

試しに発行されたSQLを覗いてみると、

1
2
3
4
5
6
7
SELECT
    T1.category_id, category_name, level
        FROM dtb_category AS T1 
            LEFT JOIN dtb_category_total_count AS T2 
    ON T1.category_id = T2.category_id 
WHERE
    del_flg = 0 AND product_count > 0ORDER BY rank DESC

……何処にもparent_category_idの文字がない……
実際メソッドを見てみると、上記SQLで全てのカテゴリを取得後、親カテゴリIDを取得してその中に突っ込むという何をやっているのかさっぱりわからないことをやっています。
これは一体何のためのメソッドなんだ?


もうひとつカテゴリを取得できそうなメソッドを見つけました。

1
2
3
4
5
6
7
8
9
10
11
12
    /**
     * カテゴリツリーの取得を行う.
     *
     * $products_check:true商品登録済みのものだけ取得する
     *
     * @param string $addwhere 追加する WHERE 句
     * @param bool $products_check 商品の存在するカテゴリのみ取得する場合 true
     * @param string $head カテゴリ名のプレフィックス文字列
     * @return array カテゴリツリーの配列
     */
    function sfGetCategoryList($addwhere = "", 
        $products_check = false, $head = CATEGORY_HEAD)

試してみます。

1
    $ret=$SC_Helper_DB->sfGetCategoryList('parent_category_id=1',false);

無事に想定どおり、親カテゴリIDが1であるカテゴリの配列が返ってきました。
めでたしめでたし。

が、調子に乗って

1
2
    $ret=$SC_Helper_DB->sfGetCategoryList(
        'parent_category_id='.$_REQUEST['category_id'],false);

とすると死にます。
引数として'1 OR 1=1'を与えると見事に全カテゴリが返ってきてしまいました。

普通こういうメソッドを作る場合は$addwhereを連想配列なりプリペアドクエリなりにし、メソッド側でエスケープ処理を行います。
SC_Helper_DB::sfGetCategoryList()

1
    $where.= " AND $addwhere";

という信じがたいことをやっているので、外部引数を使用するときにはこのメソッドを使うことができません。

全てのメソッドがこのような作りであれば(よくはありませんが)まだましなのですが、
例えばSC_Helper_DB::sfDataExists($table_name, $where, $arrval)は引数$whereにプリペアドクエリを用意し$arrvalにその値を入れるという作りになっています。

1
2
    $ret=$SC_Helper_DB->sfDataExists('dtb_category'
        , 'parent_category_id=?', array($_REQUEST['category_id']))

という形で安全に引数を渡すことができるようになっているのです。

いやはやなんでこんな酷いことになってるんですかね。


簡単に子カテゴリリストを取得できるメソッドを追加しましょう。

/data/class_extends/helper_extends::SC_Helper_DB_Ex.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    /*
        子カテゴリリストを取得
    */
    public function getChildCategory($parent_category_id=0){
        //SQL
            $objQuery = new SC_Query();
            $col = " * ";
            $where = "del_flg = 0 AND parent_category_id = ?";
            $objQuery->setOption("ORDER BY rank DESC");
        
        //実行
            $arrRet = $objQuery->select($col, "dtb_category", 
            $where, array($parent_category_id));
            
        //返却
            return $arrRet;
    }

何故この程度のメソッドが最初から用意されていないのかは謎。

SC_Helper_DBそのものについても、SC_Queryを毎回newせずにコンストラクタで用意しておいてSC_Queryにreset()resetOrder()を用意してくれとかSC_Queryを渡したりするのをやめてくれとかいろいろ言いたいことはあるのですがあまりに酷すぎるのでもういいや。


EC-CUBEの記事


2010/04/23 23:17 | Comments(0) | TrackBack() | PHP
==NOVEL PHILOSOMA== 11

==SCENE 08==

 ミショーたちの編隊は、エレベーターをクリアし、コミューターラインへ続く狭いトンネルを飛行していた。その狭さは、想像以上だった。トンネルの幅は90フィートもなく、高さは……ラングはうめきかけた。なんてこった……50フィートもない……こんなところを戦闘機で飛ぶなんて……。
 一方、カレンはようやく活力を取り戻していた。それは、目前で展開されるスリリングな光景に刺激されてのことだ。こんなフライトは初めてだった。複雑にうねるパイプが目の前を流れ去り、そして……ジェットコースターなど比較にならぬスリルだ。アリスはあれから快調だった。カレンは何の不安もなく、スリリングな光景を楽しんでいた。
 カレンにとっての不幸は、問題がスリルの枠を超え、己の生命の問題になってしまったことだった。
 不意に、パネルにワーニング・ランプが点滅した。カレンは愕然とした。続いてアリスのコールが流れた。
「コーション、フライトコントロールシステム……」
 突如、異常な音とともにアリスの声がゆがんだ。中世的なボイスから、歪んだ男の声になった。ピッチはまったく安定せず……いや、問題は警告の内容だ。それは……。
「……アクセス……ハック……ゲノム……アクセス……ハック……ゲノム……」
「アリス!アリス!」
 カレンはパニックに陥っていた。目の前の事実がどうしても信じられなかった。ストレガ一機につきアリスは七台搭載されている……故障の確率は……馬鹿な、こんな馬鹿な!
 異常音と共にアリスの音声が停止した。
 ラングは絶叫した。
「カレン!」
 もはや、なにが起きているかは明白だった。カレンのアリスはダウンした。システムダウンだ。打つ手は一つだ。
「カレン。早くしろ、カレン!」
「カレン、手動に切り替えて!早く!」
 ミショーは怒鳴った。目の前のヘッド・アップ・ディスプレイにDANGERの文字が点滅した。急旋回のマーカーが輝き……ああ、カレン、何とか切り抜けて!
 左に90度折れている通路を、ストレガは、ミショー、ラング、ディースリーの順で通過した。そしてカレンは……。
 マニュアルへの切り替えは辛くも間に合った。カレンはスティックを握るとそれを左に倒し、ラダーペダルを蹴り、さらにベクター・ノズルを作動させた。
 カレンのストレガは辛くも旋回した。だが、彼女は旋回の持つ慣性まで計算に入れた操作が出来なかった。カレンのストレガは次の通路で大きく左に膨らんだ。彼女はそれをくい止めようと必死にラダーを……ラダーペダルを蹴った。
 カレンは減速すべきだった。減速してグランド・モードを立ち上げ、停止するべきだった。彼女はストレガの優れた旋回性能に頼りすぎ、完全に冷静さを失っていた。
「ブレイクだ、カレン!」
 ラングは絶叫した。ディスプレイに映るカレンのストレガは左に寄っていた……ああ!ダメだ、それではダメだ、カレン!
 壁に設置されたパイプの群れが、カレンの視野に急速に飛び込んできた。もはや、激突は避けられなかった。ベイルアウトは……? 不可能だ。射出座席は天井に激突し、私は首の骨を折り……。
 カレンは自分の思考に愕然とした。自分に迫っている死が信じられなかった。こんなはずではない……ここで終わるなんて……自分にはまだ人生がある。こんなはずではない!ラング、ラング、私を助けて、ラング!
 ラングは覚えていないだろう……彼女がラングと初めて会ったのは、コロニーで開かれていた航空祭だったラングはアクロバットのソロを務めており……カレンは一目惚れした。叔父であるキナバルに頼み、名前と所属を調べてもらい、挙げ句の果てに彼女はイギリスの名門校を退学してUNFに入り……当時の彼女を知る者は、誰もが彼女が発狂したと思った……パイロットへの道を選んだ。
 彼女がギャラントに配属されたのは、キナバルが動いたからだった。実の娘のようにかわいがっていた姪の懇願をキナバルは断ることが出来ず……デルタに配属された。
 カレンはこの作戦が終わったら、ラングに結婚を申し込むつもりだった……パイプが迫ってくる。パイプ、パイプ、パイプだ。カレンの視野に最後に飛び込んできたのは、廃液処理のためのパイプだった。それは秒速84キロメートル/セコンドでカレンに接近し……いや、逆だ。彼女の方がパイプに向けて突進しているのだ。
 回避の方法はどこにもなかった。カレンが最後に見たのは……。
 パイプが彼女の視界いっぱいに広がった。カレンは絶叫した。
「ラング!」
 それからゼロコンマ1秒後、カレンのストレガは壁に激突し、炎上した。バラバラになった部品が、かつてストレガと呼ばれていた金属の破片が、そしてカレンと呼ばれていた身体の一部が周囲に撒き散らされ……全て燃えてしまった。搭載されていた燃料と弾薬が即席の溶鉱炉となり───廊下の構造はその手の燃焼にはぴったりの構造だった───それらを全て焼き払ってしまった。
「カレン!」
 ラングは絶叫した。彼に出来るのはそれだけだった。
 ラングの悲痛な叫びが、カレンのレクイエムだった。
 カレン・レイノックスはこうして死んだ。
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

 コックスは信じられない光景を目撃していた。
 目の前にいる男───クラークと名乗った男の肉体が、急速に色を失っている。それはまるで……そう、映画で見るゴーストそのものだった。
「おまえは……?」
「言ったはずだ。私はクラークだと」
 不意に士官が悲鳴を上げた。目の前の光景は理解不能だった。彼は夢中でクラークに向けて拳銃を突きだし、引き金を絞った。
 銃声が反響した。弾はクラークを突き抜け、コンソールに命中した。
「無駄なことだ……」
 クラークの身体はほとんど消滅していた。
 彼はコックスを見て言った。
「私の力になった礼だ。ドライブCのディレクトリ、243542を見たまえ。全ての真実は、そこにある……」
 士官は拳銃を取り落とした。
 クラークの姿が消えていた……完全に消滅したのだ。
 一同は呆然と周りを見渡した。
「これは……現実なのか?」
 キナバルが茫然とした表情で呟いた。
 コックスも同じ思いだった……だが、その前に確かめるべき事がある。
 ディレクトリ243542だ……。幻覚でないのなら、そこに何かが眠っているはずだ。この事件の真相ともいうべき何かが……。
 コックスはキーボードを叩き始めた。
 キナバルはボイドに尋ねた。
「デルタとの通信は?」
 ボイドはただ首を振るだけだった……交信不能だ。キナバルは、悪い夢なら醒めてくれと、心から願った……。
 悪夢は醒めそうになかった。

 ドリルの回転する轟音が響いていた。
 それはパン挽き用の石臼のような音だった……直径200フィートはある巨大なドリルは、麦の代わりに岩石を砕いていた。
 採掘トンネルの縦穴だった。穴と言っても直径は300フィートはあるだろうか……。
 ミショーたちのストレガは、そこでホバリングしていた。
 しばし、彼等は沈黙した。
 やがて、ミショーのストレガに微かな声が聞こえた。ラングだった。
「カレン……」
 アリスがコールした。
「墜落原因、不明」
 再び沈黙が降りた。
 ミショーは耐えられなくなった。自分の責任ではない……だが、身近に死を見るのは、もうたくさんだった……カレン……決して好きになれる存在ではなかった……だが、それと彼女の死は別だ。
 ミショーは前方をホバリングしているストレガを見た……あそこに、カレンが愛した男がいる……思わずミショーはカフを上げていた。
「ラング、カレンはあなたを……」
 ラングは愕然とした。なんてことだ? ミショーは知っていた……俺とカレンの関係を……ああ……それなのに俺は……。
 ラングは己を嫌悪した。隠し通せたと思った事……そして、トンネルでカレンに抱いた感情の全てを……そうだ……俺には、俺にはやはりカレンが必要だったのだ……。
 ラングは、想いを凝縮して答えた。
「言うな、ミショー」
「でも……」
「任務続行だ」
「………」
 ミショーは沈黙した。ラングの口調は淡々としていた。彼は泣くことはないだろう……事実を受け入れ……そして、淡々と任務を遂行する。それがアイザック・ラングだ。無頼漢を気取っていても彼はそういう男だ……。
 ミショーは何も言えなくなった。
「行くぞ」
 三機のストレガは、ラングを先頭にホバリング・モードから素早くチェンジし、垂直降下を開始した。
 ディースリーは、さすがに呆然としていた。シニカルな彼にとっても、カレンの死は衝撃だった……そして、ラングとミショーが瞬時に互いを理解し合っている点にも……。
 彼は微かにため息を漏らした。それは、人生の先輩としてのラングとミショーへの、敬意の表れだった。
 リターン・キーを押したコックスはディスプレイを見た。
 243542
 クラークが言ったディレクトリは実在した。やはりさっきの光景は、幻覚ではなかった……。コックスはキーを叩き、ディレクトリを開いた。画像ファイルを初めとするかなり大きいファイルが並んでいる。コックスはまず最初のファイルをロードした。何が出てくるか、彼は息を呑んだ。
 
 

==NOVEL PHILOSOMA==


2010/04/21 21:38 | Comments(0) | TrackBack() | ゲーム

<<前のページ | HOME | 次のページ>>
忍者ブログ[PR]