ふらっと C#,C♯,C#(議論用) [無断転載禁止]©2ch.net (131レス)
1-

1: 2016/07/26(火)22:15 ID:jPb6PRpJ(1) AAS
テンプレ募集
48
(2): 2021/02/04(木)12:33 ID:qhstqCrC(1) AAS
>>47
>OfficeのマクロもPython採用されたし

採用されてないよ
PythonじゃなくJavaScriptなら採用されたけど
49: 2021/02/04(木)13:10 ID:pb5ZSMwN(1) AAS
>>48
ほんとだ
Pythonポシャったんだな
外部リンク:www.reddit.com
50: 2021/02/04(木)16:17 ID:TgPbTxkL(1) AAS
>>46
古いことしか知らなくて申し訳ないけど
excelのシート操作時の解放とか面倒なんでvb.netで書いちゃうけどそんなことないのか?
51
(1): 2021/02/04(木)21:06 ID:ZtMmgGts(1/2) AAS
>>48
安心した。pythonなんて埋め込みに一番向いてなさそうな言語なのにどうするんだろうと思ってた。
52: 2021/02/04(木)22:30 ID:QcsaodMG(1/2) AAS
>>51
Python埋め込みに向いてないってどうして?
BlenderもMayaも3DS MaxもPythonでいい感じにスクリプト組めるよ。
53: 2021/02/04(木)22:48 ID:ZtMmgGts(2/2) AAS
javascriptならdllひとつで組み込めたりするのに、embeddable pythonなんて
embeddableと言いながら結局実行環境まるまるコピーしてるようなものだし。
54: 2021/02/04(木)22:55 ID:QcsaodMG(2/2) AAS
実用に耐えるクロスプラットフォームなJavaScriptの実行環境はdll一つで組み込めんでしょ。
実行環境内包する事のどこがおかしいのかわからんが。
MS製品でいうと、すでにPowerBIなんかだとPythonで書いたモジュールでグラフ描いたりできるよ。

埋め込みに向いてないってのは知らないだけの無知でしょ、流石に。
55
(1): 2021/02/05(金)07:39 ID:5Tgc7yvD(1/2) AAS
できるできないじゃなくてどれだけ向いてるかって話な。
埋め込みならlua mruby python javascriptと一通り試したことはあるが。

>実用に耐えるクロスプラットフォームなJavaScriptの実行環境はdll一つで組み込めんでしょ。

msのjavascriptエンジン(chakra)は実際dllひとつだけ。
56: 2021/02/05(金)07:51 ID:km3pMqV5(1) AAS
>>55
すまん、Chakraそうだったのか。そりゃ便利そうだな。
ちょっと興味あるんだけど、ファイルとかのIOとかはどうなるの?ホスト言語側で持たないと?クロスなの?

日頃MAXとMayaとでごちゃごちゃやってUnity用アセット管理したりしてるけど、結構向いてると思うよ、Python。
57: 2021/02/05(金)08:26 ID:5Tgc7yvD(2/2) AAS
I/Oは全部ホスト側で用意しなきゃならないね。埋め込みとしてはそちらの方がありがたいけど。
58: 2021/02/05(金)08:41 ID:uaJ+yOd+(1) AAS
なるほど。IOを再実装しないといかん事の是非は、埋め込みをどのように使うかだろうなぁ。
ファイル一覧とか触りたいときは標準のライブラリが使えたほうがだいぶ楽だし、そのアプリ専用のコマンドが減れば減るほどありがたいと思う方。
ユーザに開放するか開発者に開放するかどっちかってやつかもね。
59
(3): 2021/03/28(日)20:18 ID:AfIP7Kkq(1/4) AAS
ふらっと C#,C♯,C#(初心者用) Part150
2chスレ:tech

>>44-50

横から便乗で質問ですけど、
「いつか使うだろう」とインターフェースや継承関係を作っておく自体は推奨されることですか?

