きなこもち.net

.NET Framework × UiPath,Orchestrator × Azure × AWS × Angularなどの忘備録

Dependency Injection Principles, Practices, and Patterns × 1章 × 読書メモ

目的 よくある勘違いと間違いの理由 遅延バインディングによるメリットだけ Unit Testがしやすくなるというメリットだけ DI=Abstract Factoryの強化版 DIにはDIContainerが必須 DIのメリット Late binding:遅延バインディング Extensibility:拡張性 Parallel…

Observable × Subject/BehaviorSubject × それぞれの使い方を調べてみた

Purpose 概要 それぞれの依存関係 class Observable 利用方法と考え方 Point Subject, BehaviorSubject class Subject class BehaviorSubject Point Sample 参考 Purpose Observableについて理解する。 概要 似たような用語(Observer、Observable、Subject、…

DB Context × xUnitTest × Moqでモックを作りたい。

Purpose 直書き ライブラリ化 お手本(entity-framework-core-mock) 設定 コード ref まとめ Purpose UnitTestでDB Contextを使ったServiceをテストする方法について調べる。 直書き Moqを使ってEntityframeworkのモックを作成するには?【単体テスト】を参考…

Selenium × Tips × Datepiker操作を調べていくうちにわかったことまとめ

目的 Tips1:値の取得 Usecase Solution Tips2:入力がdisableのDatePicker-Inputへの値の入力 Usecase Solution Tips3:ログとしてスクリーンショットを保存する Usecase Solution 目的 www.kinakomotitti.netの続き。 調べていくうちに見つけたTipsの忘備録。…

Angular Material × Selenium × DatePickerのカレンダーを操作するサンプル

目的 背景 本題 コード Step1 Step2 Step3 Step4 目的 SeleniumのSample. Angular MaterialのDatePickerで日付を選択する。 値を直接Inputできない場合を想定。 背景 DatePickerをSeleniumで操作しようとしたとき、テキストボックスに日付が直接入力できれば…

Selenium × .NET 5 × Console AppでRPA風のことをしてみたメモ

目的 準備 Nugetでインストールするもの そのほか Helloworld Yahooの乗換案内から、料金を取得する。 目的 Seleniumを使ったConsoleApplicationの環境構築メモ。 RPAっぽいことをするためのことはじめ。 準備 Nugetでインストールするもの Microsoft.Extens…

C# × WebAPIの呼び出し方の学習メモ × リクエストの処理結果の判定方法について

目的 内容確認 認証情報の確認 Request headerの設定 Http Requestの実行 結果の判定(本題はここ) 参考 目的 WebAPIの呼び出し方の学習メモ。 今回は、active-directory-dotnetcore-daemon-v2のソースコードを教材とした。 内容確認 全体像。 public async T…

dotnet core × Closed XML × 人口推計のExcel情報を取得するサンプルを作ってみた

目的 Closed XML dotnet coreがサポートされているかどうか InstallからHelloworldまで 表からデータを取り出す。 サンプルのゴールについて コードとやったこと 目的 Closed XMLをDotnet Coreで利用する方法をまとめる。 簡単な表データから値を抽出する実…

外部WEB API呼び出し用のService× Unit Test × 実装~テストまでの流れを考えてみた(模索中)

Purpose 前提 ソースコード テストフレームワーク テスト対象のWeb API テスト対象のサービスの実装方針 テスト方針 概要 実装の流れ ブラックボックステスト 方針 テストケース1 入力パラメータ:期待するURLが構築できるかのテスト 実装イメージ テストケ…

Effective C# 6.0/7.0 × 5章:× 自分なりの要点まとめ

目的 項目45:契約違反を例外として報告すること 項目47:アプリケーション固有の例外クラスを作成する 項目49:catchからの再スローよりも例外フィルタを使用すること 項目50:例外フィルタの副作用を活用する 所感 目的 流し読みにならないように…

PC操作 × キャプチャー × Excel保存

概要 環境 Download 使い方 インストール 画面説明 出力仕様 キャプチャー処理に関する仕様 今後 忘備録 概要 システムのテストをする時、一つ一つの操作をキャプチャ(スクリーンショット)し、それらをExcelに貼り付けエビデンスとすることが多々ある。 ま…

Effective C# 6.0/7.0 × 4章:LINQを扱う処理 × 自分なりの要点まとめ

目的 項目29:コレクションを返すメソッドではなくイテレータを返すメソッドとすること 項目30:ループよりもクエリ構文を使用すること 項目31:シーケンス用の組み合わせ可能なAPIを作成する 項目37:クエリを即時評価ではなく遅延評価すること 項…

Effective C# 6.0/7.0 × 3章:ジェネリックによる処理 × 自分なりの要点まとめ

目的 流し読みにならないように、1項目毎要約をする。 今回は、3章:ジェネリックによる処理の項目に対してのまとめ。 今回も特に心に残った項目をピックアップした。 項目20:IConparableIComparerにより順序関係を実装する IConparableインターフェー…

Effective C# 6.0/7.0 × 1章:C#言語イディオム&2章:リソース管理 × 自分なりの要点まとめ

目的 項目3:キャストにはisまたはasを使用すること 項目5:カルチャ固有の文字列よりもFormattableStringを使用すること 項目7:デリゲートを使用してコールバックを表現する 項目8:イベントの呼び出し時にNull条件演算子を使用すること 項目12:メ…

ubuntu × .NET 5 × 初めてのアプリケーションのデプロイ

目的 参考 本題 アプリケーションの作成と、動作確認 デプロイ対象のDLLの作成とデプロイ サービスの起動 サービスファイルの作成 登録と起動 リバースプロキシサーバーの設定 Nginxのインストール Nginxの構成を修正する Logの確認 目的 Ubuntuで本番稼働を…

ubuntu × .NET 5 × 初めての開発環境構築

Purpose 初めてのLinux(Ubuntu20.04)環境を構築するにあたりやったことをまとめる。 Setup .bashrc Install Terminator 標準でインストールされているターミナルが画面の分割に対応していないようなので、画面の分割に対応しているターミナルを導入する。 su…

Angular画面遷移 × Bad Request × 長い文字列を別画面に送ろうとしてはまった点について

Purpose 背景 問題 原因 対応 実際の対応 そのほかに考えた方法 まとめ Purpose AngularのアプリケーションをIISにデプロイしたとき、Http Status 400 : Bad Requestのエラーが出てはまったときの対応方法についてまとめる 背景 A画面から、B画面に遷移する…

IHttpClientFactory × Unit Test × テスト方法について

目的 参考にしたサイト テスト対象のクラス UnitTestの追加 メソッドの追加 テストの作成 まとめ 作ったコード 目的 HttpClientを使ったServiceのUnitTestの方法を調べる。 参考にしたサイト Unit Test and Mocking HttpClientFactory in .NET Core テスト対…

HttpClient × HttpClientFactory × より良い実装方法を調べてみた

Purpose 背景 A)アンチパターン 実装 パフォーマンス測定 B)HttpClientをSingleTonで追加したパターン 実装 パフォーマンス測定 C)HttpClientをservices.AddHttpClient()で追加したパターン 実装 パフォーマンス測定 D)IHttpClientFactoryをつかった例 実装…

