X



【本命】Blazor スレ1【真打】
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
2020/07/20(月) 23:36:36.67ID:td0HkrQz
混沌を極めるWebアプリケーション界隈に現れた一筋の光明
型無し言語 JavaScript の悪夢を打ち払い
林立するエコシステムの亡霊を退散
アプリケーション開発者の希望となるMVVMを引っ提げて登場した真のSPA開発環境

Blazorを語る者よ、集え!

ASP.NET Core Blazor の概要
https://docs.microsoft.com/ja-jp/aspnet/core/blazor/?view=aspnetcore-3.1
0609デフォルトの名無しさん
垢版 |
2020/09/24(木) 22:08:01.62ID:BrtCX/UE
サーバー版Blazorのシステム納品間近
サーバーサイドとクライアントサイドをC#同一ソースコードで記述できるから開発効率高いね
0610デフォルトの名無しさん
垢版 |
2020/09/24(木) 23:51:59.19ID:xLAA4wLj
>>609
Blazor ServerのApplication Serverは何台構成?
同時使用ユーザー数の規模はどれくらい?

良い言語C#でclient-server両方かけるっていうメリットは大きい
0611デフォルトの名無しさん
垢版 |
2020/09/25(金) 10:34:56.50ID:4ovx1Tzj
>>607
web系はアホが多い

過去に失敗した経験に学ばず同じことを繰り返してるし
0612デフォルトの名無しさん
垢版 |
2020/09/25(金) 12:17:21.21ID:0u8f+Kls
ウェブ系は雇用の安定感が無いから新しい事やってます感をアピールしないと次がないのよ
だから同じようなことを言い方や見せ方を変えながら繰り返してる
0613デフォルトの名無しさん
垢版 |
2020/09/25(金) 14:05:33.75ID:YUW4E6Ob
>>607
サードパーティ製コントロールって
JS & CSSのラッパーコントロールですよ。C#の。

なので、コントロール欲しければ、普通の配置して、
JSをC#から interopすればよろし。
0614デフォルトの名無しさん
垢版 |
2020/09/25(金) 14:43:52.18ID:48PJbryO
俺的にはまず、Blazor Serverside + Blazor Webassemblyの組み合わせで使えるようにして欲しいな
これができないことには、いつまで経ってもJavaScriptから逃げられん
Blazor Serversideでログイン関連等の基本的な部分を作り、Blazor Webassemblyでウィジェットのようなものを作るような、そういう組み合わせができるように改良して欲しい
0618デフォルトの名無しさん
垢版 |
2020/10/04(日) 06:42:57.11ID:hlVRy1T+
業務アプリならsilverlightを温めとけばよかったのよ
ria service も廃止してAzure売り出す始末でタチ悪すぎるわ

どうせまた3年でオワコンになり、再開発させられる羽目になるんだよな
wcfとかどうなるんだよ
0621デフォルトの名無しさん
垢版 |
2020/10/04(日) 13:26:23.01ID:ceP54wF6
Silverlight はFlashと一緒で消える運命でしょ

Blazorは Server版は既存の記述組み合わせたものだし
WebAssembly もマイクロソフトが単独でやってるわけでもないし
すぐには消えなさそうだけど
それも世の中の技術の進歩とトレンド次第かな
0622デフォルトの名無しさん
垢版 |
2020/10/04(日) 13:39:56.64ID:hibiyDxp
全く性質が違うからねー
Blazorがいつまで続くかはわからないがクライアントサイドC#はずっと残ると思う
Webasm自体が続く限りは
0624デフォルトの名無しさん
垢版 |
2020/10/04(日) 14:22:11.82ID:S53suDDq
ASP.NET CoreのRazor Pagesと
ASP.NET CoreのMVCと
Blazor WebAssemblyの使い分けがよくわからない。

ページ単位でURLを持たせたい場合は
Blazor WebAssemblyは使えない?
0626デフォルトの名無しさん
垢版 |
2020/10/04(日) 16:06:30.15ID:k2QVBKjJ
ポストバックを多用する昔ながらの単純なウェブアプリならPages
ビューを開いた後にクライアントサイドでゴリ押しする少し複雑なウェブアプリならMVC
MVCでクライアントサイドが管理しきれない規模の高難易度ウェブアプリならBlazor

