てぃぐれのプログラマwiki

ワクワクに従う

2022-11-01から1ヶ月間の記事一覧

HEIC EXIF 位置情報をJSで取得する

経緯 Blazorでiphoneの画像から位置情報を取得したい。iphoneの画像データがHEICになって取得の仕方が変わったようだ。 こちらのjsで取得したかったが取れない。さあ、どうしよう。 GitHub - exif-js/exif-js: JavaScript library for reading EXIF image me…

メモ化 APIのコール数を減らす

経緯 サーバーに画像を取りにいく場合、そのキーをDBからとりにいく。大量の同じ画像をとるのであれば、メモ化しておきたい。 ディクショナリー型 キーをディクショナリー型のキーにしておいて、キーがある場合は、APIを呼ばない。キーがない場合は、APIを呼…

AdvancedMarkerViewをBlazorでやりたいんですが【Blazor】

経緯 マーカーにhtmlを使いたいとずっと思っていた。ふと見るとgoogleがAdvancedMarkerViewというベータ版の機能を提供しているではないか。 以前だとこれを実現しようとするとRichMarkerと巷で言われているoverlayviewを派生させて無理やり?作っていた。し…

??演算子 【C#】

C#

経緯 ??の使い方についてこんがらがるのでみていく。 ?? NULL合体演算子 null-coalescing-operator ??= NULL合体代入演算子 コード string y = null; Console.WriteLine(y ?? "test null"); // test null int? i = 2; i ??= -1; //iがnullなら-1をいれる Con…

画像の縦横比をいい感じにする object-fit【css】

CSS

経緯 デザインで特定の枠に画像を収めたいというときはよくあるであろう。 縦固定でwidth100%にするのか、はたまたその逆か。どちらにせよ、どちらかに大きな値が来た場合くしゃってひしゃげてしまう。 大きいほうを基準に小さいほうをそろえる 何かの枠に収…

ぐるぐる スピナーを出す方法【C# Blazor】

経緯 Webの処理の待機中にスピナーを出したい。 対処法 divの中身はbootstrapから頂いております。bootstrapのコンポーネントが入ってない人はそれらを記述する必要がindex.html等であります。 @page "/counter" @if(IsWaiting) { <div class="spinner-border text-primary" role="status"> <span class="visually-hidden">Loading...</span> </div> } boolのtrue…

?クエスチョンマークの使い方1 Null条件演算子【C#】

経緯 ?マークのC#での使い方を押さえておきたい。それによりもっときれいなコードをかくことができるはずだ。 Null条件演算子 三項演算子 Null合体演算子 で使われる。今回はNull条件演算子を押さえたい。 エラーになるコード nullがくるとFirst()で参照でき…

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

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

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

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