[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 04/12 23:25 / Filesize : 185 KB / Number-of Response : 780
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

ふらっとC#,C♯,C#(初心者用) Part89



1 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/01(日) 20:40:46.53 ]
このスレッドは
「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からない場合など、勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。

なお、テンプレ2行目が読めない回答者は邪魔なので後述のC#相談室に移動して下さい。

>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

■前スレ
ふらっとC#,C♯,C#(初心者用) Part88
toro.2ch.net/test/read.cgi/tech/1332305258/

■関連スレ
C#, C♯, C#相談室 Part71
toro.2ch.net/test/read.cgi/tech/1332575004/
    ミスターサタンのC#相談室
toro.2ch.net/test/read.cgi/tech/1092656075/
VB.NET質問スレ(Part38)
toro.2ch.net/test/read.cgi/tech/1325083428/
くだすれC++/CLI(初心者用)part2
toro.2ch.net/test/read.cgi/tech/1268613679/


448 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 01:18:17.19 ]
プログラミング自体始めたばかりで入門サイト見て回っているんだけど
どこも文法の解説ばかりでピンと来ない

初心者がよくやる間違ったコーディング例を提示してから
こうやると簡潔に書けますという正解例が書かれているようなサイトがあればうれしいんだけど
書籍にもそういうのがないんだよな

449 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 01:37:07.32 ]
DataGridViewの一行一行に隠しデータを持たせる
(MFCでいう CListCtrlとかのGetItemData SetItemData)
には、どうすればいいでしょうか?

450 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 01:42:27.76 ]
そういう数学みたいなものはないだろうな
書き方なんて数年ですっかり変わるし作るものも十人十色、記述の仕方も無限通りある
例えば電卓みたいなよくあるアルゴリズムを自分で作ってみて、
自分のソースを失敗例、公開されているものを正解例として比べてみるといいんじゃないの
まったく作れなければまだ実力が足りない 公式を丸暗記するレベルだから文法をまずは覚えるべき

451 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 01:46:48.98 ]
>>449
カラムの項目ごとのvisibleをfalseにするだけでいけたと思う

452 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 01:49:08.31 ]
>>448
極論だけど、最初から正しいコードを書こうとか思わず、
我流でもとにかく書いてみるほうが学習効率が高いと思うよ

453 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 01:54:59.82 ]
>>448
welcome つ toro.2ch.net/test/read.cgi/tech/1328276597/

454 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 01:57:35.10 ]
>>452

まず書いてみないとわからないよね
10年以上やってる俺でもそういうときあるもの

455 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 02:10:59.70 ]
やっぱり問題にぶち当たらないと人は考えないってことですかね
こういう高級言語って早々問題が生じるようなこともないんですよね
わかりにくいコードだから見やすく書こうと意識するぐらいで
ほとんどコピペで済みますし

例えば、テキストから文字列を一行づつ読みこむ場合
Listに追加していって返すのじゃなくて
イテレーターとLinq使ったほうがメモリの使用量が少なくて済みますという解説があって
なるほどと思ったけど、別にListのままでも問題ないんですよね
趣味でやる分には制限がないからあんまり上達しないんだろうな

456 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 02:26:28.31 ]
>>451
いけた。こんな使い方していいのか。ありがとう



457 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 03:06:31.19 ]
>>455
基本的にコピペは悪だよ。バグをバラまく可能性があるからね。
後はユニットテスト任せだな。

あと、自分は10行に一回位はコンパイルを試行するね。
オーダー的には未試行の行数が増えるほど不具合の数も跳ね上がるし。

458 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 03:17:52.03 ]
Bitmapクラスって読み込めないjpegがあるね
ビューアーだと見れるのに読み込めない
面倒だけどどっかのdll使うしか無いのか