例えば、インターフェースや継承関係が無くても、直付けで作れてしまう訳じゃないですか。
省4
60
(1): 2021/03/28(日)20:34 ID:XhrJbcfF(1) AAS
ドキュメントの用意ができるかできないかでも違ってきそうな気がする
61: 2021/03/28(日)20:45 ID:AfIP7Kkq(2/4) AAS
>>60
なるほど、その回答は暗に「ケースバイケース」と言っていますね。
62
(2): 2021/03/28(日)21:03 ID:aCkXL8Lz(1) AAS
>>59
あくまでチーム開発が前提にはなるが、インターフェイスを作るなら、今取り組んでいるタスク(pull request)のコードの中で必要性を示せ
一番分かりやすいのはモックして単体テストを書くことだな
それが示されてない限り俺ならリジェクトするよ
63
(2): 2021/03/28(日)21:04 ID:8DGgAvpz(1) AAS
>>59
普通はやってはならないが常識
その設計と拡張方向の正当性が問われる事態になる
その時〜な気がするではなくキチンとビジネスで通用する説明ができないと窮地に追い込まれる
ただドキュメントを書かない現場というのもあって
そういうところでは担当者の趣味で付けてしまう
64: 2021/03/28(日)21:53 ID:AfIP7Kkq(3/4) AAS
>>62-63
なるほど、納得です。

一番合理的な意見でよかったです。

インターフェースや継承についての本やネットの記事では、
なんでもかんでも拡張できるように書くような勢いで、
しかも読んでる最中は確かにそうすべきかなと思ってました。
でも、実際に使おうとすると、どこまでやっていいのか迷ってました。
省1
65
(1): 2021/03/28(日)21:59 ID:Ah6uwjvI(1/2) AAS
>>59
継承関係に関しては明確に必要な場合か
事前のアーキテクチャ設計方針で決まってる場合以外には使わないかな

インターフェースに関しては依存性の方向を変えたかったり
結合度を下げたかったりする明確な理由があれば良いと思う
(「いつか使うだろう」という理由とはちょっと違うけど)

依存性の方向は大事
66
(1): 2021/03/28(日)22:00 ID:yHCir1no(1) AAS
王位継承権のように順位をつけるべきでは?
67
(1): 2021/03/28(日)22:06 ID:Ah6uwjvI(2/2) AAS
例えば
あるライブラリを後で違うものに入れ替えられるように作っておきたい
というのでも十分な理由

入れ替え可能にする手間や増加するコードの複雑性と
呼び出し側の変更なく入れ替えが可能な柔軟性とのトレードオフ

関数のある処理をヘルパー関数として抽出するべきか
そのままインラインで書いておくべきかというのと考え方的には大きな違いはない
68
(2): 2021/03/28(日)22:54 ID:AfIP7Kkq(4/4) AAS
>>65-67
> 継承関係に関しては明確に必要な場合か
> 事前のアーキテクチャ設計方針で決まってる場合以外には使わないかな

これは明確な回答ですね。
つまり、例えば大学の学生証管理システムだとすると、Studentクラスで直にコーディングして、
後にアーキテクチャ設計方針がひっくり返されて「教授も身分証作ったから足してくれ」となった場合は
Person→Student, Person→Professorのような継承関係にするわけですね。
省17
69: 2021/03/29(月)00:35 ID:kW6kUd5H(1/2) AAS
>>68
>…と言われると、依存性は低い方が良いに決まっていますし、
>あるライブラリを後で違うものに入れ替えられるように作っておいた方が良いに決まっていますよね?

決まってないよ

Rails使ってWebアプリ開発する場合ならActiveRecord以外のORMに入れ替えられるように作っておいたほうがいい?
Rails以外のフレームワークに入れ替えられるように作っておいたほうがいい?
JavaScriptでReact使う場合ならReact以外のフレームワークに呼び出し側の変更なく入れ替えられるように作っておいたほうがいい?
省5
70: 2021/03/29(月)00:45 ID:kW6kUd5H(2/2) AAS
>>68
>Person→Student, Person→Professorのような継承関係にするわけですね。

