てぃぐれのプログラマwiki

ワクワクに従う

前回の処理を取り消して新しく処理したい【Blazor】

経緯 前回の処理を取り消して、新しく処理を開始したい。 チェックボックスなどのたくさんクリックして行いがちな処理をTask.Delayを使って、3秒間待って、何の入力もないのであれば、処理を行い、入力があれば、前回の処理を取り消して処理を行いたい。 そ…

親?画面に値を渡す方法【Blazor】

経緯 Mainlayoutに表示したい項目等があり、子画面でのアクションによってその項目の値を変えたい場合、どのような方法があるのかすごく迷ったり戦ったりしたので、記録しておきたい。 CascadingValueで渡す CascadingValueは子画面から渡すのが難しいという…

sqlparameter Geomertryを使って躓く【C#,Blazor】

経緯 rawsqlを使い、sqlinjectionを避けるためにsqlparameterを使って値を渡してあげる。しかし、geometryのカラムを使っていて、そこに値を渡すのに、躓いた話をしたい。 問題 Parametrizing geometry sql command c# in ASP.NET, not working - Stack Over…

webpとは 画像圧縮について整理する

経緯 画像を圧縮してファイルストレージに置くなどしたいときにさて何を選べばよいだろうか。 改めて画像ファイルについてまとめてみたい。 JPEG ・24bitの色が使えるため色彩豊かである。 ・圧縮率が高い ・透過非対応 ・不可逆圧縮 PNG ・透過をつかうこと…

コンポーネント ライフサイクルのメモ【Blazor】

経緯 Blazorといかコンポーネントのライフサイクルで詰まり、はまる。 【Blazor】Razorコンポーネントのライフサイクルを解説する|Blazorマスターへの道 ASP.NET Core Razor component lifecycle | Microsoft Learn 端的にはまった問題として、 ①親で取得し…

ドットアニメーションを作る 【Unity】

経緯 現在、2Dゲームを作っている。その過程で、プレイヤーを作りたくたなったので、ドットでキャラクターを作ることにした。 使用ソフト 編集ソフトは、迷った。 【ひろはすドット絵講座】#1 おすすめソフトや参考資料について - YouTube ここを参考にして…

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を格納することによ…

png 透過部分の削除する?当たり判定 【Unity】

経緯 Unityで2Dのゲームを作りたいこの頃。pngの素材を入れたわいいが、当たり判定というか、透過部分を削除して使いたい。 Polygon Collider 2D 初心者すぎて、なんてぐぐっていいかもわからず、間違ったググり方のせいで、難しいことばかりで途方に暮れて…

カラムにデフォルト値を追加する【SQLServer】

経緯 SQLServerでデフォルト値ってどうやって追加するんだっけと思って、ぐぐってできたSQL。 SQLServerではできたけど、他ではどうできるかは調べてないです。 alter table TABLE_NAME add default N for COLUMN_NAME;

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させ…

権限設計のコツ 【DB】

waterlow2013.hatenablog.com 経緯 業務で権限機能の設計をする必要が出てきたので、インプット。 ケース 上記サイトからのインプットで今自分がしたいことを抽出してみる。 ①ロールだけパターン ユーザー:ロール = 1:1 ロール:アビリティ = 1 : n ②admin:bo…

EntityFrameworkをSQLで【C#】

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

EntityFramework 多対多【C#】

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

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

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

ファンクションの使い方 NULL系【ORACLE】

■NVL(A,B) AがnullならBを ■NVL2(A,B,C) Aがnullではない場合、Bを、nullならCを ■COALEACE(A,B,C,D,E) AがnullではないならAを、そうでなければBを、BがnullならCを... ■NULLIF(A,B) A == BならNULLを、そうでなければAを

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

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

集計関数 問合せできない?できる? 【ORACLE】

経緯 集計関数の問合せできるできないルールがちょっと混乱することがあるので、解いて行きたい。 1,集計関数でネストしている場合 SELECT MIN(AVG(sal)) FROM emp; employees の salary の 平均avg の 最小値min が欲しい。一見良さそうであるが、group by…

知らなかった副問合せ【ORACLE】

ANY ANYはなかなか使わないけど、selectしたもののうち一つでも条件に合えば返す X > ANY(select Y from Z) → ZのYのうちのひとつを上回ればtrue → X > select MIN(Y) from Z で良さそう 速さはANYの方が速そう ALL select したもののうち全ての条件に合えば…

OSI参照モデル 各層の特徴【ネットワーク】

アプリケーション層 メールやブラウザなどで使われるプロトコルを規定する層 ユーザーが触れる層である。 ↓ プレゼンテーション層 文字コードや圧縮形式を標準化してくれる層 この層のおかげで、ほかの環境のサーバーにデータが行っても、文字化け等を防いで…

PDU プログラムデータユニット 【ネットワーク】

PDU プログラムデータの単位(ユニット)は層によって異なる。 トランスポート層 - セグメント ネットワーク層 - パケット データリンク層 - フレーム 層が深くなるにつれてカプセル化されていくので フレーム > パケット > セグメント という大きさになる。

部品を均等に並ばせたい【Android】アプリを作りたい Part6

部品を均等に並べたい chainの使いかた 【AndroidStudio】ConstraintLayoutで、部品を均等に並べる方法(chain) - YouTube 縦に並べる vertical 横に並べる horizontal CSSよりよっぽど楽や。。

OSI参照モデルの画期的な覚え方【ネットワーク】

アプセトネデブ 7層 ー アプリケーション層 6層 ー プレゼンテーション層 5層 ー セッション層 4層 ー トランスポート層 3層 ー ネットワーク層 2層 ー データリンク層 1層 ー 物理層 いやいや、アプセトネデブは意味わからんやろとなるだろう。自分…

CTASとUNUSED【ORACLE】

CTAS CTAS create tabls as select selectを使い他のテーブルからデータと構造をコピーしてテーブルを作ることができる。 移される制約はnot nullだけである。 where句を指定することでコピーしたいデータや、件数を0にするような条件句でテーブルだけ作ると…