ふらっと C#,C♯,C#(初心者用) Part158at TECH
ふらっと C#,C♯,C#(初心者用) Part158 - 暇つぶし2ch382:デフォルトの名無しさん (ワッチョイ ffbb-zzYQ)
23/05/03 13:51:12.96 RLCA5WWQ0.net
ちょっとまって!

> 外部にセキュリティテスト依頼したり社内の品管のテストとシステム監査が入る

こんなプロジェクトで「動けばいい」ってスタンスで仕事してんのか?
マジか

383:デフォルトの名無しさん (ワッチョイ 777c-KiN+)
23/05/03 13:51:42.78 iydNsBEo0.net
>>377
俺が言った訳じゃ無いけどなw

まあ俺は単体テストはアリだと思うぞ
単体テストの結果でもって要は作業完了証明やろ
逆に言えば以降は俺の責任じゃ無いと言えるし仕様変更は別に金取れる

384:デフォルトの名無しさん (ワッチョイ 777c-KiN+)
23/05/03 13:53:02.57 iydNsBEo0.net
>>378
そうだぞ

だって製品の検査で調べるのはその動くかどうかじゃん
中のコードがどうとか技術がどうとか関係無いやん

385:デフォルトの名無しさん (ワッチョイ ffbb-zzYQ)
23/05/03 13:55:01.32 RLCA5WWQ0.net
すごいな。そのプロジェクト
俺の知ってる世界だと、そんなコード見せられたらレビュアーが怒り狂うわ

386:デフォルトの名無しさん (ワッチョイ 777c-KiN+)
23/05/03 13:57:38.37 iydNsBEo0.net
>>381
多分お前が普段使ってる様なアプリもそんなもん

その神経質で無能なレビューアーが関係してるお前のシステムって世界でどんだけ売れてんのって話

387:デフォルトの名無しさん (ワッチョイ 1707-rvTa)
23/05/03 13:59:04.86 7KJ/CzIt0.net
動けばいいとしつこく言ってるやつはただの無職だよ
無職の妄想の中ではそうなんだろうさ
現実には動くのは当然で最低限でしかないんだけどね

388:デフォルトの名無しさん (ワッチョイ 777c-KiN+)
23/05/03 14:03:35.88 iydNsBEo0.net
>>383
そうは言ってるけどじゃあそれ以上に何が必要か言えてないやん

ちなみに話の流れは
>>330
>>333
みたいなコードの内容から来てるんやで
こういうコードが糞だろうが動けば良いって話だから脱線するなよ
お前等っていつも前提間違ってるからなw

389:デフォルトの名無しさん (ワッチョイ bfbc-o+T5)
23/05/03 14:06:31.39 5+L69Iha0.net
まああんまり完璧なコードを書くと、その後の仕事がなくなるからな。

390:デフォルトの名無しさん (ワッチョイ ffbb-zzYQ)
23/05/03 14:09:44.71 RLCA5WWQ0.net
> 777c-KiN+
ついでに聞くけど、お前の中でシステム監査ってどんなもんなの?

391:デフォルトの名無しさん (ワッチョイ 777c-KiN+)
23/05/03 14:15:23.93 iydNsBEo0.net
>>386
すまん無能の質問の意味が分からん

システム監査って経済産業省とかIPAに定義あるよね
普通はそれに準拠したものが一般的だと思うんだ
つまり共通認識じゃないの?

無能の頭の中って俺俺監査があるん?

392:デフォルトの名無しさん (ワッチョイ ffbb-zzYQ)
23/05/03 14:19:36.70 RLCA5WWQ0.net
> だって製品の検査で調べるのはその動くかどうかじゃん

こんなこと言ってるし、また俺の


393:シラン世界があるのかと



394:デフォルトの名無しさん (ワッチョイ 777c-KiN+)
23/05/03 14:26:32.08 iydNsBEo0.net
>>388
アホw

まさか動くかどうかが機能要件や非機能要件 セキュリティ要件満たしてないと思ってる?
それこそ最低限満たした上で動く事だよね

その上で中のコードが>>384で言った様な糞コードかどうか関係無いよねって話だ

ほら言った様に話の流れが分かって無い
理解してない
前提を間違ってる

無能だな

395:デフォルトの名無しさん (ワッチョイ 9f4b-gncP)
23/05/03 14:26:49.46 vL8FscsM0.net
GWだねぇ

396:デフォルトの名無しさん (ワッチョイ ffbb-zzYQ)
23/05/03 14:30:01.23 RLCA5WWQ0.net
>>389
> まさか動くかどうかが機能要件や非機能要件 セキュリティ要件満たしてないと思ってる?

システム監査ってそういうことじゃないぞ
お前の中のシステム監査ってどんなもんなん?

397:デフォルトの名無しさん (ワッチョイ 777c-KiN+)
23/05/03 14:37:49.92 iydNsBEo0.net
>>391
繰り返すアホ

398:デフォルトの名無しさん (スッップ Sdbf-oJ27)
23/05/03 14:42:38.57 s1pMNzuQd.net
>>391
お前が間違ってるんじゃ?
経済産業省のシステム監査基準だとセキュリティガイドライン等に準拠してるか云々って書いてあるしそういう事を監査するもんじゃないの?

399:デフォルトの名無しさん (ワッチョイ ffbb-zzYQ)
23/05/03 14:48:38.92 RLCA5WWQ0.net
俺の知ってる世界だと、システム監査ってのは雑に言うとシステムを体制として担保する方法ができてるかを確認するもの

で、「機能要件や非機能要件 セキュリティ要件」に関連した箇所でいうと、それらの要件が正しく永続的に保証できる証跡が残せるか?って観点で監査される

つまり、

> だって製品の検査で調べるのはその動くかどうかじゃん

ってことにはならんのよ
だから、コーダーが「動けばいい」ってスタンスで仕事してたら、レビュアーが体制としてブチ切れるんだわ

で、お前の中のシステム監査ってどんなもんなん?

400:デフォルトの名無しさん (ワッチョイ 9f2f-g9Ql)
23/05/03 15:09:07.11 fD0yPqm80.net
動けばいいってのは
なぜそう書かないほうが良いのか、ちゃんと理解して説明できないやつの言い訳
まあそう書くなって言ってる奴もちゃんと説明できてないんだがな

401:デフォルトの名無しさん (ワッチョイ ff10-By2c)
23/05/03 15:19:09.40 YldI9T9X0.net
>>390
GW終わって2ヵ月ちょい経つと今度は夏だねぇってなるんだよな

402:デフォルトの名無しさん (ワッチョイ 1f3d-VWCj)
23/05/03 15:26:23.95 49Yy066J0.net
ぼんやりとした質問ですが、

Form1にWebView2が合ったとして、Form2でお気に入りを作って、Form2からForm1の
WebView2にナビゲートしたいんです。

やってみたんですが、Form1にあるはずのWebViewがForm2から出てこないんです。

調べてみたらキャスト?とかいうのが必要らしくて、キャストはちんぷんかんぷんです。

コード書いておくので誰かお助けを~

後Form1のWebview2にアクセスしようとしたら保護がかかってしまいました。
ランタイムを噛ませたりとかよく分かりません。

こんな超初心者の俺ですが、助けてください。

