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


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



1 名前:デフォルトの名無しさん(ワッチョイ 5394-4hBO) mailto:sage [2016/12/27(火) 02:07:41.47 ID:HrGPkQcW0.net]
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。

他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。

内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。

なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください

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

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

■関連スレ
C#, C♯, C#相談室 Part91
echo.2ch.net/test/read.cgi/tech/1467211515/

■コードを貼る場合は↓を使いましょう。
ideone.com/
https://dotnetfiddle.net/

■情報源
https://msdn.microsoft.com/en-us/library/gg145045.aspx
referencesource.microsoft.com/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configure

2 名前:d mailto:ふらっと C#,C♯,C#(初心者用) Part126 []
[ここ壊れてます]

3 名前:デフォルトの名無しさん (ワッチョイ 5394-4hBO) mailto:sage [2016/12/27(火) 02:08:32.32 ID:HrGPkQcW0.net]
■ワッチョイスレの建て方
スレッドを立てるとき本文1行目に
!extend:checked:vvvvv:1000:512

4 名前:デフォルトの名無しさん (ブーイモ MM5f-TACi) mailto:sage [2016/12/28(水) 12:43:49.97 ID:vJvETbCIM.net]
>>1
Console.WriteLine("乙");

5 名前:デフォルトの名無しさん (ワッチョイ 7b87-8bDS) [2016/12/28(水) 16:09:19.18 ID:4cVGFWSK0.net]
さっそくですがすみません。お教えください。
フォーム上のDataGridViewの表示を更新するために、
DataGridViewRowの配列を作り、それをDataGridViewにAddRangeしようと考えました。

参考ページ
blog.studio-odyssey.net/2010/07/datagridview.html

Rowの配列を作るために、for文の中で
「DataGridViewRow row = new DataGridViewRow();」を行い、
そこに「row.CreateCells(this.dataGridView1);」
をするのですが、300回程度回すと数MBのメモリを消費します。
(dataGridViewの列が80列位あるからだと思います)

一回の操作はこれで終わりなのですが、しばしばDataGridViewの更新をする必要があり、
上記の処理繰り返し行うと、徐々に消費メモリが増えていきます。GCも働かず最後にはメモリエラーで落ちます。
どうもrowの解放が行われていないらしく、1回のfor文毎にこれを解放したいのですが、
どのようにすればよいでしょうか。
(row.dispose()を行っても解放されません)

6 名前:デフォルトの名無しさん (ワッチョイ 7f94-4hBO) mailto:sage [2016/12/28(水) 17:24:04.61 ID:YF6A9Wev0.net]
なんでDataTableでも使ってバインディングしないのか疑問だけど、それはさておき
80項目ほどあるという、その元データの古いものはちゃんとクリアされていってるのかな

7 名前:デフォルトの名無しさん (ワッチョイ 7b87-8bDS) [2016/12/28(水) 17:46:48.75 ID:4cVGFWSK0.net]
>>5
レスありがとうございます。
バインドしなかったのは置いておきまして・・・
元データというのは、古いrowのことでしょうか。
それともrow.Createcellsに渡したDateGridViewのことでしょうか。
古いrowは、dispose、nullの代入は行っています。
DataGridViewは、行のクリアは行っています。
(DataGridView自体のdisposeは行わず、使い回しです)

試しに、プログラム実行直後のDataGridviewに何も入ってない状態で、
DataGridViewRow row = new DataGridViewRow()
row.CreateCells(this.dataGridView1);
を繰り返すだけでガンガンメモリ量が上がっていきます。
(rowの配列をDatagridviewにはセットしなくても)

8 名前:デフォルトの名無しさん (ワッチョイ 7f94-4hBO) mailto:sage [2016/12/28(水) 17:57:11.86 ID:YF6A9Wev0.net]
「元データ」といったのはDataGridViewRowの各セルに入れるデータのこと
自分が試してみたら、Rows.Clearして追加を繰り返していくだけで適切にGCが働いてくれてるんだけど…
(別にDataGridViewRowをDisposeしなくても大丈夫だった)

9 名前:デフォルトの名無しさん (ワッチョイ 7b87-8bDS) [2016/12/28(水) 18:01:48.60 ID:4cVGFWSK0.net]
>>7
実験までやっていただいてありがとうございます。
Rows.Clearというのはどう行うのでしょうか?

DataGridViewRowのメソッドにclearが見つからないのですが・・・

10 名前:デフォルトの名無しさん (ワッチョイ 7b87-8bDS) [2016/12/28(水) 18:17:55.89 ID:4cVGFWSK0.net]
自己レスです。
rowの配列のRowsですね。
Rows(rowの配列)を作らなくても、メモリが増えていっていたので、
頭から抜けていました。

元プログラムの方はそこはクリアしていなかったので試してみます。



11 名前:デフォルトの名無しさん (ワッチョイ 7f94-4hBO) mailto:sage [2016/12/28(水) 18:55:56.99 ID:YF6A9Wev0.net]
Rows.Clear って省略しちゃったけどそれはDataGridView.Rows.Clearのことだったんで
>DataGridViewは、行のクリアは行っています。
なら、そこは変わらないかも

自分が気にしてるのは、DataGridViewに入れるデータを取得・更新したときに
(DataGridView関係なく)入れるデータの方のDispose漏れはないですか?ということ…

>試しに、プログラム実行直後のDataGridviewに何も入ってない状態で、
>DataGridViewRow row = new DataGridViewRow()
>row.CreateCells(this.dataGridView1);
>を繰り返すだけでガンガンメモリ量が上がっていきます

インスタンスを繰り返し作れば使用メモリがガンガン増えるのは当たり前なので、何か気にするところを間違えてる気がするんだけど…

12 名前:デフォルトの名無しさん (ワッチョイ 7b87-8bDS) [2016/12/28(水) 19:03:09.17 ID:4cVGFWSK0.net]
>>10
何度もお手間おかけしてしまいすみません。

>インスタンスを繰り返し作れば使用メモリがガンガン増えるのは当たり前なので、
>何か気にするところを間違えてる気がするんだけど…

とどのつまりはそこでして、
>DataGridViewRow row = new DataGridViewRow()
>row.CreateCells(this.dataGridView1);
を実行した後の、rowのDisposeの仕方がわからないのです。

row.Dispose()をやっても、row.Cells.Clear()をやっても、row = nullとやっても、
ガベージコレクションで解放されないので、困っております。

13 名前:デフォルトの名無しさん (ワッチョイ 7f94-4hBO) mailto:sage [2016/12/28(水) 19:42:50.61 ID:YF6A9Wev0.net]
自分が試したのは ideone.com/VK5exD で、
これだとbutton1を押すたびにメモリ使用量が増えていき、
一定消費量でGC発動→その後もGCが適宜発動
になるんだけど、どこで違いがでるんだろう…

14 名前:デフォルトの名無しさん (ワッチョイ b749-AD9A) mailto:sage [2016/12/28(水) 22:19:37.96 ID:Bwga9xUV0.net]
this.dataGridView1.Rows.Clear();
やってない予感。

15 名前:デフォルトの名無しさん (ワッチョイ 0f7b-SerI) mailto:sage [2016/12/28(水) 23:25:39.98 ID:Eve+QkKl0.net]
GCが発動しないのは、リソースを参照しているとか、PCのメモリ量が大きいとか

16 名前:デフォルトの名無しさん (ワッチョイ f3bd-evmS) mailto:sage [2016/12/29(木) 01:46:34.77 ID:mvPliBkI0.net]
今回ので解決するかは知らんが
メモリリーク(GC対象外)の原因をつきとめたいなら
メモリリーク windbg sos.dll
でやり方を検索。
暗中模索でいろいろやるのは非効率だと思う。

17 名前:デフォルトの名無しさん (ワッチョイ af87-Eko0) [2016/12/29(木) 08:46:21.64 ID:WI/qqjBQ0.net]
ID:4cVGFWSK0ですが、みなさまご意見ありがとうございます。
>>12
教えていただいたサンプルでもやってみます。
また経過を書かせてもらいますね。

>>13
dataGridView1.Rows.Clear();はやっています。(thisは付けていないですが)
そのあと、関数をコールして、その関数内で、DataGridViewRowのくだりをやっています。

>>14
PCのメモリ量は大きいですね(8G)。
でも、32bitアプリにしてるので、2Gで落ちるのです。

>>15
情報ありがとうございます。
早速検索してみます!

18 名前:デフォルトの名無しさん (ワッチョイ 07dc-Ft01) mailto:sage [2016/12/29(木) 09:34:31.13 ID:ICm4kcbN0.net]
CLRプロファイラを使えばどいつが参照を握ってるのか簡単にトレースできる

19 名前:デフォルトの名無しさん (ワッチョイ 0a11-psYp) mailto:sage [2016/12/29(木) 10:18:27.52 ID:SpO/gD9k0.net]
Process.Start(

20 名前:デフォルトの名無しさん (ワッチョイ 0a11-psYp) mailto:sage [2016/12/29(木) 10:20:27.32 ID:SpO/gD9k0.net]
失敗しました。
Process.Start(”EXPLORER.EXE”, ”search-ms:query=*.pdf* &crumb=location:C:\\”);
を実行して、C直下にあるpdfファイルを検索した状態で表示したいのですが、うまくできません。
エクスプローラーにPDFファイルのみ表示するにはどうしたらいいのですか?



21 名前:デフォルトの名無しさん (ワッチョイ af87-Eko0) mailto:sage [2016/12/29(木) 10:28:13.15 ID:WI/qqjBQ0.net]
>>17
情報ありがとうございます。簡単そうだったので、早速使ってみました。

途中から枝分かれが多くなってきたのですが、枝の元はここのようです。
206 MB(83.62%) from System.EventHandler System.Object []->System.EventHandler->(System.Windows.Forms.DataGridViewComboBoxCell)
147 MB(59.76%) to System.Windows.Forms.PropertyStore(1) System.Windows.Forms.DataGridViewComboBoxCell->System.Windows.Forms.PropertyStore->(System.Windows.Forms.PropertyStore.IntegerEntry [])

DataGridViewの列にはComboBoxにしている列が多数ありまして、
そのComboBoxをクリックしたときに発生するイベントを幾つか利用してるのですが、
そのイベント周りで、クリア→再表示させたときに何か悪さしている感じでしょうか。

22 名前:デフォルトの名無しさん (ワッチョイ af87-Eko0) [2016/12/29(木) 10:48:11.82 ID:WI/qqjBQ0.net]
20です。ComboBoxでピンと来て、検索してみたのですが、おそらくここで質問されている現象と同じようなことかと思います。

https://translate.google.co.jp/translate?hl=ja&sl=en&u=https://social.msdn.microsoft.com/Forums/windows/en-US/26ca1a52-03af-4ad5-8f98-d22498116701/datagridviewcomboboxcell-memory-leak%3Fforum%3Dwinformsdatacontrols&prev=search

DataGridViewのComboBoxに表示させる要素をDataTableとバインドさせているのですが、それが影響しているようです。
上記の質問ページの回答で解決しているのか不明ですが。。。

23 名前:デフォルトの名無しさん (ワッチョイ af87-Eko0) [2016/12/29(木) 13:24:27.74 ID:WI/qqjBQ0.net]
20ですが解決しました。

原因は、DataGridViewのComboBoxの要素用にDatatableをバインドしていたのですが、
それだとDataGridView.Rows.Clear()しただけでは、ガベージコレクションされていませんでした。

DataGridView.Rows.Clear()したあとに、
各バインドをすべて解除する(Datasourceにnullを代入)と、
ガベージコレクションで、メモリが解放されました。
(その後、次のデータを表示するために再バインドを行います)

どうも懇切丁寧に教えてくださり、ありがとうございました。

24 名前:デフォルトの名無しさん (ワッチョイ 9ff1-6Sai) mailto:sage [2016/12/29(木) 14:00:44.91 ID:AE32Webi0.net]
このスレには、.netの話はしててもc#の話してる人いないな。

c#て変な言語だな。c++の派生言語だろうと思って、似たようなもんだと勘違いさせて、
試しに簡単なプログラム書いてみると、実際にはcのコードやc++のコードが通用しない。
互換性がないのに、この言語名はおこがましいもんだ。

この板にvb.netのスレは1つしかないのに対して、c#はいくつもある。どうせvb.netと同じ
バイナリファイルになるから、vb.netで良くないのかいな。

25 名前:デフォルトの名無しさん (スップ Sd4a-XCM5) mailto:sage [2016/12/29(木) 14:12:40.37 ID:R/A6dVhUd.net]
初心者用ってスレで言語仕様の話題がもちきりだったら気持ち悪いわw

26 名前:デフォルトの名無しさん (スッップ Sdaa-weIz) mailto:sage [2016/12/29(木) 17:34:05.31 ID:RSbrHHU5d.net]
>>23
まあCよっかDelphiよりだかんね

27 名前:デフォルトの名無しさん (ワッチョイ d33c-CHTc) mailto:sage [2016/12/29(木) 18:31:53.38 ID:hT8/gKS00.net]
Delphiの言語設計者が作った言語だからな

28 名前:デフォルトの名無しさん (ワッチョイ 0f5b-TDvV) mailto:sage [2016/12/30(金) 00:27:35.46 ID:i85SXOa50.net]
C++のコードなんか通用したらその時点でクソ言語なのでは

29 名前:デフォルトの名無しさん (ワッチョイ 3f91-WE5O) mailto:sage [2016/12/30(金) 09:58:53.13 ID:tjoNJpVm0.net]
D言語の方がCに近いし、DelphiっぽいC#と名前を入れ替えるべきだな

30 名前:デフォルトの名無しさん (ワッチョイ 07dc-CBwx) mailto:sage [2016/12/30(金) 10:14:40.11 ID:hgBVSCl80.net]
RAD環境としての全体的なネーミングやライブラリ設計のセンスがDelphiっぽかっただけで
言語自体はそうでもないだろ
最近のVSはDelphiやVB系列の昔ながらのRAD思想を捨ててWeb系に向かいつつあるし
言語の方は独自路線を突っ走って今やニュースタンダードの一つ



31 名前:デフォルトの名無しさん (ワッチョイ 3f91-oeOq) mailto:sage [2016/12/30(金) 11:04:36.50 ID:tjoNJpVm0.net]
えっ?じょ…
そうですよね…

32 名前:デフォルトの名無しさん (ワッチョイ 9f23-4Ie9) mailto:sage [2016/12/30(金) 14:56:29.05 ID:uiIF/Ctr0.net]
C#の前身は、DelphじゃなくてJ++

33 名前:デフォルトの名無しさん (ワッチョイ de33-4Doi) [2016/12/30(金) 15:41:21.27 ID:KB0M7zpX0.net]
まあ、でもdelphiとC#の言語設計したの同じ人だしね

34 名前:デフォルトの名無しさん (ワッチョイ 8a17-YvgG) mailto:sage [2016/12/30(金) 18:30:44.06 ID:3Ls/pupf0.net]
だからなんだって話だな

35 名前:デフォルトの名無しさん (オッペケ Sra3-pmO9) mailto:sage [2016/12/30(金) 22:59:36.70 ID:roV26jkcr.net]
C#2.0くらいで頭止まってる人多そうだね。

36 名前:デフォルトの名無しさん (ワッチョイ 4613-4A4P) mailto:sage [2016/12/30(金) 23:24:44.37 ID:Vl/trvQD0.net]
少ないと思うよ

37 名前:デフォルトの名無しさん (ワッチョイ d33c-CHTc) mailto:sage [2016/12/30(金) 23:30:39.52 ID:ZpaOuXX30.net]
2.0で止まってると言われたら、「ねーよwww」って笑い飛ばせるが
4.0で止まってると言われたら、ちょっと否定出来る自信が無い

38 名前:デフォルトの名無しさん (ワッチョイ 07dc-CBwx) mailto:sage [2016/12/31(土) 00:10:52.34 ID:u4bGwJtr0.net]
C#5.0は非同期使う気ないなら無視しても特に差し支えなかったけど
6.0の内容はそういうのとはだいぶ性質が違っててスルーしづらいものになってるよ
C#6.0以降では、イベントの呼び出しは var handler = Click; if (… のパターンは忘れて
Click?(this, e) と書くのが正しい
他にも string interpolation とか expression bodied method/property とか
地味だけど基本的な手癖の部分がかなり変わる

39 名前:デフォルトの名無しさん (ワッチョイ 8a94-+QcV) mailto:sage [2016/12/31(土) 00:28:10.96 ID:cfD0mqeo0.net]
Click?.Invoke(this, e) じゃない?
これと文字列の $"" 、それに Task.CompletedTask はほんとよく使う。ちょーべんり

40 名前:デフォルトの名無しさん (ワッチョイ 4613-4A4P) mailto:sage [2016/12/31(土) 01:32:02.81 ID:7MUUz5p00.net]
$””使うとリファクタリングで困らない?



41 名前:デフォルトの名無しさん (ワッチョイ 239d-3vJe) mailto:sage [2016/12/31(土) 01:44:04.47 ID:s0njGzj00.net]
どんなリファクタリングで困ってるの?

42 名前:デフォルトの名無しさん (ワッチョイ f317-4Ie9) mailto:sage [2016/12/31(土) 09:09:11.03 ID:sDFeF81C0.net]
リファクタリングだよ

43 名前:デフォルトの名無しさん (ワッチョイ 9f23-4Ie9) mailto:sage [2016/12/31(土) 10:01:53.51 ID:6EKD+AK20.net]
移植性の問題ならともかく、それをリファクタリングで弄る理由がまるでない

44 名前:デフォルトの名無しさん (ワッチョイ 8b3c-4Ie9) mailto:sage [2016/12/31(土) 14:43:52.07 ID:P87k9vua0.net]
C#の典型入門書って何がありますか?

スッキリわかる〜とか明解〜

みたいに入門編と応用編に分冊シリーズ化してるものってある?

45 名前:デフォルトの名無しさん (ワッチョイ 07dc-CBwx) mailto:sage [2016/12/31(土) 14:46:50.24 ID:u4bGwJtr0.net]
>>39
試したけどリネームにはちゃんと追従するぞ

46 名前:デフォルトの名無しさん (ワッチョイ 4a79-eOuq) mailto:sage [2016/12/31(土) 23:59:20.53 ID:shQSIkq00.net]
今年こそC#にnull安全が搭載される!

47 名前:デフォルトの名無しさん (ワッチョイ a317-weIz) mailto:sage [2017/01/01(日) 00:02:32.19 ID:rBmi6OCp0.net]
>>45
ねーよ

48 名前:デフォルトの名無しさん (ブーイモ MMaa-eQyU) mailto:sage [2017/01/01(日) 00:04:14.81 ID:JRYadV1DM.net]
すいませんC#の質問かどうかははっきりしませんが
dobon.net/vb/dotnet/internet/receivepop3mail.html
ここのソースのままヤフーのフリーメールを全部受信して文字列型配列に格納するコード作ってたんですが
大量のスパムメールに含まれていたのかものすごい勢いでESETがトロイやらウイルス発見の警告を連続でだしたんですが
これってPCはもう危険なのでクリーンインストールしたほうがいいですか?

49 名前:デフォルトの名無しさん (ワッチョイ 4a79-eOuq) mailto:sage [2017/01/01(日) 00:06:06.47 ID:pAjpyWNe0.net]
.NETの根本から見直さなきゃいけなくなるから
null安全は困難すぎるって話だっけ
でも欲しいよう

50 名前:デフォルトの名無しさん (ワッチョイ 3ad4-4Doi) mailto:sage [2017/01/01(日) 00:23:44.22 ID:swtihv5O0.net]
>>47
はい



51 名前:デフォルトの名無しさん (ワッチョイ ea90-4Ie9) [2017/01/01(日) 02:35:00.22 ID:m0DuYp+I0.net]
ずっとVS2010で開発してるけど古い?

特に日常の開発には不自由はしてないんだがなー

52 名前:デフォルトの名無しさん (ワッチョイ d33c-CHTc) mailto:sage [2017/01/01(日) 02:39:09.10 ID:epcIVmQh0.net]
趣味グラマなら十分だと思う
仕事でやってるなら最新環境に慣れといた方がいいけど

53 名前:デフォルトの名無しさん (アウアウオー Sac2-FZ8F) mailto:sage [2017/01/01(日) 02:50:32.77 ID:BJy+zHBJa.net]
逆だと思うよw

職場にもよるが仕事であればこそいやでもエンドユーザーの都合に縛られる。
まだあと2,3年はXPで動くことを前提にしなきゃならん案件が残るだろう。

そうすると必然出来にVSのバージョンはともかく、.NET4.0をターゲットにしなきゃならん

54 名前:デフォルトの名無しさん mailto:sage [2017/01/01(日) 05:44:11.89 ID:V3p5vYeD5]
>>49
変数に格納するだけで感染するんですか?
実行されたものとみなされてるなら遠隔発信みたいな実効するのあったらもしかしてやばいですか?

55 名前:デフォルトの名無しさん (ブーイモ MMaa-llBT) mailto:sage [2017/01/01(日) 05:48:08.29 ID:wDaZYdaJM.net]
>>49
変数に格納しただけで感染するんですか?
もしかして遠隔発信を実効みたいな添付ファイルのがあったらヤバイですか?

56 名前:デフォルトの名無しさん (ワッチョイ a317-weIz) mailto:sage [2017/01/01(日) 08:02:51.25 ID:rBmi6OCp0.net]
>>52
2015だと4.0使えないとでも思ってる?

57 名前:デフォルトの名無しさん (ワッチョイ 4fd6-Sa8B) mailto:sage [2017/01/01(日) 09:25:48.11 ID:rzfsLfEB0.net]
>>55
最終行読めないの?

58 名前:デフォルトの名無しさん (ワッチョイ 4613-4A4P) mailto:sage [2017/01/01(日) 09:59:02.41 ID:k/7gtQH+0.net]
>>55

59 名前:デフォルトの名無しさん (ワッチョイ 3ad4-4Doi) mailto:sage [2017/01/01(日) 10:18:38.48 ID:swtihv5O0.net]
>>54
そのタイプあるね

60 名前:デフォルトの名無しさん (ワッチョイ 9f23-4Ie9) mailto:sage [2017/01/01(日) 10:24:35.02 ID:oYN2j5aa0.net]
>>50
2010からなら、NuGetとGitだけでも2015に乗り換える価値がありますね



61 名前:デフォルトの名無しさん (ワッチョイ 07dc-CBwx) mailto:sage [2017/01/01(日) 11:26:11.41 ID:ls6vqNpI0.net]
趣味なら2015にしない理由がないだろ
CommunityでPro相当の機能がタダで使えるし、
特に重くなるわけでもない、むしろ軽くなる

62 名前:デフォルトの名無しさん (ワッチョイ 06af-mbxx) mailto:sage [2017/01/01(日) 11:45:57.00 ID:F1zcn46Y0.net]
最近2015に乗り換えたけどデバッグ時にアプリが使ってるCPUやらメモリやら出してくれるのが面白いからそれだけで乗り換えた甲斐があった

63 名前:デフォルトの名無しさん (ワッチョイ d33c-4Ie9) mailto:sage [2017/01/01(日) 11:46:49.53 ID:PhxE8icv0.net]
2017ってどうなの?2015なら大丈夫なのに2017でdynamicjsonがなんかエラー吐く(初心者なので意味わからん)

64 名前:デフォルトの名無しさん (ワッチョイ 4fd6-Sa8B) mailto:sage [2017/01/01(日) 11:51:21.41 ID:rzfsLfEB0.net]
初心者がRC使うの最高にCOOL

65 名前:デフォルトの名無しさん (ワッチョイ d33c-4Ie9) mailto:sage [2017/01/01(日) 11:56:26.30 ID:PhxE8icv0.net]
初心者が使ってはダメなやつやったんか…知らんかった

66 名前:デフォルトの名無しさん (ワッチョイ f3bd-evmS) mailto:sage [2017/01/01(日) 13:13:05.67 ID:Ce68Anjj0.net]
>>50
2013から定義に移動じゃなくて定義をその場で見れるのが追加されて便利

67 名前:デフォルトの名無しさん (ワッチョイ 23c0-4Ie9) mailto:sage [2017/01/01(日) 13:18:24.37 ID:y0Ukbj+b0.net]
>>60
2012か13辺りから全体的に軽くなったよな

68 名前:デフォルトの名無しさん (ワッチョイ d33c-CHTc) mailto:sage [2017/01/01(日) 13:42:02.49 ID:epcIVmQh0.net]
>>60
>趣味なら2015にしない理由がないだろ
強いて理由を探すなら、Vista使いの場合とか

まあそろそろサポート切れるから、どの道移行せにゃならん時期だが

69 名前:デフォルトの名無しさん (ワッチョイ ea90-4Ie9) [2017/01/01(日) 22:59:51.99 ID:m0DuYp+I0.net]
VS2010に慣れてもうた。

70 名前:デフォルトの名無しさん (ワッチョイ 07dc-CBwx) mailto:sage [2017/01/01(日) 23:59:56.56 ID:ls6vqNpI0.net]
新しいものを受け入れる気がないなら管理や上流にシフトしていくかコボラー目指した方がいいよマジで
.NETなんかすぐに陳腐化する一時的な道具に過ぎないんだから



71 名前:デフォルトの名無しさん (アウアウカー Sa6b-2y/h) [2017/01/02(月) 00:20:01.62 ID:JJeYWN7Sa.net]
でも.NETって今一番勢いよくない?

72 名前:デフォルトの名無しさん (ワッチョイ 4613-4A4P) mailto:sage [2017/01/02(月) 05:55:51.37 ID:5PZq4XXX0.net]
>>68
2010も2015も共存できるから併用すればいいんだよ
自分のPCには2005から全バージョン入ってる

73 名前:デフォルトの名無しさん (ワッチョイ ffc9-Fh/7) mailto:sage [2017/01/02(月) 07:18:08.38 ID:Izn6zzv10.net]
俺も6.0から全部入れてる
古い環境もメンテしないといけないからな

74 名前:デフォルトの名無しさん (ワッチョイ 23c0-4Ie9) mailto:sage [2017/01/02(月) 10:42:19.74 ID:xTh8FYt20.net]
VSの併用とか2015からFrameworkのバージョンに合わせてターゲット変えるだけでよくね?
ソリューションファイルも最新版に合わせて変換出来るし

75 名前:デフォルトの名無しさん (ワッチョイ 07dc-CBwx) mailto:sage [2017/01/02(月) 11:09:59.92 ID:CPceoiNS0.net]
現実にはそれで問題ないだろうけど、

https://msdn.microsoft.com/ja-jp/library/bb398197.aspx
>フレームワークの対象機能は、開発中のアプリケーションが正しく実行されることを保証するわけではありません。
> 対象のバージョンで実行できるかどうかを確認するために、アプリケーションをテストする必要があります。

というわけで、「もし何かあったら誰が責任取るのか」というジャップらしい停滞思考が問題になってくる
MSは責任取ってくれないので責任取るのはシステム会社か客のどちらか
そういう場合、システム会社は基本的に責任取りたくないので「お客様の責任でVSをアップグレードしますがいいですか?」となる
そして客はもちろん「じゃあやんなくていいよ、うちにメリット無いんでしょ?」となる
その結果、塩漬けの開発環境が増殖する

76 名前:デフォルトの名無しさん (ワントンキン MMfa-BD8y) mailto:sage [2017/01/02(月) 11:10:17.58 ID:GHxiRgy/M.net]
まあアマチュアならそれでいいと思う

77 名前:デフォルトの名無しさん (ワッチョイ 23c0-4Ie9) mailto:sage [2017/01/02(月) 11:24:24.86 ID:xTh8FYt20.net]
>>74
保証出来ないと明記してあるならそりゃ誰も責任取らないわな・・・

78 名前:デフォルトの名無しさん (ワッチョイ 83a1-rkCf) mailto:sage [2017/01/02(月) 11:28:49.04 ID:MrPj4nrh0.net]
お客様がUWPでとお願いすれば喜んでアプグレしてくれる訳ですね

79 名前:デフォルトの名無しさん (ワッチョイ d33c-4Ie9) mailto:sage [2017/01/02(月) 15:35:05.25 ID:Bg6UcTuL0.net]
すいません。
あるAPIでjsonを取得してdynamicjsonを使いました。
{"asks":[[123643,25.0175],[123628,7.645],[123613,0.5675],[123609…
でasksの一つ目とかはasks[0]で値を取れるんですがasksの最後の値を取得したい時はどうしたら良いのでしょう?
asksの中身の数は変動します。
よろしくお願いします。

80 名前:デフォルトの名無しさん (ワッチョイ 07dc-CBwx) mailto:sage [2017/01/02(月) 15:52:55.16 ID:CPceoiNS0.net]
asksをdouble[][]とかにキャストできないか?
でも素直にデファクトスタンダードであるJSON.NETを使うのが正解



81 名前:デフォルトの名無しさん (ワッチョイ d33c-4Ie9) mailto:sage [2017/01/02(月) 16:27:54.26 ID:Bg6UcTuL0.net]
>>79
ありがとうございました!
キャストの意味すらググった初心者ですがLengthで簡単にできました!

82 名前:デフォルトの名無しさん (ワッチョイ 8a3c-vnn7) mailto:sage [2017/01/02(月) 17:14:58.41 ID:jbaRYfeA0.net]
>>78
object[] にキャストして要素数を取得すればいいだけかと

83 名前:デフォルトの名無しさん (ワッチョイ d33c-4Ie9) mailto:sage [2017/01/02(月) 17:20:41.89 ID:Bg6UcTuL0.net]
はい。キャストしてできました。ありがとうございます。

84 名前:デフォルトの名無しさん (ワッチョイ ea90-4Ie9) [2017/01/02(月) 19:04:14.09 ID:UIwqzKQn0.net]
>>72

VB6.0懐かしいな。

ネイティブアプリで早かったから何気に一番開発効率が良かったと思うのは私だけ?

85 名前:デフォルトの名無しさん (ワッチョイ 0742-XCM5) mailto:sage [2017/01/02(月) 20:20:20.97 ID:Z8V39eee0.net]
6.0って聞いたらVCかなって思うけど
MFCとか大分長期間使われてたイメージ

86 名前:デフォルトの名無しさん (スフッ Sdaa-weIz) mailto:sage [2017/01/02(月) 23:27:18.71 ID:+s3lguXJd.net]
>>74
テストしろって当たり前のこと言ってるだけじゃね?

87 名前:デフォルトの名無しさん (ブーイモ MMaa-Ft01) mailto:sage [2017/01/02(月) 23:38:14.71 ID:mABnUerHM.net]
>>85
その金は誰が出す?
お前が客のシステム担当だとして、VSのバージョン上げるからテストする金出してくれと言われたら社内の偉い人説得して予算取れる?

88 名前:デフォルトの名無しさん (ワッチョイ 83a1-rkCf) mailto:sage [2017/01/02(月) 23:42:56.76 ID:MrPj4nrh0.net]
バージョン上げなかったらテストしなくても良いってコト?

89 名前:デフォルトの名無しさん (ブーイモ MMaa-Ft01) mailto:sage [2017/01/02(月) 23:45:41.89 ID:mABnUerHM.net]
>>87
そりゃ現に運用してるシステムならそうだろ

90 名前:デフォルトの名無しさん (ワッチョイ a317-weIz) mailto:sage [2017/01/03(火) 00:05:29.12 ID:KitL9RZ20.net]
>>86
お前理解してないだろ



91 名前:デフォルトの名無しさん (スフッ Sdaa-weIz) mailto:sage [2017/01/03(火) 00:14:34.44 ID:imuDuf+Kd.net]
>>86
お前開発PCのVisual Studioでビルドしたバイナリをそのまま本番環境に置いてんの?

92 名前:デフォルトの名無しさん (ワッチョイ a317-weIz) mailto:sage [2017/01/03(火) 00:19:29.79 ID:KitL9RZ20.net]
>>56
ターゲットにしなきゃならん

93 名前:デフォルトの名無しさん (ワッチョイ 07dc-CBwx) mailto:sage [2017/01/03(火) 00:27:06.56 ID:VxAvtnd00.net]
>>90
いや、運用開始後の話をしてるんだが
開発途中ならそりゃVSのバージョンなんか勝手に上げたらいいだろ

94 名前:デフォルトの名無しさん (スフッ Sdaa-weIz) mailto:sage [2017/01/03(火) 00:31:17.00 ID:fs192aUgd.net]
>>92
運用開始後も一緒だろ?MSBuildToolVersion指定してMSBuild.exe叩くか、Cakeでも使えば?

95 名前:デフォルトの名無しさん (ワッチョイ 07dc-Ft01) mailto:sage [2017/01/03(火) 00:41:40.92 ID:VxAvtnd00.net]
>>93
知らんがな
俺はテストが必要であるという>>85の前提の下で話をしてる
MSBuild使うことでバイナリ一致が保証できてテストは不要だというんならはっきりそう主張してくれ

96 名前:デフォルトの名無しさん (ワッチョイ ea90-4Ie9) [2017/01/03(火) 00:48:48.55 ID:Q90ptGUV0.net]
まぁ、ぶっちゃけ安定しているシステムがある以上
リスクを冒してまで、VSのバージョンあげてくれ
とはオファーしないだろ。

97 名前:デフォルトの名無しさん (アウアウカー Sa6b-2y/h) [2017/01/03(火) 00:50:09.34 ID:ckbzi1t0a.net]
ん?業務系であれば運用状のverupが必要となればそれなりのメンテナンス費用が発生すんのが普通にじゃないの?
そういうのがビジネスモデルになるんじゃないんだ

98 名前:デフォルトの名無しさん (ワッチョイ 83a1-HB/E) mailto:sage [2017/01/03(火) 01:56:40.80 ID:K9PZ4HA50.net]
新規の案件でバージョン上げない理由は無かったって事で良いんでね

99 名前:デフォルトの名無しさん (スフッ Sdaa-weIz) mailto:sage [2017/01/03(火) 04:24:12.26 ID:ojbYqeVPd.net]
>>94
Cakeはともかく、MSBuild知らないの?IDEは最新に変えても、ビルドの仕組み変えなきゃバイナリ変わらんだろ

100 名前:デフォルトの名無しさん (ワッチョイ 07dc-Ft01) mailto:sage [2017/01/03(火) 08:22:24.41 ID:VxAvtnd00.net]
>>98
だから俺はそんな話はしていないと言っている
Q. テストが必要なら、その金は誰が出すのか?
A. MSBuild使えば?
俺が好意的に意図を汲んでやらなかったらただの頭おかしい子だろこれ
それまで誰一人として、テストの必要性や責任問題が生じる可能性についてそもそもの前提に異を唱えた奴はいない
俺も君の考えは正しいと思うが、だったら噛み付く対象は俺ではないし「テストも責任問題も不要だ」とはっきり書け



101 名前:デフォルトの名無しさん (ワッチョイ 8a3c-vnn7) mailto:sage [2017/01/03(火) 09:52:38.00 ID:hCjfXn+00.net]
>>98
> IDEは最新に変えても、ビルドの仕組み変えなきゃバイナリ変わらんだろ
マイクロソフトが保証してると言うソースよろしく

102 名前:デフォルトの名無しさん (ワッチョイ 83a1-HB/E) mailto:sage [2017/01/03(火) 10:27:22.08 ID:K9PZ4HA50.net]
なんか表現に誤解がある気がする

テストの対象はあくまでもバージョン同士の互換性にあって
本番環境での正常動作なんてそれこそ誰にも保証しようが無いと思うが

103 名前:デフォルトの名無しさん (スプッッ Sdaa-weIz) mailto:sage [2017/01/03(火) 11:04:05.16 ID:o5OZTy9Pd.net]
>>99
テストも責任問題も不要だ

104 名前:デフォルトの名無しさん (スプッッ Sdaa-weIz) mailto:sage [2017/01/03(火) 11:06:05.35 ID:o5OZTy9Pd.net]
>>100
ビルドの仕組みを変えなくてもIDEやエディタによってビルド結果に差が出るソースよろ

105 名前:デフォルトの名無しさん (ワッチョイ 23c0-4Ie9) mailto:sage [2017/01/03(火) 11:08:57.06 ID:UmM78+JY0.net]
VS更新でテストコストが増すとか、そりゃ某プロジェクトが未だにVS2005強制なのも納得ですわ

106 名前:デフォルトの名無しさん (ワッチョイ 8a17-YvgG) mailto:sage [2017/01/03(火) 11:29:00.67 ID:ui2n6vqh0.net]
>IDEは最新に変えても、ビルドの仕組み変えなきゃバイナリ変わらんだろ

こう言ってる相手にソース開示求めて、その返しが変わることのソース提示要求っておかしいだろ。
ただ感情的な押収したいだけなら他にいけ。

107 名前:デフォルトの名無しさん (ドコグロ MMc6-vnn7) mailto:sage [2017/01/03(火) 11:38:39.54 ID:HznlyBynM.net]
>>103
コンパイラを変えずにIDEのバージョンアップする方法よろしく

108 名前:デフォルトの名無しさん (ワッチョイ ea90-4Ie9) [2017/01/03(火) 11:45:00.38 ID:Q90ptGUV0.net]
もうVS2010でええやないか。

109 名前:デフォルトの名無しさん (スプッッ Sd4a-weIz) mailto:sage [2017/01/03(火) 11:45:54.05 ID:K7Dmta0Wd.net]
>>106
>>93

110 名前:デフォルトの名無しさん (ワッチョイ 8a3c-vnn7) mailto:sage [2017/01/03(火) 12:10:16.51 ID:hCjfXn+00.net]
>>108
マジで言ってるならかなりヤバイぞ
サービスパック当てるだけでも生成されるバイナリ変わったりするのに...



111 名前:デフォルトの名無しさん (ワッチョイ 0a7b-vAWO) mailto:sage [2017/01/03(火) 13:00:40.60 ID:9MECLtGX0.net]
コンパイラのバージョンアップに伴う破壊的変更って、そんなに多いの?
サービスパックでバイナリ変わって何の問題があるの?

112 名前:デフォルトの名無しさん (ワッチョイ d33c-weIz) mailto:sage [2017/01/03(火) 13:11:51.57 ID:xooqIixo0.net]
>>109
Window Updateするたびにテストし直してるの?

113 名前:デフォルトの名無しさん (スプッッ Sd4a-weIz) mailto:sage [2017/01/03(火) 13:14:49.12 ID:zguhP+0Gd.net]
>>109
たとえばどのサービスパック?

114 名前:デフォルトの名無しさん (スフッ Sdaa-smXe) mailto:sage [2017/01/03(火) 17:50:15.96 ID ]
[ここ壊れてます]

115 名前::neLiV4/Td.net mailto: 3.5が出たときは確かにKB当てるたびにバイナリ変わったな。
あれはやばかった。MS来てもらった。
まぁ、開発環境変えるだけでバイナリ替わるのはたまにある気がする。
デフォルトオプション変わったり。
[]
[ここ壊れてます]

116 名前:デフォルトの名無しさん (ワッチョイ 0ece-N5TX) mailto:sage [2017/01/03(火) 17:59:18.98 ID:NG8bRimt0.net]
別環境でリビルドするってことは全テストやり直しだと思うけどな
exeのCRCが違うだけで大騒ぎだよ

117 名前:デフォルトの名無しさん (ワッチョイ d33c-weIz) mailto:sage [2017/01/03(火) 19:22:46.72 ID:xooqIixo0.net]
>>114
別環境って具体的に言うと何が違う環境のこと?

118 名前:デフォルトの名無しさん (ワントンキン MMfa-BD8y) mailto:sage [2017/01/03(火) 19:24:17.81 ID:z13mJHntM.net]
自動テスト走らせて終わり

119 名前:デフォルトの名無しさん (スプッッ Sd4a-weIz) mailto:sage [2017/01/03(火) 19:24:37.24 ID:WXd1abP3d.net]
>>113
開発環境じゃなくてビルド方式の話だろ

120 名前:デフォルトの名無しさん (ワッチョイ 3b3c-vAWO) mailto:sage [2017/01/03(火) 19:58:20.04 ID:KCsiqS050.net]
サービスパックでバイナリ変わってどんな問題が出るのか早く答えてくれよ



121 名前:デフォルトの名無しさん (ワッチョイ ffbb-Sa8B) mailto:sage [2017/01/03(火) 20:35:18.51 ID:f2h7dQbm0.net]
まずOSのSPかVSのSPか。

122 名前:デフォルトの名無しさん (アウアウイー Sae3-smXe) mailto:sage [2017/01/03(火) 20:55:23.92 ID:kvTQlyIsa.net]
>>118
IL的に、スレッド絡みのコードの実行順序が変わるのがあった。
ヤバかった。
あとUIスレッドをinvokeしてるのに一向に上がってこないのでMSに電話して教えてもらった回避コードが、KB当てると仇になってすごく大変な思いをした。

具体的にどのKBかはさすがにもう十年近く前の話だから出てこないけど。

123 名前:デフォルトの名無しさん (ワッチョイ ffbb-Sa8B) mailto:sage [2017/01/03(火) 21:00:43.94 ID:f2h7dQbm0.net]
Vista以降はバージョン管理方法変わったから
古いのでビルドしたらUpdateしてもちゃんと古いライブラリが呼ばれるだろう。

124 名前:デフォルトの名無しさん (ワッチョイ d33c-weIz) mailto:sage [2017/01/03(火) 21:04:39.45 ID:xooqIixo0.net]
>>120
>>119

125 名前:デフォルトの名無しさん (オッペケ Sra3-VMLW) mailto:sage [2017/01/03(火) 21:09:05.75 ID:jisG0r0rr.net]
>>120
>ヤバかった
環境に依存して挙動が変わる糞コード書いてるお前がな

126 名前:デフォルトの名無しさん (ワッチョイ ffbb-Sa8B) mailto:sage [2017/01/03(火) 21:22:49.13 ID:f2h7dQbm0.net]
それは無理。Javaで証明されたろ。

127 名前:デフォルトの名無しさん (アウアウイー Sae3-smXe) mailto:sage [2017/01/03(火) 22:14:44.80 ID:kvTQlyIsa.net]
>>123
環境に依存して挙動が変わると言ってもなぁ。
ILでまず結構違うコードになってたから。
そうじゃないとMS呼ばないし…。
うちが発端で出たKBも結構あるよ。
歴史を知らん奴なら仕方ない話だけど。

128 名前:デフォルトの名無しさん (オッペケ Sra3-VMLW) mailto:sage [2017/01/03(火) 22:29:02.82 ID:UBgfjyMnr.net]
>>125
ILが違うとかどうでもよくて、そのILは言語仕様に違反してなかったんだろ?
自分のアホさがKBになったのを自慢されても

129 名前:デフォルトの名無しさん (アウアウオー Sac2-FZ8F) mailto:sage [2017/01/03(火) 22:29:56.08 ID:HUUvcaepa.net]
>>125
トンチキなこと言ってる奴相手にしなくていいのに

130 名前:デフォルトの名無しさん (アウアウイー Sae3-smXe) mailto:sage [2017/01/03(火) 22:40:51.48 ID:kvTQlyIsa.net]
>>126
言語仕様と言うか、まぁ違反はしてないよ。
違反はしてないけど間違ってたよ。
交通違反はしてないけどそもそも道間違って袋小路をぐるぐる回る田舎者みたいになってた。
ILがどうでも良いわけ無いじゃん…。



131 名前:デフォルトの名無しさん (アウアウイー Sae3-smXe) mailto:sage [2017/01/03(火) 22:41:32.14 ID:kvTQlyIsa.net]
>>122
あ、見逃してた。.net FWのKB。

132 名前:デフォルトの名無しさん (スプッッ Sdaa-weIz) mailto:sage [2017/01/03(火) 22:48:21.94 ID:iTpzNjFbd.net]
>>129
つまりVisual Studioはアップグレードしても問題ないと

133 名前:デフォルトの名無しさん (ワッチョイ d33c-weIz) mailto:sage [2017/01/03(火) 22:50:46.15 ID:xooqIixo0.net]
>>129
スレッドいじろうとして失敗する典型的な糞コードかよ

134 名前:デフォルトの名無しさん (アウアウイー Sae3-smXe) mailto:sage [2017/01/03(火) 23:09:45.58 ID:kvTQlyIsa.net]
>>130
確実とは言えんけど、コンパイラのバージョンが上がらないなら大丈夫な気はするな。
あと、環境変数周り。

>>131
お前はもうすこし考えて喋れ。

135 名前:デフォルトの名無しさん (ワッチョイ 83a1-HB/E) mailto:sage [2017/01/03(火) 23:09:56.26 ID:K9PZ4HA50.net]
単純に仕様に無い実装上の実行順序に依存してたって話やないんか

136 名前:デフォルトの名無しさん (アウアウイー Sae3-smXe) mailto:sage [2017/01/03(火) 23:13:58.63 ID:kvTQlyIsa.net]
>>133
せやないで、本来は実行順序的にはコンテキストが切り替わるべきシーンで切り替わらん現象があって、GetMessageしてTranslateMessageしてDispatchMessageしないとデッドロックするとか、
そういう類のやつ。

137 名前:デフォルトの名無しさん (ワッチョイ 83a1-HB/E) mailto:sage [2017/01/03(火) 23:14:21.26 ID:K9PZ4HA50.net]
GC/DOMが実装されてからが本番なので
しばしお待ちをって感じだね

138 名前:デフォルトの名無しさん (ワッチョイ 83a1-HB/E) mailto:sage [2017/01/03(火) 23:14:50.64 ID:K9PZ4HA50.net]
>>135
誤爆

139 名前:デフォルトの名無しさん (ワンミングク MMfa-BD8y) mailto:sage [2017/01/03(火) 23:18:14.10 ID:7mNkwS/NM.net]
バグの詳細を書かないと判断が付かないな
本当にバグだったのか
APIの誤用をバグと言い張っているだけなのか
GUIだと特に仕様の誤認は多いからな

140 名前:デフォルトの名無しさん (アウアウイー Sae3-smXe) mailto:sage [2017/01/03(火) 23:21:24.02 ID:kvTQlyIsa.net]
>>137
何を疑ってるかわからんが、MSの人来てもらって、回避コードを提供してもらって、結果その後KB出たんだから、少なくとも不具合はあったのかと。
あれほどMSと繋がり強い会社で助かったことは無かったわ。



141 名前:デフォルトの名無しさん (ワッチョイ ffbb-Sa8B) mailto:sage [2017/01/03(火) 23:23:57.34 ID:f2h7dQbm0.net]
MSのサポートは当たり外れがあるがまとも。最悪なのはオラクル。

142 名前:デフォルトの名無しさん (アウアウイー Sae3-smXe) mailto:sage [2017/01/03(火) 23:26:52.81 ID:kvTQlyIsa.net]
仕様の誤認とかごちゃごちゃ言ってるやつは、.net FW 2.0から3.5の時のあの歩く場所すべてが地雷原みたいなあの状態を知らんのだろうな。
>>139
当たり引いたら、
「契約上、成果物は作れませんが、凄く良くできたサンプルは提供できます。凄く良く出来たサンプルは

143 名前:サンプルなので修正してくださいね、コピーライトとか」
なんて便利な人来てくれるからな。
高いけど。
[]
[ここ壊れてます]

144 名前:デフォルトの名無しさん (ワッチョイ 9f23-4Ie9) mailto:sage [2017/01/03(火) 23:27:44.88 ID:0AbGJStf0.net]
ほぼ内部でしか使われていないCのクロスコンパイラで、do whileの論理が逆という酷いバグが有って
先輩がソレに合わせて逆に書いたんだが、普通にコンパイラ直されてパニクったこと遭ったな

145 名前:デフォルトの名無しさん (オッペケ Sra3-VMLW) mailto:sage [2017/01/03(火) 23:31:34.08 ID:yN3oG6Qmr.net]
>>138
お前が「どういうのが仕様で」「どういう動作をした」
からバグだと言い張ってんのか具体的説明すればいいだけ
それが出せなきゃ誤用を疑われるのは必然なのに
そんなこともわからんのか?

146 名前:デフォルトの名無しさん (アウアウイー Sae3-smXe) mailto:sage [2017/01/03(火) 23:37:21.09 ID:kvTQlyIsa.net]
>>142
具体的説明はしたじゃん。
GetMessageしてTranslateMessageしてPostMessageって一言で言えばVB6のDoEventsよ。大体どのシーンかそれだけで理解できると思うけど。

あまりの経験不足やら実力不足でお前がそう思ってんならもうそれでいいよ。
死ぬまで自分の知識や経験より他人の誤用疑っとけ。

前職の10年前のコードなんて俺もあたりはついてても出しようないしな。

147 名前:デフォルトの名無しさん (ワッチョイ ea90-4Ie9) [2017/01/03(火) 23:40:44.20 ID:Q90ptGUV0.net]
前にNRIのバカが
フロントをWindowsアプリで
ロジックを全てPHPで開発してる糞プロジェクトがあったぞ。

当然破綻したけどな。

148 名前:デフォルトの名無しさん (ワッチョイ d33c-weIz) mailto:sage [2017/01/03(火) 23:49:11.58 ID:xooqIixo0.net]
>>132
具体的に

149 名前:デフォルトの名無しさん (ワンミングク MMfa-BD8y) mailto:sage [2017/01/03(火) 23:49:20.32 ID:7mNkwS/NM.net]
根拠となる文書、テスト仕様、テスト結果
少なくともこれぐらいは欲しいよね
GetMessageしてほにゃほにゃ〜でこれが詳細ですキリッって一体どういう会社なんだろ
大きい会社みたいだし不安になってくるわ

150 名前:デフォルトの名無しさん (オッペケ Sra3-VMLW) mailto:sage [2017/01/03(火) 23:51:04.26 ID:yN3oG6Qmr.net]
>>143
ILの実行順序が変わったバグの説明が
>GetMessageしてTranslateMessageしてPostMessage
なのかw
>前職の10年前のコードなんて俺もあたりはついてても出しようないしな
あ…(お察し)



151 名前:デフォルトの名無しさん (ワッチョイ ded4-4Doi) mailto:sage [2017/01/04(水) 00:11:21.80 ID:zmi2V8Wc0.net]
>>146
えっ
まーその




えっ?

152 名前:デフォルトの名無しさん (ワッチョイ 4613-Sa8B) mailto:sage [2017/01/04(水) 01:28:07.64 ID:Cuh89P7C0.net]
PostMessageが失敗するかどうかでメモリの余裕具合をみる話ならば,どこぞでずいぶんと賑わったね

153 名前:デフォルトの名無しさん (ワッチョイ 8a7b-HB/E) mailto:sage [2017/01/04(水) 01:34:13.72 ID:QkHdvWWM0.net]
VSスレでやれ

154 名前:デフォルトの名無しさん (ワッチョイ 8a7b-HB/E) mailto:sage [2017/01/04(水) 01:35:06.24 ID:QkHdvWWM0.net]
おっと誤爆

155 名前:デフォルトの名無しさん (ドコグロ MM16-vnn7) mailto:sage [2017/01/04(水) 07:22:47.02 ID:CCOfH6ODM.net]
>>112
C# は知らんけど C++ は結構変えられてるよ
https://msdn.microsoft.com/library/mt723604(v=vs.140).aspx
まあ規格に違反してるコードに起因するんだけどそれが 0 であることを保証できないしなにが原因だろうと不具合起きたらこっちの責任になるんだから Update 適用したらうちは再確認している

156 名前:デフォルトの名無しさん (ドコグロ MM16-vnn7) mailto:sage [2017/01/04(水) 07:28:30.50 ID:CCOfH6ODM.net]
>>139
だね、特にAPIとか開発ツールのサポートはあっちも同類の人と思ってくれるのか結構真面目に対応してくれる感じ
Oracle はくそ高いのに対応最悪
でもお客さんの手前サポートは外せない...

157 名前:デフォルトの名無しさん (スプッッ Sdaa-weIz) mailto:sage [2017/01/04(水) 07:51:43.73 ID:/ZWNU792d.net]
>>152
C#の話なんだが
ランタイムの更新は気にしないの?

ビルド方式を変えないVisual Studioのアップグレード危険派はどこに行ったんだ…

158 名前:デフォルトの名無しさん (ワッチョイ 0ece-N5TX) mailto:sage [2017/01/04(水) 08:07:01.31 ID:0ISnzSv/0.net]
何も変えなくてもビルドする度にexeのチェックサムって変わるだろ
当然ながらリビジョンも変えるし
そんなもんを運用中に適用するなら本番入れる前にテストやり直して
場合によっては関係部署に再テスト依頼せにゃならんよ
平たく言えば普通のリリース作業と同じ工数、お金が掛かる

159 名前:デフォルトの名無しさん (ドコグロ MM16-vnn7) mailto:sage [2017/01/04(水) 08:22:25.36 ID:CCOfH6ODM.net]
>>154
> C#の話なんだが
C++ で変わってるのに C# なら大丈夫とかお花畑過ぎるんじゃね?
> ランタイムの更新は気にしないの?
なんで気にしないことになってるんだ?

160 名前:デフォルトの名無しさん (スプッッ Sdaa-weIz) mailto:sage [2017/01/04(水) 08:32:41.01 ID:/ZWNU792d.net]
>>156
根拠ねーのかよ
じゃ、ランタイムについてはどうしてんの



161 名前:デフォルトの名無しさん (スプッッ Sdaa-weIz) mailto:sage [2017/01/04(水) 08:34:32.35 ID:/ZWNU792d.net]
>>155
>場合によっては
当たり前だろ
しかしいつからexeの話になったんだ?

162 名前:デフォルトの名無しさん (ワッチョイ 0a7b-vAWO) mailto:sage [2017/01/04(水) 08:38:17.44 ID:oDke8IkR0.net]
どっかのバカが別環境でビルドしたら
exeのCRCが変わって大騒ぎした、って書いたあたりかな

163 名前:デフォルトの名無しさん (ドコグロ MM16-vnn7) mailto:sage [2017/01/04(水) 12:42:50.86 ID:CCOfH6ODM.net]
>>157
お気楽な奴はいいなあ w
> 根拠ねーのかよ
「変化しない」と言う根拠がないから確認するんだよ
> じゃ、ランタイムについてはどうしてんの
ちょいと前からランタイムっていってるけどなんの話だ?

164 名前:デフォルトの名無しさん (ワッチョイ 8a17-YvgG) mailto:sage [2017/01/04(水) 16:37:16.25 ID:zdqZcue50.net]
(これって 97 のバイナリが変わらないって主張から始まってるのに、なんで変わる方にソースを求める展開になってるんだろう?)

165 名前:デフォルトの名無しさん (ワッチョイ 0602-eqBK) mailto:sage [2017/01/04(水) 17:05:39.31 ID:JR/sdM0U0.net]
バイナリが変わろうが変わるまいが、開発環境変えたらどうせ全部テストやり直しだからどうでもいい話題
ほとんどがVS単体で全てが完結してるわけでもないしな

166 名前:デフォルトの名無しさん (アウアウオー Sac2-FZ8F) mailto:sage [2017/01/04(水) 18:12:38.94 ID:Iw3OVxAUa.net]
>>162
個人的にはそれも無駄なコストだと思うけどね。
原発やICBMの制御ソフトでも作ってるのなら話は別だけど
.NETなんて所詮JITなんだからネイティブアプリより実行環境の違いに依存する部分が大きいのに

日本人ってバランス感覚が悪いっていうか、トータルの製品のコスパを考えずに
しょうもないところに過剰品質になる傾向があるよな。

家電なんかそれでやられた部分もあるのにさ。

167 名前:デフォルトの名無しさん (スプッッ Sdaa-weIz) mailto:sage [2017/01/04(水) 18:18:02.15 ID:/ZWNU792d.net]
>>162
ビルド方式は変えない

168 名前:デフォルトの名無しさん (ワンミングク MMfa-BD8y) mailto:sage [2017/01/04(水) 18:25:54.34 ID:geMbjMeoM.net]
開発環境を変えたら自動テスト走らせて終わり
追加のテストは費用など応相談
稀な事例を持ち出してテスト工数を増やそうとする奴は処分

169 名前:デフォルトの名無しさん (ワッチョイ 8a17-YvgG) mailto:sage [2017/01/04(水) 18:54:32.15 ID:zdqZcue50.net]
>>163
お客さんにそう言って納得してもらえれば、だな。

医療系のソフトを触ってたときは、ビルド&インストール用のパッケージを作成する専用の端末を用意してた。
もちろんサーバ?はこちらで用意して、各ソフトのバージョン等々を統一してアップデートは禁止。くらいは普通だったような。

そうかと思えば、新しい PC でカタログに書いてあることをやろうとしたら出来なくてサポートに頼ったら
「そんなの知らん」で返されたこともあるから、作るアプリの種類や性質によるんだろ。
それを自分の環境や感覚で一元的に決めつけようとするからおかしくなる。

170 名前:デフォルトの名無しさん (ワッチョイ 8a17-eJTV) mailto:sage [2017/01/04(水) 19:02:05.37 ID:MZRDhGwM0.net]
お客さんの要望を全面的に受け入れる社長は経営から逃げてる
部下が苦労するだけで自分は楽だから



171 名前:デフォルトの名無しさん (スップ Sd4a-weIz) mailto:sage [2017/01/04(水) 19:09:43.62 ID:oq8Msdznd.net]
>>166
ビルド方式を教えて!

172 名前:デフォルトの名無しさん (ドコグロ MM16-vnn7) mailto:sage [2017/01/04(水) 19:40:51.40 ID:CCOfH6ODM.net]
>>167
別に社長のためにやってる訳じゃないよ
(てかお客さんの要望を社長が知ってるとか零細かよ w)
トラブったら自分が苦労するだけだから
なので Update も事前にテストしてから導入するし >>165 も書いてるような自動テストも活用してる
まあ会社や作るものによって色々違うとは思う

173 名前:デフォルトの名無しさん (ワッチョイ ffbb-Sa8B) mailto:sage [2017/01/04(水) 20:04:33.02 ID:6hrR76Ry0.net]
> お客さんの要望を社長が知ってる

ゲイツのことだな。

174 名前:デフォルトの名無しさん (ワッチョイ 07dc-Ft01) mailto:sage [2017/01/04(水) 23:17:39.13 ID:P9CxkEKM0.net]
そもそも客側にまともなコスト勘定と経営判断ができるなら、大概の案件は出来合いのパッケージ入れたら終わりだからな
それをわざわざアホみたいにコストかけてオーダーメイドしてるんだから客からすれば柔軟な対応()を期待するのは当然

175 名前:デフォルトの名無しさん (ワッチョイ f394-+QcV) mailto:sage [2017/01/04(水) 23:49:33.72 ID:yVktE4ER0.net]
プログラムの売り手と買い手のあれこれはム板じゃなくてマ板でやれと誰かが言ってたみたい

176 名前:デフォルトの名無しさん (ワッチョイ eb46-Eko0) mailto:sage [2017/01/04(水) 23:50:29.77 ID:sLM1aG3B0.net]
すみません、間違えてソフトウェア板のほうに書いてしまったのですが、改めて質問させてください。

みなさんMVCやMVVMといったUIアーキテクチャの知識はどのように勉強しましたか?
ネットの情報をあさっているのですが、いまいちぼんやりとしてどう実装していいのか悩んでいます
なにかよい書籍やサイトがあれば教えていただきたいのですが、よろしくお願いします。
Windows Formで開発しています。

177 名前:デフォルトの名無しさん (アウアウオー Saff-fu3N) mailto:sage [2017/01/05(木) 00:32:21.65 ID:e3gR0RPga.net]
Windows FormにMVCもMVVMも適用できないのでは?w

Windows Formにそんな大げさな思想はいらないでしょ。
単にモデルに相当する部分のコードをFormに書かなきゃそれで十分だし、
それは余程筋が悪い人じゃなきゃ誰が書いても普通は自然とそうなる

178 名前:デフォルトの名無しさん (ワッチョイ 5b3c-XGsk) mailto:sage [2017/01/05(木) 00:48:38.63 ID:heQK3sW60.net]
MVCはともかく、MVVMは関係ねーな…w

179 名前:デフォルトの名無しさん (ワッチョイ 0bdc-60SX) mailto:sage [2017/01/05(木) 00:53:49.13 ID:xL0iNOQ30.net]
本来のMVCは昔のSmalltalkの制約から生まれたもので、そのまま他のプラットフォームに適用できるものではない
WinFormsの場合、VとCを分ける意味はない
Mを分離するだけなら、いわゆる「ビューとロジックの分離」ってやつで特に悩むことはないと思う

180 名前:デフォルトの名無しさん (ワッチョイ 2bbb-HvS5) mailto:sage [2017/01/05(木) 01:17:34.27 ID:5IyfMoci0.net]
MVCとMVVMを三行で説明してくれ。



181 名前:デフォルトの名無しさん (ワッチョイ 5b3c-XGsk) mailto:sage [2017/01/05(木) 01:22:16.28 ID:heQK3sW60.net]
M M
V V
C VM

182 名前:デフォルトの名無しさん (アウアウイー Sa3f-WHJN) mailto:sage [2017/01/05(木) 01:52:00.35 ID:yCqown6ia.net]
>>166
具体的に、とか叩かれてた俺も医療。
若い人は知らんのだろう。

183 名前:デフォルトの名無しさん (ワッチョイ 4fcb-626o) mailto:sage [2017/01/05(木) 01:54:24.81 ID:OcKsuL+R0.net]
>>173
雑誌やソフトの提灯だからなぁ
そもそも画面と内部なんて切れないのに切っていいことって何かある?
ってところからぶっちゃけ説明できる奴なんかいないから
現場に合わせてテキトーにやっとけばって思う

184 名前:デフォルトの名無しさん (ドコグロ MMff-JQu6) mailto:sage [2017/01/05(木) 08:18:11.90 ID:IruuUmglM.net]
>>179
若いとかは関係ないでしょ
単にやってる仕事によるってだけのことかと
信頼性よりリリース時期が優先な業種もあるし

185 名前:デフォルトの名無しさん (スプッッ Sdff-bDM2) mailto:sage [2017/01/05(木) 08:22:52.46 ID:PsU3CkNVd.net]
>>181
そもそもMSBuild叩いてビルドすらできないやつらもいるだろね

186 名前:デフォルトの名無しさん (スププ Sdff-WHJN) mailto:sage [2017/01/05(木) 08:33:50.14 ID:BBOrCYHKd.net]
>>181
同年代にそこそこの規模のプロジェクトやってたらあのへん一連のトラブルほとんどの人が

187 名前:MSにキレた事件だと思ってたわ。 []
[ここ壊れてます]

188 名前:デフォルトの名無しさん (アウアウエー Saff-7WTe) mailto:sage [2017/01/05(木) 13:18:03.10 ID:WnmYFKGaa.net]
オリジナルのMVCからMVVM(のひとつ手前のPresentation Modelパターン)までの流れを
ざっくりと知りたい人にはこちらのスライド6〜23がおすすめ

あの日見たMVCを僕たちはまた知らない for RoR
www.slideshare.net/shinnosukekugimiya/mvc-for-ror/6

189 名前:デフォルトの名無しさん (ワンミングク MMff-+flj) mailto:sage [2017/01/05(木) 20:37:30.07 ID:STssXerHM.net]
この業界ってめちゃくちゃ幅が広いのになんで自分の携わる領域が絶対の常識みたいな視野の狭い人が多いのか

190 名前:デフォルトの名無しさん (ワッチョイ 2bbb-HvS5) mailto:sage [2017/01/05(木) 21:13:27.12 ID:5IyfMoci0.net]
大海を知る蛙はいないって諺があってな。



191 名前:デフォルトの名無しさん (スップ Sdff-YkAD) mailto:sage [2017/01/05(木) 21:19:56.05 ID:hTR7neYkd.net]
自動テスト走らせて終わりって話多くてすごいなぁってのと良いなぁってのをいつも思う

192 名前:デフォルトの名無しさん (ワッチョイ fb46-IbiL) mailto:sage [2017/01/05(木) 21:37:50.19 ID:rW/6GZ2i0.net]
172です。皆さんありがとうございます。
無理に適用しようと思わないほうがいいんですかね。
まずは皆さんが言うようにロジックの分離を意識してみます。

>>184
ありがとうございます。ちょっと見てみます。

193 名前:デフォルトの名無しさん (ワッチョイ 4fcb-626o) mailto:sage [2017/01/05(木) 22:00:20.10 ID:OcKsuL+R0.net]
>>185
その言葉が自分には当てはまらないと思ってるやつばっかりだからさ

194 名前:デフォルトの名無しさん (スフッ Sdff-2e51) mailto:sage [2017/01/05(木) 23:04:36.88 ID:QOSLe2yYd.net]
>>187
GUIなら自動テストだけで済ますなんて不可能だもんな

195 名前:デフォルトの名無しさん (ワッチョイ 5f90-pn3f) [2017/01/05(木) 23:11:41.74 ID:EwRsaOli0.net]
テストテストいってるやつは
テストエンジニアとなのるコーダー以下

196 名前:デフォルトの名無しさん (ワッチョイ 2bbb-HvS5) mailto:sage [2017/01/06(金) 01:09:53.85 ID:in81s7xm0.net]
>>191
ここまでのクズはなかなかいない。

197 名前:デフォルトの名無しさん (ワッチョイ 5f90-pn3f) [2017/01/06(金) 01:29:37.38 ID:WSjKfiqE0.net]
テストエンジニアと名乗るあほ会社がいたなー。

奴ら恥ずかしくねーのかね。開発できないからテストしてるだけなのに。

198 名前:デフォルトの名無しさん (ワッチョイ 5b3c-bDM2) mailto:sage [2017/01/06(金) 02:04:56.09 ID:b3HzQEm20.net]
>>190
>GUIなら
それはちと違う。

199 名前:デフォルトの名無しさん (ワッチョイ 6f13-2e51) mailto:sage [2017/01/06(金) 02:57:19.46 ID:cmLDW6hw0.net]
>>194
GUIを全部自動テストで済ませてるの?

200 名前:デフォルトの名無しさん (アウアウイー Sa3f-WHJN) mailto:sage [2017/01/06(金) 02:58:26.63 ID:GdJpzA35a.net]
テスト屋バカにするとは、なかなか中小の発想だなあ。



201 名前:デフォルトの名無しさん (ワッチョイ df17-51vH) mailto:sage [2017/01/06(金) 03:14:17.58 ID:I3Occ/9i0.net]
お前等の頭にここのスレタイを入力して応答を確認するテストをしてみてくれないか。

202 名前:デフォルトの名無しさん (ワッチョイ df30-QVlo) mailto:sage [2017/01/06(金) 05:45:23.72 ID:Zbbenqpe0.net]
人類初心者ならこんなもんだろ

203 名前:デフォルトの名無しさん (ワッチョイ 5b3c-bDM2) mailto:sage [2017/01/06(金) 06:15:51.87 ID:b3HzQEm20.net]
>>195
全部自動化できない理由はGUIだからではないだろ

204 名前:デフォルトの名無しさん (スフッ Sdff-2e51) mailto:sage [2017/01/06(金) 09:23:52.69 ID:zpqqPJuXd.net]
>>199
全部自動テスト化できないのは必ずGUIであるなんて一言も言ってませんが

205 名前:デフォルトの名無しさん (ワッチョイ df17-51vH) mailto:sage [2017/01/06(金) 11:09:41.00 ID:I3Occ/9i0.net]
見事にバグってるようだな。 < 頭

206 名前:デフォルトの名無しさん (スップ Sdff-bDM2) mailto:sage [2017/01/06(金) 12:10:35.65 ID:YJ4SgLJvd.net]
>>200
必要条件と十分条件でググってこいwww

207 名前:デフォルトの名無しさん (ワッチョイ bb63-QVlo) mailto:sage [2017/01/06(金) 12:38:38.84 ID:k+rThWmR0.net]
ググるより義務教育受けてこい

208 名前:デフォルトの名無しさん (スフッ Sdff-2e51) mailto:sage [2017/01/06(金) 13:23:06.57 ID:zpqqPJuXd.net]
しょうもな

209 名前:デフォルトの名無しさん (ワッチョイ 5f90-pn3f) [2017/01/09(月) 21:30:23.78 ID:I4EKGEh90.net]
PHP スレッドが死んでいたのでここで質問させて頂戴


echo mb_detect_encoding($asins[0][0], "JIS,SJIS,eucjp-win,sjis-win,UTF-8");

PHPで文字列の文字コードを判別する場合、
この様に引数に予め複数の文字コードを列挙する必要があるのでしょうか?

感覚的には、mb_detect_encoding関数の引数に
調査対象の文字列を入れれば、自動で文字コードが検出されるものかと思っておりました。

210 名前:デフォルトの名無しさん (ワッチョイ 5b3c-bDM2) mailto:sage [2017/01/09(月) 21:43:37.92 ID:qNaaD21i0.net]
>>205
スレチ



211 名前:デフォルトの名無しさん (ワッチョイ df17-51vH) mailto:sage [2017/01/09(月) 22:50:57.27 ID:31i75J/I0.net]
なぜにここで。w
せめてこっちで。

スレ立てるまでもない質問はここで 145匹目©2ch.net
echo.2ch.net/test/read.cgi/tech/1483755167/

212 名前:デフォルトの名無しさん (ワッチョイ 0bba-KSNS) mailto:sage [2017/01/10(火) 03:55:42.79 ID:ZxwznXIF0.net]
つか板違いじゃね
phpはwebprogだろ?

213 名前:デフォルトの名無しさん (ワッチョイ 5b3c-bDM2) mailto:sage [2017/01/10(火) 07:27:16.02 ID:x8VqU/Jr0.net]
>>208
あそこ息してなくね?

214 名前:デフォルトの名無しさん (オッペケ Sr3f-LKdv) mailto:sage [2017/01/10(火) 10:47:15.57 ID:y5nNWUlVr.net]
phpスレ死んでないじゃん
【PHP】下らねぇ質問はここに書き込みやがれ 7 [無断転載禁止]©2ch.net
echo.2ch.net/test/read.cgi/tech/1478657006/

215 名前:デフォルトの名無しさん (ワッチョイ 6b87-IbiL) [2017/01/10(火) 16:37:08.82 ID:VMz618Ma0.net]
DataGridViewのスクロールで質問させてください。
マウスホイールを1段階回すと、3行スクロールするのですが、
沢山スクロールさせたくて大きく回転させたときに、
3行ずつのスクロールがだらだら継続してスクロールするような
動作になってしまいます。

エクセルのスクロールみたいに、大きく回転させたときは、
短時間でまとめて何行もスクロールするようにさせるには、
どのようにすれば良いでしょうか。

216 名前:デフォルトの名無しさん (ワッチョイ 4fce-O2rp) mailto:sage [2017/01/11(水) 03:14:29.19 ID:rLEOP1iX0.net]
WM_MOUSEWHEEL

217 名前:デフォルトの名無しさん (ワッチョイ 67c0-q48i) mailto:sage [2017/01/12(木) 01:10:29.42 ID:1UPTCkNR0.net]
年末年始のバージョン談義を他人事だと笑ってたら、VS2005&2.0縛りの改修案件が来たでござる・・・
linqって便利だったんだな

218 名前:デフォルトの名無しさん (ワンミングク MMe2-kkJw) mailto:sage [2017/01/12(木) 01:36:15.87 ID:jfwpinV9M.net]
同じ状況でジェネリック型推測が弱くて困ったな
ジェネリックメソッドに匿名デリゲートがうまく渡せないんだわ
これのせいでLINQの再現ができなかった

219 名前:デフォルトの名無しさん (ワッチョイ 573c-Fvni) mailto:sage [2017/01/12(木) 01:51:54.01 ID:qhQd7W/g0.net]
>>213
バージョンにこだわってたやつは、結局最後までビルド方式を具体的に説明できなかったよな

220 名前:デフォルトの名無しさん (スップ Sdf2-Fvni) mailto:sage [2017/01/12(木) 02:01:35.67 ID:5xl7vtsqd.net]
大方ビルドスクリプトすら書いたことなかったんだろ



221 名前:デフォルトの名無しさん (ワッチョイ d3bb-dHfL) mailto:sage [2017/01/12(木) 02:33:46.24 ID:arip6tnc0.net]
Linqは糞やで。

222 名前:デフォルトの名無しさん (ワッチョイ 26cb-TTK6) mailto:sage [2017/01/12(木) 05:22:30.14 ID:Rz+H5K5o0.net]
>>217
よくわかってるじゃん

223 名前:デフォルトの名無しさん (ワッチョイ c387-YL17) [2017/01/12(木) 11:28:08.09 ID:sl7x1gs80.net]
>>212
>>211ですが、ありがとうございます。
そのプロパティを確認してみます。

224 名前:デフォルトの名無しさん (ワンミングク MMe2-kkJw) mailto:sage [2017/01/12(木) 20:13:55.19 ID:wTRJIMgPM.net]
Linqは最高だろ
もうループなんて書きたくない

225 名前:デフォルトの名無しさん (オッペケ Sr37-tin3) mailto:sage [2017/01/12(木) 20:24:43.40 ID:pcmVyHykr.net]
インストーラーはツール使うけどアップデータは自分で作るの?

226 名前:デフォルトの名無しさん (ワッチョイ c387-YL17) [2017/01/12(木) 21:31:14.23 ID:sl7x1gs80.net]
210、218ですが、まさにやりたいことがこのページに掲載されていました。
point56.blogspot.jp/2013/11/cdatagridview.html
ですが、このページで書かれている派生クラスの使い方が全くわかりません・・・。

いろいろ派生クラスについて説明されているページを見たのですが、
理解できないで困っています。

どのようにすれば(イベント登録すれば)、DataGridViewのマウスホイールイベントをこのクラスで拾うことができるのでしょうか。

227 名前:デフォルトの名無しさん (ワッチョイ f65e-q48i) mailto:sage [2017/01/12(木) 21:36:29.73 ID:PgQtmrLv0.net]
>>222
そのコードを追加するとDataGridViewExという新しいコントロールが追加されるからデザイナから設定する

228 名前:デフォルトの名無しさん (ワッチョイ c387-YL17) [2017/01/13(金) 09:09:29.07 ID:8SyQt6YV0.net]
>>223
ありがとうございます!
新しいコントロールを作るイメージなんですね。
既存のコントロールのイベントに割り込ませてデータを操作するものかと思ってました。

229 名前:デフォルトの名無しさん (ワッチョイ bb42-o2zU) mailto:sage [2017/01/13(金) 15:34:39.80 ID:djneXx1M0.net]
>>224
継承ってのはそういうこと
既存のクラスを継承して何かを付け加える

230 名前:デフォルトの名無しさん (ワッチョイ c387-YL17) [2017/01/13(金) 19:03:27.21 ID:8SyQt6YV0.net]
>>225
解説ありがとうございます。
また一つためになりました。



231 名前:デフォルトの名無しさん (ワンミングク MMe2-kkJw) mailto:sage [2017/01/13(金) 19:26:27.17 ID:wiy2qrIvM.net]
どうしても多重継承したい
多重継承しないと人質が殺される
そんな時はどうすればいいですか?

232 名前:デフォルトの名無しさん (ワッチョイ 573c-9HYG) mailto:sage [2017/01/13(金) 19:30:04.78 ID:HmhyNPER0.net]
人質を犠牲にしろ

233 名前:デフォルトの名無しさん (ワッチョイ f69d-dHfL) mailto:sage [2017/01/14(土) 00:14:13.97 ID:exppjyX70.net]
正解

234 名前:デフォルトの名無しさん (ワッチョイ d3bb-dHfL) mailto:sage [2017/01/14(土) 05:16:19.52 ID:CFNCXkHH0.net]
C++にする。

235 名前:デフォルトの名無しさん (オッペケ Sr37-BaOC) mailto:sage [2017/01/14(土) 18:54:20.81 ID:JH3WL89Lr.net]
>>227
interfaceにして委譲コードを書きまくる

236 名前:デフォルトの名無しさん (ワッチョイ d3bb-dHfL) mailto:sage [2017/01/16(月) 06:25:25.99 ID:x3SkEOMR0.net]
委譲コードってなんですか。

237 名前:デフォルトの名無しさん (ワッチョイ f717-q48i) mailto:sage [2017/01/16(月) 23:34:39.66 ID:eY5lFpG80.net]
処理を委譲するので移譲(デリゲート)と呼ばれます

238 名前:デフォルトの名無しさん (ワッチョイ d3bb-dHfL) mailto:sage [2017/01/17(火) 06:40:12.79 ID:cbxfPpyL0.net]
関数ポインタのことか。

239 名前:デフォルトの名無しさん (ワッチョイ 7e23-q48i) mailto:sage [2017/01/17(火) 09:35:08.34 ID:ku+L5HXP0.net]
移譲コードは謎だが、継承に対する移譲ってことで、クラスのフィールドにクラスのインスタンスを生成して利用する形態のことかと
移譲コードってのは、その内部に有るクラスへのアクセス手段のコードってことかな?

240 名前:デフォルトの名無しさん (ワッチョイ 924c-nun4) mailto:sage [2017/01/17(火) 11:24:04.19 ID:PBcgESW70.net]
関数ポインタってか、処理を動かす箱みたいな感覚



241 名前:デフォルトの名無しさん (ワッチョイ 7e23-q48i) mailto:sage [2017/01/17(火) 13:32:23.97 ID:ku+L5HXP0.net]
>>236
いや、オブジェクト指向にはC#のデリゲートとは違う移譲という概念が有って、継承と似て非なるテクニックとして屡々使われる
https://ja.wikipedia.org/wiki/%E5%A7%94%E8%AD%B2

C#のはこっち
https://ja.wikipedia.org/wiki/%E3%83%87%E3%83%AA%E3%82%B2%E3%83%BC%E3%83%88_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0)

242 名前:デフォルトの名無しさん (オッペケ Sr37-BaOC) mailto:sage [2017/01/17(火) 17:49:23.15 ID:KIp0gGYMr.net]
interface IX f1, f2, f3,...fn
interface IY g1, g2, g3,...gn

class A : IX, IY {
XImp x;

f1(){}
f2(){}
...
fn(){}

g1() => x.g1();
g2() => x.g2();
...
gn() => x.g3();
}

なんちゃて多重継承w

243 名前:デフォルトの名無しさん (アウアウカー Sa5f-tnb3) [2017/01/18(水) 20:02:35.80 ID:XUepeqxVa.net]
お勉強でASP.NETかじりだしたらソースコード自動で吐くのはいいが、フレームワークのお作法ばっかでプログラミングの練習にならんのね
スタンドアロンアプリにネット接続みたいなことやったほうがプログラミングのスキルはつくのかね?

244 名前:デフォルトの名無しさん (ブーイモ MM8b-7fB1) mailto:sage [2017/01/18(水) 20:05:28.14 ID:m92xtUQhM.net]
MVCの方やれば?
もっと原始的な仕組みだから何やってんのかよくわかるよ

245 名前:デフォルトの名無しさん (ワントンキン MMe2-kkJw) mailto:sage [2017/01/18(水) 20:33:15.95 ID:vXs3og/7M.net]
ASP.NETが自動で吐くコードは正直使えない

246 名前:デフォルトの名無しさん (スップ Sdf2-Fvni) mailto:sage [2017/01/18(水) 20:35:13.00 ID:bBGXUnSyd.net]
>>239
曖昧な言い方されるとわからん
ASP.NET Core触ってその感想なわけ?

247 名前:デフォルトの名無しさん (ワッチョイ bbdc-lDPz) mailto:sage [2017/01/18(水) 22:05:09.42 ID:cw6vafSX0.net]
一口にプログラミングのスキルといっても色々ある
1. 複雑で大規模なロジックをエレガントに設計・実装できる
2. 難解なアルゴリズムを設計・実装できる
3. ハード・ミドルウェア・通信プロトコルなど、インフラを深く理解してプログラムから使いこなせる
ASP.NETで身につきにくく、より薄いWebフレームワークを使うことで身に付くのは3
一般的なアプリケーションエンジニアに求められるのは1
解析とかコンパイラ開発のような特殊分野の専門家は2

248 名前:デフォルトの名無しさん (ワッチョイ 573c-Fvni) mailto:sage [2017/01/18(水) 23:21:54.21 ID:T8mUfMDR0.net]
>>241
具体的には何のコードのことを言ってるの?

249 名前:デフォルトの名無しさん (ワッチョイ f3bb-3qL8) mailto:sage [2017/01/19(木) 07:29:23.09 ID:q3hudiC70.net]
求められてるのは仕様書もない糞コードを読むスキルやで。

250 名前:デフォルトの名無しさん (ワントンキン MM9f-aDhR) mailto:sage [2017/01/19(木) 09:35:58.54 ID:uhfgjGGlM.net]
https://chrome.google.com/webstore/detail/%E3%81%AF%E3%81%A6%E3%81%AAng/mbgdnfmdelffjdhkdggilmphfdihnmcj?hl=ja



251 名前:デフォルトの名無しさん (ワッチョイ 230d-516J) [2017/01/19(木) 15:19:30.98 ID:qAXGwWjx0.net]
文字列からBOMを除去したいのですがどうすればいいですか?
stackoverflowにあった以下のコードを試しましたが、StartsWith()が常にTrueを返して困っています


private readonly string _byteOrderMarkUtf8 = Encoding.UTF8.GetString(Encoding.UTF8.GetPreamble());

if (str.StartsWith(_byteOrderMarkUtf8)) {
str = str.Remove(0, _byteOrderMarkUtf8.Length);
}

252 名前:デフォルトの名無しさん (アウアウウー Sa67-gIHQ) mailto:sage [2017/01/19(木) 15:30:12.33 ID:IRyNom+ra.net]
BOMってのは生のバイナリーレベルの話であって
少なくともC#のstringに含まれるような代物じゃないと思うんだけど

253 名前:デフォルトの名無しさん (ワッチョイ 9319-r4l2) mailto:sage [2017/01/19(木) 15:40:35.80 ID:4wnEpswf0.net]
BOMもUnicode文字の1つU+FEFFだからStringに入れることはできるよ
どっから入れるかは微妙なとこだけど(UTF8Encoding.GetStringは問答無用で消すみたいだし)
で試したけど"\ufeffA"はifに入って消えたし"A"はifに入らなかった

254 名前:デフォルトの名無しさん (ブーイモ MM67-XRLM) mailto:sage [2017/01/19(木) 17:59:08.76 ID:runhsDy0M.net]
シリアル通信プログラムを作成しています。

メインスレッドでコマンド1を送信し、受信内容がAだったらコマンド2を送信するという処理にしています。
受信側(別スレッド?)の処理が終わる前にメイン側が受信内容の判断処理に入ってしまうため、本当に受信内容がAの場合でもコマンド2に移ることができません。
どのように対処すればよいでしょうか。

255 名前:デフォルトの名無しさん (ワッチョイ 7f4c-VYni) mailto:sage [2017/01/19(木) 18:08:11.71 ID:FKV8qOhE0.net]
受信処理の整合性を判断して、受信処理からInvokeで判断処理を呼ぶ

256 名前:デフォルトの名無しさん (ワッチョイ 03c0-SmTw) mailto:sage [2017/01/19(木) 18:10:12.42 ID:HUduSCHL0.net]
>>250
.NET4

257 名前:.0の頃に似たようなことやったけどプロデューサー/コンシューマー パターン使ってBlockingCollection経由で受信スレッドと送信スレッドに分けたわ
今だとSystem.Threading.Tasks.Dataflowでもっとシンプルに出来ると思うけど
[]
[ここ壊れてます]

258 名前:デフォルトの名無しさん (アウアウウー Sa67-gIHQ) mailto:sage [2017/01/19(木) 18:22:53.29 ID:IRyNom+ra.net]
>>250
何を言ってるのかよくわからないけど、ひょっとして、

送信→受信データ解析→送信

この一連の流れを一つのメソッドで完結させようとしてない?
だとしたらたぶんそれが間違ってる。

一連のシーケンスを処理する専用のオブジェクトを用意すればそんな問題は起こらない。

259 名前:デフォルトの名無しさん (オッペケ Sr87-8S/4) mailto:sage [2017/01/19(木) 18:25:27.59 ID:ACsZSSudr.net]
c#を10年やってるのにまだ初心者の域を出ない…

260 名前:デフォルトの名無しさん (ワッチョイ f37b-3qL8) mailto:sage [2017/01/19(木) 18:41:37.78 ID:Ua4qBBzA0.net]
C#だけやってても成長しないと思う
自分が理解できる範囲、自分が分かりやすい範囲でしか書かなくなるから



261 名前:249 (ワッチョイ cfb8-3qL8) mailto:sage [2017/01/19(木) 19:07:45.79 ID:TCIFCzqn0.net]
>>251
ありがとうございます。
デリゲートで処理すればいいのですね。

>>252
ありがとうございます。
知らない単語が出てきたので調べてみます。

>>253
ご指摘の通りです。
送信メソッド:送信1→受信内容別に分岐→送信2
受信メソッド:DataReceivedイベントで受信

262 名前:デフォルトの名無しさん (ワッチョイ 7f4c-VYni) mailto:sage [2017/01/19(木) 22:09:21.74 ID:FKV8qOhE0.net]
昔、VC++でシリアル通信の非同期処理してた事があってさ、それをC#で実現しようとして
SerialPortクラスのDataReceivedイベントと
Threading.TimerクラスのTimerCallbackにAutoResetEventを入れて、
WaitHandle.WaitAnyで待機してた事を思い出した。
いま、納品現場で確認してもらったけど今まで問題が起こってないんだが、
本来、C#のシリアル通信でOVERLAPPEDの非同期処理を実現するには、
やっぱWin32APIをゴリゴリ書かんとダメなん?

263 名前:デフォルトの名無しさん (ワッチョイ 6f02-x7a5) mailto:sage [2017/01/20(金) 02:24:48.66 ID:rKwDbfSd0.net]
シリアルで非同期ってどういうことかわからん
全2重のことを非同期っていってるのか?

264 名前:デフォルトの名無しさん (ドコグロ MM7f-j6UX) mailto:sage [2017/01/20(金) 08:16:43.67 ID:ymDflbNbM.net]
>>258
>>257 はいわゆる非同期I/O とかOverlapped I/Oの話でしょ
コマンド投げといて並行して何らかの処理を行って暇になったらデータ受信するって奴
まあ通常のシリアルドライバは常時受信してバッファーに溜め込んでるからあまり意味ないけど

265 名前:デフォルトの名無しさん (ワッチョイ 7f4c-VYni) mailto:sage [2017/01/20(金) 09:21:01.06 ID:aZ8cT+JU0.net]
ふと気になっただけだ。
ごねんね、スレ汚して

266 名前:デフォルトの名無しさん (ワッチョイ 8fce-HQXh) mailto:sage [2017/01/20(金) 12:29:54.12 ID:JXdqXSkU0.net]
C#脳だとどういう事か判らんのだな
やっぱ知識が偏るよなあ

267 名前:デフォルトの名無しさん (ワッチョイ 6f02-x7a5) mailto:sage [2017/01/20(金) 12:49:05.39 ID:rKwDbfSd0.net]
>>259
それはシリアル通信での話じゃないし。その上の層とアプリ層との間での話だろ
どんな通信してようが、ローカルファイル読んでようが同じ、単なる非同期IOの話だし
まあバッファリングしないシリアル通信相手に非同期IOかけても結局待つしかないけどな

268 名前:デフォルトの名無しさん (アウアウウー Sa67-gIHQ) mailto:sage [2017/01/20(金) 13:16:41.69 ID:98BzuqOpa.net]
>>262
何を言ってるのかなこの人...

269 名前:デフォルトの名無しさん (ドコグロ MM7f-j6UX) mailto:sage [2017/01/20(金) 19:45:39.69 ID:ymDflbNbM.net]
>>257 を読んで全二重とかいっちゃう人なのでお察しってことなんでしょ w

270 名前:デフォルトの名無しさん (ワッチョイ bf85-ZNqe) [2017/01/20(金) 20:39:08.06 ID:BC+BfvLQ0.net]
質問です!
今日からC#を勉強始めました
配列のコピーをしたいのですが
ここのサイトをみると配列サイズに+1しています
string[] newAuthors = new string[authors.Length + 1];
+1せずに
string[] newAuthors = new string[authors.Length];
でいいと思ったのですが私の間違いでしょうか?
www.woodensoldier.info/computer/csharptips/53.htm



271 名前:デフォルトの名無しさん (JP 0H07-SmTw) mailto:sage [2017/01/20(金) 21:07:21.40 ID:05MQpXAxH.net]
やってみればいいんじゃない?

272 名前:デフォルトの名無しさん (ワッチョイ ff17-x7a5) mailto:sage [2017/01/20(金) 21:42:02.36 ID:MJq7L3EO0.net]
何の用途か知らないけど、ひょっとしてタイマーコールバック使ってるとこ見ると
Task.Run( () =>
{
} );
で囲むだけでお気楽マルチスレッドになることを知らないとか?

273 名前:デフォルトの名無しさん (ワッチョイ f3bb-3qL8) mailto:sage [2017/01/20(金) 21:46:16.09 ID:ao0q6onS0.net]
なんというかイラってくるレス

274 名前:デフォルトの名無しさん (ワッチョイ 7fe1-ws0G) mailto:sage [2017/01/21(土) 01:34:13.79 ID:XoO/Nzrc0.net]
>>265
+1は不要だね

275 名前:デフォルトの名無しさん (ワッチョイ 8fcb-YAkb) mailto:sage [2017/01/21(土) 01:34:35.71 ID:O/GZ8TN60.net]
>>267
カッコ内の処理が下に記述された処理より後に実行されるのがお気楽でないね
複数書いたらどれが一番最初に実行されるんだろか?
ってところを実はよくわかって使っていないことが同僚にバレるのも時間の問題なわけだよ

276 名前:デフォルトの名無しさん (ワッチョイ bf85-ZNqe) mailto:sage [2017/01/21(土) 08:30:00.84 ID:7Cy++wUg0.net]
>>269
ありがと〜

277 名前:デフォルトの名無しさん (ワッチョイ 7f4c-VYni) mailto:sage [2017/01/21(土) 11:25:24.95 ID:wJLBUXJS0.net]
>>267
通信プロトコルで、48bit時間以上の無受信で一区切りなんだけど、ドライバーでSerialPortクラスのReadTimeoutプロパティ(SetCommTimeouts関数)に完全対応していないものが多いから、そのタイマーを用意すた。

今だったら、Task.WaitAnyの一つをタイマーにしとけば楽チンだったかもね。


ところで、C#でWin32のWaitbleTimerのような、そのまま待機メソッド(Wait, WaitAll, WaitAny)に対応してるタイマーってあるの?

278 名前:デフォルトの名無しさん (アウアウウー Sa67-gIHQ) mailto:sage [2017/01/21(土) 12:31:23.14 ID:iYYQzwCfa.net]
ドライバレベルで対応するような機能かなそれ。違うような気がするけど。

ドライバって言ってるんだからシリアルUSB変換ブリッジを使ってるんだろうけど、
だとしたらそもそもUSBが間に入ってるために48bit時間なんて概念が無効なだけだと思うけど

279 名前:デフォルトの名無しさん (ワッチョイ ff3c-j6UX) mailto:sage [2017/01/21(土) 13:03:52.44 ID:1cIKmUbZ0.net]
>>273
> ドライバって言ってるんだからシリアルUSB変換ブリッジを使ってるんだろうけど、
あまり知ったかしない方がいいかと...

280 名前:デフォルトの名無しさん (アウアウウー Sa67-gIHQ) mailto:sage [2017/01/21(土) 13:09:00.67 ID:iYYQzwCfa.net]
うんお前がね

普通にPCIやExpressのバスにぶら下がる形のシリアルの拡張ボードで
特別のドライバを必要とするものなんか見たことないよ

OS標準で最初から入ってるんだから



281 名前:デフォルトの名無しさん (ワッチョイ 8fce-HQXh) mailto:sage [2017/01/21(土) 13:41:03.09 ID:oJxw4Shh0.net]
48bit時間が何ミリ秒なのか知らんけど本当なら間にマイコンとかでブリッジかますような案件じゃねえの
PC側で設定したタイムアウトのアバウトさで済む話なのかねえ
業務で使うなら破綻すると思うけど

282 名前:デフォルトの名無しさん (ワッチョイ ff3c-j6UX) mailto:sage [2017/01/21(土) 14:08:54.55 ID:1cIKmUbZ0.net]
>>275
だからいちいち無知晒さんでいいから
www.contec.co.jp/product/device/comdrv/#pci

283 名前:デフォルトの名無しさん (ワッチョイ 7f4c-VYni) mailto:sage [2017/01/21(土) 14:09:01.72 ID:wJLBUXJS0.net]
272、275が近いね。
シリアルTTLのチップがあって、そのドライバーには関数名のプレースホルダーは用意してるがタイムアウトは機能してないって回答をいただいてる。で、プロトコルのルールに従ってタイマーを用意しただけだ。
もちろん、もうこんな仕事は請けんけどな。


ただ、興味で待機メソッド対応のタイマーってC#であるん?ってのが知りたかっただけ。

284 名前:デフォルトの名無しさん (ワッチョイ cf9d-3qL8) mailto:sage [2017/01/21(土) 14:18:24.01 ID:dBVmTL1r0.net]
48bit時間ってのがどのくらいの長さなのか知りたいだけ

285 名前:デフォルトの名無しさん (ワッチョイ ff17-x7a5) mailto:sage [2017/01/21(土) 14:23:49.09 ID:JwMYXArD0.net]
マルチスレッド使いながらある瞬間だけシリアル化したいならそこだけ別関数に切り出して
[MethodImpl( MethodImplOptions.Synchronized )]を付けるとお気楽だよ
(ある電気メーカーが作ったシステムのバグをそれで直したことある)

286 名前:デフォルトの名無しさん (ワッチョイ 7f4c-VYni) mailto:sage [2017/01/21(土) 14:41:37.57 ID:wJLBUXJS0.net]
たしかボーレートの最大が115kだったんで、最短は0.4msecぐらいだったかな…って。
フレーム11ビットで4文字分ぐらい。


で、もうこの話題良いよな?

287 名前:デフォルトの名無しさん (ワッチョイ 13dc-jh1Y) mailto:sage [2017/01/21(土) 14:51:59.06 ID:Poucv/rB0.net]
>>280
それthisをロックするから.NETの推奨作法に反してる
thisのロックは外に漏れるから予期せずクラス外の排他処理と干渉して
パフォーマンスが落ちたりデッドロックしたりする原因になる可能性がある

288 名前:デフォルトの名無しさん (オッペケ Sr87-8S/4) mailto:sage [2017/01/21(土) 18:33:09.25 ID:LuBTyI4Rr.net]
WinFormで画像関連の処理(主に合成)をゴリゴリ書いてたらむちゃくちゃ重くなった
ゲームって1/60秒とかで膨大なレンダリングと合成を繰り返しつつ、AI処理とかアニメ、スキン処理とかやってるんだよな

なんでたかが画像の合成ごときで重くなってゲームだとものすごく速く処理できるのかね?
全然わからん

289 名前:デフォルトの名無しさん (ワッチョイ cf5e-SmTw) mailto:sage [2017/01/21(土) 18:38:02.55 ID:4zEMZhpt0.net]
>>283
GDIに全部やらせたら遅くなるな
合成とかはバイト配列で必要な部分だけやって表示するだけ迄に持っていくとか
DirectXやUnityに画像処理部分やらせるとか
最後はC#じゃなくC++でやるとかw

290 名前:デフォルトの名無しさん (ワッチョイ 33d6-3qL8) mailto:sage [2017/01/21(土) 18:50:02.22 ID:RZU7JwAh0.net]
実装がクソで遅いこともある
文句を言う前にプロファイラとかで調査しような



291 名前:デフォルトの名無しさん (ワントンキン MM9f-Taza) mailto:sage [2017/01/21(土) 19:02:39.13 ID:W/zpHkC+M.net]
プロファイラの使い方よくわからんし

292 名前:デフォルトの名無しさん (ワッチョイ f3bb-3qL8) mailto:sage [2017/01/21(土) 19:13:16.83 ID:0VDH7cX80.net]
C++と違ってC#にはどうやっても超えられない壁があるんだよ。

293 名前:デフォルトの名無しさん (ワッチョイ 9377-8QYx) mailto:sage [2017/01/21(土) 20:19:14.82 ID:g8nBrPXf0.net]
要所をunsafeにすることで相当効果出る場合もあるけどね。

294 名前:デフォルトの名無しさん (ワッチョイ 1342-sQpi) mailto:sage [2017/01/21(土) 20:28:06.61 ID:AZ4jUWLU0.net]
餅は餅屋
あとopenGLね

295 名前:デフォルトの名無しさん (ワッチョイ f3bb-3qL8) mailto:sage [2017/01/21(土) 21:33:09.90 ID:0VDH7cX80.net]
>>288
undafeの突入、脱出のコストが高すぎて、
丸ごとunsafeに入る規模のコードしか高速化できない。

296 名前:デフォルトの名無しさん (ワッチョイ c33c-r8v3) mailto:sage [2017/01/21(土) 22:19:24.72 ID:LzlUxaG40.net]
>>287
まあ目指すところが違うから当然だわな

297 名前:デフォルトの名無しさん (ワッチョイ 13dc-jh1Y) mailto:sage [2017/01/21(土) 22:50:54.76 ID:Poucv/rB0.net]
やってることが同じならC#とC++で速度なんか大して変わらん
少なくともスクリプト言語みたいに数桁遅いってことはないから、
C#で書いたコードそのものがボトルネックになってるときに
そのままC++に書き直したってボトルネックが解消することはまず無い

298 名前:デフォルトの名無しさん (ワッチョイ 83a1-5ScM) mailto:sage [2017/01/21(土) 23:02:05.21 ID:pcFLx4Ty0.net]
越えるも何も基本越えられちゃ困るから壁を作ってる訳で

299 名前:デフォルトの名無しさん (オッペケ Sr87-8S/4) mailto:sage [2017/01/21(土) 23:11:22.69 ID:LuBTyI4Rr.net]
それにしてもGDIでのレンダリングとゲーム用のレンダリング、雲泥の差じゃない?

画像処理はGPUで計算させればぶっ飛びで速くなるの?
あとポインタ紛いを使えばぶっ飛びになる?

300 名前:デフォルトの名無しさん (ワッチョイ 13dc-wwrd) mailto:sage [2017/01/21(土) 23:15:44.15 ID:Poucv/rB0.net]
>>294
GPUを使えば爆速になるのは正しいが、ポインタは要らん
画素にリアルタイムで変換をかけたかったらピクセルシェーダ使え



301 名前:デフォルトの名無しさん (ワッチョイ cf9d-3qL8) mailto:sage [2017/01/21(土) 23:35:53.59 ID:dBVmTL1r0.net]
合成に何に使ってるの?
Graphics.DrawImage()はクッッッッソ遅いよ

302 名前:デフォルトの名無しさん (ワッチョイ cf9d-3qL8) mailto:sage [2017/01/21(土) 23:38:32.57 ID:dBVmTL1r0.net]
×:何に
○:何

303 名前:デフォルトの名無しさん (ワッチョイ ff4a-SmTw) mailto:sage [2017/01/22(日) 00:33:58.14 ID:WHkammw20.net]
GDIは速度求めるなら使い物にならない
業務アプリのコントロールのデザイン弄る程度なら十分使える

3Dゲームの画像処理ならGPU処理一択
っても自力でガリガリ書かなくて済む時代

304 名前:デフォルトの名無しさん (JP 0H07-OQjX) mailto:sage [2017/01/22(日) 01:11:33.09 ID:eCbhYovmH.net]
>なんでたかが画像の合成ごときで重くなって
つーか、具体的にどんな合成やってるか知らないが、画像処理って下手すりゃピクセル単位で
チマチマだし、オレの中では基本的に重たそうなイメージがあるけどなあ

305 名前:デフォルトの名無しさん (ワッチョイ f3bb-3qL8) mailto:sage [2017/01/22(日) 01:19:16.26 ID:H+suNOjg0.net]
>>292
LINQ使うだけで数桁遅い。それが分からない奴はその程度のコードしか書いたことがないということ。
C#、.netの制約上のボトルネックはC++で消し飛ぶ。

306 名前:デフォルトの名無しさん (オッペケ Sr87-Hq25) mailto:sage [2017/01/22(日) 02:21:36.81 ID:bOybKaZ+r.net]
我慢大会その一

307 名前:デフォルトの名無しさん (オッペケ Sr87-8S/4) mailto:sage [2017/01/22(日) 03:39:23.27 ID:EI5AfIBCr.net]
>>295
プログラマじゃないけど前にゲーム業界にいたからピクセルシェーダは使ったことある
使ってみるかな

>>296
それですね
アルファ合成のときだけBitLocker使ってるけど
あとはGraphicsPathとか

>>298
そっち系の本買って勉強しようかな
ゲームプログラマならc++でやれるんだろうなあ
勉強してみたけど俺にはいろいろ無理だった…

308 名前:デフォルトの名無しさん (ワントンキン MM9f-Taza) mailto:sage [2017/01/22(日) 07:39:48.76 ID:4NhSs4FyM.net]
Linq遅いマンまだいたんだ
Linqじゃなくてお前のコードが酷いだけじゃん

309 名前:デフォルトの名無しさん (ブーイモ MM1f-wwrd) mailto:sage [2017/01/22(日) 08:45:32.72 ID:mrTIs+uVM.net]
>>302
Unity使えばいいのに
今時スクラッチで開発なんかしないよ

310 名前:デフォルトの名無しさん (オッペケ Sr87-8S/4) mailto:sage [2017/01/22(日) 10:17:10.34 ID:EI5AfIBCr.net]
>>304
まあそれもアリなのかな…
たしかにGPUで合成できるし
Unityで作った画像編集ソフトかあ



311 名前:デフォルトの名無しさん (ワッチョイ 33d6-3qL8) mailto:sage [2017/01/22(日) 10:45:08.68 ID:kO0RN1SM0.net]
>>303
具体例も挙げられないおじいちゃんだから仕方ないね

312 名前:デフォルトの名無しさん (ワッチョイ ff4a-SmTw) mailto:sage [2017/01/22(日) 10:58:17.59 ID:WHkammw20.net]
Linqもラムダ式も一度使うともう戻れねーよな
EFと合わせたら生産性ぱねぇし

313 名前:デフォルトの名無しさん (ワントンキン MM9f-Taza) mailto:sage [2017/01/22(日) 11:08:50.22 ID:4NhSs4FyM.net]
EFは正直どうかと思うが
パブリックプロパティだらけになって
システムのあっちこっちにビジネスロジックが分散して管理しきれなくなる
そうではなくOOPの良い習慣にしたがってビジネスロジックをクラス化する
クラスインスタンスの永続化方法も合わせてカプセル化して最小限にとどめる
こうしておけばデータアクセス処理に大した工数はかからない
工数削減の夢を見て変なフレームワークに頼って自滅することもなくなる

314 名前:デフォルトの名無しさん (ワッチョイ 13dc-jh1Y) mailto:sage [2017/01/22(日) 11:09:17.59 ID:phG9hQKS0.net]
LINQやラムダ式はメソッドの expression body definitions でかなり使いやすくなった
ちょっと込み入ってて分かりにくいラムダがあったら手軽にメソッドに括り出して名前を付けられる

315 名前:デフォルトの名無しさん (ブーイモ MM1f-wwrd) mailto:sage [2017/01/22(日) 11:19:16.48 ID:mrTIs+uVM.net]
>>308
本来はそのビジネスロジックを実装するときに内部でEFを使うんだよ
所詮シリアライザとクエリビルダにすぎない

316 名前:デフォルトの名無しさん (ワントンキン MM9f-Taza) mailto:sage [2017/01/22(日) 11:28:38.11 ID:4NhSs4FyM.net]
>>310
だからそれをやるとジワジワとトランザクションスクリプト的な実装になっていって管理が追いつかなくなるってこと

317 名前:デフォルトの名無しさん (ワッチョイ ff4a-SmTw) mailto:sage [2017/01/22(日) 11:28:58.51 ID:WHkammw20.net]
Linqが速度を売りにした技術として登場したわけじゃないわけで。
道具の使い方が悪い例を出して、道具に文句出されてもなぁ。
性能が必要なシナリオなら、システム構成、技術やアルゴリズム、言語を使いわけるものですからね。

業務系の話を例にすると。
Linqのループ処理の遅さは、数桁すら許容できるケースが多く、
DB側で絞ってるのでC#側で大量のループをぶん回すような事はしない。
テキストファイルやDB、メモリ相手のデータでもLinqは透過的に処理できるから便利。

Linqは、コレクションに対する生産性の高さが有益なんであって、
単純なループを例にしてLinqが遅いとしか言えないなら、話にならん。

318 名前:デフォルトの名無しさん (ワッチョイ ff30-QGIP) mailto:sage [2017/01/22(日) 11:31:54.78 ID:0QiRTW2m0.net]
馬鹿だから一つしか覚えられない人間に二つ目を覚えろというのは酷ではありませんか?
おそらく高脳様なんでしょうけどド低脳に対する配慮が足りませんよ

319 名前:デフォルトの名無しさん (ワッチョイ ff4a-SmTw) mailto:sage [2017/01/22(日) 11:58:44.67 ID:WHkammw20.net]
>>308
もちろんEFを使うときは、レイヤーをちゃんとわけて、カプセル化する前提ね。
ビジネスロジックも、モデルもサービスも必要に応じてちゃんと分ける。
依存関係の多いDataTableに比べたら、EFはPOCOだから、詰む事は少ないと思う。

ビジネスロジックやトラン処理がどこに来るかは、
サービス層・ドメインモデル・エンティティモデルのどこに入れるか次第だろうね。
ORMやDAC代わりにEF導入する現場なら、余計にね。

管理が追いつくかどうかは、開発の規模と設計、プロジェクト構成次第じゃない?
うちは、1ドメインで作らず適度にドメイン分割してるから複雑さは低減できてるし。
CQRSなパターンで組んだら、さらに管理が楽になった。

工数削減の夢を見る奴は、いつの時代も論外だぬw

320 名前:デフォルトの名無しさん (ワントンキン MM9f-Taza) mailto:sage [2017/01/22(日) 12:18:58.56 ID:4NhSs4FyM.net]
しっかりとレイヤ分割してるならなおさら生ADO.NETでもEFでも大した差はでない
ビジネスレイヤまでEFが染み出してくると最初は便利かなと思うが後になって後悔する
EFは本来privateであるべきプロパティが野晒しになるからロジックの分散を避けられない



321 名前:デフォルトの名無しさん (ワッチョイ a394-GGaX) mailto:sage [2017/01/22(日) 12:28:22.49 ID:opZW6Xxw0.net]
避けられなくないだろ。避けろよ
「染み出す」ってなんだよ。書くべきじゃない場所に書くな。染み出させるな

322 名前:デフォルトの名無しさん (ワントンキン MM9f-Taza) mailto:sage [2017/01/22(日) 12:37:09.50 ID:4NhSs4FyM.net]
そう
書くべきじゃないところには書くな
これを実践するとEFがビジネスレイヤに染み出してくることはない
EFのスコープはデータアクセスレイヤに限定される
しかしそうなると生ADO.NETに対してそこまで大きな優位性は得られなくなる
生ADO.NETを使った場合でも結局のところデータをビジネスロジックのクラスインスタンスにデータをマップして使うのだから

323 名前:デフォルトの名無しさん (ワッチョイ ff4a-SmTw) mailto:sage [2017/01/22(日) 12:45:18.70 ID:WHkammw20.net]
レイヤ分割してるなら大差ないというのは確かにそう。
DataTableはNULL周りが良くないんよね。XMLWebサービス時代にはお世話になったが。

で、染み出してくるのはPOCOなクラスであってEFではないよ。
POCOなクラスをそのまま使ってるから生じる問題。

DataTableのプロパティのスコープ制御に相当する機能が
EFのモデルには無いと思ってるように聞こえるから、その前提で話をすると。
EF6からはnon-publicなフィールドも、シリアル化可能だから制御可能よ。
private/protectedで隠ぺいしつつ、DBに保存とかも出来る。
6以前でもやろうと思ったら自分でそう書けばできる。

324 名前:デフォルトの名無しさん (ワッチョイ ff4a-SmTw) mailto:sage [2017/01/22(日) 12:48:38.01 ID:WHkammw20.net]
いずれにせよ、便利なとこにだけ目を付けて
そういう問題点まで考えずに導入しちゃう現場の方が問題だろうねw

全publicなプロパティで困ってるならご愁傷様です。

325 名前:デフォルトの名無しさん (アウアウカー Sac7-RtDt) [2017/01/22(日) 12:50:26.90 ID:8/XlH/DIa.net]
おまえらどんな修行積んだらそんななれるんだよ。。
独学やってる俺からみると心折れそうだわ

326 名前:デフォルトの名無しさん (ワッチョイ f3bb-3qL8) mailto:sage [2017/01/22(日) 12:53:59.02 ID:H+suNOjg0.net]
>>307
LINQのサンプル書けば分かる話で、昔から散々言われてたこと。
速度が必要ならLINQ使うな、楽したいならLINQ使え。それだけ。
それをLINQは遅くないだの、C#とC++の速度差はないだのは、全くの捏造、デタラメ。素人の知ったか。

今回の話題で遅いのは画像処理。画像処理に糞遅いLINQ使う馬鹿はいないんだよ、糞ガキ。

327 名前:デフォルトの名無しさん (ワッチョイ ff4a-SmTw) mailto:sage [2017/01/22(日) 13:20:05.54 ID:WHkammw20.net]
>>321
馬鹿にしてるのも、素人発言してるのも俺じゃないのに、
なんでそんな悪態つくのかわからんがwww
ちゃんとワッチョイかID見ろよ

C#やLinqが、C++並みとか早いと言ってるのは俺じゃないぞ
画像処理かつ性能必要なとこで、Linqで組む奴が居たら馬鹿だろ

328 名前:デフォルトの名無しさん (ワッチョイ c33c-5mR9) mailto:sage [2017/01/22(日) 14:03:47.83 ID:W8T+cplZ0.net]
デリゲートってどういうときにどう使ってますか?

使ってみようと思ってるんですけど、、、
パスドラみたいなゲームだとどう使うとよかったりするんですかね?

329 名前:デフォルトの名無しさん (ブーイモ MM1f-wwrd) mailto:sage [2017/01/22(日) 14:31:47.38 ID:q7Ms9629M.net]
>>323
お前がこれまでイベントやLINQやラムダを使ったことがあるなら、お前は既にデリゲートを使っている
デリゲート型の定義は昔の名残みたいなもんで、今更あえて自分でデリゲートを定義する必要はない

330 名前:デフォルトの名無しさん (アウアウウー Sa67-gIHQ) mailto:sage [2017/01/22(日) 15:08:27.54 ID:w8qlDydna.net]
>>323
いきなり人をお前呼ばわりするような奴の話は無視していいと思うw
彼がなぜ見知らぬ他人にそんな横柄な態度を取るのかお察し(略

前にも書いた気がするけど、BCLで実際にどういう使われ方をしているかを見て理解するのが一番早い。
例えばList<T>なんかのSortメソッドにはデリゲート(Comparison<T>)を引数に取るバージョンと
インターフェイス (IComparer<T>)のバージョンがあるが、この2つを比べてみるとか

デリゲートの意義は変数(入れ物)を作れることにある。
int型の変数にintの値を自由に入れることができ、intのリテラルと同じように式の中で使えるように
デリゲート、例えばAction型の変数には引数なし、戻り値なしのメソッドを自由に入れることができ、
普通のメソッド呼び出しと同じように変数の中のメソッドを呼び出すことができる。



331 名前:デフォルトの名無しさん (ササクッテロレ Sp87-5mR9) [2017/01/22(日) 17:22:01.36 ID:9cOLculsp.net]
お二方どうもです!
いまunityやってて、なんか自分で定義して使ってみたいんですけど、わざわざ定義して使う必要もないのかと思ったり思わなかったり、、

332 名前:デフォルトの名無しさん (ワッチョイ a394-GGaX) mailto:sage [2017/01/22(日) 17:39:15.02 ID:opZW6Xxw0.net]
Action や Func という便利な「定義済みデリゲート」があるので
>>325 のいう「 Comparison<T> 」もそう)
いまや、自分で定義する必要はあまりないような…

言葉遣いはぞんざいだったけど、>>324 が言いたいのもそういうことだったのでは

333 名前:デフォルトの名無しさん (ワンミングク MM9f-Taza) mailto:sage [2017/01/22(日) 17:45:53.28 ID:mco4N0ihM.net]
>>323
ストラテジーパターンを使いたいなぁと思った時にめんどくさいからデリゲートとラムダを使おう
その程度の認識でいいよ

334 名前:デフォルトの名無しさん (ワッチョイ 33a1-IReq) mailto:sage [2017/01/22(日) 20:04:36.92 ID:uhRlBKGc0.net]
.の意味ってなに?
スペースと何が違うの?

335 名前:デフォルトの名無しさん (ワッチョイ 0390-waAN) mailto:sage [2017/01/23(月) 22:56:49.49 ID:+/l1sI5v0.net]
自分でhttpwebrequest、httpwebresponseのラッパークラスを作っているんですが、どうも使いづらいです
通信エラーが起きてもResponseCodeわからないですし、例外もうまくキャッチすることができません
こういうクラスってひょっとしてラップしても意味ないですか?
WebrequestやDownloadStringなどを使わないのはCookieなどを付与する必要があるためです

336 名前:デフォルトの名無しさん (ワッチョイ 9377-8QYx) mailto:sage [2017/01/23(月) 23:02:45.38 ID:bI3M8V880.net]
>>330
今からやるならHttpClient

337 名前:デフォルトの名無しさん (ワッチョイ cf9d-3qL8) mailto:sage [2017/01/23(月) 23:36:42.09 ID:iMdxUfkB0.net]
WebClientにCookie持たせる

338 名前:デフォルトの名無しさん (ドコグロ MM7f-j6UX) mailto:sage [2017/01/24(火) 12:50:22.17 ID:HHZbO6egM.net]
>>330
意味がわからん...
自分で作ってるなら使いやすいように作ればいいだけじゃないの?

339 名前:デフォルトの名無しさん (ワッチョイ b30d-516J) [2017/01/25(水) 15:07:13.59 ID:3WJkXYG20.net]
HttpClient WebClient WebRequest HttpRequest の違いがわかりません

340 名前:デフォルトの名無しさん (ワッチョイ 63a4-QGIP) mailto:sage [2017/01/25(水) 22:04:46.00 ID:Bb3u5ckd0.net]
ふーん



341 名前:デフォルトの名無しさん (ワッチョイ 33d6-3qL8) mailto:sage [2017/01/25(水) 22:18:36.99 ID:W75ZhGr50.net]
>>334
聞く前にググれ

342 名前:デフォルトの名無しさん (アウアウイー Sa53-T3y8) mailto:sage [2017/01/26(木) 07:18:39.25 ID:hf6GrTPoa.net]
>>334
ググったなんて日本語が分からなかったの?

343 名前:デフォルトの名無しさん (ワッチョイ 2613-uaQk) mailto:sage [2017/01/26(木) 09:58:48.02 ID:sSYf7dfw0.net]
>>337
ha?

344 名前:デフォルトの名無しさん (ササクッテロラ Sp13-YLIH) mailto:sage [2017/01/27(金) 02:09:00.56 ID:mwRO9ggOp.net]
TextBoxの文字をクリックしたときにその行に頭が特定の文字ならアクションを起こすようなものを作りたいのですが
TextBoxクラスのGetCharIndexFromPosition(Point)で文字を取得するとクリック位置が文字の上から外れた場所でも取得できてしまいます
文字上でクリックされた時のみを感知したいのですが何かいい方法があれば教えてください

345 名前:デフォルトの名無しさん (ワッチョイ 1ad4-AZYz) mailto:sage [2017/01/27(金) 12:09:25.78 ID:7rtouHaU0.net]
検索(SQLを投げた)結果を非同期でフォーム表示させようとしてます。

SqlCommandを組み立ててBeginExecuteReaderしました。
AsyncCallback 先で、EndExecuteReaderを実行し
DataTableに収納させるまではデバッガで動作確認できました。

ここからが問題なのですが
DataTableの内容をForm(DataGridView)で表示されようと思いました。
DataGridViewが貼り付いているFormをnewで生成し、DataGridView.DataSourceにDataTableを入れました。

最後にForm.Showでフォームが開くことを期待したのですが、フォームの枠が出るものの中身が真っ白
キャプションは「応答なし」と出て表示も操作もできません。

最初にBeginExecuteReaderした側のメインスレッドは普通に動いてます。
どうやったら、AsyncCallback 先でフォームを新規表示させることができるんでしょうか。

346 名前:デフォルトの名無しさん (ワッチョイ d3c0-y5A3) mailto:sage [2017/01/27(金) 13:41:41.66 ID:f0Kj2+Uu0.net]
>>340
デバッガ使っているならForm.ShowのところでDataGridView.DataSourceにDataTableが入っているか見てみれば?

347 名前:デフォルトの名無しさん (ワッチョイ 9719-VXgO) mailto:sage [2017/01/27(金) 14:04:14.64 ID:FcmXFO0M0.net]
今更AsyncCallback系とかどんな環境なのやら
サブスレッドでForm触るとろくなことにならないから
AsyncCallback内で全データ取得
→FormとかのBeginInvokeでメインスレッドでフォーム作って表示

348 名前:デフォルトの名無しさん (ワッチョイ 1ad4-AZYz) mailto:sage [2017/01/27(金) 14:20:45.68 ID:7rtouHaU0.net]
>>341
そこは問題ないです
描画のところでサブスレッドに順番が回ってこないぽい感じです

>>342
>今更AsyncCallback系とかどんな環境なのやら

イマドキは別の方法があるんでしょうか
確かに、Callbackは面倒です。゜

やりたいのは、時間のかかるExecuteReaderで全てがブロックされることを防ぎたい、ってことです

349 名前:デフォルトの名無しさん (スッップ Sdca-OKVk) mailto:sage [2017/01/27(金) 19:49:21.84 ID:oQLdhHNUd.net]
>>343
.NET Frameworkのバージョンいくつよ?

350 名前:デフォルトの名無しさん (ワッチョイ af4a-y5A3) [2017/01/27(金) 21:29:15.85 ID:+Ih6k9xI0.net]
質問です。

object o = new List<string>();
このstringのところを文字列(を格納した変数)で指定したいのですが、どうすればいいでしょうか?
object o = new List<"string">(); ← こういうことをやりたい。

よろしくお願いします。



351 名前:デフォルトの名無しさん (ワッチョイ f7dc-ci5U) mailto:sage [2017/01/27(金) 21:35:00.20 ID:sOrVpnzk0.net]
>>345
本当に文字列で指定したいのではなく、動的に型を指定してジェネリックリストを作りたいという要求だと仮定して回答
var argType = typeof(string);
var listType = typeof(List<>).MakeGenericType(argType);
var o = Activator.CreateInstance(listType);

352 名前:デフォルトの名無しさん (ワッチョイ af4a-y5A3) mailto:sage [2017/01/27(金) 21:37:34.16 ID:+Ih6k9xI0.net]
>>346
早速の返答ありがとうございます。
そういう意図で合っていると思いますが、その3行をぱっと見では理解不能なので、テストしてきます。

353 名前:デフォルトの名無しさん (ワッチョイ af4a-y5A3) mailto:sage [2017/01/27(金) 21:59:53.20 ID:+Ih6k9xI0.net]
>>346
申し訳ないです、質問で出した例えが悪かったです。
本当にやりたいのはJSONのデコードでなんですが、JSON.NETを使って
var o = JsonConvert.DeserializeObject<Hoge>(json);
このHogeの部分を動的にしたいのです。

354 名前:デフォルトの名無しさん (ワッチョイ 2b4a-H6k8) mailto:sage [2017/01/27(金) 22:04:04.24 ID:7pKAIIad0.net]
>>348
Hogeの数だけifかswitchで分ければいいんじゃないか? []
[ここ壊れてます]

356 名前:デフォルトの名無しさん (ワッチョイ af4a-y5A3) mailto:sage [2017/01/27(金) 22:09:45.37 ID:+Ih6k9xI0.net]
>>349
ずらずらと並べて書き始めて、
ふと動的に出来ないものかと思ってしまいましたが、
素直にそうやった方が手っ取り早いですかね。

ありがとうございました。

357 名前:デフォルトの名無しさん (ワッチョイ f7dc-ci5U) mailto:sage [2017/01/27(金) 22:09:50.40 ID:sOrVpnzk0.net]
>>348
それを動的にやって何がしたいのか激しく疑問
どのみちobject型として扱うしかないんだから DeserializeObject(string)

358 名前: でobject型にデシリアライズすればいいだろ
>>349と被ったが、後で as や is でHogeにダウンキャストするんだったらその選択肢は予め決まってるはずだから、
switch (str) {
case “Hoge”: type = typeof(Hoge); break;
case ・・・
}
みたいにすればいいだけ
それでも本当にどうしても文字列で指定しなきゃいけないというなら
Type.GetType(“俺の名前空間.” + str) でできなくはないけど、まず意味はないと思う
[]
[ここ壊れてます]

359 名前:デフォルトの名無しさん (ワッチョイ af4a-y5A3) mailto:sage [2017/01/27(金) 22:50:37.80 ID:+Ih6k9xI0.net]
>>351
> それを動的にやって何がしたいのか激しく疑問

自分も質問文を書きながら、そう思われるだろうなと思っていました。
たぶん、こんなことをしたいと思いつく考え方が、そもそも間違いの可能性が高そうなのですが、
なぜこういうことを思いついたかというと、一つの問い合わせに対して返ってくるJSONの型が
複数あったりするので、どうやれば上手くまとまるかな? と考えたのがはじまり。
成功時→ {"person":{"name":"だれそれ","age":20}}
失敗時→ {"noresponse":{"message":"該当なし"}}
エラー→ {"error":{"number":1,"message":"error message."}}

頭の文字列(personなど)引っ張り出して、対応する型名(Person)をHashtableなんかから引っ張り出せばいいかなと。
hashtable.Add("person","Person");
hashtable.Add("error","Error");
...

object Json2Object(string json)
{
string typename = Regex.Match(json, @"\{""([^""]+)").Groups[1].Value
var o = JsonConvert.DeserializeObject<$$hashtable[typename]$$> (json);
return o;
}

呼び出した側では結局as is しますが、こんな発想自体ナンセンスですか?

360 名前:デフォルトの名無しさん (ワッチョイ f7dc-AomC) mailto:sage [2017/01/27(金) 22:55:29.64 ID:sOrVpnzk0.net]
>>352
結局呼び出し元でキャストするんならJson2Objectをジェネリックメソッドにすればいいだけでは?



361 名前:352 (ワッチョイ f7dc-ci5U) mailto:sage [2017/01/27(金) 23:00:09.77 ID:sOrVpnzk0.net]
いやすまんJSONに含まれるフィールドに応じて型を変えたいってことか
単に Dictionary<string, Type> でよくね?

362 名前:デフォルトの名無しさん (ワッチョイ af4a-y5A3) mailto:sage [2017/01/27(金) 23:07:41.42 ID:+Ih6k9xI0.net]
>>354
なんどもありがとうです。
dictionary.Add("person",typeof(Person));
var o = JsonConvert.DeserializeObject<dictionary["person"]>(json);
と言うことでしょうか?
VS2015 .NET4.6 では出来なさそうなのですが。

363 名前:デフォルトの名無しさん (ワッチョイ f7dc-ci5U) mailto:sage [2017/01/27(金) 23:25:42.83 ID:sOrVpnzk0.net]
>>355
var o = JsonConvert.DeserializeObject(json, dictionary["person"]);

364 名前:デフォルトの名無しさん (ワッチョイ af4a-y5A3) mailto:sage [2017/01/27(金) 23:33:36.50 ID:+Ih6k9xI0.net]
>>356
なんと!!
自分の調べ不足を痛感しました。
ほんとうにありがとうございました。

365 名前:デフォルトの名無しさん (ワッチョイ 2a4a-y5A3) mailto:sage [2017/01/28(土) 00:50:12.18 ID:4RGYrg++0.net]
斜め読みだが
やっぱDictionaryで済む話やなw

366 名前:デフォルトの名無しさん (ワッチョイ 0faf-56sz) mailto:sage [2017/01/28(土) 01:52:46.60 ID:7wXqm53L0.net]
>>339
自己解決しました
表示からは見えなくてもTextBox.Textには改行コードが含まれていたのですね
GetCharIndexFromPosition(Point)で取得したインデックスの文字ををcharに入れてみて初めて気が付きました
欲しい文字の判定時についでにクリックされた文字が\nではないかを調べることで実現できました

367 名前:デフォルトの名無しさん (ワッチョイ af4a-WsPK) mailto:sage [2017/01/28(土) 10:57:29.19 ID:Pp3LUsbs0.net]
zip内の画像ファイルを展開せずに閲覧する場合に基本クラスとその他のライブラリで速度に違いはあるんでしょうか?

368 名前:デフォルトの名無しさん (ワッチョイ 6b64-cWHx) mailto:sage [2017/01/28(土) 11:05:01.86 ID:1xyPMcX/0.net]
もっと詳しく、丁寧に質問して

369 名前:デフォルトの名無しさん (ワッチョイ af4a-WsPK) mailto:sage [2017/01/28(土) 11:26:44.22 ID:Pp3LUsbs0.net]
zipファイルに格納された画像ファイル(jpgやpngやbmpやgif等)を展開せずにストリームで読み込む場合に
基本クラスであるZipFileクラスやZipArchiveクラスを使用した場合と、
#ziplibやDotNetZipやJ#のvjslib.dll等のライブラリを使用した場合では速度に有意な差が出るのでしょうか?

370 名前:デフォルトの名無しさん (アウアウウー Sa7f-//rF) mailto:sage [2017/01/28(土) 12:01:12.08 ID:XpAKmUmza.net]
実装に差あるから、有意な差はでるだろうな
問題になるほどその差が大きいとは思えないが



371 名前:デフォルトの名無しさん (ワッチョイ 7e5e-y5A3) mailto:sage [2017/01/28(土) 12:04:25.80 ID:s1e/PAHl0.net]
>>362
自分で比較してみればいいじゃん
展開でそんなに差は出ないと思うけど※個人の感想です、ってしかならない
なんで画像ファイル限定なのか知らんけど
pngやjpgだとzipには無圧縮で入っていることが多いからそのまま展開されずに読みだされるけど、その手の話かな?

372 名前:デフォルトの名無しさん (ワッチョイ af4a-WsPK) mailto:sage [2017/01/28(土) 12:16:07.03 ID:Pp3LUsbs0.net]
>>363
大した差が無いようであれば基本クラスを使おうと思います

>>364
>pngやjpgだとzipには無圧縮で入っていることが多いからそのまま展開されずに読みだされるけど、その手の話かな?
そうです

基本クラスと#ziplibは試したのですが差が有るような無いような微妙な感じでした

373 名前:デフォルトの名無しさん (ワッチョイ 9777-QkVH) mailto:sage [2017/01/28(土) 12:20:54.91 ID:GpK52peC0.net]
>>365
基本クラスって言い方は紛らわしい。継承関連かと勘違いする。
標準のクラスとか言ってくれ。

374 名前:デフォルトの名無しさん (ワッチョイ 2b4a-H6k8) mailto:sage [2017/01/28(土) 15:14:39.72 ID:XnHJw37P0.net]
>>365
目的はなんなん?

375 名前:デフォルトの名無しさん (ワッチョイ af4a-WsPK) mailto:sage [2017/01/28(土) 21:03:02.05 ID:Pp3LUsbs0.net]
>>367
漫画ビューワですが

376 名前:デフォルトの名無しさん (ワッチョイ 0a4c-cWHx) mailto:sage [2017/01/28(土) 22:28:40.58 ID:46h3M0fs0.net]
その漫画ビューアが殆ど完成しているのであれば、基本クラスと他のライブラリのスペック差を測れば良いんじゃね?

そこまで大きく実装かわらんでしょ?

377 名前:デフォルトの名無しさん (ワッチョイ 7e9d-AZYz) mailto:sage [2017/01/29(日) 03:26:17.34 ID:EZgBqwJb0.net]
WebClientでHeadersにIf-Modified-Sinceを設定してDownloadFileとかやると
以下の例外が起きてしまいます

'If-Modified-Since' ヘッダーは、適切なプロパティまたはメソッドを使用して変更する必要があります。
パラメーター名:name

ヘルプによるとWebClientはIf-Modified-Sinceを設定できないようなのですが
HttpWebRequestを使わずにWebClientだけでなんとかなりませんか?

378 名前:デフォルトの名無しさん (ワッチョイ 6f7b-TK3D) mailto:sage [2017/01/29(日) 11:34:33.85 ID:I0IcYz370.net]
派生させてGetWebRequestオーバーライドしてそこで追加すればいいけど
まあ無駄だな
HttpClientに移行しよう

379 名前:デフォルトの名無しさん (ワッチョイ 1f0d-VFvX) [2017/01/29(日) 11:40:15.08 ID:6efjD1Fp0.net]
HttpClient WebClient WebRequest HttpRequest の違いがわかりません

380 名前:デフォルトの名無しさん (ワッチョイ bfd6-AZYz) mailto:sage [2017/01/29(日) 11:59:58.20 ID:lTC0Slsj0.net]
まーたお前か



381 名前:デフォルトの名無しさん (ワッチョイ 5ad4-B+LO) mailto:sage [2017/01/29(日) 18:52:35.60 ID:yL6xb8U50.net]
>>372

WebClientとWebRequestの違いはWebClientのが簡易。
WebClientはタイムアウトの設定ができない。
WebRequestはタイムアウトの設定がある。

382 名前:デフォルトの名無しさん (ワッチョイ 1f0d-VFvX) [2017/01/29(日) 22:42:03.92 ID:6efjD1Fp0.net]
>>374
ありがとうございます
HttpClient WebClient の違いは一体何なのでしょうか?

383 名前:デフォルトの名無しさん (ワッチョイ 5ad4-K8QZ) mailto:sage [2017/01/30(月) 08:21:14.87 ID:rGZEoMYZ0.net]
>>375

HttpClientは私は一度も使ったこと無いけど新しく作られたクラスで
たぶん非同期処理(async/await)で使うことを前提にしたクラスだと思う。
WebClientとWebRequestはGUIソフトで使うにはスレッド内で使わないと固まるけど、
HttpClientはスレッドを使わないでも非同期処理できるということ。

WebClientとWebRequestの違いの追加ですが、
httpヘッダーの取得はWebClientではできないと思う。
httpヘッダーの取得でHTTPステータス・コード、ファイルサイズなどを取得できる。
ファイルサイズ取得によりプログレスバーでダウンロード経過を表示したりとかできる。

384 名前:デフォルトの名無しさん (ワッチョイ 1f0d-VFvX) [2017/01/30(月) 10:37:24.9 ]
[ここ壊れてます]

385 名前:4 ID:U5GM4NUS0.net mailto: >>376
ありがとうございます!
つまり今使うならHttpClientの方が色んな面で優れているので良いというわけですね
[]
[ここ壊れてます]

386 名前:デフォルトの名無しさん (ワッチョイ 1ad4-AZYz) mailto:sage [2017/01/30(月) 11:01:15.30 ID:8jPCKhAg0.net]
>>344
2000機が残ってたので3.5で作りましたが、ようやく全廃できたので、4以降で大丈夫です。
(XP機も一緒に駆逐したので、4.5以降で問題なし)

387 名前:デフォルトの名無しさん (スップ Sdca-OKVk) mailto:sage [2017/01/30(月) 12:00:30.46 ID:lLUdwlJ5d.net]
>>378
まさかとは思うけど、4.0や4.5みたいなサポート切れのFramework使ってないよね?

388 名前:デフォルトの名無しさん (ワッチョイ d3c0-y5A3) mailto:sage [2017/01/30(月) 12:13:50.48 ID:b9p90kqg0.net]
4.0以下が統一環境になっている俺社の悪口はやめろ

389 名前:デフォルトの名無しさん (ワッチョイ 1ad4-AZYz) mailto:sage [2017/01/30(月) 12:55:47.69 ID:8jPCKhAg0.net]
VB5やVB6で書かれたプロジェクトも未だに保守してるけど

390 名前:デフォルトの名無しさん (ワッチョイ 5b49-QkVH) mailto:sage [2017/01/30(月) 20:36:51.27 ID:SB7dmMyN0.net]
>>377
その認識でOK
HttpClientは高機能なのにとても使いやすくなった



391 名前:デフォルトの名無しさん (JP 0H13-zSxl) mailto:sage [2017/01/31(火) 00:28:21.39 ID:WN418v1sH.net]
WebBrowser使ってるんだけど、HttpClientで取得してWebBrowserに表示のほうがいいのかな
一応WebBrowserでもasyncで取得はしてるんだが
あとAjaxにも対応はしてる

392 名前:デフォルトの名無しさん (ワッチョイ ea30-UZfv) mailto:sage [2017/01/31(火) 08:53:34.35 ID:AhlWkjVU0.net]
目的達成できてるなら別に変える必要ねーじゃん
悪いとは言わないけど効率の悪い思考だ

393 名前:デフォルトの名無しさん (ワッチョイ af4a-y5A3) mailto:sage [2017/01/31(火) 21:52:08.03 ID:H4Wkov650.net]
using (HttpClient client = new HttpClient())
{
client.Timeout = Timeout.InfiniteTimeSpan;
using (var stream = await client.GetStreamAsync(url).ConfigureAwait(false))
using (var reader = new StreamReader(stream))
{
while (!reader.EndOfStream)
{
var task = reader.ReadLineAsync();
if (task.Wait(3000))
{
/*通常の処理*/
}
else
{
/*タイムアウト時の処理*/
break;
}
}
}
}

HTTPでのストリーミング受信をこのような感じで受け取るようにしました。
無通信が一定期間(上記だと3秒)あればタイムアウトさせているつもりなのですが、
3秒以上の無通信期間をHTTPホスト側で設けてみても、いっこうにタイムアウトせずに待ち続けています。
task.Wait()の代わりにTask.WaitAny()やTask.WhenAny()なども試してみましたが、
タイムアウト側へ処理が行かないのです。
もっと単純にvar task = Task.Delay(5000);ってやると、タイムアウト側へ処理が流れます。
HttpClientの時だけうまくいかない?
HTTPホスト側のスクリプトはPHPで待機時間を1秒ずつsleep()時間を増やしながらループさせていて、
ホスト側はまず間違いないと思っています。
よろしくお願いします。

394 名前:デフォルトの名無しさん (ブーイモ MMca-AomC) mailto:sage [2017/02/01(水) 08:46:58.23 ID:/3Lab+YmM.net]
>>385
CancelationToken渡してTask.Delayがタイムアウトしたらキャンセルすれば

395 名前:デフォルトの名無しさん (ワッチョイ af37-AZYz) mailto:sage [2017/02/01(水) 11:47:22.62 ID:3Z+GxYTF0.net]
paiza ioでC#が始まりました
爆発的にC#人口が増えると思います

396 名前:デフォルトの名無しさん (JP 0Ha3-y5A3) mailto:sage [2017/02/01(水) 12:00:51.68 ID:+pDV2e5ZH.net]
現状別に少なくないのに
爆発的に増やせるpaizaってどんな影響力持ってんだよ

397 名前:デフォルトの名無しさん (ワッチョイ 2a23-y5A3) mailto:sage [2017/02/01(水) 12:58:05.37 ID:G1eAOkHI0.net]
>>385
1. client.Timeoutに無限大じゃなくて3秒をセットする
2.処理待ちはストリームリーダーじゃなくてhttpclientで発生しているから、今の処理は無駄なので、ReadLineAsyncはawaitします
3.タイム・アウトすると例外が発生するからハンドリングして処理してください

398 名前:デフォルトの名無しさん (ワントンキン MM1a-FuHd) mailto:sage [2017/02/01(水) 13:37:46.83 ID:E2USh33dM.net]
相談させてください。

別プロセスを実行し、そのExitCodeをチェックしていますが、間歇でC0000005hが返ってきます。
このコード自体はアクセス違反らしいですが、回避する方法はないでしょうか?

ProcessStartInfo psInfo = new ProcessStartInfo();
psInfo.FileName = "〜.exe";
psInfo.CreateNoWindow = true;
psInfo.UseShellExecute = false;
psInfo.RedirectStandardOutupt = true;
psInfo.RedirectStandardError = true;

Process p = Process.Start(psInfo);
p.WaitForExit();

int code = p.ExitCode;

p.Close();

399 名前:デフォルトの名無しさん (アウアウウー Sa7f-//rF) mailto:sage [2017/02/01(水) 14:05:38.83 ID:ItKIvr6ga.net]
またPickitか?切り出すと分からないから、ソースコードというかプロジェクトまるごとどっかにうpしろ

400 名前:デフォルトの名無しさん (ワッチョイ 9719-QC3X) mailto:sage [2017/02/01(水) 14:32:56.95 ID:YUyrzX090.net]
起動される側の問題なんだから起動する側ではなんもできん



401 名前:デフォルトの名無しさん (ワッチョイ af4a-y5A3) mailto:sage [2017/02/01(水) 15:50:40.89 ID:0UxsMyd00.net]
レスありがとうございます。

>>386
なんとなくスマートじゃなさそうな気がしていましたが、ちょっとやってみます。

>>389
やはり2番のそれなんですね。なんとなくそうじゃないかなと思い始めていました。
でも、1番のclient.Timeoutに3秒をセットすると、ホストとの接続が3秒で切れてしまいます。
ループ内のReadLineAsync()で1行ずつ受信できている間は永遠に接続して、
1行受信する間が3秒以上開いたら、回線もしくはホスト側のトラブルの可能性ありとして
受信を見送りいったんループを抜けたいのです。
もう一度2番の内容を念頭に置いてソースコードを見直してみます。

ありがとうございました。

402 名前:デフォルトの名無しさん (ワッチョイ 5b90-Ve17) mailto:sage [2017/02/01(水) 15:55:16.40 ID:3kHXSGfF0.net]
LINQを使ってGroupBox内のでどのRadioButtonが選択されているか知りたいのですがそういったことはできますか?

403 名前:デフォルトの名無しさん (ワッチョイ 0a4c-ZNcG) mailto:sage [2017/02/01(水) 16:02:24.19 ID:jnCvpXDY0.net]
その前に、ラジオボタンのCheckedChangedイベントを共通にしちゃダメか?
そいで、senderで判断しちゃ?

404 名前:デフォルトの名無しさん (アウアウウー Sa7f-BDy3) mailto:sage [2017/02/01(水) 16:33:48.49 ID:l+tZDtqWa.net]
>>394
こういうの?
LINQ苦手だからもっと簡単に書けるかもしれん...
var r = gb.Controls.Cast<Control>().Where(x => x is RadioButton).Cast<RadioButton>().FirstOrDefault(x => x.Checked);

405 名前:デフォルトの名無しさん (ワッチョイ f7dc-ci5U) mailto:sage [2017/02/01(水) 16:42:08.74 ID:2EAgbNLS0.net]
>>396
OfType使えよ

406 名前:デフォルトの名無しさん (ワッチョイ 5b90-Ve17) mailto:sage [2017/02/01(水) 16:59:16.27 ID:3kHXSGfF0.net]
自己解決しました。こうなりました
var check = groupBox1.Controls.OfType<RadioButton>().Where(r => r.Checked == true);

>>395
LINQでCheckChangedイベントを追加するようにしました

407 名前:デフォルトの名無しさん (アウアウウー Sa7f-BDy3) mailto:sage [2017/02/01(水) 17:25:56.68 ID:l+tZDtqWa.net]
>>397
あw

408 名前:デフォルトの名無しさん (ワントンキン MM1a-FuHd) mailto:sage [2017/02/01(水) 18:24:38.35 ID:E2USh33dM.net]
>390 です。

呼び出される側の問題とのこと、理解しました。

呼び出される側は、VS2005のコンソールアプリです。
中身は外部機器との(多分)ソケット通信等を行うものです。
(外部機器専用のdllを利用するため、中身は分かりませんが)

C0000005hが呼び出し元に返ってくる場合でも、
呼び出され側のmain()の return xxx;直前のコードは正常であることはコンソール出力で確認しています。

.net framework絡みだとGCが関係してるような記述も目にしましたが、
これだけの情報で、もし原因の目処、もしくは対策/回避策がございましたらアドバイスいただけないでしょうか。

409 名前:デフォルトの名無しさん (ワッチョイ 0a4c-ZNcG) mailto:sage [2017/02/01(水) 19:24:59.53 ID:jnCvpXDY0.net]
dll側でヒープの解放(delete)忘れ、CloseHandle忘れとかなんじゃね

410 名前:デフォルトの名無しさん (ワッチョイ d390-Ve17) mailto:sage [2017/02/01(水) 20:00:35.33 ID:cSMjRhkv0.net]
また質問なんですが
var rb = groupBox1.Controls.OfType<RadioButton>().Where(x => x.Checked == true)
これで取り出した要素なんですが、ここからRadioButtonのNameプロパティを参照したい場合foreach使わないとダメですか?



411 名前:デフォルトの名無しさん (ワッチョイ 0a4c-ZNcG) mailto:sage [2017/02/01(水) 20:15:39.46 ID:jnCvpXDY0.net]
>>402

それ394で全部解決だって。
senderをキャストすれば、そのラジオボタンだから

412 名前:デフォルトの名無しさん (ワッチョイ 0a4c-ZNcG) mailto:sage [2017/02/01(水) 20:21:32.94 ID:jnCvpXDY0.net]
https://msdn.microsoft.com/ja-jp/library/system.windows.forms.radiobutton(v=vs.110).aspx

ここの一番下のサンプルみてみ


あと、rbが選択されたラジオボタンなんよね?

413 名前:デフォルトの名無しさん (ワンミングク MM1a-bF0B) mailto:sage [2017/02/01(水) 20:24:36.92 ID:Q5WgQ/3wM.net]
チェックボックスにはバインドしないの?

414 名前:デフォルトの名無しさん (ワッチョイ d390-Ve17) mailto:sage [2017/02/01(水) 20:26:26.00 ID:cSMjRhkv0.net]
>>403
RadioButtonの共通のCheckChangedイベントじゃなくて別のメソッドから呼びたいんですが・・・
CheckChangedイベントで毎回選択されたものを他の変数に保存したりとかでできそうですが、列挙が一つだけの場合foreachを使わずとも取り出す方法があるなら知りたいと思いまして

415 名前:デフォルトの名無しさん (ワッチョイ d390-Ve17) mailto:sage [2017/02/01(水) 20:38:00.85 ID:cSMjRhkv0.net]
>>404
見ましたけど自分がほしい情報とは違う気がします

416 名前:デフォルトの名無しさん (アウアウウー Sa7f-BDy3) mailto:sage [2017/02/01(水) 20:43:13.76 ID:l+tZDtqWa.net]
>>402
これじゃいかんの?
var name = gb.Controls.OfType<RadioButton>().FirstOrDefault(x => x.Checked)?.Name;

417 名前:デフォルトの名無しさん (ワンミングク MM1a-bF0B) mailto:sage [2017/02/01(水) 20:46:49.32 ID:Q5WgQ/3wM.net]
バインドしないの?

418 名前:デフォルトの名無しさん (ワッチョイ 5b49-QkVH) mailto:sage [2017/02/01(水) 21:28:09.21 ID:wmVXAizR0.net]
>>400
NativeのDLLの関数を呼び出す場合はGCが関係する場合もあるけど、別プロセスを起動する場合は関係ない。

>>401
単純に開放を忘れただけだったら、アクセス違反にはならんだろ。

419 名前:デフォルトの名無しさん (アウアウウー Sa7f-//rF) mailto:sage [2017/02/01(水) 21:30:05.48 ID:ItKIvr6ga.net]
呼んでるexeが、最後にreturn 0x C0000005;をしてる原因をエスパーしてくれってことじゃないのか?

420 名前:デフォルトの名無しさん (ワッチョイ 7e5e-y5A3) mailto:sage [2017/02/01(水) 21:34:07.73 ID:0YuVGhJt0.net]
>>411
return 0x C0000005;とかでなく多分呼び出した先の不正終了
何らかの形で強制終了させられたとかそのあたり



421 名前:デフォルトの名無しさん (ワッチョイ d390-Ve17) mailto:sage [2017/02/01(水) 23:00:22.10 ID:cSMjRhkv0.net]
>>408
そうです、こういうのを探していました

422 名前:デフォルトの名無しさん (ワッチョイ 6b64-ZNcG) mailto:sage [2017/02/01(水) 23:01:28.57 ID:NPEB4GMb0.net]
>>407
var rbまで書いてるから、rb.Nameでもいいよねって事。

423 名前:デフォルトの名無しさん (ワッチョイ d390-Ve17) mailto:sage [2017/02/01(水) 23:33:29.26 ID:cSMjRhkv0.net]
>>414
書けませんし、まず型が違います

424 名前:デフォルトの名無しさん (ワントンキン MM1f-1ST5) mailto:sage [2017/02/02(木) 09:38:52.54 ID:F4pSw7TdM.net]
>>412

呼び出され側が

int code;

Console.WriteLine("code = " + code.ToString());
return code;

で、呼び出し元で、標準出力を取得すると code = 0 等となっています。


1台のPC上で、複数の呼び出し元を非同期に実行しています。
この辺りが関係してるのでしょうか?

詳しい情報を出せなくて申し訳ないですが、エスパーしてもらえるとありがたいです。

425 名前:デフォルトの名無しさん (JP 0Ha7-FWOa) mailto:sage [2017/02/02(木) 11:09:28.98 ID:vkBB6VucH.net]
アプリケーション設定ってユーザー¥ユーザー名の下に保存されるけど、windowsのログインアカウント変えたらわ設定読み書きできないよね
ユーザー¥Defaultの下に保存して読み書きできるようにできないかな?

426 名前:デフォルトの名無しさん (ワッチョイ a390-/j6a) mailto:sage [2017/02/02(木) 12:35:49.22 ID:twb4E7Xn0.net]
ffmpegのエンコ設定の介助ツールみたいなのを作っています
今はコマンドラインを作成してそれをProcess.Start()で引数として渡しているんですが、Process.Start()のときに実行ファイルの確認ダイアログが出ます
これを出ないようにしたいのですが何か方法はありませんか?

427 名前:デフォルトの名無しさん (JP 0Hff-aC2u) mailto:sage [2017/02/02(木) 12:43:00.80 ID:8Ui/Ypx9H.net]
>>417
ユーザーごとの設定はUsers\<ユーザー名>\AppData\Roaming\の下

ユーザーに依存しない設定はProgramData\の下

428 名前:デフォルトの名無しさん (ワッチョイ 3fd4-0MWP) mailto:sage [2017/02/02(木) 12:47:24.46 ID:U1i9H1FA0.net]
Defaultは、プロファイルのない新ユーザーが初めてログインしたときの初期値を入れておくとこ

429 名前:デフォルトの名無しさん (JP 0Ha7-FWOa) mailto:sage [2017/02/02(木) 13:08:04.48 ID:vkBB6VucH.net]
>>419
それってどこで設定するの?
アプリケーション設定のスコープはユーザーかアプリケーションで、アプリケーションだと設定変更できない読み取り専用だよね。

>>420
そういう目的なのか…
てっきり全ユーザー用かと思ってた

430 名前:デフォルトの名無しさん (JP 0H27-yene) mailto:sage [2017/02/02(木) 13:16:15.02 ID:K/b9EIy4H.net]
むかしはAll UsersってのがあったけどProgramDataになった
というか%ALLUSERSPROFILE%を参照せよ



431 名前:デフォルトの名無しさん (ワッチョイ b319-PiNc) mailto:sage [2017/02/02(木) 13:48:00.41 ID:ahVNqXc30.net]
user.configは文字通りuser単位なんだからシステム全体向けに保存するわけない
https://www.codeproject.com/articles/20917/creating-a-custom-settings-provider
ここみたいにSettingsProviderを派生させて任意の場所に保存させるようにすることも一応できるけど
保存処理は自分で書く必要がある
バージョニングとかも確か自前実装になるんだったかな

432 名前:デフォルトの名無しさん (ワッチョイ 7f23-yene) mailto:sage [2017/02/02(木) 14:07:29.43 ID:jMAutYAP0.net]
>>418
前に作った同種のツールは
var info = new ProcessStartInfo();
info.FileName = FFmpegModel.FFmpegPath;
info.Arguments = string.Format(" -i \"{0}\" ", _fullname);
info.CreateNoWindow = true;
info.RedirectStandardOutput = false;
info.RedirectStandardError = true;
info.UseShellExecute = false;
proc.StartInfo = info;
proc.Start();
となっていた。

433 名前:デフォルトの名無しさん (ワッチョイ 134a-yene) mailto:sage [2017/02/02(木) 15:42:02.09 ID:TIj28lOD0.net]
解決の報告。 >>385

>>389さんの2番で指摘されたようにストリームリーダーのreader.ReadLineAsync()で
待っていたのではなかったのですが、whileループ判定のreader.EndOfStreamで待機していました。

そんなわけで、以下のようにすることで無通信タイムアウトor接続終了でループを抜けられました。
while (Task.Run(() => reader.EndOfStream).Wait(3000) && !reader.EndOfStream)

ありがとうございました。

434 名前:デフォルトの名無しさん (ワッチョイ 036a-2dgJ) mailto:sage [2017/02/02(木) 15:56:42.85 ID:pMXQtjQo0.net]
MSがアプリケーション共通データはProgramDataの下に書けって言ってなかったっけ

435 名前:デフォルトの名無しさん (JP 0Ha7-FWOa) mailto:sage [2017/02/02(木) 16:05:02.97 ID:vkBB6VucH.net]
>>423
>>426
ありがとう!
ProgramDataの下にeveryoneにフルアクセス権つけて保存するの作った

ちとスマホからカキコなのでコード書けないけど、DirectorySecurityオブジェクト作ってDirectory.CreateDirectoryでそのオブジェクトを第二引数に指定してDirectory作成。
そこに自作Classをシリアライズしたファイルを保存したって感じ。

436 名前:デフォルトの名無しさん (ワッチョイ ffe1-MPVQ) mailto:sage [2017/02/02(木) 17:22:57.87 ID:uXo0yMJE0.net]
>>416
呼び出され側もC#なの?
そんならmainじゃなくてMainじゃん

まず、別プロセスにしてる地点で呼び出す側は何も関係ない
単独で呼び出される側のデバックをするしかない
コマンドプロンプトから実行して例外とかが出ないかを見ろとしかいえん

437 名前:デフォルトの名無しさん (ワッチョイ a390-/j6a) mailto:sage [2017/02/02(木) 23:43:17.24 ID:twb4E7Xn0.net]
>>424
レス遅くなりましたが、ありがとうございます

新たに質問なんですが、ffmpegのエンコード・デコードできる形式や進行状況を取得したりとかはできないんでしょうか?

438 名前:デフォルトの名無しさん (アウアウウー Sa07-xgqO) mailto:sage [2017/02/03(金) 01:25:05.94 ID:3xPmzf3na.net]
>>429
ffmpegのスレで聞いた方が回答来やすいんじゃないか?

439 名前:デフォルトの名無しさん (ワッチョイ b319-PiNc) mailto:sage [2017/02/03(金) 08:57:53.93 ID:jUrc0d/y0.net]
-formatsとか-codecsとかでとれるのを解析
標準エラー出力から出力されるのを解析

440 名前:デフォルトの名無しさん (ワッチョイ 7f7b-z2sC) mailto:sage [2017/02/03(金) 09:51:46.77 ID:ZetScHUj0.net]
>>427
UAC下で管理者でログオンしてるならusers\public\documentsにでも保存すれば?
ProgramDataはフルトークンじゃないとアクセスできないし、そのためにアクセスコントロールいじるのは本末転倒な感じがする

全員に必要な設定やファイルは昇格してからどうぞっていうのがmsの方針なんだろけど



441 名前:デフォルトの名無しさん (ワッチョイ a390-/j6a) mailto:sage [2017/02/03(金) 10:37:37.52 ID:aUC8zgXQ0.net]
>>430
ffmpeg -formats等でコマンドプロンプト上の表示されるログを取得したいんです
コマンドを知りたいわけではないのです

442 名前:デフォルトの名無しさん (ワッチョイ b319-PiNc) mailto:sage [2017/02/03(金) 11:26:59.72 ID:jUrc0d/y0.net]
ん?
ProcessStartInfoのRedirectStandardOutputかRedirectStandardErrorかをtrueにして
ProcessのStandardOutputかStandardErrorかを読み取るだけだけど
ffmpegはその辺全部エラー出力の方に吐くんだったっけ

443 名前:デフォルトの名無しさん (ワッチョイ 7f4f-uZek) mailto:sage [2017/02/03(金) 22:16:13.16 ID:nKkuONMd0.net]
ADコンバータのデータをロギングするアプリケーションを作成中なのですが、
当たり前ですが取得値がふらつくので移動平均を取って平滑化したいと思います。
プログラム経験はマイコンしかないのですが、256サンプル足して8ビットシフトかな〜と思っていますが
データ取得クラスと読み出しクラスの両方からアクセスできるグローバルなキューを実現するにはデータ保持用のクラスを作ってインスタンスを持って回るしかないんでしょうか。
なんかもっとスマートに実装できそうな気がするんですけど、いい知恵があればどなたかご教示ください。

444 名前:デフォルトの名無しさん (ブーイモ MMc7-tPtZ) mailto:sage [2017/02/03(金) 22:57:31.92 ID:OPa+5hnkM.net]
>>435
IEnumerable<int> EnumerateValues() {
while (true) { yield return ReadValueFromADConverter(); }
}
IEnumerable<int> MovingAverage(IEnumerable<int> source, int windowSize) {
var w = new Queue();
foreach (var x in source) {
w.Enqueue(x);
if (w.Count == windowSize) yield return w.Average();
}
}
void Run() {
foreach (var x in MovingAverage(EnumerateValues(), 256))
WriteToFile(x);
}

445 名前:デフォルトの名無しさん (ブーイモ MMc7-tPtZ) mailto:sage [2017/02/03(金) 22:59:04.80 ID:OPa+5hnkM.net]
>>436
Dequeueを忘れてた
まあわかるでしょ

446 名前:デフォルトの名無しさん (ワッチョイ 13bb-0MWP) mailto:sage [2017/02/03(金) 23:02:18.71 ID:WxaeQtuW0.net]
イタコード

447 名前:デフォルトの名無しさん (アウアウオー Sa5f-m1Xa) mailto:sage [2017/02/03(金) 23:32:37.24 ID:zNHW0BwXa.net]
>>436
移動平均計算するのに毎回平均取っちゃうのはちょっと...

合計 = 前回の合計 - デキューした値 + キューする値

448 名前:デフォルトの名無しさん (アウアウオー Sa5f-m1Xa) mailto:sage [2017/02/03(金) 23:35:31.03 ID:zNHW0BwXa.net]
っていうか、正直>>435が何を聞きたいのかよく分からないw

449 名前:デフォルトの名無しさん (ワントンキン MM1f-4SR0) mailto:sage [2017/02/03(金) 23:54:59.42 ID:LN7efSZ0M.net]
>>439
そういうくだらない最適化は必要になってからでいい

450 名前:デフォルトの名無しさん (ワッチョイ c349-O+qq) mailto:sage [2017/02/04(土) 00:04:44.68 ID:Al8N6D5z0.net]
ADコンバータならそれなりのデータ量だし、>>436はあまりにも無駄



451 名前:デフォルトの名無しさん (ワッチョイ 7f4a-yene) mailto:sage [2017/02/04(土) 00:08:25.84 ID:rQvpLhJ+0.net]
改良したソース出してあげたらん?

452 名前:デフォルトの名無しさん (アウアウオー Sa5f-m1Xa) mailto:sage [2017/02/04(土) 00:21:55.25 ID:nTbtTF57a.net]
>>441
こんなのは最適化とかそれ以前の問題だと思うよww

453 名前:デフォルトの名無しさん (ワッチョイ 13bb-0MWP) mailto:sage [2017/02/04(土) 00:25:52.61 ID:1qBqX1sw0.net]
速度=遅い
効率=無視
安全性=なし
可読性=なし
保守性=なし
バグ=あり
自慢=あり

結論:痛いコード

454 名前:デフォルトの名無しさん (アウアウウー Sa07-xgqO) mailto:sage [2017/02/04(土) 00:42:30.14 ID:94H9RTyka.net]
サンプリング速度にもよるけど、256平均ぐらいなら毎回でもいいかなと思う

455 名前:デフォルトの名無しさん (ワッチョイ 33dc-vqxm) mailto:sage [2017/02/04(土) 00:52:17.40 ID:hSQcSff/0.net]
・キューを共有していない
・責任が明確に分離されている
・(好みの問題はおいといて)簡潔に実装されている
移動平均のアルゴリズムの効率はともかく、>>435に対する回答としては十分適切だと思うが

456 名前:デフォルトの名無しさん (アウアウオー Sa5f-m1Xa) mailto:sage [2017/02/04(土) 01:11:57.49 ID:nTbtTF57a.net]
そもそも>>435が何を聞きたいのかよく分からんのだけど、平滑化の方法としては
愚直な移動平均以外にEMAってのもあって、こっちの方が実装も簡単でカスタマイズの余地が大きい

ただこれ、客には嫌われることが多いんだよねw
移動平均の欠点を欠点だと気づいてない人が多いから

457 名前:デフォルトの名無しさん (ワッチョイ 034a-Sup+) mailto:sage [2017/02/04(土) 12:22:51.23 ID:QL7U0SpI0.net]
adコンバーター出力に平滑フィルター入れればいいだろ

458 名前:デフォルトの名無しさん (ワッチョイ 7f23-yene) mailto:sage [2017/02/04(土) 14:27:50.39 ID:vMv5JOxc0.net]
質問はキューの実装方法じゃなくてグローバルなクラスの実装方法だから
1.スタティッククラス
2.シングルトン
3.DIコンテナ
あたりを列挙すれば良いんじゃなかろうか?

459 名前:デフォルトの名無しさん (ワッチョイ a30d-PzOe) [2017/02/05(日) 15:32:53.00 ID:eeOYv4qE0.net]
とあるメソッドの処理をボタンを押すと一時停止・再開させたり中断したいのですがどうすればいいでしょうか?

460 名前:デフォルトの名無しさん (ワッチョイ 53d6-0MWP) mailto:sage [2017/02/05(日) 15:36:44.08 ID:JshVpFTv0.net]
1)とあるメソッドに処理停止用フラグおよび停止処理を記述します
2)ボタン押下時のイベントで処理停止用フラグを立てます
3)完成



461 名前:デフォルトの名無しさん (ワッチョイ a30d-PzOe) [2017/02/05(日) 15:58:45.91 ID:eeOYv4qE0.net]
>>452
具体的な停止処理の記述を教えてください

462 名前:デフォルトの名無しさん (ワッチョイ 53d6-0MWP) mailto:sage [2017/02/05(日) 16:06:08.06 ID:JshVpFTv0.net]
お前のソースを出せ

463 名前:デフォルトの名無しさん (ワッチョイ 33dc-tPtZ) mailto:sage [2017/02/05(日) 16:07:14.40 ID:8HS86KpH0.net]
>>453
止めたい処理に応じて考えるしかない
時間がかかる処理というのはプログラムのごく一部だから、そこを無理やり打ち切って処理を一旦終わらせてやる
で元の状態から再開できるように作り込む
一般論として言えるのはそれくらい

464 名前:デフォルトの名無しさん (ワントンキン MM1f-4SR0) mailto:sage [2017/02/05(日) 16:12:16.68 ID:JJBphtlBM.net]
別のスレッドで実行してサスペンド・リジュームするだけ
一般的なスレッド安全性だけ考えておけば個別の処理は必要ない

465 名前:デフォルトの名無しさん (ブーイモ MM07-tPtZ) mailto:sage [2017/02/05(日) 16:23:21.66 ID:InU5HIWuM.net]
>>456
その一般的なスレッド安全性とやらをどうやって確保するの?
止めた時点でたまたま静的コンストラクタが走ってただけで確実にデッドロックするんだぞw

466 名前:デフォルトの名無しさん (ワッチョイ 9323-yene) mailto:sage [2017/02/05(日) 16:34:38.22 ID:63QLrGCH0.net]
俺なら、再開と中断のボタンを2つ用意して、処理中なら中断ボタンだけ、中断中なら再開ボタンだけを表示して処理を分けるな
処理は2度押しだけ気をつけたらなんとかなるでしょ
あと、停止中は中断ボタンを表示して、ディセーブルとする

467 名前:デフォルトの名無しさん (ワッチョイ 7f30-MDPp) mailto:sage [2017/02/05(日) 18:30:12.19 ID:Eg2ZHPf+0.net]
suspendable(cancellable)な処理の書き方はMSDNのタスク並列がどうののページに書いてなかったか?
あれを読めよ
あれが読めないなら手出すのは1年早いから大人しく処理終わるの待ってろ

468 名前:デフォルトの名無しさん (ワッチョイ 433c-yene) mailto:sage [2017/02/05(日) 21:51:14.37 ID:72Lq68qY0.net]
始めたばかりのレベルで
どんなプログラム作ったらスキル上がりましたか?

469 名前:デフォルトの名無しさん (ワッチョイ 337b-IIg7) mailto:sage [2017/02/05(日) 22:47:23.50 ID:moJwvdIq0.net]
ゲームとかとにかく実践が大事
ネット記事とか本とか読んで出来るつもりになるのが一番ダメ

470 名前:デフォルトの名無しさん (ワントンキン MM1f-4SR0) mailto:sage [2017/02/05(日) 22:49:26.11 ID:JJBphtlBM.net]
最初は具体的なアプリを作らないことが重要
文法とランタイムについて納めたら、ひたすらに書籍やウェブサイトでコーディングの良い習慣とイディオムを学ぶ
ある程度自信がついてきたらDDDについて二、三冊本を読む
コーディングはそのあとだな



471 名前:デフォルトの名無しさん (ワッチョイ ffed-ugtB) mailto:sage [2017/02/05(日) 22:51:09.08 ID:jq5X/Y9H0.net]
電卓は状態遷移とか結構奥深い
括弧とかに対応すると構文解析まで勉強できる

472 名前:デフォルトの名無しさん (ワントンキン MM1f-4SR0) mailto:sage [2017/02/05(日) 22:53:11.80 ID:JJBphtlBM.net]
にわか仕込みの汚いコードを書く時間を極力減らすこと
最初に書いた汚いコードが癖になるといつまでも平気で汚いコードを垂れ流す
それはこの業界の先人達が証明している

473 名前:デフォルトの名無しさん (ワッチョイ c349-a8w2) mailto:sage [2017/02/05(日) 22:57:07.16 ID:fsvHmggw0.net]
>>462
DDDじゃ初心者にはチンプンカンプンだろ

474 名前:デフォルトの名無しさん (ブーイモ MM07-tPtZ) mailto:sage [2017/02/05(日) 22:59:17.71 ID:zwp3LS7QM.net]
モチベーションが一番重要だから作りたいものを作ればいい
ただしシステムユーティリティや操作自動化の類だけは避けること
初心者はそういうのを選びがちだが、確実に泥沼に嵌って時間ばかり浪費し、
得られるのは全く応用の利かないバッドノウハウだけ

475 名前:デフォルトの名無しさん (ワッチョイ 53d6-0MWP) mailto:sage [2017/02/05(日) 23:35:26.59 ID:JshVpFTv0.net]
簡単な画像処理するのを書いたかな
書籍のやつを丸コピーだったけど書いた内容が
そのまま画面に反映されるからモチベの維持はバッチリだったわ

476 名前:デフォルトの名無しさん (ワッチョイ 7f4a-yene) mailto:sage [2017/02/06(月) 00:37:58.37 ID:9OgQn1wp0.net]
入門者にシューティングゲーまじお勧め

477 名前:デフォルトの名無しさん (ドコグロ MM7f-C4Pq) mailto:sage [2017/02/06(月) 07:19:50.36 ID:87jFG7WVM.net]
>>465
最近覚えて使いたくてしょうがないんだろ

478 名前:デフォルトの名無しさん (ワントンキン MM1f-4SR0) mailto:sage [2017/02/06(月) 07:48:52.02 ID:gKH+iZUMM.net]
あっここ初心者スレだったか

479 名前:デフォルトの名無しさん (オッペケ Sra7-FWOa) mailto:sage [2017/02/06(月) 11:57:49.53 ID:4QCLkB2dr.net]
俺がプログラミングを覚えたのは金儲けツール作ったこと
よくわからずに作ったから酷いコードだけどそれで2000万くらい儲けた

480 名前:デフォルトの名無しさん (ワントンキン MM1f-nOPp) [2017/02/06(月) 12:17:46.39 ID:yz/cpsC+M.net]
趣味ならゲーム
実務ならめんどくさいことを楽にするためのツール
くらいから始めるといいかも
自分にとってメリットのある目的がないと続かないし



481 名前:デフォルトの名無しさん (ワッチョイ 6f13-w8tn) mailto:sage [2017/02/06(月) 14:37:26.45 ID:QAELN1ME0.net]
PHPみたいにテキストの文章をプログラムのコードとして読み取って実行してくれる方法ありませんか?

482 名前:デフォルトの名無しさん (ワッチョイ ff4c-FIX0) mailto:sage [2017/02/06(月) 14:41:08.80 ID:G2m2OeCC0.net]
PowerShell

483 名前:デフォルトの名無しさん (アウアウオー Sa5f-m1Xa) mailto:sage [2017/02/06(月) 15:40:19.77 ID:n9AZiYjVa.net]
こういうの?
大昔から存在するのは知ってるけど一度も使ったことないわ
www.atmarkit.co.jp/fdotnet/dotnettips/101compileinvoke/compileinvoke.html

484 名前:デフォルトの名無しさん (ワッチョイ 034a-Sup+) mailto:sage [2017/02/06(月) 16:09:20.76 ID:LFg06LIZ0.net]
>>471
どんなツールなん?

485 名前:デフォルトの名無しさん (スプッッ Sd9f-mJ+X) mailto:sage [2017/02/06(月) 18:53:34.50 ID:jtvysINud.net]
動的にコンパイルしてAppDomain作って実行は作った事あるな。
集計関数とか帳票とかで、最初は設定ファイルをパースしてたんだけど、
いつのまにかチューリング完全になって、闇魔法みたいな設定書くやつが現れて、パフォーマンスに影響出始めて。
どーせチューリング完全ならトランスパイルしてコンパイルしたれと思って書いたら我ながら便利な拡張エンジンになった。
その足回りを別チームがアニメーションに使ったりもしてた。

486 名前:デフォルトの名無しさん (オッペケ Sra7-FWOa) mailto:sage [2017/02/06(月) 20:52:45.40 ID:4QCLkB2dr.net]
>>476
世の中、プログラミングなんてまったくできないのに手作業や複数のクソアプリ組み合わせてボロ儲けしてる奴らがたくさんいる
そういう奴らが日々せっせと非効率なことやってるのを「いいツールありますぜ!」って紹介するだけで食いつく

まあ俺が作ったのはそういうのではないけど笑

487 名前:デフォルトの名無しさん (ワッチョイ 0399-MDPp) mailto:sage [2017/02/06(月 ]
[ここ壊れてます]

488 名前:) 21:24:46.43 ID:jjlpYXf70.net mailto: ああイケダ師匠とかがやってるっていう… []
[ここ壊れてます]

489 名前:デフォルトの名無しさん (ワッチョイ a30d-PzOe) [2017/02/07(火) 12:49:58.70 ID:McQyQcJ/0.net]
ListBox ListView GridView DataGrid の違いがよくわかりません
どういう用途で使い分けたらいいのか教えてください

490 名前:デフォルトの名無しさん (ワッチョイ 7f4a-yene) mailto:sage [2017/02/07(火) 21:33:47.53 ID:lZgqbAG+0.net]
ASP.NET WebFormsの話と察して。
古い記憶を元に書くけど、乱暴にまとめるとこんな感じ。

DataGrid:主に表形式データを表示するためのコントロール。
GridView:DataGridの改良版、基本的にDataGridは使用せずこちらを使うべき。
ListView:GridViewに比べて柔軟なためカスタマイズ性が高い。
ListBox:アイテムから1〜N個選択するためのコントロール。

DBから取得したデータを表で出すような代表的なケースでは、データをバインドするだけのGridViewが便利。
GridViewの機能や見栄えに不満があればListViewを使う感じかな。



491 名前:デフォルトの名無しさん (ワッチョイ a30d-PzOe) [2017/02/08(水) 10:37:55.04 ID:rOslvZ8k0.net]
>>481
わかりやすい解答ありがとうございました!

492 名前:デフォルトの名無しさん (ワッチョイ 6f20-0MWP) [2017/02/08(水) 23:22:30.09 ID:JuESMFFV0.net]
DTOって、物理ER図に含めて良いのでしょうか?

Dapperで2つのテーブルから1つのDTOに情報を集約しているのですが
2つのテーブルだけだと説明しにくいかなと思い

でも、一般的に物理ER図にはDBしか出てこないので
どうなのかなと

493 名前:デフォルトの名無しさん (ブーイモ MM9f-tPtZ) mailto:sage [2017/02/08(水) 23:44:56.95 ID:qO3OS2QJM.net]
集約するときのキーがきちんと図示されてればそれでよくね?
集約はあくまで処理の都合であって、データモデリングとはレイヤの違う話だろう
どうしても表現したいなら点線の枠で囲んどけば

494 名前:デフォルトの名無しさん (ワッチョイ a390-/j6a) mailto:sage [2017/02/08(水) 23:48:15.11 ID:yte1dlTr0.net]
C#でTcpClient・TcpListenerを使いHTTPproxyを作っているのですが、リクエストヘッダの解釈ってどうするのがスマートですか?
proxyを経由して通信するアプリは一つだけなので決めうちすることは可能なんですが、あまりにも力技すぎてちょっと躊躇しています
正規表現で地味に一つずつマッチさせていくしかないのでしょうか?

495 名前:デフォルトの名無しさん (ワッチョイ fe22-0RrM) mailto:sage [2017/02/09(木) 01:14:10.21 ID:4sYnDBFk0.net]
>>485
Httpプロキシだったら特定のヘッダー項目以外はぜんぶそのまま送信するだけじゃないのかな?
であれば正規表現はコストが高いので、必要なものだけignore caseで文字列比較でしてあげれば充分じゃないかな。
柔軟なフィルタリング設定機能を提供したいのであれば正規表現でもいいと思う。

496 名前:デフォルトの名無しさん (ワッチョイ 2790-jWyY) mailto:sage [2017/02/09(木) 02:22:50.86 ID:nyEvJ0cJ0.net]
ありがとうございます
2chmateから2chapixyへの橋渡しとして作ろうと思ったんですが2chmateのリクエストヘッダを見たところ自分にはレベルが高すぎました
実際やろうとしてることめちゃくちゃレベル高いですか?そこまで高くないですか?

497 名前:デフォルトの名無しさん (ワッチョイ 7230-DR2M) mailto:sage [2017/02/09(木) 05:06:43.81 ID:2qzHgTI50.net]
そこまで高くない

498 名前:デフォルトの名無しさん (ワッチョイ 7230-DR2M) mailto:sage [2017/02/09(木) 05:07:30.16 ID:2qzHgTI50.net]
いや、初心者ならそれなりに高いか
どのくらい初心者か知らないけど

499 名前:デフォルトの名無しさん (ワッチョイ df64-0xw5) mailto:sage [2017/02/09(木) 06:25:59.74 ID:RvZkCLPt0.net]
しらないことで不安だ。

しかし、なにごとにもはじめがある

500 名前:デフォルトの名無しさん (ラクッペ MMc7-iIq0) mailto:sage [2017/02/09(木) 07:13:17.10 ID:oWJ51HgbM.net]
>>484
レイヤが違うので
やはり適切ではありませんよね

点線で囲んでメモ的な記述にするか
論理ER図に書こうと思います

ありがとうございます



501 名前:デフォルトの名無しさん (ワッチョイ 274f-E76/) mailto:sage [2017/02/09(木) 17:50:17.41 ID:oK6hmqI40.net]
numericupdownで処理するのは数値だけど、
表示をA〜Zみたいにアルファベットに出来ますでしょうか?
Excelの列がA〜なので、出来れば共通にしたいのですが、
コントロール名からして数値のみでしょうか?
無理な場合は数値で表示するか、
不格好ですがテキストボックスを上に被せて、数値をアルファベットに変換します。
よろしくお願い致します。

502 名前:デフォルトの名無しさん (ワッチョイ 9b19-Z42y) mailto:sage [2017/02/09(木) 18:16:50.06 ID:WLzAKPo80.net]
DomainUpDown
ComboBoxかListBoxで十分な気がするけど

503 名前:486 (ワッチョイ 7b90-jWyY) mailto:sage [2017/02/09(木) 20:20:01.65 ID:8SmAIcEJ0.net]
やりたいことは2chmateでの過去ログ取得です
2chmateのプロキシに自PCを設定して取得したTcplistenerで取得したスレ取得時のリクエストには
CONNECT api.2ch.net:443
Host: api.2ch.net
しかログが残らなくて困惑しています
api仕様を見るとhttps://api.2ch.net/v1/auth/にいろいろつけて取りにいくみたいですが上のリクエストが解釈できません

504 名前:デフォルトの名無しさん (ワッチョイ fe20-cGUq) [2017/02/09(木) 23:03:33.04 ID:wR2ltVTB0.net]
C#で小さいアプリを作ったことがある程度の一人社内SEで
WBS管理アプリを作るために派遣の人に来て貰ったのですが
チームでの開発経験が無いので、どう作業しようか悩んでいます

クラス設計書に基づいたクラス配置をしたプロジェクトを準備し
各クラスはインターフェースでメソッドを規定しているので
後は各クラスの実装を書いて貰うだけと考えているのですが
OOPを意識した開発として、誤っていないでしょうか?

ちなみに派遣の人は、VB6と、ちょっとVB.NETをしたことがある人で
手続き型の開発しかしたことが無いとのことなので
やり方はこちらの指定に従うとのことでした

505 名前:デフォルトの名無しさん (ワッチョイ a3d6-cGUq) mailto:sage [2017/02/09(木) 23:10:21.00 ID:1V94m8gi0.net]
何でここで質問するの?バカなの?

506 名前:デフォルトの名無しさん (ワッチョイ fe20-cGUq) mailto:sage [2017/02/09(木) 23:16:02.05 ID:wR2ltVTB0.net]
C#のプロジェクトで、初心者の内部設計からの話なので
ここのスレかなと思ったのですが
内部設計スレを探してみます

507 名前:デフォルトの名無しさん (ブーイモ MM52-CvLw) mailto:sage [2017/02/10(金) 00:24:51.79 ID:dcBwz+q1M.net]
プロジェクト管理ツールなんか優れた既製品が世の中に腐るほどあるだろ
どっかのSaaS契約すれば終わ

508 名前: []
[ここ壊れてます]

509 名前:デフォルトの名無しさん (ワッチョイ 7bdc-3OfB) mailto:sage [2017/02/10(金) 00:33:06.11 ID:7mXc6D7Y0.net]
今すぐ考え直してSaaSを契約し、余った期間は派遣の人と一緒に旅行にでも行ってこい
どう考えても無駄

510 名前:486 (ワッチョイ 7b90-jWyY) mailto:sage [2017/02/10(金) 00:39:40.91 ID:H4LboL2a0.net]
教えて欲しいのですが、2chmate→自作串→2chの場合、SSL通信の間に入らないといけないのですが
2ch側がどんなメッセージを返しているのかわからないと自作串がそもそも作れなかったりしませんか?
2chmate→自作串→apixyの場合でも2chmateはSSL通信しようとするのでどうにかごまかさないとみたいです・・・
上記で可能なんでしょうか?不可能でしたら何かいい案ありませんでしょうか?



511 名前:デフォルトの名無しさん (スププ Sd52-VNHE) mailto:sage [2017/02/10(金) 00:56:43.26 ID:8nnnziXAd.net]
>>500
SSLの通信に割って入れたらそりゃもうSSLではなかろう。

512 名前:デフォルトの名無しさん (ワッチョイ b7bd-0RrM) mailto:sage [2017/02/10(金) 00:58:31.74 ID:mCg6Ou1P0.net]
>>500
2chmateのandroid端末は自由にいじれるんですよね?
であれば、自作の証明書をインストールして、
自作の串側でSSLを復号して、2chにhttpsでリクエストを送ればできますよ。
例えばFiddlerはそうやってますよね。

513 名前:デフォルトの名無しさん (スププ Sd52-VNHE) mailto:sage [2017/02/10(金) 01:40:28.84 ID:8nnnziXAd.net]
>>502
2chmateがその自己証明の証明書をどう扱うかだな。

514 名前:デフォルトの名無しさん (ワッチョイ 93f0-i7f5) mailto:sage [2017/02/10(金) 02:55:07.11 ID:354nXyOq0.net]
targetSdkが24みたいだから
Android 7.0以上で動かすとシステムのCA証明書しか使えないかな

apiのリクエスト
header
POST /v1/echo/tech/1482772061
Host: api.2ch.net
User-Agent: Monazilla/1.00 ...
X-2ch-UA: ...
...

body
sid=...&hobo=...&apikey=...
でレスポンスコードとかThread-StatusとかでDATの状態判断する

515 名前:494 (ラクッペ MMc7-iIq0) mailto:sage [2017/02/10(金) 07:44:12.22 ID:mH0Fm1nqM.net]
ITの便利屋みたいなポジションで
暇な時間使ってWBS管理作れ
言われた上にクラウドがダメなので
SaaSは採用出来ないんです

で、4画面ほどのシステムの要件定義は済ませたので
クラスをインターフェイスで規定したプロジェクトを派遣の人に渡せば完成しそう、
OOP便利だと思ったのですが、
インターフェイスの使い方が邪道だったらどうしようと思い初心者スレに書きました。

失礼しました

516 名前:デフォルトの名無しさん (スフッ Sd52-VNHE) mailto:sage [2017/02/10(金) 07:46:14.55 ID:74WKLgk8d.net]
>>505
そっとRedmine導入すれば?

517 名前:486 (ワッチョイ 7b90-jWyY) mailto:sage [2017/02/10(金) 10:06:15.81 ID:H4LboL2a0.net]
>>504
結局それじゃあ作れないですね
2chmateのリクエストも若干違ってきますし・・・

518 名前:デフォルトの名無しさん (オイコラミネオ MM4e-BUfI) mailto:sage [2017/02/10(金) 10:08:42.79 ID:pOwXO8iOM.net]
>>504
androidの設定からインストールできなかったけ?

519 名前:デフォルトの名無しさん (ワントンキン MM62-cEkq) [2017/02/10(金) 13:00:28.24 ID:6scz6mrwM.net]
わざわざ派遣までやとって作るとか
どんな特殊なのを求められてるんだろう

520 名前:デフォルトの名無しさん (ブーイモ MM52-CvLw) mailto:sage [2017/02/10(金) 13:56:29.81 ID:dcBwz+q1M.net]
>>505
クラウドがダメならオンプレでOSSやパッケージを導入すれば?



521 名前:デフォルトの名無しさん (ワッチョイ 93f0-Kx9n) mailto:sage [2017/02/10(金) 13:59:57.09 ID:354nXyOq0.net]
>>507-508
mateを使うスマホが7.0未満なら>>502のやり方が出来る
(オレオレCAの証明書をインストールして、オレオレCAを使ってサーバーの証明書を作る)

522 名前:デフォルトの名無しさん (オッペケ Srf7-S/g0) mailto:sage [2017/02/10(金) 14:44:38.69 ID:8f4rSBP3r.net]
もう何言ってんのかまったくわからん
初心者スレじゃないな

523 名前:デフォルトの名無しさん (ワッチョイ a6ce-E76/) mailto:sage [2017/02/10(金) 15:16:26.64 ID:6UihQBZT0.net]
元はC#絡みっぽいけど>>500から逸脱してそれに付き合う回答者がアホなんだからしょーがないね

524 名前:デフォルトの名無しさん (ワッチョイ 327b-F1sY) mailto:sage [2017/02/10(金) 15:38:49.89 ID:ZWQLMh1M0.net]
1>>からして回答者がいるか誘導されない限りつづくしな

525 名前:デフォルトの名無しさん (アウアウウー Sab3-cZcy) mailto:sage [2017/02/10(金) 15:40:26.93 ID:izdz/JI9a.net]
別に逸脱なんかしてねえし、そもそもそういうレスが一番無価値だ。
自分に突っ込めないのは馬鹿の特権だなほんっと。

別に馬鹿でもいいけど回答する人間のモチベーションを挫くようなこと書くなってカスが

526 名前:デフォルトの名無しさん (ワッチョイ 93f0-Kx9n) mailto:sage [2017/02/10(金) 15:53:13.11 ID:354nXyOq0.net]
プロキシの質問はこっちがいいかも
専用ブラウザを助けるプロクシ作らね?17串目
potato.2ch.net/test/read.cgi/software/1466955127/

527 名前:デフォルトの名無しさん (ワッチョイ dfd9-DR2M) mailto:sage [2017/02/10(金) 16:08:23.65 ID:W+YEktJw0.net]
pythonスレでクラックのためにmitm串の使い方を聞いてた奴と大差ない

528 名前:504 (ワッチョイ fe20-iIq0) mailto:sage [2017/02/10(金) 18:09:24.11 ID:EP3wxk4m0.net]
Redmineは試したのですが
使い方が解らんと言われました

会社特有のWBSの詳細情報も見たいとかで
ASP.NETで簡単なモックを作ったら
これで良いと言われたんですが
自分は新年度人事の準備があるので
派遣の人に実装を任せる事となり

機能仕様と物理ERDとクラスとインタフェイスとテスト要領を準備したので
一般的にこれで実装出来るのか本職の方に聞いてみたかったんです

派遣の人は実装の経験しか無いとのことで、仕様を用意するのはこちらの責任区分と考え未経験ながら色々調べたつもりです

529 名前:デフォルトの名無しさん (アウアウオー Sa8a-BhAG) mailto:sage [2017/02/10(金) 18:55:50.27 ID:nIvAkTeQa.net]
> Redmineは試したのですが
> 使い方が解らんと言われました
www
相手と相談しながら決めてけばいいだろ。でもどっちもコミュ障なんだろうな

530 名前:デフォルトの名無しさん (ワントンキン MM62-S0So) mailto:sage [2017/02/10(金) 19:02:20.94 ID:qb46k0xYM.net]
WBSはデータベースでグラフを扱うから練度の低い派遣だと炎上するよ



531 名前:デフォルトの名無しさん (ワッチョイ 7230-DR2M) mailto:sage [2017/02/10(金) 19:49:48.59 ID:STa9hXIn0.net]
無理だと言ったところで何も変わらなそうですし
やりゃあいんじゃないですか(鼻ホジ)

532 名前:デフォルトの名無しさん (ワッチョイ b7bd-Gj9/) mailto:sage [2017/02/10(金) 21:24:28.47 ID:mCg6Ou1P0.net]
>>507
これが参考になるんじゃないかな
ttps://github.com/justcoding121/Titanium-Web-Proxy
ざっと見た感じだと全部C#で実装されてるみたいだから
SSLの仕組みを理解すれば読めると思う。
これをこのまま使ってもいいと思うけど。

533 名前:デフォルトの名無しさん (ワッチョイ be5b-KlhN) mailto:sage [2017/02/11(土) 14:03:10.30 ID:WeBIHJYm0.net]
C#触りはじめたばかりの者だが恐ろしい話題だな。

普通はこんな質問に余裕で答えられるレベルじゃないと手を出しちゃいかんと思うが。
手探り含めて挑戦してみるという状況を上司も分かった上での話なら十分あり得るけど。

534 名前:デフォルトの名無しさん (ワントンキン MM62-S0So) mailto:sage [2017/02/11(土) 14:45:53.58 ID:Z2oJz4TsM.net]
クラスって何ですかっていうレベルの新人が平気で責任の伴う筈のコードを触れちゃう業界だよね

535 名前:デフォルトの名無しさん (ワッチョイ 93bb-cGUq) mailto:sage [2017/02/11(土) 15:47:23.29 ID:sLXLvEEW0.net]
国家資格がありながら免許制ではないというザル制度だから。

536 名前:デフォルトの名無しさん (ワッチョイ 173c-Dg5S) mailto:sage [2017/02/11(土) 16:04:20.29 ID:cBbytIAB0.net]
うちの会社は資格があるとちょっと給料増える
有り難いといえば有り難いが、資格なんてそれだけの存在

537 名前:デフォルトの名無しさん (ワントンキン MM62-S0So) mailto:sage [2017/02/11(土) 18:51:19.40 ID:Z2oJz4TsM.net]
うちの若い衆は資格持ってない奴の方が仕事ができる
仕事めいいっぱいやってるから試験受ける元気がないんだと

538 名前:デフォルトの名無しさん (ワッチョイ 323c-zlRv) mailto:sage [2017/02/11(土) 19:19:29.64 ID:VLfM/32P0.net]
>>526
いいなあうちは合格時の報償金だけだわ

>>527
> 仕事めいいっぱいやってるから試験受ける元気がないんだと
そんな面倒な試験じゃねーだろ w

539 名前:デフォルトの名無しさん (ワントンキン MM62-cEkq) [2017/02/11(土) 19:20:23.82 ID:TEW+p5o+M.net]
給料5万アップならがんばるけど
賞金5万ならいらねー

540 名前:デフォルトの名無しさん (ワントンキン MM62-S0So) mailto:sage [2017/02/11(土) 19:33:12.02 ID:Z2oJz4TsM.net]
>>528
使える若手に休日なんかねえしwww



541 名前:デフォルトの名無しさん (ワッチョイ 323c-zlRv) mailto:sage [2017/02/11(土) 20:05:27.48 ID:VLfM/32P0.net]
>>530
ブラック乙

542 名前:デフォルトの名無しさん (ワッチョイ 937b-A+aG) mailto:sage [2017/02/11(土) 20:27:04.32 ID:LG38aSbV0.net]
マ板いけ

543 名前:デフォルトの名無しさん (ワッチョイ 7b90-jWyY) mailto:sage [2017/02/11(土) 21:51:13.78 ID:5HwoZWaF0.net]
>>522
ありがとうございます、時間はかかると思いますが1行1行理解していきたいと思います

ひとつ疑問に思ったのですが、HttpWebRequestとHttpWebResponseって何のために作られたんでしょうか?
WebRequest、WebResponse使えばいい話ですし、逆に制約が多くなるのであまり存在意義を感じないのですが・・・

544 名前:デフォルトの名無しさん (ワッチョイ be5b-KlhN) mailto:sage [2017/02/11(土) 22:00:44.25 ID:WeBIHJYm0.net]
資格については技術の無い人が箔を付けるために取る場合も多い。
技術のある人は取る意味がわからないと感じる人も多いでしょ。

545 名前:デフォルトの名無しさん (ワッチョイ 7bdc-3OfB) mailto:sage [2017/02/11(土) 22:04:58.17 ID:i65Ibvj/0.net]
>>533
WebRequest/WebResponseは抽象クラスなので直接使うことはできない
WebRequest.Createなどでインスタンスを作成しようとすると、
実際にはプロトコルに応じてHttpWebRequestやFtpWebRequestなどの派生クラスのインスタンスが返る
だからお前がいつもWebRequestだと思って使っているのは実はHttpWebRequest

546 名前:デフォルトの名無しさん (ワッチョイ 93bb-cGUq) mailto:sage [2017/02/11(土) 23:42:14.75 ID:sLXLvEEW0.net]
>>527
知識がないから作業量が増えてるだけ。
奴隷商人はそのほうが収入増えるから仕事ができるという嘘をいう歪んだ業界。

547 名前:デフォルトの名無しさん (ワッチョイ fe13-Znb2) mailto:sage [2017/02/12(日) 00:07:11.61 ID:4jYnBLuB0.net]
しょうもない資格取るくらいなら仕事して金稼ぐわw

548 名前:デフォルトの名無しさん (ワッチョイ fe20-cGUq) mailto:sage [2017/02/12(日) 00:16:23.91 ID:lRABItTh0.net]
クラス設計でメソッド定義してるんだから
わざわざインターフェースで縛る必要ないね

549 名前:デフォルトの名無しさん (ワッチョイ fe13-Znb2) mailto:sage [2017/02/12(日) 00:24:23.38 ID:4jYnBLuB0.net]
>>538
多態使うときにinterface使えばいい

550 名前:デフォルトの名無しさん (ワッチョイ 173c-Dg5S) mailto:sage [2017/02/12(日) 00:31:30.89 ID:XCktPVjd0.net]
>>534
FEとAPくらいは学生時代に取っとけばいいよ
俺はそうした

新卒以外なら、資格だけあったって実務経験ない分野じゃ役に立たねーしな……
あんま働きながら取ろうって気にはならんね 休日は休んでいたいし



551 名前:デフォルトの名無しさん (ワッチョイ 7b90-jWyY) mailto:sage [2017/02/12(日) 04:22:40.76 ID:mdC/jwcN0.net]
httplistener使ってwebサーバー作るときには管理者権限必要ですけど
tcplistener使ってwebサーバー作るときに管理者権限必要ないのはなんでですか?
それとも僕の勘違いでtcplistenerでも管理者権限必要でしたっけ?

552 名前:デフォルトの名無しさん (ワッチョイ 323c-zlRv) mailto:sage [2017/02/12(日) 08:05:00.20 ID:yxF5W3i10.net]
資格なんてなんの役にもたたんよ

って言ってる自称技術のある俺
って奴も多いけどな w

553 名前:デフォルトの名無しさん (ブーイモ MM53-CvLw) mailto:sage [2017/02/12(日) 08:39:28.74 ID:WpegkxZ+M.net]
「くだらないことで実力より低く評価されるのは損だ」という考え方ができないんだろうね
典型的な底辺止まりの思考

554 名前:デフォルトの名無しさん (アウアウオー Sa8a-BhAG) mailto:sage [2017/02/12(日) 08:50:11.13 ID:+YHMx5k5a.net]
同じことやらせても新しいこと身につける奴とそうでない奴がいるからな
一夜漬けするような後者に資格受験は時間の無駄
前者でも好奇心強い奴は資格受験に頼らずとも自分で知識集めてくから時間の無駄
意欲のない前者タイプには役立

555 名前:ツ。大概的な意味合いもあるが、おまえら意欲ないから会社は資格取らせようとするんだよ。後者だから無駄に終わるがw []
[ここ壊れてます]

556 名前:デフォルトの名無しさん (ワッチョイ 7bdc-CvLw) mailto:sage [2017/02/12(日) 08:59:32.57 ID:RQ58gzfk0.net]
IPA系は少なくとも池沼ではないことの保証としては極めて有効
専門卒やバカ大の文系だととんでもないのがいるからな
まともな大学出てるならいらない

557 名前:デフォルトの名無しさん (ワッチョイ a3d6-cGUq) mailto:sage [2017/02/12(日) 09:06:52.58 ID:LPrkPiV20.net]
資格手当で単純に給料増えるから無駄にはならないだろ

558 名前:デフォルトの名無しさん (アウアウウー Sab3-cZcy) mailto:sage [2017/02/12(日) 13:58:42.98 ID:6G/oP1N0a.net]
またしょーもない雑談が続いてるけど、こういう連中って本人は「他人」(会社や同僚)の愚痴を
語ってるつもりなんだろうけど結局それでてめえ自身を語ってることに気が付かないのかね。

お前がくだらない環境で働いてるのはお前自身がくだらない人間だからだよ悪いけど。
くだらないクダ巻きは居酒屋ででもやれって馬鹿

559 名前:デフォルトの名無しさん (ワッチョイ a6cb-g4mt) mailto:sage [2017/02/12(日) 14:10:50.23 ID:LI/qrlfJ0.net]
何言ってるのかわからないけど
設計書書いてからプログラム組めよ

560 名前:デフォルトの名無しさん (オッペケ Srf7-S/g0) mailto:sage [2017/02/12(日) 15:45:29.41 ID:/b84DIntr.net]
いろんなツールで逆アセできてしまうんだけど、せめて難読化とかどうしてる?
有料バカ高ツール買うしかないの?



561 名前:デフォルトの名無しさん (ブーイモ MM52-CvLw) mailto:sage [2017/02/12(日) 15:46:47.51 ID:9zVyZuTsM.net]
気にしない
本当に重要なロジックはクラウドに置く

562 名前:デフォルトの名無しさん (ワッチョイ a3d6-cGUq) mailto:sage [2017/02/12(日) 15:53:30.18 ID:LPrkPiV20.net]
どうしても必要ならフリーの難読化ツール使えばいい
検索すれば活発に開発しているかどうかはともかくとして沢山見つかるぞ

563 名前:デフォルトの名無しさん (スププ Sd52-Znb2) mailto:sage [2017/02/12(日) 15:58:51.80 ID:30lbeLdWd.net]
>>550
スタンドアロンの場合はどうですか?

564 名前:デフォルトの名無しさん (オッペケ Srf7-S/g0) mailto:sage [2017/02/12(日) 16:00:16.22 ID:/b84DIntr.net]
>>550
ちとクラウドには置けないんだ

>>551
探したけど4.5や4.6に対応してなくてせいぜい3.xか4までなんだよなあ…
情報古いのばかりだし、開発止まったり開発してるやつは有料化してるし
2万くらいまでなら出すけど10万以上とか悩む…

565 名前:デフォルトの名無しさん (ワントンキン MM62-S0So) mailto:sage [2017/02/12(日) 16:06:34.06 ID:UUbs1MWiM.net]
クラウドに置けない理由は?
そんな重要なコードなのか?

566 名前:デフォルトの名無しさん (ワッチョイ 3223-CIv3) mailto:sage [2017/02/12(日) 16:08:50.62 ID:7mehC9vV0.net]
UWPにするのも方法の一つだな

567 名前:デフォルトの名無しさん (ワッチョイ fe13-Znb2) mailto:sage [2017/02/12(日) 16:09:45.51 ID:4jYnBLuB0.net]
クラウド前提でないシステムの開発なんて普通にあるだろ

568 名前:デフォルトの名無しさん (ワッチョイ a3d6-cGUq) mailto:sage [2017/02/12(日) 16:44:05.89 ID:LPrkPiV20.net]
>>553
無償 (4.5対応)
https://yck1509.github.io/ConfuserEx/
有償 (4.61対応)
babelfor.net/

569 名前:デフォルトの名無しさん (オッペケ Srf7-S/g0) mailto:sage [2017/02/12(日) 17:39:32.01 ID:/b84DIntr.net]
>>554
会計ソフトみたいなやつとか画像ソフトみたいなやつとか
会計ソフトだとデータをクラウドに持ってくの客が嫌がる
画像ソフトだといちいちクラウドなんかで処理してたら激遅で使い物にならん

>>557
おおっあるんだな…!
見てみます!

570 名前:デフォルトの名無しさん (ワントンキン MM62-S0So) mailto:sage [2017/02/12(日) 17:46:04.03 ID:UUbs1MWiM.net]
今時素人の管理するローカルにデータおいとく方が危険だろうに
速度必要ならネイティブアプリ書くし
なんだかなぁ



571 名前:デフォルトの名無しさん (ブーイモ MM52-CvLw) mailto:sage [2017/02/12(日) 18:51:21.87 ID:9zVyZuTsM.net]
>>558
そんなもんわざわざ難読化する必要あるのか?
受託開発なら客くらいは信用してやれよ

572 名前:デフォルトの名無しさん (ワッチョイ fe13-Znb2) mailto:sage [2017/02/12(日) 19:29:23.53 ID:4jYnBLuB0.net]
押し付けがましいクラウド推しだなw

573 名前:デフォルトの名無しさん (ワッチョイ 173c-lIOg) mailto:sage [2017/02/12(日) 19:56:31.74 ID:vM2j5Kno0.net]
>>561
クラウドとクラサバの区別すらできていないように見えるな

574 名前:デフォルトの名無しさん (ワッチョイ 93bb-cGUq) mailto:sage [2017/02/12(日) 21:09:00.16 ID:8IP9T+dI0.net]
クラウドはバズワードだろw

575 名前:デフォルトの名無しさん (ワッチョイ 9341-Avde) [2017/02/12(日) 21:35:43.32 ID:d34X37hQ0.net]
いうほどバズか?
出始めはそうだったろうけど

576 名前:デフォルトの名無しさん (ワッチョイ 769d-cGUq) mailto:sage [2017/02/12(日) 21:59:02.46 ID:X2lEwKBH0.net]
クラウドに置けとか、なんで知障は明後日の回答したがるんですかね?
>>557みたいなことが書けない知らないなら黙ってればいいのに

577 名前:デフォルトの名無しさん (ブーイモ MM52-CvLw) mailto:sage [2017/02/13(月) 07:55:48.89 ID:K3AR3nw+M.net]
実際AWSとか経験してしまうともう全部これでいいだろと思うようになるよ
うちの会社はマジでインフラビジネス崩壊の危機に直面してる

578 名前:デフォルトの名無しさん (ワッチョイ df09-DR2M) mailto:sage [2017/02/13(月) 09:39:21.50 ID:5AbbZsGI0.net]
ちょっと会話が成り立ってないみたいなんですけど
これだから池沼って言われるんではないですかねww

579 名前:デフォルトの名無しさん (ワッチョイ 93bb-cGUq) mailto:sage [2017/02/13(月) 10:49:34.63 ID:6O142uRC0.net]
ここでフックやプロキシや難読化の質問する時点で
遠隔ウイルス片山と同じ悪いこと考えてるんだから真面目にレスする必要もあるまい。

580 名前:デフォルトの名無しさん (オッペケ Srf7-S/g0) mailto:sage [2017/02/13(月) 12:20:44.16 ID:axxRkyStr.net]
難読化質問した者だけど、悪いことする人だけが難読化するって意識なの?



581 名前:デフォルトの名無しさん (ワッチョイ 27c0-CIv3) mailto:sage [2017/02/13(月) 12:22:21.24 ID:gHEQ/2iY0.net]
難読化は悪いことする人への対策だしな

582 名前:デフォルトの名無しさん (ワッチョイ 7bdc-CvLw) mailto:sage [2017/02/13(月) 12:33:28.50 ID:u3X6aEIq0.net]
問題は誰が悪いことするのかでしょ
特定の客にしかバイナリを配らないんなら客からの要求がない限りは難読化なんか要らない
客にも漏らせない特殊な技術があるとしたら、それは難読化云々ではなく契約の問題
客がそれを破ったら当然訴えりゃいい

583 名前:デフォルトの名無しさん (スプッッ Sd72-jFC1) mailto:sage [2017/02/13(月) 12:38:33.29 ID:bVT/P/ned.net]
悪い人が本気出せば難読化したところで解読できますし
技術に疎い人間を納得させるための方法としては有効だとは思うけど

584 名前:デフォルトの名無しさん (オッペケ Srf7-S/g0) mailto:sage [2017/02/13(月) 12:42:05.58 ID:axxRkyStr.net]
一般人販売するから簡単にクラックされるのもなあ
ライセンス関係のところやられると、アクティベーションしなくても使えるようになっちゃうし

585 名前:デフォルトの名無しさん (オッペケ Srf7-S/g0) mailto:sage [2017/02/13(月) 12:43:19.88 ID:axxRkyStr.net]
まあwindowsやフォトショでさえクラックされてるしな
底辺の俺(ら)が何をやっても無駄か笑

586 名前:デフォルトの名無しさん (アウアウオー Sa8a-BhAG) mailto:sage [2017/02/13(月) 12:44:03.70 ID:ubVZSqMka.net]
金庫にお金入れたところで盗まれるから入れずに置いといて問題ない
金庫なんて盗みに疎い人間を納得させるためだけのもんだ
って言ってるようなもんだな

587 名前:デフォルトの名無しさん (ブーイモ MM52-CvLw) mailto:sage [2017/02/13(月) 12:48:58.22 ID:K3AR3nw+M.net]
>>575
金庫は言い過ぎ
エロ本をベッドの上に堂々と置くかベッドの下に隠すか、くらいの違い

588 名前:デフォルトの名無しさん (アウアウウー Sab3-cZcy) mailto:sage [2017/02/13(月) 12:53:33.66 ID:1vnuYgLka.net]
>>569
それはないけど、ちょっと自意識過剰な人なのかなって疑いは正直持つねw
そんな高度なプロプラ持ってる人はこんなところで質問しないと思うし

もちろん好意的に考えれば、>>571が言うような事情を抱えた零細企業の従業員って
可能性もありうるけど

俺も零細にいた時、インストールシールドとか買ってもらえなくてVSのセットアッププロジェクトに
力技でシリアルキーの検証機能を組み込んだことあるよw

589 名前:デフォルトの名無しさん (スププ Sd52-Znb2) mailto:sage [2017/02/13(月) 14:21:46.45 ID:Xm/Iv1XXd.net]
>>566
この人しつこい

590 名前:デフォルトの名無しさん (オッペケ Srf7-S/g0) mailto:sage [2017/02/13(月) 14:50:05.75 ID:axxRkyStr.net]
>>577
ちょっとスレの目的とは外れるからこの件をずっと言うのもあれだけど
孤独な自営なので取り引き先に納品とかじゃないんだ
あと本業はプログラマじゃないのでここからは出られないと思う



591 名前:デフォルトの名無しさん (ワッチョイ 124c-0xw5) mailto:sage [2017/02/13(月) 16:12:42.48 ID:LAv/WUos0.net]
>>577
インストールシールドで組んでも同じ事。
照合用のDLL内部に細工組まないと、ダンプで読めちゃう。

592 名前:デフォルトの名無しさん (アウアウオー Sa8a-BhAG) mailto:sage [2017/02/13(月) 16:42:06.47 ID:ubVZSqMka.net]
>>580
照合用のDLL内部に細工組み込んでも同じ事。少しいじったら使えちゃう

難読化もシリアルは当たり前だが、クラウドでさえも盗人を防ぐことはできないんだよ
防ぐならバイナリ配布やサービス提供をやめるしかない

593 名前:デフォルトの名無しさん (アウアウウー Sab3-cZcy) mailto:sage [2017/02/13(月) 17:40:39.81 ID:1vnuYgLka.net]
>>580
そういう話じゃなくて、MSが提供してるセットアッププロジェクトには
シリアルナンバーの類を検証する機能がそもそも存在しないのよ

クラック対策とかそれ以前の話

594 名前:デフォルトの名無しさん (アウアウカー Sa1f-KlhN) mailto:sage [2017/02/13(月) 17:45:28.33 ID:5u9YjgZYa.net]
難読化が必要な人ってどういう人か?って話から零細と推測して、似た境遇だったことがある人が感想を述べただけでしょ。

読めちゃうかどうかはそこではどうでも良いだろ。
人の言いたいことを読み取れない奴が多いな。

595 名前:デフォルトの名無しさん (ワッチョイ 124c-0xw5) mailto:sage [2017/02/13(月) 18:19:03.34 ID:LAv/WUos0.net]
>>581
そういう事はもちろん承知。

いくら照合テーブルを複数用意しても、ジャンプ命令で抜けれたらどうもこうもない。



で、年末に照合用サーバーを納めたとこよ

596 名前:デフォルトの名無しさん (ワッチョイ 3e7b-Ol/0) mailto:sage [2017/02/13(月) 23:54:38.62 ID:64u1b7/j0.net]
>>584
サーバ見に行くところにパッチ当てて、
強制的にtrue返すようにしておいたよ

597 名前:デフォルトの名無しさん (ワッチョイ 9341-Avde) [2017/02/14(火) 07:05:19.58 ID:1IUMjXL00.net]
隠しメッセージを置いておくくらいはしたいもんだ

このメッセージを見たものはハゲます、みたいな

598 名前:デフォルトの名無しさん (ワッチョイ 2790-jWyY) mailto:sage [2017/02/14(火) 09:44:42.37 ID:Nim8Pln30.net]
数独を解くアプリを作っているのですが、上級問題になると解けない問題があります

フローはこんな感じなんですが何が足りないんでしょうか?
まず不明な数を0と置きます、該当マスの縦横、3x3のブロック内を検索し、見つけた数「n」とし9個の配列を持つbool型のflag[n-1]をtrueにして
もしbool型変数flagのfalseが一つしかない場合、絞り込めたと判断しflagのfalseの位置を該当のマスに代入します
これをループさせて、すべての配列で0がない場合、一周して一度も代入できていない場合を抜ける条件としています

ソースも貼っておきます。下側は解けるのですが上側は解けないです
https://ideone.com/uwvM7n

599 名前:デフォルトの名無しさん (ワッチョイ 93bb-cGUq) mailto:sage [2017/02/14(火) 10:29:46.12 ID:dpHbb6/Q0.net]
wikip見てルールは軽く理解したが、それで解けるわけないだろw
関係する組み合わせもすべてチェックしろw

600 名前:デフォルトの名無しさん (ワッチョイ 1258-3CwI) mailto:sage [2017/02/14(火) 11:30:18.74 ID:8kq18t1J0.net]
音声をSoundPlaerで再生しようとするプログラムを作っています

単純にプロジェクト作成で作られるForm1に音声再生用クラス(SoundPlayer)を用意
別スレッドで再生する関数(SoundPlayer.Play)を作って音声再生を実施する形にしてます

そこで実体化とかで親フォーム(Form1)を指定する形にして再生終了したときに
form1.Invork((MethodInvoker)delegate(){form1.endPlayEvent()});
で関数呼び出すと終了時のForm1のボタンとかが操作ができるのはわかります

しかし別プログラムに再生用クラスを持っていくときに
できるだけこのクラスを書き換えしたくないので
Formに通知してイベントを起動する形とかできるのでしょうか?



601 名前:デフォルトの名無しさん (ワッチョイ 124c-YCZx) mailto:sage [2017/02/14(火) 11:32:16.56 ID:CQeCieXf0.net]
>>589
もうちょい詳しく。

プロセス間通信みたいなもん?

602 名前:デフォルトの名無しさん (アウアウウー Sab3-cZcy) mailto:sage [2017/02/14(火) 11:38:24.01 ID:PdY4D7f4a.net]
そんな難しい話じゃなく、恐らくFormに処理を書いちゃってるVBerなノリの人なんでしょう

603 名前:デフォルトの名無しさん (ワッチョイ 1258-3CwI) mailto:sage [2017/02/14(火) 11:49:51.24 ID:8kq18t1J0.net]
>>590
VBerかはわからないけどこれから色々書いていって学ばないと行けないのは分かってる

とりあえずやってみようとしているのは
Form1のボタンクリック(ボタンの無効化)

音声データを作って、再生クラスへ投げる

別スレッドで処理開始(await Task.Run()=>を使用)

SoundPlayer.PlaySync()で再生

再生終了したときにForm1に終了を通知

通知を受けたForm1が再生終了の処理(ボタンの有効化)

今回はボタンの無効化だけど、他の処理もやることになるかもと思って聞いてみた

604 名前:デフォルトの名無しさん (ワッチョイ 124c-YCZx) mailto:sage [2017/02/14(火) 11:58:52.16 ID:CQeCieXf0.net]
何か、Programに静的メンバーでその再生クラスを入れればいいんじゃね
とエスパー?

605 名前:デフォルトの名無しさん (ワッチョイ 3223-ENO3) mailto:sage [2017/02/14(火) 12:12:01.84 ID:zkaGzzQt0.net]
>>592
要するにコントロールのスレッドセーフな呼び出しでしょ?外部からInvokeするより、やはりTaskを返すべきじゃないかなぁ
TaskCompletionSourceで実体のない任意に状態を設定できるTaskも作れる、あとはForm側でawaitするなり
TaskScheduler.FromCurrentSynchronizationContext()を与えてContinueWithしておくなり…

606 名前:デフォルトの名無しさん (アウアウウー Sab3-cZcy) mailto:sage [2017/02/14(火) 12:13:11.38 ID:PdY4D7f4a.net]
>>592
真面目な話、何が聞きたいのかちゃんと他人に理解できるように書かないと
誰も回答しようがないよ。

悪いけど何がしたくて何を質問してるのかさっぱりわからない

607 名前:デフォルトの名無しさん (ワッチョイ 1258-3CwI) mailto:sage [2017/02/14(火) 12:18:48.12 ID:8kq18t1J0.net]
>>593-595
わけわからない質問してごめん
色々ゴチャゴチャになってて考えとかが纏まってない気がしてきた
ちょっと休憩とかして、頭をクリアにしてから書いて貰ったことを調べてみる

608 名前:デフォルトの名無しさん (ワッチョイ 2790-jWyY) mailto:sage [2017/02/14(火) 12:37:48.40 ID:Nim8Pln30.net]
>>588
すいません、関係する組み合わせとはなんですか?

609 名前:デフォルトの名無しさん (ワッチョイ df6d-DR2M) mailto:sage [2017/02/14(火) 12:55:23.20 ID:XyImroZT0.net]
初心者は大人しくバックトラックで解いた方がいいんでないの

610 名前:デフォルトの名無しさん (ワッチョイ df6d-DR2M) mailto:sage [2017/02/14(火) 12:58:55.86 ID:XyImroZT0.net]
何らかの事情で劇的な速度が欲しいならSATソルバー使う方が速い



611 名前:デフォルトの名無しさん (ワッチョイ 93bb-cGUq) mailto:sage [2017/02/14(火) 13:09:33.16 ID:dpHbb6/Q0.net]
>>597
9*(決まってない空白数)だけパターン数があると考えてすべて整合性チェックすればいいんだよ。
あとは自由に最適化しろ。

612 名前:デフォルトの名無しさん (ワッチョイ 635b-t8AD) mailto:sage [2017/02/14(火) 17:38:40.59 ID:BsjgcFem0.net]
複数選択可のListBoxのSelectedIndexChangedイベントにおいて、
今まさに選択されたアイテムのindex (VBのListBox.ListIndexのような感じです)を得るにはどうすれば良いですか。

613 名前:デフォルトの名無しさん (ラクッペ MMc7-iIq0) mailto:sage [2017/02/14(火) 18:37:27.66 ID:e3yTVnI+M.net]
formアプリとただのASP.NETと
VBはもうサポートしなくて良いよね

分散しまくってるから
リソース集中して欲しい

614 名前:デフォルトの名無しさん (アウアウウー Sab3-cZcy) mailto:sage [2017/02/14(火) 18:42:24.50 ID:PdY4D7f4a.net]
>>601
そのイベントって選択解除や選択されている項目を削除した時も発生するし、
ListBoxってShiftキー押しながらクリックで複数項目を選択したり解除したりできた気が

615 名前:デフォルトの名無しさん (ワッチョイ 635b-t8AD) mailto:sage [2017/02/14(火) 20:04:39.55 ID:BsjgcFem0.net]
>>603
言い忘れていましたが、C# 2.0の話です。
ListBoxのプロパティSelectionModeをMultiSimple等にすると、複数選択できるようになります。
何をやりたいかというと、1つのListBoxで項目を6個以上選択できない(5個までなら選択できる)ようにしたいのです。

616 名前:デフォルトの名無しさん (ワッチョイ 7642-LB0c) mailto:sage [2017/02/14(火) 20:29:01.97 ID:8xZyzg4v0.net]
>>587
C#ってかアルゴリズムだと思うけど9×9の数独なら力技でもそんな時間かからんぞ
空きマスに1置けるか?置けないなら2置けるか?
ってチェックしていって置ける数字がでたら次の空きマスに移動
移動した先で置ける数字がなくなったら1個戻って数字を変える
みたいな処理を再起で組めばいける
この手法だと回答が複数ある時、あるいはパズルとして成立しない時(途中で手詰まりになる時)でも無理やり回答を出してしまうっていう問題があるけど

617 名前:デフォルトの名無しさん (ワッチョイ 2790-jWyY) mailto:sage [2017/02/14(火) 22:01:03.75 ID:Nim8Pln30.net]
>>605
空きマスに1置けるか?置けないなら2置けるか…ってやっていくのはわかるんですが
自分がやっている縦横同ブロック検索しておける数字が一つに絞り込めた場合、代入するようにしてるんですがこれ違うんですか?

618 名前:デフォルトの名無しさん (ブーイモ MM4b-ZWt2) mailto:sage [2017/02/14(火) 22:09:41.60 ID:mO6RmRZWM.net]
>>606
数独を解いたことあれば、それだけではクリア出来ないのは良くあることなんだけど……

619 名前:デフォルトの名無しさん (ワッチョイ 7642-LB0c) mailto:sage [2017/02/14(火) 22:11:49.93 ID:8xZyzg4v0.net]
>>606
一つに絞り込めなくても現時点で置けるならとりあえず置いて次に行くの
順次進めて行ってどこかのマスで何の数字も置けないようになってしまったら今まで置いてきた数字に何処かに誤りがあったってことだから戻って別候補にするって感じ

マスに入る数字を一つに絞り込んで進めていくやり方は数独のテクニックを理解してそれをプログラミングしていく必要がある
上級問題は当然そのテクニックも難解になるから上下左右ブロックを見るだけ程度のテクニックだけでは解ききれない

問題制作側で回答チェック等まで踏まえたツールなんかを作成するなら当然このあたりまで考慮して製作する必要があるけど
ひとまず回答だけ求めるなら前半に書いた手法で十分だよ

620 名前:デフォルトの名無しさん (ブーイモ MM4b-ZWt2) mailto:sage [2017/02/14(火) 22:19:23.18 ID:mO6RmRZWM.net]
あれ?そもそも最上段の左から2番目埋まってないな。
やろうとしてるロジックも未完成なんじゃね?



621 名前:デフォルトの名無しさん (ワッチョイ 7230-VyiL) mailto:sage [2017/02/14(火) 22:25:20.31 ID:5IUCJa7e0.net]
もう諦めてsquatでもしてこいよ

622 名前:デフォルトの名無しさん (ワッチョイ 2790-jWyY) mailto:sage [2017/02/14(火) 22:40:12.49 ID:Nim8Pln30.net]
>>608
再起がすごい苦手なんですが・・・どこまで潜っていくのかわからないですし
どう抜ければどう書けばいいのかもわかりません

623 名前:デフォルトの名無しさん (アウアウウー Sab3-cZcy) mailto:sage [2017/02/14(火) 22:45:26.95 ID:PdY4D7f4a.net]
>>604
完璧じゃないけどこの辺で妥協?

IEnumerable<object> mPrevSelectedItems = new object[0];
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
  var selectedItems = listBox1.SelectedItems.OfType<object>();
  var removeCount = selectedItems.Count() - 5;
  if (removeCount > 0)
  {
    var ex = selectedItems.Except(mPrevSelectedItems);
    var skipCount = ex.Count() - removeCount;
    if(skipCount >-1)
    {
      var items = ex.Skip(skipCount);
      Array.ForEach(items.ToArray(), x => listBox1.SelectedItems.Remove(x));
    }
  }
  mPrevSelectedItems = selectedItems.ToArray();
}

思ったより面倒くさいなあ

624 名前:デフォルトの名無しさん (ワッチョイ 7642-LB0c) mailto:sage [2017/02/14(火) 23:13:26.80 ID:8xZyzg4v0.net]
>>611
別に実装は再起じゃなくても問題ないよ
アルゴリズムが理解できれば普通にループと分岐だけで組める

625 名前:デフォルトの名無しさん (ワッチョイ 7bdc-3OfB) mailto:sage [2017/02/14(火) 23:35:48.88 ID:+J5Ev49B0.net]
>>611
こういう問題は手続きじゃなくてトップダウンで関数型的に考えると機械的に解ける

解 = 数独を解く(初期状態, []).FirstOrDefault();
数独を解く = (状態, 探索済) => 解けている(状態) ? [状態] : 次の候補(状態, 探索済).SelectMany(候補 => 数独を解く(候補, 探索済 + 状態)).First();
次の候補 = (状態, 探索済) => 数字を適当に1つ置いてみるときの全ての置き方(状態).Where(状態 => 矛盾してない(状態) && 探索済.含まない(状態));
数字を適当に1つ置いてみるときの全ての置き方 = 状態 => …

こんな感じで大雑把なところから細部を詰めていくの
具体的な動作をイメージしづらいかもしれないけど、結局やってることは ID: 8xZyzg4v0 と同じ

626 名前:デフォルトの名無しさん (ワントンキン MM62-S0So) mailto:sage [2017/02/14(火) 23:40:20.02 ID:UB3JXf9tM.net]
数独はSQLで解くのがトレンド

627 名前:デフォルトの名無しさん (ワッチョイ 323c-zlRv) mailto:sage [2017/02/14(火) 23:46:21.93 ID:3qnQ1Gfx0.net]
>>606
ここら辺を参考にしてみるとか
https://www.slideshare.net/mobile/atmarksharp/ss-45348313

628 名前:デフォルトの名無しさん (ワッチョイ 93bb-cGUq) mailto:sage [2017/02/15(水) 06:53:14.94 ID:apHpeiac0.net]
自分の頭で解けない奴には、その解法を仕様化できるわけがない。

629 名前:デフォルトの名無しさん (スフッ Sd52-AyEu) mailto:sage [2017/02/15(水) 08:38:52.62 ID:4NekN3gFd.net]
9(縦)x9(横)x9(ありえる数字)のboolの配列持って、
まず既知のセルの8個の数字を消しこんで、
その次に、全セルを順番に縦、横、3x3のブロックでそれぞれ、あり得ない数字(≒縦、横、ブロック内の、ひとつだけになっているセル)を消しこんでいって、一周しても何も消せなくなるまで回って、
その後、ありえる数字の組み合わせの総当りにした方が多分良い。
ありえる数字の組み合わせを考えるから辛い。
あり得ない数字は別のセルから導出できるんだし。

630 名前:デフォルトの名無しさん (ワッチョイ 7642-LB0c) mailto:sage [2017/02/15(水) 08:55:15.39 ID:yJTbA8M80.net]
>>618
処理が前後半の2段階になってるけど質問者は前半だけじゃ解けない問題に直面して困ってる&後半だけで解ける
って状態なんだからひとまず前半は要らない
後半作って上手く行ったなら処理速度向上とか考慮して前半みたいな処理を追加すればいい



631 名前:600 (ワッチョイ 635b-t8AD) mailto:sage [2017/02/15(水) 09:42:28.85 ID:J55wC/o80.net]
>>612
うまくいきました。やはり選択されたアイテムを覚えさせておく方法が良いようですね。
どうもありがとうございました。

632 名前:デフォルトの名無しさん (ワッチョイ df07-VyiL) mailto:sage [2017/02/15(水) 12:45:30.38 ID:uvXQ5Mwv0.net]
数独ソルバー程度で悩む奴もいるんだなあ
俺は厨房のころ作ったけど

633 名前:デフォルトの名無しさん (スフッ Sd52-AyEu) mailto:sage [2017/02/15(水) 13:17:31.37 ID:4NekN3gFd.net]
>>619
うーん、総当りって現実的な時間には終わらんと思うが。

634 名前:デフォルトの名無しさん (ワッチョイ df6a-VyiL) mailto:sage [2017/02/15(水) 13:59:57.66 ID:1Sp8YgZp0.net]
いまPythonで書いてみたけど5年前のMacMiniでも数秒で終わる

635 名前:デフォルトの名無しさん (ワッチョイ df6a-VyiL) mailto:sage [2017/02/15(水) 14:06:17.53 ID:1Sp8YgZp0.net]
ideoneでも余裕で動いた
https://ideone.com/TSJo4P

636 名前:デフォルトの名無しさん (ワッチョイ 7642-LB0c) mailto:sage [2017/02/15(水) 14:39:28.56 ID:yJTbA8M80.net]
>>622
作ったことないんでしょ
9✕9なんて一瞬、処理途中を描画しながらで数秒レベル

組み合わせは最大81の9乗あるから仮数字を全部入れてチェックなんて手法取ったらそら終わらん。
順番に仮置きして矛盾が発生した場合戻るってすれば、いわゆる枝切りみたいなのがどんどん発生するからすぐ終わる
計算量は知らん

637 名前:デフォルトの名無しさん (スフッ Sd52-AyEu) mailto:sage [2017/02/15(水) 16:40:03.68 ID:4NekN3gFd.net]
>>625
矛盾があれば手戻り、と、矛盾を刈り込むのとはあんまり変わらん気がするけど。
そりゃどちらでも描画してるうちに終わるだろうけど、
どちらでもない方を言ってるんだよ、その愚直に置く方。

638 名前:デフォルトの名無しさん (ワッチョイ 7642-LB0c) mailto:sage [2017/02/15(水) 16:53:27.86 ID:yJTbA8M80.net]
>>626
矛盾があれば手戻りは計算量が多くなるから基本コンピュータじゃないと現実的じゃない
その代わりどんな問題も解ける(以前書いたような例外はある)
計算量が多いって言ってもコンピュータからすれば大したことは無い

矛盾を刈り取りは一般的に人が解く際の行動をプログラミングしたものなので解法(テクニック的なもの)を実装することができればどんな問題でも解ける
その代わり数独であってもテクニックは難解な物がある

で刈り取りした後に手戻りすればいいじゃん、って言うけど手戻りだけで事足りるのになんでいきなり両方実装すんの?って話

ぶっちゃけ初めは現実時間で終わらんような愚直な実装でもいいと思う
そこからチューニングするとか何かアルゴリズム考えるとかすれば学べるんだから

639 名前:デフォルトの名無しさん (スフッ Sd52-AyEu) mailto:sage [2017/02/15(水) 17:59:08.57 ID:4NekN3gFd.net]
>>627
それだと、矛盾が無いだけの解がただの計算順で一意に決まってしまうじゃん。
根本的な解決ではないと思うが。

640 名前:デフォルトの名無しさん (ワッチョイ 7642-LB0c) mailto:sage [2017/02/15(水) 19:40:01.33 ID:yJTbA8M80.net]
>>628
だからその問題点は一番初めに言ってるじゃん
話ずらしまくるのやめよ?



641 名前:デフォルトの名無しさん (ワッチョイ df6d-VyiL) mailto:sage [2017/02/15(水) 19:43:20.79 ID:W/gL5Tp30.net]
>>628
だから何だ質問者がいつその条件を求めたんだよ
コード書いたこともねえ雑魚は引っ込んでろ

642 名前:デフォルトの名無しさん (スププ Sd52-YCZx) mailto:sage [2017/02/15(水) 20:47:50.66 ID:kYO6iRfyd.net]
投稿者は、この解を得るアルゴリズムを作成するというロマンがあるんだよ。

643 名前:デフォルトの名無しさん (ブーイモ MM52-CvLw) mailto:sage [2017/02/15(水) 20:51:44.83 ID:GPHsk9GRM.net]
>>628
仮定法でも全ての解は得られるよ?
>>614のアルゴリズムでFirstを外せばできるはず

644 名前:デフォルトの名無しさん (ワッチョイ 173c-CIv3) mailto:sage [2017/02/15(水) 21:22:49.38 ID:ZsrpE5Vs0.net]
APIからwebsocketをつかってJSONを取得したいのですがネットを色々見てもさっぱりわかりません。
具体的には
https://corp.zaif.jp/api-docs/
のストリーミングAPIのbtc_jpyです。
ヒントや参考になるサイトでも構いません。よろしくお願いします。

645 名前:デフォルトの名無しさん (ワッチョイ e223-CIv3) mailto:sage [2017/02/15(水) 22:38:19.69 ID:DiO+GUbF0.net]
>組み合わせは最大81の9乗あるから
本質的にはどうでも良い話だが、「同じ行、列には同じ数字は使えない」と言うルールを無視しすぎていて気になっちまう
「ものすごく多い」ってことが表現できているから何も問題ないんだけどな

646 名前:デフォルトの名無しさん (ブーイモ MM52-CvLw) mailto:sage [2017/02/15(水) 22:42:17.14 ID:9FXA/5kCM.net]
>>633
クライアントライブラリあるじゃん
C#用はないみたいだけどC#わかるんならJavaなら楽勝だろ

647 名前:デフォルトの名無しさん (ワッチョイ eb77-6bgE) mailto:sage [2017/02/16(木) 00:10:21.41 ID:QO0gpLt00.net]
>>633
codeprojectにjsonビューアのソースがあったような

648 名前:デフォルトの名無しさん (ワッチョイ 3b3c-P9CU) mailto:sage [2017/02/16(木) 00:40:31.38 ID:/E7gOtLl0.net]
>>635
申し訳ないです。Javaのを見てもわかりませんでした。
>>636
jsonの処理は何とか出来るのですがwebsoketでの取得がわからないんです

649 名前:デフォルトの名無しさん (ワッチョイ 5f30-O7jY) mailto:sage [2017/02/16(木) 05:22:57.59 ID:1M26REHO0.net]
そんなに分かりにくいところあるか…?
https://ideone.com/O78ino

JSONの切れ目は自分で探して
金儲けのためならその程度の維持は出して見せろ
その程度の才能もないなら発注サイトに行って金払って作ってもらえ

650 名前:デフォルトの名無しさん (スププ Sd7f-6skL) mailto:sage [2017/02/16(木) 07:32:00.22 ID:/4MLopCid.net]
偉そうに



651 名前:デフォルトの名無しさん (ワッチョイ 3b3c-P9CU) mailto:sage [2017/02/16(木) 10:57:00.19 ID:/E7gOtLl0.net]
>>638
これは参考になりそうです。ありがとうございます。

652 名前:デフォルトの名無しさん (オッペケ Sr9f-PPpI) mailto:sage [2017/02/16(木) 12:50:57.39 ID:Fl7cxYnSr.net]
WebBrowserって今後もずっとIEなのかね?
Edgeにはならないんだ?

653 名前:デフォルトの名無しさん (ブーイモ MM7f-FKuk) mailto:sage [2017/02/16(木) 15:05:24.57 ID:SJI/N2PkM.net]
絶対にない
WinFormsが業務向けのプラットフォームであること、既に開発が終了していることを忘れてはいけない

654 名前:デフォルトの名無しさん (ワッチョイ 8bbb-eq+O) mailto:sage [2017/02/16(木) 15:33:56.56 ID:QchVkuhj0.net]
結局、Winform最強か。

655 名前:デフォルトの名無しさん (アウアウオー Sa7f-xIS6) mailto:sage [2017/02/16(木) 16:23:17.22 ID:/R92/z+7a.net]
WebBrowserコントロールはIWebBrowserのだからIEのままでしょ
EditコントロールがEditで、リッチエディットコントロールになってないのと似たようなもん
WindowsUI.Xaml.WebViewかそんなとこでEdgeコントロールとしてはもう既に実装されてるんじゃないのかな

656 名前:デフォルトの名無しさん (オッペケ Sr9f-PPpI) mailto:sage [2017/02/16(木) 17:18:26.44 ID:Fl7cxYnSr.net]
そうなのかあ
しかし困る人多いよね

657 名前:デフォルトの名無しさん (アウアウウー Sa1f-Tc/C) mailto:sage [2017/02/16(木) 18:03:45. ]
[ここ壊れてます]

658 名前:02 ID:nVGauASoa.net mailto: まだXP使ってるところだって山ほどあるのに7/8.xを考えなくてよくなるのなんか何年後よ []
[ここ壊れてます]

659 名前:デフォルトの名無しさん (ワッチョイ 4bd6-eq+O) mailto:sage [2017/02/16(木) 18:53:57.26 ID:yaBP1ZBT0.net]
レジストリいじればEdge相当になったはず

660 名前:デフォルトの名無しさん (ワッチョイ 0f9d-eq+O) mailto:sage [2017/02/16(木) 19:19:37.31 ID:cjCClO980.net]
WinFormsの開発再開すればいいのにね



661 名前:デフォルトの名無しさん (オッペケ Sr9f-PPpI) mailto:sage [2017/02/16(木) 19:33:08.37 ID:Fl7cxYnSr.net]
>>647
そうなのかー
しかしユーザーがEdge持ってるとは限らないから面倒だね

662 名前:610 (ワッチョイ 9b90-XdR7) mailto:sage [2017/02/17(金) 23:35:39.67 ID:8hvoyQw40.net]
レス遅くなってしまってすいません

>>618の後半なんですが、
1,候補の中の確定できない数字をとりあえず入れてみる
2.次のマスに移動、数値が入れられなかったら1に戻る
この繰り返しですよね?もしこれを複数回繰り返して戻らない場合2回以上前に入れた数値まで戻らないといけない場合ってありますか?

663 名前:デフォルトの名無しさん (ワッチョイ 0f42-1n7Z) mailto:sage [2017/02/18(土) 02:25:11.55 ID:f0aH9wlg0.net]
>>650
2の手順は1に戻るじゃなくて1つ前に数字を入れたマスに戻るだね
1個前に入れたマスに戻って別の数字を探しても見つからなければ更に1個前に戻る
これを繰り返す
当然戻りまくって最初のマスに戻ることもある最初に入れた仮数字が間違ってたってことだから

要は全数字を入れるパターンを検索して矛盾が出ないパターンを求めてる
ただし途中で矛盾が出たら以降はそのパターンに紐づく内容は無視することで大幅に検索回数を削減できて結果的にコンピュータレベルの計算速度を用いればそれなりの速度で検索可能って寸法

理解が難しければ空きマスが超少ない問題で手を使って動きを確かめてみると良いかも
別にこの問題に限った話ではないけど大抵のプログラムは原理を理解できないと実装できないからね

664 名前:610 (ワッチョイ 9b90-XdR7) mailto:sage [2017/02/18(土) 03:12:52.58 ID:zyhHTWXk0.net]
>>651
原理はわかってはいるつもりなんですが、どう書けばいいのかわかりません
1、4、7と入れてきて7の次に入れるものがない場合、4を変更しないといけないわけですがこれをどうやって渡すか
またもう一つ戻らないといけない場合、自分の理解の範疇を超えオーバーフローしてしまいます
他人のソースを読んでも頭に入ってきません

665 名前:デフォルトの名無しさん (ワッチョイ 0f42-1n7Z) mailto:sage [2017/02/18(土) 04:35:14.78 ID:f0aH9wlg0.net]
>>652
あらま、その段階か

例えば仮数字を入れて次に進む時、今仮数字を入れた場所を記憶しておく配列を用意しておくとかどうだろう
進むたびに配列に仮数字を入れた場所が順次追加されていく感じ
戻る時は後ろから順に見ていけばいい
戻ってまた進む時は用意した配列を再度進むところから上書きする感じ

「5」番目のマスに1を入れた
「8」番目のマスに4を入れた
「10」番目のマスに入れられる数字がない
「8」番目に戻る
8番目には4が入ってるけどダメらしいので5以降で置ける数字無いか確認
それでも無ければ「5」番目に戻る

用意する配列には「5 8 10」って入ってるってことね
この配列のどこを今操作しているか?を指し示す変数もあったほうが分かりやすいかもね

○番目って言うのは左上のマスを1、右下のマスを81と仮定しての話ね
XYで管理してるならこの配列を2次元にしても良い

そんな効率良い方法じゃないけど直感的には理解はしやすいかと思うけどどうだろう
他に何か分かりやすい案があるかもしれん

666 名前:610 (ワッチョイ 6b90-XdR7) mailto:sage [2017/02/18(土) 06:29:59.40 ID:ULV0oBLe0.net]
>>653
ありがとうございます、これだと書ける気がします


あと配列の中にある値のインデックスをLINQで取得しているのを拡張メソッドで定義したいですがうまくいきません
First()やCount()の定義を見よう見真似で書きましたが、Whereに何を入れたらいいのかわかりません

public static Type Index<Type>(this IEnumerable<Type> source, Func<Type, bool> predicate)
where Type : IEnumerable<Type>
{
return source.Select((value, index) => new { Index = index, Value = value })
.Where(item => )
.Select(item => item.Value).FirstOrDefault();
}

ひょっとして述語は引数として受けられませんか?

667 名前:デフォルトの名無しさん (ワッチョイ 8b7b-eq+O) mailto:sage [2017/02/18(土) 08:10:24.40 ID:bn0z7G5m0.net]
あえてLinqで書くならこうかな?でもこういう場合foreachで書く方が速いし自然だと思う

public static int Index<T>(this IEnumerable<T> source, Func<T, bool> predicate)
{
  try
  {
    return source.Select((value, index) => new { Index = index, Value = value })
        .First(item => predicate(item.Value)).Index;
  }
  catch (InvalidOperationException) { return -1; }
}

668 名前:デフォルトの名無しさん (ワッチョイ 0f42-1n7Z) mailto:sage [2017/02/18(土) 09:33:35.33 ID:f0aH9wlg0.net]
プログラム初心者だと思ってたら突然linqでてきてワロタ
俺には>>653の説明でなんで>>654に行けたか不思議だよ
linqは奥が深いけど面白いね

669 名前:デフォルトの名無しさん (ワッチョイ 9b7b-g7u9) [2017/02/18(土) 12:02:11.53 ID:H3MLhpM30.net]
OpenFileDialog.ShowDialogを使用するとフリーズします。
昔からある障害のようなんですが、
>cymon.sysというファイルの排他制御関連の処理に不具合があるのが原因
らしいのですが、該当ファイルはありません。
他のアプリの排他制御関連のバグなんて特定出来る気がしません。

どうすれば正常に動かせますか?

670 名前:デフォルトの名無しさん (スププ Sd7f-6bgE) mailto:sage [2017/02/18(土) 12:12:10.55 ID:F1GmP7Hpd.net]
>>657
もうちょい詳しく。
再現するOSや、不具合が再現するソースとかないん?



671 名前:デフォルトの名無しさん (ワッチョイ 0f7b-TuOZ) mailto:sage [2017/02/18(土) 12:18:44.45 ID:AobYyoSr0.net]
ニコリの数独・カックロを、力任せに解く方法か?
バックトラック法だろ

「バックトラック法 数独」で検索!

672 名前:デフォルトの名無しさん (ワッチョイ 0f9d-eq+O) mailto:sage [2017/02/18(土) 12:19:58.05 ID:7QDYBSyf0.net]
>>657
https://www.cyphertec.co.jp/news/cymon_revision.html
これのことだとしたら、修正プログラム入れるしかないのでは?
cymon.sysが本当に存在しないならもっと情報が必要だね

673 名前:デフォルトの名無しさん (JP 0H1f-vlft) mailto:sage [2017/02/18(土) 12:43:04.59 ID:1c96nb+dH.net]
特定のソフト入れた時にそのソフトのバグで干渉するってだけやん
入れてないなら関係ないし入れてるなら
メーカーの修正あてるかアンインストールするかの2択やろ

674 名前:デフォルトの名無しさん (ワッチョイ fb0d-NHlF) [2017/02/18(土) 14:47:28.87 ID:lgYaiLIy0.net]
CookieContainerの中身をWPFのDataGridで表示したいのですがどうすればいいですか?

675 名前:デフォルトの名無しさん (ワッチョイ df4c-6bgE) mailto:sage [2017/02/18(土) 15:01:37.60 ID:oF9zQOK10.net]
そこでデーターバインディングでづよ

676 名前:デフォルトの名無しさん (ワッチョイ df4c-6bgE) mailto:sage [2017/02/18(土) 15:25:02.48 ID:oF9zQOK10.net]
CookieCollection collection = new CookieCollection();
for (int i = 0; i < 16; i++)
{
collection.Add(new Cookie() { Name = i.ToString() });
}
dataGrid.ItemsSource = collection;

677 名前:デフォルトの名無しさん (ワッチョイ df4c-6bgE) mailto:sage [2017/02/18(土) 15:25:23.75 ID:oF9zQOK10.net]
あとは自分で

678 名前:デフォルトの名無しさん (ワッチョイ fb0d-NHlF) [2017/02/18(土) 19:51:02.62 ID:lgYaiLIy0.net]
CookieContainerをBindingさせるのは無理なんですね
そうなるとCookieContainerからCookieCollectionを取り出す必要が出てきますが
どうすれば関連付けされているUriを使わずにCookieCollectionを取り出せますか?(forやforeachを使いたい)

679 名前:デフォルトの名無しさん (ワッチョイ 0f7b-eq+O) mailto:sage [2017/02/19(日) 01:31:58.50 ID:bXEy6Thf0.net]
他のツールなんかで動画とか音楽ををダウンロードしながらそれを開いて
先頭から順に読み込むツールを作ろうと思ってるんだけど

System.IO.FileStream fs = new System.IO.FileStream(@"C:\test.mp3",System.IO.FileMode.Open)

例えばこんな感じでmp3を開くとした場合って開いた瞬間のデータ量しか取得できないですよね?
増えていってるデータを順に取得していくいい方法って無いですかね?

680 名前:デフォルトの名無しさん (アウアウウー Sa1f-Tc/C) mailto:sage [2017/02/19(日) 02:03:05.71 ID:6CKE/L0Oa.net]
>>667
タイマーでも使ってポーリングするだけじゃないの?



681 名前:デフォルトの名無しさん (ワッチョイ 8bbb-eq+O) [2017/02/19(日) 05:52:50.50 ID:mRSsjBQo0.net]
日本ではダウロンードは違法。

682 名前:デフォルトの名無しさん (ワッチョイ 6f20-eq+O) [2017/02/19(日) 10:21:49.03 ID:7g+LYPG/0.net]
音声合成APIを使ってみたくて
下記のサンプルコードを実行したのですが
音声が再生された後にプログラムが終了せず
残っています

どのようにすれば音声再生後にプログラムが
終了するでしょうか?

static void Main(string[] args)
{
var player = new SoundPlayer();
var http = new HttpClient();
// BASIC認証
http.DefaultRequestHeaders.Add("Authorization"
, "Basic " + Convert.ToBase64String(Encoding.ASCII.GetBytes("hoge")));
// POST要求
http.PostAsync("https://api.voicetext.jp/v1/tts", new FormUrlEncodedContent(
new[]{
// リクエストパラメータ
new KeyValuePair<string , string>( "text" , "test" ),
new KeyValuePair<string , string>( "speaker" , "haruka" ),
}
)).ContinueWith(async task =>
{
// 音声データでない場合、例外が発生するので、適切な対処すべき…
player.Stream = await task.Result.Content.ReadAsStreamAsync();
player.Play();
});

Console.ReadLine();
}

683 名前:デフォルトの名無しさん (ワッチョイ eb1e-1BHe) mailto:sage [2017/02/19(日) 10:29:46.11 ID:FVPzcms80.net]
>>670
再生後、コンソールでEnterキーを押す
または最後のConsole.ReadLineを削除

684 名前:デフォルトの名無しさん (ワッチョイ eb77-B7Z5) mailto:sage [2017/02/19(日) 10:37:13.44 ID:gToSbtQT0.net]
>>671
後者じゃ、再生終わる前に終了しないかな

685 名前:669 (ワッチョイ 6f20-eq+O) [2017/02/19(日) 10:41:11.22 ID:7g+LYPG/0.net]
Console.ReadLineの削除で
プログラムが終了したので悩みが解消したのですが、
音声再生が開始される前にプログラムが終了するという
新しい悩みが生まれました

音声再生の完了をコールバック等で受け取る方法は
あるでしょうか?

686 名前:デフォルトの名無しさん (ワッチョイ eb77-B7Z5) mailto:sage [2017/02/19(日) 10:54:41.14 ID:gToSbtQT0.net]
>>673
player.Play();の次の行にEnvironment.Exit(0);でどうですか

687 名前:デフォルトの名無しさん (ワッチョイ 6f20-eq+O) [2017/02/19(日) 11:06:34.51 ID:7g+LYPG/0.net]
>>674
試してみましたが、音声再生前にプログラムが終了しました

javascriptなら、コールバックとか取れそうですが
C#はいまひとつ解らず

688 名前:デフォルトの名無しさん (ワッチョイ 6bdc-fFgi) mailto:sage [2017/02/19(日) 11:11:22.59 ID:7Avz8j0c0.net]
最後にTask.Waitしろ

689 名前:デフォルトの名無しさん (ワッチョイ eb77-B7Z5) mailto:sage [2017/02/19(日) 11:28:40.83 ID:gToSbtQT0.net]
>>675
>>674やった上で、player.Play()をplayer.PlaySync()に書き換えて

690 名前:デフォルトの名無しさん (ワッチョイ 6f20-eq+O) [2017/02/19(日) 11:35:24.12 ID:7g+LYPG/0.net]
player.Play();
task.Wait();

と書いてみたのですが
音声が再生される前に
プログラムが終了します

URIにPOSTする処理は
リクエストしたら状態が取れないのかなという
気がしています



691 名前:デフォルトの名無しさん (ワッチョイ 6f20-eq+O) [2017/02/19(日) 11:38:27.06 ID:7g+LYPG/0.net]
>>677

player.PlaySync();
Environment.Exit(0);

としましたが、音声再生の前に
プログラムが終了しました

692 名前:デフォルトの名無しさん (ワッチョイ eb77-B7Z5) mailto:sage [2017/02/19(日) 11:40:39.60 ID:gToSbtQT0.net]
>>679
元のConsole.ReadLine();消してちゃってない?
これも必要だよ。

693 名前:デフォルトの名無しさん (ワッチョイ 6f20-eq+O) [2017/02/19(日) 11:48:07.03 ID:7g+LYPG/0.net]
>>680
音声再生の後にプログラムが終了しました
期待通りの動作です

ありがとうございます

694 名前:デフォルトの名無しさん (ワッチョイ 0f7b-eq+O) mailto:sage [2017/02/19(日) 17:21:32.80 ID:bXEy6Thf0.net]
>>668
まだ勉強し始めた素人なのでポーリングというやり方があるんですね。
試してみます、ありがとうございました。

>>669
再生が最後まで行く、もしくはソフトを閉じる時に消去すれば
キャッシュという形になるから違法ではないと思いますし、
たしかあの法律は違法にアップロードされたコンテンツ(ゲームや音楽)を
知りつつダウンロードする行為が違法なんですよね?
YouTubeやTwitch、ニコ生などのライブ配信や動画を専ブラのような形で
なおかつ自分で使いやすいように作るのは違法でないという認識なのですが間違っていますでしょうか?

695 名前:デフォルトの名無しさん (ワッチョイ 5b19-S9Lo) mailto:sage [2017/02/19(日) 17:23:40.86 ID:djgzWXGW0.net]
保存しなきゃセーフでしょ
ブラウザを作るのに認可がいるわけじゃないし

696 名前:610 (ワッチョイ 6b90-XdR7) mailto:sage [2017/02/20(月) 01:42:50.37 ID:Vf7595PK0.net]
>>655
foreachで書く方法がわかりません、どんなふうに書くのでしょうか?



あと条件にあったインデックスを全て返す拡張メソッドを作りたいのですが、うまくいきません

int{} num = { 11, 12, 13, 14, 15 }
これで条件を「x > 12」にした場合「2、3、4」と返ってきてほしいのですがチャレンジしてもできません

return source.Select((value, index) => {if(predicate(value) return index; return 0; })
こういうふうにを書くと「x > 12」の場合「0,0,2,3,4」と返ってきてしまいます
どうかけばいいかヒント教えてください

697 名前:デフォルトの名無しさん (ワッチョイ eb77-B7Z5) mailto:sage [2017/02/20(月) 02:30:59.52 ID:M2SnzGbV0.net]
>>684
値が要らない項目は、Select()する前にWhere()で弾いとかないと。

698 名前:610 (ワッチョイ 6b90-XdR7) mailto:sage [2017/02/20(月) 03:25:39.28 ID:Vf7595PK0.net]
public static IEnumerable<int> IndexCollection(IEnumerable<Type> source, Func<Type, bool> predicate)
{
return source.Where(_ => predicate(_)).Select((value, index) => index);
}

こういうことですか?でもなぜかこう書くと評価されなくて返り値がnullのままになります

var list = num.Where(_ => _ > 12).Select((value, index) => index);

こう書くときちんと評価されるのですが・・・さっぱりわかりません

699 名前:デフォルトの名無しさん (ワッチョイ 8b7b-eq+O) mailto:sage [2017/02/20(月) 03:28:01.67 ID:Cim83SJm0.net]
>>684
別に難しくなくて、素直に書けばいいと思うけど

public static int FirstIndex<T>(this IEnumerable<T> source, Func<T, bool> predicate)
{
  int index = 0;
  foreach (var val in source)
  {
    if (predicate(val)) return index;
    index++;
  }
  return -1;
}

条件にあったのも全て返すなら yield return を使う

public static IEnumerable<int> WhereIndex<T>(this IEnumerable<T> source, Func<T, bool> predicate)
{
  int index = 0;
  foreach (var val in source)
  {
    if (predicate(val)) yield return index;
    index++;
  }
}

700 名前:デフォルトの名無しさん (ワッチョイ 8b7b-eq+O) mailto:sage [2017/02/20(月) 03:33:55.65 ID:Cim83SJm0.net]
無理矢理Linqで書くならこんな感じだろうか
public static IEnumerable<int> WhereIndex<T>(this IEnumerable<T> source, Func<T, bool> predicate)
{
  return source.Select((value, index) => new { Index = index, Value = value })
     .Where(x => predicate(x.Value)).Select(x => x.Index);
}

値が0以上限定ならこんな風にも書ける
public static IEnumerable<int> WhereIndex<T>(this IEnumerable<T> source, Func<T, bool> predicate)
{
  return source.Select((value, index) => predicate(value) ? index : -1)
      .Where(x => x >= 0);
}



701 名前:デフォルトの名無しさん (ワッチョイ 8b7b-eq+O) mailto:sage [2017/02/20(月) 04:12:20.09 ID:Cim83SJm0.net]
>>686
IndexCollectionの後に<Type>が抜けてるね。あと引数のthisも抜けてる
Linqに慣れてないなら、最初から繋げていかないで一個ずつ結果を見た方がいいよ

var a = num.Where(_ => _ > 12);
var b = a.Select((value, index) => index);

ここではaが {13, 14, 15 } ってリストになる(Whereは条件式でフィルタした新しい配列を作る)
bはその配列をインデックスの値に変換した新しいリストを返すから値は { 0, 1, 2 } となる

あと勘違いしてたけどインデックスは当然0以上なので>>688の後者の書き方で問題なかった

702 名前:デフォルトの名無しさん (ワッチョイ 8bbb-eq+O) [2017/02/20(月) 07:23:54.57 ID:73+nzjfL0.net]
>>683
日本では回避ツール作るのも違法。

703 名前:610 (ワッチョイ 6b90-XdR7) mailto:sage [2017/02/20(月) 10:04:48.66 ID:Vf7595PK0.net]
>>687
yield returnというのを忘れていました

引数のthisを忘れていたのに拡張メソッドみたいに呼べたのが不思議です。エラー出ると思ってました

704 名前:デフォルトの名無しさん (ワントンキン MM7f-Z7AI) mailto:sage [2017/02/20(月) 11:08:17.98 ID:M0lXkX5gM.net]
文字列ポインタを返すC言語のwin32 dll を VS2005のWindowsアプリで利用しているのですが、今までWindowsXPで動作していたものをWindows7で動作させると関数から戻ってくる時に死んでしまいます。情報を送信する旨のダイアログの出るヤツです。

<hoge.dll>
BYTE msg[1024];
BYTE* WINAPI hoge(WORD w)
{
sprintf(msg, "xxx");
return msg;
}
<FormMain.vb>
<DllImport("hoge.dll")>Public Shared Sub hoge(Byval w As Int16) As String
End Function

Dim msg As String = Space(1024)

Call部分-> msg = hoge(0)

dllで領域確保した文字列ポインタをvbで領域確保したString型に代入している部分がおかしいのでしょうか?
同じやり方の別アプリはWindows7でも問題なく動作しているらしいです。
回避策としては、StringBuilderを引数にして情報を取得する方法を考えてますが、原因を知りたいです。
何かヒントを頂けないでしょうか。よろしくお願いします。

705 名前:デフォルトの名無しさん (アウアウウー Sa1f-Tc/C) mailto:sage [2017/02/20(月) 12:12:58.76 ID:OgBdAYpra.net]
>>692
ここC#のスレだよw
インポートした関数のシグネチャはそれで間違ってないと思う
(戻り値の文字列の種類の明示的な指定がない以外は)

だから間違いはそこに書かれていないところにある気がする
知らんけど

706 名前:デフォルトの名無しさん (ワントンキン MM7f-Z7AI) mailto:sage [2017/02/20(月) 13:06:34.63 ID:M0lXkX5gM.net]
>>692
失礼しました。自分が普段C#使ってていつも見ているもので、思わず質問してしまいました。

Stringって純粋な参照型じゃないので、dll内の文字列がアプリ側の確保されたStringにコピーされるものなのか、どうなのか?
と思って質問しました。

問題ないようですので、他の部分を当たってみます。

ありがとうございました。

707 名前:デフォルトの名無しさん (スフッ Sd7f-LjcY) mailto:sage [2017/02/20(月) 13:28:11.49 ID:vCAMt98Xd.net]
ビット数とかかねえ

708 名前:デフォルトの名無しさん (ワッチョイ eb19-sbgu) mailto:sage [2017/02/20(月) 14:07:41.64 ID:w4qWsIgy0.net]
DllImportで返値にStringを使うと対象アドレスのメモリを解放しようとするからその辺のせいかな
ポインタが返される場合IntPtrで受け取るべき
文字列ならMarshal.PtrToStringAuto(/Ansi/Uni)で変換

709 名前:デフォルトの名無しさん (アウアウウー Sa1f-Tc/C) mailto:sage [2017/02/20(月) 14:54:15.70 ID:OgBdAYpra.net]
あーここにそんなこと書いてあるな
https://msdn.microsoft.com/ja-jp/library/x3t

710 名前:xb6xc.aspx
全然知らんかったw
文字列を戻り値で返すような関数使ったことないし。
こういう重要な話を辺鄙なページにだけさらっと書くのやめてほしいよな

余計なお世話のようだけど、よく考えたらポインタでもらっておかないと
手動で開放しようがないんだからまあ当然といえば当然の処置か
[]
[ここ壊れてます]



711 名前:デフォルトの名無しさん (アウアウオー Sa7f-xIS6) mailto:sage [2017/02/20(月) 15:20:01.73 ID:2ibs+hQta.net]
>>692そのままでもvb側でLPCSTRだって指定してやれば動きそう。LPWSTRとして処理して動かなくなってるんじゃないかな

712 名前:デフォルトの名無しさん (ワッチョイ 8bbb-eq+O) mailto:sage [2017/02/20(月) 15:52:07.71 ID:73+nzjfL0.net]
vb使うとアホになるからな。

713 名前:デフォルトの名無しさん (ワントンキン MM7f-Z7AI) mailto:sage [2017/02/20(月) 15:55:20.33 ID:M0lXkX5gM.net]
>>696
>>697
有益な情報、ありがとうございました。

少なくとも、あまりよろしくないコードだったって事ですよね。
今までまともに動作してたのはたまたま?

とりあえずIntPtrで受けてMarshal.PtrToStringAnsiで文字列に変換するとうまくいきました。

714 名前:デフォルトの名無しさん (ワキゲー MM7f-iYFJ) mailto:sage [2017/02/20(月) 19:15:05.48 ID:jZ2IzQ6sM.net]
>>698
DllImport.CharSetの既定値はAnsi

715 名前:デフォルトの名無しさん (ワッチョイ 9b7b-g7u9) [2017/02/20(月) 20:06:09.92 ID:i/9URA2G0.net]
WPFの勉強を始めたんですが、動的にコントロールを追加していく場合、
デザイン側(XAML)のコードではなくC#のコードに生成と追加ロジックを書いて増やすしかないんですよね?

コントロールのデザインはXAMLでするけど、それのインスタンス生成はC#側でするという理解でいいのでしょうか?

716 名前:デフォルトの名無しさん (ワッチョイ 5f30-O7jY) mailto:sage [2017/02/20(月) 20:56:23.77 ID:DEynAIXr0.net]
どういうコントロールかに寄るんじゃねーの
ItemsControlが使えるようなケースならコードで生成なんかしないだろう

717 名前:デフォルトの名無しさん (ワッチョイ 8b7b-iYFJ) mailto:sage [2017/02/20(月) 20:59:03.92 ID:ZcW/L6QM0.net]
大体ItemsControlとその派生クラス+DataTemplateでまかなえる

718 名前:デフォルトの名無しさん (ワッチョイ df4c-6bgE) mailto:sage [2017/02/20(月) 21:18:59.61 ID:c6eY6nM80.net]
>>702
アイテム類?

719 名前:デフォルトの名無しさん (ブーイモ MM7f-FKuk) mailto:sage [2017/02/20(月) 21:19:02.98 ID:La0YxfKFM.net]
>>702
C#からコントロールを追加するんじゃなくて、
1. C#がコレクションに対してデータオブジェクト(コントロールではない!)を追加する
2. コレクションのバインド先のコントロールのDataTemplateに従ってコントロールが生成される
という仕組み
まあでも最近はUWPではそのへんのWPF時代の複雑怪奇な仕組みを使わずに
イージーにC#からコントロールを触っちゃうケースも多くなっているので、
普通にコードビハインドでコントロール作ってもいいと思うよ

720 名前:デフォルトの名無しさん (ワッチョイ 6bdc-FKuk) mailto:sage [2017/02/20(月) 21:35:53.40 ID:K6NHiZ6b0.net]
Reactみたいに仮想DOMを導入してテンプレートエンジン感覚でXAML書けるようにしてほしいわ
ControlTemplateを駆使した複雑怪奇なバインディングはWPFが失敗した大きな要因の一つ



721 名前:610 (ワッチョイ 6b90-XdR7) mailto:sage [2017/02/20(月) 22:42:28.62 ID:Vf7595PK0.net]
数独を解くアルゴリズムがどうしても自分で作れなかったのでCのソースをLINQ使わずにC#に書き直しました
でももうちょっとアルゴリズムについて理解を深めたいのですが、どうすれば深められますか?

722 名前:デフォルトの名無しさん (ワントンキン MM7f-yXFx) mailto:sage [2017/02/20(月) 22:44:42.03 ID:SIhte37HM.net]
数学を勉強する

723 名前:デフォルトの名無しさん (ワッチョイ 0f7b-TuOZ) mailto:sage [2017/02/20(月) 23:41:44.10 ID:mClGTBrk0.net]
アルゴリズムの本を読むとか、

プログラミング・コンテスト
AOJ(AIZU ONLINE JUDGE、会津大学)
Topcoder, Google Code Jam

724 名前:デフォルトの名無しさん (ブーイモ MM7f-FKuk) mailto:sage [2017/02/21(火) 01:16:12.37 ID:zJ/N/+AdM.net]
>>708
アルゴリズムで大事なのは細かい操作ではなくルール
ルールで考えられるようになるには関数型言語を学ぶのが一番近道だと思う

725 名前:デフォルトの名無しさん (ワッチョイ 5b3c-8pXy) mailto:sage [2017/02/21(火) 02:14:21.50 ID:R0f1kRGV0.net]
専ブラを作りたいんですが
何を参考にやっていけば良いでしょうか

c#の入門文法書を読んでVS2015でフォームアプリのプロジェクト作成しました

726 名前:デフォルトの名無しさん (スプッッ Sd7f-QCKt) mailto:sage [2017/02/21(火) 07:35:28.82 ID:N8MlGejAd.net]
OpenJaneのソースを読む

727 名前:デフォルトの名無しさん (ブーイモ MM7f-9g8o) [2017/02/21(火) 08:20:20.91 ID:QZgbo1BXM.net]
APIになってから新規参入できんの?

728 名前:デフォルトの名無しさん (ブーイモ MM1f-S2Ow) mailto:sage [2017/02/21(火) 10:29:01.70 ID:zahF8gYKM.net]
普通のブラウザが読めるんだから
なにもAPI頼らんでもいいんじゃないか?
ブラウザの表記と履歴がクソなだけだから
それを使い勝手いいようにしただけの専ブラはあってもいい

729 名前:デフォルトの名無しさん (ワッチョイ 9b7b-g7u9) [2017/02/21(火) 19:34:36.64 ID:cHX/MaIe0.net]
TextBoxだけが2つあるフォームで、Enterが押された際に、2つとも値が入力されている場合だけフォームを閉じるようにしたいのですが、
TextBoxにAcceptButtonと同じ機能を持たせるにはどうしたらいいでしょうか。

730 名前:デフォルトの名無しさん (ワッチョイ db17-QCKt) mailto:sage [2017/02/21(火) 20:40:59.99 ID:iji2PQkS0.net]
KeyDownでEnterを取得してTextBoxの中身をチェックして分岐



731 名前:デフォルトの名無しさん (ワッチョイ 0f5e-P9CU) mailto:sage [2017/02/21(火) 20:48:25.46 ID:R7uSuoR20.net]
>>716
TextBox2つとFormでEnter入力待って
Enter入力されたときにTextBoxの内容チェックしたらいいだけじゃない?
AcceptButtonは知らなかったけど別にボタン作って無いとだめみたいだし
ボタン別に作った方がUIとしてはわかりやすいと思うけど

732 名前:デフォルトの名無しさん (アウアウウー Sa1f-Tc/C) mailto:sage [2017/02/21(火) 21:36:29.50 ID:OY4bcTcha.net]
>>716
いっちゃなんだけどセンスないUIだねw

733 名前:デフォルトの名無しさん (ワッチョイ 0f9d-eq+O) mailto:sage [2017/02/21(火) 21:41:21.06 ID:Kul562Pw0.net]
>>715
APIに頼らずにウェブスクレイピングを使った専ブラの開発/公開は
禁止されているんじゃなかった?

734 名前:デフォルトの名無しさん (アウアウウー Sa1f-Tc/C) mailto:sage [2017/02/21(火) 21:41:57.12 ID:OY4bcTcha.net]
まあ批判するだけじゃアレなんで、そういうの普通はさ、
検証結果がOKならAcceptButtonをイネーブルにするのが正攻法だと思うよ

735 名前:デフォルトの名無しさん (アウアウオー Sa7f-xIS6) mailto:sage [2017/02/21(火) 21:48:44.09 ID:rWOcc73ca.net]
センスないUIが使いやすいシーンあるからな。分かっててそうすること多い。>>717は違うだろうがw
エンターがあったら入力されてるか調べて、入力されてたらフラグ立ててClose()呼べば

736 名前:デフォルトの名無しさん (ワッチョイ 4fce-qUVP) mailto:sage [2017/02/22(水) 04:06:31.98 ID:BUDCRKLi0.net]
結局最後にEnter押させるならAcceptButtonで正しいか判定すればいいんじゃないの
KeyDownで捕捉とかAcceptButtonイネーブルとかアホみたいよ

737 名前:デフォルトの名無しさん (ワッチョイ 5f90-XdR7) mailto:sage [2017/02/22(水) 04:41:08.56 ID:OP1dthjc0.net]
まずtextbox2つに何か入力されている状態でEnter押すと閉じるってどういう状況で使うのか気になる

738 名前:デフォルトの名無しさん (ワッチョイ 0f7b-eq+O) mailto:sage [2017/02/22(水) 05:19:23.28 ID:4Le3p92K0.net]
C#でDirectShowを使ってサーバーからデータを受信してストリーミング再生をしようと思っているのですが、
ストリーミングしながら再生する場合、10秒、20秒先にシークする時にデータを取得できていないと
シークできないと思うのですが、シークしたい位置までデータが取得できているかどうかを、どうやって確認したらいいのでしょうか?

739 名前:デフォルトの名無しさん (ワッチョイ db17-QCKt) mailto:sage [2017/02/22(水) 06:36:28.96 ID:S8XiJiJW0.net]
できなくていいじゃん
YouTubeでも未取得部分までシークしたら一瞬止まってそこから再取得でしょ

740 名前:デフォルトの名無しさん (アウアウウー Sa1f-Tc/C) mailto:sage [2017/02/22(水) 10:41:54.09 ID:IUleyyqVa.net]
>>723
それだとNGの時何らかのメッセージを、ほとんどの場合はモーダルの
メッセージボックスを使って表示することになるが、これが鬱陶しい。

だからOK



741 名前:フ場合のみ何らかのアクションが可能になるようにしたい、というところまでは
>>716は妥当。
[]
[ここ壊れてます]

742 名前:デフォルトの名無しさん (アウアウオー Sa7f-xIS6) mailto:sage [2017/02/22(水) 10:48:43.23 ID:gHr01PmWa.net]
条件満たすまでokボタン無効化

743 名前:デフォルトの名無しさん (スフッ Sd7f-LjcY) mailto:sage [2017/02/22(水) 11:33:04.49 ID:+pPmbeWDd.net]
ついでにtextbox赤色にでもしとけ

744 名前:デフォルトの名無しさん (ワッチョイ 6f37-eq+O) mailto:sage [2017/02/22(水) 13:11:12.83 ID:NE6Tq68d0.net]
>>771
たしか「twinテール」とかいう使えなくなった2chブラウザがC#で書かれていたので参考にしてみてはいかが

745 名前:デフォルトの名無しさん (ワッチョイ 1e7b-8lb6) mailto:sage [2017/02/23(木) 01:11:41.53 ID:IxVO5ZJu0.net]
>>726
言葉足らずでしたすいません。
シークした際に取得したデータより先であれば、シークできる最大の位置から再生したいので、
取得できているデータの最大秒数を知りたいと質問したかったんです。

746 名前:デフォルトの名無しさん (ワッチョイ 1e9d-d4M5) [2017/02/23(木) 20:19:27.12 ID:cRI54QPm0.net]
C#ってWEBもデスクトップアプリもVisual Studioでいいの?

747 名前:デフォルトの名無しさん (ワッチョイ 4a3c-F6/z) mailto:sage [2017/02/23(木) 20:42:44.96 ID:boStFqTs0.net]
いいよ
別にVisual Studioじゃなくてもいいよ

748 名前:デフォルトの名無しさん (ワッチョイ 7fbb-8lb6) mailto:sage [2017/02/23(木) 21:03:52.53 ID:SDiG8DJL0.net]
C#のような欠陥言語はVSじゃないと使い物にならないよ。

749 名前:デフォルトの名無しさん (ブーイモ MMef-o4aT) mailto:sage [2017/02/23(木) 21:38:51.04 ID:5vR45Ym7M.net]
そもそもRADで使うことを前提に設計された言語だから当たり前
ヘイトになってない

750 名前:デフォルトの名無しさん (スフッ Sdaa-i5z9) mailto:sage [2017/02/23(木) 22:14:55.27 ID:IXRr1zZLd.net]
まだイーマックスに固執してる奴いるのか



751 名前:デフォルトの名無しさん (ワンミングク MMfa-LqKA) mailto:sage [2017/02/23(木) 22:19:16.99 ID:osMc+8cAM.net]
Javaは環境整えるのめんどくさいしエコシステムが洗練されない素人仕事って感じだし言語機能貧弱だし色々クソすぎて速攻で切り捨てた
C#は良く出来てる

752 名前:デフォルトの名無しさん (ワッチョイ 7fbb-8lb6) mailto:sage [2017/02/23(木) 22:21:06.99 ID:SDiG8DJL0.net]
var data = b.GetData();

varで一気に欠陥言語となった。
ライブラリ丸暗記してるか、マウスカーソルで指さないと型が分からないとかマジ欠陥言語。

753 名前:デフォルトの名無しさん (ワッチョイ 533c-uVIS) mailto:sage [2017/02/23(木) 22:21:19.22 ID:VhvYxHZG0.net]
何を使おうが、成果物と生産性が全てよ

そりゃ、言語によってある程度機能の優劣が無いとは言わないが
究極的には、「使う奴がその言語に習熟してるかどうか」に帰結する話なので
他言語との比較戦争はやめとけ

754 名前:デフォルトの名無しさん (ワッチョイ cfd6-8lb6) mailto:sage [2017/02/23(木) 22:25:13.45 ID:/zzReBsa0.net]
>>738
おじいちゃんはおうちにかえりましょうねー

755 名前:デフォルトの名無しさん (ワッチョイ 7fbb-8lb6) mailto:sage [2017/02/23(木) 22:30:40.75 ID:SDiG8DJL0.net]
>>740
無職はいいなぁ。

756 名前:デフォルトの名無しさん (ワッチョイ 2777-h8GH) mailto:sage [2017/02/23(木) 22:32:06.38 ID:Gcuw8dft0.net]
>>738
C++にすら、autoって型推論が追加になったわけだが。

757 名前:デフォルトの名無しさん (ワッチョイ bb99-bdSd) mailto:sage [2017/02/23(木) 22:34:18.39 ID:OjaB8M7n0.net]
え?型推論のない言語があるの?

758 名前:デフォルトの名無しさん (ワンミングク MMfa-LqKA) mailto:sage [2017/02/23(木) 22:34:28.26 ID:osMc+8cAM.net]
varがダメな人って変数のスコープがやたら長かったりクラスの責務が複数あったりメソッド名がわかりにくい印象がある

759 名前:デフォルトの名無しさん (ワッチョイ 7fbb-8lb6) mailto:sage [2017/02/23(木) 22:40:33.39 ID:SDiG8DJL0.net]
はるか昔、C++も糞化、オナニー言語になって捨てられて、シンプル化したJavaやC#に多くが逃げてきた。
すると、言語オタク馬鹿がJavaとC#でオナニーを始めたというだけ。
C#は幸運にも普及する前に糞化してくれたので被害者は少ないが、Javaは相当被害者が出るだろう。

まぁ、未だ.net2.0 + winform案件の多さからしてほんとトンデモ擁護してる輩は無職だろうな。

760 名前:デフォルトの名無しさん (ワッチョイ 8a23-d4M5) mailto:sage [2017/02/23(木) 22:41:51.99 ID:LD/mBXzl0.net]
varに噛み付く割にはdynamicをスルーなんだよな
結局知らない人だって自白しているようなものです



761 名前:デフォルトの名無しさん (ワッチョイ 4613-i5z9) mailto:sage [2017/02/23(木) 23:11:03.64 ID:STaIjfZE0.net]
自分の理解できない仕様を含む言語は全部糞なんだな

762 名前:デフォルトの名無しさん (ワッチョイ 4a3c-F6/z) mailto:sage [2017/02/23(木) 23:13:19.44 ID:boStFqTs0.net]
>>738
斬新な意見やな

763 名前:デフォルトの名無しさん (ワッチョイ 8790-weqm) mailto:sage [2017/02/23(木) 23:13:57.36 ID:fEmyL96O0.net]
C#のすごいところはvarの使用を禁止できることなんだよね

764 名前:デフォルトの名無しさん (ワッチョイ 4a3c-F6/z) mailto:sage [2017/02/23(木) 23:14:34.97 ID:boStFqTs0.net]
>>738
>マウスカーソルで指さないと
あとキーボード使うといいと思うよ

765 名前:デフォルトの名無しさん (スフッ Sdaa-Hx5d) mailto:sage [2017/02/23(木) 23:19:03.31 ID:fCBY3OKed.net]
逆だよなぁ。
その型が変わったとしても帳尻合わせるために直接関係のない部分を直さんで済む。
型推論を横着するための機能と考えるから変な話になってくる。

766 名前:デフォルトの名無しさん (ワッチョイ 0a4a-d4M5) mailto:sage [2017/02/23(木) 23:57:02.37 ID:Xdm75SB30.net]
マウスカーソル当てないと推論できない頭なんだろ
察して差し上げろ

767 名前:デフォルトの名無しさん (ワッチョイ 0ecb-NqGB) mailto:sage [2017/02/24(金) 00:09:58.97 ID:sMce7DLg0.net]
使ってないソースのが圧倒的に読みやすいけどね

768 名前:デフォルトの名無しさん (アウアウウー Sacf-TXya) mailto:sage [2017/02/24(金) 00:24:57.75 ID:Oi+tTZOha.net]
varの話はもうほとんどボケ老人の繰り言だねw
論点は出尽くしてるし結論も明らか(だから採用されている)のによく飽きないなと思うわ。

769 名前:デフォルトの名無しさん (アウアウウー Sacf-TXya) mailto:sage [2017/02/24(金) 00:26:20.78 ID:Oi+tTZOha.net]
あれだ、もうネトウヨが8月になると朝生とか見て毎年毎年同じこと言ってるのとよく似てるわw

770 名前:デフォルトの名無しさん (ワッチョイ 4613-i5z9) mailto:sage [2017/02/24(金) 00:34:06.16 ID:KvudGu/Z0.net]
Action<・・・>とかTask<・・・>とか型推論なしでいちいち書いとれんわ



771 名前:デフォルトの名無しさん (ワッチョイ 533c-LVYP) mailto:sage [2017/02/24(金) 03:35:06.91 ID:DZX2b5jN0.net]
>>756
IEnumarableもだよね

772 名前:デフォルトの名無しさん (ワッチョイ ca30-bdSd) mailto:sage [2017/02/24(金) 05:44:47.60 ID:7M0bhqrr0.net]
ド低脳と仕事をしているために未だにC#2.0相当のコーディングを強いられているというのが真相である
無職はいいなあという発言がそれを物語っている

ド低脳と仕事せざるを得ない状況にあるのは自分がド低脳なせいだとは知る由もない
なぜならド低脳だから

773 名前:デフォルトの名無しさん (ワンミングク MMfa-LqKA) mailto:sage [2017/02/24(金) 07:33:10.08 ID:MgbB+KPvM.net]
ジャップランドだとレベルの低い同僚に合わせないといけないからね

774 名前:デフォルトの名無しさん (ワッチョイ bb3c-xMKC) mailto:sage [2017/02/24(金) 08:17:18.01 ID:YSZ/aLRo0.net]
これが自分が高レベルだと勘違いしてる人にありがちな考え方ですよ〜
初心者の皆さんはよ〜く覚えておきましょうね〜

775 名前:デフォルトの名無しさん (ワントンキン MMfa-HyQo) mailto:sage [2017/02/24(金) 11:34:57.57 ID:rumrh9icM.net]
別PC上でソケット通信のサーバのソフトが動作しています。
そのソフトにクライアントとして接続するアプリです。

今までサーバソフトが動作するPCがXPの時は問題なく接続できていたのですが、
windows7に変えたところ「対象のコンピュータに拒否されたため、接続できませんでした」となります。

using System.Net.Sockets;

TcpClient myClient = new TcpClient();

myClient.Connect(IPaddress, port);

何か他に設定等必要なのでしょうか?

776 名前:デフォルトの名無しさん (ワッチョイ a3c0-d4M5) mailto:sage [2017/02/24(金) 11:39:55.37 ID:WmxnDnjh0.net]
>>761
Windows7のファイアーウォール設定で接続ポートが塞がれているんじゃね

777 名前:デフォルトの名無しさん (ワントンキン MMfa-HyQo) mailto:sage [2017/02/24(金) 11:53:52.45 ID:rumrh9icM.net]
>>762

情報不足ですみません。
ファイアーウォールは全て無効にしています。
今、念のため全てのポートを開放してみましたが状況変わらずです。

Windows7のPCは、セットアップした素の状態にネットワーク設定して、ファイアーウォール無効にしただけの状態です。
少なくとも2台のWindows7でこの現象を確認しています。

778 名前:デフォルトの名無しさん (ワッチョイ 2719-YZdX) mailto:sage [2017/02/24(金) 12:47:58.59 ID:og9jdWQJ0.net]
pingが通るか確認する
アドレスとポート番号を確認する

779 名前:デフォルトの名無しさん (ワッチョイ 8a3c-9513) mailto:sage [2017/02/24(金) 12:53:29.50 ID:YZGHPd2K0.net]
>>761
> windows7に変えたところ「対象のコンピュータに拒否されたため、接続できませんでした」となります。
サーバープロセスが動いてない
サーバー側で netstat -a やってみ

>>762
ポート塞がれてたらたいてい接続タイムアウトになる

780 名前:デフォルトの名無しさん (ワントンキン MMfa-HyQo) mailto:sage [2017/02/24(金) 13:40:28.43 ID:rumrh9icM.net]
サーバのソフトを確認してもらいました。

従来、
IPHostEntry hst;
hst = Dns.GetHostEntry(Dns.GetHostName());
TcpListener server = new TcpListener(hst.AddressList[0], port番号);

としてたところ、
IPAddress.Any にすると接続できるようになりました。

OSによって挙動が変わる理由は何故でしょうか?



781 名前:デフォルトの名無しさん (ワッチョイ 2719-YZdX) mailto:sage [2017/02/24(金) 13:55:20.36 ID:og9jdWQJ0.net]
IPv6のアドレスが[0]に入ってたとかそんなんじゃね

782 名前:デフォルトの名無しさん (ワントンキン MMfa-HyQo) mailto:sage [2017/02/24(金) 14:11:36.34 ID:rumrh9icM.net]
>>767

確認してもらったところ、おっしゃるとおりIPv6が入ってました。

どーもお騒がせしました。

783 名前:デフォルトの名無しさん (ワッチョイ 8790-weqm) mailto:sage [2017/02/25(土) 03:11:03.30 ID:bkNRV9RG0.net]
HttpWebRequestクラスを継承して派生クラスを作るのはひょっとして不可能ですか?
引数なしの親コンストラクタないって言われてしまうのですが・・・

784 名前:デフォルトの名無しさん (ワッチョイ 4a3c-F6/z) mailto:sage [2017/02/25(土) 03:29:06.72 ID:IvVV1H8V0.net]
そうみたい
Extension使えば
stackoverflow.com/questions/400565/is-there-any-way-to-inherit-a-class-without-constructors-in-net

785 名前:デフォルトの名無しさん (ワッチョイ 8790-weqm) mailto:sage [2017/02/25(土) 06:00:38.63 ID:bkNRV9RG0.net]
Cookieの設定をもっと楽にしようとSetCookie()メソッドを作ってみようってだけだったので・・・
ラッパーにしてしまえば呼び出し方法は変わりますが、何かデメリットありますか?

786 名前:デフォルトの名無しさん (ワッチョイ 7f7b-xV3R) mailto:sage [2017/02/25(土) 14:21:15.52 ID:xOc+8hLN0.net]
目的がそれだけなら拡張メソッドで良いよ

787 名前:デフォルトの名無しさん (ワッチョイ 8a11-bM86) mailto:sage [2017/02/25(土) 17:39:57.89 ID:55IAItyF0.net]
System.IO.File.Copy でファイルをコピーしようとしたら、コピー先のドライブの空き容量が足らないのに
例外が発生しないで(何もキャッチされず)進んでいきます。
コピーが正常完了していない場合は、どのようにエラーをキャッチしたらいいですか?

788 名前:デフォルトの名無しさん (ワッチョイ 1e5e-d4M5) mailto:sage [2017/02/25(土) 17:48:38.25 ID:Zzp1j43Z0.net]
>>773
書き込んだ先のFile.Existsとサイズ確認したら

789 名前:デフォルトの名無しさん (アウアウオー Sac2-pore) mailto:sage [2017/02/25(土) 17:54:59.90 ID:IfKbzrsTa.net]
>>773
試したら例外でたぞ

790 名前:772 (ワッチョイ 8a11-bM86) mailto:sage [2017/02/25(土) 18:04:57.59 ID:55IAItyF0.net]
>>774
そのやり方で正常か確認します。

>>775
どのような内容で例外が出てきましたか?



791 名前:デフォルトの名無しさん (アウアウオー Sac2-pore) mailto:sage [2017/02/25(土) 18:07:41.25 ID:IfKbzrsTa.net]
Messageは容量がたりませんって

792 名前:デフォルトの名無しさん (アウアウウー Sacf-TXya) mailto:sage [2017/02/25(土) 18:21:10.66 ID:5cuy11p+a.net]
Task

793 名前:に投げっぱなしで例外が来ないと文句言ってるなんてオチだったりして []
[ここ壊れてます]

794 名前:772 (ワッチョイ 8a11-bM86) mailto:sage [2017/02/25(土) 18:30:16.63 ID:55IAItyF0.net]
>>777
今は、コピー先のドライブをUSBメモリで試してるのですが、やはり例外は発生しません。
違う環境だったら発生するかもしれませんので色々試してみます。

>>778
コピー処理はTaskでマルチスレッド内で処理してます。
でも、他の例外はキャッチできるので、なぜCopyメソッドだけがスルーされるかが気になります。

795 名前:デフォルトの名無しさん (アウアウウー Sacf-TXya) mailto:sage [2017/02/25(土) 18:39:04.29 ID:5cuy11p+a.net]
あー遅延書き込み(だっけ?)がらみの問題かなあ

USBとかネットワーク上のドライブだと書き込み中に切断されても例外が起こらないような
気がしたなあそういえば

796 名前:デフォルトの名無しさん (アウアウオー Sac2-pore) mailto:sage [2017/02/25(土) 19:49:09.43 ID:IfKbzrsTa.net]
例外キャッチコードが悪いのかも

797 名前:デフォルトの名無しさん (ワッチョイ 8790-weqm) mailto:sage [2017/02/25(土) 20:01:30.35 ID:bkNRV9RG0.net]
>>772
盲点でした!あとHttpWebRequestのHeadersプロパティについてなんですが、既存のプロパティをHeadersプロパティで代入しようとするとエラーが出ます
Headersプロパティのほうに統一したいのですが方法はないのでしょうか?

798 名前:デフォルトの名無しさん (ワッチョイ 7f7b-xV3R) mailto:sage [2017/02/25(土) 20:22:43.20 ID:xOc+8hLN0.net]
そっちはどうしようもないはず
せいぜいSetHeaderとかいう拡張メソッド作ってその中で
既存のプロパティならプロパティ設定に流すぐらいかな

799 名前:デフォルトの名無しさん (ワッチョイ 8790-weqm) mailto:sage [2017/02/26(日) 17:58:17.52 ID:nIUORy8+0.net]
そうですか、ありがとうございます
こういった自分で作った拡張メソッドを他のプロジェクト(今はC#のみ将来的にはC++もあるかも)でも使って行きたいのですがどうするのが吉でしょうか?
クラスライブラリ(dll)として作るのが一番良いのでしょうか?

800 名前:デフォルトの名無しさん (ブーイモ MMef-nCc/) mailto:sage [2017/02/26(日) 18:10:10.17 ID:58FG/mcmM.net]
そういう小物はコピペの方がいい
依存関係やバージョン管理が複雑になりすぎる



801 名前:デフォルトの名無しさん (ワッチョイ 4a3c-F6/z) mailto:sage [2017/02/26(日) 18:37:26.98 ID:/2VmdLBu0.net]
>>782
Enum使ってもダメ?
Headers[HttpRequestHeader.Accept]

802 名前:デフォルトの名無しさん (ワッチョイ 8790-weqm) mailto:sage [2017/02/27(月) 04:44:19.84 ID:Ar8/UbRm0.net]
だめでした
req.Headers[HttpRequestHeader.Accept] = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
上記のもので試しましたが、ArgumentExceptionが出ます

803 名前:デフォルトの名無しさん (ワッチョイ 8790-weqm) mailto:sage [2017/02/27(月) 04:46:45.84 ID:Ar8/UbRm0.net]
>>785
連レスすいません
だいたいどのくらいの規模で分ければいいですか?

804 名前:デフォルトの名無しさん (ワッチョイ 87dc-nCc/) mailto:sage [2017/02/27(月) 06:53:25.01 ID:b74ECDn30.net]
>>788
大事なのは規模より凝集度
ごちゃまぜの便利ユーティリティ集みたいなのは結局個別に変更が入りまくって確実に破綻する

805 名前:デフォルトの名無しさん (ワッチョイ 8790-weqm) mailto:sage [2017/02/27(月) 08:45:50.71 ID:Ar8/UbRm0.net]
一応クラス分けはしています
ごちゃまぜってわけではないと思うんですが・・・

806 名前:デフォルトの名無しさん (アウアウオー Sac2-pore) mailto:sage [2017/02/27(月) 08:55:40.47 ID:zyKpb96Na.net]
クラス分けしててもしてなくてもいいだろ。どれだけ汎用的なのを作れるかだな
便利ユーティリティ集でもちゃんと作れば破綻も個別変更もすることなく10年単位で使いまわせる

でも、どうするのが一番いいかなんて聞く頭じゃ、そういうのは作れないから諦めなw
頭の隅に自分ライブラリ計画を置きながら、ソース使いまわさずに毎回書き直すのがいいよ

807 名前:デフォルトの名無しさん (ワッチョイ 0ecb-NqGB) mailto:sage [2017/02/27(月) 14:07:53.79 ID:IXzsv4Rb0.net]
いや設計書通りに作れよ

808 名前:デフォルトの名無しさん (ワッチョイ ab0d-rIZz) [2017/02/27(月) 22:44:15.30 ID:06KqeLby0.net]
DataGridTemplateColumnのCellTemplateを外部ファイルのResourceDictionaryに定義して利用したいのですがBindingの方法がわからないので教えてください
以下のようなイメージです
(実際はもっと複雑なTemplateなのでDataGridTextColumnは使えません)


<ResourceDictionary ...>
<DataTemplate x:Key="MyCellTemplate">
<TextBlock Text="{Binding}" />
</DataTemplate>
</ResourceDictionary>


<DataGrid.Columns>
<DataGridTemplateColumn Header="..." CellTemplate="{StaticResource MyCellTemplate}" Binding="{Binding Text}" /> ←Bindingしたい
</DataGrid.Columns>

809 名前:792 (ワッチョイ ab0d-rIZz) [2017/02/27(月) 22:46:58.24 ID:06KqeLby0.net]
補足です
同じTemplateを異なるDataGridで使いまわすのが目的です
Binding名はそれぞれ違います

810 名前:デフォルトの名無しさん (ワッチョイ 7f7b-xV3R) mailto:sage [2017/02/27(月) 23:24:15.09 ID:r7hwcqtC0.net]
public class DataGridBoundTemplateColumn : DataGridTemplateColumn {
public BindingBase Binding { get; set; }
protected override FrameworkElement GenerateElement(DataGridCell cell, object dataItem) {
var element = base.GenerateElement(cell, dataItem);
BindingOperations.SetBinding(element, ContentPresenter.ContentProperty, this.Binding);
return element;
}
}



811 名前:デフォルトの名無しさん (ワッチョイ 8ab6-d4M5) mailto:sage [2017/02/28(火) 14:37:36.16 ID:GKPFI9ic0.net]
常駐してMessage QueueをListenしてメッセージ駆動で処理する、JavaでいうJMSみたいな標準的な仕組みはありますか?
ググったらWebSphereR MQ classes for .NETってのがあるのは分かりましたが、OSSのみでMSMQ向けに開発できればうれしいんですが・・・
自前で常駐アプリ作るしかないですか?

812 名前:ワッチョイ (ワッチョイ 1e31-y359) [2017/02/28(火) 18:39:44.06 ID:pIiGTdLD0.net]
この板に10年近く居る初心者なんだけど、
いい本、教えてくれ

書籍は日本語で頼む

813 名前:デフォルトの名無しさん (アウアウオー Sac2-pore) mailto:sage [2017/02/28(火) 18:48:29.36 ID:+WocOs48a.net]
10年いたら何百回も同じ質問回答見てんだろ。それで選べないような奴向けの書籍は存在しないよ

814 名前:ワッチョイ (ワッチョイ 1e31-y359) [2017/02/28(火) 19:41:55.53 ID:pIiGTdLD0.net]
心眼で何とかするしか無いか……

815 名前:デフォルトの名無しさん (ワンミングク MMfa-1leb) mailto:sage [2017/02/28(火) 19:45:31.01 ID:k+KkrlHaM.net]
>>796
MSMQは.NET4以降で使えた筈

816 名前:デフォルトの名無しさん (ブーイモ MMef-ZSEG) [2017/03/01(水) 07:58:25.62 ID:ch1dK+X7M.net]
VBAはいいのに、C#は禁止
という意味不明なお触れが出てしもた(TT)

817 名前:デフォルトの名無しさん (ブーイモ MMc7-nCc/) mailto:sage [2017/03/01(水) 08:24:08.01 ID:ILMptHRyM.net]
その程度の会社にしか居場所がないならお前もその程度ってことだ
違うと思うなら転職しろ

818 名前:デフォルトの名無しさん (ドコグロ MM7f-NqGB) mailto:sage [2017/03/01(水) 08:33:50.70 ID:KIFQ5s++M.net]
単価の数字を見てって意味なら理解できる
無駄に安かったりするんだよね

819 名前:デフォルトの名無しさん (ワッチョイ 1e7b-efmn) mailto:sage [2017/03/01(水) 09:32:07.98 ID:yuocqMDO0.net]
>>797
猫でもわかるC#プログラミング 第3版、粂井(くめい)康孝、2016

820 名前:デフォルトの名無しさん (アークセー Sx23-bB+7) mailto:sage [2017/03/01(水) 12:02:32.78 ID:XUb7kHxXx.net]
>>797
ミジンコでも分からせるC#
民明書房



821 名前:デフォルトの名無しさん (ワッチョイ 7fbb-8lb6) mailto:sage [2017/03/01(水) 12:30:59.03 ID:RAuT14LS0.net]
C#はもう業務では使えないよ。趣味用の言語。perlみたいなもの。

822 名前:デフォルトの名無しさん (スププ Sdaa-L/ed) mailto:sage [2017/03/01(水) 18:08:15.69 ID:BlDV/sC+d.net]
>>806
理由は?

823 名前:デフォルトの名無しさん (ワッチョイ 1e9d-d4M5) [2017/03/01(水) 18:19:58.85 ID:ZH+ht5qq0.net]
>>806
じゃあ業務では何使えばいいですか?

824 名前:デフォルトの名無しさん (アウアウウー Sacf-TXya) mailto:sage [2017/03/01(水) 18:21:54.62 ID:CsuWabtqa.net]
なーにーやっちまったな
男は黙ってCOBOL

825 名前:デフォルトの名無しさん (スプッッ Sd4a-xMKC) mailto:sage [2017/03/01(水) 18:34:47.06 ID:mz3by4fld.net]
女は黙ってFORTRAN

826 名前:デフォルトの名無しさん (ワンミングク MMfa-LqKA) mailto:sage [2017/03/01(水) 18:57:55.89 ID:PR7YLHWZM.net]
>>801
それってどうやって禁止するんだ?

827 名前:デフォルトの名無しさん (ワッチョイ 7fbb-8lb6) mailto:sage [2017/03/01(水) 18:59:56.97 ID:RAuT14LS0.net]
>>808
鉄板のCOBOLとJAVAですよ。

828 名前:デフォルトの名無しさん (ワッチョイ bbc3-bdSd) mailto:sage [2017/03/01(水) 19:19:48.23 ID:BukY6Teo0.net]
ことこと煮詰めたPerl(読めない)

829 名前:デフォルトの名無しさん (ワッチョイ 1e31-bRgR) [2017/03/01(水) 20:27:41.90 ID:r70GDLNP0.net]
>>797
汝!隣の嫁を愛せ!! C#

830 名前:ワッチョイ (ワッチョイ 1e31-bRgR) [2017/03/01(水) 20:28:19.50 ID:r70GDLNP0.net]
ワッチョイで自演がバレちゃうwww



831 名前:デフォルトの名無しさん (ワッチョイ cfd6-8lb6) mailto:sage [2017/03/01(水) 20:43:06.08 ID:LaylmXrB0.net]
すごく…かっこ悪いです…

832 名前:デフォルトの名無しさん (ワッチョイ 1e9d-8lb6) mailto:sage [2017/03/01(水) 20:48:20.77 ID:U2Od4VRx0.net]
NEC PC-8001 BASIC Ver 1.1
Copyright 1979 (C) by Microsoft

Ok


833 名前:デフォルトの名無しさん (ワンミングク MMfa-1leb) mailto:sage [2017/03/01(水) 21:21:32.69 ID:Yvg0gU5LM.net]
>>817
mon
*tm

834 名前:デフォルトの名無しさん (ワッチョイ 1e31-y359) [2017/03/01(水) 21:23:11.06 ID:r70GDLNP0.net]
就職用にソフト作るとして、どの程度の作品を作らなきゃ評価
されないのか、誰か教えてくれ

835 名前:デフォルトの名無しさん (ワッチョイ 8a3c-9513) mailto:sage [2017/03/01(水) 22:09:13.37 ID:TpZN5x5p0.net]
>>811
グループポリシーで csc.exe を実行禁止とかかな
弊害知らんけど

836 名前:デフォルトの名無しさん (ワッチョイ 03a1-zLYe) mailto:sage [2017/03/01(水) 22:24:49.41 ID:wQqERzxI0.net]
vbc.exeは動いたとかだったら面白いんだけどね

837 名前:デフォルトの名無しさん (ワッチョイ 8bc0-NqFr) mailto:sage [2017/03/02(木) 00:11:24.12 ID:lUnnJDsN0.net]
>>745で未だに2.0とかねーよwwwと思ってたら10年前のC#システム改修案件来た
.NET4.5.2とか贅沢言わないのでせめて3.5で作らせて下さい・・・

838 名前:デフォルトの名無しさん (JP 0Hef-NqFr) mailto:sage [2017/03/02(木) 06:08:44.13 ID:T8mz/VrOH.net]
C#案件とか.NET案件で一括りされるから面倒だよな

839 名前:デフォルトの名無しさん (スププ Sd3f-GcmM) mailto:sage [2017/03/02(木) 08:25:58.59 ID:sITpgG7dd.net]
されませんけど

840 名前:デフォルトの名無しさん (ワッチョイ eb0c-BJNc) mailto:sage [2017/03/02(木) 10:34:35.36 ID:ZT4/tAUe0.net]
WPFの解説ブログ書いてた大田一希、富士通の子会社からマイクロソフトに転職したってよ
blog.okazuki.jp/entry/2017/02/20/202522



841 名前:デフォルトの名無しさん (スププ Sd3f-GcmM) mailto:sage [2017/03/02(木) 11:40:42.47 ID:sITpgG7dd.net]
>>825
ドメイン見て気づいたけどこの人の作ったVisual Studio Codeのプラグイン使ってるわ
シーケンス図書くやつ

842 名前:デフォルトの名無しさん (ワッチョイ ab99-PBd5) mailto:sage [2017/03/02(木) 12:56:07.90 ID:BMLMSkag0.net]
WPFのおくりびとにでもなるのか?

843 名前:デフォルトの名無しさん (ワッチョイ bb19-/EJX) mailto:sage [2017/03/02(木) 13:11:50.84 ID:bkixketX0.net]
ここはプログラマ板ではないしネットウォッチ板でもない

844 名前:デフォルトの名無しさん (アウアウウー Sa2f-G6vc) mailto:sage [2017/03/02(木) 13:44:58.65 ID:GnKpLkBNa.net]
>>825
ネットストーカーきもっ
っていうか、公人でも何でもないんだからいい歳こいてるならさん付けぐらいしろよバカ

845 名前:デフォルトの名無しさん (アウアウオー Sabf-rrQM) mailto:sage [2017/03/02(木) 14:22:53.36 ID:j0RdOmJSa.net]
>>829
いい歳こいてるならガキみたいな言葉遣いやめろよバカ

846 名前:デフォルトの名無しさん (ワッチョイ 1fb6-NqFr) mailto:sage [2017/03/02(木) 16:57:06.80 ID:7GIcFobN0.net]
>>800
遅くなりましたが、レスありがとうございます
MSMQを使うこと自体は問題ないのですが、.
NET FrameworkにはJavaのMessageDrivenBeanみたいな標準仕様があるのか知りたかったのですが、
どうも無さそうということで考えた方が良さそうですね・・・

847 名前:デフォルトの名無しさん (ワンミングク MM3f-swil) mailto:sage [2017/03/02(木) 22:01:03.86 ID:l6Qo/SsEM.net]
>>831
メッセージキュートリガーじゃ代替出来ないような処理なの?

848 名前:デフォルトの名無しさん (ワッチョイ ef7b-anrw) mailto:sage [2017/03/03(金) 00:47:09.29 ID:DpV0ZA8P0.net]
WPFのnativeコンパイル早くー

849 名前:デフォルトの名無しさん (ブーイモ MM3f-d4C0) mailto:sage [2017/03/03(金) 06:44:37.15 ID:ivKlbKhzM.net]
>>833
不可能でしょ
WPFって裏で勝手にプロセス動かしたりするし

850 名前:デフォルトの名無しさん (ワッチョイ 8b4f-M3Ci) mailto:sage [2017/03/03(金) 14:07:24.12 ID:WzLWeeja0.net]
今後はWPFをフェードアウトさせて、
UWPを普及させるつもりなんじゃね?



851 名前:デフォルトの名無しさん (ワッチョイ abc3-PBd5) mailto:sage [2017/03/03(金) 14:38:10.68 ID:xoyAwVxu0.net]
マジか…

852 名前:デフォルトの名無しさん (ワッチョイ 3b90-Mt2S) mailto:sage [2017/03/03(金) 17:55:33.68 ID:yDKPEtIM0.net]
数独を解くアプリを作っているのですがどのコントロールでユーザーに入力してもらったらいいかわかりません
algorithm.main.jp/Puzzle/Sudoku/3-Input.php
こんな感じに作りたい場合どんなコントロールを使いますか?

853 名前:デフォルトの名無しさん (アウアウウー Sa2f-G6vc) mailto:sage [2017/03/03(金) 18:18:23.19 ID:M1qcN5qza.net]
今デジャビューを感じた

854 名前:デフォルトの名無しさん (ワッチョイ 0f9d-NqFr) [2017/03/03(金) 19:23:27.45 ID:W1tulntN0.net]
UWPってストアに上げないと配布できないの?Win8以前のじゃ動かいないし
よくわからん

855 名前:デフォルトの名無しさん (ワッチョイ 0ba1-c3r2) mailto:sage [2017/03/03(金) 21:52:37.85 ID:TSrsvtYD0.net]
ユーザーが設定すればサイドローディング可能

856 名前:デフォルトの名無しさん (ワッチョイ 0f31-3D2C) [2017/03/03(金) 22:27:45.30 ID:eezZKf7v0.net]
MonoDevelopの使い方がイマイチ分からん

これって、ビジュアルスタイディオから移行する意味あるのか?

857 名前:デフォルトの名無しさん (ワッチョイ 4fcb-re10) mailto:sage [2017/03/03(金) 22:50:43.99 ID:KGCeex070.net]
>>841
意味なくね?
だってコントロールクラス的なものないっしょ?
画面作れなくね?
描画関係ってwin32のラッパじゃねーの?

858 名前:デフォルトの名無しさん (ワッチョイ 0f7b-liqg) mailto:sage [2017/03/03(金) 23:22:28.28 ID:VmWbxx1t0.net]
>>837
HTMLなら、表かな?

Grid-View みたいなもの?

859 名前:デフォルトの名無しさん (RU 0H7f-YS1u) mailto:sage [2017/03/04(土) 00:38:07.38 ID:WtTkhvloH.net]
あーあー
テストテスト

860 名前:デフォルトの名無しさん (RU 0H7f-YS1u) mailto:sage [2017/03/04(土) 00:40:41.72 ID:WtTkhvloH.net]
テスト2



861 名前:デフォルトの名無しさん (ワッチョイ 7b14-YS1u) mailto:sage [2017/03/04(土) 00:42:29.33 ID:SJvxZRgO0.net]
テスト3

862 名前:デフォルトの名無しさん (ワッチョイ 6b3c-NqFr) mailto:sage [2017/03/04(土) 04:10:31.34 ID:ymzArQkK0.net]
RUって海外鯖?非国民?

863 名前:デフォルトの名無しさん (ワッチョイ 3b42-T7IB) [2017/03/04(土) 12:04:06.46 ID:rEOlgOeo0.net]
>>819
印刷プレビュー付きテキストエディタあたりで大丈夫だろ
メモ帳に印刷プレビューを付けたやつ
10Mバイト程度のテキストの印刷プレビューでも固まらないようにな

864 名前:デフォルトの名無しさん (ワッチョイ ef5b-EkCO) mailto:sage [2017/03/04(土) 13:08:14.58 ID:aE/wnzST0.net]
>>848
そんなの意味あるの?
どっかに転がってるソース提出できるじゃん。

オレは始めたばかりだから初心者だけど、どんな言語でも少し喋ればスキルなんてバレバレだろ。
どんなものを作ったかと苦労した点とか聞けばだいたい分かるもんだろ。

865 名前:デフォルトの名無しさん (ワッチョイ cb34-PBd5) mailto:sage [2017/03/04(土) 13:18:59.82 ID:svzWwCAT0.net]
githubでスター100個とか200個ついたリポジトリ抱えてれば
面接に言ったとき向こうからおべっか使ってくれるよ

866 名前:デフォルトの名無しさん (アウアウオー Sabf-rrQM) mailto:sage [2017/03/04(土) 13:20:00.59 ID:nGVyMKq0a.net]
その程度しかできないんだな。そんなにできるんだな
事前の目安になるからどんなんでもいいんだよ。「事前の」目安な

867 名前:デフォルトの名無しさん (ワッチョイ eb0d-wJyW) [2017/03/04(土) 13:41:15.75 ID:3ybLjFYo0.net]
WebHeaderCollectionから"Set-Cookie"をすべて取得したいのですが、どうすればいいでしょうか?
GetValues()はカンマで区切られる為使い物になりませんでした

868 名前:デフォルトの名無しさん (ワッチョイ 3b90-Mt2S) mailto:sage [2017/03/04(土) 16:45:35.72 ID:pgVcOV4B0.net]
Proxy併用してCookieも変えながらエロ画像DLするアプリだとどんな評価されるんだろうか

869 名前:デフォルトの名無しさん (ワッチョイ 3b90-Mt2S) mailto:sage [2017/03/04(土) 16:48:03.55 ID:pgVcOV4B0.net]
>>852
自分で区切られているのを好きな形にするメソッドを作るとか

870 名前:デフォルトの名無しさん (ワッチョイ 1f30-PBd5) mailto:sage [2017/03/04(土) 18:32:13.09 ID:zFoXIyA10.net]
私が17歳だった頃くらいの技術力かなって評価する



871 名前:デフォルトの名無しさん (ササクッテロレ Spef-w/oi) mailto:sage [2017/03/04(土) 19:16:47.62 ID:ePKaLPUep.net]
>>852
GetValues(int)なら分割されないはず

872 名前:デフォルトの名無しさん (ワッチョイ 1f90-Mt2S) mailto:sage [2017/03/04(土) 23:00:54.14 ID:nqKolQrS0.net]
サイトを巡回して画像をDLするアプリを作っているのですが、Keep-aliveがtrueの場合
HttpWebRequestなどはstaticな変数、もしくはクラス変数のほうがいいですか?
Keep-aliveがfalseの場合、どちらでもいいですか?

873 名前:デフォルトの名無しさん (ワッチョイ 1f90-Mt2S) mailto:sage [2017/03/05(日) 08:23:18.11 ID:ci1fnKDv0.net]
HttpWebResponseで受け取ったCookieを次のHttpWebRequestのCookieにしたいのですがうまくいきません
どこがおかしいのでしょうか?
https://ideone.com/PExQEA

874 名前:デフォルトの名無しさん (ワンミングク MM3f-swil) mailto:sage [2017/03/05(日) 08:45:58.71 ID:iZvzQ0XvM.net]
>>855
わたしゃこの商売60年やってるよ。と続けないと

875 名前:デフォルトの名無しさん (ワッチョイ 1f23-NqFr) mailto:sage [2017/03/05(日) 08:47:51.24 ID:dvtekz6g0.net]
17歳の頃と言えばジャニス・イアンだな
https://www.youtube.com/watch?v=k39P2MK6WPo

876 名前:デフォルトの名無しさん (ワッチョイ aba7-bSi4) mailto:sage [2017/03/05(日) 10:56:08.64 ID:2PYsxDr30.net]
17位の時は、モデムを海外サーバーにつなぐ、0990のソフトつくってた

877 名前:デフォルトの名無しさん (ワッチョイ 1f90-Mt2S) mailto:sage [2017/03/05(日) 11:28:37.36 ID:ci1fnKDv0.net]
今日は誰もいないんですか?
できれば回答がほしいんですけど・・・

878 名前:デフォルトの名無しさん (アークセー Sxef-CqFM) mailto:sage [2017/03/05(日) 11:31:38.07 ID:d0KLgtk9x.net]
>>861
今は何位?

879 名前:デフォルトの名無しさん (ワッチョイ 3bdc-0QZk) mailto:sage [2017/03/05(日) 11:50:01.18 ID:4Mp9Np6+0.net]
>>862
>>858の質問の意図が俺には理解できない
何をしようとしてどう考えてそのコードを書いてどういう結果を期待していて実際の結果が期待とどう違っているのかを具体的に書いて

880 名前:デフォルトの名無しさん (ワッチョイ 1f90-Mt2S) mailto:sage [2017/03/05(日) 12:12:52.85 ID:ci1fnKDv0.net]
>>858についてですが、すいません、自己解決しました
単なるコードミスでした。あと>>857についてお願いします



881 名前:デフォルトの名無しさん (オッペケ Sref-udCm) mailto:sage [2017/03/05(日) 12:16:11.13 ID:oDjd797Or.net]
>>865
せめてどう解決したのかくらい書きなよ?

882 名前:デフォルトの名無しさん (ワッチョイ 1f90-Mt2S) mailto:sage [2017/03/05(日) 12:37:10.11 ID:ci1fnKDv0.net]
すいません
やりたいことは>>858
受信したCookieを保存するList<Cookie>型のreceivedCookieをwhile文の中で宣言していて
次にリクエストを送信する場合、受信したCookieは空にしてしまっていたのです

883 名前:デフォルトの名無しさん (アウアウウー Sa2f-G6vc) mailto:sage [2017/03/05(日) 12:48:02.23 ID:u6nsQtE2a.net]
森高千里を連想するとオッサンで、南沙織を連想するとジジイか

884 名前:デフォルトの名無しさん (ワッチョイ 3b90-Mt2S) mailto:sage [2017/03/05(日) 12:52:13.20 ID:4N1+21XT0.net]
コートの上から抱きしめといてちょっと太ったなんて聞くやつってどうかと思う

885 名前:デフォルトの名無しさん (ワッチョイ ef59-2BvX) mailto:sage [2017/03/05(日) 13:29:08.38 ID:sGCSwFPI0.net]
netstatすればkeepaliveかどうかわかると思う

886 名前:デフォルトの名無しさん (ワッチョイ 3b90-Mt2S) mailto:sage [2017/03/05(日) 18:00:28.29 ID:NskbqDfx0.net]
既存のList<T>を継承してXmlシリアライズ・デシリアライズ機能をつけたものを使っていたのですが
拡張メソッドで継承することなく機能をつけようとしてなぜかInvalidOperationExceptionが投げられるようになりました
どうしたことかもともと継承していたやつまでInvalidOperationExceptionを吐くようになってしまいました
InnerExceptionでは「<elem xmlns=''> は指定できません。」と出ます、自作ではなくC#のXMLシリアライザを使用して吐き出したものです
どなたか解決方法教えてください

public class XmlData<Type> { public Type[] data; }

public static void LoadXml<Type>(this List<Type> list, string path)
{
list.Clear();

XmlData<Type> xmldata = null;

XmlDocument xdoc = new System.Xml.XmlDocument();
XmlSerializer xml = new System.Xml.Serialization.XmlSerializer(typeof(XmlData<Type>));

xdoc.PreserveWhitespace = true;
xdoc.Load(path);

XmlNodeReader xnr = new System.Xml.XmlNodeReader(xdoc.DocumentElement);

xmldata = (XmlData<Type>)xml.Deserialize(xnr);

for (int i = 0; i < xmldata.data.Length; i++)
list.Add(xmldata.data[i]);
}

887 名前:デフォルトの名無しさん (ワッチョイ 1f17-Mt2S) mailto:sage [2017/03/05(日) 20:31:41.58 ID:8jeOdUNR0.net]
呼び出し側ではどういう風に呼び出してる?
Type で指定する型によっては InvalidOperationException 例外が発生するようだけど。 ex) System.Type

あと、この例では読み込みだけだけど、書き出しはどういう風に書いてる?
書き出しと読み出しで Type の型が違うなんてないよね。(型が違うとくだんの例外が発生する)

あと dobon だけど、このあたりを見てみるとか。
dobon.net/vb/dotnet/file/xmlserializer2.html

888 名前:デフォルトの名無しさん (ワッチョイ 3b90-Mt2S) mailto:sage [2017/03/06(月) 09:54:44.28 ID:MVjKwV/p0.net]
以下のとおりになります
https://ideone.com/RexR1Z
最初はListクラスを継承したListExクラスでXmlシリアライズして、そのシリアライズしたものを拡張メソッドLoadXmlで読もうとしています
シリアライズするクラスは同じものです

889 名前:デフォルトの名無しさん (ワッチョイ 4fcb-re10) mailto:sage [2017/03/06(月) 10:55:10.06 ID:iAI6G3090.net]
シリアナライク
オシリアラエズ

890 名前:デフォルトの名無しさん (ワッチョイ 0f7b-BJNc) mailto:sage [2017/03/06(月) 13:28:57.02 ID:xh0zMCOO0.net]
c#でjavascript(JS)を使いたいんですが、
ローカルフォルダにMainというHTMLに以下のコードを記載
https://dotnetfiddle.net/N2FfFc

C#のコードの方に
https://dotnetfiddle.net/ZHWTtH

JSの関数 test を実行しているはずが、nullとなってしまい、返り値を取得できないのですが、何かが間違っているのでしょうか?



891 名前:デフォルトの名無しさん (アウアウオー Sabf-rrQM) mailto:sage [2017/03/06(月) 15:35:25.99 ID:SM9wIIjZa.net]
documentcompleted待ってないからとか?

892 名前:872 (ワッチョイ 3b90-Mt2S) mailto:sage [2017/03/06(月) 15:57:21.11 ID:MVjKwV/p0.net]
すいません、そもそもジェネリッククラスのシリアライズ化ってできるんですか?
Listが持っているものをジェネリックメソッドを使用してシリアライズ化したいのですが・・・

893 名前:デフォルトの名無しさん (ワッチョイ bb19-/EJX) mailto:sage [2017/03/06(月) 16:13:30.95 ID:3WR0U+Fi0.net]
できる
XmlDataとかいうクラスを作る必要はない T[]を使えば良い
あと、型引数の名前にTypeはSystem.TypeとごっちゃになるからTだけ使う

894 名前:872 (ワッチョイ 3b90-Mt2S) mailto:sage [2017/03/06(月) 16:41:02.74 ID:MVjKwV/p0.net]
すいませんジェネリック使いながら「T」の使い方がわからないのです
調べても出てこないですし、なんとなくTypeと書いていたのです
何か違いがあるのでしょうか?

895 名前:デフォルトの名無しさん (アウアウウー Sa2f-G6vc) mailto:sage [2017/03/06(月) 17:26:25.11 ID:SfExdTzoa.net]
ない(あるわけないw)けど、型パラメータが一つしかないならTにするのが
暗黙の慣習みたいなものだし、それで可読性が落ちる理由もないし、
あえて変な自己主張してもいいことないよね

896 名前:872 (ワッチョイ 3b90-Mt2S) mailto:sage [2017/03/06(月) 21:51:17.87 ID:ACVl84t/0.net]
>>878
ありがとうございます、仰るとおりにしたらできました

897 名前:デフォルトの名無しさん (ワンミングク MM3f-prdN) mailto:sage [2017/03/06(月) 22:21:32.75 ID:AYI7ZDZ8M.net]
TSelectorとか意味わかる名前にしたほうがいいだろ
コレクションの型パラメータみたいに本当に何でもいいなら構わんけど
何でもかんでもT, Uじゃ不親切

898 名前:デフォルトの名無しさん (アウアウウー Sa2f-G6vc) mailto:sage [2017/03/07(火) 00:00:53.81 ID:iPWuig5na.net]
そんなケースは皆無とは言わないけどあんまりないと思うよw

899 名前:デフォルトの名無しさん (ワッチョイ 0f42-wc60) mailto:sage [2017/03/07(火) 00:57:34.30 ID:+YV7asI40.net]
型の意味書かなきゃならんってことは何か設計が微妙なんじゃないかって気がする

900 名前:デフォルトの名無しさん (ワッチョイ 1f90-Mt2S) mailto:sage [2017/03/07(火) 00:59:34.58 ID:GXNElMqV0.net]
静的クラスのデストラクターは定義できないとのことですが、デストラクターの内容を書いたメソッドを呼ぶしかないのでしょうか?



901 名前:872 (ワッチョイ ab90-Mt2S) mailto:sage [2017/03/07(火) 01:52:20.69 ID:ruRUpvB50.net]
また質問させてください
Listクラス以外の自作クラスのシリアライズも拡張メソッドで行いたいと思って以下のようなコードを書いたのですがエラーも例外も吐かないのに読み込めません
public static void LoadXml<T>(this T obj, string path)
{
XmlDocument xdoc = new XmlDocument();
XmlSerializer xml = new XmlSerializer(typeof(T));

xdoc.Load(path);

XmlNodeReader xnr = new XmlNodeReader(xdoc.DocumentElement);

obj = (T)xml.Deserialize(xnr);
}

これがデシリアライズするクラスの例です
public class MyClass
{ public string value1, value2; }

902 名前:デフォルトの名無しさん (アウアウウー Sa2f-G6vc) mailto:sage [2017/03/07(火) 02:25:06.04 ID:iPWuig5na.net]
>>885
そもそもデストラクターそのものがあくまでフェイルセーフ的な物のはずだと思うんですが...
っていうか静的クラスのデストラクタって何だかなあw

Windows FormアプリならApplicationのApplicationExitイベントに紐づけするとか、確かWPFにも
似たようなイベントがあったと思ったけど、こういうの使うとイベントハンドラが呼び出される順序で
ハマったりするんだよなあ

903 名前:デフォルトの名無しさん (ワッチョイ 8bc0-NqFr) mailto:sage [2017/03/07(火) 02:28:11.35 ID:X44GHN6S0.net]
>>885
リソース破棄を明示したいならそもそも静的クラスにすべきじゃないかと

904 名前:デフォルトの名無しさん (ワッチョイ ef4a-m4jB) mailto:sage [2017/03/07(火) 05:57:46.86 ID:l3aZYBuT0.net]
質問させてください
「変数に値を設定する拡張メソッド」を作りたいのですが
エラーも例外も儚いのにうまくいきません

public static void SetValue<T>(this T obj, T value>
{ obj = value; }

これが使用例です
int i = 0;
i.SetValue(3);
Console.WriteLine(i);

905 名前:デフォルトの名無しさん (ワッチョイ 6bd4-Mt2S) mailto:sage [2017/03/07(火) 06:47:30.83 ID:WbHpL/G50.net]
それ拡張メソッドじゃなくても無理だよね?
そもそもそんな意味不明なメソッドを作りたいというのがおかしい

906 名前:デフォルトの名無しさん (ワンミングク MM3f-prdN) mailto:sage [2017/03/07(火) 07:54:40.64 ID:SGq4g/IKM.net]
VBならできるよ

907 名前:デフォルトの名無しさん (ブーイモ MM3f-ZTLi) mailto:sage [2017/03/07(火) 08:29:24.98 ID:SQQuUM2SM.net]
儚いなあ

908 名前:デフォルトの名無しさん (ワッチョイ bb19-/EJX) mailto:sage [2017/03/07(火) 09:38:09.03 ID:1NFra9UW0.net]
>>886
ファイルの中身がTに合ってないんじゃねーの

909 名前:デフォルトの名無しさん (ブーイモ MM3f-fL7a) mailto:sage [2017/03/07(火) 10:26:04.21 ID:IHsSpNAMM.net]
>>889
参照渡しと拡張メソッド(this)が共存しないので無理。素直に代入したら?

910 名前:872 (ワッチョイ ab90-Mt2S) mailto:sage [2017/03/07(火) 11:05:38.59 ID:ruRUpvB50.net]
>>893
ファイルの中身が違っていたら例外吐くと思っていたのですが違うのですか?



911 名前:>>874 (ワッチョイ 0f7b-BJNc) mailto:sage [2017/03/07(火) 11:56:02.27 ID:S+1e7jR70.net]
>>876
おっしゃる通り、ページ読み込み完了していないので取得できていなかったみたいです。
確かにページ読み込みが完了してないとスプリクト使えないですよね

912 名前:デフォルトの名無しさん (ワッチョイ 3b9f-m4jB) mailto:sage [2017/03/07(火) 11:59:21.35 ID:FPiytoRz0.net]
SQLAzure databaseにEntity framework6と.NET Framework4.6.1を利用して接続しています。
アプリ実行時、初回のデータ読み込みに10秒ほどかかるのですが解決方法はないでしょうか?
同じ処理をlocalDBに接続をして試すと3秒ほどです。

テーブル数は1、レコード数も1です。

913 名前:デフォルトの名無しさん (ワンミングク MM3f-PlVy) mailto:sage [2017/03/07(火) 13:56:31.38 ID:3EZIVbrWM.net]
EFを使わない

914 名前:デフォルトの名無しさん (ワッチョイ 8bc0-NqFr) mailto:sage [2017/03/07(火) 19:06:34.88 ID:X44GHN6S0.net]
localDBでもレコード1行読み込むのに3秒とか何かがおかしいような
プロファイラで何がネックになっているか調べてみたら?

915 名前:デフォルトの名無しさん (ブーイモ MMaf-d4C0) mailto:sage [2017/03/07(火) 20:10:26.97 ID:xCLX0I7rM.net]
>>897
ORMはサーバーで使うもんだよ

916 名前:>>872 (ワッチョイ ab90-Mt2S) mailto:sage [2017/03/07(火) 20:38:41.72 ID:ruRUpvB50.net]
誰か教えてください
最近この人が少ないですね

917 名前:>>872 (ワッチョイ ab90-Mt2S) mailto:sage [2017/03/07(火) 20:39:36.79 ID:ruRUpvB50.net]
×この人が少ないですね
○ここの人が少ないですね

918 名前:デフォルトの名無しさん (ブーイモ MM3f-fL7a) mailto:sage [2017/03/07(火) 21:17:41.73 ID:IHsSpNAMM.net]
>>886
>>889 と同じ理由 []
[ここ壊れてます]

920 名前:>>872 (ワッチョイ ab90-Mt2S) mailto:sage [2017/03/07(火) 22:01:28.13 ID:ruRUpvB50.net]
>>903
intが参照渡ししていないので>>889がダメな理由はなんとなくわかります
でもクラスのインスタンスは参照型だと思うのですが、ひょっとしてジェネリックだとそういう制約があるんですか?
シリアライズできてもデシリアライズはできないみたいですが・・・



921 名前:デフォルトの名無しさん (ブーイモ MM3f-fL7a) mailto:sage [2017/03/07(火) 22:04:38.86 ID:IHsSpNAMM.net]
>>904
参照型の値渡しになってる。
参照渡ししたければrefかoutが必要。

922 名前:>>872 (ワッチョイ ab90-Mt2S) mailto:sage [2017/03/07(火) 22:32:22.55 ID:ruRUpvB50.net]
ありがとうございます
ジェネリックでも配列やListはシリアライズできて、クラスのインスタンスはシリアル化できないのはなんか腑に落ちませんがなんとな納得してみます

923 名前:デフォルトの名無しさん (ワッチョイ dbbb-BJNc) mailto:sage [2017/03/07(火) 22:36:23.03 ID:hjB1k2kx0.net]
iniファイルがお似合い。

924 名前:デフォルトの名無しさん (スププ Sd3f-GcmM) mailto:sage [2017/03/07(火) 22:56:00.79 ID:JT5OyNStd.net]
>>907
iniファイルは標準では非サポートだから初心者向きではないと思います

925 名前:デフォルトの名無しさん (ワッチョイ dbbb-BJNc) mailto:sage [2017/03/07(火) 23:44:41.25 ID:hjB1k2kx0.net]
iniファイルすらサポートが必要なレベルなのか。

926 名前:デフォルトの名無しさん (スププ Sd3f-GcmM) mailto:sage [2017/03/07(火) 23:51:22.65 ID:JT5OyNStd.net]
ここは初心者用スレですけど?

927 名前:デフォルトの名無しさん (ワッチョイ 6b19-pp/g) mailto:sage [2017/03/08(水) 00:04:08.23 ID:nUQhPPyB0.net]
初心者とは言え文字を1行ごとに取り込んでSplit('=')で分割して順番にListにぶち込むだけで取りあえず読み込めるし似た手順で書き込みもできると思う

928 名前:デフォルトの名無しさん (ワッチョイ dbbb-BJNc) mailto:sage [2017/03/08(水) 00:06:07.47 ID:YUr8l1RF0.net]
そうだね。ここは初心者スレだったね。iniファイルの自前で読み書きはレベルが高すぎたね。

929 名前:デフォルトの名無しさん (スププ Sd3f-GcmM) mailto:sage [2017/03/08(水) 00:07:10.07 ID:MhhWeDADd.net]
>>911
値が改行コード入りの文字列の時だってあるんですよ

930 名前:デフォルトの名無しさん (ワッチョイ 0ba1-R7fB) mailto:sage [2017/03/08(水) 00:09:44.28 ID:nYBrtmF60.net]
iniは柔軟すぎて困る



931 名前:デフォルトの名無しさん (ワントンキン MM3f-prdN) mailto:sage [2017/03/08(水) 00:12:34.68 ID:swHBt9geM.net]
iniはサポートされただろ

932 名前:デフォルトの名無しさん (アウアウオー Sabf-rrQM) mailto:sage [2017/03/08(水) 00:12:50.48 ID:+9c4AYMpa.net]
ini推しはC#初心者だろうな

933 名前:デフォルトの名無しさん (ワッチョイ 6b19-pp/g) mailto:sage [2017/03/08(水) 00:35:21.61 ID:nUQhPPyB0.net]
>>913
思いつかなかった
そういやそういう時ってどうやるのが正しいの?
思い返せば自分が似たようなことやった時は書くときに改行コードを<br>に置き換えて一行で読めるようにしてて読み込むメソッドで<br>をEnvironment.NewLineに置換してた
その時はiniじゃなくてcsvだったけど

934 名前:デフォルトの名無しさん (スププ Sd3f-GcmM) mailto:sage [2017/03/08(水) 00:45:02.22 ID:MhhWeDADd.net]
>>917
自分がCSVパーサー作ったときは一文字づつ解析していったよ
“で囲われてるフィールドがあったり、“そのものは““になっていたりするから一文字ずつ読むのが手っ取り早い

935 名前:デフォルトの名無しさん (ワッチョイ 6b19-pp/g) mailto:sage [2017/03/08(水) 00:50:31.95 ID:nUQhPPyB0.net]
なるほど
そういうやり方もあるのかthx

936 名前:デフォルトの名無しさん (アウアウウー Sa2f-G6vc) mailto:sage [2017/03/08(水) 00:55:26.32 ID:DQTGg9gCa.net]
>>906
だーから、(恐らく)シリアライズ/デシリアライズの問題じゃないってばw

インスタンスメソッドだろうが拡張メソッドだろうが、オブジェクトを操作してそのオブジェクトが
入っている変数自身を書き換えようって発想がおかしいのw
自分の首をつかんで自分を持ち上げようとしても無理なのと同じだよww

素直にユーティリティークラスにTを返すメソッドとして実装しましょう。

937 名前:>>872 (ワッチョイ ab90-Mt2S) mailto:sage [2017/03/08(水) 01:29:06.79 ID:wRk+GbAW0.net]
すいません、どういうことがおかしいのかわからないです
配列やListクラスに拡張メソッドを定義して、その値をどうのこうのするのはおかしいんですか?
拡張メソッドを使用せずに以下のように書くんですか?よくわからないです
obj = LoadXml("C:\\hoge.dat");

938 名前:デフォルトの名無しさん (ワッチョイ 1f23-2BvX) mailto:sage [2017/03/08(水) 01:44:21.45 ID:CceDL3fb0.net]
>>921
thisはさ、拡張メソッドでもインスタンスメソッドでも値渡しされたインスタンス参照なんだよ
だからそれに代入しても引数の参照先が変わるだけ、元には何の影響も与えない、refも併用できないしね
読み取り専用であるため 'this' に割り当てできません、ってのと同じ、メンバに対する操作のみが有効

939 名前:デフォルトの名無しさん (アウアウウー Sa2f-G6vc) mailto:sage [2017/03/08(水) 02:37:50.73 ID:aAsk3kKya.net]
>>921
そんな難しい話じゃないと思うけどなあ...

まあ、どうしても拡張メソッドにこだわるなら、変数を書き換えるなんて
馬鹿な考えは捨てて、デシアライズしたオブジェクトから全部の(あるいは必要な)
プロパティーとフィールドをコピーしたらいい。

例えば、

Interface ICopyable<T>
{
  void CopyTo(T source) ;
}

みたいなインターフェイスを定義して、LoadXml<T>のTはICopyableを実装する制約を
つければいいんじゃないかな。知らんけど

940 名前:デフォルトの名無しさん (ブーイモ MM3f-fL7a) mailto:sage [2017/03/08(水) 05:15:42.09 ID:FUZAuqxsM.net]
>>921
public static void LoadXml<T>(ref T obj, string path)
なら動くんじゃないの?



941 名前:デフォルトの名無しさん (ワッチョイ dbbb-BJNc) mailto:sage [2017/03/08(水) 05:20:34.89 ID:YUr8l1RF0.net]
ref、thisが分からないってきっとポインタの知識がないんだな。

942 名前:デフォルトの名無しさん (ワッチョイ 1f4c-mC6Z) mailto:sage [2017/03/08(水) 07:14:26.58 ID:bhVPr0Ju0.net]
シリアライザでググって、ライブラリに突っ込んだ方が早いはず。
Json.Netとか色々あるし

943 名前:デフォルトの名無しさん (ワンミングク MM3f-PlVy) mailto:sage [2017/03/08(水) 11:02:49.82 ID:75S/ek5tM.net]
>>899
EFなら初回はそんなもの

944 名前:>>872 (ワッチョイ ab90-Mt2S) mailto:sage [2017/03/08(水) 12:32:26.51 ID:wRk+GbAW0.net]
>>923
どうしても拡張メソッドに拘りたいわけではなくてなぜ書けないのかのほうが知りたいです
足りない頭を端から端まで使っているんですがやっぱりわからないです

たとえばこんな風に書いても16行目18行目20行目では結果が違うのになんでジェネリックになっただけでダメになるのかよくわかりません
https://ideone.com/KGRQGt

ただのint型でもLoadXml、SaveXmlが呼べてしまうので、もし使えたとしてもなんとなくですがあまり推奨されないのかなと感じます

945 名前:デフォルトの名無しさん (ワッチョイ 1f23-2BvX) mailto:sage [2017/03/08(水) 12:59:54.42 ID:CceDL3fb0.net]
>>928
だからジェネリック云々の話じゃないって。そのコードは全てメンバに対する代入でしょ?
クラスが参照型というのは変数が直接の実体ではなくインスタンスへの参照というだけ
ChangeExtensionの_myclassに渡るのはmyclass変数への参照ではなくMyclassインスタンスへの参照
値型だろうが参照型だろうが呼び出し元の変数そのものを変えるならrefかoutか返り値を代入するかだよ

946 名前:デフォルトの名無しさん (ブーイモ MM2f-fL7a) mailto:sage [2017/03/08(水) 15:05:01.86 ID:mEPgtGPAM.net]
>>928
Change()メソッドの中身を

_myclass = new MyClass();
_myclass.value1 = "999";

にしてみ?

947 名前:デフォルトの名無しさん (ワッチョイ dbbb-BJNc) mailto:sage [2017/03/08(水) 18:40:42.04 ID:YUr8l1RF0.net]
一度意味を勘違いした人の知識を訂正するのは容易なことではありません。

948 名前:デフォルトの名無しさん (ワッチョイ ef02-iS6T) mailto:sage [2017/03/08(水) 19:36:09.01 ID:gvo8BpVN0.net]
拡張メソッドはほんとにクラスを拡張してると思ってるんじゃないだろうか

949 名前:デフォルトの名無しさん (アウアウウー Sa2f-G6vc) mailto:sage [2017/03/08(水) 19:55:54.92 ID:LpkYLhbMa.net]
だから、インスタンスメソッドだって自分を参照してる変数を書き換えるなんて
普通はできませんってw

950 名前:>>872 (ワッチョイ ab90-Mt2S) mailto:sage [2017/03/08(水) 20:08:48.74 ID:wRk+GbAW0.net]
>>929
拡張メソッドでthisに指定しているものは触ることはできないけど、this指定のpublicなメンバなら触ることができる
こういった解釈で間違いないですか?

配列は問題なくできますが、それはどういった理由からですか?配列の要素もメンバ扱いなのでしょうか?



951 名前:デフォルトの名無しさん (ワッチョイ aba0-PBd5) mailto:sage [2017/03/08(水) 20:11:40.47 ID:jS0zQn/F0.net]
死ね低脳
畑でも耕してろ

952 名前:デフォルトの名無しさん (ワッチョイ 1f23-2BvX) mailto:sage [2017/03/08(水) 21:17:35.55 ID:CceDL3fb0.net]
>>934
まぁ有り体に言えばそうなんだけど、拡張メソッドとかthisとか、もはやこの際関係ないんだ
まず値型を考える。int i = 0;のとき、変数「i」は4バイトで値0という実体がそのまま入る
次に参照型、Myclass myclass = new Myclass();だと変数myclassには実体へのアドレスが入る

そこまでは理解していると思うけど、メソッドに渡された時、通常はどちらも値渡しなんだよ
値型だと内容が引数にコピーされるのは勿論、参照型も変数の中身=実体アドレスが渡されるだけ
なぜ参照型のメンバのみ元に反映されるか、それは実体アドレスを介した間接参照になって同じ場所を指すから
だけど参照型の引数自体に割り当てても、それは引数が指すものが変わるだけで、元のmyclassが指す場所は変わらない
refやoutで(実体もしくは実体アドレスではなく)変数のアドレスが渡されることで初めて呼び出し元の変数自体を変えられる

953 名前:デフォルトの名無しさん (ワッチョイ ef02-iS6T) mailto:sage [2017/03/08(水) 22:38:35.99 ID:gvo8BpVN0.net]
参照型と参照渡しの区別がついてないだけか

954 名前:デフォルトの名無しさん (ワッチョイ bfa7-6uAD) mailto:sage [2017/03/09(木) 20:07:53.94 ID:f0dyr0g70.net]
File.Existsって、ファイル名にスペース入ってるとうまく機能しないのね。

みんなどうしてるん?
ショートファイル名にするのかな?

955 名前:デフォルトの名無しさん (JP 0Ha7-csvI) mailto:sage [2017/03/09(木) 20:16:11.18 ID:OnmTFZZNH.net]
なに言ってんだ

956 名前:デフォルトの名無しさん (アウアウオー Saca-Dvjv) mailto:sage [2017/03/09(木) 20:16:17.75 ID:kp/XS3ena.net]
>>938
機能するよ

957 名前:>>872 (ワッチョイ 0790-JiRs) mailto:sage [2017/03/09(木) 22:07:48.05 ID:C2ayowr10.net]
>>936
なるほど、オブジェクト指向って深いですね

958 名前:デフォルトの名無しさん (ワッチョイ fb59-Gnhz) mailto:sage [2017/03/09(木) 22:09:18.05 ID:FW6HepzM0.net]
Directory.EnumerateFiles()の拡張子の扱いのが嫌だ
*.htmって指定したのに*.htmlもヒットする

959 名前:デフォルトの名無しさん (ワッチョイ f73c-krjd) mailto:sage [2017/03/09(木) 22:10:57.44 ID:ZZ1gzprq0.net]
>>938
どこの世界の話だよ

960 名前:デフォルトの名無しさん (ワッチョイ 3631-LGhm) [2017/03/09(木) 22:30:03.59 ID:4L4opgUu0.net]
初心者から抜け出せてない感じがする



961 名前:デフォルトの名無しさん (ワッチョイ 365e-csvI) mailto:sage [2017/03/09(木) 23:02:19.41 ID:Ly+GUFf00.net]
>>942
Visual Studio Community 2017 ターゲットフレームワーク.NET Framework 4.6.2
ならないけど。どんな環境でやった?
>>944
そりゃ初心者のスレだし

962 名前:デフォルトの名無しさん (ワッチョイ fb59-Gnhz) mailto:sage [2017/03/09(木) 23:25:52.30 ID:FW6HepzM0.net]
>>945
試したのはVisualStudio2015でターゲットは4.5.2。
この挙動はMSDNでも説明されてる。
https://msdn.microsoft.com/ja-jp/library/dd383571(v=vs.110).aspx

963 名前:デフォルトの名無しさん (ワッチョイ f73c-krjd) mailto:sage [2017/03/09(木) 23:33:19.02 ID:ZZ1gzprq0.net]
やだね

964 名前:デフォルトの名無しさん (ワッチョイ bfa7-6uAD) mailto:sage [2017/03/09(木) 23:38:57.82 ID:f0dyr0g70.net]
>>940
>>943
まじ!?

965 名前:デフォルトの名無しさん (ワッチョイ 365e-csvI) mailto:sage [2017/03/09(木) 23:42:36.42 ID:Ly+GUFf00.net]
>>946
2015で4.52でやっても*.htm?にしないとならんな

966 名前:デフォルトの名無しさん (ワッチョイ f73c-krjd) mailto:sage [2017/03/09(木) 23:47:11.27 ID:ZZ1gzprq0.net]
>>948
まーじまじまじーろ

967 名前:デフォルトの名無しさん (ワッチョイ fb59-Gnhz) mailto:sage [2017/03/09(木) 23:49:59.04 ID:FW6HepzM0.net]
>>949
>>945は会社の環境でWindows7だったけど、今Windows10でターゲットを4.6.2にして試したけど、再現したぞ。

968 名前:デフォルトの名無しさん (ワッチョイ 365e-csvI) mailto:sage [2017/03/09(木) 23:55:25.36 ID:Ly+GUFf00.net]
>>951
リファレンスにもそんなことは書いてないみたいだが大変だな

969 名前:デフォルトの名無しさん (ワッチョイ fb59-Gnhz) mailto:sage [2017/03/09(木) 23:59:13.68 ID:FW6HepzM0.net]
>>952
備考のメモのところに書いてある。何故か英語だけど。

970 名前:デフォルトの名無しさん (ワッチョイ fb59-Gnhz) mailto:sage [2017/03/10(金) 00:02:00.92 ID:b4szgT3p0.net]
更新日が2016年10月のやつね。
それ以前のには載ってない。



971 名前:デフォルトの名無しさん (ワッチョイ 365e-csvI) mailto:sage [2017/03/10(金) 00:13:45.94 ID:CaZBHdT80.net]
>>954
ああ、申し訳ない
If the specified extension is exactly three characters long, the method returns files with extensions that begin with the specified extension. For example, "*.xls" returns both "book.xls" and "book.xlsx".
って確かに書いてあるな
でもこっちでは再現しないから変わったんじゃね?

972 名前:デフォルトの名無しさん (ワッチョイ fb59-Gnhz) mailto:sage [2017/03/10(金) 00:18:06.46 ID:b4szgT3p0.net]
>>955
こちらは>>951で書いた通り再現したのだが。
もしかして、拡張子を指定する部分が3文字以外だったりしない?
この挙動になるのは、拡張子を3文字で指定した時のみという謎仕様だけど。

973 名前:デフォルトの名無しさん (ワッチョイ 137b-lHz+) [2017/03/10(金) 00:21:10.20 ID:PVnrcXb+0.net]
人間が手入力した報告書系のテキストを処理したんですけど、クソ雑なデータ。たとえば、
1行目から、
件名 : 問い合わせ ← 間にコロンがない事もある、空白が半角か全角か不明(そもそも空白がない場合もあるし、件名入れてないケースもある)
電話 : 12-3456-789 ← ↑に加えて、-があったりなかったり、その後ろに"※携帯(1台目090-1234-5678,2台目(下4桁だけ7891))"とか書いてあったり。

こんなクソみたいなデータってどうやってパースしたらいいんでしょうか・・・・・

974 名前:デフォルトの名無しさん (ワッチョイ 3642-QKhv) mailto:sage [2017/03/10(金) 00:24:43.26 ID:f8V67TME0.net]
>>957
処理しやすいようにデータを整形する
入力側をコントロールできるなら正しい書式でしか入力できないようにする
パターンがある程度決まっているなら正規表現であれこれしてもいいだろうけど

975 名前:デフォルトの名無しさん (ワッチョイ 97bd-EMrB) mailto:sage [2017/03/10(金) 00:25:37.12 ID:n0lUXtUI0.net]
>>948
File.Existsかどうか忘れたけどファイル名の前後にスペースがあると勝手にトリムされるとかっていう問題はあった気がする

976 名前:デフォルトの名無しさん (アウアウウー Sa93-bCg1) mailto:sage [2017/03/10(金) 00:41:32.03 ID:DxbJR+gOa.net]
>>959
っていうか、そんなファイル名ってNTFSでもFAT32でも許されないような気がするんだけどもともと...

977 名前:デフォルトの名無しさん (ワッチョイ 365e-csvI) mailto:sage [2017/03/10(金) 00:45:47.52 ID:CaZBHdT80.net]
>>956
"*.htm"と"*.htm?"でしか試していない

978 名前:デフォルトの名無しさん (ワッチョイ f73c-krjd) mailto:sage [2017/03/10(金) 00:50:37.82 ID:cBCq3F3F0.net]
>>961
もともと"*.htm"と"*.html"の話をしてたんじゃなかったの?

979 名前:デフォルトの名無しさん (ワッチョイ 3631-LGhm) [2017/03/10(金) 00:59:48.22 ID:NYdKDrgC0.net]
Monodevelop C# Linux での ブラウザ制作
どこかに専門サイトやスレッドは有りませんか?

調べたのですが動画しか出て来ませんでした
お願いします

980 名前:デフォルトの名無しさん (ワッチョイ f37b-DSY4) mailto:sage [2017/03/10(金) 02:18:24.41 ID:mVSODI9d0.net]
3文字拡張子で4文字以上のにヒットするのはFindFirstFileの仕様だから仕方ない
コマンドプロンプトで dir *.con ってやっても.configファイルが返ってくる



981 名前:デフォルトの名無しさん (ワッチョイ ef0d-Zg/o) [2017/03/10(金) 06:11:45.89 ID:vMtKK3Vf0.net]
ClickOnceのようにお手軽な無料のWindowsデスクトップアプリケーション用のインストールおよびアップデートフレームワークを探しています
Squirrel.Windowsというものを試してみましたがexeが2つ以上あるとSetup時に両方実行されてしまったので他にご存知であれば教えてください

982 名前:デフォルトの名無しさん (ワッチョイ f73c-krjd) mailto:sage [2017/03/10(金) 06:13:52.25 ID:cBCq3F3F0.net]
>>965
ClickOnceじゃだめなの?

983 名前:デフォルトの名無しさん (ワッチョイ ef0d-Zg/o) [2017/03/10(金) 06:15:54.85 ID:vMtKK3Vf0.net]
>>966
だめです

984 名前:デフォルトの名無しさん (ワッチョイ f73c-krjd) mailto:sage [2017/03/10(金) 06:16:38.10 ID:cBCq3F3F0.net]
>>967
なぜ?

985 名前:デフォルトの名無しさん (ワッチョイ ef0d-Zg/o) [2017/03/10(金) 06:19:13.59 ID:vMtKK3Vf0.net]
>>968
今の案件に合わないからです
そもそもClickOnceを使うならここで聞きませんよね?そんなこともわからないのですか?

986 名前:デフォルトの名無しさん (ワッチョイ f73c-krjd) mailto:sage [2017/03/10(金) 06:23:46.45 ID:cBCq3F3F0.net]
>>969
ClickOnceが案件に合わない理由を聞かないと、代わりのものを勧められないよね?そんなこともわからないのですか?

987 名前:デフォルトの名無しさん (ワッチョイ ef0d-Zg/o) [2017/03/10(金) 06:53:56.39 ID:vMtKK3Vf0.net]
>>970
馬鹿には聞いてませんので二度とレスしないでください

988 名前:デフォルトの名無しさん (スプッッ Sdb2-krjd) mailto:sage [2017/03/10(金) 07:51:01.22 ID:LDoDwujDd.net]
>>971
ねえねえなんで案件に合わないって判断したのよ

989 名前:デフォルトの名無しさん (ワッチョイ ef0d-Zg/o) [2017/03/10(金) 08:54:08.56 ID:vMtKK3Vf0.net]
この猿、回線変えてまでレスして必死で笑える
面白いからもっとレスしなさい

990 名前:デフォルトの名無しさん (ワッチョイ f73c-OSXz) mailto:sage [2017/03/10(金) 09:00:07.89 ID:5cT1wreG0.net]
教えて貰う人間の態度じゃなくて草生える



991 名前:デフォルトの名無しさん (ワッチョイ bf35-ANWQ) mailto:sage [2017/03/10(金) 09:40:21.14 ID:ccNaYHW50.net]
ClickOnceはユーザー権限だけで勝手にインストールできるから駄目

992 名前:デフォルトの名無しさん (JP 0Ha7-csvI) mailto:sage [2017/03/10(金) 10:31:17.57 ID:Dc1YpjcmH.net]
管理者権限要求するほうが駄目だろ

993 名前:デフォルトの名無しさん (ワッチョイ 7223-csvI) mailto:sage [2017/03/10(金) 10:44:16.77 ID:Kg4/WRpJ0.net]
お手軽ならNuGet出来るVisual studio Installer
ちょっと頑張れるならWixだな

994 名前:デフォルトの名無しさん (ワッチョイ be13-rc2N) mailto:sage [2017/03/10(金) 11:05:24.87 ID:XDfOCUbY0.net]
>>976
nuget はできないと思うけどVisual Studio Installerおすすめ

995 名前:デフォルトの名無しさん (アウアウウー Sa93-bCg1) mailto:sage [2017/03/10(金) 11:13:28.38 ID:nuewqlULa.net]
VS Instarllerは自動アップデートの仕組みはないよね。

そうなると自作するしかないけど、まあVS Instllerの自動修復は比較的簡単に殺せるけど、
ちゃんとマルチユーザーに対応しようと思うと結構面倒くさそうだね

完全自動は諦めて、フリーソフトでよくある起動時にバージョンチェックして必要なら
インストーラーのダウンロードページに誘導する、ぐらいで俺なら妥協するなあ

996 名前:デフォルトの名無しさん (ワッチョイ 524c-6uAD) mailto:sage [2017/03/10(金) 11:45:49.83 ID:kv+zlkWH0.net]
すまん、File.Existsの話、
普通にファイル拡張子間違えてたわ

すまん

997 名前:デフォルトの名無しさん (スッップ Sd92-krjd) mailto:sage [2017/03/10(金) 12:14:37.20 ID:HmwoDxKDd.net]
>>975
Windows認証

998 名前:デフォルトの名無しさん (ワッチョイ 97bd-EMrB) mailto:sage [2017/03/11(土) 01:59:08.37 ID:IyVQJqEm0.net]
>>960
全角スペースでディレクトリのときの話だったわ

999 名前:デフォルトの名無しさん (ワッチョイ db7b-sJVo) mailto:sage [2017/03/11(土) 20:54:41.82 ID:a53QpxuN0.net]
ふらっと

1000 名前:デフォルトの名無しさん (ワッチョイ 137b-lHz+) [2017/03/11(土) 21:52:08.68 ID:ZpSkm2Pd0.net]
Graphics.DrawString();でTabPageに描画してるんですが、ページを切り替えると消えてしまいます。
描画された状態を維持するにはどうしたらいいでしょうか?



1001 名前:デフォルトの名無しさん (スッップ Sd92-rc2N) mailto:sage [2017/03/11(土) 22:07:50.89 ID:A9JEH+Jtd.net]
>>984
OnPaint内で描画してください

1002 名前:resumi (アウアウオー Saca-3IcJ) [2017/03/12(日) 01:07:58.76 ID:f0Kjw9v5a.net]
これ普通にショックだね。。
本当なの??
https://goo.gl/RB0asw

1003 名前:デフォルトの名無しさん (アウアウオー Saca-Dvjv) mailto:sage [2017/03/12(日) 18:10:50.55 ID:jKx13rMfa.net]
グロ注意

1004 名前:デフォルトの名無しさん (ワッチョイ bf90-JiRs) mailto:sage [2017/03/12(日) 19:43:24.78 ID:t8pUDZ0L0.net]
HttpWebRequest、HttpWebResponseって使ったあとそれぞれAbort()とClose()呼び出すようにしないとダメなの?
たまに呼ぶのを忘れるときがあるけどHttpClientは.Net4.5からで使えないし、ラッパー作ったほうがいいんかな?

1005 名前:デフォルトの名無しさん (ワッチョイ f37b-tTkx) mailto:sage [2017/03/13(月) 00:41:39.03 ID:/IBrB85w0.net]
RequestのAbortは要求を途中で破棄する用途
ResponseのCloseはほぼ必須 ていうかこっちは普通usingで使うもんじゃね

1006 名前:デフォルトの名無しさん (ワッチョイ 367b-2hGO) mailto:sage [2017/03/13(月) 17:55:15.37 ID:ESP/+4MN0.net]
WindowsFormのWebBrowserのクッキーを取得したいのですが
WebBrowser.Document.Cookieではドメインなどは取得できないようなのですが、
ドメインなどを含むクッキー情報を取得するにはどのようにすればいいのでしょうか?

1007 名前:デフォルトの名無しさん (ワッチョイ be20-2hGO) [2017/03/13(月) 21:15:41.67 ID:LyrKVczy0.net]
非正規の給与なんて半分以上は自民がピンハネしてるようなもんだからな

消費が冷え込んで内需ズタズタになろうが
自民からしたら知ったこっちゃない

1008 名前:デフォルトの名無しさん (ワッチョイ dbdc-aox5) mailto:sage [2017/03/13(月) 21:44:37.06 ID:QSdCtFW50.net]
>>990
Seleniumでも使えば

1009 名前:デフォルトの名無しさん (ワッチョイ f67b-sJVo) mailto:sage [2017/03/14(火) 16:25:28.87 ID:l3+lwn6L0.net]
ドイツ

1010 名前:デフォルトの名無しさん (ブーイモ MM2b-eVNI) mailto:sage [2017/03/14(火) 18:54:48.26 ID:lxubKqdmM.net]
UWPアプリならPCでもモバイルでも動くってことで、今後はFormからUWPに移行すれば良いですか?



1011 名前:デフォルトの名無しさん (ブーイモ MM92-/UOj) mailto:sage [2017/03/14(火) 19:02:08.18 ID:pBm+iXgQM.net]
>>994
UWPが動くモバイルなんか世の中にほとんど出回ってないでしょ
C#に拘るならASP.NET MVCかXamarinが正解

1012 名前:デフォルトの名無しさん (ワッチョイ bf6c-ANWQ) mailto:sage [2017/03/14(火) 20:42:49.03 ID:gIyZXesU0.net]
Windowsでモバイルとか考慮する価値がないわな
1%もユーザーいないんじゃないの?

1013 名前:デフォルトの名無しさん (スフッ Sd92-rc2N) mailto:sage [2017/03/14(火) 20:51:16.21 ID:isvDO5Dld.net]
まだアプリが少ないからこそ狙い目だとも言える

1014 名前:デフォルトの名無しさん (ワッチョイ 3642-QKhv) mailto:sage [2017/03/14(火) 21:01:20.83 ID:jthKkD6g0.net]
そう言ってapple watchのアプリを頑張ってた彼らはどこへ行ってしまったのか

1015 名前:デフォルトの名無しさん (スフッ Sd92-rc2N) mailto:sage [2017/03/14(火) 21:03:57.68 ID:isvDO5Dld.net]
XamarinでiOS/AndroidアプリリリースしたからこんどついでにUWP版作ってみるわ

1016 名前:デフォルトの名無しさん (ワッチョイ f290-JiRs) mailto:sage [2017/03/14(火) 22:27:57.77 ID:MclzPbbI0.net]
次スレたてました

ふらっと C#,C♯,C#(初心者用) Part127 [無断転載禁止]©2ch.net
echo.2ch.net/test/read.cgi/tech/1489498042/

1017 名前:デフォルトの名無しさん (ワッチョイ f290-JiRs) mailto:sage [2017/03/14(火) 22:29:04.96 ID:MclzPbbI0.net]
うめ

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






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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