Sunday, October 05, 2008
Saturday, September 20, 2008
酒たまねぎや
木曜日に同僚と行ってきた。日本酒はやっぱりおいしい。
そんなに日本酒通なわけじゃない。ただおいしいといわれたからいってきただけ。
その場で店の親父からしいれた知識も店を出てしまえば忘れてしまう。親父さんごめんなさい。
同僚ととりとめもなく話しをしてきた。
システム開発にはプログラマ、設計者、ユーザそれぞれの思いやりが大事。
親父ギャグにも思いやりが大事。
くだらないことをおもしろおかしく話ができた。
小野和俊のブログ:「酒たまねぎや」に行ってきました
そんなに日本酒通なわけじゃない。ただおいしいといわれたからいってきただけ。
その場で店の親父からしいれた知識も店を出てしまえば忘れてしまう。親父さんごめんなさい。
同僚ととりとめもなく話しをしてきた。
システム開発にはプログラマ、設計者、ユーザそれぞれの思いやりが大事。
親父ギャグにも思いやりが大事。
くだらないことをおもしろおかしく話ができた。
小野和俊のブログ:「酒たまねぎや」に行ってきました
以前から、神楽坂に都内でトップクラスの日本酒を揃えている「酒たまねぎや」という店があるという噂を聞いていたのだが、今週火曜日に行ってみたところ、日本酒と刺身が想像を絶する美味しさだった上に、「おしゃれでない一杯飲み屋」を自称する店の雰囲気が、かつて足繁く通った新宿のバー・アカシアと共通するところがあり、非常に気に入って、昨夜も一人で酒たまねぎやを訪れたのだった。
大規模プロジェクト
大規模プロジェクトに限らず
「・・・が決まらないとできません(動けません)。」「手順がないからできません。」とかいっている人ばかり集めると失敗するよね。
やっぱり思いやりが大事だな。
「大規模プロジェクトではどうするか」を考えるより、「大規模にしないためにはどうするか」を考えよう - kwatchの日記
「・・・が決まらないとできません(動けません)。」「手順がないからできません。」とかいっている人ばかり集めると失敗するよね。
やっぱり思いやりが大事だな。
「大規模プロジェクトではどうするか」を考えるより、「大規模にしないためにはどうするか」を考えよう - kwatchの日記
はっきり言おう。大規模プロジェクトは存在自体が悪。大規模開発はなくならない - kwatchの日記
まえのエントリに書いてある趣旨は、主に 3 つです。
* 同じ要件や仕様でも、作る人の能力次第で 100 万行に膨れあがることもあれば数万行で済むこともある。
* 規模が大きいほど失敗する可能性は急速に高まるから、プロジェクトを成功させようと思ったら、規模を小さくすることを考えるべき。
* それがわからず、規模の大きさを自慢するやつはバカ。
Monday, September 15, 2008
mysql_query()のバグだろ?
僕はPHPとか触ったこともないので、はずしていたらすみません。
文面からすると、mysql_query()メソッドが引数をバリデートしていないというバグじゃないかと?
HelloWorldプラスアルファからさらに上を目指すために (PHP編) - Web屋のネタ帳
文面からすると、mysql_query()メソッドが引数をバリデートしていないというバグじゃないかと?
HelloWorldプラスアルファからさらに上を目指すために (PHP編) - Web屋のネタ帳
mysql_query("set names utf8"); もまずい。→ SET NAMESは禁止。 mysql_set_charset っていうのがあるんだからそっち使おう。
Tuesday, September 02, 2008
Sunday, August 31, 2008
Saturday, August 30, 2008
設計書の必要性
プログラムさえあればいいという考え方はあまりにも危険。
彼のような考え方が生まれた背景には、設計のできない人が増えていることがあると思う。
つまり設計のレベルが低いといこと。
ひとつは、設計書に記載すべき事項がわからない、ということ。
もうひとつは、文書力が設計書を記載するレベルに無い、ということ。
システムエンジニア不要説 - masayangの日記(ピスト通勤他
彼のような考え方が生まれた背景には、設計のできない人が増えていることがあると思う。
つまり設計のレベルが低いといこと。
ひとつは、設計書に記載すべき事項がわからない、ということ。
もうひとつは、文書力が設計書を記載するレベルに無い、ということ。
システムエンジニア不要説 - masayangの日記(ピスト通勤他
ここではフローチャートの是非を論じるつもりはない。クソだから。もっと一般化してしまえば、○○設計書みたいに「設計書」と名のつくものは全部クソだ。だって動かないんだもん。
動かない以上、それら設計書が正しいのか、漏れがないのかは保証のしようがない。机上検証なんていう工程もあるらしいけど、君たちの脳味噌は何MIPSなんだと問い詰めたい。もちろん、机上検証で見つかる凡ミスもあるだろうけど、そんなのはズボンもパンツも履かずに会社に向かうのと同じくらいのレベルの間違いだろう。
Friday, August 15, 2008
自宅以外でのLAN接続
実家のLANに接続したら、colinuxが使えなくなった。
/etc/resolv.confの設定がアップデートした際に戻っていたようだ。
coLinuxを入れてみる (Clouder::Blogger)
/etc/resolv.confの設定がアップデートした際に戻っていたようだ。
coLinuxを入れてみる (Clouder::Blogger)
次に /etc/resolv.conf を下記のように編集します。
nameserver 192.168.0.1
Saturday, July 26, 2008
CoolなURLを作るには
うーん、どうなんでしょ?この場合ApacheがMVCの"C"なわけで。
情報隠蔽の観点からxは入れないほうがいいと思うが。
CoolなURLを作るには
情報隠蔽の観点からxは入れないほうがいいと思うが。
CoolなURLを作るには
3. どうせならMVCを根本から実践してみるのもいい
察しのよい人は冒頭のURLとソースの例を見ただけでお気づきだろうが、 「x」はMVCの概念(Model, View, Controler)で言うところのCだと考えることもできる。 CoolなURLを作ろうと思うとCoolな概念に出会う。 答えはひとつだけなわけじゃないけれど、でも結局Coolの目指すところ行き着く先は、同じだ。
Saturday, June 07, 2008
Perl::Critic
煽られてみました。YAPC::Asia2008でも言及あったしね。
さっそくcoLinuxに入れてみる。
おー、PBP(おそらく英語版)のページまで出るのか。
いいかも。
愚民どもはPerlCriticにしたがえ - TokuLog 改めChumbyとどきました日記
さっそくcoLinuxに入れてみる。
おー、PBP(おそらく英語版)のページまで出るのか。
いいかも。
愚民どもはPerlCriticにしたがえ - TokuLog 改めChumbyとどきました日記
Perl::Critic がデフォルトでチェックしてくれる項目は、だいたい守ったほうがいい項目です。ベアワードファイルハンドルもちゃんとチェックしてくれます。Perl ではまるポイントの多くの部分をさけられるこのモジュールを使わないのは非常に損です。
Tuesday, June 03, 2008
IT産業
同意です。「匠」を育てる環境も用意せず「匠が欲しい」なんていっているようじゃ駄目だな。
学生とIT業界トップの公開対談で胸を衝かれたこと---IT産業を呪縛する“変われない日本”:ITpro
学生とIT業界トップの公開対談で胸を衝かれたこと---IT産業を呪縛する“変われない日本”:ITpro
技術力とプロジェクト・マネジメント能力のどちらかが,他方より高尚だとか重要だということはあり得ない。どちらも社会を成立させ運営するために必要欠くべからざる大事なものだ。
Saturday, May 17, 2008
YAPC::ASIA 2008
昨年に引き続き参加してきました。
参加することで新しい技術や新しいPerlMongersに出会えたりするところがいいですね。
今年はLarryが来ていたので、ProgrammingPerl 2nd Editionにサインしてもらいました。
感激しました。こういう興奮は久しぶりです。
来年はせめてライトニングトークで発表したいです。
何にしようかな。
参加することで新しい技術や新しいPerlMongersに出会えたりするところがいいですね。
今年はLarryが来ていたので、ProgrammingPerl 2nd Editionにサインしてもらいました。
感激しました。こういう興奮は久しぶりです。
来年はせめてライトニングトークで発表したいです。
何にしようかな。
Tuesday, April 29, 2008
シネマコンプレックス「新宿バルト9」の驚嘆すべき大バカ最低システム
シネマコンプレックス「新宿バルト9」の驚嘆すべき大バカ最低システム - 檜山正幸のキマイラ飼育記
客:(ディスプレイを眺める)「ええと(ディスプレイに指を当てて)、このへんの席をください。」
係:「席番号をお願いします。」
客:(…困惑)
係:「こちらの座席表をごらんください。」
客:「えっ? これを見て番号いうんですか?」
係:「お願いします。」
まずいと思ったのは3点
- 従業員の教育
- ヒューマン系のシステム
- 自分の不快感をシステムのせいにする短絡的な思考
問題点が自分で何かわかっていないのでは?
参考
シネコンの座席予約システム - Ogawa::Memoranda
そもそも新宿バルト9に限らず、「現在の」座席の空席状況を顧客に見せてその中から選択させるというチケット発行システム全体がFCFSに特化されたものだからである(逆に空席状況が参照できない状況を想定するなら、顧客は発行システムが割り当てた上演回・席に着いて鑑賞するだけになる)。FCFSで割り付けられるものと期待してキューに並んでいる客がカウンターに着いた途端に優先度付きでスケジュールされたら(「おまいらの席ねーがら!次の回な!」)DQN逆ギレ間違いなしである。
Thursday, April 03, 2008
「かも」ということなので、乗ってみた。
天使やカイザーと呼ばれて: 日本にもFacebookブームが来る予感
天使やカイザーと呼ばれて: 日本にもFacebookブームが来る予感
日本ではOpen Socialの方が流行するのが早いと思っていたが、Facebookの翻訳プロジェクトの進み具合によっては、日本にもFacebook旋風が吹き荒れる、かも。
Tuesday, April 01, 2008
SpringSource
マジッすか?
SpringFrameworkが.NETに組み込まれるのも時間の問題かな?
InfoQ: SpringSource Announces Acquisition by Microsoft
おいおい・・・、ひっかかっちまった。
Microsoft、SpringSourceを買収!!! - S/N Ratio (by SATO Naoki)
SpringFrameworkが.NETに組み込まれるのも時間の問題かな?
InfoQ: SpringSource Announces Acquisition by Microsoft
In a surprise announcement, SpringSource CEO Rod Johnson announced that SpringSource has agreed to be acquired by Microsoft. InfoQ interviewed Johnson to learn more about this acquisition and what it will mean for the future of both Spring and the .Net Framework.
おいおい・・・、ひっかかっちまった。
Microsoft、SpringSourceを買収!!! - S/N Ratio (by SATO Naoki)
Saturday, March 29, 2008
Media Manager for PSP
制限付アカウントだと起動すると、システムソフトウェアアップデートを3.50以上にあげろと
メッセージが出てくる。だめじゃん?
PLAYSTATION®Store - Media Manager for PSP® (PlayStation®Portable)
メッセージが出てくる。だめじゃん?
PLAYSTATION®Store - Media Manager for PSP® (PlayStation®Portable)
Thursday, March 27, 2008
Friday, March 14, 2008
うまく言えるかどうか。
僕はウェブの最大の利用価値は、「共有」にあると考えています。
ですから、ウェブサービスの機能のほとんどは「共有」が前提なのだととらえます。
AmazonのWishListはその代表だと考えていました。
個人情報が公開されるのは困ったものですが、
WishListなら公開されてもいいのではないでしょうか?
外国のブログを見ると、これでもかというくらい、自分の主張が前面に出ています。
時には自分の住所まで公開している人もいます。
お国柄なんでしょうかね?
「個人情報」という言葉が独り歩きしているように見えるのですが、気のせいでしょうか?
高木浩光@自宅の日記 - Amazonはやっぱり怖い そろそろ使うのをやめようと思う, Amazonは注文履歴の消去を拒否、アカウント閉鎖後もデータは残る, Amazon..
僕はウェブの最大の利用価値は、「共有」にあると考えています。
ですから、ウェブサービスの機能のほとんどは「共有」が前提なのだととらえます。
AmazonのWishListはその代表だと考えていました。
個人情報が公開されるのは困ったものですが、
WishListなら公開されてもいいのではないでしょうか?
外国のブログを見ると、これでもかというくらい、自分の主張が前面に出ています。
時には自分の住所まで公開している人もいます。
お国柄なんでしょうかね?
「個人情報」という言葉が独り歩きしているように見えるのですが、気のせいでしょうか?
高木浩光@自宅の日記 - Amazonはやっぱり怖い そろそろ使うのをやめようと思う, Amazonは注文履歴の消去を拒否、アカウント閉鎖後もデータは残る, Amazon..
Wednesday, March 05, 2008
Friday, February 22, 2008
明日の喜多善男
録画していたのを今見終わりました。
配役がしっかりしたいいドラマです。
小日向さんを主役に持ってきたのがいいなぁ。
主役に花がない分、脇役がしっかりかためて、ドラマに厚みが出ています。
喜多さんが死ぬ(?)まであと四日。
配役がしっかりしたいいドラマです。
小日向さんを主役に持ってきたのがいいなぁ。
主役に花がない分、脇役がしっかりかためて、ドラマに厚みが出ています。
喜多さんが死ぬ(?)まであと四日。
Saturday, February 16, 2008
ちりとてちん
一週間録画した「ちりとてちん」を録画して、毎週土曜日に観てます。
毎回泣いてしまいます。
連続テレビ小説「ちりとてちん」
今週は「草若弟子の会」
出番間際に師匠が倒れて、弟子が駆けつける、駆けつけないでもめたあたりで泣いてしまいました。
「今駆けつけたら、稽古つけてくれた師匠に悪いで」
朝ドラあなどれないな・・・。
毎回泣いてしまいます。
連続テレビ小説「ちりとてちん」
今週は「草若弟子の会」
出番間際に師匠が倒れて、弟子が駆けつける、駆けつけないでもめたあたりで泣いてしまいました。
「今駆けつけたら、稽古つけてくれた師匠に悪いで」
朝ドラあなどれないな・・・。
Powered by ScribeFire.
Sunday, February 10, 2008
原点
駄目だ、ぜんぜんわからない。
原点に戻るか。
Life is beautiful: 原点に戻って徹底的に納得するまで理解する
原点に戻るか。
Life is beautiful: 原点に戻って徹底的に納得するまで理解する
では、ここで問題です、どうして放射性炭素年代測定で、炭素そのものの年齢ではなく、木の年齢をはかることが可能なのでしょう?
Powered by ScribeFire.
Wednesday, February 06, 2008
Tuesday, February 05, 2008
SOX法
馬鹿の一つ覚えみたいに「SOX法の絡みで」とか言いやがって。
ぜんぜん解釈が違うじゃないか?
IT統制 - @IT情報マネジメント用語事典
ぜんぜん解釈が違うじゃないか?
IT統制 - @IT情報マネジメント用語事典
内部統制システムの一部を構成する統制要素で、企業の業務や管理システムを情報技術によって監視・記録・統制し、その健全性を保証する仕組みのこと。内部統制を行う仕組み──内部統制システムのうち、ITを利用した部分をいう。
Powered by ScribeFire.
Sunday, February 03, 2008
そろそろ他人のブログをチェックするのはやめにしないか?
Google Readerを使っていつもチェックしているのだけど、
購読しているフィード数にも問題があるのだろうけど。
仕事が忙しくあまり購読に時間が割けないのです。
読まされ感が漂っていて疲労感倍増。
2/5追記
フィードを見て読むか読まないか判断する時間が、記事を読む時間を越えたら、フィードのたまりすぎです。
購読しているフィード数にも問題があるのだろうけど。
仕事が忙しくあまり購読に時間が割けないのです。
読まされ感が漂っていて疲労感倍増。
2/5追記
フィードを見て読むか読まないか判断する時間が、記事を読む時間を越えたら、フィードのたまりすぎです。
Powered by ScribeFire.
Sunday, January 27, 2008
JSUG欠席
業務多忙のため欠席せざるを得ませんでした。
非常に残念です。
デブザミには参加したいです。
勉強会 - Japan Springframework User Group
非常に残念です。
デブザミには参加したいです。
勉強会 - Japan Springframework User Group
Powered by ScribeFire.
Monday, January 14, 2008
じゃぁ、とりあえずデザイン、2~3本
デザインのプロセスは開発に組み込まれていますよ。
受託でやっているうちは「とりあえず」の枕詞は消えないのでしょう。
成功報酬型にすれば、自身の作業が直接収益に結びつくので、
GUIのデザインも、操作性のデザインも、システムのデザインも進歩すると思います。
とはいえ成功報酬にした場合、どうやってシェアリングするのかという疑問が出てきてしまいますね。
第55回 じゃあ,とりあえずデザイン,2~3本:ITpro
開発プロセスとか言ってる暇があるのなら、
「とりあえず」と言われて「とりあえず」のモノが出せる技術を得ることを考えたほうがいいのでは?
受託でやっているうちは「とりあえず」の枕詞は消えないのでしょう。
成功報酬型にすれば、自身の作業が直接収益に結びつくので、
GUIのデザインも、操作性のデザインも、システムのデザインも進歩すると思います。
とはいえ成功報酬にした場合、どうやってシェアリングするのかという疑問が出てきてしまいますね。
第55回 じゃあ,とりあえずデザイン,2~3本:ITpro
「デザイン」に「力」があることは認識しつつ,その制御方法を真剣に考えて来なかったうちに,デザインに求められるモノ自体が広がってきています。「デザイン」を再評価し,開発プロセスの中に組み込むことに真剣に取り組むべき時期が来ているのではないでしょうか。
開発プロセスとか言ってる暇があるのなら、
「とりあえず」と言われて「とりあえず」のモノが出せる技術を得ることを考えたほうがいいのでは?
Powered by ScribeFire.
Sunday, January 06, 2008
有害サイト削除、民主が独自法案・プロバイダーに義務化
元ネタはこちら
NIKKEI NET(日経ネット):主要ニュース-各分野の重要ニュースを掲載
で御仁が噛み付いている。
404 Blog Not Found:情報に有害も有益もない
Life is beautiful: 「言論の自由」の大切さに関して一言
この人たちは「18歳未満の若年者が犯罪に巻き込まれるのを防ぐため」の議論を「言論の自由」にすりかえているような気がするが?
Satoshi Nakajimaには失望した。
有害サイト規制の前に議論すべきこと - 雑種路線でいこう
有害サイト規制の経緯を学ぼう - 雑種路線でいこう
NIKKEI NET(日経ネット):主要ニュース-各分野の重要ニュースを掲載
有害サイト削除、民主が独自法案・プロバイダーに義務化
で御仁が噛み付いている。
404 Blog Not Found:情報に有害も有益もない
有害情報など、ない。有害となりえるのは、それを利用する人間の方である。
Life is beautiful: 「言論の自由」の大切さに関して一言
その表現の自由を「有害な恐れがある場合は」という曖昧な表現の法案でないがしろにすることは、その時の為政者の都合による勝手な検閲・言論統制を許す抜け道を作ることになり、とても危険だ。
この人たちは「18歳未満の若年者が犯罪に巻き込まれるのを防ぐため」の議論を「言論の自由」にすりかえているような気がするが?
Satoshi Nakajimaには失望した。
一方まともな意見もある。
有害サイト規制の前に議論すべきこと - 雑種路線でいこう
いま議論されているのは、違法サイトだけでなく有害サイトによる未成年への被害をどう防ぐべきかという点だ。
有害サイト規制の経緯を学ぼう - 雑種路線でいこう
民主党の有害サイト規制法案に対する小飼弾さんや中島聡さんの反応をみていると「表現の自由」なり「通信の秘密」を前面に押し出したナイーヴな反応に終始しているようにみえる。けれども未成年が対象であれば、サイト削除義務もフィルタリング義務も憲法で禁止された検閲には当たらない。*1有害サイト規制を巡っては以前から各省で活発に研究されており、議論はもっと各論に落ちている。各国の動向や法執行に当たっての課題も一通り整理されているので、関心のある方は過去の報告書を一読されることをお勧めする。
Friday, January 04, 2008
テクノラティのブログ検索がノイズっぽい
なんだか、テクノラティの検索結果で上位のブログが目的とはかけはなれたブログがヒットします。
12月ごろから・・・
テクノラティ: 「type T TZ」のブログ記事検索結果
12月ごろから・・・
テクノラティ: 「type T TZ」のブログ記事検索結果
Powered by ScribeFire.
Monday, December 31, 2007
12/31/2007
今年一年いろいろご迷惑をおかけしましたが、来年もよろしくお願いします。
Javaプロジェクトの仕事漬けだった一年が終わります。
Javaの技術がついたわけでもなく、ただただ忙しいだけで終わってしまいました。
UML読めないやつのためにエクセルで図を起こしたりして無駄な作業ばかりだった。
無駄に忙しかった。(心が亡びると書いて忙しいと読みます。)
今年の収穫はSpringFrameworkとの出会いでした。
DIとAOPのアイデアには新鮮さを感じました。
人的にはspringframework.jpとの出会いやYAPC::Asiaへの参加がモチベーションを高めてくれました。
・長谷川さんと竹迫さんには感謝
来年はJ2EEとGoFのデザインパターンをマスターし、
ウェブアプリのテスト技法の習得に力を注ぎたいと思います。
で、もう少しPerlでいろいろ遊びたいです。
あと、英語もやんなきゃ。
来年はいい年にしたいな。
Javaプロジェクトの仕事漬けだった一年が終わります。
Javaの技術がついたわけでもなく、ただただ忙しいだけで終わってしまいました。
UML読めないやつのためにエクセルで図を起こしたりして無駄な作業ばかりだった。
無駄に忙しかった。(心が亡びると書いて忙しいと読みます。)
今年の収穫はSpringFrameworkとの出会いでした。
DIとAOPのアイデアには新鮮さを感じました。
人的にはspringframework.jpとの出会いやYAPC::Asiaへの参加がモチベーションを高めてくれました。
・長谷川さんと竹迫さんには感謝
来年はJ2EEとGoFのデザインパターンをマスターし、
ウェブアプリのテスト技法の習得に力を注ぎたいと思います。
で、もう少しPerlでいろいろ遊びたいです。
あと、英語もやんなきゃ。
来年はいい年にしたいな。
Saturday, December 01, 2007
Sunday, November 18, 2007
<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/" xmlns:os="http://a9.com/-/spec/opensearch/1.1/">
<os:ShortName>Kizasi Serach</os:ShortName>
<os:Description>Kizasi Search</os:Description>
<os:InputEncoding>UTF-8</os:InputEncoding>
<os:Image width="16" height="16">data:image/x-icon;base64,Qk02AwAAAAAAADYAAAAoAAAAEAAAABAAAAABABgAAAAAAAADAADEDgAAxA4AAAAAAAAAAAAA////////////////////////////////////////////////////////////////////////////////////7/L7fZrlNWDVJlfSTXTcpLnr////////////////////////////////////Wn7dAB6+ACO4AB+2ATK9ACi4ABW4ACvGxdPy////////////////////////LlXQfpnge5HbGDrAnLLlZoDXJ1HHYIHWgpndN13Swc/x////////////////p7vtABC4eI/a5Or4IUrGRmzQzNfyDjS+gZ3gABO0KlTGACLD////////////////G07LAC27KVXJepXcEEDCACG5S2zRZYXXPWXOAC+8ADS9ACS6h6Ln////////4ej2a4zj////BzzBAC+8BTG9u8rusMPsWXLRABCzADe/ATe/ADG8Ik/O////////0dryLl3TfJfd3uT3DEDC////M1rLIkPDm6zl////ABu2ADe+ADS9ADXC////////ztfy1d/5gZve////WXvV////IlHHADi/AAmwc4nZj6biACm6ADS9AzbD////////9/n8hqLqydTw6+75n7Pn7/P7xNHw////////RGrPrr/rACS6AC+7OmXW////////////u8zv+Pj85+v5ydPw8vT8sMDrhJ7gCj3BLFjJCDnBADW+AB+8rb7r////////////8vb8kqztnLHk3ub38/b8iqPhy9by////K1fJIVHIAji9F0jP////////////////////3ub7nrTw7fD58PP7j6ficY/bTHLSSnDRKFXIHVHU///+////////////////////////7vP8sMPw6/L/jKbkfJjgY4XbSnPae5nl////////////////////////////////////////6O360dvzxdLvz9n0/v7/////////////////////////////////////////////////////////////////////////////////////</os:Image>
<SearchForm>http://www.kizasi.jp/</SearchForm>
<os:Url type="text/html" method="GET" template="http://kizasi.jp/show.py/detail?kw_expr={searchTerms}&ref=freeword&label=">
</os:Url>
</SearchPlugin>
<os:ShortName>Kizasi Serach</os:ShortName>
<os:Description>Kizasi Search</os:Description>
<os:InputEncoding>UTF-8</os:InputEncoding>
<os:Image width="16" height="16">data:image/x-icon;base64,Qk02AwAAAAAAADYAAAAoAAAAEAAAABAAAAABABgAAAAAAAADAADEDgAAxA4AAAAAAAAAAAAA////////////////////////////////////////////////////////////////////////////////////7/L7fZrlNWDVJlfSTXTcpLnr////////////////////////////////////Wn7dAB6+ACO4AB+2ATK9ACi4ABW4ACvGxdPy////////////////////////LlXQfpnge5HbGDrAnLLlZoDXJ1HHYIHWgpndN13Swc/x////////////////p7vtABC4eI/a5Or4IUrGRmzQzNfyDjS+gZ3gABO0KlTGACLD////////////////G07LAC27KVXJepXcEEDCACG5S2zRZYXXPWXOAC+8ADS9ACS6h6Ln////////4ej2a4zj////BzzBAC+8BTG9u8rusMPsWXLRABCzADe/ATe/ADG8Ik/O////////0dryLl3TfJfd3uT3DEDC////M1rLIkPDm6zl////ABu2ADe+ADS9ADXC////////ztfy1d/5gZve////WXvV////IlHHADi/AAmwc4nZj6biACm6ADS9AzbD////////9/n8hqLqydTw6+75n7Pn7/P7xNHw////////RGrPrr/rACS6AC+7OmXW////////////u8zv+Pj85+v5ydPw8vT8sMDrhJ7gCj3BLFjJCDnBADW+AB+8rb7r////////////8vb8kqztnLHk3ub38/b8iqPhy9by////K1fJIVHIAji9F0jP////////////////////3ub7nrTw7fD58PP7j6ficY/bTHLSSnDRKFXIHVHU///+////////////////////////7vP8sMPw6/L/jKbkfJjgY4XbSnPae5nl////////////////////////////////////////6O360dvzxdLvz9n0/v7/////////////////////////////////////////////////////////////////////////////////////</os:Image>
<SearchForm>http://www.kizasi.jp/</SearchForm>
<os:Url type="text/html" method="GET" template="http://kizasi.jp/show.py/detail?kw_expr={searchTerms}&ref=freeword&label=">
</os:Url>
</SearchPlugin>
Saturday, November 10, 2007
IT業界進化論: 絶望する前に”SIer 2.0”を目指せ
IT業界進化論: 絶望する前に”SIer 2.0”を目指せ
かつての姿を”SIer1.0”と呼ぶならば、受託開発という枠から飛び出そうと積極的なアプローチを展開しているSIerは、”SIer2.0”とでも呼ぶべきまったく異なるステージに駆け上っています。 このような流れをみると、IT業界が迎えている変化は確実に良い方向に向かっているのだと私は感じるのです。 きっと、日本のIT業界はもっとエキサイティングになれます。
野村総合研究所はOpenStandia
を提供しているし、どこの企業も受身でいるわけではないだろう。
そういう意味ではSIerとしては結構エキサイティングなのでは?
空気読めないやつにはわからないのかもしれないが。
Powered by ScribeFire.
ニッポンIT業界絶望論
いくつもの関係部署があるから調整しながら開発するため
エンドユーザの要求がそのまま仕様になっていないことが多々あるのは確かです。
でも論旨が乱暴。読んでいて恥ずかしい。
ニッポンIT業界絶望論
お前は生産性をあげるために何かしたのかと。
エンドユーザの要求がそのまま仕様になっていないことが多々あるのは確かです。
でも論旨が乱暴。読んでいて恥ずかしい。
ニッポンIT業界絶望論
だから、あんな生産性の低い、たぶん全産業の中でももっとも生産性が低い部類の、ああいう仕事にとどまることを余儀なくされているのだろう。
お前は生産性をあげるために何かしたのかと。
今までのユーザ企業は実質どうでもいいところまで細かくオーダーメイドで作り込むことを要求しすぎていた。そのくせ、結局ユーザには不評で使われないシステムが量産されていたのだから笑い事ではない。人間の価値観は努力や根性では変わらないから、それが無駄だと気付かせるには外的要因しかない。
Powered by ScribeFire.
Sunday, November 04, 2007
Saturday, September 29, 2007
selenium 0.9.2
テストとか - 2007-09-21
何?と思い見てみた。
Selenium Remote Control 0.9.2 Released - Selenium Remote Control - Confluence
後で使い方を確認しておかなければ
captureScreenshot なんてコマンドもいつの間にか追加されてる・・
何?と思い見てみた。
Selenium Remote Control 0.9.2 Released - Selenium Remote Control - Confluence
* New "captureScreenshot" command lets you capture PNG screenshots and save them to disk
後で使い方を確認しておかなければ
標準化
標準化をつくろうとするマネージャあるいは偉い人は管理能力が低かったりします。
標準化を要求するプログラマの多くは技術力が低かったりします。
A Day In The Life 標準化という名の悪魔
標準化を要求するプログラマの多くは技術力が低かったりします。
A Day In The Life 標準化という名の悪魔
標準化、標準化言う前にまともにモノ造りできることの方が遥かに大事なはず。 たとえ標準化できたとしてもそれを導入したからとって失敗プロジェクトが無くなるという保障もないですが・・・。 よく「失敗プロジェクトが多いから標準化したいんだよね」なんて聞きますが、失敗プロジェクトをいくら研究しても標準化なんてできないと思っています。
Powered by ScribeFire.
Wednesday, September 26, 2007
Saturday, September 08, 2007
第6回 9/7「秋のSpringBatch?祭り」
勉強会 - Japan Springframework User Group
いつもいつも長谷川さんをはじめとしてスタッフの方ありがとうございました。
現時点ではまだまだの感のあるSpring Batchですが、今の時点で技術を習得しておくと
のちのアルファギークになれるかもしれません。大ばけするかもしれないしね。
松原さんの資料はグレートなすばらしい出来です。
本家の資料をしのいでいます。
User Groupへのアップロードを心待ちにしています。
飲み会ではいろいろな方とお話ができて楽しかったです。
家の水道管とガス管つなぐ話は異様に盛り上がりました。
あとRuby( on Rails)を薦める立場に、技術者とマネージャ(営業)の二つのスタンスがある話もね。
Powered by ScribeFire.
Monday, August 27, 2007
Saturday, August 25, 2007
MT4 Conference for Developers
Six Apart - Movable Type 開発者向けカンファレンスのお知らせ【参加無料】
いってきました。
また、MTを触りたくなってきました。
プラグイン作成もおもしろそうだしね。
女性比率が高かったのにはびっくりしたなぁ。
後ろにいたのはチーボウさんだったらしい。
Powered by ScribeFire.
Sunday, August 05, 2007
Google Reader
Google Reader
世間ではRSSリーダーの価値について議論が出ているようですが、
私はRSSリーダーを使っています。
今まではFirefoxのエクステンションSageを使っていましたが、
Google Readerを使ってみようかなと。
世間ではRSSリーダーの価値について議論が出ているようですが、
私はRSSリーダーを使っています。
今まではFirefoxのエクステンションSageを使っていましたが、
Google Readerを使ってみようかなと。
Powered by ScribeFire.
Saturday, July 28, 2007
第5回SpringFramework勉強会
勉強会 - Japan Springframework User Group
参加してきました。長谷川さん、スタッフの方々ありがとうございました。
改めてSpring Framworkの奥の深さと、集まった方々の濃いキャラクタに驚かされました。
そして、ぜひともマスターしたい技術であることを再確認しました。
Sesar2もね。
Spring Web Service(松下さん)
・Web Service作成と実行エンジン
Spring Batch
・ジョブネット -> Stage(段階)・
・監視機能、リトライ機能、ステータス管理、階層モデル
・Javaバッチにもオープンソースが来るのか?
Spring Frameworkとスクリプト
・JRuby
・Groovy
・BeanShell
・NetBeansお勧め
・JRubyはAbstractクラスを継承できない。
SpringとJSF
・Spring1にはScopeの概念が無い
Spring.NET
・http://spring-net.jp
Spring SecurityとAJAX
・発音はアシジ
・設定ファイルが難しい
・よくできている
・使うべし!
・判断順序が大事 ログアウト、ログイン、ログインエラー、ログインチェック
Spring 2.1
・JDK 1.6サポート
・Java EE 5サポート
Seasar2
・http://www.seasar.org/
・比嘉さん
・ドキュメント作成中 わかりやすく
・今まではDIを開発者が使うことを意識しなければいけなかった・・・悪くは無いが・・・
・技術はみんなが理解して楽しく使えるもの
・知らない人のために自動化する
・すぐにフィードバックが返ってくる ->モチベーションの維持
・ツールによる生産性向上も必要だけど、人の生産性の向上をあげる必要がある。
・人の生産性をあげるには、必要なのはモチベーションの維持だ。
・そのためにはすばやいフィードバックが必要・・・これがSeasar2ではホットデプロイで提供
・裏にある透明なサービスの提供
飲み会
・生産性を上げるという言い方には2種類ある
・ひとつは技術者からみた生産性向上 これは今まで10かかった仕事を1でやり、残り9で次の技術習得にあてるもの
・もうひとつはマネージメントからみた生産性向上 これは今まで10かかった仕事を1でやるので、残り9の仕事ができるというもの
・JBOSSの中の人、おもしろい!
・Strutsどうなのよ?この先大丈夫?
Powered by ScribeFire.
Saturday, July 14, 2007
#!C:/Perl/bin/perl.exe
# postResults.cgi for Selenium
use strict;
use warnings;
use CGI qw/:standard/;
my $date = localtime;
print header(), start_html(), h1("Selenium results");
print h2("Environment infomation");
foreach my $p (sort keys %ENV) {
print div("$p: $ENV{$p}");
}
print h2("Selenium information");
foreach my $p (param()) {
print h3($p), param($p), "n" unless ($p =~ /^testTable/);
}
print h2("Test Cases");
foreach my $p (param()) {
print h3($p), param($p), "n" if ($p =~ /^testTable/);
}
print end_html();
# postResults.cgi for Selenium
use strict;
use warnings;
use CGI qw/:standard/;
my $date = localtime;
print header(), start_html(), h1("Selenium results");
print h2("Environment infomation");
foreach my $p (sort keys %ENV) {
print div("$p: $ENV{$p}");
}
print h2("Selenium information");
foreach my $p (param()) {
print h3($p), param($p), "n" unless ($p =~ /^testTable/);
}
print h2("Test Cases");
foreach my $p (param()) {
print h3($p), param($p), "n" if ($p =~ /^testTable/);
}
print end_html();
Thursday, July 12, 2007
Sunday, July 01, 2007
Bloggerへのコードの投稿方法
先のエントリでXSLをあげる際に四苦八苦したので、備忘録。
問題は、投稿しても文字がエスケープされてしまったり、許容されないHTMLタグだったりすると削除されてしまうこと。
自分でエスケープしても、さらにそれをエスケープされてしまうこと。
解決方法としては、Google Docs & Spreadsheetsを使いました。
つまり、最初にGoogle Docs & Spreadsheetsにアップロードしておき、Bloggerへ公開させるのです。
これだと、文字がエスケープされません。
google-code-prettify - Google Codeを使って、きれいに表示させたかったのですが、
鰯のテクニカルノート: Blogger でも、コードハイライト してみる。by google-code-prettify
にあるようなコードが改行されない事象が出てしまったので、使ってません。
問題は、投稿しても文字がエスケープされてしまったり、許容されないHTMLタグだったりすると削除されてしまうこと。
自分でエスケープしても、さらにそれをエスケープされてしまうこと。
解決方法としては、Google Docs & Spreadsheetsを使いました。
つまり、最初にGoogle Docs & Spreadsheetsにアップロードしておき、Bloggerへ公開させるのです。
これだと、文字がエスケープされません。
google-code-prettify - Google Codeを使って、きれいに表示させたかったのですが、
鰯のテクニカルノート: Blogger でも、コードハイライト してみる。by google-code-prettify
にあるようなコードが改行されない事象が出てしまったので、使ってません。
Powered by ScribeFire.
metrics.xsl for http://metrics.sourceforge.net
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:m="http://metrics.sourceforge.net/2003/Metrics-First-Flat">
<xsl:output method="html"/>
<!--
metrics.xsl
01-JUL-07
metrics XML Style Sheet by Atsushi Sano
<as AT cyberoz DOT NET>
-->
<xsl:template match="/">
<xsl:apply-templates select="m:Metrics" />
</xsl:template>
<xsl:template match="m:Metrics">
<html lang="en">
<head>
<meta http-equiv="Content-Style-Type" content="text/css"></meta>
<title>Metrics Report for <xsl:value-of select="@scope"/> as of <xsl:value-of select="@date"/></title>
<style type="text/css"><![CDATA[
<!--
.bannercell {
border: 0px;
padding: 0px;
}
body {
margin-left: 10;
margin-right: 10;
font:normal 68% verdana,arial,helvetica;
background-color:#FFFFFF;
color:#000000;
}
.a td {
background: #efefef;
}
.b td {
background: #fff;
}
.a_ng td {
background: #efefef;
color:red;
}
.b_ng td {
background: #fff;
color:red;
}
th, td {
text-align: left;
vertical-align: top;
}
th {
font-weight:bold;
background: #ccc;
color: black;
}
table, th, td {
font-size:100%;
border: none
}
table.log tr td, tr th {
}
h2 {
font-weight:bold;
font-size:140%;
margin-bottom: 5;
}
h3 {
font-size:100%;
font-weight:bold;
background: #525D76;
color: white;
text-decoration: none;
padding: 5px;
margin-right: 2px;
margin-left: 2px;
margin-bottom: 0;
}
-->]]></style>
</head>
<body>
<h1><a><xsl:attribute name="name">top</xsl:attribute>Metrics Report for <xsl:value-of select="@scope"/> as of <xsl:value-of select="@date"/></a></h1>
<hr/>
<xsl:apply-templates select="m:Cycle" />
<hr/>
<h1>Metric</h1>
<table>
<thead><tr><th>id</th><th>description</th><th>limit</th><th>Total</th><th>Mean</th><th>Std. Dev.</th><th>Value Max</th><th>count</th><th>count(limit over)</th><th>Source causing Maximum</th><th>method</th></tr></thead>
<tbody>
<xsl:for-each select="m:Metric">
<tr>
<xsl:call-template name="alternated-row"/>
<td><a><xsl:attribute name="href">#<xsl:value-of select="@id" /></xsl:attribute><xsl:value-of select="@id" /></a></td>
<td><xsl:value-of select="@description" /></td>
<td><xsl:value-of select="@max" /></td>
<td>
<xsl:choose>
<xsl:when test="@id='TLOC'">
<xsl:value-of select="m:Value/@value" />
</xsl:when>
<xsl:when test="@id='NOP'">
<xsl:value-of select="m:Value/@value" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="m:Values/@total" />
</xsl:otherwise>
</xsl:choose>
</td>
<td><xsl:value-of select="m:Values/@avg" /></td>
<td><xsl:value-of select="m:Values/@stddev" /></td>
<td><xsl:value-of select="m:Values/@max" /></td>
<td><xsl:value-of select="count(m:Values/m:Value)" /></td>
<td><xsl:if test="boolean(@max)"><xsl:call-template name="alternate-count"><xsl:with-param name="max" select="@max" /></xsl:call-template></xsl:if></td>
<td><xsl:value-of select="m:Values/m:Value[1]/@package" /></td>
<td><xsl:if test="m:Values/m:Value[1]/@package!=m:Values/m:Value[1]/@name"><xsl:value-of select="m:Values/m:Value[1]/@name" /></xsl:if></td>
</tr>
</xsl:for-each>
</tbody>
</table>
<xsl:apply-templates select="m:Metric" />
<hr/>
<div style="font-size:large;font-weight:bold;">Powered by <span style="font-style:italic;">metrics.xsl</span>.</div>
</body></html>
</xsl:template>
<xsl:template match="m:Cycle">
<h1>Cycle</h1>
<table>
<thead><tr><th>name</th><th>nodes</th><th>diameter</th></tr></thead>
<tbody><tr><td><xsl:value-of select="@name"/></td><td><xsl:value-of select="@nodes"/></td><td><xsl:value-of select="@diameter"/></td></tr></tbody></table>
<table><thead><tr><th>Packages</th></tr></thead>
<tbody>
<xsl:for-each select="m:Package">
<tr><td><xsl:value-of select="." /></td></tr>
</xsl:for-each>
</tbody></table>
</xsl:template>
<xsl:template match="m:Metric">
<h1><a><xsl:attribute name="name"><xsl:value-of select="@id" /></xsl:attribute><xsl:value-of select="@id"/></a></h1>
<div><xsl:value-of select="@description"/></div>
<xsl:choose>
<xsl:when test="@id='TLOC'">
<xsl:apply-templates select="m:Value" />
</xsl:when>
<xsl:when test="@id='NOP'">
<xsl:apply-templates select="m:Value" />
</xsl:when>
<xsl:otherwise>
<xsl:apply-templates select="m:Values" />
</xsl:otherwise>
</xsl:choose>
<a><xsl:attribute name="href">#top</xsl:attribute>back to top</a>
</xsl:template>
<xsl:template match="m:Values">
<h2>Values</h2>
<table>
<xsl:attribute name="summary">values-<xsl:value-of select="../@id"/></xsl:attribute>
<thead><tr><th>per</th><th>total</th><th>avg</th><th>stddev</th><th>max</th></tr></thead>
<tbody><tr>
<td><xsl:value-of select="@per"/></td>
<td><xsl:value-of select="@total"/></td>
<td><xsl:value-of select="@avg"/></td>
<td><xsl:value-of select="@stddev"/></td>
<td><xsl:value-of select="@max"/></td>
</tr></tbody>
</table>
<h2>Value</h2>
<table>
<xsl:attribute name="summary"><xsl:value-of select="../@id"/></xsl:attribute>
<tr><th>name</th><th>source</th><th>package</th><th>value</th></tr>
<xsl:for-each select="m:Value">
<tr>
<xsl:call-template name="alternated-row"/>
<td><xsl:value-of select="@name" /></td><td><xsl:value-of select="@source" /></td><td><xsl:value-of select="@package" /></td><td><xsl:value-of select="@value" /></td></tr>
</xsl:for-each>
</table>
</xsl:template>
<xsl:template match="m:Value">
<h2>Value</h2>
<table>
<tr><th>value</th></tr>
<tr><td><xsl:value-of select="@value" /></td></tr>
</table>
</xsl:template>
<xsl:template name="alternated-row">
<xsl:attribute name="class">
<xsl:choose>
<xsl:when test="boolean(@max) and boolean(m:Values/@max) and m:Values/@max>=@max">
<xsl:if test="position() mod 2 = 1">a_ng</xsl:if>
<xsl:if test="position() mod 2 = 0">b_ng</xsl:if>
</xsl:when>
<xsl:when test="boolean(../../@max) and boolean(@value) and @value>=../../@max">
<xsl:if test="position() mod 2 = 1">a_ng</xsl:if>
<xsl:if test="position() mod 2 = 0">b_ng</xsl:if>
</xsl:when>
<xsl:otherwise>
<xsl:if test="position() mod 2 = 1">a</xsl:if>
<xsl:if test="position() mod 2 = 0">b</xsl:if>
</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
</xsl:template>
<xsl:template name="alternate-count">
<xsl:param name="max">dummy</xsl:param>
<xsl:value-of select="count(m:Values/m:Value[@value>=$max])"/>
</xsl:template>
</xsl:stylesheet>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:m="http://metrics.sourceforge.net/2003/Metrics-First-Flat">
<xsl:output method="html"/>
<!--
metrics.xsl
01-JUL-07
metrics XML Style Sheet by Atsushi Sano
<as AT cyberoz DOT NET>
-->
<xsl:template match="/">
<xsl:apply-templates select="m:Metrics" />
</xsl:template>
<xsl:template match="m:Metrics">
<html lang="en">
<head>
<meta http-equiv="Content-Style-Type" content="text/css"></meta>
<title>Metrics Report for <xsl:value-of select="@scope"/> as of <xsl:value-of select="@date"/></title>
<style type="text/css"><![CDATA[
<!--
.bannercell {
border: 0px;
padding: 0px;
}
body {
margin-left: 10;
margin-right: 10;
font:normal 68% verdana,arial,helvetica;
background-color:#FFFFFF;
color:#000000;
}
.a td {
background: #efefef;
}
.b td {
background: #fff;
}
.a_ng td {
background: #efefef;
color:red;
}
.b_ng td {
background: #fff;
color:red;
}
th, td {
text-align: left;
vertical-align: top;
}
th {
font-weight:bold;
background: #ccc;
color: black;
}
table, th, td {
font-size:100%;
border: none
}
table.log tr td, tr th {
}
h2 {
font-weight:bold;
font-size:140%;
margin-bottom: 5;
}
h3 {
font-size:100%;
font-weight:bold;
background: #525D76;
color: white;
text-decoration: none;
padding: 5px;
margin-right: 2px;
margin-left: 2px;
margin-bottom: 0;
}
-->]]></style>
</head>
<body>
<h1><a><xsl:attribute name="name">top</xsl:attribute>Metrics Report for <xsl:value-of select="@scope"/> as of <xsl:value-of select="@date"/></a></h1>
<hr/>
<xsl:apply-templates select="m:Cycle" />
<hr/>
<h1>Metric</h1>
<table>
<thead><tr><th>id</th><th>description</th><th>limit</th><th>Total</th><th>Mean</th><th>Std. Dev.</th><th>Value Max</th><th>count</th><th>count(limit over)</th><th>Source causing Maximum</th><th>method</th></tr></thead>
<tbody>
<xsl:for-each select="m:Metric">
<tr>
<xsl:call-template name="alternated-row"/>
<td><a><xsl:attribute name="href">#<xsl:value-of select="@id" /></xsl:attribute><xsl:value-of select="@id" /></a></td>
<td><xsl:value-of select="@description" /></td>
<td><xsl:value-of select="@max" /></td>
<td>
<xsl:choose>
<xsl:when test="@id='TLOC'">
<xsl:value-of select="m:Value/@value" />
</xsl:when>
<xsl:when test="@id='NOP'">
<xsl:value-of select="m:Value/@value" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="m:Values/@total" />
</xsl:otherwise>
</xsl:choose>
</td>
<td><xsl:value-of select="m:Values/@avg" /></td>
<td><xsl:value-of select="m:Values/@stddev" /></td>
<td><xsl:value-of select="m:Values/@max" /></td>
<td><xsl:value-of select="count(m:Values/m:Value)" /></td>
<td><xsl:if test="boolean(@max)"><xsl:call-template name="alternate-count"><xsl:with-param name="max" select="@max" /></xsl:call-template></xsl:if></td>
<td><xsl:value-of select="m:Values/m:Value[1]/@package" /></td>
<td><xsl:if test="m:Values/m:Value[1]/@package!=m:Values/m:Value[1]/@name"><xsl:value-of select="m:Values/m:Value[1]/@name" /></xsl:if></td>
</tr>
</xsl:for-each>
</tbody>
</table>
<xsl:apply-templates select="m:Metric" />
<hr/>
<div style="font-size:large;font-weight:bold;">Powered by <span style="font-style:italic;">metrics.xsl</span>.</div>
</body></html>
</xsl:template>
<xsl:template match="m:Cycle">
<h1>Cycle</h1>
<table>
<thead><tr><th>name</th><th>nodes</th><th>diameter</th></tr></thead>
<tbody><tr><td><xsl:value-of select="@name"/></td><td><xsl:value-of select="@nodes"/></td><td><xsl:value-of select="@diameter"/></td></tr></tbody></table>
<table><thead><tr><th>Packages</th></tr></thead>
<tbody>
<xsl:for-each select="m:Package">
<tr><td><xsl:value-of select="." /></td></tr>
</xsl:for-each>
</tbody></table>
</xsl:template>
<xsl:template match="m:Metric">
<h1><a><xsl:attribute name="name"><xsl:value-of select="@id" /></xsl:attribute><xsl:value-of select="@id"/></a></h1>
<div><xsl:value-of select="@description"/></div>
<xsl:choose>
<xsl:when test="@id='TLOC'">
<xsl:apply-templates select="m:Value" />
</xsl:when>
<xsl:when test="@id='NOP'">
<xsl:apply-templates select="m:Value" />
</xsl:when>
<xsl:otherwise>
<xsl:apply-templates select="m:Values" />
</xsl:otherwise>
</xsl:choose>
<a><xsl:attribute name="href">#top</xsl:attribute>back to top</a>
</xsl:template>
<xsl:template match="m:Values">
<h2>Values</h2>
<table>
<xsl:attribute name="summary">values-<xsl:value-of select="../@id"/></xsl:attribute>
<thead><tr><th>per</th><th>total</th><th>avg</th><th>stddev</th><th>max</th></tr></thead>
<tbody><tr>
<td><xsl:value-of select="@per"/></td>
<td><xsl:value-of select="@total"/></td>
<td><xsl:value-of select="@avg"/></td>
<td><xsl:value-of select="@stddev"/></td>
<td><xsl:value-of select="@max"/></td>
</tr></tbody>
</table>
<h2>Value</h2>
<table>
<xsl:attribute name="summary"><xsl:value-of select="../@id"/></xsl:attribute>
<tr><th>name</th><th>source</th><th>package</th><th>value</th></tr>
<xsl:for-each select="m:Value">
<tr>
<xsl:call-template name="alternated-row"/>
<td><xsl:value-of select="@name" /></td><td><xsl:value-of select="@source" /></td><td><xsl:value-of select="@package" /></td><td><xsl:value-of select="@value" /></td></tr>
</xsl:for-each>
</table>
</xsl:template>
<xsl:template match="m:Value">
<h2>Value</h2>
<table>
<tr><th>value</th></tr>
<tr><td><xsl:value-of select="@value" /></td></tr>
</table>
</xsl:template>
<xsl:template name="alternated-row">
<xsl:attribute name="class">
<xsl:choose>
<xsl:when test="boolean(@max) and boolean(m:Values/@max) and m:Values/@max>=@max">
<xsl:if test="position() mod 2 = 1">a_ng</xsl:if>
<xsl:if test="position() mod 2 = 0">b_ng</xsl:if>
</xsl:when>
<xsl:when test="boolean(../../@max) and boolean(@value) and @value>=../../@max">
<xsl:if test="position() mod 2 = 1">a_ng</xsl:if>
<xsl:if test="position() mod 2 = 0">b_ng</xsl:if>
</xsl:when>
<xsl:otherwise>
<xsl:if test="position() mod 2 = 1">a</xsl:if>
<xsl:if test="position() mod 2 = 0">b</xsl:if>
</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
</xsl:template>
<xsl:template name="alternate-count">
<xsl:param name="max">dummy</xsl:param>
<xsl:value-of select="count(m:Values/m:Value[@value>=$max])"/>
</xsl:template>
</xsl:stylesheet>
Saturday, June 16, 2007
JSUG勉強会 第4回 6/15「Springframework in JavaOne2007 + Spring MVC & WebFlow」
勉強会 - Japan Springframework User Group
先月に引き続いて参加してきました。
長谷川さん、スタッフの方々、ありがとうございました。
JavaOne2007もSpringMVCも自分にとってタイムリーな話題だったので、
興味深く聞く事ができました。以下自分のためのメモ。
1.河村さんによるJavaOne2007レポート
全般的な話題
Springの話題
Interface21のマークフィッシャーのブログは要注目
Sunからの各国に対するメッセージ
Thank you->(和訳)->元気です(?)
2.チャトールさんによるSpringMVCとSpring Web Flowの説明
Strutsの問題->依存性が高い
Finite State Machineモデル(有限オートマンモデル)により会話的なやりとりが可能
Spring Web Flowはconversational Scopeをサポート
でも全てをSpring Web Flowでやろうとすると複雑になる(適材適所)
状態や遷移の管理をするのであればSpring Web Flow
3.飲み会
おまけ
長谷川さんにSpring 入門にサインをしてもらった。ラッキー。
先月に引き続いて参加してきました。
長谷川さん、スタッフの方々、ありがとうございました。
JavaOne2007もSpringMVCも自分にとってタイムリーな話題だったので、
興味深く聞く事ができました。以下自分のためのメモ。
1.河村さんによるJavaOne2007レポート
全般的な話題
- JavaEE6には触れられず。背景として仕様書に着手した状態だからか?
- JavaFXに注目が集まる
- JavaSE6,7に注目が集まる Glassfish
- JRubyの年でした
- 各社でのJavaEE5 Application Server対応がのろい
- ボフ?(座談会)でしたEEについて語られていなかった
- JavaEE6 Final Release 2008 Q4
- pruning(仕様削除)により少なくなったAPI
- GlassfishV3は面白そう
- EJB3.1 ejb.jarがいらなくなる Web層でsのEJB利用の簡略化
Springの話題
- 2005,2006に続き依然として人気は高い
- Interface21のエンジニアに人気が集まる
- Spring Web Flow
- Spring Batch
- OSGi
- SCA(参考http://www.arclamp.jp/blog/archives/000790.html)
- JMX Bean
Interface21のマークフィッシャーのブログは要注目
Sunからの各国に対するメッセージ
Thank you->(和訳)->元気です(?)
2.チャトールさんによるSpringMVCとSpring Web Flowの説明
Strutsの問題->依存性が高い
Finite State Machineモデル(有限オートマンモデル)により会話的なやりとりが可能
Spring Web Flowはconversational Scopeをサポート
でも全てをSpring Web Flowでやろうとすると複雑になる(適材適所)
状態や遷移の管理をするのであればSpring Web Flow
3.飲み会
- 森ビルからは東京タワーが見える
- 六本木周辺は食事が高い
- ジャカルタでは危険な場所もあるから注意しよう
おまけ
長谷川さんにSpring 入門にサインをしてもらった。ラッキー。
Powered by ScribeFire.
Sunday, June 10, 2007
ScribeFire
del.icio.usでブックマークはするものの、
なかなかブログは書けません。
ブログを書くのに便利な19 のFirefox拡張機能 - Google Mania | グーグルの便利な使い方
この記事を読んで、ScribFireを導入してみました。
右クリックのコンテキストメニューにメニューが追加されているので、
言及したいページで右クリックしてScribeFireが起動します。
タイトルとページURLを取得して記事Editorに自動的に入れてくれます。
使い勝手は悪くありません。
該当ブログサービスのウェブサイトを尋ねてログインする手間が省けます。
これでブログしない自分とお別れできるといいのですが。
なかなかブログは書けません。
ブログを書くのに便利な19 のFirefox拡張機能 - Google Mania | グーグルの便利な使い方
この記事を読んで、ScribFireを導入してみました。
右クリックのコンテキストメニューにメニューが追加されているので、
言及したいページで右クリックしてScribeFireが起動します。
タイトルとページURLを取得して記事Editorに自動的に入れてくれます。
使い勝手は悪くありません。
該当ブログサービスのウェブサイトを尋ねてログインする手間が省けます。
これでブログしない自分とお別れできるといいのですが。
Powered by ScribeFire.
OracleのJDBCドライバのデバッグ
OracleのJDBCドライバのデモプログラムに付属のOracleLog.propertiesによれば、
ojdbc14_g.jarを使うとJDBCドライバによるデバッグが可能になります。
http://www.oracle.com/technology/tech/java/sqlj_jdbc/htdocs/jdbc_faq.htm#32_00
Tomcatでこのデバッグを可能にするには、
Tomcat起動時の引数に、-Toracle.jdbc.Trace=trueを指定します。
WTPをお使いの方は「構成と実行」で指定できます。
つぎのような指定をしました。
-Doracle.jdbc.Trace=true
-Djava.util.logging.config.file=OracleLog.properties
-Doracle.jdbc.LogFile="C:\Documents and Settings\sano\My Documents\jdbc.log"
OracleLog.propertiesはTomcat起動フォルダに入れておきます。
ここまではいいのですが、発行しているSQLが表示できていません。
OracleLog.propertiesの記述方法に問題があるのでしょうか?
デフォルトではだめなのかな?
ojdbc14_g.jarを使うとJDBCドライバによるデバッグが可能になります。
http://www.oracle.com/technology/tech/java/sqlj_jdbc/htdocs/jdbc_faq.htm#32_00
Tomcatでこのデバッグを可能にするには、
Tomcat起動時の引数に、-Toracle.jdbc.Trace=trueを指定します。
WTPをお使いの方は「構成と実行」で指定できます。
つぎのような指定をしました。
-Doracle.jdbc.Trace=true
-Djava.util.logging.config.file=OracleLog.properties
-Doracle.jdbc.LogFile="C:\Documents and Settings\sano\My Documents\jdbc.log"
OracleLog.propertiesはTomcat起動フォルダに入れておきます。
ここまではいいのですが、発行しているSQLが表示できていません。
OracleLog.propertiesの記述方法に問題があるのでしょうか?
デフォルトではだめなのかな?
Powered by ScribeFire.
Sunday, June 03, 2007
Firefox「正常にソフトウェアを更新できませんでした。」の対処方法
Firefoxを2.0.3から2.0.4に更新しました。
すると、制限ユーザでの起動時に、
「正常にソフトウェアを更新できませんでした。」
と、メッセージが表示されるようになってしまいました。
いろいろ検索して次の解決策にたどり着きました。
http://kb.mozillazine.org/Updates_reported_when_running_newest_version
上記に従い、ファイルを削除したら、起動時のエラーダイアログは表示されなくなりました。
すると、制限ユーザでの起動時に、
「正常にソフトウェアを更新できませんでした。」
と、メッセージが表示されるようになってしまいました。
いろいろ検索して次の解決策にたどり着きました。
http://kb.mozillazine.org/Updates_reported_when_running_newest_version
Method 1: Delete active-update.xml, updates.xml and the "updates" folder from both of these locations:
- The Firefox installation directory, for example, C:\Program Files\Mozilla Firefox [1].
- (Firefox 2.0.0.2 and later) The corresponding Firefox directory where local application data and settings are stored, depending on your operating system [2]; for example, in Windows XP, C:\Documents and Settings\
\Local Settings\Application Data\Mozilla\Firefox\Mozilla Firefox [3].
上記に従い、ファイルを削除したら、起動時のエラーダイアログは表示されなくなりました。
Saturday, June 02, 2007
デフォルトブラウザをFirefoxに
備忘録です。
僕はPCではいつも制限ユーザで作業しています。
これは不用意にPCの設定を更新しないためです。
ブラウザはFirefoxを愛用しているのですが、
HTMLファイルに対応するプログラムが
Internet Explorerから変更できないでいました。
先日、ハードディスク60GBの未使用率が15%を切ったため、
PCをリカバリしました。
で、Firefoxはもちろん、必要なソフト類をインストールした後に、
作業用の制限ユーザを追加しました。
すると、制限ユーザでもHTMLファイルに対応するプログラムがFirefoxに変更できるようになりました。
覚えたことは、
「Windows XPを使うときには、ユーザを追加する前に必要なソフトをインストールしておくこと」
です。
でも、それってなんだかなぁって感じがします。
僕はPCではいつも制限ユーザで作業しています。
これは不用意にPCの設定を更新しないためです。
ブラウザはFirefoxを愛用しているのですが、
HTMLファイルに対応するプログラムが
Internet Explorerから変更できないでいました。
先日、ハードディスク60GBの未使用率が15%を切ったため、
PCをリカバリしました。
で、Firefoxはもちろん、必要なソフト類をインストールした後に、
作業用の制限ユーザを追加しました。
すると、制限ユーザでもHTMLファイルに対応するプログラムがFirefoxに変更できるようになりました。
覚えたことは、
「Windows XPを使うときには、ユーザを追加する前に必要なソフトをインストールしておくこと」
です。
でも、それってなんだかなぁって感じがします。
Saturday, May 12, 2007
springframework勉強会 第3回 5/11「ワークショップで共有しましょう」
http://springframework.jp/index.php?%CA%D9%B6%AF%B2%F1
参加者の皆様ご苦労様でした。
長谷川さん、スタッフの方々、楽しい時間をありがとうございました。
ワークショップにより参加者の共有する問題の最適解を見つけていく作業は楽しい。
以下は自分のためのメモ。
1.問題点の提起
・知らない人にどうやって教える?
・MyEclipse気になるね
・iBATIS最強(?)
・AutoWire最強(?)
2.AutoWireに関する議論
・AutoWire最強!ワイルドカードでBeanをごっそり取ってくる。
・Bean定義の分割方法大事だね。共通は個別に、業務はワイルドカードでごっそり。すっきり!
・ただし、共通のテンプレートクラスにセッターがある場合は効かない。
・layz_initを使うとシングルトンのオブジェクトを起動時に生成しない。
(アプリケーションサーバーの起動が早いよ)
・iBATISは学習コストが低い。Hibernateは覚えるまでが緩やかな双曲線。(しかも下がることもある)
3.ほか
GWT(Google Web Toolkit)はAjaxのウェブアプリケーション作成フレームワーク
AOPで例外処理のハンドリング
4.成果
・インターフェースを使ったパターン抽出
・AutoWireを使用した場合の定義ァイル分割パターン抽出
(詳細はユーザ会Wikiで・・・)
5.飲み会
・Lisp最強!とんがった人はどこかでLispに触れている。
・JavaOneは、かにパーティと化しているらしい。
・JRubyはやりすぎだろ?スクリプト言語はなぁ・・・
・JavaがC++に近づいている。C++にガベージコレクション機能をつけたほうが早いのでは?
・BinaryHack最高!
・Springにより、Javaのプログラミングを知る人が少なくなっている。(なぜ、ニューしなくて動くんですか?)
・人口低下に伴いプログラマも少なくなる。
・将来、プログラミングの仕事はオフショアにほとんどもってかれている。
・でもフレームワーク部分は日本人で押さえたいよね。
参加者の皆様ご苦労様でした。
長谷川さん、スタッフの方々、楽しい時間をありがとうございました。
ワークショップにより参加者の共有する問題の最適解を見つけていく作業は楽しい。
以下は自分のためのメモ。
1.問題点の提起
・知らない人にどうやって教える?
・MyEclipse気になるね
・iBATIS最強(?)
・AutoWire最強(?)
2.AutoWireに関する議論
・AutoWire最強!ワイルドカードでBeanをごっそり取ってくる。
・Bean定義の分割方法大事だね。共通は個別に、業務はワイルドカードでごっそり。すっきり!
・ただし、共通のテンプレートクラスにセッターがある場合は効かない。
・layz_initを使うとシングルトンのオブジェクトを起動時に生成しない。
(アプリケーションサーバーの起動が早いよ)
・iBATISは学習コストが低い。Hibernateは覚えるまでが緩やかな双曲線。(しかも下がることもある)
3.ほか
GWT(Google Web Toolkit)はAjaxのウェブアプリケーション作成フレームワーク
AOPで例外処理のハンドリング
4.成果
・インターフェースを使ったパターン抽出
・AutoWireを使用した場合の定義ァイル分割パターン抽出
(詳細はユーザ会Wikiで・・・)
5.飲み会
・Lisp最強!とんがった人はどこかでLispに触れている。
・JavaOneは、かにパーティと化しているらしい。
・JRubyはやりすぎだろ?スクリプト言語はなぁ・・・
・JavaがC++に近づいている。C++にガベージコレクション機能をつけたほうが早いのでは?
・BinaryHack最高!
・Springにより、Javaのプログラミングを知る人が少なくなっている。(なぜ、ニューしなくて動くんですか?)
・人口低下に伴いプログラマも少なくなる。
・将来、プログラミングの仕事はオフショアにほとんどもってかれている。
・でもフレームワーク部分は日本人で押さえたいよね。
Sunday, May 06, 2007
springframeworkとlog4j
簡単ですがlog4jライブラリによるログのとり方の覚書
1.log4jライブラリをWEB-INF/lib/に入れる。
2.アプリケーションのweb.xmlに次のように記述する。
3./WEB-INF/log4j.propertiesに記述する。(下記はjpetstoreにspringframeworkのログを追加したもの)
こんな感じです。
以下は失敗談
Eclipseのコンソールには次のようなメッセージが出力されていた。
一行目に気をとられ、二行目に気がつかなかった。
二行目はlog4jライブラリが入っていないか、あるいはCLASSPATHに通っていない場合に出力されるメッセージ。
1.log4jライブラリをWEB-INF/lib/に入れる。
2.アプリケーションのweb.xmlに次のように記述する。
log4jConfigLocation
/WEB-INF/log4j.properties
org.springframework.web.util.Log4jConfigListener
3./WEB-INF/log4j.propertiesに記述する。(下記はjpetstoreにspringframeworkのログを追加したもの)
# For JBoss: Avoid to setup Log4J outside $JBOSS_HOME/server/default/deploy/log4j.xml!
# For all other servers: Comment out the Log4J listener in web.xml to activate Log4J.
log4j.rootLogger=INFO, stdout, logfile
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
log4j.appender.logfile=org.apache.log4j.RollingFileAppender
log4j.appender.logfile.File=${petstore.root}/WEB-INF/petstore.log
log4j.appender.logfile.MaxFileSize=512KB
# Keep three backup files.
log4j.appender.logfile.MaxBackupIndex=3
# Pattern to output: date priority [category] - message
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n
log4j.logger.org.springframework=INFO
こんな感じです。
以下は失敗談
Eclipseのコンソールには次のようなメッセージが出力されていた。
一行目に気をとられ、二行目に気がつかなかった。
致命的: クラス org.springframework.web.util.Log4jConfigListener のリスナインスタンスにコンテキスト初期化イベントを送信中の例外です
java.lang.NoClassDefFoundError: org/apache/log4j/PropertyConfigurator
二行目はlog4jライブラリが入っていないか、あるいはCLASSPATHに通っていない場合に出力されるメッセージ。
Saturday, May 05, 2007
springmodules
springframeworkを使ったWebアプリケーションの
キャッシュ機能について調査してみた。
というのも、自分で作るほど技術力ないし、作ったとしてもメンテナンスコストが高くつく。
どうやら、springmodulesを使って、
キャッシュプロバイダOSCache、EHCacheなどと組み合わせると
幸せになれそうだ。試してないけど。
http://dev2dev.bea.com/pub/a/2006/05/declarative-caching.html
http://www.gigaspaces.com/JForum/posts/list/139.page
しかしspringmodulesについての記述が少ないのには驚いた。
実績がないのだろうか。
https://springmodules.dev.java.net/
キャッシュ機能について調査してみた。
というのも、自分で作るほど技術力ないし、作ったとしてもメンテナンスコストが高くつく。
どうやら、springmodulesを使って、
キャッシュプロバイダOSCache、EHCacheなどと組み合わせると
幸せになれそうだ。試してないけど。
http://dev2dev.bea.com/pub/a/2006/05/declarative-caching.html
http://www.gigaspaces.com/JForum/posts/list/139.page
しかしspringmodulesについての記述が少ないのには驚いた。
実績がないのだろうか。
https://springmodules.dev.java.net/
Friday, May 04, 2007
Acme::Louのインストールができない
やりたいのは、ローカルな環境でも「ルー変換」ができるようすること。
つまづいているのは、Acme::Lou-0.03のインストールでのmake testに失敗。
ログを見ると、lou変換かけても「美しい国、日本」が「美しい国、日本」のままのようだ。
メモリ上に展開したルー語辞書のハッシュからルー語が取得できていないようだ。
引き続き作業・・・
つぎのタスクは作業終了済み
・MeCabインストール(0.95)
・MeCab辞書インストール(0.95)
・Text::MeCabインストール(0.16)
つまづいているのは、Acme::Lou-0.03のインストールでのmake testに失敗。
ログを見ると、lou変換かけても「美しい国、日本」が「美しい国、日本」のままのようだ。
メモリ上に展開したルー語辞書のハッシュからルー語が取得できていないようだ。
引き続き作業・・・
つぎのタスクは作業終了済み
・MeCabインストール(0.95)
・MeCab辞書インストール(0.95)
・Text::MeCabインストール(0.16)
日本の祝日
今日は国民の休日みどりの日だそうだ。
wikipediaによれば
http://ja.wikipedia.org/wiki/%E3%81%BF%E3%81%A9%E3%82%8A%E3%81%AE%E6%97%A5
「自然にしたしむとともにその恩恵に感謝し、豊かな心をはぐくむ」ことを趣旨としている。
自分がはじめて覚えた祝祭日は次のとおり。ずいぶん変わったものだ。
今では日にちにはあまり意味がないらしい。
1/1元旦
1/15成人の日
2/11建国記念日
3/22-24春分の日
4/29昭和天皇誕生日
5/3憲法制定日
5/5こどもの日
9/15敬老の日
9/22-24秋分の日
10/10体育の日
11/3文化の日
11/23勤労感謝の日
wikipediaによれば
http://ja.wikipedia.org/wiki/%E3%81%BF%E3%81%A9%E3%82%8A%E3%81%AE%E6%97%A5
「自然にしたしむとともにその恩恵に感謝し、豊かな心をはぐくむ」ことを趣旨としている。
自分がはじめて覚えた祝祭日は次のとおり。ずいぶん変わったものだ。
今では日にちにはあまり意味がないらしい。
1/1元旦
1/15成人の日
2/11建国記念日
3/22-24春分の日
4/29昭和天皇誕生日
5/3憲法制定日
5/5こどもの日
9/15敬老の日
9/22-24秋分の日
10/10体育の日
11/3文化の日
11/23勤労感謝の日
Monday, April 30, 2007
自分のノートPCで流行のルー語変換を試そうとした。
http://e8y.net/repos/mecab-htmltagcloud/trunk/index.cgi
http://e8y.net/repos/lou_trans/lou.cgi
colinuxのファイルシステムの使用量を確認したところ、
90%をオーバーしていることに気がついた。
ファイルシステムをusr,var,rootに分割し、再度立ち上げたら夕方六時。
なんだかなぁ。
tarの実行時にpadding size zerosとかメッセージが出たので調べてみたけど、
あまり同様の事象はあげられていなかった。
tar でファイルコピーする際、/sysはコピーしなくてもいいようだ。
(確証なし・・・)
debian 4.0では出なかったんだよな。
http://e8y.net/repos/mecab-htmltagcloud/trunk/index.cgi
http://e8y.net/repos/lou_trans/lou.cgi
colinuxのファイルシステムの使用量を確認したところ、
90%をオーバーしていることに気がついた。
ファイルシステムをusr,var,rootに分割し、再度立ち上げたら夕方六時。
なんだかなぁ。
tarの実行時にpadding size zerosとかメッセージが出たので調べてみたけど、
あまり同様の事象はあげられていなかった。
tar でファイルコピーする際、/sysはコピーしなくてもいいようだ。
(確証なし・・・)
debian 4.0では出なかったんだよな。
Sunday, April 15, 2007
Seleniumの実行結果を取得する
Results URLのテキストボックスに次のスクリプト名を指定する。
#!C:/Perl/bin/perl.exe
# postResults.cgi
use strict;
use warnings;
use CGI qw/:standard/;
my $date = localtime;
print header(), start_html(), h1("Selenium results");
print h2("Environment infomation");
foreach my $p (sort keys %ENV) {
print div("$p: $ENV{$p}");
}
print h2("Selenium information");
foreach my $p (param()) {
print h3($p), param($p), "\n" unless ($p =~ /^testTable/);
}
print h2("Test Cases");
foreach my $p (param()) {
print h3($p), param($p), "\n" if ($p =~ /^testTable/);
}
print end_html();
#!C:/Perl/bin/perl.exe
# postResults.cgi
use strict;
use warnings;
use CGI qw/:standard/;
my $date = localtime;
print header(), start_html(), h1("Selenium results");
print h2("Environment infomation");
foreach my $p (sort keys %ENV) {
print div("$p: $ENV{$p}");
}
print h2("Selenium information");
foreach my $p (param()) {
print h3($p), param($p), "\n" unless ($p =~ /^testTable/);
}
print h2("Test Cases");
foreach my $p (param()) {
print h3($p), param($p), "\n" if ($p =~ /^testTable/);
}
print end_html();
Saturday, April 07, 2007
Friday, April 06, 2007
YAPC::Asia 2007 Day2
仕事休んでいったかいあった。
いろいろ刺激を受けました。
DBIx::Classとか、LiveJournalのスケールの話とか、MJDのリファクタリングの話とか。
うー、おなかいっぱい。
消化できるか心配だ。
普通
・普通->最大公約数or最小公倍数?
・perl6は文字列もオブジェクト->Rubyのまね
DBIx::Class
・SQL::Abstract
・Data::pagaer(?),DBIx::Pager(?)
・DBIx::Class::Relataionalship
Asynapse
・REST
・Jiftyのプラグイン
・JavaScriptでファイルの読み書き?
・XUL(ゾールと発音)
・YUI
・my ($a, $b) = (my $c = func(x,y,z));
Pattern in perl
・singleton why use a singleton?
・Class::Singletons
・it is global
・for stateless
・File::Locker
・Is facade design pattern?
・memento
・iterator
・decorator
・Class::Trait
・C/Java クラスを生成することによってPerlの動的な部分を補っている
・CPANの利用によりサポートされる機能
LiveJournalのスケーラビリティ
http://www.danga.com/words/
memcached
perlbal
1->100
RAID->全部書き込みはもったいない、冗長
特効薬はないがやり方はたくさんある
Apacheが生きているか?->OPTIONリクエストを投げて確認
big-ip->mod_proxy->mod_perl->global db->user db
MogileFS->oMgFileS
ジョブ管理?
Gearman::Worker
Gearman::Client
ただし、No Guarantee
TheSchwarz for mail distribute millions of emails per day
djabberd
->デバッグ方法(イベント系のものはデバッグしにくいよね。ケースバイケース)
DBIx::Class
モバイルファクトリーの方
DBIC::from Sledge
_on、_at->日付系のカラム名
http://code.mobfactory.jp/ (?)
Class::C3
Pushmi
いろいろ刺激を受けました。
DBIx::Classとか、LiveJournalのスケールの話とか、MJDのリファクタリングの話とか。
うー、おなかいっぱい。
消化できるか心配だ。
普通
・普通->最大公約数or最小公倍数?
・perl6は文字列もオブジェクト->Rubyのまね
DBIx::Class
・SQL::Abstract
・Data::pagaer(?),DBIx::Pager(?)
・DBIx::Class::Relataionalship
Asynapse
・REST
・Jiftyのプラグイン
・JavaScriptでファイルの読み書き?
・XUL(ゾールと発音)
・YUI
・my ($a, $b) = (my $c = func(x,y,z));
Pattern in perl
・singleton why use a singleton?
・Class::Singletons
・it is global
・for stateless
・File::Locker
・Is facade design pattern?
・memento
・iterator
・decorator
・Class::Trait
・C/Java クラスを生成することによってPerlの動的な部分を補っている
・CPANの利用によりサポートされる機能
LiveJournalのスケーラビリティ
http://www.danga.com/words/
memcached
perlbal
1->100
RAID->全部書き込みはもったいない、冗長
特効薬はないがやり方はたくさんある
Apacheが生きているか?->OPTIONリクエストを投げて確認
big-ip->mod_proxy->mod_perl->global db->user db
MogileFS->oMgFileS
ジョブ管理?
Gearman::Worker
Gearman::Client
ただし、No Guarantee
TheSchwarz for mail distribute millions of emails per day
djabberd
->デバッグ方法(イベント系のものはデバッグしにくいよね。ケースバイケース)
DBIx::Class
モバイルファクトリーの方
DBIC::from Sledge
_on、_at->日付系のカラム名
http://code.mobfactory.jp/ (?)
Class::C3
Pushmi
Wednesday, April 04, 2007
YAPC::Asia 2007
楽しいカンファレンスでした。
Perl worst placticesが印象的でした。
以下メモ(なんかみんな書いてるっぽいので)
・ソースの再利用->二回目以降の開発に役立つ
・依存性の排除(使いたいモジュールより依存性の解消が手間)
・仮想化Virtualization リソースの最適化
・現行:パッケージの配布->将来:環境の配布
・web service->perl service(plagger as a service)
・EC2 CGレンダリングとか
・フレーバー DBは?ストレージが仮想
VOX
・catalyst + JSON-RPC
・sixapart javascript library
・large scale case of LiveJournal by Brad
・Data::Object(cached,partionary)
・TheSchewartz
・Perlbal
・http://code.sixapart.com/
・1st, user->global DB and 2nd, user->user db(DB1/DB2/DB3)
Perl worst placticesが印象的でした。
以下メモ(なんかみんな書いてるっぽいので)
・ソースの再利用->二回目以降の開発に役立つ
・依存性の排除(使いたいモジュールより依存性の解消が手間)
・仮想化Virtualization リソースの最適化
・現行:パッケージの配布->将来:環境の配布
・web service->perl service(plagger as a service)
・EC2 CGレンダリングとか
・フレーバー DBは?ストレージが仮想
VOX
・catalyst + JSON-RPC
・sixapart javascript library
・large scale case of LiveJournal by Brad
・Data::Object(cached,partionary)
・TheSchewartz
・Perlbal
・http://code.sixapart.com/
・1st, user->global DB and 2nd, user->user db(DB1/DB2/DB3)
Sunday, March 18, 2007
Sunday, February 25, 2007
Saturday, February 10, 2007
Blogging: daily blog posting by feedburner
http://semanticvoid.com/blog/2005/11/27/post-delicious-links-to-blogger-now/
によればfeedburnerによりdel.icio.usの内容をBloggerにポストできるそうだ。早速設定してみた。どうなることやら。
によればfeedburnerによりdel.icio.usの内容をBloggerにポストできるそうだ。早速設定してみた。どうなることやら。
Saturday, November 04, 2006
Sageとdel.icio.us
Firefox使っています。
アドオンにSageを使っていました。
Yahoo提供のdel.icio.usアドオンを入れたところ
Sageの上部ペインが真っ白になってしまいました。
相性がよくないようです。
アドオンにSageを使っていました。
Yahoo提供のdel.icio.usアドオンを入れたところ
Sageの上部ペインが真っ白になってしまいました。
相性がよくないようです。
Sunday, October 22, 2006
丹下段平設計事務所: YouTubeはユーザーのセキュリティを考えるべき
丹下段平設計事務所: YouTubeはユーザーのセキュリティを考えるべき: "著作権侵害のビデオを見ようとする奴がいけないんだと言う向きも多数いるだろうが、それ以前に上場企業が悪事の片棒を担いでいることの方が問題だろうし、簡単に著作権侵害のビデオ投稿できる仕組みも問題だ。"
痛い人だ。自衛してないのか?
痛い人だ。自衛してないのか?
F's Garage:高学歴の人と付き合っていく方法
F's Garage:高学歴の人と付き合っていく方法: "何故なら、それが正しいか否かというのは、クチのうまさ、頭のよさでカバーできてしまうから、だそうです。"
口下手な俺はいつも間違ったことを言っていることになる。
口下手な俺はいつも間違ったことを言っていることになる。
Saturday, October 21, 2006
On Off and Beyond: いつもながらアメリカのいい加減なハナシ2
On Off and Beyond: いつもながらアメリカのいい加減なハナシ2: "どうしても強引に採用面接に行きたかったら、友達の男に代わりに電話してもらえばよかったんだ。。。ま、別にいまさらどうでもよいことであるが、もしかしたら、この「性別謀り」、将来何か役に立つことがあるかもしれない。裏技として心にしまって置きたいと思います。"
ほほー。そういうのもありなのか。
ほほー。そういうのもありなのか。
指定されたデバイス、パス、またはファイルにアクセスできません。アクセス許可がない可能性があります。
指定されたデバイス、パス、またはファイルにアクセスできません。アクセス許可がない可能性があります。
このようなメッセージが出たら
http://blog.livedoor.jp/saitotetsuya/archives/20535835.html
に従い、エキスプローラーのセキュリティタブを表示させ、
適切な権限を付与させる。
Unixでいうところのchmodってやつ。
これによりObjectDock Plusを制限つきユーザで実行できなかった事象を回避した。
しかし、丸二日かかったぞ・・・
なにやってんだ、おれ。
このようなメッセージが出たら
http://blog.livedoor.jp/saitotetsuya/archives/20535835.html
に従い、エキスプローラーのセキュリティタブを表示させ、
適切な権限を付与させる。
Unixでいうところのchmodってやつ。
これによりObjectDock Plusを制限つきユーザで実行できなかった事象を回避した。
しかし、丸二日かかったぞ・・・
なにやってんだ、おれ。
Saturday, October 07, 2006
真髄を語る 経営者がITを理解できない本当の理由
真髄を語る 経営者がITを理解できない本当の理由: "ITの責任はITベンダーが負う
経営者のIT理解を妨げ、CIOを忙殺する、システム開発の不確実性の原因は何でしょうか。冒頭に書きましたように、我々ユーザー企業とITベンダーの仕事における責任分担が現状では非常に曖昧だという点に問題があると考えます。"
ただの責任逃れにしか聞こえない。
システム運営のリスク管理についての認識が無いことを露呈しているのではないだろうか?
経営者のIT理解を妨げ、CIOを忙殺する、システム開発の不確実性の原因は何でしょうか。冒頭に書きましたように、我々ユーザー企業とITベンダーの仕事における責任分担が現状では非常に曖昧だという点に問題があると考えます。"
ただの責任逃れにしか聞こえない。
システム運営のリスク管理についての認識が無いことを露呈しているのではないだろうか?
Friday, September 29, 2006
Thursday, September 21, 2006
マドンナのコンサートに行ってきました!
マドンナのコンサートに行ってきました。
開演が一時間も押していました。
芸能人も何人かみかけました。
叶美香
菅野美穂
安室奈美恵
ほかにもいたかもしれません。
肝心のコンサートの内容ですが、もうびっくりの連続。
MaterialからFiscalへ。
しなやかな身体に魅了されました。
47歳だっけ?マドンナすごい!今後が目が離せないかも。
開演が一時間も押していました。
芸能人も何人かみかけました。
叶美香
菅野美穂
安室奈美恵
ほかにもいたかもしれません。
肝心のコンサートの内容ですが、もうびっくりの連続。
MaterialからFiscalへ。
しなやかな身体に魅了されました。
47歳だっけ?マドンナすごい!今後が目が離せないかも。
Monday, September 18, 2006
Wednesday, August 16, 2006
なぜMoavble Typeはtaintモードじゃないのか
たとえばオライリーのCGI本によれば汚染(チェック)モードでの実行が推奨されている。
にもかかわらず、Movable Typeは汚染モードでの実行はしていない。
なぜだ?
にもかかわらず、Movable Typeは汚染モードでの実行はしていない。
なぜだ?
Wednesday, August 02, 2006
Saturday, July 29, 2006
Sunday, September 25, 2005
Tuesday, September 13, 2005
携帯電話
SH901iSを買うつもりがなぜかSO506iC。
留守番電話などの各種契約とポイントで出費は0円。
現行はSO505iなので充電器の購入は不要。
各種契約は明日にでもDoCoMoショップへ行って解約してくる。
ついでに契約プランを見直してこよう。
一番安いのにしてこようかな。
どうせかけないし、かかってこないし。
留守番電話などの各種契約とポイントで出費は0円。
現行はSO505iなので充電器の購入は不要。
各種契約は明日にでもDoCoMoショップへ行って解約してくる。
ついでに契約プランを見直してこよう。
一番安いのにしてこようかな。
どうせかけないし、かかってこないし。
Monday, September 12, 2005
Friday, August 19, 2005
mobile Blogger失敗
mobile bloggerを試みたところ、次のようなメッセージを受信した。
Blogger post failed
Your mobile provider (senda.docomo-camera.ne.jp) is not yet supported.
残念
Blogger post failed
Your mobile provider (senda.docomo-camera.ne.jp) is not yet supported.
残念
Tuesday, August 16, 2005
coLinux再び
coLinux起動中に30分ほど離籍した。席に戻るとWindowsのスクリーンセーバーが動いていた。そのバックでディスクにガリガリガリと書き込む音が。coLinuxのプロセスらしい。coLinuxを落とそうにも落とせない状態でしばらくいるところ。どうすりゃいいのよ。
Sunday, August 14, 2005
FireFoxのブラウズキャッシュにやられた!
何度設定を変えても、CGIスクリプトをダウンロードしようとする現象に困っていた。IEとの動作が異なったため、何が違うかを考えたところ思い当たったのはブラウザのキャッシュ機能の違い。ブラウザのキャッシュをクリアにしたところCGIスクリプトが起動するようになった。めでたしめでたし。CGIスクリプトの問題については配布元のサイトへ事象を報告しておいた。どうせ英語できませんよ。
Saturday, August 13, 2005
coLinuxネットワーク
昨日まではネットワークがつながらない状況が発生していたが、
$ apt-get update; apt-get upgrade
をしたところ、たくさんのパッケージが更新された。ネットワークにもつながるようになったらしい・・・。とりあえずよしとするか?
$ apt-get update; apt-get upgrade
をしたところ、たくさんのパッケージが更新された。ネットワークにもつながるようになったらしい・・・。とりあえずよしとするか?
Thursday, August 11, 2005
Tuesday, August 09, 2005
del.icio.usの使い方
del.icio.usに追加してから読むか、読んでからdel.icio.usに追加するか、悩むところ。これは言い換えれば自分がウェブサーフィンのスタイルを確立していないということだろう。たとえば伊藤直也さんはdel.icio.usでmiyagawaさんのウェブサーフィンを追っかけてクリップしている。自分がそれをはじめるときりがないのが正直なところ。
inboxからユーザを削除したのだが、エントリだけが残ってしまう状態に。できればクリーンにならないものか?
bundlesという機能がよくわからない。
inboxからユーザを削除したのだが、エントリだけが残ってしまう状態に。できればクリーンにならないものか?
bundlesという機能がよくわからない。
Saturday, August 06, 2005
XML::Simple
駄目だ、使い方忘れている。
じゃ駄目だったっけ?
こうだ!(8/6追記)
#!/usr/bin/perl -w
use strict;
use XML::Simple;
use Data::Dumper;
my $xml_ref = XML::Simple::XMLin("index.xml");
Data::Dumper::Dump($xml_ref);
じゃ駄目だったっけ?
#!/usr/bin/perl -w
use strict;
use XML::Simple;
use Data::Dumper;
my $simple = XML::Simple->new();
my $xml_ref = $simple->XMLin("index.xml");
print Dumper($xml_ref);
こうだ!(8/6追記)
Friday, August 05, 2005
Thursday, August 04, 2005
Subscribe to:
Posts (Atom)
# スクラムマスターを雇う時に聞いてみるとよい47個の質問
# スクラムマスターを雇う時に聞いてみるとよい47個の質問 スクラムマスターへの質問というPDFがあるので、回答してみた。 定期的に自分の回答がどう変わっていくのか楽しみだ。 Scrum Master Interview Questions: Free Download of...
-
指定されたデバイス、パス、またはファイルにアクセスできません。アクセス許可がない可能性があります。 このようなメッセージが出たら http://blog.livedoor.jp/saitotetsuya/archives/20535835.html に従い、エキスプローラーのセキ...
-
# スクラムマスターを雇う時に聞いてみるとよい47個の質問 スクラムマスターへの質問というPDFがあるので、回答してみた。 定期的に自分の回答がどう変わっていくのか楽しみだ。 Scrum Master Interview Questions: Free Download of...
-
実家のLANに接続したら、colinuxが使えなくなった。 /etc/resolv.confの設定がアップデートした際に戻っていたようだ。 coLinuxを入れてみる (Clouder::Blogger) 次に /etc/resolv.conf を下記のように編集します。 nam...