Sunday, May 03, 2009

jsugのrss

なぜなのかはわからないのですが、JSUGのRSSを
GoogleReaderで読もうとすると、
2008年7月22日以降のエントリが表示されない。
Rodさんとの飲み会の話とか見落としていました。

これからはこまめに見るようにします。

Japan Spring Framework User Group | Google グループ


Saturday, April 11, 2009

QCon Tokyo 2009 雑感

QCon Tokyo 2009を通じでの雑感など。

まつもとさんの講演で考えさせられたのは、
システム作りはどういうものなのかということです。
僕が考えるシステム作りは家作りに近い。
設計図(コード)だけではその良し悪しは判断できず、
住んで(使って)みて初めてわかるということ。
たとえば、3人で住む家を作るのに、
マンションを建てるような設計や技法は不要ですが、
3世代住宅を建てる際には、バリアフリーは必要です。
アパートを建てるのに宮大工は不要です。
住み続けるためにはメンテナンスが必要です。
人が住まなくなった家は(使わなくなったシステムは)すぐに駄目になります。
建築物に例えると、第三者が使うとか、保守が必要という観点が抜けてます。
そういう意味では、家作りのほうがしっくりくると思います。

来年への期待
スタッフの方々お疲れ様でした。
また来年も開催されることを期待します。
来年はまた違う技術が台頭していることでしょう。

Friday, April 10, 2009

QCon Tokyo 2009 おまけ Nabeatsu


こう書いてみた

package sample;
import java.util.regex.Pattern;
public class Nabeatsu {
    private String number;
    private int ahoNumber;
    public Nabeatsu(String number) {
        this.number = number;
        this.ahoNumber = 3;
    }

    public Nabeatsu(String number, String ahoNumber) {
        this.number = number;
        this.ahoNumber = Integer.parseInt(ahoNumber);
    }

    public String play() {
        StringBuffer buf = new StringBuffer();
        for (int i = 1; i < Integer.parseInt(this.number) + 1; i++) {
            buf.append(guess(i) == true ? "AHO" : (new Integer(i).toString()));
            buf.append(" ");
        }
        return buf.toString();
    }

    private boolean guess(int number) {
        if (0 == number % this.ahoNumber) {
            return true;
        }
        return Pattern.compile(
                ".*" + (new Integer(this.ahoNumber).toString()) + ".*")
                .matcher(new Integer(number).toString()).matches();
    }

    /**
     * @param args
     */
    public static void main(String[] args) {
        Nabeatsu nabeatsu = new Nabeatsu(args[0]);
        System.out.println(nabeatsu.play());
    }

}

QCon Tokyo 2009 Day2 Spring in a changing world - Rod Johnson

A changing world

業界の変化
IBMのSun Microsystems買収の噂
OracleのBEA Systems買収

大事なのは技術の変化
従来のJ2EEの失敗
簡潔な解決策の要求->Agile
世界的不況

フォレスタリサーチによれば"Lean Software"の必要といわれている。

Lean Softwareとは
シンプル
無駄を省こうという考え方
開発者が必要としている(牽引している)

開発者の力が強くなってきた
開発者は使用するオープンソースの選択だけでなく開発に参加するようになった。
オープンソースがJ2EEの問題点を指摘し解決してきた
経営者の開発者への依存度が高くなってきている


シリコンバレーはもはやRULEではない。
シリコンバレーで金融アプリケーションを作っている人はいない。

old leader IBM, BEA
today's leader Spring, tomcat


IBMのSun Microsystems買収では何も解決しない
Java EE 6は失敗に終わるだろう


What is Spring
POJOプログラミングを可能にするフレームワーク
どうやって=>DIやAOPおよびPortable Service Abstractionを提供する。


What next
SpringはEJBの複雑さを軽減させている
ほかにも有効な解決策がある。Zend, Ruby on Rails, Django

Javaの生産性をあげる全体像を誰も考えていない。
統合された全体像が必要
オイルショック時のAMの車グレムリンにならないように

Javaはオープンソースとして一企業に引っ張られたくはありません。


Springの動向

Build, Run, Manageの3点から統合ビジョンを提供する

Buildの内容
Rails, Grails, Groovy

Manageの内容
tcServer(based on tomcat), dmServer(modulable application server)

年末にはクラウドコンピューティングに対するSpringのアプローチの発表がある。
来月Spring Euroで何らかの発表がある。

http://www.springframework.org/
http://www.springsource.com/


QCon Tokyo 2009 Day2

http://qcontokyo.com/tokyo-2009/

Rod Johnsonがお目当て。
丸山先生の話は興味深い。資料は手に入らないものか。

