ふらっと C#,C♯,C#(初心者用) Part160

レス数が1000を超えています。これ以上書き込みはできません。
2024/02/11(日) 09:17:20.44ID:8k78Qd14M
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を3行冒頭に書くこと(1行分は消えて表示されない為、もう1行は予備)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください。見かけたらNGしましょう。相手してしまったらあなたも荒らしです
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part159
http://mevius.5ch.net/test/read.cgi/tech/1691454079/
■関連スレ
C#, C♯, C#相談室 Part97
https://mevius.5ch.net/test/read.cgi/tech/1671585518/
■コードを貼る場合は↓を使いましょう。
https://ideone.com/
https://dotnetfiddle.net/
初心者はまずVisual Studioを使いましょう。なおVisual Studioの使い方などに関しては各バージョンで違うので専用スレでお願いします
http://www.visualstudio.com/downloads/
■情報源
https://learn.microsoft.com/ja-jp/dotnet/standard/class-libraries
https://learn.microsoft.com/ja-jp/dotnet/csharp/language-reference/
https://learn.microsoft.com/en-us/dotnet/standard/class-libraries
https://referencesource.microsoft.com/
https://source.dot.net/
・Insider.NET > .NET TIPS - @IT
https://www.atmarkit.co.jp/ait/subtop/features/dotnet/dotnettips_index.html
・DOBON.NET .NET Tips
https://dobon.net/vb/dotnet/index.html
++C++; // 未確認飛行 C
https://ufcpp.net/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2024/02/11(日) 11:15:14.19ID:uhhlByZX0
>>1
2024/02/14(水) 07:15:27.98ID:HVwD3MxhM
>>1
4デフォルトの名無しさん (ワッチョイ 1ec5-Wfyb)
垢版 |
2024/02/15(木) 18:40:53.42ID:TbQr5IWZ0
record型について調べに調べたんですが説明が理解できませんでした。
今までtuppleやkeyvaluepairや構造体を使ってたけど
その代わりに使えばいいと理解していいですか?
2024/02/15(木) 18:56:44.12ID:/kB8s4lH0
レコードはペアじゃなくて並びをいくつも使える
2024/02/15(木) 18:57:48.14ID:/kB8s4lH0
マイクロソフトにサンプル載ってる
https://learn.microsoft.com/ja-jp/dotnet/csharp/fundamentals/types/records
2024/02/15(木) 19:05:11.58ID:hxPwVpAx0
const var i=1;
const var f=2.0;
const var s="three";
const var t=(1, 2,0, "three");
のように型名を省いて暗黙的に推量して頂くとエラーが出てしまいます。しかしconst抜きだとエラーが出ません。

この違いは、どのような設計思想が大本にあるのでしょうか?
また、何らかのケースで「const抜きだと推量できるがconstありだと推量できない」事があったりするのでしょうか?
2024/02/15(木) 19:41:45.34ID:FWtRb9+l0
constにできるのはプリミティブな数値型と文字列型のみ
constで定義できるかどうかと型推論とは関係ない
あと推量じゃなくて推論ね
2024/02/15(木) 19:49:50.51ID:hxPwVpAx0
>>8
ありがとうございます。
プリミティブな数値型や文字列型で、varによる型推「論」とconstが同時に使えないのは何故なのでしょうか?
2024/02/15(木) 20:34:44.99ID:FWtRb9+l0
あ、ごめん、そうだconst varはできなかった
一応理屈としては「定数は推論不要だから」だけど思想的なものは知らないや
2024/02/15(木) 20:37:08.94ID:K7b4kv3L0
その「思想的なもの」についてに質問だと思ってたけど、違ったのか。
ちなみに自分は知らない。
12デフォルトの名無しさん (ワッチョイ e31e-XyAm)
垢版 |
2024/02/15(木) 20:50:19.72ID:TvfAuxJO0
C#コンパイラチーム開発者の回答
https://stackoverflow.com/questions/2128432/type-inferring-a-constant-in-c-sharp#answer-2128581

> > why can't the type be inferred when the variable is a constant?
>
> "constant" and "variable" are opposites. const var gives me the shudders to type.
> A constant is a value that never changes and has no storage location; a variable is a storage location whose contents change.
> They're completely different, so don't attempt to combine them.
> The var syntax was chosen to call out "this is a variable", and we're sticking with it.
>
> var can stand in for a specific type declaration, but combining it with const severely muddies the picture of what the compiler does with the value.
> Therefore const var is disallowed to prevent this confusion and you have to explicitly type your constants.
2024/02/15(木) 21:02:55.86ID:hxPwVpAx0
>>10-11
ありがとうございます。
>>12
ありがとうございます。
やはりコンパイラ開発者の強い思想があるわけですね。「varとconstが反対の意味だから」という信念には納得です。
今後は const とタイプするたびに Eric Lippert に対して最上級の殺意がinvokeされそうです。
2024/02/15(木) 22:15:17.53ID:/kB8s4lH0
そんなに殺意あるなら使わなきゃいいよ
ストレスは身体に悪い
2024/02/17(土) 11:39:49.64ID:MIEy5sDuM
これはFBIに通報案件なのかな?

プログラマでこういう馬鹿な書き込みをするなんて…
16デフォルトの名無しさん (ワッチョイ 1e2d-Wfyb)
垢版 |
2024/02/17(土) 16:42:43.54ID:yHCQXuch0
>>6
ご解答ありがとうございます。
これって違いなんですか?

record class sampleclass
{

}

record sampleclass
{

}

どっちも違いという違いが無いみたいですが
2024/02/17(土) 17:07:15.30ID:39Q8sUNJ0
そんな例載ってる?
18デフォルトの名無しさん (ワッチョイ 1ea3-Wfyb)
垢版 |
2024/02/17(土) 17:15:13.47ID:yHCQXuch0
>>17
いや自分で書いてみました
record classってrecordのみと何が違うんですかっていう話です
どっちもequalの挙動同じだしclass付ける意味あるのかなと
2024/02/17(土) 17:35:15.39ID:39Q8sUNJ0
読んでないけど
C# 9.0 新機能】レコード(record)型はクラスと比べて何がオトクなのか
https://qiita.com/shimamura_io/items/80982b11ce41eca03e10
2024/02/17(土) 18:21:48.75ID:dT3ILzRK0
recordをrecord classって掛けるようになっただけで同じじゃね
2024/02/17(土) 18:29:59.01ID:qX4/mflN0
recordが導入されたC# 9.0では参照型しかなかったけど
値型でも使いたいって要求が出てC# 10.0でrecord structが作られて
記述あわせるためにrecord classって記法ができるようになった
22デフォルトの名無しさん (ワッチョイ 1ea3-Wfyb)
垢版 |
2024/02/17(土) 20:16:48.01ID:yHCQXuch0
>>21
ありがとうございます。
気にしなくてよさそうですね。
c#はこういう細かな規則が少ないんで助かります。
2024/02/18(日) 08:37:52.11ID:vucGTB3P0
https://twitter.com/intent/tweet?text=https://wikiwiki.jp/postmodern/&hashtags=%E7%B5%B1%E4%B8%80%E6%95%99%E4%BC%9A,%E5%89%B5%E4%BE%A1%E5%AD%A6%E4%BC%9A,NHK,%E6%97%A5%E3%83%86%E3%83%AC,%E3%83%86%E3%83%AC%E6%9C%9D,TBS,%E3%83%95%E3%82%B8%E3%83%86%E3%83%AC%E3%83%93,CNN,BBC
https://twitter.com/thejimwatkins
2024/02/19(月) 08:34:36.75ID:bbrhxb9z0
https://twitter.com/intent/tweet?text=https://wikiwiki.jp/postmodern/&hashtags=%E7%B5%B1%E4%B8%80%E6%95%99%E4%BC%9A,%E5%89%B5%E4%BE%A1%E5%AD%A6%E4%BC%9A,NHK,%E6%97%A5%E3%83%86%E3%83%AC,%E3%83%86%E3%83%AC%E6%9C%9D,TBS,%E3%83%95%E3%82%B8%E3%83%86%E3%83%AC%E3%83%93,CNN,BBC
https://twitter.com/thejimwatkins
2024/02/23(金) 11:47:45.00ID:kdfKV8gV0
デザインパターン勉強してるんですが
抽象と実装を分けるとか、生成と機能を分けるとか
「分ける」系の概念多いですね

結局インターフェースとか継承を上手く作ってコード拡張しやすいように
するのがデザインパターンって思っていいですか?

いくつか似てるのあって厳密に理解したくないですw
2024/02/23(金) 12:05:21.44ID:Mi7ac7sN0
>厳密に理解したくないです
好きにしたらいい
27デフォルトの名無しさん (アウアウウー Sae7-BFTb)
垢版 |
2024/02/23(金) 17:55:36.93ID:oF0kVzPVa
class Item {public string[] Tags;}

string[] findTags = ...
var q = DB.Items.AsQueryable();

// "AND"条件での抽出
foreach (var tag in findTags)
{
 q = q.Where(x => x.Tags.Contains(tag));
}

Entityframeworkでこんな感じのDBでAND抽出はできるのですが
findTagsにあるうちのどれかが当てはまったら抽出という"OR"抽出はどうやったらいいのでしょう?
2024/02/23(金) 22:34:31.31ID:zqQVbI3V0
q = q.Where(x => findTags.Any(tag => x.Tags.Contains(tag)));

でどうや
2024/02/24(土) 00:10:45.25ID:tp7Homqxa
>>28
入れ子にできるとは。これは天才。ありがとう
2024/02/24(土) 08:14:39.92ID:lt2kNdxY0
これしきで天才扱いは草よ
2024/02/24(土) 20:10:54.04ID:kGhlcAfr0
試していないが、EFでこれが本当に動くの?
linqでは正しいけど、EFではSQLに落としきれずに動かないことがあった

これがテスト済みなら大分助かる
2024/02/24(土) 21:35:39.16ID:tp7Homqxa
EFのsqliteで問題なし
特殊なことをしているわけでもないので他のdbでも落とせない問題は出ないかと
2024/02/24(土) 21:37:47.90ID:kGhlcAfr0
>>32
ありがとうね
これから使わせてもらいます
34デフォルトの名無しさん (JP 0H47-R199)
垢版 |
2024/02/24(土) 22:44:32.43ID:J1jKR+pzH
https://i.imgur.com/GNumla9.png

何でこれでエラー出るの?
2024/02/24(土) 22:57:46.95ID:HPvgnVlH0
「厳密に理解していないと」
プログラミング中に急に収集がつかなくなるが
それでいいのか?
2024/02/24(土) 22:58:46.54ID:dGxq80rr0
読み込んでいるファイルがUTF-8で正しく保存できているか確認したら?
変な文字コードが混ざっていないか。
2024/02/24(土) 23:08:57.50ID:splVjyLn0
対象の文字列の中身は?
そして Substring のパラメータにはなにが入るの?

文字列関係はきちんと理解しておいた方がいいよ。
2024/02/24(土) 23:22:09.11ID:BwAVpgpB0
日本語変数名の時点でまともにコード読む気にならねぇ(個人の感想です)
39デフォルトの名無しさん (ワッチョイ 677c-RxEe)
垢版 |
2024/02/25(日) 06:35:29.09ID:CJ+uCVrB0
>>38
でもさ英語圏の人達は変数名が英語じゃん
それって日本人が変数名を日本語で書いてるのと同じ感覚やん
何が違うの?

キー入力の観点で日本語入力のオンオフ切り替える手間が面倒とか
昔みたいに日本語の様なマルチバイト文字がコンパイル時に使えないとか悪い影響与えるっていうなら話は分かるんだけど
2024/02/25(日) 06:53:21.22ID:c1SoJhxt0
OSとかの根本部分は英語だしなぁ
いくらその上にマルチバイトで覆ってても
英語の方が単純、安全、分かり易い
41デフォルトの名無しさん (ワッチョイ 8797-nGkq)
垢版 |
2024/02/25(日) 07:07:54.83ID:wMKOowee0
英語圏と日本語圏でプログラミング力の平均値がかなり乖離があるのもこれ。

10000行とかでもコメント皆無でも英語圏の人なら
たった1分眺めるだけで概ね何のプログラムかはプログラムに縁がない素人すら答えられるが、
日本人の英語話せないプログラマだと大半は答えられないねぇ。
2024/02/25(日) 07:32:14.14ID:u4JBIOgU0
>>34
その3072とか4080の数字、全角になってないよな?

>>37
この画像見て変数の中身は?って言っちゃうのはさすがにどうかと
2024/02/25(日) 08:27:56.84ID:aFr+XRrH0
>>42
その可能性大かな。
2024/02/25(日) 08:34:05.61ID:OHnaaoCy0
substringって1ベースじゃないのん?
2024/02/25(日) 09:28:29.28ID:uPlT5ik30
>>44
ここC#スレなんで
2024/02/25(日) 11:24:20.07ID:z+BWi4sZ0
>>42
Substring( 0, 4-5 ) になってたりしない? ってヒントのつもりだったんだけど。
2024/02/25(日) 11:42:29.25ID:uPlT5ik30
>>46
まず画像をちゃんと見てくれ
2024/02/25(日) 11:51:21.01ID:c1SoJhxt0
文字列取得とぱーす分けてやれば分かるんじゃね
2024/02/25(日) 12:35:40.06ID:gpXALkS80
画像の幅の文字列の長さ見てみたら他のコードはいってて9超えてそう
2024/02/25(日) 12:53:02.34ID:c1SoJhxt0
いや一応メッセージみると数字のみ抽出はされてるような感じ
2024/02/25(日) 12:53:10.36ID:EQVkj53Md
ParseしてるところのSubstringとLengthをそれぞれ取り出して確認しればいいのにね
2024/02/25(日) 12:54:32.55ID:7XdQFtjY0
さすがふらっと、>>46とか>>49のように提示された情報すら精査できない人間がアドバイスしようとしてて草
2024/02/25(日) 12:55:40.05ID:u4JBIOgU0
例外の内容からしたら、全角数字をParseしようとしてるように思えるんよね

>>51
もう黙っとけ
2024/02/25(日) 13:11:53.02ID:mrkIKl0lM
まずRegexで\d*と[0-9]*の両方使ってみたら?
\dは数字系のものが全部かかるので全角が入っててもtrueになる

未知の文字列に対して幅決め打ちで取るのは止めた方がいい
2024/02/25(日) 13:20:02.41ID:EQVkj53Md
左下に情報でてるっていいたいんだろ?
でも結局それをみても投稿者だけでなくここでレスしてる奴も原因が特定できないなら一度細かくみりゃいいだけじゃねっていいたいんだが?
実際の開発でもそういうことしないの?
俺も見た感じ何がおかしくなってるのか不明だし細かくわけりゃ何かわかることもあるだろ
あと全角がわかりにくいならいったん左下の情報でもクリップボードにコピーでもしてエディタにはりつけるなすりゃいいんじゃね
2024/02/25(日) 13:23:08.52ID:EuDaAi1i0
GetFilePropertyValueの中で何してるか知らんけど
もしGetDetailsOfで幅を取得してるなら先頭に見えない制御文字が付いてるな
画像の幅の文字列.Substring(1,画像の幅の文字列.Length-6)で一応いけるけど
OS変わってピクセル表記じゃなくなるだけで動かなくなりそうだし正規表現の方がいいな
2024/02/25(日) 13:23:19.41ID:EuDaAi1i0
GetFilePropertyValueの中で何してるか知らんけど
もしGetDetailsOfで幅を取得してるなら先頭に見えない制御文字が付いてるな
画像の幅の文字列.Substring(1,画像の幅の文字列.Length-6)で一応いけるけど
OS変わってピクセル表記じゃなくなるだけで動かなくなりそうだし正規表現の方がいいな
58デフォルトの名無しさん (ワッチョイ 0bad-f7Kr)
垢版 |
2024/02/25(日) 13:28:24.43ID:O3pRRgk00
UTF8で変換してないとかかね?
59デフォルトの名無しさん (ワッチョイ 4a64-g1P5)
垢版 |
2024/02/25(日) 13:51:38.30ID:qsle6rXj0
Rustで有名アルゴリズムに挑戦 第16回 Rustで機械学習に挑戦 - k近傍法でアヤメの分類をしよう
https://news.mynavi.jp/techplus/article/rustalgorithm-16/
共同作戦で壊滅したマルウェア「Qakbot」復活、米国は犯行グループを逮捕できず
https://news.mynavi.jp/techplus/article/20240225-2885670/
悪意あるPythonパッケージを2つ発見、DLLサイドローディング技術悪用
https://news.mynavi.jp/techplus/article/20240225-2889952/
充電式バイブレータからマルウェア検出、USB充電デバイスに注意
https://news.mynavi.jp/techplus/article/20240224-2889949/
2024/02/25(日) 13:53:34.50ID:7XdQFtjY0
>>55
画像に写ってるコードと例外と変数情報見てそんな程度のことしか言えないから馬鹿だってんだよ

>ここでレスしてる奴も原因が特定できないなら
何人か数字が全角じゃないかって言ってるだろw
節穴かお前の目は

全角数字をParseしたらFormatException出るんだよ馬鹿
61デフォルトの名無しさん (ワッチョイ 4a64-g1P5)
垢版 |
2024/02/25(日) 14:00:09.43ID:qsle6rXj0
C++の後継目指すプログラミング言語「Carbon Language」、Googleの技術者が実験的公開。C++は技術的負債で改良が困難と
https://www.publickey1.jp/blog/22/ccarbon_languagegooglec.html
2024/02/25(日) 17:55:27.63ID:lILUSRDm0
ブラウザなどで文字列をダブルクリックすると単語を選択してくれますが、
この単語はどこが認識しているのでしょう? IME?ブラウザ?

WPFなど自前のアプリでつらつら文章表示するものがあって、
その文章をダブルクリックするとブラウザなどとは異なり変な区切りで単語選択されます。

C#から介入可能でしょうか
2024/02/25(日) 18:32:21.23ID:zhB6NxSY0
>>51
これが切り分けの最初のステップだよね
原因は>>56が書いてるように不可視の制御文字だと思うけど
2024/02/25(日) 19:16:06.77ID:szl/TotG0
>>61
カーボンでC++うごくの?
2024/02/25(日) 20:58:46.26ID:ruR0kTlF0
確かに、先頭に制御文字があったらあのコードじゃParse失敗するけど
幅と高さのプロパティの番号って176、178だったっけか
2024/02/25(日) 21:09:54.82ID:/zeewQDF0
質問者の反応がない時点で釣りだとは思うがね。
2024/02/26(月) 00:09:01.24ID:u7LaXN2b0
>>65
番号はOSバージョンによって変わるらしいよ
2024/02/26(月) 07:33:22.59ID:FHNB0d6xd
>>56
GetDetailsOfをためしてみたら確かに先頭に「0x200e」(左横書きの制御文字)がいるみたいですね
デバッグの画面だとわかりにくいけどエディタに文字列貼り付けたら数値の前に怪しいスペースができてた
[0] 8206 '‎' char
[1] 53 '5' char
[2] 57 '9' char
[3] 48 '0' char
[4] 32 ' ' char
[5] 12500 'ピ' char
[6] 12463 'ク' char
[7] 12475 'セ' char
[8] 12523 'ル' char
2024/02/26(月) 07:55:31.63ID:M4O+grGM0
数値扱いたいならそれ用の型にしときなよ
2024/02/26(月) 07:58:57.62ID:5UxVJg4jM
>>68
good!
2024/02/26(月) 11:34:55.64ID:CYhZR1hU0
>>62
wpfはモダンui()と引き換えに知性を失ったのだ知性の犠牲にな
2024/02/26(月) 12:24:05.64ID:wnFRO7GfM
7のwpfはそんなに悪くないのに10だとショボすぎなんよね
73デフォルトの名無しさん (ワッチョイ 0aaa-g1P5)
垢版 |
2024/02/26(月) 17:13:45.20ID:hotfpUjh0
【AI】Stable Diffusion 3発表、Soraで話題の拡散トランスフォーマーを採用 [すらいむ★]
http://egg.5ch.net/test/read.cgi/scienceplus/1708865670/l50

ボイス・トォ・スカるしている者も攻撃を受けるようになりました
7434 (ワッチョイ 0fc4-K5th)
垢版 |
2024/02/26(月) 18:34:34.56ID:OnA59xrH0
原因は先頭に制御文字が入っていることでした。

回答ありがとうございます。
2024/02/26(月) 20:52:13.31ID:7FiuruCVM
なんか流れ笑った
2024/03/02(土) 06:11:11.34ID:l9KHZsZF0
https://twitter.com/intent/tweet?text=https://wikiwiki.jp/postmodern/&hashtags=%E7%B5%B1%E4%B8%80%E6%95%99%E4%BC%9A,%E5%89%B5%E4%BE%A1%E5%AD%A6%E4%BC%9A,NHK,%E6%97%A5%E3%83%86%E3%83%AC,%E3%83%86%E3%83%AC%E6%9C%9D,TBS,%E3%83%95%E3%82%B8%E3%83%86%E3%83%AC%E3%83%93,CNN,BBC
https://twitter.com/thejimwatkins
2024/03/04(月) 14:16:14.28ID:+y9nT9ny0
お借りします。
Accessに接続したいです。frameworkの時はoledb関係で接続できますが、.NETではどのような方法があるんでしょうか?
探してもframeworkばかりの情報でどうしていいものか悩んでます
プロジェクトは.NET6で作成してます
2024/03/04(月) 14:17:05.77ID:+y9nT9ny0
すいません追記です
mdbではなく、accdbの方に接続したいです
2024/03/04(月) 15:12:54.11ID:6Sxa9LOKH
ふつうにNET6用のSystem.Data.Oledbをnugetから追加するだけじゃなくて?
2024/03/04(月) 15:25:41.54ID:+y9nT9ny0
nugetの使えますか?
インストールボタン押しても反応がないというか、またインストールボタンがアクティブになってしまうんです…
こちらのプロジェクトの設定が間違ってるんでしょうか
2024/03/04(月) 16:12:24.04ID:KpkhfFNHM
新規プロジェクト作って試してみては?
2024/03/04(月) 16:17:11.38ID:f6haxDDCp
オンラインじゃないとダメなんじゃなかったっけ!
2024/03/05(火) 11:00:26.52ID:HR5K/J/D0
accdb使ったことないけど、とりあえずnugetでSystem.Data.OleDbインストールしてmdbは使えるの2年前くらいに確認したけどな
2024/03/05(火) 12:03:06.16ID:murOPml8d
C#は時代遅れの言語ですか?
これからはPythonだって聞いたのですが、
C#よりもPythonを勉強した方がお仕事ありますか?
85デフォルトの名無しさん (ワッチョイ efec-Cl42)
垢版 |
2024/03/05(火) 12:17:51.38ID:lIAiG2zY0
言語よりもフレームワークの使い方だよな
2024/03/05(火) 12:24:10.20ID:g0CXGBUn0
AI時代はぶっちゃけ言語は割とどうでもいいからな
そういう意味で最も手軽に書けるPythonが第一に選択肢に上がってくるのはその通り
まあC#はAI最強帝国MS公式言語だから他の言語に比べたら時代遅れにはなりづらいと予想されるけどな
2024/03/05(火) 12:57:56.47ID:murOPml8d
ありがとうございます
WindowsアプリならC#がベストなのですね
C#にしようと思います
2024/03/05(火) 12:59:42.20ID:4PgfMK0ld
>>83
情報ありがとうございます!
その時は.NET6か5あたりですか?
2024/03/05(火) 13:00:50.94ID:2vksefDA0
なんでもいいからデスクトップアプリ、フルスタックWebアプリを作れるようになるべきだよね。
その点C#なら言語1つで上記全て出来る
Javaはデスクトップがちと辛い
新しくやるならRustが今後期待できる
Pythonはいまだスクリプト言語の域を出ない。ネイティブコンパイルに期待
2024/03/05(火) 13:01:00.66ID:4pk/Ix2r0
長期的には女を口説く方法でも覚えた方がいいだろうけど、中期的にはSQLだな
近いうちに、AIがデータモデルとUIとSQLを生成し、人間はそれをレビューするだけの開発手法が主流になる
2024/03/05(火) 16:27:35.87ID:HR5K/J/D0
>>88
5と6両方でやったよ
7と8はまだ見てないね
2024/03/05(火) 16:30:13.91ID:hgueOGdkp
>>90
口説くって言ってもマニュアルが無いだろ
2024/03/05(火) 16:44:18.26ID:HR5K/J/D0
>>88
今ちょっと.NET6で確認してみたけど、accdbも接続できるね
2024/03/05(火) 17:16:01.55ID:KelBr98b0
>>91
ありがとうございます!
パッケージソースのマッピングがオフになってたようです
それを構成し直したら無事インストールできました
ありがとうございます!感謝です!
95デフォルトの名無しさん (ワッチョイ 9b7c-G8yA)
垢版 |
2024/03/05(火) 19:16:01.21ID:hKRiQvwn0
>>92
すまん
まあまあイケメンなんで一緒にカラオケでもどうですかって声掛けると7割ぐらいの確率でホテル行く
2024/03/05(火) 19:46:00.96ID:T0JMbZiw0
ブサメンのナンパは通報事案
婚活サイトで相手を探すしかないし
そこでも容姿で弾かれる

やっぱC#頑張ろう
2024/03/06(水) 01:49:28.11ID:CzJa+V9l0
HAND MAID メイの実現はまだかのう
2024/03/07(木) 08:45:29.36ID:8HMeBilj0
マツコネ2に変えるのに車両価格がってなったんだとして
オプションとして選択できるように残してくれればよかったのになんで完全オミットしたのやら
9998 (ワッチョイ cb72-0WZ8)
垢版 |
2024/03/07(木) 08:46:00.19ID:8HMeBilj0
すまねぇ、とんでもない書き込み間違いしたw
2024/03/09(土) 09:01:28.51ID:j02nUFoN0
for (int i = 0; i < arrs.Length; i++) {......}

int al = arrs.Length;
for (int i = 0; i < al; i++) {......}

こういうのってどちらが良いんでしょうか
上側は、毎回Lengthを評価するので遅くなるような気がする
下側は、変数iが無駄に思える
2024/03/09(土) 09:02:29.45ID:j02nUFoN0
>>100
訂正 変数i ---> al
2024/03/09(土) 09:38:58.26ID:Zzk12oRD0
配列のLengthであればその配列が内側で持ってる値を返すだけで評価なんかしない
後者の形で書くだけ無駄、パフォーマンスが良くなるなんて思わないほうがいい

あとiもできれは避けて
foreach(var item in al) {......}
のほうが余計な変数が減ってなおよい
2024/03/09(土) 09:39:48.57ID:Zzk12oRD0
al→arrsか
104デフォルトの名無しさん (ワッチョイ 9b7c-bwa2)
垢版 |
2024/03/09(土) 09:50:57.03ID:Iu7Z4MYl0
>>102
あえてforを使用しているんだからインデックスをループの中で使いたいかもやろ

そういう無駄な指摘が俗に「ウザい」っていうんよ
2024/03/09(土) 10:37:59.31ID:Nf55zOws0
変数名をiとかjとかするのは気に入らんのはあるな
2024/03/09(土) 11:27:09.09ID:eGGkuUQAM
i,j,kをループの変数にするのはfortranの名残
そしてそれは数学の名残

総和記号Σの変数のi,j,k
知らない人は中卒
2024/03/09(土) 11:46:51.01ID:o972r4id0
>>104
foreachでも要素のindexを取り出せるじゃん
2024/03/09(土) 11:52:42.50ID:nR1AroZe0
>>107
横からだけど取り出し方教えて
2024/03/09(土) 11:54:54.45ID:eGGkuUQAM
linqでselect使うんじゃね?
110デフォルトの名無しさん (ワッチョイ 9b7c-bwa2)
垢版 |
2024/03/09(土) 11:58:23.65ID:Iu7Z4MYl0
んでもってタプルで受け取るってか?
素直にfor使っとけよ
2024/03/09(土) 12:03:19.03ID:eGGkuUQAM
ほんと
for使うなとか低レベルにもほどがある
最近はforeach使うなすら現れてるw
qiitaのレベルが下がるわけだ
112デフォルトの名無しさん (ワッチョイ 4f9b-Cl42)
垢版 |
2024/03/09(土) 12:18:23.65ID:BvGWNYiz0
foreachで順番通りにやらなきゃいけないオブジェクトではまったわ
2024/03/09(土) 13:21:05.43ID:zvjNmKa50
>>100
「遅くなるような気がする」じゃなく実際に自分で測ってみたら?
「どちらが速いですか」などの質問も割とよく出るけど、処理内容によって変わるかもしれないのだから自分で測ってみるのが一番早い
https://atmarkit.itmedia.co.jp/fdotnet/dotnettips/412stopwatch/stopwatch.html
ここのSystem.Threading.Thread.Sleep(1000);を計測する処理に差し替えるだけでできる
2024/03/09(土) 14:45:59.51ID:S1xloWM9M
.Count() を .Count にしろって警告出るからイヤイヤ直したわ
2024/03/09(土) 15:49:39.64ID:6JAsN7LQ0
・記述を変更しても、コンパイラの最適化によって同じIL(中間言語)になる可能性もある。
・JITコンパイルでほとんど差がない可能性。
・AOTコンパイルで(略)
・C#を使っている時点で最速でないから、そんな速度差を気にするくらいならC/C++、Rust、アセンブラを使え。
2024/03/09(土) 15:58:25.88ID:qDuyUpnRp
イテレータが無いかも知れないから、foreachは限定的だよなぁ
2024/03/09(土) 16:35:37.85ID:q35kPcPj0
>>100
> for (int i = 0; i < arrs.Length; i++) {......}
配列の範囲外アクセスのチェックを省略する最適化がかかるから変に凝った書き方はしない方が良い
> 変数iが無駄に思える
全てを代替出来る訳じゃないけど、可能ならforeachを使えば
2024/03/10(日) 10:17:52.32ID:lP5AIR460
最近の.NETはメジャーバージョンアップのたびに最適化されているから速度差はあまり気にしなくてもよくね?
どうしても高速化したいのならNativeAOT使おう
制限はあるけど使い慣れたC#で記述できるから最高だぞ
2024/03/10(日) 11:40:18.63ID:GSLv/I2s0
こういうので速度気にするって百万回位のループとかなん?
120デフォルトの名無しさん (ワッチョイ 857c-1/rY)
垢版 |
2024/03/10(日) 12:07:18.56ID:akejiw/t0
>>119
ループの中で何を処理するかによっても違う
パラレル使う手も有るしね
2024/03/10(日) 12:22:04.64ID:zrmLBlRSa
C++使おうが速くならないんだけどな
逆に処理色々自分でかかなきゃいけないしそれが効率悪い分だけ遅くなるまである
世の中うまいようにいかないもんなんだ
2024/03/10(日) 13:02:05.96ID:hwVh1yHaM
他と比べてとかそういうんじゃないんだよな
最初に作ったアプリをバグフィクスや機能追加していくと速度が落ちていくことがあると言うか大体落ちる
ひどいと今まで30秒で処理してたのが33秒になりましたとか

