🐥note.

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

Azure Cognitive Services + WPFで画面キャプチャしてOCRと翻訳するツールを作った話

画像中の英語の長文を読むのがチョットつらい!英語ならまだしも中国語とか無理! そんな思いから、画面中の任意の場所をキャプチャして、キャプチャ範囲内の文字列をOCRして、OCR結果を機械翻訳するツールを作りました。 OCRはAzure Cognitive ServicesのComput…

EntityFrameworkCoreでValueObjectをDBに永続化する

Microsoft Docsのこちらの記事を読んでいたところ… docs.microsoft.com ValueObjectをEntity Framework Coreで永続化することができる…だと!全然知らなかった! 調べてみたら2.0の時代から対応してるっぽいですね。 devblogs.microsoft.com ということでDoc…

BlazorでNative Mobileアプリを開発できるMobile Blazor Bindingsを試してみる

現在開催されている.NET Conf: Focus on BlazorのEilon Lipton氏のセッション Mobile Blazor Bindings – Using Blazor to build mobile appsでMobile Blazor Bindindsという名の実験的ライブラリが発表されました。 devblogs的には以下の記事です。 ※実はセ…

.NET Core Project TemplateとNuget Packageの作り方

ちょっとしたWPFアプリを複数個作る機会があり、同じような構成のWPFプロジェクトを何個も作るのが大変面倒だったので、Project Templateを作りました。 忘れないうちにProject Templateの作成と、そのProject TemplateをNuget Package化する方法について残…

2019年12月のMicrosoft DocsのUpdateについて

Redditに2019年12月のMicrosoft Docsの更新状況について投稿がありました。 www.reddit.com なお、11月の更新状況は以下の通りです。 blog.piyosi.com 更新したドキュメントの一覧 毎月Redditに投稿しているMaximRouiller氏ですが、今回は 今月のみんなが読…

.NET CoreでEnvironmentを起動引数で与える方法

--environmentを与えるだけ。 dotnet run --environment <Environment名> Development, Production, Stagingだけじゃなくて好きな値で設定できる。 参考にしたのは以下のstack overflowの質問 stackoverflow.com おわり 環境変数を書き換える手間が省ける。</environment名>

EntityFrameworkCoreでCode First/Reverse Engineeringする

EFCore 3.1でCode First/Reverse Engineering(scaffold)するだけの記事です。

.NET CoreのGeneric Host(汎用ホスト)でEntityFramework Coreを使用する際にService生成に失敗する件の解決方法

きじのしっぽさん作成の逆引きEntity Framework Core 3.1ハンドブックが届いたのでEntityFramework Coreに再入門してみました。 booth.pm その過程でちょっと見慣れないエラーに遭遇したので、記録しておきます。 環境は.NET Core 3.1 LTSのMicrosoft.Entity…

.NET CoreのGeneric Host(汎用ホスト)のStart/Run/RunConsoleAsyncの違い

