tmori3y2のブログ

主にWindowsのプログラムなど

MBSAで作成したWindows 7 x64 (ほぼ初期状態)の更新リストのUpdateをPowerShellでダウンロード

2016/05/13 修正 tmori3y2.hatenablog.com 職場にVS2015 Pro with MSDNを入れようかと思って、Windows 7 UltimateとWindows 10 Professionalの仮想環境を作ろうと思ったが、Windows Updateに失敗するという話があったので、MBSAで作成した更新リストを使って…

初心者が迷ったWPFの上付き文字/下付き文字

WPF

WPF UserControlで下付き文字をラベルやDataGridのHeaderに設定したくてTypographyというのを調べた。 WPF のタイポグラフィ Typography クラス (System.Windows.Documents) しかし、Windows 7/.NET 4.5.2だと上手く動かない。 .NET 3.xだと動いていたという…

Androidアレコレ一週間〜Hyper-V, x86, Nexus 7

Nested Hyper-VのVisual Studio Emulator for Android tmori3y2.hatenablog.com 出来ないと思っていたけど、Visual Studio Emulator for AndroidをHyper-Vで動かしているWindows 10で起動するために 入れ子になった仮想化 をやってみた。 Power Shellのエラ…

京都に来たら鉄道博物館と水族館へ足を運んでくださいね

京都鉄道博物館に行ってきた。 本当は、GWが明けた休みの日にでものんびり行こうと思っていたが、息子がどうしても行きたいというので・・・ まずは、地元で腹ごしらえ、その後市バスで移動。 www.kyotorailwaymuseum.jp セブンイレブンでチケットを買えるら…

Hyper-VによるWindows 10 Pro開発用仮想環境の構築 (2)

tmori3y2.hatenablog.com 前回の続き。 .NET Framework 3.5の有効化 「決して忘れていたわけではない・・・」 マルチターゲットに必要という意味で、開発環境扱いにした。 Microsoft .NET Framework 3.5 展開に関する考慮事項 - Windows 10 hardware dev 今…

Hyper-VによるWindows 10 Pro開発用仮想環境の構築 (1)

構築環境 ホストPC: Dell Inspiron 13-7359 CPU: Intel Core i7-6500U プロセッサ数 (物理/論理): 2/4 メモリ: 8GB (DDR3L 1600MHz) ストレージ: SSD 256GB ファームウェア: UEFI ホストOS: Windows 10 Professional 64bit OEM版 ゲストOS: Windows 10 Profe…

Dell Inspiron 13が届きました

tmori3y2.hatenablog.com tmori3y2.hatenablog.com 結局、マウスより早く届きました・・・ 外観です。 Dellです。 2コアなので、職場の開発PCより非力ですが、省電力が売りで、個人では十分だと思います。 なお、セットアップ時にAOSSによるWiFi接続がうまく…

NuGet Local Package Sourceを使って分かってきたこと

VS2013.5/NuGet 2.8.6 tmori3y2.hatenablog.com 自家製NuGet Packageを活用できないかを模索中。 取りあえずゼロからのスタートなので、NuGet Packageプロジェクトのコードだけをソースコード管理ツールのリポジトリに入れて、開発者のローカルフォルダに自…

注文したPCが日本へ船出

tmori3y2.hatenablog.com 新しいPCが待ち遠しい。 「お、4/23?来週の土曜日かな?」 「あれ?どっちだ・・・」 まあ、GWには間に合いそうで良かった。

自家製NuGet Packageのバージョンを下げたらハマった話

NuGet specコマンドで作成された.nuspecファイルのプレースホルダをAssemblyInfo.csの属性で置き換える方法でパッケージを作成する時に、うっかり1.0.0.0のままでパッケージを作成しまう事が良くある。 「なんとなくそれなりの機能実装されるまでは、0.x.x.x…

仮想環境のWindows Update後にVS2013が必ずクラッシュするようになったので差分ディスクを削除してすぐに復旧させた

ホストOS: Windows 7 Professional 64bits 仮想化ソフト: Oracle VirtualBox 5.0.14 ゲストOS: Windows 8.1 Pro 64bits 開発環境: Visual Studio 2013 Update 5 (ゲストOSにインストール) 出社して、しばらく保留していた開発環境のWindows Updateを実行した…

2 in 1のDell Inspiron 13を買いました

6年近く使った自宅のノートPCが遅いので、先ほどDellのダイレクトサイトで2 in 1のInspiron 13をポチっとしたのでご報告。 www.dell.com Core i7-6500U 8GB Memory 256GB SSD Windows 10 Pro Office Personal Premium 兎に角、自宅も仕事もまだWindows 7なの…

MSBuildのインラインタスクで.nuspecファイルを加工してみた

