nuits.jp blog

C#, Xamarin, WPFを中心に書いています。Microsoft MVP for Development Technologies。

世界一わかりやすいClean Architecture

本稿は「Visual Studio Users Community Japan #1」で登壇させていただいた内容の解説記事になります。 vsuc.connpass.com 本稿のスライドはこちら。 世界一わかりやすいClean Architecture from Atsushi Nakamura www.slideshare.net 本稿のサンプルコード…

はじめてのChocolatey

LinuxやmacOSではそれぞれapt-getやhomebrewのようなパッケージマネージャーが提供されており、開発ツールのインストールなどはコマンドラインから行うのが一般的です。 対してWindowsではGUIから行われることが多いのですが、GUIからの操作は環境構築の再現…

Azure FunctionsでAzure BLOB Storageを扱う際のポイントメモ

基本自分用メモ。

【移転しました】【ハンズオン】.NET FrameworkのWPFを.NET Core 3.0にマイグレーションしてみよう!

こちらを参照ください。 github.com

.NET Core 3.0の次のバージョンは.NET 5になりOne .NETへ。Core 3.0を含むロードマップも公開

ソースはこちら。 Introducing .NET 5 | .NET Blog .NET Core 3.0の、その次のバージョンは.NET 5になり、ひとつの.NETとして統一されるそうです。 これはMonoが無くなるという意味ではなく、棲み分けるという意味のようです。 Mono ⇒ 高速起動、低フットプ…

Visual Studio 2019で始める「WPF on .NET Core 3.0」開発 というタイトルで登壇してきました

「Visual Studio 2019 Launch Event in Tokyo.」で、Visual Studio 2019で始める「WPF on .NET Core 3.0」開発 というタイトルで登壇してきました。 資料はこちら Visual Studio 2019で始める「WPF on .NET Core 3.0」開発 from Atsushi Nakamura www.slides…

GitHubのReleaseのダウンロード数をカウントする

私の自慢のCopy to Markdown Add-Inは3,331ダウンロードされているようです。ヘヘヘ。 GitHub APIを利用して、GitHubのリポジトリのreleaseで公開しているモジュールのダウンロード数をカウントします。 gist.github.com GithHub APIの使い方についてはこちらを…

GitHubの自分のリポジトリへの特定期間のコミット数をカウントする

GitHub APIとJSON.NETを使ってこんな感じに書けば行けます。 gist.github.com GithHub APIの使い方についてはこちらを参照ください。 www.nuits.jp

GitHub APIを利用する

GitHubでは様々なAPIがRESTで公開されています。 developer.github.com ドキュメントも充実しているのですが、とっかかりが自分は理解しにくかったので簡単にメモしておきます。

Visual Studio CodeのTerminalからdotnetコマンドが見つからない場合

.NET Core SDKをインストールしてもVS Codeのターミナルからdonetコマンドが見つからず、実行できないことがあります。 そんなときはPCを再起動すると直るかもしれません。私は直りました。 github.com

WPFでHoge.Focus()を読んでもフォーカスが当たらない場合

Dispatcher.BeginInvokeを介して呼び出すと期待通り動作することがあります。 ↓のような感じで。 Dispatcher.BeginInvoke(new Action(() => { MyTextBox.Focus(); MyTextBox.SelectAll(); }));

Xamarin.Forms.BehaviorsPack 2.1.0をリリースしました。

Xamarin.Forms.BehaviorsPack 2.1.0をリリースしました。 www.nuget.org 対応内容は以下の通りです。 Xamarin.Forms 3.5.0へ対応 Xamarin.Forms 3.5.0で追加されたUIコントロールのイベントにCommandをバインドできるよう機能追加 以上です。

Visual Studio 2019でBlend for Visual Studio SDK for .NETを使う方法

