2019-01-01から1年間の記事一覧
この記事は Angular #2 Advent Calendar 2019 の12日目の記事です。11日目は @kawakami-kazuyoshi さんの Predictive Prefetching、PrefetchとGuess.js、時々、Angular でした。 この記事は普段利用している Angular がどのように View を表示・更新している…
ApplicationInsights には特定のログや Metrics を検知するとメールや SMS 、Webhook で通知するアラートの機能があります。Webhook 送信時の Body はカスタマイズ可能なので、 Teams のシンプルな方の Webhook に対してアラートを送信してみます。
先日 .NET Core 3.0 がリリースされ、同時に C# 8.0 もリリースされました。色々と先行き不安なところはありつつも、C# 8.0 最大の変更点は参照型が null なり得るかどうかをコード上で明示できる Null許容参照型 の機能でしょう。 Kotlin や TypeScript な…
Azure Pipelines にはまだプレビューではありますが、 Pipeline caching というキャッシュ機能があります。 Angular 8 時代の Ivy を使用すると Angular Material を組み込んだアプリのビルドが爆遅になったことがあるので、この機能を使用して Angular のビ…
AngularのHTTPインターセプターと非同期ロック処理を組み合わせると、とても無駄な感じもしますが、AJAXリクエストの同時リクエスト数を制限することができます。ブラウザが同時に6本までしか送らないのでぶっちゃけ無駄な気もしますが、有用なこともあるで…
JavaScriptの日付ライブラリといえばMoment.js。標準のDateと比較するととても便利です。ただMoment.jsは内部のデータの持ち方が複雑で、ユニットテストで度々問題になります(私はなりました)。 Jasmineでユニットテストを記述するときにイイ感じに比較す…
Angular Materialはバージョン8で @angular/material からのインポートを非推奨にしました。またバージョン9からは @angular/material でのエクスポートがされなくなります。 github.com Importing directly from the root @angular/material entry-point is…
AngularのHttpClientを使用するサービスのテスト方法メモです。サービスからHttpClientを使用してAPIコールをしつつ、接続先のベースURLはHttpInterceptorから設定している状況を想定しています。
Angular MaterialはAngular公式のマテリアルデザインコンポーネントライブラリです。このライブラリのテーマカスタマイズ方法は公式ドキュメントにも記載がされています。 material.angular.io ドキュメントにはマテリアルデザイン標準?のテーマパレットを…
Microsoft TeamsはMicrosoftが開発しているチームコラボレーションツールです。SlackのMicrosoft版です。 Teamsにはいくつかの拡張機能(コネクタ)が存在し、Webhook機能もコネクタとして提供されています。みんな大好きWebhook。Webhookを利用してTeamsに…
先日 Angular と JSZip の相性問題を倒したと思ったら次は Wijmo の Excel エクスポートが死ぬ問題に当たりました。
Angularでは @ContentChild や @ContentChildren を使用して <ng-content> の中で入れ子にした子要素を取得することができます。また <ng-content> もセレクターを使用して個別の子要素を取得できます。しかしこれには制約があり、 自分の子要素として直接設置された要素 のみが対象</ng-content></ng-content>…
JavaScript で ZIP ファイルを動的に生成できる JSZip というライブラリがあります。とても便利なのですが Angular CLI プロジェクトで使用するとコンパイルエラーになるので、その解消方法のメモです。
ASP.NET Core アプリでは NuGet からパッケージを導入することでサクッと ApplicationInsights にアクセスログを連携することができます。ただそのまま導入すると全てのアクセスデータを送信するため、例えば死活監視のエンドポイントに対するアクセスが全て…
以前試したJSのループ実行結果、まだちょこちょこアクセスがあったようなので少し条件を変更して最新ブラウザバージョンで再実行してみました。
CI のパイプラインで dotnet コマンドを使用して .NET Core や .NET Standard のアセンブリを生成する時に、生成されるアセンブリのバージョンを差し込みたい場合があります。 csproj ファイルで指定する方法とコマンドの引数の2つの方法で指定することがで…
MicroBatchFramework でバッチアプリを開発しているときにそのままログを ApplicationInsights に送信してみたので、その防備録です。
Angularを使用するときにデザインとして何を組み込むかは重要な要素です。私は主に Angular Material を使用してマテリアルデザインな Web アプリを開発しますが、 Wijmo の入力コントロールをそのまま組み込もうとすると機能面、デザイン面共に不都合が発生…
前回の記事では MicroBatchFramework で設定ファイルを読み込む方法を書いてみました。この記事は MicroBatchFramework を使用した際の、バッチアプリ終了をハンドルして何か処理を挟み込む方法です。
前回の記事では MicroBatchFramework を使用したバッチアプリの作成と実行、発行を試してみました。この記事は MicroBatchFramework を使用するバッチアプリで設定ファイルを読み込んでみます。
業務で .NET の簡単なバッチを作る機会があり、どう作ろうかな、、、と悩んでいたときにふと思い出したので使ってみました。 ASP.NET Core で開発している資産を流用したいので CommandLineUtils と Microsoft Extensions 系( DI や Configurations 、 Logg…
Angular の Guard といえば、ページ遷移前に認証情報を取得したり、ページを表示出来るかの権限チェックをしたり、、、ページを表示する前の前処理を色々行う機能です。 Angular 6 までは、 Guard はページを表示できるできないの boolean の値を返すことし…
ASP .NET Core 2.2 では MVC ルーティングが Endpoint Routing となり、 特定の場合では破壊的変更になるそうです。この破壊的変更を見事に踏み抜いてしまったので書き置いておきます。 blog.shibayan.jp
ASP.NET Core の All やら App のパッケージを利用すると漏れなく付いてくるという噂の EntityFrameworkCore ですが、2.1からデータベースとやりとりする型とマッピングされるエンティティモデル上のプロパティの型とを変換する ValueConverter が追加されて…
Angularで入力バリデーションを実装する際、ReactiveFormではFormControlに対して様々なバリデーションを設定できますが、テンプレート駆動型だと設定することはできません。またReactiveFormもバリデーションを設定できるとは言え、事細かに全てをコードで…
Azure Artifacts は Azure DevOps のパッケージ管理サービスです。自分で作ったライブラリをパブリック、プライベート問わず公開することができます。 Azure Artifacts をプライベートの NuGet サーバーとして使用するには NuGet.Config に認証情報を持たせ…
ASP.NET Core では WebAPI を実装する際に、どの HTTP ステータスが返るのかを [ProducesResponseType] 属性を使用して設定することができます。しかしながらこの機能、一つ一つの アクションメソッドに対して設定しなければならないため大変面倒でした。 AS…