2021-01-01から1年間の記事一覧
マルチスレッドとロックとは? マルチスレッド処理の準備 ロックしないマルチスレッド処理 lock 注意すること Interlocked ReaderWriterLockSlim SemaphoreSlim Mutex 実行結果のまとめ 補足 Volatile 修飾子 原子性 サンプル 参考 2021 年末現在、C# におけ…
C# Advent Calendar 2021 を見てると、C# のパターンマッチングが便利らしい。 C#のアプデでめちゃくちゃ便利になったswitch文(パターンマッチング)の紹介 C#のプロパティによるパターンマッチングを使おう でも、パターンマッチングの中身が実際どんな判…
タグ (tag) の使い方 Visual Studio からタグをつけるとき GitHub でリリースを作るとき 参考 Git のコミットにタグをつけておくと、GitHub なんかのサービスだと特にバージョン管理が見やすく、やりやすくなります。 タグ付けしたほうがよいタイミングが明…
Yujian Tang さんの記事が元です Twitter を見てたら流れてきた記事が気になったので、個人的な和訳をメモした内容です。 首がもげるほど頷いた英語記事「なぜプログラミングは簡単なのにソフトウェアエンジニアリングは難しいのか?」職場では後者も必要。…
ローカルのサンプルプログラムでも、GitHub にコミットするときなんかに API キーを使用していると困ることがあります。GitHub にサンプルコードをあげるときは、当然 API キーを隠します。で、API を使用する(実際に動作する)実行コードに書き換えるたび…
Prism App.xaml MainWindow (View + ViewModel) Dialog1 Dialog2 サンプル 参考 Prism を利用するプロジェクトで子ウィンドウ(ダイアログ)を表示する方法は、バージョンの進化によって変化してきているようです。 現在(下記のバージョン記載)では、ダイ…
この記事は、Microsoft MVP のひとり Vincent Maverick Sanchez Durano のブログ記事「C# Coding Guidelines and Practices - 2021」を個人的に雑訳したものです。 この記事では、一般的なソフトウェアエンジニアリング ガイドラインを紹介します。これらの…
はてなブログ10周年特別お題「10にまつわる4つのお題」の「好きな◯◯10選」ということで、ちょっと早いけど 2021 年の好きな(買ってよかった)モノ10選をまとめてみました。(毎年やっているやつですね) 今年は結構マニアックというか、個性的なものも多…
非推奨でも Password プロパティを Binding する Windows Hello を利用した認証 エラー発生するとき サンプル 参考 PasswordBox コントロールの Password プロパティは仕様のため、バインディングをすることができません。まずもって、バインディングをする…
この記事は、ARCTOUCH のブログ記事「Using Moq for unit testing with Prism EventAggregator」を個人的に雑訳したものです。 前回記事では、Publisher-Subscriber パターンと EventAggregator を使用するメリット、そして、プロジェクトでの使用方法につい…
環境構築 (Installation?) コンストラクターの注入 (inject) イベントの作成 イベントの購読 イベントの発行 イベントの購読解除 高度なこと (Advanced stuff) 参考 この記事は、ARCTOUCH のブログ記事「How to use Prism EventAggregator for .NET app deve…
EventAggregator is なに? .NET アプリ開発に Prism EventAggregator をなぜ使用するのか? Prism EventAggregator をいつ利用するのか? Xamarin.Forms の EventAggregator ちょっとした注意点 参考 この記事は、ARCTOUCH のブログ記事「Why you should us…
1. Bootstrap 2. ViewModelLocator 3. Module 4. MVVM の基本クラス 5. InteractionRequest 6. Navigation 7. EventAggregator 8. ModuleLoadSeq 9. RegionBehavior 10. ModuleCatalog まとめ 参考 前回まで Prism の公式サンプルを確認しました。補足として…
14. UsingEventAggregator 15. FilteringEvents 16. RegionContext 17. BasicRegionNavigation 18. NavigationCallback 19. NavigationParticipation 20. NavigateToExistingViews 21. PassingParameters 22. ConfirmCancelNavigation 23. RegionMemberLifet…
11. DelegateCommands 12. UsingCompositeCommands 13. IActiveAwareCommands まとめ 参考 WPF + .NET Core (5以降は Core は省略される) で Prism を使ってみよう。 使用している Prism のバージョンは次のとおり: 8.1.97 (2021/05/25) GitHub - Prism Sa…
8. ViewModelLocator 9. ChangeConvention 10. CustomRegistrations まとめ 参考 WPF + .NET Core (5以降は Core は省略される) で Prism を使ってみよう。 使用している Prism のバージョンは次のとおり: 8.1.97 (2021/05/25) GitHub - Prism Sample WPF …
7. Modules 7.1 Modules - AppConfig 7.2 Modules - Code 7.3 Modules - Directory 7.4 Modules - LoadManual 7.5 Modules - Xaml まとめ 参考 WPF + .NET Core (5以降は Core は省略される) で Prism を使ってみよう。 使用している Prism のバージョンは…
1. BootstrapperShell 2. Region 3. Custom Region Adapter 4. View Discovey 5. View Injection 6. ActivationDeactivation 参考 WPF + .NET Core (5以降は Core は省略される) で Prism を使ってみよう。 使用している Prism のバージョンは次のとおり: …
テンプレートの構成について WPF_Core_FullSample プロジェクト Core プロジェクト Modules.ModuleName プロジェクト Services.Interfaces プロジェクト Services.Services プロジェクト 新しいサービスを追加するテスト Services.Interfaces の修正 Service…
テスト1 テスト2 テスト3 テスト4 サンプル 参考 IoC Unity とは、ゲームエンジンの Unity ではないです。inversion of control (IoC) コンテナの Unity です。 DI コンテナを C# で体験してみるなら、デファクトスタンダートに近い存在である Unity コ…
DI DI コンテナ サービスロケータのアンチパターン テストと DI まとめ 参考 DI とは「dependency」を「injection」するプログラミングのデザインパターンのこと。日本語訳だと「依存性の注入」となっており、どのように意味を解釈したものかむつかしくなっ…
Heroku Postgres を有効化 navicat の設定 テーブルのサンプル 参考 Heroku Postgres と navicat をテスト接続する機会があったので、その内容をメモ。 Heroku Free Plan 珍しく RDBMS でも無料で使えるクラウドサービスです。行数の制限が厳しいのでテスト…
ターミナルで実行するコマンド tsconfig.json ファイルの修正 ESLint の設定ファイルを追加 実行確認 TypeScript を使うコーディングをはじめるときに、VScode だとターミナルを使ってプロジェクトの初期設定をすると思います。 この部分は、新しくてよい書…
ReadySunValley 0.61.0 のコード ReadySunValley 0.52.1 以前のコード 補足 おまけ 参考 ローカルアプリケーションを作るときに、ネットワーク接続の有無をチェックすることがあります。どういうコードを書くでしょうか。 Windows 10 から Windows 11 への更…
npm vs npx npm the package manager npx the package runner Run a locally installed package easily(ローカルにインストールされたパッケージを簡単に実行する) Execute packages that are not previously installed(インストールされていないパッケー…
音量を変更するための P/Invoke 音量を変更するコード サンプル 参考 Core Audio API は Windows Vista から追加された OS のスピーカー設定(音量など)にアクセスするためのものです。 Core Audio API OS のスピーカーまわりをイジるには丁度よい API なの…
.NET 5 環境で Win 32 API を利用しようと思ったら、従来なら P/Invoke(DllImport)で利用する関数や構造体なんかを再定義して利用していたと思います。2021 年末を完成目標にして「win32metadata」が立ち上がっているので、こっちを利用してみるテスト。 w…
指定したウィンドウ(DMM 版ウマ娘)を取得する ハンドルからウィンドウの表示画像を取得する 画像の切り出し OCR にかけるとき サンプル 参考 DMM 版のウマ娘のウィンドウ画像をキャプチャーをして、あれこれサポートするツールでは「UmaUmaCruise」が有名…
変更の手順 参考 PowerPoint のスライドを PNG 形式の画像ファイルとして保存するときの画像サイズを変更する方法をメモします。 これ 変更の手順 Win + R で「ファイル名を指定して実行」を起動 regedit 下表から対応する Power Point のレジストリサブキー…
Spread Sheet と GAS コーディング スクリプトエディターを開くとき デバッグを有効化する サンプルコード トリガーを設定する 参考 古来からのプログラマーは、Excel VBA を覚える気がなくても日本の社会通念より必ず身につけてしまうものでした。現在でも …