Attention: This article was published over 2 years ago, and the information provided may be aged or outdated. While some topics are evergreen, technology moves fast, so please keep that in mind as you read the post.In today’s rapidly advancing digital landscape, securing microservices architecture is paramount to the success and resilience of modern organizations. At Keyhole Software, we understand …
Dockerizing an MSSQL Server: Unlocking Flexibility
Docker is a pretty magical tool that streamlines server and environment setup while helping to eliminate the operating system and software version variables. Itโs one of the best ways to mitigate the classic โWorks on my machine!โ obstacle many developers run into when sharing or promoting their code.
When a lot of people think of Docker, the last thing they think of is Microsoft or Windows. It took many years for Docker to even officially support Windows. As a .NET developer, I always wanted the stability that Docker offers, and today, I can have it. In the post below, Iโll dive into how to dockerize an MSSQL Server.
Exploring Git Customization Through Aliases
In this article, I’ll share my Git aliasesโpersonal modifications that I’ve found especially useful. I hope it inspires you to play around with customizing your development environment to suit your needs. Feel free to copy them, improve them, or outright ignore them. It’s up to you.
There is no definitive way to get started customizing your development environment. It’s your environment, your tools. I can do little more than provide some examples and say, “Here, you try!” It’s a process of iterative refinement and exploration….
Dev Container CLI: Escaping the IDE Restrictions
In past blogs, I have discussed development containers (dev containers) in detail, from explaining their general mechanics to showing how they can bolster a team’s build automation. As a brief recap for the uninitiated: dev containers are a way of encapsulating a developerโs setup into a container, typically a Docker container. As a practical example, rather than forcing a new teammate to manually install and configure all the necessary tooling before contributing to a project, they can leverage a teamโs devcontainer.json definition file to quickly spin up a fully configured development environment.
Microsoft has championed this workflow over the past few years, offering tight integration with tools like VS Code and Codespaces to make containerized development as seamless as possible. At the time of writing, the developer experience has reached a point where I honestly prefer to operate within a dev container for certain types of projects. When I open a teamโs codebase within VS Code and it informs me that they have provided a dev container to use, I have higher confidence that Iโll be using the same versions of their tools and seeing the behaviors that they expect.
Iโve even come to trust these setups more than an equivalent set of Dockerfiles or docker-compose scripts, just because the simplicity of the ecosystem makes it more likely that everything is well-maintained and configured correctly. Itโs easy to see how these standardization and automation benefits can be a huge boost to teamsโฆonce theyโve adopted the right tools to integrate with them.
But what if you donโt want to use VS Code?
Getting Started with Selenium Automation
Automated testing is a great way to ensure that any application can continue to grow and change while still giving fast and practical feedback to developers. This feedback can tell developers whether or not the changes introduced meet the requirements of the product and donโt introduce bugs.
As discussed in a previous blog series, automated testing can be a valuable resource when trying to deliver both agile and maintainable applications. But where should you get started and what technologies should you use to build automated tests?
In this post, I will discuss how to get started with and how to build out a simple automated test in one of the most popular options: Selenium.




