🐥note.

小鳥とMicrosoft <3 なエンジニアの技術Blog📚

Tech

BlazorでChartを描画する

個人アプリで折れ線グラフやドーナッツチャートを描画したくなったので、Blazoriseを使用して描画してみました。 本エントリはその記録です。 Library探しの旅 JavaScriptならいっぱいLibraryがありますが、歴史の短いBlazorではそうはいきません。 いい感じ…

.NET CoreのDiagnostics CLI Toolを触ってみた

2019年10月のMicorosoft Docsの更新内容を見ていて.NET Core Diagnostics CLI Toolというものがあることに気が付きました。 それぞれdotnet-counters, dotnet-dump, dotnet-traceなるものっぽいです。 それぞれちょっとずつ試してみました。 dotnet-counters…

2019年10月の.NET/ASP.NET Documentation Updateについて

Redditに2019年10月の.NET / ASP.NET のドキュメンテーションの更新状況について投稿がありました。 www.reddit.com なお、先月の更新状況は以下の通りです。 blog.piyosi.com 2019年10月の変更状況 2019/10/01 ~ 2019/11/05の間に .NETには575件コミットさ…

ASP.NET Core Update in .NET Core 3.1 Preview2の新機能について

Microsoft Igniteで盛り上がるIT界の裏では.NET Core 3.1 Preview2がリリースされました。 devblogs.microsoft.com それに合わせてASP.NET CoreとEntityFramework CoreもPreviewが公開されています。 devblogs.microsoft.com 本エントリではASP.NET Coreに追…

自作RazorClassLibraryの静的ファイルのロードができずに困った話

BlazorのComponentを別プロジェクト(RazorClassLibrary)へ切り分けた際、 Blazorから別プロジェクトの静的リソースへアクセスすることが出来ずにハマったので、それの件について記録します。 SolutionとProjectの作成 以下のコマンドでBlazorAppと、Componen…

Azure DevOpsでSprintの名前を変更する

Azure DevOpsでSprintsの名前を間違えてしまいました。 名前を変更するには画面左下のProject settings -> Boards -> Project configurationから変更することができるようです。 おわり ぐぐらないと見つけられませんでした...。

Client Side BlazorをAzureの静的サイトにデプロイする

Azure StorageにClient Side Blazorをデプロイします。 Client Side Blazorの作成 Blazorのプロジェクトを作成し、Publish(発行)しておきます。 dotnet new blazorwasm -o ClientSideBlazorSample cd ClientSideBlazorSample dotnet publish -c Release -o o…

az storage blob upload-batchでErrorCode: InvalidUriが出た時の原因

Azure StorageのBlob Containerにファイルをアップロードしようとした際に以下のエラーが表示されました。 error: The requested URI does not represent any resource on the server. ErrorCode: InvalidUri 原因 原因は-dで指定したContainer NameのEscape…

.NET Core 3.0の新機能Roll Forwardオプションを試してみる

.NET Core 3.0 リリース記念 C# Tokyoで登壇された@nuits_jpさんの.NET Core 3.0のPublish Single File概要を見て、そういえば.NET Core 3.0の新機能でRuntimeのバージョンをコントロールする機能あったなぁ…と思い、ちょっと調べてみました。 Microsoft Doc…

BlazorでDrag and Dropを実装する

Blazorで簡単なDrag and Dropを実装してみます。 デモ こんな感じです。 デモ コード 作ったコードはこちらにUpしてあります。 github.com

BlazorでFormatting Bindingする

@bindした値を表示する際に format を整えるにはformatパラメータを追加すればよいそうです。 docs.microsoft.com <input @bind="DateRecorded" @bind:format="dd/MM/yyyy" /> @code { private DateTime DateRecorded = DateTime.Now; } Microsoft Docsによると、現在は通貨形式や数値形式など、その他の書式指定式は…

BlazorのDataBindingで発火イベントを変更する

@bindによる双方向 DataBinding は以下の通りです。 <input @bind="CurrentValue" /> @code { private string CurrentValue { get; set; } } Microsoft Docsによると、@bind するタイミング(イベント)は変更できるようです。 docs.microsoft.com @bind 構文を使用して onchange イベントを…

Blazor Event名の一覧

Blazorで使用できるEventを列挙しました。 いずれもon{Event名}で使えるはずです。 Focus events Event 名 Args onfocus FocusEventArgs onblur FocusEventArgs onfocusin FocusEventArgs onfocusout FocusEventArgs Mouse events Event 名 Args onmouseover…

Blazor - TodoAppにValidationとNotifyServiceを追加する

こちらの記事の続きです。 blog.piyosi.com Todoアプリに以下の機能の改造を加えます。 新しいTodoを追加したら画面に通知を表示する(NotifyServiceで別Componentの関数をKick) Todoの内容が空っぽの時は登録できないようValidationを追加する ※子コンポーネ…

Blazor - TodoAppで学ぶComponentへのParameter Binding

BlazorのComponentへのParameter Bindingについて学ぶため簡単なTodoアプリを作りました。 今後暫くはこのアプリに手を加える形でBlazorのお勉強をしたいと思います。 github.com Microsoft Docsで言うとこのあたり docs.microsoft.com Demo こんな感じです…

