プログラムを中心とした個人的なメモ用のブログです。 タイトルは迷走中。
内容の保証はできませんのであしからずご了承ください。

2016/10/23

ViewModel における Model のインスタンスの共有

event_note

WPF + MVVM でアプリケーションを作成していくにあたり、まずは View と ViewModel の関係について勉強してきました。
そして、いざ Model を実装しようとしたのですが、ネット上にあるサンプルプログラムなどを見てみると、 Model のインスタンスを ViewModel で作成しているのです。
私が最終的に作成したいと思っているアプリケーションは、複数の画面に同じ状態を表示したり、GUIなしで動作する場合もあるようなものなので、ViewModel で Model をインスタンス化するのはどうなんだろうと思いました。

んで、軽くググってみると同じような質問が teratail にありました。
このような場合、Singleton にするのが一般的なようです。

2016/10/19

Sphinx に PlantUML のコードを埋め込む

event_note

PlantUML のコードを Sphinx ドキュメントに埋め込むための方法です。
ただし、Atom を使用したプレビュー機能が使えなくなるので、微妙かもしれません。

sphinxcontrib.plantuml のインストール

easy_install sphinxcontrib-plantuml

conf.py の設定

conf.py に以下の設定を追加します。
plantuml.jar のパスは適宜変更してください。

# sphinxcontrib.plantuml モジュールを読み込む
extensions = ['sphinxcontrib.plantuml']

# PlantUML の起動方法を設定する
plantuml = 'java -jar BAT/plantuml.jar'

尚、他のモジュールを読み込んでいる場合は、以下のように記述します。

extensions = ['rst2pdf.pdfbuilder','sphinxcontrib.plantuml']

記述方法

UML ディレクティブを使用して記述します。

.. uml::

   Alice -> Bob: Hi!
   Alice <- Bob: How are you?

参考

2016/10/15

WPF + MVVM の勉強4:コマンドの実装をラムダ式で

event_note

2016/10/13

Sphinx で PDF 出力する際にエラーになる

event_note

Sphinx で作成したドキュメントを latexpdfja を使用して PDF に出力する際にエラーが発生しました。
ちなみに HTML には正しく変換できています。
かなりはまってしまったのですが、結論としてはとても単純で、機種依存文字をを使用していたのが原因でした。
Latex 経由で PDF に変換するため、機種依存文字を使っていると失敗するようです。

さらに言えば、PlantUML を使用して図を作成していたのですが、その図中でも機種依存文字を使用し、SVG で出力していたため、それもエラーの原因でした。

2016/10/12

Sphinx ドキュメントに日時を埋め込む

event_note

Sphinx で作成するドキュメントに現在の日時を埋め込む方法です。
日時を埋め込みたい場所に |today| と書きます。

フォーマットの指定は conf.py に記述します。
例えば以下のような感じです。

today_fmt = '%Y/%m/%d %H:%M:%S'

2016/10/07

Windows Embedded Standard 7 初期セットアップ時のエラー

event_note

Windows Embedded Standard 7 のイメージを SSD に書き込んで起動したところ、初期セットアップ時に以下のエラーが発生したことがありました。

Install Windows

The computer restarted unexpectedly or encountered an unexpected
error. Windows installation cannot proceed. To install Windows, click
"OK" to restart the computer, and then restart the installation.

原因は不明ですが、再度イメージを SSD に書き込んだところ、正常に起動しました。
書き込み後のベリファイで何故異常にならなかったのか不思議でしたが、とりあえずイメージの書き込み失敗ということなのでしょうかね。
これでもダメなら次は SSD を交換する予定でした。

2016/10/04

Redmine でウォッチしているのにメールが来ない

event_note

Redmine のフォーラムでウォッチしているのにメールが来なくておかしいなぁと思っていました。
チケット更新時にはちゃんとメールが来るので、メールの設定は正しく出来ています。

原因

管理者メニューのメール通知の設定で、メール送信対象に「メッセージの追加」にチェックが入っていなかったことが原因です。
メッセージの追加ってなんやねんって思ってたのですが、「フォーラムのメッセージ追加」ということだったみたいです。