{"id":5111,"date":"2016-01-20T08:15:43","date_gmt":"2016-01-20T08:15:43","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/dotnet\/2016\/01\/20\/the-week-in-net-1192016\/"},"modified":"2021-09-30T13:58:13","modified_gmt":"2021-09-30T20:58:13","slug":"the-week-in-net-1192016","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/dotnet\/the-week-in-net-1192016\/","title":{"rendered":"The week in .NET &#8211; 1\/19\/2016"},"content":{"rendered":"<p>To read last week&#8217;s post, see <a href=\"http:\/\/blogs.msdn.com\/b\/dotnet\/archive\/2016\/01\/12\/the-week-in-net-1-12-2015.aspx\">The week in .NET &#8211; 1\/12\/2016<\/a>.<\/p>\n<h2><a id=\"user-content-onnet\" class=\"anchor\" href=\"#onnet\"><\/a>On.NET<\/h2>\n<p>Last week, we had <a href=\"https:\/\/www.youtube.com\/watch?v=B0yWmVL8hF0\">Jonathan Chambers on the show to talk about Unity<\/a>. This week, we&#8217;ll have <a href=\"https:\/\/en.wikipedia.org\/wiki\/Don_Syme\">Don Syme<\/a>, and <a href=\"https:\/\/www.youtube.com\/watch?v=aWnmzrCvTbg\">we&#8217;ll talk about F#<\/a>.<\/p>\n<h2><a id=\"user-content-package-of-the-week-1-nats-client\" class=\"anchor\" href=\"#package-of-the-week-1-nats-client\"><\/a>Package of the week #1: NATS client<\/h2>\n<p>Microservices and IoT both require distributed architectures where a large number of endpoints communicate fast and reliably. <a href=\"http:\/\/nats.io\">NATS<\/a> is a popular high-performance cloud-based messaging system that is an excellent fit for such scenarios. The .NET client for <a href=\"http:\/\/nats.io\">NATS<\/a> can publish over 3 million messages per second (and that&#8217;s in a VM, on a developer laptop).<\/p>\n<p>Here&#8217;s how you&#8217;d send a simple object on the message bus, with a subject \u201cfoo\u201d:<\/p>\n<p><script src=\"https:\/\/gist.github.com\/bleroy\/df2b3d46a18146a561c6.js\"><\/script><\/p>\n<p>Other actors can asynchronously subscribe to the same subject and process objects:<\/p>\n<p><script src=\"https:\/\/gist.github.com\/bleroy\/40b1953dd6940b2493a0.js\"><\/script><\/p>\n<p>You can read more about the NATS .NET client in <a href=\"http:\/\/nats.io\/blog\/nats-in-dotnet\/\">NATS In Microsoft .NET<\/a>.<\/p>\n<h2><a id=\"user-content-package-of-the-week-2-verbalexpressions\" class=\"anchor\" href=\"#package-of-the-week-2-verbalexpressions\"><\/a>Package of the week #2: VerbalExpressions<\/h2>\n<p>Regular expressions are hard to write, read, and debug: they&#8217;re a terse, but powerful DSL. <a href=\"https:\/\/github.com\/VerbalExpressions\/CSharpVerbalExpressions\">VerbalExpressions<\/a> is a library that makes it possible to write regular expressions using a more expressive syntax:<\/p>\n<p><script src=\"https:\/\/gist.github.com\/bleroy\/fa1520b664f15d3db8e0.js\"><\/script><\/p>\n<p>You are still using and running regular expressions, but your code is a lot easier to understand.<\/p>\n<h2><a id=\"user-content-vs-plugin-of-the-week-alive\" class=\"anchor\" href=\"#vs-plugin-of-the-week-alive\"><\/a>VS plugin of the week: Alive<\/h2>\n<p><a href=\"https:\/\/comealive.io\/\">Alive<\/a> is a very cool Visual Studio extension that lets you visualize the effects of your code as you are typing it.<\/p>\n<p style=\"text-align: center;\"><iframe width=\"560\" height=\"315\" src=\"https:\/\/www.youtube-nocookie.com\/embed\/PZni_54s0o4?rel=0\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n<h2><a id=\"user-content-user-group-of-the-week-dotnet-miami\" class=\"anchor\" href=\"#user-group-of-the-week-dotnet-miami\"><\/a>User group of the week: dotNet Miami<\/h2>\n<p>Cecil Phillip is talking at the <a href=\"http:\/\/communitymegaphone.com\/ShowEvent.aspx?EventID=7411\">dotNet Miami user group on Thursday, January 21 at 6:30PM<\/a> about going beyond dependency injection with Autofac. The second talk of the night will be Camilio Sanchez on stress-free API integration.<\/p>\n<h2><a id=\"user-content-net\" class=\"anchor\" href=\"#net\"><\/a>.NET<\/h2>\n<ul>\n<li><a href=\"http:\/\/www.hanselman.com\/blog\/ASPNET5IsDeadIntroducingASPNETCore10AndNETCore10.aspx\">Introducing ASP.NET Core 1.0 and .NET Core 1.0<\/a> by Scott Hanselman.<\/li>\n<li><a href=\"https:\/\/joshvarty.wordpress.com\/2016\/01\/16\/learn-roslyn-now-part-16-the-emit-api\/\">Learn Roslyn now: the Emit API<\/a> by Josh Varty.<\/li>\n<li><a href=\"http:\/\/www.dotnetalgorithms.com\/2016\/01\/nbench-performance-testing-code-throughput\/\">NBench performance testing code throughput<\/a> by Andrea Angella.<\/li>\n<li>S\u00e9bastien Ros built <a href=\"https:\/\/github.com\/sebastienros\/vsconstructorfield\/releases\">a nice little VS extension<\/a> to help with the boilerplate associated with constructor dependency injection.<\/li>\n<li><a href=\"http:\/\/www.tomdupont.net\/2016\/01\/how-to-optimize-jsonnet-serialization.html\">How to optimize JSON.NET serialization performance<\/a> by Tom DuPont.<\/li>\n<li><a href=\"http:\/\/www.codeproject.com\/Tips\/1072041\/NET-Methods-Inlining-and-Loops\">.NET method inlining and loops<\/a> by Dmitry Orzhevsky.<\/li>\n<\/ul>\n<h2><a id=\"user-content-aspnet\" class=\"anchor\" href=\"#aspnet\"><\/a>ASP.NET<\/h2>\n<ul>\n<li><a href=\"https:\/\/docs.microsoft.com\/\">What&#8217;s New with ASP.NET MVC 6<\/a> by Ugo Lattanzi (video)<\/li>\n<li><a href=\"http:\/\/blogs.msdn.com\/b\/webdev\/archive\/2015\/12\/29\/using-asp-net-module-to-debug-async-calls.aspx\">Using an ASP.NET module to debug async calls<\/a> by Xing (Shin) Mao.<\/li>\n<li><a href=\"http:\/\/capesean.co.za\/blog\/asp-net-5-jwt-tokens\/\">Setting up ASP.NET v5 (vNext) to use JWT tokens (using OpenIddict)<\/a> by Capesean. <a href=\"https:\/\/jwt.io\/\">JWT Tokens<\/a> are an open industry standard RFC 7519 method for representing claims securely between two parties.<\/li>\n<li><a href=\"http:\/\/www.mikesdotnetting.com\/Article\/292\/configuring-sql-server-for-session-state-in-mvc-6\">Configuring SQL Server for session state in MVC 6<\/a> by Mike Brind.<\/li>\n<li><a href=\"http:\/\/blogs.taiga.nl\/martijn\/2015\/12\/10\/develop-reactjs-asp-net-web-api-apps-in-visual-studio-2015\/\">Develop ReactJS + ASP.NET Web API apps in Visual Studio 2015<\/a> by Martijn Boland<\/li>\n<li><a href=\"http:\/\/damienbod.com\/2015\/12\/05\/asp-net-5-mvc-6-file-upload-with-ms-sql-server-filetable\/\">ASP.NET 5 MVC 6 file upload with Sql Server FileTable<\/a> by Damien Bod<\/li>\n<li><a href=\"http:\/\/mikehadlow.blogspot.co.uk\/2016\/01\/running-kestrelhttpserver-on-linux-with.html\">Running the KestrelHttpServer on Linux with CoreCLR<\/a> by Mike Hadlow.<\/li>\n<\/ul>\n<h2><a id=\"user-content-f\" class=\"anchor\" href=\"#f\"><\/a>F#<\/h2>\n<ul>\n<li>The .NET Core Visual F# compiler <a href=\"https:\/\/github.com\/Microsoft\/visualfsharp\/pull\/850\">can now bootstrap the open source F# compiler<\/a>.<\/li>\n<li>Erico Sada <a href=\"https:\/\/twitter.com\/VisualFSharp\/status\/684470596810358785\">added preliminary support<\/a> for F# in the new <a href=\"https:\/\/github.com\/dotnet\/cli\">dotnet CLI<\/a>.<\/li>\n<li>Don Syme is working on <a href=\"https:\/\/github.com\/Microsoft\/visualfsharp\/pull\/853\">merging part of the F# Compiler Service<\/a> into the Visual F# compiler repo.<\/li>\n<li><a href=\"https:\/\/suave.io\/\">Suave<\/a>, a lightweight F# web development library, has reached <a href=\"https:\/\/github.com\/SuaveIO\/suave\/releases\/tag\/v1.0.0\">v1.0<\/a>.<\/li>\n<li><a href=\"https:\/\/www.dotnetrocks.com\/?show=1240\">Rachel Reese discusses building functional microservices<\/a> on the .NET Rocks podcast.<\/li>\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=gwWS1e0f-L0&amp;list=PLE7tQUdRKcybh21_zOg8_y4f2oMKDHpUS&amp;index=20\">Building Concurrent, Fault-tolerant, Scalable Applications in F# with Akka.NET<\/a>, by Riccardo Terrell.<\/li>\n<li><a href=\"http:\/\/reidev275.github.io\/ReducingDeveloperFriction\/#\/\">A Developer&#8217;s Journey from OO to Functional<\/a>, by Reid Evans.<\/li>\n<li><a href=\"http:\/\/fsharpforfunandprofit.com\/cap\/\">Designing with Capabilities<\/a>, by Scott Wlaschin.<\/li>\n<li><a href=\"https:\/\/blogs.msdn.microsoft.com\/mvpawardprogram\/2016\/01\/05\/freeing-your-azure-data-with-f-type-providers\/\">Freeing Your Azure Data with F# Type Providers<\/a>, by Isaac Abraham.<\/li>\n<\/ul>\n<p>Check out <a href=\"https:\/\/sergeytihon.wordpress.com\/category\/f-weekly\/\">F# Weekly<\/a> for more great content from the F# community.<\/p>\n<p>And this is it for this week!<\/p>\n<h2><a id=\"user-content-contribute-to-the-week-in-net\" class=\"anchor\" href=\"#contribute-to-the-week-in-net\"><\/a>Contribute to the week in .NET<\/h2>\n<p>As always, this weekly post couldn&#8217;t exist without community contributions, and I&#8217;d like to thank all those who sent links and tips. You can participate too. Did you write a great blog post, or just read one? Do you want everyone to know about an amazing new contribution or a useful library? We&#8217;d love to hear from you, and feature your contributions on future posts:<\/p>\n<ul>\n<li>Send an email to beleroy at Microsoft,<\/li>\n<li><a href=\"https:\/\/gist.github.com\/bleroy\/79460b60dde3fdf87adf\">comment on this gist<\/a><\/li>\n<li>Leave us a pointer in the comments section below.<\/li>\n<\/ul>\n<p>This week&#8217;s post (and future posts) also contains news I first read on <a href=\"http:\/\/www.asp.net\/\">ASP.NET&#8217;s community spotlight<\/a>, on <a href=\"https:\/\/sergeytihon.wordpress.com\/category\/f-weekly\/\">F# weekly<\/a>, on <a href=\"http:\/\/www.aspnetweekly.com\/\">ASP.NET Weekly<\/a>, on <a href=\"http:\/\/www.dirkstrauss.com\/the-daily-six-pack\/\">Dirk Strauss&#8217; The Daily Six Pack<\/a>, and on <a href=\"http:\/\/themorningbrew.net\/\">Chris Alcock&#8217;s The Morning Brew<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>To read last week&#8217;s post, see The week in .NET &#8211; 1\/12\/2016. On.NET Last week, we had Jonathan Chambers on the show to talk about Unity. This week, we&#8217;ll have Don Syme, and we&#8217;ll talk about F#. Package of the week #1: NATS client Microservices and IoT both require distributed architectures where a large number [&hellip;]<\/p>\n","protected":false},"author":347,"featured_media":58792,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[685],"tags":[4,51,153],"class_list":["post-5111","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dotnet","tag-net","tag-community","tag-week-in-net"],"acf":[],"blog_post_summary":"<p>To read last week&#8217;s post, see The week in .NET &#8211; 1\/12\/2016. On.NET Last week, we had Jonathan Chambers on the show to talk about Unity. This week, we&#8217;ll have Don Syme, and we&#8217;ll talk about F#. Package of the week #1: NATS client Microservices and IoT both require distributed architectures where a large number [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/5111","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/users\/347"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/comments?post=5111"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/5111\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media\/58792"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media?parent=5111"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/categories?post=5111"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/tags?post=5111"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}