private async Task InitializeAsync()
{
await webView21.EnsureCoreWebView2Async(null);
}
private async void Form1_Load(object sender, EventArgs e)
{
await InitializeAsync();

webView21.CoreWebView2.Navigate("URLリンク(web.biz-prog.net));
}

403:デフォルトの名無しさん (ワッチョイ 1f3d-VWCj)
23/05/03 15:26:47.58 49Yy066J0.net
private void button1_Click_1(object sender, EventArgs e)
{
Form2 f2 = new Form2(this); // 自フォームへの参照を渡す
f2.Show(); // サブ・フォームを表示
}

ここからForm2

public partial class Form2 : Form
{
Form1 f1;
private object webView21;

public Form2(Form1 f)
{
f1 = f;
InitializeComponent();


試して見たんですが、オートコンプリートに((Form1)).webview2が出てきません

404:デフォルトの名無しさん (ワッチョイ ff10-By2c)
23/05/03 16:36:13.15 YldI9T9X0.net
Form1に配置してるWebView2がprivateで宣言されてるからじゃないかね
VS使ってるならデザイナーで選択してプロパティウィンドウのModifiersを確認して
PrivateになってるならInternalかPublicにしたらいいよ

405:デフォルトの名無しさん (ササクッテロリ Sp8b-Hgfr)
23/05/03 16:48:57.57 rOyAnSv/p.net
プライベートのままアクセサ作れば良くね?

406:デフォルトの名無しさん (ワッチョイ bf42-fitb)
23/05/03 17:56:30.72 DnrzKFHb0.net
そもそも素人コーディングをやるやつがマトモなアプリ書けるとは思えん
アプリの作り方を勉強した人ならマシなコード書くからな

407:デフォルトの名無しさん (ワッチョイ 1f3d-VWCj)
23/05/03 19:51:19.18 49Yy066J0.net
>>399-401
解決しました。ありがとうございます。

408:デフォルトの名無しさん (ワッチョイ 777c-KiN+)
23/05/03 21:30:59.09 iydNsBEo0.net
>>394
あのさちゃんと読んだ?

お前は前提を勘違いしてるんだよ
動けば良いってそういう事じゃ無いんよ

409:デフォルトの名無しさん (ワッチョイ 777c-KiN+)
23/05/03 21:35:17.93 iydNsBEo0.net
>>394
もっと分かりやすい例を出そう

例えば同じ処理を100箇所コピペ出実装したとする
普通なら関数化してってやるわな

こんな100箇所コピペした糞コードでもシステム監査や他のテストでは一切問題にならない
動けば良いんだよ

410:デフォルトの名無しさん (ワッチョイ 1707-rvTa)
23/05/03 21:36:12.63 7KJ/CzIt0.net
アスペしつこいな

411:デフォルトの名無しさん (ワッチョイ 777c-KiN+)
23/05/03 21:40:43.87 iydNsBEo0.net
>>405
お前みたいな無能が多くて困ってる

412:デフォルトの名無しさん (ワッチョイ 777c-KiN+)
23/05/03 21:42:02.40 iydNsBEo0.net
もっというと例えばMV系フレームでこの処理はモデルに書くべきだとかどうとか
こういうのもどうでもいい

モデルで書くべきだろうが書くべきで無かろうが

動けば良いんだよ

413:デフォルトの名無しさん (ワッチョイ 777c-KiN+)
23/05/03 21:43:26.02 iydNsBEo0.net
オブジェクト指向もそう
クラス設計がどうだの継承がどうだのどうでもいい

動けば良いんだよ

414:デフォルトの名無しさん (ワッチョイ 777c-KiN+)
23/05/03 21:46:03.28 iydNsBEo0.net
このクラスでカプセル化されてないから云々
どうでも良い

動けば良いんだよ

415:デフォルトの名無しさん (ワッチョイ 3702-ITaW)
23/05/03 21:55:41.82 XU1+7Xhm0.net
触らぬキチに祟りなし

416:デフォルトの名無しさん (オッペケ Sr8b-0AmK)
23/05/03 22:10:57.21 7dxnHkZLr.net
まあ中小規模だと“動けばいい”でやってるのも事実だからなぁ
エクセルにチェックつけてペタペタしてソースは見ないなんてのもザラ
なんならちょっとしたものなら本人が動いてる!で終わりとかね

417:デフォルトの名無しさん (ワッチョイ 7f79-YtWG)
23/05/03 22:36:48.59 0fnUMlbu0.net
>>411
動けばいいよりちょっと良くなると
何が良くなるの?
資料も書かないくせに余計な拡張要素入れたがるやつってぶっ殺したくなるんだけど?
お前もその類?

418:デフォルトの名無しさん (スップ Sdbf-orLb)
23/05/04 01:49:28.43 s0gu/juAd.net
可読性がよくなる
バグが入り辛くなる
後釜がコード読んで罵倒せずにすむ
自分がクソコードに遭遇する可能性が減る

419:デフォルトの名無しさん (アウアウアー Sa4f-ef8y)
23/05/04 03:35:15.40 FCXcO5KQa.net
資料を書く・書かないとコードを改善する・しないは別問題なのになんかキレ散らかしてるの怖・・・

420:デフォルトの名無しさん (ワッチョイ ff10-By2c)
23/05/04 06:46:14.26 gb1C7wFP0.net
なんぞ嫌なことでもあったんだろうw

421:デフォルトの名無しさん (アウアウウー Sa1b-rvTa)
23/05/04 07:31:56.06 iNiPzsH8a.net
糞コード納品してリテイク食らって動けばいいといくら主張しても却下されてここで八つ当たりしてんじゃね

422:デフォルトの名無しさん (ブーイモ MMbf-SYdp)
23/05/04 08:16:56.65 2P3iGn2SM.net
寿命の短いゲームの開発とかには動けばいいだろのメンタリティでコード書いてるやつが多い結構いる
実際クソコードだからバグ修正のアプデでまたバグるのも日常茶飯事

423:デフォルトの名無しさん
23/05/04 10:57:14.77 KzOav63c0.net
オマエらって普段からそんな立派なコード書いてるの?
皮肉でも何でもなく、大手さんの寄越したコードでもネットのサンプルをそのままコピペとか普通にあったんだけど。
アマゾンの AWS 用のサンプルコードとかでも整理なにそれなコードも普通にあるし。
ああいうレベルのものでも水準を満たしていたりするんだろうか。
まあ自分も普段は納品する側の中小だけど。

424:デフォルトの名無しさん
23/05/04 11:02:54.68 vtPK3lgJ0.net
>>1読め

425:デフォルトの名無しさん
23/05/04 12:11:12.80 7U0ATqEaM.net
>>413
ドキュメントでも書いてよ

426:デフォルトの名無しさん
23/05/04 13:12:46.06 nZfQ3MKS0.net
>>418
PSNの個人情報流出思い出した
dobon(だったはず)丸パクリの暗号化だった。"saltは8バイト以上"っていう文字列で復号化できた
オレが作った社内システムも同じことしてた。
社内システムだからセキュリティは気にしてないが。

427:デフォルトの名無しさん
23/05/04 13:16:44.41 mx5edemad.net
>>420
クソコードをドキュメントに起こすときのモチベーション低下もあるな
規則性がないからな
あの頃の俺はなんでこんな変な処理を……

428:デフォルトの名無しさん
23/05/04 15:58:14.71 /htkaizY0.net
>>422
言い訳はいいから書いて

429:デフォルトの名無しさん
23/05/04 16:21:40.44 FCTf23V0d.net
?意味わからん
まさか今から書いて上げろって言ってる?

430:デフォルトの名無しさん (ワッチョイ 9354-ouLR)
23/05/06 20:43:47.65 8uPWyiyX0.net
非同期ファイルコピーのサンプルを探していたら、FileStream を使う方法と File.Copy を使う方法があるようなのですが、どっちがいいのでしょうか?
それぞれのメリット・デメリットが知りたいです。

//方法 1 (FileStream)
private static async Task CopyFileAsync(string sourceFilePath, string destinationFilePath)
{
 using (var sourceStream = new FileStream(sourceFilePath, FileMode.Open, FileAccess.Read, FileShare.Read, bufferSize: 4096, true))
 using (var destinationStream = new FileStream(destinationFilePath, FileMode.CreateNew, FileAccess.Write, FileShare.None, bufferSize: 4096, true))
 {
  await sourceStream.CopyToAsync(destinationStream);
 }
}
//方法 2 (File.Copy)
private static async Task<bool> CopyFileAsync(string srcFileName, string destFileName)
{
 await Task.Run(() => File.Copy(srcFileName, destFileName));
 return true;
}

431:デフォルトの名無しさん (ワッチョイ cb10-W4Ad)
23/05/06 22:50:57.94 v1IlMQax0.net
とりあえず機能させたいならFileCopyで十分
中断とか進捗状況確認とか融通が利くのがFileStream

432:デフォルトの名無しさん (ワッチョイ c2bd-O5MS)
23/05/06 23:28:08.83 TzwbEMRu0.net
File.Copyだと同期処理がスレッドを専有しそう。
FileStream.CopyToAsyncだとそうならないように実装されているのかな?

433:425 (ワッチョイ 9354-ouLR)
23/05/07 00:12:10.49 /tWxMywy0.net
>>426-427
ありがとうございます。
FileStream を使うことにしました。

434:デフォルトの名無しさん (ワッチョイ 9354-ouLR)
23/05/07 00:41:03.38 /tWxMywy0.net
>>425 の方法でファイルコピー後、コピー先ファイルのタイムスタンプを変更しようとしたら、例外が発生します。
頻度は10回に1回あるかないか程度です。
何が原因でしょうか?

static async Task Main(string[] args)
{
await CopyFileAsync("コピー元ファイル名.txt","コピー先ファイル名.txt");
}

static async Task CopyFileAsync(string srcFileName, string destFileName)
{
using (var srcStream = new FileStream(srcFileName, FileMode.Open, FileAccess.Read, FileShare.Read, bufferSize: 4096, true))
using (var destStream = new FileStream(destFileName, FileMode.Create, FileAccess.Write, FileShare.None, bufferSize: 4096, true))
{
await srcStream.CopyToAsync(destStream);
//試しにFlush・Close・Dispose 入れてみたけどダメでした。
srcStream.Flush();
destStream.Close();
srcStream.Close();
destStream.Dispose();
srcStream.Dispose();
}
var lastWriteTime = File.GetLastWriteTime(srcFileName);
File.SetLastWriteTime(destFileName, lastWriteTime); //ここで、: '別のプロセスで使用されているため、プロセスはファイル 'コピー先ファイル名.txt' にアクセスできません。'

435:425 (ワッチョイ 9354-ouLR)
23/05/07 00:57:48.70 /tWxMywy0.net
方法 2 (File.Copy) の方法でも発生しました。
まったく原因の見当がつきません・・・

436:デフォルトの名無しさん (ワッチョイ 5eda-xrk/)
23/05/07 00:58:07.18 AUxqabWy0.net
ef coreでDBからレコードを大量に取得する場合、
(A)
foreach( var row in await query.ToListAsync() )
で取得する場合と
(B)
foreach( var row in query )
で取得する場合、どちらがアプリサーバで消費するメモリが多いでしょうか?
queryはIQueryable<T>型です。
DBサーバとアプリサーバは分かれています

(A)だとDBサーバから結果が全部返るまで待ってからループ開始、
(B)ならストリーミングで読み出せたところからループ処理
って勝手に想像してたんですが、ef coreで使用するDBMSのミドルウェアに依存でしょうか

具体的にはDBMSはpostgresqlです。
このあたりのドキュメントあったらURL教えてください

437:デフォルトの名無しさん (ラクッペペ MMde-yLVR)
23/05/07 01:21:55.84 m4wk6w14M.net
onedriveとかgoogledriveとかdefenderとかnortonとか

438:425 (ワッチョイ 9354-ouLR)
23/05/07 01:29:00.89 /tWxMywy0.net
とりあえず原因不明なので、最大10回を上限に、例外発生したらリトライするようにしました・・・

int j = 0;
bool b = false;

while (!b || j < 10)
{
 try
 {
  //コピー処理
  b = true;
 }
 catch
 {
  continue;
 }
 j++;
}

439:デフォルトの名無しさん (ワッチョイ 9354-ouLR)
23/05/07 01:37:17.63 /tWxMywy0.net
>>432
Windows Defender 無効にしたら例外が発生しなくなりました!
天才さんありがとうございます!(>▽<)

440:デフォルトの名無しさん (オッペケ Src7-KeI6)
23/05/07 08:06:15.51 ZcKb5BN5r.net
>>431
DB絡んでないけど一般論としては
URLリンク(atmarkit.itmedia.co.jp)
もっともODBCドライバとかDBプロパイダの作りがザルだとクエリ実行結果を一気に全件取り出して
アプリサーバ上のメモリ上に保持してる可能性もゼロではないけど、postgresならそんなことはないだろう

実体化したくないけど非同期でレコードを取り出したいってことなら
await foreach( var row in query.AsAsyncEnumerable() )

441:デフォルトの名無しさん (ワッチョイ 5eda-xrk/)
23/05/07 11:06:44.59 AUxqabWy0.net
>>435
ありがとうございます。
ToList()やToListAsync()はすべての結果が利用可能になるまで何も返されない、つまり
大量レコード処理には向かない

(B)の場合でもAsNoTracking()をつけて変更検知をOFFにしないと
Linq to DBがキャッシュしてしまいメモリ使用量が大きくなる

(B)でさらにI/Oをブロックしたくない場合、非同期ストリームを利用する

ということで大量レコードをチビチビ処理する場合は
async foreach( var row in query.AsNoTracking() )
という書き方に落ち着きました

他の参考URL
URLリンク(stackoverflow.com)
URLリンク(stackoverflow.com)

442:デフォルトの名無しさん (ワッチョイ 5eda-xrk/)
23/05/07 11:09:18.20 AUxqabWy0.net
ミス
最終的に
async foreach( var row in query.AsNoTracking().AsAsyncEnumerable() )
という書き方に落ち着きました

443:デフォルトの名無しさん (ワッチョイ 4679-U4yn)
23/05/07 11:24:15.43 4ZIcGn3M0.net
終わるまでにめっちゃメモリ使って死ぬ感じある

444:デフォルトの名無しさん (ワッチョイ 1279-y4C+)
23/05/07 14:06:12.41 O0op5Uvp0.net
Defenderやらが邪魔するのはそうなんだろうけど
C/C++でACLや属性変更でリトライなんてしてた覚えないからC#のDisposeでファイルがちゃんとクローズできてないだけな気もする

445:デフォルトの名無しさん (ササクッテロリ Spc7-Z7Ea)
23/05/08 10:05:23.91 3mw2N0vvp.net
Disposeでクローズなんかしないだろ?
つかそんな実装頼みの使い方してたら痛い目に遭うぞ

446:デフォルトの名無しさん (ワッチョイ b7e5-tcUg)
23/05/08 13:04:12.03 h5IiweHd0.net
using制御しかしてないわ

447:デフォルトの名無しさん (スプッッ Sd52-8wHc)
23/05/08 13:11:33.93 x7lJRSufd.net
>>439-441
>>429はWidows Defenderのせいにして終わってるから
納得できる形で解決してみせてよ

448:デフォルトの名無しさん (ササクッテロリ Spc7-Z7Ea)
23/05/08 13:27:23.81 Rh3bbmbap.net
>>442
非同期なら当たり前に発生するなw

449:デフォルトの名無しさん (ラクッペペ MMde-yLVR)
23/05/08 13:29:30.54 QcInbmeDM.net
ファイルを閉じるから横取りされるんだぞ

450:デフォルトの名無しさん (スッップ Sd32-KeI6)
23/05/08 13:38:05.76 TxJAG0JMd.net
今回みたいなケースでファイルクローズ直後にファイルいじろうとすると使用中の様な警告出ることあるから
基本的にリトライするようなコード入れてるけどそんなことないのかね

451:デフォルトの名無しさん (ササクッテロリ Spc7-Z7Ea)
23/05/08 13:53:31.24 xSxPowKip.net
OS側の処理も非同期なんだと予想

452:デフォルトの名無しさん (スプッッ Sd52-8wHc)
23/05/08 15:24:20.83 NYRttg47d.net
いちいちリトライなんか仕込んてたらハゲそう
イラネーヨって言ってくれ

453:デフォルトの名無しさん (ワッチョイ c2bd-O5MS)
23/05/08 23:17:00.86 n3psyKuA0.net
>>440
IDisposableを継承しているのにクローズしなかったら使い物にならないだろ。

例えばFileStreamクラスのDispose()には、
Stream によって使用されているすべてのリソースを解放します。
とあるので、当然Closeもする。

454:デフォルトの名無しさん (ワッチョイ c2bd-O5MS)
23/05/08 23:18:14.32 n3psyKuA0.net
あ、継承じゃなくて実装だ。

455:デフォルトの名無しさん (ワッチョイ cb7c-DUGT)
23/05/09 04:40:15.34 fisd8t0i0.net
Disposeの処理の中でClose普通に呼んでたはず
ソース見りゃ分かるやろ

456:448 (ワッチョイ c2bd-O5MS)
23/05/09 04:54:39.15 b+hc+8Ui0.net
>>450
>>440が「そんな実装頼みの」って言ったので、あえてソースを見ずにドキュメントの内容で答えた。

457:デフォルトの名無しさん (アウグロ MMb3-G648)
23/05/09 07:21:46.18 2h4Q3q9eM.net
asyncawaitに対応してない何かがあるのかもな

458:デフォルトの名無しさん
23/05/09 08:53:33.61 F+qDabIr0.net
自作じゃない.NET純正で、Taskを返す〇〇Asyncメソッドがasyncawait対応してないは無いでしょ

459:デフォルトの名無しさん
23/05/09 10:25:27.81 wTiHbcrZp.net
だから、OSだって非同期にファイル処理してるんだろ?
で、完了通知なんて受けて無いw

460:デフォルトの名無しさん
23/05/09 11:26:49.94 TDrxScizd.net
C#のファイル操作が遅いからファイルコピーと属性変更との間にWindowsDefebderが割り込んでスキャンされて妨害されるのかもしれない
知らんけど

461:デフォルトの名無しさん
23/05/09 11:28:32.40 LwvaBWbia.net
>>455
win32apiを使ってるのでさすがにそれなはい
削除してもすぐにファイルが消えないのはあるあるだからリトライするのが定番

462:デフォルトの名無しさん
23/05/09 11:46:04.35 vAJE1vUCr.net
とはいえ
頻度は10回に1回あるかないか程度
Windows Defender 無効にしたら例外が発生しなく
なら妥当かもしれない

463:デフォルトの名無しさん
23/05/09 16:21:49.31 GXFqLAgP0.net
>>429
これ閉じる前にFileStream.SafeHandle使ってSetLastWriteTime(SafeFileHandle, DateTime)のオーバーロード使うのはどうなの?

464:デフォルトの名無しさん
23/05/09 20:43:33.82 ZCATFg/N0.net
質問なんですが
formのbutton1.textをテキストボックスから取得したいのですが、
テキストが長い場合、ボタンのテキストが改行されてしまいます
表示が後半隠れてしまうのは別に構わないのですが、
改行がおこるとテキストがボタンの上側に移動してしまいます
button1.textを改行しないようにできないでしょうか?

465:デフォルトの名無しさん
23/05/09 22:36:11.30 ZhePtJGs0.net
ボタンのPaintイベントで自前描画すればOK

466:デフォルトの名無しさん (ワッチョイ 1279-y4C+)
23/05/09 22:41:53.48 U2HEifZi0.net
button1.AutoEllipsis = true;

467:デフォルトの名無しさん (ブーイモ MMdb-mskx)
23/05/10 10:41:28.62 B1N+exWkM.net
どなたか教えてくださいC#です
public class Person
{
public Name Name { get; set; }
}
public class Name
{
public string NameText { get; set; }
}
こういうクラスがあったとして、

var p = new Person
{
Name = {},
};
Console.WriteLine(p.Name);
これはnullが出力されるんですが、構文解析時のName={}の右辺はどういう評価をされてるんでしょうか?
また
var p = new Person
{
Name = {NameText=""},
};
これもコンパイルは通りますが実行時にObject reference not set to an instance of an object.で落ちます
Name = {NameText=""},
の{NameText=""}は構文解析時にどういうモノとして扱われてるんでしょうか?
本来はName= new Name{NamText=...}とするところで、new {クラス名}を書き忘れたらビルドが通っていたのでなんだろうと思った所存です

468:デフォルトの名無しさん (ワッチョイ b74f-hGOv)
23/05/10 11:20:13.56 iQXLAALm0.net
オブジェクト初期化子
1つ目のケースは初期化するプロパティがないので何もしない
2つ目のケースはこれと同じ意味になる
var p = new Person();
p.Name.NameText = "";

URLリンク(ufcpp.net)

469:デフォルトの名無しさん (ワッチョイ 52de-KeI6)
23/05/10 11:21:23.96 tkTpg3dz0.net
>>460
レスありがとう、Paintイベント追加で自力でやるのはけっこう大変そうですね

>>461
ありがとう、...省略はできたけど、文字は上側に寄ったままでした

button1.Padding.Topに4ぐらいいれたら解決しました

470:デフォルトの名無しさん (ブーイモ MMdb-mskx)
23/05/10 11:27:39.61 NYVeTygZM.net
>>463
なるほど!ありがとうございます!
いやーこれはコンパイル時に落としてほしい…

471:デフォルトの名無しさん (ワッチョイ ff2d-vOwS)
23/05/10 11:28:45.20 qs6QvCEc0.net
Formsで独自描画はバッドノウハウに近いと思う 
スケーリング考慮してないのばっかり

472:デフォルトの名無しさん (ワッチョイ b74f-hGOv)
23/05/10 13:49:34.03 iQXLAALm0.net
>>465
AのコンストラクタでNameがnewされてたら問題ないわけだし使い分けでしかないね
nullableを有効化しとけばこのケースだとAのNameがnull許容でもnull非許容でも警告出してくれるよ

473:デフォルトの名無しさん (ワッチョイ c23d-Lyct)
23/05/10 14:23:44.58 6sAnxqBz0.net
C#でASP.NETでHTMLコード書くにはどこいじればいいの?

474:429 (ワッチョイ 9354-ouLR)
23/05/10 17:05:27.60 QPN4FwhI0.net
私にとっての解決後も議論があったようですが、
Windows Defender を無効化 ( Windows Defender の [除外] に、コピー先フォルダを登録する ) してから、1回も発生していません。
for(int i = 0; i < 100; i++){}
での 100回ループテストを何度か行っても発生していないので、自分の中では解決済みになっています。

475:デフォルトの名無しさん (ササクッテロル Spc7-Z7Ea)
23/05/10 18:11:17.94 rAs2Y7NDp.net
ファイル内容変更したからウイルスチェックが走ってんじゃん
ってオチかよw

476:デフォルトの名無しさん (ワッチョイ 1610-tcUg)
23/05/10 18:54:24.51 6aE3wdSe0.net
オチかよも何も、最初からそういう話だったのに
DisposeがちゃんとやってないんだろとかOSの遅延がうんたらとか頭でっかちが騒いでるだけやで

477:デフォルトの名無しさん (ワッチョイ 4679-jUDw)
23/05/10 18:59:46.60 KHK6MiQv0.net
asyncawaitってスレッドセーフのメソッドじゃなくても使っていんだっけ?

478:デフォルトの名無しさん (アウアウウー Sac3-16n5)
23/05/10 19:16:24.65 PlKEk/pSa.net
>>456で結論書いてやったのにまだやってたのか

479:デフォルトの名無しさん (ササクッテロル Spc7-Z7Ea)
23/05/10 19:57:37.80 n33wvc2tp.net
>>473
全く結論になって無いよあれ
単なる対症療法なだけだろw

480:デフォルトの名無しさん (アウアウウー Sac3-16n5)
23/05/10 20:01:05.91 PlKEk/pSa.net
その対症療法が唯一の治療法なんだがまだそれもわからないのかよw

481:デフォルトの名無しさん (アウアウウー Sac3-16n5)
23/05/10 20:03:31.18 PlKEk/pSa.net
リソースを占有できるのがそのスレッドだけではない場合
つまり今回と同様の場合だな
原因がセキュリティソフトかバックアップソフトか何かは全く関係ない
時間を置いて何度かリトライしてそれでもだめなら例外を投げる
基本中の基本だぞ?

482:429 (ワッチョイ 9354-ouLR)
23/05/10 20:19:03.60 QPN4FwhI0.net
議論再燃させて申しわけありません。
消えます。

483:デフォルトの名無しさん (ワッチョイ 4679-jUDw)
23/05/10 21:49:28.98 KHK6MiQv0.net
みんな参加できるし
いい内容だと思う

484:デフォルトの名無しさん (ワッチョイ 1610-tcUg)
23/05/10 22:26:34.42 6aE3wdSe0.net
>>1
> 議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。

485:デフォルトの名無しさん (ワッチョイ ff2d-vOwS)
23/05/10 23:13:27.93 qs6QvCEc0.net
>>475,476
今回の場合(>>429)は、ファイルを一旦解放するのが問題なんだから、>>458の方法で上手く行くでしょ

486:デフォルトの名無しさん (ワッチョイ ff2d-vOwS)
23/05/10 23:27:09.51 qs6QvCEc0.net
ファイル削除のことならリトライは必要だけど、今回のと関係ないね

487:デフォルトの名無しさん (ワッチョイ 335f-Z7Ea)
23/05/10 23:39:29.79 +U2L2taI0.net
てか、ファイル操作するのに、排他しなきゃだよな?
一度手放したら他のプロセスに横取りされちゃうだろ

488:デフォルトの名無しさん (ワッチョイ 335f-LLT0)
23/05/10 23:54:07.74 of34847N0.net
もう一度再現させた上でロックしているプロセスが本当にWindows Defenderだったのか確認しない限り不毛な議論では?

489:デフォルトの名無しさん (ワッチョイ 4679-U4yn)
23/05/11 02:59:54.64 YOUU3VFS0.net
っていうかどうしたいんだろ
コピー後のファイルを
誰かがつかんだままにすれば
似たようなエラーはいつでも
起こせるし起きちゃうじゃん

それがこのアプリにとってレアケースでないなら他アプリがつかんだママのときの動作を仕様で定義するべきだと思う

490:デフォルトの名無しさん (ワッチョイ ff2d-vOwS)
23/05/11 03:21:28.69 rPH4vL1P0.net
>>484
>>429のソースを見るに、ファイルの最終書き込み時刻を保ったままコピーしたいんでしょうよ

コピー先のファイル作成とタイムスタンプ操作を1回の排他モードオープン~クローズの間にまとめてやれば
他のプロセスに割り込まれようが無いし、その後につかまれてもやること終わってるから問題無い

491:デフォルトの名無しさん
23/05/11 08:30:37.64 deoSAjL+a.net
>>481
今回のセキュリティーソフトわ切るやり方こそ対症療法だろw

492:デフォルトの名無しさん
23/05/11 10:12:30.60 NldGOlLod.net
>>458
これ知らなかったんだけど、実際に存在する?
コード書いてもでてこないんだけど
ちなみにGetLastWriteTime はあるようだ

493:デフォルトの名無しさん
23/05/11 10:37:35.73 rPH4vL1P0.net
>>487
.NET7で追加された
.NET6以前はP/InvokeでWin32API使えば同等のことは出来るけど時刻の扱いが面倒臭いね

494:デフォルトの名無しさん
23/05/11 10:44:53.88 ihHVpLbGp.net
そもそもファイルのタイムスタンプを合わせる仕様が本当に必要なのか小一時間

495:デフォルトの名無しさん
23/05/11 10:54:15.13 NldGOlLod.net
>>488
thx
>>489
他人の仕様にケチ付けちゃだめ

496:デフォルトの名無しさん
23/05/11 11:24:35.10 ihHVpLbGp.net
タイムスタンプなんて危ういものを何に使おうってんだ?
生成時刻が重要ならファイル名に組み合わせしまうとか
他の方法の方がよっぽど確実だぞ

497:デフォルトの名無しさん
23/05/11 12:16:13.48 RpUziWGf0.net
DateTime.ToFileTimeみたいな関数あったはずだからWin32利用したら案外簡単

498:デフォルトの名無しさん
23/05/11 12:31:50.44 NldGOlLod.net
コードも提供せずにこういうことやりたいと言ってるわけでもないし、
今回問題となっている部分についてだけで話すればいいんじゃないの
質問者が他のやり方ないですかみたいな質問ならまだしも
回答者が勝手に仕様かえて変な回答しないほうがいいと思うなぁ

499:デフォルトの名無しさん
23/05/11 12:45:05.52 OsVl9AaP0.net
俺は基本更新時刻の新しい順で並べるからファイルやフォルダのコピーごときでファイルスタンプは変わって欲しくないな

500:デフォルトの名無しさん
23/05/11 12:56:38.62 CPAv1ED5M.net
コピー元のタイムスタンプを維持したいユースケースなんていくらでもあると思うんだけどな
cp -pのように最初からそういうオプションが用意されてないのが不思議なくらい

501:デフォルトの名無しさん
23/05/11 13:00:19.05 8tWYoMH60.net
>>491
お前の考えなど知らん
コピー先のファイル名はそのままである必要があるんだよ

502:デフォルトの名無しさん
23/05/11 13:03:05.25 azf3P6SKM.net
あれ、File.Copy()でコピーすればファイルの更新時刻とかはコピー元ファイルのままだと思ってたんだけど、違うの?
わざわ�


503:エLastWriteTimeを転記する処理なんか不要じゃないかな



504:デフォルトの名無しさん
23/05/11 13:20:41.79 YOUU3VFS0.net
結局なんで死んでんだっけ?
スレッドセーフじゃないメソッド呼んでたから?

505:デフォルトの名無しさん
23/05/11 13:22:58.00 Kl8HQqiW0.net
FileStreamを開放したところでDefenderに掴まれてるから

506:デフォルトの名無しさん
23/05/11 13:26:07.70 IsUfqIsW0.net
>>470
ノートン先生が毎回俺がコンパイルしたexe没収しやがるのな

507:デフォルトの名無しさん
23/05/11 13:28:13.33 /kketneYM.net
gdriveの横槍でvsのビルド失敗しやがるからな

508:デフォルトの名無しさん
23/05/11 14:04:15.95 /lX/zRJGp.net
>>496
だからファイル作成時刻が重要ならタイムスタンプに頼る様な仕様は事故のもとだから仕様から考え直さないと後で泣くのはおまえさんとこだって話だw

509:デフォルトの名無しさん
23/05/11 14:06:17.73 IsUfqIsW0.net
ファイルの作成時刻が大事で、ファイル名も変えたくないなら
実データの内に時刻もっておいて逐次参照するしかないか

510:デフォルトの名無しさん
23/05/11 14:15:18.91 5HC1/c5B0.net
タイムスタンプをバージョン番号にするのが一時流行ったな

511:デフォルトの名無しさん
23/05/11 14:18:46.36 NldGOlLod.net
>>497
コード提供部分にはない仕様でコピー中の進捗管理もしたいからブロックコピーみたいな事したいんじゃないのと思ってるけどね

512:デフォルトの名無しさん
23/05/11 16:32:36.54 Kl8HQqiW0.net
ファイルコピーツールでタイムスタンプ類もそのままって普通のことでは?

513:デフォルトの名無しさん
23/05/11 16:59:27.45 OsVl9AaP0.net
そうだよ
その当然のことがC#だとなぜか上手くいかないねってマヌケな話を続けてるのよ

514:デフォルトの名無しさん (ワッチョイ b7e5-tcUg)
23/05/11 17:30:13.71 Kl8HQqiW0.net
違うよ、Defenderに割り込まれて失敗してただけなのに、C#が悪いとか実装だよりがうんたらとか明後日の話してるだけ
あとなぜかタイムスタンプ同期を敵視するおかしな輩

515:デフォルトの名無しさん (ササクッテロル Spc7-Z7Ea)
23/05/11 17:43:23.58 rQf2HOBdp.net
タイムスタンプって言えば、マイナンバーの他人データ事件

516:デフォルトの名無しさん (アウアウエー Saaa-tcUg)
23/05/11 20:37:45.66 WmrOv4hCa.net
asp.net 7.0/razorでTest.razorファイルを作って中身を
@page "/test/{text}"
<h1>Hello, world!</h1>
とすると、URLリンク(localhost)は期待通りTest.razorにアクセスするんだけど
URLリンク(localhost) にアクセスしようとするとエラーページ(app.razorの<NotFound>)に飛んでしまいます
エラーページに飛ばずにTest.razorに導くにはどうしたらいいのでし

517:デフォルトの名無しさん (アウアウエー Saaa-tcUg)
23/05/11 20:50:19.55 WmrOv4hCa.net
自決。重複指定できるんだね
@page "/test/{text}"
@page "/test/"

518:デフォルトの名無しさん (ワッチョイ 4679-jUDw)
23/05/12 05:08:25.71 wvdezX0Z0.net
ループしつつ例外来たらリトライぐらいしかないんだな
ファイルアクセスって

519:デフォルトの名無しさん (ワッチョイ 1610-tcUg)
23/05/12 06:06:11.81 knxa7qRm0.net
絶対に他のプロセスがアクセスすることが無いファイルでもなきゃそうだろうね

520:デフォルトの名無しさん
23/05/12 10:06:17.76 6p7rgQrNp.net
一度握ったら離さない様にすれば良いだけ
まあ、握るまで待つ事はあるだろうけどさ

521:デフォルトの名無しさん
23/05/12 10:09:45.59 6p7rgQrNp.net
ファイルロックくらいしろって事でFA

522:デフォルトの名無しさん (ワッチョイ 5eda-xrk/)
23/05/12 20:52:48.39 QyvjIFa10.net
タイムリーな話題

Microsoft Defender がファイルコピー速度を大幅に低下させるというテスト結果
URLリンク(security.srad.jp)

523:デフォルトの名無しさん (ワッチョイ cfa7-55dJ)
23/05/13 11:11:48.89 tW4K4KGI0.net
当たり前の話じゃないの?
アンチウイルスって実行ファイルの中身チェックするのが仕事なんだし

524:デフォルトの名無しさん (ワッチョイ cfbb-ScEU)
23/05/13 12:02:01.86 7xfulSMu0.net
>>517
コピーされるファイルも実行ファイルの中皆の?

525:デフォルトの名無しさん (ワッチョイ 137c-Zn+e)
23/05/13 12:58:27.54 WLwqntQA0.net
別にチェックするのは実行ファイルだけじゃ無い
基本的には全部

拡張子変えて実際は実行ファイルって場合も有る

特殊な方法で画像や音声ファイルに別ファイルを入れる事も出来る
普通に開いても画像や音が流れるけどやけにファイルサイズ大きい

526:デフォルトの名無しさん (ワッチョイ 03e5-Phjm)
23/05/13 14:46:09.37 mZrGEceU0.net
除外指定されてないもの全部検査対象だよな

527:デフォルトの名無しさん (ワッチョイ ffde-ZkZz)
23/05/13 15:08:50.76 xlpBDV6S0.net
んでウィルスでもないものも消していってくれるし

528:427 (ワッチョイ bfbd-Np+b)
23/05/14 08:52:03.33 kc3awa8x0.net
>>428
非同期I/Oについて以前別件で調べていたページをブラウザで開いたまま放置してて、
そこを読んだら、
・FileStreamは~Async()メソッドを呼ぶだけだと、同期メソッドをTask.Runしているイメージと同じ
・非同期IOにするには、FileStreamのコンストラクターでuseAsyncをtrueにする
とあった。

529:デフォルトの名無しさん (ワッチョイ 8f79-PTT8)
23/05/14 11:04:56.63 8prSF4JO0.net
そもそもIOって物理的に非同期にできんのかな?
って疑問はある
ファイル名(パス)を変更するとして
それが既存と被らないことをチェックするためには
HDD全部が排他対象になっちゃうと思うんだけど・・・?

世の中には頭のいい人がいるからな
Windowsもうまいことなってるのかもしれん

530:デフォルトの名無しさん (ワッチョイ 137c-Zn+e)
23/05/14 11:24:11.66 C7+mn9jn0.net
アホすぎる
基本情報技術者試験からやり直せ

531:デフォルトの名無しさん (アウグロ MMdf-PTT8)
23/05/14 11:25:33.88 YHEEjM6QM.net
>>524
マジで?載ってる?

532:デフォルトの名無しさん (ドコグロ MMe7-GJof)
23/05/14 11:30:50.36 cZZGCVt9M.net
FileStreamの~Async()メソッドの話をしているのに
ファイル名を変更する話をし始める人

533:デフォルトの名無しさん (ワッチョイ 8f79-LM5x)
23/05/14 13:29:51.43 8prSF4JO0.net
>>526
あ、そっか
やっぱりそこは
どうにもならねえんだよな

534:デフォルトの名無しさん (ワッチョイ 8f79-LM5x)
23/05/14 13:35:41.81 8prSF4JO0.net
まずIOいじるときは
プロセスセーフである必要があって
それをサポートするAPIはないと
次にスレッドセーフである必要も
あってそこはAPIがあるのと
プロセスセーフの仕組みに載せてしまってもよい
みたいな?

535:デフォルトの名無しさん (スップ Sd1f-ZkZz)
23/05/14 15:32:18.00 cBUUr2ypd.net
別に考えるのは悪いことじゃないけどここで書くような事か?
チラシにでもかけよ

536:デフォルトの名無しさん (ワッチョイ cfa7-55dJ)
23/05/14 16:46:00.64 AbKJzFQD0.net
>>523
出来るも何もむしろ必須レベル
正常なディスクであればファイルIOは即終わるが壊れかけとかだとめちゃくちゃ時間かかる事もある
要するに完了時間は不定だから多数に公開しようとしたらファイルIOはWin32のオーバーラップを利用した非同期化は必須
C#であれば手軽に使えるasync版もあったはずだが

537:デフォルトの名無しさん (ワッチョイ 8f79-cPXU)
23/05/14 18:25:49.02 8prSF4JO0.net
>>530
なんかごちゃごちゃうっせーけど
OSとAPIに任せて勝手にやってくれるわけではないよね?

538:デフォルトの名無しさん (ワッチョイ 1310-TD+p)
23/05/14 19:42:00.49 LqBBoBzl0.net
やってくれてなかったらOSもプロセスもディスクアクセスのたびに死んでるわ

539:デフォルトの名無しさん (ワッチョイ 8f79-cPXU)
23/05/14 21:25:59.89 8prSF4JO0.net
>>532
だから死んでるじゃん
エラー出して
ハンドリングはしてないよね?

540:デフォルトの名無しさん (オイコラミネオ MMc7-ZkZz)
23/05/14 21:34:27.06 pb1Dbmn7M.net
スレ伸びてるなと思ったら荒れてたのか
スルーしたほうがいいのかな?答えたほうがいいのかな?

541:デフォルトの名無しさん (ワッチョイ 1310-TD+p)
23/05/14 23:37:37.55 LqBBoBzl0.net
ハンドリングしてるからエラー出せるんだろうに

542:デフォルトの名無しさん (ワッチョイ a32d-QNcS)
23/05/14 23:52:11.86 TlAvKTIL0.net
デバイスとファイルシステムの区別が付いてないし基本的な知識が欠けてる
相手にするだけ無駄かと
スレチだし

543:デフォルトの名無しさん (ワッチョイ ff2f-o00x)
23/05/15 01:10:46.89 LL0MvYiW0.net
まあふらっとだしC#にかかわる範囲で答えてやれば良いとは思うが

そもそも>>523は非同期IOってどんなもんだと思ってるんだ

544:デフォルトの名無しさん (ワッチョイ 8f79-PTT8)
23/05/15 03:01:17.91 MbkFonvu0.net
>>535
プロセスセーフにはならないってことだよね

545:デフォルトの名無しさん (ワッチョイ 8f79-PTT8)
23/05/15 03:14:56.69 MbkFonvu0.net
streamreaderwriterで死ぬってことはOSの機能じゃなくて
あくまでアプリ側がそう組んだからそう動くってことでおk?

546:デフォルトの名無しさん (ワッチョイ cfa7-55dJ)
23/05/15 10:50:41.17 pV2Ms8mh0.net
>>531
勝手にやってくれない?
お前はDeviceIOControlでも利用して一々マニュアルでハードウェア制御してるのかよ
普通に全部勝手にやってくれるよ

547:デフォルトの名無しさん (ワッチョイ ff80-wac6)
23/05/15 15:46:46.09 rEJ0AvWA0.net
ReactiveExtensionsって現場では結構使われてるんですかね?

548:デフォルトの名無しさん (ワッチョイ bfbd-Np+b)
23/05/15 23:44:43.69 7dwhbD/A0.net
>>530
Win32APIで最近非同期のコードを書いているけど、
ReadFile()/WriteFile()が途中までで返ってくることも踏まえてループ処理にするとして、

1) ReadFile()/WriteFile()で同期(OVERLAPPED構造体なし)
→同期
2) ReadFile()/WriteFile()で非同期(OVERLAPPED構造体あり)、WaitFor~、GetOverlappedResult()
→スレッドを明示的に手放す?
3) 1)をCreateThreadpoolWork()
→スレッドプールのスレッド内で同期処理
4) 2)をCreateThreadpoolWork()
→スレッドプールのスレッドで動作するが、途中でスレッドを明示的に手放す?
IOCPならその間に他のスレッドが動きそうだが、スレッドプールAPIでもそうなるか知らない。
5) CreateThreadpoolIo()、ReadFile()/WriteFile()で非同期(OVERLAPPED構造体あり)、
IoCompletionCallbackで続きのReadFile()/WriteFile()を行う
→これが一番効率的だと思う。

