Adobeのダウンロードの更新情報のRSSフィードを勝手に作成しました

仕事でAdobeの製品のアップデート情報が手軽にゲットできないかといろいろ探したんだけど、無いんだよねこれが。
月に一回メールで着たり(→遅い)とか、ページはあるんだけどRSSとか配信されてないから、いちいち見に行かなくちゃいけないとか。

で、いろいろ探したらご丁寧にもRSSフィードを作成してくれている人が!
M.C.P.C.: 新しいAdobeのアップデートファイル一覧ページのRSS生成

これで助かったーと思って、RSSリーダーに読み込ませたら、タイトルクリックしても個別の記事に行かない場合が発生してるのよね。
で、細かいところなんだけど気になって、自分で作ることにしてみた。
スクレイピングってのをやったことが無かったし、やってみたかったし。
で、ライブラリとかあって簡単に出来るだろーと思ったら、結局半日かかってやんの。

あと、Cronで静的ファイル作って運用ってのがかったるかったので、Feedbannerさんにまかせてしまった。
Adobe関係者の皆さん勝手に作ってごめんなさい。
つか、さっさと本家で提供してくれれば良いのに。

元にしたページはこちら。
製品のアップデート

ということで、僕が作ったRSSフィードはこちら。
アドビ - 製品のアップデート - powered by FeedBurner

先程紹介したM.C.P.C.さんのところと違うのは、
・MacとWindowsだとURLが違うので、記事を分けた
・タイトルにどのOSの情報のものか分かるようにした
・出来るだけ個別ページ用のURLを拾うようにした。

多分手作業でアップデートしているらしく、ちゃんと構造的になっていないので結構苦労した。

もし利用したい人はあくまで非公式のRSSフィードなので、自己責任でご利用下さい。
※もし関係者の方で、生成に問題があるようでしたら、ご一報下さい、直ぐに停止いたします。


※2009/5/1追記
スクレイピングするページ自体に構造上の問題が発生して、上手くスクレイピング出来てないのを出来るようにしました。
Adobeのダウンロードの更新情報のRSSフィードを修正しました - blog@longkey1.net

グランパスの公式サイトのRSSフィードを勝手に生成しちゃいました

アドビ - 製品のアップデートに引き続き作成してしまいました。
今回もFeedBurnerさんを利用。
名古屋グランパスエイト Official Web Site - トピックス - powered by FeedBurner

これまたRSSの配信ぐらいして欲しいのです。
なんだかCMSを使っているような感じのコメントも見受けられたし・・・。

慣れてきたもので、1時間ぐらいで出来た。
ま、綺麗なHTMLだったりすると、やっぱり楽ですな。

※これまた、何か問題があったらすぐに消しますので、ご連絡くださいませ。

湯浅健二のサッカー・ホームページのRSSフィードを勝手に生成しちゃいました

このサイト、ずーっと見てるんだけど非常にアナログ感溢れていて、こりゃ当分CMS的なものは利用されないだろうなってことで、自分で作ってしまった。
自分で作れるようになると、なんて楽しいのだろう!
でら楽。
RSS万歳。

ってことで、こちら。
湯浅健二のサッカー・ホームページ - トピックス - powered by FeedBurner
例に漏れず、FeedBurnerさんを利用。

今回は日付によるソートなんかもしちゃったりして、結構手間取った。
やっぱ手で作成しているようなページは非常に難しい。
3時間ぐらいかかっちゃったかな。
構造化ってやっぱ必要だ。
ま、一番Adobeのがひどかったけど・・・。

とりあえず、勝手RSSフィード作成の熱はこれでひと段落しそう。
なかなか勉強になった。

※これまた、何か問題があったらすぐに消しますので、ご連絡ください。

2008 J1 第28節 名古屋 1 - 1 東京V

2試合連続のテレビ観戦、ありがとうNHK。
優勝争いをしているからか、なんだか最近テレビ中継が多い気がするのが嬉しい。

で、試合はというとなんとか引き分けたという感じだった。
そんな試合が2試合続いているけど、個人的には「良くやっている」と思う。
だって、明らかに負け試合を引き分けに持ち込めているから。

やはりマギヌン不在は痛い。
代わりになる選手がいない。
で、ピクシーが玉田をMFに起用したいのもわかる。
技術もあり、ドリブルも出来、何より生粋のストライカーというよりも、1.5列目で下がりながらゲームを作っていくシャドータイプの玉田を一列下げてMFとして使っても、いけそうな気がする。
が、実際に使ってみると全然駄目だね、特にグランパスのやっているサッカーのスタイルでは。

ディフェンスが上手くないので相手チームにつけ込まれるわ、ドリブルで中に切れ込みたがる玉田が、阿部を使って再度攻撃って意識が低い気がするし、中村や吉村といったボランチ選手が上がるスペースを使ってしまってるわで、今日に限っていえば良いところゼロ。
まあ、しょうがないよね、玉田にそこまで求めても酷な話だよなとは思う。

FWとして起用されている巻もひどい。
玉田のように引いてゲームを作ることは出来ないにしても、その体を生かしたキープ、潰れ役としてもろくに機能してないわ、ヨンセンと動きがかぶるわで、ほぼ消えていた。
浦和戦でもそうだったけど、浦和戦は点を取ったから帳消しになったが、今節は良いところ無し。
ぶっちゃけ、大卒2年目でこれだと辛い、巻よりもレンタル中の豊田復帰で確定な気がする。
今後の試合でも巻を先発で使うようなら、ちょっとピクシーにも?と思ってしまう。
そんぐらいひどかったな。