QCon Tokyo Day 2 Opening
長尾達也(コンポーネントスクエア)
Floyd Marinescu(C4Media)
ホスト:河村嘉之、平鍋健児、中台高宏

General Session 1
クラウドの技術的な特徴について
講演者:丸山不二夫

General Sessin 2
Spring Today and Tomorrow
講演者:Rod Johnson

クラウドをプログラミング - プラットフォームとしてのインターネット
講演者:Gregor Hohpe
Author of Enterprise Integration Patterns

大規模ウェブサイトのベストプラクティス -eBayでの事例-
講演者:Randy Shoup
eBay Architect

ザ・パワーシフト ~ サード・リアリティ
講演者:森正弥
楽天技術研究所 所長

パネル・ディスカッション「エンタープライズ・ソフトウエア開発の動向」
モデレータ:Floyd Marinescu
Author of EJB Design Patterns, InfoQ and QCon Co-founder
パネリスト:QCon Tokyo 講演者


QCon Tokyo 2009 Day1 現場のITアーキテクトが知っておくべき10のこと - あるいは、技術が分かるPMが知っておくべき10のこと 鈴木雄介

自分用のメモです

http://www.slideshare.net/yusuke/10-things-it-architect-should-know?type=presentation


1.ITアーキテクトとは
何故必要か
要件と技術が複雑になっている
この状況を整理する人が必要

でも開発リーダでは無い
利害関係者のバランスを取る
作ることのリスクが高い

立ち位置が微妙
作る人でも使う人でもない
考えたことが誰にも理解されない
自分の立ち位置を自分で見つける
好みという信念が大事
こういうのは難しいけれど楽しいことでもある

IBMの認定試験がある
アーキテクトがアーキテクトを選ぶ

PMとアーキテクト
Good managers do the things right.
Good leadership does the right things.
マネージャとは複雑さに対応する人
リーダーシップとは変革を起こす人

PMはお母さん的、ITアーキテクトはお父さん的
どちらも大事、どちらも必要



2.アーキテクチャとは
定義がいろいろ

内圧(作ること)と外圧(使うこと)のバランスを360度でとった結果
きれいな円になっているか
要因にチーム構成、スケジュールも含んでいい
作れないアーキテクチャに意味は無い
圧力を発見する力が必要

デザインの輪郭
デザインの輪郭
posted with amazlet at 09.04.10
深澤 直人
TOTO出版
売り上げランキング: 16571
おすすめ度の平均: 4.5
4 じわり、じわりと
5 夜寝る前に、ふと手に取りたくなる本
4 何度も読むと良くなってくる
5 じわじわと感じてくる本
5 生きることを大切に、そして丁寧に。


QCon Tokyo 2009 Day1 General Session 2 ビューティフルコード まつもとゆきひろ

自分のためのメモ書きです。

おそらくオープンソースカンファレンス2009での内容とたぶんにかぶっているのかも。
http://d.hatena.ne.jp/LukeSilvia/20090207/p1

コードは工業製品では無い
コードは設計である

車でいえばデザイン
触ってわかるものがないと良し悪しの判断ができない
ソフトウェアにも名作、駄作がある

コードは実用品である

実用に供してナンボ
「用の美」 目的に合致しつつ美しいこと

コードは読み物である
コードは人を感動させる

どういうときに感動するか
パワー できないものをできるようにする
効率 アルゴリズム
O記法 データ量に応じた計算量

O(1)
O(n)
O(n * log(n))
O(n ^ 2)

Rubyにもあった。吉田さんのパッチによりRubyは文字コード非依存
perl, pythonは内部でunicodeで保持している。
rubyはM17N。

ブルックスの法則(人月の神話)
「遅れているプロジェクトに人を投入すると、そのプロジェクトはもっと遅れる」


簡潔さは力なり
"succintness is power" by Paul Graham

まつもとさんは言語オタク
そのまつもとさんの考察
「言語はより抽象的に記述する方向に進化している」
ブルックスの生産性不変の法則
本質に集中
実行可能擬似言語(アルゴリズム説明のサンプル記法)



冗長の排除
DRY
コピーして作るとバグもコピーされる



class User < ActiveRecord::Base
end
動的にエンティティを定義

手抜きは美しくない
苦労を見せびらかすのは粋じゃない
水鳥のように・・・水面は優雅に、水中は足をバタバタ

シンプルは美しい
シンプルとは何か
現実は複雑だ
人の心も単純じゃない
単純さの罠がある
ソリューションが単純になることがゴール
システムが単純だとヒューマンプロセスが複雑(?)
ヒューマンプロセスが単純だとシステムが複雑(?)
人間にフォーカスして考える
バランスが大事 唯一の正解はない


