2005-06-01から1ヶ月間の記事一覧

操作ミスかと思ってたんだけど

違うみたい。 まぁいいか。

光速に近づくとモノが重くなるのも

不確定性原理ですか? そのまま光速に近づくと運動量が特定できてしまうし、速度が光速だとわかってれば場所もわかるし、それを嫌った原子が不確定性原理の力で重くなるってこと?

次はDigesterアノテーション

Strutsプラグインで設定ファイルを書いてパッケージごとの設定ができるようにしたいのと、やりなおしプロジェクトでのデータ受け渡しのXMLを解析するのに使いたいので。 まわりがくぎに見えてきたら、それが全部うちこめるようなゴールデンハンマーを作って…

無設定Strutsできました

ということで、無設定Strutsできました。 http://www.fk.urban.ne.jp/home/kishida/kouza/zeroconfigstruts/zeroconfigstruts.html ちゃんとしたリファレンスにはなってないですが、だいたいの雰囲気はわかるかと。 アノテーションは、struts-config.xmlに書…

ローレンツ変換したときの重さ

マクスウェルの方程式がはまるようにローレンツ変換を行うと、重さが で表せるということだ。 mがみかけの質量で、m0が止まってるときの質量で、uが速度でcが光速ということです。 この式から、速度が光速に近づくと質量が無限大になるってことらしいです。 …

Cの仕事

最初のmakeファイル作るのがめんどくさい。 ITRON用のプログラムをLinuxにもってくるだけなので、あんまり頭使わなくてよさそうなんだけど。 で、ITRON用のソース見たら、関数にコメントがないから全体の構造が把握できない。長いプログラムじゃないからいい…

プロパティの生成

ということで、セッターゲッターの記述も不要になりました。 もう、素のStrutsは触りたくありません。 しかし、ごはん食べながら休憩がてらバイトコードいじくれるJavassist素敵。

プロパティの自動生成

Javassistを使ってみると、アクセッサを作成するメソッドがあったから、楽々じゃんと思ってたら、一度クラスローダーが読んだクラスをJavassistでいじれなくて、サブクラスを作ることにしたらアクセッサ作成するメソッドがうまく動かなかったorz... 自分でセ…

不確定性原理

不確定性原理は、量子の場所とエネルギーを同時に正確に測定できないという、測定の限界を表した原理だととらえられがちですが、それだけではなくて、素粒子のふるまいを決定するような原理です。 つまり、量子の場所を固定しようとすると、不確定性原理にみ…

開発しやすいソフトウェアプロセスではビジネスしにくい

上に書いたようなプロセス、人の確保とか見積もりとか考えると、ビジネスやりにくいと思います。 逆に、ビジネスやりやすいプロセスは、開発しにくい。 派遣はもはや必要悪としても、設計と実装が別の会社というのは百歩譲るとしても、概要設計と詳細設計が…

専任のテスト担当者がいないなら独立したテスト工程をしないほうがいい

ふと。 そう思った。 一般化して、すべての工程は専任の担当者がいないなら独立した工程にしないほうがいいといえるかも。 工程というか、債務を人に割り当てて、その人は割り当てられた債務をどんな順番でどんなタイミングで行ってもいいってことにする。同…

プロパティも自動生成?

セッターとかゲッターとかも自動的に作ってしまえ、と。 アクセッサーってうっとおしいですよね。

Digesterにも

Digester用のアノテーション作るのも面白そうです。

どんでん返さんよねぇ

納品も来週に近づいたので営業の人がシステム確認にきました。 で、ひととおり見てひとこと。 「これじゃ納品できない」 こんなシステムだとは思わなかったらしい。 使い物にならないっていったじゃん。 仕様書とは違う使えそうなもの作ったら、使えなくても…

XDocletもアノテーションもないStruts

他の人が作ったシステムをいじってて、struts-config.xmlを直接編集してあるので、 return mapping.findForward("menu"); とか書いてあってもなんのことやらで、わざわざ検索しないといけない。 新しく画面追加するときも、なんかそれっぽいところを探して定…

ソフトウェアの測定困難性とUFOの測定困難性は別物

未熟な科学と擬似科学を同列に論じるべきではありません。 ソフトウェア開発の完全なプロセスが構築できないのは、ゲーデルの不完全性定理によるもので、ソフトウェア技術者であればチューリングマシンの停止問題としてなじみのあるはずのものです。 また、…