MVCが一番バランスいい
Blazor、というかSPAにするほど複雑なウェブアプリが滅多にない
SPAはPgadmin、CodeServerみたいなガチめのアプリのための技術
0628デフォルトの名無しさん
垢版 |
2020/10/04(日) 16:37:36.76ID:k2QVBKjJ
そうかな
テンプレートは1回表示して終わりだからMVCのほうがシンプルでいいと思う
ポストバックするならPagesのほうがやりやすいけどね
0631デフォルトの名無しさん
垢版 |
2020/10/04(日) 16:57:59.06ID:XxJyPnkf
少し規模が大きくなると、MVCはどこでどのエンドポイントが呼ばれているかカオスになるからね…
0635デフォルトの名無しさん
垢版 |
2020/10/04(日) 23:12:02.56ID:XxJyPnkf
>>634
.NET Frameworkでは使えるし、Windowsが生きている限りサポートされ続けるから「終わった」は言い過ぎやろ
0636デフォルトの名無しさん
垢版 |
2020/10/04(日) 23:50:16.30ID:hlVRy1T+
今、wpfをクライアントとしてサーバーのsqlserverにcrudするには何が主流なの?
wcf?asp.net mvc?
0638デフォルトの名無しさん
垢版 |
2020/10/05(月) 03:23:01.66ID:xLtRIUFK
>>635
新しく立ち上げるプロジェクトで使用できないなら「終わった」でいい
VB6は終わった技術じゃないというならそれでもいいが
0641デフォルトの名無しさん
垢版 |
2020/10/05(月) 19:08:30.24ID:xLtRIUFK
>>639
言葉足らずですまん
.NET Core で使えない==新しく立ち上げるプロジェクトで使用できない
とすっ飛ばして書いた。
.NET Frameworkの保守で使う新規プロジェクトなら使えるね
0644デフォルトの名無しさん
垢版 |
2020/10/15(木) 21:39:41.60ID:tKmwyqG6
Blazor WebAssemblyをテンプレートからいろいろいじってみたけど、
もうちょいテンプレートしっかり作ってほしい。
せめてCRUDのテンプレ欲しかったなあ。
あとClient側、trycatchくらい書いとけよと。

あととにかくデバッグがうまくいかない
ctrl+shift+iだったかな、これ押すと一応デバッグできるようになるんだけど、そんなん分かるか!ってかんじ。
0647デフォルトの名無しさん
垢版 |
2020/10/18(日) 16:09:45.98ID:EBpdGRvy
Blazor使って作られたサービスってある?
調べても使ってみたとかばっかでる
0648デフォルトの名無しさん
垢版 |
2020/10/18(日) 17:03:18.35ID:Yx1P9/Gs
>>647
実際の公開サイトでの統計
https://www.wappalyzer.com/technologies/web-frameworks/
Blazorは670 sitesだから徐々に増えてきてる

あと企業内のシステムでBlazor Server使ってるシステム増えてるはずだが
非公開web appなので上の統計には出てこない。
MSの技術は法人利用多い

しかしまだBlazorではないASP.netのシェアが圧倒的
ほとんどのサイトはSPAである必要がないので
ASP.NET MVCとかRazor Pagesで十分ってことかもしれない
0650デフォルトの名無しさん
垢版 |
2020/10/18(日) 19:22:38.17ID:cFA8jjUJ
ユーザー名+パスワードのハッシュの入った既存のデータベースを、Blazorのユーザー認証に使い回す方法ってどっかに紹介されてない?
0652デフォルトの名無しさん
垢版 |
2020/10/18(日) 21:49:08.25ID:cFA8jjUJ
>>651
ありがとう!これは便利だ!
クッキー発行前に自分のやりたい認証コードを書けば、なんでも使いまわせちゃうぜ!
0653デフォルトの名無しさん
垢版 |
2020/10/19(月) 11:41:11.48ID:32Wztry8
>>651
そのサイトはいいかんじにまとまってるサンプルがあるね
ブックマークしておいた
0654デフォルトの名無しさん
垢版 |
2020/10/19(月) 13:14:16.03ID:IuaIFexr
俺は逆に、Blazorで登録してもらったユーザー情報で他のnode等で作ったページにログインできるような技が知りたいな
先の技と似た方法でASP.Net Coreでクッキーだけ発行してnodeでも同じクッキーを使うのもいいけど、データベースを使い回す方法も見てみたい
だけどデータベースを見たところ、パスワードハッシュらしきものはすぐ見つかるもののソルト等がどこにあるのかよくわかんない
もしかしてハッシュに見える一部分がソルトなのか?パスワードハッシュらしきものは、どうやって生成されてる値なんだろう・・・・
0656デフォルトの名無しさん
垢版 |
2020/11/02(月) 05:11:15.47ID:mSt0AvyI
Blazor WebAssembly in .NET 5 is two to three times faster
for most scenarios. For more information,
see ASP.NET Blog: ASP.NET Core updates in .NET 5 Release Candidate 1.