外面の美
人間がどう感じるか
時代・前提によって変化する

内面の美
コードに内在

コードはアートだ
製品ではなく作品だ
したがってコードを書く人は
歯車ではない 作業員でもない
でも納期があり、顧客がいて、チームで動く

自覚や自発が必要だ

美しいコードとは何か
理解に基づいたコード
人間(内面)
機械(外面)

「理解」が鍵


大きな誤解
ソフトウェア工場という考え方
シンプルは善
アーティストは仕事にならない


まとめ

    * コードは美しい
    * コードはアートだ
    * プログラマはアーティスト

そういう自覚が大事


技術者としての夢
一生楽しく生きたい
楽するために努力する
あと30年から40年ぐらいはプログラムの開発をしていきたいな
一日一回はコードを読んだり書いたりする(プログラマ養成ギブスみたいなもの)

プログラミングの楽しさは変わらない

Enjoy Programming

4/11追加
よくまとめられている記事があったので
「ソフトウェアは工業製品ではない」、Rubyのまつもと氏が講演 - @IT


QCon Tokyo 2009 Day1 General Session 1 ドメイン固有言語 -その役割- Martin Fowler

自分のためのメモ書きです。

スピーカーはMartin Fowlerさん
詳しくはつぎのURLにあるらしいのでそちらを。
http://martinfowler.com/dslwip/
http://martinfowler.com/dslwip/UsingDsls.html


DSLとしてはmake, ant, SQL, HQLがあります。

たとえば日常の動作を表現する。
次に、ステートマシンとして表現する
次に、クラス図に展開します。
次に、コードで表現します。

このコードでの表現の欠点その1
ステートマシンを表現していることがわかりにくい
コードは見て何をしているかわからなければならない 

このコードでの表現の欠点その2
コンパイルが必要になる

コードをXMLで表し欠点その2を解決
DSL(Ruby)で記述し欠点その1を解決

DSLは昔はlexとyaccで作っていた。


DSLの分類
1.External DSL
using lex and yacc
すっきり
UNIXコミュニティ
XMLはExternal DSLです。
Passiveなデータ記述言語

2.Internal DSL
使用ホスト語の制約を受ける
without parser
ex lisp

APIとの違い
Java code->コマンドクエリ型
Fluent APIメソッドのチェーン


DSLとは
定義
a computer programming language of limited expressiveness focused on particular domain

言語であり
コンピュータプログラミング可能
限定された表現(それが強み)
限定された領域


位置づけ
DSL script -- parse --> semantic model -- generate optional --> code

新しい視点・考え方
Lanugage Workbenches

MS DSL Tools
Meta Edit+
xtext(Eclipse plugin)
intentional
MS Oslo
projectional Editing


本は来年の中頃出す予定


Thursday, April 09, 2009

QCon Tokyo 2009 Day1

QCon Tokyo 2009 - Home

聴講した講演は次のとおり

QCon Tokyo Day 1 Opening
長尾達也(コンポーネントスクエア)
Floyd Marinescu(C4Media)
ホスト:細川努、角谷信太郎、中台高宏


General Session 1
ドメイン固有言語 -その役割-
講演者:Martin Fowler(Loud-mouth on Object Design)


General Sessin 2
ビューティフルコード
講演者:まつもと ゆきひろ(Creator of Ruby)


Open Webの進展とその今後
講演者:Dylan Schiemann
Dojo toolkit co-founder and committer


Amazon Web Services in Action
講演者:Jeff Barr
Amazon evangelist


現場のITアーキテクトが知っておくべき10のこと  -  あるいは、技術が分かるPMが知っておくべき10のこと
講演者:鈴木雄介
日本Javaユーザー会幹事


アーキテクトの審美眼
講演者:萩原正義
マイクロソフト株式会社ソフトウェアアーキテクト

WWAN

どうりでVAIOのWWANが使えなくなっていたわけだ。
アップデートプログラムのご案内


Sunday, March 15, 2009

git

最近はgitなんですね。


clmemo@aka: Git 本を注文しちゃった
最近、バージョン管理ソフトの git が楽しくてしょうがない。で、日本語の解説本がないかと探しているんだけど見つからない。
Git Cheat Sheet 日本語版 | textdrop

Friday, February 27, 2009

「なんでもいい」とエンドユーザに言われたら

これはエンドユーザがよく言うなぁ。
彼女とエンドユーザの扱いは一緒かもしれない。

