限りなくmoonshine...

GarageBandなどDTMネタとバンドネタと甘いもの中心に。たぶん。

Apache アクセスログ解析。

2008-03-29 00:12:43 | Mac

知人より、サイトのアクセスログ解析を頼まれる。
来院状況や広告方法などの参考にしたいとのことだった。

このサイト、某有料レンタルサーバで運営していて、アクセスログは日別に提供されている。
Apache Combined Log 形式なので、とりあえず FTP でサイトの所定のディレクトリから
ダウンロードしてきて、Mac 上で shellscript かなんかでログを解析すれば良いだろうなと
思いつつも、早くも「スクリプト書くの面倒だ」という、業界人としてはあるまじき怠惰な
状況に陥る。気心知れた友達からの依頼ではないのに無償というのがモチベーション低下の
原因なのかななんて思いつつ、まあいいや、断る理由もなし。

で、まずは apache のログってどんなだったかな、と公式サイトのドキュメントを眺めつつ、
ダウンロードしたログファイルの1つを開いて内容の確認。
次に、じゃどうやってこれをパースするか、というところでさっそくググってみた。
自分で考える気はないのか、くらいな勢い。
すると、はてなに「Apache形式のログを解析する正規表現を教えて下さい。」という、
まさにそのまんまなモノが見つかる。ああ、Perl でやるのが一般的なのか。
この回答は Geekなぺーじの「アクセスログの読み方」へのリンクとなっていて、ありがたい
ことにスクリプトがそのまんま記述されている。世の中、親切な人ばかりで、本当に感謝に
耐えないのである。

なんて思いながらスクリプトをつらつらと読んでいたのだが、ググった時に出てきた、他の
サイトも気になってちょっと見てみる。
すると、Geekなぺーじを引用してパターンマッチの部分を改良されているエントリ発見。
「Apache Combined Log を効率的にパースする正規表現メモ」
[ぴ]さんの「スペースモラトリアムノカミサマ」というブログ。
というか、この方の技術情報は凄すぎ。何で今までこのブログを知らなかったのだろう。
やっぱブログはこうやって使われているのが一番ブログらしい気がする。
ここによると、「最長一致の .* が多数登場するためか、マッチ処理がとても遅い」らしく、
「10万行パースするのに Core2 使って 23.7秒」で「あり得なくね?」とのこと。
じゃうちの PowerPC G4 だとどうなんだ、丸2年半分のログを全部パースしてたら 10万行
どころではないので、何日かかるのだろうなどと恐ろしい想像をしつつ先に読み進めると、
どうやら最短一致でマッチさせるようにすれば、同じ 10万行が 1.12秒だと。まぢ?
これは頂く他ないだろうということで、Request String を分割取得するように記述されて
いるものの方を使わせていただくことにした。
ちなみに、CPAN モジュールに Apache Combined Log 解析するものがあるようだ。
そのうちこっちも試してみよう。

で後は、年月で階層化されたフォルダに格納されているログファイルを順に処理するように
ループの部分を書き、パースした内容をファイルに書き出すようにして完了。
このファイルを、先日作成したデータベースに取り込んで、集計元データを作成。

そして、どういった視点でこのデータを解析するか、だけど、とりあえず

  ・月別/曜日別/時間帯別の訪問数
  ・ページ別訪問数
  ・リファラ別集計
  ・エージェント別集計

このくらいがあれば大丈夫かな、と。また、グラフ化にあたっては、

  SQL 投げた結果を CSV で出力
  →NeoOffice の Calc( MS Office の Excel 互換無料ソフト)に取り込んで表作成
  →そこからグラフを作成

が、手間はかかるが楽かな。タイトルとか見栄えとか印刷とか考えると。
どうせ Perl 使ってるのだから GD::Graph っていうライブラリを使ってグラフを描画、という
手もあるみたいだが、これはこれでモジュールのインストールからしなきゃならないうえに、
取得データから多次元配列をどう組むか考えなきゃならず、都度データ数とかが変わる場合は
どうやろうかなんて考えてたら眠くなってきた。
今回は断念。そのうちやってみよう。
また集計自体も、Perl で直接ログファイルからやるもんなんだろうけど、全ログから特定の
データを検索したい場合とか、依頼主から思いつきで特定のデータ検索を頼まれた時のことを
考えると、都度いちいちスクリプト書くのもどうかと思うし、せっかくデータベース作ったん
だから慣れてる SQL の方が便利かな、なんて思いもあって。
とりあえず今日はこんなところで。