.NET 5でかなり速くなるんだな
楽しみ
0657デフォルトの名無しさん
垢版 |
2020/11/02(月) 12:21:12.29ID:U50fzrLu
Blazorで作ったうちのサイトに、大量のユーザ登録をする奴が出てきた
掲示板みたいなものがあるので、宣伝の書き込みに使いでも使うんだろうか?よくわからないけど不気味で仕方がない
大量登録を防いだり、ユーザーの行動をスコア化したりBANしたり、何かBlazorでできる手軽な対策ってない?
0658デフォルトの名無しさん
垢版 |
2020/11/02(月) 13:05:27.82ID:mSt0AvyI
>>657
しっかりやるならSMS認証だろうけど手軽ではないね。
手軽なのはメールアドレスとIPアドレスベース

登録時のメールアドレス認証はやってる?

同じIPから一定日数は登録できないようにすれば、
固定回線からの登録はある程度防げると思う
ISP次第で固定でもIP変更できちゃうけど
ただの宣伝目的ならそういうめんどうな
手順必要なところは避けてほか行くんじゃないか
0660デフォルトの名無しさん
垢版 |
2020/11/02(月) 22:47:48.58ID:mSt0AvyI
>>659
そうなのか
全部クラウドでやるのは高すぎて避けたい。
認証だけAzure AD使うのってありなのかな
0663デフォルトの名無しさん
垢版 |
2020/11/04(水) 23:24:27.00ID:QiewC8QL
Blazorに限る話ではないかも知れないけど…

ServerにWeatherForecastController作って、
ClientからアクセスするときはGetFromJsonAsync<WeatherForecast>(“WeatherForecast”)とControllerの名前を「文字列」で引数に入れる。

これがせっかくここまでC#の型を使えてるのになんか無駄だなあと。
Shareにあるクラスは参照できてるのに、
なんでServerへのアクセスは文字列なのか。

ここタイプミスしたらオジャンじゃん。

外部のAPIならわかるけど、同じソリューション内のプロジェクトなんだから
WeatherForecastContoroller.GetAll WeatherForecast() でええやんと思ってしまう。

gRPCとか使ったらSOAPチックなことできるの?
0664デフォルトの名無しさん
垢版 |
2020/11/05(木) 00:12:14.94ID:kkWOG+/P
>>663
ハードコード避けたいときはnameofとかtypeof使うといいとかsampleかいてあったような。

//return CreatedAtAction("GetTodoItem", new { id = todoItem.Id }, todoItem);
return CreatedAtAction(nameof(GetTodoItem), new { id = todoItem.Id }, todoItem);

https://docs.microsoft.com/en-us/aspnet/core/tutorials/first-web-api?view=aspnetcore-3.1&;tabs=visual-studio
Web APIのTutorialのコード。

References the GetTodoItem action to create the Location header's URI.
The C# nameof keyword is used to avoid hard-coding the action name in the CreatedAtAction call.
0665デフォルトの名無しさん
垢版 |
2020/11/05(木) 00:15:02.65ID:kkWOG+/P
>>663
上みたいな感じで
Controllerの名前もなんらかのmethodでstringとして取得できるんじゃないかな
0667デフォルトの名無しさん
垢版 |
2020/11/05(木) 08:21:04.21ID:+cvvBSkt
>>664
nameofありだね
スペルミス減りそう

>>666
Attribute Routing調べたけど
API側でルーティングを文字列で指定してる。
文字列をやめたいんだけど…
メソッド名があるんだからメソッド名をそのまま使いたい。

そもそもREST APIの原則に囚われすぎな気がする。
毎回あんなURIを考えるのって大変じゃないか?

汎用性を考えるならわかるけど。
0668デフォルトの名無しさん
垢版 |
2020/11/05(木) 08:27:25.47ID:/DSStsR5
>>663
それコントローラー名じゃなくてUriでしょ