「なんでもいい」とエンドユーザに言われたら
  1. 「なんでもいい」とは「勝手にやっていい」という意味ではないことを肝に銘じる
  2. EJB、ハイスペックはフレームワークは避ける
  3. 付加価値を提供する
  4. アフターサービスを保障する
  5. 困ったときは現行にあわせる



「どこでもいい」と彼女に言われたら

  1. 「どこでもいい」は、どこでもいいという意味ではないことを肝に銘じる。
  2. 揚げ物の店、ボリューム自慢の店は避ける
  3. 付加価値のあるお店を選ぶ
  4. デザートが美味しい店
  5. 困ったときはイタリアン



Thursday, February 26, 2009

文章がわからない

強制による教育のすすめかたが「教師としての職業倫理」に読みとれてしまうので、添削。

同氏は、子供の納得のもとに教育をすすめるという「教師としての職業倫理」が強制によって打ち砕かれているとし、


砕かれた教師の倫理/「日の丸・君が代」強制 精神科医が証言/東京地裁
同氏は、強制によって子どもの納得のもとに教育をすすめるという「教師としての職業倫理」が打ち砕かれているとし、「家族や自分の命を失うのと同じぐらいの喪失」だと説明。

Sunday, February 15, 2009

1234567890 Day

1234567890 Day

こんな楽しそうなイベントがあったなんて知らなかった。

perl -MTime::localtime -e "print ctime(1234567890);"


4/12追記
UNIX time が「1234567890」になる - スラッシュドット・ジャパン
本家タレコミからリンクされているLinux Pro Magazineで紹介されているように、Perl Script「perl -e 'print scalar localtime(1234567890),"\n";' 」で自分の地方時における時間を知ることができる。


Monday, November 24, 2008

Official Pirates Mix

Kyosuke Himuro Official Pirates Mix
2008.09.01
2008.09.02

http://www.himuro.com/opm/

また散財だ。

Sunday, November 02, 2008

Wednesday, October 22, 2008

MA4

Mashup Awards 4 / MA4



大賞を逃しました。
http://k.hizasi.jp

残念。


しかし、いろいろアイデアあるなぁ。
勉強になります。

GoogleMap、モバイル系が主流のような。

Saturday, September 20, 2008

酒たまねぎや

木曜日に同僚と行ってきた。日本酒はやっぱりおいしい。
そんなに日本酒通なわけじゃない。ただおいしいといわれたからいってきただけ。
その場で店の親父からしいれた知識も店を出てしまえば忘れてしまう。親父さんごめんなさい。

同僚ととりとめもなく話しをしてきた。
システム開発にはプログラマ、設計者、ユーザそれぞれの思いやりが大事。
親父ギャグにも思いやりが大事。
くだらないことをおもしろおかしく話ができた。


小野和俊のブログ:「酒たまねぎや」に行ってきました
以前から、神楽坂に都内でトップクラスの日本酒を揃えている「酒たまねぎや」という店があるという噂を聞いていたのだが、今週火曜日に行ってみたところ、日本酒と刺身が想像を絶する美味しさだった上に、「おしゃれでない一杯飲み屋」を自称する店の雰囲気が、かつて足繁く通った新宿のバー・アカシアと共通するところがあり、非常に気に入って、昨夜も一人で酒たまねぎやを訪れたのだった。

大規模プロジェクト

大規模プロジェクトに限らず
「・・・が決まらないとできません(動けません)。」「手順がないからできません。」とかいっている人ばかり集めると失敗するよね。
やっぱり思いやりが大事だな。



「大規模プロジェクトではどうするか」を考えるより、「大規模にしないためにはどうするか」を考えよう - kwatchの日記
はっきり言おう。大規模プロジェクトは存在自体が悪。
大規模開発はなくならない - kwatchの日記
まえのエントリに書いてある趣旨は、主に 3 つです。

* 同じ要件や仕様でも、作る人の能力次第で 100 万行に膨れあがることもあれば数万行で済むこともある。
* 規模が大きいほど失敗する可能性は急速に高まるから、プロジェクトを成功させようと思ったら、規模を小さくすることを考えるべき。
* それがわからず、規模の大きさを自慢するやつはバカ。

Monday, September 15, 2008

mysql_query()のバグだろ?

僕はPHPとか触ったこともないので、はずしていたらすみません。
文面からすると、mysql_query()メソッドが引数をバリデートしていないというバグじゃないかと?


HelloWorldプラスアルファからさらに上を目指すために (PHP編) - Web屋のネタ帳
mysql_query("set names utf8"); もまずい。→ SET NAMESは禁止。 mysql_set_charset っていうのがあるんだからそっち使おう。

Tuesday, September 02, 2008

携帯機種変