ところで、この話題を後輩とちょっと話していたときに、その後輩が
  「 Mac って、unix も動くんですね、Cygwin みたいなもんですか?」
って聞いてきた。
いや、アレは unix を Windows 上でエミュレーションしてるだけなので違います。
「 unix も動く」と認識していたようで、だから「今の Mac は Windows も動くよ」っていう
話をしていたときにエミュレータ云々の話が出たのか、と納得。
誤解を解くのと説明のため、Wikipedia の「 Mac OS X 」の項を参照してもらった。
こちらも、文才のあるどこかのありがたい方に感謝。
仕事中に編集に勤しんでいる某公務員でなきゃいいけど。

スネアヘッド悩み中。

2008-03-22 02:20:21 | Band

先月の The Telepaths ライブ以降たいした練習もしてないのに、当日の湿度とステージの
熱のせいか、スネアヘッドがベコベコになってきていたので張り替える。
例によっていつもの REMO コーテッド・アンバサダーにしようと思って店に行ってみたが、
直前に地元の友達から「 CS コーテッドも良いよ」とメールをもらっていたので少し悩む。
CS かー。クリア CS をメロタムに張ってた記憶しかないな、なんて思いつつ在庫を聞いて
みたところ、CS コーテッドは注文とのこと。
そういえばその友達はウッドシェルに張ってるそうなので、ブラスシェルで冒険もいいけど
やっぱりここは基本に戻って REMO を、と思ってたら、目の前に EVANS の箱が並んでた。
以前、EVANS についてもこの友達に少し聞いたことがあって、その時に「倍音少なめ」と
言っていたのを思い出し、思い切って EVANS にしてみた。
とはいえ、買ったのは G1 コーテッド。思いっきり、普通のヤツだ。
どうせなら、リングミュート付きの Genera とか、2プライの Super Tough なんてものを
買ってみるという手もあったけど、結局そこまで冒険できなかった。
ちなみに、EVANS 本家サイトにある表を見ると、G1 は warm 寄り、ST は bright 寄りと
なっているので、ヘッドによるキャラクタ的には G1 の方が求めている音に近いのだろう。
叩き方やチューニング次第で、こんなもんはどうとでもなるんだろうけど。
たぶん、胴が5インチ半や6インチ(最近は少ないか)のウッドシェルなら、この手のものを
買ってみるという選択肢があったのだろうけど、胴が3インチ半のブラスのピッコロスネアと
いうところがどうしても引っかかって、変わり種とも思えるヘッドに手が出しにくい。
こんなスネアなのに、「暖かみのある音も欲しい」と思うこと自体が無謀なのだろうが、今、
新しいスネアに手を出すことができない以上、ヘッドとチューニングでなんとかしなきゃ、と
なるわけで、これまた頻繁に変えるわけにはいかないヘッド購入時は、毎度このような不毛な
堂々巡りを続けたあげく、定番に落ち着くことになっている。ああ。

とりあえず、今週はスタジオに行く時間が取れなかったので、来週行ってこよう。

PostgreSQL インストール。

2008-03-11 22:51:44 | Mac

先日のエントリのとおり、OS も 10.4 にしたことだし、ちょうど良い機会?なので、Mac に
データベースシステムをインストールしてみる。
データベースって、仕事で使うことはあっても自宅で一体何に使うの?と良く聞かれるけど、
あったらあったで結構便利に使える。Mac OS X は BSD unix ベースの OS だし、Apache は
既にインストールされてるし、後は PHP や Perl のソースを落としてビルドすれば、簡単に
自宅サーバが立てられるし。
一時、Linux でサーバを立てようかとか考えたけど、Mac があるのに敢えて Linux にしなきゃ
ならない理由は無いことに気がついた。最近、Sun の Blade150 や SunFire V120 が数万で
(それこそ、2万3万なんてのもあった)叩き売りされてるのを見たときも、思わずついつい
使い慣れた Solaris に靡きそうになったが、V120 なんて冷却ファンが激しくうるさく、かつ
ラックマウントサーバなのにどこに置くんだ、と素に戻って考えを改めてみた。
プロバイダの契約などで今は(たぶん)固定 IP とか上り速度優先とか無理だと思うけど、実は
そのうち真面目にサーバでも立ててみようかと考えてる。

