!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part145
https://mevius.5ch.net/test/read.cgi/tech/1570446977/
■関連スレ
C#, C♯, C#相談室 Part95
https://mevius.5ch.net/test/read.cgi/tech/1508168482/
■コードを貼る場合は↓を使いましょう。
http://ideone.com/
https://dotnetfiddle.net/
■情報源
https://docs.microsoft.com/ja-jp/dotnet/standard/class-libraries
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/index
https://docs.microsoft.com/en-us/dotnet/standard/class-libraries
http://referencesource.microsoft.com/
・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
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
ふらっと C#,C♯,C#(初心者用) Part146
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 9f0b-Fgt1)
2019/12/11(水) 22:12:11.28ID:d09CciDz046デフォルトの名無しさん (ワッチョイ e752-RobM)
2019/12/13(金) 22:38:36.62ID:M1n71JyZ0 >>45
ありがとう。週末に評価してみる。
switch より Dictionary の方が処理性能がぶれない気がする。ハッシュで検索がワンショットに決まるから。switch は if カスケードを通ることで前スレで議論したパイプライン処理の影響を受けるため、処理速度がデータに強く依存する。
そんなわけでこの件の性能はコードの書き方 (チューニング含む)、データ、環境にかなり依存すると思う。
これは価値観の問題なのでみなが同じように考えるとは思わないが、正規表現で 3 - 4 倍程度の性能悪化なら、ユーザー定義関数よりチューニングより正規表現を私は採用する。
10 倍の悪化なら用途によっては考える。(パターンが複雑・多岐の場合) 正規表現は開発効率と保守性が 10 倍よいと思うので。
ありがとう。週末に評価してみる。
switch より Dictionary の方が処理性能がぶれない気がする。ハッシュで検索がワンショットに決まるから。switch は if カスケードを通ることで前スレで議論したパイプライン処理の影響を受けるため、処理速度がデータに強く依存する。
そんなわけでこの件の性能はコードの書き方 (チューニング含む)、データ、環境にかなり依存すると思う。
これは価値観の問題なのでみなが同じように考えるとは思わないが、正規表現で 3 - 4 倍程度の性能悪化なら、ユーザー定義関数よりチューニングより正規表現を私は採用する。
10 倍の悪化なら用途によっては考える。(パターンが複雑・多岐の場合) 正規表現は開発効率と保守性が 10 倍よいと思うので。
47デフォルトの名無しさん (ワッチョイ 0663-aD55)
2019/12/13(金) 22:59:26.50ID:x4Cvv/aS0 >>46
switchとdicの関連は44が説明してくれてる
最適化次第でいい感じにしてくれるはずだからどっちもたいさない感じになると思う
個人的には性能差が10倍だろうが1000倍だろうが許容できるケースなら可読性を取る
今どき文字→数値変換でc-'0'なんて書かずに大体int.Parse使うのと同じ
UIに入力された氏名のローマ字変換みたいな1ユーザー1回で済むような処理に速度なんて無意味
GB単位のログデータをいじるなら数倍の差でも考慮すべき
なんなら入力データの傾向に応じてチューニングしやすい単純処理のほうが更に高性能にしやすい
switchとdicの関連は44が説明してくれてる
最適化次第でいい感じにしてくれるはずだからどっちもたいさない感じになると思う
個人的には性能差が10倍だろうが1000倍だろうが許容できるケースなら可読性を取る
今どき文字→数値変換でc-'0'なんて書かずに大体int.Parse使うのと同じ
UIに入力された氏名のローマ字変換みたいな1ユーザー1回で済むような処理に速度なんて無意味
GB単位のログデータをいじるなら数倍の差でも考慮すべき
なんなら入力データの傾向に応じてチューニングしやすい単純処理のほうが更に高性能にしやすい
48デフォルトの名無しさん (ワッチョイ fb68-xO71)
2019/12/13(金) 23:21:38.26ID:Lnvxq+5t0 俺なら、ひらがな小文字の変換は、変換元「ちゃ」とか「ぱっ」のパターンを文字数降順で優先的に置き換えるかな。
配列で変換パターンを保持して、それにない文字パターンは先頭から徐々に削っていく。
それなら「ぱ」と「は゜」なんかも判りやすく対応できると思うよ。
配列で変換パターンを保持して、それにない文字パターンは先頭から徐々に削っていく。
それなら「ぱ」と「は゜」なんかも判りやすく対応できると思うよ。
49デフォルトの名無しさん (ワッチョイ e752-RobM)
2019/12/13(金) 23:36:31.48ID:M1n71JyZ0 >>44, 45, 47
みんな有益な考察をしてくれるのでありがたい。感謝。
今まで正規表現が際立って遅いと体感することなかったけど、利用目的を想定した評価をきちんとしたことなかったので一連の議論はとても参考になりました。
みんな有益な考察をしてくれるのでありがたい。感謝。
今まで正規表現が際立って遅いと体感することなかったけど、利用目的を想定した評価をきちんとしたことなかったので一連の議論はとても参考になりました。
50デフォルトの名無しさん (ワッチョイ a201-VrMI)
2019/12/13(金) 23:57:37.29ID:+9OE4qBy0 オリジナルの文字列を1文字ずらしでzipして
2文字ずつ取得するイテレータでやるのがいいかなとか思ってたが
多少非効率でも↓ここの実装みたいに繰り返し変換していく方が
条件分岐が少なくて読みやすいかも
https://tools.m-bsys.com/original_tooles/romaji.php
https://tools.m-bsys.com/js/romaji.js
function hebonG(s) {
s = s.replace(/ん([aiueoy])/g, "n$1");
s = s.replace(/ん/g, "n");
s = s.replace(/n([bpm])/g, "m$1");
…
var hebonGMap = {
"kuぁ": "kua", "kuぃ": "kui", "kuぇ": "kue", "kuぉ": "kuo",
…
}
…
s = s.replace(/っch/g, "tch");
s = s.replace(/っ([kstnhmyrwgzdbp])/g, "$1$1");
2文字ずつ取得するイテレータでやるのがいいかなとか思ってたが
多少非効率でも↓ここの実装みたいに繰り返し変換していく方が
条件分岐が少なくて読みやすいかも
https://tools.m-bsys.com/original_tooles/romaji.php
https://tools.m-bsys.com/js/romaji.js
function hebonG(s) {
s = s.replace(/ん([aiueoy])/g, "n$1");
s = s.replace(/ん/g, "n");
s = s.replace(/n([bpm])/g, "m$1");
…
var hebonGMap = {
"kuぁ": "kua", "kuぃ": "kui", "kuぇ": "kue", "kuぉ": "kuo",
…
}
…
s = s.replace(/っch/g, "tch");
s = s.replace(/っ([kstnhmyrwgzdbp])/g, "$1$1");
51デフォルトの名無しさん (ワッチョイ e22c-3siJ)
2019/12/14(土) 11:11:39.02ID:8NRAnTxB052デフォルトの名無しさん (ワッチョイ e22c-3siJ)
2019/12/14(土) 11:24:37.56ID:8NRAnTxB053デフォルトの名無しさん (ワッチョイ e752-RobM)
2019/12/14(土) 16:02:25.78ID:BZ704rid0 >>51
まあね。ただ、C# の Match Evaluator 付き Regex.Replace は事前コンパイルできないと思う。
ちなみにあの後何度か測り直したのだが、switch より事前コンパイルなし正規表現は 2 倍遅かった。同等ではなかった、すまん。
45 によると Dictionary & ユーザー定義文字列操作は正規表現より 3-4 倍良かったそうだから、今回のケースでは Dictionary : switch : 事前コンパイルなし正規表現 = 3-4 : 2 : 1 くらいの性能比かと考えられる。
switch はカスケードがさらに増えると内部で Dictionary 化して最適化されるから、一般論としては 正規表現は事前コンパイルすれば switch に肉薄する、あるいは、多少超えるかもしれないが switch に Dictionary 最適化がかかったらまた離されるかもって感じではないかと。
>>52
ありがとう。Match Evaluator 正規表現でハッシュ置換するのはもう四半世紀も使っているテクだけど他で見たことなかったから、Ruby の例は参考になる。
まあね。ただ、C# の Match Evaluator 付き Regex.Replace は事前コンパイルできないと思う。
ちなみにあの後何度か測り直したのだが、switch より事前コンパイルなし正規表現は 2 倍遅かった。同等ではなかった、すまん。
45 によると Dictionary & ユーザー定義文字列操作は正規表現より 3-4 倍良かったそうだから、今回のケースでは Dictionary : switch : 事前コンパイルなし正規表現 = 3-4 : 2 : 1 くらいの性能比かと考えられる。
switch はカスケードがさらに増えると内部で Dictionary 化して最適化されるから、一般論としては 正規表現は事前コンパイルすれば switch に肉薄する、あるいは、多少超えるかもしれないが switch に Dictionary 最適化がかかったらまた離されるかもって感じではないかと。
>>52
ありがとう。Match Evaluator 正規表現でハッシュ置換するのはもう四半世紀も使っているテクだけど他で見たことなかったから、Ruby の例は参考になる。
54デフォルトの名無しさん (アウアウイー Sa1f-f14Z)
2019/12/15(日) 00:27:58.57ID:x+hGNtUDa このスレにいる人たちで
C#を日本語で記述ってのを実際にやってる人、どれくらいいるかな
https://togetter.com/li/1441951 を読んで試してみてもいいかなと思ったんだけど
VisualStudioのコード補完が利く環境ならIME切替の手間もさほどかからない気もするし
何か致命的なデメリットとかあるんだろうか
C#を日本語で記述ってのを実際にやってる人、どれくらいいるかな
https://togetter.com/li/1441951 を読んで試してみてもいいかなと思ったんだけど
VisualStudioのコード補完が利く環境ならIME切替の手間もさほどかからない気もするし
何か致命的なデメリットとかあるんだろうか
55デフォルトの名無しさん (アウアウウー Sa3b-xnB/)
2019/12/15(日) 02:49:23.51ID:SZPXyEbKa >>54
ほとんどいないのでは?w
デメリットはインテリセンスとの相性の悪さに尽きるね。
どうでもいいけど「C#を日本語で記述」の是非というより識別子に日本語を使うことの是非だよね
論より証拠、やってみたらいかに非合理な試みか分かると思うよ
ほとんどいないのでは?w
デメリットはインテリセンスとの相性の悪さに尽きるね。
どうでもいいけど「C#を日本語で記述」の是非というより識別子に日本語を使うことの是非だよね
論より証拠、やってみたらいかに非合理な試みか分かると思うよ
56デフォルトの名無しさん (ワッチョイ e22c-3siJ)
2019/12/15(日) 05:39:16.51ID:fpSJINfx0 Ruby では、RSpec(BDD)のユニットテストで、
日本語の関数名を付ける人はいるけど
まあ、テストだからね
日本語の関数名を付ける人はいるけど
まあ、テストだからね
57デフォルトの名無しさん (ワッチョイ 62ad-zBV4)
2019/12/15(日) 05:45:38.27ID:cmnyuAvp0 テストのメソッド名とかなら使っちゃうかな
58デフォルトの名無しさん (ワッチョイ e242-xO71)
2019/12/15(日) 06:17:17.09ID:6XATZvNs0 enumの要素で使うと便利
どうせ数はないからインテリセンスも問題なし
どうせ数はないからインテリセンスも問題なし
59デフォルトの名無しさん (ワッチョイ 5f01-xO71)
2019/12/15(日) 13:41:49.81ID:TLgol4W/060デフォルトの名無しさん (ワッチョイ a201-VrMI)
2019/12/15(日) 14:56:15.21ID:pFDibfNW0 補完はomnisharp + migemoで解決できる
他言語で変数名に日本語使うのはよくやってるけど扱う対象の用語が固まってる場合は便利
そうじゃない場合は結構厳格に命名ルールを決めないと逆にわかりにくくなったりする
他言語で変数名に日本語使うのはよくやってるけど扱う対象の用語が固まってる場合は便利
そうじゃない場合は結構厳格に命名ルールを決めないと逆にわかりにくくなったりする
61デフォルトの名無しさん (ワッチョイ 972d-3OBQ)
2019/12/15(日) 16:18:24.21ID:QBANyAHK0 俺が英語ができなかったり、デザインパターンの理解が足りなかったりするせいだとは思うけどさ
どうしてもファイル名=ネームスペース名=クラス名=主なメソッド名になりがちなんだわ
単一責任の原則に合わせた時、ファイル名〜メソッド名まで決める簡単な基準とかあったら教えて欲しいな
どうしてもファイル名=ネームスペース名=クラス名=主なメソッド名になりがちなんだわ
単一責任の原則に合わせた時、ファイル名〜メソッド名まで決める簡単な基準とかあったら教えて欲しいな
62デフォルトの名無しさん (ワイーワ2 FFfa-EbeN)
2019/12/15(日) 16:21:28.32ID:NIombkpjF Javaやりすぎると後遺症でそうなることがあるな
63デフォルトの名無しさん (ワッチョイ a201-VrMI)
2019/12/15(日) 16:49:35.38ID:pFDibfNW0 ファイル名=publicクラス名.csは一般的
ネームスペース名はそのクラスが属するレイヤーとかコンポーネントの名前
アーキテクチャが整理されてればあんまり迷わないと思う
クラス名=主なメソッド名は状況による
FormatterクラスにFormatメソッドがあるのは自然
Utilitiies > Formatter > Format
ネームスペース名はそのクラスが属するレイヤーとかコンポーネントの名前
アーキテクチャが整理されてればあんまり迷わないと思う
クラス名=主なメソッド名は状況による
FormatterクラスにFormatメソッドがあるのは自然
Utilitiies > Formatter > Format
64デフォルトの名無しさん (スッップ Sd02-PR0H)
2019/12/15(日) 17:58:43.69ID:LwtoOKkQd 日本語を使った感想
メリット
名称に悩まない(重要)
比較的読みやすい
デメリット
インテリセンスと相性が悪い
imeの切り替えが面倒
大文字小文字がないから名称が被りやすい
システムハンガリアン推奨
他にも何かあった気がする
メリット
名称に悩まない(重要)
比較的読みやすい
デメリット
インテリセンスと相性が悪い
imeの切り替えが面倒
大文字小文字がないから名称が被りやすい
システムハンガリアン推奨
他にも何かあった気がする
65デフォルトの名無しさん (アウアウウー Sa3b-xnB/)
2019/12/15(日) 18:23:34.11ID:yHa/r3w4a プロパティーやフィールドはいいけど、メソッドやイベントの名前は馬鹿っぽくはなるねw
66デフォルトの名無しさん (ワッチョイ 622c-b+2D)
2019/12/15(日) 18:24:56.51ID:ltDbPg3S0 プロパティはいいとしてメソッドは動詞(+名詞)の形にするの
日本語だと不自然だけどどうしてるのかな
日本語だと不自然だけどどうしてるのかな
67デフォルトの名無しさん (ワッチョイ 62ad-zBV4)
2019/12/15(日) 18:30:01.27ID:cmnyuAvp0 >>58
中点使ってるせいでC#6.0対応時にエラー吐いたプロジェクトあったわ
中点使ってるせいでC#6.0対応時にエラー吐いたプロジェクトあったわ
68デフォルトの名無しさん (アウアウカー Sac7-+v21)
2019/12/15(日) 18:49:58.62ID:yNhbn0Xna >>54
DBテーブル名/カラム名が日本語名のWindows業務システムで、
Entityクラスや画面コントロールの命名をDBそのまんまの日本語にしたら
ソースが滅茶苦茶読みやすくとても良い感じになった
以後、積極的に日本語で命名するようにしてる
自分の書き方だと、
日本語を使うのは画面項目や業務用語の名詞のみ、動詞は英語
英語とチャンポンして Update利用情報()、Is有効期限内 みたいなメソッド/ブロパティをよく作る
ローカル変数はiとかsとかtとか適当なプレフィクスをつけて無理やりcamelにする
フィールドは_始まり
とかかな
日本語で書くコメントが大幅に減らせてメリット大だと思う
デメリットは…C#関係ないけど
postgresだとテーブル名が日本語だとテーブルエクスポートが出来なくて不便、
多分ASP.NETみたいなWebシステムだと日本語名を使うのはリスク高い、
とか
DBテーブル名/カラム名が日本語名のWindows業務システムで、
Entityクラスや画面コントロールの命名をDBそのまんまの日本語にしたら
ソースが滅茶苦茶読みやすくとても良い感じになった
以後、積極的に日本語で命名するようにしてる
自分の書き方だと、
日本語を使うのは画面項目や業務用語の名詞のみ、動詞は英語
英語とチャンポンして Update利用情報()、Is有効期限内 みたいなメソッド/ブロパティをよく作る
ローカル変数はiとかsとかtとか適当なプレフィクスをつけて無理やりcamelにする
フィールドは_始まり
とかかな
日本語で書くコメントが大幅に減らせてメリット大だと思う
デメリットは…C#関係ないけど
postgresだとテーブル名が日本語だとテーブルエクスポートが出来なくて不便、
多分ASP.NETみたいなWebシステムだと日本語名を使うのはリスク高い、
とか
69デフォルトの名無しさん (アウアウエー Sa3a-aL8g)
2019/12/15(日) 20:10:28.99ID:KTmzWILYa 訳のわからん不具合踏みそう
日本語使ってると
日本語使ってると
70デフォルトの名無しさん (ワッチョイ 1b84-uKDx)
2019/12/15(日) 21:16:07.17ID:eTsOryw+0 Listについて質問なのですが
BindingList<T>にはToList()では代入できないのでしょうか?
LINQの結果をToListで代入しようと思ってたのですが
型が違うとか出るんです(自作クラスによるListです)
普通のList<T>へならできるのでBindingList固有の問題かと思います
仕方なくforeachで一つずつ代入して一応目的は達成してるんですが
LINQでforeach使わず抽出しておきながら
最後に代入でforeach使うのはバカらしいなあ・・・と思いまして
どうすれば直接LINQの結果をBindingListに入れられるのでしょう?
BindingList<T>にはToList()では代入できないのでしょうか?
LINQの結果をToListで代入しようと思ってたのですが
型が違うとか出るんです(自作クラスによるListです)
普通のList<T>へならできるのでBindingList固有の問題かと思います
仕方なくforeachで一つずつ代入して一応目的は達成してるんですが
LINQでforeach使わず抽出しておきながら
最後に代入でforeach使うのはバカらしいなあ・・・と思いまして
どうすれば直接LINQの結果をBindingListに入れられるのでしょう?
71デフォルトの名無しさん (ワッチョイ 622c-b+2D)
2019/12/15(日) 21:26:38.59ID:ltDbPg3S0 new BindingList<Hoge>(fuga.ToList())
72デフォルトの名無しさん (ワッチョイ 1b84-DoXq)
2019/12/15(日) 22:05:28.60ID:eTsOryw+073デフォルトの名無しさん (ワッチョイ 57da-boqi)
2019/12/16(月) 05:42:00.98ID:cXUrIyKd0 razor page のコーディングについてなんですが、
1ページのデータ量が多くなれば必然的にソースも長くなりますが、2000行とかになるとごちゃっとして「目に優しくない」ソースになっちゃいます。
目に優しいコーディング方法やら規約やら法則があれば教えてください。
1ページのデータ量が多くなれば必然的にソースも長くなりますが、2000行とかになるとごちゃっとして「目に優しくない」ソースになっちゃいます。
目に優しいコーディング方法やら規約やら法則があれば教えてください。
74デフォルトの名無しさん (ワッチョイ efa7-SgqX)
2019/12/16(月) 07:41:26.07ID:v/vzDWBs0 >>73
1メソッド300行以内っていう社内ローカルルール
1メソッド300行以内っていう社内ローカルルール
75デフォルトの名無しさん (ワッチョイ a201-VrMI)
2019/12/16(月) 15:28:44.50ID:+KWK+mzK076デフォルトの名無しさん (ワッチョイ c788-aD55)
2019/12/16(月) 17:57:20.50ID:I8DdFnIZ0 200も300も大差無いような…
77デフォルトの名無しさん (ワッチョイ 6bb2-5cGf)
2019/12/16(月) 20:05:28.74ID:FR/i0CTk0 やっと会社の環境がvisualstudio2010から2019になったわ、これで非同期無双できるw
78デフォルトの名無しさん (ドコグロ MM07-oPxD)
2019/12/16(月) 20:08:09.24ID:X2KrPzv7M そんな環境で2019なんか入れて大丈夫か?
アップデートで不具合引いてダウングレードさせられないように、不用意なアップデートはやめとけよ
アップデートで不具合引いてダウングレードさせられないように、不用意なアップデートはやめとけよ
79デフォルトの名無しさん (スップ Sd22-zBV4)
2019/12/16(月) 20:09:20.42ID:J5g2Edewd 2010とかサポート切れ直前やな
80デフォルトの名無しさん (アウアウイー Sa1f-f14Z)
2019/12/16(月) 21:08:24.24ID:LIM2IbDka 2010だとNuGetすら使えないんじゃ
54だけどレスありがとう>ALL
実践してる人もそこそこいるのね
テーブルやカラムを日本語で命名できるのってAccessに限らないのか・・・・
不具合の事例も知りたいけど、具体的に出てきたのは>>67くらい?
C#に閉じた範囲で使うぶんには大丈夫そうかな・・・・今度試してみるよ
54だけどレスありがとう>ALL
実践してる人もそこそこいるのね
テーブルやカラムを日本語で命名できるのってAccessに限らないのか・・・・
不具合の事例も知りたいけど、具体的に出てきたのは>>67くらい?
C#に閉じた範囲で使うぶんには大丈夫そうかな・・・・今度試してみるよ
81デフォルトの名無しさん (ワッチョイ a201-VrMI)
2019/12/16(月) 21:33:12.54ID:+KWK+mzK0 >>76
viewの行数とメソッドの行数の違い
viewの行数とメソッドの行数の違い
82デフォルトの名無しさん (ワッチョイ 5f01-rutQ)
2019/12/17(火) 09:59:27.04ID:GVP8bqm50 >>80
全角ピリオドとか&とかヤバそうに思えるのは使わないのが無難
date前月末とか昔から使ってます
昔々のACCESSで一部の通常全角文字が使えないとかありましたが、今はもう大丈夫と思ってます
将来的にトラブル可能性はゼロではないとしても、可読性のメリットのほうが遥かに大きい
例えば「要介護認定等基準時間」みたいなのを英字変数にするとかアホにもほどがある
全角ピリオドとか&とかヤバそうに思えるのは使わないのが無難
date前月末とか昔から使ってます
昔々のACCESSで一部の通常全角文字が使えないとかありましたが、今はもう大丈夫と思ってます
将来的にトラブル可能性はゼロではないとしても、可読性のメリットのほうが遥かに大きい
例えば「要介護認定等基準時間」みたいなのを英字変数にするとかアホにもほどがある
83ダーク王鍬大使 ◆SoVpkB15jY (ワッチョイ 9702-X5Um)
2019/12/17(火) 18:03:06.99ID:9VuoOKjt0 質問でふ(^^
Unityのアセットとか覗いたりするとifは使われてまふよね(^^
Switchが使われているの見たことないんでふが(^^
あれって使っちゃいけないとかってあるんでふか?(^^
ボッキング!(^^
Unityのアセットとか覗いたりするとifは使われてまふよね(^^
Switchが使われているの見たことないんでふが(^^
あれって使っちゃいけないとかってあるんでふか?(^^
ボッキング!(^^
84デフォルトの名無しさん (ワッチョイ a324-xO71)
2019/12/17(火) 18:30:01.62ID:I793zFiP0 最適化すると数行のswitch文はifに自動変換されるんじゃなかったっけ
85ダーク王鍬大使 ◆SoVpkB15jY (ワッチョイ 9702-X5Um)
2019/12/17(火) 18:39:07.95ID:9VuoOKjt0 そうだったんでふか(^^
教えていただき感謝感謝のボッキング!(^^
教えていただき感謝感謝のボッキング!(^^
86デフォルトの名無しさん (スッップ Sd02-IB+3)
2019/12/17(火) 19:40:18.25ID:vR4SZ06Rd class Hoge{
int Id
ICollection<Hoge> Hoges
}
ってクラスをEntityFramework使ってテーブルにしたんだけど無理だったりする?
Hogeテーブル(Id)と、Gehoテーブル(id、HogeId、HogeId2)後ろ二つ外部キーみたいなイメージなんだけどこういうパターンが調べても出てこない
int Id
ICollection<Hoge> Hoges
}
ってクラスをEntityFramework使ってテーブルにしたんだけど無理だったりする?
Hogeテーブル(Id)と、Gehoテーブル(id、HogeId、HogeId2)後ろ二つ外部キーみたいなイメージなんだけどこういうパターンが調べても出てこない
87デフォルトの名無しさん (スプッッ Sd22-IB+3)
2019/12/18(水) 15:34:43.72ID:bmnVQ6Qnd >>86
この構成じゃ出来ないことが分かったので質問を取り下げます
この構成じゃ出来ないことが分かったので質問を取り下げます
88デフォルトの名無しさん (オイコラミネオ MMab-7F0B)
2019/12/19(木) 01:57:08.71ID:Ty/KdhcjM webview使ってブラウザ操作してるんですけど、相手がASP使ったサイトだとボタン押したりテキストボックスに文字入れたりって操作は無理ですかね?
89デフォルトの名無しさん (ワッチョイ 17da-UiIE)
2019/12/19(木) 12:09:36.23ID:WCM9NoNV0 jsonファイルを読んで、木構造を編集して、jsonファイルに出力する
ファイルの入出力はJson.NETを使用
この場合内部のデータ構造はどう持つのがいいでしょうか?
Json.NETのJTokenを使うか、自作するか考えてますが、
標準的な手法は有りますか?
ファイルの入出力はJson.NETを使用
この場合内部のデータ構造はどう持つのがいいでしょうか?
Json.NETのJTokenを使うか、自作するか考えてますが、
標準的な手法は有りますか?
90デフォルトの名無しさん (ドコグロ MMdf-On3P)
2019/12/19(木) 12:13:14.10ID:+iaW+uMUM ちゃんと型を付けてデシリアライズ→加工→シリアライズする
型を付けるまでもないアドホックな処理ならそもそもC#なんか使わずに他のスクリプト言語を使う
型を付けるまでもないアドホックな処理ならそもそもC#なんか使わずに他のスクリプト言語を使う
91デフォルトの名無しさん (ワッチョイ d75f-r9Jq)
2019/12/19(木) 18:39:36.79ID:IsJpyVgV0 質問なのですが
エンティクラスを配列に入れて使うようなことはできないでしょうか?
数が多いのでループでコードをすっきりさせたいです。
こんな感じなのを
public class test()
{
using (var context = new MyContext(connection))
{
var datalist1 = context.MyEntities1.ToList();
〜
var datalist100 = context.MyEntities100.ToList();
}
//以下 共通処理
}
こんな感じで使いたい
string[] MyEntitiesList = new string[100];
MyEntitiesList[0] = "MyEntities1";
MyEntitiesList[1] = "MyEntities2";
〜
MyEntitiesList[99] = "MyEntities100";
for(var i =0;i<100;i++)
{
var datalist1 = context.MyEntitiesList[i].ToList();
}
エンティクラスを配列に入れて使うようなことはできないでしょうか?
数が多いのでループでコードをすっきりさせたいです。
こんな感じなのを
public class test()
{
using (var context = new MyContext(connection))
{
var datalist1 = context.MyEntities1.ToList();
〜
var datalist100 = context.MyEntities100.ToList();
}
//以下 共通処理
}
こんな感じで使いたい
string[] MyEntitiesList = new string[100];
MyEntitiesList[0] = "MyEntities1";
MyEntitiesList[1] = "MyEntities2";
〜
MyEntitiesList[99] = "MyEntities100";
for(var i =0;i<100;i++)
{
var datalist1 = context.MyEntitiesList[i].ToList();
}
92デフォルトの名無しさん (エムゾネ FFbf-hPjh)
2019/12/19(木) 19:11:55.40ID:aq+5Nz0cF var datalist1 =
上書きで良いなら最後のだけ入れろ
上書きで良いなら最後のだけ入れろ
93デフォルトの名無しさん (ワッチョイ d75f-r9Jq)
2019/12/19(木) 19:54:28.09ID:IsJpyVgV0 >>92
すまないよくわからないのでもう少し説明をお願いしたい
>>91
こんな感じで使いたいを修正してみました。
string[] MyList = new string[100];
MyList[0] = "MyEntities1";
MyList[1] = "MyEntities2";
〜
MyList[99] = "MyEntities100";
public class test(int i)
{
for(var i =0;i<100;i++)
{
using (var context = new MyContext(connection))
{
var datalist1 = context.MyList[i].ToList();
//以下 共通処理
}
}
}
すまないよくわからないのでもう少し説明をお願いしたい
>>91
こんな感じで使いたいを修正してみました。
string[] MyList = new string[100];
MyList[0] = "MyEntities1";
MyList[1] = "MyEntities2";
〜
MyList[99] = "MyEntities100";
public class test(int i)
{
for(var i =0;i<100;i++)
{
using (var context = new MyContext(connection))
{
var datalist1 = context.MyList[i].ToList();
//以下 共通処理
}
}
}
94デフォルトの名無しさん (ブーイモ MMdb-R6SS)
2019/12/19(木) 20:10:40.73ID:AGyCFxKvM >>93
92 は for ブロック内部の代入式の左辺が変わってないよ、というツッコミ。
やりたいことは、抽出対象プロパティをテキストで指定してシステマティックにデータ抽出したいってことでしょ?
Dictionary やインデクサで、テキスト => 対象プロパティ or 抽出メソッド、のマップを作って、Reflection か何かで呼び出せばできそうな気がするけど、LINQ to Entities でワークするかどうかは試してみないとわからないな。
92 は for ブロック内部の代入式の左辺が変わってないよ、というツッコミ。
やりたいことは、抽出対象プロパティをテキストで指定してシステマティックにデータ抽出したいってことでしょ?
Dictionary やインデクサで、テキスト => 対象プロパティ or 抽出メソッド、のマップを作って、Reflection か何かで呼び出せばできそうな気がするけど、LINQ to Entities でワークするかどうかは試してみないとわからないな。
95デフォルトの名無しさん (ワッチョイ 1752-R6SS)
2019/12/19(木) 20:25:17.21ID:qKbwpXVq0 >>93
有益な回答を得るためにもう少し説明が必要かも。
なぜ抽出対象プロパティをテキストで指定する必要があるの?
1 カラムごとに 100 回抽出しようとしているけど、まとめて 100 カラムをワンショットで抽出してから加工するのではなぜダメなの?
また環境が EF6 なのか EF Core なのかも言及した方がいいかもね。
有益な回答を得るためにもう少し説明が必要かも。
なぜ抽出対象プロパティをテキストで指定する必要があるの?
1 カラムごとに 100 回抽出しようとしているけど、まとめて 100 カラムをワンショットで抽出してから加工するのではなぜダメなの?
また環境が EF6 なのか EF Core なのかも言及した方がいいかもね。
96デフォルトの名無しさん (ワッチョイ 1752-R6SS)
2019/12/19(木) 20:38:12.29ID:qKbwpXVq0 ごめん、勘違いしていた。
テキストで指定したいのはカラムじゃなくてテーブルなんだね。
テキストで指定したいのはカラムじゃなくてテーブルなんだね。
97デフォルトの名無しさん (ワッチョイ d75f-r9Jq)
2019/12/19(木) 20:58:33.77ID:IsJpyVgV0 そうですそうです。
データを取り出すところ以外はほぼ変わらないのに
↑のコードだけでも1テーブルの数が多い場合余裕で1万行超えてしまうので
public bool test1()
{
}
public bool test2()
{
}
〜〜〜〜
public bool test1000()
{
}
と用意して
test1();
test2();
〜〜
test100();
を
public bool test()
{
}
for(var i =0;i<100;i++)
{
test( iLop );
}
だけにできないかと思っています。
データを取り出すところ以外はほぼ変わらないのに
↑のコードだけでも1テーブルの数が多い場合余裕で1万行超えてしまうので
public bool test1()
{
}
public bool test2()
{
}
〜〜〜〜
public bool test1000()
{
}
と用意して
test1();
test2();
〜〜
test100();
を
public bool test()
{
}
for(var i =0;i<100;i++)
{
test( iLop );
}
だけにできないかと思っています。
98デフォルトの名無しさん (ワッチョイ d75f-r9Jq)
2019/12/19(木) 21:00:56.21ID:IsJpyVgV0 >>95
環境はEF Core3.1 です。
環境はEF Core3.1 です。
99デフォルトの名無しさん (ワッチョイ 1752-R6SS)
2019/12/19(木) 21:11:26.20ID:qKbwpXVq0 抽出テーブルを動的に指定したいなら、DbSet<T> を返すプロパティが DbContext の派生クラスに定義されていると思います。
型引数 T にテキストは直接指定できないので、その DbSet<T> 型のプロパティをラップするメソッドを定義して、テキストを引数で渡してやればよいのではないでしょうか。こんな感じで。
class MyDbContext : DbContext {
DbSet<MyEntityDataModel1> MyEntity1 { get; set; }
DbSet<T> GetTable<T>(string table) where T : CommonBaseClassOfMyEntityDataModels =>
this.GetType().GetProperty(table) as IQueryable<T>;
}
// 呼び出し側
context.GetTable(“MyEntity1”).ToList();
型引数 T にテキストは直接指定できないので、その DbSet<T> 型のプロパティをラップするメソッドを定義して、テキストを引数で渡してやればよいのではないでしょうか。こんな感じで。
class MyDbContext : DbContext {
DbSet<MyEntityDataModel1> MyEntity1 { get; set; }
DbSet<T> GetTable<T>(string table) where T : CommonBaseClassOfMyEntityDataModels =>
this.GetType().GetProperty(table) as IQueryable<T>;
}
// 呼び出し側
context.GetTable(“MyEntity1”).ToList();
100デフォルトの名無しさん (ワッチョイ 1752-R6SS)
2019/12/19(木) 21:54:02.04ID:qKbwpXVq0 >>97
そういう目的ならテーブル名をテキストで指定する必要もなくて、
foreach (var prop in context.GetProperties())
{
var table = (prop as IQueryable<CommonBaseClass>).ToList();
// table に対するテスト処理
}
でよいかもしれない。
ただし下準備として、DbContext の全プロパティのデータコンテナを共通で受ける基底クラス CommonBaseClass を定義する必要がある。
似たようなことはやったことあるのだけど、このコードが手直しなく動くかどうかはわからない。
テスト処理もラムダ式のリストで用意しておいて、各テーブルと Zip() して適用するなど、LINQ を活用するとよいと思うよ。
そういう目的ならテーブル名をテキストで指定する必要もなくて、
foreach (var prop in context.GetProperties())
{
var table = (prop as IQueryable<CommonBaseClass>).ToList();
// table に対するテスト処理
}
でよいかもしれない。
ただし下準備として、DbContext の全プロパティのデータコンテナを共通で受ける基底クラス CommonBaseClass を定義する必要がある。
似たようなことはやったことあるのだけど、このコードが手直しなく動くかどうかはわからない。
テスト処理もラムダ式のリストで用意しておいて、各テーブルと Zip() して適用するなど、LINQ を活用するとよいと思うよ。
101デフォルトの名無しさん (ワッチョイ 17da-UiIE)
2019/12/19(木) 21:59:04.37ID:WCM9NoNV0 >>90
説明が稚拙で申し訳ないです
プログラムはフォームで、木構造の編集とはノードのコピーや削除、値の編集などをGUIで行います
GUIの理由はJSONファイルはあるスマートウォッチのカスタムフェイス用で配置などを確認するためです
自分が知りたい事はc#でよく使われる木構造を扱うライブラリです
説明が稚拙で申し訳ないです
プログラムはフォームで、木構造の編集とはノードのコピーや削除、値の編集などをGUIで行います
GUIの理由はJSONファイルはあるスマートウォッチのカスタムフェイス用で配置などを確認するためです
自分が知りたい事はc#でよく使われる木構造を扱うライブラリです
102デフォルトの名無しさん (ワッチョイ d75f-r9Jq)
2019/12/19(木) 22:24:53.20ID:IsJpyVgV0103デフォルトの名無しさん (ワッチョイ d75f-r9Jq)
2019/12/19(木) 23:07:37.09ID:IsJpyVgV0104デフォルトの名無しさん (ワッチョイ 1752-R6SS)
2019/12/19(木) 23:56:40.46ID:qKbwpXVq0 プロパティ DbSet<EntityModel1> MyEntity1 や DbSet<EntityModel2> MyEntity2 の型引数 EntityModel1, EntityModel2 があるとすると、その共通基底クラス BaseEntityModel を定義する必要があります。
class EntityModel1 : BaseEntityModel {} というように。BaseEntityModel は抽象クラスでも可。
そうすると、.GetProperty() の返り値の型が、DbSet<EntityModel1> だったり DbSet<EntityModel2> だったりするのだけど、これが IQueryable<BaseEntityModel> という型で共通的に受けられるということを想定しています。
class EntityModel1 : BaseEntityModel {} というように。BaseEntityModel は抽象クラスでも可。
そうすると、.GetProperty() の返り値の型が、DbSet<EntityModel1> だったり DbSet<EntityModel2> だったりするのだけど、これが IQueryable<BaseEntityModel> という型で共通的に受けられるということを想定しています。
105デフォルトの名無しさん (ワッチョイ 1752-R6SS)
2019/12/19(木) 23:58:37.24ID:qKbwpXVq0 訂正。
.GetProperty() ではなく .GetProperties() でした。
.GetProperty() ではなく .GetProperties() でした。
106デフォルトの名無しさん (ワッチョイ d75f-r9Jq)
2019/12/20(金) 00:14:57.12ID:wMdfjBuG0107デフォルトの名無しさん (アウアウウー Sa5b-On3P)
2019/12/20(金) 02:04:01.33ID:aZ9V3LMHa >>101
よく分からん理屈だなあ
そのスマートウォッチの設定に限らず、世の中のアプリが扱うデータなんて大半は木構造なわけだが、
そいつらがみんな木構造を明示的に扱うようなGUIを持ってるか?
断言するが、明示的に木構造を扱うようなUIが必要なのはフォルダツリーのように再帰的な構造を扱う必要がある場合だけだ
それ以外は必ずもっと適したUIがある
よく分からん理屈だなあ
そのスマートウォッチの設定に限らず、世の中のアプリが扱うデータなんて大半は木構造なわけだが、
そいつらがみんな木構造を明示的に扱うようなGUIを持ってるか?
断言するが、明示的に木構造を扱うようなUIが必要なのはフォルダツリーのように再帰的な構造を扱う必要がある場合だけだ
それ以外は必ずもっと適したUIがある
108デフォルトの名無しさん (ワッチョイ 972d-vnDE)
2019/12/20(金) 02:21:20.80ID:oj5hMkFq0 while文がネストしていた時、階層の奥から一番外側のwhileループまでブレイクするにはどうするのが正しいのでしょうか?
while(true){ while(true){
if(true) 外側のwhileまでbreak;
}}
よろしくお願いします
while(true){ while(true){
if(true) 外側のwhileまでbreak;
}}
よろしくお願いします
109デフォルトの名無しさん (ワッチョイ b763-CWbB)
2019/12/20(金) 02:23:20.84ID:qHTdS2+z0 goto
110デフォルトの名無しさん (ワッチョイ 9fad-WY45)
2019/12/20(金) 03:01:50.54ID:1digpYZT0 ここでいいのか分からないんですが質問させて下さい。
macでのvisual studioないしはC#の解説の載っているサイト、もしくは操作方法などを教えてください。
つい先日3Dモデリングやゲーム開発に憧れてC#の本を手に取りました。情報系の知識はないに等しく、せいぜい中学の授業レベルです。
「やさしいC# 第3版」を手に進めようとしたのですが、当方macで作業しようとしていたため、本の内容と実際の動きが異なり、四苦八苦しています。
現状なんとかhello worldはできましたが手順が理解できておらず困惑しています。
よろしくお願いします。
macでのvisual studioないしはC#の解説の載っているサイト、もしくは操作方法などを教えてください。
つい先日3Dモデリングやゲーム開発に憧れてC#の本を手に取りました。情報系の知識はないに等しく、せいぜい中学の授業レベルです。
「やさしいC# 第3版」を手に進めようとしたのですが、当方macで作業しようとしていたため、本の内容と実際の動きが異なり、四苦八苦しています。
現状なんとかhello worldはできましたが手順が理解できておらず困惑しています。
よろしくお願いします。
111デフォルトの名無しさん (ワッチョイ 17da-UiIE)
2019/12/20(金) 05:17:47.97ID:GjFm0fld0 >>107
漏れてて申し訳ないです
そのスマートウォッチではノードの記述順によって表示順が決まるので木構造の順番を入れ替えたい
入れ替える枝の深さもまちまちですので木構造を直接編集できた方が良いと思った訳です
また、全てを木構造で扱うのではなく、末端部は類型化されてますのでクラスにして編集の予定です
漏れてて申し訳ないです
そのスマートウォッチではノードの記述順によって表示順が決まるので木構造の順番を入れ替えたい
入れ替える枝の深さもまちまちですので木構造を直接編集できた方が良いと思った訳です
また、全てを木構造で扱うのではなく、末端部は類型化されてますのでクラスにして編集の予定です
112デフォルトの名無しさん (ワッチョイ 1752-R6SS)
2019/12/20(金) 07:23:20.70ID:NMJ3uqPu0 >>106
当初は利用目的がわからなかったため、.GetProperties() やジェネリックで対象を動的に指定して DbSet<T> 型プロパティを呼び出す方法を提案しましたが、
DbContext に MyEntiyty1, MyEntity2, ... と 100 個のテーブルがあり、個々のテーブルに対応した Test1, Test2 ... というテスト関数を地の文で定義しており、
これをシステマティックに対応させたいというのが課題の本質であるなら、実はジェネリックとか使わなくてもできます。
テスト関数 Test1 は DbSet<MyEntityDataModel1> が入力で bool が出力として bool result1 = context.MyEntiti1.Test1() or Test1(context.MyEntity1)
と記述できるように定義されていると思いますが、これを下記のように変形すればよいと思います。
1. MyDbContext を入力として bool result1 = context.Test1() or Test1(context) と記述できるようにテスト関数を書き換える
(Test1 内部の冒頭で context.MyEntity1 と対象を指定する)
2. テスト関数をラムダ式にし、地の文で定義している Test1, Test2 ... というメソッド群をリストオブジェクトにする
List<Func<MyDbContext, bool>> TestList =
new [] { context => { context.MyEntity1 /* ... */ },
context => { context.MyEntity2 /* ... */ }, ... };
3. using ブロック内 for/foreach 文でリストオブジェクトをキックする
using (var context = new MyDbContext())
{
bool result[100];
for (var i = 0; i < 100; i++)
{
result[i] = TestList[i](context);
}
}
当初は利用目的がわからなかったため、.GetProperties() やジェネリックで対象を動的に指定して DbSet<T> 型プロパティを呼び出す方法を提案しましたが、
DbContext に MyEntiyty1, MyEntity2, ... と 100 個のテーブルがあり、個々のテーブルに対応した Test1, Test2 ... というテスト関数を地の文で定義しており、
これをシステマティックに対応させたいというのが課題の本質であるなら、実はジェネリックとか使わなくてもできます。
テスト関数 Test1 は DbSet<MyEntityDataModel1> が入力で bool が出力として bool result1 = context.MyEntiti1.Test1() or Test1(context.MyEntity1)
と記述できるように定義されていると思いますが、これを下記のように変形すればよいと思います。
1. MyDbContext を入力として bool result1 = context.Test1() or Test1(context) と記述できるようにテスト関数を書き換える
(Test1 内部の冒頭で context.MyEntity1 と対象を指定する)
2. テスト関数をラムダ式にし、地の文で定義している Test1, Test2 ... というメソッド群をリストオブジェクトにする
List<Func<MyDbContext, bool>> TestList =
new [] { context => { context.MyEntity1 /* ... */ },
context => { context.MyEntity2 /* ... */ }, ... };
3. using ブロック内 for/foreach 文でリストオブジェクトをキックする
using (var context = new MyDbContext())
{
bool result[100];
for (var i = 0; i < 100; i++)
{
result[i] = TestList[i](context);
}
}
113デフォルトの名無しさん (アウアウウー Sa5b-On3P)
2019/12/20(金) 08:59:06.48ID:aZ9V3LMHa114デフォルトの名無しさん (オイコラミネオ MMab-7F0B)
2019/12/20(金) 19:28:07.00ID:laM9bMPJM >>110
まずMACを捨てましょう
プログラミングはwindowsでないと、今は良くても後々面倒だと思います
私がゲーム開発してた頃はDirectX使ってました
3Dプログラミングはサインコサインタンジェント使いまくりなので数学の知識がいります
2Dは足し算引き算ぐらいなので初心者でもできると思います
画面にドット絵表示までが鬼門ですがそこ乗り越えられたら楽しい世界が待ってるのでがんばってください!
まずMACを捨てましょう
プログラミングはwindowsでないと、今は良くても後々面倒だと思います
私がゲーム開発してた頃はDirectX使ってました
3Dプログラミングはサインコサインタンジェント使いまくりなので数学の知識がいります
2Dは足し算引き算ぐらいなので初心者でもできると思います
画面にドット絵表示までが鬼門ですがそこ乗り越えられたら楽しい世界が待ってるのでがんばってください!
115デフォルトの名無しさん (スッップ Sdbf-hGMP)
2019/12/20(金) 20:00:27.38ID:FDXklgq8d >>114
MacでもWindowsが動かせるから捨てる必要なし
MacでもWindowsが動かせるから捨てる必要なし
116デフォルトの名無しさん (ワッチョイ d75f-r9Jq)
2019/12/20(金) 20:09:06.50ID:wMdfjBuG0117デフォルトの名無しさん (ワッチョイ b763-CWbB)
2019/12/20(金) 21:29:38.47ID:qHTdS2+z0 そもそもweb周りなんかだとはMacかなり多いのにプログラミングはWinで!なんて発想はどこから来るんでしょうか
2Dであろうと三角関数くらいはガンガン使います
2Dであろうと三角関数くらいはガンガン使います
118デフォルトの名無しさん (ワッチョイ f7da-69wU)
2019/12/20(金) 21:41:47.69ID:Vbt2Sjhj0 webは簿給でMacのお布施を払っていると
儲けが減ってしまうからですよ
血の繋がりの無いパパさんが見つかると良いですね
儲けが減ってしまうからですよ
血の繋がりの無いパパさんが見つかると良いですね
119デフォルトの名無しさん (ワッチョイ b763-CWbB)
2019/12/20(金) 21:47:02.02ID:qHTdS2+z0 webが薄給ってどこの世界の話?
120デフォルトの名無しさん (スプッッ Sddf-hGMP)
2019/12/20(金) 22:22:52.66ID:tNG2om7pd >>119
ここの世界だよこの世界
ここの世界だよこの世界
121デフォルトの名無しさん (ワッチョイ b763-CWbB)
2019/12/20(金) 22:31:48.04ID:qHTdS2+z0 >>120
まじか
同じ世界に住んでるようで違う世界なんだな
金融医療なんかと比べりゃ薄給かもしれんが世間の平均以上はあるでしょ
そら平均ないとこもいっぱいあるし中間搾取が多い部類だとは思うが…
日本は世界的に見てweb系、というかプログラマ自体が安いってのはあるけどそれでも他業種に比べりゃ全然マシだと思うよ
まじか
同じ世界に住んでるようで違う世界なんだな
金融医療なんかと比べりゃ薄給かもしれんが世間の平均以上はあるでしょ
そら平均ないとこもいっぱいあるし中間搾取が多い部類だとは思うが…
日本は世界的に見てweb系、というかプログラマ自体が安いってのはあるけどそれでも他業種に比べりゃ全然マシだと思うよ
122デフォルトの名無しさん (ワッチョイ 9f52-1WEo)
2019/12/20(金) 23:14:05.81ID:F92JDOtZ0 web系と一括りにしているが>>118が経験した狭い範囲でのことだろう
123デフォルトの名無しさん (オイコラミネオ MMab-7F0B)
2019/12/20(金) 23:56:36.17ID:laM9bMPJM webは金になるよ
プログラマーの花形だから
求められるスキルは最下位だけども
組み込みプログラマーとゲームプログラマーが最上位
前者はハードの知識も求められるし、後者はプログラムの真髄まで知っとかないといけない
ゲームプログラマー経験してたら、他の分野のプログラマーの仕事はほんと簡単だもん
若い時はムチャやって良かったと心の底から思う
プログラマーの花形だから
求められるスキルは最下位だけども
組み込みプログラマーとゲームプログラマーが最上位
前者はハードの知識も求められるし、後者はプログラムの真髄まで知っとかないといけない
ゲームプログラマー経験してたら、他の分野のプログラマーの仕事はほんと簡単だもん
若い時はムチャやって良かったと心の底から思う
124デフォルトの名無しさん (ワッチョイ b763-CWbB)
2019/12/21(土) 00:37:36.41ID:4yldtPmm0 webのスキルが最下位ってどこの世界の話?
125デフォルトの名無しさん (ワッチョイ 9fad-2sPR)
2019/12/21(土) 01:32:51.93ID:Mk9xcjQY0 110の者です。反応してくださった方々ありがとうございます。
ひとまずUnityのガイドで勉強してみます。
C#を勉強するなら、現状手元にはmac book airしかないためWindowsを入れるしかないみたいですね…(スペックギリギリですが…)
一応理系なので三角関数自体は大丈夫です。
ちなみにプログラミングの初心者がまず勉強すべきもの、もしくは買うべき本などありませんでしょうか?
場違いの質問で申し訳ありませんが、教えていただけると嬉しいです。
ひとまずUnityのガイドで勉強してみます。
C#を勉強するなら、現状手元にはmac book airしかないためWindowsを入れるしかないみたいですね…(スペックギリギリですが…)
一応理系なので三角関数自体は大丈夫です。
ちなみにプログラミングの初心者がまず勉強すべきもの、もしくは買うべき本などありませんでしょうか?
場違いの質問で申し訳ありませんが、教えていただけると嬉しいです。
126デフォルトの名無しさん (ワッチョイ 9f01-pdcM)
2019/12/21(土) 01:46:23.53ID:tKqa0Mcd0127デフォルトの名無しさん (アウアウウー Sa5b-kT4h)
2019/12/21(土) 02:36:40.50ID:zyAIfpOSa ゲームは知らんけど、組み込みはほんとピンキリだよw
学者みたいに何でも知ってる人もいるけど、狭い範囲のことしか知らないくせに
コード書かせたら構造化以前なんて人もゴロゴロいる
web系は仕事内容は良く知らんけどストレス度は高そうだよねw
なんか俺は最先端のとんがったことやってるんだぞ的な自己陶酔系の人が多いように感じるのは、
そうでも思わないとたぶんやってられないんだろうなと想像
学者みたいに何でも知ってる人もいるけど、狭い範囲のことしか知らないくせに
コード書かせたら構造化以前なんて人もゴロゴロいる
web系は仕事内容は良く知らんけどストレス度は高そうだよねw
なんか俺は最先端のとんがったことやってるんだぞ的な自己陶酔系の人が多いように感じるのは、
そうでも思わないとたぶんやってられないんだろうなと想像
128デフォルトの名無しさん (ワッチョイ 9fad-YiuP)
2019/12/21(土) 05:00:47.48ID:biYUElkB0 >>125
Unityならmacで十分だよ
Windowsでないと後々面倒というのは、会社で使うのはWindowsがほとんどだから
もし仕事にするなら、今から使い慣れてた方がいいということ
開発行為自体だと、unix系のアプリケーションならmacの方が色々揃ってるからやりやすいし
Windowsのアプリケーションなら、当然Windowsがやりやすいよ
Unityならmacで十分だよ
Windowsでないと後々面倒というのは、会社で使うのはWindowsがほとんどだから
もし仕事にするなら、今から使い慣れてた方がいいということ
開発行為自体だと、unix系のアプリケーションならmacの方が色々揃ってるからやりやすいし
Windowsのアプリケーションなら、当然Windowsがやりやすいよ
129デフォルトの名無しさん (ブーイモ MMbf-70ba)
2019/12/21(土) 08:35:24.74ID:elCUYmNmM >>123
オプションとなるスキルが違うだけでプログラミングスキルはどの分野でもピンキリ
オプションとなるスキルが違うだけでプログラミングスキルはどの分野でもピンキリ
130デフォルトの名無しさん (ワッチョイ 9f52-1WEo)
2019/12/21(土) 09:37:34.69ID:k+w4ikT00 >>123
2Dなら足し算引き算だけなんていってる人が"プログラムの真髄"なんて言っても、自分がやったことある範囲の知識がすべてなんだなって感じで説得力ゼロだぞw
2Dなら足し算引き算だけなんていってる人が"プログラムの真髄"なんて言っても、自分がやったことある範囲の知識がすべてなんだなって感じで説得力ゼロだぞw
131デフォルトの名無しさん (オイコラミネオ MM4f-isjD)
2019/12/21(土) 12:32:00.35ID:W85y2T7QM 2Dでも三角関数使うしな
132デフォルトの名無しさん (ワッチョイ 7707-7F0B)
2019/12/21(土) 12:58:47.60ID:jr0+pgES0 プログラムかじった事ない人にいきなり三角関数必要とか言って作れると思う?
3Dは数学の知識が最低減ないと作れないけど、2Dは三角関数知らなくても作れる
分かったような口聞くな
3Dは数学の知識が最低減ないと作れないけど、2Dは三角関数知らなくても作れる
分かったような口聞くな
133デフォルトの名無しさん (オイコラミネオ MM4f-isjD)
2019/12/21(土) 13:15:08.24ID:W85y2T7QM 三角関数をなんだと思ってるんだよ
中学生なら習ってないからしょうがないけどさ
中学生なら習ってないからしょうがないけどさ
134デフォルトの名無しさん (ワッチョイ 9f01-pdcM)
2019/12/21(土) 13:17:44.87ID:tKqa0Mcd0135デフォルトの名無しさん (スッップ Sdbf-CWbB)
2019/12/21(土) 13:31:19.22ID:B9cNmAcsd 三角関数なしに2Dゲームを作ることはできる
数学知識なしに3Dゲームも作れる
流石に加減乗除くらいは必要だが
無くても何かは作れると何を作るにも不要かどうかは別の話
数学知識なしに3Dゲームも作れる
流石に加減乗除くらいは必要だが
無くても何かは作れると何を作るにも不要かどうかは別の話
136デフォルトの名無しさん (ワッチョイ 7707-7F0B)
2019/12/21(土) 17:01:18.37ID:jr0+pgES0137デフォルトの名無しさん (アウアウウー Sa5b-kT4h)
2019/12/21(土) 17:06:21.58ID:ToibKenqa 下らない話はそのぐらいにしておいたら?
中学生じみてるよw
中学生じみてるよw
138デフォルトの名無しさん (ワッチョイ 9f5e-xbXx)
2019/12/21(土) 17:12:20.47ID:3iZbeqQ/0 Unityなんかに任せるとか?
結局使うことになるとは思うけど、使わずに済まそうと思えばなんとかなると思う。
結局使うことになるとは思うけど、使わずに済まそうと思えばなんとかなると思う。
139デフォルトの名無しさん (ワッチョイ 977b-XEnz)
2019/12/21(土) 17:20:19.27ID:722GI/wM0 テンプレ読んでください
オイコラミネオ MMab-7F0B
ワッチョイ 7707-7F0B
NG
オイコラミネオ MMab-7F0B
ワッチョイ 7707-7F0B
NG
140デフォルトの名無しさん (オイコラミネオ MMab-EwPn)
2019/12/21(土) 18:47:28.86ID:BGAOi6L9M オレのミネオはどう表示されるんだろ…
141デフォルトの名無しさん (ブーイモ MMfb-Veox)
2019/12/21(土) 19:03:45.63ID:qQirr//DM おれもテスト
142デフォルトの名無しさん (ワッチョイ d72f-+Tiu)
2019/12/21(土) 21:45:23.13ID:/91O1xjY0 C#でコルモゴロフスミノフ検定した上で、単回帰分析とかするライブラリってありますか?
統計解析するならテキストファイルにデータ書き出して、
PythonとかRにわたすほうがいい?
統計解析するならテキストファイルにデータ書き出して、
PythonとかRにわたすほうがいい?
143デフォルトの名無しさん (スププ Sdbf-hGMP)
2019/12/21(土) 21:47:47.94ID:q7cBKLSTd >>142
そこはRubyでしょw
そこはRubyでしょw
144デフォルトの名無しさん (ワッチョイ 77b2-Veox)
2019/12/21(土) 22:46:57.61ID:jv2HuDh00 >>142
R.NET
R.NET
145デフォルトの名無しさん (ワッチョイ 9f24-prDO)
2019/12/22(日) 00:25:07.44ID:7hF/cDg80 byte[]として受け取ったmp3をファイル化せずにそのままmp3tagの読み書きを行えるライブラリはないでしょうか?
出来る限り通信のやり取りだけで済ませたいため、受け取ったmp3バイナリをそのまま処理して受け流したいと考えています。
taglibは試してみましたが、FileStreamとして渡さないと上手く機能しないようでした
出来る限り通信のやり取りだけで済ませたいため、受け取ったmp3バイナリをそのまま処理して受け流したいと考えています。
taglibは試してみましたが、FileStreamとして渡さないと上手く機能しないようでした
■ このスレッドは過去ログ倉庫に格納されています