目算で思っていた範囲以上に遅くなるとちょっと嫌な気分
これが地味にダメージなんだよな
そういうのが積み重なると目も当てられない

それを避けるために日常的に無駄のないコードを心がけるのが精神衛生上良い
他でもない自分のため
2024/03/10(日) 13:59:58.74ID:GSLv/I2s0
昔での事だけど、Cじゃないんだけどさ
テーブルの各値を1つづつズラしてシフトする処理で1番目に初期値零を放り込むプログラム合ったんだけど
テーブル毎バサッとやったら3時間掛かってたのが10分でおわってワロタ記憶あるわ

なんでそれまで誰もやらなかったんだか(笑)
124デフォルトの名無しさん (ワッチョイ 857c-1/rY)
垢版 |
2024/03/10(日) 15:42:57.59ID:akejiw/t0
>>122
そもそも30秒掛かってる時点で無いわ
30msにしてから言え
125デフォルトの名無しさん (ワッチョイ 857c-1/rY)
垢版 |
2024/03/10(日) 15:45:45.05ID:akejiw/t0
>>123
C#でListに1万件ループでAddするのとAddRangeで一気に追加するのでは速度が段違いだよねって話みたいなもんか?
2024/03/10(日) 16:22:21.58ID:n3dvm3Ip0
>>118
NativeAOTも良し悪しだけどね
リフレクションが制限されるし
実行時のプロファイリングによる最適化が掛からないから繰り返す処理だと不利かも
2024/03/10(日) 19:37:56.54ID:hwVh1yHaM
>>124
1時間の動画解析が30msで終わったら苦労しない
2024/03/11(月) 02:57:06.98ID:e3yZvggS0
10万枚の画像差分解析が30msで終わる時代に生まれたかった
2024/03/11(月) 06:49:54.15ID:fFhKpJyXM
>>125
時々Listが取りこぼすバグが直った!
2024/03/11(月) 06:56:34.82ID:7lFqpLkH0
>>124
3sでは女々か
131デフォルトの名無しさん (ワッチョイ 857c-1/rY)
垢版 |
2024/03/11(月) 20:00:19.72ID:zXXKqwJt0
なあ365のGraphSDKだけどv5凄く使い難くね?
特にページイテレーターとか糞じゃね?

全件取れるようにGetAll全部に用意しろ

イテレーターで1件ずつ取り出すのはそのままで良いから1ページ毎にAddRangeで追加出来る様に追加しろ
132デフォルトの名無しさん (ワッチョイ 857c-1/rY)
垢版 |
2024/03/11(月) 20:01:20.76ID:zXXKqwJt0
あとGraphAPIはいつまでv1のままなんだ?
いい加減バージョン上げろよ
2024/03/12(火) 05:01:07.57ID:ScKXCAvl0
はいわかりました
そのようにします
134デフォルトの名無しさん (ブーイモ MM33-MuJl)
垢版 |
2024/03/21(木) 16:41:51.77ID:moGxTGPKM
ずいぶん過疎ったな
C#も終わりか
135デフォルトの名無しさん (ワッチョイ 5972-ZAEI)
垢版 |
2024/03/21(木) 16:59:27.82ID:t4nv+V260
string.Splitはcharとstring両方受け付ける癖に
string.Joinはstringしか受け付けないの
なんでそんな一致しない仕様にしたのか
136デフォルトの名無しさん (ワッチョイ a947-NBlB)
垢版 |
2024/03/21(木) 17:10:49.32ID:OJvp/zL30
>>135
古いバージョンを使ってるからだろ
2024/03/21(木) 18:52:04.52ID:xjPMTwZ/0
.NET Frameworkの方だと最終でもStringしかないな
Coreは前からCharもあるけど
138デフォルトの名無しさん (ワッチョイ fb3f-y9/r)
垢版 |
2024/03/21(木) 20:00:01.06ID:ArDQta9F0
>>134
最強の言語だろーまじそう思う
2024/03/21(木) 20:02:37.95ID:vGJCsqaz0
Coreの時に互換性を破壊して言語仕様から作り直してくれたらもっと良かったんだけどね
2024/03/21(木) 22:01:40.55ID:3O/d21LI0
きっとChatGPTさんやGeminiさんが大活躍
2024/03/21(木) 22:30:21.33ID:EWndXktpM
勢いのある言語はライブラリなどの開発が盛んだ

C#は昔からそういう系統は後手後手
今後も主流の言語のおこぼれを頂く立場
2024/03/21(木) 23:19:32.09ID:xQDPjhJa0
主流の言語とは?
2024/03/21(木) 23:32:45.31ID:vGJCsqaz0
async/awaitとかはC#の実装後に他言語がパクり始めたね
144デフォルトの名無しさん (ワッチョイ 817c-mjK0)
垢版 |
2024/03/21(木) 23:37:27.90ID:gM/gTjZ50
RxもC#が最初
2024/03/22(金) 00:05:28.91ID:ZpLl7LCa0
c#好きって言う人は多いけどjava好きって言う人ほとんどいない
この差はなんだろう
2024/03/22(金) 00:46:25.75ID:ThNZh94P0
C#はMicrosoftが推してるってのもあって年々扱いやすくなってるし良い言語ではある
けどGUIライブラリ周辺は完全に力入れる方向性ミスってる
xamlなんかじゃなくて最初からmvcに注力してれば…
147デフォルトの名無しさん (ブーイモ MM33-MuJl)
垢版 |
2024/03/22(金) 08:25:24.91ID:uj0DzyBTM
なんでAI用のライブラリが遅れてんだ?
結局インタプリタが正義なんじゃねーのか?
インタプリタで開発して完成したらネイティブコードに転換するような言語でいいんじゃね?
2024/03/22(金) 09:19:28.62ID:KobaNo7s0
AIは発展途上だからライブラリ化してもすぐに更新必至だしなぁ
2024/03/22(金) 11:35:03.43ID:XyBA/hAn0
C#がメジャーなり切れないのはGUIライブラリがゴミカスみたいな変遷をたどり続けてるのが一番の癌じゃね
2024/03/22(金) 13:07:30.18ID:WaRDxGiW0
そもそもGUIライブラリってそんなに作るの難しいのか?
MSほどの組織があればGUIライブラリなど数ヶ月で完成できるだろ
何が開発を阻害してるの?
Windows自体の問題なのかc#の問題なのか
151デフォルトの名無しさん (ワッチョイ 817c-mjK0)
垢版 |
2024/03/22(金) 15:37:57.77ID:lbSknOc60
完成してるやん
自分が使いこなせないXAMLにイラついてる奴が居るだけでさ
2024/03/22(金) 15:47:57.64ID:lILkfOQ70
xamlかぁ
あれで何でも記述したプロジェクトの表示系の不具合修正する仕事した時には
xamlでなんでも書くんじゃねえ!
と本気で怒った記憶
153デフォルトの名無しさん (ワッチョイ 817c-mjK0)
垢版 |
2024/03/22(金) 15:51:53.40ID:lbSknOc60
別にコードで書いても良いやん
2024/03/22(金) 15:56:14.80ID:UJ8FRP0F0
コード書いてオリジナルのタグ作れるよ!(*бωб)
155デフォルトの名無しさん (ワッチョイ 817c-mjK0)
垢版 |
2024/03/22(金) 17:00:25.00ID:lbSknOc60
そういう事じゃ無くてコードでもXAMLと同じ事出来るじゃん
正確に言うとXAMLがコードに変換される訳だけど
2024/03/22(金) 17:10:54.52ID:YoDu83nUp
>>155
ループ処理とかどう書くん?
157デフォルトの名無しさん (ワッチョイ b9b6-A0KB)
垢版 |
2024/03/22(金) 17:40:59.96ID:ThNZh94P0
>>146 訂正 mvc→mvu

有名なアプリが大抵react、flutter、electron製な時点でお察し
当のMicrosoftでさえTeamsをMAUIで作ってない
2024/03/22(金) 18:05:07.32ID:OqIAqLT2M
C#自体は最近はそう大きな変化はない
大体は他の言語の機能の後追いか内部のための変更が多い印象
全てを把握している人間は少ないのではないか

自分は過去のC#の言語の表現が好きだった
最近は記号の羅列や呪文に近くなっている
2024/03/22(金) 18:27:40.41ID:jmanA3W1p
>>158
簡略化する為の表記法がどんどん呪文化する元凶だよな
2024/03/22(金) 18:35:38.75ID:xtFiTq7M0
モダンな言語なんて大抵呪文だし記法覚えりゃいいだけじゃん
それで記述が簡潔になるんだから御の字よ
俺はリフレクション系じゃなけりゃ抵抗無いわ
2024/03/22(金) 19:04:08.81ID:UJ8FRP0F0
Typescriptの型機能凄いよ
c#もこうなればいいね
162デフォルトの名無しさん (ワッチョイ 817c-mjK0)
垢版 |
2024/03/22(金) 19:30:19.70ID:lbSknOc60
>>161
何を示してるのか意味不明
163デフォルトの名無しさん (ワッチョイ 51cf-7lhN)
垢版 |
2024/03/22(金) 19:39:52.80ID:Z4xnJ+m00
>>158
関数型言語を蛇蝎のごとく嫌ってそう
2024/03/22(金) 21:07:23.94ID:L78mdEVB0
言語固有の記法なんか覚えても近い未来にゃ糞の役にも立たなくなるからなぁ
2024/03/22(金) 22:51:39.57ID:VyYe8ezl0
そそMASMこそ究極にして至高あるね
2024/03/24(日) 17:39:27.40ID:Q+dwFb4r0
MAUIはどうなりましたか、
167デフォルトの名無しさん (ワッチョイ f683-rfcW)
垢版 |
2024/03/24(日) 18:01:15.05ID:cEyTBQVH0
Add(int x int y)
{
return x+y
}

これ呼び出すのがシンプルにx+yって計算するよりも遅いです。
どうしたらいいですか?書いちゃったプログラム全部書き直しってのは絶対無理です。
ちなみに1回につき100万回くらい呼び出さないといけません。
2024/03/24(日) 18:30:34.77ID:qNTNcj2N0
>>167
https://ufcpp.net/study/csharp/structured/miscinlining/#dotnet-inlining
あとはコンパイラの最適化オプションが有効になってるか見直すくらい?
2024/03/24(日) 18:30:43.74ID:NMn0bMKa0
書き直しが無理ってことは実際に全部置き換えたのと時間を比較したわけではないんだよね
https://ufcpp.net/study/csharp/structured/miscinlining/
多分普通に最適化されてると思うけど まあ一応AggressiveInlining付けてみたら
2024/03/24(日) 18:41:04.24ID:qNTNcj2N0
>>167
AggressiveInliningつけてもダメだったらQuick JITが悪さしてる可能性があるらしい
https://qiita.com/rougemeilland/items/b8b4b045b82a294a56de
2024/03/24(日) 19:33:22.45ID:MOMWvILCM
>>167
それがそのままなのかどうかは不明だけど基本的にはメソッド呼び出しは遅くなる
本当にごく限られた特定の場合だけインライン化と言う最適化が働いて速くなることがあるけど
それを過信してはいけないと思う
2024/03/24(日) 21:03:54.16ID:TrTyAT7D0
要するに.ランタイムのバグか
それの尻拭いをプログラマがすべきか否か
2024/03/24(日) 21:17:05.90ID:6Ay19Lfm0
>>167
publicかどうかで変わるかなあ?

LLMに修正させれば?
174デフォルトの名無しさん (ワッチョイ f683-rfcW)
垢版 |
2024/03/24(日) 23:11:43.13ID:cEyTBQVH0
>>168>>173
ありがとうございます。

>>169
一部置き換えたのを計ったら早くなってたけど
全体では少し早くなった感じでした。

ちなMath.Powは何故か遅くMath.Sqrtはそうでもないのは
私の勘違いでしょうか。
2024/03/25(月) 08:49:13.08ID:5gw33m/B0
>>172
バグじゃないよ
2024/03/25(月) 09:14:45.01ID:mmUf21Av0
> ちなMath.Powは何故か遅くMath.Sqrtはそうでもないのは
そもそもの機能が違うメソッドを、あっちは遅くてこっちはそうでもないとか比べる意味ある?
2024/03/26(火) 22:09:52.61ID:9Ffpl4+U0
>>175
ランタイムのバージョン違いで挙動変わればバグだよ
バグじゃなかったら何なの
それがWindowsなの〜
2024/03/26(火) 22:20:19.05ID:1Bd4/Fy+M
こういう理解できない人は多分最後まで理解できないんだろうな
挙動は同じで実行時間が違う

C++だと顕著だけど実装依存の最適化は別に言語仕様ではないので何とも言えない
2024/03/26(火) 22:28:12.39ID:1Bd4/Fy+M
「Spectre」と「Meltdown」みたいな重度のセキュリティーホール対策で実行速度は大幅に落ちた
セキュリティーホールをふさいで極端に言えば挙動が変わってるけど最初の挙動は本来期待しない動作

オプション指定しないと最適化されないのは想定している動作であり期待しない動作ではないのでバグではない
180デフォルトの名無しさん (ブーイモ MMb2-wr8K)
垢版 |
2024/03/27(水) 11:23:20.06ID:Wk+cp7GVM
コンパイラの設定次第で究極的に速度重視とか、メモリ削減重視とかやれるんじゃねーの?
2024/03/27(水) 16:36:23.02ID:iEsQJFtA0
switchが、ビルドしたらswitch式に置き換わるかswitchステートメントのままかってどういう基準なんだろ?
2024/03/27(水) 17:10:26.62ID:uXHsRCqE0
if と goto になるんじゃないのかよ
2024/03/29(金) 23:10:39.70ID:KSJZSeRg0
C#に限ったことじゃないけど
BigInteger型があるのにBigFloat型が無いのは何でなのか?
どちらかというと後者のほうが科学技術計算とかで使い道あると思うんだが
2024/03/29(金) 23:15:59.55ID:kEXY/4VP0
doubleじゃダメなんすか
2024/03/29(金) 23:18:34.62ID:A/FJcbLY0
じゃTriple追加で
2024/03/29(金) 23:18:41.43ID:W78tSYik0
Lisp族には分数型があったな
浮動少数よりあれで持ってた方が良いんじゃないか
2024/03/29(金) 23:58:03.52ID:iza6J2v90
decimal
188デフォルトの名無しさん (ワッチョイ b501-7myW)
垢版 |
2024/04/01(月) 20:43:32.19ID:I0404dx50
>>183
科学技術計算でdouble精度を上回る有効数字桁数が必要とされることはほとんどない。
BigFloat型でと同様な計算は10の整数乗倍することによりBigInteger型でも可能。
2024/04/02(火) 08:44:55.54ID:GqK1x5810
まぁなんでなのかって必要ないからでしょとしか
2024/04/02(火) 09:47:59.11ID:Bky2YG7Fp
天文学的数字なんか上位3桁でもおおくらいだろうし、それ以上正確にする根拠も必要性も無いからなぁ
191デフォルトの名無しさん (スップ Sd03-Lkgf)
垢版 |
2024/04/02(火) 15:45:19.84ID:w+YAhrNed
巨大な行列の固有値が正確に必要な問題とかで4倍精度必要なケースあるけどな
2024/04/02(火) 18:56:13.48ID:kr0w4+iIp
>>191
そう言うものには浮動小数点形式は使わないだろw
193デフォルトの名無しさん (ワッチョイ 4bb9-Lkgf)
垢版 |
2024/04/02(火) 21:23:57.28ID:zUNlFHMd0
>>192
使うぞ
逆に何を使うっていうんだ
2024/04/02(火) 21:27:11.60ID:bWsAN7Ajp
浮動小数点はどこまで行っても概数でしか無いからなぁ
円周率の計算みたいにするしか無いんだよなぁ
2024/04/02(火) 21:28:58.89ID:syvWlvRl0
そんな貴方に有理数計算オススメ
196デフォルトの名無しさん (ワッチョイ 4bb9-Lkgf)
垢版 |
2024/04/02(火) 21:31:32.43ID:zUNlFHMd0
有理数で巨大な行列の固有値計算とか冗談だろ
2024/04/02(火) 23:34:27.52ID:syvWlvRl0
もちろん見
2024/04/03(水) 22:53:26.71ID:7LWlVk3JM
なぜないかと言えば一番は需要がないから
次にハードウェアで演算が実装されていないから
マルチスレッドと非常に相性が悪そう
199デフォルトの名無しさん (ワッチョイ 4bb9-Lkgf)
垢版 |
2024/04/03(水) 23:35:28.04ID:I9qDTX4l0
そもそも固有値計算は反復法で数値的に解く以外のアルゴリズムが絶望的に遅い
反復法で有理数を使うメリットは皆無
200デフォルトの名無しさん (ワッチョイ 0523-JG6v)
垢版 |
2024/04/05(金) 08:06:27.83ID:UbOZHmwH0
エッジAI時代の到来が後押し、STマイクロが18nm FD-SOIをマイコンに適用する理由
https://news.mynavi.jp/techplus/article/20240405-2921132/
2024/04/05(金) 08:23:11.07ID:1tjV+Dtg0
MAUIで会員制のデータ計算、集計アプリ作ってて外部サーバーのMysqlに直撃繋いてSQL書いてるけど、問題ない?
(デスクトップアプリみたいな感じで)

PHPでWebAPI作るのが面倒だし、認証トークンがよく分からん。
202デフォルトの名無しさん (ワッチョイ 1d7c-AIK3)
垢版 |
2024/04/05(金) 08:44:51.05ID:5kaK3dCP0
>>201
それってDBへの接続文字列が書かれたものがコンパイル済みとはいえクライアントにあるって事だろ

逆アセンブルは簡単にできるからDBに直接アクセスされてデータ消したりテーブル消したり出来るぞ

当然ながら会員データも他人の読めるので個人情報入ってたらアウト
損害賠償で乙
203デフォルトの名無しさん (ワッチョイ 1d7c-AIK3)
垢版 |
2024/04/05(金) 08:47:55.10ID:5kaK3dCP0
MAUIで書いてるならWebAPIもC#で書けば良いじゃん
swaggerから簡単に生成出来るし

色々考えるとWebアプリの方が楽だぞ
2024/04/05(金) 10:22:28.23ID:17mWCV7+0
会員制で直接続はアウト過ぎるでしょ
2024/04/05(金) 10:22:47.26ID:17mWCV7+0
いやまぁ会員制じゃなくてもだいたいアウトだけど
2024/04/05(金) 11:05:17.45ID:M5GS/KTZ0
釣りだろコレ
2024/04/05(金) 11:32:23.97ID:+YDzueIpM
>>202
接続文字列のユーザーIDとパスワードを管理すればいいんじゃねーの?
2024/04/05(金) 12:38:27.17ID:M5GS/KTZ0
>>207
昔、DBへの接続アカウントを社員数分作ってた時代があってだな...
2024/04/05(金) 19:09:09.28ID:5x+F8iFN0
IAM DB AuthenticationみたいにDB接続前に別のところで認証して
その結果のトークンをMySQL接続時に渡してプラグインで検証してるなら
直接繋いでても一般的に許容されるレベルのセキュリティは確保されてるんじゃないのかな
2024/04/05(金) 19:40:14.35ID:/3gonVr80
アクセス元のIPアドレスでフィルタすると多少はマシになる
2024/04/05(金) 20:09:12.25ID:ZVYYNID40
認証トークンがようわからんとか言ってるし、そんなセキュリティ確保されてるレベルじゃないと思う
212デフォルトの名無しさん (ワッチョイ 1d7c-AIK3)
垢版 |
2024/04/05(金) 20:54:43.89ID:5kaK3dCP0
行レベルセキュリティとかもして無さそうだから認証だけの問題でも無さそう
2024/04/05(金) 23:17:58.82ID:1tjV+Dtg0
VBA使ってスタンドアロンで動くものしか作ったことない私がやるとこうなる。

一応、Firebaseからデータ読み込むだけのスマホアプリをXamarinで作ってストアに公開して2年経つが、今のところ特に問題ない。

今回のスマホアプリは昔、プロに作ってもらったものを参考にして、MAUIで作り直してる。

SQLが使えないFirebaseは使いづらいし、テーブルの数が多くて、読込、追加、更新、削除を頻繁にやらないといけないからMysql使ってる。

今、PHPでWEBAI使って作り直してるけど、デバッグがやり難くて困ってる。
あと、プログラムは仕事では殆どやってない素人だから大変だ。

外注を使うと金がかかるから自分で何とかするしかない。
2024/04/06(土) 00:11:33.67ID:0xwqt259M
おじいさんゆっくりお休みください
仕事はプロに任せましょう
2024/04/06(土) 02:12:36.49ID:9cPJ1AnL0
本業の片手間でやらざるを得ない人もいる
責める気にはなれない
2024/04/06(土) 06:20:33.48ID:ckpkZH2I0
>>215
ストアに公開してる時点でそれは許されんよ
217デフォルトの名無しさん (ワッチョイ 1d7c-AIK3)
垢版 |
2024/04/06(土) 06:44:58.55ID:dnvnVLJa0
外注使うと金かかる(分かる)
自分で作ると金掛からない(勘違いしてる)

その時間仕事してると給料が入る
会社なら一般管理費等も考えると普通の外注と同じで人月100とか120万となる

つまり素人が時間掛けて自分で作るより外注した方が安い
218デフォルトの名無しさん (ワッチョイ 1d7c-AIK3)
垢版 |
2024/04/06(土) 06:46:08.95ID:dnvnVLJa0
ああサービス残業的に作ってるっていうなら確かに金は掛からない

社畜精神凄いとは思うけど
2024/04/06(土) 07:53:38.50ID:GcBZGA0Q0
不具合で情報漏洩したら損害すごいけど。
2024/04/06(土) 16:54:22.63ID:kbPnHbow0
責任を擦り付ける意味合いでも外注を選択するわ
221デフォルトの名無しさん (ワッチョイ 0579-JG6v)
垢版 |
2024/04/06(土) 17:15:15.13ID:1bMg12vP0
CPUの命令セットアーキテクチャ「x86」は近い未来に滅ぶだろうという主張
https://gigazine.net/news/20240406-x86-needs-to-die/
2024/04/06(土) 18:27:06.07ID:lDTOPyrEM
x86が滅びてもx64があるじゃない
2024/04/06(土) 19:54:20.27ID:Zc90rRma0
また逆張り痴呆老人か
2024/04/06(土) 20:53:15.00ID:0xwqt259M
誰と勘違いしてるか不明だけど
そいつは俺じゃないぞ

そして毎回的外れなレスしてるのはお前だろ馬鹿
2024/04/07(日) 00:06:18.76ID:+LLlpD+Y0
いきなりどうした?
薬切れたか
2024/04/07(日) 09:58:08.25ID:PBkCA9RO0
自分も社内の制御系システムしか作ったことがないからWebの認証周りやセキュリティ関係が全く分からない
こういうのみんなどうやって勉強したの
2024/04/07(日) 10:50:32.15ID:ldKyq7DlM
今はもう振り落とされたけどjs系で勉強した
C#だけ触ってるとわからないことが多すぎる
228デフォルトの名無しさん (ワッチョイ 237c-LL07)
垢版 |
2024/04/07(日) 10:55:53.03ID:20w18gpn0
>>226
プロトコルの仕様読めば良い
229デフォルトの名無しさん (ワッチョイ 237c-LL07)
垢版 |
2024/04/07(日) 10:56:49.19ID:20w18gpn0
>>227
言語は関係無い
230デフォルトの名無しさん (ワッチョイ 237c-LL07)
垢版 |
2024/04/07(日) 10:58:51.93ID:20w18gpn0
>>227
言葉が足りなかった

お前が勉強したのはjsの認証ライブラリってだけで認証の仕組みなんて分かってない
ライブラリの使い方覚えただけ

C#にも認識ライブラリは有る
2024/04/07(日) 11:00:44.59ID:ldKyq7DlM
変な話jsで認証やセキュリティの話は10倍ぐらいのスピードで時間が流れてる気がする
自分が勉強したころはJWT使いましょうだったのがかなり前からJWT使うなだし

関心を持ってる人間の量が違う
2024/04/07(日) 11:02:40.10ID:ldKyq7DlM
>>230
上にも書いたけどライブラリじゃなくて認証の仕組みなどだよ
C#関連で見ると言及されることが少ない
js関連見てるとそこら辺の情報が豊富にある
233デフォルトの名無しさん (ワッチョイ 237c-LL07)
垢版 |
2024/04/07(日) 12:18:56.37ID:20w18gpn0
>>232
お前の探し方が悪いだけ

そもそも企業だとADやら365のAzureADでSSOやらSAMLするからMicrosoft系で認証系の情報が少ないとか無いんだよ
2024/04/07(日) 12:48:05.19ID:ldKyq7DlM
話がずれてるぞ
さっきの質問者にそれを教えてやれよ

あえてそれに乗ると
探しかたが悪いとわからない = 勉強しづらい
だと思うんだけどね

C#だけ触ってると井の中の蛙で概念すら知らないことだらけ
js系触ってるとずっとweb系のセキュリティの洗礼を受け続けることになる
それで関心を持ってる人間が多くてカジュアルに技術が学べる機会がC#より多い
ネットだけじゃなくてjs系の書籍も発行されてて手に取ることが出来る
探しかたが悪いなんて話にはなりにくい

こんな単純なことは理解できるだろう
2024/04/07(日) 14:30:29.65ID:KI7ZIVZx0
>>231
「かなり前からJWT使うな」なんあったっけ?
236デフォルトの名無しさん (ワッチョイ afe5-KkZA)
垢版 |
2024/04/13(土) 06:59:00.94ID:qJM1JNy30
今お騒がせのどんぐりシステム

http://web.archive.org/web/20131009170307/http://www.geocities.jp/nullpo0/
開発終わってるツインテール2.51で書き込み出来てる

ツール 環境設定 板一覧の更新URLを
http://bbsmenu.afi.click/5ch/bbsmenu.htmlに変えれば即使える

