21/10/20 02:56:42.16 KEjGoucL0.net
rubyガイ、お前には聞いてない
しゃしゃるな
852:デフォルトの名無しさん
21/10/20 09:16:14.30 OEiI06HQa.net
>>812
発見に3日以上
対策は3秒
だろ
853:デフォルトの名無しさん
21/10/20 09:18:08.43 OEiI06HQa.net
>>814
OK
854:789
21/10/20 0
855:9:47:41.27 ID:JvBM85mK0.net
856:789
21/10/20 10:34:02.67 JvBM85mK0.net
>>804
コールバック先ではなく、送信用関数の頭でキャンセルするようにしています。
BeginReadの返り値を保存。キャンセルしたい場所でEndReadの引数に渡すようにしているのですが、EndReadを呼び出すとそのままだんまりです。
なので、なにか手順でもあるのかと思い、検索をかけたのですが解決法がわからないため、ここで質問しました。
857:デフォルトの名無しさん
21/10/20 10:39:51.36 OEiI06HQa.net
>Windowsサービスから直接タスクトレイに表示する事が出来ない
サービスの登録で「デスクトップとの対話を許可」してあれば表示出来ますよ?
858:デフォルトの名無しさん
21/10/20 10:42:48.21 Es2OjjC60.net
送信がちゃんと動いてるならそこ変える必要なんてないし
送信と別に受信用の接続つくれば解決するんじゃ
859:789
21/10/20 10:51:47.47 JvBM85mK0.net
>>821
.NET 5 ではサポートされないと、どこかで読んだ覚えが・・・
参考になるWebPage等あれば教えてください。
直接やった方が単純なので・・・
860:デフォルトの名無しさん
21/10/20 11:37:20.61 OEiI06HQa.net
Windows 管理ツール
→ サービス
サービス名で右クリックしてプロパティ → ダイアログ → ログオン
「デスクトップとの対話をサービスに許可」にチェック
HKLM\\SYSTEM\\CurrentControlSet\\Control\\Windows\\NoInteractiveServices
0にする必要があるかも
861:789
21/10/20 14:16:23.47 JvBM85mK0.net
>>824
教えていただきたいのは設定の方法ではなく、.NET 5のServiceWorkerでタスクトレイにアイコンを表示する方法です・・・
862:デフォルトの名無しさん
21/10/20 15:27:59.69 G+Qou/Ta0.net
さすがにサービス作るのは面倒だから同一プロセス内で試しただけだけど
BeginRead中に普通にWriteできたよ
NamedPipeXxxStreamをnewする時にPipeOptions.Asynchronous指定してる?
863:デフォルトの名無しさん
21/10/20 15:55:53.51 5SoWglAaa.net
URLリンク(atmarkit.itmedia.co.jp)
864:デフォルトの名無しさん
21/10/20 16:10:12.00 JvBM85mK0.net
>>826
していませんでした。
サーバ、クライアント双方にオプションを指定し、Stream.Read中にStream.Writeが可能なことを確認しました。
ありがとうございます。
865:デフォルトの名無しさん
21/10/20 17:19:49.71 VKVb6/esd.net
前提をすっ飛ばすと突拍子もない解決手段を思いつきそれを実現しようとしてしまい四苦八苦する典型例みたいですね
866:デフォルトの名無しさん
21/10/20 18:07:28.07 jvdlGdZPa.net
レジ袋有料化みたいな話だね
ただ、批判する意図はないけど、位置の概念がない
867:ストリームなら普通「全二重」であるはずだ、 ってのはちょっと考えれば気づけたはずじゃなかなとは思う
868:デフォルトの名無しさん
21/10/20 18:43:57.39 qS9LysT00.net
出来ることを出来ないと思い込んじゃったとこから始まってるんだな。
サービスからのタスクトレイアイコン然り、Streamのリードライトも然り。
869:デフォルトの名無しさん
21/10/21 11:54:41.56 JzKHPePF0.net
>位置の概念がないストリームなら普通「全二重」であるはずだ
お前の勝手な思い込みだとしか思えん
870:デフォルトの名無しさん
21/10/21 12:25:32.61 8qSe0EAma.net
イキり馬鹿には「普通は」って文字が読めないんだな
871:デフォルトの名無しさん
21/10/21 13:30:46.89 E6Iq4yprD.net
>>830
その方法で判断してるなら既にいくつかバグ孕んでそう
872:デフォルトの名無しさん
21/10/21 14:41:10.46 hTdTaobFa.net
r/wを排他的にせざるをえない必然性や制約が存在しない限りわざわざ排他的にする合理性はないというだけの話。
馬鹿じゃないの。
というか、例えば2.0までのUSBは物理層が「半二重」だが、上位の層ではそんなことを
意識する必要はないようにしてある。
そんな制約を意識する必要があったらやってられないからだ。
必要もないのにそんな制約を課す馬鹿がどこにいる
873:デフォルトの名無しさん
21/10/21 16:22:37.02 vKSzbwpZ0.net
双方向に通信できるか、一方向にしか通信できないことと、全二重半二重は別の概念じゃない?
双方向通信になって初めて半二重なのかと考える必要があるし、そもそもIPCをOSのAPIで使ってるときにそんなにシビアに考えることかな?という気がする
874:デフォルトの名無しさん
21/10/21 16:25:27.19 AAqgo5mm0.net
双方向のプロセス間通信なら、パイプじゃなくてIPC使ったほうが楽じゃね?
875:デフォルトの名無しさん
21/10/21 22:48:54.75 JzKHPePF0.net
>>833
お前の言う「普通」はお前の思い込みだって指摘だが、普通が読めないとかどっから出てくる話だ
そもそも位置の概念と双方向か片方向かは関係ないし
双方向のストリームは全2重であるべきだって意見なら理解しないではないが
お前の希望が普通に実装されてるとは限らんのだよ
876:デフォルトの名無しさん
21/10/22 03:27:01.26 OMPuRiy7a.net
白鳥は普通白い、というのは全称命題(黒い白鳥はいない)ではない。
イキり馬鹿って本当に馬鹿で笑えるねw
ファイルのように位置の概念があるストリームでは排他的にr/wされたら困るだろうw
馬鹿じゃなかろうかマジで
877:デフォルトの名無しさん
21/10/22 03:28:52.19 OMPuRiy7a.net
× 排他的に
〇 非排他的に
878:デフォルトの名無しさん
21/10/22 03:58:09.76 OMPuRiy7a.net
最近ヤフコメの規制が話題になってるけど、
webくんだりで他人に居丈高な態度を取る奴の動機の源泉(うだつ上がらない)
なんて見え透いてるよねw
別にうだつ上がらないのは悪くないが(俺もそうだし)
いい歳こいてそういう自分の動機を自覚できないのも、他人から自分がどう見えているかを
意識できないのもかなり痛々しいよねえw
879:デフォルトの名無しさん
21/10/22 07:26:26.05 fpd3u34i0.net
括弧の中はコーラスかな
880:デフォルトの名無しさん
21/10/22 08:40:47.54 sYXSwuhS0.net
うだつってどこで売ってるの?
881:デフォルトの名無しさん
21/10/22 08:47:26.63 oVr78/SWM.net
>>839
普通のファイルのシークしながらの読み書きなら困る、はわかるんだけど、
それを一般化して、位置の概念のあるストリームで「普通」成り立つべき性質なのかよくわからない。
後学のために、いい例を教えてくれないか?
882:デフォルトの名無しさん
21/10/22 11:28:17.10 J+jDEcsH0.net
そもそもファイルストリームって(単一ファイルでは)双方向通信に使えるものじゃないから、
全二重という思い込みがよく分からないし
ワッチョイ的にデッドロックの意味勘違いしてた人っぽいし
全般的に用語の使い方がいい加減な人なんだろうなと思った
883:デフォルトの名無しさん
21/10/22 11:54:11.71 V0jARYip0.net
ファイルストリームって、追記モードで複数オープンされたファイル扱えないのか?
884:デフォルトの名無しさん
21/10/22 12:08:46.46 V0jARYip0.net
双方向のストリームなら、非排他的にアクセスされると困るという意見ならまあ理解はできる
排他的とか、自分以外のアクセスの話で、自分が全2重でアクセスできるかどうかとは無関係だがな
885:デフォルトの名無しさん
21/10/22 12:47:13.67 V0jARYip0.net
>>845
なるほど
全2重/半2重から排他/非排他の話になってるのは
話をずらそうとしてるんじゃなくて自分の中でもちゃんと区別できてないのか
886:デフォルトの名無しさん
21/10/24 03:48:37.41 Ebis89vva.net
>>845
俺が用語を正確に使ってないのでなく君に読解力がないだけじゃないのかな。
俺はファイルストリームは「半二重」だと言ってるんだよ。わざわざ括弧を付けて。
括弧を付けているのは全二重/半二重という用語は普通はストリームを対象にした
用語ではないからだ。
887:デフォルトの名無しさん
21/10/24 03:54:05.25 Ebis89vva.net
というか、「必要のない制約をわざわざ課す馬鹿っているんですか?」
っていうのが俺の主張の本質なんだけど、その辺も含めて文脈読めないにも程があるね。
888:デフォルトの名無しさん
21/10/24 06:21:08.23 4lHZz/Ub0.net
ああ、ほんとに双方向か片方向かと全/半2重の区別がついてないのね
889:デフォルトの名無しさん
21/10/24 10:19:03.31 BecJ+B2qa.net
全二重と半二重は鉄道で例えれば単線と複線の違いだよ。
RS485通信は半二重通信になるけどな。
890:デフォルトの名無しさん
21/10/24 12:15:38.06 kMf1w+hQa.net
>>851
またそれか。
片方向の文脈であれば全二重/半二重の区別は意味を持たない。
区別がついてないのは君じゃないの。マジで大丈夫か
891:デフォルトの名無しさん
21/10/24 12:24:26.91 kMf1w+hQa.net
だいたい双方向とか片方向とかいう話がどっから出てくるのw
意味がわからないよ
だから、必要もないのにr/wを排他的にする制約を課す馬鹿っているの?って話をしてるんだけど
892:デフォルトの名無しさん
21/10/24 12:31:01.70 kMf1w+hQa.net
次の展開予想すると、>>851みたいな人はたぶんそれでも片方向/双方向の違いに固執して
「片方向っていうのは片方だけが能動的にr/wすることをいうんだ」みたいな話になるんだろうねw
だから、だから何だよw
この文脈でそれ重要ですか?
893:デフォルトの名無しさん
21/10/24 15:32:33.07 4lHZz/Ub0.net
ああ、排他的ってのは自分自身からのリードとライトについて言っているのか
つまりお前の中では、全2重=非排他的 半2重=排他的 ってことなのね
で、片方向っていうのは片方だけが能動的にr/wすること だと
まあこれからも独自路線を行ってくれ。できればひっそりと
894:デフォルトの名無しさん
21/10/24 16:20:34.86 qOtMLiXha.net
ファイルストリームに半二重ないやろ?
途中で方向変わるのか?
全二重もないし。
895:デフォルトの名無しさん
21/10/24 16:40:45.22 ju8sH4Lg0.net
誰かこいつらの脳幹をdisconnectしてくれや
896:デフォルトの名無しさん
21/10/24 17:30:30.88 nuxNtcA20.net
NO CARRIER
897:デフォルトの名無しさん
21/10/24 20:36:34.43 cIXJUcvh0.net
>>855
既に定義された用語と違う独自用語使うならスレ外でやれ
デッドロックがどういう状態かの理解はできたか?
898:デフォルトの名無しさん
21/10/25 08:10:52.85 H+hg1O8s0.net
海外の機関車のハンドルとかについている装置
運転手が突発性の病気で倒れたりして手を離すと緊急停止する
899:デフォルトの名無しさん
21/10/25 09:43:28.98 GqjTTybe0.net
つまんね・・・
900:デフォルトの名無しさん
21/10/25 15:32:53.27 zsG9VPuLM.net
鎌池和馬の言の葉、我が身に降臨す。
901:デフォルトの名無しさん
21/10/25 19:07:57.24 d/hZB5lcM.net
>>861
それは Dead man's switch
902:デフォルトの名無しさん
21/10/25 19:38:31.87 L4R2KWZAa.net
>>860
いい機会だから言っておく�
903:ゥ。 それは違う。 言葉というのは置かれた文脈によって意味が変わる、 という中学生でも知っている事実を君が知らないだけじゃないの? だいたい文脈無視して意味不明な用語法の問題にすり替えて、 それを指摘されてもまだ「おかしいのはお前だ」と言い張る神経が俺には理解できない。
904:デフォルトの名無しさん
21/10/25 19:42:31.57 L4R2KWZAa.net
あと>>841ねw
905:デフォルトの名無しさん
21/10/25 20:07:49.31 7NDplVqs0.net
どうでもいいけど技術的なやり取りをするのに言葉の意味を明確に定義せずにするのは困難しか産まないと思うけどな。
独自用語でもちゃんと定義したらよろしい。
定義なしに文脈によって意味が変わるなんて言ってるのは技術者失格。
906:デフォルトの名無しさん
21/10/25 22:36:46.73 zQaJMovpM.net
えっちょっと待って
IT用語としての「デッドロック」なんて基本情報レベルな単語だしこの板に書き込むような人なら常識だと思ってたんだけど
>>809なんかはてっきりギャグとして書いてるか、さもなくば
デッドロックって言葉の意味を知らない人を馬鹿にするためにわざと書いてると思ってたんだが
ひょっとして本当に知らなかったの??
でもって無知を恥じるでもなく「読解力」とか言い出して責任転嫁してるの?
「ボクチャンわるくないもん、読み手が馬鹿なのが悪いんだもん」って言ったところで
馬鹿をさらしてる人が言い出したところで説得力ないと思うよ
そのうえさらに自分の語用・論理展開が支離滅裂なのを棚に上げて「文脈」とか言い出して正当化してもなあ
>それを指摘されてもまだ「おかしいのはお前だ」と言い張る神経が俺には理解できない。
その言葉を反芻すべきなのは>>865だと思うよ
907:デフォルトの名無しさん
21/10/25 22:56:47.64 myY8ExBF0.net
文脈無視して意味不明な用語法ってか
さすが自分の常識は絶対だって自信がある人はちがうな
で、技術論を人格攻撃で逃げようってか
相手してられん
908:デフォルトの名無しさん
21/10/25 23:12:43.16 c86hiX/I0.net
デッドロックマンティウンティウンwww
909:デフォルトの名無しさん
21/10/26 01:05:29.94 tLsOhANt0.net
お前らそろそろ落ち着きませんか?
c#10の話でもしようぜ(錯乱)
910:デフォルトの名無しさん
21/10/26 01:13:31.28 qCIhQ9NK0.net
特定の会社なりグループなりの小さなコミュニティ内で本来の定義とは異なる意味で用語が使われることはある
そのコミュニティ内で齟齬なく意思疎通取れてるならまぁ問題ない
ただその輪から出たら本来の意味でのみ使用すべきだし誤解を招きそうなら補足を入れるなりすればいい
定義にシビアなことが求められる技術者がこういう場で文脈によって変わるとか言っちゃうのはどうかと思う
こういう場というのが便所の落書きじゃん、というなら否定はできんがw
911:デフォルトの名無しさん
21/10/26 01:23:54.20 ZoC9kawY0.net
みんなわかっているくせにいつまでも指摘しないのな。
デッドロックは暗礁でも座礁でもない。壊れた錠前のことだ。
URLリンク(www.nhk.or.jp)
IT 用語では、並列処理時に異なるプロセスが、互いが専有するリソースの解放を求めて睨み合い、うごけなくなってしまうリソース競合のことだ。それ以外の意味はない。
一般用語に行き詰まりという意味があったとして、IT 用語としてリソース競合という意味のズバリの状況定義があるのだから、IT に正しい理解がある人間なら、行き詰まりという一般的な意味でこの語を IT 関連の説明に使うことは絶対に避ける。他人に誤解させるし、伝わらないし、紛
912:らわしいのが目に見えているから。 色々な意味で、非常に恥ずかしい部類の誤用。強弁もたいがいにしておくべき。
913:デフォルトの名無しさん
21/10/26 01:34:11.65 ZoC9kawY0.net
✕専有→○占有
914:デフォルトの名無しさん
21/10/26 02:21:50.02 UIBkHtwX0.net
誰かこいつらをガイジ小学校に叩き込んで来てくれや
915:デフォルトの名無しさん
21/10/26 07:39:00.23 +xnJ+mOr0.net
>>873
壊れた錠前とかそういう比喩でなく、
膠着状態を指す英単語だよ
a situation in which a disagreement cannot be settled.
916:デフォルトの名無しさん
21/10/26 09:42:42.07 Lw2w7Q/c0.net
そもそもdead rockなんて勘違いしてる奴いないじゃん
座礁って言葉使ってる奴はいるけど身動き取れなくなると説明付き
リソース競合ってまた狭い意味だし座礁と同じで狭い意味でデッドロックを使ってる
デッドロック(IT限定)でもプロセス競合のほうがまだまし
しかも競合それ自体には行き詰まりの意味はない
あくまでも競合による行き詰まりがデッドロック
917:デフォルトの名無しさん
21/10/26 11:09:30.80 UqMMY6BB0.net
座礁がdead rockからきた勘違い
deadlockは身動き取れなくなるという意味はない
語源はdead+lockだから「壊れた錠前」であってるけど
今はその意味で使われることはない
918:デフォルトの名無しさん
21/10/26 11:53:16.92 lkW9PATM0.net
>>878
座礁もdeadlockで間違いないし、rockとの勘違いでもない
ただ英単語としての意味とIT用語としての意味を混同していたことが問題なだけ
919:デフォルトの名無しさん
21/10/26 12:21:43.14 NjF3KidV0.net
まだやってんのかい。
お前ら、仲いいな。
920:デフォルトの名無しさん
21/10/26 12:43:29.66 yz4Jvoxzr.net
たんなるウェイトとデッドロックの区別がついてないバカがうだうだ言ってるだけ
921:デフォルトの名無しさん
21/10/26 12:57:34.74 ht6Potv3d.net
>>873
壊れた錠前では無いよ。
行き詰まりそのもの。
リソースのlock自体、錠前のことではない。
名詞としてのlockは、カギで開け閉めするものに限られるので、リソースなどを指してない。輪留めとか、にっちもさっちもいかない状態とかそういうのを指す。
動詞としては、固定するだよ。
リソースを取得するのにカギが必要なら錠前だろうけど、カギは要らない。
922:デフォルトの名無しさん
21/10/26 13:49:40.40 UqMMY6BB0.net
>>879
Pope Francis urges end to migrant boat deadlock
URLリンク(www.bbc.co.uk)
↑この船は座礁してるのかな?
923:デフォルトの名無しさん
21/10/26 14:28:12.06 lkW9PATM0.net
多義語を知らない>>883
辞書引くだけで良いのに引けないんだね
924:デフォルトの名無しさん
21/10/26 18:40:21.38 UqMMY6BB0.net
>>884
座礁って書いてある辞書教えて
そしたら納得するよ
925:デフォルトの名無しさん
21/10/26 19:44:50.29 uR+ZT8QXD.net
>>885
納得はいらんけど、deadlockの自動詞、他動詞の意味調べてみ
926:ハノン
21/10/26 20:18:17.44 YaaA9sXD0.net
>>886
低頓する、低頓させる、「交渉は賃金問題で行き詰まった」、旺文社シニア英和辞典
行き詰まる、行き詰まらせる、低頓する、低頓させる、研究社リーダーズ英和辞典
927:デフォルトの名無しさん
21/10/26 20:48:48.62 eY0tVbdGa.net
さすがに「言葉の意味は文脈に依存する」ってことを知らない人がこれだけ多いと日本の将来心配になるねw
この業界でデッドロックと言えば普通は非同期処理の文脈におけるデッドロックのことを指す、
これは最初から言っているように間違いない。
ただ必ずそうとは限らないと言ってるだけ。
イキってる皆さんがどう思おうが自由だけど、メソッドが制御を返さない状態のことをその原因を問わずに
「デッドロック」と呼ぶ用法は普通に使われてる。
928:デフォルトの名無しさん
21/10/26 20:52:50.16 eY0tVbdGa.net
そもそもデッドロックの意味
929:とか、片方向と双方向の違いがどうのとか、そんなのどーでもいいわw 誰がそんな話してるんだよw 俺は時々ニュース系の板とかでネトウヨ馬鹿にして楽しませてもらってるけど、 この追いつめられると別の矮小な問題にすり替えて誤魔化して逃げるやり方って 連中そのものだねw
930:デフォルトの名無しさん
21/10/26 21:39:59.59 5YjTtZfR0.net
>メソッドが制御を返さない状態のことをその原因を問わずに「デッドロック」と呼ぶ
まあ、たんなるロック待ちをデッドロックというやつはたまにはいるけどな
あきらかに間違ってるわけで、それが普通とかもう話にならん
>追いつめられると別の矮小な問題にすり替えて誤魔化して逃げる
まさに今のお前だな
931:デフォルトの名無しさん
21/10/26 21:43:21.08 tLsOhANt0.net
あーあ
ネトウヨとか言い出しちゃったよ
932:デフォルトの名無しさん
21/10/26 22:01:25.78 UqMMY6BB0.net
>>886
名詞が動詞化したものだから意味に違いはないよ
自動詞は「デッドロックになる」こと
他動詞は「デッドロックをもたらす」こと
デッドロックとは「相対する2つの勢力が拮抗して事態が進展しない状態」
DBMSのデッドロックも非同期処理のデッドロックも状況が特化してるだけで意味は同じ
座礁は船と岩礁の力が拮抗してるってことなら
その辺に転がってる石ころもdead rockだね
933:デフォルトの名無しさん
21/10/26 22:18:18.56 +xnJ+mOr0.net
>>892
deadlockの言う座礁する、座礁させるは日本語では比喩的な使われ方をする座礁だよ
交渉が座礁するとか交渉が暗礁に乗り上げるって意味での座礁
だから名詞じゃなく自(他)動詞
934:デフォルトの名無しさん
21/10/26 22:27:49.42 +xnJ+mOr0.net
つまりデッドロックマンは何もかも間違ってると言いたい
935:デフォルトの名無しさん
21/10/27 00:14:30.81 un5zQ+BD0.net
>>893
「deadlockの言う座礁する、座礁させる」って何? どこから出てきたの?
deadlockの言う?
交渉が座礁するとは日本語では言わない
交渉が暗礁に乗り上げたとしてもそれがデッドロックとは限らない
単なる待ち状態をデットロックと言ってるのと同じレベル
936:デフォルトの名無しさん
21/10/27 08:01:39.38 hvQWVHhPD.net
>>895
少なくとも英辞郎には暗礁に乗り上げるって意味が載ってる
意味として膠着状態を指す慣用句としての暗礁に乗り上げるが使われてる
937:デフォルトの名無しさん
21/10/27 08:07:10.23 gYjFdZWj0.net
Rock Is Dead !
938:デフォルトの名無しさん
21/10/27 08:22:12.88 thwndR3Q0.net
Rock is not dead.
939:デフォルトの名無しさん
21/10/27 10:24:03.90 t2iD5tO80.net
>そもそもデッドロックの意味とか、片方向と双方向の違いがどうのとか、そんなのどーでもいいわw
>誰がそんな話してるんだよw
>追いつめられると別の矮小な問題にすり替えて誤魔化して逃げるやり方って連中そのものだねw
まさにこれ
話を逸らすついでにスレ流して汚点を忘れさせようとしてるのが観える
940:ハノン
21/10/27 18:07:43.86 2zkjN6asH.net
>>899
東大話法、てのが大昔流行っていましたね
941:デフォルトの名無しさん
21/10/29 08:02:34.91 4uk/ll0/0.net
連中…「組織」の者かな?
942:デフォルトの名無しさん
21/11/02 21:51:33.93 4DiwsCtO0.net
ニコニコ弾幕ツールを作りたくてプログラミングとC#を初めて触ったのですが
なにか参考になる動画や書籍資料等ないでしょうか?
簡単なメニュー程度なら作れるようになったんですがどうすれば弾幕打てるツールになるのか全く分かりません。
弾幕ツールソースとかでググってもそれっぽいのが全く出ず…
超初心者スレでも聞いたのですが回答もらえなかったのでこちらで…
943:デフォルトの名無しさん
21/11/02 22:21:39.61 SO0TQkZV0.net
>>902
ぐぐるんなら、「ニコニコ動画 コメント api」とかじゃね?
ちょっと古いけど
URLリンク(qiita.com)
こんな感じで以前は出来ていたようです
が、今春にコメントサーバーがリニューアルされているようなので、おそらくは上記の記事そのままではなくなっていると思います
URLリンク(blog.nicovideo.jp)
ブラウ�
944:Uコントロール上でアレコレさせるのとどっちが楽かは知らん いずれにしても、言語そのものの知識以外の、httpだとかニコニコの仕様そのものだとかの知識の方が必要かと思います
945:デフォルトの名無しさん
21/11/02 22:37:12.36 crJtQlzP0.net
勉強のためにやりたいのなら別だけど・・・・
自分で使いたいとかそういう目的なら、ほとんど完成品みたいなものが既にある
URLリンク(www.nuget.org)
946:デフォルトの名無しさん
21/11/02 23:03:38.72 4DiwsCtO0.net
>>903-904
回答ありがとうございます
C#の知識だけじゃ実現できないのですね(;´Д`)
C#の他にJavascriptとかCのAPIですか…3,4年はかかりそうですね…
やったことが無駄にならないことが分かったので頑張ります
947:デフォルトの名無しさん
21/11/03 03:43:52.91 Di9oQY4e0.net
日にどれくらい時間かけるかにもよるけど早い人なら無学から始めても1ヶ月かからんやろ
すでにほとんど完成品といえるようなパッケージがあるならなれてる人なら1日かからず完成する
始めて開発というものをするにあたって半年以上かかりそうなもんはモチベーション続かんから普通はおすすめできない
もしこのコメントツールで年単位で掛かりそうだと感じたならもっと規模の小さい、長くても1ヶ月くらいで完成させられるかな?って想像できるようなものから始めたほうがいいと思うよ
948:デフォルトの名無しさん
21/11/03 08:25:21.70 MLVf2VPVM.net
>>902
10/20にニコニコ動画関連総合ツールスレで質問して回答もらえなかった人?
そこまでできるようにはなったんだ
ニコ動の弾幕なのか、ニコ生の弾幕なのかわからないけど
・ネットアクセスのやり方(httpclientかなんか)
・WebSocketの使い方(ニコ生のみ)
・jsonの知識
・非同期の使い方
はわかってないとできないと思う
以下を見て理解できるまでがんばって。以下のニコ生・ニコ動の説明は古くてそのまま使っても動きません。
ブラウザーのディペロッパーツールで解析してね。
ニコ生
URLリンク(qiita.com)
URLリンク(qiita.com)
ニコ動
URLリンク(qiita.com)
949:デフォルトの名無しさん
21/11/03 11:12:45.02 s4xVDTJC0.net
>>905
Web関連は基本人間が理解出来る文字列でやり取りするから比較的難易度低い方
C#で作るならCの知識が必要になる場面なんて全くないはず
Html、Css、JavaScriptの知識はどの言語で開発するにしても多少必要にはなってくるがそんな難しくはない
950:デフォルトの名無しさん
21/11/03 16:24:16.20 XrFTraKdM.net
>>905
あなたが作りたいツールを作るにも10年ぐらい前ならもっと簡単な知識でつくれたんだけど、Flashからhtml5になった頃から技術的なレベルが高くなったのも一因
ニコ動、ニコ生にしても以下のステップを1つづつ目標にして。
1.ニコ動かニコ生のURLを入力してそのページの内容を取得して表示なり取得確認する
2.そのページから必要な情報を選択して取得する
3.ニコ生の場合は、その情報からwebsocketに接続して各種情報を取得
4.ニコ動の場合は、その情報からコメント情報を取得する
たぶんこの辺までできれば次どうすればいいかはわかると思うよ
951:デフォルトの名無しさん
21/11/03 20:51:20.05 b4M0oSaD0.net
今時はIEコンポーネントブラウザを使わないからだよ
ニコニコの場合は
(1)Javascriptでブラウザの拡張機能を書く
(2)Pythonでダウンローダーや巡回、予約
で大�
952:シだよね、C#の出番はあまりないん
953:デフォルトの名無しさん
21/11/05 19:37:49.44 1GMX4TDW0.net
API使わずにスクレイピングっていいのか?
954:デフォルトの名無しさん
21/11/05 21:29:05.81 U9pi1OEC0.net
非公式API使って制限回避してもいいぞ
955:デフォルトの名無しさん
21/11/05 23:15:31.65 /IlkeVzp0.net
各サイトのルールは、robots.txt を見ればよい
そこに、スクレイピングできる間隔などが書いてある
956:デフォルトの名無しさん
21/11/08 19:23:08.09 jl5nUU4op.net
SQLのパラメータって使いまわせなかったっけ?
例えば下みたいなSQLがあったとして
string sql = "UPDATE HOGE_TBL SET HOGE = :hoge WHERE HOGE = :hoge ";
パラメータが下1つだけだったら更新件数0件で上手く動かない…
cmd.Parameters.Add(new OracleParameter(":hoge", "huga"));
Javaだと上手く動くけどC#は明示的に分けないとダメな感じ?
957:デフォルトの名無しさん
21/11/08 19:27:49.03 ZmPcj5XX0.net
hugaじゃなくてfugaじゃないかな
958:デフォルトの名無しさん
21/11/08 19:47:26.23 eIDHMWNda.net
BindByName
959:デフォルトの名無しさん
21/11/09 12:25:10.04 +zMu32a8p.net
>>916
㌧クス
960:デフォルトの名無しさん
21/11/12 14:47:41.59 LR2kPQ3V6.net
最近c言語習い始めた初心者なんですがwhile()のカッコ内の条件式に論理演算子を使うことはできますか
もしできるならif文の時のように入力すればいいのでしょうか
961:デフォルトの名無しさん
21/11/12 14:56:20.52 9PEUH50B0.net
>>918
ここはC#の相談室なんだが・・・
まあ、ifの書き方と同じで良いですよ。
962:デフォルトの名無しさん
21/11/13 11:48:36.10 WnzBfGlt0.net
C#10で文字列補間が大幅に最適化されたってことらしいけど、
stringオンリーの4個以内(Concatの最大引数以内)以外は$"{}"で繋げていった方がむしろパフォーマンス良くなるって認識でOK?
963:デフォルトの名無しさん
21/11/13 12:46:38.78 +IhS2fUi0.net
ベンチマーク取れば?
964:デフォルトの名無しさん
21/11/17 00:43:34.98 qSiAIVdk0.net
わけあってVisual Studioをインストールできない環境があるのですが、
その環境で
Windows標準のC#コンパイラ(C:\Windows\WinSxS配下のcsc.exe)
+
Visual Studio Code
でC#コンパイル環境を作成したいのですができますか?
以上、よろしくお願いいたします
965:デフォルトの名無しさん
21/11/17 02:16:31.13 +JwFzM8Ra.net
できるけど君の場合どうせNuGetで積むんじゃね
966:デフォルトの名無しさん
21/11/17 18:51:18.08 qSiAIVdk0.net
>>923
積むかどうかは分からないですね
私は超能力者ではないので
967:デフォルトの名無しさん
21/11/17 20:50:08.18 iuNg9UQr0.net
ビスマルク「愚者は経験に学び、 賢者は歴史に学ぶ」
968:デフォルトの名無しさん
21/11/17 22:01:06.93 GLXZB85w0.net
そもそもコンパイル環境なら、VS Codeすらいらないんじゃ
969:デフォルトの名無しさん
21/11/17 22:23:38.77 oaCBMm/O0.net
VSはダメでVSCodeはインストールできるんだ
よくわからない環境だな
970:デフォルトの名無しさん
21/11/17 22:48:30.86 OY6bKJls0.net
普通の会社で使えるのは2017までなんだよな
971:デフォルトの名無しさん
21/11/17 23:11:54.33 SfknQ7Tq0.net
うち2022買ったで
972:デフォルトの名無しさん
21/11/17 23:14:07.67 iuNg9UQr0.net
まだ2021年なのに?
973:デフォルトの名無しさん
21/11/18 09:00:28.34 +Wtl3GaA0.net
ジャップには分からんだろうが世界的には9月からはもう
974:2022年だぞ
975:デフォルトの名無しさん
21/11/18 21:37:43.70 cf0G7PVa0.net
じゃあ日本は4月からもう2022年になってるのか
976:デフォルトの名無しさん
21/11/19 01:11:50.72 4qGzfQ8F0.net
コマンドが格納されたListを順番にサーバへ送信し、
1が返ってきたら次のコマンド送信、1以外かTimeoutしたら即中断みたいな処理を
ractiveでサクッと書けますか?
var cmdList=new List<string>{ cmd1, cmd2, ... };
cmdList
.ToObservable()
.TimeOut( ・・・ )
.SendCommand()
.WaitResponse()
.PostRecv(1だったら次のコマンド送信、1以外やタイムアウトなら処理中止);
みたいな感じで。。
977:デフォルトの名無しさん
21/11/20 22:43:08.40 F7Qzv69PM.net
cmdList
.ForEach(x => { if(x.SendAsync(cts.Token).Result == 1 ) throw new Exception() });
978:デフォルトの名無しさん
21/11/20 22:58:08.09 YK5Xmj5SM.net
var results = await cmdList
.ToAsyncEnumerble()
.SlectAwait(async (c) => await c.SendAsync(cts.Token))
.TakeWhileAwait(async (r) => r == 1)
ToArrayAsync();
979:デフォルトの名無しさん
21/11/21 00:02:36.10 Z3Hc+Mmaa.net
タイムアウトで値や例外が返ってくるタイプだったらいいけど
時間経過で勝手にタイムアウト判定しろよってタイプだと詰みそう
980:925
21/11/21 00:41:13.81 7ZBVrJXA0.net
ReactiveExtentions(System.Reactive名前空間 ver5.0)を使ってます。
自分なりに書いてみましたがこのライブラリの使い方がよくわかってない状態です。
(疑問点をコメントに書きました。分かる方教えてください)
IDisposable d = cmdList
.ToObservable()
.Timeout( TimeSpan.FromSeconds( 3000 ) )
.Select( cmd =>
{
var res = this.SendCommand( cmd ) // 自作のコマンド送信関数;
return res;
} )
.Where( res => res == 1 )
.Subscribe(
res => /* ここで次のコマンド送信を行う書き方が分からない*/ res.ToString(),
ex => Debug.WriteLine( ex.Message /* Timeout発生時 */ ),
()=> Debug.WriteLine( "Complete" /* 全ての送信完了?それとも1つだけ送信完了? */ )
);
>>935
やはりToAsyncEnumerbleからアプローチするべきなんですかね。。
981:デフォルトの名無しさん
21/11/21 00:46:46.14 7ZBVrJXA0.net
Timeout関数の中身は
TimeSpan.FromMilliseconds( 3000 ) // 3秒
の間違いでした
982:デフォルトの名無しさん
21/11/21 10:42:16.16 XHu2qeE/M.net
Rxは監視を行うもの
時系列に沿って要素が流れてくる時に使うもの
なのである要素が流れてきた時に次の要素なんてのはまだ無い
要素が最初から揃ってるListから始めるからわからなくなる
最初から揃ってるなら普通にLinqかforeachを使う
Listでなくストリームならこれでおk
var d = CommandStream
.Select(c => Send(c))
.Timeout(t)
.TakeWhile(r => r == 1)
.Subscribe();
983:デフォルトの名無しさん
21/12/10 11:57:57.31 ceXBGTs50.net
次元の違う配列ではArray.Copy出来ないのでしょうか。
例)
var foo = new int[4];
var bar = new int[3, 4];
ArrayCopy(foo,0,bar,0,4); // 例外発生 "The specified arrays must have the same number of dimensions."
1個づつコピーするしかないのでしょうか?
984:デフォルトの名無しさん
21/12/10 12:19:49.36 D7YZScOh0.net
プリミティブ数値型の配列ならBuffer.BlockCopyできるけど
まあ多次元配列なんて肩身が狭いもんだから仕方ないね
985:デフォルトの名無しさん
21/12/10 12:40:02.71 ceXBGTs50.net
classを配列に保存しているから、BlockCopyもダメなんですよね・・・
あまり数も多くないはずなので、1つずつコピー(代入)していきます。
986:デフォルトの名無しさん
21/12/10 13:17:59.80 /7sxHGOs0.net
>>940
若干アンセーフだけど行ごとにならSpan利用すればマネージ型でも出来る
for (int i = 0, len2 = b.GetLength(1); i < b.GetLength(0); i++)
foo.CopyTo(MemoryMarshal.CreateSpan(ref bar[i, 0], len2));
987:デフォルトの名無しさん
21/12/10 13:21:12.71 /7sxHGOs0.net
MemoryMarshal.CreateSpan(ref bar[i, 0], 5000)とかやっても確か例外でないから最新の注意を払う必要はある
まぁこうやってもソースの長さがデスト以内であれば問題は生じないけど
988:デフォルトの名無しさん
21/12/12 04:59:13.07 /1pFbOYv0.net
入力を検知したときにメソッドを実行する処理において、
要素Aがnullでなく(エラー防止)、Aの子要素Boolがtrueの場合のみ処理をスキップしたい場合に いい書き方はありますか?
!A.Bool でメソッドを実行にしてしまうとAがnullだったときに実行されなくなってしまうので……
ひとまずgotoを使って以下のようにしているのですが、もっとスマートな書き方ありますでしょうか
if (Input)
{
if(A != null){
if(A.Bool){
goto INPUTSKIP;
}
}
Method();
}
INPUTSKIP:
989:デフォルトの名無しさん
21/12/12 08:06:18.80 OKsF9IR00.net
null条件演算子 null合体演算子 で検索
990:デフォルトの名無しさん
21/12/12 08:23:25.29 V78zeb460.net
>>945
こう?
if (Input)
{
if (A != null && A.Bool)
{
// INPUTSKIP
}
else
{
Method();
}
}
991:デフォルトの名無しさん
21/12/12 09:36:50.05 G8rzE1470.net
>>947
それを反転させて
if (Input)
{
if (A == null || !A.Bool)
{
Method();
}
}
992:デフォルトの名無しさん
21/12/12 10:16:02.74 2rSkF5hnM.net
>>945
goto 使いたくないと言うなら A が null か、A.Bool が false の時に処理したいってことだから普通に
if(A == null || !A.Bool){ 処理 }
って書くか>>946が言うnull条件演算子とnull合体演算子を使って
if(!(A?.Bool ?? false)){ 処理 }
でいける
個人的にはこの場合だと上の方がわかりやすいと思う
993:デフォルトの名無しさん
21/12/12 10:56:54.04 MLGY87ca0.net
後藤さんが出てくると素人臭が漂ってくるからな
994:デフォルトの名無しさん
21/12/12 12:26:50.16 V78zeb460.net
例外も後藤さんみたいなもんだが
995:デフォルトの名無しさん
21/12/12 12:48:33.01 /1pFbOYv0.net
AがnullだったときにORで並べてA.Boolの条件式を使ってしまうとそんなもんないよってエラーを吐くのでは、
と思い込んでいたのですが大丈夫なんですね……!
!A.Boolだけで判定したときに怒られたので頭凝り固まってました!
ありがとうございました!
996:デフォルトの名無しさん
21/12/12 13:09:03.73 I9KyYKSc0.net
>>952
いやショート サーキット評価だからエラーにならないだけ
URLリンク(docs.microsoft.com)
997:デフォルトの名無しさん
21/12/12 13:17:35.22 /1pFbOYv0.net
>>953
ああーなるほど、ORの場合どれか1つでも満たされてれば実行されるから
左側が条件を満たしてたら右側はもうチェックされないのか!!
良いこと知れました! ありがとう!
998:デフォルトの名無しさん
21/12/12 13:23:43.83 V78zeb460.net
vb.netのorだとエラーになる
999:デフォルトの名無しさん
21/12/12 13:31:38.41 I9KyYKSc0.net
>>955
論理演算子2つ並べるのがショート サーキット評価�
1000:ネんだけど https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12181009427 次から初心者スレ行ってくれ
1001:デフォルトの名無しさん
21/12/12 14:02:55.63 WWmfWzxPM.net
>>955
OrElse 使え
>>956
> 論理演算子2つ並べるのがショート サーキット評価なんだけど
とか言う玄人w
1002:デフォルトの名無しさん
21/12/12 14:06:00.32 a4cuZ/Mwa.net
vb恐ろしいな。そんなのバグの元じゃん
1003:デフォルトの名無しさん
21/12/12 15:11:49.02 happ85M4M.net
はあ?
C# ⇔ VB.Net
---------------------
& ⇔ And
&& ⇔ AndAlso
| ⇔ Or
|| ⇔ OrElse
ってなってるだけやぞ
1004:デフォルトの名無しさん
21/12/13 09:12:51.67 7pnzZ4JB0.net
>>945
条件式をネストしたり&でつないだりと複雑にするのは難読性が高くなるから分けたほうがいいだろ
どういう条件ならMthod()を呼ぶのか明確に
if(Input){
//事前処理
judge=(A==null) ? true: //Aがnullのとき
A.Bool==false ? true: //Aの子要素がfalseのとき
false; //それ以外
if(judge) Method();
//共通処理
...
}
1005:デフォルトの名無しさん
21/12/13 09:51:11.81 g+jxvcxo0.net
>>960が分かりやすく見えない…
>>948が誰が見ても一目瞭然でいいと思うわ
シンプルな条件分岐なんだからこだわる必要ない
1006:デフォルトの名無しさん
21/12/13 11:44:51.75 zykNHKxZ0.net
skipするほうが例外的処理だろうからskip条件を明確にしてearly returnしたほうがいいと思う
論理式の細かい書き方よりも意図が伝わるかどうかのほうが大事
if (ShouldSkip(a)) {
return;
}
Method();
bool ShouldSkip(A a) {
return a?.Bool ?? false;
}
1007:デフォルトの名無しさん
21/12/13 14:01:49.98 z2L+bKXw0.net
メソッドにすんのはいいけど、>>945 が入力を検知したときメソッドを実行したいって言ってんだからその通りに書けばいい
設計書通りに条件分岐すりゃいいのに無駄に置き換えて実装する人多いけどなんなんだろうね
if(入力検知(input, A)){
Method();
}
bool 入力検知(bool input, A a){
return input && a != null && a.Bool;
}
1008:デフォルトの名無しさん
21/12/13 14:22:24.69 6wRfW5vFa.net
昼飯食いながら適当だから何か勘違いしてるかもしれないけど、>>945って要は
ある条件を満たした時だけMethodを実行したい、それだけでしょ?
だったら四の五の言わずに素直にそう書くのが一番じゃないの。
if( input && (!A?.Bool ?? false)) Method();
1009:デフォルトの名無しさん
21/12/13 14:29:51.31 KmNdaGVTa.net
求めてるのは「もっとスマートな書き方」だからな
主観的な問題だから、俺らが言えるのは「こういう書き方もある」ってのだけ
正解(どれが一番か)を決めれるのは本人だけ
1010:デフォルトの名無しさん
21/12/13 14:47:42.73 6wRfW5vFa.net
コードでも文章でも読み手に「要するにそれってどういうこと?」って思わせないのが一番。
これもコードでも文章でもそうだけど、読みにくいものは書いた本人がそこをよく理解せずに書いている。
1011:デフォルトの名無しさん
21/12/13 15:06:50.29 WUjUV8JM0.net
ReSharperが薦めるように書き換えたら、何をしてるのかわからなくなった。
1012:デフォルトの名無しさん
21/12/13 15:10:10.54 pxTkbBAYM.net
最近のc#はマルチパラダイムで構文が増えてカオスだ
1013:デフォルトの名無しさん
21/12/13 16:35:33.81 zykNHKxZ0.net
>>963,964
>>945を読む限りでは入力を検知する処理と
検知した後に特定の処理をスキップするかどうかを判断する処理は別じゃないのかな?
「A.Boolがtrueなら入力を検知しない(or 入力を無視する)」ってことなら
入力よりも先にA.Boolを確認するよね
1014:デフォルトの名無しさん
21/12/13 16:52:41.40 KmNdaGVTa.net
ちなみに回答ざっと見てこんなだな
こういうのはコードが長くなっても動作が分かりやすい方がいいと思う
>>947,948,960
おk
>>962,963
バグあり
1015:デフォルトの名無しさん
21/12/13 22:23:58.46 s0FccnDO0.net
>>968
それ。言語の表現力が豊かでも、自分やチームで一貫性を担保するのが面倒ξ
1016:デフォルトの名無しさん
21/12/14 09:16:58.78 cLXTODpXM.net
>>971
そして、コーディング規約が底辺プログラマーに合わせられて生産性が低下する
1017:デフォルトの名無しさん
21/12/14 20:46:07.43 4rMew3mV0.net
どうせ好き勝手に言語機能使って上がる生産性なんて微々たるもん
1018:デフォルトの名無しさん
21/12/14 23:18:34.83 gu+YKYdX0.net
.net の 1.1 で書くとめちゃくちゃ不便で絶望するぞ
1019:デフォルトの名無しさん
21/12/14 23:43:50.97 5qKKFixV0.net
linqがある.NET Framework3.5ですら今これでやれって言われたら不便に感じるしなぁ
使えるものは使わせてもらった方が全然楽だわ
1020:デフォルトの名無しさん
21/12/15 08:20:32.57 YtxEX99t0.net
色々使えた方が個人的に楽だと思うのは否定しないが、もっともらしく「生産性が上がる」とか言っちゃうと
意外とそうでもなかったり。
1021:デフォルトの名無しさん
21/12/15 09:41:14.43 flSodCtX0.net
>>974
特にList<T>が無いのはキツイわ
1022:デフォルトの名無しさん
21/12/15 12:10:36.77 KtX6zlRp0.net
心配しなくても今どき1.1で書いたり書かされたりすることはないでしょ
1023:デフォルトの名無しさん
21/12/15 16:03:58.38 w2vh5jVl0.net
1.1とか極端すぎるやろ
1024:デフォルトの名無しさん
21/12/15 16:14:56.34 Jy+USlABM.net
2.0の知識で止まってるヤツも多いよね
1025:デフォルトの名無しさん
21/12/15 16:57:55.56 RMHVQ2YW0.net
さすがに今どきvar使うなとかLINQ使うなとか言われないよね?
1026:デフォルトの名無しさん
21/12/15 17:25:02.67 ik5KT4gs0.net
>>981
var使うとわからなくなるというのは名称が明示的になってないだけだと思うわ
1027:デフォルトの名無しさん
21/12/15 17:31:22.22 KBNxuXv0M.net
>>982
ハンガリアン記法?
1028:デフォルトの名無しさん
21/12/15 18:19:16.59 UGnWEqDI0.net
MS公式はvar推奨してるけどさすがにintとかstringとか基本的な型はvarにはしないな
1029:デフォルトの名無しさん
21/12/15 21:30:02.16 lA94GyTo0.net
明示的に型を書かないとダメなところ以外全部varで書くよ
1030:デフォルトの名無しさん
21/12/15 21:44:12.20 M2QFYQSl0.net
最近はnew()で書けるようになったから、極力varはやめてる
Hoge hoge = new();
実装当初の想定通りlinqの戻りくらいかなvar、使うの。
1031:デフォルトの名無しさん
21/12/15 23:22:27.06 l+MEhncN0.net
new()使えるのってc#いくつからだっけ
1032:デフォルトの名無しさん
21/12/15 23:43:54.17 NZjG441V0.net
はやくおれのレベルまで上がって来い
上で待ってるぞ
1033:デフォルトの名無しさん
21/12/16 00:21:19.35 R2Peltay0.net
new()で書けるようになったけど、コンストラクタで初期設定値渡すようにしちゃうから全然使わんなぁ。
セッター潰してコンストラクタで設定するのが好き
1034:デフォルトの名無しさん
21/12/16 07:48:14.53 Ymr34XoE0.net
>>987
C# 9.0
1035:デフォルトの名無しさん
21/12/16 09:44:30.84 P4pOcLuS0.net
C#がどんどんボクのしらないものになっていってる
いっそC##やDと名乗っていただきたい
(Dは既にある、は受け付けない)
1036:デフォルトの名無しさん
21/12/16 10:15:25.85 80W3ywqF0.net
C#に毛が生えた程度だろ
C丼でええがな
1037:デフォルトの名無しさん
21/12/16 10:54:52.18 Ni3FtdydM.net
c井
1038:デフォルトの名無しさん
21/12/16 11:01:26.24 DM4zUQcN0.net
C⛩
1039:デフォルトの名無しさん
21/12/16 11:42:40.19 plhBUTFD0.net
C升
1040:デフォルトの名無しさん
21/12/16 11:47:41.44 e2PzMi3oM.net
>>991
ほんと、氷川きよしくらい変わってしまった
1041:デフォルトの名無しさん
21/12/16 23:46:42.90 vtDDQtO+0.net
if(item is {} a){
...
}
null判定でこんな書き方あるんだな。Resharperさんに提案されて初めて知ったわ。
個人的にはあまり使いたくないけど。
1042:デフォルトの名無しさん
21/12/17 00:40:01.77 fAwtu2PR0.net
>>997
それやるとaの色がローカル変数色にならず白のままになるのが不満なんだけど俺の環境だけか?
1043:デフォルトの名無しさん
21/12/17 02:39:12.84 KpFo6Hw/0.net
C林
1044:デフォルトの名無しさん
21/12/17 11:21:38.48 b89m5ifd0.net
>>997
C#9なら
if (item is not null)
って実に直感的に書けるから早くこっちにこいよ…
ところでその式でaで受ける意味なくね?
1045:デフォルトの名無しさん
21/12/17 13:42:40.65 KpFo6Hw/0.net
C極
1046:デフォルトの名無しさん
21/12/19 09:44:58.73 QHfeHH9E0.net
WinFormsを独学でやっているのですが教えて下さい
そこそこの規模のソフトは作れるようになってますが
VSで開発していくうえで、フォルダ構成ってどう考えればいいですかね
いままではDB関連をDBフォルダ
フォームはFormにまとめてさらにその中に機能別にフォルダを
細かいクラスファイルはClassというフォルダに
DBとの受け渡し(sql書いてFormとの受け渡しModelみたいなもの?)は
Modelというフォルダにまとめています
プロの皆様はチームで作っていかれる際に
会社によりけりかもしれませんが一般的なフォルダ構成の考え方ってあるんでしょうか
1047:デフォルトの名無しさん
21/12/19 09:58:37.55 eMi6YEPC0.net
そんなもの存在しないから適当でいいよ
まぁあえて口出しするならFormフォルダはFormクラスと名前が被るからやめとけって位かな
1048:デフォルトの名無しさん
21/12/19 10:00:48.95 n0pWJPWXa.net
なんのフォルダなのか理解できない
プロジェクト(visual studio上でのプロジェクト)内じゃフォルダ切ることはないな
プロジェクトがある程度大きくなったらクラスライブラリに分ける
1049:デフォルトの名無しさん
21/12/19 10:16:13.92 UEQjoSys0.net
シングルアセンブリ構造なのかな
1050:デフォルトの名無しさん
21/12/19 10:33:08.48 QHfeHH9E0.net
>>1003
そうなんですね、気をつけます
>>1004
たとえば画面数でも100超えて、機能部分のClassファイルも100越えてくると
いちいち該当ファイル探すのが面倒でフォルダに分けたって感じです
前はPHPのフレームワークとか触ったときは
たとえばcontroller model viewとフォルダも階層構造みたいになっていて
そういう感覚もあります
チームでやられていると、どこに何のファイルが散らばっているか
わからなくなったりしないのですか? きちんと仕様書があるから関係ないのですかね
やっぱりクラスライブラリ(DLL化?)もちゃんと理解しないと駄目ですよね
一人で作ってるので、DLL化するほうが手間な気がして避けてました
1051:デフォルトの名無しさん
21/12/19 10:44:47.17 n0pWJPWXa.net
どこに何がは命名の問題もあるんじゃないかな
classも変数も先頭、末尾にそれが何か分かるように名前つけてるから名前順にソートされてればすぐわかる
1052:デフォルトの名無しさん
21/12/19 10:53:09.81 UEQjoSys0.net
>>1006
機能ごとにProjectを作るんだよ。
1053:1001
Over 1000 Thread.net
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 1004日 15時間 55分 34秒
1054:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています