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
キーボードとして認識されるタイプじゃね
738:デフォルトの名無しさん
23/05/29 19:44:52.37 a35GfSoK0.net
>>725
バーコードリーダー付属の設定用紙(なければ公式サイトからダウンロード)で
スキャンデータの末尾にCRLFを付与する設定にすればOK
メーカーによってはアプリで設定するものもあるのでマニュアル読んでね
739:デフォルトの名無しさん
23/05/29 19:50:57.54 JR9OEd1l0.net
時期的に新人さんのOJTの課題かな
740:デフォルトの名無しさん (スプッッ Sdbf-HzZj)
23/05/29 20:23:23.15 x2JUK8cad.net
先頭に別の制御コードを付加して、それを検出してテキストボックスにフォーカス当てるなんてのもよくある
741:デフォルトの名無しさん
23/05/29 21:44:45.49 az14uG3b0.net
バーコードの者ですが、キーボードのように動作してスキャンデータの末尾にCRLFが
付加されるタイプです。
テキストボックスのチェンジイベントごとにテキストボックスの文字を監視すれば
良いかなと思ってるのですが、世間にはもっとスマートなやり方があるのかと思い
聞いてみたのです。
初心者なので、C#相談室には行かず、ふらっと C#の方に来たのですが。。。
742:デフォルトの名無しさん
23/05/29 21:46:51.88 nfi+BvtEp.net
素朴な疑問なんだけど、なんでテキストボックスで受けようとした?
743:デフォルトの名無しさん (ワッチョイ efda-eDe+)
23/05/29 21:52:13.37 4g+5lQrq0.net
>>733
HIDとして認識されるバーコードリーダは、言い換えれば単なるキーボード入力でしかないので王道は無い。
(この場合、本物のキーボードをガチャガチャおしながらバーコード読み取るとか意地悪されると思うので、指定桁数とか見て頑張るしかない)
ドライバをインストールして使うようなバーコードリーダならSDKに従えとしか言えない。
744:デフォルトの名無しさん (スプッッ Sdbf-HzZj)
23/05/29 21:53:29.62 x2JUK8cad.net
>>733
文字を監視するよりキーダウンかキープレスあたりのイベントでキーコードを監視するのがベターかな
文字として表れない制御コードも検知できるから
745:デフォルトの名無しさん (ササクッテロラ Spcf-hD65)
23/05/29 21:56:22.76 DONu3V9Bp.net
そのテキストボックスにフォーカスしてないと読み取りが正しく入力出来ないとか、馬鹿な仕様だなぁ
746:デフォルトの名無しさん (ワッチョイ 7b78-S+HU)
23/05/29 22:07:01.27 a35GfSoK0.net
>>737
他にどんな方法があるの?
747:デフォルトの名無しさん
23/05/29 22:21:48.60 smYbWQE70.net
また頭でっかちがバカバカ言ってるん?
748:デフォルトの名無しさん
23/05/29 22:25:34.30 4b7YEgmx0.net
バーコードの入力をテキストボックスで受ける業務システムなんてごまんとあるがねぇ
749:デフォルトの名無しさん
23/05/29 22:44:21.98 AkAnX1XDd.net
>>733
C#以前の問題だろ
他へ行けよ
750:デフォルトの名無しさん
23/05/29 22:45:14.75 az14uG3b0.net
逆にキーボードのように動くバーコードリーダーのデータをテキストボックス以外で
入力する方法ってあるのでしょうか。
751:デフォルトの名無しさん
23/05/29 22:58:50.24 M6W/ObnYd.net
こんなのが作る業務システムって…
752:デフォルトの名無しさん
23/05/29 23:16:04.08 aYNq1fNY0.net
質問に答えずにバカにするだけの住人wwwwwwwww
あ、ワイのことね。
753:デフォルトの名無しさん
23/05/29 23:23:42.86 vDJtnbWH0.net
むしろテキストボックスしかキーボード入力出来ないと思ってる方が不思議だわ
キーフックとか色々あるだろw
754:デフォルトの名無しさん
23/05/30 06:51:07.31 J/GTXBvW0.net
場合によりけりだろ
755:デフォルトの名無しさん (ワッチョイ ef42-S+HU)
23/05/30 07:31:00.41 supAgpDx0.net
>>742
あまり詳しいわけじゃないが、グルーバルキーフックで行けるんじゃね?
URLリンク(aonasuzutsuki.hatenablog.jp)
756:デフォルトの名無しさん
23/05/30 07:53:38.18 bfEjfZ0jr.net
>>743
仕事できない癖に一丁前に文句だけ言うタイプ
757:デフォルトの名無しさん (ワッチョイ bba5-EoPE)
23/05/30 09:32:04.16 5jyHeOoZ0.net
>>745
キーボードの入力とバーコードリーダーの入力をどうやって区別するの?
758:デフォルトの名無しさん
23/05/30 10:18:37.15 lEu3ICMm0.net
バーコード・QRリーダーにシリアルモード無いの? あれば、シリアルで処理すべし。
759:デフォルトの名無しさん
23/05/30 10:22:34.36 4h93jK/S0.net
RawInputというハードウェアを区別して入力を識別できる仕組みがある
URLリンク(learn.microsoft.com)
でもバーコード読み取りながらキーボード操作するなんて普通はやらないし
大体はEnterが入力されたらtextboxの文字数をチェックして
想定外の文字数が入力されてたらエラーで再度読み取りを促すとかで済ませてそう
760:デフォルトの名無しさん
23/05/30 10:39:12.21 fRxDhXvsp.net
>>749
安いバーコードリーダー使ってる奴は運用でカバーするしか無いだろw
許容出来ないならプロジェクト自体が破綻してるって事さw
761:デフォルトの名無しさん
23/05/30 10:42:26.90 Myxtqo5cp.net
>>751
こんなのがあるんだぁ
でも初心者スレにゃ敷居が高いかなw
762:デフォルトの名無しさん
23/05/30 10:49:12.86 bfEjfZ0jr.net
ふらっとC♯で質問をバカにすんなよ
C#相談室に来ちまうだろ
気に入らんならスルーしろ
763:デフォルトの名無しさん
23/05/30 10:59:18.28 S+eBT5oEp.net
>>754
むしろ引き取ってくれw
764:デフォルトの名無しさん (ワッチョイ ebe5-S+HU)
23/05/30 11:37:11.46 4ZtLJnCc0.net
>>750
頭でっかちはだいたいこうやって視野狭窄する
765:デフォルトの名無しさん (ワッチョイ ab07-8jEt)
23/05/30 19:47:16.20 58WJoE530.net
そもそも画像そのまま送ってPCで処理するのが一番手間かからないんだがな
766:デフォルトの名無しさん
23/05/30 20:53:22.26 XqwYghOK0.net
>>751
業務システムは実際そんなもん
テキストボックスで受けてチェックデジットでチェックして~とかぐらい
767:デフォルトの名無しさん
23/05/30 20:59:58.77 F+V5WuV6p.net
>>758
そのノリで顧客が直に使うアプリを作ると最悪なユーザビリティのモノになるんだよなぁ
使い方レクチャーしなきゃダメなアプリってまるでマイナポータルみたいw
768:デフォルトの名無しさん
23/05/30 21:09:46.60 1rcYEXOM0.net
他にキーボード入力無ければ普通にKeyDownで処理すりゃいいんじゃね
つか、最近のリーダーなら終端文字列設定可能になってるのが多いと思うけどな
769:デフォルトの名無しさん
23/05/30 21:33:48.29 VFhOrU+Nd.net
最近( ´,_ゝ`)プッ
770:デフォルトの名無しさん
23/05/30 22:43:21.58 /80DjIsi0.net
>>751
バーコードリーダーを複数台繋げられないかと考えていたところなので興味深い。
771:デフォルトの名無しさん
23/05/30 22:51:53.77 aqCv98Mpa.net
なんだかんだで考えてあげるお前ら優しいね(*´ω`*)
772:デフォルトの名無しさん
23/05/31 06:26:02.95 bZhrN1mv0.net
バーコードの者ですが
・1文字入力される度に終端文字を評価して終端文字が来たらコードを確定するやり方は王道
・テキストボックス以外にキーをホックする事もできる
ということが分かりました
世間一般とは外れたやり方をしないで済みそうです
ありがとうございます
773:デフォルトの名無しさん
23/05/31 08:26:16.71 r9qRlQV50.net
ハゲは辛いよな
774:デフォルトの名無しさん
23/05/31 09:03:04.25 w6ivfughr.net
いっそのことスキンにすればいいのにな
775:デフォルトの名無しさん
23/05/31 19:26:15.32 5lDwRBwp0.net
また髪の話してる
776:デフォルトの名無しさん
23/06/01 03:00:02.61 toxSQWi90.net
Visal Studio for Mac2022で自動保存の設定の場所を探してるんですが
見つかりません
ユーザー設定の中にありますか?
777:デフォルトの名無しさん
23/06/01 07:54:17.29 LS3jNsYU0.net
visalはしらんがVSなら本スレいけ
778:デフォルトの名無しさん (ワッチョイ 0fbb-wRkZ)
23/06/01 12:50:37.21 6cGVvbbd0.net
完全に自動保存の代わりになるわけじゃないけど、ないのはHot Exitで代替しろってことなんじゃないのかな?
779:デフォルトの名無しさん
23/06/01 20:34:08.33 +dVQvBYt0.net
>>769
命令すんなよ?!
780:国名です
23/06/02 13:19:54.33 WyoC2q620.net
近くにやばい人がいた(ガチ)
781:デフォルトの名無しさん
23/06/02 13:59:45.66 XtwEbodRa.net
ヤバい人などめずらしくもない
782:デフォルトの名無しさん
23/06/09 10:06:48.95 MbL8YIrlp.net
俺ヤバ的に解釈すると、気になる子って事かな?
783:デフォルトの名無しさん
23/06/10 21:21:30.66 FuXZUb160.net
何故か急にBitmap.SetPixelが機能しなくなったんですが原因わかりません。
正方形範囲を青色で縫ってpictureboxに反映させるだけの超シンプルなコードです。
デバッグツール使うと青に塗った後Bitmap.GetPixelで色が反映されてるのは確認取れたんです。
でpictureboxにもちゃんとbitmap指定しました。でもpictureboxは何も変更されません。
適当な新規プロジェクト立てて全く同じコード書いたら普通に機能しました。
ひょっとすればプロジェクトが壊れたなんてことあります?
784:デフォルトの名無しさん
23/06/10 21:33:22.64 zUCBB0zf0.net
バージョン管理してないんか?
動いてたとこまで戻して差分確認すりゃいいじゃん
してないなら知らん
785:デフォルトの名無しさん
23/06/10 23:19:53.45 JneWu8RjM.net
xとyがどこかで入れ替わったとかそういうレベルの質問ではないよね
なんとなく原因がわかる気がするけどまあRefreshの話なんだろうね多分
786:デフォルトの名無しさん
23/06/10 23:24:58.55 JneWu8RjM.net
ググってもジャストミートする良いページが見つからないんだけど
c# picturebox refreshで出てくるのはドボンのページだからそれでいいのかな?
787:デフォルトの名無しさん
23/06/10 23:31:04.78 JneWu8RjM.net
一度目に指定するとそれは即反映される
二度目以降はリフレッシュさせないと反映されない
表示されてる画像をSetPixelしただけで毎回全部書き換えてたらとんでもなく重くなるでしょう
表示のタイミングはこちらで決められますと言うこと
788:デフォルトの名無しさん
23/06/10 23:50:06.20 JneWu8RjM.net
ところがwindowが重なったりした後に前に出すと新しい画面に書き換わったりしてる
これはwindowsがアプリのwindowの画像が無効になったので再描画しなさいと命令を出してるため
元から表示されてる画像は表示されていただけでアプリ内で保存されていない
それで新しい画像を表示するしかなくなる
789:デフォルトの名無しさん
23/06/11 00:08:45.00 wZmBwowG0.net
>>780
そういうことなんですか!チャットに聞いても分からなかったけど納得しました。
次は何故そういう状況になってしまったか考えないといけないですね。
ありがとうございました!
790:デフォルトの名無しさん
23/06/11 00:12:07.72 jsCGKiXwM.net
windowsワールドへようこそ!
自分も30年ほど前に同じことにぶち当たった
その時はc#では無かったけど
791:デフォルトの名無しさん
23/06/11 00:40:06.81 okFYrxW20.net
新規プロジェクトで同じコード書いたら動いたと言う話はなんだったんだ?
792:デフォルトの名無しさん
23/06/11 00:41:58.22 R/2qoB4K0.net
勝手な略語を使う馬鹿にまともなことを期待してはいけない
793:デフォルトの名無しさん
23/06/11 00:44:41.04 jsCGKiXwM.net
どちらかと言うと柔軟性のない君らはアスペルガー症候群なのかもしれないよ
794:デフォルトの名無しさん (アウアウウー Sadd-8W7i)
23/06/11 10:40:16.94 a75z9osJa.net
URLリンク(github.com)
これ知らんかったけど欲しかったやつ
あったんだ
795:デフォルトの名無しさん
23/06/12 08:20:00.96 9gPNlu+S0.net
>>780
まぁそれがつまるところRefreshなんだけど
796:デフォルトの名無しさん
23/06/12 09:51:36.95 NagvqA3h0.net
>>787
リフレッシュは良いんだけどasyncとか出てきて使う様になってバックグラウンドでUI更新しようして出来てないって事に気付いてないとか有るやん
UIスレッドじゃ無いと更新出来ないの知らない人も多いしスレッド切り替える方法知らない人も多い
797:デフォルトの名無しさん
23/06/13 07:59:18.79 0FRcsKll0.net
GitHubの使い方が分からない。
つまりこれって書いた差分をマージするってこと?
ブランチとかよくわからんが、支店を出すってこと?
コードをシェアするってことなんだけど、シェアする仲間がいない・・・
798:デフォルトの名無しさん
23/06/13 08:00:47.90 PEee/u2aa.net
そこからわからんなら使わなくていいぞ
C#のスレだしな
799:デフォルトの名無しさん
23/06/13 08:14:38.47 rV2623H60.net
支店のオーナーになって本店への併合を目指すゲームだよ
800:デフォルトの名無しさん (ワッチョイ 8bbb-f0F1)
23/06/14 12:43:21.90 zQTHCkUD0.net
>>789
githubも使い方gitと同じだから
801:デフォルトの名無しさん (アウアウウー Sadd-g1CP)
23/06/14 13:01:51.20 iWYHYN4ra.net
githubは差分を出してくれるけどcommitは差分じゃない
802:デフォルトの名無しさん (アウアウウー Sadd-8W7i)
23/06/14 13:06:37.94 GknXMRlPa.net
>>793
何を言ってるんだ?
803:デフォルトの名無しさん (ワッチョイ 017c-1yE0)
23/06/14 14:17:45.17 XWqksor40.net
バージョン管理なんだから差分とか考えるなよ
版管理だよ
804:デフォルトの名無しさん (アウアウウー Sadd-8W7i)
23/06/14 14:31:03.19 GknXMRlPa.net
差分の表示
git diff head^^ head^
805:デフォルトの名無しさん (オッペケ Sr05-8Dp1)
23/06/16 06:55:54.14 OHuIfsqSr.net
同一ネットワーク内の複数のPCで通信したいけどプロセス間通信って古いかな
今はSocketIOで非同期通信くらいしてないとダメかな
ちなみにフォームアプリの予定w
WPFは工数だけかかって面倒臭そう
806:デフォルトの名無しさん (ワッチョイ 8907-8W7i)
23/06/16 07:13:30.39 hLDZvlP60.net
複数のPCでプロセス間通信てどれかをサーバーにするしかないじゃん
リモートオブジェクトはなくなったぞ
URLリンク(learn.microsoft.com)
> .NET リモート処理は、.NET 6 以降ではサポートされていません。 .NET リモート処理は、問題のあるアーキテクチャであると判断されました。 これは、現在サポートされていないアプリケーション ドメインとの間の通信に使用されています。 また、リモート処理にはランタイム サポートも必要で、維持するのに高いコストがかかります。
807:デフォルトの名無しさん (ワッチョイ 3102-2rqm)
23/06/16 08:13:22.22 LNSu1MfD0.net
複数のPCってのがざっくりしすぎてるな
1対多ならMinimalAPIでサーバ建てりゃいいんじゃね
詳細はググってくれ
808:デフォルトの名無しさん (ワッチョイ a9e5-2rqm)
23/06/16 09:38:19.59 8cf3Z2YQ0.net
古いも何も、Socketで通信してようが他プロセスと通信する物はすべてプロセス間通信だろ
809:デフォルトの名無しさん (アウアウウー Sadd-g1CP)
23/06/16 10:04:28.26 ly+Q1cW8a.net
RPCとSocketIOを会話上で使い分けたいって意味かな
810:デフォルトの名無しさん (ササクッテロラ Sp05-mItu)
23/06/16 10:39:19.11 ZjNkxhYgp.net
いやいや実態が同じでも目的が違うだろ
811:デフォルトの名無しさん (スフッ Sd33-pDI4)
23/06/16 12:48:25.83 AFoiPDKcd.net
ほらね
URLリンク(futureys.tokyo)
812:デフォルトの名無しさん (オッペケ Sr05-VFpa)
23/06/16 13:37:11.38 JZEl94b2r.net
やっぱ Mercurial だな。
813:デフォルトの名無しさん (ワッチョイ b178-2rqm)
23/06/16 17:03:12.15 kBMaOVut0.net
bazaar だろ
814:デフォルトの名無しさん (ブーイモ MMeb-BK+T)
23/06/16 17:19:58.24 wS8/ZvHAM.net
>>797
どういうプロトコルでのプロセス間通信?
815:デフォルトの名無しさん (アウアウウー Sadd-8W7i)
23/06/16 17:58:26.69 xumbESuca.net
>>803
サイズのことなら後で最適化されるぞw
816:デフォルトの名無しさん (スップ Sd33-h5Ja)
23/06/16 20:02:10.64 BdjqvBhXd.net
そういえば、IpcServer使ってる。
ちゃんと動いてるし、もう、変えたくないわぁ
817:デフォルトの名無しさん (スップ Sd33-h5Ja)
23/06/16 20:06:39.73 BdjqvBhXd.net
ぎりぎりまで、.netcore系には移りたくないね
818:デフォルトの名無しさん (オッペケ Sr05-Cr01)
23/06/16 22:22:57.11 koUma95Nr.net
既存のアプリケーションを移行したくないのはわかる
けど、null不許容参照型が使えないのはいまどきあり得ない
819:デフォルトの名無しさん (ワッチョイ 1379-hEWj)
23/06/16 23:36:36.10 sUccxFc+0.net
これだからフレームワークありきの環境はダメなんだよ
やっぱC/C++しか信じられん!…ってなるのぉ?
820:デフォルトの名無しさん (ワッチョイ 79ac-t2KC)
23/06/17 01:27:12.96 96RBnRrs0.net
金無限にあるならともかく、現実はフレームワーク使わんと採算とれないことがそこそこある
821:デフォルトの名無しさん (ワッチョイ a2bd-L1I+)
23/06/17 05:59:53.37 3A62XWi80.net
>>798
「リモート処理」って訳されていて最初ピンとこなかったけど、
英語ページを見たらやっぱり.NET Remotingのことなのね。
822:デフォルトの名無しさん (ワッチョイ b1e5-C6j3)
23/06/17 08:16:10.20 uo5kyeT50.net
>>810
警告がうざったい……
823:デフォルトの名無しさん (ワッチョイ b6da-RnTl)
23/06/21 22:15:02.05 hW8H2hzX0.net
コンパイラのnullチェックもLinq to SQLが混じるとうまく働かないね。
まぁ限界があるのは分かる
824:デフォルトの名無しさん (ワッチョイ d242-C6j3)
23/06/22 01:03:28.84 AGxh0AyX0.net
Linq To SQLは大昔に終わっているからうまく動かないかもな
825:デフォルトの名無しさん (ワッチョイ 3274-hrKI)
23/06/22 04:35:53.17 CPcSxaDF0.net
わたしは今からLinq To SQLを勉強しようといろいろ川俣の本を買ったのですが。
826:デフォルトの名無しさん (ワッチョイ 8554-dYQK)
23/06/22 05:01:31.04 Xft5ksI80.net
自分自身にとって明確な理由やメリットがあって勉強するならいいと思う。
理由もなく、存在を知ったから目的ないのに勉強するというなら勉強不要。
たとえ話になるけど、ガチでプロ選手目指す野球少年なら野球の練習する意味あるけど、
大谷の話題で野球に興味持ったニワカが、目的なく練習しても意味ないでしょ。
827:デフォルトの名無しさん (ワッチョイ ad7c-ZjIi)
23/06/22 05:23:50.74 fUhg+N3Z0.net
そうでも無いやろ
プロになる気が無くても野球やってみたら才能がある事に気付いたとかあるやん
プロの選手だって高校までは別の競技やってたとか2つ同時にやってたとかあるやん
828:デフォルトの名無しさん (ワッチョイ f642-C6j3)
23/06/22 07:28:29.12 oInj3jkO0.net
勉強するならLinq To SQLより後継のefやる方が賢いとは思う
具体的な仕事があるなら別だが
829:デフォルトの名無しさん (ワッチョイ 6107-Tk+b)
23/06/22 07:31:19.22 U7fCu9Ru0.net
efはefで欠点多いからなぁ
自分で選べるならDapperが最強
830:デフォルトの名無しさん (ワッチョイ ad7c-ZjIi)
23/06/22 09:08:14.28 fUhg+N3Z0.net
WebなんかでステートレスならDapperで良いけどデスクトップアプリなんかでステートフルならEFの変更追跡なきゃだるいやん
用途で選べばいいんだよ
831:デフォルトの名無しさん (アウアウウー Sacd-Tk+b)
23/06/22 09:21:07.30 8AaELlpYa.net
変更追跡が役に立つ場面なんてほぼ無いよ
速度は無茶苦茶遅いし
どうしても追跡したいならDapperで使うクラスに変更通知やIEditableObjectでも仕込んでおいたほうがいい
832:デフォルトの名無しさん (スッップ Sdb2-6ESG)
23/06/22 13:34:23.63 iyk8obpJd.net
そろそろ的外れなたとえ話は罪に問えるようにするべきだな
833:デフォルトの名無しさん (ワッチョイ 22ea-hRAP)
23/07/07 20:47:23.54 BdypaOA90.net
visual studioのformでプロジェクトデザイナーの設定settings.settingsでint型の配列を使いたいん
[10]個ぐらいなんですけど、windowsFormでいい設定の保存方法ありますか?
834:デフォルトの名無しさん (ワッチョイ 0610-Mrss)
23/07/07 22:10:36.42 VQ1+4DlV0.net
>>825
デザイナーからじゃなくて直接Properties/Settings.settings/Settings.Designer.csに書けばいけるよ
でもデザイナ触るとcs上書きされるからまた追記しないといけないけどね
URLリンク(ideone.com)
835:デフォルトの名無しさん (ワッチョイ 22ea-hRAP)
23/07/07 22:51:58.76 BdypaOA90.net
>>826 さんくすです、デザイナーをいじらずListを追加するんですね Settings.Designer.csを書き換えたことをどこかに書いとかないとダメですね
837:デフォルトの名無しさん (アウアウウー Sabb-DX8j)
23/07/07 23:11:34.06 G77vHYnia.net
なんでpartialクラス使わねーの?
838:デフォルトの名無しさん (ワッチョイ 22ea-hRAP)
23/07/07 23:28:40.56 BdypaOA90.net
>>828
Settings.csの partial class Settingsを使えってことでしょうか?
839:デフォルトの名無しさん (アウアウウー Sabb-DX8j)
23/07/07 23:43:30.04 G77vHYnia.net
>>829
そっちが人間が書き換える用のファイル
840:デフォルトの名無しさん (ワッチョイ 9fea-kkOg)
23/07/08 08:13:42.94 91Ogp97S0.net
>>830
サンクスですSettings.csに書けば上書きされないってことですね
841:デフォルトの名無しさん (スッップ Sdbf-CFBc)
23/07/09 13:11:44.65 Dnv+EbFzd.net
通知領域のアイコンをクリックすると現れるメニューを複数列にしてみたいです
こういう場合は自作コントロールを作成する必要があると考えればよいですか?
この辺は未経験なので自分にはハードル高そうですが
昔から使わせて頂いてるMr.Clipboardというソフトウェアに類似するものを作ることが目標です。
842:デフォルトの名無しさん (スッップ Sdbf-CFBc)
23/07/09 13:23:58.06 Dnv+EbFzd.net
ん~contextMenuStripとかをいじって自作コントロールを作るという高いハードルを越えるより
通知領域アイコンをクリックした時に、メニューに似せたフォームが、ちょうどメニューが表示されるような位置に現れるようにしたほうがいいのかな・・・実現可能性は高そう
Mr.Clipboardの作者さんはどうやってこういうものを作ったんだろう
843:デフォルトの名無しさん (オッペケ Sr0b-kkOg)
23/07/09 14:28:31.42 qTcsfTmnr.net
古そうなソフトウェアだから
そもそもContextMenuStripじゃなくてContextMenu(=COMCTL32)を使ってるんじゃないかな
使ったことないから知らんけどひょっとしたら何かデフォルトで2列表示できる機能が備わってたりして
844:デフォルトの名無しさん (スッップ Sdbf-CFBc)
23/07/09 15:40:32.78 Dnv+EbFzd.net
>>834
ありがとうございます
画像貼れればいいのですが規制されててダメなんですごめんなさい
Mr.Clipboardを自分のPCで今使っているのですが、通知領域のアイコンをクリックすると、10列表示されます。
文字列を登録することができるのですが、登録数をふやすほど列も増えていく仕様なんです
列数だけではなく、1列当たりの行数なども柔軟に扱えないと実現できないのかなと思ってます。
一応>>833の方向性でやってみることにしました
継承やらオーバーライドやら試してみたい気持ちもあったのですが、.そもそもNETのソースコードを正しく読み解く自信が・・・
845:デフォルトの名無しさん (ワッチョイ 3768-rqKn)
23/07/09 16:18:02.54 rFc2qelE0.net
現在進行形でC#の仕事してるけどプログラミングよりもgitとかのほうが難しい
マーキュリアル開いて出てきたMQ パッチ適用がどうたらって何のこと?
846:デフォルトの名無しさん (ワッチョイ 9f80-KChr)
23/07/09 16:26:49.16 W7Z8cVLl0.net
Git の質問かと思ったら、マーキュリアルの話始めたり
精神分裂症かな
847:デフォルトの名無しさん (ワッチョイ 9701-xBPm)
23/07/10 01:02:30.69 qL1vqKUB0.net
混在してるか移行中のPJで初心者故に両者がごっちゃになってるだけだとエスパーしてみます
848:デフォルトの名無しさん (スップ Sd3f-mu37)
23/07/10 07:18:29.54 BXZpIYtLd.net
単に物を知らないのをバカにしたいだけで本気で精神分裂症とは思っとらんだろ
849:デフォルトの名無しさん (ワッチョイ 9f80-KChr)
23/07/10 09:42:06.39 zUnHM/go0.net
C#ってプロジェクトを作らないとコンパイル出来ないんでしょうか?
main関数のあるHelloWorld.csだけでコンパイルするのは無理?
850:デフォルトの名無しさん (ワッチョイ f7c6-knyK)
23/07/10 09:50:21.18 jFNuf9xo0.net
csc.exeを直接実行すれば*.csだけでもコンパイルできるよ
Linux向けとかはどうか知らないけど
851:デフォルトの名無しさん (ササクッテロラ Sp0b-JJLP)
23/07/10 10:13:07.78 bDJ4URo4p.net
>>840
C#がインタプリタ的に使えるのって案外知られて無いんだなぁ
852:デフォルトの名無しさん (ワッチョイ 9f80-KChr)
23/07/10 10:33:54.46 zUnHM/go0.net
>>841
Linuxには無さげですね
dotnetコマンドでも無理そう
853:デフォルトの名無しさん (ワッチョイ 9f80-KChr)
23/07/10 10:59:12.77 zUnHM/go0.net
>>842
dotnet-repl を入れたら実行結果の確認は出来るようになった
ありがとう
854:デフォルトの名無しさん (アウアウウー Sa9b-Pj0o)
23/07/10 12:41:26.24 h4a2e+7ia.net
シェルスクリプト代わりにするならC#使うよりPowerShellの方が便利だから
batはそろそろ滅べ
855:デフォルトの名無しさん (ワッチョイ bf79-CBkq)
23/07/10 12:44:12.34 pvSg+WfU0.net
powershellでええやん
856:デフォルトの名無しさん (アウアウクー MM0b-xBPm)
23/07/10 13:19:11.50 otun5GpPM.net
batとの互換性が中途半端なのがイラつきますけどね
857:デフォルトの名無しさん (アウアウウー Sa9b-Pj0o)
23/07/10 14:17:36.82 h4a2e+7ia.net
batみたいな化石との互換性なんか要らんだろ
PowerShell使えばC#もそのまま動くぞ
URLリンク(codezine.jp)
858:デフォルトの名無しさん (ブーイモ MM8f-9ZAg)
23/07/11 22:56:21.27 0HX/1I5LM.net
talkで質問集まってるみたいだから向こうに行くかな
859:デフォルトの名無しさん (スププ Sdbf-1L5A)
23/07/12 01:00:39.52 WP87K7PTd.net
おう、二度と戻ってくるなよ
860:デフォルトの名無しさん (オッペケ Sr0b-B87o)
23/07/14 11:09:10.37 SW9fkks0r.net
少しはここもまともになるかな
861:デフォルトの名無しさん (オッペケ Sr0b-jHc6)
23/07/14 11:21:59.88 gWjfvyvyr.net
プログラム板住人誰も移住してなさそうだから変わらないんじゃない?
862:デフォルトの名無しさん (ワッチョイ 7f2d-/79E)
23/07/14 11:29:58.
863:62 ID:FrJI/jtz0.net
864:デフォルトの名無しさん (オッペケ Sr0b-WUNe)
23/07/14 13:15:57.44 o+Lvn4Uxr.net
jane styleってC#で開発したって聞いたが勘違いかな
865:デフォルトの名無しさん (ワッチョイ 57a7-xgtz)
23/07/14 13:19:10.56 0qf2Hag/0.net
Delphiだから勘違いだね
Delphiの発明者が後のC#の発明者と同一人物だからそういう勘違いが生まれたのでは
866:デフォルトの名無しさん (スププ Sdbf-Gz7C)
23/07/14 17:53:33.20 L1fXIk/+d.net
発明されたんだ
867:デフォルトの名無しさん (ワッチョイ 95ad-tdBp)
23/07/15 12:52:20.24 x4tryG3A0.net
初心者です。
非同期メソッドにCancellationTokenを渡して、エラーハンドリングを行う必要があることを知りました。CancellationTokenSourceからCancellationTokenを作成して、非同期メソッドに渡していくところまではできました。ただ、ネストが深い非同期メソッド内でトークンをキャンセルしたいときに、どのようにキャンセルすれば良いのか分からない状況です。
非同期メソッドからCancellationTokenSourceのCancelメソッドはどのように呼べば良いのでしょうか。
868:デフォルトの名無しさん (ワッチョイ 665f-bpoS)
23/07/15 12:56:18.34 IVtLjRqQ0.net
【えっ】Perlに未来はあるのか?【終わり?】
869:デフォルトの名無しさん (JP 0H62-9/0y)
23/07/15 13:15:08.16 KExn0jd0H.net
トークンをキャンセルする権限を持ってるのは非同期処理側じゃなくて呼び出し元だと思うんだけど・・・
(だからcancellationTokenSourceを持ってる人だけがCancel()を実行できる)
呼び出し元から指図されたわけじゃないけど自発的にキャンセルしたいってことなら
throw new OperationCanceledException(token)
とでもすればいいんじゃないかな
870:デフォルトの名無しさん (ワッチョイ ca2d-2eqx)
23/07/15 13:42:20.93 m7eEyKEv0.net
それはtokenの状態と整合性取れないし不自然だろう
普通に(キャンセルしたいと判断した)要因に合った例外使えば済む話だ
871:デフォルトの名無しさん (ワッチョイ 95ad-tdBp)
23/07/15 15:05:06.38 x4tryG3A0.net
>>859
>>860
ご回答ありがとうございます。
awaitしている非同期メソッド内で例外を投げて、呼び出し元でcancellationTokenSource.Cancelしてキャンセルする、というのはできました。
ただ、awaitしない非同期メソッド内で例外を投げてもcatchできず、呼び出し元でcancellationTokenSource.Cancelできない状況です。
awaitして、非同期メソッド内で例外を投げて呼び出し元でキャンセルするしかないのでしょうか。
872:デフォルトの名無しさん (ワッチョイ ca2d-2eqx)
23/07/15 16:17:24.24 m7eEyKEv0.net
>>861
awaitしない非同期メソッドのタスクにContinueWith()で後続タスクを作って、その中でキャンセルかな。
後続タスクの実行条件はConinueWith()の引数にTaskContinuationOptionsを指定すれば変更出来る。
(エラーが起きた時のみ実行するとか)
873:デフォルトの名無しさん (スッップ Sd94-XM1G)
23/07/15 17:39:44.49 q/a2phH1d.net
windowsアプリ作る時にform2の幅をコンストラクタ内で指定しても
136未満だと勝手に136に広げられてしまうんだね
知らなくて原因究明するのに時間かかった
874:デフォルトの名無しさん (ワッチョイ 87e5-XQTJ)
23/07/17 11:07:42.07 fKATz6pi0.net
MinimumSizeにそう設定されてるだけでは
875:デフォルトの名無しさん (ワッチョイ ca2d-2eqx)
23/07/17 12:47:25.02 oq1oEUQ30.net
>>863
FormBorderStyleプロパティがNone、ToolWindow系、その他で幅が変わるね。
ToolWindowだとタイトルバーに表示されるボタンの有無でもちょっと変わって、
ControlBox = falseの時が一番小さく出来る。
何故かNoneの時が一番大きくなる。
>>864
MinimumSizeがSize(0,0)でもなる
876:デフォルトの名無しさん (ワッチョイ 3210-2eqx)
23/07/17 21:11:29.34 hjrHtCYP0.net
自作クラスのインスタンス化したときに、
そのインスタンスのプロパティを設定するやりかた? を教えてください。
うまい言い方ができないので、例を示します。
自作クラスで
class Square
{
double width
double height
}
があったとして、
Square square = new Square(){width = 3, height =2}
としたならば、
console.Writeline (square.ToString())
とすると
6
と表示されるようなイメージです。
何がしたいのかというと、 IPropertyChanged を使って、中の
プロパティが変化したときに、square が変わったということを認知したいのです。
877:デフォルトの名無しさん (ワッチョイ 3279-EJzg)
23/07/18 02:03:58.47 BpIlHiPB0.net
Writelineで6を表示したければToStringをoverrideしてやればいいだろうまでは思いましたが
貼られたコードと「何がしたいのかというと」が全く繋がってなくて、恐らくこれは誰も質問を理解できてない状況ではないでしょうか
私の感想としてはIPropertyChangedとやらを使いたければ使えばいいだけの話ではないでしょうか
878:デフォルトの名無しさん (ワッチョイ ca2d-2eqx)
23/07/18 02:28:36.72 GDp0BnYT0.net
例には書いてないけどIPropertyChangedイベントを購読して、イベントが来たらConsole.WriteLine()するんでしょう
で、IPropertyChangedの実装方法が知りたいと
public class Square : INotifyPropertyChanged
{
public event PropertyChangedEventHandler? PropertyChanged;
private void SetProperty< T >( ref T field, T value, [CallerMemberName]string propertyName = null )
{
if ( field.Equals( value ) )
{
return;
}
field = value;
PropertyChanged?.Invoke( this, new PropertyChangedEventArgs( propertyName ) );
}
private double _width;
public double Width
{
set => SetProperty( ref _width, value );
get => _width;
}
private double _height;
public double Height
{
set => SetProperty( ref _height, value );
get => _height;
}
}
879:デフォルトの名無しさん (ワッチョイ 87e5-XQTJ)
23/07/18 08:44:49.63 3b5O2M5n0.net
>>863 >>865
なんか頭の中で136ってもっとおっきいイメージになってた、すまないw
アイコンやコントロールボタンが表示できる最低サイズだったね
面白いことに、FormBorderStyle=Noneの時に
コンストラクタでどんだけ小さいWidth指定しても136になるけど
その後でShown等のフォームが生成された後の時点でWidth指定すると2までは縮まるんだな
SizableとかだとShownでやっても136になるけど
880:デフォルトの名無しさん (スッップ Sd94-XM1G)
23/07/18 10:03:44.12 W6YFjoCEd.net
>>865
>>869
はーやっぱり知識ある人は知ってるんですねー
こういう理屈じゃないところでいちいち悩まないといけないのが大変ですわ
まったく別の話なんですけど、
今これ>>832作ってて面白いこと気づきました
MouseClickイベントって右クリック・左クリック別に処理を分けられないじゃないですか
e.Button == MouseButton.Left とかが使えるMouseDown使えって言われるんですけど
bool isRightClickみたいなフィールドつくって、MouseDownのイベントハンドラで右・左判別して結果をisRightClickに設定
んで、MouseDownイベントの直後にMouseClickイベントも発生するからこいつのハンドラでisRightClickを取得して右・左別に処理わけることができた!
ってこれもみんな普通にやってんのかな・・・自分としては大発見なのだが。
今左右クリックやD&Dで細かい動きを作ってるんでこれは貴重な発見だった
881:デフォルトの名無しさん (スププ Sd94-uP9V)
23/07/18 10:04:51.17 5Ch5Zuv0d.net
>>867
>>868
ありがとうございます
質問のしかたが悪くうまく伝わっていないのですが回答は知りたかったことの一部でもありその部分については理解しました。
public class Hoge :IpropertyChanged
{
public Square square
}
とした時に
squareが値をもっていないことから、methodでsquare.widthの値を変えたとしてもsquareか変化したことを認識できないとの理解です
SquareにIPropertyChangedを噛ませてhogeのpropertyが変わったとする方法もあるのかも知れませんがsquare自身に値を持たせる方法があったら教えて下さい
882:デフォルトの名無しさん (ワッチョイ 87e5-XQTJ)
23/07/18 10:25:56.29 3b5O2M5n0.net
>>870
何のMouseClickイベントのこと?
FormやNotifyIconのMouseClickイベントならe.Button使えるはずだけど
883:デフォルトの名無しさん (スッップ Sd94-XM1G)
23/07/18 11:52:13.49 W6YFjoCEd.net
>>872
今いろいろ確認して、間違えてたことが分かりました
ごめんなさい
複数のラベルをForm上に動的配置したうえで、このラベル全てにクリック系のイベントを追加したんです。
この際、イベントハンドラも自分でコードを書いたのですが、Label_MouseClickイベントハンドラの引数である e の型を、間違えてMouseEventArgsではなくEventArgsとしていたため、e.Buttonが使えなかったというオチでした。
e.Buttonが使えない点を除いて問題なく動いていたので気づきませんでした
ふぅ・・・何やってんだか・・・
884:デフォルトの名無しさん (スッップ Sd94-XM1G)
23/07/18 12:01:06.39 W6YFjoCEd.net
MouseDown使わないといけないのはVBAでした
知識がぐちゃぐちゃになってました
885:デフォルトの名無しさん (ワッチョイ e979-9/0y)
23/07/18 13:43:10.65 hAXktsXG0.net
赤あげて、白あげて、白下げないで、赤下げる♪
左押して、右押して、右離さずに、左離す♪
886:デフォルトの名無しさん (ワッチョイ 73ae-/jfo)
23/07/18 14:42:32.76 INtka+wY0.net
VBAはVB.netに仕様変更する気が無いんだろうな・・・
887:デフォルトの名無しさん (ワッチョイ a6cd-LhHw)
23/07/18 15:08:54.43 ss/yk/UI0.net
vb6言語より環境が古くさすぎて触るきにならん
出力して、vscodeでやって取り込みもあるけどいまいち
888:デフォルトの名無しさん (ワッチョイ 4dc6-l/Dq)
23/07/18 16:00:19.51 zVxGTRP30.net
>>871
細かいけどINotifyPropertyChangedじゃない?
SquareにINotifyPropertyChangedを実装して、
Hogeの方でこういう風に
Square square {
get { return _square; }
set {
if (_square is not null) _square.PropertyChanged -= OnSquareChanged;
this._square = value;
if (value is not null) _square.PropertyChanged += OnSquareChanged;
}
}
void OnSquareChanged(object sender, PropertyChangedArgs e) {
this.OnPropertyChanged(nameof(this.square));
}
889:デフォルトの名無しさん (ラクッペペ MM34-iMTa)
23/07/18 16:06:27.35 vLiOabGzM.net
VBA - VisualBasic
URLリンク(learn.microsoft.com)
Office add-ins - C#
URLリンク(learn.microsoft.com)
Vsto - C#
URLリンク(learn.microsoft.com)
Office Scripts - TypeScript(JavaScript)
URLリンク(learn.microsoft.com)
890:デフォルトの名無しさん (ワッチョイ d010-uD+5)
23/07/18 17:40:37.17 HtITPTeb0.net
871が言ってる値が何のことかよくわからないな
>square自身に値を持たせる方法
891:デフォルトの名無しさん (スップ Sd00-IoCj)
23/07/18 17:59:36.33 uMqw2ex7d.net
まず環境書けとか色々突っ込み所がありすぎて暑いしで萎えた
おまえら頑張れよ
892:デフォルトの名無しさん (ワッチョイ f62f-NBo5)
23/07/18 21:18:14.67 ZtgGANuh0.net
>>871
俺がエスパー回答してやる
Hoge のコンストラクタでsquareをnewする
Square をクラスじゃなくて構造体にする
好きなほうを選べ
893:デフォルトの名無しさん (オイコラミネオ MM71-9/0y)
23/07/18 22:23:27.30 5UWIDgazM.net
お前らも含めてだが…基本的なことを勘違いしてるんだろう
IpropertyChangedが必要なのかも怪しいがそれは置いておく
通常似た様なものがあった場合
面積に相当するAreaプロパティが設定されている
binding対象はHoge.Square.Areaに普通はする
さて、
WidthやHeightが変更になった場合にAreaはその都度変化を通知して欲しいのかどうかも気になる
WidthとHeightを同時に変更したい場合メソッドを使って適切に変更しないとゴミがでるぞ
894:デフォルトの名無しさん (オイコラミネオ MM71-9/0y)
23/07/18 22:33:21.86 5UWIDgazM.net
Squareの値は各種プロパティを持ったオブジェクト自体でありそれを面積とみなすのはおかしいと言うこと
ToString()をoverrideして面積を出すも間違っている
ToString()で出すのは
四角形 幅:3 高さ:4 面積:12
と言う各種情報
895:デフォルトの名無しさん (ワッチョイ 3210-NBo5)
23/07/18 23:28:46.06 HED9e7490.net
>>882
エスパー ありがとうございます。
square を 構造体にかえて 今までやりたかったことが解決しました。
>>883 ,>>884 ありがとうございます。
勉強になりました。
896:デフォルトの名無しさん (ワッチョイ 52da-0QNR)
23/07/19 12:26:43.18 DPJDdup00.net
Func<T, bool>を受け取る引数にPredicate<T>を渡せないのは何故でしょうか?
897:デフォルトの名無しさん (ワッチョイ 4dc6-l/Dq)
23/07/19 13:17:55.70 rfnRytk30.net
型が違うから
class Hoge { public string Piyo; }
class Fuga { public string Piyo; }
と同じメンバを持った2つのクラスがあっても
void Test(Hoge hoge) { ... }
にFugaを渡せないのと同じ
898:デフォルトの名無しさん (ブーイモ MM69-IGBM)
23/07/19 13:33:43.83 Iak4bgJxM.net
hoge(pred.Invoke)で渡せる
899:デフォルトの名無しさん (ワッチョイ 52da-0QNR)
23/07/19 13:52:39.72 DPJDdup00.net
なるほど。
Predicate<T>ってFunc<T, bool>のシンタックスシュガーかと勝手に勘違いしてましたが、完全に別の型ってことですね。
ありがとうございます
900:デフォルトの名無しさん (ワッチョイ ce6e-rP6O)
23/07/20 19:04:03.42 oZtgKOtx0.net
非同期処理について質問です。業務でWPFいじってるんですけど
1 起動画面→2 起動画面表示してる間に重い処理とか色々→3 ログイン画面→4 メイン画面
という流れになっています。それで重い処理の部分がtask runになっていてあぁ非同期処理ってやつかと
なんですがやたら起動画面が長いんです。デバッグしてみるとその重い処理が実行されてるとき他の処理は実行されてなくて
結局普通に1~4が一直線に進んでるだけじゃない?と
自分の理解だと非同期ってその処理をどっか他の場所でやっといてもらってそれ以外は全部通常通りに流れると
この場合だとたとえば3や4のウインドウが出る処理が進んでいってもその裏で重い処理をやってるみたいな
2の部分が短くなるから起動画面も当然短くなるはずだろ……と思ってたんですが
非同期ってそういうもんじゃないんでしょうか
901:デフォルトの名無しさん (ワンミングク MM9b-Q4Hq)
23/07/20 20:07:28.14 4+aEc/KWM.net
ただ固まらないように使ってるだけじゃないの
902:デフォルトの名無しさん (スップ Sd00-m3tO)
23/07/20 20:07:31.46 GDwei+myd.net
2の重い処理でUIスレッドを使っていて、
3ログイン画面でもUIスレッドを使うので、
3のレンダリングが遅延しているのかも
と、先生は仰っている
903:デフォルトの名無しさん (ワッチョイ b6d6-2eqx)
23/07/20 20:29:02.94 etRvguBb0.net
たぶん2の実行中に1が固まらない(アニメーションしたりマウス操作等に反応する)ようにしてるだけだな
2が完了したら3って仕様なんだろ
904:デフォルトの名無しさん (ワッチョイ 56bd-rqn1)
23/07/21 00:30:10.37 3tiQJRjE0.net
その重い処理というのは、ログイン画面やメイン画面までに完了させる必要のない処理なの?
905:デフォルトの名無しさん (オイコラミネオ MM71-rqn1)
23/07/21 01:04:23.20 i7pkSIZ0M.net
普通だろ
2で初期化
それが終わらないとログインすらさせない
当たり前
非同期はいわゆる並列処理ではない
処理してる間にGUIが固まらないようにしてるだけで
906:デフォルトの名無しさん (ワッチョイ 87e5-XQTJ)
23/07/21 08:46:35.27 cgj6JgkV0.net
起動時にまずスプラッシュ画面やら表示して裏で初期化処理ガーッとやってメイン画面が出てくるアプリケーション、ごまんとあるやろ
907:デフォルトの名無しさん (オッペケ Src1-YWw1)
23/07/21 08:48:39.50 EGVnYM7fr.net
非同期処理って偉そうな名前ついてるけどUIが固まらないようにするためだけの存在なんだよな
908:デフォルトの名無しさん (ブーイモ MMba-mCwd)
23/07/21 08:56:24.44 eg4croCbM.net
画面が固まってるかどうかってそんな大事なことか?
909:デフォルトの名無しさん (ワッチョイ fe33-l/Dq)
23/07/21 09:12:44.39 1a+dN6EZ0.net
”応答なし”って表示されるかどうかは一般利用者にとっては大きな違い
910:デフォルトの名無しさん (ラクッペペ MM34-+gOE)
23/07/21 09:46:52.31 OOKalSboM.net
改善したいなら「重い処理」を並列に 分解するぐらいかな?
対して変わらんどころか遅くなるだろうけど
911:デフォルトの名無しさん (ブーイモ MM5e-IGBM)
23/07/21 11:29:51.89 69ts+SDiM.net
業務アプリでログイン画面表示前に終わらせないといけないやたらと時間のかかる重い処理ってどういうの?
ゲームやJavaアプリではあるけどC#で作る業務アプリでは個人的には経験したことないんだけど
ネットワーク経由で自動アップデートを走らせてるとか?
912:デフォルトの名無しさん (ドコグロ MM36-fSYF)
23/07/21 14:42:23.96 6vfbgTUNM.net
DBから必要なデータ落としてくるとかそういうのかな
そこまで大量になるかどうかはものによる
913:デフォルトの名無しさん (スップ Sd00-IoCj)
23/07/21 15:03:06.92 6MAm8yaxd.net
コアモジュールのアップデート確認とか
こういうのを下手にオンデマンド化すると不整合で死者が出たりするんだよ
914:デフォルトの名無しさん (ブーイモ MMba-mCwd)
23/07/21 20:26:40.73 eg4croCbM.net
>>901
そういうのならスプラッシュで長々と起動表示するより
さっさと画面見せてプログレスバー出した方が良くね
端的にいうとエクリプスみたいなのは嫌い
915:デフォルトの名無しさん (ワッチョイ 7f10-UJxk)
23/07/22 06:19:51.07 /NYJ/E/k0.net
プログレスバー出してる間はツールバーやらメニューやら触れないように無効化しとくん?
見せてる意味なくない?
916:デフォルトの名無しさん (ワッチョイ bf79-mRrB)
23/07/22 08:28:55.45 a8PwsTyx0.net
業務アプリで認証前に見せるもんなんて何かあんの逆に
917:デフォルトの名無しさん (ワッチョイ 4742-pcwf)
23/07/22 10:35:33.60 KOXik0Zr0.net
>>906
アプリの生存確認
918:デフォルトの名無しさん (ワッチョイ 27e5-UJxk)
23/07/22 13:04:05.76 UbHj5dt40.net
デスクトップのアイコンダブルクリックしたのになんも画面出て来なかったら
動いてるのか不安になるのがエンドユーザー
919:デフォルトの名無しさん (ブーイモ MM8f-2YhC)
23/07/22 18:21:41.76 k3sQ1muHM.net
そらWEBアプリが流行るわな
とりあえず画面は出てくるしな
920:デフォルトの名無しさん (ワッチョイ 5f2d-rRCM)
23/07/22 18:44:42.22 oc8oPCaK0.net
こじ付け
921:デフォルトの名無しさん (ワッチョイ bf79-mRrB)
23/07/22 18:46:25.02 a8PwsTyx0.net
>>907
今時プログレスバー程度じゃアプリの生存確認にはならないかー
922:デフォルトの名無しさん (ワッチョイ 275f-U6D6)
23/07/22 20:58:38.40 +w7QyAXT0.net
生存w
923:デフォルトの名無しさん (ドコグロ MM9f-0mQ+)
23/07/22 21:08:30.62 hYyrQzz7M.net
WEBアプリでもローディングあるやつあるけどな
924:デフォルトの名無しさん (ワッチョイ 8780-jqln)
23/07/23 00:11:53.57 NsW44b0o0.net
webview2の初期化でぐるぐるさせる
925:デフォルトの名無しさん (ワッチョイ 7f10-UJxk)
23/07/23 06:35:51.66 YwDu7rEL0.net
出てるプログレスバーがなんのプログレスバーか理解できる使用者がどれほど居るか
926:デフォルトの名無しさん (ワッチョイ 7f10-fN/z)
23/07/23 08:35:02.27 E9NR74nn0.net
とりあえず動いとけばいい
927:デフォルトの名無しさん (スッップ Sdff-cTWz)
23/07/23 21:00:26.02 DI++90CVd.net
>>915
何のとか関係ないんだよね>>899に書かれてる通り、
応答なしってなった場合にユーザーがアプリが固まったって思って不安になったり、
人によっては強制終了させたりすることを回避するのが目的でみな実装してると思うよ
928:デフォルトの名無しさん (オイコラミネオ MM3b-nVDU)
23/07/23 23:04:58.70 NQIlbLw0M.net
win11でwindows upadateの元データ読み込みの時間がかかったらタイトルバーで
プログレスバー的なアニメーションが出る
929:デフォルトの名無しさん (ワッチョイ bf79-mRrB)
23/07/24 00:09:50.17 z5rdGXQY0.net
タイトルバーで糞判りづらいアニメーションされてもな
930:デフォルトの名無しさん (ワッチョイ 7f10-UJxk)
23/07/24 06:55:49.96 dpuUxo8K0.net
>>917
プログレスバー出す出さないと応答なしになるかどうかはイコールじゃねぇのよ
931:デフォルトの名無しさん (スッップ Sdff-cTWz)
23/07/24 08:15:20.93 WyKfXWoDd.net
>>920
もともとは>>890から来てる話のつもりだけど
重たい処理を裏で実行させて画面は動いてます(応答なしになってません)ってのを
ユーザーに伝えるためにプログレスバーだしてると思ってるんだが違うのか?
非同期でもなくプログレスバー出して進捗報告してるだけなら言ってる通りかもね
932:デフォルトの名無しさん (ラクッペペ MM8f-La+E)
23/07/24 09:57:36.50 suAy7pRCM.net
10秒ならクルクルカーソルでいい
1分超えるならメッセージぐらい出そう
10分レベルだとプログレス必須
つまり非同期は10分超えのみでいい
933:デフォルトの名無しさん (スッップ Sdff-cTWz)
23/07/24 11:10:30.20 WyKfXWoDd.net
大多数のユーザーが使う画面作ってないのかわからんけど
10秒程度で画面クリックしたら応答なしになるだけで文句いってくるところもあるからね
10分越えで非同期とかはぬるすぎ
まあこの辺までくるとスレチな感じだから言い逃げになるけど自分はここまでにするわ
934:デフォルトの名無しさん (ラクッペペ MM8f-La+E)
23/07/24 11:24:15.27 suAy7pRCM.net
苦情は「起動が遅い」だろ?
「応答するともっと遅くなりますよ」で返せばいい
935:デフォルトの名無しさん (ワッチョイ 4742-pcwf)
23/07/24 11:26:52.53 AUmI6Ec80.net
他にもあると思うが、通信、I/O、DBは無条件で非同期や並行処理を意識して設計しないとな
936:デフォルトの名無しさん (ラクッペペ MM8f-La+E)
23/07/24 11:30:21.52 suAy7pRCM.net
素人はそう考えるけど
待機中のユーザーが他の作業を出来ることは少ない
というか待つだけだろ?
つまり非同期は不要
937:デフォルトの名無しさん (ワッチョイ a779-bG9n)
23/07/24 12:28:09.61 b5WDI80O0.net
5秒だか10秒だか
応答しないとOSにフリーズ判定されるでしょ
938:デフォルトの名無しさん (ワッチョイ 27e5-UJxk)
23/07/24 12:48:04.14 D6WZQL9B0.net
>>926
でもそれアナタの思い込みですよねw
939:デフォルトの名無しさん (ワッチョイ 5f2d-rRCM)
23/07/24 13:26:28.55 X1NMCpf40.net
今時UIが長期間応答しなくなるのは低品質アプリの証
非同期処理が実装しやすいC#では特に
940:デフォルトの名無しさん (ラクッペペ MM8f-La+E)
23/07/24 13:43:25.62 suAy7pRCM.net
ギャラガでもさせるか?
941:デフォルトの名無しさん (ワッチョイ 275f-U6D6)
23/07/24 14:00:15.94 ixDNpyk/0.net
コナミ グラディウス バブルシステム起動画面 - YouTube
URLリンク(youtu.be)
942:デフォルトの名無しさん (ワッチョイ 7f10-UJxk)
23/07/24 22:19:22.23 dpuUxo8K0.net
>>921
なんか盛大に勘違いしてた�
943:A忘れてくれ・・・
944:デフォルトの名無しさん (ワッチョイ cf68-6+wX)
23/07/30 13:16:32.79 qP2cEP2w0.net
>>929
逆に聞きたいけど長時間応答するしかねえって事もあるんじゃないの?
意図的にそうしてるとか
945:デフォルトの名無しさん (ワッチョイ cf68-6+wX)
23/07/30 13:16:34.66 qP2cEP2w0.net
>>929
逆に聞きたいけど長時間応答するしかねえって事もあるんじゃないの?
意図的にそうしてるとか
946:デフォルトの名無しさん (ワッチョイ b742-yh3V)
23/07/30 13:47:13.19 JdhDrtL30.net
手抜きか技術不足以外で長時間無応答を放置する理由はありません
947:デフォルトの名無しさん (ワッチョイ cf68-6+wX)
23/07/30 13:54:56.32 qP2cEP2w0.net
実行中の処理に影響与えないように応答させないのって普通じゃね?
948:デフォルトの名無しさん (ワッチョイ 3ebb-bWks)
23/07/30 14:13:33.41 2ZbxDykr0.net
非同期にするオーバヘッドがないぶん処理が早く終わるしな
949:デフォルトの名無しさん (ラクッペペ MMe6-Fuds)
23/07/30 14:25:18.01 IK2UEk/mM.net
30年前のCPUか?
950:デフォルトの名無しさん (ワッチョイ da2d-cK++)
23/07/30 15:29:45.06 C8zYgP+u0.net
いつの発想だよ…
UIと時間がかかる処理は別スレッドだし
今時のPCならオーバーヘッドは無いに等しいだろ
951:デフォルトの名無しさん (ワッチョイ da2d-cK++)
23/07/30 15:32:39.03 C8zYgP+u0.net
>>936
UIの制御は必要になるけど、それをしないのは手抜きってやつだ
952:デフォルトの名無しさん (ワッチョイ dabd-TJCF)
23/07/30 15:39:50.10 ceI/e8I50.net
>>936
UIがないアプリなら好きにしろ。
UIがあるならUIのお約束を守れ。守れないのは低品質アプリだ。
953:デフォルトの名無しさん (ワッチョイ cf68-6+wX)
23/07/30 16:01:47.86 qP2cEP2w0.net
で応答できないことの何が問題?
954:デフォルトの名無しさん (ワッチョイ 26bc-0TAO)
23/07/30 18:57:09.57 h72pV3U00.net
てゆーか、まだやってたんだ。
ある意味スゲー。
955:デフォルトの名無しさん (ワッチョイ 8f2f-KN61)
23/07/31 02:48:28.98 /pzquaKJ0.net
UIが無応答って状態を勘違いしてる気がする
956:デフォルトの名無しさん (ワッチョイ 73e5-U0W2)
23/07/31 09:07:39.25 kMCzvjpl0.net
まだやってたんだって言うか、1週間近く動きも無く終わったと思われてた話をバカが蒸し返しただけ
957:デフォルトの名無しさん (スフッ Sd8a-kvF/)
23/07/31 13:17:06.46 lng3H2OQd.net
>>942
応答出来ない=次に応答するのが計算が終わったタイミング
と言うことになる
つまり開始後中断したくてUI(例えば停止ボタン)押して
実際に止まるのが計算完了後で
計算結果が表示される直前に終了してくれるオマケ付き
958:デフォルトの名無しさん (スッップ Sd8a-1j9t)
23/07/31 13:19:35.83 xjBtNZZud.net
>>946
>>942みたいな過去の遺物みたいなのにかかわらないほうがいいぞ
「そのうち返ってくるでしょ」みたいな考えのやからは一定数いるからな
959:デフォルトの名無しさん (アウアウウー Sa1f-6+wX)
23/07/31 13:25:23.15 sgBBFIN2a.net
全然ecoじゃない
SDGs連中が飛び付くネタ
960:デフォルトの名無しさん (ワッチョイ becf-WE/L)
23/08/01 01:57:41.21 l/YBSfNu0.net
URLリンク(atmarkit.itmedia.co.jp)
> Windows上で実行されるアプリケーションのウィンドウは、応答がない状態になると、
> ウィンドウタイトルに「(応答なし)」と表示してユーザーに知らせます。
> “応答がない状態”とは、アプリケーションのプロセスが持つウィンドウオブジェクトが
> 「ウィンドウメッセージ(Window Message)」に5秒(既定)以上、応答しなくなる状態を指します。
こんなん出たんですけどとか言われたら恥ずかしいだろ
961:デフォルトの名無しさん (スップ Sd2a-3oaK)
23/08/01 08:39:12.57 NwjOuTDqd.net
そうやってOSが面倒見てくれてるし気にするな
962:デフォルトの名無しさん (ワッチョイ 73e5-U0W2)
23/08/01 08:48:36.38 jZPe7+0n0.net
気にしろし
963:デフォルトの名無しさん (ワッチョイ 0ba7-4FLK)
23/08/01 19:37:01.30 EZnFv0QC0.net
真のエコはシングルスレッド非同期
プログラミングコストは爆増するけどな
964:デフォルトの名無しさん (ワッチョイ 2301-iCAU)
23/08/01 23:34:51.68 MwS5ZIT40.net
魔法の呪文DoEventsでおk
965:デフォルトの名無しさん (ワッチョイ 8f7c-0u9z)
23/08/02 07:43:03.92 MJ0E5XCG0.net
進捗表示、キャンセルや一時停止を受け付けない設計はクソ。
966:デフォルトの名無しさん (ワッチョイ 17ae-CF7t)
23/08/03 10:08:52.15 icL6sh+90.net
シリアルポートからの送信を出来るだけ高速に受信したいのですが、下記以外に何かありますでしょうか?
また高速化する方法がありましたら、指摘してください。
よろしくお願いします。
LinkedList<byte> LLBuffer = new LinkedList<byte>();
SerialPort sp = new SerialPort();
byte[] buf = Encoding.ASCII.GetBytes(sp.ReadExisting());
foreach(byte b in data)
LLBuffer.AddLast(b);
967:デフォルトの名無しさん (ワッチョイ 0ba7-4FLK)
23/08/03 11:06:07.21 L6gOIzTH0.net
>>955
単なる生バイト配列が欲しいんだったらEncoding.ASCII.GetBytes(sp.ReadExisting())は二重に無駄な事してるから
var buf = new byte[1024];
int count = sp.Read(buf, 0, buf.Length);
for (int i = 0; i < count; ++i) LLBuffer.AddLast(buf[i]);
968:デフォルトの名無しさん (ワッチョイ 17ae-CF7t)
23/08/03 11:41:09.07 icL6sh+90.net
>>956
ありがとうございます。
現在は1024バイト固定で受信しているのですが、
sp.ReadBufferSize()で見ているとどんどんシリアルポートのバッファが溜まって頭打ちになっているので、
アプリ側で出来るだけ取得しておきたいと思い、sp.ReadExisting()の使用を検討しているところです。
969:デフォルトの名無しさん (ワッチョイ 0ba7-4FLK)
23/08/03 12:22:33.04 L6gOIzTH0.net
>>957
IOの方が早いなんてことは有り得ないからwhileで回すとかはしてる?
内部バッファが空の時にsp.Read(buf, 0, buf.Length)するとブロックされちゃうのかな
そうじゃないならwhile ((count = sp.Read(buf, 0, buf.Length)) != 0)、
ブロックされるとしてそれが嫌ならsp.BytesToReadで溜まってるバイト数チェックやDataReceivedイベントで拾うとか
970:デフォルトの名無しさん (スッップ Sd2f-YWx9)
23/08/05 10:43:10.90 wvUeqD5zd.net
誰も突っ込まないけどシリアル受信に間に合わないは普通にあり得るくね、
971:デフォルトの名無しさん (ワッチョイ 9b2f-1PqA)
23/08/05 11:08:11.80 6FXtwa520.net
シリアルってだけで実際のスピードもハードスペックもPCの使用状況も書いてないけど
個人的意見なら、いまどきのハードでC#で普通に作って間に合わんなんて、
他に何か原因がなければ想像できんレベルだが
972:デフォルトの名無しさん (ワッチョイ 01c5-i02c)
23/08/05 11:37:11.83 kMOIqdZr0.net
同期9600bps を試しにやってみたまえ。
LANCとかやね
973:デフォルトの名無しさん (ワッチョイ 9949-HLSB)
23/08/05 11:45:14.79 29MU2LyY0.net
.NET7でnlogがあれやこれやしてもうんともすんとも言わないので
おすすめのログのライブラリとかありまふか
974:デフォルトの名無しさん (オイコラミネオ MMc9-1ro1)
23/08/05 14:09:41.96 wQaB7TT9M.net
nugetのランキング上位にあるやつ使えるのでは?
975:デフォルトの名無しさん (ワッチョイ 472d-SCbl)
23/08/05 15:32:52.86 JFXqS/BH0.net
.NET7でNLog普通に使えてるけどなぁ
ちょっと前のバージョン(5.1.4)だからか?
976:デフォルトの名無しさん (ワッチョイ 472d-SCbl)
23/08/05 15:46:07.77 JFXqS/BH0.net
nugetの最新(5.2.2)にしたけど使えてるな
977:デフォルトの名無しさん (オイコラミネオ MMc9-1ro1)
23/08/05 16:15:39.59 wQaB7TT9M.net
.NET7使ってるのが驚き
978:デフォルトの名無しさん (ワッチョイ 4954-4gg4)
23/08/06 21:10:40.86 t8XxdJlt0.net
その程度で驚くヤツはくるみぽんちおの刑だな。
うちの製品なんて、.net framework 1.1 使ってる製品もある。
しかも重要ユーザーからの要望があれば機能追加までしてる。
979:デフォルトの名無しさん (ワッチョイ b310-jhPE)
23/08/07 07:41:51.88 NZgbVHgQ0.net
XPで動かしてそう
980:デフォルトの名無しさん (ワッチョイ 7be5-uQHI)
23/08/07 09:07:25.45 TF3XFQ9V0.net
OSにしてもランタイムにしても、古いのずっと生き残ってるのあるあるだよな
うちの顧客なんてVB6製アプリをXPで動かしてるとこまだあるしな……
981:デフォルトの名無しさん (ワッチョイ 7be5-uQHI)
23/08/07 09:08:05.81 TF3XFQ9V0.net
流石にNT4はもう居なくなったけど
982:デフォルトの名無しさん (ワッチョイ eb42-tyL0)
23/08/07 09:17:47.25 82JZu0tI0.net
ニューテクノロジ4か
名前にニューって付けて年月経つと碌なことにならないな
983:デフォルトの名無しさん (アウアウウー Sa9d-mBaV)
23/08/07 10:03:51.30 wl/Lx6N5a.net
うめようず
984:962 (ワッチョイ 9949-c/5M)
23/08/07 10:41:55.42 NRD23MMX0.net
NLog動くようになった!
コードで設定すると動く、でもConfigは反映されないからと色々やってたら
「出力ディレクトリをコピー」
「ビルドアクション」
を設定してないことに気づいた
C#(てかVS)久しぶりすぎて各ファイルにあるプロパティの存在を忘れてたw
985:デフォルトの名無しさん (スッププ Sd03-XWNR)
23/08/07 14:14:56.57 MBhkVnR+d.net
ふぅ・・・例外握りつぶしてたぜ・・やっと不具合原因のとっかかり見つけた
986:デフォルトの名無しさん (アウアウクッ MMf3-uQHI)
23/08/07 15:03:38.79 A9F8fN0gM.net
byte high = 0xff;;
bool flag = (high & 0b10000000) != 0;
これをもっとC#っぽくできないの?
987:デフォルトの名無しさん (ワッチョイ 472d-SCbl)
23/08/07 15:16:30.47 gOyFWeUo0.net
>>975
フラグをenum定義したら
[Flags]
enum Hoge : byte
{
Flag0 = 1 << 0,
Flag1 = 1 << 1,
...
Flag7 = 1 << 7,
}
var high = ( Hoge )0xff;
high.HasFlag( Hoge.Flag7 );
988:デフォルトの名無しさん (ワッチョイ c379-IXit)
23/08/07 23:19:46.08 4jmmvhVW0.net
enumに属性がなんか気持ち悪いし…使用時にキャストしてるのもなんだかな
#defineが無い弊害がこういうとこで出るのか
C/C++のビット演算はイディオムで綺麗に書けるのにな
989:デフォルトの名無しさん (ワッチョイ 1bd6-SCbl)
23/08/07 23:34:33.91 gDjmIGTi0.net
キャストが嫌なら、複数のフラグをORで連結すれば
990:デフォルトの名無しさん (ワッチョイ 1bd6-SCbl)
23/08/07 23:44:21.58 gDjmIGTi0.net
途中で書き込んじゃった
enumに↓を追加
All = Flag0 | Flag1 | Flag2 | Flag3 | Flag4 | Flag5 | Flag6 | Flag7,
var high = Hoge.All;
991:デフォルトの名無しさん (ワッチョイ 7be5-uQHI)
23/08/08 08:54:05.88 aeM2XQJJ0.net
個人的には、Flagsよりも定義でビットシフトしてるんがなんか嫌だなw
>>975でも十分C#っぽい気はするけどねぇ
C/C++でif(high & 0x80)で済むのはBOOLの実体が数値だからで
C#のboolは別物だからしょうがないし
992:デフォルトの名無しさん (ワッチョイ 7be5-uQHI)
23/08/08 09:22:12.70 aeM2XQJJ0.net
次スレ
ふらっと C#,C♯,C#(初心者用) Part159
スレリンク(tech板)
993:デフォルトの名無しさん (アウアウクッ MMf3-uQHI)
23/08/09 09:18:17.06 tGujvv4CM.net
このままでいい気がしてきた
994:デフォルトの名無しさん (ワッチョイ 095f-SCbl)
23/08/10 00:40:12.02 P/TzKPwA0.net
>>980
ビットシフトで定義するかは好みと慣れだな
C言語でも見かけるし
一応、何ビット目かソース上ではっきりするってメリットがある
995:デフォルトの名無しさん (ワッチョイ b310-uQHI)
23/08/10 07:11:54.17 ao9yBEOh0.net
何ビット目かって表現なら、それこそ>>975の方がC#では普通になったんじゃない?
996:デフォルトの名無しさん (ワッチョイ 2b6e-D1BR)
23/08/11 16:58:32.91 JGKsK+J90.net
ラムダ式ってこうちょろちょろっとした処理を書くのに使うものであってでかい処理は関数定義するのが基本って認識だったんですけど間違ってますかね
もう今のプロジェクトラムダ式渡すところで数十行の関数がガンガン出てきてて
デバッグしにくいわかりにくいでげんなりしています。まぁこれに限らずそもそも表に出る機能単位でしか考えてないのか関数抽出するって考え方があんま無いみたいな現場なんですが……
997:デフォルトの名無しさん (オイコラミネオ MMc9-uQHI)
23/08/11 18:07:32.18 CXONK6kXM.net
>>985
どうとでもいえるけど基本的にはその使い方は特に間違ってはいないので認識が間違っていると思う
処理の委譲目的ならそれが普通かも
関数抽出しやすいなら関数を抽出する
ローカル変数などに依存度が高いならそのまんま書いたほうがいい
設計がしっかりしてクラスを作ってそれを渡しあってるとかなら別だけどそんなことしてられないと思う