noxi雑記

.NET、Angularまわりの小ネタブログ

Azure Extensions Librariesを使ってAzure接続クライアントを管理する

はじめに ここ最近(最近。。?)、 .NET から StorageAccount などの Azure リソースへ接続するための NuGet ライブラリ群が Azure.* に変更されています。ライブラリの使い方自体は Microsoft のドキュメントを眺めれば良いのですが、各接続クライアントの…

Angular CDK Overlay でポップアップ Directive を実装する

だいぶ昔の記事で Angular CDK の Overlay モジュールの使い方を解説しました 1 2 3 。 今回は標準機能では実装できない簡易ポップアップを表示する Directive を実装してみるメモです。 Angular CDK を使用して全画面ローディングを表示する↩ Angular CDK O…

とても古いAndroidアプリを更新してみた話

はじめに 遙か太古の時代、 Eclipse 全盛期時代に作られた古い Android アプリを大改修してリリースしてみた話です。 筆者は気象庁ホームページの HTML をパースして天気予報やアメダスの情報を表示する「WeatherNow」というアプリを開発していました。初期…

.NET で MSAL トークンを X.509 証明書で取ってみる

この記事は .NET Core 3.1 のデーモンコンソールアプリで MSAL トークンをクライアント ID と X.509 証明書で取得してみた時の作業メモです。 やったこと: Azure Key Vault で証明書作成 Azure AD アプリ作成 .NET からトークン取得

Xamarin iOSアプリをAzure PipelinesでビルドしてAppCenterに送信する(配布編)

はじめに Azure Pipelines 使っていますか? 昨今は GitHub Actions に後塵を拝している感が否めませんが、マルチステージを利用した承認機能など、実は結構便利に利用できます。今回は Xamarin.Forms で実装した iOS アプリをビルドするための Azure Pipeli…

Xamarin iOSアプリをAzure PipelinesでビルドしてAppCenterに送信する(ビルド編)

Azure Pipelines 使っていますか? 昨今は GitHub Actions に後塵を拝している感が否めませんが、マルチステージを利用した承認機能など、実は結構便利に利用できます。今回は Xamarin.Forms で実装した iOS アプリをビルドするための Azure Pipelines を組…

ApplicationInsightsの「エンドツーエンドトランザクションの詳細画面」を表示する

ApplicationInsights で記録したログが時系列に表示される「エンドツーエンドトランザクションの詳細画面」を検索画面を経ずに URL 生成して直接表示してみようという試みのメモです。エンドツーエンドトランザクションの詳細画面はコレ。 エンドツーエンド…

System.Text.Jsonのコンバーターメモ

C#

データを POST するときは文字列、 GET するときはオブジェクトという C# 泣かせの構造な API に出会ってしまったため、 System.Text.Json の Converter を作った時のメモです。 公式のドキュメントはこちら。 docs.microsoft.com やりたいこと 冒頭に記述し…

WijmoのSCSSを使用する

Wijmo のビルドインなカスタムテーマに Material テーマがあります。カスタムテーマは 2019v3 までは css ファイルまたは LESS で提供されていましたが、 2020v1 にて SCSS に切り替わりました。私は LESS を SCSS に手動翻訳して Angular Material と組み合…

.NET CoreのSingle Fileを試す

.NET Core 3.0 で標準機能として実装された単一ファイル実行モード。リリースからはや9ヶ月、既に .NET 5 の足音が聞こえ始めており今更感が拭えませんが、単一ファイルにするとどうなるのか、どう実行されるのか、色々試してみたメモです。 docs.microsoft.…

ngForとtrackBy

Angular の *ngFor は配列をループして表示するために使用されるディレクティブです。 *ngFor ディレクティブには trackBy というオブジェクト追跡用のプロパティがあり、これを使用すると配列内のオブジェクトの位置変更を追跡することができます。この tra…

.NET Coreコンソールアプリにappsettings.jsonを追加する

C#

ASP.NET Core アプリでは標準で appsettings.json や appsettings.Production.json を読み込んで設定として使用する、またはソリューションエクスプローラー上で階層表示することができます。しかしコンソールアプリではこのような機能が存在しません。 設定…

.NET CoreとSqlBulkCopy

C#

前回の記事で扱ってみたのですが、 .NET には SqlBulkCopy という SQLServer に対して BulkInsert を実行するためのクラスがあります。注釈にはこう記述されています。 Microsoft SQL Server には、1台のサーバーでもサーバー間でも、あるテーブルから別のテ…

C#でデータベースに行を追加するパフォーマンスを測定してみた

最近コンソールアプリで C# から SQLServer にデータのバッチ投入・更新・削除を試しています。単純な SQL の実行はいつも Dapper を利用しているのですが思うような実行結果にならなかったため、何種類かの方法でデータの一括投入のパフォーマンス計測して…

Angular CDK Overlayで表示するComponentとデータを受け渡す