459 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 04:07:36.98 ]
通りすがりの人にプログラミングを教えるような感じの解説をしてほしい
ようやく未確認飛行の解説が理解できるようになりかけてきたけど
最初の頃は全く理解できなかった
「C++でいうところの〜」、「オブジェクト指向における〜」
通りすがりの人にオブジェクト指向ってなんですか?って聞いて答えられる人なんていない
どんなに簡潔に書かれている文章であっても、専門用語混じりで書かれていたのでは理解に苦しむ

これからプログラミングを始めようとする人のための心構えみたいなものを教えて欲しい

460 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 04:19:11.18 ]
>>459
多少わからないことがあっても、それはそれとして脇に置いといて、とにかく進む。
自分でサンプルプログラムを打つ。自分でコンパイルする。サンプルプログラムを変化させて挙動をみる。

461 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 04:27:09.80 ]
>>459
勘とセンスが必要だ。

りんごって言ったら、味とか形とか用途とか思いつくけど、
そういう専門用語も慣れれば同じような感触を持つようになるよ。
食べれないけどね。

462 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 05:31:19.64 ]
studiostyles.info/
コードエディタのカラーを変更

これいいね。背景が明るいから暗くしたいと思ってたんだよ

463 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 11:06:41.12 ]
未使用変数やイベントハンドラの警告メッセージを表示させないようにするにはどうしたらいい?

あるインターフェースでイベントを定義し、そのインターフェースをインプリしたクラスで
一部イベントを使ってないのがあるんですよ。

インターフェースをインプリしたクラスのほとんどが、イベントを使うから、
インターフェースにイベントがある事自体は良いんだけど……

464 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 11:10:29.18 ]
仮想メソッド

465 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 13:25:44.20 ]
川俣さんの記事は厨二臭い

466 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 13:33:44.00 ]
>>463
#pragma warning disable xxx



467 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 14:13:41.53 ]
>>455
PC用にコード書くならもはやメモリの制限なんてあってないようなもんじゃね

468 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 14:18:32.37 ]
大量の画像と動画と圧縮ファイル扱ってるけどメモリの問題は大変だよ

469 名前:営利利用に関するLR審議中@詳細は自治スレへ [2012/04/09(月) 14:20:06.99 ]
圧縮したままなるべく扱えば問題ねーだろ
なんでもかんでも展開したままにすりゃそらメモリ食うけど

470 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 14:33:04.19 ]
ttp://www.atmarkit.co.jp/fdotnet/extremecs/extremecs_01/extremecs_01_03.html
これ理解できる人いる?

ラムダ式って、ある一つの機能(要素)を部分的に変更するって印象だけど
これみたいにあらゆる機能を詰め込んだものをどっさり渡すような使い方って有りなの?
それに1つのメソッドの中がごちゃごちゃし過ぎだと思うんだが

471 名前:営利利用に関するLR審議中@詳細は自治スレへ [2012/04/09(月) 14:35:58.75 ]
>>470
というかデリゲートで使うメソッドがすべて小さいわけじゃないしなあ

472 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 14:37:03.51 ]
使い勝手重視だとそう簡単にはいかなくてね
先読みやデータ保持でメモリ数倍〜数10倍、圧縮ファイルのままだと遅い
統合アーカイバDLLだと形式によってメモリ展開サポートしてないとか他にも色々
まあ大抵のソフトじゃリークさえしてなきゃ問題はないだろうな

473 名前:営利利用に関するLR審議中@詳細は自治スレへ [2012/04/09(月) 14:40:13.09 ]
>>472
圧縮したままというのはzip書庫などの話じゃない
今時jpegの表示に時間がかかる物なんてないだろ
メモリと速度気にするなら一部だけ展開して残りはjpegファイルのままメモリに置くとかさ
圧縮したたま=書庫じゃねーぞ
jpegなんかも圧縮してあるからw

474 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 14:44:26.45 ]
bitmap画像がソリッド圧縮されている書庫内をビューに表示するときはどうするのさ