C#のソースも残ってるし誰か勉強がてら改造続けてくんない?
今後問題になりそうなのはhttpsとか他の板登録関係かな
2024/04/13(土) 08:50:08.70ID:bNsXT6DM0
tailwindか
lzhとか懐かしい
2024/04/13(土) 16:22:18.44ID:9eleJpwP0
今更古いWinFormsのアプリは触りたくないな
高DPI対応させるだけでも面倒だ
2024/04/13(土) 21:16:59.28ID:DJsIOT6i0
>>236
板一覧のURLそれ合ってる?
2024/04/13(土) 23:02:23.84ID:OrtqC7Lq0
live2chだとhttps://menu.5ch.net/bbsmenu.htmlやね
2024/04/13(土) 23:05:57.16ID:OrtqC7Lq0
つーかどんぐり板で余裕で書けなかったが
2024/04/13(土) 23:09:34.46ID:bNsXT6DM0
tailwindじゃねぇtwintailだ…
upliftやdonguri対応とかそこらへんなら誰かしてくれそう
2024/04/13(土) 23:16:13.33ID:OrtqC7Lq0
数分空けたら書けたわ
また変なの追加したのか
2024/04/14(日) 02:49:59.97ID:u9C840Gr0
どんぐりといってもcookie送ってるだけだから
10年前に開発が終わった旧い専ブラでも普通にドングリできる
2024/04/14(日) 06:22:05.05ID:WgYz+Erz0
afi.clickとか明らかにアフィカスの何かだろ
246デフォルトの名無しさん (ワッチョイ b7f3-z6RI)
垢版 |
2024/04/14(日) 11:07:15.33ID:pSQDB1C20
htppsに対応させるにはソースのどこをどういじればいいの?
2024/04/14(日) 11:15:06.57ID:Mozzmy2v0
ハンター対応しなきゃ
2024/04/14(日) 11:45:01.62ID:kaIMFojX0
>>238
逆に言えばそれだけのこと
249デフォルトの名無しさん (ワッチョイ ff40-z6RI)
垢版 |
2024/04/14(日) 13:51:42.00ID:5lm5l0Bg0
>>246
板一覧をhttps://menu.5ch.net/bbsmenu.html に対応させるなら
Twintail Project\ch2Solution\twinie\Forms\Dialogs\BoardUpdateDialog.cs
の267行目のhttpをhttpsにして
Twintail Project\ch2Solution\twin\Base\Table\KatjuBoardTable.cs
の83行目を「@"B>(?<cat>.+?)</B>】(?<brds>.+?)(?=【)",」とかに(適当)
Twintail Project\ch2Solution\twin\Base\Text\URLParser.cs
の41行目のParseBoard()に入ってすぐか、呼び出す前にurlの前後の
「"」を取っ払う処理入れたら読めると思う
あと、その少し上の正規表現を2行とか5行定義してるところで、httpを
https?とかに変えといた方がいいかも
2024/04/16(火) 19:02:06.25ID:jSJTdkV90
どんぐりのせいで誰も居なくなったw
2024/04/17(水) 02:08:59.43ID:+GtN1dri0
この板はまだ有効になってないけどね
2024/04/17(水) 05:20:09.56ID:Rshduz890
ふむツインテールでは確かに書けるな
どうしたものか
2024/04/17(水) 08:43:36.12ID:qOoCq7Mx0
マ板は有効になってるっぽいし、ム板もそのうちなるんかねぇ
2024/04/17(水) 11:31:30.28ID:+GtN1dri0
どんぐりキャノン撃つのが面倒なんで専ブラで対応したらめちゃくちゃ便利になりそうな気がする
255デフォルトの名無しさん (ワッチョイ 96b0-TxeL)
垢版 |
2024/04/21(日) 11:46:43.16ID:ia+eGvgw0
>>226
僕も同感です。
そもそも認証やセキュリティまわりで議論が白熱するか分からん。
ログインされたらパスワードを入力させるだけの話じゃないの。
何で難しい話になるんだろう。頭がいい人はその認証方法じゃだめじゃ
みたいに思うんだろうか。
2024/04/21(日) 12:44:37.77ID:ZhmDOSdI0
>>255
exeとかのアプリケーションならそうだけど、
Webアプリケーションの場合には、ログインセッションをcookie等で維持する仕組みが必要。
257デフォルトの名無しさん (ワッチョイ 96b0-TxeL)
垢版 |
2024/04/21(日) 13:48:04.59ID:ia+eGvgw0
cookieとセキュリティくらいか。
やり方なんてそんなにないと思うけどなぁ。
2024/04/21(日) 13:53:06.24ID:TVuXhDVi0
>exeとかのアプリケーションならそうだけど
むしろこっちが気になるな
exeとかのアプリケーションでログインされたらパスワードを入力させるだけの話ってどんなアプリケーション?
2024/04/21(日) 15:02:47.54ID:ZhmDOSdI0
俺は>>255が何を考えているのか知らんけど、
>>258が例えばユーザー毎のアクセス権とかパスワード変更とかを気にしているのであれば、
Webアプリケーションだろうがexeだろうが一緒だから省略してるよ。
2024/04/21(日) 15:50:12.42ID:xRhlemXE0
>>255
普通のアプリ開発だと
普通の画面にある機能は誰でも実装できるけど
認証機能は難しすぎて問題すら解らない領域だから
通常はクラウドの機能を使うとかライブラリー当てて何も考えないで終わりが通常
261デフォルトの名無しさん (ワッチョイ 4d7c-Dx6U)
垢版 |
2024/04/21(日) 16:01:02.28ID:OlMPLRoS0
SSOだのSAMLだの考えろよ
2024/04/21(日) 16:58:28.83ID:yf+CF1E90
SSOだのSAMLだのはgptで出てくるから脳死でコード貼り付けるだけよ
2024/04/21(日) 17:36:10.77ID:kzaFeVxs0
なぜ今SAML...
264デフォルトの名無しさん (ワッチョイ 4d7c-Dx6U)
垢版 |
2024/04/21(日) 17:54:00.12ID:OlMPLRoS0
>>263
世の中てそんなもん
他システムがOpenIDConnectに対応してるのなんて少ないんだよ
2024/04/21(日) 21:41:30.39ID:kzaFeVxs0
>>264
たとえば?
2024/04/21(日) 22:01:28.14ID:mUhNnjHx0
いいよもう
最初の質問者いねーやろ
2024/04/21(日) 22:03:07.54ID:aQcOPWvZ0
そもそも遅レスにも程がある
268デフォルトの名無しさん (ワッチョイ d010-YiC7)
垢版 |
2024/04/21(日) 22:12:37.11ID:cTDNZi+40
不適切にもほどがある!
269デフォルトの名無しさん (ワッチョイ 7f10-hrwJ)
垢版 |
2024/04/28(日) 21:54:53.21ID:gvuAb1r50
age
270デフォルトの名無しさん (ワッチョイ df89-TfPO)
垢版 |
2024/04/29(月) 14:21:43.84ID:UFWuh9Cl0
Passkeyも脳死でできるようにしてください
ポンコツな俺の頭には難しすぎます
271デフォルトの名無しさん (ワッチョイ bf92-y8PE)
垢版 |
2024/05/02(木) 20:09:50.89ID:rF00337I0
実装で不必要に長いコード書いちゃってでも動いてはいる場合って
修正しなくていいんですか?
2024/05/02(木) 20:12:13.03ID:rF00337I0
271に続いてこれとかも聞いておきたいです。
C#も新しい機能出てますが2018年までの知識だけで
コーディングしてる場合2024年最新の文法でかけ!
とかも言われるんでしょうか?
2024/05/02(木) 20:17:55.72ID:Hqnht7Jq0
>>272
本人に直接聞けよw
274デフォルトの名無しさん (ワッチョイ bf92-y8PE)
垢版 |
2024/05/02(木) 20:35:11.80ID:rF00337I0
>>273
そうなんですか。
ただ極端に古いコーディングだったらアウトになりますか?
taskが今流行ってるのにthreadで書いてるとか。
2024/05/02(木) 21:52:13.49ID:QVfmv8n/0
誰に言われるのを心配してるのか分からん。
目的によるに決まってるだろ。
2024/05/02(木) 21:55:12.16ID:8wCQGDmD0
時間あるならリファクタリングしなよ
2024/05/02(木) 21:59:59.83ID:GIzLXDHh0
きちんと動いているならそれはそれだけで尊いとも言えるけどな。
100% バグを出さない自信があるならなにをやってもいいけど。
2024/05/02(木) 22:22:24.21ID:kLjg1j85M
なんとなくだけど.net frameworkでしかコード書いてなかったけど.NETでコード書くってこと?
2024/05/03(金) 08:57:25.80ID:0LyxdmPR0
インデックスってあるじゃん s[1..3]みたいな
あれって操作する前に境界をチェックしないと例外発生するから結局面倒臭さは変わらないような
2024/05/04(土) 07:05:35.87ID:m91DRxZ30
OutOfRangeしても例外発生もクラッシュもしないように言語仕様で手当てされてても
アクセスした結果が正常かどうかこっちでチェックはしなきゃなんねぇでしょ
2024/05/04(土) 10:38:40.40ID:cfuYj1qj0
チェック機能付きでエラー時の値を指定できる拡張メソッドでも作れば解決じゃね?
282デフォルトの名無しさん (ワッチョイ 177c-0EWD)
垢版 |
2024/05/06(月) 19:57:19.79ID:VQ/M9zGx0
非同期asyncについて質問したい

複数の非同期関数を同時に実行して結果を受け取る
そのタスクのうち1つでも結果がfalseならば他のタスクを全て中断としたい

WhenAllでは全ての結果を待つので無駄な場合がある

WhenAnyでは最初に終わったタスク結果は受け取れるだけである

この場合どうしたら良いのだろう?
283デフォルトの名無しさん (ワッチョイ daa6-T7LG)
垢版 |
2024/05/06(月) 20:24:46.99ID:ICcIUWW40
>>282
Copilotによると
ideone.com/o0qKFx
2024/05/06(月) 20:27:40.95ID:LVbBsfNt0
タスクを実行する前に CancellationToken を作って、各タスクに引き渡しておけば?
タスクの中で失敗を検出した時点でトークンを使って他のタスクもろともキャンセルさせるとか。

実証していないから出来るかどうかは確証がないし、お作法的に正しいかは知らない。
2024/05/06(月) 22:13:47.51ID:FU9bPEH/0
>>283
非同期処理の例のTask.Delay()にもCancellationTokenを渡してあればもっと良い
各タスク完了後のtoken.ThrowIfCancellationRequested()は要らない気がする
2024/05/07(火) 01:14:21.58ID:4xW/jY0L0
ループの中でawaitしてるんはどうなん?
後ろのほうのタスクがさっさとfalse返してても無駄に待たんの?
2024/05/07(火) 01:47:46.02ID:5Pxvn/fz0
>>286
肝心なところを見落としてたorz
無駄に待ってしまうね
各タスクにCancellationTokenSoruceを渡してreturnの前にCancel()しないとだね
メインタスクのforeachは削除してTask.WhenAll()で
288デフォルトの名無しさん (ワッチョイ 665b-T7LG)
垢版 |
2024/05/07(火) 18:49:51.77ID:8e8GnC/g0
c#で現在ゲーム作成中です。
データベースに画像を保存したら01011みたいなデータになってるから
dbから直接画像を抜かれる心配ってないですか?
2024/05/07(火) 19:12:47.82ID:io+wCOfI0
DBの中覗かれたら抜かれるよ
つーか、その程度の知識ではまだ早い
290デフォルトの名無しさん (ワッチョイ 665b-T7LG)
垢版 |
2024/05/07(火) 19:18:45.15ID:8e8GnC/g0
>>289
zip暗号化をすれば何とかなると思います。
ゲームを進めていかないと現れない文字列をパスワードにします。
ステージ1クリア→g
ステージ2クリア→o
ステージ3クリア→a
ステージ4クリア→l
画像取得→パスワードgoalをdbに送信、画像取得
こんなのはどうですか?
291デフォルトの名無しさん (ワッチョイ 665b-T7LG)
垢版 |
2024/05/07(火) 20:20:10.95ID:8e8GnC/g0
すいません勘違いしてました。
2024/05/21(火) 17:27:39.52ID:8JrFSvOm0
c#の初心者講座一通りやったのでデスクトップアプリ作ろうとおもうんですが
GUIつくるにはXamlの習得が必須なのでしょうか?
Pythonで作れたりしませんかね
2024/05/21(火) 17:35:47.17ID:ugTPWt7D0
本当に初心者講座やったんかいな
2024/05/21(火) 17:36:17.20ID:hwOFRgY40
WinFormsおすすめ
2024/05/21(火) 22:26:39.95ID:qpEPG2sb0
XamlやらなくてもWinFormでつくれるし
PythonでもGUIできるぞ
296デフォルトの名無しさん (ワッチョイ 9b79-fjqD)
垢版 |
2024/05/21(火) 22:43:43.37ID:DOc9CbOo0
PyQtか?
raspberry piで便利だったな。
winformと同じポトベタ
2024/05/22(水) 01:33:45.52ID:hVxp2sKt0
>>295
>>296
どんな感じでやるんですか?
検索したいので単語とか教えてください
最悪xamlを学ぶつもりですが画面遷移で手こずってます
2024/05/22(水) 02:00:10.58ID:mGbCqjUb0
とりあえずVisual Studioインスコして遊んでみたら
299デフォルトの名無しさん (ワッチョイ 1a8e-dWDI)
垢版 |
2024/05/22(水) 03:35:52.37ID:x1qLv0vm0
>>297
普通にC#で検索すりゃ出てくるだろ
2024/05/22(水) 06:42:34.59ID:qFl+oqMo0
単語とか教えてくださいて、winformって書いてあるだろ
2024/05/22(水) 07:20:56.92ID:KZz5GmBj0
xamlがC#の初心者講座に載ってなかったのであればxamlを学ぶのは遠回りだな
次にやるべきはxamlの初心者講座だろう
2024/05/22(水) 08:10:07.77ID:7Wi0RN/NM
猫でも判る
303デフォルトの名無しさん (ワッチョイ 5b49-WgSd)
垢版 |
2024/05/22(水) 08:30:09.27ID:w1FG1Kag0
アルツハイマーでも判る
2024/05/22(水) 09:07:37.83ID:CexWTTTE0
判っても忘れるやないけ
2024/05/22(水) 12:48:57.43ID:L8+BYydH0
ROMに焼いて脳に刺す
2024/05/23(木) 17:42:28.26ID:E/x3SfJu0
xamlの本を大きめの本屋さんで探したら一冊もありませんでした
xamlを勉強する人はもうネットのリソースしか使えないんですかね
JavaScriptとasp.netはたくさんあったのに
2024/05/23(木) 17:44:43.27ID:8gaO1tDV0
取り寄せればいいだろ
2024/05/23(木) 18:35:47.08ID:2GvHvp8D0
ざむるなんかネットでええやん
2024/05/23(木) 19:06:03.13ID:Cu3zenP40
ネットでええやんというかあらゆる情報においてネットの方が良いと思うが
今はチャッジピーもあるし尚更
まあxamlは習得までのコストを考えたら明らかにコスパは悪いと思うけどね
素直にhtml、css、jsでgui作ったほうが良い
2024/05/23(木) 19:09:23.61ID:poZBDhBnM
細かいところ知らなくてなんとなくは出来るけど
意味もなく呪術を使ってるような感じに近いのかな

今はエッセンシャルWPFみたいな本当の概念を教えてくれる書籍はどこにもないのかもしれないけど
2024/05/23(木) 19:16:37.09ID:JWo63WQ5p
xamlで何でも書いちゃう凄腕は
たいてい他者から嫌われる

何故って、んなコードメンテ出来ねえんだよ
2024/05/23(木) 20:44:54.40ID:E/x3SfJu0
>>309
でもデスクトップアプリはxamlしかだめなんですよね?
2024/05/23(木) 20:56:38.96ID:2GvHvp8D0
呪術使いかよ


かっけえ~な
2024/05/23(木) 20:59:38.29ID:poZBDhBnM
定型文しかしらないってカッコ悪いよ
WPFのmeasureなどの仕組みを知らないでその都度コンテナやコントロールで試行錯誤して時間だけ過ぎていくことになる
2024/05/23(木) 23:11:32.88ID:Cu3zenP40
>>312
いやいやJavaScript利用すればwebと同じ要領でデスクトップアプリも作れるよ
2024/05/24(金) 00:43:13.27ID:Jqq1csRV0
>>315
え!そうなんですか
調べてたらwpf blazor avalon maui uwpと色々出てきて頭が混乱しています😥
2024/05/24(金) 12:06:37.96ID:3IiN8e280
>>316
全部忘れてReact Nativeでよい
WindowsターゲットはMSが開発してるしMS自身のプロダクトにも使いまくってて、
事実上WindowsのGUI開発の公式推奨フレームワークだ
2024/05/24(金) 12:51:51.23ID:rLRASlVb0
公式推奨してたっけ?
2024/05/24(金) 12:58:58.64ID:BZbv4ftZ0
技術力のないやつはどいつもこいつも自分が使ってる技術スタックが良いと思い込みたいんだよな
2024/05/24(金) 17:37:22.10ID:/OWqJJSP0
趣味でコード書くだけなんでWinFormsで間に合ってる
2024/05/24(金) 18:48:26.05ID:077894te0
WPF使うけどバインディング使わずにイベントハンドラですませることが多いかな
322デフォルトの名無しさん (ワッチョイ 5bb1-fjqD)
垢版 |
2024/05/24(金) 20:01:58.17ID:6mWP1uh50
ソース流用しないならそれでいいんじゃない?
323デフォルトの名無しさん (ワッチョイ 5bb1-fjqD)
垢版 |
2024/05/24(金) 20:04:26.27ID:6mWP1uh50
WinFormsでソースを変にいじるとデザイナーの表示ができなくなるのが嫌でwpfにしてるわ。
2024/05/24(金) 22:09:40.76ID:FPKozzZg0
デザイナのソースを弄るなよw
325デフォルトの名無しさん (スップ Sd5a-dWDI)
垢版 |
2024/05/24(金) 22:28:29.98ID:mWKP/1zed
いじり方がわからないだけだろ
2024/05/24(金) 22:52:14.61ID:Jqq1csRV0
xamlで色々なフレームワークいじれることがわかったので
大人しくavaloniaっていうやつでxamlを練習することにしました
327デフォルトの名無しさん (ワッチョイ 5bb1-fjqD)
垢版 |
2024/05/24(金) 22:53:08.43ID:6mWP1uh50
自動生成されたコードを消すとデザイナーがエラーになる
2024/05/24(金) 23:20:25.34ID:QbvyThC1M
avaloniaはwpfと微妙にちがってたりするからな
ちゃんとdocument読むんだぞ
329デフォルトの名無しさん (ワッチョイ a3ad-C15y)
垢版 |
2024/05/25(土) 01:31:29.16ID:fb1SGBAr0
茨の道を進むのもまあ趣味だからね
330デフォルトの名無しさん (ワッチョイ 1a8e-dWDI)
垢版 |
2024/05/25(土) 02:35:00.43ID:FMQVfOzJ0
こういう奴は人に聞いてるふりして聞いちゃいないからな
答えるだけ無駄
2024/05/25(土) 06:27:22.35ID:/JCTn12+0
とりあえず6mWP1uh50がアホなのは良くわかった
332デフォルトの名無しさん (ワッチョイ 5fb6-fjqD)
垢版 |
2024/05/25(土) 08:44:14.74ID:rw81kdgJ0
>>331
アホだけどwpfでコードビハインド避けて出来るだけバインドでやってるよ(笑)
333デフォルトの名無しさん (ワッチョイ b6e8-4PJT)
垢版 |
2024/05/25(土) 11:06:49.49ID:d1cHng4L0
Windowsで画面の外にある範囲とか後ろにあるものを含めてスクリーンキャプチャ頑張ってしたいです
例えば画面の外に出てしまったExcelなどです。
C#でそんな魔法の関数ありますか?Windows APIでもいいのであったら教えてください
描画する前の段階のメモリにアクセスとかそういう関数とかあるかな
2024/05/25(土) 11:12:13.70ID:Ljj82WJ/a
win7までだったら何も考えずに撮れたけど今は無理なんじゃないのかな
アプデするたびに不便になってく
335デフォルトの名無しさん (ワッチョイ 5bb1-fjqD)
垢版 |
2024/05/25(土) 11:40:36.75ID:lsgA+/i+0
プリントスクリーンキーでコピーできる範囲ならわかるけどはみ出ては無理じゃね?
2024/05/25(土) 11:51:12.46ID:Ljj82WJ/a
昔ははみ出てようが、ほかのウインドウに隠れてようが取得できた
Winters 10 Anniversary Updateの前のバージョンのwindows10まで撮れたのかな
必要としてるのが自分の環境であればそこまでダウングレードすれば
2024/05/25(土) 12:36:32.43ID:OTS2oE4w0
とりあえずどうやったら撮れたか手段教えてあげたらいいのでは?
338デフォルトの名無しさん (ワッチョイ b64e-4PJT)
垢版 |
2024/05/25(土) 12:40:23.00ID:d1cHng4L0
ありがとうございます
ダウングレードで出来ることを示せば今できない証明になりますね
2024/05/25(土) 14:35:35.85ID:hSeXqoSH0
仮定:フルHDサイズのデスクトップとして

using(var Img = new System.Drawing.Bitmap(1920, 1080)) {
  using(var Grp = System.Drawing.Graphics.FromImage(Img)) {
   Grp.CopyFromScreen(0, 0, 0, 0, new System.Drawing.Size(1980, 1080), System.Drawing.CopyPixelOperation.SourceCopy);
  }
  Img.Save(@"E:\Test.png");
}

これでまるっととれるが?
2024/05/25(土) 14:36:31.03ID:hSeXqoSH0
あぁ、Saveとかファイル名は好きにしてね
2024/05/25(土) 14:53:35.10ID:GU3V+oeu0
1920、1080外に出てるGUIもスクショしたいって話じゃないか?
2024/05/25(土) 15:15:01.04ID:OTS2oE4w0
他のウィンドウに隠れてる部分もスクショしたいって話もあったぞ
2024/05/25(土) 15:23:27.11ID:GU3V+oeu0
なんかそういうWin32APIあった気がするけどな
まあ無かったら最悪SetForegroundWindowとかで一瞬だけ最前面にするとかSetWindowPosで一瞬だけ画面内に入れるとかか
2024/05/25(土) 15:28:43.31ID:CqoBbhiM0
aero が有効なら背面のウィンドウも全部描画されているから隠れていてもキャプチャできた。
最近できなくなったというのは知らなかったけど。
2024/05/25(土) 15:30:19.24ID:tQ1kZz6W0
EnumWindowsでそれぞれのハンドル得ながら
Windows Graphics Captureか
GetWindowRect + GetWindowDC + PrintWindow or BitBltを使えばできる
(GPT談)
2024/05/25(土) 15:46:46.34ID:tQ1kZz6W0
書いといてなんだけども
隠れてるのも含めて全部スクショを取るアプリって
まともな使い方じゃない気がするのは俺だけ?
2024/05/25(土) 16:05:00.93ID:GU3V+oeu0
アンチチートプログラムはまともなソフトウェアですよ
2024/05/25(土) 16:32:27.04ID:zDnRdyrP0
資産管理系はよくある
2024/05/25(土) 16:45:07.51ID:tQ1kZz6W0
アンチチートってどういう用途について言ってるのかよくわからないけど
事前の通知や同意を得えずにやるのは不法行為に当たる可能性が高いよ

学校の情報処理室のPCみたいなので
画面監視内容や目的を事前に通知して同意を得た上で
使わせるとかならまだわかる
でもそのくらいの用途なら違うアプローチがあるし
やり過ぎだと思うけどね
2024/05/25(土) 17:08:14.65ID:Ljj82WJ/a
ウインドウとその範囲を指定して切り出して表示する汎用ツール作っとくと
例えば為替チャート~ブラウザの一部だけ切り出してデスクトップ最前面に常に表示しとくとかそんなことができた
351デフォルトの名無しさん (ワッチョイ b69c-4PJT)
垢版 |
2024/05/25(土) 20:21:57.06ID:d1cHng4L0
>>344
>>345
出来ないとは断定できない感じですかね
できるかやってみます
2024/05/26(日) 00:37:11.56ID:2eNgSRji0
>>345試したらできた
普通のwinformsなら取れるがChromeやUWPは真っ黒になった
どっかで失敗してるんだろう
2024/05/26(日) 05:47:38.68ID:z4TFz7uPM
デスクトップのDCからとると切れるけどウィンドウのDCからなら切れないし下にあってもキャプチャ取れるはず
真っ黒になるようなのはデスクトップDCから取ればいけたような
そうすると画面外とか取れないけど
あとchromeのハードウェアアクセラレーション切ってみるとか
2024/05/26(日) 05:50:26.29ID:z4TFz7uPM
ああとウィンドウのDC取るって言ってもタイトルから取れるハンドルと実際に描画のウィンドウハンドル別のケースあるから描画されてるウィンドウから取ったほうがいいかと
2024/05/26(日) 07:05:25.29ID:vBjAPjV30
画面外に出てる部分までキャプチャしてどうしたいのかは気になるな
2024/06/05(水) 20:20:57.50ID:9ADuYisn0
最近wpf勉強し始めたんですけどmvvmでしたっけ?データバインディングするまでって
ややこしくないですか?
2024/06/05(水) 20:23:29.13ID:iN0Qb8gE0
馬鹿らしくないですか?だろwww
2024/06/05(水) 20:30:20.96ID:hKq03IIXa
いちいちバインディングしなくてもいいぞ
MSの方針なんて無視
2024/06/05(水) 20:52:16.76ID:AlJuJjGo0
そのうちバインディング万歳になる
360デフォルトの名無しさん (ワッチョイ dd70-QAZJ)
垢版 |
2024/06/05(水) 21:03:07.64ID:yE+c4LWp0
バインディングすれば非同期スレッドからもリンク出来て楽だよ。
2024/06/05(水) 21:25:05.05ID:H5VCPRu+0
WPF+MVVMで作る場合のMVVMのライブラリは何がおすすめですか?
2024/06/05(水) 21:27:45.78ID:6MSiuNzp0
CommunityToolkit.Mvvm でいいんじゃね?
ttps://learn.microsoft.com/ja-jp/dotnet/communitytoolkit/mvvm/
2024/06/05(水) 21:31:30.44ID:i0zhFyOO0
>>361
CommunityToolkit.Mvvm
これがもう少し早く世に出ていれば少しはWPFの評価が違ったかもな
2024/06/05(水) 21:32:04.97ID:YJKZP7nLp
それ非推奨になってね?
2024/06/05(水) 21:34:53.32ID:H5VCPRu+0
>>362
>>363
即レスありがとうございます
やっぱりそれが主流なんですかね
ググってもイマイチ情報が少なかったので皆さんどうしてるのかなって思って聞いてみたのですが、、
2024/06/05(水) 21:39:32.42ID:6MSiuNzp0
ぐぐると少し古いPrismの話だらけなんだよね…
2024/06/05(水) 21:43:19.11ID:i0zhFyOO0
>>304
Microsoft.Toolkit.Mvvmの方じゃなくて?
↑は旧称で単純に古い
2024/06/05(水) 21:50:36.85ID:P2HfWo3kp
xaml.csん中空っぽになるのは寂しい
2024/06/05(水) 21:54:08.80ID:i0zhFyOO0
>>367
>>364だった
2024/06/05(水) 22:05:47.71ID:iN0Qb8gE0
>>356
プロ?なら出来るだけ避けたが良いよ
何の投資にもならんから
2024/06/06(木) 00:00:04.44ID:B1FKFj1a0
.net frameworkから.netへの移行ツラぽよ
みんなこの苦労を乗り越えてきたんですかね
2024/06/06(木) 00:10:46.46ID:pYRUrgsna
無理に移行しなくてもframeworkも現役だしそれで十分だぞ
スケーリングやcancellationtokenみたいなの考えると.netの方がいいけどさ
2024/06/06(木) 00:11:46.98ID:uBno2CbmM
そんまんまコンパイルできた
2024/06/06(木) 00:27:23.39ID:icCTHgd40
>>370
どういう意味ですか?
あなたの言ってることがよくわかりませんごめんなさい
2024/06/06(木) 00:39:43.02ID:U1zlRwjW0
>>374
プロ?さん?
2024/06/06(木) 01:35:42.58ID:B1FKFj1a0
>>372
クラウドに載せるアプリとなるともはや.net前提じゃないですか
オンプレからの移行となると.net化は避けては通れないかと…
2024/06/06(木) 06:53:12.01ID:/gKf4FDX0
>>371
頑張って乗り越えたわ
百数十のプロジェクトファイル手動で書き換えて
2024/06/06(木) 10:42:54.20ID:8h9xdHiZp
そしてWindowsの大多数のCPUがARMになって行く未来
2024/06/06(木) 14:00:04.03ID:fRCbP1t8M
>>376
オンプレへの移行が最近の流行ですよ
2024/06/06(木) 19:09:08.40ID:QU+QaC9M0
>>374
とりあえず上から目線でレスしたかった程度だろうし気にする必要ないかと
2024/06/07(金) 00:17:34.69ID:Tuk18TRS0
>>377
MSが出してる移行ツールを使わない判断したんですか?
それ使ったら一発だろ何が難しいんだって上からは言われてるんですけど実際どうですかね
382デフォルトの名無しさん (ワッチョイ 4a79-JMex)
垢版 |
2024/06/07(金) 01:09:52.72ID:XGCR4se00
enumの列挙子を数字の文字列にするにはどうすればいいのですか?

トランプの数字・文字をenumにすることを想定して欲しいのですが
enum Rank
{
A, 2, 3, 4, 5, 6, 7, 8, 9, T, J, Q, K
}
これはうまく行きませんでした
数字部分を""で括ってもダメなようです
ヘルプみい
2024/06/07(金) 01:34:26.06ID:4kHiTa42a
全角にするか、CARD_2、CARD_3みたいにするしかないんじゃない?
2024/06/07(金) 02:08:03.64ID:sYhUQ8VE0
>>382
先頭に数字は使えない仕様
_1,_2みたいに数字の前に_(アンダーバー)を付けてる
385デフォルトの名無しさん (ワッチョイ be02-QAZJ)
垢版 |
2024/06/07(金) 05:47:31.38ID:ZUQeVjCM0
配列の宣言で初期化は{}で記述出来ますが、Listではどうやるんですか?
例えば
class P{int a;string str;}
List<P>=new P[5]{}←ここ
2024/06/07(金) 08:37:55.54ID:r6TBMC670
>>385
List<P> list = new() {new P(), new P(), new P(), new P(), new P()};
or
var list = new List<P>() {new P(), new P(), new P(), new P(), new P()};

class Pには明示的にコンストラクタが定義されておらず
インスタンスメンバもprivateなので生成時に個別の値は設定できない