最近5)で書いてる。めんどくさい。うまく動かなかった時に調査のために同期処理にしてみることができない。
C#のasync/awaitは神。
.NET Framework/.NETのライブラリがどこまでやっているのかまだソースをほとんど調べていない。

549:デフォルトの名無しさん
23/05/16 15:21:40.99 x5Idn1prM.net
>>542
ReadFileEx()/WriteFileEx()に対して何かアドバンテージあるの?

550:542
23/05/16 23:17:52.90 ArIN9ivM0.net
>>543
ReadFileEx()/WriteFileEx()のlpCompletionRoutineを使ったことはないけど、
LPOVERLAPPED_COMPLETION_ROUTINEのページに、
システムが完了ルーチンを呼び出すたびに、アプリケーションのスタックの一部が使用されます。 完了ルーチンが追加の非同期 I/O とアラート可能な待機を行うと、スタックが大きくなる可能性があります。
とあるから、完了ルーチンでさらに非同期I/Oを繰り返すと、スタックがあふれる恐れがあるんじゃないかなあ?

551:デフォルトの名無しさん
23/05/17 00:05:39.06 UJN2K8xqM.net
>>544
なるほど
.NETのFileStreamもReadFile()やWriteFile()を使ってるのはそれが理由かも

552:デフォルトの名無しさん (ワッチョイ 835f-keH4)
23/05/17 02:11:11.09 BW67Dsb50.net
ファイルIO飽きたぁ

