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

2008年末 進捗報告

年が明ける前に謝っておきます>< / ̄\ | | \_/ SeasarConferenceで / ⌒`"|⌒`ヽ、 「新Jiemamyは今年中リリース」とか /,, / ̄ ̄ ̄ ̄\ 大口を叩きました(汗 /,//:: \ 全くもってムリでした。 ;/⌒'":::.. |⌒ヽ / /、:::::... /ヽ_ \ __( ⌒ー…

2008の振り返りと、2009の目標をKPTで。

etc

1年前につぶやいていた事と、評価 Keep 技術ブログ(はてな)を書く → ○書いてる書いてる( ̄ー+ ̄) 日常ブログ(mixi)を書く → ×書いてねーーw コミュニティ活動に参加、スピーカーも務める → ○参加もしてるし、スピーカもした 技術を語り合える仲間を作る…

Javaクイズ(Sorted編)

指定したComparatorに従って、addされた要素をソートした状態で保持してくれるSortedSet*1。以下のコードは、どのような結果になるでしょうか? 分からなかったので試してみた。 public class SortedSample { public static void main(String[] args) { Set<Model> </model>…

interfaceについて本気出して考えてみた

本気出す第二弾。オブジェクト指向を良く知らなかった頃*1、Javaの勉強を始めると、class, field, method, interface などのオブジェクト指向的な概念を覚えていくことになります。その中で、一番「よくわからんけど、まぁそんなものがあるのね。しっかし、…

動的なインターフェイスの追加(擬似的な方法)

public interface Foo { void foo(); } public class FooImpl implements Foo { public void foo() { // ... } } ある、Foo という仕様と同時に、Fooに対する実装を提供したとします。普通ですね。ここで「Fooはプラガブル*1にしたい。実装によって「動的に*…

動的な値のコンストラクタインジェクション・その後

private Model getSpecifiedIdModel(int id) { ComponentDef componentDef = container.getComponentDef(Model.class); ArgDef argDef = componentDef.getArgDef(0); Object valueBackup = argDef.getValue(); Expression expressionBackup = argDef.getExpr…

動的な値のコンストラクタインジェクション

S2Containerを使って、コンストラクタに動的な値を食わせることはできないだろうか、と考えている。例えば、0, 1, 2, 3...と、通し番号を生成するクラスがあって。 public class SerialNumberGenerator { public static int nextSequence() { return ...; } …

Throwableについて本気出して考えてみた

Throwable、Exception、RuntimeException(RTE)、Errorあたりを整理しながら、色々考えてみた。私見に基づくので、間違っているかもしれないけれど、自分としては頭が整理できたかな、と感じたので晒してみる。異論があったらコメントください。まず、一番基…

バグ発生時に投げるべき例外

「メソッドを呼ぶ前提条件が間違っている(ユーザによるミス)」時の例外は、IllegalStateExceptionですよね。そして「引数が間違ってる(ユーザミス)」時はIllegalArgumentException。しかし「バグが発生した(API提供側のミス)」時に投げるべき例外って…