https://learn.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/object-and-collection-initializers#collection-initializers
2024/06/07(金) 08:38:07.73ID:4kHiTa42a
class P { int a; string str;
public P(int a, string str)
{
this.a = a;
this.str = str;
}
}
List<P> aa = new List<P>() { new P(1, "1"), new P(2, "2"), new P(3, "3") };
388デフォルトの名無しさん (ワッチョイ d5ad-QAZJ)
垢版 |
2024/06/07(金) 12:11:29.02ID:uG7hYPCy0
>>386
>>387
ありがとうございました。
理解できました。
389デフォルトの名無しさん (ワッチョイ 4a01-HpFF)
垢版 |
2024/06/07(金) 12:51:27.90ID:tQZH7Tnk0
グーグル、資料のわからないところを最新AIに質問できる「NotebookLM」日本版公開
https://ascii.jp/elem/000/004/202/4202481/
390デフォルトの名無しさん (ワッチョイ fe91-hMM5)
垢版 |
2024/06/08(土) 00:50:39.71ID:03ku9SKj0
ふと疑問に思ったんですが進化のたびにコードが短縮化されていったら
言語ごとの個性の差って少なくなっていきません?
例えばラムダ式とか
2024/06/08(土) 06:14:53.19ID:6W2GBE510
>>381
もう2、3年前にやったことだけど
移行ツール使ってやろうとしたけどうまく行かなかったから手動でやったんだったような記憶
392デフォルトの名無しさん (ワッチョイ 4a88-HpFF)
垢版 |
2024/06/08(土) 10:46:23.91ID:TRqvICLK0
「毒杯飲む直前どんな気持ちだった?」ソクラテスと対話できるAIを開発!
2024.06.04
リコーと理研、技術の実用化の“兆し”を察知するアルゴリズムを開発
2024/06/05
グーグル、資料のわからないところを最新AIに質問できる「NotebookLM」日本版公開
2024年06月06日
393デフォルトの名無しさん (アウアウエー Sadf-pS2O)
垢版 |
2024/06/09(日) 10:38:25.68ID:xxSjzckMa
List<Point>で作った閉じた1つの図形の内部線除去に使えるライブラリ何かないかな?
↓の赤い部分を消して輪郭線だけにしたい
https://i.imgur.com/fMUakiS.png
内部線で複数の図形に分割するライブラリでもあれば内部線除去できるかなと思うけどなかなか見つからない
2024/06/09(日) 10:59:00.20ID:XLDZv0sla
OpenCV
2024/06/09(日) 11:07:42.40ID:xxSjzckMa
opencvで処理できるのは画像だけじゃない?
座標データから画像を作って処理して座標に戻すのはさすがに避けたい
clipperのunionやNetTopologySuiteのExteriorRing/Shellではやり方悪いのかうまく除去できなかった
2024/06/09(日) 11:38:36.39ID:pagfmKz50
あんまり複雑なことをしたいのでなければ自作した方が早そうな。
図形 内側 判定 とかで調べるとそれなりにヒットするし。
2024/06/09(日) 12:09:45.45ID:xxSjzckMa
確かに
図形の処理って想定外の入力でバグになりがちだから苦手だけど頑張るか
2024/06/09(日) 12:22:28.64ID:Y+JdchRG0
>>393
https://github.com/AngusJohnson/Clipper2
2024/06/09(日) 17:25:56.85ID:QgtNYENE0
PtInRegionだとか
2024/06/09(日) 17:38:27.90ID:xxSjzckMa
clipperは図形よりも大きい四角と処理したい図形の共通部分取得できそうだけど、なぜかうまくできなかった
PtInRegionみたいなのは辺上の点を指定した場合は輪郭でも内部でもtrueかfalseかのどちらかしか返さないからうまく使えない
2024/06/09(日) 17:40:31.17ID:QgtNYENE0
ちょうどいいのがあった
https://stackoverflow.com/questions/14671206/how-to-compute-convex-hull-in-c-sharp
2024/06/09(日) 18:26:12.08ID:xxSjzckMa
全点含むポリゴンを生成する凸包ってやつなのかな
これはこれでおもしろいやつだけど、今回はこれだと図形が原型とどめないからたぶん使えない
2024/06/09(日) 18:34:10.86ID:VES2dE5O0
2線分の交点が線分上に存在するか?で判定していたな
2024/06/09(日) 21:54:17.01ID:xxSjzckMa
NetTopologySuiteのunionで解決
clipper/clipper2のunionは正常にuniuonできないバグあるのが原因でした
405デフォルトの名無しさん (ワッチョイ ffb7-xov0)
垢版 |
2024/06/10(月) 07:47:34.88ID:QAB9rEB/0
AIの性能が上がれば世界情勢が見えてくる
にゅーーすで話していることもそれらしきことを話すようになる

まづボイス・トォ・スカルが存在している場合としていない場合を問う
そのあとに人間の行動をどのように行動するかを問う

交友関係全てわかる範囲で入力しておく
社会っ情勢を知るにはさらにどういった役職等も調べておく


自分が使用しているボイス・トォ・スカルを本物か偽物化も割り出せる
406デフォルトの名無しさん (ワッチョイ ffb7-xov0)
垢版 |
2024/06/10(月) 13:48:29.76ID:QAB9rEB/0
不眠症にカップ麺やスナック菓子などの「超加工食品」が関係しているという研究結果
https://gigazine.net/news/20240610-insomnia-linked-ultra-processed-foods/

インターネットの都市伝説「The Backrooms」の起源となった画像の正体はどうやって判明したのか?
https://gigazine.net/news/20240610-origin-of-the-backrooms/

GoogleのGeminiとMicrosoftのCopilotが過去のアメリカの大統領選挙を含めた世界中の選挙の結果を正常に返していないことが判明
https://gigazine.net/news/20240610-google-microsoft-chatbots-election-questions/
407デフォルトの名無しさん (ワッチョイ ffb7-xov0)
垢版 |
2024/06/10(月) 20:06:44.83ID:QAB9rEB/0
ボイス・トォ・スカル
電磁波音波攻撃が判明する
人間は電磁界を発生させている
※被害者の身体に痕跡あり
パーキンソン病の原因物質、脳内の可視化に成功
2024年6月6日 0時00分
東工大、磁束集中器を用いない高感度「ダイヤモンド量子センサ」を開発
2024/06/07
名市大、頭蓋内全体の脳脊髄液の動態をマクロ的に観測する手法の開発に成功
2024/06/07
早大、物質中の創発磁気モノポールに起こる集団振動現象を理論的に発見
2024/06/04
理研、電子ビームの電子回折をアト秒で制御できる技術を開発
2024/06/06
分子研など、金ナノ粒子が円偏光の左右選択性を70倍に高めることを発見
2024/06/06
弾性乱流と古典的なニュートン乱流との共通点を発見――弾性乱流を記述する数学的理論の開発に寄与 OISTら
2024-5-29
京大、テラヘルツ波の照射で超伝導体の臨界電流を制御できることを実証
2024/05/28
産総研など、1000個以上の量子ビットを制御可能な超伝導回路の原理実証に成功
2024/06/05
名大など、水素原子の約1/20の超高精度で収差補正できるX線顕微鏡を開発
2024/05/09
408デフォルトの名無しさん (ワッチョイ ffb7-xov0)
垢版 |
2024/06/10(月) 20:07:04.13ID:QAB9rEB/0
細胞の内部を鮮明に観察できる蛍光顕微鏡技術を開発 阪大など
2024/05/07
OIST、有機電気化学トランジスタのON時に生じるタイムラグの原因を解明
2024/05/07
並行世界でタイムリープを繰り返す!?効率的な新しいシミュレーション技術
2024.05.22
東大、電子回折パターンの減少とエントロピー増加の対応を実証
2024/06/03
理研など、「スキルミオンひも」の観察とその詳細な融解過程の記録に成功
2024/05/23 19:29
東大など、金属3Dプリント中の2D画像から3D多孔質構造を予測する手法を開発
2024/06/03
409デフォルトの名無しさん (ワッチョイ ffc2-xov0)
垢版 |
2024/06/11(火) 23:51:12.26ID:3zjiFVVb0
【AI】IQ100超えを達成したAIモデルのClaude 3は「いい性格」を持つようにトレーニングされている [すらいむ★]
https://egg.5ch.net/test/read.cgi/scienceplus/1718025035/l50
2024/06/12(水) 00:07:18.44ID:A3NgZUbK0
どちらが自然ですか?

var a=new int[X,Y];
var b=new int[Y,X];
2024/06/12(水) 08:45:31.72ID:BVQB0f3D0
好きにしろよ
2024/06/12(水) 10:16:11.22ID:KPrvhZlfp
縦、横の順ってのがC時代の考え方
最後尾が一次元目、手前に行くほど高次元
まあ、C#の内部構造なんて知らんからどっちでもいい
2024/06/12(水) 20:55:17.50ID:A3NgZUbK0
>>412
var a=new int[,]
{
{0,1,2,},
{0,1,2,},
};
と初期化したら確かに縦、横の順ですね。

foreach(int i in a)
{
Console.Write(i);
}
は最後尾が最内のループで回るようでした。

こういった触り方をしない場合はどっちでもよさそうですね。ありがとうございます。
2024/06/13(木) 00:15:27.64ID:Z6KPK3FjM
始めはそれでいい
5年10年経つと見えてくるものもあるけどガチ勢以外の大多数の人には本当にどーでもいい話
415デフォルトの名無しさん (アウアウエー Sadf-Gk+6)
垢版 |
2024/06/13(木) 11:34:17.98ID:fHN6F3J2a
rowmajour colmajour 選べるのが自然
2024/06/13(木) 15:09:07.34ID:N4suWMAe0
そもそもそれだけで縦とか横とか、個人の勝手な思い込み
どっちが自然とか個人の勝手な感想
2024/06/13(木) 15:57:12.97ID:Hj22lzB40
ぽえむはじまた
418あぼーん
垢版 |
NGNG
あぼーん
2024/06/13(木) 17:25:31.01ID:bPri26wi0
>>418
早速友達紹介やってみた
2024/06/14(金) 16:06:32.99ID:c0R7jVOn0
ひでぇインストール回数の増やし方w
421デフォルトの名無しさん (ワッチョイ 1ac7-1+BE)
垢版 |
2024/06/16(日) 16:24:11.61ID:jTpWYTpS0
Blazorでウェブサイトを作った場合、製作者情報(PCのログインID等)はどこかに埋め込まれていたりしますか?
422デフォルトの名無しさん (ワッチョイ da11-Av3Z)
垢版 |
2024/06/17(月) 06:58:02.41ID:Yz55GwEO0
【マイクロ波センサー】長距離でも壁があっても動きを検出!
↓2010年ごろには完成
高齢化社会を支える“見守りシステム”の開発に成功-カギを握った半導体ソリューションとは
↓2026年ごろにさらに性能工場
旭化成、ミリ波・マイクロ波帯の空洞共振器による微小金属検査システムを開発

男女関係なく陰部を撮影
一度でも盗撮されていれば正確な色合いの・・・
初期型は赤外線センサー【自動ドアのセンサなど】

子どもが言語を獲得していくのと同じようにAIモデルに学習させることに成功
AIを使って「赤外線カメラ画像のフルカラー化」に成功!

世界中で横行
2024/06/17(月) 17:06:02.10ID:RvGHjBHL0
文字が入力されてる状態のTextBoxをクリックすると×ボタン(押すと文字が消えるボタン)が勝手に出てくるんですが、出てこないようにできますか?
調べてもそもそもTextBoxにはそんな機能ないようで混乱してます
ちなみに開発環境はWindows11 WPFです
2024/06/17(月) 21:52:24.88ID:nXnTB6qB0
・IsReadOnlyがtrue
・AcceptsReturnがtrue
・TextWrapがNoWrap以外

このどれかに当たれば表示されないって、MSのドキュメントに書いてあった気がする
2024/06/17(月) 22:47:29.73ID:RvGHjBHL0
>>424
ありがとうございます
今試そうとしたら×ボタン出なくなってました
教えていただいた情報を参考にしながら色々いじってみたんですが再現できず…
一体あの現象は何だったんでしょうか…
2024/06/17(月) 23:17:05.82ID:bjBp3wQI0
再現は非常に重要なの
だから弄る前にBranch切るなり
バックアップするなり
くせを付けよう
2024/06/18(火) 00:07:25.24ID:q86HRrCS0
変更箇所が分かる、元に戻せる、が如何に大事か早いうちに理解できると良いが
2024/06/18(火) 08:50:27.00ID:DZS/dBVHa
ソースだけで再現できるんだったらいいけどなw
こんなんだとIMEのモードみたいな意味不明なとこが原因な可能性もある
2024/06/18(火) 10:01:40.42ID:PXXSTgon0
たぶんWindows11の機能じゃないかと思うけど
2024/06/18(火) 10:35:40.09ID:VAEDgom20
申し訳ございません。
自己解決しました。
ModernWpfUIというライブラリを入れていることが原因でした。
また、検証したところ
・IsReadOnlyをfalseにする
もしくは
・TextBoxに自前のStyleを適用する(この場合IsReadOnlyはtrueでも良い)
このどちらかを満たしていれば×ボタンは出なくなることがわかりました。

影響範囲も把握せずにこのようなライブラリを使っていたこと、すぐに気付けなかったことを反省しております。
お騒がせして申し訳ございませんでした。
2024/06/18(火) 10:37:31.44ID:VAEDgom20
trueとfalseを逆に書いてしまいました(^_^;)
2024/06/18(火) 10:59:25.62ID:pGrJQU/h0
原因が分かって何よりです
2024/06/18(火) 23:02:00.32ID:39H7yaFF0
>(^_^;)
それやめたほうがいいよ
2024/06/18(火) 23:06:52.58ID:pGrJQU/h0
※個人の見解です
2024/06/19(水) 08:45:20.33ID:OlhrT7xg0
どちらかというと、個人の感想です
436デフォルトの名無しさん (ワッチョイ db49-J9U+)
垢版 |
2024/06/19(水) 17:41:48.28ID:3+neoKdz0
>>435
糞!
437デフォルトの名無しさん (ワッチョイ 766f-Av3Z)
垢版 |
2024/06/20(木) 10:13:46.44ID:gE9bPm4O0
正体不明ぼいす・とぉ・すかる【非接触型ムーンショット一式】

AIも発展してきて論文全て読み込ませて作成可能のAI返答なので実在している

世界中の建前
器機所持者と機器秘所持者と機器非所持者ぼいす・とぉ・すかる=非接触型ムーンショットそんな物無い!
かくなる上は統合失調症だ!
煩いので統合失調症を薬や自殺したことにしてカルテに!
さらに最近は作成しやすいので脇が甘いチームを見つけ次第コロナや感染症で死亡したことにします!

世界中の本音は現実は無慈悲
内臓疾患やバイオテロでの殺害!
統合失調症寿命を平均25年短く殺害!

非器機所持者に
世界で初めて固体電池を採用しパワー・安全性・耐久性・バッテリー寿命が超絶高まった最大出力4000Wのポータブル電源「YOSHINO B2000 SST」は家電を複数余裕で動かせてUPSとしても使用可能
2023年12月28日
※最上位は最大出力 6000w
これを最低4機?被害者に向けて配置して合計24000wの電磁波を集中できる配置にしていると犯人は宣言

ウナギの放電」は近くの生物の遺伝子を組換えていた!?
2023/12/11
438デフォルトの名無しさん (ワッチョイ 1a77-Av3Z)
垢版 |
2024/06/22(土) 07:59:47.42ID:EOdp67Q+0
Anthropic、AIと共同作業ができる「Artifacts」 チャットAIの役割は対話から“協働”へ
https://ascii.jp/elem/000/004/205/4205539/
2024/06/26(水) 14:53:55.91ID:jiU/jEGu0
CoPilotとGeminiだと、どちらが要求に近いソースコードを記述してくれますか?
CoPilotがライブラリのバージョンやOSを無視して微妙かなと思いましたが、Geminiを使ったら全く使い物にならないコードばかり出してきましたが、こんな物でしょうか?
2024/06/26(水) 15:02:13.88ID:64ypWUzmM
英語で聞いたのか?
2024/06/26(水) 16:26:30.70ID:jiU/jEGu0
日本語です
2024/06/26(水) 17:32:19.08ID:p3vHraeo0
コード生成ならフロントエンドの機能性も含めてChatGPTに課金が鉄板だよ
Copilotは俺も似た印象で、文脈を無視したアスペっぽい回答が目につく
Geminiはシンプルに馬鹿、Proは知らん
2024/06/26(水) 18:39:52.92ID:4CP8E0I1a
まだAIは馬鹿だから細かく指示してやらないと作れないし、複雑なのはちょっとずつやらないと作れないな
三角形ABCの辺ABとBCの長さから角度Aを求めるなんて単純な関数すら無課金chatgpt作れなかったことある
長さがあるって言ってるのにxyz出してくるしなんなのあいつw
2024/06/26(水) 20:10:58.66ID:FOTm6kIFM
AIは人間でいうところのワーキングメモリがなく過去のやり取りも微妙に加味して答えを出してるので
同じところを行ったり来たりする

雰囲気でふわーっとしてるのでインスパイア得たりや定型の答えを聞くのに向いている
2024/06/26(水) 23:25:54.99ID:w886jGLWd
過去の質問を要約してLLMへの入力に付加してるだけだよ
Copilotは元々チャットAIというより検索エンジンの代替として開発されたから、その辺の文脈の扱いがあまり重視されてないのかもね
2024/06/27(木) 00:51:27.06ID:ZBoWRde30
しかしチャットAIの影響でここみたいな技術系質問スレは完全にオワコン化したな
ねらーに聞いても返ってくるのはゴミみたいなマウントばっかだし当然か
2024/06/27(木) 11:24:20.93ID:Zc8gMu+r0
とかなんとか言いつつ離れられないんだなお前w
2024/06/27(木) 12:02:52.29ID:ZBoWRde30
ほらな言ったとおりだろ
2024/06/27(木) 16:58:31.13ID:t+gTHIcc0
役に立たないスレを監視するお仕事おつかれさまですw
2024/06/27(木) 17:39:05.82ID:Zc8gMu+r0
ほらな言ったとおりだろ>>448
2024/06/27(木) 18:14:25.89ID:ZBoWRde30
まともな反論も出来ず必死に単芝生やしてオウム返し
効きすぎだろこいつ
2024/06/28(金) 07:16:12.01ID:uT69qW250
copilotに2の補数を計算させたら間違ってたw
2024/06/29(土) 15:17:43.11ID:Q1VXxL/s0
2の補数て定義によって 2種類無かったけ?
なんか大学の数学で習った覚えがある
いや、気のせいかもしれん
2024/06/29(土) 15:22:12.68ID:Q1VXxL/s0
いや、そもそも2の補数なの?2進数の補数?
20年も前に勉強した事なんて忘れてるな
2024/06/29(土) 15:40:23.76ID:iq7VlfUN0
無理に参加しなくていいよ
2024/06/29(土) 15:57:18.30ID:AKI9JxZ50
書を捨てよ町へ出ようではないが
AIには盗撮専門のグーグルカーみたいに盗聴カーで一般ミームを集めてくる大仕事が待っているような気がする
2024/06/29(土) 16:48:05.72ID:YndcCfG00
1の補数と2の補数だろ
2024/06/29(土) 18:09:16.68ID:5D9sl0cN0
虫干しって大切ですよね
バグ潰すついでにすっきりと書き直し
2024/06/30(日) 09:28:09.96ID:ZJS2cGSiM
2の補数はマイナス表現をビットでどのように表現するかなので
お前らが好きなようにフォーマットできる

CPUとかに都合の良い表現があるので代表的なのがあるだけ
2024/06/30(日) 09:48:07.37ID:Z8sRXqcu0
1の補数は各bitを反転させたもの
2の補数は1の補数1を足したもの
2024/06/30(日) 09:48:54.65ID:Z8sRXqcu0
1の補数に1を足したもの
2024/06/30(日) 15:17:27.91ID:i5cRbQJO0
>>459
しれっと大嘘を吐くなよ
一応ここは初心者スレだぞ
463デフォルトの名無しさん (ワッチョイ 071c-vs7G)
垢版 |
2024/06/30(日) 19:19:30.38ID:zHIUQlb90
>>462
x しれっと
o ひそかに
o ちゃっかり

存在しない日本語使うな
464デフォルトの名無しさん (ワッチョイ 071c-vs7G)
垢版 |
2024/06/30(日) 19:20:23.51ID:zHIUQlb90
o 平然と
2024/06/30(日) 23:06:03.42ID:SllLBnm30
>存在しない日本語使うな
もしかしてお前が日本語不自由なのでは
って突っ込んで欲しかったのか
いまどきそんな事に突っ込む暇なやつ俺ぐらいしかおらんから感謝せんといかんよな
2024/06/30(日) 23:22:11.12ID:u6Lvu7fp0
>>463
しれっと

《副・ス自》
何事もなかったように、平気を装うさま。
?「―した顔」
2024/07/01(月) 00:55:00.12ID:gDPQnc3yM
>>462
補数の意味がわからないなら出てこなくていい
468デフォルトの名無しさん (ワッチョイ 7b4d-EXgL)
垢版 |
2024/07/01(月) 05:51:43.00ID:D/wxxrcg0
犯人不明ボイス・トォ・スカル被害者にしている者皆判明
AIで被害者が苦しんでいる映像を作成してそれで喜んでいる脳細胞を読み取れば使用しているかの判定
AIで自分が高みの見物ができるかどうかも判定
あとは下記を参考にして行えばよい

いじめで殺害したかも判明するので迷宮入り事件犯人を絞り込める
隠しカメラの場所も判明

忘れた記憶を再び思い出せるようにする脳細胞を発見!
2024.06.28
「あなたの一番古い記憶は?」人は覚えていても2歳以前の記憶にアクセスできなくなっている
2023.11.30
なぜ私たちは起こってもいない間違った記憶をしてしまうのか?
2023.11.27
自分でも気づいていない「記憶の間違い」を脳波で判断できると判明
2023.10.19
富山大、睡眠中の脳で行われている推論の演算を神経細胞レベルで解明
2024/06/26
サイコパスはためらわない?−−嘘つきの脳のメカニズム
2019/09/26

脳を刺激して特定の記憶を呼び戻す技術「記憶プロテーゼ」を開発
2024/02/21

「0」を”思う”ときの脳活動は「1」に近い!捕食者への恐怖がゼロの根幹だった?
2024.03.07
>>MEGを使うと、脳内でわずかに発生する磁場変化をとらえて、脳活動を記録することが可能です。
>>(※脳波計が脳の電気活動を読み取るのに対して、脳磁計は脳の磁気活動を読み取ります)

東工大、磁束集中器を用いない高感度「ダイヤモンド量子センサ」を開発
2024/06/07
>>日常的な検診や脳機能のより詳しい研究や、ブレイン・マシン・インタフェースの研究などへ大きく貢献できると期待されている。
2024/07/01(月) 08:44:17.63ID:JpspCpKB0
>>463
しれっと大嘘を吐くなよ
2024/07/01(月) 08:47:08.34ID:ZRvAHBwU0
>>463
「知らない」と「存在しない」は別の概念
2024/07/01(月) 08:57:40.89ID:XJiom0gip
安い辞書には載って無かったんじゃね?
2024/07/01(月) 11:30:46.34ID:fDiPSacqa
Androidエミュレータでリズムゲームを動かして
画面の状態を認識してタップしたり擦ったりのメッセージを送信するソフトって作れる?
https://i.imgur.com/QAYid7E.jpeg

ランダムでわざと失敗させて上手下手の具合を調整出来る感じで
2024/07/01(月) 13:24:33.45ID:GNvo4zaz0
頑張ればやれるんじゃない?
画像認識せずに特定座標の複数のドットの色を見るだけにして
操作は何かメッセージ送ってみるとか試行錯誤だろうね
2024/07/01(月) 15:21:57.75ID:CrkDUddc0
boter乙 の一言ですむ話じゃね?
2024/07/01(月) 16:44:29.94ID:8PXBHjex0
>>462>>467もやり合うならもうちょい具体的な例を出しながらやったら?
2024/07/01(月) 16:49:14.87ID:zu9ygCcc0
バカはバカだから具体的な指摘ができずバカとしか言わない
よくいるだろ煽り文句だけ言って勝った気になってるアホ
2024/07/01(月) 17:56:45.47ID:v6IEo+HRd
思うに>>459の1行目が「2の補数は好きなようにフォーマットできる」と言ってるように解釈できるのがあかんのじゃないかね

>>462もそう解釈をしたうえでのツッコミではなかろうか
2024/07/01(月) 18:10:29.84ID:eOUN0giVH
補数って言葉は数学的に定義された用語だからなあ
https://e-words.jp/w/%E8%A3%9C%E6%95%B0.html
とか
https://ja.m.wikipedia.org/wiki/%E8%A3%9C%E6%95%B0
とかをる見る限りは、数学的素養が薄い俺でも
>>459の言ってることはデタラメだと思う
2024/07/01(月) 18:51:40.97ID:59AoZbO70
マイナス表現に2の補数を使用するかどうかは自由
と読めなくもない
2024/07/01(月) 19:03:26.06ID:v6IEo+HRd
たぶん言いたいのはそれだと思うのよね
2024/07/01(月) 19:20:04.45ID:v6IEo+HRd
ただ話の流れとしては2の補数が主題だったからそれだといきなり感があるなと
2024/07/01(月) 20:17:30.41ID:KGbdpGVYM
2の補数やnの補数は定義がある
けどそれをどのようなビット表現にするかは自由なので好きなようにフォーマットできる

それでビット反転してプラス1すると確実に2の補数になるわけではない
判りやすいのは浮動小数点やBCDなどの変数
483463 (ワッチョイ e39e-vs7G)
垢版 |
2024/07/01(月) 20:22:00.31ID:Q7AEJ3je0
オレが高卒までに耳にしなかった語は日本語として認めない。
大学は東京の一流大卒だが地方がいっぱい人が集まってたので新語に対する耐性はあるがその理由はそれが方言だと知ってるから。
なので「しれなんとか」という語は一切日本語として認めない。高卒までに周りで使ってる人や文献に存在しないのだから。

類語に
・まるっと
・ほぼほぼ
などなど多数あり。
2024/07/01(月) 21:11:49.72ID:v6IEo+HRd
>>482
意訳すると
コンピュータが数値をどう内部表現するかは自由であって
ある値をビット反転してプラス1すると2の補数になる型(整数型)とそうでない型(浮動小数点やBCD)がある
ってことでいいのかな?
2024/07/01(月) 21:15:22.15ID:Y4jiQu2P0
量子化INT8もけ?
2024/07/01(月) 22:05:34.21ID:nOSOydF90
>>482
>けどそれをどのようなビット表現にするかは自由なので好きなようにフォーマットできる
この一文だけで救いようのないバカだと分かる
相手にするだけ時間の無駄
2024/07/01(月) 22:34:52.83ID:KGbdpGVYM
最初の最初からそう書いてるだろ
勝手に変な意味に捉えて間違っていると書いた人たちがレベルが低い!数学的素養がない!等とは決して言わないけどw

それとわざわざレスしてまで考えるのを放棄する必要はないな

数学的定義は多分ないと思う
JISでは補数は与えられた数を,ある決められた数から引くことによって得られる数。とだけ書いてある

特定の表記法で特定の操作を行うと2の補数や1の補数が得られるだけ
純粋な自然数の数学の方では足して存在しない最大桁で桁あふれしてその結果0になるなんてないだろう
2024/07/01(月) 22:51:00.53ID:2CRpLpYvd
>>487
>>484へのレスと判断して書くけど
>>459が文脈と文法的に「そう書いてる」のが伝わりにくいって話だよ
2024/07/01(月) 22:56:07.04ID:KGbdpGVYM
対象のレスをずらしてレスバしても無駄だよ

整数に対して全加算器しかないCPUで引き算するには負の数を作って加算するんだよ
単純な桁上がりする二進数の負の表現ではそれが一番楽だからそうなってるだけで数の本質などとは関係ない
2024/07/01(月) 23:01:37.77ID:2CRpLpYvd
いや、これをレスバと捉えられても困る
ID:v6IEo+HRdで検索して読んでくれ
>>462がなんでそういうレスをしたか考察してるだけよ
2024/07/01(月) 23:05:11.06ID:HMCZlSRwH
>>483にとっての一流大は亜細亜大とか帝京国士舘くらいっぽいな
本人だけ頭いいつもりなんだろう
2024/07/01(月) 23:23:21.80ID:yeeSYccVH
こりゃ真面目に相手するだけ時間の無駄こ
>489本人が開き直ってそう言ってるんだから
2024/07/01(月) 23:30:02.54ID:KGbdpGVYM
自分の書いたことを3割でも理解しているか疑問だな

彼の言う通りで時間の無駄こ

そう時間の無駄こ(意味不明だけど)
2024/07/01(月) 23:34:10.94ID:2CRpLpYvd
>>493
>>490は納得してくれた?
2024/07/01(月) 23:46:09.40ID:imqhKWVf0
>>482 は大嘘とは言わんが
すくなくとも
>2の補数はマイナス表現をビットでどのように表現するか
は大嘘と言われても仕方ない
496デフォルトの名無しさん (アウアウエー Sa82-viZ1)
垢版 |
2024/07/02(火) 09:01:12.18ID:LnXo4/R2a
嘘は良くない
chatGPTωが間違って覚えたらどうするんだ
2024/07/02(火) 09:40:07.27ID:WIZ4/2em0
ChatGPTおいなりさん
2024/07/02(火) 10:52:02.92ID:GZ1mhppOp
楕円関数だからなぁ
2024/07/02(火) 12:13:02.92ID:EHfwrvV90
お、これがc#のスレかぁ~
c#の話題が活発に交わされているなぁ(スレ違いだバカ)
2024/07/02(火) 19:37:11.61ID:mKInkvGeM
負け犬の遠吠えがしつこいな