MOVAからFOMAに機種変。
決して「MOVAってまだ使えるんですか?」
と言われたからでは無いよ。


PRADA Phone by LG | 製品 | NTTドコモ

Saturday, August 30, 2008

設計書の必要性

プログラムさえあればいいという考え方はあまりにも危険。
彼のような考え方が生まれた背景には、設計のできない人が増えていることがあると思う。
つまり設計のレベルが低いといこと。
ひとつは、設計書に記載すべき事項がわからない、ということ。
もうひとつは、文書力が設計書を記載するレベルに無い、ということ。


システムエンジニア不要説 - masayangの日記(ピスト通勤他
ここではフローチャートの是非を論じるつもりはない。クソだから。もっと一般化してしまえば、○○設計書みたいに「設計書」と名のつくものは全部クソだ。だって動かないんだもん。

動かない以上、それら設計書が正しいのか、漏れがないのかは保証のしようがない。机上検証なんていう工程もあるらしいけど、君たちの脳味噌は何MIPSなんだと問い詰めたい。もちろん、机上検証で見つかる凡ミスもあるだろうけど、そんなのはズボンもパンツも履かずに会社に向かうのと同じくらいのレベルの間違いだろう。

Friday, August 15, 2008

自宅以外でのLAN接続

実家のLANに接続したら、colinuxが使えなくなった。
/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を作るには
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とどきました日記
Perl::Critic がデフォルトでチェックしてくれる項目は、だいたい守ったほうがいい項目です。ベアワードファイルハンドルもちゃんとチェックしてくれます。Perl ではまるポイントの多くの部分をさけられるこのモジュールを使わないのは非常に損です。

Tuesday, June 03, 2008

IT産業

同意です。「匠」を育てる環境も用意せず「匠が欲しい」なんていっているようじゃ駄目だな。


学生とIT業界トップの公開対談で胸を衝かれたこと---IT産業を呪縛する“変われない日本”:ITpro
技術力とプロジェクト・マネジメント能力のどちらかが,他方より高尚だとか重要だということはあり得ない。どちらも社会を成立させ運営するために必要欠くべからざる大事なものだ。

Saturday, May 17, 2008

YAPC::ASIA 2008

昨年に引き続き参加してきました。
参加することで新しい技術や新しいPerlMongersに出会えたりするところがいいですね。

今年はLarryが来ていたので、ProgrammingPerl 2nd Editionにサインしてもらいました。
感激しました。こういう興奮は久しぶりです。

来年はせめてライトニングトークで発表したいです。
何にしようかな。

Tuesday, April 29, 2008

シネマコンプレックス「新宿バルト9」の驚嘆すべき大バカ最低システム


シネマコンプレックス「新宿バルト9」の驚嘆すべき大バカ最低システム - 檜山正幸のキマイラ飼育記
客:(ディスプレイを眺める)「ええと(ディスプレイに指を当てて)、このへんの席をください。」
係:「席番号をお願いします。」
客:(…困惑)
係:「こちらの座席表をごらんください。」
客:「えっ? これを見て番号いうんですか?」
係:「お願いします。」


まずいと思ったのは3点
  1. 従業員の教育
  2. ヒューマン系のシステム
  3. 自分の不快感をシステムのせいにする短絡的な思考

問題点が自分で何かわかっていないのでは?

参考

シネコンの座席予約システム - Ogawa::Memoranda
そもそも新宿バルト9に限らず、「現在の」座席の空席状況を顧客に見せてその中から選択させるというチケット発行システム全体がFCFSに特化されたものだからである(逆に空席状況が参照できない状況を想定するなら、顧客は発行システムが割り当てた上演回・席に着いて鑑賞するだけになる)。FCFSで割り付けられるものと期待してキューに並んでいる客がカウンターに着いた途端に優先度付きでスケジュールされたら(「おまいらの席ねーがら!次の回な!」)DQN逆ギレ間違いなしである。

Google Developer Day

刺激を受けに行ってきます。


Google Developer Day

Thursday, April 03, 2008

Facebook

「かも」ということなので、乗ってみた。


天使やカイザーと呼ばれて: 日本にもFacebookブームが来る予感
日本ではOpen Socialの方が流行するのが早いと思っていたが、Facebookの翻訳プロジェクトの進み具合によっては、日本にもFacebook旋風が吹き荒れる、かも。

Tuesday, April 01, 2008

SpringSource

マジッすか?
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)

Friday, March 14, 2008

うまく言えるかどうか。