ということで、玉田をMFとして使う今のやり方を続けるのは、チームの今までやってきたやり方やバランスを崩す可能性があると思われるので、もう辞めた方が良いと思う。
今年は、今までのやり方を愚直に続けるべきだと思うし、そういう年にして良いと思う、ピクシー一年目だし。

で、玉田をFWに残し、今までどおりヨンセン&玉田の2トップ。
MFのマギヌンの位置には、藤田又は渡辺で良いと思うんだけど、駄目なの?
多少悪くても、現在のようなバランスを崩してしまっている状態にはならないと思う。
それか中村って選択肢もあるけど、そうするとをボランチに山口慶を先発で使わないといけなくなり、それはそれでどうなのかなあとは思うが・・・。

まあ、ようは本職の選手を使うべきってことだ。
あと、一つのポジションが空いたからといって、そこに違うポジションから選手を持ってくるのは、あまり得策じゃないってこと。
控え選手のモチベーションの問題も有るだろうしさ。

で、こういう時に使える選手を常にベンチに置いておくべきだと思う。
渡辺は左サイドならDFもMFもできるというイメージがあるから、入れても良いと思うんだけどな。
吉田と三木と米山ってディフェンシシブな選手3人も要らないでしょ。

本田が入った時点で、本職のMFから一段下げられた感のあった渡辺だが、そんな本田もいないし使ってみたら良いと思うんだけどな。
あと、津田や杉本をMFとして使うのはあんまり賛成できないな、特に先発で。

とにもかくにも選手が足りてないのが実情で、何とか2位に留まっていることは評価すべきだと思う。
ピクシー頑張ってるよ、うん。

「大人のための自転車通勤読本」読みました

大人のための自転車通勤読本

この本に関しては全部は読まなかった。
ロードバイクにまつわる話ってのも多かったし。
けど、50歳代で自転車に乗って、はまって、健康を手に入れるっていうのもなんだかシンデレラストーリーだなー。
一時は手術しないといけないとまで言われてた人がだ。

この本を読むと、自転車に乗ると健康になれるような気持ちになれる。
実際はそうでもないと思うんだけど、通勤という日常に組み込むことに意味があるわな。

僕もまた始めようかなあともくろみ中。

American Football - American Football

American Football

Amazonではすこぶる良い評価なAmerican Footballの1stにしてラストアルバム。
思ったより普通のポストロックですな。
可もなく不可もなく。
こういう中途半端なボーカルは、個人的に入らないんだけどなーと思うぐらいで、だからといって凄く不快かというとそうでもない感じ。

トリップ感はあまりないけど、優しい感じかな。
ちょくちょく聴けそう。

MySpace.com - American Football

Curly Giraffe - Ta-dah

Ta-dah

Curly Giraffeの2nd。
僕は駄目だったなー、今のところ。
1stの方が全然良かった。

正直歌が上手くない。
なのに、前作以上に聴かせようしてきた、というか前面に出してきた。
相変わらず音の作り方とかは好きなんだけど、大して上手くもない歌で来られるとなんだかなー。

曲は良いかもしれないけどねえ。
なんだか自己満足度が強く感じられた。
僕はそうなっちゃうと駄目なんだよね、こういうジャンルの場合は。

MySpace.com - Curly Giraffe

スロトレ、4ヶ月目に突入

今月から毎月スロトレの感想を書いていくことにする。

一生太らない体のつくり方―成長ホルモンが脂肪を燃やす!

とうとう丸3ヶ月を終了、4ヶ月目に突入した。
大体週に2回程度のペースでやってるんだけど、ちょっと効果が出てきた模様。
1~2kgぐらいは痩せたかもしれない。
アナログな体重計なので、はっきりとは分からないけども。
1~2ヶ月で、3~4kg痩せた!って人も結構いるので、僕はかなりゆっくりな方だと思う。
正直腐りそうだったけど。

食事については、当初普段通りで行こうと思っていたんだけど、健康診断の結果があんまりよくなかったので、食事も見直すことにした。
といっても、極力野菜&和食を食べるようにしている程度。
お菓子やジュースもあんまり食べないようにしているかな。
一生続けるつもりなので、あまり制限をかけない様に気をつけている。
だから、たまにはジュースも飲むし結構ミスドとかにも行く。

平日の晩御飯は海藻類や野菜で煮物を作るようにしている。
ご飯は少なめ。
多分和食ばかり食べていたら、日本人なら結構痩せていく気がするんだよねえ。
一応目標カロリーは1800kcalにしてて、何かを食べる時もカロリーを見るようになった。
そうするだけでも、結構抑止力になっている気がする。

スロトレの他に8月のお盆辺りから水泳にも行くようになった。
週に1回ぐらいは行こうと思っているけど、なかなかいけず1ヶ月に2~3回程度。
あんまり痩せる為というよりも、リフレッシュ&体力を付ける為ってのが大きい。
階段上って息切れしている今の自分が嫌だから。
あんまり早さとか連続遊泳とかは考えず、1kmぐらいを気持ち良く泳ぐようにしている程度なんだけど、今のところ飽きずに続けている。
息切れ具合が多少増しになってきた気がする。

なんとなく今からある程度まで体重が減りそうな予感がしていて、期待している。
あと、暑さも和らいできたので自転車に乗るようにしたいなと思っているんだけど、前買ったクロスバイクだとどこにでも置いていけない(いろいろパーツが盗まれる)ので、ママチャリをもう一台買おうかなと考え中。

出来れば週に何回か自転車で通勤とか出来ると理想的なんだけど、まあ、無理はしない。

痩せてきたといっても、本当にここ何日かでガクンと痩せてきたので、ちょっと救われた。
ということで、今のところ順調かな?
太るのは簡単だけど、痩せるのって本当に大変だなーって思う。
それも食べながら痩せるってのはね。