それは継承関係が明確に必要なケースじゃないから作らない
71: 2021/03/29(月)02:24 ID:9yINXZUI(1/2) AAS
知識と経験が乏しいから勝手に〜しかないって決めちゃってる場合がほとんどだよね
72: 2021/03/29(月)02:27 ID:9yINXZUI(2/2) AAS
windowsとLinuxを切り替えられるように作っておったアホがいたけど
そもそもそんな要件ないのにプロジェクトに過剰な負担を強いただけのアホだったと思う
アホってこういうの勝手に入れちゃうんだよね
お前の趣味だろそれって
73: 2021/03/29(月)07:31 ID:w2mFGclo(1) AAS
最近、というかいまさらながらDDDに挑戦したんだが
リポジトリクラスのインターフェース作ることで、DBに依存しないテストをすることができるということがやっと理解できた

私はアホなので手を動かさないと理解できないのだ…
本やネットと睨めっこしててもダメなのだ…
74: 2021/03/29(月)07:34 ID:2VNxxGaX(1/4) AAS
JDBCはその目的で作られたはずなんだが
75: 2021/03/29(月)07:37 ID:2VNxxGaX(2/4) AAS
HibernateもMyBatisもそのはずなんだが

なぜもう一枚レイヤーが必要だったのか
76: 2021/03/29(月)07:38 ID:2VNxxGaX(3/4) AAS
ビジネスロジックを全部自前のクラスで固めて
世間に依存しないようにしましょうということだったのだろうか
77: 2021/03/29(月)08:46 ID:z3NFX8KE(1/2) AAS
実用的にはほぼDAOだよ
テストの時に小回りが利いていいかなーって程度だな
DB乗り換えみたいな超絶レアケースを利点に挙げてる奴はどうかしてると思う

あとビジネスロジックをRepositoryに書くと原理主義者に殴られるから要注意な
俺は殴んないけど
78: 2021/03/29(月)08:48 ID:z3NFX8KE(2/2) AAS
×DB乗り換え
○ドライバーが無いようなDBへの乗り換え
79: 2021/03/29(月)12:08 ID:y7wcwcm/(1) AAS
費用は安ければ安いほど良いに決まってますよね
速度は速ければ速いほど良いに決まってますよね
機能は多ければ多いほど良いに決まってますよね
いや、機能は少なければ少ないほど良いに決まってますよね

おっぱいは大きければ大きいほど良いに決まってますよね
こんなのは子供の考え方に決まってますよね
80: 2021/03/29(月)15:27 ID:K2k3tipf(1) AAS
実際に経験せずに机上だけで理解しようとしてるからそういう発想になるんだろうね
おそらく学生さんだろうから生暖かく見守ってあげれ
81: 2021/03/29(月)20:02 ID:2VNxxGaX(4/4) AAS
自分も生あったかい目で見られてたから
とやかくいうつもりはないが

なんでできないやつにばっかりやらせるんだよ!
できるやつがやって下に教えりゃいいんじゃないの?!
82: 2021/04/13(火)19:45 ID:arsZDomX(1) AAS
コメントの要否・コメントの内容について

コメントには「なぜ」を書くのが原則
処理の内容はコードを読めば解ることなので不要と考える
83: 2021/04/13(火)19:55 ID:WoYnxMFx(1) AAS
俺はコメント入れてほしい派

読めば判るっつってもさ、
コード書いてる本人ですら
何やってるか分かってない場合もあるからな(笑)
せめてコメントで
「ここではこんなことをしてる(つもり)」
って書いてくれら「全然そうなってないだろ!」と突っ込める
84: 2021/04/15(木)06:46 ID:S1KqOAhX(1) AAS
ぱっと見で複雑な処理の概要をコメントに書いてるわ
他人や将来の自分がなるべく素早くコードを読めるため、ってつもり
85: 2021/05/04(火)12:03 ID:mq0qLgJb(1/2) AAS
細かいところを省略してエッセンスだけ書くのは勝手だけど、実際に運用していくときに出てきそうな問題点の指摘を無視するのは違うでしょ