普段、仕事では Solaris8+Oracle9i という組合せを良く使っている。
サーバによっては Solaris7 だったり Oracle8i だったりするけど、基本的には殆ど同じなので
あまり意識はしてない。( Solaris10 だったり Oracle11g だと結構違うけど)
思い返せば、過去に HP-UX や AIX も担当した気がするけど、もうすっかり忘れた。
データベースも、DB2 や HiRDB ってのも使った気がする。何やったかすら忘れた。

で、オープンソースのデータベース管理システムというと、MySQL か PostgreSQL だよな、
と思って色々調べてみた結果、なんとなく PostgreSQL に。
Oracle の関数が使えるとか、副問合せが云々とか、理由は色々あるにはあるけどとりあえず。
本家サイトからソース落としてきてイチからインストール、ってのも考えたけど、面倒。
何かツールはないかなと思って探していたところ、日本初のオープンソース CMS のサイトで、
インストーラをダブルクリックするだけで殆どのインストール作業を自動で行ってくれるという
とても便利なモノを見つけた。「 PostgreX 」というインストーラ。
PostgreSQL モジュールのインストール、管理用ユーザの作成、初期 DB 構築まで自動作成。
「 OS 起動時に自動的に DB 起動」まで設定してくれるようだが、これは不要かな。

なんて思いつつ、早速ダウンロードしてインストーラをダブルクリック。
現時点で、Mac OS X 10.4 PowerPC 用の PostgreX のバージョンは 8.2.5。
なるほど、PostgreSQL のバージョンと合わせてるのか。
などと考えていたら、ものの十数秒でインストール完了。早っ。

さらに、PostgreX のサイトを見てると、PostgreSQL フロントエンドプログラムも発見。
DB の管理や SQL の実行を GUI で行えるツール、とのこと。
ターミナル上で SQL 実行とか面倒だな、と思っていたが、これは便利だ。
ということで、早速ダウンロード&インストール。
最新版のバージョンが 0.43、最終更新日が 2005/10/19 ということだが、この手のツールは
よほどデータベースの仕組み自体が変わらない限り大きな変更は不要だろうから、まず問題は
ないと思われる。

ところで、ここには PostgreSQL 単体だけでなく PHP とセットになっているインストーラも
置いてある。ありがたいことだ。そのうちまたお世話になるだろう。

その後、無事に初期 DB の確認も終わって、さて PostgreSQL の日本語マニュアルを落として
こよう、と思って「日本 PostgreSQL ユーザ会」へ行ってみたところ。
 「2月24日にサーバが外部者によりクラックされました」
って。
とりあえずマニュアルのダウンロードはできたんだけど、いつ復旧するのかな。



やっと Panther→Tiger。

2008-03-04 23:03:39 | Mac

うちの Mac(G4 867MHz)では重いだろうと思って、ずっと OSX 10.3.9 のままアップデート
せずに頑張ってきた。が、Leopard も出たことだし、10.4 以上が条件のアプリや、面白そうな
Widget が何も使えないなど色々とガッカリすることが増えてきたので、ついに OSX 10.4 へと
アップデートすることにした。

ちなみにオークションを見ると、確か 14,800円だった OS が、16,000円前後で取引されて
いるようだ。10.4 が出る直前に 10.3 がインストールされた Mac を購入した人向けに Apple
が配布していたアップデート DVD ですら1万超えで取引されてるなんて、異常な気がする。
あれって確か 2,500円振り込めば送ってもらえる DVD だったと思うんだけど。違ったかな。
品薄感を煽って希少価値をアピールする「貴重!」の文字が、出品されている商品の説明文に
何度も出てくるのを目にした。
「ユーザー登録できませんが、Apple に個人情報は送信されないのでインストール可能です」
なんてことを平然と説明文に書いた上に高値でオークションに出品。そこにモラルはあるのか。
Intel Mac ではない PowerPC の Mac では、この OSX 10.4 が最新 OS となるようなのだが、
Apple に問い合わせたらまだ在庫があるとか何とかで、実は普通に入手できるのかもしれない。

