1 名前:デフォルトの名無しさん [2007/08/26(日) 12:42:25 ] (#゚ー゚)つ < C#、.NETの話題はこちらでどうぞ。 前スレ C#, C♯, C#相談室 Part41 pc11.2ch.net/test/read.cgi/tech/1184840053/ 過去スレは>>2-5 あたり。
201 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 01:47:38 ] >197 そう思う理由を教えてくれ
202 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 02:20:21 ] 1.1のFormsで書かれた商品なら動かしたことがあるが、 リストに毎回描画するから糞重たくてむかついたことはある。 結局、最終的にアプリの出来はスキルで待ったく別物が出来上がるんだと つくづく感じた。
203 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 02:22:49 ] PCがしょぼいんだろ
204 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 08:31:16 ] ユーザー固有のスタートメニューのフォルダは Environment.GetFolderPath(Environment.SpecialFolder.StartMenu)) で取得できますが、 全ユーザー共通のスタートメニューのフォルダを 取得するメソッドは用意されていないのでしょうか? ユーザー固有のスタートメニューのパスに含まれるユーザー名を All Usersに置き換えればいいような気もしますが、 あらゆる環境で動くかどうか心配なので、 できれば、あらかじめ用意されている方法を使いたいと思っています。
205 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 11:07:38 ] SpecialFolder列挙体には含まれてないやつがあるし 実行時にenumの範囲チェックしやがるので SHGetFolderPathを直に使うしかないと思う
206 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 16:25:56 ] インストーラ自作?
207 名前:デフォルトの名無しさん [2007/09/02(日) 17:40:56 ] .NETで書かれたSDJEditorを使ってみたが、.NETの先が見えた気がした EmEditorに比べるとほんと鼻くそ やっぱ.NETで有名なネイティブアプリに勝つなんて無理でしょうか?
208 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 17:42:10 ] 工作員必死だな
209 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 18:44:52 ] 比較対象がEmEditorなんだ。 秀丸と比べるとほんと鼻くそだよね>Em
210 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 18:50:27 ] 逆だな
211 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 20:07:14 ] サクラが一番
212 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 20:17:19 ] エディタなんてVisual Studioでいいじゃん
213 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 20:32:23 ] コーディングはVSでやってるけど .txtなんかはEmEditorに関連付けてる
214 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 20:57:01 ] WebBrowserコントロールでMouseUpイベントを取ることは出来ないんですかね。 MouseDownは取れます。以下はVBですが。 homepage1.nifty.com/yasunari/VB/VB2005/WebBrowserMouseDownEvent.htm Spy++で見てもLBUTTONUPとか表示されないので、そもそもムリなんですかねぇ。
215 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 21:42:12 ] >>207 アプリ&開発者が違うのに、開発ツールを比較するか?w
216 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 23:39:06 ] >>197 .net framework + 在庫管理や工程管理でぐぐったら出てくるよ。
217 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 23:46:12 ] >>197 これとか。 ttp://www.microsoft.com/japan/products/expression/expression-blend/default.mspx
218 名前:デフォルトの名無しさん [2007/09/03(月) 00:03:57 ] でも、おそいねw 正規表現をつかったらperlに負けた スクリプトに負けますか・・・
219 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 00:05:51 ] Cの基本的な文法については勉強して次は実際にSourceForgeでオープンソースの プログラムを読もうと思っていたのですが難しすぎて分かりません みなさんはある程度文法の勉強をしてからどのようにして勉強していきましたか?
220 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 00:06:26 ] ここはC#スレです
221 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 00:15:02 ] >>218 正規表現エンジンの質やI/Oが主要なボトルネックになる類のプログラムでは 言語の差など微々たるもんだ 書き方にも拠るが、C++で書こうが普通にスクリプトのが速かったりする
222 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 00:33:11 ] >>218 毎回正規表現をコンパイルするコードなんて書いてないだろうな?
223 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 00:37:25 ] >>218 正規表現の処理がスクリプトで書かれてんじゃないだろw
224 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 00:39:59 ] .NETの正規表現エンジンは遅くて困るというほどでは無いにしろ、 そんなに速くないだろ スクリプトの場合は、それがCで書かれているだろうしな
225 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 00:45:34 ] Regex のコンストラクタでオプションに RegexOptions.Compiled つけてる?
226 名前:デフォルトの名無しさん [2007/09/03(月) 00:46:51 ] >>219 文法しかわからない奴が、SourceForge等で公開されているソースを読めるわけないだろ
227 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 00:48:28 ] 俺も実験したことがあるが、正規表現をコンパイルしとくのは当然の話として、 C#で正規表現の性能を競ったらPerlやらPythonやらに普通に勝てんよ そういう競争なら、相手はスクリプトではなくて、実質的にはCでカリカリに チューンされたモジュールになる 勝てるわけが無いだろ
228 名前:デフォルトの名無しさん [2007/09/03(月) 00:57:08 ] >>227 だったら、C#の存在意義ってなに?
229 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 01:01:45 ] >>228 さあ 無いと思えば無いんじゃね 性能はネイティブにゃ勝てんし スクリプトみたいに手軽じゃないし Javaみたいにwrite once, run anyware標榜してるわけでもねぇし
230 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 01:06:02 ] 正規表現ならTcl最強説
231 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 01:16:10 ] >>228 一応言っとくが、自分で計算処理する分にはC#のがスクリプトよりは 格段に速いぞ ネイティブのがさらに速いがw 自分の計算が主要なボトルネックになるタイプのプログラムかどうかが 一つのポイントだな そうでないようなケースは案外多い
232 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 01:24:44 ] エミュレートされた仮想CPU上で動いてる訳でもなし、C#ではそもそも 記述できない低水準の処理以外の部分でネイティブコードと速度に差なんて出ようがないと思うが。
233 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 01:25:22 ] 普通速度なんか気にする必要ないだろ 体感できるほど遅くなるアプリなら最初からネイティブしか選択肢ないし そんなんめったに書くことない
234 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 01:25:22 ] そもそもさぁ 早いとか、遅いとかって言ってる奴は、証拠のソースを出せよ だってさ PerlもPythonも、コンパイル時に正規表現のコンパイルと最適化をしている C#やJavaは実行時 どうやってコンパイルと最適化に消費する処理時間を考慮するの?
235 名前:デフォルトの名無しさん [2007/09/03(月) 01:27:24 ] >>233 速いことより、遅い方がいいことってあるのかしらん?
236 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 01:27:52 ] 実行時にネイティブにコンパイルされるといったって C#は安全性を気にして余計な処理をしてるだろ Cとかと比べたらどうしたって遅くなる
237 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 01:28:44 ] >>235 速度の違いが体感出来ないならC#使ってもデメリットはない プログラミングが楽になるからC#使った方がいいというわけだな
238 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 01:29:28 ] >>232 そりゃJITだけどCにゃ負けるようだよ shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=all これはMonoだが、Java Server VMの性能が参考になるだろう
239 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 01:32:20 ] そもそも.NETで不満になるようなアプリってどれぐらいあるんだ? 大体.NETは実行スピードと生産性のバランスの中のひとつの解に過ぎないだろ
240 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 01:34:25 ] .NETは計算速度はそんなに遅くねぇけど 起動がのろいのとGUIもっさりはどうしようもねぇな
241 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 01:36:40 ] ソース出ないね やっぱり法螺吹きか
242 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 01:37:14 ] >>234 CLIランタイムをロードする時間に比べりゃ、正規表現のコンパイルにかかる時間など 微々たるもんだろw
243 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 01:38:13 ] Win32のBitbltとか呼んでももっさりするかね?GDI+よりは早い。
244 名前:243 mailto:sage [2007/09/03(月) 01:38:59 ] すまん。最後は疑問系です・・・(ノД`)
245 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 01:41:19 ] >>243 DDBのblitはGDI+の10倍は速いらしいな その時点でWinFormsだめぽ
246 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 01:45:05 ] >>241 そんなに気になるんなら自分でためせばいいのに 以前俺が実験したソースをあげるよ ttp://www.borujoa.org/upload/source/upload14325.zip 青空文庫のテキストを適当に置換するプログラム inputというフォルダにサンプルの入力ファイルがあるが、300K程度の サイズだから、気になるならデカくしてみるんだね
247 名前:デフォルトの名無しさん [2007/09/03(月) 01:53:14 ] >>239 それはあくまで作る側の屁理屈 使う側からすれば、生産性なんてどうでもいい あなたが、よく使うアプリケーションが次バージョンから.NETで書かれたらどう思う? LightWaveが.NETなんかで書かれたら俺は間違いなくMAXへ移行する
248 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 01:57:26 ] >>247 えーとね、生産性悪くなるとコストがかかるんだよ。 それは製品価格に反映されたり、次バージョンで実装される機能が少なくなったりすることになるんだよ。
249 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 02:05:21 ] >>247 なんでアセンブラでつくらねーんだっていってみろ。
250 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 02:06:39 ] まあ、問題は、場合によっては普通にLL言語にさえ後れを取る C#がバランス上最適解かどうかだろうなw
251 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 02:06:52 ] 製品の値段に直結するぞ。 機能も少なくなるぞ。 品質が下がることもあるぞ。
252 名前:デフォルトの名無しさん [2007/09/03(月) 02:07:02 ] けど、C#が使えないのは事実 C#しかつかないやつはVC++で開発してる部署に行ったらほぼ終わり
253 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 02:07:34 ] >場合によっては普通にLL言語にさえ後れを取る 絶対にLL言語に遅れをとらない言語ってなんだよw
254 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 02:09:30 ] VC++しかつかないやつは他の言語で開発してる部署に行ったらほぼ終わり
255 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 02:14:15 ] >>246 ・300kのIO速度の計算をスルー ・300kのSJISから内部コードの変換(UTF-16やutf8)コストもスルー ・(C#)2000行の無駄なnew StringBuilderとToString、+演算子置き換えで高速化 正規表現のベンチになってないよ
256 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 02:17:16 ] >>255 うん、正確な正規表現のベンチのつもりで書いたのではないよ それが求めるものなら自分でやってくれ IO処理は「どの言語でも」やっている ユニコードへの変換も「どの言語でも」やっている オーバーヘッドの大きそうなフォーマット処理も、PerlやPythonでもやっている 概ね、カリカリに書かずに適当に同じレベルで「普通に」書きなぐったものだ 特に何かをひいきしたつもりは無い そうやって書いたものが、スクリプトが案外速かった(C#より速い)ってのが 重要ね。
257 名前:256 mailto:sage [2007/09/03(月) 02:28:23 ] ちなみにC++も三種類書いてみたが大して速くなかったね。 ソースを見れば分かるが、LL言語で書くよりずっと複雑でトリッキーで エラーを産みがちなコードになるというのに。 こんな仕事はLL言語向きだ。他の解は馬鹿げている。そう思ったよ。 そして、そういう仕事は案外多いのだと思う。
258 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 02:37:29 ] プロセスの生成負荷も考慮されてない… C#、C++、Perl、Pythonではエンジンの起動時間は大きく違うし、 いくらなんでも、これで決めつけるのは早計だと思うが。 俺のPCでは、C#の方がPerlより速かったり遅かったりだった。 一瞬すぎて測れない。 Core 2 Duo E6600, 2GB, Win Vista Super Fetchがどこまで効いているかはわからない。 明日kwsk調べようかな。
259 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 02:45:50 ] 正規表現の処理の話をしてるときにこれはない
260 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 02:46:28 ] つうか試してないけどコンパイルしないほうが早かったりしてよw
261 名前:256 mailto:sage [2007/09/03(月) 02:54:56 ] >>258 入力ファイルデカくしてみそ 二回目以降はキャッシュが効くし、入力が十分デカければ起動時間は誤差の範疇に 持ち込めると思うが ちなみに俺の環境はXP、Pentium M(1.7GHz), RAM 500Mだからずっとショボい >>259 純粋に正規表現エンジンの性能を計りたいんなら、そうだね 俺がやったのは、正規表現を用いた典型的なPerlの使い捨てスクリプトレベルの 仕事を各種の言語で書いてみた、それだけのことで、やっている仕事自体は どの言語でも同じだよ
262 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 03:15:34 ] せめてマッチ対象文字列は、メモリに確保しておかないとベンチにならんだろw
263 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 05:29:41 ] 起動が早い言語の勝負じゃないからな
264 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 09:15:08 ] >161 ご回答ありがとうございます。 そんなことを頻繁にするかどうかは知らんよ。 俺がちゃんとわかってる人かどうかは あんたが決めることじゃねえよ。スキルチェックでもしてくれ。
265 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 10:34:36 ] プログラマーなんだから、C++とC#両方使えるようになろうや。
266 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 11:35:59 ] C++なんぞ使ってると脳みそが腐るぜ
267 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 11:39:14 ] C++使ってる奴がまだ居たなんて・・・
268 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 12:30:18 ] C++は使えませんが、C++でできています。
269 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 12:58:35 ] C++はC++でできています
270 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 13:29:49 ] gccがgccでコンパイルできるようになりました、というのは結構画期的なことだったらしいが
271 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 14:01:15 ] foreachループ変数が書き込み禁止だってことを今更ながら知ったのだが・・・ なんでこんな制限があるんだ? コレクションに変更を加えるわけじゃないし問題ないと思うんだけど。
272 名前:デフォルトの名無しさん mailto:age [2007/09/03(月) 15:49:14 ] C#で変数名に変数を使うやり方ってどうやるんですっけ? test_i(i=1,2,3・・・)みたいな。
273 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 15:54:20 ] 配列を使いましょう
274 名前:デフォルトの名無しさん [2007/09/03(月) 16:06:14 ] >>271 たとえば string[] strArray = new str[]{"a","b","c"] foreach(string str in strArray) { s="d" } ってやってもstrArrayには反映されない。 foreachの列挙子はIEnumerableの実装いかんによっては、何を 参照しているのか全く保障されない。 IEnumeratorは上記の例のようにコピーを返してくるかも知れない。 あと、IEnumuratorの実装クラスは「列挙」できればよく、要素の概念 を持たないものだってあるからね。 MSDNのIEnumerableのサンプルをみてみそ。
275 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 16:30:21 ] >>271 「変数の使いまわし」ができないようにするのが最近の流行だから。 バグが減ると信じられてる。
276 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 16:36:34 ] foreachって実際は while(strEnumerator.MoveNext()) { string str = strEnumerator.Current; ... } こんな感じでしょ 代入しても無意味というか、元が配列だったりすると 書き換えられるという錯覚を与えかねない というか配列のforeachは for(int i = 0; i < strArray.Length; ++i)... に置き換える最適化がされるらしいから 実際に書き換えられちゃうんでそうするとforeachの意味が変わっちゃう
277 名前:271 mailto:sage [2007/09/03(月) 16:55:47 ] >>274 >>276 foreach変数ってIEnumeratorの実装に関わらずスタック上に置かれるものでは。 構文上もそこで宣言してるわけだし、直接書き換えられると誤解される余地もないと思うけど。 >>275 それで余分な変数を導入する方が場合によっては可読性が落ちると思うんだけどなあ。 というかforeach変数だけ禁止しても意味がないような・・・
278 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 17:01:33 ] >>277 たしか、usingとかfixedとかで宣言した変数も使いまわしできないな。
279 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 17:55:02 ] むしろforが例外か
280 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 19:45:58 ] >>271 は単に参照型と値型の区別がついてないというか、データがメモリにどう 配置されるかのイメージがつかめてないだけの気がする。 >>275 は意味不明だと思う。 繰り返し変数はもとの変数のビットイメージのコピーであってもとの変数そのものではない。 これが理解できていれば271はそもそも愚問であって、こんな疑問は抱きようがないんじゃないか?
281 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 19:55:24 ] その後の流れをちゃんと読めよw 271はforeachでコレクションの内容を変更したいんじゃなくて、例えば //引数に与えられた値+2を返すメソッド int Plus2(int value){ value += 2; return value; } みたいなことをforeachの繰り返し変数でもやりたいんだろ
282 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 20:13:55 ] int Plus2(int value){ return value + 2; } でいいじゃん
283 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 20:20:09 ] なんという正論
284 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 20:20:50 ] >>282 頭悪そうだな・・・
285 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 20:22:57 ] まあ281の例えも悪いよ。 変に例える必然性なんて全然ないのにね。
286 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 20:24:32 ] というか、+2と決めうちなのにメソッド作る意味があるか?
287 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 20:26:09 ] 281の方が頭悪そうだ
288 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 20:26:40 ] >>271 あるいは逆にコレクションに変更を加えようとしてミスるプログラマが出るのを予防するためだな。 D言語ではforeachの制御変数には明示的にrefキーワードをつけないと、代入できないようになってる。
289 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 20:30:55 ] それどんな感じで列挙子を実装するの?
290 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 20:33:54 ] >>288 そんなアホグラマは正直無視でいい・・・ と思うのは俺だけ? だってそんなこといったら仮引数だって変更不可にするべきじゃん
291 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 20:42:45 ] >>289 int opApply(int delegate(ref T));というメンバ関数を実装する。 www.kmonos.net/alang/d/statement.html#ForeachStatement >>290 Dでは仮引数にinキーワード(あるいは、finalキーワード)を追加することによって、仮引数への代入が制限されますよ。 要するに、最近は酔っ払いでも使えるような言語設計が流行っているのだ。
292 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 20:50:44 ] フェイルセーフがあるのは結構な事じゃないか
293 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 21:01:28 ] いつも酔っぱらってこーでぃんぐしてるからありがたい
294 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 21:45:38 ] 参照型の場合 foreach (Hoge h in Hoges) { h = new Hoge(); // はダメでも h.Member = 123; // は全然OKだから あまりガードにはなってないよね。
295 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 21:55:27 ] …なんか勘違いしてないか?
296 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 22:11:00 ] >>295 なんかって何?一言主さん
297 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 22:13:01 ] フェイルセーフがいいならC++のconstなんか真っ先に導入しなきゃダメだろ キャッチしなきゃいけない例外も必要だろ C#はそういうのが意図的に外されてるんだな 意味ないから
298 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 22:15:50 ] VC++(2005)のMS拡張構文ではconstのあるなしで調整できるようだ。 // cl /EHsc #include <vector> #include <iostream> int main() { std::vector<int> v; v.push_back(1); v.push_back(3); v.push_back(5); for each(int r in v) { r++; // OK std::cout << r << std::endl; } for each(const int r in v) { r++; // Error std::cout << r << std::endl; } }
299 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 22:18:01 ] >>297 いや、チェック済み例外は明らかに設計ミス。
300 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 22:21:40 ] しかしネットワークなんかだと、 絶対に間違いが起きる可能性がある処理はあるわけじゃない そういうのをどうやって実装すればいいの
301 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 22:27:25 ] そんなのインテリセンスなりナンチャラペットの水準でサポートすれば 済むことじゃないの? まあ、それ以前にドキュメントをちゃんとして欲しいよねw