Software engineering principles and patterns help us craft good clean software. One such pattern is an acronym we know as SOLID. “O” represents the open/closed principle simply defined: “open for extension, closed for modification”. Today I’m focusing on open/closed principle and how it pertains to modern application development.Continue reading “Getting Solid with SOLID – Part 2- Open/Closed Principle”
Developing yourself as a software engineer is important for progression. One tool you should incorporate in your arsenal is unit testing. What are unit tests? Why should I write them? What part do they play in my success or that of my software? Today I’m going to talk about how practicing this principle made me a better developer.Continue reading “How unit testing made me a better developer”
Microsoft recently released .NET Core 3.0 and set the stage for WCF’s exit. .NET Core no longer supports “full framework” mode which effectively ends support for WCF as we know it. Our options for migration vary. Today let’s discuss one such approach I feel is a “low-impact” approach. Let’s look at migrating WCF to gRPC using .NET Core while still maintaining backwards compatibility.Continue reading “Migrating WCF to gRPC using .NET Core”
Your software application will crash. Even the most principled software following the best practices will inevitably have a bad day. Figuring out why it crashed and how to prevent it is a skill in and of itself. Fortunately there are steps you can take to help you when this time comes. Application logs are your friend and it is necessary to learn how to read them.Continue reading “Application logs are your friend (and how to read them)”
Software engineering is full of patterns and principles to help you get the job done. Sometimes those patterns and principles are defined very abstract and difficult to understand. Let’s talk about SOLID design principles in a 5 part series. Today we’re discussing the Single Responsibility Principle.Continue reading “Getting Solid with SOLID – Part 1 – Single Responsibility Principle”
Recently I was faced with some difficult decisions regarding employment. I had been experiencing some internal strife and as a result was “open to new opportunities.” While I hadn’t been actively pursuing options I figured that if something came along I’d at least consider it. Eventually some opportunities interesting enough to pique my interest did hit so I began the process. Nearing the end of my “openness” some external events occurred that set up an interesting situation. Ultimately I was faced with a decision that required me to understand myself and work at finding my motivations.Continue reading “Finding your motivations for success”
Breathing new life into a “legacy” ASP.NET website is a way you can help slowly transition the site towards ASP.NET Core. One way you might accomplish that is by referencing .NET Standard libraries. Everything seems fine and dandy until you attempt a publish operation. Generally you might not notice these until running msbuild from command-line–such as in a CI environment, batch deploy script, or otherwise. Let’s talk about one major msbuild error you’ll encounter while publishing your ASP.NET MVC application that references a .NET standard library. We’ll also talk about some other errors that might arise in the process.Continue reading “MsBuild error publishing ASP.NET MVC referencing .NET Standard library”
When deploying an application to the web performance can be (and usually is) an important factor. Running it on your dev machine isn’t really a good indicator of how well your application will run, however. Finding out how well your application performs before you deploy is a good idea. One way we can accomplish that is by stress testing your web application using a tool called K6.Continue reading “Web application stress testing with K6”
I’m a gamer. Video games are what initially interested me about computers. DOS prompts,
config.sys, and a batch loader to reconfigure the system depending on which game I wanted to play was where I first learned how to configure things. Growing older, however, I find that I don’t have the time for my hobby and I fall increasingly behind on my gaming backlog. Exploring the internet I’ve compiled a way that works for clearing my gaming backlog.
Recently I was going through the motions upgrading an ASP.NET Core 2.0 website to 2.2. Overall the process was fairly straightforward, minus some gotchas. We were attempting to switch the website from targeting the full framework (
net47) to target
netcoreapp2.2 but that caused a cascade of problems. One such problem was WCF. Today we’ll discuss using WCF with .NET Core and some of the gotchas you may run into.