475 名前:営利利用に関するLR審議中@詳細は自治スレへ [2012/04/09(月) 14:46:58.36 ]
今時そんなアホいるのかよ

476 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 15:28:58.32 ]
>>473
Bitmap型やImage型で持たないでStreamか何かで保持してろといいたいのか
まあそのとおりだな



477 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 15:31:38.36 ]
いやもっとレベル低いことを言っているぞ
jpegで持てとか言っているしw
オフセットだけ取得しておけばいいんだよ

478 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 15:35:20.85 ]
MemoryStreamって他のスレッドが書き込み中に
他のスレッドが読み込むと壊れたりしますか?

479 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 15:35:56.06 ]
>>470
これの問題はそもそもGoTo,WarpTo,共通処理
という3つのメソッドに分ける必要が無いことだな
分けるために余計な要素が色々加わってややこしくなってる

void Goto(Arg arg, bool isWarp = false)
これ一個にしたほうが遥かにシンプル

ただinterfaceを渡すより必要なデリゲートを必要なだけ渡したほうが問題は難しくならないのは確か
interfaceの大きさを過不足なく設定するのは不可能だから

480 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 16:02:48.00 ]
GoToとかWarpって命名が厨臭く感じるのは俺だけ?
dist,srcってのもなんか変、placeじゃなくてlocationやareaのほうがいい
MoveTo(target)orWalkToやTeleport(target)のほうがいい
それと自分としては歩くのとワープは明らかに動作も意味も違うので
goToに無理に統一するんじゃなくて、moveToとteleportで分けたほうがいいと思う
後々変更するとき面倒そう

481 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 16:08:39.26 ]
後藤さんが作ったのかも

482 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 16:36:16.45 ]
>>466
ありがと

483 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 16:41:35.43 ]
問題なのは論理構造がちゃんと書いてないことだろう

ワープモードじゃなかったら歩く、というのがごちゃごちゃ書いてあってはっきりわからなかったり
OnLeaving()とかOnEntering()とか本質じゃないコードがトップレベルに書いてあったりしてノイズになってるからそれを直すと

if (currentPlace == distPlace) return;

if (warpMode)
 currentPlace.GoTo(distPlace);
else
 currentPlace.GoTo(distPlace, (...) => Walk(...));

// まだ知らない場所なら、その場所を学ぶ
if (!IsKnownPlace(currentPlace) && currentPlace.HasDistance)
{
 General.LearnPlace(currentPlace);
}

if (!warpMode)
{
 if(ストリーキング判定チェック())
 {
  ストリーキング実行();
 }
}

こんな感じになるか
ラムダを使ったほうが分かりやすくなるならラムダを使ったほうがいいしそうじゃないなら使わないほうがいい

484 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 17:13:50.47 ]
俺だったらこんな感じで書く

public static void TeleportTo(Area target) teleportTo(target);
public static void MoveTo(Area target) moveTo(target);
private static void moveTo(Area target)
{
if (CheckCollision(me.Area,target)) return;
bool found = CheckFoundMe(me.Area) || CheckFoundMe(target);
me.BeginMove();
var distance = GetDistance(me.Area,target);
var timeReq = GetTimreRequired(me.WalkSpeed,distance);
State.ElapsedTime(timeReq, found, false);
me.Area = target;
me.Moved();

}

485 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 17:40:48.82 ]
ラムダ式

public static void TeleportTo(Area target) moveTo(target,()=>{});
public static void WalkTo(Area target){
moveTo(target,()=>{
bool found = CheckFoundMe(me.Area) || CheckFoundMe(target);
var distance = GetDistance(me.Area,target);
var timeReq = GetTimreRequired(me.WalkSpeed,distance);
State.SetTime(timeReq, found, false);
});}
private static void moveTo(Area target,Action moveType)
{
if (CheckCollision(me.Area,target)) return;
me.BeginToMove();
me.Move(moveType);
me.Area = target;
me.Moved();

}

