■前スレ
ふらっと C#,C♯,C#(初心者用) Part147
http://mevius.5ch.net/test/read.cgi/tech/1582100741/
■関連スレ
C#, C♯, C#相談室 Part94
http://mevius.5ch.net/test/read.cgi/tech/1553075856/
■コードを貼る場合は↓を使いましょう。
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
探検
ふらっと C#,C♯,C#(初心者用) Part148
■ このスレッドは過去ログ倉庫に格納されています
1ななC ◆jPpg5.obl6
2020/05/27(水) 10:14:39.92ID:wHIUQvvs2020/06/03(水) 22:58:52.61ID:lrkVbNIP
c++
java
javascript
これらは業務の人が使ってて田舎でも求人がある
あとVB6 python 意外なことにperlとか
何に使ってるのかは知らない
java
javascript
これらは業務の人が使ってて田舎でも求人がある
あとVB6 python 意外なことにperlとか
何に使ってるのかは知らない
80デフォルトの名無しさん
2020/06/04(木) 01:31:22.32ID:tpxvVokJ >>78
自分はMS Officeとの親和性の高さからC#(というかMicrosoftの開発環境)を使っている。
結局ユーザーが使うのはWindows10上でWord、Excelであり、それのドキュメントを食って処理が始まる以上、OSSの中途半端なライブラリには頼れない。
自分はMS Officeとの親和性の高さからC#(というかMicrosoftの開発環境)を使っている。
結局ユーザーが使うのはWindows10上でWord、Excelであり、それのドキュメントを食って処理が始まる以上、OSSの中途半端なライブラリには頼れない。
2020/06/04(木) 02:18:15.36ID:XEcYdvMd
>>78
OSSのライブラリが充実してない?具体的に比較してみて
OSSのライブラリが充実してない?具体的に比較してみて
2020/06/04(木) 09:22:46.32ID:6ZR/QutM
>>79
VB6は過去のレガシー案件だろ
VB6は過去のレガシー案件だろ
2020/06/04(木) 10:03:16.26ID:8e2Cwycp
OSSが充実してないのは何となくわかる
中途半端に開発止まってて全機能網羅してないC#ラッパーとか結構見かける
中途半端に開発止まってて全機能網羅してないC#ラッパーとか結構見かける
2020/06/04(木) 10:27:08.63ID:AYX3XxxN
C#erを名乗るおれですら最近はPython使ってるもんね
機械学習系のことやるならPythonになっちゃうんだよなあ
機械学習系のことやるならPythonになっちゃうんだよなあ
2020/06/04(木) 10:39:43.53ID:Tu9B6l3N
C#というよりはWindowsの問題だと思うなあ
俺もC#でプログラミング覚えて仕事でも一番よく使うのはC#だったけど、Web系に行ってからはWindowsの壁を感じるようになって、今では全く使ってないわ
C#な人って出来合いのものを活用するという考え方が薄くて、わりと自分でコード書いてなんでも解決しようとする人が多いように思う
俺もC#でプログラミング覚えて仕事でも一番よく使うのはC#だったけど、Web系に行ってからはWindowsの壁を感じるようになって、今では全く使ってないわ
C#な人って出来合いのものを活用するという考え方が薄くて、わりと自分でコード書いてなんでも解決しようとする人が多いように思う
2020/06/04(木) 10:58:46.85ID:E7Cd+5Oq
携わる分野が変われば言語も変わるという普遍的な話なだけでは
2020/06/04(木) 11:31:40.46ID:6ZR/QutM
Pythonはライブラリを組み合わせるだけだからつまらないのがな
2020/06/04(木) 11:32:53.20ID:XEcYdvMd
DropboxはPythonの負債に四苦八苦してるよね
2020/06/04(木) 16:35:14.44ID:scp7afg6
NuGet使ったら「訳のわからんもん使うな」と上司と喧嘩になった
2020/06/04(木) 16:53:36.43ID:XEcYdvMd
訳のわからんライブラリを使うなってのならわかるけど、NuGet自体を使うなってのはキチガイ
2020/06/04(木) 16:53:57.22ID:6NmuY8JB
そこでPacketですよ
2020/06/04(木) 17:10:37.74ID:6ZR/QutM
NuGetで持ってくるライブラリ次第だな
MSや大手メーカーならそれなりに信頼出来るけども、
個人で作ってるライブラリは実用例が無いと信頼出来ないし
あとライセンス
MSや大手メーカーならそれなりに信頼出来るけども、
個人で作ってるライブラリは実用例が無いと信頼出来ないし
あとライセンス
2020/06/04(木) 18:05:56.12ID:aHALqn6q
linux屋がいないとossは発展しづらい
linuxのc#は比較的最近になるから
linuxのc#は比較的最近になるから
2020/06/04(木) 18:16:05.25ID:dmqdgjzk
CUIで作るとして何が欲しい?
2020/06/04(木) 18:18:03.10ID:ZjzlgC2r
C#で作るのにCUIとかゴミ
2020/06/04(木) 19:05:50.14ID:kOCYL5JR
じゃPowerShellはゴミだね
2020/06/04(木) 19:08:35.14ID:dmqdgjzk
荒らしはスルーで
2020/06/04(木) 19:12:40.45ID:4cMxmUl+
かまってちゃんもスルーで
2020/06/04(木) 19:40:14.14ID:AYX3XxxN
>>85
わかる。車輪再開発ばかりだわ
わかる。車輪再開発ばかりだわ
100デフォルトの名無しさん
2020/06/04(木) 20:06:13.33ID:aW9GlgKj Windowsは伝統的にCUI環境が貧弱で、UNIXのように既製の小さなコマンドをちょこちょこっと組み合わせてやっちゃうという風にはいかないことが多かった
しかもクライアントアプリの開発が多く、システムに入っているコマンドに頼ると環境に依存しやすいために忌避されやすい
結果として、インプロセスのコーディングに頼る文化ができたんだろうね
必然的に細かい要件がコードに入り込みやすく、OSSにできるような汎用的なものが生まれにくい
しかもクライアントアプリの開発が多く、システムに入っているコマンドに頼ると環境に依存しやすいために忌避されやすい
結果として、インプロセスのコーディングに頼る文化ができたんだろうね
必然的に細かい要件がコードに入り込みやすく、OSSにできるような汎用的なものが生まれにくい
101デフォルトの名無しさん
2020/06/04(木) 20:09:24.15ID:XEcYdvMd なぜ最後の文の結論になったw
102デフォルトの名無しさん
2020/06/04(木) 20:24:38.50ID:dmqdgjzk OWINがあるから、CUIでもweb i/fは作れるから
と思ったんだけどね
と思ったんだけどね
103デフォルトの名無しさん
2020/06/04(木) 21:28:55.14ID:YseI1m6v >>94
dockerでフィクスチャ作るような奴欲しい
dockerでフィクスチャ作るような奴欲しい
104デフォルトの名無しさん
2020/06/05(金) 18:07:08.06ID:t6SsxgaE WindowsではOSSが少ないのではなく、64ビットのWindows7が浸透してきたころから
OSSが減ってきているって感じじゃないかな
Win7 64はアプリでもなんでも署名が必要で、特にドライバは署名が正しく行われて
いないと嫌がらせのような開発者モードでしかシステムが動かない
署名が悪いとは思わないけど、署名を取得するには個人の開発者ではまかなうのが
大変なレベルのお金がかかるし、ドライバ作れないのであれば古い機器を有効活用
したりアイデア機器とかも作れないしでOSS作ってくれる層からみるとつまらない
Androidもユーザが自由にやれていたころはOSSが多かったけど、どんどん変な縛りが
増えてPlayに怪しげなS/Wは増えたけどOSSのプロジェクトはどんどん減っている
ちょっとしたアプリなら今でも作れるよねっていうのは分かるけど、大型のOSS
プロジェクトをやってくれる人は、意味のない縛りの多いプラットフォームではやってて
面白くないからWindowsのOSSをどんどんやめていってるんじゃないかな
OSSが減ってきているって感じじゃないかな
Win7 64はアプリでもなんでも署名が必要で、特にドライバは署名が正しく行われて
いないと嫌がらせのような開発者モードでしかシステムが動かない
署名が悪いとは思わないけど、署名を取得するには個人の開発者ではまかなうのが
大変なレベルのお金がかかるし、ドライバ作れないのであれば古い機器を有効活用
したりアイデア機器とかも作れないしでOSS作ってくれる層からみるとつまらない
Androidもユーザが自由にやれていたころはOSSが多かったけど、どんどん変な縛りが
増えてPlayに怪しげなS/Wは増えたけどOSSのプロジェクトはどんどん減っている
ちょっとしたアプリなら今でも作れるよねっていうのは分かるけど、大型のOSS
プロジェクトをやってくれる人は、意味のない縛りの多いプラットフォームではやってて
面白くないからWindowsのOSSをどんどんやめていってるんじゃないかな
105デフォルトの名無しさん
2020/06/05(金) 18:17:13.81ID:Gc/z/0xy 妄想おつ
106デフォルトの名無しさん
2020/06/05(金) 20:09:48.86ID:Lq81HhXC Microsoft自体がOSS推してるのを知らないのか?
107デフォルトの名無しさん
2020/06/05(金) 20:18:30.44ID:8wwt63Ui 開発リソース割けなくなった製品の姥捨山として考えてるイメージ
108デフォルトの名無しさん
2020/06/05(金) 20:27:24.53ID:Gc/z/0xy >>107
現実を見なさい
現実を見なさい
109デフォルトの名無しさん
2020/06/05(金) 21:58:19.72ID:td6kQI8l 質問だけど
Windowsアプリ作るにあたり
VisualBasicを使っちゃいけなくて(好まれなくて)C#を使うべきっていうのは
どういう理由からですっけ?
Windowsアプリ作るにあたり
VisualBasicを使っちゃいけなくて(好まれなくて)C#を使うべきっていうのは
どういう理由からですっけ?
110デフォルトの名無しさん
2020/06/05(金) 22:07:18.81ID:G2EzgRxv >>109
古いからって理由だと思う
古いからって理由だと思う
111デフォルトの名無しさん
2020/06/05(金) 22:13:26.64ID:G2EzgRxv でもマイクロソフトも新規機能は付けないって言ったり
vbオワコン感あるね
今からやるのは絶対避けた方がいいな
vbオワコン感あるね
今からやるのは絶対避けた方がいいな
112デフォルトの名無しさん
2020/06/05(金) 22:35:39.50ID:td6kQI8l そうざますかなるほど
113デフォルトの名無しさん
2020/06/06(土) 23:27:10.97ID:Ty36+cj5 >>109
オブジェクト指向言語に寄せていくとC#とかJavaみたいなシンタックスになっていくって聞いたことある。VBみたいな書き方は向いてないんだって。
オブジェクト指向言語に寄せていくとC#とかJavaみたいなシンタックスになっていくって聞いたことある。VBみたいな書き方は向いてないんだって。
114デフォルトの名無しさん
2020/06/07(日) 11:35:44.28ID:s05OkEKn 自分をオブジェクト指向だと思い込んでる手続き型言語のイメージ
クラス定義をしてるというよりも、クラス定義をする命令を書いてる感じがする
End句とか特に
クラス定義をしてるというよりも、クラス定義をする命令を書いてる感じがする
End句とか特に
115デフォルトの名無しさん
2020/06/07(日) 11:36:39.69ID:s05OkEKn ごめん
意味不明な事書いた
忘れて
意味不明な事書いた
忘れて
116デフォルトの名無しさん
2020/06/07(日) 12:01:10.67ID:OpsuUylK117デフォルトの名無しさん
2020/06/07(日) 12:07:01.26ID:bN0eQpRN >>116
納得しちゃダメw
納得しちゃダメw
118デフォルトの名無しさん
2020/06/07(日) 13:34:29.22ID:ABh2E5hx 誰得
119デフォルトの名無しさん
2020/06/07(日) 13:38:21.36ID:ysGPyHPQ IT掲示板群 ttp://x0000.net/forum.aspx?id=15
学術の巨大掲示板群 - アルファ・ラボ ttp://x0000.net
数学 物理学 化学 生物学 天文学 地理地学
IT 電子 工学 言語学 国語 方言 など
simulationライブラリで純粋な関数式プログラミングをする
ttp://x0000.net/topic.aspx?id=3631-0
UIライブラリ (C#, 2D) を作ったよ
ttp://x0000.net/topic.aspx?id=3688-0
連続と離散を統一した!
ttp://x0000.net/topic.aspx?id=3709-0
4Dエンジン(画像有り)
ttp://x0000.net/topic.aspx?id=3677-0
matrixのライブラリ
ttp://x0000.net/topic.aspx?id=3711-0
ある強力なFor関数
ttp://x0000.net/topic.aspx?id=3630-0
SQLライブラリ
ttp://x0000.net/topic.aspx?id=3675-0
PS malloc / free を実装してみた (C#)
ttp://up.x0000.net/files/TMallocTest.zip
学術の巨大掲示板群 - アルファ・ラボ ttp://x0000.net
数学 物理学 化学 生物学 天文学 地理地学
IT 電子 工学 言語学 国語 方言 など
simulationライブラリで純粋な関数式プログラミングをする
ttp://x0000.net/topic.aspx?id=3631-0
UIライブラリ (C#, 2D) を作ったよ
ttp://x0000.net/topic.aspx?id=3688-0
連続と離散を統一した!
ttp://x0000.net/topic.aspx?id=3709-0
4Dエンジン(画像有り)
ttp://x0000.net/topic.aspx?id=3677-0
matrixのライブラリ
ttp://x0000.net/topic.aspx?id=3711-0
ある強力なFor関数
ttp://x0000.net/topic.aspx?id=3630-0
SQLライブラリ
ttp://x0000.net/topic.aspx?id=3675-0
PS malloc / free を実装してみた (C#)
ttp://up.x0000.net/files/TMallocTest.zip
120デフォルトの名無しさん
2020/06/07(日) 15:21:59.81ID:HbOCC7H8 ネイティブアプリを作ってるのですが、
パスワードがかけられたファイルをオープンしたりしようとしています。
コンパイルされるからパスワードはコードにリテラルで書こうと思っています。
が、
c#のコンパイル物の逆コンパイル性はかなり容易なのでしょうか?
Javaはコンパイルしても逆コンパイルで全部戻せれるそうですが。
パスワードがかけられたファイルをオープンしたりしようとしています。
コンパイルされるからパスワードはコードにリテラルで書こうと思っています。
が、
c#のコンパイル物の逆コンパイル性はかなり容易なのでしょうか?
Javaはコンパイルしても逆コンパイルで全部戻せれるそうですが。
121デフォルトの名無しさん
2020/06/07(日) 15:26:10.81ID:RWTT3Yr/ >>120
C#の逆コンパイルはフリーウェアでほぼ完全にできるレベル
C#の逆コンパイルはフリーウェアでほぼ完全にできるレベル
122デフォルトの名無しさん
2020/06/07(日) 15:26:15.58ID:BQDkQ1pk >>120
一瞬で逆コンパイルできるから、ソースにパスワード埋め込んだ状態で配布するとか論外
一瞬で逆コンパイルできるから、ソースにパスワード埋め込んだ状態で配布するとか論外
123デフォルトの名無しさん
2020/06/07(日) 15:27:26.51ID:BQDkQ1pk >>120
てかVisual Studio使ってるなら簡単に逆コンパイルできるの知ってるやろ?omnisharpですら最近できるようになったし、昔からilspy等はよく使われてる
てかVisual Studio使ってるなら簡単に逆コンパイルできるの知ってるやろ?omnisharpですら最近できるようになったし、昔からilspy等はよく使われてる
124デフォルトの名無しさん
2020/06/07(日) 15:45:43.26ID:YQeR/K+2 パスワード判定アプリだけc++で書いてc#からキックするって手もある
わかるやつにはわかっちゃうけど
わかるやつにはわかっちゃうけど
125デフォルトの名無しさん
2020/06/07(日) 15:48:05.93ID:a/lkIPFo >>120
クライアントに配布する時点で秘匿は無理だと思え
クライアントに配布する時点で秘匿は無理だと思え
126デフォルトの名無しさん
2020/06/07(日) 15:50:18.31ID:MDOjbT3v ここもVBA質問スレのレベルかね
127デフォルトの名無しさん
2020/06/07(日) 16:56:57.78ID:odk7pmo/ そもそもネイティブアプリって何さ?
128デフォルトの名無しさん
2020/06/07(日) 16:59:43.95ID:BQDkQ1pk >>127
Webアプリに対してクライアント側だけで動作するアプリ、って意味合いでネイティブって言ってるんだろな
Webアプリに対してクライアント側だけで動作するアプリ、って意味合いでネイティブって言ってるんだろな
129デフォルトの名無しさん
2020/06/07(日) 17:00:17.90ID:DbjJE1m7130デフォルトの名無しさん
2020/06/07(日) 17:11:15.20ID:dzDK5z44 パスを見られたくないのなら認証されたユーザーからの要求があった場合にはサバ側でパス保護ファイルを開いてそのバイナリをネットで送るって形にするしかないな
131デフォルトの名無しさん
2020/06/07(日) 22:07:54.57ID:6TqvWrlZ そんな糞めんどくさいことしなくてもインストール時か初回起動時に
ユーザーにパスワード(っていうか復号コードだと思うけど)を入力してもらえばいいでしょw
ユーザーにパスワード(っていうか復号コードだと思うけど)を入力してもらえばいいでしょw
132デフォルトの名無しさん
2020/06/07(日) 23:42:30.31ID:+YSUT0gy Ruby on Rails では、
暗号化キーのmaster.key は、Github へ保存しないけど、
暗号化済みのcredentials.yml.enc は保存する
それを、master.key で復号すると、YML 形式で、下のような設定が書いてある
aws:
access_key_id: 123
secret_access_key: 345
つまり、暗号化済みの文字列は、公開しておいてもOK。
キーが分からないので、復号できないから
逆に、キーは公開したり、アプリ内に含めるとダメ!
暗号化キーのmaster.key は、Github へ保存しないけど、
暗号化済みのcredentials.yml.enc は保存する
それを、master.key で復号すると、YML 形式で、下のような設定が書いてある
aws:
access_key_id: 123
secret_access_key: 345
つまり、暗号化済みの文字列は、公開しておいてもOK。
キーが分からないので、復号できないから
逆に、キーは公開したり、アプリ内に含めるとダメ!
133デフォルトの名無しさん
2020/06/08(月) 07:22:56.58ID:yGStluWB 例外って一度考え始めちゃうとめっちゃ難しいな
色んなサイトのコードとか見てると例外を乱用してるようにしか見えないものが多いように感じる(特にネットワーク関連)
だからといってどこを例外にすれば正しいコードになるのか全然わからん
やっぱり例外処理は全く使わないで済むようにくらいの勢いで想定される例外を自力で検出するのが一番良いんだろうか
色んなサイトのコードとか見てると例外を乱用してるようにしか見えないものが多いように感じる(特にネットワーク関連)
だからといってどこを例外にすれば正しいコードになるのか全然わからん
やっぱり例外処理は全く使わないで済むようにくらいの勢いで想定される例外を自力で検出するのが一番良いんだろうか
134デフォルトの名無しさん
2020/06/08(月) 07:36:06.86ID:SQAF69LT >>133
なんか基準があるはずよ
落ちるのだけはやめてって言われてるなら
GUIの操作するメソッド全部でcatchしてメッセージでも出さんといかんじゃん
それとも「ああ、死んじゃっていいよ」って言われるかもしれんし
この場合は何もしないし
「ログにだけ出して」
ってのもあるし
そもそも各クラス例外を出す方針に一貫性がない
開こうと思ったファイルが開けないときの動作は普通は例外にしたくないけど例外が飛んでしまうときはcatchしないといけないわけで
まあ、個別に対処が必要?
なんか基準があるはずよ
落ちるのだけはやめてって言われてるなら
GUIの操作するメソッド全部でcatchしてメッセージでも出さんといかんじゃん
それとも「ああ、死んじゃっていいよ」って言われるかもしれんし
この場合は何もしないし
「ログにだけ出して」
ってのもあるし
そもそも各クラス例外を出す方針に一貫性がない
開こうと思ったファイルが開けないときの動作は普通は例外にしたくないけど例外が飛んでしまうときはcatchしないといけないわけで
まあ、個別に対処が必要?
135デフォルトの名無しさん
2020/06/08(月) 07:41:47.96ID:CwjbcTvy Rubyの話をする奴は、ちょっと話が違うとか理解することはできんのかな。
136デフォルトの名無しさん
2020/06/08(月) 07:45:18.91ID:CwjbcTvy >>133
例外は、Catchしたとて復帰不可能なものはアプリケーションエラーにして落とすのに使ってるかな。
そのメソッド内で完結できるならばCatchするというか。
後始末してから結局throwするケースもあるけど。
上っ面がアプリケーションからバッチ処理に変わっても同じように使える事、ぐらいを想定して例外処理書くと統一感出ると思うよ。
例外は、Catchしたとて復帰不可能なものはアプリケーションエラーにして落とすのに使ってるかな。
そのメソッド内で完結できるならばCatchするというか。
後始末してから結局throwするケースもあるけど。
上っ面がアプリケーションからバッチ処理に変わっても同じように使える事、ぐらいを想定して例外処理書くと統一感出ると思うよ。
137デフォルトの名無しさん
2020/06/08(月) 09:12:40.55ID:yGStluWB >>134
自作だからその辺りの基準はないなあ
とはいえ世間でも基準は割とバラバラなのか
今回作ってるのはネットワーク関連のクラスなんだけど、初めて手を出す分野だからどれが個別に対処できるかは正直よくわかってないんだよね
参考にしてる資料に忠実に作ったら、ちゃんと動くんだけど例外処理だらけなのが見ててすごく気持ち悪くて、これで本当に正しいのかわからなくなったというか
>>136
使い分け方参考になります
あまり考えたくなったけどちゃんとしたものを組むなら例外の内容毎にきちんと仕分けしなきゃだめなのか・・・なんか逆にどんどん複雑になりそうで胸が熱くなるな
こう考えると寧ろサンプルはシンプルに纏まってて良いものに感じてきたわ
例外は普段最低限しか使用しないものだからイメージできなかったけど二人のお陰でなんとなく輪郭が見えてきた気がする、ありがとう
自作だからその辺りの基準はないなあ
とはいえ世間でも基準は割とバラバラなのか
今回作ってるのはネットワーク関連のクラスなんだけど、初めて手を出す分野だからどれが個別に対処できるかは正直よくわかってないんだよね
参考にしてる資料に忠実に作ったら、ちゃんと動くんだけど例外処理だらけなのが見ててすごく気持ち悪くて、これで本当に正しいのかわからなくなったというか
>>136
使い分け方参考になります
あまり考えたくなったけどちゃんとしたものを組むなら例外の内容毎にきちんと仕分けしなきゃだめなのか・・・なんか逆にどんどん複雑になりそうで胸が熱くなるな
こう考えると寧ろサンプルはシンプルに纏まってて良いものに感じてきたわ
例外は普段最低限しか使用しないものだからイメージできなかったけど二人のお陰でなんとなく輪郭が見えてきた気がする、ありがとう
138デフォルトの名無しさん
2020/06/08(月) 11:34:14.50ID:dXkaUtDt 例外は1つ残らず握りつぶせ
139デフォルトの名無しさん
2020/06/08(月) 12:23:59.18ID:CwjbcTvy >>137
例外って究極のgotoだからね。
その場でやっつけないなら慎重に受ける場所とその後の動きを検討しないといかんよ。
毎回その場でやっつけて、エラーとして呼び出し元に帰すって方針ならそれはそれでいいかも知れんけど、
誰かキャッチするだろって方針で、続行不能だからと適当に例外吐いて落とさせてると、あとで困る。特にバッチ処理。
例外って究極のgotoだからね。
その場でやっつけないなら慎重に受ける場所とその後の動きを検討しないといかんよ。
毎回その場でやっつけて、エラーとして呼び出し元に帰すって方針ならそれはそれでいいかも知れんけど、
誰かキャッチするだろって方針で、続行不能だからと適当に例外吐いて落とさせてると、あとで困る。特にバッチ処理。
140デフォルトの名無しさん
2020/06/08(月) 13:24:22.92ID:MRA6597x141デフォルトの名無しさん
2020/06/08(月) 14:31:54.71ID:T+olwkzM142デフォルトの名無しさん
2020/06/08(月) 14:45:08.81ID:XmX+evHg143デフォルトの名無しさん
2020/06/08(月) 21:31:29.92ID:g8QOms8D144デフォルトの名無しさん
2020/06/09(火) 05:12:12.64ID:qGXJUMNV 色々資料をご紹介いただきありがとうございます
つまり、例外が大好きな.NETを呪いながら潰せる例外はメソッド内で潰し、潰せなければどのような例外があったかをきちんと調べられるようにすれば良いわけかな
今回は例外が発生してもクラッシュせず、かと言ってメソッド内で処理する事はできないようにする予定なので、例外が発生する可能性があるメソッド全てに例外の種類を特定できるような戻り値を与える方向で進めていく予定でやってみます
つまり、例外が大好きな.NETを呪いながら潰せる例外はメソッド内で潰し、潰せなければどのような例外があったかをきちんと調べられるようにすれば良いわけかな
今回は例外が発生してもクラッシュせず、かと言ってメソッド内で処理する事はできないようにする予定なので、例外が発生する可能性があるメソッド全てに例外の種類を特定できるような戻り値を与える方向で進めていく予定でやってみます
145デフォルトの名無しさん
2020/06/09(火) 05:30:56.43ID:pfkm8l8b 例外が出る処理はすべてcatch書いて適切な処理を書けばいいだけ。簡単。
146デフォルトの名無しさん
2020/06/09(火) 07:53:14.85ID:JJE9ezaH >>145
どこでどんな例外が発生するかを全部把握して漏れなくやるのはそれなりに大変だなあ
どこでどんな例外が発生するかを全部把握して漏れなくやるのはそれなりに大変だなあ
147デフォルトの名無しさん
2020/06/09(火) 08:08:09.91ID:iKljlpbe148デフォルトの名無しさん
2020/06/09(火) 08:50:30.25ID:1J1p6pRh 全ての例外をcatchすればいいんじゃね?
149デフォルトの名無しさん
2020/06/09(火) 09:04:01.05ID:khWV6688 後にも先にもJavaしか採用していない悪い仕組みだよ
呼び出し階層の途中をすっ飛ばして高層階と低層階の間で例外の関心が繋がるという、
高階関数やフレームワーク等において普通に存在する極めて重要な例外のユースケースを検査例外は無視している
呼び出し階層の途中をすっ飛ばして高層階と低層階の間で例外の関心が繋がるという、
高階関数やフレームワーク等において普通に存在する極めて重要な例外のユースケースを検査例外は無視している
150デフォルトの名無しさん
2020/06/09(火) 09:29:05.21ID:iKljlpbe うーん、むしろ、例外が漏れるケース、throwsを書かざるを得ないケースってのを減らすべきだと俺は思ってたけどなぁ。
低層階で発生したものを高層階でハンドリングする事が正しいとはあんまり思わんな。
IOのExceptionみたいな、高層階側ではどうしようもない事を上げられても困ると思う。
低層階で発生したものを高層階でハンドリングする事が正しいとはあんまり思わんな。
IOのExceptionみたいな、高層階側ではどうしようもない事を上げられても困ると思う。
151デフォルトの名無しさん
2020/06/09(火) 09:44:56.94ID:xkuk2TPr 検査例外ほんと楽
152デフォルトの名無しさん
2020/06/09(火) 10:19:25.97ID:LXNCuYlO けんされいがいって何だろうと思って調べたんだが、素人目には良い仕組みに見えてしまった
ただ例外を前提にするなら、もはや例「内」のような気が
ただ例外を前提にするなら、もはや例「内」のような気が
153デフォルトの名無しさん
2020/06/09(火) 10:21:47.06ID:0Ox9n+fW154デフォルトの名無しさん
2020/06/09(火) 11:04:45.35ID:V/up5vUs 高層側でどうしようもない例外が上がってきてるならそれは下層側が間違ってるだけでは
155デフォルトの名無しさん
2020/06/09(火) 11:27:54.89ID:/rzxY16Z156デフォルトの名無しさん
2020/06/09(火) 11:29:03.56ID:iKljlpbe チェック例外の発想は悪くないしいい機能だと思うけど、Javaのやりかただとバージョニング諸々で破滅的な事になりがちだから、静的解析なりなんなりのツールで確認すべきかなーっていう主張に読めたんだけど?
157デフォルトの名無しさん
2020/06/09(火) 12:02:30.29ID:GiCu1zyF 何の例外がくるのか意識してかけ派なのか
何の例外も気にするな派なのか
そのどちらであっても書き手の例外テロに強制的に付き合わなければならない
そのごった煮であることを受け入れた上でプロジェクトのスタンスを決めなければならない
何の例外も気にするな派なのか
そのどちらであっても書き手の例外テロに強制的に付き合わなければならない
そのごった煮であることを受け入れた上でプロジェクトのスタンスを決めなければならない
158デフォルトの名無しさん
2020/06/09(火) 12:06:21.98ID:0Ox9n+fW159デフォルトの名無しさん
2020/06/09(火) 12:32:13.75ID:+J3ztXKO >>150
呼び出し階層が関心事の包含関係を反映しないケースは普通にある
ラムダなんかいい例で、君は x.Select(y => y.Hoge) でSelectがHogeの投げる例外を知っていなければならないと言ってるんだよ
呼び出し階層が関心事の包含関係を反映しないケースは普通にある
ラムダなんかいい例で、君は x.Select(y => y.Hoge) でSelectがHogeの投げる例外を知っていなければならないと言ってるんだよ
160デフォルトの名無しさん
2020/06/09(火) 12:43:43.58ID:XPvdX8TV >>144
例外をエラーコードに変換して何の意味があるのw
例外の発生個所でそれを適切に処理できないなら何もしなくていいでしょw
後々のメンテナンスを考えて、あえてcatchして再スローするコードを書いておくのはありだとは思うけど。
例外をエラーコードに変換して何の意味があるのw
例外の発生個所でそれを適切に処理できないなら何もしなくていいでしょw
後々のメンテナンスを考えて、あえてcatchして再スローするコードを書いておくのはありだとは思うけど。
161デフォルトの名無しさん
2020/06/09(火) 12:50:07.05ID:LXNCuYlO >>149
関心が繋がるって意味が分からないんだが、要するに因果関係があるってこと?
関心が繋がるって意味が分からないんだが、要するに因果関係があるってこと?
162デフォルトの名無しさん
2020/06/09(火) 13:18:10.16ID:iKljlpbe163デフォルトの名無しさん
2020/06/09(火) 17:30:22.31ID:aSDBpvhy >>162
例外を投げることを主張するばかりか、それを上位で処理することを強要する仕組みに賛同してなかったか?
例外を投げることを主張するばかりか、それを上位で処理することを強要する仕組みに賛同してなかったか?
164デフォルトの名無しさん
2020/06/09(火) 17:38:45.69ID:SzX0azwe >>163
してないよ。
上位で拾うならアプリケーションを落とすぐらいしかやりようがないって言ってるんだけど。
throwsを書かざるを得ないケースの逆の、書かないケースってどう言う事かわかる?
そのメソッドでは例外が発生しないって事になってるって事だよ。
してないよ。
上位で拾うならアプリケーションを落とすぐらいしかやりようがないって言ってるんだけど。
throwsを書かざるを得ないケースの逆の、書かないケースってどう言う事かわかる?
そのメソッドでは例外が発生しないって事になってるって事だよ。
165デフォルトの名無しさん
2020/06/09(火) 17:59:59.91ID:8zzTjSiL ホント役に立たない議論好きだな
ここから出ないでずっとやっててくれ
ここから出ないでずっとやっててくれ
166デフォルトの名無しさん
2020/06/09(火) 18:18:44.12ID:hAic2KbQ > IOのExceptionみたいな、高層階側ではどうしようもない事を上げられても困ると思う。
どんなに対処してもFileNotFoundExcpetionって防ぎよう無いけど例外受けてUIでエラー表示とかもしないってこと?
低層でexceptionを捕まえて実装者定義の情報に変えてそれでエラーハンドリングしろってこと?
どんなに対処してもFileNotFoundExcpetionって防ぎよう無いけど例外受けてUIでエラー表示とかもしないってこと?
低層でexceptionを捕まえて実装者定義の情報に変えてそれでエラーハンドリングしろってこと?
167デフォルトの名無しさん
2020/06/09(火) 19:00:49.38ID:ZQ97UuIm 会社の共有フォルダに配置されており、パソコン起動時に実行されて、特定の時刻になったらトースト出すプログラムを作りたいのですが、どのようなプロジェクトが向いていると思われますか?
WPFのプログラムを起動して5分おきに時刻をチェックし時間になったらトースト通知という仕組を考えたのですが、タスクバーに常駐してるのもなぁと思いまして
スマートな方法がありましたらご教示下さい
WPFのプログラムを起動して5分おきに時刻をチェックし時間になったらトースト通知という仕組を考えたのですが、タスクバーに常駐してるのもなぁと思いまして
スマートな方法がありましたらご教示下さい
168デフォルトの名無しさん
2020/06/09(火) 19:03:38.70ID:GiCu1zyF 誰がトリガーなのかイマイチわからなかった
169デフォルトの名無しさん
2020/06/09(火) 19:11:59.72ID:TTuCfF7e >>167
タスクスケジューラとpowershell
タスクスケジューラとpowershell
170デフォルトの名無しさん
2020/06/09(火) 19:13:58.26ID:ZQ97UuIm >>169
100台近くあるクライアントにタスクスケジューラは辛いです
100台近くあるクライアントにタスクスケジューラは辛いです
171デフォルトの名無しさん
2020/06/09(火) 19:16:14.88ID:GiCu1zyF172167
2020/06/09(火) 19:26:51.59ID:ZQ97UuIm クライアントパソコンは起動時に実行ファイルを実行出来る配布済みのものです
実行時に実行ファイルを常駐させる他ないかなと思いつつも適材適所のプロジェクトがあればお伺いしたいなと思っております
実行時に実行ファイルを常駐させる他ないかなと思いつつも適材適所のプロジェクトがあればお伺いしたいなと思っております
173デフォルトの名無しさん
2020/06/09(火) 19:30:24.74ID:5mqVZkdG >>160
.NETがcatchを強要するようなオブジェクトなんかを用意するから悩んでる
結局その場で何もできないなら多くのサンプルコードのように、catchした例外内容をコンソール上に表示する(または再スローする)だけの形が正解でいいのかな?
呼び出し元にも例外処理させるのはあまりやりたくないけどこういうのは仕方ないのか
.NETがcatchを強要するようなオブジェクトなんかを用意するから悩んでる
結局その場で何もできないなら多くのサンプルコードのように、catchした例外内容をコンソール上に表示する(または再スローする)だけの形が正解でいいのかな?
呼び出し元にも例外処理させるのはあまりやりたくないけどこういうのは仕方ないのか
174デフォルトの名無しさん
2020/06/09(火) 19:43:10.68ID:XPvdX8TV >>172
別にWindowsのスタートアップに登録して常に起動させておく方法でも問題ないと思うけど、
どうしても嫌なら既に指摘されてる通りWindowsのタスクスケジューラーのタスクに登録すりゃいいでしょ。
ユーザーにそれを手動でやらせろ、と言ってるわけじゃなく、
あなたが作るプログラムがそれをやればいいってことね。
別にWindowsのスタートアップに登録して常に起動させておく方法でも問題ないと思うけど、
どうしても嫌なら既に指摘されてる通りWindowsのタスクスケジューラーのタスクに登録すりゃいいでしょ。
ユーザーにそれを手動でやらせろ、と言ってるわけじゃなく、
あなたが作るプログラムがそれをやればいいってことね。
175デフォルトの名無しさん
2020/06/09(火) 19:43:33.99ID:5mqVZkdG .Net介してタスクスケジューラにアクセスできるみたいだし無理ではないんじゃね知らんけど
176デフォルトの名無しさん
2020/06/09(火) 19:47:14.39ID:DD0S+2l+ むしろ呼び出し元にも例外処理させるために例外があるんだろ
ファイル書き込みをオブジェクトに任せて書き込もうとしたら書き込めなかった
その後の処理を呼び出し側に書かんでどうすんの?
ファイル書き込みをオブジェクトに任せて書き込もうとしたら書き込めなかった
その後の処理を呼び出し側に書かんでどうすんの?
177デフォルトの名無しさん
2020/06/09(火) 19:57:00.94ID:1J1p6pRh 例外をcatchしたらログに吐き出して上位にthrowすればいいじゃん
178デフォルトの名無しさん
2020/06/09(火) 20:20:05.71ID:5mqVZkdG Oh...深く考える必要はなかったってことね
まあ例外に関しては立ち止まって考える機会を得れて十分に学習できたからこれはこれで良かったわ
まあ例外に関しては立ち止まって考える機会を得れて十分に学習できたからこれはこれで良かったわ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【サッカー】J1昇格PO決勝戦 千葉、来季のJ1昇格が決定 17年越しの悲願叶える…オリジナル10が05年以来のJ1にそろう [久太郎★]
- 中国・ロシア両軍の爆撃機が東京方面へ向かう「異例のルート」を共同飛行…核も搭載可能、連携して威嚇か ★6 [ぐれ★]
- 【鹿児島】容疑者は大学生。国道3号を横断中の母娘を車ではねる――「太陽がまぶしくて見えなかった」。20歳女を現行犯逮捕 日置署 [ぐれ★]
- 南京で「大虐殺」追悼式典 中国、高市政権をけん制 (共同通信) [少考さん★]
- 中国・ロシア両軍の爆撃機が東京方面へ向かう「異例のルート」を共同飛行…核も搭載可能、連携して威嚇か ★5 [ぐれ★]
- 【沖縄】開業4ヵ月でこれは…“国民の税金”投入の『ジャングリア沖縄』で見た衝撃的な光景と、モチベーションが低い一部スタッフの現状 [ぐれ★]
- 【高市朗報】江戸走り、考案者大場克則さんに教わる正しい江戸走りのコツ動画 [699577814]
- 【高市速報】日本、イギリスフランスドイツに相次ぎ告げ口外交を開始wwwwwwww🤪 [931948549]
- ルーナイト第1条!誰よりルーナ(・o・🍬)が好きな人~🙋🏡
- 【悲報】(ヽ´ん`)「まるごとバナナ買おうとしたら219円に値上げしてたから自分で作ってやった。ほぼ半額」 [802034645]
- 〇〇散らかす ←これ
- (´・ω・`)ソウルジャムが魔女を生むなら…