本稿は2019年2月10日現在の情報です。随時変更されると思います。 16.0.0 Preview 2.2時点ではVisual Studioからインストールすることができない 公開インストーラーは4.0までしかない NuGetには個人が公開したものしかなくライセンスが不明瞭(物は正規のも…

Visual Studio 2017でBlend for Visual Studio SDK for .NETを使う方法

インストーラーを起動して個別コンポーネントからインストールします。 個別コンポーネントの中の「SDK、ライブラリ、およびフレームワーク」の中の「Blend for Visual Studio SDK for .NET」をインストールする つぎのパスにインストールされるので、必要な…

SimpleInjector.Extras.DynamicProxy 1.2.0をリリースしました。

SimpleInjectorでDynamicProxyを使って手軽にAOPするための拡張ライブラリを更新しました。 更新内容は次のとおり。 .NET Framework 4.5のサポート追加 ライブラリの詳細は以下をご覧ください。 www.nuits.jp

XAMLでstaticなプロパティをバインドする

いつも忘れて過去のコードを探しに行くのでメモを。

ASP.NET CoreでSimpleInjectorを利用する

ASP.NET Coreには標準でDIの仕組みは用意されているのですが、他のプラットフォームとのアーキテクチャの統合を考えた場合、ASP.NET Core上でしか動かないDI Containerを利用するより、サードパーティのContainerを利用したいというのは十分考えられるシナリ…

Outlookでデフォルトのアドレス帳を変更する

アドレス帳が複数あって、標準で選択されているものに不都合がある場合の変更方法です。

XAMLアーキテクチャ ViewModel Class(≠Role)不要論

これはXamarin Advent Calendar 2018の22日目の記事…のつもりでしたが一日勘違いして一時間半程間に合いませんでした。埋めていただいた方、ありがとうございました。すいません。 さて内容はちょっとはみ出してWPFやUWPといったXAMLを利用するUIフレームワ…

Copy to Markdown Add-In 2.1.1.0をリリースしました(バグフィックス含む)

Copy to Markdown Add-In 2.1.1.0をリリースしました。 https://github.com/nuitsjp/CopyToMarkdownAddIn/releases/tag/Release-2_1_1_0 一旦、「設定」の「アプリ」から古いバージョンをアンインストールして、最新版をインストールしてください。 再インス…

継続的にテスト可能な設計を考える

本エントリーは大本は.NET Conf 2018 Tokyo, Japanの発表内容を記事としてまとめたものになります。参考によかったらご覧ください。 なお本セッションのソースコードはこちらのGithubに https://github.com/nuitsjp/Continuous-Testable-Design スライドはこ…

人に投資するって、金をつぎ込めばいい訳じゃないよね?って話

ふと思い出したので、ポエムを書きたくなった。

「SIerは減らす為に解雇規制の緩和が必要」の「はてブ」への回答

先日、つぎの記事を公開しました。 www.nuits.jp 多くの方に読んでいただき、書いた甲斐がありました。さて、多くの方に読んでいただけたのは良いのですが、言いたいことが正しく伝えられていない点が多数あったようです。そこで本稿では、はてなブックマー…

SIer社員が「SIerは減らすべきだと思うが、その為には解雇規制の緩和が必要」と考える理由

正確には 請負契約を減らして内製を増やすべきだ 内製を増やすための「一つの手段として」解雇規制の緩和が必要だ と言う事です。内製化が解雇規制を緩和だけで実現できるとは思っていません。 本稿は主に私の実体験の上に成り立っています。異論・反論ある…

INotifyPropertyChangedをFody使って実装する:VS4Mac編

なんか20番煎じくらいな気がしますが、INotifyPropertyChangedを実装しようとするとフィールドやプロパティや変更通知やら、諸々実装が大変だ!というのがありますよね。これの簡単な解決策としては大きく二つはあると思っています。 ReactivePropertyを利用…

ハンズオンで裏表 色違いのカードで進捗表示してもらったら便利だった件の詳細

先日、Prism for Xamarin.Formsのハンズオンを開催しました。このハンズオン自体は実は2回目で、以前Infragisticsさんと共催で1回目を実施しています。 その際に、全員の進捗状況の把握が困難だという問題に気が付きました。そこで今回は、以下のような裏表…

Essential PhoneなどでAndroid Pインストール後、緊急速報メールをOFFにする方法

2018年8月14日現在、次の条件を満たすと緊急速報メールが鳴りやまない状態になります。 Android Pをインストールする AU系のSIM(UQ Mobileなども含む)を刺している 地震や災害とは無関係な、ニュース速報レベルのものまで、緊急速報メールとして大音量で通…

なにもしてないのにEssential Phoneが5日でこわれました

Excel⇔Markdownで双方向にコピペできるExcelアドイン CopyToMarkdown 2.1.0.0をリリースしました

Excelのテーブルを利用していた場合に、Markdownにコピーできない事象があったようで、それに対応したプルリクをいただきました! tomatosumさんさん、ありがとうございました。 今回の変更は以下の二点です。 Excelのテーブルオブジェクトからもコピーでき…

メモ:個人用OneDriveとOffice 365の文書共有における権限管理の相違およびWin/Macの相違について

とりあえず自分の検証目的の結果をまとめると 長期的にそれなりの量のドキュメントを共有する 複数人で共有し、メンバーの入れ替わりはある ゲストを招待したい場合もある Webブラウザ操作だけではなく、ローカルファイルシステムと同期したい WindowsとMac…