むしろID:/WM42vypMの言う本質ってなんだったんだろうな。最初は書くのが楽になるしか言ってないような気がしたが
最終的にはテストが楽に書きたいに変わってたし
そも書き手1人が楽になるより全体の可読性や保守性が重要だろうし、関数のシグネチャだけじゃ表現しきれないケースがあるだろうって指摘だったろうに
86
(1): 2021/05/04(火)12:28 ID:9VBk1Szv(1/6) AAS
問題が散逸してるように思える。
インターフェイスではなくて、関数を渡すといっても、そのシグニチャは結局どこかで定義することになるし。
これが勘違いなのかな。delegate宣言せずにいきなりAction<string> callbackみたいに受けるんだろうか。
これはこれでめちゃくちゃ密結合な気がするんだが。
単独アセンブリとか、単独ソリューションだから成立するような気がする。

モックフレームワークは確かに難解だけど、まずモックオブジェクト自作して困ってからでいいと思うし、そもそも必要になるのは、それこそラムダで部分的に処理を突っ込むのと同じの、依存性の注入を行うからだと思う。

特別扱いしてるインターフェイスはフェアではないと言うが、インターフェイスだから特別扱いできるんだろうし。
省1
87
(1): 2021/05/04(火)14:09 ID:c21jxOwi(1/2) AAS
横からごめん。

>>86
>delegate宣言せずにいきなりAction<string> callbackみたいに受けるんだろうか。

delegate と Action / Func って実質的な違いってあるんだっけ。
delegate を使用しないから密結合になるってのが理解できなかった。
88
(1): 2021/05/04(火)14:23 ID:9VBk1Szv(2/6) AAS
>>87
実質的な違いは無いよ。

ただ、Interfaceで定義するなり、delegateを用意しておくなりしないと、
呼ぶ側、呼ばれる側(≒コールバックを返す側)どちらも、今から使う関数の引数を直接的に知っている事が前提になるんじゃない?
ホントにそれ差し替え可能なのかな。
89: 2021/05/04(火)15:19 ID:9VBk1Szv(3/6) AAS
あいつは何なんだ。
90
(1): 2021/05/04(火)15:27 ID:c21jxOwi(2/2) AAS
>>88
ありがとう。
自分的には Action / Func でも delegate と同じに思えるけど、そう言う価値観もあるのだと理解した。
91
(1): 2021/05/04(火)15:39 ID:mq0qLgJb(2/2) AAS
> 呼ぶ側、呼ばれる側(≒コールバックを返す側)どちらも、今から使う関数の引数を直接的に知っている事が前提になるんじゃない?
その辺は別モジュールなりトップレベル関数なりに宣言すれば良いって言ってた

そこまでするならインターフェース継承したクラス宣言するのと殆ど変わらないと思うんだけどな
それこそ↓で書かれてるような、フィールドに外部から渡されたインターフェース(private IY y)を持つかどうかの1,2行の違いしか無いと感じた
2chスレ:tech

そんで、ここに保持するインターフェースは冗長なのではなくて、
このクラスはこのインターフェースを使用して処理を行うという宣言みたいなものだと思ってる
省5
92: 2021/05/04(火)15:53 ID:9VBk1Szv(4/6) AAS
>>91
別モジュールを前提に考えてたなぁ。

