I ♥ WordPress

Perlで実行しているスクリプトが存在しているディレクトリ名・スクリプト名を取得する。
2006/12/20 01:00 posted by kunkichi

覚え書き。今までは、system()からdirnameとかbasenameコマンド叩いてたんだけど、File::Basename使えばできるんだね、ってことを今更知ったので。しかもSolarsi8標準のPerl_5.005_03で標準モジュールっぽい。

#!/usr/bin/perl

use strict;
use File::Basename;

my $prg_path = dirname( $0 );
my $prg_name = basename( $0 );

print “PRG_PATH=$prg_path¥n”;
print “PRG_NAME=$prg_name¥n”;

↓出力結果

# /tmp/test.pl
PRG_PATH=/tmp
PRG_NAME=test.pl

あぁ、初心者丸出し(爆
もっと勉強しよう。

Wii
2006/12/19 03:45 posted by kunkichi

Wii相変わらず買えない。少し熱も冷めてきた。

この辺とか見てるうちにXBOX360が欲しくなってきたこの頃。
GEARS OF WARとかLOST PLANETとか次世代感満喫してみたい。ウイイレXもあるし。

本命はPS3なのかもだけど、高いしねー。子供のおもちゃ買うってレベルじゃねーぞ。

ルミナリエ
2006/12/19 03:16 posted by kunkichi

今年も行って参りました、神戸ルミナリエ。今年ももうこんな時期なんだなー。ということでアップ。

06-12-17_20-19.jpg
↑入り口。この辺から軽くテンション上がります。

06-12-17_20-22.jpg
↑同じく入り口。別角度だと連なり感が出るね。

06-12-17_20-50.jpg
↑東遊園地内。

06-12-17_20-5000.jpg
↑上からぐるっと180度回ってみたところ。

来年も行きます。

P.S. この日、バルサVSインテルナシオナルはビデオで予約。バルサマフラー巻いて心の中で応援してたのだけど残念。

ちょっと先取り
2006/12/13 02:04 posted by kunkichi

ということでちょいクリスマス気分先取りでテーマいじってみました。

クリスマスと言えば、ワム!の”Last Christmas”が一般的だと思うんだけど、僕的にはポールの”Wonderful Christmas Time”かな。

ということで左上でポールがのぞいてます。

The Beatles / LOVE
2006/12/13 01:50 posted by kunkichi

さてと、久々の新譜レビュー。といいながらも、これを新譜といってしまってよいのか迷いつつ、、、。

まあこのアルバムの制作経緯は各所で記載されてる通りなので説明は省くとして、結論から言ってしまうと個人的には嫌いじゃない。ただし、新譜とかオリジナルアルバムと言ってしまうのはちょっと商業的すぎないかなとは思う。

デジタルリマスターみたいなもんなので音はほんと良いんです。ノイズが無くなってクリーン、ほんと聞きやすい。でもね、オリジナルを初めて聞いた時はそういうことが気にならないくらいの衝撃というか感動が十分にあったんだよね。もちろん新曲があるわけではないのでその感動をこのアルバムに求めるのは間違ってるだろうけど、やっぱり期待してしまうんだよね、ビートルズには。

プロデューサーはサー・ジョージ・マーティン。まあ彼は5人目のビートルズだしそういう意味ではビートルズ名義でもおかしくも何ともないんだけど、どうせならポールやリンゴも携わった上で出してほしかった。「アンソロジー」でリリースされた “Free As A Bird” や “Real Love” はジョンと他の3人で時間は違うけどそれでもやっぱり4人が携わったという点でものすごく感慨深いものがあったしね。実際 “Real Love” は大好きな曲だし。

今の若い人が聞く上でリマスタリングされた音のほうが聞きやすいというのはわからないでもないんだけど、今の若者のほうがそういうのに偏見なく、ノイズがあってもいいものはいい!って受け入れれるような気がする。もしそれを言うんだったら、やっぱりオリジナルのデジタルリマスター化がまず先、amazonのレビューでもたくさん書かれているけど。「1」だけじゃなくてさ。

結局のところやっぱりマニア向けな印象は否めません。でもまあ「オリジナル」じゃないと思えば、それはそれで普通に聞けるところが、つまるところ楽曲の良さかな。もしオリジナルのリマスターが出たらアナログとデジタル両方でコンプリートさせていただきますので是非よろしくお願いします>EMIの中の人。

PHPでリモートデバッグ
2006/12/09 18:19 posted by kunkichi

昨日は仕事を午前休もらって、アシアル株式会社主催のPHPセミナーに行ってきました。もちろん無料セミナー(笑。

で今回のテーマは「PHPで快適デバッグ」

PHPのデバッグ、というかWebアプリのデバッグは、例えばVisual Studioなんかを使ったデバッグとはちょっと違って難しいところがある。例えば、スクリプトのある時点での変数の値を確認したいとする。

Visual Studio だと、

  • 変数に値が入るところでブレークポイントを入れて処理をそこで止める。
  • 確認したい変数にマウスを合わせると値が表示される。

って感じで簡単にできるのだけど、Webアプリケーションとなるとこれが一気に難しくなる。

  • 変数に値が入るところで exit 入れたりして処理を止める。(ループがネストしていると大変、、、)
  • 変数を画面に出力するように print_r やら var_dump で処理を入れる。(後で消すのを忘れて本番にそのままいっちゃったり、、、)

こんな感じでとても原始的な上に後でめんどくさくなるやり方をするパターンが多い。というのもWebアプリでは処理はサーバ側で実行されるので、サーバ側で制御してあげないといけない。ローカルPCで Visual Studio を使うようにはいかないのだな。

ということで、DBG + DBGListener + DBGクライアント(PHPSimpleDebugger) を使った手法の説明がメインでした。簡単な図で表すと、
dbg.jpg

      1. ブラウザからリクエストにデバッグ用変数をくっつけて送信。
      2. デバッグ用変数に含まれているクライアントにデバッグ情報を送信。
      3. DBGListnerがデバッグ情報を受けてDBGクライアントを起動。
      4. DBGクライアントからデバッグ実行。
      5. DBGListener経由でサーバにデバッグ命令を送信。
      6. デバッグ命令を元にブラウザにレスポンスを返す。

試してないのでちょっと間違ってるかもしれないけど、要はサーバとクライアントでデバッグ用のポートを別途用意して、デバッグ情報や制御をそこで行うと。これでIDEライクなデバッグができるという訳。昔DBGを試してみたことはあったのだけど、リモートではうまく動かなかったのでそこで諦めてたんだよね。SSHでトンネル貼れば本番環境でもデバッグできそうだし。早速会社で試してみようっと。

あとDBG以外にもいろいろ面白いのがありました。

  • Pear::Var_dump
    var_dumpの出力結果を奇麗に表示してくれるPEARライブラリ。
  • dbug
    こちらも同じ。JavaScriptで折りたたみとかできるみたい。
  • Xdebug
    DBGと同じぐらい高機能なデバッグモジュール。
  • Gubed
    PHPで書かれたデバッグライブラリ。Firefoxのエクステンションと連動するらしい。
  • WinCacheGrind
    Xdebugで出力されたプロファイリング結果を表示するアプリ。

カレンダーいろいろ
2006/12/08 01:05 posted by kunkichi

オライリージャパンのトップページ更新されてました。今オンラインで書籍を買うと特製カレンダーがついてます。先着300部だそうです。急げっ!
オライリー特製カレンダー
これを職場のデスクに飾ればあなたも立派なオタクSE(爆

ということで↓買いました。

Web解析Hacks ―オンラインビジネスで最大の効果をあげるテクニック & ツール
Eric T. Peterson 株式会社デジタルフォレスト 木下 哲也 有限会社 福龍興業
オライリー・ジャパン
売り上げランキング: 72950

とこれ以外にも実はカレンダー買っていたりします。

  • Tunes カレンダー 2007 (AssistOn)
    dsc00028.jpg
    日めくりのカレンダーなんだけど、毎日ロック・ポップス・ジャズなどから1曲お薦めの曲とその曲のエピソードなどを紹介してくれます。ってか、サイト趣旨から言ってもむしろこっちを先に紹介すべきだろ(爆

    で中をパラパラめくってみた感じでは、選曲が幅広い上にかなりマニアックな曲が紹介されていたりで、まだまだ知らない曲がたくさんあるなと実感。ちょっとタワレコに行く日が増えそうな予感(笑。
    あと、記念日とかにはそれ向けのプレイリストになっていたりして、めくっていくのが毎日楽しくなりそうなカレンダーです。

  • 3ヶ月文字月表(15ヶ月) 2007カレンダー
    3ヶ月文字月表(15ヶ月) 2007カレンダー
    最近読んだ「1週間はこう使え!―一目置かれるデキる人の曜日術」で紹介されていたのがこれ。

    普通、カレンダーって大体1ヶ月表が多いんだけど、これは3ヶ月表。この3ヶ月ってのが仕事にはちょうど良いんだな。一般的なプロジェクトは大体3ヶ月前後だし、そもそも3ヶ月って四半期の区切りだからね。
    それと、もう一ついいところがあって、普通3ヶ月だと、「1月・2月・3月」、「4月・5月・6月」、って感じで四半期の最後に次の月は見れないのが多いんだけど、これはひと月づつめくれるので「1月・2月・3月」の次は「2月・3月・4月」って感じで常に向こう3ヶ月が見通せる。これは便利。仕事って過程も大事だけど、結局のところ納期とか締め切りが一番大事やったりもするからね。

とまあ3つもあってどうするんだ?という気もするけど、LifeHacks系の本をたくさん読んでみて、最近は時間ってやっぱり有限だと思う。
常に時間の経過を意識して毎日の密度を高くしていきたいものです。

1週間はこう使え!―一目置かれるデキる人の曜日術
中島 孝志
主婦と生活社
売り上げランキング: 56917

そいや、、
2006/12/04 02:31 posted by kunkichi

ピクサー展はピクサー設立20周年記念だそうな。

オライリー・ジャパンも今年10周年。早く新刊出ないかなー、カレンダー欲しい。

ピクサー展に行ってきた。
2006/12/04 02:16 posted by kunkichi

今日は兵庫県立美術館でやっていたピクサー展を見に行ってきました。ピクサー作品は子供に大人気だし休みもあって子供を連れた家族連れが多かったんだけど、これが予想外にほんとに楽しかった!

ピクサー作品に出てくるキャラのスケッチや絵コンテ、粘土の立体サンプルなんかがメインの展示なんだけど、最初のラフなデッサンからキャラのイメージが決まっていくにつれて徐々に僕らが映画で見たあの姿になっていく過程が見えたり、映画の背景のコンセプトイメージをCGアニメ化してあの世界観を体験できたりと、大人でも十分に楽しめる内容。東京に行ったときにジブリ美術館で見たゾーエトロープが「トイ・ストーリー」版で見れるとは思わなかったなー、あれはほんと楽しい。(目がちょっと痛いけど)

ちょびっとだけ写真取ってきたので紹介(館内はもちろん撮影禁止)

06-12-03_15-47.jpg
入り口。海のすぐそばでちょっと寒い。

06-12-03_15-48.jpg
入り口にあがる階段のところで「カーズ」のマックイーン、メーター、サリーがお出迎え。やはりここは家族連れの撮影スポットと化していた。ちなみにこの後入り口の直前にも別のがいたのだけど写真取り損ねた、、、orz

06-12-03_17-14.jpg
出口。手前のグッズショップでピクサーTシャツを買うか心の中で悩みまくった末、買わず。明後日あたり後悔しまくる予定、、、orz

個人的には「Mr.インクレディブル」にグッと来ました。

activeCollabがさくらにインストールできない件について
2006/11/30 23:56 posted by kunkichi

前のエントリでphp5をインストールしたので、やっとactiveCollabを試せると思っていたのに、インストールしてみると、、、

InnoDB storage engine is not supported.

さくらのmysqlってInnoDB非対応なのね、、orz

うーん、どうするかなあ、、、

【追記】
InnoDBじゃなくてMyISAMでは動かないのかなぁと思って、本家サイトのフォーラムをのぞいてみるとFAQ化していた様子、、、自分にorz

It should work, but I strongly recommend using InnoDB because activeCollab uses transaction to keep data in sync and recover from errors. Its that important that I’d say that InnoDB is requirement, but you can use MyISAM at your own risk.

To use MyISAM do what gog said in the previous post (open install/installation/templates/sql/mysql_schema.php and replace every occurance of ENGINE=InnoDB with ENGINE=MyISAM).

うーん、一人で使うつもりだから、とりあえずソースいじって使ってみるかな。

このページの先頭へ