谷本 心 in せろ部屋

はてなダイアリーから引っ越してきました

Java

Java DecompilerがNorton先生に怒られる話の続き。

エラーメッセージでちょっとググってみたら、 他のアプリケーションでも、同じ問題にぶつかってる人がたくさんいました。 何と「真っ白なウインドウを表示するだけ」のチュートリアルのようなソフトまでもが「疑わしい動作」として削除されてしまいました。 …

Oracle×Sunのまとめ記事。

OracleによるSun買収後の動きについて、 公式な発表と、blogなどでの反応がまとめられています。 僕としては、Sun Java(Hotspot)と、BEA Java(JRockit)の統合が一番興味深いですね。 It sounds to me like they want to take some of the cool parts of BEA'…

JavaOne 2010は9/19〜23

http://www.sun.com/ にアクセスすると http://www.oracle.com/ に転送されるようになりました。 http://www.sun.co.jp/ はまだ大丈夫ですが、 トップページにはOracleのロゴが出ています。 そんなわけで、OracleによるSunの買収は完了したようです。 Oracel…

引数なしのgetBytesがダメな理由。

Javaレビューへのトラックバックを頂きました。 http://d.hatena.ne.jp/cero-t/20100104/1262625958 言いたいことはわかるし、底大事なところだけれどもプラットフォームのエンコーディングを使いたい場合というのは結構あるので個人的には問題点だというの…

HashMapと無限ループとsynchronized

「HashMapのputとgetを同時に行うと、無限ループが発生する」という事は Javaエンジニアな皆さんならご存知だと思います。 1. 無限ループの再現 まずは論より証拠、無限ループになることを確認してみましょう。 こんなテストコードを書けば、すぐに再現でき…

拡張for文? foreach文?

僕は仕事でソースコードレビューをする機会が多いんだけど よく「Java5以降では拡張for文を利用すべき」という 指摘をすることがある。 ところが、国内外のエンジニア問わず 「拡張for文って何ですか?」って聞かれたり、 時には、聞かれないままIteratorで…

こいつは軽くヤバい、YouDebug。

JavaのBCIとかオンデマンドアタッチ(Attach API)じゃなく、 デバッガAPIでホゲればJava1.4でも使えるから便利だゼとかっていう アイデアだけはあったんですが、川口さんが形にしたようです。 YouDebugはデバッガであると同時にデバッガではありません。You…

関西でJavaコミュニティやります!

関西JAVAエンジニアの会として、第一回の勉強会を11/4(水)に開催します。 テーマはJava7、TestNG、Groovyあたりです。 参加申し込みはこちらから。残席わずかです! http://kokucheese.com/event/index/600/ どれぐらい人が集まるのか、どんなノリになるのか…

大阪でJavaコミュニティやります。

大阪では、Javaのコミュニティが実質的にありませんでしたが、、、 http://d.hatena.ne.jp/jyukutyo/20090825/1251276989 に書いた大阪のJavaコミュニティ、いよいよ始動します。 具体案も打ち合わせました。数日中にこくちーずします! 大阪Javaコミュニテ…

Java7の小さな言語仕様変更(Project Coin)の詳細が決まったらしい。

Java7の細かな言語仕様の変更を扱うProject Coinですが、 色々な案が出ていたうち、採用するものが決まったそうです。 Joseph Darcy has published Project Coin's final list of approved changes to the Java language for the forthcoming version 7 rele…

Eclipse4.0では、XWTというGUIフレームワークを使うらしい。

e4について調べてたら、こんなことが書かれていました。 XWT is a declarative UI designed for Eclipse. It is a powerful and lightweight framework. It uses XML as UI markup language. E4/XWT 要するに、XMLでSWTを書けるわけで、どこかで聞いたことが…

QALabでパスに日本語が含まれていると問題が起きる。

Hudsonで静的解析をアレコレやりたいと前から書いていますが、 プラグインがどうにもしっくり来ないので、 いっそ静的解析をQALab(+Limy)に任せようと思って調査しています。 が、タイトルに書いた通り、ファイルに日本語を含むパスがあると、 QALabは正…

Hudsonで静的解析の結果を見たりとか。

