17/01/23 23:36:42.09 iMdxUfkB0.net
WebClientにCookie持たせる
338:デフォルトの名無しさん (ドコグロ MM7f-j6UX)
17/01/24 12:50:22.17 HHZbO6egM.net
>>330
意味がわからん...
自分で作ってるなら使いやすいように作ればいいだけじゃないの?
339:デフォルトの名無しさん (ワッチョイ b30d-516J)
17/01/25 15:07:13.59 3WJkXYG20.net
HttpClient WebClient WebRequest HttpRequest の違いがわかりません
340:デフォルトの名無しさん (ワッチョイ 63a4-QGIP)
17/01/25 22:04:46.00 Bb3u5ckd0.net
ふーん
341:デフォルトの名無しさん (ワッチョイ 33d6-3qL8)
17/01/25 22:18:36.99 W75ZhGr50.net
>>334
聞く前にググれ
342:デフォルトの名無しさん (アウアウイー Sa53-T3y8)
17/01/26 07:18:39.25 hf6GrTPoa.net
>>334
ググったなんて日本語が分からなかったの?
343:デフォルトの名無しさん (ワッチョイ 2613-uaQk)
17/01/26 09:58:48.02 sSYf7dfw0.net
>>337
ha?
344:デフォルトの名無しさん (ササクッテロラ Sp13-YLIH)
17/01/27 02:09:00.56 mwRO9ggOp.net
TextBoxの文字をクリックしたときにその行に頭が特定の文字ならアクションを起こすようなものを作りたいのですが
TextBoxクラスのGetCharIndexFromPosition(Point)で文字を取得するとクリック位置が文字の上から外れた場所でも取得できてしまいます
文字上でクリックされた時のみを感知したいのですが何かいい方法があれば教えてください
345:デフォルトの名無しさん (ワッチョイ 1ad4-AZYz)
17/01/27 12:09:25.78 7rtouHaU0.net
検索(SQLを投げた)結果を非同期でフォーム表示させようとしてます。
SqlCommandを組み立ててBeginExecuteReaderしました。
AsyncCallback 先で、EndExecuteReaderを実行し
DataTableに収納させるまではデバッガで動作確認できました。
ここからが問題なのですが
DataTableの内容をForm(DataGridView)で表示されようと思いました。
DataGridViewが貼り付いているFormをnewで生成し、DataGridView.DataSourceにDataTableを入れました。
最後にForm.Showでフォームが開くことを期待したのですが、フォームの枠が出るものの中身が真っ白
キャプションは「応答なし」と出て表示も操作もできません。
最初にBeginExecuteReaderした側のメインスレッドは普通に動いてます。
どうやったら、AsyncCallback 先でフォームを新規表示させることができるんでしょうか。
346:デフォルトの名無しさん (ワッチョイ d3c0-y5A3)
17/01/27 13:41:41.66 f0Kj2+Uu0.net
>>340
デバッガ使っているならForm.ShowのところでDataGridView.DataSourceにDataTableが入っているか見てみれば?
347:デフォルトの名無しさん (ワッチョイ 9719-VXgO)
17/01/27 14:04:14.64 FcmXFO0M0.net
今更AsyncCallback系とかどんな環境なのやら
サブスレッドでForm触るとろくなことにならないから
AsyncCallback内で全データ取得
→FormとかのBeginInvokeでメインスレッドでフォーム作って表示
348:デフォルトの名無しさん (ワッチョイ 1ad4-AZYz)
17/01/27 14:20:45.68 7rtouHaU0.net
>>341
そこは問題ないです
描画のところでサブスレッドに順番が回ってこないぽい感じです
>>342
>今更AsyncCallback系とかどんな環境なのやら
イマドキは別の方法があるんでしょうか
確かに、Callbackは面倒です。゜
やりたいのは、時間のかかるExecuteReaderで全てがブロックされることを防ぎたい、ってことです
349:デフォルトの名無しさん (スッップ Sdca-OKVk)
17/01/27 19:49:21.84 oQLdhHNUd.net
>>343
.NET Frameworkのバージョンいくつよ?
350:デフォルトの名無しさん (ワッチョイ af4a-y5A3)
17/01/27 21:29:15.85 +Ih6k9xI0.net
質問です。
object o = new List<string>();
このstringのところを文字列(を格納した変数)で指定したいのですが、どうすればいいでしょうか?
object o = new List<"string">(); ← こういうことをやりたい。
よろしくお願いします。
351:デフォルトの名無しさん (ワッチョイ f7dc-ci5U)
17/01/27 21:35:00.20 sOrVpnzk0.net
>>345
本当に文字列で指定したいのではなく、動的に型を指定してジェネリックリストを作りたいという要求だと仮定して回答
var argType = typeof(string);
var listType = typeof(List<>).MakeGenericType(argType);
var o = Activator.CreateInstance(listType);
352:デフォルトの名無しさん (ワッチョイ af4a-y5A3)
17/01/27 21:37:34.16 +Ih6k9xI0.net
>>346
早速の返答ありがとうございます。
そういう意図で合っていると思いますが、その3行をぱっと見では理解不能なので、テストしてきます。
353:デフォルトの名無しさん (ワッチョイ af4a-y5A3)
17/01/27 21:59:53.20 +Ih6k9xI0.net
>>346
申し訳ないです、質問で出した例えが悪かったです。
本当にやりたいのはJSONのデコードでなんですが、JSON.NETを使って
var o = JsonConvert.DeserializeObject<Hoge>(json);
このHogeの部分を動的にしたいのです。
354:デフォルトの名無しさん (ワッチョイ 2b4a-H6k8)
17/01/27 22:04:04.24 7pKAIIad0.net
>>348 Hogeの数だけifかswitchで分ければいいんじゃないか?
356:デフォルトの名無しさん (ワッチョイ af4a-y5A3)
17/01/27 22:09:45.37 +Ih6k9xI0.net
>>349
ずらずらと並べて書き始めて、
ふと動的に出来ないものかと思ってしまいましたが、
素直にそうやった方が手っ取り早いですかね。
ありがとうございました。
357:デフォルトの名無しさん (ワッチョイ f7dc-ci5U)
17/01/27 22:09:50.40 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)
17/01/27 22:50:37.80 +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)
17/01/27 22:55:29.64 sOrVpnzk0.net
>>352
結局呼び出し元でキャストするんならJson2Objectをジェネリックメソッドにすればいいだけでは?
361:352 (ワッチョイ f7dc-ci5U)
17/01/27 23:00:09.77 sOrVpnzk0.net
いやすまんJSONに含まれるフィールドに応じて型を変えたいってことか
単に Dictionary<string, Type> でよくね?
362:デフォルトの名無しさん (ワッチョイ af4a-y5A3)
17/01/27 23:07:41.42 +Ih6k9xI0.net
>>354
なんどもありがとうです。
dictionary.Add("person",typeof(Person));
var o = JsonConvert.DeserializeObject<dictionary["person"]>(json);
と言うことでしょうか?
VS2015 .NET4.6 では出来なさそうなのですが。
363:デフォルトの名無しさん (ワッチョイ f7dc-ci5U)
17/01/27 23:25:42.83 sOrVpnzk0.net
>>355
var o = JsonConvert.DeserializeObject(json, dictionary["person"]);
364:デフォルトの名無しさん (ワッチョイ af4a-y5A3)
17/01/27 23:33:36.50 +Ih6k9xI0.net
>>356
なんと!!
自分の調べ不足を痛感しました。
ほんとうにありがとうございました。
365:デフォルトの名無しさん (ワッチョイ 2a4a-y5A3)
17/01/28 00:50:12.18 4RGYrg++0.net
斜め読みだが
やっぱDictionaryで済む話やなw
366:デフォルトの名無しさん (ワッチョイ 0faf-56sz)
17/01/28 01:52:46.60 7wXqm53L0.net
>>339
自己解決しました
表示からは見えなくてもTextBox.Textには改行コードが含まれていたのですね
GetCharIndexFromPosition(Point)で取得したインデックスの文字ををcharに入れてみて初めて気が付きました
欲しい文字の判定時についでにクリックされた文字が\nではないかを調べることで実現できました
367:デフォルトの名無しさん (ワッチョイ af4a-WsPK)
17/01/28 10:57:29.19 Pp3LUsbs0.net
zip内の画像ファイルを展開せずに閲覧する場合に基本クラスとその他のライブラリで速度に違いはあるんでしょうか?
368:デフォルトの名無しさん (ワッチョイ 6b64-cWHx)
17/01/28 11:05:01.86 1xyPMcX/0.net
もっと詳しく、丁寧に質問して
369:デフォルトの名無しさん (ワッチョイ af4a-WsPK)
17/01/28 11:26:44.22 Pp3LUsbs0.net
zipファイルに格納された画像ファイル(jpgやpngやbmpやgif等)を展開せずにストリームで読み込む場合に
基本クラスであるZipFileクラスやZipArchiveクラスを使用した場合と、
#ziplibやDotNetZipやJ#のvjslib.dll等のライブラリを使用した場合では速度に有意な差が出るのでしょうか?
370:デフォルトの名無しさん (アウアウウー Sa7f-//rF)
17/01/28 12:01:12.08 XpAKmUmza.net
実装に差あるから、有意な差はでるだろうな
問題になるほどその差が大きいとは思えないが
371:デフォルトの名無しさん (ワッチョイ 7e5e-y5A3)
17/01/28 12:04:25.80 s1e/PAHl0.net
>>362
自分で比較してみればいいじゃん
展開でそんなに差は出ないと思うけど※個人の感想です、ってしかならない
なんで画像ファイル限定なのか知らんけど
pngやjpgだとzipには無圧縮で入っていることが多いからそのまま展開されずに読みだされるけど、その手の話かな?
372:デフォルトの名無しさん (ワッチョイ af4a-WsPK)
17/01/28 12:16:07.03 Pp3LUsbs0.net
>>363
大した差が無いようであれば基本クラスを使おうと思います
>>364
>pngやjpgだとzipには無圧縮で入っていることが多いからそのまま展開されずに読みだされるけど、その手の話かな?
そうです
基本クラスと#ziplibは試したのですが差が有るような無いような微妙な感じでした
373:デフォルトの名無しさん (ワッチョイ 9777-QkVH)
17/01/28 12:20:54.91 GpK52peC0.net
>>365
基本クラスって言い方は紛らわしい。継承関連かと勘違いする。
標準のクラスとか言ってくれ。
374:デフォルトの名無しさん (ワッチョイ 2b4a-H6k8)
17/01/28 15:14:39.72 XnHJw37P0.net
>>365
目的はなんなん?
375:デフォルトの名無しさん (ワッチョイ af4a-WsPK)
17/01/28 21:03:02.05 Pp3LUsbs0.net
>>367
漫画ビューワですが
376:デフォルトの名無しさん (ワッチョイ 0a4c-cWHx)
17/01/28 22:28:40.58 46h3M0fs0.net
その漫画ビューアが殆ど完成しているのであれば、基本クラスと他のライブラリのスペック差を測れば良いんじゃね?
そこまで大きく実装かわらんでしょ?
377:デフォルトの名無しさん (ワッチョイ 7e9d-AZYz)
17/01/29 03:26:17.34 EZgBqwJb0.net
WebClientでHeadersにIf-Modified-Sinceを設定してDownloadFileとかやると
以下の例外が起きてしまいます
'If-Modified-Since' ヘッダーは、適切なプロパティまたはメソッドを使用して変更する必要があります。
パラメーター名:name
ヘルプによるとWebClientはIf-Modified-Sinceを設定できないようなのですが
HttpWebRequestを使わずにWebClientだけでなんとかなりませんか?
378:デフォルトの名無しさん (ワッチョイ 6f7b-TK3D)
17/01/29 11:34:33.85 I0IcYz370.net
派生させてGetWebRequestオーバーライドしてそこで追加すればいいけど
まあ無駄だな
HttpClientに移行しよう
379:デフォルトの名無しさん (ワッチョイ 1f0d-VFvX)
17/01/29 11:40:15.08 6efjD1Fp0.net
HttpClient WebClient WebRequest HttpRequest の違いがわかりません
380:デフォルトの名無しさん (ワッチョイ bfd6-AZYz)
17/01/29 11:59:58.20 lTC0Slsj0.net
まーたお前か
381:デフォルトの名無しさん (ワッチョイ 5ad4-B+LO)
17/01/29 18:52:35.60 yL6xb8U50.net
>>372
WebClientとWebRequestの違いはWebClientのが簡易。
WebClientはタイムアウトの設定ができない。
WebRequestはタイムアウトの設定がある。
382:デフォルトの名無しさん (ワッチョイ 1f0d-VFvX)
17/01/29 22:42:03.92 6efjD1Fp0.net
>>374
ありがとうございます
HttpClient WebClient の違いは一体何なのでしょうか?
383:デフォルトの名無しさん (ワッチョイ 5ad4-K8QZ)
17/01/30 08:21:14.87 rGZEoMYZ0.net
>>375
HttpClientは私は一度も使ったこと無いけど新しく作られたクラスで
たぶん非同期処理(async/await)で使うことを前提にしたクラスだと思う。
WebClientとWebRequestはGUIソフトで使うにはスレッド内で使わないと固まるけど、
HttpClientはスレッドを使わないでも非同期処理できるということ。
WebClientとWebRequestの違いの追加ですが、
httpヘッダーの取得はWebClientではできないと思う。
httpヘッダーの取得でHTTPステータス・コード、ファイルサイズなどを取得できる。
ファイルサイズ取得によりプログレスバーでダウンロード経過を表示したりとかできる。
384:デフォルトの名無しさん (ワッチョイ 1f0d-VFvX)
17/01/30 10:37:24.9
385:4 ID:U5GM4NUS0.net
386:デフォルトの名無しさん (ワッチョイ 1ad4-AZYz)
17/01/30 11:01:15.30 8jPCKhAg0.net
>>344
2000機が残ってたので3.5で作りましたが、ようやく全廃できたので、4以降で大丈夫です。
(XP機も一緒に駆逐したので、4.5以降で問題なし)
387:デフォルトの名無しさん (スップ Sdca-OKVk)
17/01/30 12:00:30.46 lLUdwlJ5d.net
>>378
まさかとは思うけど、4.0や4.5みたいなサポート切れのFramework使ってないよね?
388:デフォルトの名無しさん (ワッチョイ d3c0-y5A3)
17/01/30 12:13:50.48 b9p90kqg0.net
4.0以下が統一環境になっている俺社の悪口はやめろ
389:デフォルトの名無しさん (ワッチョイ 1ad4-AZYz)
17/01/30 12:55:47.69 8jPCKhAg0.net
VB5やVB6で書かれたプロジェクトも未だに保守してるけど
390:デフォルトの名無しさん (ワッチョイ 5b49-QkVH)
17/01/30 20:36:51.27 SB7dmMyN0.net
>>377
その認識でOK
HttpClientは高機能なのにとても使いやすくなった
391:デフォルトの名無しさん (JP 0H13-zSxl)
17/01/31 00:28:21.39 WN418v1sH.net
WebBrowser使ってるんだけど、HttpClientで取得してWebBrowserに表示のほうがいいのかな
一応WebBrowserでもasyncで取得はしてるんだが
あとAjaxにも対応はしてる
392:デフォルトの名無しさん (ワッチョイ ea30-UZfv)
17/01/31 08:53:34.35 AhlWkjVU0.net
目的達成できてるなら別に変える必要ねーじゃん
悪いとは言わないけど効率の悪い思考だ
393:デフォルトの名無しさん (ワッチョイ af4a-y5A3)
17/01/31 21:52:08.03 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)
17/02/01 08:46:58.23 /3Lab+YmM.net
>>385
CancelationToken渡してTask.Delayがタイムアウトしたらキャンセルすれば
395:デフォルトの名無しさん (ワッチョイ af37-AZYz)
17/02/01 11:47:22.62 3Z+GxYTF0.net
paiza ioでC#が始まりました
爆発的にC#人口が増えると思います
396:デフォルトの名無しさん (JP 0Ha3-y5A3)
17/02/01 12:00:51.68 +pDV2e5ZH.net
現状別に少なくないのに
爆発的に増やせるpaizaってどんな影響力持ってんだよ
397:デフォルトの名無しさん (ワッチョイ 2a23-y5A3)
17/02/01 12:58:05.37 G1eAOkHI0.net
>>385
1. client.Timeoutに無限大じゃなくて3秒をセットする
2.処理待ちはストリームリーダーじゃなくてhttpclientで発生しているから、今の処理は無駄なので、ReadLineAsyncはawaitします
3.タイム・アウトすると例外が発生するからハンドリングして処理してください
398:デフォルトの名無しさん (ワントンキン MM1a-FuHd)
17/02/01 13:37:46.83 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)
17/02/01 14:05:38.83 ItKIvr6ga.net
またPickitか?切り出すと分からないから、ソースコードというかプロジェクトまるごとどっかにうpしろ
400:デフォルトの名無しさん (ワッチョイ 9719-QC3X)
17/02/01 14:32:56.95 YUyrzX090.net
起動される側の問題なんだから起動する側ではなんもできん
401:デフォルトの名無しさん (ワッチョイ af4a-y5A3)
17/02/01 15:50:40.89 0UxsMyd00.net
レスありがとうございます。
>>386
なんとなくスマートじゃなさそうな気がしていましたが、ちょっとやってみます。
>>389
やはり2番のそれなんですね。なんとなくそうじゃないかなと思い始めていました。
でも、1番のclient.Timeoutに3秒をセットすると、ホストとの接続が3秒で切れてしまいます。
ループ内のReadLineAsync()で1行ずつ受信できている間は永遠に接続して、
1行受信する間が3秒以上開いたら、回線もしくはホスト側のトラブルの可能性ありとして
受信を見送りいったんループを抜けたいのです。
もう一度2番の内容を念頭に置いてソースコードを見直してみます。
ありがとうございました。
402:デフォルトの名無しさん (ワッチョイ 5b90-Ve17)
17/02/01 15:55:16.40 3kHXSGfF0.net
LINQを使ってGroupBox内のでどのRadioButtonが選択されているか知りたいのですがそういったことはできますか?
403:デフォルトの名無しさん (ワッチョイ 0a4c-ZNcG)
17/02/01 16:02:24.19 jnCvpXDY0.net
その前に、ラジオボタンのCheckedChangedイベントを共通にしちゃダメか?
そいで、senderで判断しちゃ?
404:デフォルトの名無しさん (アウアウウー Sa7f-BDy3)
17/02/01 16:33:48.49 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)
17/02/01 16:42:08.74 2EAgbNLS0.net
>>396
OfType使えよ
406:デフォルトの名無しさん (ワッチョイ 5b90-Ve17)
17/02/01 16:59:16.27 3kHXSGfF0.net
自己解決しました。こうなりました
var check = groupBox1.Controls.OfType<RadioButton>().Where(r => r.Checked == true);
>>395
LINQでCheckChangedイベントを追加するようにしました
407:デフォルトの名無しさん (アウアウウー Sa7f-BDy3)
17/02/01 17:25:56.68 l+tZDtqWa.net
>>397
あw
408:デフォルトの名無しさん (ワントンキン MM1a-FuHd)
17/02/01 18:24:38.35 E2USh33dM.net
>390 です。
呼び出される側の問題とのこと、理解しました。
呼び出される側は、VS2005のコンソールアプリです。
中身は外部機器との(多分)ソケット通信等を行うものです。
(外部機器専用のdllを利用するため、中身は分かりませんが)
C0000005hが呼び出し元に返ってくる場合でも、
呼び出され側のmain()の return xxx;直前のコードは正常であることはコンソール出力で確認しています。
.net framework絡みだとGCが関係してるような記述も目にしましたが、
これだけの情報で、もし原因の目処、もしくは対策/回避策がございましたらアドバイスいただけないでしょうか。
409:デフォルトの名無しさん (ワッチョイ 0a4c-ZNcG)
17/02/01 19:24:59.53 jnCvpXDY0.net
dll側でヒープの解放(delete)忘れ、CloseHandle忘れとかなんじゃね
410:デフォルトの名無しさん (ワッチョイ d390-Ve17)
17/02/01 20:00:35.33 cSMjRhkv0.net
また質問なんですが
var rb = groupBox1.Controls.OfType<RadioButton>().Where(x => x.Checked == true)
これで取り出した要素なんですが、ここからRadioButtonのNameプロパティを参照したい場合foreach使わないとダメですか?
411:デフォルトの名無しさん (ワッチョイ 0a4c-ZNcG)
17/02/01 20:15:39.46 jnCvpXDY0.net
>>402
それ394で全部解決だって。
senderをキャストすれば、そのラジオボタンだから
412:デフォルトの名無しさん (ワッチョイ 0a4c-ZNcG)
17/02/01 20:21:32.94 jnCvpXDY0.net
URLリンク(msdn.microsoft.com)(v=vs.110).aspx
ここの一番下のサンプルみてみ
あと、rbが選択されたラジオボタンなんよね?
413:デフォルトの名無しさん (ワンミングク MM1a-bF0B)
17/02/01 20:24:36.92 Q5WgQ/3wM.net
チェックボックスにはバインドしないの?
414:デフォルトの名無しさん (ワッチョイ d390-Ve17)
17/02/01 20:26:26.00 cSMjRhkv0.net
>>403
RadioButtonの共通のCheckChangedイベントじゃなくて別のメソッドから呼びたいんですが・・・
CheckChangedイベントで毎回選択されたものを他の変数に保存したりとかでできそうですが、列挙が一つだけの場合foreachを使わずとも取り出す方法があるなら知りたいと思いまして
415:デフォルトの名無しさん (ワッチョイ d390-Ve17)
17/02/01 20:38:00.85 cSMjRhkv0.net
>>404
見ましたけど自分がほしい情報とは違う気がします
416:デフォルトの名無しさん (アウアウウー Sa7f-BDy3)
17/02/01 20:43:13.76 l+tZDtqWa.net
>>402
これじゃいかんの?
var name = gb.Controls.OfType<RadioButton>().FirstOrDefault(x => x.Checked)?.Name;
417:デフォルトの名無しさん (ワンミングク MM1a-bF0B)
17/02/01 20:46:49.32 Q5WgQ/3wM.net
バインドしないの?
418:デフォルトの名無しさん (ワッチョイ 5b49-QkVH)
17/02/01 21:28:09.21 wmVXAizR0.net
>>400
NativeのDLLの関数を呼び出す場合はGCが関係する場合もあるけど、別プロセスを起動する場合は関係ない。
>>401
単純に開放を忘れただけだったら、アクセス違反にはならんだろ。
419:デフォルトの名無しさん (アウアウウー Sa7f-//rF)
17/02/01 21:30:05.48 ItKIvr6ga.net
呼んでるexeが、最後にreturn 0x C0000005;をしてる原因をエスパーしてくれってことじゃないのか?
420:デフォルトの名無しさん (ワッチョイ 7e5e-y5A3)
17/02/01 21:34:07.73 0YuVGhJt0.net
>>411
return 0x C0000005;とかでなく多分呼び出した先の不正終了
何らかの形で強制終了させられたとかそのあたり
421:デフォルトの名無しさん (ワッチョイ d390-Ve17)
17/02/01 23:00:22.10 cSMjRhkv0.net
>>408
そうです、こういうのを探していました
422:デフォルトの名無しさん (ワッチョイ 6b64-ZNcG)
17/02/01 23:01:28.57 NPEB4GMb0.net
>>407
var rbまで書いてるから、rb.Nameでもいいよねって事。
423:デフォルトの名無しさん (ワッチョイ d390-Ve17)
17/02/01 23:33:29.26 cSMjRhkv0.net
>>414
書けませんし、まず型が違います
424:デフォルトの名無しさん (ワントンキン MM1f-1ST5)
17/02/02 09:38:52.54 F4pSw7TdM.net
>>412
呼び出され側が
int code;
~
Console.WriteLine("code = " + code.ToString());
return code;
で、呼び出し元で、標準出力を取得すると code = 0 等となっています。
1台のPC上で、複数の呼び出し元を非同期に実行しています。
この辺りが関係してるのでしょうか?
詳しい情報を出せなくて申し訳ないですが、エスパーしてもらえるとありがたいです。
425:デフォルトの名無しさん (JP 0Ha7-FWOa)
17/02/02 11:09:28.98 vkBB6VucH.net
アプリケーション設定ってユーザー¥ユーザー名の下に保存されるけど、windowsのログインアカウント変えたらわ設定読み書きできないよね
ユーザー¥Defaultの下に保存して読み書きできるようにできないかな?
426:デフォルトの名無しさん (ワッチョイ a390-/j6a)
17/02/02 12:35:49.22 twb4E7Xn0.net
ffmpegのエンコ設定の介助ツールみたいなのを作っています
今はコマンドラインを作成してそれをProcess.Start()で引数として渡しているんですが、Process.Start()のときに実行ファイルの確認ダイアログが出ます
これを出ないようにしたいのですが何か方法はありませんか?
427:デフォルトの名無しさん (JP 0Hff-aC2u)
17/02/02 12:43:00.80 8Ui/Ypx9H.net
>>417
ユーザーごとの設定はUsers\<ユーザー名>\AppData\Roaming\の下
ユーザーに依存しない設定はProgramData\の下
428:デフォルトの名無しさん (ワッチョイ 3fd4-0MWP)
17/02/02 12:47:24.46 U1i9H1FA0.net
Defaultは、プロファイルのない新ユーザーが初めてログインしたときの初期値を入れておくとこ
429:デフォルトの名無しさん (JP 0Ha7-FWOa)
17/02/02 13:08:04.48 vkBB6VucH.net
>>419
それってどこで設定するの?
アプリケーション設定のスコープはユーザーかアプリケーションで、アプリケーションだと設定変更できない読み取り専用だよね。
>>420
そういう目的なのか…
てっきり全ユーザー用かと思ってた
430:デフォルトの名無しさん (JP 0H27-yene)
17/02/02 13:16:15.02 K/b9EIy4H.net
むかしはAll UsersってのがあったけどProgramDataになった
というか%ALLUSERSPROFILE%を参照せよ
431:デフォルトの名無しさん (ワッチョイ b319-PiNc)
17/02/02 13:48:00.41 ahVNqXc30.net
user.configは文字通りuser単位なんだからシステム全体向けに保存するわけない
URLリンク(www.codeproject.com)
ここみたいにSettingsProviderを派生させて任意の場所に保存させるようにすることも一応できるけど
保存処理は自分で書く必要がある
バージョニングとかも確か自前実装になるんだったかな
432:デフォルトの名無しさん (ワッチョイ 7f23-yene)
17/02/02 14:07:29.43 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)
17/02/02 15:42:02.09 TIj28lOD0.net
解決の報告。 >>385
>>389さんの2番で指摘されたようにストリームリーダーのreader.ReadLineAsync()で
待っていたのではなかったのですが、whileループ判定のreader.EndOfStreamで待機していました。
そんなわけで、以下のようにすることで無通信タイムアウトor接続終了でループを抜けられました。
while (Task.Run(() => reader.EndOfStream).Wait(3000) && !reader.EndOfStream)
ありがとうございました。
434:デフォルトの名無しさん (ワッチョイ 036a-2dgJ)
17/02/02 15:56:42.85 pMXQtjQo0.net
MSがアプリケーション共通データはProgramDataの下に書けって言ってなかったっけ
435:デフォルトの名無しさん (JP 0Ha7-FWOa)
17/02/02 16:05:02.97 vkBB6VucH.net
>>423
>>426
ありがとう!
ProgramDataの下にeveryoneにフルアクセス権つけて保存するの作った
ちとスマホからカキコなのでコード書けないけど、DirectorySecurityオブジェクト作ってDirectory.CreateDirectoryでそのオブジェクトを第二引数に指定してDirectory作成。
そこに自作Classをシリアライズしたファイルを保存したって感じ。
436:デフォルトの名無しさん (ワッチョイ ffe1-MPVQ)
17/02/02 17:22:57.87 uXo0yMJE0.net
>>416
呼び出され側もC#なの?
そんならmainじゃなくてMainじゃん
まず、別プロセスにしてる地点で呼び出す側は何も関係ない
単独で呼び出される側のデバックをするしかない
コマンドプロンプトから実行して例外とかが出ないかを見ろとしかいえん
437:デフォルトの名無しさん (ワッチョイ a390-/j6a)
17/02/02 23:43:17.24 twb4E7Xn0.net
>>424
レス遅くなりましたが、ありがとうございます
新たに質問なんですが、ffmpegのエンコード・デコードできる形式や進行状況を取得したりとかはできないんでしょうか?
438:デフォルトの名無しさん (アウアウウー Sa07-xgqO)
17/02/03 01:25:05.94 3xPmzf3na.net
>>429
ffmpegのスレで聞いた方が回答来やすいんじゃないか?
439:デフォルトの名無しさん (ワッチョイ b319-PiNc)
17/02/03 08:57:53.93 jUrc0d/y0.net
-formatsとか-codecsとかでとれるのを解析
標準エラー出力から出力されるのを解析
440:デフォルトの名無しさん (ワッチョイ 7f7b-z2sC)
17/02/03 09:51:46.77 ZetScHUj0.net
>>427
UAC下で管理者でログオンしてるならusers\public\documentsにでも保存すれば?
ProgramDataはフルトークンじゃないとアクセスできないし、そのためにアクセスコントロールいじるのは本末転倒な感じがする
全員に必要な設定やファイルは昇格してからどうぞっていうのがmsの方針なんだろけど
441:デフォルトの名無しさん (ワッチョイ a390-/j6a)
17/02/03 10:37:37.52 aUC8zgXQ0.net
>>430
ffmpeg -formats等でコマンドプロンプト上の表示されるログを取得したいんです
コマンドを知りたいわけではないのです
442:デフォルトの名無しさん (ワッチョイ b319-PiNc)
17/02/03 11:26:59.72 jUrc0d/y0.net
ん?
ProcessStartInfoのRedirectStandardOutputかRedirectStandardErrorかをtrueにして
ProcessのStandardOutputかStandardErrorかを読み取るだけだけど
ffmpegはその辺全部エラー出力の方に吐くんだったっけ
443:デフォルトの名無しさん (ワッチョイ 7f4f-uZek)
17/02/03 22:16:13.16 nKkuONMd0.net
ADコンバータのデータをロギングするアプリケーションを作成中なのですが、
当たり前ですが取得値がふらつくので移動平均を取って平滑化したいと思います。
プログラム経験はマイコンしかないのですが、256サンプル足して8ビットシフトかな~と思っていますが
データ取得クラスと読み出しクラスの両方からアクセスできるグローバルなキューを実現するにはデータ保持用のクラスを作ってインスタンスを持って回るしかないんでしょうか。
なんかもっとスマートに実装できそうな気がするんですけど、いい知恵があればどなたかご教示ください。
444:デフォルトの名無しさん (ブーイモ MMc7-tPtZ)
17/02/03 22:57:31.92 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)
17/02/03 22:59:04.80 OPa+5hnkM.net
>>436
Dequeueを忘れてた
まあわかるでしょ
446:デフォルトの名無しさん (ワッチョイ 13bb-0MWP)
17/02/03 23:02:18.71 WxaeQtuW0.net
イタコード
447:デフォルトの名無しさん (アウアウオー Sa5f-m1Xa)
17/02/03 23:32:37.24 zNHW0BwXa.net
>>436
移動平均計算するのに毎回平均取っちゃうのはちょっと...
合計 = 前回の合計 - デキューした値 + キューする値
448:デフォルトの名無しさん (アウアウオー Sa5f-m1Xa)
17/02/03 23:35:31.03 zNHW0BwXa.net
っていうか、正直>>435が何を聞きたいのかよく分からないw
449:デフォルトの名無しさん (ワントンキン MM1f-4SR0)
17/02/03 23:54:59.42 LN7efSZ0M.net
>>439
そういうくだらない最適化は必要になってからでいい
450:デフォルトの名無しさん (ワッチョイ c349-O+qq)
17/02/04 00:04:44.68 Al8N6D5z0.net
ADコンバータならそれなりのデータ量だし、>>436はあまりにも無駄
451:デフォルトの名無しさん (ワッチョイ 7f4a-yene)
17/02/04 00:08:25.84 rQvpLhJ+0.net
改良したソース出してあげたらん?
452:デフォルトの名無しさん (アウアウオー Sa5f-m1Xa)
17/02/04 00:21:55.25 nTbtTF57a.net
>>441
こんなのは最適化とかそれ以前の問題だと思うよww
453:デフォルトの名無しさん (ワッチョイ 13bb-0MWP)
17/02/04 00:25:52.61 1qBqX1sw0.net
速度=遅い
効率=無視
安全性=なし
可読性=なし
保守性=なし
バグ=あり
自慢=あり
結論:痛いコード
454:デフォルトの名無しさん (アウアウウー Sa07-xgqO)
17/02/04 00:42:30.14 94H9RTyka.net
サンプリング速度にもよるけど、256平均ぐらいなら毎回でもいいかなと思う
455:デフォルトの名無しさん (ワッチョイ 33dc-vqxm)
17/02/04 00:52:17.40 hSQcSff/0.net
・キューを共有していない
・責任が明確に分離されている
・(好みの問題はおいといて)簡潔に実装されている
移動平均のアルゴリズムの効率はともかく、>>435に対する回答としては十分適切だと思うが
456:デフォルトの名無しさん (アウアウオー Sa5f-m1Xa)
17/02/04 01:11:57.49 nTbtTF57a.net
そもそも>>435が何を聞きたいのかよく分からんのだけど、平滑化の方法としては
愚直な移動平均以外にEMAってのもあって、こっちの方が実装も簡単でカスタマイズの余地が大きい
ただこれ、客には嫌われることが多いんだよねw
移動平均の欠点を欠点だと気づいてない人が多いから
457:デフォルトの名無しさん (ワッチョイ 034a-Sup+)
17/02/04 12:22:51.23 QL7U0SpI0.net
adコンバーター出力に平滑フィルター入れればいいだろ
458:デフォルトの名無しさん (ワッチョイ 7f23-yene)
17/02/04 14:27:50.39 vMv5JOxc0.net
質問はキューの実装方法じゃなくてグローバルなクラスの実装方法だから
1.スタティッククラス
2.シングルトン
3.DIコンテナ
あたりを列挙すれば良いんじゃなかろうか?
459:デフォルトの名無しさん (ワッチョイ a30d-PzOe)
17/02/05 15:32:53.00 eeOYv4qE0.net
とあるメソッドの処理をボタンを押すと一時停止・再開させたり中断したいのですがどうすればいいでしょうか?
460:デフォルトの名無しさん (ワッチョイ 53d6-0MWP)
17/02/05 15:36:44.08 JshVpFTv0.net
1)とあるメソッドに処理停止用フラグおよび停止処理を記述します
2)ボタン押下時のイベントで処理停止用フラグを立てます
3)完成
461:デフォルトの名無しさん (ワッチョイ a30d-PzOe)
17/02/05 15:58:45.91 eeOYv4qE0.net
>>452
具体的な停止処理の記述を教えてください
462:デフォルトの名無しさん (ワッチョイ 53d6-0MWP)
17/02/05 16:06:08.06 JshVpFTv0.net
お前のソースを出せ
463:デフォルトの名無しさん (ワッチョイ 33dc-tPtZ)
17/02/05 16:07:14.40 8HS86KpH0.net
>>453
止めたい処理に応じて考えるしかない
時間がかかる処理というのはプログラムのごく一部だから、そこを無理やり打ち切って処理を一旦終わらせてやる
で元の状態から再開できるように作り込む
一般論として言えるのはそれくらい
464:デフォルトの名無しさん (ワントンキン MM1f-4SR0)
17/02/05 16:12:16.68 JJBphtlBM.net
別のスレッドで実行してサスペンド・リジュームするだけ
一般的なスレッド安全性だけ考えておけば個別の処理は必要ない
465:デフォルトの名無しさん (ブーイモ MM07-tPtZ)
17/02/05 16:23:21.66 InU5HIWuM.net
>>456
その一般的なスレッド安全性とやらをどうやって確保するの?
止めた時点でたまたま静的コンストラクタが走ってただけで確実にデッドロックするんだぞw
466:デフォルトの名無しさん (ワッチョイ 9323-yene)
17/02/05 16:34:38.22 63QLrGCH0.net
俺なら、再開と中断のボタンを2つ用意して、処理中なら中断ボタンだけ、中断中なら再開ボタンだけを表示して処理を分けるな
処理は2度押しだけ気をつけたらなんとかなるでしょ
あと、停止中は中断ボタンを表示して、ディセーブルとする
467:デフォルトの名無しさん (ワッチョイ 7f30-MDPp)
17/02/05 18:30:12.19 Eg2ZHPf+0.net
suspendable(cancellable)な処理の書き方はMSDNのタスク並列がどうののページに書いてなかったか?
あれを読めよ
あれが読めないなら手出すのは1年早いから大人しく処理終わるの待ってろ
468:デフォルトの名無しさん (ワッチョイ 433c-yene)
17/02/05 21:51:14.37 72Lq68qY0.net
始めたばかりのレベルで
どんなプログラム作ったらスキル上がりましたか?
469:デフォルトの名無しさん (ワッチョイ 337b-IIg7)
17/02/05 22:47:23.50 moJwvdIq0.net
ゲームとかとにかく実践が大事
ネット記事とか本とか読んで出来るつもりになるのが一番ダメ
470:デフォルトの名無しさん (ワントンキン MM1f-4SR0)
17/02/05 22:49:26.11 JJBphtlBM.net
最初は具体的なアプリを作らないことが重要
文法とランタイムについて納めたら、ひたすらに書籍やウェブサイトでコーディングの良い習慣とイディオムを学ぶ
ある程度自信がついてきたらDDDについて二、三冊本を読む
コーディングはそのあとだな
471:デフォルトの名無しさん (ワッチョイ ffed-ugtB)
17/02/05 22:51:09.08 jq5X/Y9H0.net
電卓は状態遷移とか結構奥深い
括弧とかに対応すると構文解析まで勉強できる
472:デフォルトの名無しさん (ワントンキン MM1f-4SR0)
17/02/05 22:53:11.80 JJBphtlBM.net
にわか仕込みの汚いコードを書く時間を極力減らすこと
最初に書いた汚いコードが癖になるといつまでも平気で汚いコードを垂れ流す
それはこの業界の先人達が証明している
473:デフォルトの名無しさん (ワッチョイ c349-a8w2)
17/02/05 22:57:07.16 fsvHmggw0.net
>>462
DDDじゃ初心者にはチンプンカンプンだろ
474:デフォルトの名無しさん (ブーイモ MM07-tPtZ)
17/02/05 22:59:17.71 zwp3LS7QM.net
モチベーションが一番重要だから作りたいものを作ればいい
ただしシステムユーティリティや操作自動化の類だけは避けること
初心者はそういうのを選びがちだが、確実に泥沼に嵌って時間ばかり浪費し、
得られるのは全く応用の利かないバッドノウハウだけ
475:デフォルトの名無しさん (ワッチョイ 53d6-0MWP)
17/02/05 23:35:26.59 JshVpFTv0.net
簡単な画像処理するのを書いたかな
書籍のやつを丸コピーだったけど書いた内容が
そのまま画面に反映されるからモチベの維持はバッチリだったわ
476:デフォルトの名無しさん (ワッチョイ 7f4a-yene)
17/02/06 00:37:58.37 9OgQn1wp0.net
入門者にシューティングゲーまじお勧め
477:デフォルトの名無しさん (ドコグロ MM7f-C4Pq)
17/02/06 07:19:50.36 87jFG7WVM.net
>>465
最近覚えて使いたくてしょうがないんだろ
478:デフォルトの名無しさん (ワントンキン MM1f-4SR0)
17/02/06 07:48:52.02 gKH+iZUMM.net
あっここ初心者スレだったか
479:デフォルトの名無しさん (オッペケ Sra7-FWOa)
17/02/06 11:57:49.53 4QCLkB2dr.net
俺がプログラミングを覚えたのは金儲けツール作ったこと
よくわからずに作ったから酷いコードだけどそれで2000万くらい儲けた
480:デフォルトの名無しさん (ワントンキン MM1f-nOPp)
17/02/06 12:17:46.39 yz/cpsC+M.net
趣味ならゲーム
実務ならめんどくさいことを楽にするためのツール
くらいから始めるといいかも
自分にとってメリットのある目的がないと続かないし
481:デフォルトの名無しさん (ワッチョイ 6f13-w8tn)
17/02/06 14:37:26.45 QAELN1ME0.net
PHPみたいにテキストの文章をプログラムのコードとして読み取って実行してくれる方法ありませんか?
482:デフォルトの名無しさん (ワッチョイ ff4c-FIX0)
17/02/06 14:41:08.80 G2m2OeCC0.net
PowerShell
483:デフォルトの名無しさん (アウアウオー Sa5f-m1Xa)
17/02/06 15:40:19.77 n9AZiYjVa.net
こういうの?
大昔から存在するのは知ってるけど一度も使ったことないわ
URLリンク(www.atmarkit.co.jp)
484:デフォルトの名無しさん (ワッチョイ 034a-Sup+)
17/02/06 16:09:20.76 LFg06LIZ0.net
>>471
どんなツールなん?
485:デフォルトの名無しさん (スプッッ Sd9f-mJ+X)
17/02/06 18:53:34.50 jtvysINud.net
動的にコンパイルしてAppDomain作って実行は作った事あるな。
集計関数とか帳票とかで、最初は設定ファイルをパースしてたんだけど、
いつのまにかチューリング完全になって、闇魔法みたいな設定書くやつが現れて、パフォーマンスに影響出始めて。
どーせチューリング完全ならトランスパイルしてコンパイルしたれと思って書いたら我ながら便利な拡張エンジンになった。
その足回りを別チームがアニメーションに使ったりもしてた。
486:デフォルトの名無しさん (オッペケ Sra7-FWOa)
17/02/06 20:52:45.40 4QCLkB2dr.net
>>476
世の中、プログラミングなんてまったくできないのに手作業や複数のクソアプリ組み合わせてボロ儲けしてる奴らがたくさんいる
そういう奴らが日々せっせと非効率なことやってるのを「いいツールありますぜ!」って紹介するだけで食いつく
まあ俺が作ったのはそういうのではないけど笑
487:デフォルトの名無しさん (ワッチョイ 0399-MDPp)
2017/02/06(月
488:) 21:24:46.43 ID:jjlpYXf70.net
489:デフォルトの名無しさん (ワッチョイ a30d-PzOe)
17/02/07 12:49:58.70 McQyQcJ/0.net
ListBox ListView GridView DataGrid の違いがよくわかりません
どういう用途で使い分けたらいいのか教えてください
490:デフォルトの名無しさん (ワッチョイ 7f4a-yene)
17/02/07 21:33:47.53 lZgqbAG+0.net
ASP.NET WebFormsの話と察して。
古い記憶を元に書くけど、乱暴にまとめるとこんな感じ。
DataGrid:主に表形式データを表示するためのコントロール。
GridView:DataGridの改良版、基本的にDataGridは使用せずこちらを使うべき。
ListView:GridViewに比べて柔軟なためカスタマイズ性が高い。
ListBox:アイテムから1~N個選択するためのコントロール。
DBから取得したデータを表で出すような代表的なケースでは、データをバインドするだけのGridViewが便利。
GridViewの機能や見栄えに不満があればListViewを使う感じかな。
491:デフォルトの名無しさん (ワッチョイ a30d-PzOe)
17/02/08 10:37:55.04 rOslvZ8k0.net
>>481
わかりやすい解答ありがとうございました!
492:デフォルトの名無しさん (ワッチョイ 6f20-0MWP)
17/02/08 23:22:30.09 JuESMFFV0.net
DTOって、物理ER図に含めて良いのでしょうか?
Dapperで2つのテーブルから1つのDTOに情報を集約しているのですが
2つのテーブルだけだと説明しにくいかなと思い
でも、一般的に物理ER図にはDBしか出てこないので
どうなのかなと
493:デフォルトの名無しさん (ブーイモ MM9f-tPtZ)
17/02/08 23:44:56.95 qO3OS2QJM.net
集約するときのキーがきちんと図示されてればそれでよくね?
集約はあくまで処理の都合であって、データモデリングとはレイヤの違う話だろう
どうしても表現したいなら点線の枠で囲んどけば
494:デフォルトの名無しさん (ワッチョイ a390-/j6a)
17/02/08 23:48:15.11 yte1dlTr0.net
C#でTcpClient・TcpListenerを使いHTTPproxyを作っているのですが、リクエストヘッダの解釈ってどうするのがスマートですか?
proxyを経由して通信するアプリは一つだけなので決めうちすることは可能なんですが、あまりにも力技すぎてちょっと躊躇しています
正規表現で地味に一つずつマッチさせていくしかないのでしょうか?
495:デフォルトの名無しさん (ワッチョイ fe22-0RrM)
17/02/09 01:14:10.21 4sYnDBFk0.net
>>485
Httpプロキシだったら特定のヘッダー項目以外はぜんぶそのまま送信するだけじゃないのかな?
であれば正規表現はコストが高いので、必要なものだけignore caseで文字列比較でしてあげれば充分じゃないかな。
柔軟なフィルタリング設定機能を提供したいのであれば正規表現でもいいと思う。
496:デフォルトの名無しさん (ワッチョイ 2790-jWyY)
17/02/09 02:22:50.86 nyEvJ0cJ0.net
ありがとうございます
2chmateから2chapixyへの橋渡しとして作ろうと思ったんですが2chmateのリクエストヘッダを見たところ自分にはレベルが高すぎました
実際やろうとしてることめちゃくちゃレベル高いですか?そこまで高くないですか?
497:デフォルトの名無しさん (ワッチョイ 7230-DR2M)
17/02/09 05:06:43.81 2qzHgTI50.net
そこまで高くない
498:デフォルトの名無しさん (ワッチョイ 7230-DR2M)
17/02/09 05:07:30.16 2qzHgTI50.net
いや、初心者ならそれなりに高いか
どのくらい初心者か知らないけど
499:デフォルトの名無しさん (ワッチョイ df64-0xw5)
17/02/09 06:25:59.74 RvZkCLPt0.net
しらないことで不安だ。
しかし、なにごとにもはじめがある
500:デフォルトの名無しさん (ラクッペ MMc7-iIq0)
17/02/09 07:13:17.10 oWJ51HgbM.net
>>484
レイヤが違うので
やはり適切ではありませんよね
点線で囲んでメモ的な記述にするか
論理ER図に書こうと思います
ありがとうございます
501:デフォルトの名無しさん (ワッチョイ 274f-E76/)
17/02/09 17:50:17.41 oK6hmqI40.net
numericupdownで処理するのは数値だけど、
表示をA~Zみたいにアルファベットに出来ますでしょうか?
Excelの列がA~なので、出来れば共通にしたいのですが、
コントロール名からして数値のみでしょうか?
無理な場合は数値で表示するか、
不格好ですがテキストボックスを上に被せて、数値をアルファベットに変換します。
よろしくお願い致します。
502:デフォルトの名無しさん (ワッチョイ 9b19-Z42y)
17/02/09 18:16:50.06 WLzAKPo80.net
DomainUpDown
ComboBoxかListBoxで十分な気がするけど
503:486 (ワッチョイ 7b90-jWyY)
17/02/09 20:20:01.65 8SmAIcEJ0.net
やりたいことは2chmateでの過去ログ取得です
2chmateのプロキシに自PCを設定して取得したTcplistenerで取得したスレ取得時のリクエストには
CONNECT api.2ch.net:443
Host: api.2ch.net
しかログが残らなくて困惑しています
api仕様を見るとURLリンク(api.2ch.net)にいろいろつけて取りにいくみたいですが上のリクエストが解釈できません
504:デフォルトの名無しさん (ワッチョイ fe20-cGUq)
17/02/09 23:03:33.04 wR2ltVTB0.net
C#で小さいアプリを作ったことがある程度の一人社内SEで
WBS管理アプリを作るために派遣の人に来て貰ったのですが
チームでの開発経験が無いので、どう作業しようか悩んでいます
クラス設計書に基づいたクラス配置をしたプロジェクトを準備し
各クラスはインターフェースでメソッドを規定しているので
後は各クラスの実装を書いて貰うだけと考えているのですが
OOPを意識した開発として、誤っていないでしょうか?
ちなみに派遣の人は、VB6と、ちょっとVB.NETをしたことがある人で
手続き型の開発しかしたことが無いとのことなので
やり方はこちらの指定に従うとのことでした
505:デフォルトの名無しさん (ワッチョイ a3d6-cGUq)
17/02/09 23:10:21.00 1V94m8gi0.net
何でここで質問するの?バカなの?
506:デフォルトの名無しさん (ワッチョイ fe20-cGUq)
17/02/09 23:16:02.05 wR2ltVTB0.net
C#のプロジェクトで、初心者の内部設計からの話なので
ここのスレかなと思ったのですが
内部設計スレを探してみます
507:デフォルトの名無しさん (ブーイモ MM52-CvLw)
17/02/10 00:24:51.79 dcBwz+q1M.net
プロジェクト管理ツールなんか優れた既製品が世の中に腐るほどあるだろ
どっかのSaaS契約すれば終わ�
508:�
509:デフォルトの名無しさん (ワッチョイ 7bdc-3OfB)
17/02/10 00:33:06.11 7mXc6D7Y0.net
今すぐ考え直してSaaSを契約し、余った期間は派遣の人と一緒に旅行にでも行ってこい
どう考えても無駄
510:486 (ワッチョイ 7b90-jWyY)
17/02/10 00:39:40.91 H4LboL2a0.net
教えて欲しいのですが、2chmate→自作串→2chの場合、SSL通信の間に入らないといけないのですが
2ch側がどんなメッセージを返しているのかわからないと自作串がそもそも作れなかったりしませんか?
2chmate→自作串→apixyの場合でも2chmateはSSL通信しようとするのでどうにかごまかさないとみたいです・・・
上記で可能なんでしょうか?不可能でしたら何かいい案ありませんでしょうか?
511:デフォルトの名無しさん (スププ Sd52-VNHE)
17/02/10 00:56:43.26 8nnnziXAd.net
>>500
SSLの通信に割って入れたらそりゃもうSSLではなかろう。
512:デフォルトの名無しさん (ワッチョイ b7bd-0RrM)
17/02/10 00:58:31.74 mCg6Ou1P0.net
>>500
2chmateのandroid端末は自由にいじれるんですよね?
であれば、自作の証明書をインストールして、
自作の串側でSSLを復号して、2chにhttpsでリクエストを送ればできますよ。
例えばFiddlerはそうやってますよね。
513:デフォルトの名無しさん (スププ Sd52-VNHE)
17/02/10 01:40:28.84 8nnnziXAd.net
>>502
2chmateがその自己証明の証明書をどう扱うかだな。
514:デフォルトの名無しさん (ワッチョイ 93f0-i7f5)
17/02/10 02:55:07.11 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)
17/02/10 07:44:12.22 mH0Fm1nqM.net
ITの便利屋みたいなポジションで
暇な時間使ってWBS管理作れ
言われた上にクラウドがダメなので
SaaSは採用出来ないんです
で、4画面ほどのシステムの要件定義は済ませたので
クラスをインターフェイスで規定したプロジェクトを派遣の人に渡せば完成しそう、
OOP便利だと思ったのですが、
インターフェイスの使い方が邪道だったらどうしようと思い初心者スレに書きました。
失礼しました
516:デフォルトの名無しさん (スフッ Sd52-VNHE)
17/02/10 07:46:14.55 74WKLgk8d.net
>>505
そっとRedmine導入すれば?
517:486 (ワッチョイ 7b90-jWyY)
17/02/10 10:06:15.81 H4LboL2a0.net
>>504
結局それじゃあ作れないですね
2chmateのリクエストも若干違ってきますし・・・
518:デフォルトの名無しさん (オイコラミネオ MM4e-BUfI)
17/02/10 10:08:42.79 pOwXO8iOM.net
>>504
androidの設定からインストールできなかったけ?
519:デフォルトの名無しさん (ワントンキン MM62-cEkq)
17/02/10 13:00:28.24 6scz6mrwM.net
わざわざ派遣までやとって作るとか
どんな特殊なのを求められてるんだろう
520:デフォルトの名無しさん (ブーイモ MM52-CvLw)
17/02/10 13:56:29.81 dcBwz+q1M.net
>>505
クラウドがダメならオンプレでOSSやパッケージを導入すれば?
521:デフォルトの名無しさん (ワッチョイ 93f0-Kx9n)
17/02/10 13:59:57.09 354nXyOq0.net
>>507-508
mateを使うスマホが7.0未満なら>>502のやり方が出来る
(オレオレCAの証明書をインストールして、オレオレCAを使ってサーバーの証明書を作る)
522:デフォルトの名無しさん (オッペケ Srf7-S/g0)
17/02/10 14:44:38.69 8f4rSBP3r.net
もう何言ってんのかまったくわからん
初心者スレじゃないな
523:デフォルトの名無しさん (ワッチョイ a6ce-E76/)
17/02/10 15:16:26.64 6UihQBZT0.net
元はC#絡みっぽいけど>>500から逸脱してそれに付き合う回答者がアホなんだからしょーがないね
524:デフォルトの名無しさん (ワッチョイ 327b-F1sY)
17/02/10 15:38:49.89 ZWQLMh1M0.net
1>>からして回答者がいるか誘導されない限りつづくしな
525:デフォルトの名無しさん (アウアウウー Sab3-cZcy)
17/02/10 15:40:26.93 izdz/JI9a.net
別に逸脱なんかしてねえし、そもそもそういうレスが一番無価値だ。
自分に突っ込めないのは馬鹿の特権だなほんっと。
別に馬鹿でもいいけど回答する人間のモチベーションを挫くようなこと書くなってカスが
526:デフォルトの名無しさん (ワッチョイ 93f0-Kx9n)
17/02/10 15:53:13.11 354nXyOq0.net
プロキシの質問はこっちがいいかも
専用ブラウザを助けるプロクシ作らね?17串目
スレリンク(software板)
527:デフォルトの名無しさん (ワッチョイ dfd9-DR2M)
17/02/10 16:08:23.65 W+YEktJw0.net
pythonスレでクラックのためにmitm串の使い方を聞いてた奴と大差ない
528:504 (ワッチョイ fe20-iIq0)
17/02/10 18:09:24.11 EP3wxk4m0.net
Redmineは試したのですが
使い方が解らんと言われました
会社特有のWBSの詳細情報も見たいとかで
ASP.NETで簡単なモックを作ったら
これで良いと言われたんですが
自分は新年度人事の準備があるので
派遣の人に実装を任せる事となり
機能仕様と物理ERDとクラスとインタフェイスとテスト要領を準備したので
一般的にこれで実装出来るのか本職の方に聞いてみたかったんです
派遣の人は実装の経験しか無いとのことで、仕様を用意するのはこちらの責任区分と考え未経験ながら色々調べたつもりです
529:デフォルトの名無しさん (アウアウオー Sa8a-BhAG)
17/02/10 18:55:50.27 nIvAkTeQa.net
> Redmineは試したのですが
> 使い方が解らんと言われました
www
相手と相談しながら決めてけばいいだろ。でもどっちもコミュ障なんだろうな
530:デフォルトの名無しさん (ワントンキン MM62-S0So)
17/02/10 19:02:20.94 qb46k0xYM.net
WBSはデータベースでグラフを扱うから練度の低い派遣だと炎上するよ
531:デフォルトの名無しさん (ワッチョイ 7230-DR2M)
17/02/10 19:49:48.59 STa9hXIn0.net
無理だと言ったところで何も変わらなそうですし
やりゃあいんじゃないですか(鼻ホジ)
532:デフォルトの名無しさん (ワッチョイ b7bd-Gj9/)
17/02/10 21:24:28.47 mCg6Ou1P0.net
>>507
これが参考になるんじゃないかな
URLリンク(github.com)
ざっと見た感じだと全部C#で実装されてるみたいだから
SSLの仕組みを理解すれば読めると思う。
これをこのまま使ってもいいと思うけど。
533:デフォルトの名無しさん (ワッチョイ be5b-KlhN)
17/02/11 14:03:10.30 WeBIHJYm0.net
C#触りはじめたばかりの者だが恐ろしい話題だな。
普通はこんな質問に余裕で答えられるレベルじゃないと手を出しちゃいかんと思うが。
手探り含めて挑戦してみるという状況を上司も分かった上での話なら十分あり得るけど。
534:デフォルトの名無しさん (ワントンキン MM62-S0So)
17/02/11 14:45:53.58 Z2oJz4TsM.net
クラスって何ですかっていうレベルの新人が平気で責任の伴う筈のコードを触れちゃう業界だよね
535:デフォルトの名無しさん (ワッチョイ 93bb-cGUq)
17/02/11 15:47:23.29 sLXLvEEW0.net
国家資格がありながら免許制ではないというザル制度だから。
536:デフォルトの名無しさん (ワッチョイ 173c-Dg5S)
17/02/11 16:04:20.29 cBbytIAB0.net
うちの会社は資格があるとちょっと給料増える
有り難いといえば有り難いが、資格なんてそれだけの存在
537:デフォルトの名無しさん (ワントンキン MM62-S0So)
17/02/11 18:51:19.40 Z2oJz4TsM.net
うちの若い衆は資格持ってない奴の方が仕事ができる
仕事めいいっぱいやってるから試験受ける元気がないんだと
538:デフォルトの名無しさん (ワッチョイ 323c-zlRv)
17/02/11 19:19:29.64 VLfM/32P0.net
>>526
いいなあうちは合格時の報償金だけだわ
>>527
> 仕事めいいっぱいやってるから試験受ける元気がないんだと
そんな面倒な試験じゃねーだろ w
539:デフォルトの名無しさん (ワントンキン MM62-cEkq)
17/02/11 19:20:23.82 TEW+p5o+M.net
給料5万アップならがんばるけど
賞金5万ならいらねー
540:デフォルトの名無しさん (ワントンキン MM62-S0So)
17/02/11 19:33:12.02 Z2oJz4TsM.net
>>528
使える若手に休日なんかねえしwww
541:デフォルトの名無しさん (ワッチョイ 323c-zlRv)
17/02/11 20:05:27.48 VLfM/32P0.net
>>530
ブラック乙
542:デフォルトの名無しさん (ワッチョイ 937b-A+aG)
17/02/11 20:27:04.32 LG38aSbV0.net
マ板いけ
543:デフォルトの名無しさん (ワッチョイ 7b90-jWyY)
17/02/11 21:51:13.78 5HwoZWaF0.net
>>522
ありがとうございます、時間はかかると思いますが1行1行理解していきたいと思います
ひとつ疑問に思ったのですが、HttpWebRequestとHttpWebResponseって何のために作られたんでしょうか?
WebRequest、WebResponse使えばいい話ですし、逆に制約が多くなるのであまり存在意義を感じないのですが・・・
544:デフォルトの名無しさん (ワッチョイ be5b-KlhN)
17/02/11 22:00:44.25 WeBIHJYm0.net
資格については技術の無い人が箔を付けるために取る場合も多い。
技術のある人は取る意味がわからないと感じる人も多いでしょ。
545:デフォルトの名無しさん (ワッチョイ 7bdc-3OfB)
17/02/11 22:04:58.17 i65Ibvj/0.net
>>533
WebRequest/WebResponseは抽象クラスなので直接使うことはできない
WebRequest.Createなどでインスタンスを作成しようとすると、
実際にはプロトコルに応じてHttpWebRequestやFtpWebRequestなどの派生クラスのインスタンスが返る
だからお前がいつもWebRequestだと思って使っているのは実はHttpWebRequest
546:デフォルトの名無しさん (ワッチョイ 93bb-cGUq)
17/02/11 23:42:14.75 sLXLvEEW0.net
>>527
知識がないから作業量が増えてるだけ。
奴隷商人はそのほうが収入増えるから仕事ができるという嘘をいう歪んだ業界。
547:デフォルトの名無しさん (ワッチョイ fe13-Znb2)
17/02/12 00:07:11.61 4jYnBLuB0.net
しょうもない資格取るくらいなら仕事して金稼ぐわw
548:デフォルトの名無しさん (ワッチョイ fe20-cGUq)
17/02/12 00:16:23.91 lRABItTh0.net
クラス設計でメソッド定義してるんだから
わざわざインターフェースで縛る必要ないね
549:デフォルトの名無しさん (ワッチョイ fe13-Znb2)
17/02/12 00:24:23.38 4jYnBLuB0.net
>>538
多態使うときにinterface使えばいい
550:デフォルトの名無しさん (ワッチョイ 173c-Dg5S)
17/02/12 00:31:30.89 XCktPVjd0.net
>>534
FEとAPくらいは学生時代に取っとけばいいよ
俺はそうした
新卒以外なら、資格だけあったって実務経験ない分野じゃ役に立たねーしな……
あんま働きながら取ろうって気にはならんね 休日は休んでいたいし
551:デフォルトの名無しさん (ワッチョイ 7b90-jWyY)
17/02/12 04:22:40.76 mdC/jwcN0.net
httplistener使ってwebサーバー作るときには管理者権限必要ですけど
tcplistener使ってwebサーバー作るときに管理者権限必要ないのはなんでですか?
それとも僕の勘違いでtcplistenerでも管理者権限必要でしたっけ?
552:デフォルトの名無しさん (ワッチョイ 323c-zlRv)
17/02/12 08:05:00.20 yxF5W3i10.net
資格なんてなんの役にもたたんよ
って言ってる自称技術のある俺
って奴も多いけどな w
553:デフォルトの名無しさん (ブーイモ MM53-CvLw)
17/02/12 08:39:28.74 WpegkxZ+M.net
「くだらないことで実力より低く評価されるのは損だ」という考え方ができないんだろうね
典型的な底辺止まりの思考
554:デフォルトの名無しさん (アウアウオー Sa8a-BhAG)
17/02/12 08:50:11.13 +YHMx5k5a.net
同じことやらせても新しいこと身につける奴とそうでない奴がいるからな
一夜漬けするような後者に資格受験は時間の無駄
前者でも好奇心強い奴は資格受験に頼らずとも自分で知識集めてくから時間の無駄
意欲のない前者タイプには役立�
555:ツ。大概的な意味合いもあるが、おまえら意欲ないから会社は資格取らせようとするんだよ。後者だから無駄に終わるがw
556:デフォルトの名無しさん (ワッチョイ 7bdc-CvLw)
17/02/12 08:59:32.57 RQ58gzfk0.net
IPA系は少なくとも池沼ではないことの保証としては極めて有効
専門卒やバカ大の文系だととんでもないのがいるからな
まともな大学出てるならいらない
557:デフォルトの名無しさん (ワッチョイ a3d6-cGUq)
17/02/12 09:06:52.58 LPrkPiV20.net
資格手当で単純に給料増えるから無駄にはならないだろ
558:デフォルトの名無しさん (アウアウウー Sab3-cZcy)
17/02/12 13:58:42.98 6G/oP1N0a.net
またしょーもない雑談が続いてるけど、こういう連中って本人は「他人」(会社や同僚)の愚痴を
語ってるつもりなんだろうけど結局それでてめえ自身を語ってることに気が付かないのかね。
お前がくだらない環境で働いてるのはお前自身がくだらない人間だからだよ悪いけど。
くだらないクダ巻きは居酒屋ででもやれって馬鹿
559:デフォルトの名無しさん (ワッチョイ a6cb-g4mt)
17/02/12 14:10:50.23 LI/qrlfJ0.net
何言ってるのかわからないけど
設計書書いてからプログラム組めよ
560:デフォルトの名無しさん (オッペケ Srf7-S/g0)
17/02/12 15:45:29.41 /b84DIntr.net
いろんなツールで逆アセできてしまうんだけど、せめて難読化とかどうしてる?
有料バカ高ツール買うしかないの?
561:デフォルトの名無しさん (ブーイモ MM52-CvLw)
17/02/12 15:46:47.51 9zVyZuTsM.net
気にしない
本当に重要なロジックはクラウドに置く
562:デフォルトの名無しさん (ワッチョイ a3d6-cGUq)
17/02/12 15:53:30.18 LPrkPiV20.net
どうしても必要ならフリーの難読化ツール使えばいい
検索すれば活発に開発しているかどうかはともかくとして沢山見つかるぞ
563:デフォルトの名無しさん (スププ Sd52-Znb2)
17/02/12 15:58:51.80 30lbeLdWd.net
>>550
スタンドアロンの場合はどうですか?
564:デフォルトの名無しさん (オッペケ Srf7-S/g0)
17/02/12 16:00:16.22 /b84DIntr.net
>>550
ちとクラウドには置けないんだ
>>551
探したけど4.5や4.6に対応してなくてせいぜい3.xか4までなんだよなあ…
情報古いのばかりだし、開発止まったり開発してるやつは有料化してるし
2万くらいまでなら出すけど10万以上とか悩む…
565:デフォルトの名無しさん (ワントンキン MM62-S0So)
17/02/12 16:06:34.06 UUbs1MWiM.net
クラウドに置けない理由は?
そんな重要なコードなのか?
566:デフォルトの名無しさん (ワッチョイ 3223-CIv3)
17/02/12 16:08:50.62 7mehC9vV0.net
UWPにするのも方法の一つだな
567:デフォルトの名無しさん (ワッチョイ fe13-Znb2)
17/02/12 16:09:45.51 4jYnBLuB0.net
クラウド前提でないシステムの開発なんて普通にあるだろ
568:デフォルトの名無しさん (ワッチョイ a3d6-cGUq)
17/02/12 16:44:05.89 LPrkPiV20.net
>>553
無償 (4.5対応)
URLリンク(yck1509.github.io)
有償 (4.61対応)
URLリンク(babelfor.net)
569:デフォルトの名無しさん (オッペケ Srf7-S/g0)
17/02/12 17:39:32.01 /b84DIntr.net
>>554
会計ソフトみたいなやつとか画像ソフトみたいなやつとか
会計ソフトだとデータをクラウドに持ってくの客が嫌がる
画像ソフトだといちいちクラウドなんかで処理してたら激遅で使い物にならん
>>557
おおっあるんだな…!
見てみます!
570:デフォルトの名無しさん (ワントンキン MM62-S0So)
17/02/12 17:46:04.03 UUbs1MWiM.net
今時素人の管理するローカルにデータおいとく方が危険だろうに
速度必要ならネイティブアプリ書くし
なんだかなぁ
571:デフォルトの名無しさん (ブーイモ MM52-CvLw)
17/02/12 18:51:21.87 9zVyZuTsM.net
>>558
そんなもんわざわざ難読化する必要あるのか?
受託開発なら客くらいは信用してやれよ
572:デフォルトの名無しさん (ワッチョイ fe13-Znb2)
17/02/12 19:29:23.53 4jYnBLuB0.net
押し付けがましいクラウド推しだなw
573:デフォルトの名無しさん (ワッチョイ 173c-lIOg)
17/02/12 19:56:31.74 vM2j5Kno0.net
>>561
クラウドとクラサバの区別すらできていないように見えるな
574:デフォルトの名無しさん (ワッチョイ 93bb-cGUq)
17/02/12 21:09:00.16 8IP9T+dI0.net
クラウドはバズワードだろw
575:デフォルトの名無しさん (ワッチョイ 9341-Avde)
17/02/12 21:35:43.32 d34X37hQ0.net
いうほどバズか?
出始めはそうだったろうけど
576:デフォルトの名無しさん (ワッチョイ 769d-cGUq)
17/02/12 21:59:02.46 X2lEwKBH0.net
クラウドに置けとか、なんで知障は明後日の回答したがるんですかね?
>>557みたいなことが書けない知らないなら黙ってればいいのに
577:デフォルトの名無しさん (ブーイモ MM52-CvLw)
17/02/13 07:55:48.89 K3AR3nw+M.net
実際AWSとか経験してしまうともう全部これでいいだろと思うようになるよ
うちの会社はマジでインフラビジネス崩壊の危機に直面してる
578:デフォルトの名無しさん (ワッチョイ df09-DR2M)
17/02/13 09:39:21.50 5AbbZsGI0.net
ちょっと会話が成り立ってないみたいなんですけど
これだから池沼って言われるんではないですかねww
579:デフォルトの名無しさん (ワッチョイ 93bb-cGUq)
17/02/13 10:49:34.63 6O142uRC0.net
ここでフックやプロキシや難読化の質問する時点で
遠隔ウイルス片山と同じ悪いこと考えてるんだから真面目にレスする必要もあるまい。
580:デフォルトの名無しさん (オッペケ Srf7-S/g0)
17/02/13 12:20:44.16 axxRkyStr.net
難読化質問した者だけど、悪いことする人だけが難読化するって意識なの?
581:デフォルトの名無しさん (ワッチョイ 27c0-CIv3)
17/02/13 12:22:21.24 gHEQ/2iY0.net
難読化は悪いことする人への対策だしな
582:デフォルトの名無しさん (ワッチョイ 7bdc-CvLw)
17/02/13 12:33:28.50 u3X6aEIq0.net
問題は誰が悪いことするのかでしょ
特定の客にしかバイナリを配らないんなら客からの要求がない限りは難読化なんか要らない
客にも漏らせない特殊な技術があるとしたら、それは難読化云々ではなく契約の問題
客がそれを破ったら当然訴えりゃいい
583:デフォルトの名無しさん (スプッッ Sd72-jFC1)
17/02/13 12:38:33.29 bVT/P/ned.net
悪い人が本気出せば難読化したところで解読できますし
技術に疎い人間を納得させるための方法としては有効だとは思うけど
584:デフォルトの名無しさん (オッペケ Srf7-S/g0)
17/02/13 12:42:05.58 axxRkyStr.net
一般人販売するから簡単にクラックされるのもなあ
ライセンス関係のところやられると、アクティベーションしなくても使えるようになっちゃうし
585:デフォルトの名無しさん (オッペケ Srf7-S/g0)
17/02/13 12:43:19.88 axxRkyStr.net
まあwindowsやフォトショでさえクラックされてるしな
底辺の俺(ら)が何をやっても無駄か笑
586:デフォルトの名無しさん (アウアウオー Sa8a-BhAG)
17/02/13 12:44:03.70 ubVZSqMka.net
金庫にお金入れたところで盗まれるから入れずに置いといて問題ない
金庫なんて盗みに疎い人間を納得させるためだけのもんだ
って言ってるようなもんだな
587:デフォルトの名無しさん (ブーイモ MM52-CvLw)
17/02/13 12:48:58.22 K3AR3nw+M.net
>>575
金庫は言い過ぎ
エロ本をベッドの上に堂々と置くかベッドの下に隠すか、くらいの違い
588:デフォルトの名無しさん (アウアウウー Sab3-cZcy)
17/02/13 12:53:33.66 1vnuYgLka.net
>>569
それはないけど、ちょっと自意識過剰な人なのかなって疑いは正直持つねw
そんな高度なプロプラ持ってる人はこんなところで質問しないと思うし
もちろん好意的に考えれば、>>571が言うような事情を抱えた零細企業の従業員って
可能性もありうるけど
俺も零細にいた時、インストールシールドとか買ってもらえなくてVSのセットアッププロジェクトに
力技でシリアルキーの検証機能を組み込んだことあるよw
589:デフォルトの名無しさん (スププ Sd52-Znb2)
17/02/13 14:21:46.45 Xm/Iv1XXd.net
>>566
この人しつこい
590:デフォルトの名無しさん (オッペケ Srf7-S/g0)
17/02/13 14:50:05.75 axxRkyStr.net
>>577
ちょっとスレの目的とは外れるからこの件をずっと言うのもあれだけど
孤独な自営なので取り引き先に納品とかじゃないんだ
あと本業はプログラマじゃないのでここからは出られないと思う
591:デフォルトの名無しさん (ワッチョイ 124c-0xw5)
17/02/13 16:12:42.48 LAv/WUos0.net
>>577
インストールシールドで組んでも同じ事。
照合用のDLL内部に細工組まないと、ダンプで読めちゃう。
592:デフォルトの名無しさん (アウアウオー Sa8a-BhAG)
17/02/13 16:42:06.47 ubVZSqMka.net
>>580
照合用のDLL内部に細工組み込んでも同じ事。少しいじったら使えちゃう
難読化もシリアルは当たり前だが、クラウドでさえも盗人を防ぐことはできないんだよ
防ぐならバイナリ配布やサービス提供をやめるしかない
593:デフォルトの名無しさん (アウアウウー Sab3-cZcy)
17/02/13 17:40:39.81 1vnuYgLka.net
>>580
そういう話じゃなくて、MSが提供してるセットアッププロジェクトには
シリアルナンバーの類を検証する機能がそもそも存在しないのよ
クラック対策とかそれ以前の話
594:デフォルトの名無しさん (アウアウカー Sa1f-KlhN)
17/02/13 17:45:28.33 5u9YjgZYa.net
難読化が必要な人ってどういう人か?って話から零細と推測して、似た境遇だったことがある人が感想を述べただけでしょ。
読めちゃうかどうかはそこではどうでも良いだろ。
人の言いたいことを読み取れない奴が多いな。
595:デフォルトの名無しさん (ワッチョイ 124c-0xw5)
17/02/13 18:19:03.34 LAv/WUos0.net
>>581
そういう事はもちろん承知。
いくら照合テーブルを複数用意しても、ジャンプ命令で抜けれたらどうもこうもない。
で、年末に照合用サーバーを納めたとこよ
596:デフォルトの名無しさん (ワッチョイ 3e7b-Ol/0)
17/02/13 23:54:38.62 64u1b7/j0.net
>>584
サーバ見に行くところにパッチ当てて、
強制的にtrue返すようにしておいたよ
597:デフォルトの名無しさん (ワッチョイ 9341-Avde)
17/02/14 07:05:19.58 1IUMjXL00.net
隠しメッセージを置いておくくらいはしたいもんだ
このメッセージを見たものはハゲます、みたいな
598:デフォルトの名無しさん (ワッチョイ 2790-jWyY)
17/02/14 09:44:42.37 Nim8Pln30.net
数独を解くアプリを作っているのですが、上級問題になると解けない問題があります
フローはこんな感じなんですが何が足りないんでしょうか?
まず不明な数を0と置きます、該当マスの縦横、3x3のブロック内を検索し、見つけた数「n」とし9個の配列を持つbool型のflag[n-1]をtrueにして
もしbool型変数flagのfalseが一つしかない場合、絞り込めたと判断しflagのfalseの位置を該当のマスに代入します
これをループさせて、すべての配列で0がない場合、一周して一度も代入できていない場合を抜ける条件としています
ソースも貼っておきます。下側は解けるのですが上側は解けないです
URLリンク(ideone.com)
599:デフォルトの名無しさん (ワッチョイ 93bb-cGUq)
17/02/14 10:29:46.12 dpHbb6/Q0.net
wikip見てルールは軽く理解したが、それで解けるわけないだろw
関係する組み合わせもすべてチェックしろw
600:デフォルトの名無しさん (ワッチョイ 1258-3CwI)
17/02/14 11:30:18.74 8kq18t1J0.net
音声をSoundPlaerで再生しようとするプログラムを作っています
単純にプロジェクト作成で作られるForm1に音声再生用クラス(SoundPlayer)を用意
別スレッドで再生する関数(SoundPlayer.Play)を作って音声再生を実施する形にしてます
そこで実体化とかで親フォーム(Form1)を指定する形にして再生終了したときに
form1.Invork((MethodInvoker)delegate(){form1.endPlayEvent()});
で関数呼び出すと終了時のForm1のボタンとかが操作ができるのはわかります
しかし別プログラムに再生用クラスを持っていくときに
できるだけこのクラスを書き換えしたくないので
Formに通知してイベントを起動する形とかできるのでしょうか?
601:デフォルトの名無しさん (ワッチョイ 124c-YCZx)
17/02/14 11:32:16.56 CQeCieXf0.net
>>589
もうちょい詳しく。
プロセス間通信みたいなもん?
602:デフォルトの名無しさん (アウアウウー Sab3-cZcy)
17/02/14 11:38:24.01 PdY4D7f4a.net
そんな難しい話じゃなく、恐らくFormに処理を書いちゃってるVBerなノリの人なんでしょう
603:デフォルトの名無しさん (ワッチョイ 1258-3CwI)
17/02/14 11:49:51.24 8kq18t1J0.net
>>590
VBerかはわからないけどこれから色々書いていって学ばないと行けないのは分かってる
とりあえずやってみようとしているのは
Form1のボタンクリック(ボタンの無効化)
↓
音声データを作って、再生クラスへ投げる
↓
別スレッドで処理開始(await Task.Run()=>を使用)
↓
SoundPlayer.PlaySync()で再生
↓
再生終了したときにForm1に終了を通知
↓
通知を受けたForm1が再生終了の処理(ボタンの有効化)
今回はボタンの無効化だけど、他の処理もやることになるかもと思って聞いてみた
604:デフォルトの名無しさん (ワッチョイ 124c-YCZx)
17/02/14 11:58:52.16 CQeCieXf0.net
何か、Programに静的メンバーでその再生クラスを入れればいいんじゃね
とエスパー?
605:デフォルトの名無しさん (ワッチョイ 3223-ENO3)
17/02/14 12:12:01.84 zkaGzzQt0.net
>>592
要するにコントロールのスレッドセーフな呼び出しでしょ?外部からInvokeするより、やはりTaskを返すべきじゃないかなぁ
TaskCompletionSourceで実体のない任意に状態を設定できるTaskも作れる、あとはForm側でawaitするなり
TaskScheduler.FromCurrentSynchronizationContext()を与えてContinueWithしておくなり…
606:デフォルトの名無しさん (アウアウウー Sab3-cZcy)
17/02/14 12:13:11.38 PdY4D7f4a.net
>>592
真面目な話、何が聞きたいのかちゃんと他人に理解できるように書かないと
誰も回答しようがないよ。
悪いけど何がしたくて何を質問してるのかさっぱりわからない
607:デフォルトの名無しさん (ワッチョイ 1258-3CwI)
17/02/14 12:18:48.12 8kq18t1J0.net
>>593-595
わけわからない質問してごめん
色々ゴチャゴチャになってて考えとかが纏まってない気がしてきた
ちょっと休憩とかして、頭をクリアにしてから書いて貰ったことを調べてみる
608:デフォルトの名無しさん (ワッチョイ 2790-jWyY)
17/02/14 12:37:48.40 Nim8Pln30.net
>>588
すいません、関係する組み合わせとはなんですか?
609:デフォルトの名無しさん (ワッチョイ df6d-DR2M)
17/02/14 12:55:23.20 XyImroZT0.net
初心者は大人しくバックトラックで解いた方がいいんでないの
610:デフォルトの名無しさん (ワッチョイ df6d-DR2M)
17/02/14 12:58:55.86 XyImroZT0.net
何らかの事情で劇的な速度が欲しいならSATソルバー使う方が速い
611:デフォルトの名無しさん (ワッチョイ 93bb-cGUq)
17/02/14 13:09:33.16 dpHbb6/Q0.net
>>597
9*(決まってない空白数)だけパターン数があると考えてすべて整合性チェックすればいいんだよ。
あとは自由に最適化しろ。
612:デフォルトの名無しさん (ワッチョイ 635b-t8AD)
17/02/14 17:38:40.59 BsjgcFem0.net
複数選択可のListBoxのSelectedIndexChangedイベントにおいて、
今まさに選択されたアイテムのindex (VBのListBox.ListIndexのような感じです)を得るにはどうすれば良いですか。
613:デフォルトの名無しさん (ラクッペ MMc7-iIq0)
17/02/14 18:37:27.66 e3yTVnI+M.net
formアプリとただのASP.NETと
VBはもうサポートしなくて良いよね
分散しまくってるから
リソース集中して欲しい
614:デフォルトの名無しさん (アウアウウー Sab3-cZcy)
17/02/14 18:42:24.50 PdY4D7f4a.net
>>601
そのイベントって選択解除や選択されている項目を削除した時も発生するし、
ListBoxってShiftキー押しながらクリックで複数項目を選択したり解除したりできた気が
615:デフォルトの名無しさん (ワッチョイ 635b-t8AD)
17/02/14 20:04:39.55 BsjgcFem0.net
>>603
言い忘れていましたが、C# 2.0の話です。
ListBoxのプロパティSelectionModeをMultiSimple等にすると、複数選択できるようになります。
何をやりたいかというと、1つのListBoxで項目を6個以上選択できない(5個までなら選択できる)ようにしたいのです。
616:デフォルトの名無しさん (ワッチョイ 7642-LB0c)
17/02/14 20:29:01.97 8xZyzg4v0.net
>>587
C#ってかアルゴリズムだと思うけど9×9の数独なら力技でもそんな時間かからんぞ
空きマスに1置けるか?置けないなら2置けるか?
ってチェックしていって置ける数字がでたら次の空きマスに移動
移動した先で置ける数字がなくなったら1個戻って数字を変える
みたいな処理を再起で組めばいける
この手法だと回答が複数ある時、あるいはパズルとして成立しない時(途中で手詰まりになる時)でも無理やり回答を出してしまうっていう問題があるけど
617:デフォルトの名無しさん (ワッチョイ 2790-jWyY)
17/02/14 22:01:03.75 Nim8Pln30.net
>>605
空きマスに1置けるか?置けないなら2置けるか…ってやっていくのはわかるんですが
自分がやっている縦横同ブロック検索しておける数字が一つに絞り込めた場合、代入するようにしてるんですがこれ違うんですか?
618:デフォルトの名無しさん (ブーイモ MM4b-ZWt2)
17/02/14 22:09:41.60 mO6RmRZWM.net
>>606
数独を解いたことあれば、それだけではクリア出来ないのは良くあることなんだけど……
619:デフォルトの名無しさん (ワッチョイ 7642-LB0c)
17/02/14 22:11:49.93 8xZyzg4v0.net
>>606
一つに絞り込めなくても現時点で置けるならとりあえず置いて次に行くの
順次進めて行ってどこかのマスで何の数字も置けないようになってしまったら今まで置いてきた数字に何処かに誤りがあったってことだから戻って別候補にするって感じ
マスに入る数字を一つに絞り込んで進めていくやり方は数独のテクニックを理解してそれをプログラミングしていく必要がある
上級問題は当然そのテクニックも難解になるから上下左右ブロックを見るだけ程度のテクニックだけでは解ききれない
問題制作側で回答チェック等まで踏まえたツールなんかを作成するなら当然このあたりまで考慮して製作する必要があるけど
ひとまず回答だけ求めるなら前半に書いた手法で十分だよ
620:デフォルトの名無しさん (ブーイモ MM4b-ZWt2)
17/02/14 22:19:23.18 mO6RmRZWM.net
あれ?そもそも最上段の左から2番目埋まってないな。
やろうとしてるロジックも未完成なんじゃね?
621:デフォルトの名無しさん (ワッチョイ 7230-VyiL)
17/02/14 22:25:20.31 5IUCJa7e0.net
もう諦めてsquatでもしてこいよ
622:デフォルトの名無しさん (ワッチョイ 2790-jWyY)
17/02/14 22:40:12.49 Nim8Pln30.net
>>608
再起がすごい苦手なんですが・・・どこまで潜っていくのかわからないですし
どう抜ければどう書けばいいのかもわかりません
623:デフォルトの名無しさん (アウアウウー Sab3-cZcy)
17/02/14 22:45:26.95 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)
17/02/14 23:13:26.80 8xZyzg4v0.net
>>611
別に実装は再起じゃなくても問題ないよ
アルゴリズムが理解できれば普通にループと分岐だけで組める
625:デフォルトの名無しさん (ワッチョイ 7bdc-3OfB)
17/02/14 23:35:48.88 +J5Ev49B0.net
>>611
こういう問題は手続きじゃなくてトップダウンで関数型的に考えると機械的に解ける
解 = 数独を解く(初期状態, []).FirstOrDefault();
数独を解く = (状態, 探索済) => 解けている(状態) ? [状態] : 次の候補(状態, 探索済).SelectMany(候補 => 数独を解く(候補, 探索済 + 状態)).First();
次の候補 = (状態, 探索済) => 数字を適当に1つ置いてみるときの全ての置き方(状態).Where(状態 => 矛盾してない(状態) && 探索済.含まない(状態));
数字を適当に1つ置いてみるときの全ての置き方 = 状態 => …
こんな感じで大雑把なところから細部を詰めていくの
具体的な動作をイメージしづらいかもしれないけど、結局やってることは ID: 8xZyzg4v0 と同じ
626:デフォルトの名無しさん (ワントンキン MM62-S0So)
17/02/14 23:40:20.02 UB3JXf9tM.net
数独はSQLで解くのがトレンド
627:デフォルトの名無しさん (ワッチョイ 323c-zlRv)
17/02/14 23:46:21.93 3qnQ1Gfx0.net
>>606
ここら辺を参考にしてみるとか
URLリンク(www.slideshare.net)
628:デフォルトの名無しさん (ワッチョイ 93bb-cGUq)
17/02/15 06:53:14.94 apHpeiac0.net
自分の頭で解けない奴には、その解法を仕様化できるわけがない。
629:デフォルトの名無しさん (スフッ Sd52-AyEu)
17/02/15 08:38:52.62 4NekN3gFd.net
9(縦)x9(横)x9(ありえる数字)のboolの配列持って、
まず既知のセルの8個の数字を消しこんで、
その次に、全セルを順番に縦、横、3x3のブロックでそれぞれ、あり得ない数字(≒縦、横、ブロック内の、ひとつだけになっているセル)を消しこんでいって、一周しても何も消せなくなるまで回って、
その後、ありえる数字の組み合わせの総当りにした方が多分良い。
ありえる数字の組み合わせを考えるから辛い。
あり得ない数字は別のセルから導出できるんだし。
630:デフォルトの名無しさん (ワッチョイ 7642-LB0c)
17/02/15 08:55:15.39 yJTbA8M80.net
>>618
処理が前後半の2段階になってるけど質問者は前半だけじゃ解けない問題に直面して困ってる&後半だけで解ける
って状態なんだからひとまず前半は要らない
後半作って上手く行ったなら処理速度向上とか考慮して前半みたいな処理を追加すればいい
631:600 (ワッチョイ 635b-t8AD)
17/02/15 09:42:28.85 J55wC/o80.net
>>612
うまくいきました。やはり選択されたアイテムを覚えさせておく方法が良いようですね。
どうもありがとうございました。
632:デフォルトの名無しさん (ワッチョイ df07-VyiL)
17/02/15 12:45:30.38 uvXQ5Mwv0.net
数独ソルバー程度で悩む奴もいるんだなあ
俺は厨房のころ作ったけど
633:デフォルトの名無しさん (スフッ Sd52-AyEu)
17/02/15 13:17:31.37 4NekN3gFd.net
>>619
うーん、総当りって現実的な時間には終わらんと思うが。
634:デフォルトの名無しさん (ワッチョイ df6a-VyiL)
17/02/15 13:59:57.66 1Sp8YgZp0.net
いまPythonで書いてみたけど5年前のMacMiniでも数秒で終わる
635:デフォルトの名無しさん (ワッチョイ df6a-VyiL)
17/02/15 14:06:17.53 1Sp8YgZp0.net
ideoneでも余裕で動いた
URLリンク(ideone.com)
636:デフォルトの名無しさん (ワッチョイ 7642-LB0c)
17/02/15 14:39:28.56 yJTbA8M80.net
>>622
作ったことないんでしょ
9✕9なんて一瞬、処理途中を描画しながらで数秒レベル
組み合わせは最大81の9乗あるから仮数字を全部入れてチェックなんて手法取ったらそら終わらん。
順番に仮置きして矛盾が発生した場合戻るってすれば、いわゆる枝切りみたいなのがどんどん発生するからすぐ終わる
計算量は知らん
637:デフォルトの名無しさん (スフッ Sd52-AyEu)
17/02/15 16:40:03.68 4NekN3gFd.net
>>625
矛盾があれば手戻り、と、矛盾を刈り込むのとはあんまり変わらん気がするけど。
そりゃどちらでも描画してるうちに終わるだろうけど、
どちらでもない方を言ってるんだよ、その愚直に置く方。
638:デフォルトの名無しさん (ワッチョイ 7642-LB0c)
17/02/15 16:53:27.86 yJTbA8M80.net
>>626
矛盾があれば手戻りは計算量が多くなるから基本コンピュータじゃないと現実的じゃない
その代わりどんな問題も解ける(以前書いたような例外はある)
計算量が多いって言ってもコンピュータからすれば大したことは無い
矛盾を刈り取りは一般的に人が解く際の行動をプログラミングしたものなので解法(テクニック的なもの)を実装することができればどんな問題でも解ける
その代わり数独であってもテクニックは難解な物がある
で刈り取りした後に手戻りすればいいじゃん、って言うけど手戻りだけで事足りるのになんでいきなり両方実装すんの?って話
ぶっちゃけ初めは現実時間で終わらんような愚直な実装でもいいと思う
そこからチューニングするとか何かアルゴリズム考えるとかすれば学べるんだから
639:デフォルトの名無しさん (スフッ Sd52-AyEu)
17/02/15 17:59:08.57 4NekN3gFd.net
>>627
それだと、矛盾が無いだけの解がただの計算順で一意に決まってしまうじゃん。
根本的な解決ではないと思うが。
640:デフォルトの名無しさん (ワッチョイ 7642-LB0c)
17/02/15 19:40:01.33 yJTbA8M80.net
>>628
だからその問題点は一番初めに言ってるじゃん
話ずらしまくるのやめよ?
641:デフォルトの名無しさん (ワッチョイ df6d-VyiL)
17/02/15 19:43:20.79 W/gL5Tp30.net
>>628
だから何だ質問者がいつその条件を求めたんだよ
コード書いたこともねえ雑魚は引っ込んでろ
642:デフォルトの名無しさん (スププ Sd52-YCZx)
17/02/15 20:47:50.66 kYO6iRfyd.net
投稿者は、この解を得るアルゴリズムを作成するというロマンがあるんだよ。
643:デフォルトの名無しさん (ブーイモ MM52-CvLw)
17/02/15 20:51:44.83 GPHsk9GRM.net
>>628
仮定法でも全ての解は得られるよ?
>>614のアルゴリズムでFirstを外せばできるはず
644:デフォルトの名無しさん (ワッチョイ 173c-CIv3)
17/02/15 21:22:49.38 ZsrpE5Vs0.net
APIからwebsocketをつかってJSONを取得したいのですがネットを色々見てもさっぱりわかりません。
具体的には
URLリンク(corp.zaif.jp)
のストリーミングAPIのbtc_jpyです。
ヒントや参考になるサイトでも構いません。よろしくお願いします。
645:デフォルトの名無しさん (ワッチョイ e223-CIv3)
17/02/15 22:38:19.69 DiO+GUbF0.net
>組み合わせは最大81の9乗あるから
本質的にはどうでも良い話だが、「同じ行、列には同じ数字は使えない」と言うルールを無視しすぎていて気になっちまう
「ものすごく多い」ってことが表現できているから何も問題ないんだけどな
646:デフォルトの名無しさん (ブーイモ MM52-CvLw)
17/02/15 22:42:17.14 9FXA/5kCM.net
>>633
クライアントライブラリあるじゃん
C#用はないみたいだけどC#わかるんならJavaなら楽勝だろ
647:デフォルトの名無しさん (ワッチョイ eb77-6bgE)
17/02/16 00:10:21.41 QO0gpLt00.net
>>633
codeprojectにjsonビューアのソースがあったような
648:デフォルトの名無しさん (ワッチョイ 3b3c-P9CU)
17/02/16 00:40:31.38 /E7gOtLl0.net
>>635
申し訳ないです。Javaのを見てもわかりませんでした。
>>636
jsonの処理は何とか出来るのですがwebsoketでの取得がわからないんです
649:デフォルトの名無しさん (ワッチョイ 5f30-O7jY)
17/02/16 05:22:57.59 1M26REHO0.net
そんなに分かりにくいところあるか…?
URLリンク(ideone.com)
JSONの切れ目は自分で探して
金儲けのためならその程度の維持は出して見せろ
その程度の才能もないなら発注サイトに行って金払って作ってもらえ
650:デフォルトの名無しさん (スププ Sd7f-6skL)
17/02/16 07:32:00.22 /4MLopCid.net
偉そうに
651:デフォルトの名無しさん (ワッチョイ 3b3c-P9CU)
17/02/16 10:57:00.19 /E7gOtLl0.net
>>638
これは参考になりそうです。ありがとうございます。
652:デフォルトの名無しさん (オッペケ Sr9f-PPpI)
17/02/16 12:50:57.39 Fl7cxYnSr.net
WebBrowserって今後もずっとIEなのかね?
Edgeにはならないんだ?
653:デフォルトの名無しさん (ブーイモ MM7f-FKuk)
17/02/16 15:05:24.57 SJI/N2PkM.net
絶対にない
WinFormsが業務向けのプラットフォームであること、既に開発が終了していることを忘れてはいけない
654:デフォルトの名無しさん (ワッチョイ 8bbb-eq+O)
17/02/16 15:33:56.56 QchVkuhj0.net
結局、Winform最強か。
655:デフォルトの名無しさん (アウアウオー Sa7f-xIS6)
17/02/16 16:23:17.22 /R92/z+7a.net
WebBrowserコントロールはIWebBrowserのだからIEのままでしょ
EditコントロールがEditで、リッチエディットコントロールになってないのと似たようなもん
WindowsUI.Xaml.WebViewかそんなとこでEdgeコントロールとしてはもう既に実装されてるんじゃないのかな
656:デフォルトの名無しさん (オッペケ Sr9f-PPpI)
17/02/16 17:18:26.44 Fl7cxYnSr.net
そうなのかあ
しかし困る人多いよね
657:デフォルトの名無しさん (アウアウウー Sa1f-Tc/C)
17/02/16 18:03:45.
658:02 ID:nVGauASoa.net
659:デフォルトの名無しさん (ワッチョイ 4bd6-eq+O)
17/02/16 18:53:57.26 yaBP1ZBT0.net
レジストリいじればEdge相当になったはず
660:デフォルトの名無しさん (ワッチョイ 0f9d-eq+O)
17/02/16 19:19:37.31 cjCClO980.net
WinFormsの開発再開すればいいのにね
661:デフォルトの名無しさん (オッペケ Sr9f-PPpI)
17/02/16 19:33:08.37 Fl7cxYnSr.net
>>647
そうなのかー
しかしユーザーがEdge持ってるとは限らないから面倒だね
662:610 (ワッチョイ 9b90-XdR7)
17/02/17 23:35:39.67 8hvoyQw40.net
レス遅くなってしまってすいません
>>618の後半なんですが、
1,候補の中の確定できない数字をとりあえず入れてみる
2.次のマスに移動、数値が入れられなかったら1に戻る
この繰り返しですよね?もしこれを複数回繰り返して戻らない場合2回以上前に入れた数値まで戻らないといけない場合ってありますか?
663:デフォルトの名無しさん (ワッチョイ 0f42-1n7Z)
17/02/18 02:25:11.55 f0aH9wlg0.net
>>650
2の手順は1に戻るじゃなくて1つ前に数字を入れたマスに戻るだね
1個前に入れたマスに戻って別の数字を探しても見つからなければ更に1個前に戻る
これを繰り返す
当然戻りまくって最初のマスに戻ることもある最初に入れた仮数字が間違ってたってことだから
要は全数字を入れるパターンを検索して矛盾が出ないパターンを求めてる
ただし途中で矛盾が出たら以降はそのパターンに紐づく内容は無視することで大幅に検索回数を削減できて結果的にコンピュータレベルの計算速度を用いればそれなりの速度で検索可能って寸法
理解が難しければ空きマスが超少ない問題で手を使って動きを確かめてみると良いかも
別にこの問題に限った話ではないけど大抵のプログラムは原理を理解できないと実装できないからね
664:610 (ワッチョイ 9b90-XdR7)
17/02/18 03:12:52.58 zyhHTWXk0.net
>>651
原理はわかってはいるつもりなんですが、どう書けばいいのかわかりません
1、4、7と入れてきて7の次に入れるものがない場合、4を変更しないといけないわけですがこれをどうやって渡すか
またもう一つ戻らないといけない場合、自分の理解の範疇を超えオーバーフローしてしまいます
他人のソースを読んでも頭に入ってきません
665:デフォルトの名無しさん (ワッチョイ 0f42-1n7Z)
17/02/18 04:35:14.78 f0aH9wlg0.net
>>652
あらま、その段階か
例えば仮数字を入れて次に進む時、今仮数字を入れた場所を記憶しておく配列を用意しておくとかどうだろう
進むたびに配列に仮数字を入れた場所が順次追加されていく感じ
戻る時は後ろから順に見ていけばいい
戻ってまた進む時は用意した配列を再度進むところから上書きする感じ
「5」番目のマスに1を入れた
「8」番目のマスに4を入れた
「10」番目のマスに入れられる数字がない
「8」番目に戻る
8番目には4が入ってるけどダメらしいので5以降で置ける数字無いか確認
それでも無ければ「5」番目に戻る
用意する配列には「5 8 10」って入ってるってことね
この配列のどこを今操作しているか?を指し示す変数もあったほうが分かりやすいかもね
○番目って言うのは左上のマスを1、右下のマスを81と仮定しての話ね
XYで管理してるならこの配列を2次元にしても良い
そんな効率良い方法じゃないけど直感的には理解はしやすいかと思うけどどうだろう
他に何か分かりやすい案があるかもしれん
666:610 (ワッチョイ 6b90-XdR7)
17/02/18 06:29:59.40 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)
17/02/18 08:10:24.40 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)
17/02/18 09:33:35.33 f0aH9wlg0.net
プログラム初心者だと思ってたら突然linqでてきてワロタ
俺には>>653の説明でなんで>>654に行けたか不思議だよ
linqは奥が深いけど面白いね
669:デフォルトの名無しさん (ワッチョイ 9b7b-g7u9)
17/02/18 12:02:11.53 H3MLhpM30.net
OpenFileDialog.ShowDialogを使用するとフリーズします。
昔からある障害のようなんですが、
>cymon.sysというファイルの排他制御関連の処理に不具合があるのが原因
らしいのですが、該当ファイルはありません。
他のアプリの排他制御関連のバグなんて特定出来る気がしません。
どうすれば正常に動かせますか?
670:デフォルトの名無しさん (スププ Sd7f-6bgE)
17/02/18 12:12:10.55 F1GmP7Hpd.net
>>657
もうちょい詳しく。
再現するOSや、不具合が再現するソースとかないん?
671:デフォルトの名無しさん (ワッチョイ 0f7b-TuOZ)
17/02/18 12:18:44.45 AobYyoSr0.net
ニコリの数独・カックロを、力任せに解く方法か?
バックトラック法だろ
「バックトラック法 数独」で検索!
672:デフォルトの名無しさん (ワッチョイ 0f9d-eq+O)
17/02/18 12:19:58.05 7QDYBSyf0.net
>>657
URLリンク(www.cyphertec.co.jp)
これのことだとしたら、修正プログラム入れるしかないのでは?
cymon.sysが本当に存在しないならもっと情報が必要だね
673:デフォルトの名無しさん (JP 0H1f-vlft)
17/02/18 12:43:04.59 1c96nb+dH.net
特定のソフト入れた時にそのソフトのバグで干渉するってだけやん
入れてないなら関係ないし入れてるなら
メーカーの修正あてるかアンインストールするかの2択やろ
674:デフォルトの名無しさん (ワッチョイ fb0d-NHlF)
17/02/18 14:47:28.87 lgYaiLIy0.net
CookieContainerの中身をWPFのDataGridで表示したいのですがどうすればいいですか?
675:デフォルトの名無しさん (ワッチョイ df4c-6bgE)
17/02/18 15:01:37.60 oF9zQOK10.net
そこでデーターバインディングでづよ
676:デフォルトの名無しさん (ワッチョイ df4c-6bgE)
17/02/18 15:25:02.48 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)
17/02/18 15:25:23.75 oF9zQOK10.net
あとは自分で
678:デフォルトの名無しさん (ワッチョイ fb0d-NHlF)
17/02/18 19:51:02.62 lgYaiLIy0.net
CookieContainerをBindingさせるのは無理なんですね
そうなるとCookieContainerからCookieCollectionを取り出す必要が出てきますが
どうすれば関連付けされているUriを使わずにCookieCollectionを取り出せますか?(forやforeachを使いたい)
679:デフォルトの名無しさん (ワッチョイ 0f7b-eq+O)
17/02/19 01:31:58.50 bXEy6Thf0.net
他のツールなんかで動画とか音楽ををダウンロードしながらそれを開いて
先頭から順に読み込むツールを作ろうと思ってるんだけど
System.IO.FileStream fs = new System.IO.FileStream(@"C:\test.mp3",System.IO.FileMode.Open)
例えばこんな感じでmp3を開くとした場合って開いた瞬間のデータ量しか取得できないですよね?
増えていってるデータを順に取得していくいい方法って無いですかね?
680:デフォルトの名無しさん (アウアウウー Sa1f-Tc/C)
17/02/19 02:03:05.71 6CKE/L0Oa.net
>>667
タイマーでも使ってポーリングするだけじゃないの?
681:デフォルトの名無しさん (ワッチョイ 8bbb-eq+O)
17/02/19 05:52:50.50 mRSsjBQo0.net
日本ではダウロンードは違法。
682:デフォルトの名無しさん (ワッチョイ 6f20-eq+O)
17/02/19 10:21:49.03 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("URLリンク(api.voicetext.jp) 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();
}