486 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 17:48:44.06 ]
全然読めません!



487 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 17:50:38.47 ]
せめてインデントがほしい

488 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 18:00:38.24 ]
www.atmarkit.co.jp/fdotnet/chushin/roadtolinq_01/roadtolinq_01_01.html
これとかすんげー参考になる
おれ、まさにこんなコーディングしてしまってたわーって感じ

川俣さんにも見て欲しい

489 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 18:46:02.66 ]
>>478
もちろん

490 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 18:54:27.04 ]
XmlElementとXElementかはどっちがいい?

491 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 18:56:24.24 ]
手に馴染むほう

492 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 18:59:45.16 ]
XmlElementのほーが

hogenode["banana"]
って書けて便利

493 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 19:27:40.16 ]
数値や日付読むときにXElementのほうがキャストで書けて便利
記述の簡潔さならどう転んでもXmlElementに勝ち目はないだろ
Javaが好きかスクリプト言語が好きか、って感じ

494 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 20:00:13.44 ]
XMLとJAVAが嫌いです。

495 名前:414 mailto:sage [2012/04/09(月) 20:37:09.32 ]
自己解決しました。クエリは関係無く、ReportViewerにParamで値を送ってフィルタかけるだけでした

496 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 21:02:23.37 ]
>>493
XMLにするときはXElementすごい便利だけど
XMLから型に戻すときたいへんじゃない?
正規表現使ったりして自前で戻すのん?



497 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 21:15:51.26 ]
そりゃキャストで戻せる場合は限られてるけど
そういうとき面倒なのはXmlElementだって同じだろ

498 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 21:23:55.14 ]
キャストで戻せる場合ってある?

499 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 21:25:57.56 ]
数値一般とかDateTimeとか

