ASP.NETのBlazorのスレッド part2です。
ASP.NET
https://dotnet.microsoft.com/apps/aspnet
ASP.NETは、クロスプラットフォーム対応、無料、オープンソースのフレームワーク
Free. Cross-platform. Open source.
A framework for building web apps and services with .NET and C#.
Introduction to ASP.NET Core Blazor
https://docs.microsoft.com/en-us/aspnet/core/blazor/?view=aspnetcore-5.0
【本命】Blazor スレ1【真打】
http://mevius.5ch.net/test/read.cgi/tech/1595255796/
探検
Microsoft ASP.NET Blazor #02
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2020/11/22(日) 05:30:30.13ID:kDrPKY9d221デフォルトの名無しさん
2020/12/22(火) 20:54:55.78ID:Vz3OkUO2 なんだこのエセ関西弁…このスレはなんでこうイロモノ揃いなのか
>>219
たしかにやつらは得た技術を発信することを良しとしてるよな。
Web系ならではのオープンな感じ。
SIerがやったら自社ノウハウを流出させたから減給とかなりそう。
それで情報が少ないから人気のない言語、フレームワークと捉えられるのは悲しいなあ。
>>219
たしかにやつらは得た技術を発信することを良しとしてるよな。
Web系ならではのオープンな感じ。
SIerがやったら自社ノウハウを流出させたから減給とかなりそう。
それで情報が少ないから人気のない言語、フレームワークと捉えられるのは悲しいなあ。
222デフォルトの名無しさん
2020/12/22(火) 21:14:00.98ID:QfeqeAq5 そもそもASP.NETの人気がないというのが嘘だろう
個人ブログ等の記者が主観で語ってるだけのいわゆる僕が考えたフレームワークランキングだと無視されがちだけど
ちゃんとした測定を元にランキングを出してるとこだとPHPの次ぐらいにASP.NETが入ってるものが多い
個人ブログ等の記者が主観で語ってるだけのいわゆる僕が考えたフレームワークランキングだと無視されがちだけど
ちゃんとした測定を元にランキングを出してるとこだとPHPの次ぐらいにASP.NETが入ってるものが多い
223デフォルトの名無しさん
2020/12/22(火) 22:12:00.01ID:yCNDLhUz >>221-222
ASP.NETはWeb Frameworkとしては1位だ
https://www.wappalyzer.com/technologies/web-frameworks/
>>220
無視されたことに気付かないバカ
ASP.NETはWeb Frameworkとしては1位だ
https://www.wappalyzer.com/technologies/web-frameworks/
>>220
無視されたことに気付かないバカ
224デフォルトの名無しさん
2020/12/22(火) 22:21:19.03ID:yCNDLhUz >>223のURLはもっと知名度あっていい。
node.jsが人気ないのもわかるだろ
Expressもシェア落として6%になった。
Expressはフルスタックではなく貧弱なやつだからな
node系のフルスタックはゴミみたいなのしかない
web frameworkは迷わずASP.NETでいい。
C#できないちょい無能はLaravelかRails
ガチ無能はバックエンドさわってはいけない。事故の元
node.jsが人気ないのもわかるだろ
Expressもシェア落として6%になった。
Expressはフルスタックではなく貧弱なやつだからな
node系のフルスタックはゴミみたいなのしかない
web frameworkは迷わずASP.NETでいい。
C#できないちょい無能はLaravelかRails
ガチ無能はバックエンドさわってはいけない。事故の元
225デフォルトの名無しさん
2020/12/22(火) 22:22:23.43ID:lwpoOL3+ ほらな、逃げた言うて煽ったらすぐ書き込みにきよる
何より笑えるのはわいが煽って以降、ジジイがレスに草生やさなくなったことやw
要するにな、オンプレジジイはいい歳して己が確立してない精神的未熟児なんやね
他人に抗うことしか行動原理が無い、それこそが唯一のアイデンティティ…なんとも悲しくて哀れで虚しい話やないか!?
……おいちゃんな、ほんまはジジイの力になりたいんや!真剣にそう思ってる
ジジイがクラウド本気で勉強するつもりならわいが一から手取り足取り教えたる、blazorに関してもジジイと違っておいちゃんはプロやから正しい使い方伝授したるよ?どや、ええ話やろ?
何より笑えるのはわいが煽って以降、ジジイがレスに草生やさなくなったことやw
要するにな、オンプレジジイはいい歳して己が確立してない精神的未熟児なんやね
他人に抗うことしか行動原理が無い、それこそが唯一のアイデンティティ…なんとも悲しくて哀れで虚しい話やないか!?
……おいちゃんな、ほんまはジジイの力になりたいんや!真剣にそう思ってる
ジジイがクラウド本気で勉強するつもりならわいが一から手取り足取り教えたる、blazorに関してもジジイと違っておいちゃんはプロやから正しい使い方伝授したるよ?どや、ええ話やろ?
226デフォルトの名無しさん
2020/12/22(火) 22:58:45.41ID:Vz3OkUO2 名探偵コナンの服部みたいな嘘くさい関西弁
227デフォルトの名無しさん
2020/12/22(火) 23:57:17.69ID:lwpoOL3+ お前もおいちゃんと友だちになりたいんか…?
わいは全然構へんのやけどジジイが嫉妬してまうかもしれんからジジイの返答待ちやな
ほなまた明日
わいは全然構へんのやけどジジイが嫉妬してまうかもしれんからジジイの返答待ちやな
ほなまた明日
228デフォルトの名無しさん
2020/12/23(水) 00:26:15.53ID:JHNEfXdY こんなこと書いてても、昼間はBlazorWasmを自在に操って、洗練されたピザの販売サイトや天気の一覧が出てくる画面を作ってるんだろうなあ
229デフォルトの名無しさん
2020/12/23(水) 01:54:16.30ID:Kc0L3Url >>228
オンプレ爺さんは?
オンプレ爺さんは?
230デフォルトの名無しさん
2020/12/23(水) 07:14:04.95ID:y+ivgknh 雑談スレらしく活気があってイイネ!
231デフォルトの名無しさん
2020/12/23(水) 08:14:07.90ID:L0gYl8Ji >>229
さあ…でもたぶんオンプレ爺さんは、己を育ててくれたBlazorに感謝しているのは間違い無いだろうから、
感謝のカウントアップをしてるんじゃね。
毎日一万回、カウントボタンをクリックし、スクショを取り、エクセルに貼り付けてる。
さすがにそこまでしないか。八千回かな。
さあ…でもたぶんオンプレ爺さんは、己を育ててくれたBlazorに感謝しているのは間違い無いだろうから、
感謝のカウントアップをしてるんじゃね。
毎日一万回、カウントボタンをクリックし、スクショを取り、エクセルに貼り付けてる。
さすがにそこまでしないか。八千回かな。
232デフォルトの名無しさん
2020/12/23(水) 08:25:24.23ID:5MtFrMbi いい話だなァ(;_;)
233デフォルトの名無しさん
2020/12/23(水) 08:34:59.21ID:L0gYl8Ji ついでに恥を偲んで聞くんだが、
よくWeb系の奴らが、型があるって素晴らしいですね♪的なことQiitaとかに書いてるけど
奴らが言う型って、もしかしてC#で言うところのクラスのこと?
よくWeb系の奴らが、型があるって素晴らしいですね♪的なことQiitaとかに書いてるけど
奴らが言う型って、もしかしてC#で言うところのクラスのこと?
234デフォルトの名無しさん
2020/12/23(水) 08:43:14.91ID:iOQdV6uo TypeScriptのことだよ
235デフォルトの名無しさん
2020/12/23(水) 08:58:24.15ID:L0gYl8Ji え、言語なのか…
236デフォルトの名無しさん
2020/12/23(水) 10:03:58.22ID:h+qkHPqF237デフォルトの名無しさん
2020/12/23(水) 12:04:39.47ID:L0gYl8Ji >>236
し、C#の経験がありますっ
し、C#の経験がありますっ
238デフォルトの名無しさん
2020/12/23(水) 12:24:52.39ID:qFmqxSAt C#やってて型が何かわからないってどゆこと?
C#ではclass, struct, enum, interface, delegate, arrayが型
型があるって素晴らしいですね♪的なのは見たことないけど
動的言語でも型がない言語は実質ないから
静的型チェックっていいですねくらいの意味じゃないのかな
C#ではclass, struct, enum, interface, delegate, arrayが型
型があるって素晴らしいですね♪的なのは見たことないけど
動的言語でも型がない言語は実質ないから
静的型チェックっていいですねくらいの意味じゃないのかな
239デフォルトの名無しさん
2020/12/23(水) 12:28:36.82ID:h+qkHPqF240デフォルトの名無しさん
2020/12/23(水) 12:33:43.74ID:J8E3P1ZQ >>239
TypeScriptは言語ですよ?
TypeScriptは言語ですよ?
241デフォルトの名無しさん
2020/12/23(水) 12:41:43.57ID:h+qkHPqF242デフォルトの名無しさん
2020/12/23(水) 12:53:44.25ID:L0gYl8Ji243デフォルトの名無しさん
2020/12/23(水) 13:26:24.61ID:4FZ7yNJk 文脈的にTypeScriptでも合ってるような気がする。
244デフォルトの名無しさん
2020/12/23(水) 14:06:10.99ID:Kc0L3Url 文脈的にはTypeScriptはすばらしいということだね
245デフォルトの名無しさん
2020/12/23(水) 14:12:41.92ID:aoAgDZ6q >>242
変数が定義時に型を結び付けられていて、途中で別の型の値を代入すると
コンパイル段階でエラーにしてくれることを
「型があるって素晴らしい」
と言っているのだろう。例えば、C++では
int a = 5;
とした場合、aに文字列や浮動小数点値やクラスオブジェクトは代入できない。
auto a = 5;
としても、autoがintのように解釈されてaがint型の変数になるだけで
aに文字列や浮動小数点値やクラスオブジェクトは代入できない。
ところが、JSだと、
let a = 5;
とすると、aには文字列でも浮動小数点値でもオブジェクトでも何でも
代入できてしまう。
これがバグの原因になりやすいから。
変数が定義時に型を結び付けられていて、途中で別の型の値を代入すると
コンパイル段階でエラーにしてくれることを
「型があるって素晴らしい」
と言っているのだろう。例えば、C++では
int a = 5;
とした場合、aに文字列や浮動小数点値やクラスオブジェクトは代入できない。
auto a = 5;
としても、autoがintのように解釈されてaがint型の変数になるだけで
aに文字列や浮動小数点値やクラスオブジェクトは代入できない。
ところが、JSだと、
let a = 5;
とすると、aには文字列でも浮動小数点値でもオブジェクトでも何でも
代入できてしまう。
これがバグの原因になりやすいから。
246デフォルトの名無しさん
2020/12/23(水) 14:17:08.23ID:O5AY10nM typescriptは厳密すぎるとは思うけどね
もうちょっと緩くする的な議論もあると聞く
もうちょっと緩くする的な議論もあると聞く
247デフォルトの名無しさん
2020/12/23(水) 14:45:16.52ID:4FZ7yNJk ウェブ系で型があるって素晴らしいってことは、型が無い世界に居たって事で。
Javascriptつこてて、TypeScriptに出会った感が強い。
Javascriptつこてて、TypeScriptに出会った感が強い。
248デフォルトの名無しさん
2020/12/23(水) 15:20:49.21ID:qFmqxSAt >>242
それはC#における型はわかってても
言語に依存しない型という概念を理解してないってことだったりしない?
JS使ってる人たちが言う型とC#の型に違いがあるかというと違いはない
型の種類や適用されるルールに違いがあるだけで型という概念は同じ
それはC#における型はわかってても
言語に依存しない型という概念を理解してないってことだったりしない?
JS使ってる人たちが言う型とC#の型に違いがあるかというと違いはない
型の種類や適用されるルールに違いがあるだけで型という概念は同じ
249デフォルトの名無しさん
2020/12/23(水) 18:02:10.45ID:L0gYl8Ji250デフォルトの名無しさん
2020/12/23(水) 18:45:31.75ID:aoAgDZ6q >>249
[追加]
JSの場合、オブジェクトは、
let a = {
age : 12;
};
として作製するが、ageを書き間違えて
a.aga = 13;
などとすると、何のエラーも出ず、aga という新しいプロパティーが
追加されてしまう。その結果、
a.age と a.aga の二つのメンバが出来、
a = {
age : 12;
aga : 13;
}
としたような状態になってしまう。
JSに限らず多くのスクリプト言語は同様の現象がおき、ミスに対する
フェイルセイフが出来ておらず非常に危険なので、大規模開発に
向いていないと言われている。
[追加]
JSの場合、オブジェクトは、
let a = {
age : 12;
};
として作製するが、ageを書き間違えて
a.aga = 13;
などとすると、何のエラーも出ず、aga という新しいプロパティーが
追加されてしまう。その結果、
a.age と a.aga の二つのメンバが出来、
a = {
age : 12;
aga : 13;
}
としたような状態になってしまう。
JSに限らず多くのスクリプト言語は同様の現象がおき、ミスに対する
フェイルセイフが出来ておらず非常に危険なので、大規模開発に
向いていないと言われている。
251デフォルトの名無しさん
2020/12/23(水) 18:52:45.56ID:qnDToIG0 それ型と直接関係なくね?
確かにtsだとそれを防ぐ型とか作れるけども…
確かにtsだとそれを防ぐ型とか作れるけども…
252デフォルトの名無しさん
2020/12/23(水) 19:09:45.60ID:aa3pY4zz なぜ型と関係ないと思うwww
253デフォルトの名無しさん
2020/12/23(水) 19:26:43.15ID:L0gYl8Ji >>250
全部dynamic型!みたいな言語だな。
こんなの自分一人でもだめだわ。破綻するわ。
これの利点ってなんなんだろ…
あとよくサーバーとフロントで型を共有できて嬉しいですよね♪みたいなこと書いてるブログもみるんだが
それができてない場合ってこうなる?
サーバー側:sexはなんか卑猥だからgenderにしたれ!
フロント側:sexに何も挿入されない…
全部dynamic型!みたいな言語だな。
こんなの自分一人でもだめだわ。破綻するわ。
これの利点ってなんなんだろ…
あとよくサーバーとフロントで型を共有できて嬉しいですよね♪みたいなこと書いてるブログもみるんだが
それができてない場合ってこうなる?
サーバー側:sexはなんか卑猥だからgenderにしたれ!
フロント側:sexに何も挿入されない…
254デフォルトの名無しさん
2020/12/23(水) 21:34:43.30ID:qFmqxSAt >>250
それはDictionaryに新しいkey/valueペアを追加してるのと同じだからね
そういうのでバグ出しちゃうのは基本的にテスト書かない人
チーム開発で動的言語使ってまともなプログラムを作るためには
静的言語の場合よりも高い技術スキルとコミュニケーション能力が求められる
なのでソフトウェアの規模というよりチームの規模が大きくなればなるほど不利
それはDictionaryに新しいkey/valueペアを追加してるのと同じだからね
そういうのでバグ出しちゃうのは基本的にテスト書かない人
チーム開発で動的言語使ってまともなプログラムを作るためには
静的言語の場合よりも高い技術スキルとコミュニケーション能力が求められる
なのでソフトウェアの規模というよりチームの規模が大きくなればなるほど不利
255デフォルトの名無しさん
2020/12/23(水) 21:52:55.12ID:O5AY10nM 無能爺が出しゃ張らないだけで、雑談スレでもここまで建設的なスレになるんだね
256デフォルトの名無しさん
2020/12/23(水) 21:53:23.50ID:qFmqxSAt >>253
サーバーとクライアントで違う言語を使ってても
swaggerとかでインターフェース定義してそれぞれコード生成すればいい
C#でも同じだと思うんだけど?
逆に同じ言語を使ってるからといってやり取りするデータを定義した
クラスライブラリを共有するのはアーキテクチャ的にはかなり微妙
特に外部に公開するようなサービスでは
サーバーとクライアントで違う言語を使ってても
swaggerとかでインターフェース定義してそれぞれコード生成すればいい
C#でも同じだと思うんだけど?
逆に同じ言語を使ってるからといってやり取りするデータを定義した
クラスライブラリを共有するのはアーキテクチャ的にはかなり微妙
特に外部に公開するようなサービスでは
257デフォルトの名無しさん
2020/12/23(水) 22:03:15.12ID:92W7nQMG258デフォルトの名無しさん
2020/12/23(水) 22:27:01.33ID:92W7nQMG >>256
連投すまん
そのswaggerはサーバー側の型に変更があったらクライアント側で気づくことができるんだろうか。
blazorのプロジェクトの構成ならコンパイラが教えてくれるよね。
外部に公開しないシステムで二回型定義するのは、ツールに頼ったとしてもめんどくさいとおもってしまうんですよ
連投すまん
そのswaggerはサーバー側の型に変更があったらクライアント側で気づくことができるんだろうか。
blazorのプロジェクトの構成ならコンパイラが教えてくれるよね。
外部に公開しないシステムで二回型定義するのは、ツールに頼ったとしてもめんどくさいとおもってしまうんですよ
259デフォルトの名無しさん
2020/12/24(木) 00:11:53.93ID:61P3AxB9260デフォルトの名無しさん
2020/12/24(木) 00:38:15.61ID:cDdTcWWQ Unityがなんで勝ったか、を考えれば答えは見えてるだろ
261デフォルトの名無しさん
2020/12/24(木) 00:59:13.90ID:z4h3nURn262デフォルトの名無しさん
2020/12/24(木) 01:05:39.49ID:cu9CRgEK 最近はミクロサービスもやっぱ駄目だったってんでモノリスに回帰してきてるらしいな
263デフォルトの名無しさん
2020/12/24(木) 06:31:15.50ID:qBLsz+9E Docker は、1コンテナに、1アプリのマイクロサービス
今の基幹技術だろw
流行りまくっている
今の基幹技術だろw
流行りまくっている
264デフォルトの名無しさん
2020/12/24(木) 08:12:52.16ID:Lxgk3nTO265デフォルトの名無しさん
2020/12/24(木) 08:34:44.70ID:tvAmDhsP >>261
すまん前提が書けてなかった。
うちは企業内アプリをメインに作ってて、他の外部apiには殆どアクセスしない。
バックもフロントも自チーム内で完結する。
横に座ってる奴がサーバー側の型を変更して急用ができて帰ったとする
フロントやってるやつがそのことに気づかずにリリースしてしまうなんてことが起こるようなら本末転倒だなと。
それで原因はテストコードが足りないとか、コミュニケーションが足りないとかいうのもおかしいよねと考えている。
Blazorのプロジェクト構成ならビルド時に気づくよね。
swaggerを使うことで、フロント側がすぐに型変更を検知できるような仕組みがあるんならいいんだけど、気づかないよね?困るよね?現にお困りではないでしょうか?
と聞きたかった。
すまん前提が書けてなかった。
うちは企業内アプリをメインに作ってて、他の外部apiには殆どアクセスしない。
バックもフロントも自チーム内で完結する。
横に座ってる奴がサーバー側の型を変更して急用ができて帰ったとする
フロントやってるやつがそのことに気づかずにリリースしてしまうなんてことが起こるようなら本末転倒だなと。
それで原因はテストコードが足りないとか、コミュニケーションが足りないとかいうのもおかしいよねと考えている。
Blazorのプロジェクト構成ならビルド時に気づくよね。
swaggerを使うことで、フロント側がすぐに型変更を検知できるような仕組みがあるんならいいんだけど、気づかないよね?困るよね?現にお困りではないでしょうか?
と聞きたかった。
266263
2020/12/24(木) 08:39:38.18ID:qBLsz+9E AWS の構成図を見てみろ。
ほとんど、マイクロサービスだろ
何十もの、Lambda, SQS(Queue), SNS(通知)をつなげてるの、ばっかりだろ
クラスメソッドの動画を見ろ
会社全体で、AWS の資格を800持っていて、
全12資格を持つ・ジェダイマスターが7人もいる!
ほとんど、マイクロサービスだろ
何十もの、Lambda, SQS(Queue), SNS(通知)をつなげてるの、ばっかりだろ
クラスメソッドの動画を見ろ
会社全体で、AWS の資格を800持っていて、
全12資格を持つ・ジェダイマスターが7人もいる!
267デフォルトの名無しさん
2020/12/24(木) 08:40:41.97ID:BsodnxpD268デフォルトの名無しさん
2020/12/24(木) 08:53:01.08ID:Lxgk3nTO >>266
そりゃアマゾンは大手のクラウド事業者だからあたりまえだろ
自社の提供するサービスをそのまま使ってるだけ
サービスの広告にもなる
一般法人がそれを採用することが合理的かは別の話だ。
デメリットを理解せず、流行ってるからいいという
アホな価値観だからそういう思考になる
そりゃアマゾンは大手のクラウド事業者だからあたりまえだろ
自社の提供するサービスをそのまま使ってるだけ
サービスの広告にもなる
一般法人がそれを採用することが合理的かは別の話だ。
デメリットを理解せず、流行ってるからいいという
アホな価値観だからそういう思考になる
269デフォルトの名無しさん
2020/12/24(木) 08:58:23.93ID:nIBEXBhK こいつはホンマにいつも5chやっとるな
270デフォルトの名無しさん
2020/12/24(木) 09:04:12.11ID:Lxgk3nTO >>266
おまえいつもKENTAの話ばっかりしてるやつだろw
クラスメソッドw
俺は初心者向けスクールなんていかない。
会社全体の資格者数なんて何の意味もないし
ベンダー資格なんてすぐに取れるんだよw
スクールだから宣伝のために講師に取らせてることも理解できないって
頭悪すぎだぞ
スクールの講師に優秀なエンジニアいないぞ
簡単にとれる資格でだまされてるやつw
KENTAとかスクールとか情弱ビジネスに釣られすぎ
おまえいつもKENTAの話ばっかりしてるやつだろw
クラスメソッドw
俺は初心者向けスクールなんていかない。
会社全体の資格者数なんて何の意味もないし
ベンダー資格なんてすぐに取れるんだよw
スクールだから宣伝のために講師に取らせてることも理解できないって
頭悪すぎだぞ
スクールの講師に優秀なエンジニアいないぞ
簡単にとれる資格でだまされてるやつw
KENTAとかスクールとか情弱ビジネスに釣られすぎ
271263
2020/12/24(木) 09:33:54.56ID:qBLsz+9E クラスメソッドは、AWS パートナー・オブ・ザ・イヤーとか取ってる、最上位の会社
米国年収で、
Ruby on Rails 1,300万円
Node.js 900万
VMware 1,400万
AWS Solution Architect 1,500万
もう、AWS資格が、Railsを超えてる!
米国年収で、
Ruby on Rails 1,300万円
Node.js 900万
VMware 1,400万
AWS Solution Architect 1,500万
もう、AWS資格が、Railsを超えてる!
272デフォルトの名無しさん
2020/12/24(木) 09:52:41.32ID:tvAmDhsP ついでに聞いとこ。
クラスメソッドくんは普段なんのフレームワークで開発してるんだい?
クラスメソッドくんは普段なんのフレームワークで開発してるんだい?
273デフォルトの名無しさん
2020/12/24(木) 10:54:27.41ID:cDdTcWWQ >>266
その構成が複雑化しすぎて多くの場合でデメリットがメリットを上回ってしまう
よっぽど巨大で複雑なシステムでもない限りモノリスのほうがシンプルでイイネ
っていうふうにトレンドが移り変わろうとしてるところ
その構成が複雑化しすぎて多くの場合でデメリットがメリットを上回ってしまう
よっぽど巨大で複雑なシステムでもない限りモノリスのほうがシンプルでイイネ
っていうふうにトレンドが移り変わろうとしてるところ
274デフォルトの名無しさん
2020/12/24(木) 11:28:27.57ID:TzdYJrci KENTAはコテ付けるべきでは?
275デフォルトの名無しさん
2020/12/24(木) 12:08:12.79ID:tvAmDhsP >>273
これほんとにそうだと思う。
こういうのが必要なのって相当巨大なシステムだけなんじゃないのか
トレンドだからとDockerだか、Kubernetesだかに手を出して
気づかず消耗してるんじゃないだろうか。
クリーンアーキテクチャについてもそうおもうし、
なんならrest apiもそうなんじゃないだろうかと疑っている。
rpcでよかったのにrestにしちゃったケースもあると思うんだよなあ
これほんとにそうだと思う。
こういうのが必要なのって相当巨大なシステムだけなんじゃないのか
トレンドだからとDockerだか、Kubernetesだかに手を出して
気づかず消耗してるんじゃないだろうか。
クリーンアーキテクチャについてもそうおもうし、
なんならrest apiもそうなんじゃないだろうかと疑っている。
rpcでよかったのにrestにしちゃったケースもあると思うんだよなあ
276デフォルトの名無しさん
2020/12/24(木) 12:24:48.60ID:61P3AxB9277デフォルトの名無しさん
2020/12/24(木) 12:37:13.88ID:tvAmDhsP278デフォルトの名無しさん
2020/12/24(木) 13:32:36.53ID:FJvlKwaS >>275
Dockerは別にいいと思う
あれはどんな依存関係でも簡単にパッケージできるのと環境を汚さないで済むという強力なメリットがある
K8Sまで行くとやりすぎで本当にK8Sが必要なのか慎重に考えないといけない
クリーンアーキテクチャは悪くない
モノリスに回帰してきているとは言ってもコードを汚く書いていいわけじゃない
あくまでも悪いのはミクロサービスであってアプリケーション内部をクリーンアーキテクチャで綺麗に構造化するのは依然として良いことだ
RPCはそのとおり
APIだけじゃぜんぜん駄目だったのでgRPCなどが普及し始めた
DDDの文脈で綺麗にシステムを作ろうとするとAPIよりRPCが肝要となる
Dockerは別にいいと思う
あれはどんな依存関係でも簡単にパッケージできるのと環境を汚さないで済むという強力なメリットがある
K8Sまで行くとやりすぎで本当にK8Sが必要なのか慎重に考えないといけない
クリーンアーキテクチャは悪くない
モノリスに回帰してきているとは言ってもコードを汚く書いていいわけじゃない
あくまでも悪いのはミクロサービスであってアプリケーション内部をクリーンアーキテクチャで綺麗に構造化するのは依然として良いことだ
RPCはそのとおり
APIだけじゃぜんぜん駄目だったのでgRPCなどが普及し始めた
DDDの文脈で綺麗にシステムを作ろうとするとAPIよりRPCが肝要となる
279デフォルトの名無しさん
2020/12/24(木) 13:35:03.72ID:61P3AxB9 >>277
サービスレベルで設計してないって事ね。
サービスレベルで設計してないって事ね。
280デフォルトの名無しさん
2020/12/24(木) 13:56:01.24ID:RIrJysKy 単純なマスタメンテみたいなアプリでもなけりゃサーバーとクライアントで扱うモデルって一致しなくない?
セキュリティとかプライバシーに関わるようなデータでも平気でネットワークに流しちゃう感じ?
セキュリティとかプライバシーに関わるようなデータでも平気でネットワークに流しちゃう感じ?
281デフォルトの名無しさん
2020/12/24(木) 14:00:28.72ID:VTM9inIm ドットネッターはコンテナに拒否反応示す人が多いよね
.NET Coreでせっかくモダンなスタイルのデプロイが可能になったと思ったら、
井の中の蛙なユーザーに迎合してIIS統合とかFDD強化とか変なことに力入れてどんどん退行してるし
.NET Coreでせっかくモダンなスタイルのデプロイが可能になったと思ったら、
井の中の蛙なユーザーに迎合してIIS統合とかFDD強化とか変なことに力入れてどんどん退行してるし
282デフォルトの名無しさん
2020/12/24(木) 15:31:58.25ID:GGlRJfww Windowsコンテナが実用レベルになったら起こしてくれ
283デフォルトの名無しさん
2020/12/24(木) 17:59:56.32ID:tvAmDhsP284デフォルトの名無しさん
2020/12/24(木) 18:17:21.72ID:61P3AxB9285デフォルトの名無しさん
2020/12/24(木) 18:32:45.65ID:z4h3nURn >>265
それってコンパイルエラーになるような変更なら気がつくけど
それ以外の変更なら不具合が起こってても気が付かないてことでしょ?
結局テスト書いてないだけじゃない?
swaggerとかインターフェース定義ファイルからそれぞれのスタブを自動生成するようなやつは
定義が変わればそりゃ検知できるけど検知できて新しい定義に対応したところで
その変更によって不具合が起こってないことはテストしないとわからないよね
それってコンパイルエラーになるような変更なら気がつくけど
それ以外の変更なら不具合が起こってても気が付かないてことでしょ?
結局テスト書いてないだけじゃない?
swaggerとかインターフェース定義ファイルからそれぞれのスタブを自動生成するようなやつは
定義が変わればそりゃ検知できるけど検知できて新しい定義に対応したところで
その変更によって不具合が起こってないことはテストしないとわからないよね
286デフォルトの名無しさん
2020/12/24(木) 18:36:25.33ID:cDdTcWWQ287デフォルトの名無しさん
2020/12/24(木) 18:46:02.72ID:PofLudrU さらにF#の型プロバイダをBlazorで利用すると、バックエンドが.NETでない場合でも、型安全なI/Oモデルを手に入れることができる
インターフェース定義、コード生成要らないので、とても楽ちん
インターフェース定義、コード生成要らないので、とても楽ちん
288デフォルトの名無しさん
2020/12/24(木) 18:53:41.80ID:tvAmDhsP289デフォルトの名無しさん
2020/12/24(木) 19:15:50.43ID:EoOpc5fU >>283
型共有は工数削減効果が非常に高いので積極的に利用して良いよ
型共有は工数削減効果が非常に高いので積極的に利用して良いよ
290デフォルトの名無しさん
2020/12/24(木) 19:26:12.20ID:yLXHVLdF swaggerがどうのこうの言ってる人はミスリードを狙ってそうな気配がする
swaggerはメソッドを定義することはできないからblazorの型共有とはそもそもまったくの別物だよ
swaggerはメソッドを定義することはできないからblazorの型共有とはそもそもまったくの別物だよ
291デフォルトの名無しさん
2020/12/24(木) 19:34:01.95ID:yLXHVLdF blazorの型共有は単にAPIのDTOを共有するといったつまらないユースケース留まらない(もちろんDTOとしても非常に便利ではあるが)
例えば単価、税率、個数から消費税込み価格を計算するメソッドがプレゼンテーション層とドメイン層の両方で必要になった場合
blazorならC#で1回だけメソッドを実装すればいい
バックエンドとフロントが異なる言語だと同じ処理を異なる言語で2回実装しなければならない
もちろん仕様変更が発生した場合には両方ともプログラムを修正、テストをしなければならない
テスト定義もバックエンドの言語とフロントエンドの言語で2回書かなければならない
片方の仕様変更を忘れてもテストが更新されなければアラートは鳴らないので
慎重に2つの言語を調べ尽くして実装漏れがないかどうか確認しなければならない
例えば単価、税率、個数から消費税込み価格を計算するメソッドがプレゼンテーション層とドメイン層の両方で必要になった場合
blazorならC#で1回だけメソッドを実装すればいい
バックエンドとフロントが異なる言語だと同じ処理を異なる言語で2回実装しなければならない
もちろん仕様変更が発生した場合には両方ともプログラムを修正、テストをしなければならない
テスト定義もバックエンドの言語とフロントエンドの言語で2回書かなければならない
片方の仕様変更を忘れてもテストが更新されなければアラートは鳴らないので
慎重に2つの言語を調べ尽くして実装漏れがないかどうか確認しなければならない
292デフォルトの名無しさん
2020/12/24(木) 20:36:59.38ID:NdJ7CDDg 画面の金額と実際の請求金額に差異が出たりしたら偉い人が顧客に土下座するレベルの重大事故だろ
さすがにそこはサーバーサイドに投げるわ
コード共有などという小手先レベルの共通化は少々バグっても笑って許される程度の機能のちょっとしたUX改善程度にとどめておくべきで、
重要なものはアーキテクチャ上差異が発生しないように作る
さすがにそこはサーバーサイドに投げるわ
コード共有などという小手先レベルの共通化は少々バグっても笑って許される程度の機能のちょっとしたUX改善程度にとどめておくべきで、
重要なものはアーキテクチャ上差異が発生しないように作る
293デフォルトの名無しさん
2020/12/24(木) 20:48:02.28ID:yJIcrLfM294デフォルトの名無しさん
2020/12/24(木) 20:58:24.94ID:KjzzoxRm295デフォルトの名無しさん
2020/12/24(木) 21:06:28.06ID:cW3QBX++ >>292
自分の設計だとバリデーション含めて
ロジックは全部(表示フォーマットも)サービス側ですね。
ローカルにあるロジックと応答速度で遜色ないですよ。
サービス側は全部単体テスト対象なんで
安心感もあります。
リリース後にバグ出すと、
なんで単体テストを通過したのか始末書もんです。
自分の設計だとバリデーション含めて
ロジックは全部(表示フォーマットも)サービス側ですね。
ローカルにあるロジックと応答速度で遜色ないですよ。
サービス側は全部単体テスト対象なんで
安心感もあります。
リリース後にバグ出すと、
なんで単体テストを通過したのか始末書もんです。
296デフォルトの名無しさん
2020/12/24(木) 21:23:01.51ID:IhbSA9yU >>295
思想としては正しいと思う
.NETな人って表面的なコードの共有は大好きなのにデプロイメントをDRYにするという意識が希薄な人が多くて、
ビジネスロジックのDLLをWebとバッチで安易に共通化したりしてデプロイをミスってトラブル起こすケースが多いんだよね
思想としては正しいと思う
.NETな人って表面的なコードの共有は大好きなのにデプロイメントをDRYにするという意識が希薄な人が多くて、
ビジネスロジックのDLLをWebとバッチで安易に共通化したりしてデプロイをミスってトラブル起こすケースが多いんだよね
297デフォルトの名無しさん
2020/12/24(木) 21:32:29.46ID:cW3QBX++ View側に業務ロジック混ざると、
コードが読めなくなること多いですからね。
いろんな人が出入りするし。
フロントなんて持って数年、
システムの統廃合やリプレース時にも楽ですよ。
コードが読めなくなること多いですからね。
いろんな人が出入りするし。
フロントなんて持って数年、
システムの統廃合やリプレース時にも楽ですよ。
298デフォルトの名無しさん
2020/12/24(木) 21:48:16.63ID:BMlK5S4S Blazor Serverでファイルのアップロード処理をしたいのですが、
アップロード時に、ローカルにファイルが存在するかチェックするにはどうすればよいでしょうか?
アップロード時に、ローカルにファイルが存在するかチェックするにはどうすればよいでしょうか?
299デフォルトの名無しさん
2020/12/24(木) 21:51:51.36ID:zHK1POmy >>298
ローカル側の処理なんでJavaScript書かないと仕方ないんじゃないの
ローカル側の処理なんでJavaScript書かないと仕方ないんじゃないの
300デフォルトの名無しさん
2020/12/24(木) 21:59:31.17ID:BMlK5S4S301デフォルトの名無しさん
2020/12/24(木) 22:00:26.68ID:cDdTcWWQ302デフォルトの名無しさん
2020/12/24(木) 22:05:56.79ID:cDdTcWWQ >>295
それはいままで簡単にフロントエンドとバックエンドでロジックを共有できなかったからそうするしかなかっただけ
型共有がなかったからコードを重複させるか些細なことでもバックエンドにリクエストを出すしかなかった
どちらもやりたいことにたいして実装と実行のオーバーヘッドが大きい
型共有が可能なblazorでは無駄なエンドポイント実装、APIコール実装を削減することにより生産性の向上が期待できる
また無駄なラウンドトリップを避けることによりより良いユーザー体験が期待できる
それはいままで簡単にフロントエンドとバックエンドでロジックを共有できなかったからそうするしかなかっただけ
型共有がなかったからコードを重複させるか些細なことでもバックエンドにリクエストを出すしかなかった
どちらもやりたいことにたいして実装と実行のオーバーヘッドが大きい
型共有が可能なblazorでは無駄なエンドポイント実装、APIコール実装を削減することにより生産性の向上が期待できる
また無駄なラウンドトリップを避けることによりより良いユーザー体験が期待できる
303デフォルトの名無しさん
2020/12/24(木) 22:08:01.69ID:cDdTcWWQ >>296
昨今ではデプロイメントは自動化されるので間違えることはない
昨今ではデプロイメントは自動化されるので間違えることはない
304デフォルトの名無しさん
2020/12/24(木) 22:09:26.12ID:cDdTcWWQ305デフォルトの名無しさん
2020/12/24(木) 22:25:28.29ID:Lxgk3nTO306デフォルトの名無しさん
2020/12/24(木) 22:50:48.81ID:cFK/Qw2G 実際どちらのことを書いてるんだろう
Serverかな
しかしwasmとserverでほんと全然ものが違うよな。
共通点はフロントをc#でかけるってだけで。
MSの名前の付け方は本当に適当だと思う。
Serverかな
しかしwasmとserverでほんと全然ものが違うよな。
共通点はフロントをc#でかけるってだけで。
MSの名前の付け方は本当に適当だと思う。
307デフォルトの名無しさん
2020/12/24(木) 22:59:35.56ID:z4h3nURn 同一言語で作ってる同一プロジェクト内で型を参照することを
”型共有”って言うのは相当違和感あるね
誰が使い始めたのかしらないけど
”型共有”って言うのは相当違和感あるね
誰が使い始めたのかしらないけど
308デフォルトの名無しさん
2020/12/24(木) 23:11:34.69ID:F9/YVp9N では何と言うべきか?
309デフォルトの名無しさん
2020/12/24(木) 23:24:38.23ID:cFK/Qw2G Qiita や個人のブログを貼るのはアレなので
クラスメソッドの記事を…
https://dev.classmethod.jp/articles/typescript-front-server/
interfaceを共有することで 型安全な開発ができます
これのことかな。
クラスメソッドの記事を…
https://dev.classmethod.jp/articles/typescript-front-server/
interfaceを共有することで 型安全な開発ができます
これのことかな。
310デフォルトの名無しさん
2020/12/24(木) 23:50:47.46ID:cDdTcWWQ Blazorはinterfaceの共有もできるがそれだけに限らない
interface、class、struct、、、何でも共有できる
それらを総称するとなんと言うか?それは型だ
だから型を共有していると言うより適切な表現はないのではないかな
interface、class、struct、、、何でも共有できる
それらを総称するとなんと言うか?それは型だ
だから型を共有していると言うより適切な表現はないのではないかな
311デフォルトの名無しさん
2020/12/25(金) 00:08:08.33ID:vv0pxJyE >>309
このケースはリポジトリとして定義した型をサーバーとクライアントで共有してるというのは違和感ないな
RESTのAPIで切り離されてるからかな
(APIが返す型情報を元にしてないから微妙なところがあるけど)
ASP.NET MVCで言えば同じビューモデルの定義を参照してるからって
ビューとコントローラーで”型共有”してるとは普通言わないよね?
このケースはリポジトリとして定義した型をサーバーとクライアントで共有してるというのは違和感ないな
RESTのAPIで切り離されてるからかな
(APIが返す型情報を元にしてないから微妙なところがあるけど)
ASP.NET MVCで言えば同じビューモデルの定義を参照してるからって
ビューとコントローラーで”型共有”してるとは普通言わないよね?
312デフォルトの名無しさん
2020/12/25(金) 00:14:35.63ID:K5aqSQYy >>311
言い回しとして普及してるかどうかは知らんが型を共有してるのは正しい
言い回しとして普及してるかどうかは知らんが型を共有してるのは正しい
313デフォルトの名無しさん
2020/12/25(金) 00:24:51.99ID:Z26lwPgE >>311
Blazor wasmのプロジェクト構成では
Shareプロジェクトにモデルを定義して
ClientプロジェクトのRazorページでShareプロジェクトを参照している
同じくServerプロジェクトのコントローラーでもShareプロジェクトを参照している
これはなんていうんだろう。
どちらにせよサーバーとクライアントで同じ型を使うという目的に対して手段が違うだけであって、別にまずくはないと思うんだけどどうだろう。
Blazor wasmのプロジェクト構成では
Shareプロジェクトにモデルを定義して
ClientプロジェクトのRazorページでShareプロジェクトを参照している
同じくServerプロジェクトのコントローラーでもShareプロジェクトを参照している
これはなんていうんだろう。
どちらにせよサーバーとクライアントで同じ型を使うという目的に対して手段が違うだけであって、別にまずくはないと思うんだけどどうだろう。
314デフォルトの名無しさん
2020/12/25(金) 08:42:56.78ID:uurLZNKt サーバーとフロントで型を共有?できた方が大半はうれしい。
OpanAPIが必要なシステムではそこに固執しなくてもよいということで。
じゃあこの板でもたまにやたらと推してくる奴がいる言語、rubyやpythonって静的型付け言語じゃないよね。
てことは型の共有もくそもないと。
そういう言語で中規模以上のWebシステムを作ろうとするとやはり苦労する?
推してくるやつはその事実をわかっていない?
静的型付け言語しかしらない俺にとってはなんであんな推してくるのかとても気になる。
OpanAPIが必要なシステムではそこに固執しなくてもよいということで。
じゃあこの板でもたまにやたらと推してくる奴がいる言語、rubyやpythonって静的型付け言語じゃないよね。
てことは型の共有もくそもないと。
そういう言語で中規模以上のWebシステムを作ろうとするとやはり苦労する?
推してくるやつはその事実をわかっていない?
静的型付け言語しかしらない俺にとってはなんであんな推してくるのかとても気になる。
315デフォルトの名無しさん
2020/12/25(金) 09:13:17.07ID:JfQSa+1c >>314
OpenAPIじゃメソッド(処理)を共有できないよ
フロントエンドとバックエンドで言語を揃えることにより今まで複数言語で書くかリモート実行するしかなかった問題が解決した
OpenAPIは複数言語で書く手間を軽減できるがリモート実行するしかないという問題には未だに無力
OpenAPIじゃメソッド(処理)を共有できないよ
フロントエンドとバックエンドで言語を揃えることにより今まで複数言語で書くかリモート実行するしかなかった問題が解決した
OpenAPIは複数言語で書く手間を軽減できるがリモート実行するしかないという問題には未だに無力
316デフォルトの名無しさん
2020/12/25(金) 09:31:31.83ID:UA1/tVeu どんな言語であれフレームワークであれ
データ型は共有しないとクライアントが受け取ったデータを適切に処理できないでしょ
blazor は同じアセンブリを共有できる分開発は楽になるでしょ
クライアントに送るデータはクライアントに必要なデータしか普通は送らないし
サーバ側の型がクライアントに漏れるとか
入門書レベルの開発しかしたことないだろ
データ型は共有しないとクライアントが受け取ったデータを適切に処理できないでしょ
blazor は同じアセンブリを共有できる分開発は楽になるでしょ
クライアントに送るデータはクライアントに必要なデータしか普通は送らないし
サーバ側の型がクライアントに漏れるとか
入門書レベルの開発しかしたことないだろ
317デフォルトの名無しさん
2020/12/25(金) 09:44:37.32ID:uurLZNKt >>315
多種多様なシステムやデバイスが使うapiは仕方がないという認識
多種多様なシステムやデバイスが使うapiは仕方がないという認識
318デフォルトの名無しさん
2020/12/25(金) 10:04:08.77ID:JfQSa+1c >>317
その多種多様なデバイスの上で.NETが動くわけで
その多種多様なデバイスの上で.NETが動くわけで
319デフォルトの名無しさん
2020/12/25(金) 10:09:58.28ID:8j4BK9K7 ぜんぶ設計者次第だという認識
320デフォルトの名無しさん
2020/12/25(金) 10:16:11.17ID:81Ut/TdK >>314
WebなんてぶっちゃけDBと画面の間のマッピングを定義してるだけの話なので、
データモデルがRDBによって常に静的に型付けされているため動的型でも破綻しにくい
むしろ変にドメイン駆動とか意識高いのに毒されて画面から独立したモノリシックなビジネスロジック層みたいなのができちゃうと、動的型では確実に破綻する
WebなんてぶっちゃけDBと画面の間のマッピングを定義してるだけの話なので、
データモデルがRDBによって常に静的に型付けされているため動的型でも破綻しにくい
むしろ変にドメイン駆動とか意識高いのに毒されて画面から独立したモノリシックなビジネスロジック層みたいなのができちゃうと、動的型では確実に破綻する
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 渡邊渚『日本は男性の性欲に甘い国』「女性をどうやって騙して呼び出すか力説するおじさん」日本で多発する性的搾取について思うこと [Ailuropoda melanoleuca★]
- 室外機の上に立っていた中国籍の男(44)逮捕「包丁を持ち歩いてはいけないという日本の法律は知らない」 [七波羅探題★]
- 【文春】林芳正総務大臣がついに公職選挙法違反で刑事告発された!「常習犯の可能性」「大規模買収事件が明るみに」 [パンナ・コッタ★]
- “結婚隠し”が物議のたぬかな、イベント出演を見送り 運営が説明「本人および来場者の安全確保を…」 [ひかり★]
- 30代の中国籍の男逮捕 東京ディズニーシーのホテルミラコスタ宴会場に刃物持ち侵入、逃走 [どどん★]
- 外国人の労働力「反対」59%…読売・早大共同世論調査 ★2 [蚤の市★]
- 【なでしこ】女子サッカーMS&ADカップ2025 日本vsカナダ 2
- とらせん IP
- 巨専】
- 競輪実況★1616
- こいせん 全レス転載禁止
- 【DAZN】フォーミュラGP【F1 2 3 SF P】Lap1816
- ビル・ゲイツ「私が死んだとき、子供には1%しか遺産は残さない」 [977261419]
- 政府、高市首相の「戦艦」という言葉は言い間違いではないと閣議決定 [256556981]
- 【悲報】山上徹也「俺が作った銃なんかゴミみたいなもん。本来の1割の威力しかなかった」 [455031798]
- 【悲報】高市早苗、進撃の巨人の台詞を知ったかでパクリ大炎上wwwwwwwwwwwwwwwwwwww [802034645]
- 小野田紀美クールジャパン戦略担当大臣「中国で公演中止なら、全世界にファン増やせばいいじゃない」 [256556981]
- のんびり🦥ナマケモノたちの🏡
