Over the weekend our team got together and all attended the Twin Cities Code Camp together. It was a ton of fun and I have lots of new tech stuff to research. Here is a summary of my notes.
Unboxing ASP.NET Core
by Kevin Leung
@KSLHacks
“ASP.NET Core is a new open-source Web framework optimized for building cross-platform web apps, IoT apps and mobile backends. ASP.NET Core comes with great new features ready to use out of the box with minimal setup required! In this talk we’ll look at .NET Core, architecture, package management and how to begin weighing the options between choosing .NET Framework and .NET Core. I will also share my experiences and insights while working alongside the .NET Core team at Microsoft to port over an existing project from .NET Framework to .NET Core; as well as the challenges we faced. Core brings Microsoft into the exciting world of open-source, cross-platform and package modularity/portability – Let’s see what we can build!”
Notes:
- Git Hub .Net Core Repository: https://github.com/dotnet/core
- .Net Route Templating: https://docs.microsoft.com/en-us/aspnet/core/mvc/controllers/routing
- MS Docs .Net Core: https://docs.microsoft.com/en-us/dotnet/articles/core/index
- Bower: https://docs.microsoft.com/en-us/aspnet/core/client-side/bower
- Kestrel: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/
- David Fowler & Damian Edwards, ASP.Net Core 1.0 Deep Dive: https://vimeo.com/171995866
Building Reusable UI Components in ASP.NET Core MVC
by Scott Addie
@Scott_Addie
“ASP.NET proper MVC developers have long relied upon partial views and HTML helpers to construct reusable UI components. ASP.NET Core MVC expands the arsenal of options for creating such UI components by introducing view components and tag helpers. Do these new offerings render partial views and HTML helpers obsolete? Absolutely not! Using the right tool for the job is important, which means understanding the differences between these options is paramount. In this session, you’ll gain an understanding of when it’s most appropriate to use each of them in the real world. You’ll also see how to create basic view components and tag helpers.”
Notes
- Tag Helpers! https://scottaddie.com/2017/01/30/building-complex-ui-components-with-asp-net-core-mvc-tag-helpers/
- View Components: https://docs.microsoft.com/en-us/aspnet/core/mvc/views/view-components
- The goal of many of the new features is to eliminate the “@” syntax in Razor
- This extension provides support for ASP.NET Core Razor Tag Helpers in Visual Studio 2017.: https://marketplace.visualstudio.com/items?itemName=ms-madsk.RazorLanguageServices
Building Shiny Web Apps with TypeScript and Angular 2
by Dustin Ewers
@dustinjewers
“From humble beginnings, JavaScript has gone from a hastily thrown together language for web pages to a hastily thrown together language that runs everywhere. If you can do it with code, you can probably do it in JavaScript. It’s the Swiss Army Knife of programming languages. Unfortunately, JavaScript wasn’t designed for the large scale apps we use it in today. We’ve had to rely on design patterns, willpower, and luck to mitigate JavaScript’s failings. However, there is a better way. TypeScript adds features to JavaScript that make it usable on large projects. Additionally, the bar for web applications gets higher everyday. jQuery was cool ten years ago, but it doesn’t cut it for modern web apps. We need something with a little more horsepower. Angular 2 makes it easy to build clean, modular web apps. In this talk, we’ll explore TypeScript and Angular 2 and how they can be used together to build large-scale web applications. We will learn how to get started and get up to speed quickly.”
Notes
- Demo Code Repository & Slides: https://github.com/DustinEwers/shiny-angular-demos
- https://angular.io/
- https://angular.io/docs/ts/latest/tutorial/
- His .Net Core Angular example: https://dustinewers.com/angular-cli-with-net-core/
- AngularJS and Angular(2) are non compatible, 2 is a complete ground up rewrite
- If using Angular this Chrome Plugin is awesome: https://augury.angular.io/
Unit Testing for the Scared, Skeptical and Ashamed
by J Wynia
@jwynia
“Does the mention of the phrase “unit testing” make your “fight or flight” response kick in? Do you feel like the right time to get started unit testing was a while back and you missed the boat? Do you just have a hard time believing that writing unit tests won’t cut your development speed in half? Come learn about getting started unit testing in a judgement-free environment. Examples in C#, but applicable to other languages as well.”
Notes
- Slides: https://dl.dropboxusercontent.com/u/2041744/UnitTestingForTheScaredSkepticalAshamed.pdf
- NotificationService example starts on page 47
- Books that talk about either end of the learning spectrum: Talent is Overrated: What Really Separates World-Class Performers from Everybody Else & The First 20 Hours: How to Learn Anything . . . Fast!
- He mentioned this book as a good one on Unit Testing: The Art of Unit Testing: with Examples in .NET and/or The Art of Unit Testing: with examples in C#
- SOLID Principal: https://en.wikipedia.org/wiki/SOLID_(object-oriented_design)
- Each unit test must follow the “you only had one job” rule
- Make sure to use all different Assert types, Assert, StringAssert, CollectionAssert: https://msdn.microsoft.com/en-us/library/ms182530.aspx
- Moq: https://github.com/Moq/moq4/wiki/Quickstart
Cool SQL Server Features Everyone Should Know About
by David Berry
@DavidCBerry13
http://buildingbettersoftware.blogspot.com/
“We all use SQL Server every day in our jobs, so it pays to know what SQL Server can do for us that will make our jobs easier. This talk will introduce you to some key features of SQL Server that you might not know about but will definitely want to use once you learn about them. First, we’ll discuss temporal tables, which provide a convenient way to track all of the changes made to data in a table. Second, we’ll talk about the JSON support built into SQL Server 2016 and what capabilities it provides us. Third, we’ll cover some advanced SQL constructs like the MERGE statement and Common Table Expressions that can make the SQL you write simpler. And finally, we’ll wrap up by talking about the windowing functions in SQL Server, which provide powerful analytic capabilities to our SQL Statements. After this talk, you will better appreciate some of the rich functionality built into SQL Server and understand how to use these capabilities to make your job easier.”
Notes
- http://buildingbettersoftware.blogspot.com/
- Slides & Code Samples: https://github.com/DavidCBerry13/CoolSQLServerFeatures
- Page 7: “Using Merge to set Reference Data”
- Merge Statement
- Temporal Tables
- JSON Support
- Window (Analytic) Functions