WakaTimeでコーディングしてる時間を自動で記録・可視化する

スマホにはどのアプリを何時間使用しているかという情報のレポート出力機能がありますね。 WakaTimeを使えば、同じことをVisual Studio CodeやVisual Studioで計測することができます。 wakatime.com 使用しているアプリの時間だけでなく、以下の項目も計測…

EntityFrameworkCore.SQLiteのInMemoryDatabase + Repository Patternを書いた備忘録

ローカル環境にDBが必要なアプリの場合、大抵はLiteDbを使ってきました。 今回は趣向を変えてEntityFrameworkCoreを使ってみようかなと思い、Repository Patternな感じで実装してみました。 AdapterはSQLiteを使います。 本エントリはその備忘録です。 作成…

Microsoft.EntityFrameworkCore.InMemoryでトランザクションが張れない

EntityFrameworkCoreでInMemoryする場合はMicrosoft.EntityFrameworkCore.InMemoryが鉄板のようです。 しかし上記Packageを使う場合、トランザクションが張れないようです。 試しに以下のコードを試してみました。 using (var trn = _context.Database.Begin…

AutoHotKeyでキーボード操作を超快適にする

昔からノートPCのキーボードって苦手です。 ↑と↓のカーソルキーが普通のキーの半分の大きさしかなかったり、 ↑の左右にPageUp, PageDownがあって押し間違いが多発したり。 かといって外付けキーボードは持ち歩きたくないですし。 AutoHotKeyを導入してからは…

Visual Studio CodeのPreview状態のタブを通常状態にする地味に便利なKeyBind

Ctrl + PのQuickOpenでファイルを開いたりF12でコードジャンプすると、タブがPreview状態(タブ名がイタリック表記)で開かれます。 左:通常状態 右:Preview状態のタブ これはworkbench.editor.enablePreviewFromQuickOpenが有効なためです。 workbench.editor…

MicroBatchFrameworkとSeleniumでCLIツールを作った話(その2)

前回の記事の続きで、Selenium に関する話です。 SeleniumでWebサービスを自動操作する部分を実装します。 Webサービスは以下の流れで操作します。 WebサービスのIndexページにアクセスする リンクをクリックし、画面遷移する アップロードするExcelファイル…

MicroBatchFrameworkとSeleniumでCLIツールを作った話(その1)

ASP.NET 2.0 時代(!)に作られた社内Webサービスを自動操作するCLIアプリをMicroBatchFramework + Seleniumで作ったのでその備忘録です。

ASP.NET CoreのCreateDefaultBuilderが何を設定してくれているか

ASP.NET CoreのデフォルトテンプレートではProgram.csに以下のコードが記述されています。 public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseSta…

2019年9月の.NET/ASP.NET Documentation Updateについて

Redditに2019年9月の.NET / ASP.NET のドキュメンテーションの更新状況について投稿がありました。 www.reddit.com .NET Core 3.0が出たばっかりなので、いっぱい変更されてますね! E-bookはページの表示言語・ロケーションがja-jpだとダウンロードリンク…

dotnet tryによるC#のInteractive Documentの作り方

dotnet tryをご存じでしょうか? Microsoft製のC#用Interactive Documentation Generator(Markdown内に書いたC#のコードをその場で実行・結果確認できる資料)です。 C#なのにjupyter notebookっぽい(?)使い方ができそうな感じで、講義用の資料を作るのに重…

Blazorの再接続画面をカスタマイズしてかわいい文鳥の画像を表示する

先日こちらの一連のツイートを見かけました。 togetter.com なるほど~ 確かにネコちゃんとか文鳥の画像が表示されたら怒りも収まるに違いない。 というわけでBlazorのリコネクト画面をカスタマイズしてみます。 カスタマイズ結果 こんな感じになりました。 …

ASP.NET CoreまたはBlazorをLocalで起動した時の警告画面を消す方法

ASP.NET CoreやBlazorをローカル環境で動かすと この接続ではプライバシーが保護されません とか このサイトは安全ではありません とか表示されますよね?こんな感じに。 起動時に表示されるアレ 上記ページを表示されないようにする小話です。

BlazorのLifecycleとShouldRenderの挙動について

こちらのサイトによるとBlazorには以下のLifecycleがあるそうです。 OnInitialized OnInitializedAsync OnParametersSet OnParametersSetAsync OnAfterRender OnAfterRenderAsync ShouldRender ShouldRenderは画面更新前に呼ばれ、画面更新するかどうかの判…

.NET Core 3.0のBlazorで作るMarkdown Editor(修正版)

※本エントリは先日投稿したエントリのコードを修正して投稿したものです。 .NET Core 3.0のBlazorコトハジメとしてリアルタイムプレビューに対応したMarkdownエディタを作ってみました。 Blazorのことよく分かってないので雰囲気で作った感が満載です。 デモ…

The Future of Blazor on the Clientの個人的まとめ

.NET Conf 2019が終わり、興奮冷めやらぬ.NETエンジニアの多いことかと思います。 .NET Confで"The Future of Blazor on the Client"というタイトルでBlazorの未来に関する発表がされました。 The Future of Blazor on the Client こちらの発表内容で気にな…