2008-10-01から1ヶ月間の記事一覧

Jarファイルの中身を書き換える方法

この前http://d.hatena.ne.jp/kensir0u/20081025/1224909969を作ったんだけども、これにはJarファイルの中身のプロパティファイルを プログラムで書き換えるという手法を取り入れています。最近のシステムはいろんなところからライブラリを集めてくるから Ja…

コンパイラの最適化メモ

コンパイラにおける 最適化のメモ最適化には大別して3つの方法が考えられる。 1.命令の実行回数を減らす 2.並列化する 3.高速な命令を使用するようにする。 1.命令の実行回数を減らす ・実行結果を保存し再利用する。 ・コンパイル時に計算できるもの…

可変長引数のこネタ

Java5から可変長引数が使えるようになった。 この可変長引数の定義は通常、引数なしでもコンパイルOKとなる。 これを1以上の引数のみしか受け付けない場合は以下のようにすると良い。 /** * * @author kensir0u * */ public class Arg { /** * @param args …

アノテーションのアノテーションを取得する3つの方法

Java5以降アノテーションが適用できるんだけども、アノテーションを付加しすぎると煩雑になってしまう。 そこで、アノテーションのユーティリティーとして アノテーションに対してアノテーションを複数付加する。で、それをソースにひとつ付加するようにす…

DILoadリリース!

DILoad(Dynamic Intercepter Loading)はJavaプログラミング開発を支援するツールです。機能: ・Javaクラス内のインスタンスメソッドの動的変更 ・AOP機能を利用してなくてもメソッドの実行時間の計測ダウンロードはココ http://sourceforge.jp/projects/di…

「iou」ネーミング指向プログラミングのすすめ

プログラミングにおいては可読性の観点からわかりやすい変数ネーミングをつける ことが推奨される。 そこで今回はさらに1歩進んで「iou」ネーミング指向プログラミングを 考案した、別名「押韻」指向プログラミングとでも呼ぼうか。 現在のプログラミング作…

ビジネスに導入可能な品質を持つオープンソースの開発は今後衰退していくんじゃないだろうか。

前提としてJavaに限って論じていく。昨今のJavaは有償サポートのビジネスを開始しサポート期間というものが正式に発表された。 現在の発表では無償のメンテナンス期間は3年ということで、これは通常、一般的に考えられるシステムの償却期間5年よりも短く、Su…

生産性を向上させる方法

生産性について考えてみた。生産性とはプログラムについて考えると如何に早く目的のCPU命令セットを 準備できるかどうかによると思う。目的のCPU命令セット自体は目的が同じであるならばCPUアーキテクチャが 異ならない限り同じ量の命令セットが必要となる。…

コード量とバグ含有率について

コード量とバグ含有量についての考察をしてみた。一般的に、というか普通に考えてコードの記述量が増すとバグの含有率は増すと 考えていたけども、どうもそれだけではないようだ。確かに、記述量が増すとタイプミスの発生する確率は高くなる、タイプミスは高…