> >2の補数はマイナス表現をビットでどのように表現するか
> は大嘘と言われても仕方ない

定義だけ見て実際に点と点がつながらない人なのだろう
PC関連で2の補数が一般的に何で使われているか思い浮かべてみたらいいよ
他でなにに使ってんの?

CPUの中の全加算器(フルアダー)を使って引き算を行える
その仕組みを使えて便利だから整数型の負の表現として使われる

浮動小数点の仮数部は別に便利な符号化方式があるので使ってない
で符号ビットが別にある
2024/07/02(火) 20:06:01.00ID:EPJGy6/Hd
>>494に言及がないってことはそこには異論がないってことでいいのかね
2024/07/02(火) 20:15:14.44ID:mKInkvGeM
時間の無駄こ
2024/07/02(火) 20:35:40.14ID:EPJGy6/Hd
ごめん、はいかいいえで答えて
2024/07/02(火) 20:53:31.65ID:4r5elc9V0
オイコラミネオ MM96-62Sl
スプッッ Sd4a-RqL6
2024/07/03(水) 00:15:48.22ID:IhB9Q3xj0
定義の話と実例の区別のつかない人か
2024/07/03(水) 15:51:01.90ID:O6aOCvk30
結局のところ>>459の文章が曖昧なのが問題なのであって
いくら長文で俺の知識はどうだ!正しいだろ!ってやったところで意味ないのよね
オイコラはそこに気づいてないのか意図的に話をそらしてるのか
507デフォルトの名無しさん (ワッチョイ a3b1-YEd2)
垢版 |
2024/07/04(木) 09:20:13.32ID:/f5UZ1a30
話をぶったぎってすみません。
C#で質問です。
関数内のローカル変数の定義ですが、下のどちらも同じ効果となりましたが、正解はどちらでしょうか?
byte[] bin = { 0x00, 0x0c, 0x00, 0x00, 0xff, 0xfc, 0x00, 0x00, 0xff, 0xff, 0xdf, 0xff, 0x00, 0x37 };
byte[] bin = new byte[] { 0x00, 0x0c, 0x00, 0x00, 0xff, 0xfc, 0x00, 0x00, 0xff, 0xff, 0xdf, 0xff, 0x00, 0x37 };
2024/07/04(木) 09:27:04.95ID:7WHO1Maz0
どっちも同じ
省略記法なだけでコンパイラがnew byte[]を補完してくれる
2024/07/04(木) 09:46:57.96ID:RZgNR8dh0
前者は初期からあるC伝統の記法で、今のC#ではかなり特異な存在
省略したいなら var bin = new byte[] { もしくは byte[] bin = new { の方が今時
2024/07/04(木) 09:52:19.54ID:EkexM7al0
今時いうなら、C#12のコレクション式使う方が
2024/07/04(木) 10:12:01.67ID:8Qf93cVSp
newが形式的な意味しか無いかと思えばそうじゃ無いものもあったり、紛らわしいよな
512デフォルトの名無しさん (ワッチョイ a3b1-YEd2)
垢版 |
2024/07/04(木) 10:22:31.63ID:/f5UZ1a30
みなさん、ありがとうございます。
513デフォルトの名無しさん (ワッチョイ ffc4-EXgL)
垢版 |
2024/07/04(木) 12:04:37.12ID:H9yTt2xy0
話を分断してすみません。C#で質問があります。
C#の入門本の説明に以下のように書かれています。
私が行番号を追記しました。

1: Value x;
2: x = new Value();
3: x.value = 1;
4: Value y;
5: y = new Value();
6: y.value = 10;
7: Console.Writeline("xが参照するインスタントのvalue値:" + x.value );
8: Console.Writeline("yが参照するインスタントのvalue値:" + y.value );
9: class Value{
10:   public int value;
11: }

実行結果
xが参照するインスタントのvalue値:10
yが参照するインスタントのvalue値:10

そしてこのすぐ下に以下のような説明があります。
「C# 9.0以降のコンソールアプリケーションでは、
クラスの定義などの型の宣言は
トップレベルのステートメントより
あとに記述する決まりになっています。
実際に処理を行うコードよりも先に書い てしまうと
エラーになるので注意してください。」

この場合の
a) トップレベルのステートメント とは、何を示すのでしょうか?
b) 実際に処理を行うコード    とは、何を示すのでしょうか?
2024/07/04(木) 12:18:17.88ID:EkexM7al0
>>513
ものすごく雑に説明すると、C#の文法として元々は
class Program
{
 static void Main()
 {
  Console.WriteLine("Hello");
 }
}
と書いていたのを

Console.WriteLine("Hello");

だけでもOK(Programクラス等が自動生成される)となった
これがトップレベルステートメント
詳細はぐぐるなりして調べてね
で、「実際の処理」はこのMain()に含まれる部分のことを指していると思う
該当の入門書持ってないからしらんけど
2024/07/04(木) 12:34:10.76ID:tYZmQY+E0
横からだけど、そんなことできるなんて知らなかったわ
Mainの中に書いてたものをむき出しにできるので、他のクラス定義は(Mainのなかのコードと間違われないように)後ろに書けってことなのね
でも誰が嬉しいんだろう、こんな書き方できて
2024/07/04(木) 12:44:12.87ID:zdhS8+CYM
Windowsに入っているcscで出来りゃあバッチの代わり的に使えるかもだけど
2024/07/04(木) 12:47:42.63ID:OVu+RlmV0
pythonマンセーの人がいるんじゃないの?しらんけど
2024/07/04(木) 13:00:00.07ID:CI/MzMhG0
C#9.0(.NET5の時)にできるようになったな
519デフォルトの名無しさん (ワッチョイ 877c-5+Ml)
垢版 |
2024/07/04(木) 13:02:17.69ID:A5xueLBi0
Main関数をasync出来るようになったのも良いよね
2024/07/04(木) 14:39:49.72ID:7OcD9IAKp
C#はまんまWindowsで実行出来るからなぁ
2024/07/04(木) 15:17:21.31ID:E/vbSsbX0
Windowsじゃなくてもまんま実行できるけど?
2024/07/04(木) 16:16:34.13ID:7WHO1Maz0
c♯をスクリプトとしても使えるようにしたからトップレベルステートメントにしたんじゃないの
2024/07/04(木) 18:24:08.74ID:yD1XDVhBM
多分.Net6の途中でVSのコンソールアプリのデフォルトテンプレートがトップレベルステートメントのみになってて
ざわついてたんだけどその後従来のテンプレートも再び選択できるようになった

MSは突拍子もないことをする
2024/07/04(木) 19:11:22.26ID:rLEfqFA70
CSスクリプトは2015年だし、関係ないんじゃないかなぁ
2024/07/04(木) 22:00:11.85ID:rs4PbJUZd
https://learn.microsoft.com/en-us/dotnet/csharp/fundamentals/program-structure/top-level-statements
にある通り、Azure FunctionsとGitHub Actionsで使うんだよ
ぶっちゃけ糞Azure Functionsなんかほとんど使われてないしGitHub ActionsのアクションをC#で作ってるのなんて当のMSくらいのもんだが
2024/07/04(木) 22:18:12.37ID:12ygtIZi0
GitHub Actionsはそれ自体がC#で作られたサービスだから、MS自身の視点から見ればアクションもC#で書くのは自然なことなのだろう
とはいえWeb系の方面で広く利用されているサービスなのでC#でアクション作ってる物好きはまず居ないだろうな
2024/07/05(金) 02:20:23.30ID:bUAYo+H80
宣言を後に書かせるようにしたのは作った奴がただのアホだった証左
528デフォルトの名無しさん (ワッチョイ 6ad6-EXgL)
垢版 |
2024/07/05(金) 08:36:05.16ID:GQkuHNKI0
銀河英雄伝説で考えるセキュリティ--将来の「帝国の双璧」が陥った罠とセキュリティ業界
https://japan.zdnet.com/article/35220819/
2024/07/06(土) 17:46:02.34ID:VE2x0Lw00
azure functionsは普通に使うだろ
flex従量課金でやっとlambdaに並んだ
2024/07/06(土) 22:26:07.62ID:AGwoxytw0
AzureのマネージドサービスはEntraIDみたいな情シス向けのを除けば基本的に地雷だからなあ
AWSやGCPに比べて品質が低すぎるし、後からFunctions v2みたいな全面刷新版出してきて初期のゴミを無かったことにしやがるのほんと糞
Azureはエンプラが主戦場だから基本的に技術選定をする人間と開発する人間が別である場合が多く、実際には使い物にならないレベルでも
とにかく機能の頭数揃えといて機能比較表に◯付けてもらえるようにしとくことが重要なんだろうな
2024/07/06(土) 22:47:04.05ID:ByFHXa3/d
最近のAzureはAIやデータ関連のサービスを乱発してるがヤバすぎる品質
これをVSを作ったMSが出しているとは俄かに信じられないレベル
2024/07/07(日) 00:46:55.00ID:0nvg/+8Aa
具体例がないのではぁ、そっすかとしか思えん
M$とか言って揶揄してる脳内の時間が20年前で止まってる人かな
533デフォルトの名無しさん (ワッチョイ cb8e-xVBv)
垢版 |
2024/07/07(日) 04:47:32.20ID:S68hfEFp0
未だにMacのマウスのボタンは1個だけだと言いふらす人もいるし
2024/07/07(日) 06:07:39.76ID:a0g7Uh4H0
> M$とか言って揶揄してる
お前じゃんw
2024/07/15(月) 20:06:43.83ID:s4Fc+aZD0
2つの文字列を比較して、指定文字数以内の違いは同じ物とみなす
あいまいな比較方法ってありますか
2024/07/15(月) 20:16:10.09ID:2IRpGFbx0
>>535
2つの文字列間のレーベンシュタイン距離やジャロ・ウィンクラー距離を計算するといい
537デフォルトの名無しさん (ワッチョイ 99da-mHxf)
垢版 |
2024/07/29(月) 02:37:13.47ID:3Zyyd6Ul0
>>535
AIで
2024/07/30(火) 19:59:54.73ID:DL4H/rwkM
以前ここでドメイン駆動設計について質問させていただいた者です
ドメイン駆動設計入門を読み終わり、多少理解が進んだと思うのでまた質問させてください
・仕様パターンどドメインサービスの違いについて
 この二つの違いが良く分らないのですが、仕様パターンはドメインサービスのうち、評価とフィルタの処理に特化したものと考えていいですか?
・ドメイン層について
 ドメイン層はクラス外と繋がる部分をDIで差し替えれるようにするものという認識です
 例えばパケット送受信などの実装もドメイン層として問題ないですか?
 本やネットでは、DBを扱う層となっているので気になりました

すみませんが、ご回答のほどよろしくお願いいたします
2024/07/31(水) 00:13:39.43ID:nGj2F3MrM
本を本当に読んだのか疑問なんだけど…
2024/07/31(水) 00:13:54.84ID:oPR9EZgr0
仕様パターンはエンティティや値オブジェクトの特定の条件やルールを評価するための小さな部品。

ドメインサービスは複数のエンティティや値オブジェクトを使って、ビジネスロジック全体を実行するための大きな単位。
2024/07/31(水) 01:00:17.43ID:KCF4OHMl0
>>540
ありがとうございます
ドメインサービスって特定のドメインオブジェクトに属さないビジネスロジックを記述しますよね?
それが仕様パターンととても似ていると思うんです

あと・2つ目ですが、ドメイン層でなくインフラストラクチャ層(リポジトリ)の間違いでした
失礼しました
2024/07/31(水) 10:14:08.49ID:oPR9EZgr0
>>541
どちらもビジネスロジックであるという点が似ていると感じるのかも

仕様パターン
・あるエンティティが特定の条件を満たすかどうかを判定したい場合に使う
→ スコープが特定の条件に特化
・ビジネスルールをシンプルに表現する
・他のロジックとの組み合わせて使う
・戻り値がboolやenumが多い

ドメインサービス
・複数のエンティティや値オブジェクトを操作する複雑なビジネスロジックで使う
→ スコープが広範囲なドメインをカバー
・シンプルではなくドメインを詳細に使う
・複雑なビジネスロジックをカプセル化して使う
・戻り値が新しいオブジェクトなど様々
2024/07/31(水) 10:16:31.37ID:sIvSYuPwp
なんだ、石ころと地球の違いか
2024/07/31(水) 13:24:29.59ID:XI+xJQyb0
>>541
DDD用語でのドメインオブジェクトというのは一般的にエンティティかValueオブジェクトのこと
Specificationはビジネスルールを別個のValueオブジェクトに切り出したものでドメインオブジェクトの一つ
2024/07/31(水) 17:36:25.49ID:1vJRJk9QM
仕様パターンはデザインパターンのようなオブジェクト指向のパターン
便利だからそれをDDDに効果的に導入している

概念が違う

〇 ○○は仕様パターンで実装されている
× ○○は仕様パターンである
2024/07/31(水) 21:36:07.63ID:YTodh+4/0
以上IT言葉遊びでした
2024/07/31(水) 22:14:42.70ID:1vJRJk9QM
DDD以外の開発手法に行っても仕様パターンは仕様パターン
ドメインサービスはDDDの固有のものだからコードが同じでも違う呼ばれ方をする違う概念のものとして扱われることになるだろう

DDDには他にもデザインパターンが使われている
上に書かれているインストラクション層ではリポジトリパターンが使われている
2024/07/31(水) 22:20:55.13ID:1vJRJk9QM
インフラストラクチャ層だ
思いっきりミスってる
2024/08/01(木) 22:53:01.56ID:1SK5hkX5d
DDDは生成AIとの相性が悪いからオワコン
時代はSQLよ
2024/08/02(金) 01:59:59.79ID:eog8kicV0
仕様パターンとドメインサービスは概念が違うもの、というのがとてもしっくりできました
皆さんありがとうございました

>>538でもう一つ質問していますが、(ドメイン層でなくインフラストラクチャ層の間違いでした)インフラストラクチャ層にパケット送受信など記述するのはおかしいですか?
インフラストラクチャ層はDB永続化の目的だけに使うべきですか?
2024/08/02(金) 15:43:21.42ID:Wqkb4RjVd
裏側の仕組みがどうであれ、それを集約としてモデリングできるなら何の問題もない
できないならDDDの範疇外だからDDD的にはお好きにどうぞとしか言えない
2024/08/03(土) 14:59:13.44ID:oR+oLHPm0
>>550みたいな新卒や未経験レベルが学ぼうとしても前提知識が多すぎて全く理解が及ばない事が容易に推測できるのがDDDのデメリット
手を出すならもっと経験を積んでからだよ最後にC#関係ねーだろカス
2024/08/03(土) 21:44:08.94ID:03V3Nqz30
DDDの肝はアプリケーションサービスだの値オブジェクトだのといったテクニックではなく、
ユーザーと要件を詰めてビジネスドメインをオブジェクト指向モデルに落とし込む部分
それ以外は全てオマケと言っても差し支えない
誤った抽象化によりドメインエキスパートのコミュニケーションに支障をきたすようなモデルになってしまっていたら、
いかにDDDの「オマケ」を正しく使いこなした美しい設計であろうともそれはゴミなんだよ
2024/08/03(土) 22:45:02.84ID:goAr6v/C0
DDDの勉強の前にまず就職しないと業務というものがわからんだろう
2024/08/03(土) 23:14:52.27ID:uvB3fHLUM
なんだかあまり意味のない話を書かれても

個人が自分のために開発するならそのドメインエキスパートは誰なのかと考えなくてもわかるだろう
2024/08/03(土) 23:47:05.89ID:03V3Nqz30
DDDはそもそも開発者とドメインエキスパートが別の人間であることが前提
恋愛術を自分自身に対して実践しても仕方ないだろう?
2024/08/16(金) 12:11:24.60ID:WN4UyUwy0
address.PropertyChanged += (s, e) => {
switch (e.PropertyName) {
case "Address":
//処理の中身
break;
} };
となっているところをもっと簡素化した書き方ってできるのでしょうか?
2024/08/16(金) 12:39:59.89ID:97HjWwrx0
君が定義する簡素化とは?
2024/08/16(金) 14:30:07.59ID:2yB7JRN+0
>>557
簡素化?とは関係ないけど
nameof使った方がいいかも
2024/08/16(金) 15:16:11.70ID:hHzMpXQ60
プロパティ名を実行時に文字列値比較するのはプログラム的に美しくない
PropertyNameがAddressの時だけに呼び出されるハンドラを定義できればベター
できなければその言語は発展途上かな
2024/08/16(金) 15:28:45.14ID:wseuDHkQ0
言語というかフレームワークの問題
別に今ならソースジェネレーターもあるのだから言語機能としては楽に実装できる訳だからな
まあ原始的に文字列比較するのは他の言語のGUIフレームワークでも往々にしてあるけど
2024/08/16(金) 16:59:52.55ID:1NlBn56K0
>>560
>PropertyNameがAddressの時だけに呼び出されるハンドラを定義できればベター
言語的には普通にできるよ

できるけどプロパティ別のイベントとハンドラを使わずに
汎用的なイベントとハンドラが一般的に使われるのは
フレームワークがINotifyPropertyChangedインターフェースと
そこに定義されてる汎用的なPropertyChangedイベントを前提としてるから
2024/08/16(金) 23:21:57.35ID:h5qIUGqM0
充分簡素では
2024/08/20(火) 14:42:04.36ID:obNwxxTOa
今まできちんと動いてたソースがVS2022をマイナーアップデートしたとたんに
System.Windows.Markup.XamlParseException: 'Index was outside the bounds of the array.'
って例外でて動かなくなった
.NET8.0→9.0に切り替えたら例外出ずに動くし。もう意味が分からない
2024/08/20(火) 16:56:30.17ID:iQgRG7zDp
マイナーアップデートしたからだろ?
2024/08/20(火) 21:31:18.51ID:ef3/wuF/0
どこが配列超えしたのか追っかければ良いのに
2024/08/20(火) 21:49:50.51ID:M48DrufR0
>>564
具体的なバージョンは、17.10.6と17.11.0どっちかな
後者のような奇数番台の.0は比較的大きな変更が入ってバグだらけなことがよくあるから避けた方が無難
2024/08/20(火) 22:53:56.20ID:+NNyvgtIM
バグがあるのにライブラリもバグってて気が付かないと言う線もあるので
どこでどういう風になっているのか見直したほうがいいかも
2024/08/20(火) 23:14:46.66ID:obNwxxTOa
>>566
MainWindowにUserControl貼ってるウインドウなんだけど
UserControlのInitializeComponent();内で例外発生。で、そこのxaml削ってくとある点で例外発生しなくなるけど今度はMainWindowのxamlで例外発生
ってな感じでいっぱい例外出る箇所あって追っかけてもどうしようもなさそうなんだ

>>567
例外出るのはPreview Version 17.12.0 Preview 1.0
アプデ前のは不明
Previewやめろって?w
2024/08/20(火) 23:21:32.92ID:M48DrufR0
>>569
Previewで不具合出たら寧ろご褒美だろうw
勘違いしないようにもっと嬉しそうに書いて
2024/08/21(水) 08:59:40.06ID:u/oKqPM+0
Preview入れて不具合なら報告して次をまとうだろw
それが嫌ならPreviewやめろは当たり前
2024/08/21(水) 09:14:20.66ID:wyAyt1a5M
せやな
573デフォルトの名無しさん (ワッチョイ 1f32-XczR)
垢版 |
2024/08/21(水) 09:52:00.94ID:JYL3albx0
x せやな
o そうですね
2024/08/21(水) 12:11:33.60ID:p/GWU6dG0
せやね
575デフォルトの名無しさん (ワッチョイ 1f32-XczR)
垢版 |
2024/08/21(水) 12:35:04.54ID:JYL3albx0
x せやね
o そうですね
2024/08/21(水) 12:38:55.38ID:mV2UOd5E0
せやせや
577デフォルトの名無しさん (ワッチョイ 1f32-XczR)
垢版 |
2024/08/21(水) 13:40:44.38ID:JYL3albx0
x せやせや
o そうだそうだ
2024/08/21(水) 13:51:19.97ID:u/oKqPM+0
せやろ
579デフォルトの名無しさん (ワッチョイ 1f32-XczR)
垢版 |
2024/08/21(水) 16:14:47.22ID:JYL3albx0
x せやろ
o そうだろ
2024/08/21(水) 16:20:43.88ID:7KXioX+40
なんや(多義語)
2024/08/21(水) 16:41:36.58ID:p/GWU6dG0
せやからなんちゅーねん
582デフォルトの名無しさん (アウアウエー Sa7f-9uNt)
垢版 |
2024/08/22(木) 10:49:22.21ID:IKT838Ooa
しらんがな
2024/08/22(木) 11:03:28.50ID:ePKDMNhB0
しぇからしかっなんばいうとっと
2024/08/26(月) 10:11:56.65ID:6aAxUhl7d
ぼくのC#の基本書は独習C#新版2017年12月初版なんですけど
独習C#は新しい版が2022年7月に出てます
新しいのを買ってもう一度読み直した方がよいのは分かってるのですが、4000円もするので正直買いたくないです。でもネットでまとまった情報を入手してアタマにいれるのも苦手です
そこでみなさんに新しい版を読まない事によるデメリットを力説してもらいたいのです
よろしくおながいします

はいどうぞ
2024/08/26(月) 10:34:41.16ID:CLqHNeyEp
モダンな書き方にこだわらないのなら新しい版は買って読む必要も無いんじゃね?
2024/08/26(月) 10:41:52.10ID:mnXsoUjX0
>>584
初版だとC#7ぐらいだったっけか
他の人とコードを共有するとか他人のコードを読むとかしないのなら別に困らないんじゃね?
C#8以降の新機能って大きいところだと
null許容型
record型
トップレベルステートメント
switch式
とかそのへん?抜けてるのあるかもしれんけど
知ってると便利だけど、知らなくてもそこまで致命的ではないんじゃね?

ようするに、一人でやってるのなら好きにすればいいと思うよ
2024/08/26(月) 10:54:52.78ID:6aAxUhl7d
>>585
>>586
えーそうなんですか
最後の一押ししてもらおうと思ったのですがーw

ありがとうございます
2024/08/27(火) 03:55:59.11ID:4QYKTacR0
仕事で使うなら4000円程度払えないのはおかしい
趣味で使うものに4000円程度払えない奴がこんな専門スレに来るわけがない

ようは、買っちまえ
2024/08/27(火) 06:42:47.99ID:rYVDlmDm0
本なんか買って読んでから考えろ
590デフォルトの名無しさん (ワッチョイ aef9-rgwH)
垢版 |
2024/08/27(火) 10:09:49.52ID:+jtV0Ock0
日曜に本読む国だからな
2024/08/27(火) 10:36:05.57ID:s3ZoKW+e0
初心者なら買う
初心者じゃないなら買わない
2024/08/27(火) 11:10:30.26ID:xQ48+fSa0
初版を買ってから何をしてたんだろ?
買って満足するタイプなら、最新版を買っても読まないだろうから無駄じゃね?
2024/08/27(火) 16:11:14.11ID:bMSylkJep
だいたい分かったら、あとはVisualStudioが教えてくれるだろ
594あぼーん
垢版 |
NGNG
あぼーん
2024/08/28(水) 00:02:03.42ID:+D5QspqkM
図書館にあるかもしれなから図書館のサイト開いて検索してみ
2024/08/28(水) 12:58:34.11ID:J2a/6vGI0
>>584
古い版はブックオフへ売却
597デフォルトの名無しさん (ワッチョイ 5fb0-Z2/Z)
垢版 |
2024/09/02(月) 10:17:07.82ID:UFeMRrS30
MinifyされたJavaScriptのコードをChatGPTで読みやすい形式に戻すことに成功
https://gigazine.net...eering-with-chatgpt/
2024/09/02(月) 10:36:23.94ID:nnLcIwuG0
C#関係ねーだろカス
URLまともに貼ることもできねーのかよカス
2024/09/02(月) 12:39:20.92ID:26NdkCID0
関係ない単発スレ立てるようなやつだからな
600デフォルトの名無しさん (スプッッ Sdea-iA/a)
垢版 |
2024/09/11(水) 15:27:18.98ID:NVe6C6lkd
>>584
C# Dev Kit がゴミすぎてヤバイから古い構文だけ使っとけ
https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csdevkit&ssr=false#review-details
2024/09/17(火) 22:53:51.66ID:iKuaAm3Q0
クラス.Hoge
{
getter;
}=new クラス.Fuga

でプロパティの初期化でインスタンス生成して、以降はクラス.Hogeでゲットすることでシングルインスタンスを実現しているコードがあるんですが、シングルトンのほうが良くないですか?
2024/09/17(火) 23:24:30.21ID:glkf3MPlM
何語だ?
2024/09/18(水) 09:46:11.92ID:MaDxf8k20
他でnewできないように作ってあるならどっちでも良いんじゃ?
2024/09/18(水) 19:15:35.43ID:uu54k0bH0
>>601
シングルトンにするとどういうメリットがあるの
2024/09/18(水) 20:03:41.44ID:fZDiODipp
シングルトンって実装概念だから、コードがどうなってようが、スマホただ一つのオブジェクトしか持たないならシングルトンだろ?
2024/09/18(水) 20:04:03.56ID:fZDiODipp
スマホ?
2024/09/18(水) 22:04:49.90ID:b1l1Gl4R0
スマホ
2024/09/18(水) 22:11:32.12ID:KmlEcGUo0
スマガツオ?
2024/09/19(木) 08:40:19.54ID:IN1rmVLY0
カツオじゃないけどスマガツオ
610デフォルトの名無しさん (ワッチョイ 637c-4vSm)
垢版 |
2024/09/28(土) 16:51:21.59ID:ESRfkKDF0
これでもおkなの?

class Hage
{
private static Hage dura= new Hage();

public static Hage Dura => dura == null ? new Dura() : dura;

private Hage(){}
}
2024/09/28(土) 17:41:57.57ID:iFauIOzc0
コンパイラー通してみればよくね
2024/09/28(土) 20:07:55.61ID:VeZQjPSqM
>  dura == null ? new Dura() : dura;
これを見ると3つぐらい気になってしまう
2024/09/28(土) 23:23:29.39ID:Q7+M+blA0
ここ読むといいよ
https://csharpindepth.com/Articles/Singleton#lazy
2024/09/29(日) 06:43:56.42ID:tmQEdRuq0
>>610
そもそも端からreadonlyなduraに代入してるならnullチェックいらなくなるし
そうでなく遅延生成するならdura == null ? (dura = new Dura()) : dura;ってしないとduraは一生nullのままになってしまう
ちなみに最近のC#バージョンなら「public static Hage Dura => dura ??= new Dura();」と簡潔に書ける
2024/09/29(日) 06:51:19.62ID:gD4BAXZc0
それならそもそも「public static Hage Dura { get; } = new Dura();」だけでよくね?
2024/09/29(日) 10:26:30.13ID:BPZDKwn90
>「public static Hage Dura => dura ??= new Dura();」
これはthread-safeではない