「FREEDOM」みました

FREEDOM previsited

見よう見ようと思っていて2006年の作品だとは・・・結構時間って過ぎるの早い。
僕の中で大友克洋という存在がそれ程大きくも無かったのが功を奏したのか、途中降板とか関係なく楽しめた。
確かに顔は大友の絵だし、出てくる機械達も大友チック。
でも、純粋にワクワクして楽しめた。
こんな気持ちになれたの久しぶりだなあ。

単純に宇宙って夢があるよね。
ストーリーも結構わかり易くて、宇多田ヒカルの歌も凄く良かったと思う。
冒険モノって前向きになれて良いなー。
みんなワクワクする方へまっすぐ進んでいくものね。

残念なのが値段が高いこと。
こりゃ誰も買わないんじゃね?

記事の前後のページへのリンクを付けました

最近アクセス数が減りました。
ここ2ヶ月ぐらいは停滞気味で、最近また増え始めました。
Googleのページランクもいつのまにか0になってます。
ちょっと前までは2ぐらいだったんですけどね。
まあ、それは良いんです。
まとまりのないこのブログが人気でたらある意味怖いです。

が、最近Googleのインデックスへ登録されなくなりました。
これは問題なのです。
サイト内検索の結果に繋がる→なんかあった時に検索に出てこない
これは困るのです。
まあ、wikiとかにまとめろって話しなんでしょうが・・・。

で、SEO対策的にも個人的にあっても良いかなーと思って、その記事の次の記事的なリンクを設けました。
個別ページのところでそういうの無かったんで。

しかし久しぶりにソース見たらひどいですね。
いつリファクタリングしたのか忘れましたが、僕はまた進化していたようです。
自分で作ったプログラムを「もう見たくない」と思ってしまいました。

Ethnaもそろそろアップデートされる?と思われるので、そのタイミングで一気にリファクタリングしようかなと思ってます。

nikkansportsのグランパスページのRSSフィードを勝手に生成しちゃいました

サッカー全体ではRSSの配信があったりするんだけど、グランパスだけで良いので。

ということで以下のページのグランパスの記事一覧を勝手にRSS化。
名古屋グランパス : nikkansports.com

例に漏れず、FeedBurnerさんを利用。
名古屋グランパス : nikkansports.com - powered by FeedBurner

今回は元のページがUTF8だったり、元々システム化されているようなページだったので超簡単でした。
30分ぐらいで出来たかな。

※これまた、何か問題があったらすぐに消しますので、ご連絡ください。

ユニクロのネックウォーマー買いました



本当に僕は喉が弱い。
発熱までいかなくても、すぐに喉が痛くなる。
そんでもって首が痛くなったりする。

今週末も、首が痛くなって微熱が続いた。

で、風邪の予防には首を暖めると良いと聞いたので、ネックウォーマーなるものを買ってみた。
愛すべきユニクロで\1,000。
さすがユニクロ、しっかりしてる。

長く使えそう。
会社でマフラーをしたまま仕事している人がいるんだけど、それよりもこっちの方が全然良いと思うけどな。

ユニクロのプレミアムジーンズの色落ち具合と新規で追加購入

またまたユニクロのプレミアムジーンズを買った。
たまたま服を買いにいったら、安売りのワゴンの中に入っていて1,980円(1,000円引き)だったから。

で、良い機会なのでどんぐらい色落ちしているか比べてみた。
結構検索している人もたくさんいそうだし、自分を買う前は凄く気になったし。


こうやって並べてみると、色落ちしとるなあ。
4.5回は洗ったことを考えると、結構色が残っていると言えるかもな。
結構早く色落ちすると評判なので。


前から見るとこんな感じ。
結構余裕のあるサイズを買ったから、あんまりラインが出てないな。


後ろはこんな感じ。
こうやってみると、なかなか良い感じだが、実際はそんなにカッコよく色落ちはしていない。

まあ、値段相応といえばそうかもしれないけど、なかなか侮れない色合いじゃないかなと個人的には思う。
ってことで、また買ったんだけど。

プレミアムジーンズじゃない、普通のジーンズはどんな感じか分からないけど、色落ち自体あまりしないらしい。
今なら運がよければワゴンで安売りしていると思うので、試しに買ってみるのも一興だと思うね、だって2,000円だもの。

あ、でも股のボタンがすげー外れやすいのでご注意を。
これ自分で縫わんといかんなあ。

65daysofstatic - The Destruction of Small Ideas

The Destruction of Small Ideas

相変わらず激しくて切なくて期待を裏切らない内容だった。
前作よりも、音がマイルドになったというかまとまってきた感じがしたかな。
打ち込みの使い方が上手くなったのか、こっちが慣れてきたのか・・・。
とになくエッジがかった音が減った気がする。
あと、生音が全面に出るようになったとも思う。
CDで聴くとそんなに気にならないかもだけど、ライブになったら今作の曲の方が明らかにアグレッシブだろうな。

このバンド、イギリス出身なんだよね。
今後は、こういうバンドはどんどん出てくるのかなあ。
それはそれで嬉しいような悲しいような。
こういう音は好きだけど、メインストリームにどかっと溢れている状態が幸せかというとそうでもないと思うんだよね。

とりあえず良盤。

MySpace.com - 65daysofstatic

2010 J1 南アフリカW杯アジア最終予選 第2戦 日本 1 - 1 ウズベキスタン

日本は本当に弱くなった。
久しぶりに見たと思ったらこれだよ。

率直な感想は、「何もさせてもらえなかった」だ。
それも格下と思われたウズベキスタンに対して。