553:デフォルトの名無しさん (ワッチョイ cfa7-55dJ)
23/05/17 09:38:13.97 J+vPZ/2W0.net
>>545
いや完了ルーチン内で更に完了ルーチン呼び出しするなんて実装メリット無さ過ぎて普通しないからそれが理由ではない
単純に最も効率的な非同期IOはスレッドプールを利用した完了ポートだからだよ
C#のasync awaitも完了ポートベース、nodejsもWindows版では完了ポートベース

554:デフォルトの名無しさん (ワッチョイ 8f79-cPXU)
23/05/17 09:41:37.77 x4D/IoKq0.net
>>546
どうした?
実はこれまで組んだファイル周りの実装がまずいことに気が付いたのか?

プロセスセーフまで保証しろって言われたら正直俺もやってねえ
っていうかもっかいやってくれればええやんってポリシー

だったけどこのスレ見たやつが指摘してきた(笑)
面倒くせえw

555:デフォルトの名無しさん (ワッチョイ cfa7-55dJ)
23/05/17 09:47:10.85 J+vPZ/2W0.net
プロセスセーフってなんだ?
一つのファイルを複数プロセスで扱う場合においても別に難しい事はないけどな
排他モード指定したら良いだけなんだから

556:デフォルトの名無しさん (ササクッテロ Sp87-eWQc)
23/05/17 09:52:57.56 BC9U1gYmp.net
>>549
一度に完了しないでチマチマ複数回アクセスする類いだろ

