ふらっと C#,C♯,C#(議論用) [無断転載禁止]©2ch.net
>>917
>そもそも、USB端子2つ持ってたらどうするの?
>PC自体にUSBの機能を持たせたら、usb1と2の区別ができない。
>よって、そういった場合を考慮すると、部品化して、プロパティとしてusb1、usb2を持たせるのが正しい。
おまえアホやろ。
has a にしてクラス配列実装すればしまい。USBクラスのベクタでもいいわ。
低脳すぎて話にならんなお前。
USBからPCクラス派生?わらわせんなアホ 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
B6BOG アプリに使い方の詳細を記述したHelpをつけたい。C#で最新の方法を選ぶなら何? >>8
MSが提供してるのは20年前のHTML Helpだけだと思う。
(MS Help2や3は結局オーサリングツールが提供されなかった)
WebでもローカルHTMLでもpdfでも好きな方法でいいんじゃないすか。
どっちにしろ99%のユーザーはヘルプなんか読まないw XML強行した結果がこれさ。結局、誰も保守できなくなって放置。
ゲイツが警告したにも関わらずMSは足を踏み外してしまった。 ドキュメントって大事だとおもうのだが、綺麗に書けてしかも軽いツールって無いの
だろうか?
LibreOfficeは重たいんだよな。 >>11
VScodeでいいだろ。リッチテキストならワードパッド
オフィスはPDFに変換したいときに使えばいい テーブルさえ編集できればワードパッドが案外軽くていいんだけどね 共有メモリにFIFO作りたいのでサンプルコードください multiprocessing.queue を使えばいいよ Xamrin生きてる?
もしかして市場で増えてたりする? ■「C#」「Visual studio」「Windows EXE実行ファイル」のリリースについての質問です
Visual studio(C#)でコンパイルした、
Windows EXE実行ファイルのリリースについて質問です。
バッチシステムとしてタスクスケジューラーで起動させますが、
頻繁にシステム改修があり、都度リリースが必要です。
しかし、システム実行中にリリース(EXEファイルの上書き)を行うと、
起動中のため上書きエラーとなります。
実行中のEXEに対して、
次回の実行分から最新のシステム改修を反映させるには、
どのようにしたら良いでしょうか?
以下私の案がございますが、スマートではありませんし、
実行開始に時間がかかるデメリットがございます。
他にスマートな案はございますでしょうか?
起動に関するフレームワークなどあるのでしょうか。
<案>
1.処理開始時に本体EXEファイルをコピーして実行版EXEファイルを作成する(同一のEXEファイル)
2.実行版EXEファイルを起動する
3.実行中でも本体EXEファイルは上書き可能なため、本体EXEファイルに対してリリース(EXEファイルの上書き)を行う ■「C#」「Visual studio」「Windows EXE実行ファイル」のリリースについての質問です
Visual studio(C#)でコンパイルした、
Windows EXE実行ファイルのリリースについて質問です。
バッチシステムとしてタスクスケジューラーで起動させますが、
頻繁にシステム改修があり、都度リリースが必要です。
しかし、システム実行中にリリース(EXEファイルの上書き)を行うと、
起動中のため上書きエラーとなります。
実行中のEXEに対して、
次回の実行分から最新のシステム改修を反映させるには、
どのようにしたら良いでしょうか?
以下私の案がございますが、スマートではありませんし、
実行開始に時間がかかるデメリットがございます。
他にスマートな案はございますでしょうか?
起動に関するフレームワークなどあるのでしょうか。
<案>
1.処理開始時に本体EXEファイルをコピーして実行版EXEファイルを作成する(同一のEXEファイル)
2.実行版EXEファイルを起動する
3.実行中でも本体EXEファイルは上書き可能なため、本体EXEファイルに対してリリース(EXEファイルの上書き)を行う 大事なことなのでたくさん投稿しています。
嫌なら見ないでくださいね。 やっていることが根本からアホで業務でやっていたら殴られるな C#はCの正統進化なのか、Cの文法を真似ただけの継子なのか? >>30
継子どころか、初期にちょっと文法を借りただけレベルになんじゃないかな。 Icon とか継承したクラス造ろうとしたら protected 観たいなエラー出るのですが
無理やり継承する方法はありますか? その場合引数で Icon 型を期待してるメソッドに渡しても大丈夫ですか?
いちいちキャストするの面倒ですしそもそもキャスト出来ない気がします >>32
構文から演算子の順位まで全然違う。Pascal風味はゼロ。 >>36
キャスト(変換演算子)は必要なら自分で定義できるし、
明示的キャスト不要で暗黙的に行われるようにすることもできるよ
まあそもそも問題設定が間違ってるような気もするけどw >>25
前提がよくわからない
起動時か定期でiniファイル読んで書いてあるバージョンが自分のより新しかったらチェンジ用exeをキックして自分は終了
exeの上書きと自分の再起動はチェンジ用exeに任せる >>33
VB6風味もゼロだろ。VB.NETこそがVB6とC#の混血児、というよりBasicの皮を被ったC#。
ソースの著しい類似性が一目瞭然。
using System;
class Program {
static void Main()
{
int i = 1;
i += 2;
Console.WriteLine(i);
}
}
Imports System
Module Program
Sub Main()
Dim i As Integer = 1
i += 2
Console.WriteLine(i)
End Sub
End Module そのコードじゃC#の影響を受けた部分が全く分からないんだが。 なんだ?この糞スレ
と思ったら2016年だとwww
どこから引っ張り出したんだよ 初心者スレでマウント取りたい奴らはこっちに来ないからな そろそろMSはC#に統一してくれんかな
VBと両方管理するコストも馬鹿にならんだろ いつ切るかって感じになってると思うよ
OfficeのマクロもPython採用されたし
C#じゃねーのかよwとは思った >>47
>OfficeのマクロもPython採用されたし
採用されてないよ
PythonじゃなくJavaScriptなら採用されたけど >>46
古いことしか知らなくて申し訳ないけど
excelのシート操作時の解放とか面倒なんでvb.netで書いちゃうけどそんなことないのか? >>48
安心した。pythonなんて埋め込みに一番向いてなさそうな言語なのにどうするんだろうと思ってた。 >>51
Python埋め込みに向いてないってどうして?
BlenderもMayaも3DS MaxもPythonでいい感じにスクリプト組めるよ。 javascriptならdllひとつで組み込めたりするのに、embeddable pythonなんて
embeddableと言いながら結局実行環境まるまるコピーしてるようなものだし。 実用に耐えるクロスプラットフォームなJavaScriptの実行環境はdll一つで組み込めんでしょ。
実行環境内包する事のどこがおかしいのかわからんが。
MS製品でいうと、すでにPowerBIなんかだとPythonで書いたモジュールでグラフ描いたりできるよ。
埋め込みに向いてないってのは知らないだけの無知でしょ、流石に。 できるできないじゃなくてどれだけ向いてるかって話な。
埋め込みならlua mruby python javascriptと一通り試したことはあるが。
>実用に耐えるクロスプラットフォームなJavaScriptの実行環境はdll一つで組み込めんでしょ。
msのjavascriptエンジン(chakra)は実際dllひとつだけ。 >>55
すまん、Chakraそうだったのか。そりゃ便利そうだな。
ちょっと興味あるんだけど、ファイルとかのIOとかはどうなるの?ホスト言語側で持たないと?クロスなの?
日頃MAXとMayaとでごちゃごちゃやってUnity用アセット管理したりしてるけど、結構向いてると思うよ、Python。 I/Oは全部ホスト側で用意しなきゃならないね。埋め込みとしてはそちらの方がありがたいけど。 なるほど。IOを再実装しないといかん事の是非は、埋め込みをどのように使うかだろうなぁ。
ファイル一覧とか触りたいときは標準のライブラリが使えたほうがだいぶ楽だし、そのアプリ専用のコマンドが減れば減るほどありがたいと思う方。
ユーザに開放するか開発者に開放するかどっちかってやつかもね。 ふらっと C#,C♯,C#(初心者用) Part150
https://mevius.5ch.net/test/read.cgi/tech/1616471904/
の
>>44-50
横から便乗で質問ですけど、
「いつか使うだろう」とインターフェースや継承関係を作っておく自体は推奨されることですか?
例えば、インターフェースや継承関係が無くても、直付けで作れてしまう訳じゃないですか。
むしろ、そっちの方が楽(というか、直付けでしか作れない人もいますし)。
ただし、物事が複雑化してきたときに、インターフェースや継承関係があると拡張しやすい。
これって上級者なら、(どんなに小さいプログラムだろうが)常にインターフェースや継承関係を作った方がいいのか、
それとも、ケースバイケースで「このぐらい複雑ならインターフェースや継承関係が要る」という判断基準に則って作った方がいいんですか? ドキュメントの用意ができるかできないかでも違ってきそうな気がする >>60
なるほど、その回答は暗に「ケースバイケース」と言っていますね。 >>59
あくまでチーム開発が前提にはなるが、インターフェイスを作るなら、今取り組んでいるタスク(pull request)のコードの中で必要性を示せ
一番分かりやすいのはモックして単体テストを書くことだな
それが示されてない限り俺ならリジェクトするよ >>59
普通はやってはならないが常識
その設計と拡張方向の正当性が問われる事態になる
その時〜な気がするではなくキチンとビジネスで通用する説明ができないと窮地に追い込まれる
ただドキュメントを書かない現場というのもあって
そういうところでは担当者の趣味で付けてしまう >>62-63
なるほど、納得です。
一番合理的な意見でよかったです。
インターフェースや継承についての本やネットの記事では、
なんでもかんでも拡張できるように書くような勢いで、
しかも読んでる最中は確かにそうすべきかなと思ってました。
でも、実際に使おうとすると、どこまでやっていいのか迷ってました。
YAGNIに沿って「必要になってから作る」でいいんですね。 >>59
継承関係に関しては明確に必要な場合か
事前のアーキテクチャ設計方針で決まってる場合以外には使わないかな
インターフェースに関しては依存性の方向を変えたかったり
結合度を下げたかったりする明確な理由があれば良いと思う
(「いつか使うだろう」という理由とはちょっと違うけど)
依存性の方向は大事 例えば
あるライブラリを後で違うものに入れ替えられるように作っておきたい
というのでも十分な理由
入れ替え可能にする手間や増加するコードの複雑性と
呼び出し側の変更なく入れ替えが可能な柔軟性とのトレードオフ
関数のある処理をヘルパー関数として抽出するべきか
そのままインラインで書いておくべきかというのと考え方的には大きな違いはない >>65-67
> 継承関係に関しては明確に必要な場合か
> 事前のアーキテクチャ設計方針で決まってる場合以外には使わないかな
これは明確な回答ですね。
つまり、例えば大学の学生証管理システムだとすると、Studentクラスで直にコーディングして、
後にアーキテクチャ設計方針がひっくり返されて「教授も身分証作ったから足してくれ」となった場合は
Person→Student, Person→Professorのような継承関係にするわけですね。
それまでにStudentに直に結び付けて作ったメソッドなどは一部作り直しになりますが、そこは許容するスタイルですね。
> インターフェースに関しては依存性の方向を変えたかったり
> 結合度を下げたかったりする明確な理由があれば良いと思う
> あるライブラリを後で違うものに入れ替えられるように作っておきたい
…と言われると、依存性は低い方が良いに決まっていますし、
あるライブラリを後で違うものに入れ替えられるように作っておいた方が良いに決まっていますよね?
そして、未来は予測できないので、その工夫が後に活きてくるか無駄になるかは不明です。
つまり、
> 入れ替え可能にする手間や増加するコードの複雑性と
> 呼び出し側の変更なく入れ替えが可能な柔軟性とのトレードオフ
つまり、工数として、
入れ替え可能にする手間や増加するコードの複雑性 > 呼び出し側の変更なく入れ替えが可能な柔軟性
か
入れ替え可能にする手間や増加するコードの複雑性 < 呼び出し側の変更なく入れ替えが可能な柔軟性
かは不明です。
このトレードオフをどのように決めていますか?
>>62-63さんは「今、不要な機能なら要らない」という指標を示して下さいました。 >>68
>…と言われると、依存性は低い方が良いに決まっていますし、
>あるライブラリを後で違うものに入れ替えられるように作っておいた方が良いに決まっていますよね?
決まってないよ
Rails使ってWebアプリ開発する場合ならActiveRecord以外のORMに入れ替えられるように作っておいたほうがいい?
Rails以外のフレームワークに入れ替えられるように作っておいたほうがいい?
JavaScriptでReact使う場合ならReact以外のフレームワークに呼び出し側の変更なく入れ替えられるように作っておいたほうがいい?
jQueryやlodash使う場合は他のライブラリに入れ替えられるよう作っておいた方がいい?
状況に応じてどこまでを許容するかの線引きをするんだけどその線をどこに引くのかはケースバイケース
要件、組織、ライブラリの品質/将来性/安定性/重要性、変化の方向性などを総合的に判断することになる
それと結合度を下げる方法はインターフェース以外にもある
インターフェースでより重要になるのは依存性の方向 >>68
>Person→Student, Person→Professorのような継承関係にするわけですね。
それは継承関係が明確に必要なケースじゃないから作らない 知識と経験が乏しいから勝手に〜しかないって決めちゃってる場合がほとんどだよね windowsとLinuxを切り替えられるように作っておったアホがいたけど
そもそもそんな要件ないのにプロジェクトに過剰な負担を強いただけのアホだったと思う
アホってこういうの勝手に入れちゃうんだよね
お前の趣味だろそれって 最近、というかいまさらながらDDDに挑戦したんだが
リポジトリクラスのインターフェース作ることで、DBに依存しないテストをすることができるということがやっと理解できた
私はアホなので手を動かさないと理解できないのだ…
本やネットと睨めっこしててもダメなのだ… HibernateもMyBatisもそのはずなんだが
なぜもう一枚レイヤーが必要だったのか ビジネスロジックを全部自前のクラスで固めて
世間に依存しないようにしましょうということだったのだろうか 実用的にはほぼDAOだよ
テストの時に小回りが利いていいかなーって程度だな
DB乗り換えみたいな超絶レアケースを利点に挙げてる奴はどうかしてると思う
あとビジネスロジックをRepositoryに書くと原理主義者に殴られるから要注意な
俺は殴んないけど ×DB乗り換え
○ドライバーが無いようなDBへの乗り換え