DefaultRoute使えばuriとコントローラー名は一致するからそれでいいけど
プロジェクトの都合で
URIとコントローラー名異なるようにすることはあるでしょ。
0669デフォルトの名無しさん
垢版 |
2020/11/05(木) 08:33:38.65ID:+cvvBSkt
>>666
言ってることが分かったかも
API側で
[Route(“GetHogeData”)]
public Hoge GetHogeData(){}
にするってことかいな?
0670デフォルトの名無しさん
垢版 |
2020/11/05(木) 08:34:41.52ID:+cvvBSkt
すまんリロードせずに書き込んでしまった
そゆことね
0671デフォルトの名無しさん
垢版 |
2020/11/05(木) 08:41:56.35ID:/DSStsR5
よくおぼえてないまま書くけど
ルーティングの機能でコントローラー名とアクション名から
アドレス作れたはずだから
それを渡せばいいんじゃないの
それだとnameofも利用できると思うし
カスタムルーティングの場合でも問題なくいけると思う
0672デフォルトの名無しさん
垢版 |
2020/11/05(木) 23:38:47.81ID:xnSUjXs4
razorファイルに書いたC#がバリバリ動くのは感動すら覚えるが
最初に作られるサンプルサイトがショボショボすぎてこれは普及しないだろうなあ…とおもう。

入力もできるグリッド、DateTimePicker、TreeView、モーダル
こういうのをサンプルに組み込んでもらわないと
いちいちググるはめになる。
0674デフォルトの名無しさん
垢版 |
2020/11/05(木) 23:49:29.95ID:nJQizfvu
そんな複雑なUI作られても使う側が困るしなぁ
シンプルイズベストですわ
MVCでいいじゃないの
0676デフォルトの名無しさん
垢版 |
2020/11/06(金) 00:03:35.28ID:2c+qTMiR
いろんなGUIサンプルはGitHubに置いておいてくれればいいね
Wizardで生成されたら困る
0677デフォルトの名無しさん
垢版 |
2020/11/06(金) 08:08:26.77ID:IN01S+R+
テンプレートでもサンプルでもどっちでも良くて、
MSがそういうものを用意しないと流行らないと言っている。
そんなことをこんなところで言っても仕方ないけどな。
0678デフォルトの名無しさん
垢版 |
2020/11/06(金) 11:00:07.02ID:PZBOyE9X
コピペしかできない人なんだろう
0681デフォルトの名無しさん
垢版 |
2020/11/06(金) 12:30:57.02ID:IN01S+R+
MSはWebFormsの代替としてBlazor使えって言ってる。
使いたいがこれではハードル高いだろ。
外部の会社が作ってるUIコンポーネント集入れないと使い物にならん。

仕組み上ポトペタは無理としても、それに代わる何かがないと、学習コストがかかって採用されないよという話。

ウィザードでゴリゴリの画面が作られのもまずいというのはわかるが、さすがにシンプルすぎやせんか。
0682デフォルトの名無しさん
垢版 |
2020/11/06(金) 12:39:05.16ID:weK94EqQ
単に自分の能力が足りてないだけじゃないの

まー言うとするなら
WebFormsのように基本的なコントロールは入れてほしい
って感じ?

サンプル云々の話じゃないよね

たぶん
0683デフォルトの名無しさん
垢版 |
2020/11/06(金) 12:42:45.58ID:hgF+gIaZ
WebFormsってそんなに便利だったっけ?
あっという間にMVCに置き換えられたからわからねえや
0685デフォルトの名無しさん
垢版 |
2020/11/06(金) 13:11:07.93ID:2c+qTMiR
>>681
リッチUIを最速で作りたいならWPF使えばいい
外から使い人にはWindows tabletとか持たせるだけ。
Bootstrapでだいぶ敷居さがったがCSSベースのデザインはめんどくさい

>>683
HTML, CSSをよく知らない人、デザイン苦手な人には便利だったんだと思う
ただ細かいデザイン制御ができない、吐き出すhtmlが汚いから
ASP.NET MVCにとってかわられた
0686デフォルトの名無しさん
垢版 |
2020/11/07(土) 22:13:36.96ID:fFUf4t5z
Entity Framework使ってる人、Migration機能は使ってる?

Migration使うほうが複雑になる気がするんだけどどうだろう
Migrationのメリットが見えてこない

PostgreSQLのpgAdminとか
RDBの管理ツールで直接、スキーマの作成や変更をしてる。
0687デフォルトの名無しさん
垢版 |
2020/11/07(土) 23:04:04.86ID:/xSkaoCp
Ruby on Rails では、SQLite, PostgreSQL, MySQL の3大DB を、1つのファイルで定義できる(抽象化)。
Migration 用のファイルも、自動的に作られる

Roll Back もできる