tmori3y2.hatenablog.com 前回は、自作のNuGet Packageをパックして、ローカルパッケージソースに配置するまでを半自動化するMSBuild Targetを作りました。 しかし、まだまだ不満があります。 プレースフォルダ$copyright$が.nuspecファイルのテンプレートで…

SSH Keyを設定してGitHubでアカウント名とパスワードの入力を省く

Git

tmori3y2.hatenablog.com ちょっとずつですが、過去記事のコードを上げていますが、毎回アカウント名とパスワードを入力するのがめんどうなので、SSH Keyを設定してみました。 最初は、こちらの記事を参考にしました。 github.com TortoiseGitのPuTTYgenを起…

gist-itでgithubのソースコードを直接ブログに貼り付けてみた

こちらを参考にしました。 taturou.hatenablog.com 次の二つの記事のソースコードをgithubに上げて、コードブロックをgist-itに置き換えてみました。 tmori3y2.hatenablog.com tmori3y2.hatenablog.com github.com 「行番号指定でもいけるのが良いですね・・…

Xamarinの影響なのかMSDNサブスクリプション関係の記事へのアクセス数が一番多い

ytabuchi.hatenablog.com いよいよ、ゴールデンウィーク明けに職場のライセンスがVisual Studio 2013 Professional (VL)から、Visual Studio 2015 Professional with MSDNに切り替わります。 Xamarinを仕事で直ぐに使うとは思えないけど、技術調査というふれ…

MSBuild Targetを一括インポートしてオプションでアセンブリ/ツール/コンテンツのNuGet Packageを作成するMSBuild TargetのNuGet Packageを作った

tmori3y2.hatenablog.com 前回は、一つのMSBuild TargetをインポートするMSBuild TargetのNuGet Packageを作ったが、元々一番やりたかったのは、アセンブリ/コンテンツのNuGet Packageを作成するMSBuild TargetをインポートするNuGet Package・・・ 「相変わ…

GitHub始めました

tmori3y2.hatenablog.com ソースを上げました。 GitHub - tmori3y2/BlogSamples at Article_20160321: My blog articles Gitは、まだTortoiseGitを自宅でチョロッと使っているぐらいです。 実名とメインアドレスでコミットしてしまっていたりしたので、2回く…

Gist貼り付けで古いリビジョンを貼り付けてみた ~ Gist始めました

