青井ねずみさんのユーザーページです。
Jiemamy作者が考える “データベースの進化的設計” データベースもアジャイル開発に対応したい! アジャイルの考え方においては、実装前にシステム要件・設計を確定させることはせず、常に変化を受け入れていく体制が必要です。アジャイル開発の考え方にのっとるなら、アプリケーションだけではなくデータベースについても設計の凍結はせず、また、ソースコードに限らずデータベースの構成・設計についてもリファクタリングが適用されるべきです。Jiemamyはこの問題に取り組むプロジェクトとして始められました。本稿ではこのJiemamyの取り組みを紹介します。 ソースやスキーマだけ管理しても意味がない 近年注目を集めている「アジャイル開発」は、リファクタリングが重要な要素の1つであることはご存じのとおりです。アジャイルの考え方においては、実装前にシステム要件・設計を確定させることはせず、常に変化を受け入れていく
Javaの黎明(れいめい)期、多くの人々にJavaが知られ、広まった理由の1つは、WebブラウザにJava VMが組み込まれたことにあるでしょう。その当時のWebブラウザ開発のエキサイティングな様子は、雑誌『Wired』の古い記事「The Java Saga」で読むことができます。 Webブラウザ上で動作するJavaアプレットの勢いも借りて、各OSベンダが米サン・マイクロシステムズからライセンス提供を受け、各OSプラットフォーム用のJava環境が続々とリリースされます。 その一方、米マイクロソフトのWebブラウザ「Internet Explorer」(以下、IE)にJava VMが組み込まれたことは、歓迎とともに混乱を招きました。米マイクロソフトが提供したWindows 95/NT用のJava VM((MSJVM))が持つ「J/Direct」機能は高性能ながら、Win32 APIを直接呼び
class Hoge { String hoge = "hogehoge"; } こんなクラスがあったとして、"Hoge"って文字列からHogeクラスのオブジェクトを作成する。 public class Foo { public static void main(String[] args) { Hoge hoge = null; try { Class clazz = Class.forName("Hoge"); hoge = (Hoge) clazz.newInstance(); } catch(ClassNotFoundException e) { e.printStackTrace(); } catch(InstantiationException e) { e.printStackTrace(); } catch(IllegalAccessException e) { e.pri
あまり日本で知られているフレームワークではありませんが、Stripesというフレームワークがあります。 Actionベースで適度な大きさでちょうど良い感じのフレームワークで個人的にはかなり好きな部類です。 残念ながら実案件で使ったことは無いですが、フレームワークとしての丁度よさとかバランスみたいなので 結構みて勉強してます。Stripesに限らずそうですが歴史が長いフレームワークには、それなりに中身に ノウハウが詰まっているので、ちょくちょく見返して仕組みを学習してたりします。 ま、そういうところの良いところを抽出&凝縮して、T2を作れたらなと思っています。 というわけでStripes1.5が出たようです。 http://stripesframework.org/display/stripes/Home http://journal.mycom.co.jp/news/2008/08/19/
Javaでprivateかつfinalに宣言されてるコードがあったとする。 class Hoge { private final int[] HOGE_ARY = {0, 1, 10, 100}; public int[] getHogeAry() { return this.HOGE_ARY; } public void test() { System.out.println(HOGE_ARY); System.out.println(getHogeAry()); } } こんな感じ。HOGE_ARYをgetして同じところをみてる。それの確認用のtestを読んだ結果は、 [I@1a758cb [I@1a758cb 同じアドレスをみてる。 上記のクラスを以下の様に、呼び出してみる。 public class Call { public static void main(String arg
Javaのメッセージング・サービスを速くするには?:WebSphereサーバ・チューニング入門(7)(1/4 ページ) 本連載は、Javaアプリケーション・サーバの1つである、IBM WebSphere Application Server(以下、WAS)についてのパフォーマンス・チューニングに関する入門記事です。チューニングといっても、実施するエンジニアによって、その方法は異なりますが、本連載はWASを前提とし、かつ80%のケースをカバーすることを目標とします(編集部注:WASのインストールから学びたい読者は、「バージョン別セットアップマニュアル一覧」のWebSphere Application Serverを参照してください) 今回は、JMS(Java Message Service)をサポートするランタイムのパフォーマンス・チューニングについて解説します。WASは、「デフォルトJMS
log4jなら private static final Logger log = Logger.getLogger( MyClass.class ); だったのが、log5jを使うと private static final Logger log = new Logger(); と書けるようになってるのが有名ですが、これって、 public static Logger getLogger() { String name = new Exception().getStackTrace()[1].getClassName(); return getLoggerImpl( name ); } ってしてるからだけなんですね。 すっごいシンプルだけどlog4jで取り入れてなかったのってなんでなんだろう。 メインコミッタが抜けるまえにも入っててもよさそうな気もするけど。
独自に定義したアクションのキーストロークがSwingコンポーネントに吸われてしまってハマることが多いので、自分のためにリストアップ。カーソル移動系の自明なアクションは省略してあります。 JTableのF8とか、JSplitPaneのF6/F8辺りは盲点だと思います。 JRootPane KeyStroke Action When Shift F10 postPopup WHEN_ANCESTOR_OF_FOCUSED_COMPONENT JTextArea KeyStroke Action When Alt DELETE delete-next-word WHEN_FOCUSED Ctrl A caret-begin-line WHEN_FOCUSED Ctrl B caret-backward WHEN_FOCUSED Ctrl D delete-next WHEN_FOCUSED Ct
【追記 2008/7/2】とても昔のClosureについて書いた記事が注目を集めてしまったみたいですが、ぜひ、もっと後で書いた次の記事とその関連スレッドの方も確認してみてください。このときよりも、もう少し事情が分かってから書いたものなので、より正確に状況を理解できると思います。それに、私自身、この言葉にはまだ混乱しています・・・ http://d.hatena.ne.jp/lethevert/20070524/p2 - という問いに対して、そろそろ私の結論を整理しておきます。 これは、将来の自分に対する参照の便のための整理です。 前提知識 前提知識として、こちらの内容を読んで理解しておきます。 Closure (computer programming) - Wikipedia [id:lethevert:20060119:p1] [id:lethevert:20060121:p2] また
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く