C#でマルチスレッド(Task.Run , async , await , Lock)
WPFアプリ(C#)でTask.Runを使用して別スレッドで処理をする方法と、その処理経過を画面のプログレスバーに表示するための方法をまとめてサンプルソフトを作りました。
サンプルソフトはPrismを使用したMVVMスタイルのWPFアプリです。
[Visual Studio 2017、Prism7.1、.NET4.5.2]
- 概要
- スレッド起動(Task.Run)
- タスク終了待ち(async & await)
- 画面部品へのアクセスと処理キャンセルの方法(IProgress , CancellationToken)
- 排他処理(Lock)
- コマンドボタンの有効/無効
- サンプルアプリの説明
C#のログ保存方法(TraceListener使用)
WPFアプリ(C#)でのログ保存方法を書いておきます。
Visual Studio 2017 を使用します。
- Default TraceListener の種類
- TextWriterTraceListener の使用方法
- カスタムトレースリスナーの使用方法
Prism を使用したComposite Application の多言語対応
PrismのWPFアプリを多言語対応する方法の例を書きたいと思います。多言語化ライブラリーとして WPFLocalizationExtension を使用し、.resx ファイルを使用した切り替えを行います。使用している環境は Win10, Visual Studio Community 2017, Prism.WPF V7.1.0.431, .NET4.5.2, DIコンテナとしてUnity が使われています。
- WPFサンプルソフトの準備
- WPFLocalizationExtension の導入
- resxファイルの追加
- ResX Manager
- 文字列のバインド
- アプリの動作
- まとめ
- 補足
WPFでのプログラミングスタイルMVVMをユーザービリティー開発から考える
Windows のアプリをWPFを使用して作るときにはMVVMというデザインパターンを使用する事が多いと思いますが、MVVMを考える時、プログラマー視点で考えてしまうと、形だけはMVVMだけれども、手間だけ増えて何のために分けたんだっけという情けない状態になりかねません。アプリを使う人の為のユーザビリティー開発のためのデザインパターンであるという見方から考えると、どういう風に分けたらいいかの指針となると思います。
- WPF(Windows Presentation Foundation)とは
- MVVM(Model-View-ViewModel)とは
- Blend
- MVVM用ライブラリー
- Livet
- Prism
- まとめ
fast.ai で deep learning を勉強しよう(1)準備
Practical Deep Learning for Coders, v3 のサイトで Deep Learning を勉強しましょう。
- fast.aiとは
- 環境構築: Win10
- Anaconda インストール
- GPUを使用する場合
- fastai用仮想環境の作成
- (option)Anaconda に Proxy設定が必要な時
- 仮想環境作成(ベースからコピー)
- fastai のインストール
- Pytorch のインストール
- jupyter の拡張機能インストール
- (option)jupyter に Proxy設定が必要な時
- Lesson1 準備
- Part1 notebook のダウンロード
- windows用に修正
- 環境設定での不具合対処方法
- GPU使用有無の確認方法
- Jupyter Notebook での Home の変更方法