ほんとに良いコードを書くために必要なことは

ほんとに良いコードを書くために必要なのは、一冊の本になったりブログでみんなが取り上げたりするようなハデな事柄ではなくて、例をあげようにもあげられないような些細で地道な工夫の積み重ねだと思います。 ほんとに良いコードは、何の工夫もしていないよ…

Strutsアノテーション、実装中

気晴らしにStrutsアノテーションを実装してみました。 で、アクションを「ResultAction」ていう名前で普通に作って「result.jsp」を作ると、「result.do」にアクセスして「result.jsp」が表示されるようになって、さらに「ResultForm」を作るとそれなりの入…

Hibernate3でupdateやdeleteが失敗するとき

Hibernate3からQueryでupdateやdeleteができるようになったということだったんだけど、どうもうまくいかなかった。 で、いろいろ試したら、うまくいくテーブルとうまくいかないテーブルがある。 マッピングでwhereの設定に"not delete_flag"とか書いてるテー…

「ゼロコンフィグStruts」プラグイン

という名前で、アノテーション機能を省いて、デフォルト動作だけ行うようなものを作ってもそこそこ便利かも。 nameとかinputとか、最低限の属性はstatic finalなフィールドに持たせて。

Strutsアノテーションでのアイデア

action-forwardを省略すると、パス名やクラス名と同じ名前のJSPを探してaction-forwardをsuccessという名前で指定する。 pathを省略すると、クラス名を指定する。 全部省略するならアノテーションすら必要なし。

続・Strutsアノテーション

作りこむ時間はないので定義だけ考えてるんですけど、実装次第ではActionFormは定義もアノテーションも必要なくなったりするので、かなり楽になりそうです。 public @interface StrutsAction { String path(); String success() default ""; Class form() de…

Strutsアノテーションプラグイン、できちゃいました・・・

簡単な実装が、30分くらいでできちゃったんですが・・・。 固定のクラスに対しての処理だけですけど。 こんな感じのアノテーション書いて @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.TYPE) public @interface StrutsAction { String path(); …

アノテーションはやっぱりいい

アノテーションというのは、インスタンスに対する静的な構造をプログラムするしくみなので、Javaがもともと持ってるクラスに対する構造をプログラムする仕組みと組み合わせるとやっぱりいい。 DIというのはインスタンスの静的な関連を記述するしくみなので、…

やっぱりひとりデスマ

あとからあとから仕事が増えて、まえからまえから仕事が遅れて、にっちもさっちも。 今週が山。だと信じたい。

XDocletでは処理するクラスの参照先でもJ2SE5構文が使えない

ShohinListActionっていうstrutsのアクションを作って、そこでTshohinというマッピングクラスを使ってて、そのTshohinではアノテーションを使ってたんですが、そうすると**/*Actionを処理するXDocletのタスクでTshohinがエラーになります。 XDocletは単純に…

Hibernate Annotations(EJB3)のマッピングクラスを自動生成

こんな感じのJavaコード書いてこんな感じのVelocityテンプレート書いて、マッピングクラスを生成してみました。 VelocityのライブラリとJDBCドライバをクラスパスに含めて、クラスの先頭当たりの文字列定数を適当に変更してコンパイル・実行すると適当にきし…

Hibernate Annotations(・∀・)イイ

Hibernate Annotations使ってみました。 http://www.fk.urban.ne.jp/home/kishida/index.html#20050601 なかなか設定いらずでいい感じです。 いままでXDocletでやってたので同じような感じかと思ったのですが、型からかなり推測してくれてるので記述量が全然…

PHPとJavaとRuby

いままでよく、PHPとJavaが比べられてきて、それは動的型言語と静的型言語の違いとして比べられてきたんですよね。 でも、実はPHPよりJavaがいいっていうのって、PHPのできの悪さがダメだからJavaがいいって言ってたりするわけです。セキュリティーホールを…

型あり言語の利点

機械処理しやすいってことですよね。 静的構造が解析しやすい。 だから、ツールが作りやすい。 でも、人手では書きにくい。 ツールも揃ってるわけじゃないし。 ということで、ツールがなくても手で書きやすいRailsってことになるのかな。 JavaとRubyを比べる…