僕はウェブの最大の利用価値は、「共有」にあると考えています。
ですから、ウェブサービスの機能のほとんどは「共有」が前提なのだととらえます。
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: 原点に戻って徹底的に納得するまで理解する
では、ここで問題です、どうして放射性炭素年代測定で、炭素そのものの年齢ではなく、木の年齢をはかることが可能なのでしょう?


Powered by ScribeFire.

Tuesday, February 05, 2008

SOX法

馬鹿の一つ覚えみたいに「SOX法の絡みで」とか言いやがって。
ぜんぜん解釈が違うじゃないか?



IT統制 - @IT情報マネジメント用語事典
内部統制システムの一部を構成する統制要素で、企業の業務や管理システムを情報技術によって監視・記録・統制し、その健全性を保証する仕組みのこと。内部統制を行う仕組み──内部統制システムのうち、ITを利用した部分をいう。


Powered by ScribeFire.

Sunday, February 03, 2008

そろそろ他人のブログをチェックするのはやめにしないか?

Google Readerを使っていつもチェックしているのだけど、
購読しているフィード数にも問題があるのだろうけど。

仕事が忙しくあまり購読に時間が割けないのです。
読まされ感が漂っていて疲労感倍増。

2/5追記
フィードを見て読むか読まないか判断する時間が、記事を読む時間を越えたら、フィードのたまりすぎです。


Powered by ScribeFire.

Sunday, January 27, 2008

JSUG欠席

業務多忙のため欠席せざるを得ませんでした。
非常に残念です。
デブザミには参加したいです。


勉強会 - Japan Springframework User Group

Powered by ScribeFire.

Monday, January 14, 2008

じゃぁ、とりあえずデザイン、2~3本

デザインのプロセスは開発に組み込まれていますよ。

受託でやっているうちは「とりあえず」の枕詞は消えないのでしょう。
成功報酬型にすれば、自身の作業が直接収益に結びつくので、
GUIのデザインも、操作性のデザインも、システムのデザインも進歩すると思います。

とはいえ成功報酬にした場合、どうやってシェアリングするのかという疑問が出てきてしまいますね。


第55回 じゃあ,とりあえずデザイン,2~3本:ITpro
「デザイン」に「力」があることは認識しつつ,その制御方法を真剣に考えて来なかったうちに,デザインに求められるモノ自体が広がってきています。「デザイン」を再評価し,開発プロセスの中に組み込むことに真剣に取り組むべき時期が来ているのではないでしょうか。

開発プロセスとか言ってる暇があるのなら、
「とりあえず」と言われて「とりあえず」のモノが出せる技術を得ることを考えたほうがいいのでは?

Powered by ScribeFire.

Sunday, January 06, 2008

有害サイト削除、民主が独自法案・プロバイダーに義務化

元ネタはこちら


NIKKEI NET(日経ネット):主要ニュース-各分野の重要ニュースを掲載
有害サイト削除、民主が独自法案・プロバイダーに義務化


で御仁が噛み付いている。


404 Blog Not Found:情報に有害も有益もない
有害情報など、ない。有害となりえるのは、それを利用する人間の方である。

Life is beautiful: 「言論の自由」の大切さに関して一言
その表現の自由を「有害な恐れがある場合は」という曖昧な表現の法案でないがしろにすることは、その時の為政者の都合による勝手な検閲・言論統制を許す抜け道を作ることになり、とても危険だ。


この人たちは「18歳未満の若年者が犯罪に巻き込まれるのを防ぐため」の議論を「言論の自由」にすりかえているような気がするが?

Satoshi Nakajimaには失望した。

一方まともな意見もある。


有害サイト規制の前に議論すべきこと - 雑種路線でいこう
いま議論されているのは、違法サイトだけでなく有害サイトによる未成年への被害をどう防ぐべきかという点だ。

有害サイト規制の経緯を学ぼう - 雑種路線でいこう
民主党の有害サイト規制法案に対する小飼弾さんや中島聡さんの反応をみていると「表現の自由」なり「通信の秘密」を前面に押し出したナイーヴな反応に終始しているようにみえる。けれども未成年が対象であれば、サイト削除義務もフィルタリング義務も憲法で禁止された検閲には当たらない。*1有害サイト規制を巡っては以前から各省で活発に研究されており、議論はもっと各論に落ちている。各国の動向や法執行に当たっての課題も一通り整理されているので、関心のある方は過去の報告書を一読されることをお勧めする。

Friday, January 04, 2008

テクノラティのブログ検索がノイズっぽい

なんだか、テクノラティの検索結果で上位のブログが目的とはかけはなれたブログがヒットします。
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でいろいろ遊びたいです。

あと、英語もやんなきゃ。