まず、試合開始早々足を取られる選手が続出。
これは、日本の生命線であるらしいパスのスピードアップの為、試合前に芝を短く刈り、水を撒いた為だと思われる。
でも、パスする前にバランス崩していたね、日本の選手。

次に潰されまくる中盤。
FWに大久保と玉田を並べたおかげで、ロングボールで競り合うっていう選択肢が消滅。
まあ、相手の体格考えたら合理的な選択だったかもしれないけど、中盤ですらキープできないのは誤算だっただろうな。
キープしているというよりは、持たせられている感じが否めなかった。
出しどころ全くなかったし、前線の動き出しも無かった。
みんなそんなにお疲れなら、キリンカップという親善試合を直前にやらなきゃ良いのに。
あるとしたら俊輔のクロスぐらいで、クロス上げたところで背が低いFW達が競り勝てるわけでもなく・・・。

個人的には、香川のどこに魅力を感じて先発で使っているのかがわからない。
ドリブルを仕掛ける選手ってイメージしか持たなかったんだけど、そんな選手今の代表にいるの?
ドリブルにしたって、玉田の方が効果的だったと思うけど。

左SBだってさ、本職使えよ本職をさ。
阿部なんか使ってんじゃないよ。
守備的には安定感をもたらしていたのかもしれないけど、中途半端のオーバーラップに、大して有効でもないパス。
で、前には香川でしょ?あれじゃあ、怖くは無いよね、あのサイド。
あれなら名古屋のアベショー使った方が全然良いと思うよ、他のチームでも良いんだけどさ、本書くつかえっつうの。

あのサイドは守備重視で、右サイドで攻撃をって考え方があったとしか思えないんだけど、20歳の内田にそれを期待してもねえ。
でもまあ、頑張ってたけどさ、内田は。
やっぱ程ほどに両サイドバランスよく攻めないと、今の日本じゃ無理だ。

2chとか読んでてなるほどなーって思ったのが、「相手が遠藤と俊輔を上手く押さえにきて、まんまと押さえ込まれて日本は攻め手を失った」ってことだ。
確かに、俊輔はまだしも遠藤は消えてたな、全くもって。
長谷部と遠藤がボランチの位置なんだけど、二人とも組み立てられていなかった。
長谷部は組み立てるっていうよりも、飛び出す感じだから、ま、遠藤止められたらおしまいってことか。
あの位置で組み立てられるのは憲剛ぐらいしか他に思いつかないんだよな。
個人的には、長谷部じゃなくて鈴木啓太が必要だと思うんだけど、まだ復調してないのかな?
今野とかでもそういうこと出来そうなんだけど、そういう使い方しないんだよなあ、岡ちゃん。

オシムの頃の方が全然良かったと思う。
成長している感じがしたし、方向性がはっきりしていたと思う。
今の岡ちゃんは迷走しているな。
迷走していないんなら、才能ないよ。

ということで全く持って良いところもなく、いつもなら内容的にひどくてもこの程度の相手なら勝ったりするんだけど、勝つことさえ出来ずとうとう見るべきところが全く無くなってしまった日本代表だった。

名古屋の試合の方が100倍面白い。

ADOdbのAutoExecute()のUPDATE時のwhereの指定が変わっていた

最近はEthnaのAppObjectを使わないで、ADOdbだけでDBアクセスをまかなおうとしている。
理由としては、自分が使っているAppObjectの機能は、ADOdbでもまかなえるみたいだし、AppObject周りは今ちょうどEthna自体の方で修正されている模様なので、あまり依存したくないなってのもある。

そこでAutoExecute()という非常に便利な関数を見つけて、使ってはみたもののはまった。
ちなみにADOdbのバージョンは現時点で最新版の4.99.

日本語版のADODB Manualを見てみると、AutoExecute()の使い方は以下のように書かれている。
$record["firstname"] = "Caroline"; 
$record["lastname"] = "Smith"; # Update Caroline's lastname from Miranda to Smith 
$insertSQL = $conn->AutoExecute($rs, $record, 'UPDATE', 'WHERE id = 1'); 

でも、実際にやってみるとエラーになる。
で、ソースを追ってみた。
もう大量にあるから大変なんだよなー。
そしたら、ライブラリのadodb.inc.phpファイル、1852行目辺りで以下の記述を発見
$sql = 'SELECT * FROM '.$table;  
if ($where!==FALSE) $sql .= ' WHERE '.$where;
WHEREってつけてんのかよ!
いつの間に仕様が変わったんだ?と思って、オリジナルの英語版をチェックしてみたら、
$record["firstname"] = "Caroline"; 
$record["lastname"] = "Smith"; # Update Caroline's lastname from Miranda to Smith 
$insertSQL = $conn->AutoExecute($rs, $record, 'UPDATE', 'id = 1'); 
WHERE句が抜けてた・・・。

日本語版のマニュアルは、2005年からメンテナンスされてないみたいだけど本家からはリンクしてあるし、本家のドキュメントも2007年からメンテナンスしていない模様。
あと、ADOdbってあまり使われてないのだろうか?
もうphp4が使えるライブラリとかって人気ないのかな?
まだまだ、僕は使う環境があるんだけど・・・。

Ethna&simpletestでAppManagerクラスをテストしてみた

Ethna 2.5.0 preview2のテストがてらsimpletestを本腰を入れて使ってみた。

ActionClassとActionFormのテストは比較楽に出来たんだけど、AppManagerのテストする時に躓いた。
これをわかっていないといろいろ面倒なので、整理してメモしておこうと思う。

あまりsimpletestのガッツリとした例を見たことが無いのでなんともいえないけど、一つのテストケースクラスで何度もテストを実施するっていのが通常の使い方のように思う。
function test_a()
{
}
function test_b()
{
}
function test_c()
{
}
こんな感じ。