557:デフォルトの名無しさん (ワッチョイ 8f79-cPXU)
23/05/17 09:56:54.00 x4D/IoKq0.net
>>549
いや、他のやつにアクセスされてると死ぬねん
その時いつまで待てばええのか仕様がないねん
タイムアウト付けるとじゃあその時できんかった処理をいつやるのか仕様を考えろって言われて辛いねん
さらにそれが終わる前に他の処理が進んでしまってもまずいときあんねん
こんなレアケース相手にしとうなかったねん

558:デフォルトの名無しさん (ワッチョイ cfa7-55dJ)
23/05/17 10:04:34.84 J+vPZ/2W0.net
>>551
それファイルIOの問題ではないな
非同期プログラミング全般の問題

559:デフォルトの名無しさん (ササクッテロ Sp87-eWQc)
23/05/17 10:04:36.01 BC9U1gYmp.net
まあ、昨今のマイナンバー絡みの誤配信あるし
つまらないレアケースを突いて来る奴増えたよな

560:デフォルトの名無しさん (ワッチョイ 8f79-cPXU)
23/05/17 10:07:50.36 x4D/IoKq0.net
いい手を考えた

それってこの間作ったやつも
同じですよね?
解決しているのであれば
対策方法を教えてほしいです

って比較的暇そうな
プロジェクトも誘爆させてみる

561:デフォルトの名無しさん (ワッチョイ 13e5-zI38)
23/05/17 10:20:18.08 r4L2F7830.net
元々はファイルクローズ直後に約10%程度日付の書き換えに失敗するという質問で
原因はDefenderと結論付けて解決している
対策はリトライ、検索除外、ファイルを閉じる前に日付を書き換えるなどが上がっている

なお非同期書き込みは関係ない

562:デフォルトの名無しさん (ワッチョイ ff2f-3DBk)
23/05/17 10:26:42.10 GG5VHMy50.net
>>551
レアケースでもなんでもなくて、当然設計段階で考慮しとくべき話
コーディング以前の問題

>>553
レアケースでも、それが発生する可能性がある以上、発生したらどうするか考えとかないとダメ
エラーで落とすとかどうもしないとかも含めてな

つかマイナンバーのやつは、レアケースというほどレアな条件が重なってるとは思えん
たんなる設計不良とテスト不足だろ

563:デフォルトの名無しさん (ササクッテロ Sp87-eWQc)
23/05/17 10:27:49.23 BC9U1gYmp.net
>>555
Defenderが変化のあったファイルを即握るから一度手放したら持って行かれるってのが原因だよ?
この場合Defenderは一例に過ぎない、他に同じ様なプロセスが走ってたら同じ事

564:デフォルトの名無しさん (ラクッペペ MM7f-zI38)
23/05/17 10:33:05.14 ayW9U2wIM.net
>>557
そう書いてるけど何か?
非同期書き込み関係ある?

565:デフォルトの名無しさん (スップ Sd1f-ZkZz)
23/05/17 10:38:32.93 JdW1FdHOd.net
>つまらないレアケースを突いて来る奴増えたよな
つまるつまらない関係なく安全なシステム構築が原則じゃねーの
こんなこと言う奴が実装してると思うと怖いな

566:デフォルトの名無しさん (ササクッテロ Sp87-eWQc)
23/05/17 10:39:10.69 vxhNqJEJp.net
>>558
だから原因はDefenderじゃ無いだろw
対策でDefender切るなw

567:デフォルトの名無しさん (オイコラミネオ MMc7-ZkZz)
23/05/17 12:01:27.36 F24a8wLtM.net
主張がおかしい
少なくとも例外=死ではないわな

いくら他言語知っててwin32api知ってても例外回りというかそこら辺の理解が出来ずに対応が出来ないから初心者なんだろう
ご愁傷様

568:デフォルトの名無しさん (アウグロ MMdf-PTT8)
23/05/17 12:26:38.86 gUH2EQh+M.net
でもこれって排他で掴んじゃうテキストエディタでファイル開いたまま放置されたとかなったら回避不能だよね
新しいファイルを作っちゃうって手も残ってるけど
正しいソフトウェアのあるべき姿って言われても困るわけだが?

まあ、新しいファイルを作っちゃっていいなら作っちゃうが・・・?
読んでくるとき常に最新読むってすれば簡単だし

569:デフォルトの名無しさん (オイコラミネオ MMc7-ZkZz)
23/05/17 12:39:44.91 F24a8wLtM.net
普通はメッセージを出すだろ?アプリ作ったことがないのか?

570:デフォルトの名無しさん (アウグロ MMdf-PTT8)
23/05/17 12:48:19.60 gUH2EQh+M.net
>>563
まあ、ログにも通知にも残すけど
定期処理とかだと
夜中中出しっぱだったので一切他の処理やらんかったぜもない話で

571:デフォルトの名無しさん (オイコラミネオ MMc7-ZkZz)
23/05/17 12:55:33.17 F24a8wLtM.net
責務以外のことまで考慮する必要はない

書き込みしようとしたらHDDが容量不足だったは普通はそこまで考慮したソフトは書かない
一般的なリトライの範囲かせいぜいメッセージ出して人間が対応する
録画ソフトなどで事前に想定された範囲内で必要となるなら用意する

一般的なライブラリの範疇の話じゃない難癖レベル

572:デフォルトの名無しさん (ワッチョイ 03e5-Phjm)
23/05/17 12:58:10.45 HpY9MMf50.net
排他で掴んじゃうエディタで開いたままにする関係者が悪いのであってやるなというだけの話
人が排他で開いたままにしちゃうかも、まで考慮することじゃない

573:デフォルトの名無しさん (ワッチョイ ff79-Phjm)
23/05/17 13:09:21.57 0e0u0fXr0.net
オートリトライでFDDを延々とカッコンカッコン鳴らしてやるぜ

574:デフォルトの名無しさん
23/05/17 13:22:55.46 c+t3TSTMp.net
>>567
FDDだとファイル一杯になった処理は必ず必要だよな
あんな容量の小さなメディアだしな

575:デフォルトの名無しさん
23/05/17 14:21:29.85 JdW1FdHOd.net
>>562
当初の質問の流れだと①ファイル出力②タイムスタンプ変更を連続してるわけだから言ってる話(①のファイルをエディタなどの人為的操作でつかまれる)はおかしくない?
少なくともやりたかったことがどこかにあるファイルを別の場所にコピーする、ファイルのタイムスタンプは同じにするなら
①いったん別名でファイル出力
②タイムスタンプ変更 ※リトライ含む
③正しいファイル名に変更 ※リトライ含む
ぐらいがいいんじゃないかと思うけどね③まで正常終了したらOK

576:デフォルトの名無しさん
23/05/17 14:23:16.58 /6qavqYtp.net
>>569
連続してる様に見えるけど、CPUから見たら隙間だらけだからなぁw

577:デフォルトの名無しさん
23/05/17 21:24:44.21 WYa1maRz0.net
FDDってプレーンテキストくらいしか保存できないよね?

578:デフォルトの名無しさん
23/05/17 21:52:19.55 6s1sKbMg0.net
2HDのFDにDOSと一太郎とATOKは入ったぞ
ちなみに媒体をFD、ドライブ装置をFDDというのだぞ

579:デフォルトの名無しさん
23/05/17 22:00:37.91 nVMR4RZGd.net
知識としてしか知らないと>>571みたいな認識になってしまうのか

580:デフォルトの名無しさん
23/05/17 22:55:44.00 lFYANmkBM.net
Aドライブでアプリケーションソフト起動してBドライブはFEPの辞書ファイル入れて使うのが一般的だった気がする

581:デフォルトの名無しさん
23/05/18 00:09:06.95 PrSBwdky0.net
ハードディスクがCドライブから始まってるのはその名残りだよな

582:デフォルトの名無しさん
23/05/18 00:33:26.61 M0TxVFb20.net
1KB程度のデータしかない住民票を印刷するのにバカでかいPDFなんぞをワザワザこしらえてご丁寧に暗号化復号化レンダリングイメージ化などいらんことしてるから日本はダメなんだよ

583:デフォルトの名無しさん
23/05/18 00:49:20.46 +SWCVuhH0.net
>>576
そりゃコンビニのコピー機で発行できるようにそうしてるんだろ
もしかして、コピー機の方を改修したほうが良いと思ってるのかい?
どんだけ費用かけるつもりだよ

584:デフォルトの名無しさん
23/05/18 10:06:50.15 Osufe4Tap.net
画像PDFは改変対策だろ?
まあ、テキストPDFでもプロテクト掛けられるけどな

585:デフォルトの名無しさん
23/05/18 10:10:35.46 4KlPbS1ta.net
>>571
今だとその程度の使いみちしかないかもな
FDDしか無かった頃はあらゆるデータが貧弱だったが

586:デフォルトの名無しさん
23/05/18 10:11:37.45 ufQPk5+j0.net
名前などの文字部分は当然テキストよ
だけど印刷内容は文字だけじゃないだろ
役所で公的文書取ったことないんか?

587:デフォルトの名無しさん
23/05/18 10:20:46.30 4KlPbS1ta.net
>>580
枠線とか印刷とか要らんから電子署名したデータだけ寄越せと言ってるんだと思うぞ
そんなことしたら年寄りは生きていけなくなるがな

588:デフォルトの名無しさん
23/05/18 10:29:30.52 Osufe4Tap.net
全部テキストにして
電子署名はQRコードで出せば良いのでは?

589:デフォルトの名無しさん
23/05/18 11:39:25.32 ufQPk5+j0.net
>>581
で、それでどうやって今の社会システムに対して公文書行使するんだ?

590:デフォルトの名無しさん (スッップ Sd1f-ie1o)
23/05/18 13:00:51.89 gc1pBp/rd.net
QRコードはandroidTVとかのアカウント認証で使われてるね
読み取るとurlにデコードされてwebブラウザで認証するやつ
スマホやPCがある事前提

591:デフォルトの名無しさん (アウアウウー Sa67-9mXs)
23/05/18 13:18:31.14 Vg51lua1a.net
>>583
できないからダメだって話だろw
効率的に電子決済するにはしがらみが多すぎるんだよ

592:デフォルトの名無しさん
23/05/18 18:54:25.63 BvTK4XNb0.net
で、お前らいつまでスレチ続けるんだ?w

593:デフォルトの名無しさん
23/05/18 19:35:19.78 wNPIsLPx0.net
>>586
なんか聞きたいことあんの?

594:デフォルトの名無しさん
23/05/20 18:00:33.33 BNhw9lNy0.net
>>576
記入可能なPDFを端末で持っておいて
テキストだけサーバーから送れば爆速で処理終わるよね

595:デフォルトの名無しさん
23/05/20 18:23:59.40 9iccQhCKM.net
PDFを悪用する人がいても書類を受け取った人が偽造かどうかオンラインとかで確認できるようならそれでもよかったのかもね
コンビニ出力と役所出力の公文書で受け取った側の運用が変わるデメリットを受け入れられたらの話だけど

