C#, C♯, C#相談室 P ..
[2ch|▼Menu]
961:デフォルトの名無しさん
17/01/28 13:45:46.68 Bb/tAbed.net
荒らしだけならまだいいが、沸点が低いのかプライドが安いのか
煽りにのって相手を始める低脳が多過ぎる
本当に目障りでNGが面倒臭くてワッチョイもやむを得ないと考えてしまうのはこっちが原因

962:デフォルトの名無しさん
17/01/28 13:47:14.75 5yCHiIBr.net
c#のスレで他言語の話を連投してる時点で
誰がどう見ても荒らしだと思うが

963:デフォルトの名無しさん
17/01/28 13:47:33.37 6ehsSW1c.net
uyのスレ立て荒らし以来変なのが増えたな

964:デフォルトの名無しさん
17/01/28 13:48:54.50 ktdFkm2m.net
そんなにNGされたくないのかな?

965:デフォルトの名無しさん
17/01/28 13:50:24.20 WlIlAAzs.net
どう見てもそうだろ

966:デフォルトの名無しさん
17/01/28 13:53:53.44 ya7J4hzr.net
他言語の話なんてしてないのに荒らし扱いされて死ねって言われたんだけど

967:デフォルトの名無しさん
17/01/28 13:55:50.40 JTtKbdRr.net
昔、JavaやVBで暴れてた低脳馬鹿が今はC#で暴れてるふうにしか見えない。

だって言ってることが同じだものw ○○は遅くない!! ○○で十分!!!

968:デフォルトの名無しさん
17/01/28 13:58:32.18 yHdW8px1.net
>>948
それは酷すぎ。荒しと変わらんぞ。

969:デフォルトの名無しさん
17/01/28 13:59:47.36 vlyo6wmu.net
相手してる生ゴミがうざいって人は連鎖NGができるブラウザに変えるのはどうだろうか?
強制はできないけど…。

970:デフォルトの名無しさん
17/01/28 14:06:49.21 ya7J4hzr.net
ワッチョイでNGが便利になるって言う人たちは、なぜかNGwordを工夫したり連鎖NGすることはできないという不思議現象

971:デフォルトの名無しさん
17/01/28 14:07:29.61 y9Lbrz1V.net
自分でNGできないような奴がこの板にいる方がどうかしている
無能と自白しているようなもんだろ

972:デフォルトの名無しさん
17/01/28 14:11:07.34 XpAKmUmz.net
ごちゃごちゃ言わず、ワッチョイありなし、2つ立てて盛り上がった方を採用すりゃいんだよ

973:デフォルトの名無しさん
17/01/28 14:44:57.36 k4gxsyFf.net
スレも無料じゃないんだぞ
節約しないと

974:デフォルトの名無しさん
17/01/28 14:48:10.28 s1e/PAHl.net
ほらスレ違いで荒れる
このまま埋めてくれればいいよw
>>961
採用っていうか使われなくなった方が消えたり過疎るだけ

975:デフォルトの名無しさん
17/01/28 14:53:25.19 GmC+rupt.net
2chの基本だけど、スレが荒れる(このスレの現状はそこまで行ってないと思うが)と
ギャーギャー騒ぎだす連中の大半は本当はギャーギャー言いたいだけの寂しい奴ではある。

要するに、本当はスレッドの趣旨にそったレスが淡々と続く状況なんか内心望んでない奴、
もっと言えばまともなレスをする能力がない奴に限って文句言ってるのね。
本当はウンコが大好物なウンコ蠅がウンコの周りを周回しながらウンコが臭いって文句言ってる図式だねw

「スレッドの平和」を本当に望んでいる人(俺もその一人)は、逆説的だけど
神経質にスレ違いの話題を咎める連中に与しない方がいいと思うよ。
それは上記の「ウンコ以上にうっとうしいウンコ蠅」をのさばらせることにしかならないからね。

まあそうは言ってもあんまりスレ違いの議論が延々続くのもうっとうしいのも確かだから、
このスレに限らずスレ違いの議論が続いた時に誘導する「何でも議論スレ」みたいのが
あったらいいのかもしれないとも思う。

976:デフォルトの名無しさん
17/01/28 15:11:26.13 VlCpYCgG.net
>>930
C#は永久に不滅とか信者とか、存在しない敵を叩くなよ
他の言語でも同等の処理があるLINQを特徴というのは、理解してないからか?

C#もJavaも互換性最優先なので、いつか時代遅れの限界が来て、保守以外では使わない言語になる気もする
死ぬならVB6みたいな長期サポートで亡霊にならないといいんだけど

977:デフォルトの名無しさん
17/01/28 15:16:41.71 VlCpYCgG.net
そういえば、llilacはどうなったのかな
LLVM化は結構需要ある気がするんだが

978:デフォルトの名無しさん
17/01/28 16:06:14.69 VlGJ2K6H.net
荒れすぎだろ
投票による自治機能があるanontownに来ないか?
登録制だけどメアド不要だから簡単
URLリンク(anontown.com)

