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

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 9e9f-LwdJ)
垢版 |
2018/10/04(木) 18:56:38.41ID:JnxMNCXd0
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください

>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

■関連スレ
C#, C♯, C#相談室 Part93
https://mevius.5ch.net/test/read.cgi/tech/1492818720/
■前スレ
ふらっと C#,C♯,C#(初心者用) Part139
https://mevius.5ch.net/test/read.cgi/tech/1533466544/
■コードを貼る場合は↓を使いましょう。
http://ideone.com/
https://dotnetfiddle.net/

■情報源
https://msdn.microsoft.com/ja-jp/library/gg145045.aspx
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/index
https://msdn.microsoft.com/en-us/library/gg145045.aspx
http://referencesource.microsoft.com/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
2018/10/04(木) 23:05:26.82ID:qWTjGweS0
ネットワークやバイナリファイル編集でバイト配列操作する機会多いんだけど、何を使うのが一般的なの?
StreamにしてBinaryReaderやBinaryWriterで読み書きしてたら、バイト配列は添字使って編集するのが速いし確実とかCみたいなプログラム書くおっさんPGに言われちゃった・・・
2018/10/04(木) 23:23:18.76ID:qbe854ro0
>>1

>>2
用途によるし「確実」はちょっと意味がわからないけど構造体のように複数の長さのデータを格納・読込するのならそれでいいんじゃね?
1byteごととか任意のバイト長さとかファイル単位なら
https://dobon.net/vb/dotnet/file/filestream.html
でその人の言うように配列のインデックス使ってやればいいと思うし
4デフォルトの名無しさん (アウアウウー Sa83-MQj3)
垢版 |
2018/10/04(木) 23:31:36.71ID:58olDMZFa
>>2
同じく「確実」の意図が分からないからそれは置いておいて
byte配列のほうが速いのは確か
ただしネットワーク通信やファイル入出力の所要時間と比べれば微々たる違いだろうから
先頭から順に読み書きできればいいならBinaryReader/Writerで、
ランダムアクセスしたいならbyte配列で操作すればいいと思う

StreamでもPositionやSeek()で位置を動かせるけどあまり見ない気がする
2018/10/04(木) 23:46:55.97ID:aAHFTiw7a
>>2
C#の最新事情でいうと、Span<T>という安全なポインタのようなものが入ったり、
それに伴ってBinaryPrimitivesみたいな低レベルなユーティリティが充実したりして、
残念ながら時代はCおじさんの方にある
2018/10/05(金) 00:13:17.22ID:H1SMXMnNa
>>2
むしろStreamにする意味って何なんだろうとw
他の形式のデータも透過的に扱いたいのでなければ意味がない気が
2018/10/05(金) 09:06:50.59ID:LGlJpP21M
C#という事ではないのかもしれませんが相談させてください。

複数のPCで複数のアプリが稼働していて、これらの稼働状態をモニタリングしたいと考えています。
正常に動作しているか、今どういう状態か程度で、止まっていたりしたら知りたいです。

各アプリから状態をDBに都度登録してもらい、それを監視すればいいかとも思うのですが、
この方法だとアプリが正常に動作していない場合とかは、DBの更新が止まっているのを判断するしかありません。

このような案件の場合、よい方法、定番の方法ってあるでしょうか?
2018/10/05(金) 09:09:25.87ID:9pDoP7+lM
>>7
Xabbix
2018/10/05(金) 11:24:13.45ID:7tAwzpXyM
>>7
決まったフォルダ、アプリ別ファイルに状態を書き込むだけでいいような
2018/10/05(金) 12:25:06.26ID:3Syb0Y7Yd
>>7
正常に動作していない、を判定するのは無理だよ。
正常に動作していなかったら、「正常に動作できてません」って発言すら信用できないっしょ。
素直にアプリ側にたとえ報告することがなくても、忙しくても何が何でも一定時間おきに「動作中」を送信させて、DBには時間とともにそれを記録して、
確認側は最後の時間から一定時間過ぎても更新が無いことを確認するしかないと思うよ。
2018/10/05(金) 14:38:26.76ID:LGlJpP21M
レスありがとうございます。
やはりウォッチドッグで監視するのが定番なんですね。
2018/10/05(金) 18:21:42.66ID:nFaSxASea
定番とはいえないかなあ…
2018/10/05(金) 18:47:24.33ID:Ch2NTSqba
もともとDBに何か記録するのがそのアプリのお仕事ならともかく、
そうでないなら何でわざわざDBにって印象は受けるなあ

まあ、何か事情はあるんでしょうが
2018/10/05(金) 19:55:03.19ID:LGlJpP21M
>>13
DBは使ってますが、特に拘りがあるわけではないです。
何が一般的ですか?
2018/10/05(金) 20:17:35.38ID:N/cJ9waZd
一般的とか定番とかにこだわりすぎ
君のシステムにあったものを選択すればいい
すでにシステムとしてDBを利用してるなら、その横で正常動作を監視するのには何の違和感もない
2018/10/05(金) 20:29:12.88ID:A3z1jwkNa
>>14
いや、監視役のPCの監視用のアプリが直接各PCのアプリに確認するとか、
逆に各PCのアプリが定期的に報告するとか、そっちの方が回りくどくないんじゃないかと思っただけ。

