Java

バグパレード登録

前に書いておいた、eucJP-Openのデコーダがおかしい件とx-windows-iso2022jpのエンコーダがおかしい件がやっとこさバグパレードに登録されました。さてどうなるやら。英語が変なのは許して。 Bug ID 6824785 "eucJP-Open" decoder table is wrong Bug ID 682…

Aptana1.2.5.023247で問題発生?

今日久々にeclipseからアップデートのお知らせが出たのでドンッと更新。そうしたらワークスペースがデフォルトに固定されてしまった。つまり、"C:\Documents and Settings\user\workspace"(Windowsの場合)に固定。 当然作ってたパッケージ情報とかマッサラだ…

ようやくSAStruts

途中寄り道したJavaMaiとか文字コードとかをまとめたので、本題のJavaフレームワークに戻る。Teedaにいく予定だったけど、敷居の低さからSAStrutsに。 まずは概要を読んだ感想。 Struts2をベースにせず、Struts1をベースにしたところに漢を感じる。でもそれ…

日本語エンコーディング各種まとめその3

今度はデコードにおいてどの文字種をサポートしているかという表。まとめ切れてない。 文字種 Shift_JISISO-2022-JPx-euc-jp-linuxEUC-JPeucJP-Openwindows-31jx-windows-iso2022jpCP50220 NEC特殊記号未定義未定義未定義未定義○○○○一部未定義 NEC選定文字未…

日本語エンコーディング各種まとめその2

2009/04/01バグパレード登録済 その1はUnicode側中心だったけど、今度はその逆。これはありだろうか? Unicode Shift_JISISO-2022-JPx-euc-jp-linuxEUC-JPeucJP-Openwindows-31jx-windows-iso2022jpCP50220 げ (3052)集約------------------------¬ (FCFB)N…

日本語エンコーディング各種まとめその1

2009/04/01バグパレード登録済 (外字追加) (画像だとやっぱり良くないかなと思ってテーブルにしてみた) Unicode←→JIS/SJIS/EUCの癖をまとめてみた。基準はWindows。というか秀丸(汗)。秀丸は、きちんとしたEUC-JPだとかJISを解釈できるわけではないので、そ…

JavaVMのオプションを環境変数で設定する

なるほど、というか、前もこんなの見たことあったかも。環境変数にJAVA_OPTIONSを書いておくと、デフォルトのオプションとして使ってくれる、と。 JAVA_OPTIONS=-Dsun.nio.cs.map=x-windows-iso2022jp/ISO-2022-JP,windows-31j/Shift_JIS とか。

x-eucJP-Open

