てぃぐれのプログラマwiki

ワクワクに従う

C#

Failed to find a valid digest in the 'integrity' attribute for resource 【C# Blazor】

経緯 Failed to find a valid digest in the 'integrity' attribute for resource 'domain/_framework/〇〇.dll' with computed SHA-256 integrity 'XXXXXXXXXXXXXXXX. The resource has been blocked. 上記のようなエラーがデプロイ環境で起きた。 ローカル…

PlatformNotSupportedException WebAssembly 暗号化 【C#】

経緯 暗号化、復号化の方法をC#で探していたところ、下記のサイトを発見。 【C#中級】 AES-256で暗号化・復号化する方法 よっしゃ、簡単やんと思ったら、 PlatformNotSupportedException のエラーが出てしまった。 原因 破壊的変更:Blazor WebAssembly で Sy…

セッションストレージにクラスオブジェクトを json

経緯 Webストレージを初めて使うことになり、キーバリューのデータ構造になるため、頭には単純にキーとバリュー1:1で使うことにしか頭になかったが、Jsonを使うことによって世界が広がったという話。 方法? 方法は単純で、バリューにjsonを格納することによ…

Cascading Value リロードに弱い?【Blazor】

経緯 Blazorでどの画面でも使うような値の持ち方を考えていた。 jwtにももちろん値は持つのだが、コロコロ変わる、でも使いまわすような状況の場合、どこに値を持てばよいのか悩む。 Session Storage あまり使わないWebストレージ。あまり値を晒したくない。…

Hierarchyのデータどこへ消えた【Unity】

経緯 Unityでゲームを作る勉強をしていたら、Hierarchyに入っているデータが消えていた。すごく萎えた。保存していたつもりだった。 そんなときはぐぐる。 経緯 使っていたSceneファイルをダブルクリックしたら元に戻った汗。 自分の場合はAssetsのなかで管…

子画面から親画面に処理させる【Blazor】

経緯 子画面から親画面に処理させるときはどのようにやるか少し詰まった。さらに引数のあるメソッドは、さらに迷ったのので残しておきたい。 参考 【Blazor】EventCallbackで子コンポーネントからイベントを受け取る方法|Blazorマスターへの道 参考の記事の…

ChangeTracking 変更追跡処理【C#/Blazor/EntityFramework】

経緯 先日、EntityFrameworkの変更追跡がSQLRawを使うと難しくなる話をした。 なにか良いライブラリはないかものかと、ダメもとでぐぐっていたところ、よさげなライブラリをみつけた。 POCO クラスに対する変更追跡ライブラリ ChangeTracking を使ってみた -…

EntityStateとSQLRaw 【C#/Blazor/EntityFrame】

経緯 bindしているデータの変更管理をするときみんなはどうしているだろうか。 Datatableを使用していた時、Rawstateというものがあった。 Added,modified,unchange等、データの行ごとに状態を持ち、追加するもの、変更するもの等を管理していた。 さて、Ent…

boolにはbit型【SQLServer】C# blazor

経緯 フラグ処理をDBで管理したいときint型にする人がいる。それに従ったら、つらい目にあったので、記録する。 int型とbool型 C#でint型とbool型の型変換は一つConvert.to〇〇を挟むことになる。しかし、これではbindはうまくいかない。 checkboxにbindさせ…

EntityFrameworkをSQLで【C#】

経緯 EntityFrameworkに感動と失望を抱いていた中、「ある程度結合するようならSQLで書いたほうがいいよ」という鶴の一声を聞く。 ある程度ってどれくらい!? まだ、開発をクエリーベースにするなら間に合う!! SQLのほうが速い これは実際に試していないのだ…

EntityFramework 多対多【C#】

経緯 Entity Frameworkで多対多を扱った記事が少なすぎる気がする。 というかSQLをごりごり書いていた身からすると、かなり扱いづらい。 たとえ記事があっても、Controllerでの記述方法が全然見つからない。 新人の子が多対多でデータを取得するのに一緒につ…

これがDTO!? 役だった話【C#】

経緯 tigretic.hatenablog.com 以前、DTOとはというタイトルでざっくり紹介したデザインパターン。自分で書いたものの、ちょっとしっくりこなかった。 自分はSQLをがりがり書くとこにいたせいか、モデルクラスからさらにDTOのクラスにして成形するというがあ…

