It is time to share new reading notes. It is a habit I started a long time ago where I share a list of all the articles, blog posts, and books that catch my interest during the week.
If you think you may have interesting content, share it!
5 Awesome C# Refactoring Tips (Milan Jovanović) - Refactoring is an important skill to have. Most code grow by patches and at some point it needs some help.
Hot Reload for C# Dev Kit (Mark Downie) - Wow! Things are evolving so fast, we pass from syntax highlighting from hot reload so fast!
Good Monday, Already time to share new reading notes. Here is a list of all the articles, blog posts, and podcast episodes that catch my interest during the week.
If you think you may have interesting content, share it!
ASP.NET Core CRUD with NoSQL: Part 2 (Matthew Groves) - In this second post of the series, we learn how to set an index and how to prepare our select to read our data.
An Introduction to JSON (Jack Wallen) - I thought it was a bit older than that. Nice post th o learn more about something we all use.
Preventing Developer Burnout in the Age of Rapid Software Delivery (James Brotsos) - This post is definitely interesting as it talks about a real health problem. at the same time there that mix with DevOps and security thing... Could be just me, interesting nevertheless.
I don't know for you but I share links/ URLs very often. And a lot of time it's from videos, so it needs to be short and easy to remember. Something like https://c5m.ca/project is better than a random string (aka. GUID). And this is how I started a project to build a URL Shortener. I wanted to be budget-friendly, easy to deploy and customizable.
In this post, I will share how I build it, how you can use it, and how you can help!
How I build it, with the community
This tool was build during live streams coding sessions on Twitch (all videos are in available in my YouTube archive). It's composed of two parts: a Serverless backend leveraging the Azure Function & Azure Storage, and a frontend of your choice.
The backend is composed of a few Azure Functions that act as an on-demand HTTP API. They only consume when they are called. They are in .Net Core, C# to be specific. When publishing this post, there are four functions:
UrlShortener: To create a short URL.
UrlRedirect: That's the one called when a short link is used. An Azure Function Proxy is forwarding all call to the root.
UrlClickStats: Return the statistic for a specific URL.
UrlList: Return the list of all URLs created.
All the information like long url, short url, click count are save in an Azure Storage Table.
And that's it. Super light, very cost-efficient. IF you are curious about the price I'll but references in the footnotes
The frontend could be anything that can make HTTP requests. Right now in the project, I explain how to use a tool call Postman, there is also a very simple interface done that you can easily deploy.
This simple interface is of course protected and gives you the options to see all URLs and create new ones.
How YOU can use it
All the code is available into GitHub, and it's deployable with a one-click button!
This will deploy the backend in your Azure subscription in a few minutes. If you don't own an Azure subscription already, you can create your free Azure account today.
Then you will probably want an interface to create your precious URLs. Once more in the GitHub repository, there is a List of available Admin interfaces and ready to be used. The Admin Blazor Website is currently the most friendly and can also be deployed in one-click.
How You can help and participate
Right now, there is really only one interface (and some instructions on how to use Postman to do the HTTP calls). But AzUrlShortener is an open-source project, meaning you can participate. Here some suggestions:
Build a new interface (in the language of your choice)
Improve current interface(s) with
logos
designs
Better UI 🙂
Register bugs in GitHub
Make feature request
Help with documentation/ translation
What's Next
Definitely come see the GitHub repo https://github.com/FBoucher/AzUrlShortener, click those deploy buttons. On my side, I will continue to add more features and make it better. See you there!
Every Monday, I share my "reading notes". Those are the articles, blog posts, podcast episodes, and books that catch my interest during the week and that I found interesting.
It's a mix of the actuality and what I consumed.
Enjoy!
Azure Free Account? Is it really free? ( Michael Crump) - Ooh yeah! I still remember that moment where I created my first service.... Get started free is free.
How Azure Resource Graph is gonna change the way you search and script (Stephane Lapointe) - Whaat?! 15x faster! If you are not using Azure graph yet... This post is for you. If you do use graph, still read that you may learn a few tricks. In short, it's a mandatory read for anyone using Azure.
Cloud
Azure Blueprints: ISO27001 Shared Services (Eric Leonard) - This excellent second post of a series goes dipper and shares details about one specific blueprint template. And explains some pitfall to avoid.
Azure Blueprints: Intro (Eric Leonard) - If you don't know Blueprint this post is an excellent first contact.
Was MongoDB Ever the Right Choice? (Justin Etheredge) - Nice post that put in perspective what's NoSql and why MondoDB could or not be a good solution for our project.
Introducing docs.microsoft.com - Great post that explains all the nice features of the first glimpse of the new Microsoft documentation. They did a fantastic work, a post to read; a site to remember.
Cloud
Why Service Fabric? - You heard about the buzz word your tech guys are exited, but you would like to know why service fabric could be good for your business? This post is for you.
Source Control Integration in Azure Automation (Beth Cooper) - Fantastic news. This post shares with us how to take advantage of this useful new feature and configure our source control.
VSCode Documentation moves to GitHub (Chris Dias) - I really think the documentation is a major piece of VSCode. Having it " to the is a fantastic thing.
How to write better and faster using templates - Interesting post that shares with us a way to speed-up our writing. Personally, found very productive the time to structure the post since use it to organize my thoughts. Like in "old time" when we were passing through the code to adjust the indentation.
First look at Application Insights (Andrei Dzimchuk) - Excellent post. Perfect to make your idea about why and how we should use Application Insights. Nice touch to the config.
Cloud
Integration with Azure Service Bus (Vincent-Philippe Lauzon) - Great post that summarizes best practices and important tips related to Azure service Bus.
Get the DocumentDB SQL query cheat sheet (Aravind Ramachandran) - Confuse sometime with the syntax of noSql, this post shared a cheatsheet that should be saved (or printed).
Announcing Geospatial support in Azure DocumentDB! (Aravind Ramachandran) - Fantastic, this option was present in the wishlist of many people. And we can try it right now in the DocumentDB playground.
Announcing the Azure SDK 2.7 for .NET (Brady Gaster) - Sooooo many new features, options, and tools in only one release!! This post reviews a lot of them.
Importing Data to DocumentDB Just Keeps Getting Better (Stephen Baron) - If you never ear about DocumentDB Migration Tool, this post is for you. It explains how you ca import documents, even from another NoSql database like DynamoDB.
Performance and Diagnostic Tools in Visual Studio 2015 (Dan Taylor) - This post is the perfect point to get started about all the great diagnostics tools available in VS2015 for everyone...because it's included in all versions.
I was really happy to ear about Microsoft Azure Data Center that will be built in Canada. And it was definitely not only good thing that was published this week...
Import Sample Data to Azure DocumentDB (Stephen Baron) - Document playground is not the only tools available to get started. This post introduces the Data Migration tool.
Spotlight Resources - This post lists some of the useful tools that can help you when working with Azure.
Making the Complex Simple - Not sure how to "classify" this post, is it a top list of the best bad practices, or literally "du bonbon"? A post to read, and relax.
How to Sync SQL Server Data with Azure Search (Liam Cavanagh) - This post explains all the advantage to use Azure Search to implement a fulltext search in your application. It also shows how to do it.
Programming
.NET Blog (Christiaan Rakowski, Linux Al, Ron, Nathan Dimitriades, Warren, EShy, Thomas Levesque, Svolo4, Jeremiah Gowdy, les, James S, Srigopal C Immo Landwerth [MSFT]) - Very interesting and complete post that explains the goals behind the .Net Core and how it is useful to us.
DynamoDB Applied Design Patterns By Uchit Vyas, Prabhakaran Kuppusamy Publisher: Packt Publishing Released: September 2014 ISBN 13: 9781783551897
This book takes you where you are and brings you directly in the cumulus. It starts gently by explaining the basic of the NoSQL, then move to DynamoDB fundamental: what is a data model and how to create a table.
Chapter after chapter, the book moves you to the next level by bringing new complexities and explains how to manage them with his simple but complete scenario. All the code samples are in Java and extremely well explained. With my .Net background, I always understood.
The book ends by presenting many best practices to get the best of DynamoDB, and compare it to other popular NoSQL databases.
I will definitely recommend this book to all people looking for a NoSQL database. DynamoDB is unavoidable when we are looking for a no-relational database, and this book is a must to have in our bookshelf.
Comparing Clouds : IaaS Scalability Options (Richard Seroter) - Very interesting article that compares one the key feature: scalability between the biggest cloud providers.