AppObjectのexportFormとか頻繁に使っていたので、ActionForm($this->af)が結構重要な役割を占めていた僕としては、テストの中でも$this->afを使いたいと思っていた。
で、EthnaのUnitTestCaseクラスのソースを見てみても、そうやって使ってもらおう為にいろいろ用意してくれている感じもしたし。
素直に使おうと思ってはみたもののAppManagerクラスのテストは特にどのActionFormクラスを使えば良いというのも無いんだよな。
どうしようかなとソースを見てみると、便利そうなcreatePlainActionForm()って関数があった。
どうやら空のActionFormを作ってくれるみたいなので、これを使うことにした。

あとAppManagerクラスのテストとなると、何度もAppManagerを呼ばないとテストにならないわけで、そんならコンストラクタで呼べばええのかなと思ったんだけど、この辺がなかなか難しい。
結論をいうと、setUpで呼ぶことにした。

ということで、僕のsetUpとtearDownはこんな感じになった。
var $um;
var $testdata;

/**
 * initialize test.
 *
 * @access public
 */
function setUp()
{
    $this->session->start();        // start session.
    $this->createPlainActionForm(); // create ActionForm

    // get manager
    $this->um =& $this->backend->getManager('Users');
    $this->um->action_form =& $this->af;
    $this->um->af =& $this->af;

    // add test user
    $this->af->set('id',       100);
    $this->af->set('email',    'hoge@hoge.com');
    $this->af->set('password', 'abcde');
    $this->af->set('role',     'general');

    // add test data
    $this->um->addData();

    // copy test data
    $this->testdata['users'] = $this->af->getArray();

    // form data clear
    $this->af->clearFormVars();
}

/**
 *  clean up testcase.
 *
 *  @access public
 */
function tearDown()
{
    $this->session->destroy();   // destroy session.

    // delete test user
    $this->um->deleteData($this->testdata['users']['id']);
}
まずは最初の2行。
$this->session->start();        // start session.
$this->createPlainActionForm(); // create ActionForm
セッションをスタートさせているのは、AppManagerクラスで使っているところがある為、使ってない人はいらない。
あと、createPlainActionFormでプレーンなActionFormクラスを生成&エラー周りのデータもクリアしている。
このクリアしているってことを、ちゃんと把握することに時間がかかった。

で、次。
$this->um =& $this->backend->getManager('Users');
$this->um->action_form =& $this->af;
$this->um->af =& $this->af;
一番のポイントはここ!
特に後の2行、これかなり重要。

というのも、先ほどcreatePlainActionFormで値をクリアしているといったが、それはこのUnitTestCase内のActionFormだけで、AppManagerクラスやAppObjectクラスのデータはクリアされないことがわかった。
つまり
$this->af !== $this->um->af
となってしまうんだよね。
ソースを見る限り、参照渡しをしているからAppManager側もクリアされても良いもんだと思うんだけど、実際はされていない模様。
いろいろ調べてみたら、AppManagerクラスやAppObjectクラスは、1回のリクエストの間に何度も呼ばれた場合、2回目以降は1回目呼ばれた時に生成したキャッシュの値を持ってくる仕組みになっているっぽい。
で、実際動かしてみると、1回目のテスト(例えば今回だとfunction test_a)まではちゃんと同期は取れているんだけど、2回目から途端に駄目になり、1回目のActionFormの値がAppMnager側には残ってしまう状態になってしまってる。

多分、クリアの仕方に何か原因がありそうなんだけど、そこまでは追いきれなかった。
ううう。

ということで、解決策としては、setUp()毎にcreatePlainActionForm()やcreateActionForm()を呼んで、その度にActionFormがクリアされたものとしたい場合は、その都度コピーしないといけないってことになる。
で、それがこの部分というわけ。

ふぅ・・・。
後から読み直して自分でも理解できるだろうか・・・。

後の部分は、毎回同じデータがDBにあるという前提でテストをしたいから、毎回テストデータを追加&削除を行っているだけ。

これで、
・毎回ActionFormの値はクリアされている
・DBにも同じデータが入っている
・通常の運用と同じようにActionFormの値がAppManagerクラスにもちゃんと引き継がれる
・AppManagerクラスで変更した場合でも、ちゃんとActionClass(ここではUnitTestCaseクラス)にも反映されて返ってくる
という状態になるので、初めての人でもそんなに違和感無く出来るのでは?と思う。
少なくとも僕はやりやすくなったんだけど。

非常に負荷のかかるやり方をしてしまってはいるとは思うんだけど、その分頭の中はすっきり整理出来るし、今のところはこれで良いのかなと思ってる。
このやり方で何度かテストを行ってるけど、そんなに大きな問題もないし。
まあ、全部のテストを一気にやると、なかなかレスポンスが返ってこなくなっちゃうってことぐらいかな。

この例は特に参考にするもの無く、自分でこんな感じかな?と思って手探りでやった結果なので、正しいやり方じゃないかもしれないけど、あまりネット上にもEthnaでのsimpletestの実例自体が見ないし、特にAppManagerクラスのテストとなると見たことが無かったので晒してみた。

参考になれば是幸い。

Aphex Twin - Richard D. James Album

Richard D. James Album

僕がすすんでテクノのアルバムを借りるようになるとはなあ。
ということで、Aphex Twinの代表作らしいよ。
このAphex Twinさんはテクノ界のモーツアルトとか言われている有名人らしい。
僕でもこのジャケットは知っている、だってこりゃ凄いインパクトだモノねえ。

元々65DaysOfStatic経由で、Aphex Twinを聴いてみようと思ったので、結構攻撃的な音かなと思ったら、そうでもなかったかな。
この細かい打ち込み方が似てるんだろうか、そういわれてみればそうかもしれないけど・・・。
全然違うと思うんだけどな。

