- 1 名前:デフォルトの名無しさん mailto:sage [2021/12/13(月) 22:53:21.18 ID:dhjmiKBp0.net]
- !extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為) 「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。 他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、 ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。 内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。 なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。 C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください >>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。 ■前スレ ふらっと C#,C♯,C#(初心者用) Part152 mevius.5ch.net/test/read.cgi/tech/1629888256/ ■関連スレ C#, C♯, C#相談室 Part94 mevius.5ch.net/test/read.cgi/tech/1553075856/ ■コードを貼る場合は↓を使いましょう。 https://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/ https://docs.microsoft.com/en-us/dotnet/standard/class-libraries/ https://referencesource.microsoft.com/ https://source.dot.net/ ・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 VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
- 290 名前:デフォルトの名無しさん [2021/12/31(金) 20:26:28.10 ID:AHpR20H50.net]
- このスレは能力低い人が多いからWinForms以外をすすめても意味がない
あれしか理解できない
- 291 名前:デフォルトの名無しさん [2021/12/31(金) 20:29:05.37 ID:F5O9+7Cr0.net]
- WinFormsで事足りる案件をそれ以上でやる意味なんてないからな
- 292 名前:デフォルトの名無しさん mailto:sage [2021/12/31(金) 20:47:01.32 ID:ScgFuRuP0.net]
- なんかwinformに一族を滅ぼされた人がいるっぽいな
- 293 名前:デフォルトの名無しさん mailto:sage [2021/12/31(金) 20:54:49.37 ID:ApQoIWIb0.net]
- >WPFでつくる方がよっぽど面倒なんだよ、そもそも。
>BlendとモックのDLL使ってコントロール作って貰ってたのが、Web技術で作って貰えるだけでも相当工数下がるの。 つまりhtml+jsの方が楽ってのはこういうふうにカスタムコントロールを作る前提での話なのかい? それとも、それがなくてもhtmlの方が簡単っていうことなのかい? こんなふうにどんどん後付け条件が出てくると話が迷走していけない。
- 294 名前:デフォルトの名無しさん mailto:sage [2021/12/31(金) 20:59:35.03 ID:FNrpfdyG0.net]
- >>290
ほとんど全ての場合だよ。 カスタムコントロール作らない事の方が珍しいだろ。ペタペタと直接、素のコントロール置いて作ってるとか狂気の沙汰じゃん。 後付け条件も何も俺は最初からその想定で言ってる。 お前がどんどん原始的な例ばっかり挙げて後付け条件出してるんでは?
- 295 名前:デフォルトの名無しさん mailto:sage [2021/12/31(金) 21:04:02.72 ID:+14EUf560.net]
- コモンコントロール以上の何かがほしいってそれはもうRICHなGUIですよ。
アナログメーターだのバーコードだのね。
- 296 名前:デフォルトの名無しさん [2021/12/31(金) 21:13:20.91 ID:2Zk/vij+0.net]
- >>289
それはお気の毒に。 仇討ちするなら助太刀いたしますぞ。
- 297 名前:デフォルトの名無しさん mailto:sage [2021/12/31(金) 21:48:59.01 ID:M0GZ3VlB0.net]
- WPFは結局見た目重視の癖に他のデザインツールとの連携がゴミカスだったからな
お前に食わせられるデータって何のアプリで作れるの?っていう根本的な問題が解決しない
- 298 名前:デフォルトの名無しさん mailto:sage [2021/12/31(金) 22:31:41.34 ID:DunWig+Gr.net]
- flutterみたいにGUIが整備されていればいいだけなのにマイクロソフトには作れないのか
https://codezine.jp/article/detail/15063
- 299 名前:デフォルトの名無しさん mailto:sage [2021/12/31(金) 23:02:04.13 ID:M0GZ3VlB0.net]
- つか、データ内容から言ってイラレとの連携が必須なのにそこの対応がおざなりなのがいけない
そして見た目にこだわらせるツールなら 全コントロールカスタマイズ可能にしろ もちろんイラレのデータで これができんからwebview2なんて使ってんだろそいつも
- 300 名前:デフォルトの名無しさん mailto:sage [2021/12/31(金) 23:38:40.48 ID:FNrpfdyG0.net]
- なんでイラレなの?XDとかFigmaとかでは?
Storyboardで見ながら全カスタマイズ出来て当然かと。 デザイナーや制作にもそれができるからWebView2とかelectron使うんだが。
- 301 名前:デフォルトの名無しさん mailto:sage [2022/01/01(土) 00:03:57.34 ID:s/VzubKG0.net]
- >>297
いや、俺が最近のツール知らんだけ まあ、アドビ製品で作れないと辛いと思うなってことで
- 302 名前:デフォルトの名無しさん mailto:sage [2022/01/01(土) 00:04:02.95 ID:s/VzubKG0.net]
- >>297
いや、俺が最近のツール知らんだけ まあ、アドビ製品で作れないと辛いと思うなってことで
- 303 名前:デフォルトの名無しさん mailto:sage [2022/01/01(土) 00:05:29.75 ID:pK4dI97g0.net]
- >>298
最近はAdobe製品あんまり人気ないよなって感じしてる。 デザイナーの人、だいたいFigmaかなぁ。人によっては直でCSS書いてくるよ。
- 304 名前:デフォルトの名無しさん [2022/01/01(土) 05:34:40.61 ID:zdHw19Xx0.net]
- >>292
メーターはCommunity Toolkitにあるな
- 305 名前:デフォルトの名無しさん mailto:sage [2022/01/01(土) 08:49:17.03 ID:pK4dI97g0.net]
- このあたりが出来るのが楽。
https://observablehq.com/@d3/zoomable-sunburst JSのエコシステムは割と手厚くて、結構色々できる。 変わり種だと最近はこれも使った。今までだったら相当大がかりな仕組みになってた。 https://modelviewer.dev/ IEベースのWebViewだったら出来なかったんよね、これ。
- 306 名前:デフォルトの名無しさん mailto:sage [2022/01/01(土) 16:57:15.57 ID:cbVZORXia.net]
- 何の話で盛り上がってるんだっけ?
結局MSは今後デスクトップは何使えって言ってるんだっけ? もうWin32を追放してUWPで統一する計画は頓挫してたよね?
- 307 名前:デフォルトの名無しさん mailto:sage [2022/01/01(土) 17:38:08.24 ID:lDil4oeBr.net]
- MSは何も示せなくてユーザーたちが独自になんとかしようともだえてる
- 308 名前:デフォルトの名無しさん mailto:sage [2022/01/01(土) 17:52:27.24 ID:cbVZORXia.net]
- >>304
やっぱりあいかわらずそうなんだね。 今後はこういう展開をしていきます、みたいなの(横文字で何って言ったっけ?) も一切ないんだっけ。
- 309 名前:デフォルトの名無しさん mailto:sage [2022/01/01(土) 17:56:51.18 ID:gOXFnTf60.net]
- UWPってアレ結局なんなん?
MSのうさんくさい説明見ても正体がさっぱり掴めんわ ちなXAML使い
- 310 名前:デフォルトの名無しさん mailto:sage [2022/01/01(土) 19:05:01.23 ID:Je/lt7i4a.net]
- >>302
IEコンポーネントは初期設定がIE6になってるだけで、その制限解除するだけで使えるんじゃないのかな? 設定しないと使えないのは多かったけど、設定して使えないものがあった覚えはないな
- 311 名前:デフォルトの名無しさん mailto:sage [2022/01/01(土) 19:09:06.13 ID:pK4dI97g0.net]
- >>307
IEコンポーネントはパフォーマンス悪すぎて大変だったんよ。本当に悪かった。 WebGL 2.0は全くダメだし。 そしてごく最近の記法が使えないので、古い書き方で苦労するかトランスパイラで相当トランスパイルしないといかんのだけど、これもこれで大変。
- 312 名前:デフォルトの名無しさん mailto:sage [2022/01/01(土) 19:38:20.84 ID:FXZWUiqn0.net]
- そういえば、IEのコンポーネントって他プロセスから普通にDOM掴めたけど今のはそんなこと無いよな、さすがに。
- 313 名前:デフォルトの名無しさん [2022/01/02(日) 02:26:12.88 ID:XjOyUWVU0.net]
- >>308
VML使えや
- 314 名前:デフォルトの名無しさん mailto:sage [2022/01/02(日) 08:39:01.25 ID:i8dUNFkB0.net]
- >>309
今のIE11でも変わらない。Chromium Edgeは無理。
- 315 名前:デフォルトの名無しさん mailto:sage [2022/01/03(月) 00:27:24.71 ID:qrnm2syfM.net]
- 結局DelphiやVB6を超えられなかったね
- 316 名前:デフォルトの名無しさん mailto:sage [2022/01/03(月) 09:45:55.35 ID:eQW2AhJK0.net]
- ということにしたいのですね
- 317 名前:デフォルトの名無しさん mailto:sage [2022/01/03(月) 09:53:42.79 ID:Nty+tcHi0.net]
- もったいないので私にください
- 318 名前:デフォルトの名無しさん mailto:sage [2022/01/03(月) 10:54:19.16 ID:SmC4rDQma.net]
- はつみみです。
- 319 名前:デフォルトの名無しさん mailto:sage [2022/01/03(月) 13:30:35.98 ID:lKbCt2OW0.net]
- C#でNewtonsoft.Jsonを使用して
[272,1496922300000,1496934000000,"Y3913",true,"XA","XA","HSZ-HAC","HAC-DFS-WCY",1496913600000] のようなJSONを作成できますか? (数値と文字列の混合配列)
- 320 名前:デフォルトの名無しさん mailto:sage [2022/01/03(月) 13:46:53.86 ID:AMytSBf5a.net]
- 名前なしのカンマ区切りだったらそれはcsvとして処理した方がはやいんじゃないのか
- 321 名前:デフォルトの名無しさん mailto:sage [2022/01/03(月) 14:44:00.30 ID:5Qqik4MO0.net]
- >>316
全部文字列でいいじゃん
- 322 名前:316 mailto:sage [2022/01/03(月) 15:23:04.22 ID:lKbCt2OW0.net]
- echartsのガントチャートのデモです。
https://echarts.apache.org/examples/en/editor.html?c=custom-gantt-flight このデモ用のデータが https://echarts.apache.org/examples/data/asset/data/airport-schedule.json なんですが、これをバックエンドのC#から渡したいのです。 >>316はJSON構造の一部で、他に名前付きのデータも渡します。 なのでCSVはそぐわないかと思われます。
- 323 名前:デフォルトの名無しさん mailto:sage [2022/01/03(月) 16:42:23.19 ID:JMA8ZT+Nd.net]
- >>319
CSV一行分をjsonのValueとして持てばいいんだよ
- 324 名前:デフォルトの名無しさん mailto:sage [2022/01/03(月) 17:00:56.51 ID:0xi3No7I0.net]
- var objs = new {
hoge = "hoge", fuga = new object[] { 272, 1496922300000, "Y3913", true, "XA" }, }; var json = JsonConvert.SerializeObject(objs); できない理由はないけどなんか他に条件とかありそうでアレだな
- 325 名前:デフォルトの名無しさん mailto:sage [2022/01/03(月) 18:09:00.90 ID:lKbCt2OW0.net]
- >>321
おお、出来るんですね。 ありがとうございます、試してみます
- 326 名前:デフォルトの名無しさん mailto:sage [2022/01/03(月) 18:12:39.51 ID:TMV+x4l+0.net]
- var json =
結局何の型だよってイライラくるよね
- 327 名前:デフォルトの名無しさん mailto:sage [2022/01/03(月) 18:57:22.48 ID:GjMIBEAT0.net]
- >>323
Visual Studioだとvarの上にカーソル持っていったら型が表示されるだろ
- 328 名前:デフォルトの名無しさん mailto:sage [2022/01/03(月) 20:14:18.47 ID:pwAwOJBp0.net]
- var: 無能発見機
- 329 名前:デフォルトの名無しさん mailto:sage [2022/01/03(月) 22:52:28.05 ID:TMV+x4l+0.net]
- 型が分からなくてもソースが読み書きできる人が羨ましいわ。
どういう脳の論理構造してるのだろう。分からないまま読み進めるとかイライラしないの? 昔、『菊次郎の夏』って映画見て、映画見ながら、だから菊次郎って誰だよ?って 最後までイライラして発狂しそうになったの思い出したわ。ほんと糞な脚本だと思ったわ。
- 330 名前:デフォルトの名無しさん mailto:sage [2022/01/03(月) 22:59:05.73 ID:/qjDMXVn0.net]
- 右辺見ろよ
- 331 名前:デフォルトの名無しさん mailto:sage [2022/01/03(月) 23:54:17.33 ID:/ROio/0MM.net]
- インテリセンスとAPIデザインが優秀って前提はあるだろうね
適当に.で繋げてけばなんとなくコードが出来上がる 間違ったらコンパイルエラーになる だったらもうそれで型名は書かなくてもいいじゃない 型付スクリプト言語はその辺がまだまだ雑魚なんで型名をしっかり書かないと間違えるようにできてる
- 332 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 00:14:59.85 ID:fY9OVGa4a.net]
- >>326
いや、型がメソッド名や右辺式から推測しづらいと思ったら var使うなという方針は基本的には間違ってないと思うよw
- 333 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 00:16:29.87 ID:2Grj8syS0.net]
- >>326
なんでvarの上にカーソル持って行かないの?
- 334 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 00:23:52.35 ID:ufcanjsed.net]
- >>330
俺はvar推奨派だが、コードレビューでGitHub上で読むとかあるだろ? コード工の数が多いといちいち全部pullしてVSで開くとかやってられない
- 335 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 02:20:28.03 ID:f9obKWjH0.net]
- >>326
わからないままに何かしてない。 よめばわかるだろ。
- 336 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 09:52:16.17 ID:2gpItayR0.net]
- 326はC#の話じゃなくてジャバスクとかの話してるんだろ
- 337 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 10:52:36.05 ID:+AHJD1dV0.net]
- inai inai var !
- 338 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 11:04:23.12 ID:Qpyz6D0Nd.net]
- >>333
そういうことか 型推論は型が確定してるのに意味不明なこと書いてるなと思ってた
- 339 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 11:48:21.13 ID:Oz0E0ZFa0.net]
- 型が分からないとほんとイライラくるよな。
今回の反応でスルーできる奴の脳みその構造がだいたい分かってきたわ。わかったつもりで何も分かってない。 ジャバスクの話だ!! そういうことか!!! ←こいつらの脳の構造はこれなんだよ。馬鹿かこいつら…
- 340 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 11:52:23.41 ID:Hrzc5R7N0.net]
- >型が分からないとほんとイライラくるよな。
varは型が確定しています イライラしているのはあなたがバカなだけ
- 341 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 11:56:22.08 ID:698Ta9DA0.net]
- >>337
“いつ”確定するの?
- 342 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 11:58:40.79 ID:Oz0E0ZFa0.net]
- ジャバスクの話だ!!! varは型が確定している!!! ほんと馬鹿かこいつら…
- 343 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 12:00:45.54 ID:K01QBlyFd.net]
- >>338
コーディングした時点で確定してるよ varの上にカーソル持って行ったら確認できるだろ
- 344 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 12:01:01.01 ID:g8h7/5Pi0.net]
- >>321から>>323ときてジャバスクとか後付感半端ないわ
こういうのとは仕事したくねーわw
- 345 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 12:07:12.39 ID:kSsP1HEHa.net]
- >>323見たときに
var json = こうあったとき、デコード後のclassが入ってることあったり、json stringが入ってたり、varやjsonなんて型や変数名だとわけわかんねーよ! って話かと思ったら全然違った。なんだこの流れ・・・
- 346 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 12:11:24.66 ID:Oz0E0ZFa0.net]
- これこれ。>>341 おれは一言もジャバスクなんて言ってないのにジャバスクの話にされて、
さらにはおれがジャバスクを後付したと妄信し、いきなり仕事したくないとかキチガイ妄想炸裂。 仕事先でこんなキチガイいたらガチで名誉毀損で訴えるわ。 これが型をスルーできる奴の脳の構造。リアルでアホだろ、こいつら…
- 347 名前:デフォルトの名無しさん [2022/01/04(火) 12:12:43.55 ID:IgSyCTXi0.net]
- ※現在は削除されています
https://i.imgur.com/1WGlGRS.png
- 348 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 12:14:13.14 ID:K01QBlyFd.net]
- >>343
TypeScriptおすすめ
- 349 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 12:23:30.92 ID:CklunmhzM.net]
- TypeScriptは型ヒント付きスクリプト言語にはよくあることだけど型が嘘をつけるので積極的に使わない方がいい
「型がついてるから安心だ」と思っていたら実行時に違う型の値が入っていることがよくある なんなら生のJavaScriptの方が「型がないから全ての変数が信用できない」という前提に立てる分まだマシまである
- 350 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 12:29:36.62 ID:K01QBlyFd.net]
- >>346
それ言い出すとC++もreinterpret_cast多用で型の嘘つけるからなあ
- 351 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 12:42:28.79 ID:rprq1MIMM.net]
- >>347
まさにそれだね cppは名前付きのキャストを使い分ける習慣が広まってるから状況は多少、マシ TSにはanyとかいう負の遺産がある それにJSはそれ自身ではできることが少ない言語なのでインフラapiコールに頼りがちだ そこでanyを使いたくなくても多用するのでとにかく間違えやすい 自分がうっかり間違える可能性 チームメンバーが間違える可能性 ライブラリ作者が間違える可能性 とにかく間違いが起こりやすい なのでTypeScriptは使わないほいがいい
- 352 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 12:53:18.36 ID:rkCZbU1/0.net]
- ・間違ったコールバックの型付け
・間違ったasの使用 ・間違った.d.tsの使用 ・間違ったユーザー定義タイプガード TypeScriptで肩を間違える可能性があるのはこんなところかね。 まぁ、自分で使いこなせないものを使わない方がいいってのはその通りだが、 他人も同じように使いこなせないわけじゃないしな。
- 353 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 13:23:06.07 ID:b15zgk0OM.net]
- >>349
間違える余地が在ることが問題 特定の個人が使いこなせるこなせないという低次元な議論じゃない 型Aと書いたものが実際にはAでないという可能性が生じた時点であらゆるコードが信頼性を失い その検証のために心労とコストが増えて そして実際にバグが増える C#では例えば「DateTimeと書いた変数に実際にはstringが入っているかもしれない」などと考えてコーディングする人は誰もいない C#ではよほどのことがなければ基本的に型が嘘をつかないからそれで上手くいく DateTimeと書かれたらそれはDateTimeであってstringであることを考慮する必要はない しかしTypeScriptは違う 型は平気で嘘をつく Date型と書いた変数が実際は文字列だろうが数値だろうがお構いなしだ TypeScriptでは型が嘘をついていないことを確かめるには その型が嘘をついている可能性があるという前提でバリデーションを追加するか 依存してるライブラリの内部の隅々までソースを追いかけるか そういった対策をしなければならない それはあまりにも非生産的だ
- 354 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 13:31:23.12 ID:b15zgk0OM.net]
- function ExternalLibFunc(): string
function example() { const s: string = ExternalLibFunc(); if (typeof s === “string”) throw new Error(“type errro”); // do something } これが安全なTypeScriptコード stringと宣言されたものを本当にstringかどうか確かめなければならない この確認はバカバカしいと思うがやらなければバグを踏む可能性がある でも全てを確認するなんて大変だ だからみんな確認を怠る そして実際にバグが発生する そういう言語なんだTypeScriptってのは
- 355 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 14:02:28.93 ID:4jDgn5Qw0.net]
- Form1csにイベントがたくさんあるので行数が多くなってしまうのですが
部品ごとにファイルを分けてコードを書く方法を教えてください
- 356 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 15:10:27.49 ID:v2mo/5h3a.net]
- >>352
メニューやツールバーみたいのがあったら イベントハンドラの数が増えること自体は仕方ない。 行数が増えて困ることは目的の場所を探しにくくなることだから、 対策は#regionディレクティブをうまく使って分類することぐらい
- 357 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 15:15:26.98 ID:2Grj8syS0.net]
- >>352
partial class
- 358 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 15:40:55.02 ID:y9M4FwJ2M.net]
- >>352
void HogeEvent(object s, EventArgs e) { //長いコード } ↑これを ↓こうする void HogeEvent(object s, EventArgs e) { _hoge.DoSomething(); } class Hoge { public DoSomething() { // 長いコード } }
- 359 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 16:14:54.64 ID:3sRZKpnOa.net]
- >>350
そうは言ってもc#だってobjectや継承あるからな・・・
- 360 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 17:04:00.85 ID:BWSRqAyGM.net]
- >>350
ネイティブ呼び始めたら嫌でもチェックせんか? タグ付きユニオンとか使い始めたらどうせそうなるし。
- 361 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 17:29:19.72 ID:XgG7cDH40.net]
- なんだ動的型付け言語が嫌いなだけか
- 362 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 17:41:00.66 ID:h9ISFI6AM.net]
- >>356
全く意味合いが異なる
- 363 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 17:42:21.35 ID:h9ISFI6AM.net]
- >>357
本来バリデーションが必要がないところでバリデーションが必要になることが大問題
- 364 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 18:00:52.01 ID:v2mo/5h3a.net]
- それはバリデーションじゃなくてバグのチェックだねw
- 365 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 18:24:36.74 ID:h9ISFI6AM.net]
- そだね
TypeScriptdではそういうことも必要になってくる 言語上の欠陥なんだけどランタイムがJSだから永遠に解決しないだろうなこれ
- 366 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 18:24:37.24 ID:rkCZbU1/0.net]
- >間違える余地が在ることが問題
完全無欠な言語以外は認められないと? >型Aと書いたものが実際にはAでないという可能性が生じた時点であらゆるコードが信頼性を失い どういう場合にそのようなことが起きるかがわかってないんだろうね。結局使いこなしの問題。
- 367 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 18:27:22.35 ID:h9ISFI6AM.net]
- >>363
完全無欠な言語しか使わないとまでは言わない ただ大きな欠陥のある言語は使いたくない 感覚としてはその程度だね どういう場合に起こるか? それはあらゆる場面で起こりうる ライブラリすら信用できない
- 368 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 20:53:29.42 ID:f9obKWjH0.net]
- >>360
本来バリデーションは必要なのに必要じゃないと思い込んでるだけだろ。 カナリア置いたりした経験無さそう。
- 369 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 20:55:06.78 ID:f9obKWjH0.net]
- >>364
あるゆるは言い過ぎでは? ほとんどの場合信頼境界を越えるからかと。
- 370 名前:デフォルトの名無しさん [2022/01/04(火) 21:33:12.76 ID:e29mAngZa.net]
- formsのchartを使ってるんだけど、20系列くらいを100ms以下でリアルタイム更新って厳しいのかな
色々試したけど更新にどうしても時間がかかる。。
- 371 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 21:37:51.18 ID:I8DXoUzs0.net]
- >>365
c♯においてdatetime型の変数の中身がdatetime型以外である可能性があるの? 本来必要なバリデーションって何よ?
- 372 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 21:44:14.34 ID:rkCZbU1/0.net]
- >>364
Cのポインタだって使い方を間違えたら正しい型を示さないことになるし、C自身も安全でない言語と見做される こともあるが、それを分かったうえで正しく使う人はいるし実際広く使われている。そういうこと。
- 373 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 21:58:28.71 ID:f9obKWjH0.net]
- >>368
外部のAPIで1899年以前を扱いうる場合。
- 374 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 22:45:31.35 ID:mTPUUbcD0.net]
- >>367
サードパーティ製のチャートを探すことをお勧め 詳しくないから具体的な名前は特に挙げられないけど とりあえずScottPlotって名前を最近見かけたので試してみては しかし20系列もあると読みづらそうだな
- 375 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 22:57:39.12 ID:xZMfmUxua.net]
- >>367
ただの折れ線グラフとかでビジュアル的に凝る必要がなければ UserConrolから自分で作った方が早いかもね。 昔散々そういうのやってたけど、やってみると案外簡単だ。 WPFを選択するとパフォーマンス問題にぶち当たるから注意。
- 376 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 23:04:51.13 ID:hJBi5qqI0.net]
- おすすめ本あります?
アマゾンで独習を見たのですが第4版は不評、第3版おすすめとなってたんですが 2010年出版っというのが引っかかっているので他を探しています。 スキルはPythonでPyGameのサンプルを打ち込みつつ、解説を見て勉強してるレベルです。 その他言語の経験はなし!
- 377 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 23:13:01.18 ID:0nFT+Tq8M.net]
- >>365
違う 本来バリデーションは必要ないのにTSでは(というか型がゆるゆるのスクリプト言語全般だが)余計なバリデーションが必要ということ string x = func(); と書いた時にC#ではxが本当に文字列であることを検証する必要はない nullになっていないか、文字列が特定の書式を満たしているか、といった心配はあるだろう しかし、xにintが入ってる可能性は考慮する必要はない TSではxにnumberが入っているかも、という可能性を考慮しなければならない これが本来やらなくていいはずのバリデーションだ これは型が嘘をつくから起こりうること TSの代表的な欠陥の1つだ
- 378 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 23:14:48.44 ID:0nFT+Tq8M.net]
- >>369
詭弁 話を逸らすな
- 379 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 23:19:57.46 ID:Oz0E0ZFa0.net]
- var x = func();
var y = x.func(); 型が分からないとイライラくるよね。 スルーできる奴の脳みそってそ
- 380 名前:れをすべて妄想で埋めてることが社会実験で実証された。 []
- [ここ壊れてます]
- 381 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 23:20:34.56 ID:rkCZbU1/0.net]
- >型が嘘をつく
この言い回しをよっぽど気に入っているようだけどw当然TypeScriptが勝手に嘘をつくわけはなくて、 嘘をつかせたのはそれを使うプログラマ自身だわな
- 382 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 23:24:23.97 ID:Hrzc5R7N0.net]
- >>376
それはメソッド名が糞なだけだよ
- 383 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 23:30:10.65 ID:r+SDF27Td.net]
- わざわざ宣言した行まで戻って型確認するのか
- 384 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 23:30:19.98 ID:QHt6N4Fh0.net]
- 相変わらずコードが読めてもテンプレ読めない人が多いな
- 385 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 23:36:38.21 ID:0nFT+Tq8M.net]
- >>377
TSが勝手に嘘をつくことはないがC#と比べて嘘をつかせるように導くのに長けている プログラマは世界中に沢山いてTSを使うと漏れなくその脅威に晒される また彼らが作成したライブラリにも嘘が潜んでいるかもしれない
- 386 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 23:58:26.60 ID:f9obKWjH0.net]
- >>374
違わないよ。 全てTSの中であればNumberであることが担保されているのは、全てC#の中である場合と同程度に正しい。 C#の場合でも信頼境界を越えるのであればその可能性は考慮しないといけないし、TSの場合でも信頼境界を越えないのであれば気にする必要は無い。 ましてやTSというかJSはシングルスレッドなので別スレッドに壊される事も無い。
- 387 名前:デフォルトの名無しさん mailto:sage [2022/01/05(水) 00:01:01.66 ID:fuEg19Cq0.net]
- >>381
お前信頼境界って言葉一切ググらずに喋ってるだろ。 言われたことぐらい理解して反論してこいよ。
- 388 名前:デフォルトの名無しさん mailto:sage [2022/01/05(水) 00:50:54.28 ID:JsfvM5KJM.net]
- >>382
全てTSでも型が保証されない 最も簡単な事例は const x: string = 100 as any もちろんこんなコードを書く人はいないが 複雑で膨大なアプリケーションコードを扱うプロジェクトのなかで誰一人としてミスをしないかというと そんな保証は全くなく型に嘘をつかれることになるだろう
- 389 名前:デフォルトの名無しさん mailto:sage [2022/01/05(水) 00:51:02.44 ID:
]
- [ここ壊れてます]
- 390 名前:JsfvM5KJM.net mailto: >>383
ブーメラン [] - [ここ壊れてます]
|

|