インターフェイスを継承したクラス宣言も、必要なシーンでは必要だと思ってるんよ。
関数を渡すとしても、Func<T,TResult>のTResultは、インターフェイスになりがちで、それを無理に解決する必要は無いと思うんよね。
Loggerとか、データベースへのコネクションなり。
93
(1): 2021/05/04(火)16:17 ID:9VBk1Szv(5/6) AAS
属性をデコレータというかAOPを主目的としてる人、初めて知ったんだけど、偏ってない?
94
(1): 2021/05/04(火)17:25 ID:7QH9BmBJ(1) AAS
>>93
シリアライゼーション、属性バリデーションはAOPの一種だと考えてるので違和感はないかな
95
(1): 2021/05/04(火)18:11 ID:9VBk1Szv(6/6) AAS
>>94
AOPの一種か。微妙に納得いかんな。
シリアライズするときに入れる共通処理のための属性という事だろうか。
96: 2021/05/06(木)03:16 ID:i9c/0LkH(1) AAS
横から失礼
virtual func と delegateの違いは状態を持つかどうかじゃないの
97: 2021/05/06(木)09:30 ID:/bC2jc3v(1) AAS
>>95
シリアライゼーションという横断的な関心ごとをシリアライザという単体の機能に分離して管理する
これはまさしくAOPの特徴
98: 2021/05/17(月)09:06 ID:ukB7joMl(1) AAS
privateフィールドにはプレフィックスを、の件、
キャメルケースだのスネークケースだの言ってる奴ばかりで、
this.について触れてる奴一人だけなの草
99: 2021/05/17(月)11:23 ID:jha2r4tC(1) AAS
自転車置き場すぎて気にしてなかった
100: 2021/05/17(月)18:51 ID:ouC7xxTJ(1) AAS
デフォルトでthis.が削除対象になるから使ってねーわ
101
(1): 2021/05/28(金)10:10 ID:bKZdxO87(1/2) AAS
c#で心掛けるのは、処理速度より開発速度とか省ステップでいいのかな。
どうしてもStringBuilder使うの面倒だから文字列を足し算してしまう。
102
(1): 2021/05/28(金)10:13 ID:nxnFhRam(1) AAS
C#はバランスタイプだよ
開発速度などで言ったらTypeScriptとか他の言語には勝てない
103
(1): 2021/05/28(金)12:30 ID:+US5DWqq(1) AAS
>>101
他の言語と同じで、普通は開発速度とか重視でいい
で、速度が必要な部分のみ速度重視
104: 2021/05/28(金)12:34 ID:WzBNxoJG(1) AAS
Typescriptって開発速度で優位なんだ
逆にtsの弱点ってなんなんだろ
105: 2021/05/28(金)19:35 ID:hvuiLCOu(1) AAS
型嫌いが怒る
106: 2021/05/28(金)21:15 ID:bKZdxO87(2/2) AAS
>>102-103
どうもです。あんまり気にせず組みやすさ重視で良さそうですね。
無駄はダメだろうけど、それもこだわると霧がなさそう
107: 2021/09/06(月)17:30 ID:hRz0UfzR(1) AAS
V-VM-UseCase-ServiceのよくあるCleanアーキでWPFデスクトップアプリ組んでるんだけど凄くツラミを感じる
VMとUseCaseの接続をReactivePropertyでやるとどうしてもカオスになってしまう
みんなどうやって対処してるんだろ
108: 2022/01/02(日)13:37 ID:caWVN6xf(1) AAS
C#10の機能試そうとVS2022で新しいプロジェクト作ろうとしたけど、テンプレートすごい選びにくいな。
.net framework やら .net core やら .net の事情知ってるから選べるけど、部外者お断り感がすごい。
全部の一覧が並んでるんじゃなくて、ウィザード形式なりもう少しなんとかならんのかと思う。
109: 2022/01/02(日)16:31 ID:svYtaABt(1) AAS
2019 ですでにそんな感じだったような。悪化したのか。
110
(2): 2022/08/31(水)13:31 ID:CzazX99E(1) AAS
C#で一般企業の人事システムや財務システムを構築するのはどうだろうと思う
基本的にC#の仕様は金額計算は不得手だと思われる
111: 2022/08/31(水)13:40 ID:rQxi5a/d(1) AAS
整数かdecimalを使えばいいだけ
112: 2022/08/31(水)13:45 ID:1Rvyxsfs(1) AAS
>>110
なんで?
113: 2022/08/31(水)13:47 ID:bNG7ckOO(1) AAS
>>110
何を根拠にそう思った
114: 2022/08/31(水)15:05 ID:83s/Qhp/(1) AAS
C/C++で一般企業の人事システムや財務システムを構築するのはどうだろうと思う
基本的にC/C++の仕様は金額計算は不得手だと思われる
115: 2022/08/31(水)15:20 ID:zj1v6oZ+(1) AAS
COBOL使えとかそういう話?
116: 2022/08/31(水)20:22 ID:nl82w9tj(1) AAS
何の根拠も無く金額計算は苦手とか言われても…
117
(1): 2022/08/31(水)20:26 ID:7kY9EZzP(1) AAS
C♯は実際に金融計算のシステムに使われているのかこれ
118: 2022/09/01(木)10:22 ID:qjv9Q1pT(1) AAS
>>117
ユニシス系の銀行システムでC#使われてる
119: 2022/09/01(木)12:09 ID:N6+Jtpjw(1) AAS
銀行システムで使われているなら安定性や信頼性は最強じゃないの
120: 2022/09/01(木)12:35 ID:SRMxcXFz(1) AAS
銀行システムという括りが微妙すぎる
まぁJavaで勘定系作ってるところもあるからC#でも何の問題もないわな