596:デフォルトの名無しさん
23/05/20 19:08:07.55 NojZsJmh0.net
>>588
リッチクライアントならそうだね。
シンクライアントなら全てサーバーで処理することになる。

597:デフォルトの名無しさん
23/05/20 20:26:37.10 H7GfaBHz0.net
>リッチクライアントならそうだね。
もしかして:ファットクライアント

598:デフォルトの名無しさん
23/05/20 21:50:52.69 o5dUfSpn0.net
>>588
PDFってそんなでかいっけ?
テキストと分離した程度で爆速なんてでないだろ

599:デフォルトの名無しさん (ワッチョイ def2-cUXk)
23/05/21 17:54:47.82 aSGZarsp0.net
>>592
無圧縮の画像があると重いかもね

600:デフォルトの名無しさん (ワッチョイ 677c-bsHd)
23/05/24 06:48:02.27 dEtAkKea0.net
夜中からBUILD眠い

601:デフォルトの名無しさん (ワッチョイ 6f5f-GCa2)
23/05/25 23:41:52.29 HnExcI2y0.net
よく聞かれることかもしれませんが、教えてください。

私はいま、VisualC#の本を見ながら勉強しています。自分で作ったソフトのウィンドウが表示されて
ボタンをクリックしたら「こんにちは」とメッセージが出てるのを見て喜んでるレベルです。
夢は仕事で使うシステム(Windowsソフト)を作ってパートさんたちの仕事を楽にすることです。
今やっている本を買う前に買ってしまった「C#入門」的な本がいくつかあるんですが、それを
見ると、私が勉強しいるのとはまったく別の技術のように見えます。
VisualがつかないC#って、本当に文字で記述するための文法や構文の解説ばかりのようで、
ウィンドウやコマンドボタンの作り方ひとつ解説してないみたいです。

お聞きしたいのですが、VisualのつかないC#を習得した人って、どんなものを作るようになるのでしょうか?
また、ただのC#を学んだ人って、私のようなVisualC#だけを学んでいる人のことが幼稚な低レベルに
見えてるんじゃないかという気がするのですが、それでも小さい企業にあるWindowsパソコンで使う業務システム
を作るにはVisualの方がずっと楽で有利だと思うんです。

いかがでしょうか?

602:デフォルトの名無しさん
23/05/25 23:48:35.78 8mbdG19r0.net
VisualのつかないC#とはいったい...
c++とC#なら別物だぞ

603:デフォルトの名無しさん
23/05/25 23:51:32.00 MENdj7XW0.net
よく分からん感情がにじみ出ていて真の質問が分かりづらいのでもう一回まとめ直してください

604:デフォルトの名無しさん
23/05/26 00:00:07.73 MvHB7l4o0.net
VisualC#の本を読んで勉強してるけど、Windowsアプリの作り方を勉強してるつもり。
C#の入門書も見たことあるけど、プログラム文の書き方のようなことで終始していて、
ウィンドウの作り方やボタンの設置のしかたすら解説されていないみたい。ぜんぜん違う。
Visualが付かない方の本でC#を勉強した人って、何が作れるようになるの?
Visualが付く方のC#だとwindowsアプリが作れて使い道が多そうなんだけど。

これが質問の主旨です。

605:デフォルトの名無しさん
23/05/26 00:09:36.83 V/JNO+4j0.net
VC++というかMSVCっていうとMicrosoftによる実装って意味合いもあるが
Visual C#というと殆ど開発環境を指してしか言わないと思うんだけど
別にフォームデザイナーがなくとも自動でコード生成してるだけだから
コードだけ書いてもGUIアプリは作れるし、他のIDEでも良い
かたや開発環境を前提としたアプリの作り方
かたや言語仕様の解説みたいな感じじゃないのか

606:デフォルトの名無しさん
23/05/26 00:10:18.48 muRHf0j+0.net
まずVisual C#というのがVisual Studioのものすごく古いバージョンなんだわ

607:デフォルトの名無しさん
23/05/26 00:11:06.11 W5uHLn8jM.net
意味が分からない人が多くて困るな
C#は言語そのものでVisualと言ってるのはGUI付きと言うことを言ってるんだろ
>>595
別のようだけどそれは基本的には同じものです
入門の仕方は様々ある
ざっくりとたとえると英語で言えば文法の本と日常会話の本に当たります
文法の方にはhelloは書いてなくて日常会話の方には未来完了とか書いてないでしょ?
表示技術はあなたの言うvisualで学べるけど文法の方やライブラリなどの使い方は学べない
文法を学ぶのにいちいちウィンドウを出していたら手間がかかる
アプリの作り方をある程度学んだら言語自体+ライブラリの使い方だけ学んでも問題はないのです

608:デフォルトの名無しさん
23/05/26 00:12:52.83 muRHf0j+0.net
意味が分かる人が言ってることに草生える

609:デフォルトの名無しさん
23/05/26 00:18:27.28 W5uHLn8jM.net
>>598
windwos上で使ってる一般の人は両方とも勉強します
基本的にはwindows上でしかGUIは提供されていないけどライブラリやwebサービスはGUIがなくても書けるし需要はある
GUIで出来ることは表層だけで中の処理は言語仕様やライブラリを知らないといけない
本格的にGUIを勉強しようと思っても今はそれ向けの本がほぼないので自習になる

610:デフォルトの名無しさん
23/05/26 00:19:15.41 A9A3Khm00.net
書籍だと割と最近出たのでもタイトルにVisual C#って付いてるのがいくつかあるね

611:デフォルトの名無しさん
23/05/26 00:19:40.32 W5uHLn8jM.net
>>602
絶望的に頭がわるいでしゅーと言う主張は情けなくてみっともねえwwwwwwwwwwwww

612:デフォルトの名無しさん
23/05/26 00:22:15.78 W5uHLn8jM.net
基本的に何かで一通りアプリの作り方を学んだら
C#の言語仕様についてしっかりその文字だけの本を読んで勉強することになる

613:デフォルトの名無しさん
23/05/26 00:22:55.79 VY0JKlLq0.net
アプリっつっても、デスクトップアプリ、コンソールアプリ、Webアプリなどあるからな
他にも、サービスとか、WebAPIとか、ライブラリとか
何を作るかで、使うライブラリやフレームワークが変わってくるし

614:デフォルトの名無しさん
23/05/26 00:23:25.62 muRHf0j+0.net
>>605
こんな感じの頭いかれてるやつだってことを素人にもわかりやすく伝える親切さまであったか

615:デフォルトの名無しさん
23/05/26 00:24:06.06 W5uHLn8jM.net
>>608
>「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。

616:デフォルトの名無しさん
23/05/26 00:27:48.77 muRHf0j+0.net
そういう問題じゃねえよw
頭いかれてるやつが優しく教えるスレってどんな地獄だw

617:デフォルトの名無しさん
23/05/26 00:28:46.96 W5uHLn8jM.net
ID:muRHf0j+0が一番頭いかれてる
揚げ足取りか初心者相手にくだらないレスして悦に入ってるクソ人間

618:デフォルトの名無しさん
23/05/26 00:32:07.63 A9A3Khm00.net
>>598
GUI(ウィンドウやボタン等がある)アプリを作るには、C#の文法と、GUI(ウィンドウ等)の作り方の両方を覚える必要がある
どっちを先に覚えるかの違いでしかないよ
(GUI無しのアプリは使い道が限られるけど、文法を学習するのに向いてる)

619:デフォルトの名無しさん
23/05/26 00:35:39.02 W5uHLn8jM.net
今出てる本だけではGUIについてしっかりと学べる本はほぼないと思う
大体がWindowsフォームについてでWPFやUWPについて学べる本は少ない

620:デフォルトの名無しさん
23/05/26 00:35:42.24 muRHf0j+0.net
>>605 これを自分で見直して頭いかれてると思えないメンタルよw



622:デフォルトの名無しさん
23/05/26 00:36:14.97 MvHB7l4o0.net
>>603
ご回答ありがとうございました!
外国語の学習の比喩でなんとなく理解できた気がします。
理屈から入る人ととにかく外人と話したがる人がいるけど、けっきょくマスターするには
どっちの学習も必要になるという感じなんですね。
私の質問に回答してくださったせいで、あなたを小馬鹿する人が現われてしまったようで
本当に申し訳ないです。
ありがとうごさいました。

623:デフォルトの名無しさん
23/05/26 00:36:43.99 W5uHLn8jM.net
>>614
一個でもまともな回答レスが書けるか?
自分のレス見返してみw

624:デフォルトの名無しさん
23/05/26 00:38:53.91 MvHB7l4o0.net
>>612
GUIなしのアプリって、素人にもイメージしやすいものですとどんなのがありますか?
GUIアプリの中で一部の機能を担う部品(ライブラリっていうの?)みたいなイメージでしょうか?

625:デフォルトの名無しさん
23/05/26 00:41:07.66 W5uHLn8jM.net
C#のコンパイラ

626:デフォルトの名無しさん
23/05/26 00:41:42.15 muRHf0j+0.net
>>616
お前のまともなレスどれ?w
例の小馬鹿にされたやつ?w

627:デフォルトの名無しさん
23/05/26 01:23:01.30 c1jHvuSF0.net
ウィンドウだしマウス使えるじゃんって突っ込みなしならコマンドプロンプトとか?

628:デフォルトの名無しさん (ワッチョイ 6b2d-cUXk)
23/05/26 01:29:21.24 A9A3Khm00.net
>>617
GUI無しのアプリは素人が使うことはほぼ無いから、分かりやすい例を挙げるのは難しいな…。
小さなツール類が多いけど、そう言われてもピンとこないよね。

> GUIアプリの中で一部の機能を担う部品(ライブラリっていうの?)みたいなイメージ
GUI無しのアプリは単体でも使えるけど、GUIアプリから呼び出して使うこともあるよ。
ライブラリはそれだけでは動作しないのでアプリとはちょっと違う。

629:デフォルトの名無しさん (ワッチョイ 6b2d-cUXk)
23/05/26 01:31:58.89 A9A3Khm00.net
>>620
果たして、コマンドプロンプトは通じるのだろうか

630:デフォルトの名無しさん
23/05/26 05:17:04.99 llcbKXvOa.net
例えば、ウェブ開発のバックエンドは、Ruby on Rails。
OS(Linux, サーバー)とのやり取り。
ファイル操作、テキスト処理、データベース処理などで表示部分なし
一方、フロントは表示部分で、HTML, CSS, JavaScript
Railsの給料が高いのは、1人でバック/フロントの両方を作るから。
これをフルスタックエンジニアと言う
これを複数人で分けて作る場合は、
意思疎通・打ち合わせコストが掛かるので面倒

631:デフォルトの名無しさん (ワッチョイ 03e5-FIIW)
23/05/26 09:07:00.86 We9CfcI80.net
>>620
>>622
PowerShellでもおk?

632:デフォルトの名無しさん
23/05/26 12:03:03.90 ESB2ogqid.net
powershellはC#コードも埋め込みできて、ある意味最高の環境と言えるけど
どちらにも習熟してる必要がある
C#学習には遠回り

633:デフォルトの名無しさん (ワッチョイ 635f-T+0c)
23/05/26 13:27:28.71 qCbIeycU0.net
起動がおっそいんだよね。Pwershellは

634:デフォルトの名無しさん
23/05/26 14:43:40.75 VY0JKlLq0.net
ワイのマシンだとサックサクやが

635:デフォルトの名無しさん
23/05/26 16:09:35.41 H1TABfb/0.net
powershellはダブルクリックで動かないから使いにくい

636:デフォルトの名無しさん
23/05/26 19:54:48.14 muRHf0j+0.net
>>628
動くようにできるぞ
ダブルクリックで動くようにしたらお前らがまたトロイにひっかかって大騒ぎするからデフォではできなくしてるだけだ

637:デフォルトの名無しさん
23/05/26 20:34:46.49 u2vLXVTG0.net
今コピーツールを作ってるんだが、Powershellと連動させたら需要あるかね?
みんなPowershellで何をやってるんだ?

638:デフォルトの名無しさん
23/05/26 20:48:28.57 u2vLXVTG0.net
javaには戻れないからC#の案件が増えてくれるのを期待するのみ。
エラーがどこに出てるかさっぱりわからんかったJavaは。
今でも動かないコードあるし、何が何だかさっぱり分からない。
その点C#はMicrosoft様が一括でやってくれるので俺でもできた。
javaやるくらいならKotlinやるよ。
面倒くさすぎ