だから直接通信できないとか何か事情があるのかなと
2018/10/05(金) 23:36:46.57ID:hL15zPdp0
>>16
なるほど、確かにそうですね。
ソケット通信みたいなプロセス間通信でって事でしょうか?
時間の関係で監視アプリはまだ未定で、取り敢えずネタを仕込む仕組みだけは考えておこうと言う思いでDBが浮かんだんでしょうか。
2018/10/06(土) 01:17:30.44ID:GDCWtS3pa
それこそZabbixなどの監視スイートでいいだろ
サーバーとクライアントに出来合いのフリーソフト入れるだけで、このスレの連中が10年かけても作れない立派な監視システムの出来上がり
2018/10/06(土) 08:31:42.88ID:lJ9HnWTid
デリゲートってのがよく分からんのですが、
C言語の型だけ並べた関数ポインタみたいなものですかね?
2018/10/06(土) 08:40:04.82ID:hgnllvmvM
>>19
関数ポインタの配列ぐらいに理解しておいて問題ないかと
細かい違いはおいおいと
2018/10/06(土) 22:12:33.62ID:5sHefPQo0
>>19
そのとーり
2018/10/06(土) 22:12:35.20ID:b44kc6dy0
>>19
ヤることが定義できるって素晴らしいよね?
愛の形って関数が、セックルだったり、妹の靴下を嗅ぐだったり、ブラを嗅ぐなり
23デフォルトの名無しさん (ワッチョイ 968a-XM+q)
垢版 |
2018/10/07(日) 04:08:03.95ID:VK7xOYMb0
他のPCの共有フォルダの内容を表示したいのですが、どうやってIDとパスワードを使って接続すればよいのでしょうか?
2018/10/07(日) 07:50:20.22ID:PmJSQ8fh0
WNET系のwindowsAPI叩くか
net useか
2018/10/07(日) 08:51:08.25ID:kve7u25tM
エクスプローラと競合するからお気をつけませ
2018/10/07(日) 12:50:18.77ID:zKmec8P2M
Javaより優位な点て何ですか?
2018/10/07(日) 12:55:40.93ID:TpDmbWu/a
原人とかカレーとか呼ばれずに済みまする
2018/10/07(日) 17:24:45.63ID:I+vd7v7Qa
>>26
マイクロソフト商品と親和性が高い場合がある
2018/10/07(日) 19:05:14.16ID:OYpBo9t+0
親会社のオープンソースに対する信用度
2018/10/07(日) 21:25:32.12ID:fkKga7ZHM
>>26
国内だとJavaに比べるとエンジニアの平均スキルが高く、案件の質が良い
31デフォルトの名無しさん (ワッチョイ e2d2-pJhu)
垢版 |
2018/10/08(月) 02:16:46.72ID:fwPk56zX0
>>26
過去のしがらみがないので
(ちょっとはあるけど)
良い進化ができる
2018/10/08(月) 02:19:34.16ID:dSuydhfr0
悪いことは言わん。
C#はやめとけ。C++の方がまし。
2018/10/08(月) 03:57:28.95ID:QkcHjm7c0
最近のC++の魔境ぶりはC#の比じゃない
2018/10/08(月) 08:06:18.04ID:YAwndXAXM
悪いことは言わん。
C#はやめとけ。Javaの方がまし。
2018/10/08(月) 08:11:27.49ID:876SMEcI0
Javaは供給過剰で単価がVB6並み
36デフォルトの名無しさん (ワッチョイ d0e8-vBoO)
垢版 |
2018/10/08(月) 08:47:31.14ID:BjxsuyVh0
Javaはレガシィと言われる時代か
2018/10/08(月) 10:27:37.97ID:jzUSomae0
C++やり過ぎて複雑すぎ
C# バランスがいい。速度必要ならunsafeも簡単にできるし。
java やらなさすぎ。速度必要ならJNIに逃げるしかない。
2018/10/08(月) 10:31:33.47ID:I6BtkXxw0
パラダイムが同じならどの言語でも大差ないだろ
どうせ複雑な機能は使わない
複雑にならないように設計して実装するのが腕の見せ所でござろうよ
2018/10/08(月) 10:35:09.02ID:jzUSomae0
まぁ、ラピッドリリースになった最新のJavaならラムダに始まってvarによる型推論もできるようになったり結構ストレスなく使える。
後はProject panamaやヴァルハラ?などのvaluetypeやら。コルーチンやasnc/awaitやらが来れば後10年は戦える。
プロパティも欲しいとこだが今さらこれは望み薄だろう。
■ このスレッドは過去ログ倉庫に格納されています