なるほど、windows-31jやらx-windows-iso2022jpと同じようなものなんでしょうか。 -Dsun.nio.cs.map=x-windows-iso2022jp/ISO-2022-JP,windows-31j/Shift_JIS,x-eucJP-Open/EUC-JP とかするとWindows最強とか? あれ?この場合、JISAutoDetect(x-JISAutoDete…

ISO-2022-JPへのエンコード時バグ

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6226510 JavaでISO-2022-JPの出力をすると、最後のSO(簡単に言うと漢字終わりの符号)が出力されないバグ。これまた昔のプロジェクトで発覚して、結局場当たり的な解決をした記憶が。 Java1.6では修正済…

java.nio.charset.spi.CharsetProvider

独自の文字コードセットを追加するためのしくみ。こんなのいつできたんやら。これとvm起動オプションでのsun.nio.cs.map変更で面白いことが色々できちゃいそうだな。 「Utilz 独自キャラクタセットの作成」とか見ると以外に簡単に実装できそう。

ということでx-eucJP-Open

気になるので調べましたよ。お手軽に検証できるエンコードだけですが。 結論から言えばEUC-JPとかx-eucJP-Linuxとまったく同じ挙動。今のところ何も違いが見つかってません。 ダメじゃん。(追試したらそういうわけじゃない感じなので取り消します) ちなみに…

なんとなくJavaMail

昔プロジェクトで使ってたJavaMailのhackが出てきたので、今のJavaMailはどうなっているのか確認。 現在はオープンソースとしてBSDとかGPLライセンスになっていたりして、やっぱり時代が進んでいるんだなぁとか。 Mercurialに寄り道 で、JavaMailのソースを…

式言語

今回のstruts2はOGNL式だったけど、JSPは元々EL式。最近はOGNLの10倍速くてif文まで書けるMVEL式というのが旬らしい。 ちょっと古いけど、http://www.theserverside.com/news/thread.tss?thread_id=46083なんかを見ると、確かに高速。(アホやってJesse君がdi…

struts2のインターセプタまとめ

要はServletのフィルタのstruts2版。構造も動きもほとんど同じ。だから、当然ログイン認証インターセプタというのが出てくる。そう思って探してるんだけど、なかなかちゃんとした実装が見つからない。インターセプタをちゃんと勉強すべきか? 欲しいログイン…

アノテーションまとめ

おはようさん。struts2のアノテーション機能をやる前にJava5のアノテーションのおさらい。忘れないうちにまとめとく。 そもそもアノテーションとは、宣言に対する付加情報で、式やら制御文やらメソッド呼び出しには付与できない。宣言っていうのは、クラス宣…

struts2自習その1

struts1も終わった(本当か?)ので、まずはstruts2へ。これならstruts1との比較もあるだろうし楽かなと。 で、 実践サンプルで学ぶStruts 2なんてものをチョイス。他にもいくつかよさそうな学習テキストがあるけど、まずは。 と、思ってたら、もう終わった。s…

struts1補習

ダイナフォームを忘れてた。フォームクラスを削除しちゃって、struts-config.xmlを書き換え、アクション側でこちょこちょ。悪くないな。 でもJSPに一覧データ渡すときに使うKeijiDataクラスが消えないから宜しくない。まぁそれだけ。

struts1自習終わり

Strutsで作るWebアプリケーション入門を教材としたstruts1の自習は終わりにした。 第3回はほとんど流し読みだけど、XDocletの事だけなので、まぁ、いらないだろう。必要になったら勉強すればいいし。 validatorに関しては、struts1.3でのメッセージの出し方…

antが動かん

例のstruts1.3で勉強しているアレですが、どうもantが動いてない@eclipse。でコンソールから試すと、これまたトラップ発動中であったりするわけで。 struts1.3に入っているblankアプリケーションのbuild.xmlは、どうも1.2用のままらしく、struts.jarとか書…

Tomcat5.5のデータソース

例のstruts1お勉強で出てきたデータソース。strutsが1.3なんでstruts-config.xmlには書けないし、server.xmlはいじりたくない。新しくDBインストールも嫌な感じ。 derbyをembeddedモードで使えないかと探したがserverモードじゃないとダメっぽい。 ローカル…

初心に戻ってお勉強中

過去やってた仕事では、フレームワークを使って一から構築なんてのも無かったし、一番長期のやつなんかは生servletという状態なので、Seasar2とかやりたくてワクワクしてるけど、今後来そうな案件を考えると一通りお勉強ということで。 Struts1 まぁ、その古…

書籍探し

ここのところ良書を探して本屋やらBookOffやらを徘徊しております。都内には出向かず近所だけ。 ワークフローやらMavenやらSeasarやらを探してるんですけどね。 インストールのしかた的な入門書は結構出てくるけど、アーキテクチャやら思想やらにちゃんと触…

ワークフローエディタ

XPDLを学習するためにXPDLエディタを物色。 JaWE まぁまぁいい感じなんだけど、アクティビティを勝手に自動配置しちゃうとか、トランジションの矢印が最短を結ぶ直線なのがちょっとアレ。 そのせいで通常のフローと戻るフローと同時に存在していると、その矢…

Java漬け

eclipse eclipseをバージョンアップ。面倒なのでPleiadesのall-in-one UltimateしかもJRE付きなんかをダウンロード&インストール。本当はJava版のJRE無しで十分なんだけど、Perl、PHP、C、Rubyとか言われるとつい欲張ってしまう。それにJRE付きって、1.4、1.…

お勉強中

いくら焦ってもすぐ仕事ができるわけでもないので、とにかくお勉強中であります。 まずは途中まで構想していたworkflowエンジンに手をつけておりまして。 そこで必要になったXPDLのお勉強をしていたり、 で、そこに出現したOGNL式について復習したりして、 X…

Javaは何に向いていて、何に向いていないのか

久々にタイトルにあるJavaネタで。 Javaは「仕方が無いから使っている」自分なので、Javaの使い道に違和感を感じることが結構多い。 たとえば、Javaで作ったWiki(Mrkrgnao)とか。なんじゃそりゃというのが本音。 あと、CMSもどうかと思う。と思って探したら…

JavaバイトコードだけでSegmentation Faultを出せるか?続編

やってみた。見事落ちた。 JavaのBug databaseに「あっさり」コメントしたが、とりあえずjvmを落とすことには成功。 ただ、これは、deleteOnExit()のBuffer Overflowを突いただけなので自分的には納得できない。バイトコードだけで落としたいのだ。 挑戦は続…

JavaバイトコードだけでSegmentation Faultを出せるか?

どうも最近運用しているサーバや、他の環境にて動いている某ウェブアプリが頻繁に落ちるという話が出る。 deleteOnExit()を使うと出る事が多いのだが、検証するとどうもそれが悪いわけではないような気がする。つまりこうだ。マルチスレッドな環境下で方や変…

バグ潰し

Javaの話題は久しぶり。好きなんだよなぁ。バグと戯れるのって。 とはいえ、仕事に係わるのでまじめに、かつ慎重に。 まずは前に書いたことのある、double-checked lockingとSingletonパターンの問題があって、でもそれは今回の原因ではなくて。 そうなると…

オプティマイズその後

いくつかのベンチマークで+3%程度の速度低下があったものの、それ以外では5〜15%程の高速化に成功。publicなメソッドのシグネチャを書き換えるような内容から不変値をループから追い出す単純な物、データ構造変更まで、思いつくのは殆どやった感じ。まだ余地…