必要なら自分達で型を作ればいいだけだから
121
(1): 2022/09/01(木)13:30 ID:sc0TjgYi(1) AAS
decimal型では不味いことってあるの
122: 2022/09/02(金)08:36 ID:FhFYbPMR(1) AAS
>>121
処理速度が遅くなる
123
(1): 2022/09/02(金)20:15 ID:7STm9Jbj(1) AAS
遅くなるって具体的にどれくらい?
124: 2022/09/02(金)20:17 ID:ZxhhELCj(1) AAS
Decimalって64bitだっけか
125: 2024/01/06(土)14:29 ID:AYkaYTA3(1) AAS
age
126: 2024/01/07(日)09:47 ID:puo1Tntr(1) AAS
>>123
doubleに比べて無茶苦茶遅い
decimalは10進数という意味だけどその名の通り多倍長で演算してるから
127: 2024/01/08(月)19:53 ID:P2IcO0H5(1) AAS
> 具体的にどれくらい?

> 無茶苦茶遅い

アホの会話やめ
128: 2024/01/11(木)21:33 ID:Rr1Eyt4+(1) AAS
そもそも何をするかによって速さが違うから正確な表現など出てくるはずもなかろう
曖昧な質問で出てくると思った?w
アホなのかな?w
129: 2024/02/29(木)22:00 ID:e2R+EPM+(1) AAS
> パッケージ 'Microsoft.WindowsAPICodePack-Shell 1.1.0' はプロジェクトのターゲット フレームワーク 'net6.0-windows10.0.22000' ではなく '.NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8, .NETFramework,Version=v4.8.1' を使用して復元されました。このパッケージは、使用しているプロジェクトとの完全な互換性がない可能性があります。
こういうエラーが出るんだけどどうしたらいいんだろう?
.NET SDK 6.0.419 は入れた
OSはWindows10 Pro 22H2
130: 05/24(土)14:42 ID:a4AdJqTs(1) AAS
pwshはインタプリタだが同様にAPI叩けるし、なんならVB/c#のコードも埋め込める(vbc/csc経由)
VB/C#コンパイラのvbc/cscは.NET言語なんでCOMやら.NETAPI介して色々アプリを叩ける
なんも入れてはダメなwindowsプリインストール縛りならpwshか、vbcとcscだな
131: 05/24(土)14:45 ID:o+EuM+aj(1) AAS
続けるだけでは意味がない。研究が示した「成長できない人の条件」
公開日2025.05.24 13:00:14 SATURDAY
外部リンク:nazology.kusuguru.co.jp
1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.876s*