979:デフォルトの名無しさん
17/01/28 16:20:45.03 BREm5bG1.net
>>965
いつかはそうなるだろうけど、今のところはその兆候はないな

980:デフォルトの名無しさん
17/01/28 16:41:32.14 ktdFkm2m.net
>>964
2ちゃんにおいて三行以上の長文はマナー違反だぞ

981:デフォルトの名無しさん
17/01/28 16:44:14.69 op86qfG/.net
立てにいく

982:デフォルトの名無しさん
17/01/28 16:48:51.77 op86qfG/.net
次スレ

C#, C♯, C#相談室 Part92
スレリンク(tech板)

983:デフォルトの名無しさん
17/01/28 17:45:23.05 JQ2q8v+C.net
>>965
数年前、高速なNVRAM的な物が安価で作れるようになって
コンピュータの構成が大きく変わるなんて話が一部で盛り上がってたけど、
その手のパラダイムシフトが起こらない限り、プログラミング言語の世界でも
そんなガラガラポンは起こらないだろう

984:デフォルトの名無しさん
17/01/28 19:05:48.32 oY/klkah.net
一体みんな誰と戦っているんだ

985:デフォルトの名無しさん
17/01/28 20:01:47.30 XnHJw37P.net
>>973
オラもそう思う

986:デフォルトの名無しさん
17/01/28 20:12:25.54 09upZDzm.net
自分以外は敵というスタンスがトランプ流w

987:デフォルトの名無しさん
17/01/28 21:15:25.00 yCMaAzsY.net
C#はマルチプラットフォーム化でサーバーサイドで需要がますます拡大するし
クライアントでもWPFが実用的になってくるんじゃないかな

988:デフォルトの名無しさん
17/01/28 21:23:25.46 buSCJS7G.net
胡散臭いCMだな

989:803
17/01/29 12:03:54.50 6CKnMYhm.net
>>818
>>819
>>831
64bitでコンパイルする
2GB内に配列を分割する
などいろいろやりましたがメモリオーバーになってしまいどうしても実行できませんでした
結局、元のファイルを分割し、最後に結合する方式にしてやっと通りました
使用メモリ見ると10GB位食ってましたが一応全部実行できています
ご協力ありがとうございます

990:デフォルトの名無しさん
17/01/29 12:28:52.14 NqGwYzj0.net
>>978
配列に入れて何がしたいのか最後まで聞けなかったけど、FileStreamで読み書きじゃ駄目だったの?

991:デフォルトの名無しさん
17/01/29 12:34:03.49 Be2uFNKC.net
同意見
そんなもん全部メモリに読んだところで
どうせシーケンシャルに処理する以外にやれることがあるとは思えない

992:803
17/01/29 13:07:42.19 6CKnMYhm.net
>>979
BinaryWriterで挿入操作ができれば使っていたのですが
以下を見るとできないようなので使いませんでした
URLリンク(dobon.net)

993:デフォルトの名無しさん
17/01/29 13:12:51.28 WfZCQfEI.net
一時ファイルに元のファイルの内容と挿入データを書き込む
→元のファイルを削除する
→作成した一時ファイルの名前を元のファイルの名前に書き換える
でできると思うけど自分の好きな方法でうまくいったのならいいんじゃね

994:803
17/01/29 13:29:04.76 6CKnMYhm.net
>>982
>一時ファイルに元のファイルの内容と挿入データを書き込む
確かにこのやり方がスマートでした
元のコード流用しようとしたので今のやり方になってしまいました
あらかじめわかっていたら・・・

995:デフォルトの名無しさん
17/01/29 17:25:54.20 UOF0Asn0.net
うめ

996:810
17/01/29 22:35:39.11 F8/CipCU.net
>>810です。反応が遅れてすいません。現在は、
クラスのインスタンスの複数のプロパティの値を比較して等価かどうか判定しているのですが
データをリストに追加する際、2種類の等価比較法(IEqualityComparer)を用いています

つまり追加対象のデータのうち、
まず弱い比較(少なめのプロパティだけが一致するか比較)で
既存のリストにないデータの「候補」をざっくりピックアップして、
候補たちに少々時間のかかる処理をかけてから(一部プロパティが書き換えられる)、
次に強い比較(多めのプロパティを比較)で候補の中から真に「新しい」ものをリストに追加しています

PosgresやLocalDBといったデータベースでは、こういうことって簡単にできるんでしょうか
ネット検索してみたところ複数のプロパティを比較すること自体は
UNIQUE制約(?)というので出来そうに思ったんですが、
現在やっているような2段構えの比較法は実現可能なんでしょうか?

997:デフォルトの名無しさん
17/01/29 22:51:26.56 M0HgmB1M.net
二段構えにする必要はない
比較に必要な全てのカラムセットにuniqueインデックス張りなさい

998:デフォルトの名無しさん
17/01/29 22:55:35.08 F8/CipCU.net
>>986
それだと誤判定になりませんか?
追加前のデータと実際に追加するデータでは
一部プロパティ(弱比較ではチェックしないが、強比較ではチェックするプロパティ)の値が異なっているのですが…