json作成のためのC# 【C#】

json2csharp.com 経緯 C#でjsonを扱うとき、特にapiを叩いて、帰ってきた値をjsonからオブジェクトを作成するとき。値が多すぎてクラス作るの面倒くせーーーとなるときに見つけた神サイト。 jsonからクラスオブジェクトにするときは、jsonに沿った構成のもの…

BlazorStrapでモーダル【Blazor】

経緯 Blazorというjsが使いにくい環境でjsのように動きを出させるのは一苦労するもの。そこで、「Blazor モーダル」と調べると出てくるBlazorStrapというUIフレームワーク?を使ってみることにする。 始め方 ここを見てやるとできる BlazorStrap V5 モーダル…

.NET CORE MVC の自動コード作成のためのルール【C#】

C#

経緯 元々WEB系ではない自分がWeb開発で.ASP.NET Core MVCをノリで使っていたらドはまりしてしまった。 ルール .ASP.NET Core MVCでは、ルールに沿った開発をすることで自動でコードを生成させて、開発の時間を短縮させるようだ。これは、昨今のwebでは割と…

DTOとは【C#】

Data Transfer Objectってなに。 オブジェクト設計(デザイン)パターンらしい。 データベースからとってきた値を別クラスで別オブジェクトとして、クライアント用に加工するためのクラス・オブジェクトというイメージ。 ①セキュリティのため 持ってきたデータ…

Blazorでjsを呼び出してclassを追加【C#/Blazor】

経緯 前回の続きで、jsっぽいことをblazorでやるんだが、 あえてjsを呼び出して、blazorの意味ねーっていうことをしてみた。 コード js window.jsFunctions = { test: function (xxx) { const x = document.getElementById(xxx); x.classList.add('table'); …

classへバインドcss【C#/Blazor】

経緯 C#/Blazorを使ってJsっぽいことがしたい。 いやいや、Jsですればいいやんって? そういう理不尽さが社会にはあるんや。 コード 以外と簡単やな。 <table class=@Table> <thead> <tr> <th>Date</th> <th>Temp. (C)</th> <th>Temp. (F)</th> <th>Summary</th> </tr> </thead> <tbody> @foreach (var forecast in forecasts) { <tr> <td>@forecast.Date.ToSh</td></tr></tbody></table>…

it does not have [ParameterAttribute] or [CascadingParameterAttribute] applied. 【C#/Blazor】

エラーメッセージ Microsoft.AspNetCore.Components.WebAssembly.Rendering.WebAssemblyRenderer[100] Unhandled exception rendering component: Object of type 'BlazorApplicationxxx.Pages.Components.BmiChild' has a property matching the name 'xxxx…

インスタンス変数とStatic変数の違いとメモリ領域のイメージ C#

1, インスタンス変数 オブジェクト毎に値を持つ →ヒープ領域に展開される 2, Static変数(C#におけるグローバル変数) クラス毎に値を持つ →アプリが終わる(クラスが破棄?される)まで変数を保持する →静的領域に展開される 3, Staticメソッド クラス毎にメソッ…

アクセス修飾子 C#

C#

1, public 制限無し 2, protected 同じクラス、同じクラスから派生したクラスからアクセスできる 3, internal 同じプロジェクトからはアクセスできる 4, private 同じクラスからアクセスできる 他にもいくつかあるがそれはまた今度。

Stateパターン 【デザインパターン】

Stateパターン 「状況(State)」に応じて機能を変更するパターン。 状況の中で次の状況に変更してあげるというのがポイント。 メリット 状況を持たせることで、メインで条件分岐を多くしなくて良いので、ソースが複雑にならない。 状況が整理されていないと、…

テンプレートメソッド 【デザインパターン】

テンプレートメソッド 複数のメソッドの流れを抽象化し、メソッドの中身はサブクラスで実装する。 メリット テンプレートを増やしたいときは、クラスを増やせばいいので、コードがタコ足配線にならなくて良い。 もし、テンプレートメソッドがなかったら、if…

PhotonサーバーとUnityに触れてみた。

最近、甥っ子にポケモンバトルを作ってあげようと奮闘中。そこで通信対戦をできるアプリを作れないかと考えて、どうのように同期を取ればいいのか検討している。 ゲームといえば、Unity。そこでUnityで同期を取るために使われるPhoton ServerのPUN(Photon Un…