Java

Re: いまさらだけど、Java言語にはクロージャーがない

id:ryoasaiさんと先日会社で話した内容が、「いまさらだけど、Java言語にはクロージャーがない」にまとめられたけれど、関数リテラルが利用できるという文法の話と、引数以外の外部変数(自由変数)が参照できるという機能の話が混ざっている気がします。 前…

メタモデルなしで JPA 2.0 の Criteria API を使う

仕様書のサンプルや Web の記事を見ると、JPA 2.0 の Criteria API を使うにはメタモデルを作らないといけないかと一瞬思うけれど、属性名を文字列で指定してもいいんですね。メタモデルを使用する場合、 @Entity public class Customer { @Id Long id; Stri…

コーディングの掟

コーディングの掟(最強作法) 現場でよく見る不可解なJavaコードを一掃せよ! (開発の現場セレクション)作者: arton,宇野るいも出版社/メーカー: 翔泳社発売日: 2008/09/18メディア: 単行本(ソフトカバー)購入: 29人 クリック: 348回この商品を含むブログ (5…

流れるようなインタフェース - Collection 編

id:aufheben:20090215 で書いた「XXXUtils の乱用をやめる」の続編です。 Collection 関連の API も List、Map などのインタフェースと Collections ユーティリティクラスに分散しています。 たとえば、ある List をソートして、バイナリサーチで要素を見つ…

Joda Time で和暦

以前 id:aufheben:20080721 で書いた、ISO 8601 準拠の日付・日時ライブラリの和暦対応をしてみた。 おもなファイルは、 jp.sourceforge.glad.calendar.joda.chrono パッケージに入っています。 使ってみたい方は、 http://svn.sourceforge.jp/svnroot/glad/…

XXXUtils の乱用をやめる - Calendar 編

標準のライブラリが使いにくいとき、つい XXXUtils のようなクラスを作ってしまいがちです。 例えば、悪名高き java.util.Calendar。来年の2月15日が何曜日か調べようと思ったら、次のようなコードを書かなければなりません。値の取得も設定も面倒で、なぜか…

アジャイルソフトウェア開発の奥義

アジャイルソフトウェア開発の奥義作者: ロバート・C・マーチン,瀬谷啓介出版社/メーカー: ソフトバンククリエイティブ発売日: 2004/06/30メディア: 単行本購入: 3人 クリック: 236回この商品を含むブログ (148件) を見るアジャイルソフトウェア開発の奥義 …

Joda Time の Chronology

http://joda-time.sourceforge.net/ ISO 8601 準拠の日付・日時ライブラリ。 仕事で和暦のプログラムを書いたんで、ついでに Chronology の和暦対応版作ろうかと思ったけれど、意外と面倒くさそう。 Chronology に DateTimeZone が含まれているんだけど、別…

Java で和暦

仕事の関係でちょっと調べてみた。 自分では必要がない限りほとんど使いませんが。(^^;) Java6 JDK 6 ドキュメントhttp://java.sun.com/javase/ja/6/docs/ja/ Java SE 6 じゃじゃ馬ならし - 和暦http://www.javainthebox.net/laboratory/JavaSE6/imperialcal…

Java EE 勉強会 (第43回)

http://groups.google.com/group/javaee-study http://www.wikihouse.com/withoutEJB/DDD が人気なのか、ひがさん復活の影響かわかりませんが、久しぶりに盛況。 かっくんおめでとう。 DDD 読書会 Domain-Driven Design: Tackling Complexity in the Heart o…

Java EE 勉強会 (第42回)

http://groups.google.com/group/javaee-study http://groups.yahoo.co.jp/group/without-ejb/Java 並行処理プログラミング 読み終わりました。Java並行処理プログラミング ―その「基盤」と「最新API」を究める―作者: Brian Goetz,Joshua Bloch,Doug Lea出版…

Java EE 勉強会 (第40回)

Java 並行処理プログラミング 第12章「並行プログラムを試験する」。担当は杉田さん。 並行プログラムの自動テストの方法はなかなか興味深かった。 帰宅後の検証結果もあわせてメモ。P.282 の List 12-3 はブロックしなくてもエラーにならないのでは? by 和…

技術書2冊

Maven 2.0 入門 Apache Maven 2.0入門 Java・オープンソース・ビルドツール作者: 野瀬直樹,横田健彦出版社/メーカー: 技術評論社発売日: 2006/12/13メディア: 大型本購入: 8人 クリック: 141回この商品を含むブログ (102件) を見る最近やっと本格的に Maven …

Java EE 勉強会 (第38回)

Java 並行処理プログラミング 第8章と第9章。担当はせとあずささん。 興味をもった所だけメモ。 P.192 の List 8-1 がなぜデッドロックするか理解できない。 public class ThreadDeadLock { ExecutorService exec = Executors.newSingleThreadExecutor(); pu…

日経ソフトウェア 2008年3月号

http://software.nikkeibp.co.jp/ 特集2 ゼッタイ役立つ! UML 超入門 の Part3 実践 UML で Java アプリを設計する を執筆させていただきました。 UML でソフトウェアの分析・設計を行い、Java のソースコードに落とすまでの手順を解説しています。時間と紙…

Java EE 勉強会 (第37回)

Java 並行処理プログラミング せとさんが体調不良でお休みのため、8章、9章はとばして、第10章「生存事故を防ぐ」を hirataraさん担当で読む。まとめると「ロック順をちゃんと決めよう」と、「できるだけオープンコールを使おう」ってことかな。 「食事をす…

Java EE 勉強会 (第36回)

あとで書く。

Java EE 勉強会 (第34回)

Java 並行処理プログラミング 第4章と第5章を自分が担当。 第4章は、第3章までをふまえて、オブジェクトの設計のしかた。 第5章は、J2SE 5.0 で追加になった同期関連のライブラリの紹介。 かなり飛ばしてしまったけど、みなさん理解できたでしょうか? と言い…

Java EE 勉強会 (第33回)

会社の後輩が3名初参加。今後の活躍に期待。 Java 並行処理プログラミングは案の定僕の担当分までは回りませんでした。 若干準備不足な箇所もあったので、来月までにもう一度資料を整理しておく。レポートはヤドカリさん以上にまとめる自信がないので略。(^^…

Java 並行処理プログラミング

Java並行処理プログラミング ―その「基盤」と「最新API」を究める―作者: Brian Goetz,Joshua Bloch,Doug Lea出版社/メーカー: ソフトバンククリエイティブ発売日: 2006/11/22メディア: 単行本購入: 30人 クリック: 442回この商品を含むブログ (174件) を見る…

DBFlute、Torque でスキーマが取得できない

DBFlute を How to Setup のドキュメントにしたがって使ってみたけれど、DB のスキーマが取得できない。project-schema-xxx.xml は作成されるが、中身がこんな感じ。 <database name="scott"/> ちなみに、DB は Oracle 10g Express…</database>

Java EE 勉強会 (第32回)

今さらだけど、これだけメモしておく。(9/4記)t-wadaさんのデモに自分の書いたコードが使われていた。 うれしいことです。感謝。

Java EE 勉強会 (第29回)

ポジションペーパー - Joel Test YourKit の紹介 by sugaさん UI Centering design by yuki_neko_nyanさん

Java EE 勉強会 (第25回)

Pro EJB3 - Chapter 5 Entity Manager (後半) by bohnenさん、富岡さんテキスト忘れた。orz著者の主張: JSP からエンティティを直接使おうよ。 Statefull Session Bean を Request スコープで使うといいかも。… ちょっと面白そう。 ひがさんのお話: Lasy Loa…

Java EE 勉強会 (第24回)

ポジションペーパー - 今年買った中で印象に残った書籍 以下の2冊を紹介。 ユースケースによるアスペクト指向ソフトウェア開発 (Object Oriented Selectionシリーズ) バッテリー (角川文庫) Pro EJB3 - Chapter 5 Entity Manager by bohnenさん、富岡さんPro…

JMX を使ってみた

JMX (Java Management Extensions) は、Java アプリケーション、VM などを監視するための標準 API です。J2SE 5.0 から標準で搭載されています。 JMX という API があるのは知っていましたが、訳あって今回はじめて使ってみました。 これ、便利です!! メモリ…

Java EE 勉強会 (第23回)

ポジションペーパー - 開発時のアンチパターン(失敗談) 設計判断に関するものやプロジェクト運営までいろいろ。 ベンダーツールに苦労した My World アンチパターン 大規模だったら EJB オレが使ってみたかった etc. Yahoo! Design Pattern の紹介 by かっく…

UMLツールで Java 5.0 のソースをリバースする

なかなかこれができるツールが少ないので、対応するまでの暫定対応。 ソースコードの 5.0 拡張構文をコメントアウトするだけ。 DisableJava5.rb をダウンロードして、ruby DisableJava5.rb source_path [target_path]とスクリプトを実行すると、 // 変換前 i…

必ずファイルをクローズする全行処理メソッド

http://d.hatena.ne.jp/t_yano/20061002/1159812712 http://d.hatena.ne.jp/t_yano/20061004/1159987463 http://d.hatena.ne.jp/yojik/20061007/1160158749 http://d.hatena.ne.jp/odz/20061006/1160168799面白そうだったので、自分でもやってみた。 みんな…

java.beans.XMLEncoder/XMLDecoder

標題のクラスに関してメモ。 対象クラスはデフォルトコンストラクタと getter/setter が必要。 したがって、BigInteger、BigDecimal、java.sql.* は使用不可。→ 使えない...(^^;) プリミティブ型のラッパクラスは対応している。 java.util.Calendar は toStr…