500 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 02:11:51.76 ]
(´・д・`)アラヤダ!!
知らなかったわ……

msdn.microsoft.com/ja-jp/library/system.xml.linq.xelement.op_explicit.aspx

501 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 02:12:43.58 ]
大量のデータは遅くて扱えないんだよなぁ。

502 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 07:48:37.85 ]
コードがへたれなだけだろ

503 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 10:50:58.73 ]
dwmapi.dllのDwmExtendFrameIntoClientArea使ってForm全体にGlassEffectを実装
ただし文字も含め黒色は全部glass化される
ideone.com/p1Dxt

labelやtextbox等を全部オーナードローしたりするのは高コストなので
UseCompatibleTextRenderingをtrueにして対処しようとしたけど変化なし
何故だかわかりますか?
msdn.microsoft.com/ja-jp/magazine/cc163435.aspx#S6

504 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 13:12:28.35 ]
IEnumerable<T>.Select(s=>正規表現で文字列取得)
yieldって値を1個しか返せないんですよね?
複数マッチした文字列を返したい場合は
素直にforeachでやるほうがいいのかな

505 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 13:22:03.58 ]
SelectManyじゃね

506 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 13:51:27.75 ]
Properties.Settings.Defaultに
Dictionaryとか放り込めない?



507 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 14:35:37.48 ]
>>502
天才のコードプリーズ。
XMLパーサを速くするなんて論理的に不可能。

ほんと馬鹿は困る。

508 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 14:54:09.79 ]
XMLSerializerはソースコード生成してcscで実行時コンパイルして高速実行してるな

509 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 15:04:29.32 ]
どんなに高速化したってやってることはコンパイラと同じ。
字句解析して、構文解析して、最後に必ず型変換が入る。どうやっても時間がかかる。
ファイル読み込んだら型変換なしのバイナリデータの単純なシリアライズしたデータ形式には絶対に勝てない。

510 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 15:23:15.46 ]
XMLSerializerはかなり早いよ
XML読んで変換するだけなら100MBとかなら十分実用になる
100MBで遅くなるようならコードがヘボいんだろうな

511 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 15:50:08.92 ]
>>509は時代に置いてけぼりになってるね

512 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 15:55:07.39 ]
失礼します。DateTimeにdouble型の秒数(msを含む)を加算させたいのですが、全て同じ結果になります。
AddMilisecondを使用しても結果は変わりませんでした。
良い方法がありましたら教えてください、よろしくお願いします。

DateTime Base = DateTime.Parse("2012/04/05 15:21");
DateTime Add1, Add2, Add3;
double time1 = 0.5, time2 = 1.0, time3 = 1.5; // 秒数

Add1 = Add2 = Add3 = Base;
Add1.AddSeconds(time1);
Add2.AddSeconds(time2);
Add3.AddSeconds(time3);

Console.WriteLine("time1={0}.{1}", Add1, Add1.Millisecond);
Console.WriteLine("time2={0}.{1}", Add2, Add2.Millisecond);
Console.WriteLine("time3={0}.{1}", Add3, Add3.Millisecond);
Console.ReadKey();

513 名前:営利利用に関するLR審議中@詳細は自治スレへ [2012/04/10(火) 15:57:20.70 ]
>>511
理解できす逆ギレ乙w

514 名前:営利利用に関するLR審議中@詳細は自治スレへ [2012/04/10(火) 16:00:04.43 ]
アホな戦いすんな。見苦しい

515 名前:営利利用に関するLR審議中@詳細は自治スレへ [2012/04/10(火) 16:01:00.89 ]
多分
×Add1.AddSeconds(time1);
○Add1=Add1.AddSeconds(time1);

516 名前:営利利用に関するLR審議中@詳細は自治スレへ [2012/04/10(火) 16:03:55.48 ]
XMLが遅いってのはMSが言ってることだしな。
遅すぎてWinFSを開発中止にしたし。

>>509
そんなの誰でも知ってる。基本情報処理試験に出てくるレベル。
初心者スレだからって偉そうに



517 名前:営利利用に関するLR審議中@詳細は自治スレへ [2012/04/10(火) 16:05:14.98 ]
XMLが遅くないって言ってる馬鹿ってそもそもいない。

しかし、XMLが遅いと言うと逆ギレする馬鹿がいる。

518 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 16:05:47.66 ]
>>515
動きました、ありがとうございます

519 名前:営利利用に関するLR審議中@詳細は自治スレへ [2012/04/10(火) 16:08:41.00 ]
なんでXaml作っているときに遅いと気付かなかったのか・・・

520 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 16:09:46.64 ]
コンパイラとかでもそうだけど
C++みたいな変態言語でもなければ
結局ディスク読み込みがボトルネックになるからXMLでもなんでも変わらないんじゃないかね
まあバイナリのほうがはるかにデータ節約できるけど

521 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 16:19:15.03 ]
intのディスクサイズはたいてい4バイト、XMLならその何倍もデータ量になるから、
大量データでは使い物にならない。所詮、メールとか、WEBサイトとかしか使えない。
ボトルネックであるHDDの遅さがさらに問題なる。
だからMSはVista開発時、ずっとHDDメーカーにもっと速くしろと文句を言っていた。

522 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 16:29:56.80 ]
最大1000個のファイルを読み込んで、変換処理(1秒程度)をして、表示というプログラムを作っているんだけど
単純に並列でファイルを読み込むとHDDに負担がかかると思うのですが、どういう設計をすればいいですか?
何かヒントとなる単語を教えて下さい。あとはぐぐります。

523 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 16:39:37.97 ]
ファイルを圧縮したらいいんじゃないか

524 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 16:59:26.47 ]
>>520
意味不明。C++だろうとXML使えばHDD読み込みは遅くなる。

525 名前:営利利用に関するLR審議中@詳細は自治スレへ [2012/04/10(火) 17:03:19.63 ]
その1000個のデータはどういうものかによるんじゃね?

526 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 17:06:30.87 ]
C++のソースをコンパイルする時に
ディスク読み込みよりコンパイル作業自体がボトルネックになるでしょう
普通の言語ならディスク読み込みがボトルネックになるでしょう
XMLも解析してどうこうよりディスク読み込みがボトルネックでしょう
ということ



527 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 17:10:10.29 ]
普通の言語ってなんだよ?w

528 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 17:14:45.20 ]
C#とか・・・

529 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 17:18:04.21 ]
別にC++と比較してそんなにコンパイルは速くないだろ。

530 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 17:21:22.59 ]
ファイルは画像ファイルやhtmlのソースコードです
並列にしてしまうと、ファイル読み込み時に
001スレッドはAファイルを読み込み+エンコード
002スレッドはBファイルを読み込み+エンコード


100スレッド
となって、HDDのヘッダが忙しく動きまわることになるんじゃないかと
HDDは並列では動作しないと思うのでそこをどうするのか気になります

531 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 17:23:58.96 ]
直列にすればいいじゃん。

532 名前:営利利用に関するLR審議中@詳細は自治スレへ [2012/04/10(火) 17:26:23.77 ]
SSDかRAMディスクにしろよ

ゲームなどの細かいファイルならパックしてシーケンシャル読みがしやすくなるように
できるがそういうパックのしようがないのは置き場所を変えるしかない

533 名前:営利利用に関するLR審議中@詳細は自治スレへ [2012/04/10(火) 17:28:12.26 ]
>>527
<丶`∀´><ハングルニダ

534 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 17:30:03.93 ]
Aファイルを読み込み→エンコード→A表示
→Bファイルを読み込み→エンコード→B表示→...
未表示項目は読み込み中表示やGIFアニメ
読み込み用スレッドは1つだけ