639:デフォルトの名無しさん (スッップ Sdea-6Vlr)
23/05/26 21:17:54.23 TqdGfdUid.net
馬鹿には無理なだけだぞ

640:デフォルトの名無しさん (ワッチョイ 7bac-MKim)
23/05/26 21:33:51.93 te4x+q3p0.net
まあJavaよりKotlinC#って気持ちは同意

641:デフォルトの名無しさん (ワッチョイ 0ade-FIIW)
23/05/26 22:20:09.88 H1TABfb/0.net
>>629
人に渡すときの事考えるとやっぱりちょっと
ダブルクリックしたら警告する程度でよかたのに

642:デフォルトの名無しさん
23/05/26 23:24:33.59 G1kfSu5s0.net
Kotlinは好き

643:デフォルトの名無しさん
23/05/26 23:56:40.58 wgfazHWx0.net
>>634
restrictedを指定したバッチファイルと一緒に配布すればいいよ。

644:デフォルトの名無しさん (ワッチョイ 9f2f-AKtI)
23/05/27 03:35:48.04 OwhwG7LR0.net
Javaの検査例外とはいったい何だったのか

もうちょっとあれが正常進化しなかったのかなぁ

645:デフォルトの名無しさん
23/05/27 08:52:14.00 6hc4zw7M0.net
>>634
人に渡すならC#でいんじゃね

646:デフォルトの名無しさん
23/05/27 08:55:45.91 6hc4zw7M0.net
>>637
リスコフの置換原則を強制するためのものだけど土方にはそんな強制不要だし検査例外だけじゃ強制できないから中途半端で使いにくくなるだけなんだよね

647:デフォルトの名無しさん
23/05/27 13:23:39.47 huktXfN70.net
>>636
ちょっとなんだかなあって感じするけど、それがベストか
>>638
テキストエディタとかで簡単に修正できたほうがいいかなって

648:デフォルトの名無しさん
23/05/27 16:16:22.11 A4bXwFD8M.net
>>617
自動化とかのコンテキストで、GUI無しの業務App増えてきたよ

649:デフォルトの名無しさん
23/05/27 17:17:59.98 luIlnn62r.net
コンテキストの使い方間違ってないか?

650:デフォルトの名無しさん
23/05/27 19:10:08.90 A4bXwFD8M.net
>>642
コンテキスト=文脈ってことで指摘を受けること無いと思うんだけど、なにか癇に障った?

651:デフォルトの名無しさん
23/05/27 19:14:06.41 4YJ0U8GR0.net
>>642
問題なく伝わる使い方だよ(「文脈」を指す表現)

652:デフォルトの名無しさん
23/05/27 19:39:01.46 1jtsLrYta.net
URLリンク(kotobank.jp)
文脈
> ある単語や句や文に対して,その前後の単語や句や文が及ぼす意味的規定力。

653:デフォルトの名無しさん
23/05/27 19:43:24.60 1jtsLrYta.net
ウェブ開発のコンテキストでAPIはウェブAPIを指す
Windowsネイティブアプリ開発のコンテキストでAPIはWin32APIを指す
↑こういう使い方は「コンテキスト」の使い方として正しい
>>641のコンテキストは俺も見たことない使い方だから説明要るんじゃね

654:デフォルトの名無しさん
23/05/27 19:44:03.03 luIlnn62r.net
>>643-644
コンテキスト言いたいだけやろ
要らんやん

655:デフォルトの名無しさん
23/05/27 19:51:45.58 t60D5gLTM.net
状況や流れで変わる何かが合って
その時の状況や流れが コンテキスト にあたる
全く同じことをしていても解釈が違うのはコンテキスト依存だから

656:デフォルトの名無しさん
23/05/27 19:57:36.16 gMKf+OGS0.net
どんどんアホみたいな方向に話が展開していく
This is the bikeshedding

657:デフォルトの名無しさん
23/05/27 19:58:22.03 t60D5gLTM.net
正直なところ今回の用法ではあまりマッチしてるようには感じない
とりあえずそれが何かとの勘違いだとして何と勘違いしたのかを考えてみよう

658:デフォルトの名無しさん
23/05/27 20:05:30.51 luIlnn62r.net
なんだよ自動化のコンテキストって
夜間バッチかな、メッセージングかな、FAかな
どうせコンテキスト使うならコンテキスト境界を明確にしろっつうの

659:デフォルトの名無しさん
23/05/27 20:15:18.43 t60D5gLTM.net
セグメントあたりかな?
カテゴリー、ジャンルやフィールドとかそういうのの狭い分野とかそういう事を言いたいんじゃないかと

660:デフォルトの名無しさん
23/05/27 20:29:32.13 1lF7S9LF0.net
>>651
イマドキ自動化って言われたらRPAやろ
まあ無能には分からんか

661:デフォルトの名無しさん
23/05/27 20:40:46.31 mBQrOHHnr.net
コンテキストの使い方としては問題ないだろうけど、その言葉を選ぶことが場にそぐわないというか
匿名掲示板の会話の中で使うと浮く言葉だという感覚は多少あるかな

662:デフォルトの名無しさん
23/05/27 20:50:51.87 1lF7S9LF0.net
なんでもいいけどプログラムの話しろよ無能ども

663:デフォルトの名無しさん
23/05/27 20:57:34.82 Iuy4wHgO0.net
くっだらなね。

664:デフォルトの名無しさん
23/05/27 20:59:33.78 luIlnn62r.net
>>653
元レスからの文脈を辿ればRPAは出てこねんだわ

665:デフォルトの名無しさん
23/05/27 21:04:07.97 t60D5gLTM.net
void Say(string text){
Console.WriteLine(text);
]

void Display(string text){
Console.WriteLine(text);
]
みたいのがあって中身が同じだけど別になってるのはコンテキストが違うから
コンテキスト無視してvoid Print()なんかにまとめちゃってからやっぱセリフは水色表示しましょうとなると修正が大変
と無理やりプログラムに絡める

666:デフォルトの名無しさん
23/05/27 21:22:29.54 FRBwBfHVd.net
>>653
馬鹿ってバッチ処理とか知らんのかね

667:デフォルトの名無しさん
23/05/27 21:24:53.37 1lF7S9LF0.net
>>659
今時って言ってるやん
馬鹿って理解できないのかねw

668:デフォルトの名無しさん
23/05/27 21:25:19.63 1lF7S9LF0.net
>>657
それってお前が馬鹿なだけやろ?

669:デフォルトの名無しさん
23/05/27 21:27:26.31 FRBwBfHVd.net
>>660
こういう馬鹿が夜間で終わらないバッチ処理を作って訴訟になる

670:デフォルトの名無しさん
23/05/27 21:32:00.54 1lF7S9LF0.net
>>662
アホすぎw

671:デフォルトの名無しさん
23/05/27 21:35:35.76 t60D5gLTM.net
処理内容が同一でもコンテキストが同一とは限らない
処理内容が同一でもコンテキストが異なれば処理内容は同一であり続けるとは限らない
処理内容が同一でもコンテキストとして違いがあるのであればメソッドは別々にするのが望ましい

672:デフォルトの名無しさん
23/05/27 21:40:14.44 /3dI5F000.net
>>661
じゃあRPAと絡めたGUIなしアプリの具体例を出してみろよ

673:デフォルトの名無しさん (ワッチョイ 6b5f-tyRn)
23/05/27 22:45:19.23 4YJ0U8GR0.net
>>651
それらが元々GUIを備えていると本気で思っているのか?w

674:デフォルトの名無しさん (ワッチョイ 9f01-d/9P)
23/05/27 22:57:22.60 A+Fg27pW0.net
「文脈」の使い方が間違ってるよね

675:デフォルトの名無しさん (ワッチョイ ab07-8jEt)
23/05/27 23:16:21.54 6hc4zw7M0.net
「文脈」は死語なんじゃね
前後の文読まないやつが大増殖してもう慣れたわ

676:デフォルトの名無しさん
23/05/27 23:49:42.44 jeBcG8q10.net
「死後」の意味も判ってない模様

677:デフォルトの名無しさん
23/05/28 00:12:05.41 oxdpIcYI0.net
マの板でアメリカがデフォルトの危機言われて
頭ん中??????????????ってなる人たち?

678:デフォルトの名無しさん
23/05/28 01:01:41.22 rmgfnmD+a.net
>>669
突然関係ない話をしてどうした?

679:デフォルトの名無しさん (ワッチョイ 0f10-S+HU)
23/05/28 06:52:03.18 7NA4xXcX0.net
なんか急に賑やかになってると思ったらお前らww

680:デフォルトの名無しさん
23/05/28 11:02:05.14 LhRRD0FE0.net
ちょっと聞きたいんだがさらに一歩難いアルゴリズムについてね
本屋に基礎的なアルゴリズムを開設してる本はいっぱいあるし理解できるけど
海外の学者が書いた超分厚い専門書的なもんはマジでわからん
最適化とか巡回セールスマンとか群論とかトポロジーとかそのレベルも理解必要なんですかね?
C#できます!基本的なアルゴリズム理解できます!だけはちょい恥ずい
皆さんC#の言語仕様詳しいけど俺はさらに上を行ってるって自信を持てるには言語使用だけで
十分なんですかね?やっぱアルゴリズムも欲しがるべき?

681:デフォルトの名無しさん
23/05/28 11:06:53.24 7NA4xXcX0.net
そのへんの業務アプリ開発のコーダーくらいなら要らないんじゃね

682:デフォルトの名無しさん
23/05/28 11:15:47.39 eP2DgR+S0.net
要らんよね。
どこで使うんだろ

683:デフォルトの名無しさん
23/05/28 11:19:53.53 pYaNr1fI0.net
ゲーム開発とか

684:デフォルトの名無しさん
23/05/28 11:25:22.80 1uqhjo5xa.net
>>673
それは本当に専門書なのか?
割と基礎の部類に入るからQiitaでもいくつも記事あると思うぞ
土方には必要のない知識だけど使えるようになっておけば収入が高い職場に行けるかもしれんからやっておいて損はない

685:デフォルトの名無しさん
23/05/28 11:55:29.61 MoCGpZK6M.net
実際にコードが書けなくても必要な時にそのパターンに当てはまると知っているだけ良い
たまに概念などを興味本位で知る程度で十分
キーワードを知ってるだけで強い
自分が大学で最初に習ったアルゴリズムはソート
複数のソートの手法を学ぶ
それで計算量などの基礎的概念を刻み込む
それが出来るなら最適化についての段階は踏める
じゃあ数式を見てコードに落とせるかと言えば無理だと思う
そこから本気出すかライブラリ探すかになる

686:デフォルトの名無しさん
23/05/28 12:04:46.44 9AZMVk0MM.net
一般的なソートや検索のアルゴリズムは本屋にある基礎的なアルゴリズム解説本でカバーされてるやろ
今広く一般的に使われてるソート関数で使われてる細かい最適化の中身まではカバーされてないけど

687:デフォルトの名無しさん
23/05/28 12:07:38.06 1uqhjo5xa.net
ていうか自信の持ち方がいびつな気がするな
作ったアプリで自信持てば?
C#ならUnityでストア販売できるだろ
売上見てニヤつけよ

688:デフォルトの名無しさん
23/05/28 12:19:40.75 MoCGpZK6M.net
知りたいときに知りたいことを学べばいい
ライブラリで済むなら勉強することもないかもしれない
大学でオペレーションズリサーチの講義を取った
そこでは問題の概念について軽く学んで後はずっと確率などの微積分を行う
コードなどは一切書かないし手順すら学ばない
試験も同じで計算や数式を証明したりする
一般的なコーディングにはほぼ意味がないけど何かの問題解決するためには必要な人には必要
大体の人には無縁
難しい本だけど大学の教科書の内容ですら半年かけて講師に教わって学ぶ内容なので本を開いてぱっと理解できなくても何も問題ない
そういうものだと

689:デフォルトの名無しさん
23/05/28 12:24:36.31 MoCGpZK6M.net
1950~1970ごろにそういったサイエンスが花開いて多数の天才たちが研究し確立した手法を
今後追いで勉強してる
急ぐことはない

690:デフォルトの名無しさん
23/05/28 12:29:49.04 pYaNr1fI0.net
業務アプリではまず使わん
ソートも探索もコレクションクラスのメソッドを使うだけ
黎明期ならまだしも今はPCの性能が上がって最適化の性能差もほとんど問題にならない
リアルタイムゲームとか機械学習系では使うだろうけど

691:デフォルトの名無しさん
23/05/28 12:46:59.48 1uqhjo5xa.net
>>683
トポロジカルソートはタスクの優先順位を決めるのに使うだろ
ライブラリにあるか?