けど、思いのほかそんなに嫌いでもなく、ジャケットに似合わず面食らう内容でもなかったかな。
どんなテンションの時でも結構聴きやすいので、毎日通勤途中で聞いてる。

まだこのアルバムを大絶賛出来るほど、僕はテクノのことは分かりません。
けど、この一つ一つの音を作りこんだというなら、それだけで感服するね、だって一定じゃないものこの人のリズム。

MySpace.com - Aphex Twins

ASIAN KUNG-FU GENERATION - ワールド ワールド ワールド

ワールド ワールド ワールド

「ソルファ」からは買うのを辞めようと思い、レンタルしようレンタルしようと思っていて半額セールのときに借りてみたら、「ファンクラブ」というアルバム飛ばしてしまったみたい・・・。
「ファンクラブ」はまた借りよう。
ということで、一つ飛ばしたけど感想を。

今回は「前作よりエッジが鋭くなったサウンド」ということで、借りてきたんだけど確かにアップテンポな曲も多いし、ギターも分厚い。
とっても良質なパワーポップだ。
Weezerみたいに、エモっぽくもなってないし、「ほれ、こういうの好きなんだろ?君たち」って彼らの声が聞こえてきそうな感じ。
まあ、これを嫌いって人はあんまりいないだろうな。
サウンドはとってもロックな感じだけど、初期のような感情をぶちまけるようなボーカルは全く無くなったね。
ま、残念だけどさ。

なかなか良いバランスも良質アルバム。
が、もう彼らには特別なアルバムは作れない気がするなあ。
まあ、このレベルのアルバムをどんどん出してくれるだけでありがたいんだけども。

ASIAN KUNG-FU GENERATION

ミドリ - あらためまして、はじめまして、ミドリです。

あらためまして、はじめまして、ミドリです。

久しぶりにツタヤの試聴機で聞きながら笑ってしまった。
いやあ大阪は凄い、ホント面白いバンドがどんどん出てくる。
女性ボーカルが弾き語りで「あなたがすき~」みたいな可愛い声で1曲目が始まるんだけど、2曲目がいきなりデス声っていうかシャウトで「デストロイ~~~!!」だからね。
衝撃的だったわ、魅せ方も上手い。
歌も上手いなあ、というか器用だ、ポップス並みの甘い声でも歌えるし、しっかりシャウトも出来る。
ライブパフォーマンスもよさそう。

ライブみたいなーって思ったら、数日前に来たばっかだった、残念。
なんだか椎名林檎と被るんだけど、彼女たちの方が椎名林檎よりかなり衝撃的でロックだと個人的には思った。
けど、椎名林檎は可愛いもんなあ。

兎にも角にも、こういう突き抜け方好きです。

MySpace.com - ミドリ

MySQL&ADOdbのを使う時にExecuteではまる

ADOdbでExecuteを使う時に、?を使って値を変換してSQLを実行してくれるっていう使い方がある。
$conn->Execute("SELECT * FROM TABLE WHERE COND=?", array($val));
みたいな。

で、自分はテーブル名も入れたかったので、こうやった。
$conn->Execute("SELECT * FROM ? WHERE COND=?", array($table, $val));
まあ、テーブル名を追加しただけなんだけど、これが上手く動かない。
エラーメッセージには文法的に違うとしか出てこなくて、途方にくれた。

みんな、出来ているようなのになぜ?ということで、休みの日を使って調べてみた。
で、結局分かったのが、こんなSQLを発行されていた。
"SELECT * FROM 'tablename' WHERE COND='1'";
ここで、tablenameを"'"で囲っていることが気になり、それを外してみるとビンゴ!

以前、ADOdbを調べた時にデータベースのソフトによって、何で囲うかは判別していたような気がしたので、今回はもっと深いところまで追ってみた。
まず囲う文字のことを「識別子引用符文字」ということ。
なげえ。

で、一応qstr()って囲ってくれる関数はあるんだけど、それはMySQL独自の文字で囲うってよりもカラムの値を囲む為のもので、テーブル名とかまでは考慮していない模様。
テーブル名とかそういうのは、nameQuoteって値に入っているみたいだけど、それで囲ってくれるような関数は用意されていないっぽい。
(内部ではあるみたいだけど、外からは参照できなかったかな)

なんで直接その値を参照すれば良い。

まあ、見栄えは悪いけど様はこういうことだ。
$conn->Execute(
    "SELECT * FROM ".$conn->nameQuote.$tablename.$conn->nameQuote.
    " WHERE ".$conn->nameQuote."COND".$conn->nameQuote."=?", array($val));

ちなみにEthnaのEthna_DB_ADOdbクラスでは、quoteIdentifier()って関数が用意されているので、楽チン。
$this->db->query(
    "SELECT * FROM ".$this->db->quoteIdentifier($tablename).
    " WHERE ".$this->db->quoteIdentifier('COND')."=?", array($val));

自分の気づく遅さが嫌になる&またまた勉強になった。
Ethnaすげえ。

phpでping送信にチャレンジ

参考にしたサイト
PHPで複数pingサーバへ更新通知 - 株式会社M&Aバンク

簡単に出来たは出来た。
けど、レスポンスが遅かったり失敗するサーバがある。
そして、何よりも送ってOKというレスポンスが返って来たにもかかわらず、反映されている感じがしない。

良くわからないから、とりあえずはFeedBunnerさんにpingを送ってもらうことに。

HMVのポイントスキーム改悪に失望した

今朝メールをチェックしたら、HMVから「2009年1月中旬ポイントスキーム変更についての重要なお知らせ」なるメールが来てた。