ちなみに Apple の約款を読むと、元の持ち主が Mac からその OS を削除した上で、購入時の
パッケージに同梱されていたものを全てそのまま譲渡する場合に限り、特に申請などなくても
権利を1回だけ譲渡できるとのこと。また譲渡された人は、それ以上譲渡することはできない
ということだ。DSP版やらOEM版やらある、かの OS とは大違いで、非常に明快だと思う。
そういえば、かの OS は、アクティベーションだか何だか知らないけれど、ユーザー登録後に
メモリなどが壊れて交換したりすると、「あなたは、正規登録されたユーザではないです」と
表示されるらしい。その場合、サポートに電話して事情を話して再登録し直すらしい。

で、随分と本題から逸れましたが。
手元にあるのが 10.4.3。クリーンインストールしようかとも思ったんだけど、面倒だったので
そのまま 10.3.9 からアップデートしてみた。ディスクを突っ込んで、クリック数回ののち、
約 30分程度でアップデート完了。その後、ソフトウェアアップデートで 10.4.11 まで上げる
のに 15分くらいだったかな。合計1時間弱であっさり終了。
Dashboard のアイコンが Dock に表示されている以外は見た目は全く変わらず、殆ど一緒。
重くなると思っていた動作も全然変わらずで、もっと早くアップデートすれば良かったかな、
というカンジ。Dashboard もサクサク出たり引っ込んだりするし。
さすがに、Google Earth は相当重たいけど。
OnyX などのメンテツールは 10.4版を用意する必要があるが、それ以外のアプリについては
とりあえず現状は問題なく動作している様子。もともと殆どが「 10.3.9 or later 」のアプリ
なので当然といえば当然かも。

てことで、今まで指をくわえて見ているだけだった「 10.4 or later 」のフリーソフトを、
色々と物色中。もちろん、Widget も。
Leopard も魅力だけど、これでまた買い換える理由が1つ無くなったような。
今年で7年目を迎えた QuickSilver 2001、最新 OS にてまだまだ現役。



バンド練習について。

2008-03-03 23:35:05 | Band

心得、というものでもないし、「今更何を」な内容ではあるんだけど。

みんなバラバラな職業で、それぞれ自由にできる時間が限られた中で集まるわけだから、当然、
効率よく練習しなきゃいくら時間があっても足りない。
また、練習のために1時間当たり数千円払ってスタジオを借りるわけだから、目的もなくただ
ダラダラとやっていたのでは、金をドブに捨てるようなもんだ。
うまく全員の都合がついて練習日が決まったら、少なくとも「何の練習か」という目的だけは
最低限、意識しておかなきゃならないと思ってる。大まかに分けると、

 ・「曲を作る、アレンジを決める」ため
 ・「ライブ前のリハーサル」のため
 ・「バンドの纏まり、一体感を掴む」ため

かなと思ってる。

「曲を作る、アレンジを決める」に関しては、大抵は事前に GarageBand を使ったりして、
ラフスケッチだったりデモ版だったりができていることが多く、スタジオに入る前にはもう
ネット経由で受け取ったそれらを聴いたりしているので、「生楽器初練習とアレンジの詰め」
というカンジ。場合によっては、そのデモ版を聴いた上で色々と意見が出た後だったりする
ので、それを表現してみてどんなカンジになるか、確認といった作業が主になることもある。
やっぱり、生で演奏してみて初めてわかることや、その場で思いついて演奏してみたものが
思ったよりもハマったりすることがあって、卓上作業とはまた別の「必須作業」だ。

「ライブ前のリハーサル」については、そのまんま。
実際のライブさながらに、セットリスト通りに、また MC などもタイミングや時間的感覚を
掴む意味も含めて、きちんと時間を計りながら演奏する。
また、どんなステージにするか、どのタイミングで曲に入るか、アウトロはどのようにして
終わらせるのか、などをきちんと決め、それを繰り返し練習する。
ライブ前とはいえ、毎日、または直前まで練習できるワケではない。
場合によっては、最後の練習からライブ当日まで、日が空いてしまうかもしれない。
そんなときでも忘れないように、メモを取るなり繰り返し合わせるなり、しておく。