Scaffold という魔法の呪文で、CRUD アプリが自動的にできる
0689デフォルトの名無しさん
垢版 |
2020/11/07(土) 23:33:27.49ID:z61Fk2tn
>>686
アプリでSqliteなどのローカルDBでは凄く有効だが、サーバー弄れる場合は手動でいいと思うわ
0690デフォルトの名無しさん
垢版 |
2020/11/08(日) 05:36:39.88ID:t+zVbDF+
>>687
rollbackもできるというけどそれがMigrationの主要機能だし
rollbackできなかったら意味ないでしょ
Entity FrameworkのMigrationにもrollbackある。もちろんScaffoldもある

Rubyのコマンド見てみたがEFのMigrationと似てる気がした。
ORMが履歴を持つことでrollbackできるようになる半面、長ったらしいコードが
生成されその記述を理解しないといけなくなる。

DB側のカラムに制約とかデータ型とか細かく設定するべきだが
ORM使わずにpgAdmin, SQL Workbenchでやるほうが速いしわかりやすい。
さらにORM経由は操作できる範囲が限定される。
SQL使ってできる操作>ORM使ってできる操作。
0691デフォルトの名無しさん
垢版 |
2020/11/08(日) 05:42:09.04ID:t+zVbDF+
>>687
RubyおじはASP.NET Coreは使えてるのか?
ASP.NET Core使えるなら低速なRails, Rubyなんて使わなくていいだろ

>>689
Sqlite以外ではMigration使ってないのか
本当にMigrationは誰得の機能かわからないわ
0693デフォルトの名無しさん
垢版 |
2020/11/08(日) 10:00:24.59ID:SqlrOE3Q
あー、SQL自動生成だけでも意義はあるか

まぁ、単に開発中のコードとデータベース同期を楽にする機能でしかないから
使いたければ使えばいいし
データベース熟知してて自分でDBスキーマ決めたいのならそうすればいいだけの話
0694デフォルトの名無しさん
垢版 |
2020/11/08(日) 11:17:03.03ID:+pLcijcy
いちいち手作業でDBにつないで順番を間違えないように慎重にSQL実行して…
後で困らないようにどんなSQLを実行したかリリース履歴台帳に記入して…
手作業だからテストという概念もなくて…
これちょっとアナログすぎだしめんどくさいし間違えやすいんじゃねえか?って疑問を持つところがスタート地点
疑問すら持てないなら開発者として必要なセンスが欠けてる
紙とハンコのほうが性に合うオールドタイプならそのまま手作業を続けてどうぞ
ここは未開の原始時代

実行するSQLはファイルにしよう
SQLファイルのアップロードと実行はshellで自動化しよう
shellをソースコードと同じ所でバージョン管理したら便利だな
shellがバグってたらやばいから本番レプリケーションで事前にテストしよう
同じshellを間違えて実行したらやばいから実行履歴もテーブルで管理して多重実行を避けよう
これ全部1つのコマンドでできるように整備しよう
このように不便さを自動化で解消できたならすこしマシになった段階
産業革命の始まり
便利だけど色々と拙くまだまだコスパが悪い

shellは便利だけどオレオレ感が強くて属人生が高く保守しにくいな
なにか開発者間で共通認識となるフレームワークがあれば便利だろうな
MigrationをC#で書きたい場合もあるよな
そもそもshellの実行すらめんどくさいんじゃないか
などなど細かい不満点を解消していって出来上がったのがMigration系フレームワーク
ここがひとまずのゴール
より洗練されてエコな現代テクノロジの集大成
0695デフォルトの名無しさん
垢版 |
2020/11/08(日) 11:27:42.43ID:ywUIYUdi
ORM全般に言えることだけど、複雑になってくると使い物にならなくなる。
sansanもEFをDapperに置き換えたって発表してた。

正規化するのが正解じゃない時もあるし、サロゲートキーで対応
0696デフォルトの名無しさん
垢版 |
2020/11/08(日) 11:32:46.67ID:ywUIYUdi
途中で書き込んでしまった。
サロゲートキーだけではうまくいかない場合もある。
0697デフォルトの名無しさん
垢版 |
2020/11/08(日) 11:52:36.61ID:+pLcijcy
>>695
CQRSのCではEFのほうが遥かに洗練されてる
Qでは高速で複雑なSQLを書きたくなる場合が増えてくるのでDapperが有利になる

多くの開発者が複雑化したQのせいでEFは使えないと思い込んでいるがEFはDapperと共存可能だ

更にいうと昔と違ってEFは随分と速くなった
ネイティブSQLもサポートしている
Dapperに頼らなくてもQを上手く実装することができるようなってる
0699デフォルトの名無しさん
垢版 |
2020/11/08(日) 12:11:09.24ID:uTVwuNgX
>>697
もう全然Blazor関係ない話で恐縮だけど…

