2008-01-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提供側のミス)」時に投げるべき例外って…

キャンペーン応募〜

etc

はてなブックマークのノベルティセット欲しい!おすすめという訳じゃないけど、個人的に注目しているユーザ5名。書かなきゃいけないぽいのでw b:id:Yoshiori b:id:Ymashiro0217 b:id:t_yano b:id:j5ik2o b:id:Ewigkeit やっぱjava-jaクラスタだ。

Apache commonsが便利な件(commons-collections編-2)

http://d.hatena.ne.jp/daisuke-m/20080702/1214982943前回に引き続きcommons-collections。Java Collection Framework(JCF)では、大きく分けてCollectionとMapの2系統の概念が定義されています。そして、前回はこれらに加えて Bag, Buffer などの追加された…

Apache commonsが便利な件(commons-collections編-1)

http://d.hatena.ne.jp/daisuke-m/20080702/1214982943再びユーティリティ系。ということで今回はcommons-collections。commons-collections は、Javaコレクションフレームワーク(っていうと大仰だけど、要はListとかSetとかMap。以下JCF)まわりのユーティ…

Apache commonsが便利な件(commons-vfs編)

http://d.hatena.ne.jp/daisuke-m/20080702/1214982943ユーティリティ系ばっかりじゃ飽きるかな。ということで今回はcommons-vfs。commons-vfs は、バーチャルファイルシステム。ファイルというのはあらゆる形で存在します。例えば、 ローカルのファイル 圧…

Apache commonsが便利な件(commons-io編)

http://d.hatena.ne.jp/daisuke-m/20080702/1214982943今回はcommons-io。commons-io は、入出力まわりの便利クラスを提供してます。commons-langはjava.langの補強でしたが、こちらはjava.ioパッケージの補強、というスタンスです。 IOUtils closeQuietly …

Apache commonsが便利な件(commons-lang編)

http://d.hatena.ne.jp/daisuke-m/20080702/1214982943やー、前書いたエントリいつだったかな、と思って見たら7月ですよ。コツコツ書いていきますね。まず初回はcommons-lang。commons-lang は、java.langパケにあるような基本的なクラスを追加で提供してい…

Effective Java第二版

Effective Java 第2版 (The Java Series)作者: Joshua Bloch,柴田芳樹出版社/メーカー: ピアソンエデュケーション発売日: 2008/11/27メディア: 単行本(ソフトカバー)購入: 77人 クリック: 936回この商品を含むブログ (264件) を見るAmazonで予約注文始まり…

Tugboat.GTD on JBoss AS

Jiemamy Projectで Tugboat.GTD を使いたかった。しかし、JIRAとTugboat.GTDは、Tomcat上で同時に動かす事ができなかった。*1で、まぁ、先日 RedHat社のJBossトレーニングを受講した為、JiemamyのアプリケーションサーバをTomcatからJBoss ASに移行しようと…

へんなSet

java.util.Set って、同じインスタンスを複数持たないよね。 Object o = new Object(); Set set = new HashSet(); set.add(o); set.add(o); set.add(o); set.add(new String()); assert set.size() == 2; 違うインスタンスであれば、全部はいる。 Set set = …

ジェネリクスを使いこなそうゼ

というネタでエントリ書けよゴルァ、とid:happy_ryoに脅されて書くエントリー。ジェネリクスご存知ですか。使ってますか。アノテーションと共にJava5から現れた、<> で囲まれた変な奴。全くの余談ですが、アノテとジェネリクスの事を理解していなかったその…

飲み会に参加してきた

第一回チキチキ 飲みにいったら偶然「ひがやすを飲み会」が隣りでやってた飲み会!!に飲みにいったら、偶然「ひがやすを飲み会」が隣りでやってたんですよ。うわーびっくり(棒最近イベントに参加していなかったので、実は久々なメンバーが多かったかも。ま…

メソッドのアクセス制御

いやいや、忙しくてブログ更新サボっちまったぃ。まぁ、ぼちぼち書くつもりです。メソッドのアクセス(可視性)を制御するために、しばしばアクセス修飾子(private, publicなど)を使うのはご存知の通り。書いたコードの可視性を、全てpublicにしても、変更…

デフォルトスコープが上手く使えない

最近の悩みです。同一パッケージ内のみから可視であるデフォルトスコープ。パッケージ分けって2つのやり方があると思うんですよ。 ヒエラルキー的分類をパッケージ割りに反映させる。 同種のものを同じパッケージに置いておく 例えば、Actionクラスはこのパ…

Seasar Conference 2008 Autumnで話して来ました。

というわけで、行ってきましたよ。まず、起きたら10時だった。ビビったw そこから慌てて市ヶ谷へ。ちょっとだけディスプレイの調整をして控え室で待つ。理事会活動報告をさらっと聞いて、セッションスタート。 D1: ソフトウェア開発の魔法環境「Yukara」 コ…

Seasar Conference 2008 Autumnから帰ってきた。

皆様、おつかれさまでした!とりあえず目覚ましも何も掛けずに寝る。寝たいだけ寝る。 色々はその後…。

Jiemamyの紹介記事が@ITに

掲載されましたーー。いやー、初の執筆だったので結構体力使いましたが、なかなか楽しい経験をすることができました。というわけで、もし宜しければ、ご意見ご感想など頂ければ感激の極みです>< データベースもアジャイル開発に対応したい! − @IT さらに…

Rubyのmigration

日曜日に、SeasarConferenceのリハ(というかプロジェクターテスト?)ということで、会場に行ってきました。そこで同じスライド流しちゃつまんねーかなー、と思って、かつて話そうと思っていたネタLTっぽいものをやってみました。意外と食いつきよかったw …

異業種シリーズ

etc

大学の同窓会報が届いた。特集が「異業種シリーズ」wwww しかも1件しかないから次号もか!?wwww第一回「副住職」

IrenkaでClassCastExceptionの対策。

Irenkaを使用したコンパイル時に、NavigatedProperty#apply(Synthesizer, CtElement) 内98行目でClassCastExceptionが発生するケースがありまして、少し調べてみました。NavigatedProperty.java 92行目で target の実装が CtEnumConstantMaster であり、navi…

葬式

etc

ちょwwww 親衛隊wwwhttp://maker.hanihoh.com/r/?name=%93s%8C%B3%83_%83C%83X%83P&bY100=19&bY10=7&bY1=8&bM=3&bD=4&u=hanihoh_2

ドキッ!ダイスケだらけのエンジニア勉強会

etc

昼間、twitterで、「なんか俺の周りにダイスケってエンジニア多いよねー」とか話してたら、 「ドキッ!ダイスケだらけのエンジニア勉強会」 とかそんな話になりましたwまぁ、エンジニアじゃなくてデザイナさんとかその辺も含める感じになると思うんですが、…