前回のエントリーのうち、Antで用いるJavaのバージョンは コメントを頂いた通りexecutable属性の指定で解決しました。 今までexecutable属性を使ったことがなく、存在を知りませんでした。 心より恥z(略 ちなみに Hudsonの環境変数で「JAVA14_HOME」とか「…

HudsonでFindBugsとかJavaNCSSとか。

HudsonでFindBugsやJavaNCSSの結果をまとめようと思ったんですよ。 対象プロジェクトは、Java1.4で開発するプロジェクトなんですが なんとFindBugsはJava5以上が必要になるプロダクト。 ビルドはJava1.4で行って、静的解析はJava5で行う必要があります。 ビ…

エンジニアのためのJavadoc再入門講座を読んだ。

後輩に読ませたい一冊になりそうなので、早速買って読んだ。エンジニアのためのJavadoc再入門講座 現場で使えるAPI仕様書の作り方作者: 佐藤竜一出版社/メーカー: 翔泳社発売日: 2009/06/30メディア: 単行本(ソフトカバー)購入: 15人 クリック: 263回この…

BTraceがProject Kenaiのホスティングに移ったらしい。

http://kenai.com/projects/btrace/pages/Home Kenaiは要するにSun版のSourceForge。

Eclipseからbuild.xmlをエクスポートできる便利プラグインないですか?

AntでFindBugsとかCheckstyleとか、Javadoc出力とか諸々したいんですが、 Eclipseからbuild.xmlを出力できる小気味良いプラグインってないですかね? Eclipse標準のエクスポート機能だと、FindBugsの実行をするようなbuild.xmlにはならないし LimyEclipsePlu…

HudsonとAntとFindBugs

HudsonとAntでFindBugsを実行することを考えた際、FindBugsのインストール手段に多少悩んだ。 Mavenを使っていれば、MavenにFindBugsプラグインを記述するだけで構わないかも知れないけど Antを使っている限りは、そういうわけにもいかない。 HudsonにFindBu…

VisualVMと、Googleの新フレームワーク

参加しなかったけど、面白そうだったセッション。 [TS-4247]Getting More Out of the Java VisualVM Tool http://developers.sun.com/learning/javaoneonline/j1sessn.jsp?sessn=TS-4247&yr=2009 Javaの統合デバッガツール「VisualVM」のセッション。 概要だ…

見えてきた、FindBugs 2.0。

[TS-5335]Defective Java Code: Mistakes That Matter http://developers.sun.com/learning/javaoneonline/j1sessn.jsp?sessn=TS-5335&yr=2009 「人多すぎ」で入れなかったFindBugsセッションの、アンコールセッション。 いまさらFindBugsの説明は要らないよ…

Java7のjavacとかjavapとか。

[BOF-4135]Java Programming Language Tools in JDK Release 7 Java言語ツール、要するにjavacとかjavapとかjavadocあたりのツールのBOF。 Java5の時に、javacとJLS(Java言語仕様)に乖離が生まれてしまったそうで それをJDK7の時に随分とあわせるようにし…

JavaVMが死ぬ瞬間の情報を出来るだけ取りたい。

[BOF-4870]JSR326: Diagnosing Deadly Java Platform Problems - Future of Java Technology Forensics JSR 326(Javaの診断機能)のBOF。 このBOFは、JSR 326のスペックリードであるSteve Pooleがスピーカーで、 この人はApache Katoっていうプロジェクトの…

JSR 292 (invoke dynamic) = 高速リフレクション

[BOF-5236]JSR 292 Cook Book JSR 292(動的なメソッド呼び出し)に関するBOF。 JavaOne2009における僕の一つのテーマは、この「JSR 292を把握すること」だったんだけど、 このBoFでは実際のJavaのコード断片などがでてきたおかげで、具体的に理解することが…

Java7でファイルシステムへのアクセスが一新

[TS-5052]Hacking the File System with JDK Release 7 http://developers.sun.com/learning/javaoneonline/j1sessn.jsp?sessn=TS-5052&yr=2009 Java7から利用できる、新しいファイルシステムについてのセッション。 java.nio.file.FileSystemというクラスを…

JavaのモニタリングとトラブルシューティングのBOF

[BOF-4724]Monitoring and Troubleshooting Java? Platform Applications with JDK Software 一つ前のセッションと同じ内容だけど、BOFだからきっと深い内容に、、、と 期待して入ったら、こっちの方が初心者向けだった。BOFのくせに(><) とりあえず内容…

いいからVisualVMとVisualGCとBTrace使っとけ。

[TS-4694]Debugging Your Production JVM Machine http://developers.sun.com/learning/javaoneonline/j1sessn.jsp?sessn=TS-4694&yr=2009 JavaVMのデバッグツールに関するセッション。 GCの説明から、Java標準のコマンドラインツールがいくつか紹介されてい…

やっぱり面白いEffective Java。

[TS-5217]Effective Java: Still Effective, After All These Years http://developers.sun.com/learning/javaoneonline/j1sessn.jsp?sessn=TS-5217&yr=2009 ジョシュアブロックのEffective Java。 昨年のおさらい(PECS)と、EnumやGenerics、シリアライズ…

クラウド上で、ビルドとテストをどうするか?

[TS-4230]Enterprise Build and Test in the Cloud http://developers.sun.com/learning/javaoneonline/j1sessn.jsp?sessn=TS-4230&yr=2009 クラウド上で、ビルドとテストをどうやるか。 Hudsonではなく、Continuum、というかSelenium Gridの話が中心だった…

Hudson + クラウドの実際的なところ。

[TS-5301]Continuous Integration in the Cloud with Hudson http://developers.sun.com/learning/javaoneonline/j1sessn.jsp?sessn=TS-5301&yr=2009 Hudsonをクラウドで使うためにやった工夫などを紹介するセッション。 前提知識として、↓のエントリの内容…

アノテーションから、テストケースを自動生成する。

[BOF-4554]From Annotations to Unit Test Code Generation Hibernate Validatorのアノテーションから、JUnitのテストケースを自動生成するBOF。 結論として、もし「Funniest Session」を選ぶなら、これを選びたいっていうぐらい おかしかったセッション。 …