最後の「バンドの纏まり、一体感を掴む」は、上の2つ以外の場合。
ライブ前というわけではなくとも、とりあえず1~2ヶ月に1回くらいは揃って練習をして
おかないと、さすがに「バンドとしての纏まり」はそう簡単に生まれるものでもない。
既存の曲や、ちょっとしたセッションっぽいことをやっているだけでも、随分と違うものだ。
頻繁に集まることができないだけに、リラックスして演奏しているときに各メンバのクセと
いうか、スタイルというか、そういったものを掴んでいかなければ、いつまでたっても
「自分は自分、人は人」という演奏になりかねないと思ってる。
ちなみに、目的は3つのうちどれか1つというワケではなく、複合している場合もある。

そういった意味で、アレンジ決めやライブ前リハーサルの時などに、スタジオに「見学」に
来られるというのは、あまり好きではなかったりする。
そりゃ、せっかく「見に行きたい」と言ってくれてるのだからというのはあるにはあるが、
ロクに演奏もせずに曲作りしてたり、本番をイメージして通しリハをしてると、見に来てる
人と話すヒマもなかったりして、それはそれで失礼だと思うし、逆の立場だったらたぶん、
「迷惑なんじゃないか」と思って、「見学したい」とは言えない。
勝手だけど、それだけ真剣に取り組んでる、と思ってほしい。

これが、「バンドの纏まりのため」に練習しているのであれば、リラックスして練習して
いるというのもあって見に来てる人も楽しんでもらえると思うし、来てくれた人に対して
「良い演奏を聴いてもらいたい」と思って演奏するので、お互いに良いことだと思う。
まあ、スタジオによっては「全員が会員であること」を条件に割引料金適用してるような
ところもあるので、カラオケ屋感覚で見に来られるのもどうかって話もありますが。
自分自身は、来てもらえることは嬉しいので、良いんですけどね。

で、じゃあそういうときは何をやってても良いかというとそうでもなくて。
練習時間が無限にあるわけではないのだから、事前に練習する曲として候補としてなかった
曲を急に「これをやろう」と言ってやるのも、知ってる人は良いかもしれないが、その曲を
覚えていないメンバからしてみれば手探りで演奏することになるために、つまり結果として
「バンドの纏まり、一体感」なんてのは後回し、演奏してついていくのが精一杯、となって
しまい、何のための練習か、ということになるのではないかなと思う。

さらに、個人練習でできる範囲のことは、極力やってからスタジオ入りしたい。
個人でもできることを、せっかくメンバ全員が都合をつけてお金を払って集まってるときに
やるというのは、他のメンバに非常に申し訳ないことだと思ってる。

また、ライブ前のリハーサルでは、本来、急なアレンジ変更は避けた方が良いと思う。
本番をイメージして、その時点で完成された状態だと認識して練習してるのに、いきなり
思いつきで変えるというのは、バンドにとって良くないのではないかと考えてる。

漠然と練習して何もかも無駄にすることのないよう、ずっと心がけてること。
でも、こう書いてみると、なんだか当然のことばかり書いているような気もするけど。
意外と、できてなかったり、するんだよね。



tails オンエア情報。

2008-03-02 23:59:59 | Band

立て続けに cat-o'-nine-tails の情報ばかりですが。

アイルランドのポッドキャスターの方から、tails を紹介したよ、とのメッセージを頂きました。
既発表の2曲とも、紹介してくださっているようです。
詳しくは、tails の公式ブログのエントリをご覧ください。

 tails union(しっぽ同盟) 【internet】Podcast&Blog 情報

自分が作曲してる曲ではないんだけど、ドラマーとしてこのバンドに参加することができて、
本当に幸せだと思っています。
もちろん、ドラマーとして参加している他のバンドもすべてそうですが、誰が作ったとか、誰の
曲だとかそういう次元の問題ではなくて、例えば tails なら、この5人だからこそ可能、という
その中の1人として、これからもがんばっていきたいと思ってます。