Angular CDK Overlay の4本目の記事です。前回は Backdrop を使用する方法についてでした。 noxi515.hateblo.jp 今回は Angular CDK Overlay で表示される Component に対して引数のデータを渡し、また表示された結果を呼び出し元で受け取る方法です。ざっく…

Angular CDK OverlayでBackdropを使用する

Angular CDK Overlay の3本目の記事です。前回は画面に対する相対位置で表示する方法についてでした。 noxi515.hateblo.jp 今回は Angular CDK Overlay の backdrop についてです。 backdrop はその名の通り、オーバーレイ表示時にオーバーレイ要素の下に全…

Angular CDK Overlayで要素の相対位置でオーバーレイを表示する

Angular CDK Overlay の2本目の記事です。前回は画面に対する絶対位置で表示する方法についてでした。 noxi515.hateblo.jp 今回は特定の要素に対して相対位置でオーバーレイを表示する方法です。

Angular CDK Overlayで画面の絶対位置を指定してオーバーレイを表示する

久しぶりにブログ書いています。どうにも仕事が忙しいと書く気力が出ません。 今回は Angular CDK Overlay を使用してサクッとオーバーレイを表示してみます。オーバーレイは画面の任意の場所に Component を表示することができます。 Angular Material だと…

Angular9では動的に生成するComponentをentryComponentsに追加しなくて良い

Angular9 の変更点の1つとして entryComponentsの非推奨 があります。 詳しい理由は以下の記事に記述されていますが、 Ivy を有効にしていると entryComponents に追加した Component で無くても CompnentFactorey を利用できるようになったからです。 dev.t…

Angularライブラリーに別のEntryPointを追加する

Angular CLI で作成したライブラリープロジェクトに別の EntryPoint を追加する方法です。 前回は Component Harness を使用したテストを書いてみましたが、 Component Harness はライブラリーとして配布することでより効果を得ることができます。しかし同じ…

RxJSのfromEventとfromEventPattern

RxJS にはイベントハンドリングをする API が2種類あります。 fromEvent と fromEventPattern です。前者は DOM イベントを処理するための API で、後者は任意のイベントハンドラーに対して add と remove を手動で処理する API です。 例えば KeyboardEvent…

OnPushに設定したComponentのテストを実装する

Angular の高パフォーマンスな Component を実装する上で重要なのは ChangeDetection: ChangeDetectionStrategy.OnPush に設定して不要な変更チェックを走らせないようにすることが上げられます。しかしこれを設定すると Component のテストを書く時に変更さ…

Angular CDK Component Harnessを実装する

前回は Angular CDK Component Harness を試しに使ってみました。今回は自作のコンポーネントに対して Component Harness を実装してみます。

Angular CDK Component Harnessを導入する

遂に Angular 9 がリリースされました。リリーススケジュールが4月・10月くらいが目処だったことを考えると大分難産でしたね(筆者の感想です)。 ところで Angular CDK にテスト用の機能として Component Harness が追加されました。使い方やテストへの導入…

AngularのHTMLテンプレート上に {} だけを書いてはいけない

最近 Angular の HTML テンプレートまわりで [xxx]="{}" を書いていてハマったのでメモしておきます。

Azure Pipeline内でソースを更新してPull Requestを自動生成する

仕事の関係で GitHub Actions よりも Azure Pipeline を色々と試しています。 AutoRest クライアントをパイプラインで自動的に更新しつつ Pull Request を作成して投げるものを作ったのでメモを書き残します。

ASP.NET CoreのWebAPIとAutoRestで良い感じの.NETクライアントライブラリーを生成する

AutoRest は OpenAPI( Swagger )で定義された RestAPI に接続するクライアントコードを生成するライブラリーです。 ASP.NET Core で実装した WebAPI に対して AutoRest で良い感じのクライアントライブラリーを生成する時のポイントメモです。 github.com

デバッグで追いかけるAngularのViewレンダリング

この記事は Angular #2 Advent Calendar 2019 の12日目の記事です。11日目は @kawakami-kazuyoshi さんの Predictive Prefetching、PrefetchとGuess.js、時々、Angular でした。 この記事は普段利用している Angular がどのように View を表示・更新している…

ApplicationInsightsのアラートをTeamsに送信する(シンプルなWebhook)

ApplicationInsights には特定のログや Metrics を検知するとメールや SMS 、Webhook で通知するアラートの機能があります。Webhook 送信時の Body はカスタマイズ可能なので、 Teams のシンプルな方の Webhook に対してアラートを送信してみます。

C# 8.0のNull許容参照型を有効にする

C#

先日 .NET Core 3.0 がリリースされ、同時に C# 8.0 もリリースされました。色々と先行き不安なところはありつつも、C# 8.0 最大の変更点は参照型が null なり得るかどうかをコード上で明示できる Null許容参照型 の機能でしょう。 Kotlin や TypeScript な…