staff.hatenablog.com Gistを始めました・・・ 取りあえず前回の記事のMSBuild Targetの一部を張り付けてみることにした。 tmori3y2.hatenablog.com MSBuildTasks.ImportTasks.props [https://gist.github.com/b5fc4c37812ced105ca1:embed#Automatic importe…

OnBuildを参考に.csprojにインストールしたMSBuild TargetをImportするMSBuild TargetのNuGet Packageを作った

2016/03/24追記 2016/03/26 Gist参照 ちょっと、タイトルが良くわかんないかもしれませんが、暫しお付き合いを・・・ この1週間、仕事で疲れた体に鞭を打って、布団の中でウトウトしつつ、MSBuild TargetとNuGetのMSBuild Target展開と格闘していた。 元ネタ…

Code AnalysisのCA1702/1704/1707/1709を消す方法

2016/08/05 追記: ここにある方法で2文字の頭文字の警告は消せなくなってしまった模様。 tmori3y2.hatenablog.com 前回は、.NET FrameworkやNuGet Packageなどで使用されているが、デフォルト辞書ではNGとなっている綴りは、抑制するのではなく、プロジェク…

名前空間に使用するMvvmがCA1704:IdentifiersShouldBeSpelledCorrectlyの指摘を受けないようにカスタム辞書を定義する

tmori3y2.hatenablog.com に書いたように、Code Analysisは命名規則のチェックも行う。 これで良くあるのが、特定分野で一般的と思われる頭文字がデフォルト辞書に登録されておらず、 CA1704: 識別子は正しく入力されなければなりません の指摘を受けること…

初心者が悩んだOxyPlotによるLineSeriesの描画とWPFコントロールのStyleの継承

インフルエンザや風邪は、まだまだ流行っているようです。皆さんもお気をつけてください。 tmori3y2.hatenablog.com さて、XYデータでX軸の重複チェックが出来るようになると、Chartを描いてみたくなる。 IoTも見こして、将来的にはセンサデータなどのリアル…

ホストOSに開発ツールをインストールしないという選択肢

tmori3y2.hatenablog.com 今、MSDN OSを使用しているのは、 Visual Studio with MSDNが比較的高かった 相対的にMSDN OSが安かった プロジェクトで採用するVisual Studioのアップデートが見送られていた 並行開発している複数製品向けのコンポーネントを開発…

MSDNのボリュームライセンス価格比較

tmori3y2.hatenablog.com Microsoft Visual Studio Software - Microsoft Store Microsoft Store (1年)だと、めちゃくちゃ高いMSDNライセンスも、ボリュームライセンスでは複数年契約で安くなる。 MSDNを個人で買う気は無いが、次購入するノートPCで仮想環境…

書籍購入:Windows 10 IoT関連他

先日、嫁さんの実家に言ったら、義父が 「Raspberry Pi Zeroって知ってる!! $5なんだって!!」 と興奮した様子。 「Raspberry Pi2 Model BがWindows 10 IoTで動くみたいなので、実は最近調べ始めたところだから、うわさには聞いてますよ」 Zeroは、Window…

満を持しOfficeの大量契約で下がりに下がったVisual Studio Professional with MSDNへお引っ越し

Compare Visual Studio 2015 Offerings 「昔はMSDN版のVisual Studioは非常に高かったし」 「ソフトウェア専業メーカーじゃないし」 「ソフトウェア単独では原価償却が無理だし」 ということで、MSDN版は使えなかった。 とは言え、世間一般的にライセンス違…

ReactivePropertyのCountNotifierを再入防止に使用する

blog.okazuki.jp ReactiveProperty/CountNotifier.cs at master · runceel/ReactiveProperty · GitHub 「特徴的なのは、IncrementメソッドとDecrementメソッドが返すIDisposableをDisposeすることで、インクリメントやデクリメントの逆が実行されて値がもと…

初心者が迷ったReactiveCollectionとDataGridの重複値のチェック~リターンズ2

2016/12/05 注記 この記事のModelのコレクションをReactiveCollectionで実装する方法には、問題があります。 理由は、Schedulerのデフォルトの動作で、ReactivePropertyはViewへの更新のみがRenderingスレッドで実行されるのに対して、ReactiveCollectionのA…

初心者が迷ったReactiveCollectionとDataGridの重複値のチェック~リターンズ

2016/12/05 注記 この記事のModelのコレクションをReactiveCollectionで実装する方法には、問題があります。 理由は、Schedulerのデフォルトの動作で、ReactivePropertyはViewへの更新のみがRenderingスレッドで実行されるのに対して、ReactiveCollectionのA…

初心者が迷ってるReactiveCollectionとDataGridの重複値のチェック

2016/12/05 注記 この記事のModelのコレクションをReactiveCollectionで実装する方法には、問題があります。 理由は、Schedulerのデフォルトの動作で、ReactivePropertyはViewへの更新のみがRenderingスレッドで実行されるのに対して、ReactiveCollectionのA…

サクッと自家製NuGetを作ってReacitiveCollectionを使用したプロジェクトに機能を追加する

良く使用するヘルパークラスやXAMLのスタイルはNuGet Packageにしておくと便利です。 今回は、Viewで使いまわせる以下のヘルパークラスやコンテンツを含むパッケージを作成してみました。 Window Close前に編集中のコントロールの強制評価をしてエラーをブロ…

internal/privateフィールドの命名法は宗教論争?

C#

tmori3y2.hatenablog.com 共通言語仕様 (Common Language Specification)の準拠が極力求められるpublic/protectedメンバーと違い、internal/privateメンバーは内部で閉じているので、CLSを意識する必要はない。 もっとも、C#、VB.NET、C++/CLIなど、複数の言…

初心者が迷ったReactiveCollectionとDataGridのエラーと変更フラグの集計

2016/12/05 注記 この記事のModelのコレクションをReactiveCollectionで実装する方法には、問題があります。 理由は、Schedulerのデフォルトの動作で、ReactivePropertyはViewへの更新のみがRenderingスレッドで実行されるのに対して、ReactiveCollectionのA…

async/awaitに見る同期/非同期とblocking/non-blocking

C#

シングルスレッドやマルチスレッドプログラミングで、同期/非同期と共に良く目にするキーワードに、blocking/non-blockingがある。 組み込み屋には、blocking/non-blockingの方が馴染みがあって、 「なんとなく同期 = blocking」 「non-blockingは直ぐに制御…

CA1014: Mark assemblies with CLSCompliantAttributeはどんな意味があるか?

(2016/02/13訂正) (2016/02/25追記) (2016/03/12追記) CA1014: Mark assemblies with CLSCompliantAttribute VS2013などで、Code Analysisを有効にして、Microsoft All Rulesでチェックすると大体必ず出る警告がこれ・・・ 「CLS Compliantって何?」 て人も…

マイコード以外にステップインする方法

マイコードは、主に自分の開発しているデバッグ版のアセンブリを指しており、デフォルトではNuGet Packageや.NET Frameworkのアセンブリにステップインすることはありません。 .pdbファイルが入手できるアセンブリやソースが入手できるもの、.NET Framework…

コンテキストについて調べてみた

C# OS

(2016/02/14 リンクミス修正) いろいろ、調べていたら2日ほど更新が止まってしまいました・・・ 内容は素人の書いている内容なので保証しません・・・ ちょっと恥ずかしいことも書いちゃうかもしれない。 今、やりたいのはC#でそれなりに保守が容易な複数ス…

初心者が迷ったSystem.Windows.Interactivityの困ったちゃん二連発

Blend SDKのSystem.Windows.Interactivityにはお世話になっています。 イベントをコマンドに変換するときは、 xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" とか、 xmlns:i="clr-namespace:System.Windows.Interactivity;assembly…

C#でも最後の砦はアセンブリコード

今VS2013ですが、昔からデバッガでは、アセンブリコードでもデバッグ出来ました。 「もちろん、C#でも!!」 「.pdb入手してMyCode以外もデバッグ出来るようにしたら、ランタイムやOSSのライブラリもデバッグ出来ますよ」 「まあ、普通にC#でデバッグしても良…

初心者が迷ったNuGet Packageのバージョンを下げたらapp.configを掃除しなければイケナイという話

blog.okazuki.jp かずき大先生にお願いして、新しいバージョンをリリースしていただきました。 新しいメソッドの使用例は、私の過去のブログの記事をご覧ください。 今回は、アセンブリのBinding Redirectの話です。 さて、ReactiveProperty 2.5のリリース前…

初心者が迷った流すべきものを流さない時はラムダ式に入れないとイケナイという話

tmori3y2.hatenablog.com Observableに変えていく Observableじゃないメタデータバージョン ReactivePropertyなメタデータバージョン メタデーターは、どうせSetValidateNotifyError()まで流せないので、ReactivePropertyでラムダ式に埋め込む LINQを書きや…

初心者が迷ったReactivePropertyを使用したModelのDirtyフラグ

大した説明もなく、さらっとIsDirtyをコードに紛れ込ませていましたが、元ネタはかずき大先生のこちらの記事。 blog.okazuki.jp ReadOnlyReactivePropertyじゃなくして、クリアをIsDirty.Value = falseで出来るように端折っています・・・ tmori3y2.hatenabl…

最近はクラウドコンピューティングの基盤技術でのFPGAの利用が進んでいるらしい

電気/FW技術者からSW技術者に転向してきて早や10年以上経つ。 10年前と言うと、FPGAの価格が急激に下がってきたものの、まだ割高感があって、少なくとも自分の仕事では手が出せなかった記憶がある。 しかし、それまで高価だったシミュレータや検証ツールに、…

初心者が迷ったReactivePropertyを使用した通知サイクルの改良と再入ブロック処理

(2016/02/07)ReactiveProperty 2.5で再入ブロックが不要になったので、追記したコメントを書き換えました。 tmori3y2.hatenablog.com 改良型の数値型のReactiveProperty+MVVMパターンでは、以下の通知サイクルが回るようになっています。 M→VM(→V)→VM Model…

初心者が迷ったReactivePropertyを使用した数値型のView Modelの通知サイクルの改良

tmori3y2.hatenablog.com 前回のSubscribe()の実装の補足です。 今扱っているのは、表示や有効数字は小数点以下の桁数が決まっているけど、小数点以下の省略した0や、入力時の余計な0は良きに計らってくれるという、何とも贅沢なGUIの例です。 しかし、数値…

初心者が迷ったReactivePropertyを使用した数値型のView Model

tmori3y2.hatenablog.com Modelが出来たら、いよいよView Modelです。 さて、ここまで書いて、WPF+MVVM+ReactiveProperty+Rx+LINQがどれも始めて半年程度の自分が、LINQ式の中にObservableなメタデータを埋め込んでいくところで罠にはまりまくったことが段々…

初心者が迷ったReactivePropertyを使用した数値型のModel

tmori3y2.hatenablog.com 前回は、TextBoxの文字列を数値型に変換するときにdecimalで一旦受けると良いという話をした。 変換とチェックの拡張メソッドを作っておくのが無難 入力するデータはdecimalで一旦受けることを検討 整数は小数点以下の桁数が0のdeci…

初心者が迷ったReactivePropertyを使用した数値型の処理

tmori3y2.hatenablog.com Modelの型が数値型のプロパティは、TextBoxにバインドするときにはView Modelで文字列型に変換するという話をしました。 しかし、単純に、数値型といっても整数型、浮動小数点型、固定小数点型など、いろいろある。 組み込み型の一…

初心者が迷ったReactivePropertyを使用したView Modelの設計

ReactivePropertyは、 データソースのデータ型(DTO: Data Transfer Object) それに毛(INortifyPropertyChanged)が生えた程度のPOCO (Plain Old CLR Object) との相性が抜群な上、 Rxで処理を記述出来る ので、複雑でない場合はView Modelでの実装が中心にな…