692:デフォルトの名無しさん
23/05/28 12:49:42.09 uUhZbJL9a.net
トロピカルフルーツ?

693:デフォルトの名無しさん
23/05/28 12:52:11.08 1uqhjo5xa.net
群論というのは0個以上の要素を扱う時に使う
JSのfilterやmapやreduceはそのカテゴリに入る
何でもかんでもforでやってたら複雑になりすぎるし逆に何でもかんでもreduce使っても複雑になりすぎる
こういう時に汎用的に使える関数を作れたら生産性上がるぞ

694:デフォルトの名無しさん
23/05/28 12:58:01.84 o9dc7/1oa.net
初歩的な質問ですみません。
アドバイスを頂きたいです。
ある通信機器から10分間隔で指定のデータを取得し、そのデータをファイルに記述するプログラ厶をサービスアプリで作成しました。
追加の要件としてユーザーからの操作でデータ収集を停止/再開させる機能が必要になりました。
操作用のボタンが必要になるのですが、サービスアプリではGUIを持てないと認識しているのでフォームアプリで作成し直す必要があると考えています。
停止が押されていない間はデータ収集を継続したいのですが、フォームアプリだとユーザーが画面を落とす(×ボタン押下)可能性が考えられます。
画面を落とした時、つまりフォームが立ち上がっていないときでも収集処理をすることは可能でしょうか?
調べるとBackgroundWo


695:rkerなどは出てくるのですが、これは少し意味合いが違っているように感じており、似たような例を見つけられませんでした…。



696:デフォルトの名無しさん
23/05/28 13:00:11.07 pYaNr1fI0.net
サービスなら止めたり再開するAPIあるやろ

697:デフォルトの名無しさん
23/05/28 13:00:59.13 1uqhjo5xa.net
本体はサービスで作ってUI専用のフォームアプリから名前付きパイプでシグナル送ればいんじゃね

698:デフォルトの名無しさん
23/05/28 13:03:52.90 1uqhjo5xa.net
>>688
そういやそうか
URLリンク(learn.microsoft.com)

699:デフォルトの名無しさん
23/05/28 13:48:09.53 7NA4xXcX0.net
>>689のようなプロセス間通信制御でもいいし
どうしてもフォームアプリで統合したいなら、×ボタン無効化したり
FormClosingイベント拾って閉じるのキャンセルして代わりにHideするようにしたりすればいいんじゃない?

700:デフォルトの名無しさん (ワッチョイ 9f80-FA6k)
23/05/28 14:06:11.06 pYaNr1fI0.net
PowerShellに、Suspend-Service とかRestart-Serviceとか、そのまんまのサービス系のコマンドがいろいろある

701:デフォルトの名無しさん
23/05/28 14:46:33.46 urnIPGLqM.net
>>687 です
回答ありがとうございます
FormClosingイベントでウィンドウを閉じたように見せるだけ、というのもあるんですね
試せる環境が今手元に無いのですが、Hideで隠した状態で、ユーザーが再度フォームを立ち上げた場合は、隠したものと新たに起動した2つのフォームが動いている状態になるんでしょうか?

>>692
なるほど、このコマンドのバッチファイルを作っておいてユーザーにはそれをダブルクリックして停止/再開をしてもらうのが手軽かもしれません

702:デフォルトの名無しさん
23/05/28 14:53:07.28 E8Oz4qmg0.net
scコマンドに停止/再開の引数付けたショートカット作ってもいいぞ

703:デフォルトの名無しさん
23/05/28 15:07:22.90 LhRRD0FE0.net
>>677
最適化と組み合わせ論だっけ?
めちゃくちゃ分厚くて数式だらけだった気がする
全然わからん
あーいうのが読めなくて自信喪失してる最中

704:デフォルトの名無しさん
23/05/28 16:08:43.34 19IHwxiC0.net
>>687
バックグラウンドデーモンを誰が停止・開始制御するかという命題では?
プレビリッジ権限の認証問題がシステム課題であって、APIやパイプラインなどというアクイジションのテクニックなんか些細な問題。
UMLユースケースを書き、SOLID原則のSRP遵守でUSERを明確にし、必要に応じてFACARDやFACTORYで入り口を切り分ける事。
この場合は、認証問題がキモ。 ボタンがどうのこうのではない。

705:デフォルトの名無しさん (ワッチョイ 9f79-dfVX)
23/05/28 16:29:16.20 pV4wEcmO0.net
サービスを稼動させたまま外部から設定を変更したい
サービスとの通信は>>689のように名前付きパイプでいいが、操作用UIとは完全に切り離した方がいい
今時のタスクトレイに常駐するタイプのサービスはほぼそうなってるはず
どちらにしろプロセスは別々になるが>>>691みたいな考え方で作るとUI側に余計な権限が残ってしまう恐れがある

706:デフォルトの名無しさん
23/05/28 16:34:24.11 pYaNr1fI0.net
だいぶ拗らせてるな

707:デフォルトの名無しさん
23/05/28 17:57:25.94 vErPSHdQM.net
拗らせ風のレスはわざでしょ
もともとサービスのスタート・ストップをどうやるつもりだったのかは重要なポイントだと思うよ
最初から必要そうな機能が”追加要件”扱いなのもちょっと臭う

708:デフォルトの名無しさん
23/05/28 18:13:01.32 7NA4xXcX0.net
まぁ、追加要件で重要なのが出て来るのよくあることじゃし(白目

709:デフォルトの名無しさん
23/05/28 18:21:31.64 FaN+2ocOa.net
>>695
組合せ最適化問題じゃね?
多分ナップサック問題が最初の方に出てきただろ
そういうのはだいたい動的計画法で解く
AtCoderのD問題の定番だから洋書なんて読まなくても競プロしてりゃすぐ覚えるぞ

710:デフォルトの名無しさん
23/05/28 18:23:17.88 FaN+2ocOa.net
「EDPC」を検索すれば日本人の書いた記事や動画が山ほど見つかると思う

711:デフォルトの名無しさん
23/05/28 18:46:26.18 EBgEX/XFM.net
>>697
知識が足りなくてきちんと理解出来ていないのですがUIは停止/再開のフラグを投げるだけの機能に限定し、現状収集機能を持っているサービス側とは完全に分けるべきという認識で合っていますか?
元々はこういった機能は必要ないとのことで作り始めたんですが、製造現場としてはデータを出したくないタイミングがあると要望が出たので重要な機能ですが後付けになりました…

712:デフォルトの名無しさん
23/05/28 18:57:13.01 3dp1E4GEd.net
こういう馬鹿に作らせるなよ

713:デフォルトの名無しさん (ワッチョイ dfbd-/RYi)
23/05/28 20:39:40.10 Tc1TIXcj0.net
せっかくサービスアプリケーションにして安定稼働できているなら、
わざわざGUIアプリケーション化せずに、
GUIアプリケーションから名前付きパイプでサービスに指示するだけのほうがいい。

最近Cで非同期の名前付きパイプクライアントを書いて、
C#で非同期の名前付きパイプサーバーを書いたら、
C#のほうがあっという間に書けて感動した。
(Cのほうも非同期ファイルI/Oのコードを元に作ったからすぐできたけど)

714:デフォルトの名無しさん (ワッチョイ 9f79-dfVX)
23/05/28 20:55:11.64 pV4wEcmO0.net
>>703
>>687はデータ収集の停止や再開だけで、サービスを停止させたいとは書いてないからそれを前提で回答してるけど
サービス停止の影響範囲によってはサービスとの通信すら不要かもしれない。けどそれを知ってるのは本人だけなんだよ
要件を洗い直した方がいいよ

715:デフォルトの名無しさん (ワッチョイ 9f79-dfVX)
23/05/28 21:08:37.51 pV4wEcmO0.net
サービスアプリはVista以降は別のセッションで動くから、それをGUIから制御したい場合は
制御用のプロセスを生成してサービスとのプロセス間通信手段を確立する必要があるわけよ
ただし要件によっては既存のサービスの停止や再開と状態の参照程度で済むからそれ用のGUIなんて1日もあれば作れるでしょうよ

716:デフォルトの名無しさん
23/05/29 06:57:21.51 NVp4lIGp0.net
初心者の質問するスレなのにしれっとプロが質問するのはなんだかなあ
バカは初心者じゃなくても質問していいという判断なのか

717:デフォルトの名無しさん
23/05/29 08:35:53.55 4b7YEgmx0.net
プロの初心者も居るには居るけどな

718:デフォルトの名無しさん
23/05/29 08:43:49.19 n96cT9XUa.net
金もらってるやつが初心者名乗るのは流石に草
せめて研修中なら名乗ってもいい

719:デフォルトの名無しさん
23/05/29 08:45:57.08 n96cT9XUa.net
入団1年目のプロ野球選手でも今年入社したばかりのアナウンサーでも初心者じゃなく新人だろうに

720:デフォルトの名無しさん
23/05/29 08:56:42.77 4b7YEgmx0.net
それまでC#触ったこともないけど都合上C#に転向しなきゃいけなくなったらC#は初心者だろw

721:デフォルトの名無しさん
23/05/29 08:58:41.25 4b7YEgmx0.net
それともあれか、スレタイの初心者はプログラム初心者の意味だったんか?
テンプレにはそんなこと一言も書かれてないけどな

722:デフォルトの名無しさん (アウアウウー Sa8f-8jEt)
23/05/29 09:30:39.19 n96cT9XUa.net
触ったこともないかどうかは関係ない
言葉の定義とかじゃなくプロが初心者を名乗るなってことだよ
Stack Overflow行けよ

723:デフォルトの名無しさん (ワッチョイ 9f80-FA6k)
23/05/29 09:31:59.20 gG8bkLfQ0.net
またしょうもない事で揉めてるな
ここの自称プロは

724:デフォルトの名無しさん (アウアウウー Sa8f-8jEt)
23/05/29 09:32:15.97 n96cT9XUa.net
プロというのはそれで飯食ってるやつのことだろ?
初心者を言い訳にできるはずがないだろ

725:デフォルトの名無しさん (ワッチョイ bb33-A/tE)
23/05/29 09:53:25.00 2+KQpLGd0.net
万年掲示板初心者だらけだな

726:デフォルトの名無しさん (ワッチョイ 9f80-FA6k)
23/05/29 09:59:38.52 gG8bkLfQ0.net
プログラマーのプロをプロフェッショナルのプロと勘違いしてそう

727:デフォルトの名無しさん (ワッチョイ 9fde-S+HU)
23/05/29 10:02:54.60 5glDYifC0.net
セミプロのプロ

728:デフォルトの名無しさん
23/05/29 10:12:58.22 4b7YEgmx0.net
文脈がどうのコンテキストがどうのと言葉の定義に拘った癖に言葉の定義とかじゃないとか言い出すの草

729:デフォルトの名無しさん
23/05/29 10:35:34.40 n96cT9XUa.net
辞書的な言葉の定義じゃなくコンテキストで意味が決まってるからなw
コンテキストを知らないやつと話すのは説明が長くなってしんどいなw

730:デフォルトの名無しさん
23/05/29 11:25:09.12 cZZAOa7Fd.net
金もらってたらプロならこの業界プロで初心者は普通に存在するだろう
野球選手なんぞを引き合いに出すのが的外れ

731:デフォルトの名無しさん
23/05/29 11:52:08.40 n96cT9XUa.net
コンテキストが理解できないやつのためにまとめると、プロなら初心者を言い訳にせずStack Overflowに書けよって話だぞ?w

732:デフォルトの名無しさん
23/05/29 12:04:27.26 cZZAOa7Fd.net
初心者ならここで質問してもいいだろうって話
金もらってるかどうかは無関係

733:デフォルトの名無しさん
23/05/29 19:11:00.49 az14uG3b0.net
バーコードリーダーから取得したバーコードデータをフォームアプリの
テキストボックスに入力して、バーコードデータを読み終わったら
処理をするプログラムを作りたいのですが、
バーコードデータの読み込み終了を知るにはどうしたら良いでしょうか。
一文字読み取るごとに終端文字列を判定すれば出来るのかなと思うのですが、
王道のやり方があったらお教え頂きたいです。

734:デフォルトの名無しさん
23/05/29 19:13:13.18 M6W/ObnYd.net
また馬鹿が来た

735:デフォルトの名無しさん
23/05/29 19:19:07.19 6va+z9rTp.net
API仕様嫁としかw

736:デフォルトの名無しさん
23/05/29 19:20:31.50 NVp4lIGp0.net
これでプロなんだぜ

737:デフォルトの名無しさん
23/05/29 19:41:24.70 cWs/PGXpa.net
>>727
キーボードとして認識されるタイプじゃね


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch