2007/01/02 Tue [長年日記]
PHPの三項演算子
あけましておめでとうございます。
個人的に、2006年はRubyの年だった訳ですが、11月に少しいじった影響で、2007年はPHPの年(あくまでも個人的ですが)になるかもしれません。(えーっ?!)
いや、便利には違いないんですよ。PHPは読みたく無いコードを量産する人が多いですし、言語設計の行き当たりばったり感や、世間の風当たりを考えると辟易するしかないのですが、それを除けば意外と良い奴なんです。->演算子もタイプ数が多いので面倒ですが、嫌いではないです。主張やフォローが好みだけで押し切ってるので何とも情けない気分ですが。
でも、PHPの三項演算子はいくらなんでも好きになれません。何故か演算子の優先順位が左結合なので、カスケードさせようとすると括弧だらけの気持ちの悪いコードになります。三項演算子は書き方次第で結構読みやすく書ける代表例の様な気がするんですが、PHPでは無理です。
$value = "value"; $default = "default"; echo isset($value) ? $value : isset($default) ? $default : "none";
上記コードの出力は以下です。
default
ええ!
PHPの片鱗を味わってしまいます。左との結合が強いんです。
echo isset($value) ? $value : (isset($default) ? $default : "none");
上記コードの出力は以下です。(変数定義は省略していますが、最初のコードと同じ)
value
正解。
更に連鎖すると読み難いのでいつものパターンで整形。
echo isset($value) ? $value
: (isset($default) ? $default
: "none");
(´Д⊂ Lisp?
三項演算子のカスケード記法は諦めます。
PHPの三項演算子でも読みやすくする方法あったら教えてください。
2007/01/03 Wed [長年日記]
xreaのホストディレクトリにアクセスさせない
xrea(XREA+)ではホスト名を複数持つ場合、そのホスト用の領域はpublic_html中のサブディレクトリとして用意されます。
例えば、xrea+をつかている当サイトd.bulkitem.comの場合は、/virtual/user/public_html/d.bulkitem.comというディレクトリにファイルを置くと、http://d.bulkitem.com/でアクセスできるようになります。
ただ、public_htmlが既に標準的な公開ディレクトリになっているので、/virtual/user/public_htmlにホスト名のwww.bulkitem.com(標準ではuserid.s*.xrea.com)が割り当てられている場合、http://www.bulkitem.com/d.bulkitem.com/にアクセスすると、http://d.bulkitem.com/と同様のファイルが返されます。
HTMLの書き方によっては画像やスタイルシートのリンクが解決できずにレイアウトが崩れます。特に実害は思いつきませんが(変なアドレスが活用されても、せいぜいアクセスパスが複数ある事でSEO効果が〜とかぐらい)、格好の良い物ではないので、そのようなアクセスが万が一あったら拒否しましょう。転送した方が親切なのかもしれませんが、システムの都合上存在してしまっているだけで、本来そんなuriは存在して欲しくないので、私は敢えてアクセス禁止にしています。
設定にはmod_rewriteを使います。xreaでは普通に使えます。
RewriteEngine on
RewriteCond %{HTTP_HOST} !^d.bulkitem.com$
RewriteRule ^.*$ - [F,L]
#転送の場合
#RewriteRule ^(.*)$ http://d.bulkitem.com/$1 [R=301,L]
xreaは共有サーバなので、httpd.confはユーザーが変更できません。なので、/virtual/user/public_html/d.bulkitem.com/.htaccessで設定します。
d.bulkitem.comディレクトリにアクセスしてきたのに、環境変数HTTP_HOSTがd.bulkitem.comで無ければ、アドレス書き換えは行わず(-)にFフラグ(forbidden)を適用します。そして、それ以上の処理は必要ないのでL(last)フラグも付けておきます。
xrea以外でこういう構成になっているサーバを知りませんが、普通のアドレス書き換えの話なので、場合によっては他でも役に立つかもしれません。
2007/01/05 Fri [長年日記]
イン・ザ・プール
奥田英朗の小説は初めて読んだのですが、おもしろかったです。神経科の医者に掛かる患者視点の話で、医者を軸に短編が5話収録されている構成。
医者は何も考えてないような人柄だけど、全部把握して予定通りに患者を振り回して、結局直しちゃうというちょっと出来すぎた話。
もちろんその出来すぎた部分が面白くて、それを前提に話は進む。第一話のインザプールがルール説明にあたる。話の筋自体は凡庸に見えるけど、医者に対する不振と、でも症状を重く見ていない患者のやり取り等が、コミカルでいてハートフルな感じ。ハートフルは少し違うかな。とにかく無茶苦茶なんだけど嫌みが無くてて読んで気持ちいい。
最終的に丸く収まる予定調和の安心感と言うのも、自分の中で心理的に"フィクションだ"と割り切らずとも、のめり込めるのでありがたいです。
2007/01/11 Thu [長年日記]
スプートニクの恋人
最近は小説ばかり読んでいますが、また小説です。
村上春樹のスプートニクの恋人。ノルウェイの森に似てるけど、ノルウェイの森の方が面白い。
すみれに好感が持てず、ミュウも信頼が置けないので、個々の話が本当か嘘かが気になってしまい、ストーリーが想像し難く感じました。ラブストーリーどころか、解決編の無い推理小説のようにしか、どうしても読めなかった。
あんまり面白く無かったので、特に感想は書きません。記録として。といっても、また考え落ちなので、周りの人に読んでいる人が居たら嬉しい。
2007/01/15 Mon [長年日記]
またvim
去年vimを使おうと決意?したにもかかわらず、さっぱりわすれて結局emacs三昧だった事を反省して、年も新たに、改めてvimを使う事に。たつをさんのEmacs 初心者のための最低限のコマンド表を見てvimに対する決意を思い出した訳です。
過去にvim6や7をインストールした時は、インライン日本語入力が出来ない事で減なりして放置に至ったので、そこをまず解決する事に。
Vim7.0 + KaoriYa を Mac OSX にインストールする - 2xup.orgを参考にする。
emacsではX-sで使えるのでインクリメンタルサーチ使ってるけど、別にインクリメンタルサーチ好きではないのでmigemoはパス。あるなら使うけど、無いならなくて構わない。むしろキーワードの入力に負担をかけるので嫌い。
参考ページ通りにソースをダウンロードしてパッチ当ててビルド。7zaの存在を初めて知った位で、特につまずく点はない。ありがとうgoyaさん。インライン入力もバッチしでした。Vim.appはメッセージボックス経由だけど。まぁ、これは使わないだろうから無問題。
とはいっても問題はここからなんだけど。emacs使い始めたときの感覚で言うと、結局慣れが大事なんだよね。vim使いこなすには、やっぱemacs封印が一番か?
まぁ、バリバリ使いこなすというより、たしなみ程度に使えれば良いんだけど。
Windows vista
あと約2週間と発売のせまったWindows Vistaが楽しみ。Macメインだし、すぐには買わないと思うけど、直ぐに電気屋には行ってみたいと思います。
おまけより割引してほしい
ちょっとまとめて更新で気が引けるけど、正月に読んだ本等。
小売業というのをやった事が無いので、198(いちきゅっぱ)の魔力位しか思い浮かばないんだけど、やっぱり売ってる方は色々考えている訳で、特にバリューとコストを意識するという点で発見があった。
まぁ、値段が安ければ良いというのは当たり前だし、安過ぎると品質を疑われるというのもそうだけど、時間というコストに関して、筋道立てて考えた事が無かったので、なんかすっきりした感じ。
早いが一番、近いが一番というのはあるよなぁとうなずいてしまった。
でも、吉野家や松屋や大戸屋に行く一番の理由は、何処でもある完全禁煙の店だからだからだったりする。
Perlベストプラクティス
ひさしぶりに読み返す。こういう本は初めから最後まで通して読むという事が無いので、パラパラ見てると大抵新たな発見がある。
どの項目も殆ど違和感が無いんだけど、コードレイアウトの「}とelseを同じ行に書かない」と言うのが基本的すぎて影響範囲が広いせいか、自分的にはあからさまに気持ち悪い。でもまぁ、やってみるかと思った。
} else {
}#推奨
else {
うーん、前者の方が好きだけど、慣れかな?
2007/01/16 Tue [長年日記]
メタル ギア ソリッド ポータブル オプス
メタル ギア ソリッド ポータブル オプスで今遊んでいるんですが、スゴく面白いです。
メタルギアソリッドのシリーズ(アシッドは自分的にはいまいちでした。つまらないというわけではないですけどね)はどれも面白いのですが、仲間を増やして部隊をつくるというシステムがハマります。
ビジュアル的な個性は乏しい物の、パラメータ的能力にそれなりの隔たりがあり、しかもパラメーターの数字だけの自己満足的な物ではなくて、その能力がきちんと操作感に影響しています。
なので、能力の高い仲間を揃える動機づけというのがきちんとあり、尚かつ仲間を増やす作業そのものにも楽しみがあります。ゆるいメガテンやポケモンみたいな仕組みといった感じでしょうか。ゆるいというのは対象があくまでも人間なので、特殊能力(や必殺技) イコール 存在価値ではないという事です。決して出来がいまいちという事では無いです。
100人近い仲間を揃えてしまうので、完全に部隊組織が編成できてしまっていて、メタルギアソリッド的でないと言えば無いのですが、基本的に単独行動なので問題ないです。そういう意味では単独行動する必然性が不明で馬鹿っぽくもありますが。
PSPなのでPS2とかに比べると操作しづらい点が間違いなくありますが、なれるとそんなに感じません。動かし難いけどあんまり問題にはならないみたいな感じで、携帯できる(というよりテレビが要らない)利点が上回るというのでしょうか。
ストーリーも局所化されているので、共産国家がうんたらといった、またその話ですか的なマンネリ描写が少なくなっていて、時代背景やストーリーを長い語りだけで説明しきって良しとしてしまう所がプロパガンダ的で嫌気がさしていた自分としてはテンポが良くて良い感じ。
嫌な所は、特に無いけど、まぁ、サブボス含めたボスが変な奴ばっかと言う所ですね。今に始まった事じゃないけど。そういう意味でボス戦はドラゴンボール的でまともな戦いにならないので、PSPの操作感だと結構負けるし難しいです。
PSPを持っているなら御奨めしたいです。ゲーム好きじゃない人を掘り起こせるソフトかと言うと多分ゲーム好き専用かも。DSのステージで評価する必要は無いと思いますけど、PSPと併せて買うと結構な値段なのでそこはどうだろう?自分がPSPをウェブブラウザと音楽を聴く時にたまに使う位なのでちょっと考えてしまう。でもウェブブラウザも便利なんだけど。
2007/01/19 Fri [長年日記]
メタル ギア ソリッド ポータブル オプス
2回目を終えました。一度クリアしたゲームを何度もやるのは久しぶりです。*1といってもこのシリーズはクリアデータ必ず遊んでいますが。2回目ともなると8時間弱でクリアできました。仲間集めを殆どしないので、その時間がずいぶん削られていると思いますが。
久しぶりにゲーム熱が盛り上がってきたので、面白そうだなと思っていたシャイニング・フォース イクサを*2買うか迷ってます。
ゲーム熱といってもDSでは、どうぶつの森とか、マリオとか、漢字検定とか、英語漬けとかやってたんですが、なんかゲーム熱とは違うんだよな。PSPは良いソフトがあんまり見当たらないけど、ゲーマーには欠かせないと思います。DSも面白いけどね。確かに比べるものじゃないなぁとか思った。
わたしの人形は良い人形
わたしが知らないスゴ本は、きっとあなたが読んでいるで紹介されていて、『グロなし、血なし、残虐なし、絵がリアルというわけでもなし。それでも心臓が冷たくなる恐怖にワシ掴みにされる。』の紹介文に興味をもって読んでみました。作者の山岸凉子という人を知らなかったので、予備知識は皆無だったんだけど、まず驚いたのが漫画だったw。これは一番予想外。完全に小説だと思ってたし、装丁も文庫本だったので開いてみてびっくり。今思えば”絵がリアルでも無し”って所で気付という話なんですが。
深夜に読むのが一番なんだろうけど、勇気がなかったので21時位に読みました。怖い怖いと言われて読んだせいだと思うのですが、そんなに怖くは無かった。とはいっても怖く無い訳ではないので、怖さ適当で正直ありがたいのだけれど。古い屋敷みたいな大きな家に住んでいたらトイレには行けないかもしれない。
Dainさん*1同様、私も「汐の声」が一番怖かったかな。霊や怨霊云々よりも仕事や金の為に誰にも取り合われずに、人権が蹂躙されているのがすごく怖くて、しかも最後までサワが両親(ママ)にすがって恨み節の一つも無い所がなお怖い。やっぱりおばけが怖いみたいなフィクションが恐い訳は無くて、人間の普遍的な狂気を表現した、緻密に計算されたストーリーに恐怖が絡み付く感じが一番怖い。そういう意味ではタイトルの「私の人形は良い人形」も同様の怖さがある。後半が救いがある*2ので怖さを減らしてるけど。
多分自分が小学生の頃だったら本気で怖かったと思う。小学生の時に御茶漬海苔作品読んでマジで怖かったから。多分あの人の作品で読みたく無いけど読まずにはいられない感覚をしって、何となくホラー好き&嫌い*3になったと思うんだけど、今読むとそんなでもないからなぁ。
2007/01/23 Tue [長年日記]
末期ガンになったIT社長からの手紙
最近本の感想とか、ゲームの感想等のエントリーが増えているんだけど、読んだ本でも特に思う所が無かったり、批判ばっかりになりそうな本はスルーしている。
この本も読み終わって、やっぱり健康はありがたいという事と、人生は一度だからやるならやらないとなといった類の事に収束してしまうので、特に取り上げなかったけど、以前読んでb.bulkitem.comでエントリーにした金持ち兄さんの王道?専門家をカモにする人・される人の著者の人だった事に気づいて、あのバイタリティーと行動力が妙に印象に残った人が亡くなった(病気とたたかう社長のblog)と知って、何か言い表せない様な違和感を感じたのでエントリーに残して置く。
ご冥福をお祈りします。
2007/01/24 Wed [長年日記]
容疑者Xの献身
東野圭吾の容疑者Xの献身を読んだ。サスペンス推理物であるにもかかわらず、持ったいつける事が無くてテンポが良く、設定も普遍的で、それでいてきちんと意外性があり、おもしろすぎてあっという間に読み終えてしまった。
サスペンス推理物で直木賞をとるあたり期待はしていたけど、期待以上に本当に面白かった。
事件の日付に関しては前半で明らかに出来ていたならそれに越した事は無いだろうけど、私は推理して自分の考えが合っているかどうかに重きを置かないタイプなので、本作の様な叙述トリックでもないけど、意外性の演出を優先した筋の書き方は楽しめて良かった。
ネタバレになるし、面倒なので筋は書かないけど*1、せつねぇ。
*1 書いた事等一度もないけど
Hyper Estraierをインストールした
全文検索システムのHyper EstraierをMacにインストールした。以前debianにインストールした事があるので、インストール自体は見当がついている。というか、普通。一応、ログに残しておく。ただ、きちっとしたドキュメントが提供されているので、そちらを読む事を奨める。BKも一切無いし。
QDBMのインストール
まずはQDBMをインストールする。
http://qdbm.sourceforge.net/index.ja.html
上記サイトからソースをダウンロードする。インストールを行った2007/1/24現在では1.8.74が最新版だったのでこれをダウンロードした。アーカイブなので展開する。
tar zxf ./qdbm-1.8.74.tar.gz
インストール
http://qdbm.sourceforge.net/spex-ja.html#installation
私はMacを使っているので、macでのインストール方法を行った。 展開したqdbmのディレクトリに移動して、以下のコマンドを実行する。
./configure make mac make check-mac sudo make install-mac
特にエラーは出ず、QDBMのインストールは完了。
Hyper Estraier
いよいよHyper Estraierのインストール。
ダウンロード
http://hyperestraier.sourceforge.net/index.ja.html
上記サイトよりソースパッケージの最新版をダウンロードする。2007/1/24現在の最新版は1.8.74だったので、これをダウンロードする。
展開
アーカイブなので展開する。
tar zxf hyperestraier-1.4.9.tar.gz
インストール
http://hyperestraier.sourceforge.net/intro-ja.html#installation
上記サイトに従ってインストールを行う。 展開されたディレクトリへ移動し、以下のコマンドを実行する。
./configure make mac make check-mac sudo make install-mac
特に何事もなくインストール完了。
とりあえず、grepしていたrubyのマニュアルのインデックスを作って検索してる。当然grepよりかなり速い。って、grepと比べられてもこまるだろうけど。
2007/01/26 Fri [長年日記]
iTerm
vimをiTermから使ってたんだけど、iTerm0.8.2はバッファの表示速度が遅くてしょうがない。シェル操作では英数字位しか使わないし、タイプ数も限られているのでなんと言う事は無いのだけど、エディタを使うにはストレスが大き過ぎる。んで、標準のターミナルを使ってるんだけど、シェル操作もターミナルで充分な感じ。
iTerm0.9.4は速くなってるみたいなんで入れようとは思ってたんだけど、結構どうでも良いかも。
2007/01/27 Sat [長年日記]
Xbox
360じゃないXboxを持ってるんだけど、殆ど使った事がない*1。
電源を入れ直すたびに日付の入力を求められたり、重くてでかくて五月蝿いくらいしか思い出に無い自分的不作ハードなんだけど、時間つぶしに入ったBOOKOFFでうっかり信長の野望に出会ってしまい、信長の野望DSに思いを馳せていた頃もあったなと思いながら値段の安さにひかれ衝動買い。
Xboxのあまりの投資効率の悪さから、出来るだけ回収しようという思いも大きかったように思う。
実際、SFC版以降信長の野望やった事が無かったんだけど、SFCの頃と違ってなんとなくでは操作できない。当然慣れれば普通に操作できるんだろうけど、慣れるまでが結構厳しい。しかも、フォントが明朝体だったりと字も読み難い。
Nintendo系やPS系と違って、コントローラーのボタンの役割も違って*2使い難い。
久しぶりにXbox出してきたけど、もうしまいたい気分です。
↓はDS版
2007/01/30 Tue [長年日記]
帝国ホテルのおもてなし
色々ウェブ上でも目にする本なので、それだけに期待値が高かったのか、実際読んでみると宣伝臭がキツいかも。とは言え、想定はされた事なので楽しく読めました。
良い本かどうかは分からないけど、帝国ホテルは良いホテルなんだろうと言うのは伝わります。
普通に生活してたら、催しの会場として行く事はあっても宿泊する事は一生なさそうだけど、帝国ホテルに泊る経験という事を目的に泊ってみるのも良いかもしれません。
泊って見ないと、本の内容がどうなのかも正直分かりませんしね。率直にモヤモヤ度が高い。
2007/01/31 Wed [長年日記]
まずは小さな世界で一番になる
idea*ideaで書評があがっていた「まずは小さな世界で1番になる」に興味を持ったので、早速読んでみました。
正直言うと、あまりにべた褒めだったので、暗に書評に取り上げるよう依頼されて書いた書評なんじゃないかなんて勘ぐりながら手に取ったのだけど*1、その真相はともかく実際に読んで損は無い本だと思いました。
内容は色々読ませる物があるんだけど、総じて感じるのは問題に対するバランス感覚の大切さ。
勝てそうな戦いしかしないし、ギャンブルもしない。勝算を考えて勝てる所で勝って行く努力をしっかりするし、そういう小さくても勝てる市場を常に探している。まさにタイトル通りなんです。つまらない言い方をするとニッチ市場とか、ブルーオーシャン戦略なんですけど。
そういう言葉でくくられてしまう中でも、実りはそんなに大きく無くても現実的に勝てる問題を見つけたり、実りは小さくても費用対効果の優れた問題を見つけたりする嗅覚というか感覚の大切さが主題で、大きな組織でのし上がるより、小さな組織でのし上がる方が現実的で効率が良い*2とか、「1,000億企業を目指す」と言いながら、「それまで私が経営していたハイヤー会社では、この1000億企業は目指せないということも私にはわかっていました。」とか言っちゃう所がスゴくて、志を持ちながらも、現実に扱える問題かどうか冷静に見極めてるんですよね。
周りの人にはハイヤー会社で1000億は難しいんじゃないの?と思われている空気の中で、本人もきちんと分かっていて、今の事業に拘泥しない。けど周りや社員は否応無く巻き込まれてしまうんですね。ちょっと社員は可哀想な気はするけど、目標は大きく無いと夢も希望もないですからねぇ。その過程で無謀なビジョンに将来を不安視して辞めて行く人も多そうなんだけどね。
なにはともあれ、字句以外の所からも色々考させてくれる良い本だなと思います。
- [PR] 夜は短し歩けよ乙女 の 森見登美彦
- [PR] 鹿男あをによし の 万城目学