大抵のDBって命名規約がスネークケースだよね。
しかも大文字か小文字のどっちか。

一度モデルファーストで作ったテーブルはキャメルケースで作られるから、生のSQL発行しようとしたらカラムIDを全部ダブルクォーテーションで括る必要があって苦労した苦い思い出がある。
LINQと生SQLどっちも使うとなるとこの問題に引っかかる。

自分のEFの知識が数年まえで止まってるのでいまはいい仕組みがあるのかな。

Dapperはパラメータで勝手にマッピングしてくれるから助かる。
0700デフォルトの名無しさん
垢版 |
2020/11/08(日) 12:42:48.71ID:QCCK7Xg4
>>699
postgresqlは特殊な仕様だからハマりやすいね
なのでNpgsqlのEFにはUseSnakeCaseNamingConventionというオプションがある
他のDBは特にハマった記憶がない
0701デフォルトの名無しさん
垢版 |
2020/11/08(日) 12:54:19.78ID:t+zVbDF+
>>692-693
逆だよ。CRUDにEF使うのは便利だから意味がある。
C#のコードが短くなるし直感的にかける

だがスキーマの作成、変更でEF使うとC#のコードが長くなってしまう。
SQL側でダイレクトに変更すればすむものを履歴を持たせて
C#側から操作するから手順が増える。

スキーマが自動生成のものでいいってのはDB知らない奴だな
てきとうにつくるとパフォーマンス劣化する
0702デフォルトの名無しさん
垢版 |
2020/11/08(日) 12:57:37.72ID:WJSuSySW
めんどくさいことになりそうな時は、RubyやRailsを勧めよう!
0703デフォルトの名無しさん
垢版 |
2020/11/08(日) 13:03:31.26ID:t+zVbDF+
>>694
原始時代って履歴台帳なんて古臭い言葉つかってるおまえだろう

スキーマ変更したら直後にテストしてるに決まってる
あと間違いやすいのは複雑な手順をとるMigrationのほうだ
0704デフォルトの名無しさん
垢版 |
2020/11/08(日) 13:08:46.91ID:QCCK7Xg4
>>701
最近のEFは良くなってる
ほぼ想像どおりのスキーマを出力してくれる
とはいえ完璧とも言えない

完璧を求めるならMigrationを生SQLで手書きすることもできる
SQLを手書きしたいという要求のためにMigrationの全機能を手放すのは惜しい
0705デフォルトの名無しさん
垢版 |
2020/11/08(日) 13:11:07.00ID:t+zVbDF+
>>695
パフォーマンスの面でDapperは昔は意味あったとおもうけど
いまのEF CoreとASP.NET Coreだとかなり速いからDapper選ぶ意味がほぼないと思う。

EFで満足できない箇所だけピンポイントでダイレクトにSQL使うか、
ストアドプロシージャを使えばいいと思うわ

>>697
たしかにEF Core速くなってるね
あとストレージがSSDになったのも超大きい
0706デフォルトの名無しさん
垢版 |
2020/11/08(日) 13:15:04.98ID:QCCK7Xg4
>>703
いやいやスキーマを変更したあとにテストじゃ遅いだろ
Migrationをしてからテストするんじゃない
テスト済のMigrationを適用するんだ

ちなみにMigrationはアプリケーションをデプロイするだけなので手順ミスは最小化される
手作業でSQLを実行するとSQL数に比例してミスが増える
0707デフォルトの名無しさん
垢版 |
2020/11/08(日) 13:17:19.61ID:t+zVbDF+
>>704
ORM、DBのベンチマークたまに見てるし速くなってるのは知ってるよ。

ただstringとかの最適なデータサイズは開発者じゃないとわからないから
最適なスキーマ作ろうと思うとやっぱりSQLでスキーマ作成、変更したほうが
いいってのは今後も変わらないと思う
0708デフォルトの名無しさん
垢版 |
2020/11/08(日) 13:25:09.54ID:t+zVbDF+
>>706
根本的に会話になってない
俺の言ってるスキーマ変更するってのは決定事項なんだよ
既に正常に動くプログラムがあってそれをスキーマ変更するんだから
スキーマ変更した後にテストしないと意味ない。

Migrationでrollbackすることもない
動くようになるまで必要ならばC#側を変更するからだ。
なんかうまく動かないからスキーマ変更やめましょうということにはならない。
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況