Welcome to Bryan's Website!


Hi there! This website is intended to act as a repository for my ideas, proof of concepts, and many general how to’s when it comes to software development. Over the years, I have made tons of small projects to test and resolve the different issues I’ve encountered as well as exploring best practices. Most of these projects are in my personal github repository which you can access via the icon above. I have now decided to share these with you in hopes that I can help others with the same issues or share similar ideas, and maybe even learn a thing or two myself along the way.

The main purpose of this website is to take the ideas and concepts learned and implement them in a production environment. My hope is that we will use this site I have built to do that together! I will be blogging about all of these things along the way, so please feel free to get involved. Submit a pull request or two while we work to improve the site, for as you can see it’s a bit lacking. #workinprogress

Why do you TDD?

So, the app is coming along now. Because of a previous post, we now have a basic structure for configuring the app. But I still feel like we are missing something. Something very important to me. Unit Tests! I am a fan of TDD (test driven development). You couldn’t tell that from this app, well, because there aren’t any. I have a bad habit of not writing test in my proof of concept apps. However, TDD is something I practice in my professional work.

So, why do I TDD? I’m not going to get preachy here. If you don’t write unit test, that is fine. I am not a traditionalist, in a sense. I write unit test to make my life easier. I don’t like having to run my application whenever I want to test if some logic actually does what it is supposed to do. Also, I don’t want to have to set up my data to create a certain scenario for the same reason. It honestly helps me write cleaner code. Basically if my class, method, function, or whatever isn’t testable, then it probably isn’t written well.

Now let's get to the code. We will start with getting our testing framework setup, then we will start writing some simple tests, and discuss additional tools that are available to us. We want the barrier to entry to be as low as possible. People don’t tend to adopt things they see as a nuisance.


Who moved my Web.Config?

So good news, my site is up. Bad news, I am only able to pull blog entries from a single location. The address of the blog entries are literally hard coded in a class file. This is not good! I need the address of the blogs to be loaded from some sort of configuration file. It would also be cool if we had different configurations for different environments. So lets add that, after all this site is a work in progress!

So, if you're coming from a pre .Net Core era you are all to familiar with the infamous Web.Config or App.Config. If you were really cool you had no less than 10 versions of Web.[some obscure environment].config and some magic tool that "transformed" your Web.Config into something you hopefully wanted.

In .Net Core there are similar methods. We now have appsettings.json, and a ton more options. Including the option to create your own whatever.json settings file. Today we are going to keep it simple. We will be looking at appsettings.json. We will use this file to help us control where we pull blogs from depending on the ASPNETCORE_ENVIRONMENT environment variable (more on this later).


How I built this site

So, here it is. My first blog post. I don’t really know what I’m doing and that will become very apparent as we move along. For my first post I will actually talk about this site. Over the course of a way to long of a period of time I have built this site. It started as an example for a tech talk and has turned into something that is nice and easy to work with. The site as a whole uses some interesting technology. From the site being built in .Net Core to being deployed with Docker images to Linux servers. So let's get started.