ウェブページはこちら↓
http://www.hmv.co.jp/ml/nl/html/xtra/st/point/

正直がっくり。
なんかポジティブなメッセージが並ぶが、実質ポイントでの還元率大幅ダウンなんだよね。

<その1.ポイント付与率の変更について>

●購入時のポイント付与はどう変わるの?
現在)\500購入毎に1ポイント付与します。
変更後)\100購入毎に1ポイント付与します。

<その2.ポイント利用の変更について>

●ポイント利用方法はどう変わるの?
現在)50ポイント=\1,000、100ポイント=\2,500のHMVマネーに変換してご利用。
変更後)1ポイント=\1でいつでもご利用いただけます。

●現在貯まっているポイントはどうなるの?
50ポイント貯まっている場合は「50ポイント ⇒ 1,000ポイント」に変換、
100ポイント貯まっている場合は「100ポイント ⇒ 2,500ポイント」に変換します。
*上記以外の端数となるポイントは1ポイント ⇒ 5ポイントに変換します。

計算したところ、特にポイントキャンペーンとかない場合は、今までの還元率は3~5%だったのが、1%になったってわけ。
ちょっと落差が激しいな。
もっぱら2倍ポイントキャンペーンの時に利用していたんだけど、その時は6~10%も還元されていたのが2%になっちゃうのか。
あと、現在持っているポイントの変換で50ポイントと100ポイントまでたまっている場合は良いんだけど、端数が1P=5Pの変換率もひどいな・・・。
50P=1000Pなんだから、最低1P=20Pでやって欲しい、だってそれは旧スキーム時代に貯めたものだもん、おかしいよ。

これは大きいでしょう、さすがに。

今まで、AmazonじゃなくてHMVを使っていた理由にポイントサービスはかなりのウエイトを占めていたんだよな。
視聴するにしてもレビューするにしても、Amazonの方が便利だし、値段はどっちが安いとは良い難いところではあるんだけど、品揃えも大概Amazon勝利だし、配送料の無料になる金額もAmazon勝利。

これはかなりでかい変更だと思うんだけどな・・・。

この変更で、実質常連さんと非常連さんの扱いが変わらなくなった。
あまり買わない人は、ポイントがいつでも使える分多少の還元はあるんだろうけどねえ。
ま、ポイント10倍キャンペーンとかやってくれれば話は違ってくるんだけど・・・この変更からそういう意欲は感じられないし、やらなさそうだ。

音楽業界厳しいのは分かるけど・・・HMVは衰退していく気がするな、Amazon一人勝ちか。
僕もこんな消費者をなめた変更をされて、まだ買い続けるのもシャクなので、当面はAmazonで買うことが増やそうかなと思う。
というか、ツタヤとバナナレコード(中古)かな。

Aphex Twin - Drukqs

ドラックス

なんだか意味深なタイトルのAphex Twinの2001年発売、2枚組で30曲という大作。
2枚組じゃなくていいからさ、濃い1枚組の方が良いんだけどなと思っていたら、結構あっという間に聴けてしまうから不思議。

正しい聴き方じゃないかも知れないが、いつも何かしながら聴いてることが多い。
でも、もっぱら家だな、外出中に聴く感じでもない。
家に帰り、PCをつけてまずはこのCDを頭からかける。
ご飯の準備をしながら、着替えをしながら、本を読みながら、そんな時に後ろに流れていても良い音楽。
完全にBGMにならない程の緊張感はある。
そんな感じで、2枚組、100分以上にも及ぶ長丁場を、飽きさせずに聴かせるのはやっぱ凄いんだろうな。

正直、この作品のここが素晴らしいとかよくわからん。
たまーにはっとする瞬間があるが、なんではっとしたのかはいまいちわからないんだよね。
よくわらかんのだけども、何度でも聴けるし、何度でも聴きたくなる不思議な作品だ。
彼には何が見えているのだろうか。
自分では気づいていない部分を刺激されて、僕が反応してしまっているとしたら、怖いぐらいの才能ってことになるな。

まあ多分、他のアーティストを色々聴いて、やっと彼の凄さがはっきりとわかるんだろうな。
今は何も考えず、彼の音楽に浸っておくことにする。

PHPで404(Not Found)を返す方法

PHPのマニュアルに書いてあるとおり、以下で可能。

header("HTTP/1.0 404 Not Found");

で、個人的にはこれを実行したら、Apacheが用意している404のエラーページが表示されると思っていたら違った。
この関数は本当にheaderに上記のメッセージを送信するだけだと思われる。
だから、その後の処理も実行される。

で、通常存在しないページにアクセスするとApacheが勝手にエラーメッセージを用意してくれるんだけど、一旦PHPに渡った段階でそのエラーメッセージを表示するのもPHPでやらなくちゃいけない模様。
但しIEはブラウザ側でエラーメッセージを用意している模様、Firefoxはそこまでやらない。
両者の違いがこれまた紛らわしい。

ということで、実質Firefox(他のブラウザはわからんが)の為にエラーメッセージまで表示させてあげようとすると、以下の感じかな。
header("HTTP/1.0 404 Not Found");
die("Not Found");
もちろん、エラーページを表示させるようにしても良いと思うけど、面倒なのでテキストのみ。

404を返していなかったからか、やたらgooglebotが存在しないURLでアクセスしまくってくるので、これでそれが少しでも減ればなと思う。

「転々」みました

転々 プレミアム・エディション

面白かった。
期待した通りのゆるい感じ。
オダギリジョーと三浦友和のダラダラしたやりとりが面白かった。
東京を散歩しながらってのもまた良いね、それもちょっと下町的なところを回るのも良い。
三浦友和はやっぱ上手だなあ、こういう役も出来るんだなあと感心した。
伊達に山口百恵の旦那じゃないね。

