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を兼ねた便利なクラスも用意されており、その数は豊富である。
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試そうと思ったらサーバ落ちてる・・・