Angular Material × Tooltip × 見た目を変更する方法の違い(v8.2.3 vs v11.2.6)

目的 Version 8.2.3 Version 11.2.6 [Set font size of Angular Material Tooltip API reference for Angular Material tooltipを参考に・・・ まとめ 目的 Angular MaterialのTooltipの見た目を変更する方法の違いについてまとめる。 対象のバージョンは、8…

Angular × ディレクティブとコンポーネントの親子間でのデータ共有 × ClassとInterfaceとStringを使った挙動の比較

Purpose ディレクティブとコンポーネントの親子間でのデータ共有を参考に、親子間でのデータの共有方法を考える。特に、双方向でデータをやり取りする場合についてまとめる。 Motivation 上記サイトや、他の数多のブログで紹介されているような”String型”の…

Dotnet Core × Console Application × Dependency Injection

Purpose シンプルな起動 StaticなMainを使わない方法 Dependency Injectionを使う方法1 Dependency Injectionを使う方法2 まとめ 追記 Purpose dotnet core / Console Applicationの起動方法についてまとめる。 シンプルな起動 慣れ親しんだ起動方法。サン…

Entity Framework Core × DbContext × 継承する方法

目的 背景 類似現象 Case1: Entity Framework Core DbContext inheritance problem with DbOptions in constructor 現象 解決策 Case2: How do I implement DbContext inheritance for multiple databases in EF7 / .NET Core 現象 解決策 まとめ 目的 Entit…

dotnet core × Unit Test × コードカバレッジ

Purpose UnitTestの方針を考える 各種規約について ディレクトリ構造 本筋とは関係ないが、ソリューションの構造は以下のように定義した。 root直下には、srcと、testsディレクトリを配置。そのほかには、Slnファイルと、Gitignoreファイル、ReadMe.mdファイ…

ASP.NET core × 例外ハンドラー × チュートリアル(完結編)

Purpose ASP.NET core Web APIで例外をハンドルする。その3。 内容について ASP.NET Core Web API のエラーを処理するの方法を中心に、例外ハンドルの方法をまとめる。 チュートリアルメモ Step6 検証失敗のエラー応答 Postなどで送られてきたリクエスト情報…

ASP.NET core × 例外ハンドラー × Filter Piplineのチュートリアル

Purpose ASP.NET core Web APIで例外をハンドルする。その2.今回は、Action Filterで躓いたため、そこを中心に調べている。 内容について ASP.NET Core Web API のエラーを処理するの方法を中心に、例外ハンドルの方法をまとめる。 チュートリアルメモ Ste…

ASP.NET core × 例外ハンドラー × チュートリアルメモ

Purpose 内容について 躓いた点 Problemが参照できない。 チュートリアルメモ Step0 前提設定 Step1 ノーガード戦法 Step2 開発者例外ページ Step3 例外処理ミドルウェアの利用 Step4 開発環境用のより詳しいエラーレスポンスの追加 Problemとは・・・ Purpo…

Teams × incoming webhook × いろいろな形式のメッセージを送ってみた系のやつ

Purpose TeamsのWebhookにメッセージを送信するときの自分的ポイントをまとめる。 取り組んでいたこと ディスクの空き容量を計算して、計算結果を関係者に通知するという単純な定期バッチを実装した。通知方法は、これまでメールを使っていたが、メンテナン…

pgAdmin 4 × SQLite × 各種設定のエクスポート・インポートの方法

Purpose Pgadmin 4 の設定をExport/Importする方法をまとめる 設定のExport/Import やりたいこと PostgresのクライアントツールのpgAdmin。pgAdminからDBに接続するためには、Serverへの接続設定を行わないといけない。この設定を複数環境(別PCなど)にコピ…

Cloud Formation ×EC2 Instance(Linux/Ubuntu) × RootVolumeの指定で失敗したやつのまとめ

AWS

Purpose 失敗事例 失敗の内容 利用したテンプレート(一部) 原因と対応 反省点 紛らわしい名前 設定されるパラメータの基礎知識の欠如 EC2インスタンスで利用できるデバイス名 Reference その他注意点 Purpose AWS Cloud Formationを使ってEC2インスタンス…