散歩って良いねえ。
「東京の街は風景が良く変わるから、散歩にはもってこい」って言ってたけど、確かにそうかもね。
んー良い。
散歩したくなったわ。

ほんわか、まったり、良い映画だと思う。
僕は好きだ。

「東京マーブルチョコレート」みました

東京マーブルチョコレート -マタアイマショウ- Production I.G × SEAMO 東京マーブルチョコレート -全力少年- Production I.G × スキマスイッチ

「結局何がしたかったんだろう」って作品だったな。
少女漫画をアニメ化したら、こんな感じになりましたってことなのかな?
んー。

「ミニロバ」ってカラフルな小さなロバのキャラが出てくるんだけど、そいつがいないとあんまり成立しない作品。
かといって、そいつに対する説明は無いわ、恋愛話もそんなに膨らみもしてないわっていう程度の脚本。
30分で4000円近くて、男の子視点と女の子視点で2本に分けて、全部で8000円ってのはぼったくりだと思う。
それ程の価値も微塵も感じなかった。
ヒット曲とコラボしているかもしれないが、有効に使われてもいないし。

残念ながらツタヤの100円レンタルの時に借りれば良い程度のもだと思うな。

リニア中央新幹線について勝手に物思いにふける

週末、狂ったように読み漁っていたのが「中央新幹線」関連の記事。
きっかけになったのが、新聞の記事でルートの選定が難航しているというのを見たのがきっかけ。

参考サイト:
痛いニュース(ノ∀`):【リニア】長野県「諏訪(迂回)ルート、5分長いだけ」「駅が2つ3つあってもいい」

まあ、新幹線といえばどの都道府県も欲しいインフラの一つだろうから、各方面からいろいろ横槍が入るだろうなとは思っていたけど、この長野県知事の横槍はかなりひどいなあと。
誰が見てもいびつだものね、このルート。

南アルプスを避けて通るルートってことらしいんだけど、20年前はBルートでみんな合意していたらしい。
技術的な問題だったんかな、まあ20年も経てば技術進歩はあるだろうし、状況は変わるよね。
けど、今は問題がなくなったらしく、経済的負担も少なく時間短縮にも繋がる最先端ルートであるCルートをJR東海は取りたいらしい。

まあ、とても当たり前の話だ。
全部自己負担で5兆円をも超える費用を出すって言うんだし。
正直長野までリニアで行きたい人よりも、大阪名古屋東京へ行きたい人が多いだろうし。

案外、長野県の人もリニアに関してはそれ程執着している人もいないみたいで、政治家や建築関係の利権の匂いがぷんぷんする。

JR東海のイメージは個人的にはとっても結構自己中なイメージが強い。
地下鉄、名鉄等の地域の鉄道会社が取り込んでいるトランパスにも参加しないし、挙句の果てには自分のところだけTOICAとか始めるし。
そのTOICAもなぜかICOCAやSUICAに大分遅れをとって始めているし。
けど、結果的にトランパスよりもICカードが主流になって来ているのも確かで、堅実で保守的で自分の会社にとって無駄なことは一切やらないといった、頑固なイメージがある。
採算の取れない路線は、どんどん第3セクターとして切っていくしね。

今回は、その頑固さで各都道府県の思惑を無視して、採算性が取れる=無駄の無いのもを作ってくれればなと思う。

生きているうちにリニアで旅行とかしたいなー。

Mogwai - Come On Die Young

Come On Die Young

んー、ジャケが怖いね。

何度も聴いてみたし、今も何度も聴いているんだけど、非常に感想に困る作品。
何て言ったって最後まで聴けないのだから。
でら寝れる。

音が凄く良い、というか澄んだ音で、そこはちょっと気持ち良いかな。
ドラムやギターの音が生々しい。
けど、Mogwai特有のぐおーっていう轟音っぽいのがあんまりない。
もともとMogwai=轟音っていうのが、僕のイメージだけかもしれんが。
歪ませ過ぎで軽くなっちゃってる感じがするけど、狙ってる臭いしなあ。

こぎれいな作品で、あんまり抑揚も無い。
だから良く眠れる。
それで良いのかって話だな。

これじゃなくちゃ駄目って作品じゃないけど、あんまり飽きることもないし、雰囲気でBGMにだら~っと流して聴いてる。
作業用のBGMにはなかなか良いし、通勤で聴けば100%寝れる。
世間では名作に入るらしいので、そんな聴き方申し訳ないんだけど、感動もしなければ楽しくもならないのでしょうがないのだ。

好きな人は好きかもしれないが、僕には少々退屈だ。

MySpace.com - mogwai

The Unlovables - Heartsickle

Heartsickle

Unlovablesの2nd。
いつの間にか廃盤になってそうなので、急遽買っといた。
1stとあんまり変わってないね、ボーカルが少し前に出るようになったかなって感じ。
ボーカルが一人抜けたらしいけど、相変わらずコーラスガンガン入れるところは割り切っていて良いね。

このバンドは多分ずーっと洗練されないんだろうなと思う。
そこが魅力でもあるんだけど。
ダサくて良い。

世界を席巻するようなバンドでは決してないんだけど、出来れば日常には居て欲しいバンド。
なんか救われるんだよなあ。
その辺もMr.T Experienceと似てる気がするな。

相変わらず良盤。

MySpace.com - The Unlovables

アーカイブ

2012

  • 01
  • 02
  • 03
  • 04
  • 05
  • 06
  • 07
  • 08
  • 09
  • 10
  • 11
  • 12

2011

2010

2009

2008

2007

コンタクト

longkey1[at]gmail[dot]com