535 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 17:31:34.90 ]
>>529
そうか?
遅いだろC++

536 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 17:32:48.66 ]
C#むちゃくちゃ速い



537 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 17:34:16.97 ]
プリコパイル使ってるからだろ。
C++もプリコンパイル効けば変わらない。

538 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 17:34:34.92 ]
>>531
直列にできればいいのですが、自分の知識だと
一旦全部読み込んでから、エンコードを並列ということしかできなくて
直列でファイルを読み込んで、随時並列でエンコードしていくというのが実現できたらいいのですが
何かヒントを教えて下さい

539 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 17:36:15.00 ]
RAMDISKかSSDを使う。

540 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 17:43:57.82 ]
>>522
msdn.microsoft.com/ja-jp/library/cc464185%28v=VS.71%29.aspx
>たとえば、3 個のファイルをハードディスクから読み出すとしましょう。この場合、3 個のファイルの読み出し処理それぞれに、
>合計 3 個のスレッドを作成してもメリットはまったくありません。理由は簡単です。個々のスレッドは、同一のハードディスクを使用することになるからです。


541 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 17:55:15.92 ]
ボトルネックを低減するには、コマンドキューイングするしか無いと思うんだけどねぇ。

542 名前:営利利用に関するLR審議中@詳細は自治スレへ [2012/04/10(火) 17:57:09.11 ]
SATA HDDは世代によるけど付いてるじゃん

543 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 18:02:31.16 ]
バグの9割は使用者の無知

544 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 18:03:57.13 ]
ただし、OracleとJavaは除く。

545 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 18:04:29.74 ]
Method(){
スレッドをたちあげる
一つ読み込む
それをエンコードする
}

これを
Method(){
スレッドをたちあげる
一つ読み込む
Method();
それをエンコードする
}

こうしたらいいんじゃないの

546 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 18:21:56.30 ]
>>542
まーそうだけど、ディスクを読むスレッドがあるならそれをちゃんと稼働させてビジーにしておくしか無いと思うのよ。



547 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 18:22:37.59 ]
>>545
無限再帰。。。

548 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 18:28:13.68 ]
>>538
producer-consumerっていう凄く使い古されたパターンがあるからクグれ






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<185KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef