都内で働くSEの技術的なひとりごと / Technical soliloquy of System Engineer working in Tokyo

都内でサラリーマンやってます。SQL Server を中心とした (2023年からは Azure も。) マイクロソフト系(たまに、OSS系などマイクロソフト以外の技術も...)の技術的なことについて書いています。日々の仕事の中で、気になったことを技術要素関係なく気まぐれに選んでいるので記事内容は開発言語、インフラ等ばらばらです。なお、当ブログで発信、発言は私個人のものであり、所属する組織、企業、団体等とは何のかかわりもございません。ブログの内容もきちんと検証して使用してください。英語の勉強のため、英語の

最近、.NET Framework 関連は全くといっていいほど触れていないので、.NET Framework 4.6 の内容を今さら感はありながらも参照してみる

blogs.msdn.com

 ということで、内容をさらりとみてみましょう。気になるところは、

RyuJIT

RyuJIT is the next generation Just-In-Time (JIT) compiler for .NET. It uses a high-performance JIT architecture, focused on high throughput JIT compilation. It is much faster than the existing JIT64 64-bit JIT that has been used for the last 10 years (introduced in 2005 .NET 2.0 release). There was always a big gap in throughput between the 32- and 64-bit JITs. That gap has been closed, making it easier to exclusively target 64-bit architectures or migrate workloads from 32- to 64-bit.

RyuJIT is enabled for 64-bit processes running on top of the .NET Framework 4.6. Your app will run in a 64-bit process if it is compiled as 64-bit or AnyCPU (although not as Prefer 32-bit), and run on a 64-bit operating system. RyuJIT is similarly integrated into .NET Core, as the 64-bit JIT.

We've used a transparent process over the last two years with RyuJIT. You've been able to read RyuJIT blog posts, try out several RyuJIT CTPs and (suprise!) can now read and contribute to the RyuJIT source code. Thanks to everyone who helped improve RyuJIT along the way to RTM. We fixed a lot of publicly-reported bugs and performance issues based on those CTP releases. It's been a pleasure for Microsoft engineers to adopt a more public development process with RyuJIT.

The project was initially targeted to improve high-scale 64-bit cloud workloads, although it has much broader applicability. We do expect to add 32-bit support in a future release.

 一年前くらいに記事にしてた RyuJIT。どの程度パフォーマンスが向上しているのでしょうか。 ryuchan.hatenablog.com

ADO.NET improvements

ADO .NET now supports the Always Encrypted feature available in SQL Server 2016. With Always Encrypted, SQL Server can perform operations on encrypted data, and best of all the encryption key resides with the application inside the customer’s trusted environment and not on the server. Always Encrypted secures customer data so DBAs do not have access to plain text data. Encryption and decryption of data happens transparently at the driver level, minimizing changes that have to be made to existing applications. You can learn more about this feature on the SQL Security Blog.

 Always Encrypted ですね。これは、SQL Server 2016 からの機能です。検証してみないと。

HTTP/2 Support (Windows 10)

HTTP/2 support has been added to ASP.NET in the .NET Framework 4.6. New features were required in Windows, in IIS and in ASP.NET to enable HTTP/2 given that networking functionality exists at multiple layers. You must be running on Windows 10 to use HTTP/2 with ASP.NET. HTTP/2 has not yet been added to ASP.NET 5.

HTTP/2 is a new version of the HTTP protocol that provides much better connection utilization (fewer round-trips between client and server), resulting in lower latency web page loading for users. Web pages (as opposed to services) benefit the most from HTTP/2, since the protocol optimizes for multiple artifacts being requested as part of a single request.

The browser and the webserver (IIS on Windows) do all the work. You don't have to do any heavy-lifting for your users.

Most of the major browsers support HTTP/2, so it's likely that your users will benefit from HTTP/2 support.

 HTTP/2 のサポートですね。Windows 10、IIS 10 からサポートされます。

Roslyn v1

The team is also releasing the v1 version of Roslyn, after working on it for ~ 6 years. Roslyn was considered an ambitious project from the beginning. It aimed to replace the black box native C++ based C# and VB compilers with .NET implementations (written in both C# and VB) that exposed a rich set of language, compiler and other APIs. The Roslyn v1 product that you can use today in Visual Studio 2015 delivers on that vision and has enabled great new development experiences in Visual Studio.

For a historical grin, you can check out the earlier blog post, Introducing the Microsoft “Roslyn” CTP. It's fun to look back at more humble beginnings.

To learn more about Roslyn, check out the Roslyn repo and the Roslyn Overview.

 コンパイラーがブラックボックス的に保持していた情報をAPI経由で取得可能になったのが、Roslyn です。勉強しないと。全然ついていけてない。ryuchan.hatenablog.com
ryuchan.hatenablog.com
ryuchan.hatenablog.com

Xamarin Starter Included in Visual Studio 2015

Xamarin is a great way to start building iOS and Android apps in C# or F# within Visual Studio. Microsoft and Xamarin have partnered together to include Xamarin Starter Edition as a free optional feature within Visual Studio 2015. Many .NET developers are using Xamarin to increase the reach of their apps and development effort to iOS and Android.

Xamarin really delivered by providing same-day Xamarin support for Visual Studio 2015 across all of their offerings.

To install Xamarin with Visual Studio 2015, select the Custom installation option. Select the displayed checkbox below.

 Xamarin Starter Edition がデフォルトで入っているですね。Xamarin のお勉強ができちゃうわけですね。

 あと、.NET オープンソースとか話題盛りだくさんです。うう、情報が多すぎて SQL Server な人にはちょっとキャッチアップが酷な状況です。何も検証してないから、内容もスカスカです。My LenovoWindows 10 にアップグレードしたら、Visual Studio 2015 にして勉強しようかな。Windows 10 まだふってこないけど。ryuchan.hatenablog.com
ryuchan.hatenablog.com
ryuchan.hatenablog.com

※VS1025関連書籍もありますね。

できるVisual Studio 2015 Windows /Android/iOS アプリ対応

できるVisual Studio 2015 Windows /Android/iOS アプリ対応

できるVisual Studio 2015 Windows /Android/iOS アプリ対応

できるVisual Studio 2015 Windows /Android/iOS アプリ対応