.NET Core 3.1 LTSのGeneric Host(汎用ホスト)にはStart/Run/RunConsoleAsyncなど複数の起動方法がある。 static async Task Main(string[] args) { // パターン 1. - RunConsoleAsync await CreateHostBuilder(args).RunConsoleAsync(); // パターン 2. - S…

2019年振り返り

2019年の振り返りエントリーです。 2019年に学んだ技術・始めた取り組み・出来事は以下の通りです。 子供👶が産まれた Azure, Azure DevOps .NET Core(Blazor, ASP.NET Core) TDD, Clean Architecture, SOLID, DDDの復習 技術ブログの開始 朝活 勉強会への参加

Server side BlazorをAzure Web AppsにDeployする

以前Azure Blob Storage上に静的サイトとしてClient side Blazorをデプロイする記事を書きました。 blog.piyosi.com Azure CLIに慣れる目的で、今回はServer side BlazorをAzure上にデプロイしたいと思います。 使うサービスはAzureのWeb Apps, Key Vault, S…

Azure CLIでAppServiceとWebAppのcreate/deployで色々ハマった話

お勉強のためAzure CLIでAzureのリソースを弄っていたら色々ハマったので記録に残しておきます。 下記お話はWindows環境下のAzure CLI Version 2.0.78のお話です。

Assembly Scanして自動的にMicrosoft.Extensions.DependencyInjectionのDI ContainerにService登録する仕組み

.NET Coreの汎用ホストでMicrosoft.Extensions.DependencyInjectionを使ったDI ContainerにAssembly Scanしてサービスを自動登録する簡易的な仕組みを作ったのでその備忘録です。

Blazorの未来

本エントリはBlazor Advent Calender 2019の25日目の記事です。 Blazorのことをつい最近知った方々を対象に、「Blazorは今後どのような方向へ進化していくのか」という点を簡単にまとめてみました。 ※12/22(日)の時点でAdvent Calenderの開いてる記事が残り…

MediatRのIPipelineBehaviorとFluentValidationでCQRSのQueryをValidationする

先日の記事の続きです。 MediatRのIPipelineBehavior<,>とFluentValidationというライブラリを使用してQueryのValidationを行う方法です。

CQRSで実装したときDI Containerに登録するInterface/Serviceが大量すぎて辛かった話

趣味アプリのコアロジック部分をCQRSで作った結果、DI Containerに登録するInterface/Serviceの数が増えすぎてしまい辛くなってしまいました。 DI Containerへ登録する大量のCommand/QueryのInterfaceやService 次にCQRSでアプリを作る際はもっと楽に開発し…

Blazorチョット(だけ快適に開発)デキルようになる(かもしれない)小技

本エントリはBlazor Advent Calender 2019の16日目の記事です Blazorの開発を行う上でチョット(だけ快適に開発)デキルようになる(かもしれない)小技を紹介します。

BlazorでPrismのEvent Aggregatorを使用しViewModel間通信を試した備忘録

本エントリはBlazor Advent Calender 2019の15日目の記事です

BlazorのComponent間のデータのやり取りや状態管理ライブラリのメモ

Observer, EventAggregator, Fluxパターンとかそこら辺のメモです。

2019年11月のMicrosoft DocsのUpdateについて

Redditに2019年11月のMicrosoft Docsの更新状況について投稿がありました。 対象期間は2019/11/01 ~ 2019/12/04の間です。 www.reddit.com なお、先月の更新状況は以下の通りです。 blog.piyosi.com 今月のテーマ 今月のテーマとしては以下の点が挙げられる…

.NET Core 3.1からRuntimeのインストールを勧めるメッセージが表示されるようになった

.NET Core 3.1からは.NET Core Runtimeが未インストールのPCでWPF/WinForm/Consoleアプリを起動すると「Runtimeをダウンロードしてね」って感じのメッセージが表示されるようになりました。 ※.NET Core 3.0では何も表示されなかった リリースノートには記載…

ASP.NET Core 3.1の変更点について

ついに.NET Core 3.1 LTSがリリースされましたね! あわせてASP.NET Core 3.1もリリースされました。 devblogs.microsoft.com Microsoft Docsの特設ページはこちらです。 docs.microsoft.com 変更点は以下の通りです。 Here’s what’s new in this release fo…

ASP.NET Core MVCにServer side Blazorのコンポーネントを共存させる話

本エントリはBlazor Advent Calender 2019の4日目の記事です はじめに .NET Core 3.0がリリースされてから3か月近く経過しました。 ※追記(12/04):本日.NET Core 3.1 LTSがリリースされました! 皆さんはお仕事でBlazor書いてますでしょうか?勿論私は書けて…

Client side Blazor on WPF WebViewを実験的に作って挫折した話

WPF(.NET Core)のWebView上に、publishしたClient side Blazorを表示するDesktop Appを実験的に作って挫折したのでその備忘録です。 ※挫折した、という点がポイントです。 Demo 最低限動くところまでは作ったので、その様子だけ載せておきます。 demo きっか…

.NET CoreのWPFでWindowを表示するClass Libraryを作成した

実行するとWPFのWindowを表示するClass Libraryを作成しました。 これはClient side Blazorをいい感じにWPFのWebViewで表示できないか試行錯誤してた最中の副産物です。結局ボツ案で使うことは無いとは思いますが、せっかく作ったのでここで供養させてもらい…

.NET Core 3.1 Preview3がリリースされました

.NET Core 3.1 Preview 3が公開されました。 devblogs.microsoft.com 記事内で12月上旬に.NET Core 3.1 LTSリリース予定って言ってますね! ※もともとは11月だったのにサラッと伸びてる Visual Studio 16.4 Preview 5およびVisual Studio for Mac 8.4 Previe…

Client side BlazorとAzure Blob Storageで作る簡単PWA

Client side BlazorをPWA対応させてみました。 PWAのServiceWorkerの機能にはHTTPSが必要なので手っ取り早くAzure Blob Storageを使用します。 ちなみに環境は以下の通り .NET Core 3.1 Preview2 Microsoft.AspNetCore.Blazor.Templates 0.7.0 Blazor Templa…

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件コミットさ…