999:デフォルトの名無しさん
17/01/29 23:02:20.70 faIlAfcC.net
>>987
強比較の値がDB上


1000:に固定できるなら、最初から強比較でやっても十分な速度が出ます 取り出してから変化する性質なら、弱比較でDBから取り出し値を生成してからメモリー上で強比較で良いんじゃないの?



1001:デフォルトの名無しさん
17/01/29 23:27:53.21 F8/CipCU.net
>>988
すいません、「DBから取り出す」という表現が何を指しているのかよくわかりません…

いま思案しているのはデータの集計作業時ではなく登録作業時の話です
各データについて、一部のプロパティの値を確定させるには処理時間がかなり必要になっています

追加登録したいデータたちについて、このプロパティ値をあらかじめすべて確定するのは非常に時間がかかるので
まず弱比較でざっくりと追加可能な候補(プロパティ値を確定しなければならないデータたち)を絞っているのです

今はこんな風にしてます(実際のコードでは日本語変数じゃないです)

候補データリスト = 追加したいデータのリスト.Except(全リスト, new MyClass_WeakComparator()).ToList();

候補データリスト について全プロパティ確定作業; //←重い

全リスト = 全リスト.Union(候補データリスト).ToList();

1002:デフォルトの名無しさん
17/01/29 23:33:19.34 F8/CipCU.net
>989補足
Union()のところで既定の等値比較子として強比較が使われています

1003:デフォルトの名無しさん
17/01/29 23:37:15.13 M0HgmB1M.net
>>989
insert into 処理対象テーブル
select 追加後の値を得る計算式
from 処理対象テーブル
where 追加対象を得る条件式

これでいいんじゃないの?
弱比較とかよくわからん言葉遣いはやめた方がいい混乱するから

1004:デフォルトの名無しさん
17/01/29 23:50:32.58 M0HgmB1M.net
なんか違うなこうか

insert into 全リスト
select 任意の計算式
from 追加データ
where not exists (
select *
from 全リスト
where 簡易な比較条件式)
and 完全な比較条件式

インデックスは簡易な比較に使うカラムだけでいいよ

1005:デフォルトの名無しさん
17/01/30 00:02:56.22 kb+lR8OL.net
>>992
やはり、条件式を2種類地道に書くしかないんですか…長くてハゲそう

>インデックスは簡易な比較に使うカラムだけでいいよ

アドバイスありがとうございます

1006:デフォルトの名無しさん
17/01/30 00:07:16.67 YrqXkGEW.net
>>989
それだと「弱比較」で一致してしまった物は全部捨ててしまっているがいいのか?
>>985の書き方だと、「弱比較」で一致しても「強比較」で一致しない物があり、
それは書き込むと読める。
まあこの辺はそちらがやればいい話だが。

1007:デフォルトの名無しさん
17/01/30 00:14:31.63 GO+RhKVN.net
数千行のSQLとか当たり前だから!!!
そのためのDBMSでしょ!!!

1008:デフォルトの名無しさん
17/01/30 00:23:01.74 RAZ09caE.net
1回のクエリで完結させようとせず
1次候補抽出クエリ → ローカルで1次候補のプロパティ書き換え → 最終候補抽出&インサートのクエリ
の3段構えにしてもいいんじゃないかと思うけど

1009:デフォルトの名無しさん
17/01/30 00:33:18.83 kb+lR8OL.net
>>994
>「弱比較」で一致してしまった物は全部捨ててしまっているがいいのか?

詳しくは書けませんが、やりたい動作としてはその動作でOKです
985の説明はちょっと正確ではありませんでした

>>995
大規模なデータベースを触ろうとするのは初めてだったので…すいません

>>996
どっちみち長い比較条件を書かないといけないのは避けられそうにないので
その方法でもよさそうですね

1010:デフォルトの名無しさん
17/01/30 01:03:13.10 9w4b/GJp.net
>>995
SQLが数千行もあって当たり前なの?異常じゃないの?SQLだよ?

1011:デフォルトの名無しさん
17/01/30 02:19:40.86 ty17mMxy.net
SQL Serverは問合せ文と制御文を1つのストアドに混在できるので複雑な工夫が容易で、
腕が良ければ数千行の複雑な処理を書くことによって物凄く高速化できることがある

Oracleは混在できないため複雑な処理を書くには手間がかかり、プログラマーがあまり工夫しなくなり、
そのため腕が上がらず、結果としてSQL Serverより遅いシステムが多いらしい

現在のSQL ServerにはOracleと同じスナップショット分離(古い人は「行ロック」って言う)があるが、
2000の頃はなかった(今でもデフォルトでオフになってる)ため、高速な更新処理が必要だったことも腕に関係すると思われる
(スナップショット分離があれば、ダラダラ更新しても他ユーザーの閲覧に迷惑かけない)

1012:デフォルトの名無しさん
17/01/30 02:31:32.87 RISpHKLn.net
次スレ

C#, C♯, C#相談室 Part92 [無断転載禁止]©2ch.net
スレリンク(tech板)

1013:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています


最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

313日前に更新/272 KB
担当:undef