来年はいい年にしたいな。

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}&amp;ref=freeword&amp;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業界絶望論
だから、あんな生産性の低い、たぶん全産業の中でももっとも生産性が低い部類の、ああいう仕事にとどまることを余儀なくされているのだろう。


お前は生産性をあげるために何かしたのかと。

今までのユーザ企業は実質どうでもいいところまで細かくオーダーメイドで作り込むことを要求しすぎていた。そのくせ、結局ユーザには不評で使われないシステムが量産されていたのだから笑い事ではない。人間の価値観は努力や根性では変わらないから、それが無駄だと気付かせるには外的要因しかない。



Powered by ScribeFire.

Saturday, September 29, 2007

selenium 0.9.2

テストとか - 2007-09-21
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 標準化という名の悪魔
標準化、標準化言う前にまともにモノ造りできることの方が遥かに大事なはず。 たとえ標準化できたとしてもそれを導入したからとって失敗プロジェクトが無くなるという保障もないですが・・・。 よく「失敗プロジェクトが多いから標準化したいんだよね」なんて聞きますが、失敗プロジェクトをいくら研究しても標準化なんてできないと思っています。




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.

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を使ってみようかなと。



Powered by ScribeFire.

Saturday, July 28, 2007

第5回SpringFramework勉強会



勉強会 - Japan Springframework User Group


参加してきました。長谷川さん、スタッフの方々ありがとうございました。
改めてSpring Framworkの奥の深さと、集まった方々の濃いキャラクタに驚かされました。
そして、ぜひともマスターしたい技術であることを再確認しました。
Sesar2もね。

Spring Web Service(松下さん)
・Web Service作成と実行エンジン

Spring Batch
・ジョブネット -&gt; 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();

Sunday, July 01, 2007

Bloggerへのコードの投稿方法

先のエントリでXSLをあげる際に四苦八苦したので、備忘録。

問題は、投稿しても文字がエスケープされてしまったり、許容されない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&gt;=@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&gt;=../../@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&gt;=$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レポート

全般的な話題

  • 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の話題



Interface21のマークフィッシャーのブログは要注目




Sunからの各国に対するメッセージ

Thank you-&gt;(和訳)-&gt;元気です(?)





2.チャトールさんによるSpringMVCとSpring Web Flowの説明



Strutsの問題-&gt;依存性が高い

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に自動的に入れてくれます。



使い勝手は悪くありません。


該当ブログサービスのウェブサイトを尋ねてログインする手間が省けます。


これでブログしない自分とお別れできるといいのですが。







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をお使いの方は「構成と実行」で指定できます。



つぎのような指定をしました。

&nbsp;-Doracle.jdbc.Trace=true

&nbsp;-Djava.util.logging.config.file=OracleLog.properties

&nbsp;-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

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を使うときには、ユーザを追加する前に必要なソフトをインストールしておくこと」
です。
でも、それってなんだかなぁって感じがします。

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のプログラミングを知る人が少なくなっている。(なぜ、ニューしなくて動くんですか?)
・人口低下に伴いプログラマも少なくなる。
・将来、プログラミングの仕事はオフショアにほとんどもってかれている。
・でもフレームワーク部分は日本人で押さえたいよね。

Sunday, May 06, 2007

springframeworkとlog4j

簡単ですがlog4jライブラリによるログのとり方の覚書

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/

Friday, May 04, 2007

Acme::Louのインストールができない

やりたいのは、ローカルな環境でも「ルー変換」ができるようすること。

つまづいているのは、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勤労感謝の日

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では出なかったんだよな。

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();

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

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)

Sunday, March 18, 2007

digg.com

diggにjoinした。
diggというサービスがいまひとつ理解していないが・・・

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にポストできるそうだ。早速設定してみた。どうなることやら。

Saturday, November 04, 2006

Sageとdel.icio.us

Firefox使っています。
アドオンにSageを使っていました。
Yahoo提供のdel.icio.usアドオンを入れたところ
Sageの上部ペインが真っ白になってしまいました。
相性がよくないようです。

Sunday, October 22, 2006

丹下段平設計事務所: YouTubeはユーザーのセキュリティを考えるべき

丹下段平設計事務所: YouTubeはユーザーのセキュリティを考えるべき: "著作権侵害のビデオを見ようとする奴がいけないんだと言う向きも多数いるだろうが、それ以前に上場企業が悪事の片棒を担いでいることの方が問題だろうし、簡単に著作権侵害のビデオ投稿できる仕組みも問題だ。"

痛い人だ。自衛してないのか?

F's Garage:高学歴の人と付き合っていく方法

