1 名前:デフォルトの名無しさん [04/09/12 10:56:03] クラスもかなり増えてきた Apache Jakarta Commons について語るスレッド Apache Jakarta Commons jakarta.apache.org/commons/ 中でも便利なものが Commons Lang jakarta.apache.org/commons/lang/ Commons Collections jakarta.apache.org/commons/collections/ Commons FileUpload jakarta.apache.org/commons/fileupload/ とくにLangには equals(), hashcode(), compareTo(), toString() メソッドを簡単にオーバライドできるメソッドが用意されており重宝する。 そのほか、NestableExceptionはC#のような言語に頼らなくても 投げられ続けた例外を上書きせずに保持する事ができるので便利。 Collectionsは java.utilのコレクションクラスに不満を持つ者にとっては 朗報だ。ListとHashを兼ねた便利なクラスも用意されており、その数は豊富である。
2 名前:デフォルトの名無しさん mailto:sage [04/09/12 11:32:06] ・・・つうかJakartaスレでいいじゃねぇか。 削除依頼だしとけ。
3 名前:デフォルトの名無しさん mailto:sage [04/09/12 11:43:15] Jakartaスレは落ちたんだよな。 個人的にはApache/Jakartaスレとかにした方がいいと思うんだけど。 Jakartaスレにすると「Antの質問はここでいい?」とか出るし、途中でJakartaからApacheプロジェクトになるものもあるし、 ここもCommonsに限定するとそれ以外の質問はどこで?ということになる。 どれもたいしてスレの流れが速いわけじゃないから統一していいと思うんだよな。
4 名前:デフォルトの名無しさん [04/09/12 11:46:44] まあ、Jakartaスレの続きってことでいいんじゃねーか? どうせスレタイにCommonsとか書いてあっても 「Antの質問はここでいい?」ってくるよ 同じことだ
5 名前:デフォルトの名無しさん mailto:sage [04/09/12 11:47:41] sageわすれたスマソ
6 名前:デフォルトの名無しさん mailto:sage [04/09/12 11:48:39] Commonsを字面のまま受け取るということで。 Apache Jakarta 共通スレッド。
7 名前:デフォルトの名無しさん mailto:sage [04/09/12 11:50:12] >>1 に書いてあることからそれは無理があるけどな・・・
8 名前:デフォルトの名無しさん mailto:sage [04/09/12 11:52:44] >>7 しかし、1が挙げたものは使い方も単純で、議論の余地もなく、だから何?というものだからなぁ。 DigesterとかValidatorとか、ちょりっとめんどいものならトモカク。
9 名前:デフォルトの名無しさん mailto:sage [04/09/12 11:58:44] AntやTomcatでさえ単独スレ無いのに・・・ >>1 は空気・ふいんき(←なぜか変換できない)を読めない奴に違いない
10 名前:デフォルトの名無しさん mailto:sage [04/09/12 11:59:19] Tomcatは昔単独スレなかったっけ
11 名前:デフォルトの名無しさん mailto:sage [04/09/12 12:03:38] Commons BeanUitls Commons Configuration Commons DBCP Commons DBUtils Commons Net Commons Math Commons Pool も使える
12 名前:デフォルトの名無しさん mailto:sage [04/09/12 12:06:02] さっそくですが質問があります。 Commons Digesterを使って作成するBeanのコンストラクタをpublicにしたくありません。 これは可能ですか?
13 名前:デフォルトの名無しさん mailto:sage [04/09/12 12:07:02] >>10 かなり昔?別板じゃないの?WebProg板とか。 Tomcat4.0のころは、スレが必要なほどだったけど、もうプロジェクト的にも利用者的にも落ち着いたからな。
14 名前:デフォルトの名無しさん mailto:sage [04/09/12 12:08:12] >>12 で、どうやって使うツモリ?
15 名前:デフォルトの名無しさん mailto:sage [04/09/12 12:16:21] Apache Jakara Project-2.0 【Java】 pc5.2ch.net/test/read.cgi/tech/1094958940/
16 名前:デフォルトの名無しさん mailto:sage [04/09/12 12:19:35] >>13 www.wikiroom.com/java/?2ch%20Java%B4%D8%CF%A2%A5%B9%A5%EC%A5%C3%A5%C9%B0%EC%CD%F7
17 名前:デフォルトの名無しさん mailto:sage [04/09/12 12:28:24] >>12 Digesterってどういう香具師?
18 名前:デフォルトの名無しさん mailto:sage [04/09/12 12:31:26] >>14 できればgetterメソッドだけpublicにして使わせたいのです。
19 名前:デフォルトの名無しさん mailto:sage [04/09/12 12:33:16] >>17 XMLからJavaのオブジェクトを生成する。 主にXMLで記述した設定ファイルからJavaのオブジェクトに変換するために使う。 DIコンテナの機能限定版だといえなくもない。
20 名前:デフォルトの名無しさん mailto:sage [04/09/12 12:33:46] >>18 で必要になるオブジェクトはどこで生成するつもり?
21 名前:デフォルトの名無しさん mailto:sage [04/09/12 12:34:17] 漏れの持っているログ jakarta TOMCAT 2 pc5.2ch.net/test/read.cgi/tech/1075516112/ 《The Jakarta Project》 pc5.2ch.net/test/read.cgi/tech/1019996589/
22 名前:デフォルトの名無しさん mailto:sage [04/09/12 12:36:36] このスレは、新しい質問・話題をうけつけてません、ってことでOK?
23 名前:デフォルトの名無しさん mailto:sage [04/09/12 12:39:10] >>20 それをなんとかDigesterでできないかなと、、、、
24 名前:デフォルトの名無しさん mailto:sage [04/09/12 12:41:16] >>19 なんというか、SOAPとか シリアライズに似ているな
25 名前:デフォルトの名無しさん mailto:sage [04/09/12 12:43:36] >>24 逆。 XMLにシリアライズされているものをオブジェクトに戻す。 タグごとに生成するオブジェクトを決めれる。
26 名前:デフォルトの名無しさん mailto:sage [04/09/12 12:44:03] >>23 コンストラクタじゃなくてファクトリを使わせるつもり?
27 名前:デフォルトの名無しさん mailto:sage [04/09/12 12:46:30] Antの質問はここでいい?
28 名前:デフォルトの名無しさん mailto:sage [04/09/12 12:49:17] >>26 それいいですね。staticめ祖度dの呼び出しとか可能ですかねぇ。
29 名前:デフォルトの名無しさん mailto:sage [04/09/12 13:21:48] >>28 お手軽にXMLからオブジェクトにするためのものだからなぁ。 Relaxerとか、ほかのモノ調べてみたら?
30 名前:デフォルトの名無しさん [04/09/12 16:25:51] >>25 つまり、DigesterがあればSOAPとかWSDLがいらなくなるってこと?
31 名前:デフォルトの名無しさん mailto:sage [04/09/12 16:27:44] >>30 外出してたんで返事遅れてスマソ ありがと、他の手段も検討してみます。 じゃ、このスレはこれで終わりね。 ########################################################## 移行先スレ 【Java】Apache Jakarta Commons pc5.2ch.net/test/read.cgi/tech/1094954163/
32 名前:デフォルトの名無しさん mailto:sage [04/09/12 16:46:29] ΩΩΩ<なんだってー?
33 名前:デフォルトの名無しさん mailto:sage [04/09/12 16:49:03] >>23 Javaのオブジェクト生成はコンストラクタかデシリアライズか クローンのいずれかを経なければならなので普通に考えると無理っぽい。 Digesterって簡単に言ってしまえば、XMLを読み込みつつ、 既成のBeansクラスを生成してsetXXXしていくだけのもんだか らなあ。 強いて言えば、Digesterからはファクトリ経由で生成するようにして、 ファクトリではそのオブジェクトをシングルトンとして扱う、くらいか な。
34 名前:デフォルトの名無しさん mailto:sage [04/09/12 16:55:46] >>30 シリアライズされないって。 機種非依存でもないし。
35 名前:デフォルトの名無しさん mailto:sage [04/09/12 21:12:21] >>30 出直してこい
36 名前:デフォルトの名無しさん mailto:sage [04/09/13 20:40:19] JJar っていうのが気になるんだけど何をするものかがわかんねぇッス
37 名前:デフォルトの名無しさん mailto:sage [04/09/13 21:04:21] >>36 Jakartaの最新リリースを自動的にとってくる仕組みらしい。 opt-getみたいなやつかな。 antから使えるみたいだね。
38 名前:デフォルトの名無しさん mailto:sage [04/09/13 23:31:34] よみかたは「ジャジャー」ですか?
39 名前:デフォルトの名無しさん mailto:sage [04/09/14 03:16:26] >>36 CPANのJava版だよ。 Apache MavenでもAPIの自動ダウンロードに使われている。
40 名前:デフォルトの名無しさん mailto:sage [04/09/14 03:17:19] >>36 CPANのほかに、 FreeBSDのPorts. Linuxのyumみたいなものだろうか。
41 名前:デフォルトの名無しさん mailto:sage [04/09/14 03:22:03] Jakartaスレの前スレでも同じ話が出てたな
42 名前:デフォルトの名無しさん mailto:sage [04/09/18 18:23:16] commonsいいね、ソース読んでぱくらずにはいられなくなった。上手だね使い方 俺用にcommons.jarっての全部まとめた奴で配布してください。
43 名前:デフォルトの名無しさん mailto:sage [04/09/19 03:23:39] すでにライブラリだから、パクるひつようもない・・・
44 名前:デフォルトの名無しさん mailto:sage [04/09/19 04:55:20] マジレスすれば、たぶんソースコードで使われている技術的な パターンというかやり方を、別のとこで流用するとか、そんな 話だとおもう
45 名前:デフォルトの名無しさん [04/09/20 03:59:04] DIgester で Commons Digester muimi.com/j/jakarta/commons/digester/ の例での addChild() のよーなメソッドを入れずに ルールの記述だけで 子要素を追加する方法ってあるだろーか?
46 名前:デフォルトの名無しさん mailto:sage [04/09/20 05:34:08] >>45 なんか質問の意味がいまいちつかめん。 DigesterだとSetNextRuleで親コンポーネントに自分を登録する、 てのは普通のことだと思うが、それをしたくないってこと? だとすると、具体的にどういうのが理想だといってるんだろ?
47 名前:デフォルトの名無しさん [04/09/20 13:05:05] >>42 Mavenで自動ダウンロードしちゃえばそんな 手間も掛けずに済むでえ
48 名前:デフォルトの名無しさん mailto:sage [04/09/20 13:15:07] >>34 やっとDigesterがどんなものかわかったよ。 ようするに、ぶっちゃけ JAXBみたいなもんだったんだね。
49 名前:デフォルトの名無しさん mailto:sage [04/09/20 15:21:28] >>48 つうか、SAX2をつかってXMLを読み込んで、対応するbeanを 簡単に作成する技術だと思いねえ。 SAX2もDOMも「読むだけ」でbeanは自前で作るんで、その辺を 解決しようと言うものだな。
50 名前:45 [04/09/20 20:39:50] >>46 getXXX()/setXXX()メソッドのみ記述していある普通のbeanを素で使いたいの だが、Digesterの場合はプログラム中で必要なくても 子要素追加には addXXX() が必要になるじゃんスか。
51 名前:デフォルトの名無しさん mailto:sage [04/09/21 03:59:31] >>50 ?????? SetNextRuleというのは、終了タグが来た時に親オブジェクトに対して 「引数の文字列で指定したメソッド」を実行するルールだぞ? たしかにDigesterのサンプルの大部分は下のような例になっている。 digester.addSetNext( "hoge/hage", "addHage"); でもこれは hoge/hageが見つかった時に親オブジェクトに対して addHage()メソッドを呼べ、という意味だろ。 じゃあ、上記の第2引数を「setHage」と書き換えたらあんたの希望 の動作になるんじゃないのか?
52 名前:50 [04/09/21 23:36:38] >>51 言葉足らずですまん。子要素ってのは単一項目じゃなくてList系のやつ。 希望の動作としては 子要素作成、子要素作成、子要素作成、子要素リストを一気に登録。 書き方がわかるやりかたは 子要素作成・追加、 子要素作成・追加、 子要素作成・追加、… って感じかなぁ。 しかし、strutsとかで使っているDigesterから生成する設定クラスもaddXXX()メソッド みたいなのばっかだから、これでいいか…。
53 名前:デフォルトの名無しさん [04/09/22 00:22:41] >>50 お前は何を一人でぶつぶつ言ってんだよ。
54 名前:デフォルトの名無しさん mailto:sage [04/09/22 00:24:48] 変な人は放置しよう
55 名前:デフォルトの名無しさん mailto:sage [04/09/22 01:10:42] >>52 Digesterの話をしてるんだからXMLとJavaで話せ。 こういうXML文書をこういうクラスにマップする、みたいに。
56 名前:デフォルトの名無しさん mailto:sage [04/09/22 01:33:28] >>33 リフレクション使えばprivateだろうが問題ない。
57 名前:デフォルトの名無しさん mailto:sage [04/09/22 01:43:53] >>56 マジデスカ?
58 名前:デフォルトの名無しさん mailto:sage [04/09/22 02:13:35] digester は、JavaとXMLだけではちと直感的にわからない。 Stackを頭に描きながらサンプルを追いかけるべし。
59 名前:33 mailto:sage [04/09/22 02:15:50] >>56 そっか。そりゃそうだな。 それでFactoryCreateRule使って、ファクトリ内で リフレクションを使ってオブジェクト生成してやるか。
60 名前:デフォルトの名無しさん mailto:sage [04/09/22 02:30:42] よく考えれば依存性注入ってそうやってやってるんだったな....
61 名前:デフォルトの名無しさん mailto:sage [04/09/22 02:31:31] >>56 呼び出したらエラーでない?
62 名前:デフォルトの名無しさん mailto:sage [04/09/22 02:51:17] 単純に Test.class.getDeclaredMethod("test", null).invoke(obj, null); とやってprivateなtestメソッド呼び出したらIllegalAccessException出るんだけど、DigesterからならOKなの?
63 名前:デフォルトの名無しさん mailto:sage [04/09/22 15:18:29] >>62 setAccessible(boolean) または AccessibleObject.setAccessible(AccessibleObject[],boolean) は実行した? これしないとフィールド取ってきてもアクセスできない。
64 名前:デフォルトの名無しさん mailto:sage [04/09/22 20:41:01] >>63 えー、そうなん。 知らんかった。 疑ってごめんよ。
65 名前:デフォルトの名無しさん mailto:sage [04/09/26 18:45:32] >>64 ここ見ろ。 ttp://muimi.com/j/reflection/
66 名前:デフォルトの名無しさん mailto:sage [04/09/27 02:10:13] ・・・なぜこの文脈で紹介されるのか、意図が不明だった。
67 名前:デフォルトの名無しさん mailto:sage [04/09/27 16:36:18] >>15 のスレがDAT落ちした・・・。
68 名前:デフォルトの名無しさん mailto:sage [04/09/28 01:11:45] あっちが本スレのはずだったのに・・・
69 名前:デフォルトの名無しさん mailto:sage [04/09/29 11:31:27] jakarta-commons/comboすげーぜ エラーで詰まるけどね
70 名前:デフォルトの名無しさん mailto:sage [04/09/29 14:30:41] >>69 combo?なにそれ?
71 名前:デフォルトの名無しさん [04/09/29 23:02:52] digesterよりbetwixtの方がもっと簡単にJava⇔XML変換できそうなんだけど 使ってみた奴いる?
72 名前:デフォルトの名無しさん mailto:sage [04/09/29 23:31:49] >>71 それはまあ事実なんだけど、betwixtのXML形式でいいや、というときだけだぞ。 digesterは任意のXMLファイルを読み込んでJavaBeansを生成する技術。betwixtは JavaBeansを所定の形式のXMLファイルへ変換(または逆)するものだな。 betwixt自体、内部でdigester使ってるし。
73 名前:デフォルトの名無しさん mailto:sage [04/09/30 00:53:48] >>71 digesterはXML→Javaでしょ。逆はないよ。
74 名前:デフォルトの名無しさん mailto:sage [04/09/30 01:26:07] >70 cvs.apache.org/viewcvs.cgi/jakarta-commons/combo/ ここなんだけど、かなり古い情報でこしらえる。これは利用するもんじゃないの? ちゃんとこしらえてくれるならいいと思うんだけど
75 名前:デフォルトの名無しさん mailto:sage [04/09/30 01:55:40] >>74 表にはでてないよね? なにするもの?
76 名前:デフォルトの名無しさん mailto:sage [04/09/30 11:13:59] comboはcommonsのライブラリ群を1つにまるめるだけです。 antタスクで1つずつ落としてビルドしてく原始的なもんです 自分は助かったんですが、ここの住人には無意味かも知れません
77 名前:デフォルトの名無しさん mailto:saga [04/09/30 14:11:53] ちと質問です。 betwixtを使って、XML⇔Beanを相互変換するわけですが、 そのとき、Beanが複数のクラスで構成されている場合、つまり 例) public class AbcForm extends ActionForm { private ArrayList xyzList = new ArrayList(); public void setXyzList(Xyz aRec) { xyzList.add(aRec) } public ArrayList getXyzList() { /*省略*/ } } public class Xyz{ private String x = new String(""); private String y = new String(""); private String z = new String(""); /*以下、setter getter*/ } こういうクラス構成の場合、Bean→XMLに変換するときはうまく変換してくれるのですが、 XMLからBeanに変換するとき、Xyzのフィールドに値が入ってくれません。(Xyzクラスのgetter setterが呼ばれない) やはり、Xyzクラスのsetter getterはAbcFormクラスの中に作成しないとダメなんでしょうか?
78 名前:デフォルトの名無しさん mailto:sage [04/09/30 14:24:32] >>76 mavenなら不要、とかそんな話かな。
79 名前:デフォルトの名無しさん mailto:sage [04/09/30 17:08:34] >78 ずばりそうです
80 名前:デフォルトの名無しさん [04/09/30 23:03:11] >>77 jakarta.terra-intl.com/commons/betwixt/overview.html public class SomeBean { public <CollectionType> getFoo*(); public void addFoo(<SingularType> foo); } できるっぽい。試して報告汁
81 名前:デフォルトの名無しさん [04/10/01 02:07:13] >>80 情報dクスです。 Adderメソッドですか・・・。 月曜にでも試して報告します。 ありがとうございました!
82 名前:77 mailto:sage [04/10/06 00:18:25] 遅れました。betwixtのリスト構造での動作確認しました。 addメソッド使えばリスト構造もイケます。 ArrayListとかも使えるので結構便利です。ですが、 リスト構造の場合、まだbetwixtファイルとの連携ができてません。 (できてる人いたら教えてください・・・) <addDefaults/>を使えば、それなりに自分の望んだ形にはなってくれるのですが・・・。 >>77 のようなクラスの場合、betwixtファイルを使うときははAbcFormクラス用とXyzクラス用の betwixtファイルを作成する必要があります。 そんな感じっす
83 名前:デフォルトの名無しさん mailto:sage [04/10/07 23:22:33] >82 どの部分が引っかかってるのか もう少し詳しく教えていただけないでしょうか?
84 名前:デフォルトの名無しさん [04/10/09 03:00:14] デフォルトだと <xyzList> <xyz> <xyz> </xyzList> みたいな構造のXMLが変換可能で<xyzList>タグが必要になる。 これを防ぐには.betwixtファイルが必要(最低6行程度のXML) .betwixtファイルなしではできなそうだが・・・何か方法あるのか?
85 名前:デフォルトの名無しさん mailto:sage [04/10/09 17:42:16] betwixtファイルなしだったら、_じゃね? そもそもbetwixtファイルなしじゃないといけないことってあるのかな?
86 名前:デフォルトの名無しさん mailto:sage [04/10/09 22:32:33] commonsのsandboxの位置付けは何ざましょ 見てかなり有用なもんだとは思ったのですが、利用されてますか?
87 名前:デフォルトの名無しさん mailto:sage [04/10/10 01:15:35] >>86 Sandboxにあるのはまだテスト中というか、commonsに組み込める品質に達してない、 試行錯誤段階にあるってこと。
88 名前:デフォルトの名無しさん mailto:sage [04/10/11 10:29:39] サンドボックスモデルのこと
89 名前:デフォルトの名無しさん mailto:sage [04/10/20 20:36:45] みんなjakartaぐらい綺麗なコード扱ってるかい!!??? 自慢じゃないが比較にならない程にごちゃごちゃで汚いコードです。 恐縮です。
90 名前:デフォルトの名無しさん mailto:sage [04/10/20 21:08:48] Jakartaもマイナーなところは結構コードがきたなかったりする。
91 名前:デフォルトの名無しさん mailto:sage [04/10/24 11:14:23] Jakartaは綺麗だよな。 GNU関係のは結構ひどい。
92 名前:デフォルトの名無しさん [04/11/11 22:50:01] xmrpcが日本語対応してないって↑記事があったので 変更してコンパイルしようとするとコンパイルが通らない antかと思ったらmavenみたいでantでコンパイルしてもコンパイルは 通るけどうごかず、mavenでコンパイルしようとすると 以下のようなエラーがでるんですけど、どうすればいいんでしょうか・・ --------------------------- Attempting to download jsse.jar. WARNING: Failed to download jsse.jar. Attempting to download jnet.jar. WARNING: Failed to download jnet.jar. Attempting to download jcert.jar. WARNING: Failed to download jcert.jar. The build cannot continue because of the following unsatisfied dependencies: jsse.jar (try downloading from java.sun.com/products/jsse/ ) jnet.jar (try downloading from java.sun.com/products/jsse/ ) jcert.jar (try downloading from java.sun.com/products/jsse/ )
93 名前:デフォルトの名無しさん [04/11/11 23:15:34] その3つのjarダウンロードしてきて ローカルリポジトリに手動で入れるしかないんじゃない? エラーメッセージもっとないとこれ以上はわからん
94 名前:デフォルトの名無しさん mailto:sage [04/11/11 23:28:36] >>93 レスありがとうございます エラーメッセージはあと ---- Total time: 6 seconds Finished at: Thu Nov 11 22:57:39 JST 2004 ---- だけです…。mavenのリポジトリフォルダってやたらたくさん フォルダがありますけど、どこに入れたらいいかわかります? ダウンロードできない理由もよくわからず・・・
95 名前:デフォルトの名無しさん [04/11/11 23:30:23] ・・・92でアドレス貼り忘れてた参照したページ XML-RPCのソースの以下の箇所を修正した。 blog.livedoor.jp/elis/archives/485398.html XML-RPCは日本語にデフォルトでは対応させていない backno.mag2.com/reader/BackBody?id=200406281000000000094752000
96 名前:デフォルトの名無しさん [04/11/11 23:38:11] maven --debug でやってみると何かわかるかも
97 名前:デフォルトの名無しさん mailto:sage [04/11/11 23:54:51] >>96 おーいっぱい情報でますねー。 ちょっとこれ調べてみます。基本的なこともしらずに申し訳ないです・・・。 レスありがとうございました〜。
98 名前:デフォルトの名無しさん [04/11/11 23:54:54] デフォルトのリモートリポジトリwww.ibiblio.org/maven にダウンロード しに行って404のようですね。
99 名前:デフォルトの名無しさん [04/11/12 00:19:23] >>98 レスありがとうございます。 どうやらそのようです。で、そこで表示されてたローカルリポジトリ(こんなとこだと 思ってませんでした)にダウンロードしてjarを入れてコンパイルしたら buildは通ったのですが、生成物が見あたりません・・・ maven.xmlで定義されてる${maven.build.dir}ってどこのことなんでしょうか・・・
100 名前:デフォルトの名無しさん [04/11/12 01:03:14] 解決してないけど今日は落ちますー 回答くださった方ありがとうございました
101 名前:デフォルトの名無しさん [04/11/12 01:04:48] maven jar で target/xmlrpc-1.2-b1.jar が出来上がったよ。
102 名前:デフォルトの名無しさん [04/11/12 01:12:35] mavenのスレ誰か作って。このスレと同じ過疎スレになるかもしれんが・・・ 慣れるまでが結構大変なんだけど、慣れるとめちゃめちゃ便利なツール。 リファレンスは少なめ。悲しい
103 名前:デフォルトの名無しさん mailto:sage [04/11/12 01:14:14] >>101 おおおおおおおおおおgoal指定になるのかな? antと同じ感覚で $maven としか入力してませんですた・・・ちゃんと書くべきでしたね。 一回目失敗して二回目で無事できました! ホントにありがとうございました<m(_)m>
104 名前:デフォルトの名無しさん mailto:sage [04/11/12 01:15:30] >>102 さっきみつけたんですが 【玄人】我が名はプロジェクトマネージャーMaven@プログラマー pc5.2ch.net/test/read.cgi/prog/1090129578/l50 にあります。マ板ですが・・・すでに過疎の風が吹いてます。 やっぱム板にたてるべきですよね、PMだからムだそうですけど
105 名前:デフォルトの名無しさん [04/11/12 01:53:35] MavenでJakarta CommonなどJakartaに 存在するすべてのライブラリをダウンロードするには どうすればいいのかな? わざわざ長いXMLコードを書かないといけないのかな?
106 名前:デフォルトの名無しさん [04/11/23 00:06:01] JRCS無くなったのか・・・CVSに残骸しかない・・・ APIリファレンスどっかに落ちてないかなぁ
107 名前:デフォルトの名無しさん [04/11/23 04:28:04] Commonsじゃないけどよさげなライブラリ見つけたのであげ Joda-Time joda-time.sourceforge.net/ 日付と時間のライブラリ。Date,Calendarの代用 ネタ元はここ(Introducing JDesktop Integration Components, Part 2) today.java.net/pub/a/today/2004/11/01/jdic2.html JDICとSaverBeansの紹介記事
108 名前:デフォルトの名無しさん [04/12/05 21:46:10] 攻略Jakarta Commons たなか ひろゆき (著) www.amazon.co.jp/exec/obidos/ASIN/4797325208/ref%3Dnosim/terrainternin-22/250-8125910-7672254 この本ってどうよ?
109 名前:デフォルトの名無しさん mailto:sage [04/12/05 23:45:48] >>108 マジレスしとくと、おれは良い本だと思ったよ。仕事で重宝している。
110 名前:デフォルトの名無しさん mailto:sage [04/12/10 00:44:19] その本はかなりいい本だよ
111 名前:デフォルトの名無しさん mailto:sage [04/12/13 11:27:50] 総攬するにはかなり良い本。
112 名前:デフォルトの名無しさん [04/12/24 15:56:37] ja-jakartadj?
113 名前:デフォルトの名無しさん mailto:sage [04/12/25 05:05:05] >>112 ああ、そういえばとんでたらしいな。
114 名前:デフォルトの名無しさん mailto:sage [04/12/25 10:16:57] Commons XMLIOての見かけたんだけど、何がうれしいんだろう・・?
115 名前:デフォルトの名無しさん [04/12/26 17:57:33] WinXPSP2な環境なのですが、 Apache2のインストール時にサービス登録でエラーになってしまいます。 回避方法はありますでしょうか?
116 名前:デフォルトの名無しさん mailto:sage [04/12/26 20:40:06] >115 あなたの行くべき場所は以下の板のどこか。ここではない。 pc5.2ch.net/mysv/
117 名前:デフォルトの名無しさん mailto:age [05/01/03 01:17:25] . k. m ktyr aeoe. oooo
118 名前:デフォルトの名無しさん mailto:sage [05/01/03 15:58:09] かもーん。 >>115 exeやmsi形式ではなく zip形式のApacheを導入してしまえ。 そもそもどんなエラーメッセージがでたのかわからなければ 答えようがない。
119 名前:デフォルトの名無しさん [05/01/13 11:04:34] コマンドライン(正確にはemacs)から ant + junit でユニットテストをしています。 ソースツリーの中のすべてのテストクラスを動かすときは、 ・test とかいうターゲットを作る ・その中で <batchtest> タスクを使う(結果は <junit-report> タスクで html に吐いている) ・コマンドラインから、 c;\>ant test みたいな感じで実行 ってやってますが、全部のテストクラスを動かすと時間がかかるので、 テストクラスをひとつだけ動かしたいときがあります。 その場合、 <test name="jp.co.**.**.HogeTest" > みたいな感じで テストクラスを指定しますが、これだと毎回 build.xml に書き込まないと行けません。 ant test HogeTest みたいに コマンドラインの引数を渡して実行することは出来ないでしょうか? ant の場合、ant test HogeTest とすると、 test ターゲットを実行して、次に HogeTest ターゲットを実行しようとしますよね?
120 名前:デフォルトの名無しさん mailto:sage [05/01/13 11:39:55] >>119 ターゲット <target name="test"> <junit> <test name="${junit.target}"/> </junit> </target> 実行 ant -Djunit.target=HogeTest test これでどうでしょう? ところで、折角emacs使ってるんだし、ant実行するのにコマンドライン戻るのももったいないので、 emacs-lisp使ってemacs内でant実行できるようにしたらどうでしょう? antじゃなくてmakeでのやり方がここに載っていますが、 ttp://homepage3.nifty.com/masarl/article/junit/gnu-make.html ttp://homepage3.nifty.com/masarl/article/junit/gnu-make/junit.el これを参考にすればant用のが書けるはずです。
121 名前:119 mailto:sage [05/01/13 14:44:38] > ところで、折角emacs使ってるんだし、ant実行するのにコマンドライン戻るのももったいないので、 > emacs-lisp使ってemacs内でant実行できるようにしたらどうでしょう? はい、>>119 ではあのような書き方をしていますが、実際にはemacsからantを呼んでいます。 私の emacs は、>>120 で教えていただいたような特別な elisp は入れていなくて (JDEE とかは入れているけど) .emacs で M-x compile の初期値を ant.bat -emacs -find build.xml にして、C-c c に M-x compile を割り当てて、 java モードの時は C-c c でコンパイルしています。 >>120 で教えていただいた方法だと、-Djunit.target=HogeTest test とタイプするのが面倒だなと思いましたが、M-x compile は前回入力した 項目を覚えているから、それほど苦ではないかな。 >antじゃなくてmakeでのやり方がここに載っていますが、 >ttp://homepage3.nifty.com/masarl/article/junit/gnu-make.html >ttp://homepage3.nifty.com/masarl/article/junit/gnu-make/junit.el >これを参考にすればant用のが書けるはずです。 どうもありがとうございます。 やってみます。
122 名前:デフォルトの名無しさん mailto:sage [05/01/15 12:19:31] >>115 亀レスだけど、前IISが動作してるPCで、IIS止めるの忘れてインストールしたら同じような現象になったよ。 サービス止めてからインストールし直したら直った。 もしIIS入れてないなら、XPのSP2がなんか悪さしてるのかもね。
123 名前:デフォルトの名無しさん [05/01/16 02:13:08] solaris8上でvelocity.logを自作シェルスクリプトでローテートさせたいのですが、 サーバを再起動せずにログをmvするという単純なフローを考えています。 このやりかたで大丈夫かどうか教えてください。
124 名前:デフォルトの名無しさん mailto:sage [05/01/17 15:03:00 ] mvするってことは(同一ファイルシステム上なら)rename(2)する、つまり ディレクトリからファイルを指す名前を変えるだけですよね。 ログを開きっぱなしで追記していくなら、ネイティブコードレベルでは、 openしたときに確定したファイルディスクリプタ(ファイル名は既に無関 係)に対してwriteしていくだけなので、それだけではそのまま新しい名 前のファイルに書き続けることになるような気がします。 書く度にログをオープン/クローズするならmvするだけでよいハズ。
125 名前:デフォルトの名無しさん mailto:sage [05/01/17 20:48:15 ] Apache Web Serverは再起動しなくちゃダメだよね。 他は大体大丈夫のはず。
126 名前:デフォルトの名無しさん mailto:sage [05/01/19 09:31:49 ] >>120 そのやり方に味付けをするとすれば ドメインパッケージ名があるとき、 パッケージ名の一部はコード内に書いたほうがよさげ。 うちはEclipse + Ant を使ってしまっているから そんなことをする必要性が感じないのだ〜
127 名前:デフォルトの名無しさん [05/01/23 01:48:03 ] いい解説ページってないですかね validator使いたい
128 名前:デフォルトの名無しさん [05/01/23 02:09:25 ] イベント関係のAPIをまず勉強してみたいのですが、どの辺りがよろしいのですか? あと、これのライセンスは現状で確定ですか?使えるなら6ヵ月後のプロジェクト の試作品をこれで作ってみたい。
129 名前:デフォルトの名無しさん mailto:sage [05/01/23 02:09:26 ] 「攻略 Jakarta Commons」という本は、Commons解説本として良い本だと思う。
130 名前:デフォルトの名無しさん mailto:sage [05/01/23 02:10:33 ] >>128 これってどれだよ。
131 名前:デフォルトの名無しさん mailto:sage [05/01/23 10:18:46 ] イベント関係じゃ何がなんだか これも何かわからんし こんなPMこわひ
132 名前:デフォルトの名無しさん mailto:sage [05/01/23 20:22:14 ] >>128 イベント関係ですか。それならActionListenerが最強です。 ライセンスもSUNが握っていますが、あなたがActionListenerを使うだけにおいては何ら問題ないです。
133 名前:デフォルトの名無しさん mailto:sage [05/01/23 22:26:18 ] 最近イベントで流行ってるAPIといえばEJB3じゃねぇか? 次のカンファレンスでもEJB3の話あるし、どのイベントでもEJB3とりあげてる。
134 名前:デフォルトの名無しさん mailto:sage [05/01/23 23:12:12 ] 最近のイベントのライセンスはどうなんだろうね。
135 名前:デフォルトの名無しさん mailto:sage [05/01/25 14:26:24 ] Ant1.6.2のCvsChangelogタグのバグにやられた。 prevrevisionが全然出てこなくて、「なぜだー?」と思ったら、 Bug#: 24569 summary: cvschangelog not adding prevrevision on all files ttp://issues.apache.org/bugzilla/show_bug.cgi?id=24569 こういうことだった。半年以上ほったらかしか・・・ パッチ書くのも面倒なので1.6.0に下げて対応することにした。
136 名前:デフォルトの名無しさん [05/01/29 01:58:55 ] Jakarta Commons Cookbook www.amazon.co.jp/exec/obidos/ASIN/059600706X/ 誰かこれ買った奴いる? 感想教えてちょ。
137 名前:デフォルトの名無しさん mailto:sage [05/01/31 19:11:31 ] >129 解説本と言うよりは紹介本だと思う。 こんなことやあんなことが出来るといわれ 興味を持っていろいろ調べようという気にさせてくれる。 解説本としては紙幅が足りない感じ。 とはいえ良い本だと思う。 >128 Jakarta ではないけれど、Spring の ApplicationListener とか。
138 名前:デフォルトの名無しさん [05/02/09 16:39:51 ] TomcatのセッションIDの桁数ってどう設定するのでしょうか?
139 名前:デフォルトの名無しさん mailto:sage [05/02/11 12:23:32 ] >>138 え?そんなんできんの?俺も知りたいなー。
140 名前:デフォルトの名無しさん mailto:sage [05/02/11 13:14:27 ] >>138 え?Tomcatってcommonsだったか?
141 名前:デフォルトの名無しさん mailto:sage [05/02/11 16:50:04 ] >>140 分かりづらいつっこみだな
142 名前:デフォルトの名無しさん mailto:sage [05/03/05 14:24:40 ] RandomStringUtils萌え
143 名前:デフォルトの名無しさん mailto:age [05/03/17 16:10:33 ] javaのjsp/サーブレットの参考書を読んでいます。 Apacheの設定でNetwork DomainとServer Nameにlocal hostと入力し Apacheの動作確認をしたところ、ブラウザを開き localhost/ または、 http://(コンピュータ名、ipアドレス)と入力するとあります。 すると、ドットゲートサービスと出てユーザ名とパスワードがでました。 設定した覚えがないので、進めることができません。 OS:xp Apache:1.3.24 メーカー:NECです。 わかるかたお願いします。
144 名前:デフォルトの名無しさん mailto:sage [05/03/17 17:01:37 ] NECが入れてるapacheの設定に関することのようなので、 NECに聞いてください。
145 名前:デフォルトの名無しさん mailto:sage [05/03/17 17:06:55 ] 訳: メーカーは関係ないだろう、と
146 名前:デフォルトの名無しさん mailto:sage [05/03/17 18:01:14 ] いや、apacheプリインストールで「ドットゲートサービス」 なるものを提供しているNECのパソコンがあるようなので(ぐぐった)、 それのことかな、と。
147 名前:デフォルトの名無しさん mailto:sage [05/03/17 18:13:35 ] あーすまん勘違いでした。 >143 まあ適当に飛ばしてtomcat単体で動かせば良いと思う
148 名前:143 [05/03/17 19:50:04 ] 了解!飛ばしてやってみます
149 名前:デフォルトの名無しさん mailto:sage [05/03/17 20:40:10 ] >>146 ネタかと思ったら、本当にあるのね。 Webアプリケーションの開発とかに使うのなら、一度削除してから 自分で再インスコするほうがよさそうだけど。
150 名前:デフォルトの名無しさん mailto:sage [05/03/20 08:39:26 ] つか、初心者用の本で、わざわざ最初にApacheとの連携させる意味がわからんな。
151 名前:デフォルトの名無しさん [2005/03/24(木) 11:02:01 ] 前スレ(?)をHTML化してもらいました. 《The Jakarta Project》 ruku.qp.tc/dat2ch/0503/23/1019996589.html
152 名前:デフォルトの名無しさん [2005/03/31(木) 23:31:18 ] antの質問いいですか?
153 名前:デフォルトの名無しさん [2005/03/31(木) 23:31:41 ] antってなんですか?
154 名前:デフォルトの名無しさん [2005/03/31(木) 23:32:03 ] 山は死にますか?
155 名前:デフォルトの名無しさん [2005/03/31(木) 23:32:24 ] 川はどうですか?
156 名前:デフォルトの名無しさん [2005/03/31(木) 23:33:14 ] >>152 叔母です。
157 名前:デフォルトの名無しさん mailto:sage [皇紀2665/04/01(金) 11:43:27 ] 豊はなんでしょうか?
158 名前:デフォルトの名無しさん [int 2ch =5年,2005/04/02(土) 15:20:07 ] BigDecimalのUtilってないかな?
159 名前:デフォルトの名無しさん [2005/04/20(水) 16:28:13 ] 荒れてますね・・・ Jakarta Commons Daemon jakarta.apache.org/commons/daemon/ を使ってる人いますか?使い勝手とか感想が聞きたいんですけど・・・
160 名前:デフォルトの名無しさん mailto:sage [2005/04/20(水) 22:22:41 ] >>159 仕方がないとはいえ、Cで作ったライブラリを一部使うので、jarがあればどこでも使えるというわけには いかない。狙い所はいいのに、なんとかならんものか。
161 名前:デフォルトの名無しさん mailto:sage [2005/04/20(水) 22:54:57 ] SWTとかJDICみたいに、それぞれのOS用のバイナリがあればいいだけじゃない?
162 名前:デフォルトの名無しさん [2005/04/21(木) 05:56:02 ] >>160 OSに深くかかわる部分だしある程度は仕方ないね
163 名前:デフォルトの名無しさん mailto:sage [2005/04/21(木) 22:01:27 ] Windows だけのことを考えるなら JavaService の方が使い勝手は良さそう。
164 名前:デフォルトの名無しさん [2005/05/18(水) 20:54:39 ] 保守
165 名前:デフォルトの名無しさん [2005/05/19(木) 07:27:22 ] Apache FtpServer incubator.apache.org/projects/ftpserver/ 誰かつかったことある人います? 使用感とか教えていただけると助かります。
166 名前:デフォルトの名無しさん mailto:sage [2005/05/24(火) 10:43:27 ] torqueって使えそう? ほかのフレームワークとかもだけどDBを完全に正規化しておくとかVIEWを作ってあげないとだめぽなのかなぁ
167 名前:デフォルトの名無しさん mailto:sage [2005/05/24(火) 10:55:12 ] >>166 そんなもまいにこのスレを。 Java⇔RDBのMapping-Frameworkを語るThre Vol.3 ttp://pc8.2ch.net/test/read.cgi/tech/1090653286/
168 名前:デフォルトの名無しさん mailto:sage [2005/05/24(火) 11:01:27 ] >>167 dです。 早速のぞいてみます。
169 名前:デフォルトの名無しさん mailto:sage [2005/05/24(火) 12:22:40 ] Torqueはメイン開発者がお亡くなりになったので、開発がほとんど進んでない。 HibernateかS2DaoかEJB3待ちか、最近の選択肢は3つ。
170 名前:デフォルトの名無しさん [2005/05/24(火) 12:33:03 ] O/R-Mappingならそれでもいいけど、 手軽にSQL-Mappingということなら、iBATISも選択肢に入ると思われ。
171 名前:デフォルトの名無しさん [2005/05/28(土) 15:46:48 ] 質問です。 Commons NetのSMTPClientでsendMessageData()メソッドを使ってメッセージ送信する際、 文字エンコーディングを指定するにはどうすればいいですか?? 何か参考になるサイトでもいいのでどなたかよろしくお願いします m(__)m
172 名前:デフォルトの名無しさん [2005/05/28(土) 22:51:05 ] age
173 名前:デフォルトの名無しさん mailto:sage [2005/05/29(日) 09:06:17 ] >>171 俺はJavaMailの方でやっているけど、いずれこっちに変えようかと思っていたので調べてみた。 Commons NetのSMTPは、シンプルにSMTPというプロトコルを実装しているだけなので、MIMEは全然ノータッチみたい。 エンコーディングを自分でした後、それをsendMessageData()するという感じだと思う。 メール送信するだけならCommons EMailというのがあるけど、今のところCVSからしか落とせないみたい。 JavaDoc見る限り EMail.setCharset()というのがある。EMailクラスを継承したMultiPartEmailクラスがあるからこれを使うみたいだけど、 試してないからホントにちゃんと使えるのかどうかは知らない。 Commons EMailがCommons Netを使っているのかどうかも不明。 もし試してみるなら、結果を報告してくれたらうれしい。
174 名前:デフォルトの名無しさん [2005/05/29(日) 16:29:36 ] POIでExcelシートをワークブックの任意の位置に移動するメソッドはありますか?それっぽいのがみつかりません。
175 名前:デフォルトの名無しさん mailto:sage [2005/05/29(日) 16:35:59 ] シートの順番の入れ替え?
176 名前:デフォルトの名無しさん mailto:sage [2005/05/30(月) 02:00:15 ] >>173 横から報告してみる。 # いま、Jakartaにつながらない。 半年前使ったときには、SMTP はJavaMail を使ってました。 MultiPartには対応していていました。 そのときは、charsetがまともに指定できてなかったと思います。
177 名前:JavaMailプロ [2005/05/30(月) 05:07:22 ] >>176 の件だが、 (1) javax.mail.MimePart#setText(String text, String charset)を使えば、 "text/plain"限定で文字セット指定ができる。 (2) javax.mail.Part#setContent(Object body, String mimeType)を使えば、 任意のMIMEタイプ/文字セット指定ができる。 エンコーディング指定には javax.mail.Part#setHeader("Content-Transfer-Type", "BASE64")等を指定。 ただし、(2)では実際のエンコーディング処理は内部的に JAF(Java Activation Framework)のDataHandlerクラス (javax.activation.*)が呼び出している。 もし、デフォルトでインストールされているDataHandlerが、期待するエンコーディングをしない場合は、 新しいエンコーディング用にDataHandlerとDataSourceのサブクラスを作成して、 JAFのプロパティ・ファイルに登録してやる必要がある。 ・・・JavaMailは、「Javaのメール・クライアントを作ってPCデスクトップを攻略」するためのAPIだったんで、 メール・クライアント以降の新しいニーズ(例えばSOAPやMQ)では使いにくいかもしれない。 以降、JavaMailプロの独り言 ・・・その昔、JavaMailがまだβ版だった当時、 日本語メール慣習への適合度や、バグ含有度を調べる余裕がなくて、 JavaMail APIをフルスクラッチで書いて、 その上にメール・クライアントを構築した事を思い出した。 (本当はメッセージ・キューやらワークフロー・エンジンも作るって言われたから 基礎からカッチリ作ったんだけど・・・未実現。 つか、そのうちJMSやらSOAPが出てきた。俺の仕事ってつくづくProgress Software近辺と被ってるのな)
178 名前:デフォルトの名無しさん mailto:sage [2005/05/30(月) 06:31:08 ] ちょっと時代の流れとずれてるために、努力が日の目をみない人ですか?
179 名前:デフォルトの名無しさん [2005/05/30(月) 08:28:36 ] なんだよてめぇ、朝から喧嘩うってんか
180 名前:177訂正 mailto:sage [2005/05/30(月) 08:57:05 ] × ただし、(2)では実際のエンコーディング処理は内部的にJAFのDataHandlerが呼び出している ○ ただし、(1)(2)の実際のエンコーディング処理は、MIMEタイプに応じてJAF APIのDataHandlerが処理してる
181 名前:デフォルトの名無しさん [2005/06/03(金) 02:08:39 ] >>175 そうです
182 名前:デフォルトの名無しさん mailto:sage [2005/06/03(金) 02:15:18 ] 頑張れ!目的不明な単発質問くん!
183 名前:デフォルトの名無しさん mailto:sage [2005/06/03(金) 02:54:43 ] 質問のフリ荒らし:書くことはないがスレの流れが気になって仕方なく とりあえずスレ違いにはならないとおもわれる範囲で 質問・同意を得る形式でレスをすること。 答えがどうあろうとレス稼ぎが問題なので単発で終わることが多い。
184 名前:デフォルトの名無しさん mailto:sage [2005/06/04(土) 11:59:28 ] Writerからどうやってエンコーディング指定できるOutputStreamWriterに変換すればいいですか?
185 名前:デフォルトの名無しさん [2005/06/04(土) 12:18:02 ] >>183 レス稼ぎと荒らしの関連性が分からん。
186 名前:デフォルトの名無しさん mailto:sage [2005/06/05(日) 11:37:07 ] >>185 無視しろ。183はコピペ荒らしだ。
187 名前:デフォルトの名無しさん [2005/06/11(土) 13:14:35 ] Commonsじゃなくて申し訳ないけど、Luceneって何て読むの? すっげー気になったもんで。
188 名前:デフォルトの名無しさん mailto:sage [2005/06/11(土) 13:19:18 ] >>186 死ね >>187 ル・シ〜ン!!! (銭型警部の声で
189 名前:デフォルトの名無しさん mailto:sage [2005/06/11(土) 14:15:25 ] ルセーヌだよ。
190 名前:デフォルトの名無しさん mailto:sage [2005/06/11(土) 14:39:45 ] エルセーヌだよ。
191 名前:デフォルトの名無しさん mailto:sage [2005/06/11(土) 21:41:21 ] ttp://d.hatena.ne.jp/keyword/Lucene
192 名前:デフォルトの名無しさん mailto:sage [2005/06/12(日) 00:33:15 ] >>188 それは「アルセーヌ・ルパンIII世」
193 名前:デフォルトの名無しさん mailto:sage [2005/06/12(日) 00:35:23 ] 銭型警部:「ヤツはとんでもないものを盗みました・・・それは貴女のデスクトップ検索情報です・・・」
194 名前:デフォルトの名無しさん mailto:sage [2005/06/12(日) 01:12:29 ] 「ところで、今、こんな顔(σ・д・)したやつこなかったか?」 「ばかもーん、そいつがルパンだ、追え〜」
195 名前:デフォルトの名無しさん mailto:sage [2005/06/12(日) 02:36:06 ] >>194 ルパンごっこ?
196 名前:デフォルトの名無しさん mailto:sage [2005/06/12(日) 10:51:31 ] 1.コンビニでアンパンをひとつ買い、 「インターポールの銭形です。 ルパンを追っているので見かけたら連絡をお願いします。」 と言って立ち去る。 2.すぐにドタバタ戻ってきて店員に、 「今わしを見かけなかったか?」 と怒鳴りつける。 3.「今あなたアンパン買って・・・」 「ばかもーん!そいつがルパンだー!!」 と言って、またドタバタと出て行く。
197 名前:デフォルトの名無しさん mailto:sage [2005/06/12(日) 15:17:38 ] で、アンパンマンはいつになったら出てくるんだ?
198 名前:デフォルトの名無しさん mailto:sage [2005/06/12(日) 15:35:31 ] 「ところで、今、こんな顔(σ・д・)したやつこなかったか?」 「ばかもーん、そいつがアンパンマンだ、追え〜」
199 名前:デフォルトの名無しさん mailto:sage [2005/06/16(木) 01:30:59 ] VelocityToolsで tools.view.servlet.error.template( = Error.vm) tools.view.servlet.layout.directory( = layout/) tools.view.servlet.layout.default.template( = Default.vm) この設定を全て無効化することはできないのか? test.html?layout=./ このレイアウトのパラメータも無効化したい。
200 名前:デフォルトの名無しさん [2005/07/26(火) 11:35:15 ] 公式サイトdj?
201 名前:デフォルトの名無しさん [2005/07/26(火) 11:38:34 ] apache.org 全滅?
202 名前:200 [2005/07/26(火) 12:34:01 ] 復帰したみたい。
203 名前:171 mailto:sage [2005/08/02(火) 01:02:12 ] >>173 大分遅くなりましたが丁寧な解答ありがとうございます。 Commons EMailはまだ試していないのですが、SMTPClientで日本語を送信できるようになりました。 String encodedSubject = new String(Base64.encodeBase64(subject.getBytes("Shift_JIS"))); Writer writer = smtp.sendMessageData(); if (writer != null) { writer.write("Subject:=?iso-2022-jp?B?" + encodedSubject + "=?=\n"); writer.write("From: " + from + "\n"); writer.write("To: " + to + "\n"); writer.write("MIME-Version: 1.0\n"); writer.write("Content-Type: Text/Plain; charset=\"iso-2022-jp\"\n"); writer.write("Content-Transfer-Encoding: base64\n"); writer.write(new String(Base64.encodeBase64(message.getBytes("Shift_JIS"))) + "\n"); writer.close(); smtp.completePendingCommand(); } Base64のエンコーディングにはCommons Codecを使いました。 これで一応日本語が化けずに送れてます。 もっともE-Mailや文字コード周りの知識があまりないので、作法的にはあやしいかも知れませんが・・・^^;
204 名前:デフォルトの名無しさん [2005/08/07(日) 00:45:50 ] DbUtilsは開発してんの?
205 名前:デフォルトの名無しさん mailto:sage [2005/08/09(火) 20:32:26 ] BeanUtilsが便利すぎる 現場で使ってる奴がほとんどいないけど・・・
206 名前:デフォルトの名無しさん mailto:sage [2005/08/09(火) 22:58:23 ] >>205 BeanUtilsは型やプロパティ名が実行時解決なので、 コンパイル時にチェックできないバグが増えるから気をつけてね。
207 名前:デフォルトの名無しさん mailto:sage [2005/08/10(水) 12:08:05 ] それは困憊る
208 名前:デフォルトの名無しさん mailto:sage [2005/08/10(水) 13:10:11 ] 直接使ってなくても他のフレームワークが間接的に使ってること多いね。 何するライブラリなのか分かってないけど リフレクションでウハウハするための何か?
209 名前:デフォルトの名無しさん mailto:sage [2005/08/10(水) 20:01:42 ] Strutsとかhibernateはばりばり使ってると思う ソースは見てないけど、xmlから読み込むなら やっぱりリフレクトでウハウハかなとは思う
210 名前:デフォルトの名無しさん mailto:sage [2005/08/10(水) 22:17:10 ] つーかBeanUtilsってStrutsから派生したんじゃなかったけ? 確かにウハウハだが、なんでもかんでもMapに詰め込んでってのは エレガントではないな。 まあただの宗教論争だが。
211 名前:デフォルトの名無しさん mailto:sage [2005/08/10(水) 22:17:25 ] 他のフレームワークやライブラリが間接的に使ってる分にはいいんじゃない? 一応テスト・デバッグ済みってことになってるし。 リフレクションは重いけどね・・・ Hibernateはリフレクション使ってないよ。使ってたらもっと重いフレームワークになる。 Strutsはバリバリ。カスタムタグとか、リクエストパラメータをActionFormにセットするところとか、 DynaActionFormとか。BeanUtilsはもともとStrutsの一部だったモノだしね。
212 名前:デフォルトの名無しさん mailto:sage [2005/08/10(水) 23:03:40 ] BeautilsはcopyPropertyメソッドが素敵だから使ってる ところでhibernateってなんて読むの? 未だに分からない
213 名前:デフォルトの名無しさん mailto:sage [2005/08/10(水) 23:37:38 ] ハイバーネートと読んでみるテスト
214 名前:デフォルトの名無しさん mailto:sage [2005/08/11(木) 00:36:12 ] 「はいべるなーと」
215 名前:デフォルトの名無しさん mailto:sage [2005/08/11(木) 00:38:08 ] >>211 リフレクション使ってないけど、バイトコード操作なんていうコンパイル時にチェックできないバグがもっと増える仕組み使ってるがね。
216 名前:デフォルトの名無しさん mailto:sage [2005/08/11(木) 01:10:58 ] >>215 いいんじゃない?テスト・デバッグはHibernate開発者の責任だし。 自分でそういう仕組みを使うときは気をつけてね、ってことで。
217 名前:デフォルトの名無しさん mailto:sage [2005/08/11(木) 01:13:28 ] リフレクションもね。 フレームワークとか作るんじゃなくて普通の業務ロジックのためにバイトコード操作してたらブッコロスね。
218 名前:デフォルトの名無しさん mailto:sage [2005/08/11(木) 22:21:47 ] /;:;:;:;:;:;:;:;:;::!!''" !;:;:;:;:;ヽ |;:;:;:;:;:;:;:!'" ヽ;:;:;:;ヽ |;:;:;:;i''" i!;:;:;:;| |;:;:;:;| ヾ;:;:;:| |;:;:;:;| ,,,;;:iii;;;;; ,.-==--、. `!;:;|ヽ 〉;:;:| ,.-''" ̄ ̄ ̄`ヽ⌒| --。、-、 ヽ-`' | 綺麗な顔してるだろ i `u i -‐'"ヾ'" :: ::! : | ノ 落選するんだぜ、これ。 i | ノ ヾ、___ノ ::| | | ヽ、__,.-i i 、 : :| | | : : '" `〜ー〜'" ヽ : : ::| `i ヾ ' ____ ;: ;: :| \ -‐'''"~ ̄ ̄ ̄ ̄ ; ;: :/- ヾ: : . ` " " " ,./
219 名前:デフォルトの名無しさん [2005/08/11(木) 22:23:53 ] Strutsとかhibernateはばりばり使ってると思う ソースは見てないけど、xmlから読み込むなら やっぱりリフレクトでウハウハかなとは思う
220 名前:デフォルトの名無しさん mailto:sage [2005/08/11(木) 23:04:53 ] コピペしなくいいよ。明らかに釣りだろ。
221 名前:デフォルトの名無しさん mailto:sage [2005/08/12(金) 00:06:12 ] リフレクトってどんぐらい重くなるんだ? まあ原理的には重そうなんだけど開発環境じゃそんな体感できないし。 どういう状況までなら使えるのか線引きが出来ない。 で、結局デバック用のBeanのフィールドのログはきぐらいにしか使ったことない。
222 名前:デフォルトの名無しさん mailto:sage [2005/08/12(金) 00:12:03 ] >>221 テーブル5つ程度の簡単なアプリをローカルのPCで動かすだけで 体感できるほど重くなるよ。 Beanのsetter/getterを呼ぶ箇所を全部BeanUtilsを使うように書き換えてみるとわかる。 書き換えるクラス数も10数個程度。 リフレクションは、重いという弊害の他に、ダウンキャストの危険性も多い。 Mapオブジェクトと同じように、せっかくJava言語に用意されている 「型安全性」を無視してしまうから個人的に好みではない。
223 名前:222 mailto:sage [2005/08/12(金) 00:12:51 ] > リフレクションは、重いという弊害の他に BeanUtilsは、に訂正してくれ。
224 名前:デフォルトの名無しさん mailto:sage [2005/08/12(金) 03:07:36 ] BeanUtils,Betwixtは超便利 Lang,Collections,IOは常用 Codec,HttpClientはたまに
225 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 12:27:46 ] >ところでhibernateってなんて読むの? 普通にハイバネートで良いかと。一般動詞っすよ。 >リフレクトってどんぐらい重くなるんだ? 使い方次第としか。 何かのラッパークラスのソース自動生成とか、 コストのかかる処理(接続とかインスタンス生成とか)の一部で使う分には 全く問題にならんレベルだと思うし。 >224 io, logging は常用 dbcp,pool,collection,beanutilsは常用ライブラリ(Springとか)が間接的に使用 digester,betwixtは以前常用してたけどxmlbeansに移行してしまった今日この頃。 commons じゃない jakarta スレってないんでしょうか。 velocity くらいしか使ってないけど。。
226 名前:デフォルトの名無しさん mailto:sage [2005/08/17(水) 00:00:00 ] >>225 このスレはとっとと終わらして、Jakarta スレたててくれ。 1年弱で 200 ちょっとしか消費してないから、使い切るのは 4年後か。
227 名前:デフォルトの名無しさん mailto:sage [2005/08/17(水) 23:45:07 ] >>224 ,225 IOって便利なの? あおってるわけじゃなくて普通に知りたい。 オススメ機能教えてよ。 そんな常用するほど使えそうなの見つからない。 まあ名前で使えそうなのさっと探しただけだけど。 closeQuietlyとかソースみたら何じゃそりゃって感じだし。
228 名前:デフォルトの名無しさん mailto:sage [2005/08/18(木) 09:37:08 ] つか closeQuietly しか使わないけど。 あれ使わないとなると ・毎回try-catchのネストを記述する。 ・自作ライブラリに closeQuietely 相当のものを用意してそれを呼び出す。 のいずれかですよね。 前者は保守性・視認性・手間の全ての面からして 個人的にはありえないと思ってます。 後者は他人がコード読んだ時を想像するに、 俺様関数にぶち当たって関数のコード読む手間と 読み終わってから「結局commons-ioのアレじゃねえか。」 と溜息つかせる事を考えれば、あんま嬉しくない気がします。
229 名前:デフォルトの名無しさん mailto:sage [2005/08/18(木) 23:36:28 ] closeQuietelyだけだったらさすがに環境構築のたびにクラスパス通して インポートしてってよりは自分とこの共通クラスにコード書くね。 だって誰が書いたってああなるでしょ。 実際ほとんど同じのcommons自体知る前に書いてたし。 結局commons-ioかよとか思わないと思うけどね。 別にたいした手間じゃないんだけどクラスパスが無駄に多いのは好きじゃない。 まあ好みの問題だと思うけど。
230 名前:デフォルトの名無しさん mailto:sage [2005/08/19(金) 00:08:16 ] ライブラリ系を書いてると、いろいろ使うけどな。 だるいコードを書かなくてすむ。 IOUtils.toString(InputStream) CopyUtils.copy(InputStream, OutputStream) FileUtils.copyFile(File, File) Ant が中で使ってるクラスも組み合わせるとかなり楽。 org.apache.tools.ant.taskdef の Copy クラスとか Property クラスとか。 タスク名がクラス名になってて、excute メソッド呼ぶだけ。
231 名前:デフォルトの名無しさん mailto:sage [2005/08/19(金) 02:48:30 ] >>229 環境構築のたびにクラスパスったって、今日ビ、IDEでプロジェクト作成したときに登録するだけだろ。 importなんか勝手に書いてくれるし。
232 名前:デフォルトの名無しさん mailto:sage [2005/08/19(金) 09:51:56 ] > 実際ほとんど同じのcommons自体知る前に書いてたし。 こういう勘違い発言をする奴がいまだにいるのか。 フレームワーク・ライブラリ・デザインパターンがなぜ存在するのかを考えろよ
233 名前:デフォルトの名無しさん mailto:sage [2005/08/19(金) 11:55:20 ] 俺は228ですが。 >229 プロジェクト作るたびにそのプロジェクトの Utility クラスに closeQuietely 相当のコードを記述するんですか? 毎回同じ事を書くのに? 俺様.jar にまとめてしまった方が100倍マシだと思いますけど。 とても好みの問題だとは思えないです。 毎回同じクローズ処理 ↓ うぜえから関数化(今このあたり) ↓ 毎回同じ関数書いてるから俺様.jar作成 ↓ 気がつけば当たり前のようにみんな同じことやってる ↓ 車輪の再発明は時間の無駄だから commons-io にしてしもうぜ
234 名前:デフォルトの名無しさん mailto:sage [2005/08/19(金) 12:04:27 ] 下の三行はまったく必然性は無いだがなw closeQuietelyしか使わない前提で話を進めているようだから、 メソッド一つのために外から拾ってきたライブラリを入れのか普通? jarがいくつになれば気が済むんだと問いたい問い詰めたい。
235 名前:デフォルトの名無しさん mailto:sage [2005/08/19(金) 12:26:30 ] 毎回テスト・デバッグするより信頼性のあるライブラリを使う方が数百倍まし。 毎回他人の俺様コードを見るより「いつものライブラリ」を使う方が数百倍まし。
236 名前:デフォルトの名無しさん mailto:sage [2005/08/19(金) 12:36:07 ] あっそう。拾ったライブラリはテストしなくても信頼できるんだ。ふーん。 目当てのメソッド以外のクラスやメソッドが使われた時のテストや管理のリスクは無視か。 趣味で触ってるやつならともかく、人のコード見ないで出来る仕事ってそうはないと思うがな。 >jarがいくつになれば気が済むんだと問いたい問い詰めたい。 これについでの回答は? おめぇの趣味で一々jar入れてたら100や200個になりかねないから、 採用に当たってのポリシーが必要なわけだが、 お前が使いたいメソッドが1個あるから入れろってか? 俺がリーダーなら帰れって言うな。
237 名前:デフォルトの名無しさん mailto:sage うそ [2005/08/19(金) 12:59:23 ] 公開ライブラリについての見解は、場所(人)によって異なるから >>236 のような視点では結論は出ないよ。(意見を否定しているわけではない。念のため。) ただ、俺様.jarはいただけない。その点は >>235 に同意。 ひどいPGだと、よそで使ったコードをそのまま持ち込もうとしたりとか。 そういう意味でもやばい。 > jarがいくつになれば気が済むんだと問いたい問い詰めたい。 必要とあらば仕方ないんじゃね? IDE使えば無問題だし。
238 名前:デフォルトの名無しさん mailto:sage [2005/08/19(金) 13:02:27 ] たとえ一つでも誰もが使うメソッドがある。 ってのは採用に値しないのか? これはもう釣りかも分からんね。
239 名前:デフォルトの名無しさん mailto:sage [2005/08/19(金) 13:09:13 ] > あっそう。拾ったライブラリはテストしなくても信頼できるんだ。ふーん。 バカか?テスト・デバッグはライブラリベンダの役割だ。 それとも、おまえのところは初めて使う製品はすべて自社でテストし直すのか? >人のコード見ないで出来る仕事ってそうはないと思うがな。 それは当たり前だが、少なければ少ないほどいいのがわからないのか? 毎回同じコードを書き直すほうがいいのか? > >jarがいくつになれば気が済むんだと問いたい問い詰めたい。 いくつになっても結構。 なぜ増えると困るのかね?もしかして全部手作業でデプロイしてるとか?w
240 名前:237 mailto:sage [2005/08/19(金) 13:43:37 ] 一つ言わせてくれ。 >>237 の目欄におかしなものがくっついてるが、ただの消し忘れだ。 ごめんなさい。orz
241 名前:デフォルトの名無しさん mailto:sage [2005/08/19(金) 14:03:08 ] >バカか?テスト・デバッグはライブラリベンダの役割だ。 自社で使ってるライブラリ(そっちの言う俺様jar)とかならテスト済みだから、 毎回テストが必要って言うお前の主張がおかしいって話だ。 >いくつになっても結構。 ど素人ってのがよく分かったから、今度人のプロジェクトに参加する時に 「このメソッドが使いたいから、このほげほげjarをプロジェクトに入れてね」と頼んで見な。 お前が入れるのは別に反対はしないが、 そうしなければならないというお前の主張が常識と思うならそりゃ大間違いだな。 >たとえ一つでも誰もが使うメソッドがある(ry ないな。外部ライブラリーの使用のリスクについてまったく無知でなければそんなことはしない。 jarが本当に100個になっても、そのバグ情報やバージョン、ドキュメントなどを管理できる スーパープロジェクトリーダーならともかくな。
242 名前:デフォルトの名無しさん mailto:sage [2005/08/19(金) 14:22:38 ] > 自社で使ってるライブラリ(そっちの言う俺様jar)とかならテスト済みだから、 はぁ? ↓Jarを入れないって話じゃなかったのか? > jarがいくつになれば気が済むんだと問いたい問い詰めたい。
243 名前:デフォルトの名無しさん mailto:sage [2005/08/19(金) 14:24:32 ] >>241 で、おまいはApacheのプロダクトを使うときは毎回自社ですべてのコードをテストし直すのか?
244 名前:デフォルトの名無しさん mailto:sage [2005/08/19(金) 14:28:50 ] > 「このメソッドが使いたいから、このほげほげjarをプロジェクトに入れてね」と頼んで見な。 俺はどっちかというとアーキテクトの立場だから 「このライブラリを使いましょう」という俺の意見はほぼ通ってるよ。
245 名前:デフォルトの名無しさん mailto:sage [2005/08/19(金) 14:32:43 ] 話がこじれてる理由がわかったよ。 >>227 =>>229 =>>234 =>>236 =>>241 はひとつのメソッドが使いたいだけなのに、 その他のメソッドがついてくる(はずせない)のは問題ないのかと言ってるのね。 他の香具師らが言ってるメリットと比べてこっちの問題のが大きいだろと。 その問題ってのが当たり前だの常識だのって言葉でくくられてるからかみ合わないわけね。 実際にリスク見積もって判断しろよって>>227 (略)は言いたいんだよな? それならわかるわ。 不謹慎だが、宮城の地震で屋根が落ちたプールの話と同じ構造だな。 業者に丸投げ(他所のライブラリをチェックせず使う)すると安く出来上がるが、 安全であるかどうかの確認がしにくくなる。 >>239 のいうライブラリのテストデバッグは〜ってのはまさにこの構図。 最終的な客に対する責任は利用するコードを書いた側に出てくるんだぜ? 断じて、ライブラリを提供した側ではない。 通常は、ライブラリを売ってるところが提供した範囲での責任を取ってくれる (ライブラリ利用側が客に取る責任よりは小さいわな)、オープンソースだと誰が責任をとる? もしかしたら、ライブラリのバグのせいで、もまいのシステムが人を殺すかもしれないよ?
246 名前:デフォルトの名無しさん mailto:sage [2005/08/19(金) 14:35:07 ] 話が大きくなり杉。 ライブラリ必要なら入れましょう。 その方が楽なの当たり前。 ただたった一個のメソッドのために入れるのは賛否別れる。 個人的には開発の規模にも因るけどたぶん入れない。 しかもcloseQuetlyじゃね。 結論は程度の問題でしょ。
247 名前:デフォルトの名無しさん mailto:sage [2005/08/19(金) 14:46:48 ] >>234 =>>236 =>>241 です きれいにまとめてくれてありがとう。 >244 jarを入れるのには>245のほかにドキュメントの提供・バージョン・他のライブラリとの相性があるから、 同じアーキテクトの立場ではあるが、リスクを考えるとやはり慎重になるな。
248 名前:デフォルトの名無しさん mailto:sage [2005/08/19(金) 18:31:40 ] 拾ってきたライブラリ云々に関しては、Commonsだけは別格じゃないの? 少なくとも定番化してるものに関しては拾ってきたとかいうレベルの信頼 性ではないと思う。 もしCommonsを信頼できないとするなら、俺は同僚が書いたコードの方 が遥かに信頼できないよ?w そして、同僚は俺の書いたコードを信頼できないと思うだろうorz バグがないとは言わないし、テストに漏れがないとも言わないが、それは 結局誰が書いても同じ事だし? それなら、より多くの人に触れられ検証される事になるCommonsの方が 信頼できる。
249 名前:デフォルトの名無しさん mailto:sage [2005/08/19(金) 21:07:59 ] commons使って痒い所に手が届かなかったら自分たちでコードを作れば いいと思うけど・・・ オープンソースにとやかく文句いっても仕方ないでしょ いっても使ってるのは、loggingとBeanUtilsだけなんだけど ioも使えるのか・・・ちょっとやってみよう ところでDbUtilsとCollectionってどうなの?
250 名前:デフォルトの名無しさん mailto:sage [2005/08/19(金) 21:53:15 ] なんかまた話がすりかわってるだろ。 いつの間にかcommonsのバグの話になってるし。 一個でも使えそうなメソッドがあれば オープンソースを使わなければならない。 そうしないやつはオープンソースをわかってないし 作ってるシステムもぐちゃぐちゃって感じだね。 commonsかなり気に入って使ってるけど さすがに一個のメソッドで入れたりしない。 なんかオープンソース好きっていうか宗教っぽいな。
251 名前:デフォルトの名無しさん mailto:sage [2005/08/19(金) 23:13:11 ] バグの話じゃないとわかってても一応>>248 みたいな奴には言っておきたい。 commons-langとかでも普通にありえないバグあるから。 バグじゃなくてもパッケージごと移動とかもあるし。 バージョン上がると非推奨になってるやつもいっぱいある。 例えばだがjspでimportしてる古臭い大規模システムだったらimport直して 動作確認するだけでちょっとした人件費に飛ぶな。大人数で開発してる環境ならなおさら。 でそういう時はライブラリを問題あるとわかっててもバージョンアップしないほうが良いのかね? commonsもオープンソースも否定しないが 当たり前に使うときは動作確認もソースのチェックもするさ。 オープンソース信者の皆さんが言う俺様コードを経由してcommons呼び出したりもする。 なんか不具合あってもそこだけ変えればすむようにな。 まあcommonsマンセーの人たちはどういうシステム作ってきたんだか。
252 名前:デフォルトの名無しさん mailto:sage [2005/08/19(金) 23:33:40 ] >>248 その「信頼」の根拠をどこにおくのかわかってるかいって話だよ。 同僚が書いたコードでも、必要なテストをパスしてるんなら今の状態でもOKなわけだし。 >>250 の言うように宗教めいてるところはあるね、確かに。
253 名前:デフォルトの名無しさん [2005/08/20(土) 00:16:01 ] スレ流して読んでみたけど>>232 ,233,235,243,248みたいな発言する奴は要注意だね。 ちょっと事情があって今回のシステムではライブラリとか追加できない っていうと顔真っ赤にして怒り出す奴。 別にソース公開されてるんだから組み込めば良いじゃん。 オープンソースの考え方を持つのは勝手だが顧客に押し付けんな。 StringUtilsのreplaceとStringのreplaceAllの動作の違いもわかってなくて すっぱいバグ出しちゃった奴。 ソースちょっと確認すればわかるだろ。 ちょっとしたcommonsとかにない文字列操作とかになると そんなの出来ません!とか言い出す奴。 出来ませんじゃなくてオープンソースにありませんってだけだろ。 そんぐらい自分で作れ。 すぐに思い出したやつを書いて見た。 全部周りに実在した奴らだ。しかもオープンソース大好きってのばっか。 オープンソースを妄信的に信じてる奴が 一番オープンソースの使い方を知らないケースが多い。
254 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 00:29:36 ] あまりにも短絡的な決めつけをする>>253 が一番の妄想野郎だな
255 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 00:49:27 ] >>254 いや。>>253 の実例みたいな奴は間違いなく痛いだろ。 実際確かにいるし。
256 名前:あぼーん mailto:あぼーん [あぼーん] あぼーん
257 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 00:59:47 ] Jakarta Commonsクックブック www.oreilly.co.jp/books/4873112427/ オライリーのCommons本の邦訳が今日出るみたいだね。
258 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 09:07:55 ] オープンソースそのものの話は他所でやってくれ
259 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 12:20:59 ] >>253 > 別にソース公開されてるんだから組み込めば良いじゃん。 なにそれ。そうやってきたの?あんたには関係ないが 公開者からすりゃ、かなり気分悪いな。 で、バージョンアップしたら張りなおしか? > オープンソースの考え方を持つのは勝手だが顧客に押し付けんな。 > StringUtilsのreplaceとStringのreplaceAllの動作の違いもわかってなくて > すっぱいバグ出しちゃった奴。 オープンソース関係ねー。そんな奴はどうせ JDK も ロクに分かってない。 > ソースちょっと確認すればわかるだろ。 > ちょっとしたcommonsとかにない文字列操作とかになると > そんなの出来ません!とか言い出す奴。 > 出来ませんじゃなくてオープンソースにありませんってだけだろ。 > そんぐらい自分で作れ。 話の流れからして、おまえはリーダークラスの役割だろ? おまえができることを、できない奴がいるのは当たり前。 誰でもひとつくらい得意なことはある。 できない奴の能力不足ではなく、ライブラリチームや担当を 編成・管理しないおまえの能力不足だ。
260 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 12:43:04 ] > ソースちょっと確認すればわかるだろ。 > ちょっとしたcommonsとかにない文字列操作とかになると > そんなの出来ません!とか言い出す奴。 こんな奴が本当に居るとしたら、そもそもプログラマとして成立してないじゃん。 commonsがあればコードを書く必要がないって言うんならともかく、実際は commonsで賄う部分よりそれ以外の部分の方が遥かに多いんだからさ。 まぁ、VBプログラマなら、コンポーネントがないからできませんって奴が居 ても不思議じゃないけどw
261 名前:デフォルトの名無しさん mailto:sage [2005/08/21(日) 00:10:11 ] >>253 > オープンソースを妄信的に信じてる奴が > 一番オープンソースの使い方を知らないケースが多い。 ここだけは禿同。
262 名前:デフォルトの名無しさん mailto:sage [2005/08/21(日) 10:42:01 ] 流れをぶったぎって書くが、 commons-ioといえば、commons-fileuploadの1.1devで使ってるね。
263 名前:デフォルトの名無しさん mailto:sage [2005/08/22(月) 19:04:12 ] copyProperties を使うためだけに commons-beanutils を追加しました。 今まで素で reflect 使って書いてたコードがかなりあるんだけど やっぱ書き直した方が吉かなあ。
264 名前:デフォルトの名無しさん mailto:sage [2005/08/22(月) 21:05:27 ] 今までのやつがちゃんと動いてるんならいいんじゃね?
265 名前:デフォルトの名無しさん mailto:sage [2005/08/22(月) 22:41:19 ] 同意。動いてるコードを書き直すのは苦痛だ。 ただ、リファクタリングの一環として、リフレクション部分をプルアップしてみて BeanUtilsとの置き換えが可能そうなら、置き換えてみてもいいかもしれない。
266 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 00:21:04 ] >>187 ルーセンスと発音していたが違うかな。 ルシーンなのか。
267 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 00:23:37 ] >>206 へぇ。 Java5になってからGenericsで型チェックできるようにパラメタライズされてないのかな。
268 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 00:24:53 ] >>212 high burn eight 普通にハイバネートと発音したい気が。
269 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 00:28:34 ] >>236 > あっそう。拾ったライブラリはテストしなくても信頼できるんだ。ふーん。 > 目当てのメソッド以外のクラスやメソッドが使われた時のテストや管理のリスクは無視か。 > 趣味で触ってるやつならともかく、人のコード見ないで出来る仕事ってそうはないと思うがな。 > >jarがいくつになれば気が済むんだと問いたい問い詰めたい。 > これについでの回答は? > おめぇの趣味で一々jar入れてたら100や200個になりかねないから、 率直にMaven使えよ。 mavenのクラスパスを一つ通すだけで自動でダウンロード、自動でインストールしてくれるぞ。
270 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 00:30:18 ] >>241 あと、mavenのほかにFatJarもつかってJarを一つにまとめろ これらは双方ともEclipse用プラグインも用意されている
271 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 00:35:15 ] >>253 はなにか頭がバグってるな Commonsは Commons Sandbox以外ならかなり信用できる。 CommonsというのはJava標準APIに足りない機能を補う ためにあるようなもんだ。
272 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 00:37:21 ] メールアドレスの書式チェックメソッドGenericValidator#isEmail()を 使いたいがためにCommons ValidatorのJarを入れた俺はDQNですか?
273 名前:デフォルトの名無しさん [2005/09/03(土) 00:44:28 ] >>252 宗教といっても、何も確たる根拠も無しにオープンソースを否定して これは使っちゃダメだあれは使っちゃダメだと いきなり決めつけるのもかなり宗教っぽいけどね。 豚肉喰っちゃダメだ牛も喰っちゃダメだクリスマスなんかやっちゃだめだって いってるイスラム教徒みたいな。食い過ぎれば不健康で心臓病になるけど 適度に運動しながら野菜などと一緒にバランス良く食べていれば無害どころか栄養たっぷり。 それを調べもせずにいきなりダメだって人に押しつけるのはプロジェクトの進行にかなり響く。 オープンソースを何も考えずに否定するのは暗黒時代の魔女狩りにも似ている。 何人もの大富豪の男を、男の姿に化けた女だと勝手に決めつけて殺してしまったっていう史実があるわけだ。 殺した後にそのお金が教会や国の資金源になるから陰湿にもわざとそういうことをしたってわけだ。 彼が外部のライブラリ使用を拒む理由は車輪の再発名をしてでも何もかも自分で作ってしまって それがすべて自分でやったから周りから偉い奴だと思ってくれるだろう錯覚しているうのだろう。 あるいは、手柄を自分のものにして、自分にしかわからないようなコードをわざと書いて そのプロジェクトをすべて自分の管理下に置いて自分の立場を維持したいという保守的な考えを持つ人間なんだろう。
274 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 00:45:29 ] >>272 いいえ。問題なし。じゃんじゃんつかっちゃいなさい。 オープンソースなんだし。 そんじょこらのクローズドソースなバイナリよりも信用できる。
275 名前:デフォルトの名無しさん [2005/09/03(土) 11:43:33 ] >>267 それをやろうとするとJava5専用になる。 主要なツールはGenericsに対応したJava5対応版を出してほしい 現状だと、Java5で作っていてもツールからオブジェクトを取り出すときに結局はキャストが必要になってしまうし
276 名前:デフォルトの名無しさん mailto:sage [2005/09/04(日) 10:35:13 ] >>273 > >>252 > 宗教といっても、何も確たる根拠も無しにオープンソースを否定して > これは使っちゃダメだあれは使っちゃダメだと > いきなり決めつけるのもかなり宗教っぽいけどね。 周り読んでも全然誰もそんなこと言ってないんだけど。 その極端な話の飛躍の仕方が宗教っぽい。
277 名前:デフォルトの名無しさん mailto:sage [2005/09/05(月) 09:19:54 ] ていうかなんで今になってそんな古いネタを掘り起こしてるのかがわからんな。 >273 キモイ
278 名前:デフォルトの名無しさん mailto:sage [2005/09/05(月) 12:07:30 ] ところでオライリーのjakarta-commonsクックブックはどうでした? ザッと流し読みした感じだと可もなく不可もなくかなあ。
279 名前:デフォルトの名無しさん mailto:sage [2005/09/27(火) 16:03:41 ] commons-httpclient.jar を gcj で使いたいのですが、 javax.net.SocketFactory javax.net.ssl.SSLSocketFactory などが gcj に対応していないためコンパイルが通りません。 しかしその部分のメソッドはプロジェクトで使用していないので どのように回避したら良いかわかる方がいらっしゃいましたらご教授お願いします。
280 名前:デフォルトの名無しさん mailto:sage [2005/09/27(火) 16:59:27 ] 単純に ・不要なのを取っ払ってコンパイル。 ・ばらして1つずつコンパイル、通ったものだけを集める。 が考えられます。知らないけどSocketFactoryはなくていいの? それよりも、なぜここでしたか
281 名前:デフォルトの名無しさん mailto:sage [2005/09/28(水) 20:52:12 ] >>280 早速のレスありがとうございます。 それを参考にzipアーカイバで使わないclassファイルを削除しましたが、 それぞれが関連し合っていてなかなかうまくいかないようです。 commons-httpclient.jarはオープンソース化されていないのでしょうか?
282 名前:デフォルトの名無しさん mailto:sage [2005/09/28(水) 21:42:06 ] >>281 そんなわけない
283 名前:デフォルトの名無しさん [2005/09/30(金) 17:34:23 ] CommonsじゃなくてOROなんですが Perl5Utilのsubstittutionで\\uってちゃんと動きますか? velocityのライブラリに入ってるバージョンで試したのですがうまくいきません。
284 名前:デフォルトの名無しさん [2005/10/04(火) 00:07:11 ] commons betwixtなんですが、0.5以前のバージョンでsetWriteEmptyElements(false)と同等の処理は出来ないのでしょうか? 値を設定されていないプロパティはタグ自体が出力されないようにしたいのですが・・・。
285 名前:デフォルトの名無しさん mailto:sage [2005/10/04(火) 02:19:24 ] >>278 俺的にはかなり勉強になりました。って一ヶ月も前のコメントですか・・・。 ファンクターなんてのがある事をこの本読んで初めて知ったよ。 考え方はデザパタで知ってたけど、標準的な方法があると使ってみようって気になるね。 ただ、条件式を切り出しただけのクラスとか作ってるとクラス数が爆発しそうな気も・・・。 Pridicateとかって実際に使ってる人います?
286 名前:デフォルトの名無しさん mailto:sage [2005/10/04(火) 04:10:03 ] Lispのlambda(無名関数)と同じように Predicateとかは基本的に無名クラスで使うとよい。
287 名前:デフォルトの名無しさん mailto:sage [2005/10/04(火) 09:35:15 ] >Predeicate 結構よく使う。 基本的には無名クラスが多い。 Transfomerは滅多に使わない。 Closureは存在を忘れている事が多い。 ComparatorChainは便利。 テーブルのソートなんかで多用してる。
288 名前:デフォルトの名無しさん mailto:sage [2005/10/12(水) 06:56:33 ] formでDynaFormを使用した場合で java.lang.Doubleやjava.mathBigDecimalなどでform-propertyを宣言して 画面からhtml:textで未入力状態で送信すると例外を発生するのは回避不可? BeanUtilsのpopulateメソッドのエラーっぽいし、無理かな まあ、BeanUtilsを修正するかString型に回避すればいいけど
289 名前:デフォルトの名無しさん mailto:sage [2005/10/13(木) 00:42:12 ] Commonsじゃないけど、Regexpってなんて読むの?
290 名前:デフォルトの名無しさん mailto:sage [2005/10/13(木) 00:54:28 ] >>289 「レギュラーエクスプレッション」の省略形だけど、別の読み方があるのかな? カスタムタグのTLDファイルの「rtexprvalue」も悩ましい。 「Runtime Expression Value」の省略形なんだけど。。。
291 名前:デフォルトの名無しさん mailto:sage [2005/10/13(木) 23:44:14 ] 俺はリジェックスピーって読んでるよ、心の中で。 もちろんLispのS式はセックスピー
292 名前:デフォルトの名無しさん mailto:sage [2005/10/14(金) 00:03:03 ] 僕は「れぐえくすぷ」って呼んでます。
293 名前:デフォルトの名無しさん mailto:sage [2005/10/14(金) 00:36:48 ] 僕は れぐいーえっくすぴー
294 名前:デフォルトの名無しさん mailto:sage [2005/10/14(金) 05:12:21 ] >>293 ヽ( ・∀・)人( ・∀・)ノ ナカーマ
295 名前:デフォルトの名無しさん [2005/10/14(金) 14:44:10 ] ttp://jakarta.apache.org/ が落ちててDTDの読み込みに影響出てます。 同じ現象の人います?
296 名前:デフォルトの名無しさん mailto:sage [2005/10/14(金) 14:47:49 ] 携帯からだと見れてしまいました。 アクセス制限かルーターの異常か? スレよごしすみませぬ。
297 名前:デフォルトの名無しさん mailto:sage [2005/10/14(金) 15:05:15 ] DTD宣言を実際読みに行くのってエディタかなんか? だったらローカルに落としたほうが手っ取り早いと思われ。
298 名前:デフォルトの名無しさん mailto:sage [2005/10/14(金) 15:41:14 ] >>297 DTD 宣言を含む XML を編集するときにエラー扱いにされてうざい、ってことじゃないの? 俺も解決法があったら聞きたい。
299 名前:デフォルトの名無しさん mailto:sage [2005/10/15(土) 17:47:58 ] >>283 > CommonsじゃなくてOROなんですが > Perl5Utilのsubstittutionで\\uってちゃんと動きますか? それはJavaのString型環境にあわせて さらにJava用にエスケープしなければならな。 つまり、Java文字列中では、 \\u -> \\\\u としなければならない。 \\uは Javaでは\uにみえ、 \\\\uにしたときはじめてJavaは\\uと解釈してくれる。 Perl用にエスケープしてさらにJava用にエスケープしないと 動かない。 二重エスケープってところですな。
300 名前:デフォルトの名無しさん mailto:sage [2005/10/15(土) 17:57:45 ] >>289 regexp レゲックス レゲックス婦 れじぇっくす レジェックスプ 利げっくす(プ りじぇくす(プ 自然大数の底exp()関数よりもじってレグネスクポーネント レグネクスポネンジャル レグネクスポ レグネクスプ レグスプ レジェクス リジェクス レジェバイプ レジェザップ リジェザップ レジェズープス これではRege XOOPS? レジェ・タイムズ・ペッ! レジェタイプ レジェペケポン リジップス リジェップス レジェンプス
301 名前:デフォルトの名無しさん mailto:sage [2005/10/15(土) 17:59:02 ] >>289 rtexprvalue アーテフプリヴァリュー ラリパリュー ライプリュー レフプライヴァリュー レプリャリュー レッズファリュー
302 名前:デフォルトの名無しさん mailto:sage [2005/10/15(土) 19:47:31 ] >>267 つうか、カワイイとかかわいくないとか どっちにしてもこんな掲示板で書いたら 月曜日その子に会わせる顔が無いよ かわいくないと書いた時はまずいのわかっているし カワイイと書いたなら意識されるだろうし・・・ 掲示板でそんな事聞くなよ
303 名前:デフォルトの名無しさん mailto:sage [2005/10/15(土) 19:49:22 ] >>302 いや、多分このスレに書く分には大丈夫だと思うぞw
304 名前:デフォルトの名無しさん [2005/10/15(土) 19:51:08 ] 誤爆?
305 名前:デフォルトの名無しさん mailto:sage [2005/10/15(土) 19:51:32 ] >>302 オレは相談にのるぞ。
306 名前:デフォルトの名無しさん mailto:sage [2005/10/15(土) 19:55:58 ] スマンソ ようするに、SEXの締めをクンニ逝きっていうのが 「いみあるのか?」っていうことか
307 名前:デフォルトの名無しさん mailto:sage [2005/10/15(土) 20:33:07 ] わたしの彼氏も風俗にいったときはすごいショックだったけど なんか、向こうも仕事だからすごい事務的らしいよ。 わたしは絶対行ってほしくないとまではいわないけど、 行くならわたしにはいわないでほしい・・・
308 名前:デフォルトの名無しさん mailto:sage [2005/10/15(土) 20:36:16 ] >>307 Commons つまり共通の悩みってことか。 言わなかったら浮気だと勘違いするだろ。 スレ違いだよ。
309 名前:デフォルトの名無しさん mailto:sage [2005/10/15(土) 20:40:02 ] 誤爆適用スレってしってるか? 今日は当たり日なんだろうか・・・
310 名前:デフォルトの名無しさん mailto:sage [2005/10/15(土) 21:01:50 ] >>307 アホか、風俗はめっちゃフレンドリーやっちゃうねん。 ソース読めとかググれとか氏ねとか言わないからな。 これで有料じゃなきゃ最高なんだけどな。
311 名前:デフォルトの名無しさん mailto:sage [2005/10/15(土) 21:07:08 ] 事務的フレンドリー
312 名前:デフォルトの名無しさん mailto:sage [2005/10/15(土) 23:17:53 ] 事務的なフレンドリーと心からのおざなり、どっちがいいかっちゅうねん。
313 名前:デフォルトの名無しさん [2005/10/18(火) 13:23:21 ] >>299 ご回答ありがとうございます。 ご指摘の点は理解しているつもりですが 実際にやってみると以下のように そのまま\\uが印字されてしまいます。 new Perl5Util().substitute("s/(?:^|_)(\\w)/\\\\u$1/g", "t_mst_user"); (java.lang.String) \\ut\\umst\\uuser なにかしょうもない勘違いをしているのでしょうか…
314 名前:デフォルトの名無しさん mailto:sage [2005/10/18(火) 17:20:05 ] jdk-1.4.2 && jakarta-oro-2.0.8 で実行させたところ new Perl5Util().substitute("s/(?:^|_)(\\w)/\\u$1/g", "t_mst_user") => TMstUser でした。問題なさそう。('\u' が欲しいようなので '\\u' で十分の模様。) Perl5 の正規表現に不慣れなので、もしかしたら間違ってるやも。 velocity-dep-1.4.jar ではなく velocity-1.4.jar と jakarta-oro-2.0.8.jar の組み合わせで 試してみるとどうなります?
315 名前:デフォルトの名無しさん mailto:sage [2005/10/19(水) 12:43:45 ] >>314 ありがとうございます! jakarta-oro-2.0.8.jarだと無事いけました。 velocityに入っていたやつには未実装だったのですね...
316 名前:デフォルトの名無しさん mailto:sage [2005/10/19(水) 15:36:50 ] log4jのLogクラスで行番号が出せるけど、行番号なんてどうやって出しているのだろうか Cのプリプロセッサだけの芸当かと思ってた
317 名前:デフォルトの名無しさん mailto:sage [2005/10/19(水) 16:19:04 ] >>316 せっかくソースも配布されているので見てみればよいのでは。 見たらかなり力技だった。Throwable#printStackTraceの出力を解析してた。 (org.apache.log4j.spi.LocationInfo)
318 名前:デフォルトの名無しさん mailto:sage [2005/10/19(水) 16:33:52 ] >>316 マルチ
319 名前:デフォルトの名無しさん mailto:sage [2005/10/19(水) 18:42:42 ] マルチさんのおかげて勉強になった 火のないところでthrowしてるってこと? ロギングにそゆー力技いれるってjakartaはやっぱすげーな世界が違う 俺だったら尻込みする
320 名前:デフォルトの名無しさん mailto:sage [2005/10/19(水) 20:11:35 ] >>319 jakarta っつーより、作ったのは IBM だろ。 すげーなっていうのは今だにバカっぽい実装してる嫌み? 行番号なんか簡単に取れるだろ。 new Exception().getStackTrace()[0].getLineNumber() メソッド名やどこから呼ばれたかも取れる。 ただ、正常系でこんなもん使ってる奴がいたらうんこだけどな。
321 名前:デフォルトの名無しさん mailto:sage [2005/10/19(水) 21:03:42 ] >320 いやいや違う、ロギングってオプション的な機能だから 変わった事やって主処理に影響でるなんてまずいんで コードの質に自信がないとできないなよなと思って 言ってる事伝わらなそうだ、とにかくjakartaに嫌味なんて滅相もない、 白状するとcommonsのソース読んでからかなりパクってます。 自分で何言ってるかわかんね、まとまんね、もういい送信!今目をつけてるのbcel!
322 名前:デフォルトの名無しさん mailto:sage [2005/10/19(水) 21:38:46 ] >>320 これいいただきん
323 名前:デフォルトの名無しさん mailto:sage [2005/10/19(水) 21:45:09 ] >>320 これってjavaのコンパイルオプション関係なしに取得可能?
324 名前:デフォルトの名無しさん mailto:sage [2005/10/19(水) 23:16:50 ] >>323 当然 > javac -g:none Hoge.java とかすると取得不可。
325 名前:デフォルトの名無しさん mailto:sage [2005/10/19(水) 23:27:04 ] >>324 ということは、企業の運用されているマシーンで、-g:noneなしにコンパイルしたクラスなら 取得可能ですね。 これいただき。
326 名前:デフォルトの名無しさん mailto:sage [2005/10/20(木) 00:09:29 ] >>325 書いたら喜んで使い出すが奴がいそうだから、わざわざ うんこって書いたんだが。使うんなら、ちゃんと例外コストを 考えて無効にできる機構を用意しろよ。 それを持ってるのが log4j だけどなw
327 名前:デフォルトの名無しさん mailto:sage [2005/10/20(木) 00:18:02 ] >>321 jakarta のコード書いてる奴もただの人だろ。 見てるうちに、あほなコードがわんさかあることに気づく。 BCEL 見るなら、CGILIB、Javassist、JBoss4 のコード見てみ。 CGILIB のコードは美しい。JBoss はやってることがすごい。
328 名前:デフォルトの名無しさん mailto:sage [2005/10/20(木) 00:23:54 ] >>320 Thread.getStackTrace() した方が。1.5 以降だけど。
329 名前:デフォルトの名無しさん mailto:sage [2005/10/25(火) 11:57:00 ] log4jってなんでクラス毎でlog4j用のfieldを用意しなければ行けないの。 ログなんだから、普通スタティックメソッドオンリーだろ。 なんだよその仕様
330 名前:デフォルトの名無しさん mailto:sage [2005/10/25(火) 12:19:40 ] | J
331 名前:デフォルトの名無しさん mailto:sage [2005/10/25(火) 12:30:07 ] │ O G 4 J
332 名前:デフォルトの名無しさん mailto:sage [2005/10/25(火) 14:04:07 ] ↑あんた最高
333 名前:デフォルトの名無しさん mailto:sage [2005/10/25(火) 23:52:17 ] >>329 じゃ、Log4j だけじゃなく、commons logging も JDK のロガーも 全部だめなんだな。 とりあえず、おまいがオブジェクト指向の利点が、さっぱり 分かってないのは理解できた。それが分かるまで おまいは static メソッドの作成は禁止だw
334 名前:デフォルトの名無しさん mailto:sage [2005/10/26(水) 02:00:51 ] オブジェクト指向の利点がサパーリわからんので、staticメソッドオンリーでいきまつ
335 名前:デフォルトの名無しさん mailto:sage [2005/10/26(水) 22:05:52 ] >>333 わかってないやつが書きそうなもんだな。 具体的に書いてみろ。Cプログラミング屋さん
336 名前:デフォルトの名無しさん mailto:sage [2005/10/27(木) 00:35:43 ] >>335 ・プロバイダーフレームワーク ・インスタンス数の管理が可能 ・実装クラスが作成時点で存在している必要がない。 ・もちろん多態 ・設定により実装クラスが変わる 不特定多数のシステムに提供するなら、上記のような拡張性・柔軟性は必須だ。 閉じたシステムしか書いたことない奴には分からんかもしれんな。 昔は static メソッドで書かれた俺様ロガーがたくさんあったかも しれんが、それをオープンで公開すれば、なぜ static がだめか なぜ要求に耐えられないかが分かるだろ。 で、分かってるお前の意見を教えてくれ。 分かってないだろw
337 名前:デフォルトの名無しさん mailto:sage [2005/10/27(木) 02:39:54 ] >>336 作るものに依存する。
338 名前:デフォルトの名無しさん mailto:sage [2005/10/27(木) 16:25:22 ] XMLの読み込みに特化したい場合、 Digester使うのと、XmlBeans使うのと、どちらが効率的ですか? Digesterの解説はあちこちあるんですが、後者は自分には解説がわかりにくい。。。 XMLファイルを渡してやると、自動的にBean作ってくれたりするとありがたいんですが。
339 名前:デフォルトの名無しさん mailto:sage [2005/10/27(木) 17:51:29 ] ASF の産物じゃないですけど Relaxer 使ってみるのも手ですよ。 XML Beans が生成するクラスはちと複雑ですけど、 Relaxer が生成するクラスはより POJO ライクです。 個人的には読み込みだけなら Digester が一番だと思ってます。 ルールを XML に書けるのが便利なんで。 ルールがある程度以上複雑になる場合 (格納クラスを手で書く手間 > スキーマを書く手間)は スキーマ切って Relaxer 使ってます。 より複雑な検証が必要な場合は XML Beans です。
340 名前:デフォルトの名無しさん mailto:sage [2005/10/27(木) 19:27:32 ] 適当なオブジェクトをbetwixtで書き出してみて それがしっくりくるならdigesterで足りる じゃなきゃ俺もRelaxerをすすめる Relaxerは頭に入れやすいよ
341 名前:デフォルトの名無しさん mailto:sage [2005/10/27(木) 23:12:14 ] >>338 JAXB は? 定義いるけど。
342 名前:デフォルトの名無しさん mailto:sage [2005/10/28(金) 08:21:46 ] digesterはgetしたものそのままsetしたい時に発狂する XML Beansはさくさくいくのは困難、最初は普通に発狂する
343 名前:デフォルトの名無しさん mailto:sage [2005/10/28(金) 09:33:22 ] digesterは設定読み込みが目的だから、setにはbetwixtが向いてるんでは
344 名前:デフォルトの名無しさん mailto:sage [2005/10/28(金) 10:07:39 ] >>336 重症・・。 ちがうんだよ。その機能はstaticメソッドでも可能。俺はそうしている。 statcktrace使えば、さかのぼって呼び出し元が完璧にわかるから、 すべて実現できるのstaticで。 だったら普通staticで提供だろ、util関係は基本全部static実装だし、 そうするように設計すべし。
345 名前:デフォルトの名無しさん mailto:sage [2005/10/28(金) 10:22:25 ] static メソッドになった場合、今までと同様の情報を出力するには 確実に今までよりパラメータが一つ増えるんだが、 それをわずらわしく感じないなら、それでいいんじゃないかな。 俺は勘弁してほしいが。 if(logger.isTraceEnabled(){ logger.trace("なんやら", t); } ↓ if(Log.isTraceEnabled(this)){ logger.trace(this, "なんやら", t); }
346 名前:338 mailto:sage [2005/10/28(金) 11:12:59 ] >>339-343 アドバイスありがとうございました。 とりあえずDigesterで基本的な動きは確認してみました。 XML読み込んで、それをマップしたObjectからのgetだけが目的なので、 事足りそうではありますが、 Relaxerの評判も良いようなので(確か国産ですよね?)、こちらも勉強したうえで、 どっちが自分の目的に合うのかを判断してみることにします。
347 名前:デフォルトの名無しさん mailto:sage [2005/10/28(金) 11:21:37 ] >343 親をgetしてカレントのsetへってやりたくなんなかった?俺だけ? もしできるの?できそうでできないのがすっごい発狂したんだけど >338 digesterは既存のものにあわせるとしんどかった digester前程で作ればすごい楽だと思う >345 勘弁同意 Logger.instance(this).log("えらー")っての見たことあるこれは辛かった
348 名前:デフォルトの名無しさん mailto:sage [2005/10/28(金) 12:24:39 ] >Logger.instance(this).log("えらー") うわ嫌すぎる... staticにすることで手間が増えるんなら、オブジェクトでいいじゃんよ。 しかも元からあるんだから、いちいち書く手間いらないし。
349 名前:デフォルトの名無しさん mailto:sage [2005/10/28(金) 12:47:33 ] Logoer の話題が出たついでに便乗質問。 private static Log log = LogFactory.getLog(Hoge.class); private Log log2 = LogFactory.getLog(this.getClass()); この二つのメリットとデメリットって何ですか? 前者を使えと言われて理由も聞いたような気がするんですが忘れてしまいました。on_
350 名前:デフォルトの名無しさん mailto:sage [2005/10/28(金) 22:37:08 ] >>349 おまいも >>344 と同じくらい分かってないな。 Hoge.class を渡すのと getClass() の違いはなんだ? 例えば、後者はそのロガーの getter があったとしたら、 Hoge のサブクラスはそれを自分のクラスのロガーとして利用できる。 どっちもログインスタンスはキャッシュされるが 上記のような理由がない限り前者だろうな。
351 名前:デフォルトの名無しさん mailto:sage [2005/10/29(土) 00:15:37 ] >>349 後者はstaticメソッドから呼び出せないなり
352 名前:デフォルトの名無しさん mailto:sage [2005/10/29(土) 10:04:10 ] >>348 だからてめーらほんととわかってないな。ソースみろ! thisなんかしなくても、結局スタックつかって呼び出し元特定してるの。 いいか、thisはまったく考えなくていいんだよ。ほんと疲れるは。 もうレスしないから、あきらめないでちゃんと考えろ。 あきらめた時点で一般人と同じだよ。結局使う側の人間さ
353 名前:デフォルトの名無しさん mailto:sage [2005/10/29(土) 12:09:11 ] >>352 使う側の人間っておまえもだろw 俺様フレームワーク作って喜んでたらもっとバカだけどw っつかスタックトレースいちいち解析してんの?
354 名前:デフォルトの名無しさん mailto:sage [2005/10/29(土) 14:16:14 ] 全ログaspectで後付けだってできるんだし、方法なんて探せばいくらでもでるでしょ 主観だけどlog4jだと助かる。commons-loggingだと更に楽 間違いの起き難い作りだと思うよ。
355 名前:デフォルトの名無しさん mailto:sage [2005/10/29(土) 14:37:55 ] >>354 どうせ、log4j 使うんだろ? 何のために commons かます? パフォーマンスがわずかに落ちるし、シンプルでなくなるし、 機能的に log4j から他のロガーに変えるなんてありえん。 あー、ちなみに俺はいくつかのシステムで commons logging + log4j を採用してきた。 今は log4j だけにしとけば良かったと思ってるし、 今後は log4j だけでいく。
356 名前:デフォルトの名無しさん mailto:sage [2005/10/29(土) 14:54:56 ] log4jってファイルの保存先が未定義の場合とかって コンソールに表示されたっけ? log4jでConsoleAppender使えばいいかもしれないけど 別にcommon-loggingでもlog4jでもどっちでもいいんじゃない? >>355 の言うとおり最終的にはlog4jになる場合多いし java.util.loggingってどうなの?
357 名前:デフォルトの名無しさん mailto:sage [2005/10/29(土) 18:37:26 ] >355 前に、呼びだしてる奴等のデータ欲しくて 1回こっきりのLogFactory作って片っ端からbetwixt.BeanWriterで吐かせた 便利だと思った。commonsは力技に屈してくれる あと移動が楽、考えて見るとこれといった理由は無い。 確かに運用ではlog4jしか使わないんだけどね
358 名前:デフォルトの名無しさん mailto:sage [2005/10/29(土) 18:46:19 ] SAPの吐くログと一緒に管理したいという要望があって Commons Logging用のSAPのLoggerを作ったことがある。
359 名前:デフォルトの名無しさん mailto:sage [2005/10/29(土) 21:25:51 ] >>357 >>358 なるほど。でも、log4j のアペンダでもいいよな。 っつーか、俺は log4j の MDC の便利さにはまった。 リクエストヘッダやリクエスト、セッションの内容を全部 MDC に セットしとけば、log4j の出力設定でなんでも出力できる。 運用開始後に客がブラウザの種類とか、リモートIP、ログインIDを ログに出せとか言われても、設定だけで可能。
360 名前:デフォルトの名無しさん [2005/11/01(火) 00:02:01 ] >>352 スタックフレームの取得ってかなりコスト高いんだが。 頻繁に呼び出すログ出力処理でそんな事やるのは愚行ではないかと。
361 名前:デフォルトの名無しさん mailto:sage [2005/11/01(火) 00:34:37 ] ログって、見てはいるけど、見るだけじゃ勿体無いよな。 何が勿体無いって? 入力と出力、分かっちゃいるけど、忘れちゃう基本的な試験にもでてくる基本中の基本。 入力がてんでばらばらの出力を見てたって、整理つかない、見えるもんも見えない。 意図的に入力を加えて、その出力LOGを見るのがトラブルシュートの基本中の基本。 入力と出力、バカにしちゃうけど、バカにできない、 これで少しはトラシューも、楽リマクリスティー♪
362 名前:デフォルトの名無しさん mailto:sage [2005/11/02(水) 20:25:29 ] log4jでgetLogger("aaa.bbb.ccc")ってやって aaa.bbb.ccc.ddd.eeeのパッケージだけログを出したくないときってどうすればいいのでしょうか。
363 名前:デフォルトの名無しさん mailto:sage [2005/11/02(水) 20:50:41 ] NullAppender
364 名前:デフォルトの名無しさん mailto:sage [2005/11/02(水) 23:55:22 ] 出したくないといいつつ、エラー時くらいは出したいのではと勝手に想像すると aaa.bbb.ccc.ddd.eeeを新規にカテゴリ定義してレベルをFATALにする。
365 名前:デフォルトの名無しさん mailto:sage [2005/11/03(木) 00:57:46 ] Enumratar用のユーティリティーって何かありますか。
366 名前:デフォルトの名無しさん mailto:sage [2005/11/03(木) 01:07:33 ] toString系使用していますか?いまいち期待道理に出ないです。 System.out.println(new ToStringBuilder(request.getAttributeNames(), ToStringStyle.MULTI_LINE_STYLE)); をしても何もでないです。
367 名前:デフォルトの名無しさん mailto:sage [2005/11/04(金) 13:10:21 ] reflectionToString() だけ使いまくってる。 ユニットテストクラスで、値確認する時とか。 他のは結局手で書いた方が早くなったので 以来使わなくなりました。
368 名前:デフォルトの名無しさん mailto:sage [2005/11/04(金) 23:58:59 ] >>367 Commonclipse のほうが早くないか?
369 名前:デフォルトの名無しさん mailto:sage [2005/11/05(土) 02:35:29 ] >>368 Commons4E www.jiayun.org/mediawiki/index.php?title=Commons4E これとどっちがいい?
370 名前:デフォルトの名無しさん mailto:sage [2005/11/05(土) 04:11:19 ] >>369 Field selection is the main difference between Commonclipse and Commons4E currently. (Commonclipse uses all fields)
371 名前:369 mailto:sage [2005/11/05(土) 11:36:27 ] >>370 ありがとー。 アホなのでExcite使いますた。 >現在、フィールド選択はCommonclipseとCommons4Eの主な違いです。 >(Commonclipseはすべての分野を使用します) 全フィールド使う方がいいのかな?
372 名前:デフォルトの名無しさん mailto:sage [2005/11/05(土) 16:01:11 ] >>371 toString ならいいんじゃないか? で hashCode と equals には使ってないんだな。 使ってたら、なぜ選択する必要があるか分かると思う。 まー、手修正すんのと GUI で選ぶのもどっちもどっちだけど。
373 名前:デフォルトの名無しさん [2005/11/10(木) 22:34:15 ] jakarta.apache.orz/commons/lang/
374 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 22:48:40 ] わかりにくいネタはやめてくれ。
375 名前:デフォルトの名無しさん mailto:sage [2005/11/14(月) 23:18:35 ] 【玄人】プロジェクト管理ツールApache Maven【2.0登場】 pc8.2ch.net/test/read.cgi/tech/1131976988/
376 名前:デフォルトの名無しさん mailto:sage [2005/11/15(火) 14:28:23 ] >>222 > リフレクションは、重いという弊害の他に、ダウンキャストの危険性も多い。 そこでGenericsを。 BeanUtilが対応していればだが
377 名前:デフォルトの名無しさん mailto:sage [2005/11/15(火) 14:32:57 ] >>229 > closeQuietelyだけだったらさすがに環境構築のたびにクラスパス通して > インポートしてってよりは自分とこの共通クラスにコード書くね。 > だって誰が書いたってああなるでしょ。 > 実際ほとんど同じのcommons自体知る前に書いてたし。 > 結局commons-ioかよとか思わないと思うけどね。 > 別にたいした手間じゃないんだけどクラスパスが無駄に多いのは好きじゃない。 Apache Mavenを使えばクラスパスの設定もいらんぞ。 やってみいよ
378 名前:デフォルトの名無しさん mailto:sage [2005/11/15(火) 14:54:50 ] >>276 実際このCommonsのこれ使っちゃ駄目 これ使っちゃ駄目とか言いだすDQNいるんだな〜これが。 それだけでなくある程度プログラムができあがってくると 多少問題があってもソースコードを弄ることを拒否しようとする。 リファクタリング拒絶というトンデモ君が。 一度こうなってしまったら前へすすむしかない、みたいな。 その様は何人もの犠牲者を出してしまった軍隊のようだ。 犠牲者を出してしまったんだからもう目的地に行かなくては 犠牲者に申し訳が立たないといってデスマーチに陥る。 実際徹夜ばっかになったプロジェクトでしたが。
379 名前:デフォルトの名無しさん mailto:sage [2005/11/15(火) 14:57:27 ] >>267 の レスにたいして>>302 のようなレスをする意味が 激しく解らない >>302 は誤爆?
380 名前:デフォルトの名無しさん mailto:sage [2005/11/15(火) 15:08:21 ] >>370 なーるほど、 ただしCommonclipseプラグインは 未だにEclpse3.1に対応していないというバグが 直っていないのでパス
381 名前:デフォルトの名無しさん [2005/11/15(火) 15:09:22 ] >>309 > 誤爆適用スレってしってるか? > 今日は当たり日なんだろうか・・・ それってどうやって 誤爆を受けているのか確認できる?
382 名前:デフォルトの名無しさん [2005/11/15(火) 15:18:42 ] Commons FileUploadはServletにしか対応していないのか・・・・ 普通にデスクトップJavaや コマンドラインJavaアプリケーションで シェルのようにFTPサーバにftp, sftpまたはSCP経由で ファイルのアップロードするということをやってみたかったんだが。
383 名前:デフォルトの名無しさん mailto:sage [2005/11/15(火) 15:32:33 ] よくみたらFTP接続できるのは Commons Netか! orz
384 名前:デフォルトの名無しさん [2005/11/15(火) 19:07:46 ] Commons NetのFTP接続ってファイアウォール越しに 接続する機能は無いのか? scpかsftpでポート22経由で接続したいのだが・・・。 対応してるプロトコルをみるとsshが見あたらない。 ということは無理か?
385 名前:デフォルトの名無しさん mailto:sage [2005/11/15(火) 23:45:54 ] SOCKSが使えるんでない? もちろんsshのDynamicForwardが前提。
386 名前:デフォルトの名無しさん mailto:sage [2005/11/18(金) 23:35:40 ] Velocityを覚えたからAnakiaに手を出そうとしたらAntをまだ覚えていなかった。盲点。 ライブラリじゃなくてアプリのOSSで俺は貢献してやるぜ!
387 名前:デフォルトの名無しさん mailto:sage [2005/11/22(火) 13:39:32 ] Antは簡単だからいいよ。 Velocityより簡単かと。
388 名前:デフォルトの名無しさん mailto:sage [2005/11/22(火) 14:00:41 ] >>387 比べるモノなのか?
389 名前:デフォルトの名無しさん [2005/11/22(火) 14:12:55 ] ValidatorとかConfigurationsって使えるんだね。 ConfigurationはResourceBundleの代わりとして使えそう
390 名前:デフォルトの名無しさん mailto:sage [2005/11/23(水) 01:00:38 ] 水を挿すようで悪いがたいていResourceBundleで事足りる
391 名前:デフォルトの名無しさん mailto:sage [2005/11/23(水) 02:09:55 ] 気がついたらlibディレクトリがゴチャゴチャになってしまったので 整理したいのですが、Commonsとかそれぞれのjarの依存関係って どうやって調べればよいのでしょうか… とりあえずどこからも呼び出されてないjarだけでも外したいのですが…
392 名前:デフォルトの名無しさん mailto:sage [2005/11/23(水) 19:04:57 ] ドキュメントに書いてあるので嫁。 つーか大した量じゃないんだし、commonsぐらい全部入れちゃっても (ry
393 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 12:42:07 ] >>391 Apache Mavenを使った方が楽だと思うんだけどなあ。 EclipseのMaven Repo Searchプラグインを使って 必要だとわかったJARの<depedency>タグをクリック一発で作って それをpom.xml(Maven1.xではproject.xml)の<dependencies>タグの 内側に貼り付けて、 mvn install を実行し Eclipseを使っているなら mvn eclipse:eclipse を実行してEclipseプロジェクトにJARのパスを自動的に追加して またエラーが出ることを確認してしらみ潰しに、一個一個見てゆき 再びMaven Repo Searchを使って同じ事を繰り返すってやりかたで。 依存関係を調べる方法の一つとして Eclipse3.xのcal Hierarchy(呼び出し階層)を調べる機能で このクラスはどのクラスに必要とされているか、 あるいは逆にこのクラスはどのクラスを使っているかを調べることができる。 ただしJarについては(ry リストアップされるエラーメッセージをみながらこのJARが 必要だあのJARが必要だと調べながらあれこれやることができる。
394 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 12:42:49 ] >>390 Configurationはそんなに使えなかった? それとも面倒だからやらなかっただけ?
395 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 12:50:08 ] 気がつくとCommons Mathとかの リポジトリがCVSからSubversionに入れ替わってるね。 ApacheもとうとうSubversionを導入し始めたか。 他のプロジェクトもすべてSubversionに以降しきっているのかな?
396 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 13:11:27 ] >>395 気づくの遅すぎ。
397 名前:390 mailto:sage [2005/11/24(木) 21:50:13 ] >>394 使えないというより、ResourceBundleで十分だった。 それなら誰もが知ってる方がいいよね。 Tomcatレベルの複雑な設定が可能なアプリケーションには向いてるんじゃない?
398 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 22:00:43 ] そもそもResourceBundleって、メッセージとかラベルの文字列外部化だから Configurationほど色々できる必要が殆ど無いと思われ。 キーを階層構造にしてオブジェクトに格納できたところで、大して意味無いし。 小面倒な設定ファイルとか、シリアライズしたいとかならConfigurationの出番だろうけど。
399 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 22:09:23 ] Configurationで、i18nってできるの? ごめん、確認しないで聞いてる。。。
400 名前:デフォルトの名無しさん mailto:sage [2005/11/25(金) 10:06:40 ] ResourceBundleで配列のメッセージリソース管理できたらなー
401 名前:デフォルトの名無しさん mailto:sage [2005/11/25(金) 12:17:01 ] >小面倒な設定ファイルとか、シリアライズしたいとか スキーマ切ってXMLでやりとりした方が楽になる。
402 名前:デフォルトの名無しさん [2005/11/26(土) 01:23:36 ] Commons-devのメーリングリストに参加して メール読んでるんだけど、 Java Genericsに対応したCommons Collectionって すでにあるんだね。いまのところSourceForge専用だけど。 そのうちCommons Collectionに対応させてゆくらしい。 Tim, It's already been done (collections15.sourceforge.net/ ). Hopefully we'll finally figure out how we're going to bring this code (or some version of it) into our codebase. For now, if you need generic support you can use the sourceforge project. James -----Original Message----- From: Tim Roberts [mailto:troberts@computing.dundee.ac.uk] Sent: Friday, November 25, 2005 6:05 AM To: 'Jakarta Commons Developers List' Subject: Making Commons Collections Generic Enabled Are there any plans to make commons collections generics (as in JDK 1.5) enabled? If not I would be happy to do this. Tim. -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. MailScanner thanks transtec Computers for their support. --------------------------------------------------------------------- To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org For additional commands, e-mail: commons-dev-help@jakarta.apache.org
403 名前:デフォルトの名無しさん mailto:sage [2005/11/29(火) 20:29:31 ] 冷害(笑 ttp://www.jajakarta.org/commons/lang-2.0/ja/withoutPrimary/org/apache/commons/lang/ArrayUtils.html
404 名前:デフォルトの名無しさん mailto:sage [2005/11/29(火) 20:31:04 ] BeanWriterって便利ですね。 BeanUtils系で使用される、ネストで出力できるライブラリってないですか。 $form.property1.name="commons" のような感じで。 BeanWriterもいいけど、xmlより直感的でわかりやすいです。
405 名前:デフォルトの名無しさん mailto:sage [2005/11/30(水) 20:04:22 ] Velocityって環境によってコメントの解釈が違ったりしないか? #* ## こめんと #hogeMacro($hogehoge) #if( $hage ) ほげはげ #end *# こんな感じのコメントつけてると、一番上の #* の部分が表示されたり、最悪 ## 以外のコメントが利かなかったり・・・
406 名前:デフォルトの名無しさん mailto:sage [2005/11/30(水) 21:33:11 ] 環境によるとは?
407 名前:デフォルトの名無しさん mailto:sage [2005/11/30(水) 21:34:57 ] >>405 バグはあるかも知れんね けどテンプレファイルにそんなにコメントつけることなんてある?
408 名前:デフォルトの名無しさん mailto:sage [2005/11/30(水) 22:35:55 ] >>405 ブロックコメントの中にコメント入れないほうがいいよ
409 名前:デフォルトの名無しさん mailto:sage [2005/12/02(金) 16:20:38 ] >>404 ほかは知らないけどそれはほしいね。 velocityもstrutsもibatisも xxx.yyy.zzz 表記だから、 ネスト形式のほうが直感的でわかりやすいかも。
410 名前:デフォルトの名無しさん mailto:sage [2005/12/02(金) 21:55:33 ] VelocityでXMLを出力する場合に上手いやり方ってあります? firstChildとかやってくのは、ちょっと違う気がするです。
411 名前:デフォルトの名無しさん mailto:sage [2005/12/03(土) 04:11:59 ] >>406 CVS使って開発してるから違うのはJVMとOSのバージョンくらいしか思いつかないんだが、 自分のPCで大丈夫だと思っていたものが他の環境では上手くいかないとか >>407-408 仕事で使ってるとマクロ丸々コメントしたりして、その過程でマクロ内に入れてるコメントに引っかかったりするんだ。 つかVelocityは仕事で使うもんじゃないな。
412 名前:デフォルトの名無しさん mailto:sage [2005/12/03(土) 13:54:54 ] じゃあなに使うの?
413 名前:デフォルトの名無しさん mailto:sage [2005/12/03(土) 15:40:10 ] >>403 っていうかJakarta Commons Langって翻訳が全然すすんでないな。 最後に編集したのがこれかい $Id: ArrayUtils.java,v 1.1.1.1 2004/02/13 10:02:05 hioki Exp $ hiokiって誰だ? 姓名がいおき?
414 名前:デフォルトの名無しさん mailto:sage [2005/12/03(土) 15:46:18 ] >>405 そんなのは初めて聞いたぞ。 っていうかそもそも*なんて普通つかうか? >>410 新規にXMLファイル作るなら 簡単だろ。 独自のオブジェクト作ってしまえば かなり楽だろ。 独自のクラスで作られたオブジェクトを newしてそれをListにぶちこんでから Velocityのputにぶちこんで あとはVelocityファイル側で #foreachを使ってlistにぶち込まれた オブジェクトを取り出すだけ。 やり方はマニュアルとかに書いてある。 ググって見ても簡単でいいサンプルもあった。 >>411 普通に仕事でVelocity使ったんだが。Velocityファイルにコメントなんて 一切書かないが。XMLを自動生成するならコメントは<!-- -->だな XMLファイルを自動生成するためにVelocity 使ってコード書いて納品したよ。そのシステム、今でも動いている。
415 名前:デフォルトの名無しさん mailto:sage [2005/12/03(土) 21:32:07 ] velocityよりfreemarkerの方がいい。
416 名前:デフォルトの名無しさん mailto:sage [2005/12/04(日) 09:28:41 ] >>413 文句言うなら自分でやれよ。
417 名前:デフォルトの名無しさん mailto:sage [2005/12/05(月) 18:34:53 ] FreeMaker はタイプ量が増えるのでやだ。 < と > で囲うことに魅力が感じられない。
418 名前:デフォルトの名無しさん mailto:sage [2005/12/11(日) 02:13:16 ] あっははは これだからJakarta信者は。
419 名前:デフォルトの名無しさん mailto:sage [2005/12/11(日) 02:23:36 ] Velocityは人気が高いからな ELでいいじゃん
420 名前:デフォルトの名無しさん mailto:sage [2005/12/11(日) 02:29:28 ] Velocityで質問。 配列のリストをVelocityContextにlistOfArrayとして入れたとするでしょ。 #foreach($array in $listOfArray)〜#endで中身の配列は取れるけど $arrayの各要素が#foreach($object in $array)〜#endで、 それどころか$array[0]でも取れないのはどうすればいいんかね。
421 名前:デフォルトの名無しさん mailto:sage [2005/12/11(日) 02:34:05 ] velocityCountとかいう内部変数があるよ。 デフォルトは1からだが、0からに変更することも可能。
422 名前:420 mailto:sage [2005/12/11(日) 02:50:00 ] >>421 質問内容が伝わってないようだから改めて書く。 下のような例の場合 1 と 4 が出力されてほしいがそうならない。foreachで受けた 変数が配列の場合、どういう表記をすればその配列の中身を取り出せるのかね。 Java側 List listOfArray = new ArrayList(); listOfArray.add(new int[] { 1, 2, 3, }); listOfArray.add(new int[] { 4, 5, 6, }); VelocityContext context = new VelocityContext(); context.put("listOfArray", listOfArray); Velocity側 #foreach ($array in $listOfArray) ## $listOfArrayの各要素は取り出せる。 $array[0] ## $array の各要素は取り出せない。 #foreach ($object in $array) ## foreach でもダメ。 $object #end #end
423 名前:420 mailto:sage [2005/12/11(日) 02:52:36 ] > 下のような例の場合 1 と 4 が出力されてほしいがそうならない。 下のような例の場合 $array[0] に対応した箇所で 1 と 4 が出力されてほしいがそうならない。
424 名前:デフォルトの名無しさん mailto:sage [2005/12/11(日) 02:59:26 ] プリミティブ配列だからでは? Integerで出来ない?
425 名前:デフォルトの名無しさん mailto:sage [2005/12/11(日) 03:02:29 ] Integerでも無理
426 名前:デフォルトの名無しさん mailto:sage [2005/12/11(日) 03:04:54 ] #foreach( $ref in arg ) statement #end 使い方: * $ref - 最初の変数リファレンスは、リストの項目です。 * arg - リストのリファレンス(つまりオブジェクト配列/コレクション/マップ)、 配列リスト、範囲演算子のいずれかです。 * statement - 上記で arg と示されたリスト内にある、 有効なアイテムの分だけ出力する内容です。 この出力は有効なVTLなら何でもよく、ループの繰り返し毎に処理されます。 ドキュメントを見ると出来るはずなのにな。 #{array[0]}は試した?
427 名前:デフォルトの名無しさん mailto:sage [2005/12/11(日) 03:07:21 ] #{array[0]} もダメ。 でも配列のリストでなく、リストのリストならうまくいくことは確認している。
428 名前:デフォルトの名無しさん mailto:sage [2005/12/11(日) 06:33:17 ] 画面ばっかり作っていて #foreach( $arrays in $beans.samplearray ) #foreach( $array in $arrays ) #foreach( $sample in $array ) $sample #end #end #end みたいな事やってたから出来ると思うが・・・リストのリストだったのかな $array[n] はできないよ。 #set( $sample = [] ) みたいにカラのArrayListオブジェクトを作ることは出来るけど・・・ 配列の中身取りたかったら、#foreachでまわすか、リストにして $array.get(n) のかたちで取らないといけないんじゃなかったか。 #foreach でまわせないのは・・・ new int[] { 1, 2, 3, } ってやってるけど、3つなら3つって指定してやらないといけないとか しかし long の数値が if で比較できないとか色々不便だな。 #if( "$longvalue".equals( "0" ) ) みたいなことやってる。悲しすぎる。 ああ、$math 使えばよかったか・・・どっちにしろ長く分かりにくくなるんだよなぁ。
429 名前:デフォルトの名無しさん mailto:sage [2005/12/11(日) 15:11:00 ] >>426 を見るとオブジェクト配列は可能ってあるけど、何が可能なんだろうな
430 名前:デフォルトの名無しさん mailto:sage [2005/12/11(日) 15:20:04 ] あれ?俺は普通に出来たが・・・ArrayListにint[]
431 名前:デフォルトの名無しさん mailto:sage [2005/12/12(月) 14:20:24 ] >>403 こんなところで笑ってないで、フィードバックしる。
432 名前:デフォルトの名無しさん mailto:sage [2005/12/12(月) 14:33:17 ] >>420-430 ListToolを使ってみたらどう? Velocity Tools 1.2 (最近リリースされた) 以降でないとだめだけど。 ttp://jakarta.apache.org/velocity/tools/javadoc/org/apache/velocity/tools/generic/ListTool.html
433 名前:デフォルトの名無しさん [2005/12/13(火) 16:03:56 ] Configurationsって仕様見ると超便利なのに バグが多すぎだなorz プロパティファイルが更新されると同時に更新されたことを 自動的に読みとってくるリロードストラテジークラスを 使ってみたのにプロパティファイルを更新しても全然リロードされなかった。 クラスパスが通っているところにファイルを置いてもうまく いかないみたいだ。これって最悪。Hibernateの設定ファイルを 管理しようと思っていたのに。 しかも読み込んだ設定ファイルを保存するsave()メソッドもちゃんと機能しない。 なにやらJavaプログラム実行ディレクトリを基点とした 絶対パスを指定しないとうまくいかないようだ。save()メソッドを実行する前に setBasePath()またはコンストラクタで絶対パスを指定するか、save()メソッドの 引数に絶対パスを指定するかしないと変更が反映されないようだ。 これもクラスパス上に置いただけではまったく糠に釘出しのようだ。 それでも正確に反映されないときがある。それにはク意図的にコンストラクタで newしないといけないようだ。 ということで現状のConfigurationには期待に反して不満が多すぎ。 XMLファイルの読み書きは楽だと思ったけど。
434 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 20:41:50 ] 現在、Jakartaのサイトにつながらないが、 そんなことを掲示板に書くな、ヴォケが。
435 名前:デフォルトの名無しさん mailto:sage [2005/12/16(金) 18:21:13 ] >420 primitiveの配列でもサポートされるはずだけど。 org.apache.velocity.util.introspection.UberspectImpl#getIterator(Object, Info)あたり参照。 正直、Velocityはソース追いながら & hackしながらじゃないと使いにくい。
436 名前:デフォルトの名無しさん mailto:sage [2005/12/19(月) 18:59:19 ] perl5utilでtrは未サポートらしいですね。 自力でかな 全角→半角 置換します。 if ("ア".match(str)) { str.replaceAll("", "ア"); } else if ・・・ tr/アイウエオ/アイウエオ/ができたら1行なのに!
437 名前:デフォルトの名無しさん mailto:sage [2005/12/19(月) 19:37:50 ] 誤爆?
438 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 21:05:05 ] きわどい内容だね ここに書いてもなんら違和感ないキャスティングだ
439 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 22:57:08 ] OROだな。テラナツカシス
440 名前:デフォルトの名無しさん mailto:sage [2005/12/21(水) 00:08:03 ] JMeterみたいな知る人ぞ知るみたいなツールもあれば ECSみたいに厨房のオナニーライブラリと見分けが付かないものもあったり Jakartaも質がばらばらだな
441 名前:デフォルトの名無しさん mailto:sage [2005/12/21(水) 02:51:14 ] >>440 でもオープンなライブラリがこれだけあるのがありがたいじゃん。 例え玉石混淆でもさ。 最近.NET案件入ったらCommonsみたいのがなくて、そのありがたさを身にしみて感じてるよ。
442 名前:デフォルトの名無しさん mailto:sage [2005/12/21(水) 02:52:04 ] .netは金だせばなんでもある世界
443 名前:デフォルトの名無しさん mailto:sage [2005/12/21(水) 07:16:13 ] JakartaっていうかApacheのいいところは、既存プロジェクトからいい機能が 独立プロジェクトになるところ
444 名前:デフォルトの名無しさん mailto:sage [2005/12/21(水) 17:19:23 ] JMeterって知る人ぞ知るかぁ?Jakartaのトップからもう何年もリンクがあるのに? あんまり使われてないのは 1. JMeter重すぎ、サーバの負荷テストの前にクライアントの負荷テストになる 2. HTTPのテストならproxyの設定の必要がないのと軽さで Microsoft Web Application Stress Tool(通称ゲイツ砲)に軍配 3. RMIについてはちょっと他に代わりを知らないのでJMeter使う場合もあるが そもそもリッチクライアントだってRMI使うことが流行じゃない 4. データベースの負荷テストなんてそもそもJMeterからやらんでもいい 5. テスト仕様書もエヴィデンスもJavadoc化できるので 負荷テストはユニットテストの延長でjunit/junit-eeなりcactusなりで作る 6. お金があるのでWinRunnerみたいなテスト自動化ツールとか Cloverみたいな分析ツールを買った ってところが理由だと思うけどな。 ECSを厨房ライブラリと言い切るのもなんだかねぇ。 perlのCGI..pmとかXML::Writer.pmのjava版だと思えばあっても構わんだろ。 使いたい奴は使えばいい。
445 名前:デフォルトの名無しさん [2006/01/02(月) 14:32:56 ] 正月じゃカルタやるべさ
446 名前:デフォルトの名無しさん mailto:sage [2006/01/02(月) 15:06:10 ] >>440 Commonsの場合はSandboxであるかないか、とか AかBか、という違いで質がわかるようになっている。 それ以外にも古いものや開発が停滞しているものあるはい開発が すっかり止まっているものは質が悪かったりする(とは限らないが)、などなど。
447 名前:デフォルトの名無しさん mailto:sage [2006/01/05(木) 19:59:02 ] JXPathめちゃめちゃ使えますね。 XPathでワイルドカード、正規表現検索ってできるのでしょうか?
448 名前:デフォルトの名無しさん mailto:sage [2006/01/11(水) 11:50:05 ] Commonsに電卓のようなクラスはあるでしょうか。 "10 + (9 -1) / 2"の文字列を計算するようなものです。
449 名前:デフォルトの名無しさん mailto:sage [2006/01/11(水) 15:43:16 ] >>448 velocityでやるべし。 StringWriter writer = new StringWriter(); Velocity.evaluate(ctx, writer, "", "#set( $value = 2 * 4 * 6 )$value"); System.out.println("result: " + writer);
450 名前:デフォルトの名無しさん mailto:sage [2006/01/11(水) 15:49:43 ] >>449 なるほどね。 いただき!やってみます
451 名前:デフォルトの名無しさん mailto:sage [2006/01/11(水) 15:53:39 ] >>450 こんなんもできる。 StringWriter writer = new StringWriter(); Velocity.evaluate(ctx, writer, "", "#set( $value = 2 * 4 - 6 )$value"); System.out.println("result: " + writer); writer = new StringWriter(); Velocity.evaluate(ctx, writer, "", "#set( $value = 2 * ( 4 - 6) )$value"); System.out.println("result: " + writer);
452 名前:デフォルトの名無しさん mailto:sage [2006/01/11(水) 20:34:35 ] Mapのキーのリストを渡して、Mapのvalueを配列(リストでもいいんだけど)で帰すメソッドってありますか? 見つからなかったので自分で作りました。 あってもいいんだけど・・・ public static Object[] toValueList(Map map, List keyList) { Iterator iterater = keyList.iterator(); List result = new ArrayList(); while (iterater.hasNext()) { result.add(map.get(iterater.next())); } return result.toArray(); }
453 名前:デフォルトの名無しさん mailto:sage [2006/01/11(水) 21:56:02 ] >>452 キーのリストを指定しなくて良いなら map.values().toArray() で取れるけど。
454 名前:デフォルトの名無しさん mailto:sage [2006/01/12(木) 09:47:11 ] >>453 ありがとうございます。
455 名前:デフォルトの名無しさん mailto:sage [2006/01/12(木) 16:36:04 ] FileUtilsでcopyDirectory(File srcDir, File destDir)がありますが、 UNIXにあたる mv はないでしょうか。
456 名前:デフォルトの名無しさん mailto:sage [2006/01/13(金) 05:32:36 ] >>455 Commonsと関係ないけど import java.io.File; public class MoveFile { public static void main(String[] args) { File orgFile = new File("a.gif"); orgFile.renameTo(new File("tmp" + File.separator + orgFile.getName())); } } こんなやり方で a.gifファイルが tmpディレクトリに移動できるみたいだけど これじゃだめ?
457 名前:デフォルトの名無しさん mailto:sage [2006/01/13(金) 10:24:43 ] >>456 ありがとうございます。 できました。 ちなみにパーティションを介した場合でも移動になるのでしょうか? 自分のマシンがCドライブのみなので確認できません。
458 名前:デフォルトの名無しさん mailto:sage [2006/01/13(金) 12:27:35 ] >>457 共有してドライブに割り当てれば?
459 名前:デフォルトの名無しさん mailto:sage [2006/01/13(金) 12:28:52 ] >457 それか、これ。 arena.nikkeibp.co.jp/tec/winxp/20040825/109291/
460 名前:デフォルトの名無しさん mailto:sage [2006/01/13(金) 19:37:27 ] >>458 できました。 ありがとうございます。
461 名前:デフォルトの名無しさん mailto:sage [2006/01/13(金) 20:25:19 ] CompositeMap使ったことある人
462 名前:デフォルトの名無しさん [2006/01/15(日) 23:09:53 ] Commons VFSを使えば Commons Netにはなかったsftp接続ができるとわかったんだけど このVFS、うまく動かない。 EclipseのMaven Repo Searchプラグインを使ってvfsで検索して 以下のタグをクリップボードからpom.xmlに貼り付けてMaven2で mvn ecipse:eclipseとして JARファイルをEclipseプロジェクトのライブラリに追加したのだが・・・ <dependency> <groupId>commons-vfs</groupId> <artifactId>commons-vfs</artifactId> <version>20050307052300</version> <scope>compile</scope> <type>jar</type> </dependency> ナイトリービルドだからいたしかない、というしかないのだろうか? 以下のコードをためしてみたものの homepage2.nifty.com/igat/igapyon/diary/2005/ig050702.html Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory at org.apache.commons.vfs.impl.StandardFileSystemManager.<init>(StandardFileSystemManager.java:45) at name.sugawara.hiroshi.html.taggenerator.uploader.ImageUploader.main(ImageUploader.java:31) どういうことだ? EclipseにはCommons LoggingのJarがライブラリにクラスパスとして通っているというのに。
463 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 00:04:50 ] とりあえずsugawara hiroshiさんだということは分かった。
464 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 01:35:30 ] ∩___∩ | ノ ヽ /⌒) ● ● | / ////( _●_)// ミ .( ヽ |∪| 、\ \ ヽノ /´> ) | / (_/
465 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 02:07:22 ] ワラタ(・∀・)
466 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 02:21:57 ] >>463 ばれちゃったか(笑 しばらくレスするのやめることにするかもしれないけど 実名晒しても恐れずに前に突き進んでみるさ。 VFSはまだまだバグがあるのようなので かわりにJschまたはJ2SSHを試して見ることにしたよ。 レスサンクスな。
467 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 02:35:03 ] パッケージ名にname.sugawara.hiroshiという.nameドメインを使っていただけ ただそれだけのようで何も珍しくも
468 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 02:48:56 ] Maven Repo SearchでもsshをキーワードにしてJ2SSHをインストールできることがわかった。
469 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 12:50:48 ] >>462 どうやら、実行時にCommons Logging のjarをクラスパスに通すだけでいいっぽい。 これはどうやら、なぜかJ2SSHでも同じように必要なようですな。
470 名前:462 mailto:sage [2006/01/17(火) 02:02:23 ] 結局sftpを使うにはJ2SSHを使うことにした。 Commons VFSを使うよりこっちのほうが安定している。 確かにVFS, J2SSHどちらも実行時にCommons Loggingを必要としている。 内部ではjsch.jarを使っているようだ。 Maven Repo SearchでJ2SSHも引っかかることがわかった。
471 名前:デフォルトの名無しさん [2006/01/25(水) 04:51:28 ] Commons Configurations使ったらlog4j,becl,beanutils.commons-loggingのダウンロードも強いられた。 もうわけわかめ。Eclipse + Maven2がなかったら困惑してたに違いヌー
472 名前:デフォルトの名無しさん mailto:sage [2006/01/26(木) 11:46:12 ] ネストされているBeanのプロパティーの値も出力してくれる ReflectionToStringBuilderみたいなものはないでしょうか。 DB登録失敗時にデータを運用で復元したいので、 テキスト形式で情報を出してほしいといわれてしまいました。 対処法がわからず途方にくれています。
473 名前:デフォルトの名無しさん mailto:sage [2006/01/26(木) 12:11:34 ] org.apache.commons.transaction.file.FileResourceManager使ったことある人 ファイルをベースにして、DBのようなトランザクションができそう
474 名前:デフォルトの名無しさん mailto:sage [2006/01/26(木) 12:16:13 ] >>472 とりあえず、XMLEncoderでシリアライズしてみるとか。
475 名前:デフォルトの名無しさん mailto:sage [2006/01/26(木) 13:28:04 ] >>474 そうですね。 今はとりあえずBeanWriterでXML形式で全部出しています。 ただプロパティー形式にしろといわれ、ちょっと困っています。 Commonsをいろいろみましたが、XML→プロパティの変換はなかったので・・・
476 名前:デフォルトの名無しさん mailto:sage [2006/01/26(木) 17:00:12 ] ちょっとしたことなんだけど、ファイル削除メソッドってstaticであってもよくないですか。 new File("xx").delete();はめんどくさいです。
477 名前:デフォルトの名無しさん mailto:sage [2006/01/26(木) 17:22:38 ] 仮にあったとしても FileUtils.delete("xx"); じゃ大して変わらんね。 static import すりゃタイプ数も変わるかもしれんが、 delete は比較的衝突しやすそうな名前だしなぁ。
478 名前:デフォルトの名無しさん mailto:sage [2006/01/27(金) 10:32:22 ] >>473 自己レス。 新たにファイルを作成・書込み・変更の作業はロールバックできるけど、 すでにあるファイルを削除したときのロールバックはできないみたい。 他にやり方があるかもしれないですが・・・
479 名前:デフォルトの名無しさん mailto:sage [2006/01/27(金) 10:41:11 ] org.apache.commons.collections.iterators いろいろみましたが、 カウンタを取得できるiteratorはないですね。 ループはiteratorでいつも通りしたいのですが、 ループ中にカウンタがほしい、ということはないんですかね・・・。 カウンタ取るために、リストを配列に戻して、list.get(1)とかって、なんか悲しいです。 皆さんはどうしてます。
480 名前:デフォルトの名無しさん mailto:sage [2006/01/27(金) 12:20:57 ] >>479 ローカル変数でカウンタ宣言してループ内で使えばいいんじゃ? イテレータがカウンタ持つ必要はないと思うけど
481 名前:デフォルトの名無しさん mailto:sage [2006/01/27(金) 12:26:48 ] >>479 インデックス使いたいなら、わざわざIterator使う必要ないと思うけど。 インデックス使わずに、走査できるのがIteratorなのに。 なんで、List→配列化するかも不明??
482 名前:デフォルトの名無しさん mailto:sage [2006/01/27(金) 17:32:46 ] 俺も行番号生成とかでたまにやるけど、少なくとも配列に戻す必要は無いな。 ローカル変数で十分。
483 名前:デフォルトの名無しさん mailto:sage [2006/01/27(金) 17:43:28 ] List#listIterator() じゃダメなの?
484 名前:デフォルトの名無しさん mailto:sage [2006/01/31(火) 17:29:34 ] >>479 LinkedHashMap使ってキーに数字をいれるのはどうよ? って話じゃないか List#subList()などを組み合わせてループしながら List#index.Of() , List#lastIndexOf()でindexを検索するのはどうよ?
485 名前:デフォルトの名無しさん mailto:sage [2006/01/31(火) 18:02:07 ] BeanMap bmap = new BeanMap(this); System.out.println(IteratorUtils.toList(bmap.entryIterator())); でフィールドのリストが出力されますが、 thisのクラスのみのフィールドをしゅとくすることはできるでしょうか。
486 名前:デフォルトの名無しさん mailto:sage [2006/01/31(火) 19:04:22 ] >>479 素直に int counter = 0; for( String s : stringList) { counter++; //なんか処理 } じゃ駄目なのか?
487 名前:デフォルトの名無しさん [2006/02/02(木) 00:19:04 ] CodeZine:Jakarta Commonsを使ってJDKクラスを拡張する:パート1 codezine.jp/a/article.aspx?aid=283 CodeZine:Jakarta Commonsを使ってJDKクラスを拡張する:パート2 codezine.jp/a/article.aspx?aid=284
488 名前:デフォルトの名無しさん mailto:sage [2006/02/02(木) 16:14:27 ] 日付の大小比較をしたいのですが、DateUtils.isSameDayだと 大小比較ができません。Commonsで他に便利なものはありますでしょうか?
489 名前:デフォルトの名無しさん mailto:sage [2006/02/02(木) 16:20:31 ] >>488 java.util.Date#compareTo(Date)
490 名前:デフォルトの名無しさん mailto:sage [2006/02/02(木) 17:50:24 ] >>489 失敬です。 当然でした・・・・
491 名前:デフォルトの名無しさん mailto:sage [2006/02/02(木) 18:43:06 ] PropertiesでLinkedHashMapに対応するPropertiesみたいなものってないでしょうか? PropertiesのpropertyNamesでキーのリストを取れますが、 Propertiesの先頭から順に取得したいです。
492 名前:デフォルトの名無しさん mailto:sage [2006/02/02(木) 19:26:59 ] ファイルの内容をiteratorでまわすクラスはあるでしょうか。
493 名前:デフォルトの名無しさん mailto:sage [2006/02/02(木) 19:37:41 ] org.apache.commons.io.FileUtils.readLines(new File("filename"), "encoding")
494 名前:デフォルトの名無しさん mailto:sage [2006/02/02(木) 20:24:22 ] >>493 ありがとうございます。 これは一気にファイルの情報をStringにつめていますが(たぶん) 小さいファイルなのでかまわず使用させていただきます。
495 名前:デフォルトの名無しさん mailto:sage [2006/02/02(木) 20:44:09 ] 一気に読みたくないなら commons なんか使わないで普通に BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("filename"), "encoding")); String line; while(null != (line = br.readLine())){ // line 使った処理 }
496 名前:デフォルトの名無しさん mailto:sage [2006/02/07(火) 14:45:55 ] cvsファイルの、"xx xx"やxx\'xxなど文字を、下記の通り返すようなユーティリティはありますか。 "xx xx" → xx xx xx\'xx → xx'xx
497 名前:デフォルトの名無しさん mailto:sage [2006/02/07(火) 14:58:46 ] >>496 それありそうでないよね。
498 名前:デフォルトの名無しさん mailto:sage [2006/02/07(火) 19:08:45 ] >>497 たしかに。StringTokenizerはつかえねーし。
499 名前:デフォルトの名無しさん mailto:sage [2006/02/07(火) 23:59:52 ] >>496 いまいち意味がつかめないんだけど、ダブルクォートと円サインを空文字で 置換したあとに、(CSVなので)カンマでsplitしたらいいの?
500 名前:デフォルトの名無しさん mailto:sage [2006/02/08(水) 05:59:06 ] >>499 ダブルクォートの中にカンマがあったら?
501 名前:デフォルトの名無しさん mailto:sage [2006/02/08(水) 13:45:01 ] HashMapのみで構成されたCollectionにCollections.sortかけたら、 なぜかClassCastExceptionが発生。なぜ?
502 名前:デフォルトの名無しさん mailto:sage [2006/02/08(水) 13:51:39 ] >>501 Comparator 渡さなかったんじゃないの? HashMap は Comparable 実装して無いから ((Comparable)e1).compareTo(e2) みたいにやってる部分で ClassCastException 食らうはず。
503 名前:デフォルトの名無しさん mailto:sage [2006/02/08(水) 13:55:06 ] >>501 すいません。自己解決。Comparable実装してませんでした。
504 名前:デフォルトの名無しさん mailto:sage [2006/02/08(水) 18:16:05 ] シリアライズ可能でないオブジェクトは、どうあがいてもシリアライズできないでしょうか。 SerializationUtilsは、見た感じそのようなものではなかったのですが・・
505 名前:デフォルトの名無しさん mailto:sage [2006/02/08(水) 21:49:00 ] CollectionUtilsのforAllDo()で、コレクションの再起処理はできないのでしょうか
506 名前:デフォルトの名無しさん mailto:sage [2006/02/08(水) 22:14:17 ] class RecursiveClosuer implements Closure{ private Closure delegate; public RecursiveClosure(Closure closure){ delegate = closure; } public void execute(Object input){ if(!input instanceof Collection) delegate.execute(input); else CollectionUtils.forAllDo((Collection)input, this); } } みたいのを作って CollectionUtils.forAllDo(collection, new RecursiveClosure(delegate)) とかすれば数行で対応できるから作らんかったんじゃなかろーか。
507 名前:デフォルトの名無しさん mailto:sage [2006/02/09(木) 16:25:06 ] >>506 すばらしい。 ありがとうございます。
508 名前:デフォルトの名無しさん mailto:sage [2006/02/10(金) 05:09:46 ] Closure closure = new Closure(input) { if (input instanceof Collection) { CollectionUtils.forAllDo((Collection) input, this); } else { // したい処理 } }; CollectionUtils.forAllDo(collection, closure); 再帰処理するように Closure を書けばいいだけじゃん。 506 みたいな RecursiveClosure なんか作る必要もない。
509 名前:デフォルトの名無しさん mailto:sage [2006/02/10(金) 05:11:03 ] なんか変になったが new Closure() { public void execute(Object input) {・・・ な
510 名前:デフォルトの名無しさん mailto:sage [2006/02/13(月) 11:00:42 ] PropertyUtils#setPropertyって、BeanUtils#setPropertyと違って オブジェクトのConvertが使用されないのですね・・
511 名前:デフォルトの名無しさん mailto:sage [2006/02/13(月) 13:11:57 ] ドキュメントに with no type conversions ってしっかり書いてあるし。
512 名前:デフォルトの名無しさん mailto:sage [2006/02/13(月) 15:01:18 ] yahooの検索結果で、10件表示の全件が110件以上の場合は 検索画面の下に 2・・・・11って出ますが、あんな計算をさくっとやってくれるツールないですかね
513 名前:デフォルトの名無しさん mailto:sage [2006/02/13(月) 15:54:24 ] >>512 電卓
514 名前:デフォルトの名無しさん mailto:sage [2006/02/13(月) 16:49:07 ] 一定期間で無効になるHashMapのようなクラスってないのかな WebAppで小さいファイルを読み込んだり、 定期的に再読み込みしてほしいことって良くあるけど、それようのUtilクラスが見当たらないね
515 名前:デフォルトの名無しさん mailto:sage [2006/02/13(月) 16:55:10 ] それ HashMap 関係あるの? 定期的になんらかの処理させたいなら java.util.Timer とかもあるし。
516 名前:デフォルトの名無しさん mailto:sage [2006/02/13(月) 17:24:18 ] ま、Timerかなんかで定期的にキャッシュしたい値が入ってるMapをクリアすればいいが、 出来ればそれぞれのvalueは指定した時間内だけ有効(取り出せる)なコンテナがあると、 気軽にキャッシュとして使えていいなー と。
517 名前:デフォルトの名無しさん mailto:sage [2006/02/13(月) 17:34:55 ] >>516 一応、Sandboxにキャッシュ関係はあるみたいだけど、使い物になるかどうか……。 jakarta.apache.org/commons/sandbox/cache/
518 名前:デフォルトの名無しさん mailto:sage [2006/02/13(月) 18:12:31 ] 一定期間にはならんけど、キャッシュならWeakHashMapを良く使うな
519 名前:デフォルトの名無しさん mailto:sage [2006/02/13(月) 18:17:22 ] WeakHashMap で put("key", value) とかやって……
520 名前:デフォルトの名無しさん mailto:sage [2006/02/15(水) 09:38:43 ] unixで言うところのgrepのようなクラスはあるでしょうか。 今は正規表現のMatcherを使用して自力で書いています。
521 名前:デフォルトの名無しさん mailto:sage [2006/02/15(水) 09:50:40 ] プリミティブ型とintやdoubleが混ざる計算をするときに、 全ての型をプリミティブ型にしなければいけませんが、 もっと簡単に計算できるツールはないでしょうか。 MathUtilsかなと思ったのですが、数学用のものでした。
522 名前:デフォルトの名無しさん mailto:sage [2006/02/15(水) 11:31:43 ] >>513 ありがとうございます。 電卓用クラスがあるのでしょうか?
523 名前:デフォルトの名無しさん mailto:sage [2006/02/15(水) 12:00:01 ] >520 grep のような、と言うのは 複数ファイルから検索を行うってこと? それはクラスレベルではなくて、 アプリケーションレベルの話じゃないでしょうか。
524 名前:デフォルトの名無しさん mailto:sage [2006/02/15(水) 12:04:00 ] >>523 すいません。 1ファイルレベルです。
525 名前:デフォルトの名無しさん mailto:sage [2006/02/15(水) 12:26:08 ] >>524 つjakarta.terra-intl.com/oro/
526 名前:デフォルトの名無しさん mailto:sage [2006/02/15(水) 12:57:10 ] >>522 110 / 10 = 11 これ以上になにか必要か?
527 名前:デフォルトの名無しさん mailto:sage [2006/02/15(水) 17:47:46 ] LazyListで、set(6, "")すると落ちます。 LazyList.decorate(new ArrayList(), FactoryUtils.constantFactory("")); list.set(6, "") addは対応されているのですが、setは対応していないのでしょうか?
528 名前:デフォルトの名無しさん mailto:sage [2006/02/16(木) 19:39:01 ] DateUtils#iteratorは使えるが、xx日〜yy日のリストもほしいな・・・
529 名前:デフォルトの名無しさん mailto:sage [2006/02/20(月) 12:00:18 ] >>527 自己解決。 setをオーバーライドし、中でaddを呼ぶようにして解決しました。
530 名前:デフォルトの名無しさん [2006/02/26(日) 17:34:14 ] commonsだけじゃないんだけど、既存のプロジェクトで使われてるjarのバージョンを正確に知る方法とか ツールってなんかありますか? 引き継いだはいいけどライブラリのバージョンに関する情報が無くて・・・orz いちいち全部クラスとかプロパティの存在有無とかで当たりつけるしかないのかなぁ・・・。
531 名前:デフォルトの名無しさん mailto:sage [2006/02/26(日) 17:46:20 ] >>530 jar内のMANIFEST.MFに書いてあることもある。Jakartaのはだいたい書いてあって気がするよ。
532 名前:デフォルトの名無しさん mailto:sage [2006/02/26(日) 19:41:13 ] MANIFEST.MFになければhashやサイズで比較するとかかな。 内容で比較するのはしんどいでしょ。
533 名前:デフォルトの名無しさん mailto:sage [2006/02/27(月) 00:09:23 ] >>531 >>532 レスありがとうございます。 やっぱり全部共通で調べられるような楽な方法はないっすよね。 でもMANIFEST.MFとかサイズで比較ならなんとかなりそうなんで、いっちょやってみます! ありがとうございました。
534 名前:デフォルトの名無しさん mailto:sage [2006/03/08(水) 10:17:56 ] あるファイルの、エンコード種別を判断するクラスはあるでしょうか。 読込むファイルの文字コードをPGで判断しろといわれてしまいました。
535 名前:デフォルトの名無しさん mailto:sage [2006/03/08(水) 12:09:41 ] Converterで、配列を変換することはできないのでしょうか。
536 名前:デフォルトの名無しさん mailto:sage [2006/03/08(水) 12:55:02 ] なんのConverterだよ
537 名前:デフォルトの名無しさん mailto:sage [2006/03/08(水) 13:08:56 ] >>536 ConvertUtils.register()に追加できるConverterです。
538 名前:デフォルトの名無しさん mailto:sage [2006/03/08(水) 13:18:25 ] BeanUtilsのConverterか?だったらできる。 何の話をしているのかわからない質問するなよ
539 名前:デフォルトの名無しさん mailto:sage [2006/03/08(水) 14:56:51 ] >>538 すんませんす。 ありがとうございます。
540 名前:デフォルトの名無しさん mailto:sage [2006/03/09(木) 11:44:45 ] 「2M」の文字情報を、byte単位の文字情報に変換するクラスはあるでしょうか。 FileUtilsの逆みたいなものです。 単純に、byte変換クラス見たいのがあればいいのですが
541 名前:デフォルトの名無しさん mailto:sage [2006/03/09(木) 19:28:38 ] >>540 自分で見つけました。 String prefix = ModuleUtils .getInstance() .getModuleConfig(request, application) .getPrefix(); return (ValidatorResources) application.getAttribute( ValidatorPlugIn.VALIDATOR_KEY + prefix);
542 名前:デフォルトの名無しさん mailto:sage [2006/03/10(金) 11:42:01 ] CollectionUtilsで、重複したデータを取得することはできるでしょうか。 Beanのリストに対し、BeanPredicateなどで、比較対照項目を絞り込んで そこから重複を取得したいです。
543 名前:デフォルトの名無しさん mailto:sage [2006/03/10(金) 21:55:41 ] >>534 文字エンコードに "Shift_JIS"とか"EUC-JP"とかのかわりに "JISAutoDetect"ってやるのがいちばん簡単 それが信用できないなら(実際あまり当てにならないけど) ↓をよくよんでガンバレ www.mars.dti.ne.jp/~torao/program/appendix/japanese.html
544 名前:デフォルトの名無しさん mailto:sage [2006/03/10(金) 22:48:40 ] >>543 とんでもないことすすめるなよ
545 名前:デフォルトの名無しさん mailto:sage [2006/03/11(土) 12:31:08 ] >>541 誤爆??? >>540 とは関係なくない? ↓に全く同じ投稿あったけど。 pc8.2ch.net/test/read.cgi/tech/1109465052/669 > >>668 > 自分で見つけました。 > String prefix = > ModuleUtils > .getInstance() > .getModuleConfig(request, application) > .getPrefix(); > return (ValidatorResources) application.getAttribute( > ValidatorPlugIn.VALIDATOR_KEY + prefix);
546 名前:デフォルトの名無しさん mailto:sage [2006/03/11(土) 12:56:41 ] んなこともあるさ
547 名前:デフォルトの名無しさん mailto:sage [2006/03/13(月) 18:45:51 ] >>544 これは結構危険なのでしょうか?
548 名前:デフォルトの名無しさん mailto:sage [2006/03/13(月) 23:20:07 ] いまどき文字コード自動判別とか馬鹿じゃねえの そんなこと要求するやつ糞食わしていいよ
549 名前:デフォルトの名無しさん mailto:sage [2006/03/14(火) 09:15:21 ] >>547 危険つーか、大体でしか判別できないのでハズレる可能性あり
550 名前:デフォルトの名無しさん mailto:sage [2006/03/14(火) 10:23:10 ] 自動判別の難しさと不確実さをきちんと説明して それでもPG側でやれって言うならやればいいだろう。 それで問題が起きても指示した人間の罪だ。 きちんと説明してさえあれば。
551 名前:デフォルトの名無しさん mailto:sage [2006/03/14(火) 16:01:53 ] >>551 それに加え、何かしら仕様書なんかに書いておくのは必須だな。 後になってから「そんなの聞いてない」 とかいう客よくいるから。
552 名前:デフォルトの名無しさん mailto:sage [2006/03/15(水) 20:48:27 ] そうだな、証拠は残すべき たとえ、客が仕様書を読んでないとしても。
553 名前:デフォルトの名無しさん mailto:sage [2006/03/16(木) 23:35:26 ] Java以外だとエディタとかで自動判別する奴結構あるじゃん? あれってどーやってんの?
554 名前:デフォルトの名無しさん mailto:sage [2006/03/17(金) 15:41:55 ] 日本語の場合、 1. iso-2022-jpだとそれを示す並びがあるので判別可能。 2. euc-jp と shift_jis は本質的に判別が難しいが、片方のエンコードにはあるのに、 もう片方のエンコードにはないコード列が存在するので、 それを検出した段階で判別可能。 ってやり方だと思う。 早い話、「片方のエンコードにしか存在しないコード列」を使っていない文章は判別不可能になる。 自動判別持ち出すんなら、そういうケースに対して どう対処すべきかくらい考えてて然るべき。 何も考えていないんなら、ただのバカ。
555 名前:デフォルトの名無しさん mailto:sage [2006/03/17(金) 22:28:18 ] BeanUtils.getPropertyで、以下の"aaa"の値を出そうとしていますが、 下記の通りに書いてもエラーになります。 値をとる方法はあるでしょうか? Map map = new HashMap(); map.put("aaa", "bbb"); List list = new ArrayList(); list.add(map); Map top = new HashMap(); top.put("list", list); BeanUtils.getProperty(top, "list[0].aaa"); BeanUtils.getProperty(top, "list[0](aaa)"); BeanUtils.getProperty(top, "list.aaa");
556 名前:デフォルトの名無しさん mailto:sage [2006/03/20(月) 13:23:53 ] >>555 それは無理だな。 リストのマップも、マップのリストも無理だよ。 リストマップともに扱いが特別だから、併用は難しいね
557 名前:デフォルトの名無しさん mailto:sage [2006/04/20(木) 17:34:51 ] BeanUtilすげー賢いね。 booleanに文字列の1とか突っ込んだらちゃんとtrueにしてくれた。 1以外はすべてfalseね。 こりゃー便利だわー。
558 名前:デフォルトの名無しさん mailto:sage [2006/04/20(木) 20:08:17 ] Cなら0がfalseで他がtrueにならね?
559 名前:デフォルトの名無しさん [2006/04/21(金) 23:12:26 ] commonsのライブラリ同梱でアプリ配るときって、どうすればいいの? なんか一緒に入れとかなきゃいけないファイルとか教えて。
560 名前:デフォルトの名無しさん mailto:sage [2006/04/22(土) 00:52:55 ] Apacheの製品を含んでいるアプリを配布する場合は 「This product includes software developed by the Apache Software Foundation www.apache.org/ 」 とどこかに明記していればOK。 たとえば、Eclipseだとメニューバーのヘルプの「Eclipse SDKについて」を参照すると これが書いてある。 アプリのライセンス文に上記の一文を含めておくのでも良い。 あとはかなり自由。ソースコードの公開義務や添付義務は無い。商用利用OK。
561 名前:デフォルトの名無しさん mailto:sage [2006/04/22(土) 01:55:47 ] >>559 ASL 2.0の翻訳がここにある。 ttp://www.opensource.jp/licenses/apache2.0.html バイナリ再配布に絡むところとしては、 > 1. 成果物または派生成果物の他の受領者に本ライセンスのコピーも渡すこと。 > 4.成果物の一部として「NOTICE」に相当するテキストファイルが含まれている場合は、 > そうしたNOTICEファイルに含まれている帰属告知のコピーを、派生成果物のどこにも > 関係しないものは除いて、頒布する派生成果物に入れること。その際、次のうちの少 > なくとも1箇所に挿入すること。 > > (i) 派生成果物の一部として頒布するNOTICEテキストファイル、 > (ii) ソース形式またはドキュメント(派生成果物と共にドキュメントを頒布する場合)、 > (iii) 派生成果物によって生成される表示(こうした第三者告知を盛り込むことが > 標準的なやり方になっている場合)。 上記は結構省略してるので、自分でも全文を見て欲しい。さらに言えば、日本語訳は あくまで翻訳なので、ライセンスとしては英文のみが有効。 まあ大ざっぱに言うと 1. Apache Software Licence 2.0の原本(英文)のコピーを配布物に含めること。(日本語訳も 一緒に配布している例もあるけど、英文のものは必ず含めること) 2. 利用したASLベースの成果物に「NOTICE」というファイルが含まれている場合、その内容を 以下のいずれかに必ず含めること。 ・あんたのプログラムにNOTICEファイルがある場合は、その中。 ・ドキュメントあるいはソースの中 ・あんたのプログラムでライセンスとかについて表示しているところがあるなら(例:アバウト画面)その中 >>560 の言っているのが、上記の2に該当する。 それに含めてASLの書かれたファイルを一緒に添付しろってこと。
562 名前:561 mailto:sage [2006/04/22(土) 02:02:38 ] 追記。 あと、NOTICE表示に自分の派生物についての告知を追加してもいいんだけど、 その追加ライセンス条項がASL 2.0の修正であるかのように読まれないようにしろ、 という条件もある。 要は ・この配布物にはASL 2.0ライセンスの成果物が含まれてる。 ・この配布物のライセンス条件は俺がきめたこれだけど、APL 2.0ライセンスの成果物に ついてはあくまでAPL 2.0の条件下にあるよ。 ということを保証しろ、ということ。APL 2.0には、配布物によって損害を被っても Apache Software Foundationは知らんよ、という条項があって、もしライセンスを独自のもの にするとしても、APL2.0成果物についてはAPL2.0の条件下にあることを理解させろ、という ことだと思う。
563 名前:559 [2006/04/23(日) 20:41:41 ] >>560 >>561 丁寧な説明ありがとう! 意外と簡単に配布できるんだね。
564 名前:デフォルトの名無しさん mailto:sage [2006/04/27(木) 13:32:52 ] 2つ以上のInputStreamから読込み待ち?することはできるでしょうか。 例えば、標準入力とネットワークストリームを常に読込みスタンバイして データが転送されたストリームのデータを取得するとか。 IOUtilsには、らしきものがなかったような・・・
565 名前:デフォルトの名無しさん mailto:sage [2006/04/27(木) 13:46:02 ] そりゃcommonsじゃなくて質問スレだな スレッド分けて待機させればいいだけだが
566 名前:デフォルトの名無しさん mailto:sage [2006/04/27(木) 17:25:26 ] Configuration#getProperties()の機能ってわかる人いますか?
567 名前:デフォルトの名無しさん mailto:sage [2006/04/27(木) 18:42:32 ] ノシ
568 名前:デフォルトの名無しさん mailto:sage [2006/04/28(金) 15:20:09 ] PropertiesConfiguration#setProperty同期とってねー。 パッケージの全ソースgrepしたけど、synchronizedが4箇所だけで、セットとは関係ないところに・・・
569 名前:デフォルトの名無しさん mailto:sage [2006/04/30(日) 15:04:24 ] Commons Configuration はまだバグが多いので 使い勝手がよろしくないなー。 自動リロード戦略クラスを適用しても 瀬定ファイルの修正を監視してくれなかったし。
570 名前:デフォルトの名無しさん mailto:sage [2006/05/01(月) 10:28:44 ] >>569 瀬定ファイルってなに? 監視はうまく動いてたよ
571 名前:デフォルトの名無しさん mailto:sage [2006/05/02(火) 00:29:15 ] C#版Commonsみたいなプロジェクトとかってないの? 誰かガッツンガッツン移植してよ。
572 名前:デフォルトの名無しさん mailto:sage [2006/05/02(火) 00:59:59 ] >>571 .net で C# 限定にする意味があんのか?
573 名前:デフォルトの名無しさん mailto:sage [2006/05/02(火) 01:34:03 ] マイクロソフト自身がJakarta Projectみたいなことしてて いろんなライブラリをソースごと公開してるんじゃなかったっけ。 おれは良く知らんのだけど。
574 名前:デフォルトの名無しさん mailto:sage [2006/05/02(火) 11:04:54 ] >>570 設定ファイルのtypo XMLファイルのviで編集しても 監視が反映されていなかたことがある。 XMLConfigurationという奴だったかな? もうひとつ、XMLPropertiesConfigurationもうまくいかず
575 名前:デフォルトの名無しさん mailto:sage [2006/05/02(火) 11:06:36 ] >>573 下手に移植するとApache Software License違反に なるんじゃないのか? NantとかNUnitとかいうのがM$に吸収されてはいるが。 ライセンス形態をBSDにするとすべてマイクロソフトに持ってかれるが ASLだとそうはいかないと思うのだが。
576 名前:デフォルトの名無しさん mailto:sage [2006/05/02(火) 12:03:39 ] >>574 のるほど。 ただ、Configurationは便利だね。 MapやPropertiesに変更できることも大きいし。 ソースをそんなに変更しなくても、MapやPropertiesから移植は簡単だ
577 名前:デフォルトの名無しさん mailto:sage [2006/05/02(火) 17:05:38 ] >>575 いや、Jakartaを移植してるんじゃないよ。共用コンポーネントを 作ってるってだけで。 どこでみたんだっけと思って検索したら@ITだった。 ttp://www.atmarkit.co.jp/fdotnet/entlib/index/index.html
578 名前:デフォルトの名無しさん mailto:sage [2006/05/02(火) 19:38:11 ] SandboxのIdって、jarリリースしていないのでしょうか。ソースしかありません。
579 名前:デフォルトの名無しさん mailto:sage [2006/05/02(火) 23:38:16 ] >>577 Enterprise Libraryみたいな大規模向け(?)っぽいのじゃなくて、commonsのlangとかみたいな小粒なやつが欲しいんだよー。 参照設定にdllの参照追加するだけでOK、って感じの。 どっかそーゆーの作ってる人いないのかな? ASFって.NET系にはあまり力入れてないの?
580 名前:デフォルトの名無しさん [2006/05/03(水) 12:53:27 ] すいません、配布に関して質問なんですが、commonsの中の使用したいクラスのみ取り出して 自分のjarに含めてしまう、といった配布方法は可能ですか? もちろん>>561 さんご指摘の点は守るとしてです。 commonsのjar内のクラスを全部使っているわけではないので、できれば配布ファイルのサイズを抑えたいのですが・・・。
581 名前:デフォルトの名無しさん mailto:sage [2006/05/03(水) 13:41:02 ] >>579 > ASFって.NET系にはあまり力入れてないの? 聞いたことがない。 背後でJavaやLinuxを推しているIBM等の企業がかかわっているらしいからなあ。 MS製品対応ソフトウェアの開発はやっていなさそうな気がする。 なにせ、MSはオープンソースを嫌っているし、オープンソースは共産主義だ などめちゃくちゃなこといっているし。 GPLとくらべたらASLは共産主義とまではいかないんだけどね。 たとえMSが一部の自社製品をSourceForgeに公開したとしても オープンソース全体を敵に回すような不可解な発言が、 無理して.NETに力を入れない方がいいという暗示を示しているのではないかと。 それで今.NETが流行らなくなっているような
582 名前:デフォルトの名無しさん mailto:sage [2006/05/03(水) 22:38:47 ] >>581 聞いたことが無いって、あーた log4net とかも聞いたこと無いの? .net も言うほど、死んでないよ。俺は Java メインだが、 今は .net 案件のほうが単価が上げれる。色々な会社の話を聞く限り .net で技術的に自信を持っている会社が少なくて、金額的にはおいしい。
583 名前:デフォルトの名無しさん mailto:sage [2006/05/03(水) 22:40:24 ] >>582 Enterprise Libraryのことだろ。 しかしJakartaとくらべるとまだまだものが少ないし オープンソースコミュニティの活発さが足りないし、 まだまだって感じがする。
584 名前:デフォルトの名無しさん mailto:sage [2006/05/09(火) 19:03:28 ] org.apache.commons.mailいけるぞ!
585 名前:デフォルトの名無しさん [2006/05/09(火) 22:32:31 ] Commons Mail? Java Mail APIを補足するやつなのか? どうういけるのか感想きぼんぬ
586 名前:デフォルトの名無しさん mailto:sage [2006/05/09(火) 22:43:36 ] おれは584じゃないが、かなり簡単にメールが送れるね。 Perlでメール送る時みたいな感じといったらいいのかな。 setTitle()とかsetFrom()とかしてからsend()よんだらメールが 送れてしまう、というやつです。 添付ファイルやHTMLメールもさっくり送れます。 内部ではJavaMailを使ってるらしい。
587 名前:デフォルトの名無しさん mailto:sage [2006/05/09(火) 22:43:54 ] >>585 すごーくシンプルだから、Webサイト見れば一発で理解できると思う。 JavaMailのうすーいラップのようなもの。 new()して、TOやらCCやらFROMやらSubjectやらをセットして、send()呼べば送れる。 ちょうどJavaBeansのようにsetterでセットする形になってるから、DIコンテナでJavaBeansとして扱えるカモ。
588 名前:デフォルトの名無しさん mailto:sage [2006/05/10(水) 00:11:44 ] >>587 いいねー。Commons の HTTP 扱うやつより、よっぽど需要がありそうだ。 っつか、そこらじゅうの業務プロジェクトに似たようなのがあったのが いらなくなるな。
589 名前:デフォルトの名無しさん mailto:sage [2006/05/10(水) 00:51:01 ] >>588 そうそう。いつもみんな自前で似たような、しかし出来の悪い物を作っていたアレだ。 もう作らなくてよくなる。
590 名前:デフォルトの名無しさん mailto:sage [2006/05/10(水) 01:36:24 ] Java Mail APIが使いやすくなるのか。 ええなあ。 内部でJava Mailを使っているということは、 Mavenで導入するときは自分でmail.jarとactivation.jarをダウンロードして mvn installでローカルリポジトリに追加しないといけないのか。
591 名前:デフォルトの名無しさん mailto:sage [2006/05/10(水) 01:55:52 ] >>590 そうだね。バイナリ版をダウンロードしても、libフォルダ内にテキストファイルが 入っていて、「mail.jarとactivation.jarを別途ダウンロードしてね」と書いてあった。
592 名前:デフォルトの名無しさん mailto:sage [2006/05/10(水) 10:02:30 ] 探せばまだまだある。 commons-transactionだって使えるぞ。 ファイルの追加、削除、リネームをして、 ヤベ、戻したいっと思ったときにロールバックをかけるときれいさっぱりに
593 名前:デフォルトの名無しさん mailto:sage [2006/05/10(水) 12:31:42 ] >>592 DB がからむと使い方が難しそうだ。 2 フェーズコミット問題。JTA みたいなのを自作っつーのもあれだ。 厳密でなければ、良さげ。
594 名前:デフォルトの名無しさん mailto:sage [2006/05/10(水) 12:59:40 ] >ヤベ、戻したいっと思ったときにロールバックをかけるときれいさっぱりに きれいさっぱりに消えてしまうんですか!? (((;゚Д゚)))ガクガクブルブル
595 名前:デフォルトの名無しさん mailto:sage [2006/05/10(水) 13:49:38 ] >>594 ちゃんと言うと、DBのトランザクションと同じで コミットしないと、対象ディレクトリに作成・削除が実行されないって事。 つまり、コミットまではワークスペースに対して実行されている。
596 名前:デフォルトの名無しさん mailto:sage [2006/05/11(木) 00:00:06 ] mail試そうと思ったらサーバ落ちてる・・・
597 名前:デフォルトの名無しさん mailto:sage [2006/05/11(木) 11:01:21 ] XMLを読み込むフレームワークで、DigesterとかBetwixtとか見てるんだけど、 XMLの内容を格納するbeanを明示的に書かなくてもいいものって無いかな? XMLのパース → BeanUtilなどでパース結果を格納したbeanを動的生成 までやってくれて、利用者側は、あくまでXMLをAPIに読み込ませて、 結果として返されるDynaBeanとかを利用するだけ、みたいな。
598 名前:デフォルトの名無しさん mailto:sage [2006/05/11(木) 12:14:31 ] commons ではないけど xmlbeans や relaxer でどう? DynaBean 的なものではないけど、 人間がやるのはスキーマを書くところだけ。 マッピングクラスの定義は自動生成する。
599 名前:デフォルトの名無しさん mailto:sage [2006/05/11(木) 13:20:58 ] 両方見てるんだけれど、スキーマも書きたくないヘタレ厨('A`)としては、 もっと手を抜きたいんですわ。 ってことで、マッピングクラスは作らないといけないけど、XerialJ/XMLBeanっていうのを見つけた。 ttp://www.xerial.org/projects/Xerial/wiki/XerialJ/XMLBean Digesterよりは楽そう。 ライセンスは、 Indiana University Extreme! Lab Software License ってものらしいけど、 ttp://www.novell.com/ja-jp/documentation/workbench41/docs/help/books/TutorialWarfront.html で見たライセンスの翻訳見る限りは、商用利用でも制限無さそう。
600 名前:デフォルトの名無しさん mailto:sage [2006/05/11(木) 14:05:44 ] 俺はスキーマ書くだけで ・コンパイラによるチェック ・入力補完 で手が抜ける方が素敵に感じる。 まぁ人それぞれっすね。
601 名前:デフォルトの名無しさん mailto:sage [2006/05/11(木) 14:25:50 ] >>599 Betwixtですむよ。定義いらない(Betwixt自身で吐き出したxmlならね)。
602 名前:599 mailto:sage [2006/05/11(木) 17:35:13 ] いろんな考え方があるねぇ。。。 自分に合ったものを選べばいいってことなんだろうけど。 早速、XerialJ/XMLBeanを試してみたけど、 格納するBeanさえ作ってしまえば楽ちんだわ、これ。 日本語もOK。
603 名前:デフォルトの名無しさん mailto:sage [2006/05/11(木) 17:49:31 ] >>602 配列じゃなくリストは対応できるのかぁ・・・
604 名前:デフォルトの名無しさん mailto:sage [2006/05/12(金) 09:29:16 ] >>603 格納先Beanに、配列の代わりにListを使うとダメみたい。
605 名前:デフォルトの名無しさん mailto:sage [2006/05/12(金) 09:44:51 ] >>604 Betwixtならできるぞよ
606 名前:デフォルトの名無しさん mailto:sage [2006/05/12(金) 11:07:04 ] >>605 まぢっすか。 Betwixtの勉強によさげなサイトとか紹介してもらえませんか。
607 名前:デフォルトの名無しさん mailto:sage [2006/05/12(金) 13:48:02 ] XerialJ、配列ってのを気にしなければ、 けっこーネストしたxmlでもbeanさえ作っておけば 処理してくれるね。
608 名前:デフォルトの名無しさん mailto:sage [2006/05/12(金) 20:48:32 ] >>604 Beanにset/getの2つのメソッド以外に、addを用意するのがミソ。
609 名前:デフォルトの名無しさん mailto:sage [2006/05/12(金) 22:15:15 ] >>608 Betwixtもそうだよ。 まぁ、みんな同じだね・・・
610 名前:デフォルトの名無しさん mailto:sage [2006/05/13(土) 01:03:49 ] まぁ、いろんな技術要素を知っておいたほうが、 選択肢や対応力は広がるよね。
611 名前:デフォルトの名無しさん mailto:sage [2006/05/17(水) 04:56:52 ] beanutils が遅いと聞いたのでどれくらい遅いか試してみました。 プロパティファイルから取得したプロパティをbeanutilsで入れるのと、 setterで入れるのを比較しました。 Bean は int boolean String のフィールドを持ち、 setter では、 それぞれ Integer.parseInt Boolean.valueOf.booleanValue Stringはそのまま を使用しました。 beanutils ではPropertyNameをEnumerationで取得して while(enu.hasMoreElements()){ String name = (String)enu.nextElement(); BeanUtils.setProperty(bean, name, props.getProperty(name)); } これらを100万回ループさせた結果、 beanutils は 平均 7090.3 ms setter は 604.7 でした。
612 名前:デフォルトの名無しさん mailto:sage [2006/05/17(水) 05:18:32 ] Bean の プロパティの数を増やし、 int 2個 boolean 2個 String 2個 にして、同様の実験をしたところ、 beanutils 平均 14372.4 ms setter 平均 1134.9 ms でした。 web の場合、1アクセスで3つのbeanを呼び出すとして、 そのbeanにプロパティが10個とします。 その場合上の結果から、100万回アクセスがあると、 7090 * 10 / 3 * 3 = 70900 100万回で、beanutilsの部分だけで71秒もかかってしまうのですが、 これはボトルネックになりうると思ったんですが、 1アクセスあたり 0.0000709秒なのでDBからデータの取得のほうが全然重そうですね。
613 名前:デフォルトの名無しさん mailto:sage [2006/05/17(水) 19:42:58 ] >>612 配列に比べコレクションが重いとか String の + 連結が遅いとかもその類だな。 システム構築の標準化を行う人間で、 そういうのを禁止する奴がいて困る。 全クラスをシングルトンにするとかバカもいたしな。 要件がきついシステムもあるので全否定するわけではないが、 そんなんだったら環境を改善するか、Java やめたほうが(ry 巷の Java 初心者のなんちゃってアーキテクトをなんとかしてくれ。 あー、あんたの検証した DB がボトルネックというのは概ね正しいと思う。
614 名前:デフォルトの名無しさん mailto:sage [2006/05/18(木) 14:26:27 ] Digesterのルールを自動生成するeclipseプラグインなんてあるのだろうか・・・
615 名前:デフォルトの名無しさん mailto:sage [2006/05/18(木) 15:05:29 ] commonsみたいな、ユーティリティをフリーで提供している団体ってあるのかなぁ・・・
616 名前:デフォルトの名無しさん mailto:sage [2006/05/18(木) 17:49:22 ] >>615 xerial.org
617 名前:デフォルトの名無しさん mailto:sage [2006/05/19(金) 13:31:20 ] 大きなフレームワークを駆使するよりも、 細かいcommonsをフル活用したほうが作業効率がかなり上がるような・・・ まぁ、比較する対象としてはおかしいけど。
618 名前:デフォルトの名無しさん mailto:sage [2006/05/19(金) 14:24:07 ] >>617 commonsをあさって機能を試して・・・というのにどのくらい時間がかかるか。
619 名前:デフォルトの名無しさん mailto:sage [2006/05/19(金) 15:58:34 ] >>618 いや、そんなに掛からない。
620 名前:デフォルトの名無しさん mailto:sage [2006/05/19(金) 16:23:37 ] >>618 commonsを知って試しに使ってみるまで3時間くらいかかりました
621 名前:デフォルトの名無しさん mailto:sage [2006/05/19(金) 19:04:22 ] >>620 そーかなぁ・・・。API見たらわかりやすかったから 結構直感的にいけたけど・・・
622 名前:デフォルトの名無しさん mailto:sage [2006/05/19(金) 19:20:14 ] Commons次第。 Collections、IO、FileUploadあたりなら、APIとUser Guide見ればすぐ使えるけど、 Digester、Validatorあたりだと、API見てすぐに、とは行かないと思う。
623 名前:デフォルトの名無しさん mailto:sage [2006/05/19(金) 22:44:19 ] >>620 その試した機能を自分で実装したら3時間で済んだのか?
624 名前:デフォルトの名無しさん mailto:sage [2006/05/19(金) 23:19:44 ] ライブラリによっては依存関係や バージョン違いに 引っかかってCommonsライブラリを使えるようになるのに 何日もかかったことがあったな俺は。 Maven2が出てからその手間も大幅に省けるようになったのが嬉しい。
625 名前:デフォルトの名無しさん mailto:sage [2006/05/24(水) 18:06:26 ] strutsのaction-mappingのformの検索をしているのですが、 ファイル検索だと、関係ない箇所のまで名前一致で引っかかるので苦労しております。 xmlのスキーマを理解し、<a><b>xxx</b></a>だと、<a><b>のxxxを探す、というプラグインはないでしょうか。 つまり、xmlファイルに対して、xpath検索できるものです。
626 名前:デフォルトの名無しさん mailto:sage [2006/05/25(木) 00:27:47 ] >>625 JXPathでちょちょいと実装、ってのじゃだめ? 大した手間じゃなさそうだし、好きに作れるじゃん。
627 名前:デフォルトの名無しさん mailto:sage [2006/05/25(木) 11:31:31 ] >>626 実はJXPathで実装して、検索できましたー!って思ったのですが、 検索はできても、その定義がファイルの何行目であるかの情報が取得できなくて断念しました。 ちなみに、JXPathで質問ですが、 ibatisの設定ファイルを読込むと、 設定ファイルのdtd設定が下記のようにしてあり、 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN" "www.ibatis.com/dtd/sql-map-config-2.dtd "> どうも、www.ibatis.comにアクセスしています。 ネットワークにつながらない環境なので、エラーになってしまします。 ソースは↓です。 DocumentContainer location = new DocumentContainer(XXClass.class.getResource("/jxpath/sql-map-config.xml")); JXPathContext context = JXPathContext.newContext(location); ネットワークにつなげない方法などあるのでしょうか?
628 名前:デフォルトの名無しさん mailto:sage [2006/05/25(木) 23:01:26 ] >>627 sql-map-config-2.dtd を落としてくるか、配布ファイルのどっかに入ってるだろうから それを設定ファイルと同じディレクトリに置いて <!DOCTYPE beans SYSTEM "sql-map-config-2.dtd"> に変えてみたらどう? 確か PUBLIC じゃなく SYSTEM使えばローカルファイル見てくれたと思った。 今試してないんで、やってみ。
629 名前:628 mailto:sage [2006/05/25(木) 23:03:33 ] 間違えた。 <!DOCTYPE sqlMapConfig SYSTEM "sql-map-config-2.dtd"> だねきっと。 あと × 今試してないんで、やってみ。 ○ 今試せないんで、取りあえずやってみ。 と書くつもりだった。 疲れてんなーorz
630 名前:デフォルトの名無しさん mailto:sage [2006/05/26(金) 11:12:57 ] >>628 ありがとうございます。 取り合えずレス見る前にやってみたのは "jar:file:C:/xxx/ibatis-sqlmap-2.jar!/com/ibatis/sqlmap/engine/builder/xml/sql-map-config-2.dtd"> でいけました。 クラスパスからの検索ができれば、フルパスを書かなくてもよく、環境依存しないのですが・・・ ちなみに、超強引な方法として、extends DocumentContainerしたクラスを作成し public Object parseXML(InputStream stream) { String data = IOUtils.toString(stream); //正規表現で"<!DOCTYPE.*?dtd\">"を空に変更。 } catch (IOException e) { throw new RuntimeException(e); } stream = IOUtils.toInputStream(data); return super.parseXML(stream); } のクラスを使用してもうまくいきました。
631 名前:デフォルトの名無しさん mailto:sage [2006/06/01(木) 15:00:17 ] FTP超つかえる 超感動 f = new FTPClient(); f.connect("xxxx"); f.login("xxx", "xxx"); FTPFile[] files = f.listFiles("xxx");
632 名前:デフォルトの名無しさん mailto:sage [2006/06/02(金) 12:15:59 ] >>631 sftpではどうしたらいいの?
633 名前:デフォルトの名無しさん mailto:sage [2006/06/02(金) 14:45:04 ] >>632 ttp://jakarta.apache.org/commons/vfs/apidocs/org/apache/commons/vfs/provider/sftp/package-summary.html
634 名前:デフォルトの名無しさん mailto:sage [2006/06/03(土) 00:44:13 ] >>633 Commons NetじゃなくてCommons VFSにあるんだね。 なんでだろ?
635 名前:デフォルトの名無しさん [2006/06/18(日) 02:52:24 ] Commonsじゃないけど HttpComponents jakarta.apache.org/httpcomponents/ こんなんあるんだね。 今日初めて知った。 Http直に触る必要がある時とかにSocket叩くよりは便利、って感じなのかな? 誰か使ってる人いる?
636 名前:デフォルトの名無しさん mailto:sage [2006/06/19(月) 01:04:51 ] HTTPClientの次期バージョンが独立しただけでは?
637 名前:デフォルトの名無しさん mailto:sage [2006/06/21(水) 22:14:34 ] >>636 え?そうなの? じゃあHttpClientはいづれなくなっちゃうのか。
638 名前:デフォルトの名無しさん mailto:sage [2006/06/21(水) 22:32:42 ] Commonsからはなくなる ただ、まだbetaなのでVer3はのこしている、だったかな
639 名前:デフォルトの名無しさん mailto:sage [2006/06/22(木) 00:22:05 ] >>638 なるほど〜。ありがとう! じゃあこれから覚えるにはこっちのがいいかもだねー。
640 名前:デフォルトの名無しさん mailto:sage [2006/06/23(金) 18:38:31 ] ibatisのSqlMapClientは、スレッド毎にbuildしないといけないのでしょうか? 1つのSqlMapClientはでかいので、何とか1つにしたいのですが。
641 名前:デフォルトの名無しさん [2006/06/25(日) 16:34:55 ] >>635 今alpha2が出てるんで色々と使ってるけど、SSL周りがあやしい、超あやしい。テストしてない予感。 接続を切る時に java.lang.UnsupportedOperationException: The method shutdownOutput() is not supported in SSLSocket が出る(当方 java 1.4.2_12-b03、1.5.0_07-b03でも出る)。 英語が苦手だけど、調べてみるとSSLってhalf-openはよくないらしい?で、J2SE 1.4からサポートしなくなった、みたい?(いずれにしても、closeする時はthis.socket.close()の一発でOKみたいだ) だれか、プロジェクトに通報してやってくれ! [AbstractHttpConnection.java:153-161] try { this.socket.shutdownOutput(); } catch (IOException ignore) { } try { this.socket.shutdownInput(); } catch (IOException ignore) { } this.socket.close();
642 名前:デフォルトの名無しさん mailto:sage [2006/06/25(日) 17:54:47 ] >>641 英語苦手だからなぁ・・・。 そもそもJakartaプロジェクトとかにこーゆーバグとかを報告する手順ってどうやるの? 誰か詳しい人、解説して下さい。
643 名前:デフォルトの名無しさん mailto:sage [2006/06/26(月) 17:47:13 ] >>640 自己解決。複数スレッドで使いまわしOKだった。
644 名前:デフォルトの名無しさん mailto:sage [2006/06/30(金) 23:55:53 ] >>642 最近だとJiraを使う。 ttp://issues.apache.org/jira/browse/HTTPCLIENT この辺でどう?
645 名前:デフォルトの名無しさん [2006/07/04(火) 21:06:55 ] 時給1000円でJava教えてくださるかたを募集します 場所 所沢(池袋・高田馬場から直通) i−want−to−study−java@hotmail.co.jp (アドレスは全角で書いてあるので半角に直してください) よろしくおねがいします
646 名前:デフォルトの名無しさん [2006/07/04(火) 21:50:13 ] >>645 なにこれ?
647 名前:デフォルトの名無しさん [2006/07/04(火) 22:06:14 ] >>646 JAVAスレの保守
648 名前:デフォルトの名無しさん mailto:sage [2006/07/04(火) 22:32:27 ] >>645 java.sun.com/docs/books/jls/third_edition/html/j3TOC.html コレを読めwwwwwwマジオススメwwwwwwwww まさにjavaのバイブルwwwwwww
649 名前:デフォルトの名無しさん mailto:sage [2006/07/05(水) 03:43:06 ] 言語仕様だけわかってもなあ… せめてJakartaくらい押さえんと。
650 名前:デフォルトの名無しさん mailto:sage [2006/07/05(水) 03:59:29 ] 押さえても押さえても抜け落ちていくJakartaかな
651 名前:デフォルトの名無しさん mailto:sage [2006/07/05(水) 12:03:03 ] じっと手を見る
652 名前:デフォルトの名無しさん [2006/07/05(水) 15:17:09 ] トンヘの小島の磯の白砂に ウリ泣き濡れてカニとたはむる
653 名前:デフォルトの名無しさん mailto:sage [2006/07/06(木) 00:04:12 ] ところで今、Jakartaって何があるの?
654 名前:デフォルトの名無しさん mailto:sage [2006/07/06(木) 00:10:56 ] >>653 聞いて回答を待つより見た方が早いと思うけど・・・ つ jakarta.apache.org/
655 名前:デフォルトの名無しさん mailto:sage [2006/07/06(木) 12:07:19 ] >>653 ココが分かりやすい ttp://www.biwa.ne.jp/~x208403/ >>654 ボケろということだろ・・・
656 名前:デフォルトの名無しさん [2006/07/06(木) 14:37:44 ] WEBサーバのメンテ、だいぶかかってるな・・・
657 名前:1 [2006/07/07(金) 01:50:00 ] はじめましてはじめともうします。 common-fileuploadを利用したファイルアップロードクラスを 作成したいのですが、うまくいきません。 commons-fileuploadのServletのサンプル(doPostメソッド による処理)ではうまくいくのですが・・・ uploadClassの List objLst=objDfu.parseRequest(request); の値がnullになることまでは確認できましたが なぜそうなるのかが分からない状態です。 大変恐縮ですがご指摘・ご教授の程お願いします。
658 名前:2 [2006/07/07(金) 01:52:05 ] --------------------------------- Action --------------------------------- import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import test.uploadClass; public class testAction extends Action { public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)throws Exception { // アップロードクラスをインスタンス化 uploadClass uploadclass = new uploadClass(); // アップロードを実行 uploadclass.upload(request,response); return mapping.findForward("success"); } }
659 名前:2 [2006/07/07(金) 01:53:42 ] --------------------------------- ActionForm --------------------------------- import org.apache.commons.fileupload.DiskFileUpload; import org.apache.struts.action.ActionForm; import org.apache.struts.upload.FormFile; public class testForm extends ActionForm{ private DiskFileUpload files; public DiskFileUpload getFiles() { return files; } public void DiskFileUpload (DiskFileUpload files) { this.files = files; } }
660 名前:2 [2006/07/07(金) 01:55:51 ] public class uploadClass extends HttpServlet { public void upload(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{ //String path = getServletContext().getRealPath("."); String path = new String("."); DiskFileUpload objDfu = new DiskFileUpload(); objDfu.setSizeMax(-1); objDfu.setSizeThreshold(1024); objDfu.setRepositoryPath(path); objDfu.setHeaderEncoding("Shift_JIS"); try { List objLst=objDfu.parseRequest(request); Iterator objItr=objLst.iterator(); while (objItr.hasNext()) { FileItem objFi=(FileItem)objItr.next(); if (!objFi.isFormField()) { String strNam=objFi.getName();
661 名前:2 [2006/07/07(金) 01:57:32 ] if (strNam!=null && !strNam.equals("")) { strNam=(new File(strNam)).getName(); objFi.write(new File(path + "/" + strNam)); } } } } catch (FileUploadException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } } }
662 名前:デフォルトの名無しさん mailto:sage [2006/07/07(金) 12:26:05 ] オフィシャルのFAQにそれっぽいのがあるけど、確認した?
663 名前:デフォルトの名無しさん [2006/07/08(土) 02:54:08 ] Jakartaの名前の由来って何?検索しても都市しかでてこない
664 名前:デフォルトの名無しさん mailto:sage [2006/07/08(土) 03:39:45 ] ジャワ島(Java島)にある都市ジャカルタだろ。
665 名前:デフォルトの名無しさん mailto:sage [2006/07/08(土) 08:19:14 ] SunがJDWSDK(その後のTomcat)をASFに寄贈した時に調印を行った会議室の名前。
666 名前:デフォルトの名無しさん mailto:sage [2006/07/09(日) 00:38:34 ] へートリビアだな
667 名前:デフォルトの名無しさん [2006/07/17(月) 20:57:15 ] 時給1000円でJava教えてくださるかたを募集します 場所 所沢(池袋・高田馬場から直通) よろしくおねがいします i−want−to−study−java@hotmail.co.jp 教える対象は超初心者です。 専門学校などでJavaを勉強されていて夏休みだけ教えたいという方も歓迎です
668 名前:WildBoa [2006/07/17(月) 21:50:39 ] DataBaseへの接続設定ファイルの保存用にXMLを使用しようとして勉強をしております。 @ITにおいて、Digesterの解説があったので、これをサンプルとして、動作させようとしてます。 記事:ttp://www.atmarkit.co.jp/fjava/rensai2/jakarta04/jakarta04.html#list2 ソース:ttp://www.atmarkit.co.jp/fjava/rensai2/jakarta04/sample.zip ところが、ClassNotFoundExceptionが発生して、実行できません。 大変恐縮ですが原因・対応のご教授をお願いします。 発生したエラー 2006/07/17 21:40:46 org.apache.commons.digester.Digester startElement 致命的: Begin event threw exception java.lang.ClassNotFoundException: net.skirnir.sample.DataSourceConfig 環境 OS :WindowsXP Home SP2 JDK:1.5.0_07 IDE:ECLIPSE 3.1.1(コンパイラー準拠レベルでJDK1.4を指定) commons-digester:1.7 commons-beanutils:1.7 commons-collections:3.2 commons-logging:1.1 以上です
669 名前:デフォルトの名無しさん [2006/07/17(月) 22:00:12 ] bbs.girlswalker.com/pc/
670 名前:デフォルトの名無しさん mailto:sage [2006/07/17(月) 22:01:14 ] Digesterは結構バージョンによってタグや属性名が変更になってるから注意が必要 Webページの解説がどこもてんでばらばらなんで DigesterのDTDを読んだ方がいいよ
671 名前:デフォルトの名無しさん mailto:sage [2006/07/18(火) 13:24:26 ] >668 添付のソースをコンパイルして、 しかるべき場所にクラスパス通した? zip の中の構造がパッケージ無視してるっぽいんだが。
672 名前:WildBoa [2006/07/19(水) 01:01:55 ] >670,671 ありがとうございます。 ソースを「\net\skirnir\sample」において コンパイル・実行しております。 又、「config.xml」は「.\」においております。 各ライブラリはJREの「\lib\ext\」に展開してありますが、 他に何か設定が必要になるのでしょうか? >しかるべき場所にクラスパス通した? 何処かクラスパスを通す必要があるのでしょうか?
673 名前:デフォルトの名無しさん mailto:sage [2006/07/19(水) 06:44:41 ] ¥net¥skirnir¥sampleなら¥にクラスパス通さなきゃ
674 名前:デフォルトの名無しさん mailto:sage [2006/07/19(水) 08:20:47 ] >各ライブラリはJREの「\lib\ext\」に展開してあります おい!ちょっと待て!
675 名前:デフォルトの名無しさん mailto:sage [2006/07/19(水) 10:30:14 ] >672 Digester に手を出す前にまずやるべき事が有りそう。 Digester 固有の問題じゃないので とりあえずしかるべき場所(初心者スレなど)で 環境設定の仕方を聞いてきた方が良いよ。
676 名前:WildBoa [2006/07/19(水) 23:15:25 ] >674様、 Jakarta CommonsのライブラリをJREのlib\extに展開している件ですが、 何かまずかったでしょうか? 作成したプログラムは配布しないのですが... JavaHouseの下記のスレッド程度は理解しているつもりなのですが... >ttp://java-house.jp/ml/archive/j-h-b/037700.html
677 名前:デフォルトの名無しさん mailto:sage [2006/07/19(水) 23:31:23 ] >>676 使い方を間違っている。 特定のアプリで利用するライブラリを置く場所ではない。 そこは、JVMそのものを拡張するとかJVMにパッチを当てる的な使い方をする場所。 そのJVM上で動作する全てのアプリに影響する。 そのJVMを、そのアプリでしか使わないことが保証されているなら、事実上問題は起きないことにはなるが・・・ それでも「とりあえず、動けばOK」的な発想。 そのJavaHouseのスレッドを、ごく表面的にしか理解できていないようだね。
678 名前:WildBoa [2006/07/19(水) 23:42:38 ] >JVMそのものを拡張するとかJVMにパッチを当てる的な使い方をする場所。 677様、ご教授ありがとうございます。 674様、 ECLIPSEの「構成およびデバッグ」のクラスパスタブで、 ユーザーエントリーに\と\net\skinr.sampleを追加しておりますが、 追加の仕方に問題があるのでしょうか。
679 名前:デフォルトの名無しさん mailto:sage [2006/07/20(木) 00:00:03 ] >>672 \net\skirnir\sample\において、さらに実行している場所は ちゃんと「\」なんだろうね。 あと、「.」がクラスパスに入っていないに1ドル。
680 名前:デフォルトの名無しさん mailto:sage [2006/07/20(木) 00:00:21 ] >>678 問題有り。 余計な設定をして、必要な設定をしていない。 >ECLIPSEの「構成およびデバッグ」のクラスパスタブで、 >ユーザーエントリーに\と\net\skinr.sampleを追加しておりますが、 これは不要。Eclipseはソース・フォルダーは自動的にビルドパスに追加される。 そして、アプリで利用するJarファイルをビルドパスに含めなければならない。 Digester以前に、基礎から学ぶべきコトが多そうだな。
681 名前:WildBoa [2006/07/20(木) 00:30:47 ] 皆様ありがとうございました、解決しました。 680様の指摘どおり、ビルドパスが問題でした。 コードがコンパイルできていたので、安心しきっていました。 追伸 679様、WindowsのJava環境では「.」はデフォルトでクラスパスに 含まれておりませんでしたでしょうか?
682 名前:デフォルトの名無しさん mailto:sage [2006/07/20(木) 09:23:59 ] >>681 まーインストーラは . をクラスパスに入れてたような記憶があるけどね。 SET CLASSPATH すりゃ判るじゃん。 環境変数なんざいくらでも変更できちまうんだから、 デフォルトを信用しすぎないほうが安全だと思われ。
683 名前:デフォルトの名無しさん mailto:sage [2006/07/20(木) 09:59:15 ] >>681 どこにもclasspathを設定していない場合のみね。 デフォルト値なんてEclipseや環境変数の設定次第でいくらでも上書きされる。 ホント、中途半端な知識だね。
684 名前:デフォルトの名無しさん mailto:sage [2006/08/22(火) 13:11:26 ] 遅レスだが、CLASSPATHのミスといい、lib\extの使い方といい QuickTime作ってる人かと思ってしまったw
685 名前:デフォルトの名無しさん mailto:sage [2006/09/24(日) 04:51:27 ] てs
686 名前:デフォルトの名無しさん [2006/10/13(金) 02:14:30 ] BeanUtils.describe(bean); 経由の シリアライズが超速いと不思議に思ってたら このメソッドって配列無視しちゃうのね orz どなかた別にCommonsじゃなくてもよいので、この問題に対応した Map <-> JavaBeanの相互変換ライブラリ知りませんか?
687 名前:デフォルトの名無しさん mailto:sage [2006/10/14(土) 07:45:45 ] >>686 PropertyUtils.describeの方は確か配列もきちんと変換してくれるはず
688 名前:デフォルトの名無しさん mailto:sage [2006/10/14(土) 18:14:36 ] >>687 どうもありがとう。
689 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 00:26:16 ] >>633-634 それ不安定だったのでおれJsch使ってる
690 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 00:27:09 ] >>641 SSL3.0やTLSに対応していないとか?
691 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 00:28:34 ] >>655 おもろいw
692 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 00:29:36 ] >>657-661 >>1 でも>>2 でもないのに名前欄に1とか2とかかかないでくれ
693 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 01:36:09 ] SCXML使ってる人、いるかい?
694 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 01:58:44 ] 最近、Jakarta CommonのMLのSubjectに[SCXML]と 名がつくメールが良く来るが、一体どんなもんなのだ?
695 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 02:49:30 ] >>694 ちょっとはぐぐれよ。
696 名前:デフォルトの名無しさん mailto:sage [2006/11/04(土) 21:49:28 ] 今、Commons-Dev MLで Generics対応Collectionsを既存のCollectionsのサブパッケージに するかどうか投票をしているようだ。 なんでそんなことが必要なのか流れを読んでいないのでわからないけど 俺個人としてはJava5のコレクションフレームワークの ようにそのまま使えるよう分離させないで欲しいなと思っている。
697 名前:デフォルトの名無しさん [2006/11/04(土) 21:52:20 ] あげ忘れた よくMLを読んでみるといくつかのクラスの削除またはリネーム などについて議論しているようだ > - BoundedCollection should be deleted/renamed to Bounded > new Bounded interface would not implement Collection, allowing it to be > implemented by Maps as well as Collections > > - UnmodifiableBoundedCollection should be deleted > Just use the isFull/maxSize methods on CollectionUtils or similar > > - AbstractSerializedCollectionDecorator should be deleted > Serialization can now be rolled up into the base decorator > This simplifies a lot of code > It wasn't done originally due to back-compat > > - TransformedCollection will need some thinking about to generify, as a > transformer can change object types > > - Consider adding a Decorator interface > This would provide a single method decorated() that obtains the > collection that has been decorated. > Whilst useful, this is also potentially dangerous exposure of state. > > - Consider adding a Container interface > This would be a base super interface for Collection and Map (but > obviously we can't hack the JDK. > > - Consider whether UnmodifiableCollection should be deleted as it > duplicates the JDK.
698 名前:デフォルトの名無しさん mailto:sage [2006/11/06(月) 10:12:59 ] 10個の要素があるリストで、5、6、7、8、9,10,1,2,3,4って順にまわしてくれる iteratorないですか? 5でnextがfalseになるような感じです。
699 名前:デフォルトの名無しさん mailto:sage [2006/11/06(月) 10:20:57 ] 開始する要素が固定とかだったら、自分で書いた方が早いんじゃない?
700 名前:デフォルトの名無しさん mailto:sage [2006/11/06(月) 12:01:25 ] >>698 なんで10の次が1になるのか。 まず最初に5から読み込むがいきなりfalseになって 結局回らない。 何がいいたいのかわからない。
701 名前:デフォルトの名無しさん mailto:sage [2006/11/06(月) 12:30:02 ] こういうコンパイラ以上のことが出来ないやつは一生底辺プログラマだな >698 それ位はさすがに自分でコード書こう 応急処置としてsubListでばらして繋ぎなおすとか。
702 名前:デフォルトの名無しさん mailto:sage [2006/11/06(月) 17:08:40 ] >>698 の日本語が変なので 具体的に彼が何がしたいのかよくわからない
703 名前:デフォルトの名無しさん mailto:sage [2006/11/06(月) 17:17:41 ] >>702 要は、開始位置が指定できて、リストが持っている配列の最後にきたら先頭に戻るようにして 終了のタイミングは開始位置の1つ前、って事でしょ。わかれよ
704 名前:デフォルトの名無しさん mailto:sage [2006/11/06(月) 17:32:35 ] test
705 名前:デフォルトの名無しさん mailto:sage [2006/11/06(月) 17:33:49 ] で、そんなよく使うわけでもないモノはcommonsには無いし、書くのも簡単だから書けば。 で終了。
706 名前:デフォルトの名無しさん mailto:sage [2006/11/06(月) 17:37:51 ] >>703 Bufferでやりたくなってくる
707 名前:デフォルトの名無しさん mailto:sage [2006/11/06(月) 17:43:15 ] >>706 List から Buffer への変換やるのか。面倒くさそう。
708 名前:デフォルトの名無しさん mailto:sage [2006/11/06(月) 17:50:06 ] Iteratorを継承して自作すればいい
709 名前:デフォルトの名無しさん mailto:sage [2006/11/06(月) 17:51:58 ] >>703 それでも>>698 の言っている意味と合致していないような気がするが。 最後に5でnextがfalseになるようにしたい? 俺は、まずソートしてからIteratorを回したいと>>698 が 主張しているように見えたぞ
710 名前:デフォルトの名無しさん mailto:sage [2006/11/09(木) 23:59:03 ] LoopingIterator
711 名前:デフォルトの名無しさん mailto:sage [2006/11/10(金) 00:04:09 ] 「作ればいいじゃん」でFAですね。
712 名前:デフォルトの名無しさん mailto:sage [2006/11/10(金) 00:06:58 ] >>711 >>710
713 名前:デフォルトの名無しさん mailto:sage [2006/11/10(金) 10:48:27 ] >>710 それじゃ永久ループじゃん。
714 名前:デフォルトの名無しさん mailto:sage [2006/11/10(金) 18:57:49 ] ToStringBuilder.reflectionToStringのネスト機能が欲しい・・・
715 名前:デフォルトの名無しさん mailto:sage [2006/11/10(金) 20:58:45 ] そういうときこそ、自作すればいいじゃないか。 そしてパッチをCommonsに提供するんだ。 そうすれば知名度が上がるかもしれないぞ。 つか、EclipseのCommons4Eプラグインを使えば ある程度自動化できるんじゃないのか?
716 名前:デフォルトの名無しさん mailto:sage [2006/11/10(金) 22:24:56 ] Iteratorなんて滅茶苦茶シンプルなインタフェースなんだから探すより作った方が早いよ。
717 名前:デフォルトの名無しさん mailto:sage [2006/11/13(月) 15:52:40 ] JRCS・・・なくなった。 diffも使えなくなった・・・
718 名前:デフォルトの名無しさん mailto:sage [2006/11/14(火) 09:47:19 ] commonsにchainってあったんだ。 struts1.3でも使っているみたいだね。 ovserveもあるといいかも。
719 名前:デフォルトの名無しさん mailto:sage [2006/11/14(火) 09:55:28 ] Chain of Responsibilityパターンが実現できる あのAPIか
720 名前:デフォルトの名無しさん mailto:sage [2006/11/14(火) 11:27:16 ] unixでいうところのbashのreadlineのライブラリに似たものはcommonsにないですかね。
721 名前:デフォルトの名無しさん mailto:sage [2006/11/14(火) 11:29:29 ] >>719 そうそう。 springって単純にnewの内容を設定ファイル化できるけど、 それじゃ処理の流れを変更できないので、 spring+chainの軽量ライブラリがあればbestなんだけど。
722 名前:デフォルトの名無しさん mailto:sage [2006/11/14(火) 11:53:14 ] >>720 commonsじゃないけど、sourceforgeにJava Readlineっつうのがあったよ。 ttp://java-readline.sourceforge.net/
723 名前:デフォルトの名無しさん mailto:sage [2006/11/20(月) 11:32:29 ] ConfigurationのXPathExpressionEngineって、XMLConfiguration をxpath検索できるのかな? jxpathの絡んでる?
724 名前:デフォルトの名無しさん mailto:sage [2006/11/21(火) 09:46:42 ] ArrayIntList結構便利かも。
725 名前:デフォルトの名無しさん mailto:sage [2006/11/21(火) 12:27:59 ] >>723 それ使ったことがないからわからないけど Configurationは不安定でファイルをオートリロードするストラテジも ろくに機能しないし、ファイル書き込みも意味不明でどこの ディレクトリパスなのかさっぱりわからない不具合がおきるし(save()メソッドの 挙動が変。絶対パスなのか相対パスなのかイマイチ)。
726 名前:デフォルトの名無しさん mailto:sage [2006/11/21(火) 14:38:51 ] >>725 最近バージョン上がったよ。 細かくは試していないけど。
727 名前:デフォルトの名無しさん mailto:sage [2006/11/27(月) 22:59:05 ] JSP2.0のEL部分だけ取り出したようなライブラリってCommonsにないんかな。 変数入れたMapと文字列渡すと実行できるようなやつ。 静的なメソッド呼び出しを関数に割り当てできるとベスト。 設定に数式を入力できないとヤダとか言い出すヤツが多くて困る…
728 名前:デフォルトの名無しさん mailto:sage [2006/11/27(月) 23:18:02 ] Jakarta Commons EL
729 名前:デフォルトの名無しさん mailto:sage [2006/11/28(火) 00:16:00 ] >>728 それはJSP用のELやん。 Expression#evaluateがjavax.servlet.jsp.el.VariableResolver使うから避けたい。 このライブラリで言うと、 引数はorg.apache.commons.el.VariableResolverになってるやつが欲しい。 んで、JspVariableResolverとMapVariableResolverって感じでAdapterがあると単独で使いやすい。 ついでに言うと、Expressionにはevaluate(Map)な簡易メソッドがあると最高。
730 名前:デフォルトの名無しさん mailto:sage [2006/11/28(火) 00:25:08 ] Jakarta Commons JEXLはどうなん? > Java Expression Language (JEXL) is an expression language engine > which can be embedded in applications and frameworks. ってあるけど。
731 名前:デフォルトの名無しさん mailto:sage [2006/11/28(火) 00:44:55 ] >>730 おぉ、パッと見はよさげ。サンクス。 式って言うか、ちょっとスクリプト寄り? 意図しないstaticメソッド呼び出しができないようになってれば 変数入れたMapとの変換で何とかなるかな。 今筋トレ中なので、明日にでも試してみるよ。
732 名前:デフォルトの名無しさん mailto:sage [2006/11/28(火) 13:27:00 ] OROの話題ですが、置換で$1が使えますが、(??{ code }) は使えるでしょうか。 codeは、Perlにおいて、埋め込まれたPerlコードを実行してその結果を正規表現を表すものとして使用します。 らしいですが、javaのメソッドなど呼べたら便利かなと。 つまり、メソッドを登録しておき、そのメソッドにマッチした部分の引数をOROがわで渡すことができればOKなのですが。
733 名前:デフォルトの名無しさん mailto:sage [2006/11/28(火) 13:43:55 ] PropertyUtils#setProperty()でセットできる対象はsetterがあるプロパティだけだけど、 setterがないものにもセットできるものはないかな? ToStringBuilderあたりはその辺強引にやっているらしいけど
734 名前:デフォルトの名無しさん mailto:sage [2006/11/28(火) 14:24:22 ] >>732 多分Oro単体では無理。 GroovyやBeanShellみたいなスクリプティングエンジンと組み合わせれば多分可能。
735 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 00:07:47 ] IOUtils1.2にあるProxyReaderとかのProxy〜系ストリームクラスってJDK標準のFilter〜系クラスと何が違うんですか? それぞれFilter系クラスを拡張してあるようなのですが、いまいち何のために使うべきなのかわかりません。
736 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 13:29:22 ] A Proxy stream which acts as expected, that is it passes the method calls on to the proxied stream and doesn't change which methods are being called. It is an alternative base class to FilterReader to increase reusability, because FilterReader changes the methods being called, such as read(char[]) to read(char[], int, int). FilterReader がメソッドのシグネチャを変えやがるから Reader のシグネチャと同じになるようにしたやつを作った。 らしい。
737 名前:デフォルトの名無しさん mailto:sage [2006/11/30(木) 09:48:59 ] >>722 nativeのライブラリ使ってるだけだった。 ナンだよそれって感じ。 環境依存するので使用はボツ
738 名前:デフォルトの名無しさん mailto:sage [2006/11/30(木) 10:28:31 ] >>737 コンソール使ってる時点で環境依存はやむを得ない。
739 名前:デフォルトの名無しさん mailto:sage [2006/11/30(木) 10:54:20 ] log4jで、設定ファイル中のログレベルを変更した場合、アプリ再起動しないで即時更新させることはできますか? 運用中にレベルを変更することは結構あると思うので・・・
740 名前:デフォルトの名無しさん mailto:sage [2006/11/30(木) 23:19:40 ] ログファイルの変更を監視すればいいんじゃない?
741 名前:デフォルトの名無しさん mailto:sage [2006/12/01(金) 08:21:05 ] >>739 つ ttp://www.beasys.co.jp/dev2dev/resourcelibrary/utilitiestools/adminmgmt.html#Log4jAdministrationJSP
742 名前:デフォルトの名無しさん mailto:sage [2006/12/01(金) 11:15:47 ] >>741 そんな面倒なことしなくても、タイムスタンプを見てから DOMConfigurator.configureを実行すれば、ロガーの追加もレベル変更も即時更新。
743 名前:デフォルトの名無しさん mailto:sage [2006/12/01(金) 14:21:01 ] >>742 ほんまや
744 名前:デフォルトの名無しさん mailto:sage [2006/12/01(金) 16:44:04 ] DOMConfigurator.configureAndWatchでよくね?
745 名前:デフォルトの名無しさん mailto:sage [2006/12/02(土) 02:43:17 ] >>742 ,744 739じゃないけど、kwsk教えてください
746 名前:デフォルトの名無しさん mailto:sage [2006/12/04(月) 15:05:25 ] つAPI ttp://www.ingrid.org/jajakarta/log4j/jakarta-log4j-1.1.3/docs-ja/api/org/apache/log4j/xml/DOMConfigurator.html#configureAndWatch(java.lang.String,%20long)
747 名前:デフォルトの名無しさん mailto:sage [2006/12/08(金) 21:08:33 ] XMLConfiguration、HierarchicalConfiguration超使える。 これで書き込みができれば最高
748 名前:デフォルトの名無しさん mailto:sage [2006/12/11(月) 10:47:57 ] IOUtilsのFileUtils.listFilesでファイル検索が簡単にできるけど、 /home/*/bin/*.sh とかのワイルドカード検索はできないんだね。 ワイルドカードのフィルターはあるけど・・・
749 名前:デフォルトの名無しさん mailto:sage [2006/12/11(月) 13:05:53 ] >>747 XMLのほうは書き込みやリロードのバグがあったが 直ってるか?
750 名前:デフォルトの名無しさん mailto:sage [2006/12/11(月) 14:19:04 ] >>749 ぽいよ。
751 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 19:58:22 ] CollectionのBagで数が多い順に取り出す方法はありますか?
752 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 10:08:56 ] AbstractMapBagに /** * Mutable integer class for storing the data. */ protected static class MutableInteger { /** The value of this mutable. */ protected int value; /** * Constructor. * @param value the initial value */ MutableInteger(int value) { this.value = value; } public boolean equals(Object obj) { if (obj instanceof MutableInteger == false) { return false; } return ((MutableInteger) obj).value == value; } public int hashCode() { return value; } } ってあるけど、何でInteger使わないんだろ。メモリの削減になるわけでもないような。 ツーか頻繁に変えるなら、plus()minux()のメソッド作ってデータの変更のたびにnewしないようにすればいいのに・・・