>「public static Hage Dura { get; } = new Dura();」
これはthread-safe
他のstaticメンバーにアクセスされてもインスタンス生成されるけどだいたいこれで十分
もっとインスタンス生成を遅延させたければLazy<T>
2024/09/29(日) 10:30:57.16ID:NcBRoyIA0
           |
            |  彡⌒ミ
           \ (´・ω・`)また髪の話してる
             (|   |)::::
              (γ /:::::::
               し \:::
                  \
2024/10/08(火) 20:28:55.31ID:pGkp55Vg0
WPFって例えばComboBoxの色を変更するにしてもテンプレート再定義しなきゃいけないの?
ToggleButton配下のBorderのBackgroundを変更すれば良いだけなのに、そこ変えるためだけに全て再定義し直す他ない?
2024/10/09(水) 17:45:54.17ID:7juExw200
そうだよ
CSSなら楽勝なのに、アホらしいよね
2024/10/09(水) 21:06:07.63ID:UDEl5dNip
WPFはアイテム毎に出来る事が違うから糞、下手するとプロパティ名まで違う
621デフォルトの名無しさん (ワッチョイ 9e60-oLgd)
垢版 |
2024/10/09(水) 23:24:57.23ID:xxcqENzq0
stringになんか不明な文字列が入っているんですが、
EncodingのGetBytesしないでそのままbyte配列にする方法教えてください
2024/10/09(水) 23:27:11.58ID:LpRCWPua0
WPFってそんな糞なのかよ
ゲーミングComboBoxを作りたくなったらどうすんだよ
2024/10/10(木) 01:11:16.37ID:rjsrk2m20
っぱwinformsよ
Datagridviewはなんだかんだ便利
2024/10/10(木) 02:27:50.91ID:6K8bVc+j0
>>621
unsafeでstringのポインタ取れるよ
2024/10/10(木) 08:43:23.64ID:sH/Vhxrv0
unsafeしたくなければ1文字ずつループしながら自前で変換
2024/10/10(木) 12:01:53.19ID:cHKduOPcM
MemoryMarshal.Cast<char,byte>()がunsafe不要かつ効率良い
返値はReadOnlySpanだけど問題ないかと
どうしてもbyte[]が必要ならToArray()
627デフォルトの名無しさん (ワッチョイ 9e60-oLgd)
垢版 |
2024/10/10(木) 13:36:13.58ID:kwV8rurb0
stringを.AsSpan()してReadOnlySpan<char>で受けて
1要素ずつcharの値を確認しました
ありがとうございました
628デフォルトの名無しさん (ワッチョイ 9e60-oLgd)
垢版 |
2024/10/10(木) 13:38:50.81ID:kwV8rurb0
Encodingに「エンコード無し」があってもよさようなもんですけどね
629デフォルトの名無しさん (アウアウエー Sac2-tp1D)
垢版 |
2024/10/10(木) 14:42:09.62ID:bwO1aVtUa
Encoding=Binary
2024/10/10(木) 15:13:38.10ID:sH/Vhxrv0
>>628
Encoding.Default
2024/10/10(木) 15:16:01.18ID:sH/Vhxrv0
あ、でもCoreだとUTF8かあれ
2024/10/11(金) 06:54:42.62ID:HRGXiKw+0
FrameworkではいわゆるANSIだから結局望まれてるものではないと思うな
Encoding.BigEndianUnicodeが一番近いと思うけどこれも無効なサロゲートペアとかあるとU+FFFDに置き換えちゃう

というか今回の用途ならString.Join("-", text.Select(c => ((int)c).ToString("X4")))程度で十分じゃないかな
2024/10/11(金) 19:44:10.29ID:92peWMZ/d
スレチなのかもしれないですけど、お借りします
データベースに接続する際に接続クラスを作るかと思うのですが、問い合わせをする場合、その接続クラスの中でクエリ生成して結果を返すほうがいいのか、接続クラス外でクエリ生成して接続クラスに投げる方がいいのか、どちらが一般的な考えでしょうか?
前者だと、クエリごとにメソッドが増えていって膨大になりそうな感じがし、後者の方が汎用に使えそうな気もしてます
どっちのほうがいいでしょうか?
2024/10/11(金) 21:08:01.94ID:u8Zdo+C50
一般的を聞きたいのか
どちらがいいかを聞きたいののか?

そもそもいいかとは?
2024/10/11(金) 21:29:38.58ID:SASJhP2up
汎用は不正アクセスの入り口になりやすいよな
2024/10/11(金) 22:01:16.41ID:wP/A6+fRM
よくある話だね

リポジトリパターンで実装するときに迷うけど
汎用的で単純なのはリポジトリにメソッドを用意しておく

条件などの複雑なクエリはクエリ実行用のメソッドを作っておくのがバランスが良いと思う
複雑なクエリは値を読むだけで更新は別にしておいた方がいい
2024/10/11(金) 22:04:47.86ID:tH3T8XD80
基本的なクエリは専用メソッドで用意しといて
個別の状況で特殊なクエリはstring引数で渡せるように作るかなぁ
638デフォルトの名無しさん (ワッチョイ dfb1-suLy)
垢版 |
2024/10/11(金) 22:28:42.50ID:f4j5E5960
下記のソースで、2秒経過した時点で、"2秒経過"が表示されて、その後、"終了"が出力されるはずなのですが、
開始した直後に "終了"が出力されて終了します。
どこが悪いのでしょうか?

static async Task Main(string[] args)
{
CancellationTokenSource cts = new CancellationTokenSource();

Task task1 = new Task(async () =>
{
await Task.Delay(5000);
Console.WriteLine("5秒経過");
}, cts.Token);


Task task2 = new Task(async () =>
{
await Task.Delay(2000);
Console.WriteLine("2秒経過");
}, cts.Token);

task1.Start();
task2.Start();

if (await Task.WhenAny(task1, task2) == task2)
{
cts.Cancel();
Console.WriteLine("終了");
}
}
2024/10/11(金) 22:35:31.91ID:l/H5tx0t0
定型的なクエリならメソッド用意して
非定型な任意のクエリをユーザーが構築できるようにするなら
それ用のメソッドを用意しておくしかなくね?
迷うポイントがよくわからん


ところで接続クラスって何なの?
2024/10/11(金) 23:22:23.66ID:wP/A6+fRM
個別に2日以内にログインしたユーザーがどのジャンルにいくら使って…略()みたいなメソッドを作るかどうかって話じゃないのかな?
2024/10/11(金) 23:36:22.38ID:VC+xQYvJ0
>>638
コンストラクタではasync使えない
Task.Runつかえ
そのときはStartはいらない
2024/10/11(金) 23:47:44.62ID:l/H5tx0t0
>>638
async lambda自体がTaskを返すもの
それをnew Taskに渡してwrapしてるので2重になってる
task1やtask2は中身のasync lambdaがTaskを返せば完了
内側のTaskが完了してなくても外側のTaskは完了
2024/10/12(土) 00:51:54.35ID:Om8PnXVB0
>>638
このままAIに聞けばよい
詳しい解説と修正コードも提示してきたぞ!
凄い時代になったもんだ
2024/10/12(土) 01:26:33.92ID:5ioDaTPm0
>>642
ありがとうございます。納得いきました。

>>643
ChatGPTに聞いたら完璧な回答が出ました。
しゅごい・・・
2024/10/12(土) 06:09:41.24ID:PXik+ZL50
>>638がどうダメなのかもわからなかった人間が
どうしてChatGPTが出した回答が完璧だと判断できると言うのか……
2024/10/12(土) 07:08:53.41ID:0WcQlR1j0
>>633
関連キーワード:
・DAO、DTO、Entity
・Prepared Statement
・SQLインジェクション
・O/R Mapper
・モダンなプログラミング言語のライブラリによるDBエンジン毎のSQL文を組み立てる機能
2024/10/12(土) 08:08:10.50ID:0zBJFbu/0
>>645
動かしたんじゃね
2024/10/12(土) 15:03:51.38ID:iNamx5U/0
接続クラスでググったらこういうのが出てきた
https://creatiovitae.hatenadiary.com/entry/2014/09/29/230746
https://www.studio-chips.com/csharp-dbconnection-class-sqlserver/

これ一般的なの?
わざわざ作る意味がよくわからないんだが
2024/10/12(土) 15:11:27.03ID:iNamx5U/0
>>640
ユーザーが自由にクエリを組み立てられるようにするなら
そういうクエリビルダー的なUIと内部の仕組みを自作するか
Power BIみたいなツールを使うかしかないよね

そういう非定型クエリ用の仕組みと定型のクエリ用の仕組みの
コード内の棲み分けで迷うことってあまりないと思うので
クエリを接続クラス内に置くか外から渡すかという質問は
少し違う観点なんじゃないかと想像する
2024/10/12(土) 16:09:44.58ID:jrg98i5j0
一番意味が分からないのは>>648の下のURLの方で
user、password、datasourceは自動実装にしてるくせに
connectionとtransactionは態々別々に書いてでもget&setなとこが意味わからん
クラス内でprivate変数の方にアクセスしてるでもないし
2024/10/12(土) 16:46:37.55ID:4VpnKVlz0
AIに聞け
2024/10/12(土) 18:01:22.51ID:Om8PnXVB0
>>645
求めなくてもダメ出しと理解に必要な技術を解説してくれる

此処で聞く必要はもう全く無くないね
2024/10/12(土) 18:06:57.55ID:hwVWGPYm0
>>644
>>638の内容をそのままChatGPTに投げたら
Task.Runに修正されたコードが返ってきたんだけど
キャンセルの動作はこれで意図通りなの?

Task task1 = Task.Run(async () =>
{
await Task.Delay(5000);
Console.WriteLine("5秒経過");
}, cts.Token);
2024/10/12(土) 18:20:12.74ID:19zRN9Is0
>>648
わざわざ作らないということは、DataGridViewにテーブルデータ表示する時はフォームクラスに全部書いてるの?
2024/10/15(火) 00:50:45.89ID:4VkHlfmU0
Task.Delay()の引数にCancellationTokenを渡さないのは変だな
2024/10/15(火) 09:27:33.35ID:t2D8p6tS0
Cancelに関わらず5秒待機したんじゃろ(鼻ほじ
2024/10/15(火) 09:52:22.92ID:9+lg4UV+p
chatGPTは中身を把握して無いからなぁ
単にネットでよくあるセンテンスを抽出してるだけの無能だしなぁ
658デフォルトの名無しさん (ワッチョイ 4bd8-zljf)
垢版 |
2024/10/15(火) 10:30:05.15ID:d3kL5vb80
ググる前に使うのは有用だよ。
2024/10/15(火) 10:43:30.18ID:2xY7lYacp
>>658
ググった後に使うと、さっき見たサイトの中身を丸まんま言って来るよなw
2024/10/27(日) 19:50:54.89ID:Vdu9Rrcz0
はじめましてC#を初めて2日かもしれないし3日かもしれません
ヴィジュアル系スタジオは持っていませんので
cmdでやってます
がんばります

何か作ってみましたが、もっといいものを作るとすると疲れます
copilotを利用しましたがエラーはきまくります
いいc#の開設サイトあります
なければいいですあればいいです

はじめましてC#をはみでて2日かもしれませんしs・・・
2024/10/27(日) 19:58:48.73ID:oesEgTVZ0
生成AIにはかせた文章か?
2024/10/27(日) 20:38:09.74ID:opEY4juO0
日記?
2024/10/27(日) 22:08:04.35ID:Vdu9Rrcz0
>>661
生成AIだともっと忖度した文章を書くとおもうし、
意図的にC#をはみでてなんて洒落もかまさなければ
ヴィジュアル系スタジオなんて洒落も書かない
だがcopilotの利用でエラーはきまくるのは事実だし、
よさそうなC#の開設サイトは探してる
C#については数年も前、5年は前に遊んだがそれ以降さっぱいだ
ちょっとしたソフトを2,3日で作ってみたが、
ヴィジュアル系バンドは持っていないので直接cmdでコンパイルしてりゅ
挨拶ということできました。
初心者なのでやさしくしてください。
なおetypingでは上位にはいってます、寿司打は全項目1位です、ピクタイピングでも1ですが最近みたら3位くらいになってました。
2024/10/28(月) 00:00:23.02ID:o0p2fyNV0
お薬飲みましょうね
2024/10/28(月) 00:38:24.05ID:x9Pmaxd20
今年一番きしょい
666デフォルトの名無しさん (ワッチョイ a95f-+Yhf)
垢版 |
2024/10/28(月) 03:39:38.17ID:xaz6ouOz0
>>664
お薬は飲んでます発狂したときに強制的に止めるお薬と眠れないとき呑むお薬と普段のみのお薬です。
精神科に通院しているので障害者基礎年金二級精神と精神保健保護福祉手帳二級精神の取得です。
中学2年生から中学3年生のころですからもう数十年以上も前になりますが、
今でいう基本情報処理技術者試験(旧二種試験)と応用情報処理技術者試験(旧一種試験)は取得しましたが、
実務で何が出来るかというとなかなかうまくは出来ませんね。
>>665
つまり気色悪いってことですね、略語として気色悪いからきしょいってことなのでしょうけれど。
今年一番とはいってもまだまだ今年はあと2カ月もあるので油断はできないですよと思うわけです。
あっ、結構長文になっちゃいましたががこれなんて序の口どころか普通な感じといいますか、
長文ネイティブとしてもそんなに長いものではないかと思います。
ところでちょっとピクタイピングの順位上げておきたいのでつきあってもらいませんか
1位でいるには毎日続けてポイントをあげていかないとだめんです。というか今確認したらアカウント消えてましたw
繰り返しますがetyping上位、寿司打全項目1位です。
できればリアルフォースチャンピオンシップに出たいところですが僕リアルフォース派じゃないんですよね。
2024/10/28(月) 12:31:29.80ID:+Kvll6g30
過疎ってる5chのさらに過疎な板にちょこちょこ新規がくるもんだな
668デフォルトの名無しさん (ワッチョイ a95f-+Yhf)
垢版 |
2024/10/28(月) 12:53:23.40ID:xaz6ouOz0
新規もなにもromだけどな
2024/10/28(月) 13:03:32.81ID:+DDKs6W00
書き込んだらROMじゃねぇよ
2024/10/28(月) 13:32:26.77ID:xaz6ouOz0
雑談どころかとくにこれといった洒落のきいた話もできないやつらしかいなさそうだし、
むしろありがたく思ってもらいたいね
2024/10/28(月) 14:16:07.09ID:QyBhwNlo0
洒落の効いた話って?

誰も求めてないぞ
2024/10/28(月) 15:58:30.04ID:x9Pmaxd20
求められるのは簡潔な文章に分かる人だけ気がつく洒落た言い回し
お前がやってるのは糞じじいのダジャレ
673デフォルトの名無しさん (ワッチョイ a95f-+Yhf)
垢版 |
2024/10/28(月) 16:25:32.62ID:xaz6ouOz0
>>671
うわーつまらん、それがつまらん
誰も求めてないぞ 
いや、誰もって 具体的に誰だよw 匿名多数の全ての名前を列挙せよ
お前がただ求めてないだけなら素直にそう書けよ、多数派がそう思ってるような工作をしなくていいのだよ

>>672
さもお前本人が簡潔な文章で分かる人だけが気が付く洒落た言い回し風貌語ってるけれど、
ならばお前が>>665で書いていたりその>>673の2行目の糞じじいなんてのは
ただの誹謗中傷でしかないんだよなあ
あぁ、そう、誹謗中傷が簡潔な文章で分かるだけが気付く洒落た言い回しってか
まったく発達障害は恐れ入るわぁ


プログラムのスレというから相当なキレものがいるかと思いきや
結局自分でなにかアクションが起こせないゴミしかいないよな
俺という存在があってはじめてお前のレスが光るみたいな動きをするなよ
泥団子ですら磨けば光るってのに、おまえらときたらうーんこのゴミ
2024/10/28(月) 17:45:04.89ID:vtHy0CNU0
すごい変わり方

2024/10/27(日) 22:08:04.35
初心者なのでやさしくしてください。

2024/10/28(月) 16:25:32.62
おまえらときたらうーんこのゴミ
675デフォルトの名無しさん (ワッチョイ 81ca-ZkK3)
垢版 |
2024/10/28(月) 18:30:17.26ID:YFWINVwg0
駄目な奴
676デフォルトの名無しさん (スップ Sd73-8acW)
垢版 |
2024/10/28(月) 18:32:37.63ID:Hpfabplfd
>>673
お薬は何を処方されているの?
リスペリドンは処方されている?
2024/10/28(月) 18:37:04.92ID:Vnf984sNH
この気持ち悪い書き込みの人、どんだけガキなんだよと思って過去レスみたら、これでいい年こいたおっさんなのね。。。
中年にして既に人生詰んじゃうとこういう言動しか取れなくなって、キモい長文を書き込んで1日が終わるようになるのかな
怖い怖い
2024/10/28(月) 18:40:44.07ID:imGCIPONM
一般人の偏見なんだけど彼は他人との距離感がうまくつかめない病気なんだから
生暖かく見つめてあげようよ

一番可哀想なのは彼なんだから
2024/10/28(月) 18:48:09.39ID:GIjdzcCj0
怖い人が来ていた…
2024/10/28(月) 19:03:33.50ID:3+StSzlO0
とりあえずワッチョイであぼーんしとけw
2024/10/28(月) 19:36:05.73ID:imGCIPONM
こんなの怖くもなんともないだろ

病気の他人に怖いって言えるほうがよほど困った人間だと思う
2024/10/29(火) 00:00:34.05ID:8p4nu6q00
せめてRubyスレでやってくれ
2024/10/30(水) 10:36:07.03ID:x/mNM3SS0
目立つとはこういうことやぞ

>>676
秘密や

>>677
お前は過去レスもないなにもないやつ

>>680
でもそろそろワッチョイは変更される
684デフォルトの名無しさん (ワントンキン MMd3-hk5E)
垢版 |
2024/10/30(水) 11:42:26.19ID:vWUxWnzfM
>>683
すまんけどお薬の内容を教えてもらえると助かる。頼む、教えてください。
685デフォルトの名無しさん (ワッチョイ a95f-+Yhf)
垢版 |
2024/10/30(水) 11:44:53.25ID:x/mNM3SS0
>>684
今俺がどのような医療機関に通院しているかをソーシャルハッキングされて俺の生活を妨害される可能性があるので今俺が精神科もしくは心療内科もしくは他の科目に関わる処方情報を教えることはできないからお前の好きな薬を俺が飲んでることに勝手にしなさい
2024/10/30(水) 13:55:05.51ID:hLhwnn6U0
今週のあぼーんワッチョイ a95f-+Yhf
687デフォルトの名無しさん (スップ Sd73-8acW)
垢版 |
2024/10/30(水) 21:43:52.14ID:+oF8rs9rd
>>685
リスペリドンもしくはリスパダールを処方されているかどうかくらいは答えられるだろ
それとも逃げるのか?
2024/10/30(水) 21:44:23.74ID:6hTfArrc0
あぼーんしとけ
2024/10/31(木) 00:09:38.16ID:8YsyKYI60
>>687
よくわからないがお前が処方されてるからって他の人も同じだと思っているのか類友を求めているのか
690デフォルトの名無しさん (ワントンキン MM4b-hk5E)
垢版 |
2024/10/31(木) 01:30:59.58ID:wPOs2skiM
>>689
まずは答えてくれ
2024/10/31(木) 02:05:01.90ID:VoG7ZiU8d
こういうマジのキチガイが書いたコードを見てみたい
692デフォルトの名無しさん (ワッチョイ 0bbc-TzxD)
垢版 |
2024/11/01(金) 00:39:49.91ID:LGoDUDS70
動くわけないだろ
693デフォルトの名無しさん (スップ Sd73-8acW)
垢版 |
2024/11/01(金) 01:39:40.96ID:xmUkk5rld
逃げたか
2024/11/01(金) 09:10:48.47ID:xFfDlU+j0
>>692
Xenoスレへどうぞ
695デフォルトの名無しさん (ワッチョイ 75ca-gPyh)
垢版 |
2024/11/04(月) 21:33:20.72ID:YsWUoi9D0
他の言語から来たんだけど「全てがクラスに属する」ことに違和感を感じる
PythonやC++だとフリー関数 (どのクラスにも属さない関数) を作れるけど、C#だと必ずクラスに属するよね
これは言語の思想的に何かしらの意図があるの?

例えば「型Aのインスタンスと型Bのインスタンスを受け取って型Cを返す」処理を書く場合に、C++だといずれのクラスとも無関係な関数という形をとれるけど、C#だと「これはクラスAの責務」のように決める必要がある感じがして、これが慣れない

単に慣れの問題なのか、それともOOPの考え方を理解してしきれてないのか
もし過去に同じような疑問を持って、かつ「現在は腑に落ちた」といった人がいれば、考え方のアドバイスが欲しい
696695 (ワッチョイ 75ca-gPyh)
垢版 |
2024/11/04(月) 21:42:28.51ID:YsWUoi9D0

念の為に補足すると、インターフェースやポリモーフィズム、カプセル化といったものは理解してるし、「OOPの有用性が分からない」といった話ではないです
ただ「メソッドは全てクラスに属する」という言語仕様については、必ずしも適切でない場面が生じるように感じているのだけど、これはこういう意図だよという説明があれば知りたいという話
2024/11/04(月) 22:07:49.25ID:xYSR/1Hc0
最初からそういうものだと思ってたから、特に違和感を覚えないなぁ
なんの解決にもなってなくてすまんな
698デフォルトの名無しさん (ワッチョイ 5e8e-XYkR)
垢版 |
2024/11/04(月) 22:44:03.84ID:AWd+I5uW0
適切でない例を挙げてみろ
己の適応能力のなさを棚に上げるな
どうしても嫌なら自分で言語を作って広めろ
2024/11/04(月) 23:57:23.42ID:Pz2EFwz+0
>>695
using static じゃあかんの?
2024/11/05(火) 00:18:49.53ID:jvZmHUTK0
どーせこういうのは何も考えずにJavaの真似をしたってだけで意味なんて無い
2024/11/05(火) 00:45:13.75ID:9reRkGVq0
objectが基底
2024/11/05(火) 01:02:04.27ID:u+uMowqLM
>>695
単純な話で
classに属していないと関数名がクラスのメソッドと重複したときに困る
メンバーのthisが必須ならそれも避けられたと思うけど

ライブラリなんかで関数追加されてバッティングしたらアウト
2024/11/05(火) 01:09:12.82ID:Gmtkt7Kl0
名前空間でOK
2024/11/05(火) 01:16:52.40ID:lWTcKg3j0
メソッドはすべてオブジェクトに属する なら正しいけど、
「メソッドは全てクラスに属する」は間違ってるだろうという突っ込みはおいといて

そもそもオブジェクトのふるまいを規定するのがメソッドなんだから
オブジェクトに属さないメソッドがあるほうがおかしいと思うが
2024/11/05(火) 02:02:23.26ID:prltW92g0
じゃあrubyと同じですね(火種を呼び込む)
2024/11/05(火) 02:18:04.82ID:JsYkJfXZ0
c#スクリプト使えば関数使えるけど
2024/11/05(火) 08:38:47.56ID:gfiZSQIn0
いろんな言語触ってきたから、別に違和感は無かったな
つーかC++だと独立した関数作れるじゃんって、それCベースのなんちゃってオブジェクト指向だからそうなってるだけじゃねっていう
2024/11/05(火) 09:54:24.49ID:brsYk7xk0
言語の成り立ちや思想の違いだよね
C++やPythonは手続き型にオブジェクト指向が足されたものだから最初からオブジェクト指向で考えられてたC#やJavaとは違う

変数や関数が必ず1つの型に属してるという制約は言語を使う側(特にオブジェクト指向で)にとってもだけど言語を作る側にとってもメリットが大きい

名前空間に直接関数を定義するような機能を追加することは不可能じゃないだろうけど得られるメリットはstatic methodsをまとめるstatic classを定義する手間が省けるというだけなので作る側としては割に合わない
2024/11/05(火) 10:03:15.44ID:brsYk7xk0
もっと最近の言語は純粋なオブジェクト指向的な考えから脱却して型に属さずモジュールやパッケージに直接属する関数をサポートするようになってるけどC#をそこまで変える価値はあまりないように思う
2024/11/05(火) 21:28:01.59ID:/8BJouGs0
C、C++、C#と触ってきたけどC#が一番好き
2024/11/05(火) 21:45:32.75ID:JaQWNq5Na
C#にトレイトはありますか?
712デフォルトの名無しさん (ワッチョイ 750d-gPyh)
垢版 |
2024/11/05(火) 23:11:34.45ID:Jp4t1BFV0
例えばMath.Sinは「Mathクラスのstaticメソッド」でなく「Math名前空間の関数」でも良くない?という疑問
JavaやC#はstaticメソッドを使うけど、後発の言語 (GoやTypescriptやRust) では関数を使えるから、JavaやC#がこの形にした理由や考え方を知りたかった
言語ができた当時の流行りみたいなものなんですかね?

とりあえず「C#ではそういうもの」と思うことにします
713デフォルトの名無しさん (ワッチョイ 750d-gPyh)
垢版 |
2024/11/05(火) 23:23:15.36ID:Jp4t1BFV0
>>704
>そもそもオブジェクトのふるまいを規定するのがメソッドなんだから
>オブジェクトに属さないメソッドがあるほうがおかしいと思うが
インスタンスに紐付くものはこれで納得がいくんだけど、Sin関数やMin関数みたいなものも「オブジェクトの振る舞い」と考えるのがいまいち腑に落ちない

自分の中では、例えばファクトリーのようなものは「クラスに関連する処理だからクラスのstaticメソッドにする」と理解してるけど、これもオブジェクトの振る舞いと考えた方が良かったりする?
714デフォルトの名無しさん (スップ Sd12-XYkR)
垢版 |
2024/11/05(火) 23:39:06.42ID:9TaJXZqzd
発達障害かな
715デフォルトの名無しさん (スップ Sd12-XYkR)
垢版 |
2024/11/06(水) 01:35:20.53ID:BNeL9QsTd
あー、そうか、こいつ倉庫番のあいつか
2024/11/06(水) 06:25:17.77ID:zL0JeVCX0
> JavaやC#がこの形にした理由や考え方を知りたかった
こんなとこで訊いても解るわけないだろw
開発者に訊けよ
2024/11/06(水) 14:23:45.18ID:UH7z1EeFa
>>712
Rustだとf32::sinとかf64::sinとか残念仕様
2024/11/06(水) 14:47:55.11ID:blMDB7hqH
当初のマーケティング戦略でしょ
Cと何が違うのかと言われるのが嫌だったんだろう
初期のC#はそういうの割と気を遣って設計されたらしく、varなんかも当初は似た理由で外されたらしい
2024/11/06(水) 22:08:16.11ID:UgjHScPC0
>>717
どの辺が残念仕様なの?
720デフォルトの名無しさん (ワッチョイ b195-uWtd)
垢版 |
2024/11/09(土) 18:18:30.88ID:ABsPyXMa0
Goのstruct使うとよくわかるが、クラスはオブジェクトが渡ってるだけのシンタックスシュガーでしかない

変数.関数が関数(変数)に変換されてるだけ

オブジェクト指向とか言ってるがそんな大層なものではない

だからC言語でも構造体のポインタを第一引数に渡せばオブジェクト指向のようなコードが書ける

C#のstaticメソッドと他言語のXXXパッケージ、ネームスペースに属する関数で特に実質的な違いはないので、その言語特有の書き方ってだけ
2024/11/09(土) 18:47:30.10ID:eglbI9Vf0
オブジェクト指向言いたいだけやろなぁ

そもそもオブジェクト指向(が何か)言える人おるんかな
722デフォルトの名無しさん (ワッチョイ b149-MeJV)
垢版 |
2024/11/09(土) 19:13:50.40ID:veHibMfD0
>>721
アホのひろゆきが
オブジェクト志向を語ってといわれたときに
いきなり「オブジェクト志向というか関数の話なんだけど、・・・」で関数のこと語り始めた動画を思い出した。
その動画ではつっこむ人もいなかった気がする。
世間一般では確かにオブジェクシ志向のこと分かっている人はかなり少ないのかもな。
723デフォルトの名無しさん (ワッチョイ b149-MeJV)
垢版 |
2024/11/09(土) 19:14:26.00ID:veHibMfD0
その動画また見たいな。誰か探してきて。
2024/11/09(土) 21:16:08.07ID:nqUkayrkM
人に聞いたりした感想しか述べてない印象
第一引数と変わらないっていうのも出始めぐらいに盛んに言われたけど…

実際見聞きした話じゃなくてお前らはどうなんだ?
コーディングに対してどう思ってるのか?

インスタンスやクラスからエディタから支援されてメソッドが出てくるのが当たり前になってるけど
単純にオブジェクト指向捨ててCに戻ったらまた長い長い呪文みたいな関数を使わなくてはならなくなる

頭でっかちになってはいけないと思うわ
2024/11/10(日) 03:12:32.12ID:cLh8//6O0
WindowsのCOMは世界一長生きでメジャーなオブジェクト指向システムの実装例だよなあ
しかもバイナリレベルでインターフェースを規定していて作法に従えばどの言語からも使用できる
オブジェクト指向における1つの到達点と言っていい
2024/11/10(日) 11:03:37.07ID:pSFO10xW0
多言語で利用者可能なプログラムコンポーネントってcomぐらいしかないのかな
2024/11/10(日) 11:45:15.15ID:XMMNbF5r0
今はもうWeb APIで繋ぐようになってる。
2024/11/10(日) 18:59:55.30ID:pSFO10xW0
そりゃ意味が違うね
2024/11/10(日) 22:06:38.52ID:pWKHNzXW0
今時はGRPCだね
MSも今は亡きWCFの代替としてはGRPC推し
2024/11/10(日) 22:36:42.06ID:qC3Ky4ZL0
COMと比較するならCORBAくらいだろう
731デフォルトの名無しさん (ワッチョイ cd30-2Qlp)
垢版 |
2024/11/10(日) 23:25:49.53ID:dkv1a77w0
表現力のあるデータ形式としてJSONやProtocol BuffersやMessagePackを使って、それでサーバーと通信する (プロセス間通信も含む) ことで言語を跨ぐことはできるけど、オブジェクト指向ではないと思う
複雑すぎて使いにくかったけど、COMはインタフェースによる抽象化を提供していた
2024/11/10(日) 23:40:55.60ID:pSFO10xW0
昔はVBのフォームの中にVC++やらJ++で作ったコントロールが仲良く共存して連携してた時代があったよねと
2024/11/10(日) 23:43:29.69ID:pSFO10xW0
そういや、エンジニア駆け出しの頃にLotus Notesの画面内にExcelとかVBで作ったカスタムコントロールを配置して、Notesの垣根を取っ払った開発やってたなーー
2024/11/10(日) 23:47:27.45ID:pSFO10xW0
Dcomとかでクライアント側からサーバー側にcomインスタンスをnewしてたわーー
その頃Transaction ServerがOSの標準機能になったりして感動!とか昔の方がすげーーな
735デフォルトの名無しさん (アウアウエー Sa13-vkNS)
垢版 |
2024/11/11(月) 06:07:07.08ID:mTrGHtv9a
socket最強
2024/11/11(月) 06:36:35.45ID:xfSMYXAu0
>>731
データ指向
2024/11/11(月) 07:58:42.58ID:uMgTLfPSd
オブジェクト参照をサーバー側で管理するのはセッション数が多いと不可能だからね
だからCOMは分散オブジェクト指向技術としては工場のようにノード数が比較的少数かつ確定的で、密な通信を必要とする分野でしか採用されなかった
738デフォルトの名無しさん (アウアウエー Sa13-vkNS)
垢版 |
2024/11/11(月) 09:18:04.54ID:RXw/cl7Za
javascript で JSON の中に callback とか描いてあるのあったな
あれ何指向って言うんだ?
ajax?ωωω=2πf
2024/11/11(月) 09:43:18.30ID:YFY50Prw0
無理して指向言わんでええ
2024/11/11(月) 10:33:14.38ID:dLpe2cr6p
実装の機能一つ取って、〇〇志向とか無いから
2024/11/11(月) 12:57:50.96ID:ka8ZtxVN0
コピペ指向
742デフォルトの名無しさん (ワッチョイ 1549-XNRQ)
垢版 |
2024/11/11(月) 13:38:15.28ID:nfNcU7xN0
>>722
その動画あった
https://youtu.be/L8ryAFRzPv4
こんなのも
https://youtu.be/D_FuwGry6bU
743デフォルトの名無しさん (ワッチョイ 23ee-Pbsq)
垢版 |
2024/11/11(月) 15:47:59.61ID:hdpWkxQQ0
中の人が見てたらお願いなんだけどさ
Blazor等のチュートリアルを作り直す暇もないんだろうけど、せめて時代錯誤になった部分はその旨を記載しておいてくれないかな?
2024/11/11(月) 21:07:13.60ID:uK+aOkTu0
c#って、メモリーリーク起きないの?

ある変数に別のインスタンスを代入したら、
前のインスタンスは開放されるの?
2024/11/11(月) 21:09:25.09ID:YFY50Prw0
メモリリークはもはやOSの問題やろ
2024/11/11(月) 21:12:15.19ID:LjE5jZL90
GCがメモリ開放するところ見ればわかる
2024/11/11(月) 21:12:37.72ID:uoazDs9sp
メモリーリークあるよ
リソース食い潰したら
勝手に解放し出すから
ちゃんとしないとリークしまくる
2024/11/12(火) 00:50:14.30ID:ccOC7O4w0
メモリリークの定義教えてくれ
開放してくれるならリークしていないんだが
749デフォルトの名無しさん (ワッチョイ 4b8e-c8Lf)
垢版 |
2024/11/12(火) 00:59:41.24ID:J1Sn69yS0
>>747
勝手に解放するって言っても使われていないと判断されたメモリーだけだろ
2024/11/12(火) 02:01:47.97ID:6pRktkeB0
結局、
誰もわかってないという…

メモリーリーク
751デフォルトの名無しさん (ワッチョイ cb31-QT1F)
垢版 |
2024/11/12(火) 05:01:21.60ID:d1j1inpD0
水割りをください
涙の数だけ
2024/11/12(火) 08:17:28.74ID:b+Bf1Vp60
おっさんホイホイがここにも
2024/11/12(火) 08:29:29.22ID://05srW70
>>749
使って無いと判断する…そこが肝
使ってるかどうかちゃんと教えてやらないと酷い目に遭う
2024/11/12(火) 08:32:28.01ID:2QvyeV96M
>>745
OSがバグってるなら回避するのがプログラマーの約目でしょ
2024/11/12(火) 08:44:47.73ID:h12Q6Ovl0
いや?
2024/11/12(火) 12:48:54.62ID:yymNbFMxH
OSがバグってるならとりあえずMSのせいにして客にエスカレーションして困らせてサボるのがプロ業務系プログラマ
2024/11/12(火) 21:44:11.31ID:b+Bf1Vp60
多分マイクロソフトよりアンドロイドの方がまし
アンドロイド搭載パソコンなら問題ない
758デフォルトの名無しさん (ワッチョイ cdd4-MfT4)
垢版 |
2024/11/12(火) 22:58:07.51ID:5fJOoIcx0
>>744
Disposeしないと解放されないリソースはDisposeしないとダメ
それ以外は基本的にGC任せで良い

var x = new Foo();
のようにして確保されたオブジェクトはGCが面倒を見る
C++のように delete x; を呼んでないからオブジェクトが破棄されずリークする、なんてことはない

var x = new Foo();
x = new Foo();
x = new Foo();
のようにすればオブジェクトは多数生成されるけど、それは再代入時でなく、GCが要らないと判断したタイミングで回収される
(GCが走るまでメモリ使用量が増え続けるという意味でもある)

アンマネージドなリソース、例えば開いたファイルのハンドルみたいなものはGC任せにできない
仮にファイルハンドルがオブジェクトの寿命に紐付いていると、使い終わったファイルがいつ閉じられるのかが分からない (GCのタイミングに依存する) なんてことになる
そういう制約があるので、明示的な破棄が必要なリソースを持つクラスについては Dispose を呼ぶ (あるいはusing句を使って使用期間を限定する) 必要がある

仮にC#のクラスが内部的にCのライブラリを呼んでおり、その中で多量のメモリを確保するような場合だと、Disposeしないと多量のメモリが破棄されないままになりリークする
759デフォルトの名無しさん (ワッチョイ cdd4-MfT4)
垢版 |
2024/11/12(火) 23:38:23.53ID:5fJOoIcx0
上記のような再代入をすると「どの変数にも紐付いてないけどオブジェクトは生きている」状態になる
GCは適当なタイミングでオブジェクトを検査して、使われてなければ破棄するといった動きをする
CやC++のようにオブジェクトを破棄する責務がプログラマ側にある原画だと、オブジェクトがどの変数にも紐付かない状態になってしまった時点でそれは解放する方法がなくなる
2024/11/12(火) 23:55:19.73ID:6pRktkeB0
>>758
ふむ。
一応は、C++みたいにDeleteしなくてもいいのか…
ファイルハンドルとかはリークするのか…

24時間動かす場合とかは、Disposeとかusingしたほうがいいのかな…
2024/11/13(水) 00:18:00.06ID:McepvooC0
サービスの話?
762デフォルトの名無しさん (ワッチョイ cdd4-MfT4)
垢版 |
2024/11/13(水) 00:33:48.38ID:bSiUYbhg0
>>760
解放が必要なリソースを持つクラスは IDisposable というインターフェースを継承してて、それが Dispose() メソッドを持つ
IDisposableなものはusingを使うことで「スコープを抜けたらリソース破棄」という書き方ができる
詳しくはマイクロソフトの解説
https://learn.microsoft.com/ja-jp/dotnet/standard/garbage-collection/using-objects

IDisposableなものは原則的に必ずDisposeを呼ぶべき
GCはこれらの面倒を見ないので「解放のタイミングが不安定になる」ではなく「解放されない」動きになる

逆にIDisposableでないものはDisposeメソッドを持たない
だからもし「C#のクラスは破棄が必要なものとそうでないものがある → 安全のためにとりあえず全て Dispose を呼ぶようにしよう」という考えをしたなら、それはちょっと違う
763デフォルトの名無しさん (ワッチョイ 4b8e-DV/N)
垢版 |
2024/11/13(水) 00:35:07.28ID:F0Fw8KYz0
>>760
頭弱そう
764デフォルトの名無しさん (アウアウエー Sa13-vkNS)
垢版 |
2024/11/13(水) 02:02:22.70ID:lxEAsUm8a
interfaceですしおすし
765デフォルトの名無しさん (ワッチョイ 25db-QT1F)
垢版 |
2024/11/13(水) 03:10:10.21ID:T9toDS8e0
リソースじゃないけど、c++のデストラクタみたいな事したくてusing使っちゃあかんの?
tryで囲むの超めんどくさいんだけど。
2024/11/13(水) 06:19:43.96ID:nRFDv3b60
C++のデストラクタみたいな事したくてusingってのがよくわからんけど
try-finallyでDisposeするだけならusingでも同じことやぞ
767デフォルトの名無しさん (ワッチョイ 25db-QT1F)
垢版 |
2024/11/13(水) 07:20:57.60ID:T9toDS8e0
何ヶ所も同じようなfinally内容が必要な時にdisposeメソッドにまとめられるじゃない
2024/11/13(水) 07:28:32.00ID:nRFDv3b60
いやほんと何言ってんのかわかんねぇ……
お前は一つのクラスが持つリソースの解放を
クラス外のあちこちでtry-catchしてやるんか
769デフォルトの名無しさん (ワッチョイ cdd4-MfT4)
垢版 |
2024/11/13(水) 07:41:05.87ID:bSiUYbhg0
「オブジェクトの開放時に何かをしたい」という意味ならまさにそれがDisposeの使いどころ
自作クラスにIDisposableを実装すればDispose()でリソースを破棄できるし、using句で「スコープを抜けたら解放」という使い方もできる

C#にもデストラクタはあるけど、これはGCによる回収時に呼ばれるから、いつ呼ばれるかは不安定
処理し忘れを防ぐ程度の使い方はできるけど、基本的にはあまり使わない

マネージドなリソースしか持たないクラスならDisposeは要らない
var x = new Foo();
var y = new Bar(x);
のような場合でも、FooやBarがDisposeを必要としないならGCが適切に処理してくれるので、例えば「Barのデストラクタ内でFooをdeleteする」などの処理は書かなくてOK
どちらもGCが管理してくれる

C++から来た場合はこれを「管理しなくても解放し忘れが無くて安心」と思うか「解放のタイミングを制御できない 」と思うかは分かれるかもしれない
今でこそC++にはスマートポインタがあるけど、それ以前の生ポインタしかなかった頃を考えると、解放し忘れを防げるのはメリットとして大きい
2024/11/13(水) 08:34:34.33ID:YzA/YIME0
おまいらどんだけメモリリーク気にする程のドデカイプログラム作ってんだよ

気にするだけ無駄や
2024/11/13(水) 09:24:39.60ID:yVT3j+C4M
今の開発環境なら警告出るしな
サクラエディタで書いてるのなら大変かもな
2024/11/13(水) 09:58:20.49ID:ZYmwt0ti0
>>770
まあ、せいぜい数分しか動かさないアプリなら気にするだけ無駄だけど
丸一日操作したり、何日もぶっ通し動かすアプリは必ず何かしら対応しないと
しぬるからなぁ
773デフォルトの名無しさん (ワッチョイ 9589-SrFb)
垢版 |
2024/11/13(水) 12:14:29.52ID:RNEwjcau0
MainWindowのメンバ変数で
byte[] foo=new byte[100];
と定義するとアプリ終了までGCされないでokですか?
また、byte[] foo;で定義して、
メンバ関数でfoo=new byte[100];とやるとどのタイミングでGCされますか?
774デフォルトの名無しさん (アウアウエー Sa13-vkNS)
垢版 |
2024/11/13(水) 12:43:29.05ID:T0htHWVna
byte[] foo=new byte[100];

byte[] foo;
foo=new byte[100];
も一緒やろ
別の場所で
foo=new byte[200];
とか新しく上書きされたらどうすんねん
2024/11/13(水) 12:45:32.83ID:xPjlOgQq0
>>773
okじゃねーよ
値と値を参照してる変数を分けて考えろよ
2024/11/13(水) 14:11:22.42ID:iz/BtWmN0
>>773
どれもこれも、YesでありNoでもある
777デフォルトの名無しさん (ワッチョイ bddb-/Xjz)
垢版 |
2024/11/13(水) 15:45:52.66ID:cFKLZOQI0
もう.NET9かよ早すぎだろ
2024/11/13(水) 16:35:22.94ID:ZYmwt0ti0
いつGCされるかって?
知らねーよ、分かる筈も無い
2024/11/13(水) 16:38:34.46ID:a49735QS0
>>762
ふむ。

usingかDisposeをきちんと入れる必要があるね…
24時間運転だし…
2024/11/13(水) 16:42:29.44ID:a49735QS0
>>769
ふむ。
nullを代入してもいいのかな…?

まあ、作るソフトウェアによるかな…
業務用ならC#でも大丈夫かな…
最先端ゲームはC++以外は無理だね…
2024/11/13(水) 16:45:57.46ID:a49735QS0
>>769
std::系は、
最先端ゲームには危険かな…
2024/11/13(水) 17:04:36.55ID:sAaCV0t50
今時ゲームをエンジンからフルスクラッチで作るなんてまず無いでしょ
2024/11/13(水) 17:29:09.83ID:vqXyiTbO0
自分でGC呼び出すとメモリ解放してくれるよ
ただし呼び出し後即時に解放せずに早めのどこかのタイミングで解放する
2024/11/13(水) 18:43:26.50ID:whKN5Z/j0
.NET9きたのか
https://www.publickey1.jp/2024/dotnet9ga01.png
2024/11/13(水) 18:57:44.36ID:o4hFY4U3H
奇数バージョンはスキップ
2024/11/13(水) 20:50:29.02ID:4Gtrs6mx0
C#的にはparams ReadOnlySpan<T>ぐらい
extensionはまだかよー
2024/11/13(水) 21:04:44.68ID:kds0MnRn0
>>765
それで構わんよ。
C++/CLIのデストラクタなんてまさにその通りでスコープを抜けるときにDispose()を呼ぶという形で実現している。
2024/11/13(水) 21:30:27.03ID:YzA/YIME0
どこかのタイミング

要はわからんってことや
789デフォルトの名無しさん (ワッチョイ 1595-Ebli)
垢版 |
2024/11/13(水) 23:22:35.23ID:B1wcj+YZ0
C#13つまらなすぎる
なんでfieldないんだよ
2024/11/14(木) 22:34:19.42ID:GZKxZF1dM
C#は枯れてきてもうやることがなくなって来たんだよね
Unityも下火になって来たしそろそろ10年ぐらい続いたC#でゲームブームも終わるのか
2024/11/15(金) 07:47:05.02ID:JOQazMVA0
そもそもC#や.NETのバージョンアップに比べてUnityが全く進化してないからな
2024/11/15(金) 09:59:56.57ID:MiaDhD69p
Unityはスクリプト言語をC#にしただけだろ?
2024/11/15(金) 10:08:40.56ID:Ka+Ndc6r0
プログラミング言語全体が下火なんだよなあ
すっかり生成AI前提になり、モダンな〇〇言語ではこう書けるんだぜクールだろ、みたいなネタはもはや全く注目されなくなってしまった
一方で保守的に速度と厳密性を追求する分野はRustが台頭してきており、これ以上の多様性を受容するほどコミュニティベースが大きくないから当分この状況は変わらないだろう
今求められているのはAIを前提としたAIフレンドリーな言語で、人間用のプログラム言語の世界では最後の大規模な勢力争いになるだろうね
2024/11/15(金) 10:11:09.02ID:MiaDhD69p
妄想はチラシの裏にでも書いとけよ
2024/11/15(金) 10:16:01.10ID:N6Yz1jkv0
>>プログラミング言語全体が下火

何処の世界の人なんだろうか...
796デフォルトの名無しさん (ワッチョイ 2348-Pbsq)
垢版 |
2024/11/15(金) 18:53:10.49ID:NYn3mfHi0
どうせ例のホリエモンとかタラコとかが好きな人でしょ
2024/11/15(金) 19:51:58.73ID:VwNWJqLE0
>>796
C#って、
クラスを関数の引数に渡すと、
クラスへのポインタをコピー(値渡し)する感じ?
2024/11/15(金) 20:06:47.23ID:BmyaSFc60
クラスって渡せるんだっけ?
2024/11/15(金) 20:27:55.20ID:xDAXGSSE0
クラスへのポインタをポピー!
味わい深い
2024/11/15(金) 20:32:02.03ID:btoL8w9Qp
>>798
渡せるのはクラスオブジェクトだ
2024/11/15(金) 20:32:51.22ID:btoL8w9Qp
厳密にはクラスオブジェクトのポインタだね
2024/11/15(金) 20:34:24.14ID:MoNXXLAep
ああ、クラスコードそのものも渡せるなぁ
2024/11/16(土) 06:46:10.41ID:qCnJNgbf0
>>797
参照くらい知っとけ
2024/11/16(土) 08:39:25.08ID:AKFzyauM0
Win11のコンソールウィンドウで、画面からはみ出した上のほうの行が表示されない
Console.BufferHeightの行数の設定がマズいのかもしれないが、よく分からない
2024/11/16(土) 15:15:41.19ID:GSPZQP9h0
>>803
うなぎの蒲焼きには必須だよね
2024/11/16(土) 18:11:04.85ID:G2FULni40
>>803
Call by Nameとの違いを3行で
2024/11/16(土) 20:03:57.66ID:WipzlT6O0
>>797
結局、
誰もわかってないという…
2024/11/16(土) 21:29:56.73ID:Wc0ai5mi0
ww
微笑ましい煽り
809デフォルトの名無しさん (ワッチョイ 62d6-EBAf)
垢版 |
2024/11/18(月) 07:07:02.90ID:INV+aJIp0
【ナゾロジー】サイコパスは「痛みを伴う失敗」から学習できない! [すらいむ★]
http://itest.5ch.net/egg/test/read.cgi/scienceplus/1731838156
2024/11/23(土) 15:39:50.83ID:dIdD47Ipd
yieldの使い道がわからないなり…
2024/11/23(土) 17:02:37.47ID:+S3zqAg/0
わからないなら無理に使わなくてもえぇんやで
2024/11/23(土) 17:05:22.10ID:0fvlCeGq0
yieldが出てくるメソッドは外部イテレータ用にデータコレクションが紐付いた限定的な継続オブジェクト(IEnumerable)を返すようになってる
この継続とはSchemeで言う継続呼び出し(call with current continuation)辺りに精通してないと恐らく真の動きは理解できないと思うけど
yieldキーワードを書くだけで、そのメソッドは見かけ上呼び出し先の処理を中断して、呼び出し元で結果を受け取る事ができ、望めば処理の再開もできるように限定的な状態機械に翻訳される
この一連の仕組みをいちいち自作するのは面倒なのでyieldキーワード等が用意されてる
実際何が起きてるのかはILSpyとかで追わないと判らんと思う
2024/11/23(土) 17:26:45.50ID:0fvlCeGq0
これの何が嬉しいかというと、上の複雑な仕組みを外部イテレータというインターフェースに落とし込んでforeachとかで抽象化して扱える事にある
逆に抽象的ということは普通に列挙するよりかは効率が悪いのと、yieldメソッド内は制限が多い
使い所としては、いつ終わるか判らない、もしくは終わらないような処理で途中結果が欲しい場合とか
814デフォルトの名無しさん (ワッチョイ ff85-zwOW)
垢版 |
2024/11/24(日) 03:27:53.65ID:pKw1EAws0
わからないなら無理に使わなくてもいいるど
2024/11/24(日) 04:01:48.47ID:u53SJ5yz0
>>812
ふーん
そんな機能あったんだ…
2024/11/24(日) 09:56:29.38ID:kUToI6JtM
yield使ったメソッドはコルーチンと言うものの一種で関数は通常再実行されても頭から実行されるけど
コルーチンはreturnした場所から再実行されるもの

実際は状態を内部で持つようにコンパイラで書き換えて実現してる
状態遷移を伴った複雑なシーケンスを列挙するときに便利なのでそういう仕組みがあるけど使わない人は使わない
ゲームの敵キャラなんかの動き、音楽再生なんかにも使えるけど普通のメソッドで作ったほうが良い
2024/11/24(日) 10:18:54.22ID:gto9pmL30
yield便利だよね
2024/11/24(日) 10:25:55.74ID:kUToI6JtM
Linq,Async,Rx等とは相性はいい
2024/11/24(日) 10:32:47.48ID:u53SJ5yz0
>>816
ふーん

最先端ゲームには危険だな…
2024/11/24(日) 10:36:16.43ID:u53SJ5yz0
>>819
てか、
最先端ゲームはC#使わないか…
821デフォルトの名無しさん (アウアウエー Sadf-wjfe)
垢版 |
2024/11/24(日) 10:39:56.50ID:9Gv3GpvEa
yieldって勝手にマルチスレッドになる?
822デフォルトの名無しさん (ワッチョイ ff95-zS0G)
垢版 |
2024/11/24(日) 11:11:44.42ID:GiK5O5OL0
>>821
ステートマシンに変換されてるだけだからそのコード見るとわかるがシングルスレッド

Jetbrain Riderでその場でILと低レベルC#コードが見れるから見てみるといい
2024/11/24(日) 11:43:31.53ID:y51b8un80
最先端じゃなくてもC#使わないだろw
2024/11/24(日) 12:16:02.02ID:XzS0JgVO0
UnityだとC#じゃないの? 知らんけど。
2024/11/24(日) 13:41:46.63ID:gkPESB8i0
突然バージョン番号が爆上がりしたライブラリさんじゃないですか
そういえばプリキュアのエンディングムービー作るのに使われてたとか
2024/11/24(日) 15:17:49.23ID:GgS92Yo80
カプコンのREエンジンはC#だな
開発ツール類はWPFとC#で作っているのがそれなりにある
2024/11/24(日) 15:23:54.34ID:u53SJ5yz0
>>826

と言ってるバカシロート
2024/11/24(日) 19:15:56.38ID:UAUyH8bw0
どうしたんだ?何か辛いことでもあった?
2024/11/24(日) 20:57:17.89ID:00v/i1H+0
ここUnity関係ないのよね
2024/11/27(水) 14:25:40.66ID:lxFJutvX0
ゲーマー目線だと、グラフィックに関して言えば、スクウェア(スクエニ)は確実に世界最高レベル帯で、
カプコンは一段劣るイメージだったんだけど、今じゃカプコンのほうがマシに見えるようになってきた。
FF7Rは別格だけど。
2024/11/27(水) 14:32:57.33ID:KEKTkFea0
>>830

と言ってるバカシロート
2024/11/27(水) 20:12:09.73ID:04jGnn85d
ゲームでC#ってどうなんだろ
もう数年前の話で携帯アプリで使ってたって言ってたけど、その時はGC走るとやっぱりカクつくって言ってたもんなー
俺が作ってた頃はDirectXでゴリゴリ書いてたけど、もうそんな手間も今はないんだろうなー
2024/11/27(水) 20:19:32.57ID:nVfa1m6ip
GCされない様に全部スタティックなグローバルな変数にするよ
2024/11/27(水) 22:57:56.72ID:rC6zBaUk0
スマホやなくて携帯かよ
携帯でGC走るとかそんなのあるんか
835デフォルトの名無しさん (ワッチョイ b7d9-eqPa)
垢版 |
2024/11/28(木) 06:03:41.07ID:FYbvHN5w0
数年前ならスマホだろ?
携帯電話=スマホ
10年前ならi-modeなどだろ?
2024/11/28(木) 06:59:00.90ID:LtNI1WyS0
まぁ、携帯電話ってスマホも含むもんな
2024/11/28(木) 09:14:23.11ID:uPmWApFop
最初に大量にヒープ取ってメモリー管理を自前でやる
2024/11/28(木) 09:34:29.98ID:eutxUc2b0
C#ってWindows Phoneの中核言語に据えて全世界30億人が使う予定だったけど
撤退したせいで何もかもが半端な存在になっちゃったな
特にライブラリ・フレームワークの取っ散らかり方がひどい
2024/11/28(木) 09:47:41.85ID:MV0zaiYm0
GCを停止ってできないっけ?
2024/11/28(木) 10:05:26.48ID:wArzfhTM0
一時的にGCを抑制する仕組みはあるけど、ずっと止めるのは無理
2024/11/28(木) 12:00:14.92ID:uGsutY3k0
spanってヒープで使えないんだっけ?
使えれば、GC走るのは無視できそう
842デフォルトの名無しさん (ワッチョイ ff95-zS0G)
垢版 |
2024/11/28(木) 15:25:41.86ID:CkB3E3s60
>>841
spanはヒープスタック任意のメモリを指せるが、span自体の領域はスタックに確保する必要がある
よってasync関数の引数やクラスのフィールドには使えない

memortはスタックヒープどっちにも置けるが、指せるのはヒープだけ(スタックのがライフタイムが短いため)
2024/11/28(木) 16:26:36.56ID:0Rtkkd450
unsafeは使えない?
2024/11/28(木) 16:37:47.84ID:cfBZo9cap
構造体固定長配列
2024/11/28(木) 16:39:03.06ID:cfBZo9cap
捕まえたものは絶対手放さない
2024/11/28(木) 18:25:15.73ID:PIh8QaIU0
無駄な空間だらけになりそやな
まぁ今のメモリー空間自体無駄が多いか
2024/12/01(日) 11:13:11.73ID:yUOzmHmkd
生成AIが正解を出し渋って3日ぐらい話し込んでやっと教えてくれた
もう人間をおちょくる術を学習したみたいだわ
2024/12/01(日) 12:31:00.27ID:WhLzD2Tg0
そらそんなもん使って正解がーとか言ってるようなのおちょくられて当たり前よ
2024/12/02(月) 01:35:01.10ID:FUoJr7Si0
最近何度質問しても非推奨のAPI提示されたりするので、これ楽になってるのかなと自問自答したりすることがある
2024/12/02(月) 08:45:30.66ID:Z7UX6I8F0
ttps://pbs.twimg.com/media/Gc0l8jabsAAAau0.jpg
2024/12/02(月) 09:58:57.40ID:cKcAe5N2p
>>849
まあ、AIに情報元が古いかなんて分からないからなぁ
852デフォルトの名無しさん (ワッチョイ 5fd3-3+Vr)
垢版 |
2024/12/04(水) 15:30:08.60ID:u7vbPpyh0
非推奨は要らないってちゃんと書かないと
2024/12/04(水) 17:59:28.27ID:LKWC8ZOe0
C#ってPHPみたいにバージョンアップごとに非推奨増えたり使えなくなったりってあんまないよね
下位互換が増えてどうにもならなくなることある?
854デフォルトの名無しさん (ワッチョイ b049-p8ju)
垢版 |
2024/12/04(水) 18:30:18.90ID:pRYneokD0
>>853
C#ってPHPみたいにバージョンアップごとに非推奨増えたり使えなくなったりってあんまないですよ
下位互換が増えてどうにもならなくなることないよ
2024/12/04(水) 19:05:24.24ID:2ucjdnMM0
>>850
え?

なんでデバッグ増えるの?
2024/12/04(水) 19:29:45.67ID:NXSkMQci0
そら自分で作ったもんじゃないんだからデバッグ増えるだろバカなの
2024/12/04(水) 19:32:47.59ID:h9p+zhnx0
AI がプログラムを書く場合はメンテナンスの重要度を低く扱うからじゃない?
メンテナンス性は後からコードを修正する際に必要な要素なので、問題が生じたときに全部組みなおしても5分で済むのなら無視してもいいかもしれないし。
メンテナンス性を考慮したとしても AI と会話するときみたいな違和感が付きまとうだろうし。
2024/12/04(水) 20:04:20.43ID:J6j26JG7M
AIは条件網羅したコードを出さないことがある
それとプログラマはコーディング中に仕様の抜けやロジック上のミスを発見するけどAIには無理
2024/12/05(木) 12:01:24.14ID:BvdDuGAN0
そりゃプロンプト次第だな
仕様の抜けがあると思われるときは指摘しろと指示すれば結構いける
言えばわかるだけそこらの専門卒よりよほど優秀だ
2024/12/05(木) 13:22:47.75ID:s/VWQ+QW0
>>859
まあ、使う人の能力次第だね

あと、今後も進化するだろうし
2024/12/05(木) 16:52:02.05ID:G+T5dBz60
バージョンによる違いを考慮しなかったり、下手すると種類は同じだけど異なるライブラリの関数を拾って来たりするからなぁ
それでも十分参考になるけども
あとCopilotとGeminiで性格が違うのも面白い
2024/12/05(木) 17:02:34.95ID:s/VWQ+QW0
>>861
まあ、
無能プログラマーよりマシかもね…
2024/12/05(木) 17:54:15.05ID:o2uV64cyM
ChatGPTは言えばわからないおバカさん

ミスを指摘してもまた同じコードを返すことがある
ミスを徐々に指摘するといつの間にかまたミスが入り込む
2024/12/05(木) 20:30:00.83ID:SuwMogjA0
ある意味とても人間っぽいな。
865デフォルトの名無しさん (ワッチョイ 224b-X9QH)
垢版 |
2024/12/07(土) 16:55:23.59ID:PrlSWlXr0
マイク入力をリアルタイムでスピーカーに出力したいんだがどうすりゃいいかね
Windowsの機能でマイクを聴くってのがあるけどそれと同じことをC#でやりたい
これだとマイクを聴くに比べて徐々に遅れていく
var f = new MMDeviceEnumerator().EnumerateAudioEndPoints(DataFlow.Capture, DeviceState.Active);

var waveIn = new WaveInEvent() { DeviceNumber = 2 };
wavProvider = new WaveInProvider(waveIn);

var mmDevice = new MMDeviceEnumerator().GetDefaultAudioEndpoint(DataFlow.Render, Role.Multimedia);
wavPlayer = new WasapiOut(mmDevice, AudioClientShareMode.Shared, false, 0);
wavPlayer.Volume = trackBar1.Value / (float)trackBar1.Maximum;
wavPlayer.Init(new VolumeWaveProvider16(wavProvider));
wavPlayer.Play();

waveIn.StartRecording();
2024/12/08(日) 10:54:52.12ID:BlktZer40
>>865
マイクとスピーカーをアンプ経由で繋ぐ
2024/12/08(日) 17:06:36.35ID:gDGRR2/m0
AIは鏡
868デフォルトの名無しさん (ワッチョイ df4b-lhhN)
垢版 |
2024/12/08(日) 18:38:49.12ID:M/coJyRO0
>>866
ミキサーに出力したいんでね
2024/12/08(日) 18:47:47.18ID:d7OE/SEZ0
そういうのってOSのAPIに送られてくる時点でもう遅いんだわ
リアルタイムならパススルードライバを作るか探してくる必要があるんじゃないの
870デフォルトの名無しさん (ワッチョイ df4b-lhhN)
垢版 |
2024/12/08(日) 20:20:16.52ID:M/coJyRO0
定期的にFlushで解決したわ
多少の遅れは問題なくて徐々に遅れが長くなるのが問題なんでね
2024/12/08(日) 23:10:07.03ID:0JPGOYpO0
なぜか理由を後出しするクズ
なんでね
2024/12/09(月) 01:13:15.18ID:AoStJL150
知恵遅れは質問も下手
2024/12/09(月) 05:42:49.44ID:GHB6/XXyd
ネットはもうリアルだよ
君らリアルでもそんな事平気で人に言ってるの?
874デフォルトの名無しさん (ワッチョイ 8730-8W9G)
垢版 |
2024/12/09(月) 05:51:18.24ID:wYNyoQwl0
それはないネット番長だから
875デフォルトの名無しさん (ワッチョイ fe84-9KYK)
垢版 |
2025/01/17(金) 22:12:41.15ID:vC4u56dQ0
dllとWinFormsのプロセス間通信したいのに名前付きパイプで簡単なサンプルをChatGPT、Gemini、Claudどれでやってもまったく通信できん!

こいつらにいろいろ聞いてそれぞれなんで間違ってるのか聞いてもぜんぜん通信できん!
昨日と今日ずっとこいつらに聞いてるんだよ

もういやになる
2025/01/18(土) 06:30:27.44ID:04pFIoXI0
ネットの資料見てやることもできずに生成AIに頼るような輩にできることではない
877デフォルトの名無しさん (ワッチョイ 7a53-TRKB)
垢版 |
2025/01/18(土) 06:49:02.31ID:iOeEhf+m0
ネットの資料は正誤があるからそれらを概ね見極めたのがAIだと思うが?
いずれも読解力がなければ駄目だ
2025/01/18(土) 08:16:40.63ID:XKxoLP5O0
AIも間違ったコードを普通に出力するぞ?
879デフォルトの名無しさん (ワッチョイ 7a53-TRKB)
垢版 |
2025/01/18(土) 09:06:43.05ID:iOeEhf+m0
>>878
たからぁ概ねと書いたじゃん?
880デフォルトの名無しさん (アウアウウー Sa91-HZB4)
垢版 |
2025/01/18(土) 11:59:58.70ID:7Jaib8zoa
AIに正誤を見極める力は無い
ネットの情報を適当にコピペして
もっともらしい会話してる人工無能レベル
平気で間違うし自信もって答えるから性質が悪い
2025/01/18(土) 12:05:09.07ID:J08wIrH9M
ここで聞けば答えは出るよ
AIより正しいかどうかは不明だけど
2025/01/18(土) 13:33:02.99ID:04pFIoXI0
>>879
逃げ道作ってみっともねぇなw
2025/01/18(土) 14:16:14.14ID:CTlmYVce0
そもそも、dllってプロセスじゃないし。
dllとプロセス間通信って段階で意味不明なんだが

意味不明な質問にそれっぽい答え返すAIは良いのか悪いのか
2025/01/18(土) 14:27:38.37ID:7E9dQxGN0
そこでDLL Injectionのソースを吐き出して来たら評価するw
885デフォルトの名無しさん (ワッチョイ a93d-9KYK)
垢版 |
2025/01/18(土) 14:31:39.51ID:cxzb7ykI0
875だけどClaudが共有メモリでのプロセス間通信でやったら?とアドバイスとコードを示してそれをGeminiに添削させてやっとできたよ

名前付きパイプはWinForms側でパイプサーバーがすぐに停止されてしまってよくわからず

イベント駆動でDLL内にイベントハンドラを生成してWinFormsで購読する方法はなかなか購読できずダメだった
2025/01/18(土) 14:48:48.23ID:J08wIrH9M
そもそもが何のプログラムなのかが不明だから

C++で書かれたアプリのDLLプラグインとC#のサーバ間のプロセス間通信とかそんな感じだろうか
2025/01/18(土) 16:04:15.92ID:cxzb7ykI0
C++アプリがDLL読み込めるようになっていてそのアプリからデータをWinFormsに流したかったってこと
単にアプリ間でデータを渡したいだけなのにいろいろ面倒なんだなって思った
2025/01/18(土) 18:03:24.71ID:J08wIrH9M
何かの病気なのか?
2025/01/18(土) 18:07:54.24ID:Ojz+5Dwq0
自分が病気だと気づかず他人が病気と思い込む奴っているよな
890デフォルトの名無しさん (ワッチョイ 9581-147x)
垢版 |
2025/01/18(土) 20:15:32.30ID:ZIGRjNp60
>>887
境界知能なのか?
2025/01/18(土) 20:16:29.06ID:SKgV7K5U0
皮肉言いたいのはわかるけど
もっとブーメランにならない表現にすればいいものを、といつも思う
2025/01/18(土) 20:22:30.41ID:J08wIrH9M
コミュニケーション能力に難があるのだけははっきりとわかる
2025/01/18(土) 20:27:10.22ID:nN020jd00
>>887
コードがないから何とも言えないけど、たぶん単純に実装が間違ってるだけだと思う
2025/01/18(土) 21:02:48.61ID:J08wIrH9M
自分の問題がうまくいかないからと言って特に詳細について語らず入門者コミュニティーに来て愚痴を言う
そして見た人間を不愉快にさせて楽しむ
自分に関わった人間を不幸にして喜ぶ

幼稚で良くない行動だよ
2025/01/18(土) 23:26:49.31ID:ZREBf0IK0
>>894
お前みたいな老害雅一番面倒なんだよ
ネチネチとうるせえんだわ
スレの1を読んでから書き込め
まあ読めたらの話だが
2025/01/19(日) 00:35:58.19ID:IALgBqxE0
プロセス間通信はプラットフォームを問わないソケットで設計した方がいいよ
パフォーマンスが重要でPCを跨がないなら匿名パイプが使い易い
それと共有メモリは原始的な同期処理が別途必要だからその辺もAIに聞いといた方がいいよ
2025/01/19(日) 02:37:56.24ID:9/Z57kyd0
私もソケットでやるかな
名前付きパイプってわざわざ新規プログラムで選ぶことないわ
2025/01/19(日) 06:32:36.54ID:ugzsMDEi0
>>887=889=895
自分の拙さを棚に上げて、IDコロコロして自演擁護はダサい
2025/01/19(日) 08:57:04.70ID:Q2C+nQ4y0
ここは初心者スレで下らない質問低レベルな質問でもいいスレなんだよ
理解できないなら出ていけばいい
2025/01/19(日) 09:35:54.93ID:9ZaKfB7aM
そもそもがそいつは質問してない
自分がイライラしたという嫌な体験を書きに来ただけだろ?
2025/01/19(日) 09:40:34.23ID:9ZaKfB7aM
質問は書いてない
> 「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
に当てはまらない

自分が憶測で内容を書くとそれを見なかったことにして
同じ内容を書いて来る
当てられたのが気に食わないんだろう

幼稚すぎる
2025/01/19(日) 10:01:28.91ID:Q2C+nQ4y0
初心者がchatGPTやgeminiに質問してうまくいかなかったけど結果的に解決して質問待ちしていたジジイたちがスルーされてイライラw
2025/01/19(日) 10:13:23.60ID:9ZaKfB7aM
自分が状況読めないで >>899 みたいな勘違いレスしてて
それが判ったらくだらない煽りレスしてくる人間がいます

と言う状況です
2025/01/19(日) 10:18:01.62ID:Q2C+nQ4y0
ジジイたちがAIに取って代わられたといういい事例になったな
まあ寂しいのはわかるけどメソメソすんな
2025/01/19(日) 10:22:49.97ID:9ZaKfB7aM
> 理解できないなら出ていけばいい

勘違いしてここまでかいちゃったから恥ずかしいのかな?
2025/01/19(日) 10:33:41.35ID:ugzsMDEi0
ブーメラン刺さって辛いんでしょきっとw >理解できないなら出ていけばいい
2025/01/19(日) 10:42:03.45ID:Q2C+nQ4y0
恥ずかしいとか辛いとか掲示板でそんな感情出るのか?
アンタら年寄りが血圧上がってることに心配してやってるんだよ
冬だから血管大切にしなさい
908デフォルトの名無しさん (ワッチョイ 03b8-fJ3P)
垢版 |
2025/01/19(日) 10:54:13.59ID:44cEK1wd0
笑うな初心者ばっかりだからなぁ
2025/01/19(日) 12:07:08.01ID:m9nx1hIg0
アホな書き込みしちゃったからって必死過ぎだろw
2025/01/19(日) 12:21:51.91ID:ystGmr/H0
>お前みたいな老害雅一番面倒なんだよ
>ジジイたちがスルーされてイライラw
>アンタら年寄りが血圧上がってることに心配してやってるんだよ

これは恥ずかしいw
100%自分のことじゃん
>>875を見れば一目瞭然
911デフォルトの名無しさん (ワッチョイ ffb7-21aq)
垢版 |
2025/01/19(日) 12:56:33.29ID:xvplCwC20
WIndowsのパイプなんて、知ってる人あんまいねえだろう
2025/01/19(日) 15:30:02.05ID:URsD3mvT0
MAILSLOTと同じぐらいには使われないな
2025/01/19(日) 15:42:17.57ID:w2t4Zrxp0
名前付きパイプ、結構使ってるけどな。
socketと違ってポートを開けなくていいし。

Linux開発ではsocketを使いまくってる。
2025/01/19(日) 22:38:17.71ID:URsD3mvT0
WindowsもUNIX SOCKET使えるようになったのを知らない?😱
2025/01/19(日) 22:51:23.05ID:w2t4Zrxp0
前世紀から知ってるけど?
916デフォルトの名無しさん (ワッチョイ ff9a-21aq)
垢版 |
2025/01/20(月) 04:44:35.18ID:MJ/AeiBg0
あるかどうかを知ってるかのレベルの人間と、実際に使って結構違うと思ってる人間と、相当な差があるだろうな
2025/01/20(月) 08:39:46.90ID:NbX5YcxAM
前世紀には実装されてないな。

釣宣言にマジレスカッコ悪い❤
918デフォルトの名無しさん (アウアウウー Saa7-C2Lh)
垢版 |
2025/01/20(月) 13:34:29.49ID:G+ryJ45Ga
WinSock2があるということはWinSock(無印)かWinSock1があったということかな
2025/01/20(月) 22:56:37.11ID:FRLVe9xN0
Chameleonとかがそうだね~
920デフォルトの名無しさん (アウアウウー Saa7-C2Lh)
垢版 |
2025/01/21(火) 08:32:52.81ID:yRL5l1cZa
あれがそうなんか
2025/01/21(火) 09:57:02.93ID:leJPG7vFM
Creamlemon?
922デフォルトの名無しさん (ワッチョイ 337b-2JEj)
垢版 |
2025/01/21(火) 10:51:39.95ID:1I1icUr60
亜美飛んじゃう
2025/01/21(火) 10:54:57.10ID:1m/IUWna0
>>914
C#の場合UNIXドメインソケットのためだけにNET5以降に限定するのは馬鹿げてるから
pinvokeで使う事になるね
2025/01/21(火) 17:13:29.68ID:QUnOoTqO0
>>918
winsock zero
winsock return
winsock reborn
2025/01/22(水) 18:26:18.47ID:0O95Qohn0
WinSock2の本まだもってるわ…
2025/01/22(水) 21:24:34.94ID:MIf/sAJr0
C#使うのにwinsockとかww
2025/01/23(木) 06:57:25.61ID:juwbDZ3u0
WindowsでSystem.Net.Sockets.Socketがwinsockじゃないと思ってる?
2025/01/23(木) 09:02:55.86ID:OQt5VYXf0
生で使う必要無いだろw
2025/01/23(木) 09:04:13.27ID:kfksRUHC0
生で使わなくとも理解はしといた方が良いぞ
2025/01/23(木) 09:34:15.00ID:OQt5VYXf0
カプセル化されてるものをいちいち中身の動きまで知りたく無いw
2025/01/24(金) 00:30:56.25ID:v06s0zgG0
そうだな、.netの全dllはアセンブラレベルで確認すべきだな
2025/01/24(金) 09:58:39.09ID:PxgZMw2N0
.NETのdllファイルはアセンブラではないが
2025/01/28(火) 10:29:27.90ID:q8xQ82Vup
マシン語だなw
2025/01/28(火) 11:48:46.29ID:OP/rUwOja
生の方が気持ちいいんだけど後が怖いからな
935デフォルトの名無しさん (ワッチョイ 5feb-mxMC)
垢版 |
2025/01/28(火) 14:07:31.05ID:+55qGrkc0
>>933
ILだけど?Javaと同じ
2025/01/28(火) 14:16:47.75ID:OP/rUwOja
>>935
ILも最終的にはアセンブラレベルに落ちて実行されてる。ILなんてc#と変わらないじゃん。そこで見るの止めてもなんの意味もない
2025/01/28(火) 15:27:34.67ID:0NldUbHb0
基地 vs 基地の不毛なキチキチ合戦スレ
2025/01/28(火) 16:52:08.34ID:ZY1xpaUG0
元の話が見えないアウアウ君w
2025/01/28(火) 17:03:27.17ID:B5BP0B6K0
マシン語なんて甘え
俺クラスになるとハードウェアの電子の動きぐらいまで把握する
940デフォルトの名無しさん (ワッチョイ db49-wGhS)
垢版 |
2025/01/28(火) 17:20:05.18ID:m3lC4nL/0
電子の動きなんて甘え
俺クラスになると量子力学的な電子の存在確率の概念まで把握する
2025/01/28(火) 18:09:19.54ID:VBw8QKYPp
>>940
まあ、1か0かなんて確率論的な分布でしか無いのは確かだけどさぁ
942デフォルトの名無しさん (ワッチョイ 5a4b-QkE2)
垢版 |
2025/02/01(土) 08:30:36.21ID:4kSN6ZeX0
複数クライアントにデータを送信するUDPサーバーを作っているのですが動作に不明点があります。
https://ideone.com/6MTfO2

コードでは二つのスレッドのうち片方でクライアント検知、もう片方で検知されたすべてのクライアントにデータを定期送信しています。
これで1つ目のクライアント、2つ目のクライアント、、と順にクライアントから何かしらの送信をするとそれぞれのクライアントにデータが飛んでくるようになります。
ただ、いずれかのクライアントを閉じると、サーバー側のクライアント検知のためのReceiveの待機部分で以下のようなエラーが発生するようになり待機されなくなってしまいます。
UDPは一方的にデータを投げるだけなのでクライアントを閉じたところでサーバー側には影響はないと思っていたのですがなぜこのようになるのでしょうか。
同じサーバーも複数クライアントもマシン内で動作させていることが関係するのでしょうか。
https://i.imgur.com/N6oLDqF.png
2025/02/01(土) 08:40:26.08ID:4kSN6ZeX0
同じ〜マシン内 → 〜同じマシン内 です。
一応ですが環境は.NET8.0です。
2025/02/01(土) 09:04:51.96ID:37vz3mLh0
クライアント側のコードも貼りなよ
2025/02/01(土) 11:11:36.44ID:dQW8A9nv0
クラ側のコードは関係ない
ちょっとググったらWindows環境の場合はWin32APIから例外出さないように内部のWinSockオブジェクトにアプローチ書けないとダメっぽいな
なので手っ取り早く安全に行きたいなら65行目のforeach中に一つ一つtry-catchいれて例外の型がSocketExceptionで且つコード10054の場合はClientsリストから削除していくのがいい
その場合はforeachだとその中で削除できないから逆順forでRemoveAtすればいい
2025/02/01(土) 11:19:07.25ID:37vz3mLh0
いやまあそれを確認するためにまずは再現できるコードを貼れって言ってんだが
お前の先走りでそれもできなくなったかもしれないが
2025/02/01(土) 11:27:36.70ID:pNyJBYQvM
pub/subがやりたいだけならMQTTみたいなメッセージングプロトコル使えばいいんじゃないの
勉強なら止めないが
2025/02/01(土) 11:43:18.07ID:LNgv56j/0
尋ねられてる問題とは全然関係ねぇけど
クライアント検知のOK返送とデータ定期送信のタイミング同期取って無くてえぇんか?
2025/02/01(土) 11:46:59.69ID:LNgv56j/0
同期取るっつーか、Clients.Addするタイミングって言った方がいいか
950デフォルトの名無しさん (ワッチョイ 5a4b-QkE2)
垢版 |
2025/02/01(土) 12:07:19.60ID:4kSN6ZeX0
すみません、クライアントはこれです
https://www.vector.co.jp/soft/dl/winnt/net/se506180.html

>>945
Sendの部分では例外は発生しないんですよね…
例外が発生するのはReceiveのほうです
2025/02/01(土) 13:18:54.72ID:m26c//aC0
これ?stackoverflow.com/a/7478498
952デフォルトの名無しさん (ワッチョイ 5a4b-QkE2)
垢版 |
2025/02/01(土) 14:33:58.55ID:4kSN6ZeX0
Send時に相手が閉じているとICMPパケットが返るので相手が閉じたことがサーバー側で認識されてReceive時にエラーで返すようになってしまうので、特殊な設定でICMPパケットは無視するようにするということですね…
これで動くようになりました、ありがとうございます!
2025/02/04(火) 02:13:39.41ID:RZu1A42I0
神がいる
いや
神を超えた神がいる
2025/02/07(金) 18:04:03.84ID:prMQrKbT0
visual studioでソリューションをgitで管理していて、ソリューションを右クリックして例えばテストプロジェクトとか追加します
でこのプロジェクトを書いて、追加したプロジェクトをコミットやプッシュしようとしてgit変更を開いてもそのテストプロジェクトがgitの対象になっていないんです。
どうすればいいんでしょうか
2025/02/07(金) 18:39:38.58ID:wGzb9z6Q0
多分だけどフォルダ構成に問題があるのでは?
Git管理対象のフォルダの下に各プロジェクトのフォルダが含まれなければならない。

あるべき形
- Hoge/
- .git/
- Hoge.sln
- Hoge/
- Hoge.csproj
- HogeTest/
- HogeTest.csproj

不適切な例
- Hoge/
- .git/
- Hoge.sln
- Hoge.csproj
- HogeTest/ # Gitの対象外
- HogeTest.csproj
2025/02/07(金) 19:40:55.91ID:prMQrKbT0
あーなるほど、最初にソリューションとプロジェクトを同じフォルダに配置するのチェックボックスを外さないといけなかったんですね
hoge.csprojがslnと同じフォルダに入っちゃって不適切な例の形になる

あれ、そうすると一度作っちゃったら修正効かないのか作り直しか……
2025/02/07(金) 20:13:51.40ID:prMQrKbT0
できた……ありがとうございました。
誰か同じようなミスをしたときのために書いておきます。
.git/と同じ階層にあたらしくHogeフォルダを作って、hoge.csprojをそこに移動。
それでslnをひらくとHogeプロジェクトがねぇよって言われるからvisualstudioでhogeを削除。それで既存のプロジェクトを追加でさっき移動したcsprojを追加すればオッケー
あとはテストプロジェクトを追加するときも.git/と同じ階層にする。

何時間もかかったのに解決策がわかってみれば単純な話だよ……
958デフォルトの名無しさん (アウアウエー Sabf-J/8e)
垢版 |
2025/02/08(土) 12:00:23.54ID:+3qBIV3va
C#はCより速いωωω=2πf
2025/02/10(月) 11:57:56.86ID:5nUxeaay0
https://agree.5ch.net/test/read.cgi/operate/1730416546/

https://agree.5ch.net/test/read.cgi/operate/1724143380/
960デフォルトの名無しさん (ワッチョイ e5c7-a1aX)
垢版 |
2025/02/18(火) 09:02:29.76ID:j/Ngy8Tp0
Winformsなんだけど
非同期の初期化処理をawaitで呼び出したい時ってコンストラクタasyncにできないけどどうするのがベスト?

FormLoadでやる
Formを返すCreateForm()的なものを作る

なんかモヤっとするんだけど他にいい方法あったら教えてください
2025/02/18(火) 09:19:19.73ID:mekUXLb1M
UI的にはとりあえず画面出して頑張ってまーす表示でもしたほうがいいんじゃね?
何分かかるのかしらんけど
2025/02/18(火) 11:03:24.07ID:WqZtGUNA0
コンストラクタに、非同期にしなきゃいけないような処理時間の読めない処理書いたらあかん
2025/02/18(火) 11:03:48.66ID:WqZtGUNA0
フォームのコンストラクタに、だった
964デフォルトの名無しさん (ワッチョイ e535-a1aX)
垢版 |
2025/02/18(火) 13:35:36.79ID:j/Ngy8Tp0
>>963
使いたい外部コントロールの初期化処理が非同期しかないのでどうしようもないのですよ
2025/02/18(火) 13:40:42.42ID:EOZTpUGhp
初期化処理じゃ無くて、新たにイニシャル処理を書いて、適当なタイミングで非同期待ちすりゃいいんだよ
966デフォルトの名無しさん (ワッチョイ b522-nwfw)
垢版 |
2025/02/18(火) 18:42:55.90ID:lFymebEC0
Loadedイベントなりで遅延初期化すればいいだけ

async voidでawaitしてエラーハンドリングは中で行う
967デフォルトの名無しさん (ワッチョイ b522-nwfw)
垢版 |
2025/02/18(火) 18:43:41.45ID:lFymebEC0
コンストラクタに副作用のある操作を書くのはNG
テストもしづらくなる
2025/02/19(水) 11:30:43.17ID:WA7OixNvM
async awaitはただのシンタックスシュガーなのでTaskそのまんま使ってwaitしたらよいけど
対象が外部コントロールなのはお作法的にはよくないね
2025/02/19(水) 11:46:36.96ID:w6OGH7sR0
そもそもコントロールの初期化を全部コンストラクタでやらなきゃいけないわけじゃないしな
970デフォルトの名無しさん (ワッチョイ e5d0-a1aX)
垢版 |
2025/02/19(水) 12:17:04.45ID:3B96FmgC0
イベントとかでやらない限りは結局どこでやっても呼び出し元を遡ってコンストラクタまでasyncが連鎖しない?
971デフォルトの名無しさん (ワッチョイ b522-nwfw)
垢版 |
2025/02/19(水) 12:20:19.78ID:DrShOcOZ0
>>970
イベントハンドラではasync void使ってやればいいんだぞ
ただエラーハンドリングはその中で行う
2025/02/19(水) 12:47:35.71ID:sDswMLTyM
自分はCreateFormでもモヤッとしないな
2025/02/19(水) 14:32:26.09ID:mGrw3aeq0
awaitは「あっ待って」で覚えた
オススメ
2025/02/19(水) 14:35:52.58ID:WpIlRpZyp
せっかくのタスク化を同期待ちしちまったら旨みが無いよなぁ
2025/02/19(水) 15:09:50.72ID:ttPeeOLl0
UIが固まらないってメリットはある
2025/02/19(水) 17:48:47.36ID:WA7OixNvM
初期化が終わってないのに使えても困ると思うよ
977デフォルトの名無しさん (ワッチョイ b522-nwfw)
垢版 |
2025/02/19(水) 18:31:01.47ID:DrShOcOZ0
>>974
awaitは同期待ちじゃないけど?
2025/02/19(水) 18:33:18.52ID:WA7OixNvM
TaskをWaitすることでしょ?
2025/02/19(水) 19:52:24.76ID:U6FgMrZU0
アホは黙ってドキュメント読みながら勉強してろ
2025/02/19(水) 20:10:30.40ID:k2nIe6Je0
ドキュメント読みながら勉強できる人はここには来ない
2025/02/19(水) 20:12:25.23ID:WA7OixNvM
ドコモ間違ってないのに突っかかってくる方がおかしい
982デフォルトの名無しさん (ワッチョイ b522-nwfw)
垢版 |
2025/02/19(水) 20:39:33.83ID:DrShOcOZ0
>>978
Waitはスレッドをブロックするのでawaitとは全然違う

一から勉強し直した方がいいよ
2025/02/19(水) 20:42:30.17ID:WA7OixNvM
言葉が通じてないようなのでスルー

それは別として昔見たアプリはコンストラクタに前回接続したサーバーへの自動再接続処理が含まれていた
デザイナで開くとしばらく固まって接続エラーダイアログが出た
しかも非同期処理
2025/02/19(水) 20:46:12.23ID:WA7OixNvM
間違えた同期処理だった
2025/02/19(水) 20:57:47.26ID:8RK9cPeY0
>>982
978は968のことを言ってるんじゃないかな
986デフォルトの名無しさん (ワッチョイ b522-nwfw)
垢版 |
2025/02/19(水) 21:02:13.98ID:DrShOcOZ0
> async awaitはただのシンタックスシュガーなのでTaskそのまんま使ってwaitしたらよいけど

完全に嘘ついてるじゃん
なぜTaskが返るメソッドでasync waitを使わずにTaskでwaitするの?

async awaitはUIスレッドに返ってくるメリットもあるわけだけどTaskでこれを実現するのは非常に冗長だし完全に無意味なわけだけど

デマを広げられるのは困るね
2025/02/19(水) 21:06:35.64ID:z4KoX861p
センテンス違いだねww
2025/02/19(水) 21:07:59.09ID:8RK9cPeY0
>>986
嘘吐きなのは同意するけど、Waitするのは元がコンストラクの話だからだろう
流れを追ってレスした方がいいよ
989デフォルトの名無しさん (ワッチョイ b522-nwfw)
垢版 |
2025/02/19(水) 21:10:27.06ID:DrShOcOZ0
シンタックスシュガーだからTaskを使えってのが意味わからんのだけど?

awaitつけるだけでIDEが勝手にasync関数にしてくれるし

Task.ContinueWithを引数付きで呼び出せって言ってんの?

それてもまさかTaskに対してWait()呼んでんの?デッドロックするんだが理解してんのか?

WinFormsって言ってるからSynchronizationContextがあるからasync awaitを使うのは重要なんだが、何がただのシンタックスシュガーだよ
2025/02/19(水) 21:12:39.53ID:z4KoX861p
面倒な奴らだなぁ
単なるセンテンス違いでメソッドの話と人間の使う単語とが混同されてるだけやんけ
991デフォルトの名無しさん (ワッチョイ b522-nwfw)
垢版 |
2025/02/19(水) 21:16:22.18ID:DrShOcOZ0
> async awaitはただのシンタックスシュガーなのでTaskそのまんま使ってwaitしたらよいけど

センテンス違いも何もこれが完全にデマで間違ってるから指摘してるだけだね

コンストラクタでWaitしたらWinFormsだからUIスレッドブロックして操作不能になるけどそれを理解していってるよな?

GUIアプリでUIスレッドをブロックするのはユーザビリティの観点で最悪だから禁忌なんだが理解してんのか?
ウィンドウ移動もできなくなるし最悪ユーザが強制終了することになるぞ

Loadedイベントなりでasync voidを使ってasync/awaitを使って遅延初期化しろってベストプラクティスを伝えてるだけだね
2025/02/19(水) 21:22:19.81ID:XcW4NAYep
メソッドと英単語を上手く読み分けられない…まあ、初心者スレだから仕方ないか
993デフォルトの名無しさん (ワッチョイ b522-nwfw)
垢版 |
2025/02/19(水) 21:26:20.27ID:DrShOcOZ0
どういう解釈をしてもおかしいから文盲としか言いようがないな

コンストラクタでTask.Waitを呼び出せばいい ← GUIアプリでこれをやらないのは常識、意味がわからないアドバイス

async/awaitはTaskのシンタックスシュガーだからContinueWithを使えばいい ← ただ1つずつ待つだけでわざわざTaskを使う理由などない
2025/02/19(水) 21:29:40.44ID:HIluGhdbp
分かっててそこまで粘着してるってw
大文字と小文字をわざわざ書き分けてww
2025/02/19(水) 22:08:28.58ID:ME4LgXTt0
どっちが粘着してんだかw
2025/02/19(水) 22:10:53.33ID:U6FgMrZU0
>>980が踏み逃げしとったから次スレ建てといた

ふらっと C#,C♯,C#(初心者用) Part161
https://mevius.5ch.net/test/read.cgi/tech/1739970583/
2025/02/19(水) 22:11:59.31ID:WA7OixNvM
guiでTask.Wait()はダメだった
間違っていた
2025/02/19(水) 22:24:14.73ID:XGXKOHez0
>>996
2025/02/20(木) 06:00:00.71ID:qUsb4IK30
>>994の謝罪マダー??w

>>996
2025/02/20(木) 10:05:37.01ID:NQ9HqBflp
わざわざwaitとWaitとで書き分けてる意図w
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 375日 0時間 48分 17秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はUPLIFT会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《UPLIFT会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
4 USD/mon. から匿名でご購入いただけます。

▼ UPLIFT会員登録はこちら ▼
https://uplift.5ch.net/

▼ UPLIFTログインはこちら ▼
https://uplift.5ch.net/login
レス数が1000を超えています。これ以上書き込みはできません。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況