F's Garage:高学歴の人と付き合っていく方法: "何故なら、それが正しいか否かというのは、クチのうまさ、頭のよさでカバーできてしまうから、だそうです。"


口下手な俺はいつも間違ったことを言っていることになる。

Saturday, October 21, 2006

Google Japan Blog: ブログ検索、始めました

Google Japan Blog: ブログ検索、始めました

technoratiはともかく
kizasi.jpはまずいかも?

On Off and Beyond: いつもながらアメリカのいい加減なハナシ2

On Off and Beyond: いつもながらアメリカのいい加減なハナシ2: "どうしても強引に採用面接に行きたかったら、友達の男に代わりに電話してもらえばよかったんだ。。。ま、別にいまさらどうでもよいことであるが、もしかしたら、この「性別謀り」、将来何か役に立つことがあるかもしれない。裏技として心にしまって置きたいと思います。"

ほほー。そういうのもありなのか。

分裂勘違い君劇場 - 分かりやすさよりも正しさよりも学習に必要なものとは何か?

分裂勘違い君劇場 - 分かりやすさよりも正しさよりも学習に必要なものとは何か?: "感情の刺激は、分かりやすさや正しさに優先するのだ。"

だから感情的になりやすい俺は馬鹿なのか・・・

指定されたデバイス、パス、またはファイルにアクセスできません。アクセス許可がない可能性があります。

指定されたデバイス、パス、またはファイルにアクセスできません。アクセス許可がない可能性があります。

このようなメッセージが出たら

http://blog.livedoor.jp/saitotetsuya/archives/20535835.html

に従い、エキスプローラーのセキュリティタブを表示させ、
適切な権限を付与させる。

Unixでいうところのchmodってやつ。

これによりObjectDock Plusを制限つきユーザで実行できなかった事象を回避した。

しかし、丸二日かかったぞ・・・
なにやってんだ、おれ。

Saturday, October 07, 2006

真髄を語る 経営者がITを理解できない本当の理由

真髄を語る 経営者がITを理解できない本当の理由: "ITの責任はITベンダーが負う

 経営者のIT理解を妨げ、CIOを忙殺する、システム開発の不確実性の原因は何でしょうか。冒頭に書きましたように、我々ユーザー企業とITベンダーの仕事における責任分担が現状では非常に曖昧だという点に問題があると考えます。"

ただの責任逃れにしか聞こえない。
システム運営のリスク管理についての認識が無いことを露呈しているのではないだろうか?

[ThinkIT] Wikiでプロジェクト管理(前編) (3/3)

[ThinkIT] Wikiでプロジェクト管理(前編) (3/3)

これのどこがプロジェクト管理なのか?
Wikiの使用方法とプラグインの紹介記事のわりには
ご大層なタイトルだ。

Sunday, September 24, 2006

America's Funniest Home Videos - Boo!
http://youtube.com/v/vlsdyNrckJc

Thursday, September 21, 2006

マドンナのコンサートに行ってきました!

マドンナのコンサートに行ってきました。
開演が一時間も押していました。

芸能人も何人かみかけました。
叶美香
菅野美穂
安室奈美恵
ほかにもいたかもしれません。

肝心のコンサートの内容ですが、もうびっくりの連続。
MaterialからFiscalへ。
しなやかな身体に魅了されました。
47歳だっけ?マドンナすごい!今後が目が離せないかも。

Monday, September 18, 2006

朝からVAIOのリカバリをしていました。
なぜ、リカバリする羽目になってしまったかというと、
デスクトップカスタマイズのために、
いろいろなツールをインストールしました。
そのせいか、どうもレスポンスが悪くなってしまいました。

WindowBlindsはまだしも、
Universal UXTheme Patcherによりだいぶ悪くなった気がします。

そしてmsstylesファイルを%Windows%\Resource\Themeにたくさん入れてしまったのも原因のひとつだったのかもしれません。

Wednesday, August 16, 2006

なぜMoavble Typeはtaintモードじゃないのか

たとえばオライリーのCGI本によれば汚染(チェック)モードでの実行が推奨されている。
にもかかわらず、Movable Typeは汚染モードでの実行はしていない。

なぜだ?

Wednesday, August 02, 2006

CGI::Application::Plugin::Sessionの使い方

セッションを切るときには

$self->session_delete

マニュアルよく読め、俺。

# スクラムマスターを雇う時に聞いてみるとよい47個の質問

  # スクラムマスターを雇う時に聞いてみるとよい47個の質問 スクラムマスターへの質問というPDFがあるので、回答してみた。 定期的に自分の回答がどう変わっていくのか楽しみだ。 Scrum Master Interview Questions: Free Download of...