つばろぐ

主に C#, .NET, Azure の備忘録です。たまに日記。

de:code2017に参加してきました

今年もde:codeに参加してきました。

de:code (decode) 2017 | 日本マイクロソフトの開発者/アーキテクト/IT Pro 向けイベント - Microsoft Events & Seminars

今年のde:codeはCognitive Servicesのような「AI」、HoloLensのような「MR (Mixed Reality)」をテーマとしたセッションが多かった印象です。
逆に言語系のセッション数が減っていましたね。Xamarinのセッションは多かったけども。

ということで備忘録として私が聴講したセッションをメモしときます。

day 0 (5/22)

今年は前夜祭として、Developers Summitとコラボしたイベントが前日に開催されました。
de:codeの事前受付もできるということで参加しました。

Developers Summit code your future ~エッジな技術領域とエンジニアのキャリアデザインについて語ろう~

day 1 (5/23)

  • [Keynote] The New Age of Intelligence
  • [TL02] “Shift Left” で問題の早期発見を実現する、最新 Visual Studio の品質チェック・テスト機能の使い方
  • [DO03] 50 分でわかるテスト駆動開発

ラスト2枠はブース出展の担当だったため不参加。

f:id:tech-tsubaki:20170527222430j:plain

参加者パーティ

抽選でBluetoothキーボードが当たりました。抽選番号は幸運にもマリアノ・リベラ「42」

de:codeのパーリィで当選したキーボードの開封の儀

day 2 (5/24)

  • [CT04] AI サービスの作り方、育て方
  • [MW05] その API、本当に大丈夫? ~ 公開前に知っておくべき API の保護と最適化 ~
  • [AC07] 米国マイクロソフト本社で体験したノウハウを伝授!マイクロサービス実行基盤Azure Service Fabricの勘所
  • [DI08] その情報うまく取り出せていますか? ~ 意外と簡単、Azure Search で短時間で検索精度と利便性を向上させるための方法
  • [AI09] いまさら聞けない、エンジニアのための機械学習のキホン
  • [TL13] Build 2017 Updates ~ Build/de:code 総括! テクノロジーとアプリ開発の最新動向

旅の〆

.NET Coreのプロジェクトをproject.jsonから.csprojに変換してみた

.NET Coreのバージョンについては難しくて有名です。いまだに私もよく分かっていません。

blog.shibayan.jp

yfakariya.blogspot.jp

そんな.NET Coreですが、1.0がリリースされて以降、プロジェクトを構成するファイルが project.json から .csproj に変更されました。
.NET Frameworkなプロジェクトでは .csproj ですので、もとに戻ったという感じですね。

project.jsonから.csprojに移行するのはさほど難しくないという記事をちらっと見た気がしたので実際に移行してみました。
各作業はGitHubにコミットとして残してありますので、併せて見て頂けるとイメージしやすくなるかもしれません。

project.json形式でプロジェクトを作成する

Visual Studio 2015にて project.json形式のプロジェクトを作成します。
今回はASP.NET Core 1.0 MVCのWebアプリケーションで試しました。

github.com

この段階ではプロジェクトの構成情報は.xprojファイル、NuGetパッケージに関する情報等はproject.jsonにて管理されています。

project.jsonから.csprojへの移行方法を確認する

公式ドキュメントを読みましょう。

docs.microsoft.com

ドキュメントによればVisual Studio 2017か、dotnet migrateコマンドを使いましょうとあります。
ということで手っ取り早くVisual Studio 2017を使って移行をやってみます。

Visual Studio 2017でプロジェクトを開く

Visual Studio 2015で作成したプロジェクトをVisual Studio 2017で開くと、下のような「プロジェクトをアップグレードするよ」という旨のダイアログが最初に表示されます。

f:id:tech-tsubaki:20170506205604j:plain

ちなみにこちらが全文となります。

一方向のアップグレード
Visual Studio は、次のプロジェクトを開くために機能的な変更を自動的に行います。プロジェクトの作成に使用したバージョンの Visual Studio では、プロジェクトを開くことができなくなります。
     - Project2Csproj, "D:\src\yuta\project2csproj\src\Project2Csproj\Project2Csproj.xproj"


非機能的な変更が必要です
Visual Studio は、次のプロジェクトに Visual Studio 2015、Visual Studio 2013、Visual Studio 2012、および Visual Studio 2010 SP1 で開くための非機能的な変更を自動的に加えます。プロジェクトの動作への影響はありません。
     - Project2Csproj, "D:\src\yuta\project2csproj\Project2Csproj.sln"


変更は必要ありません
これらのプロジェクトは、変更せずに Visual Studio 2015、Visual Studio 2013、Visual Studio 2012、および Visual Studio 2010 SP1 で開くことができます。
     - src, "src"
     - Solution Items, "Solution Items"

このダイアログで「OK」を押せば、プロジェクトの変換が行われ、project.jsonから.csprojに変わります。
移行が終わった時点のコミットはこちらです。

github.com

.xproj, global.json, project.jsonがなくなり、.csprojに集約された感じですね。
あとVisual Studioのバージョンがあがったことで .NET Coreのランタイムも1.0.1から1.0.4にアップグレードされてますね。

疑問

ところでcsprojに移行したことで、global.jsonで指定されていた .NET Core SDKのバージョンの記載がどこにも見当たりません。
csprojに<RuntimeFrameworkVersion>1.0.4</RuntimeFrameworkVersion>という指定があるため、このランタイムバージョンが利用できるSDKが勝手に指定されるイメージなのでしょうか?
ファイルを読み取る以上、このあたりがどう指定されていくのかがよく分からずじまい・・・。

f:id:tech-tsubaki:20170506211339j:plain

ちなみにランタイム1.0.4で利用できるSDKのバージョンは1.0.11.0.3となります。

github.com

Firefoxでdocs.microsoft.comが読みやすくなるアドオン「Redirector」が便利だった

昔、Google ChromeMSDNのドキュメントが読みやすくなる拡張機能を紹介しました。

tsubalog.hatenablog.com

Microsoftの技術ドキュメントは多言語対応されており、日本語で読むことができます。
たとえばdotnetのドキュメントは英語と日本語で読むことができます。

英語
.NET Documentation | Microsoft Docs

日本語
.NET ドキュメント | Microsoft Docs

ググったときに英語のほうのドキュメントが結果に載ることもよくありますが、すんなり読めるのは日本語のほうなので、URLを書換えて日本語ページに切り替えていました。

Chromeをメインで使ってた時期は前述の拡張機能でURLの書換え(=言語切替)ができていましたが、Firefoxでは相当するアドオンが見つからず手動での切り替えでドキュメントを読んでいました。

ところが先日「Redirector」というアドオンを見つけ、Firefoxでも自動での言語切替ができるようになりました。

addons.mozilla.org

要するにURLを書換えてリダイレクトしてくれるアドオンになります。 docs.microsoft.comの言語設定はURLで規則的に設定できるので、その部分を書き換えれば別の言語のドキュメントを表示することができます。

f:id:tech-tsubaki:20170503004518j:plain

上の画像では https://docs.microsoft.com/en-us/ へのアクセスに対して https://docs.microsoft.com/ja-jp/ にリダイレクトするような設定になっています。
これで英語版のドキュメントを開いても自動で日本語に訳されたページを表示することができます。

英語版を読みたい時にアイコンから設定を無効にしてあげればよいです。