Debugging and solving problems is an art. It is part technique and part practice. In this article, I share a powerful technique that has helped me quickly solve many problems. This system gets my head out of a rut and pushes me to look at other solutions creatively. You will also learn some approaches to discovering the necessary information. Finally, this technique is tied up into a nice little package that cements your status as a hero in your workplace.
A programmer’s job is not just writing code. It’s also writing tests, reading code, talking to other programmers, communicating ideas, and understanding other people’s designs. On top of that, there are dozens of messages, bugs, and endless little things that need to be done. Create a branch, make changes, commit, add tests, commit, correct formatting, commit, add error handling and logging, commit, pull request, merge, manual testing. What if some of this could be made more efficient? A bit of good practice and automation can be the difference.
The discipline of CI/CD, which increases the quality and the velocity, is essential in the software industry, both in open source and in business projects, with ever more numerous and practical tools. Successful development companies are increasingly regarding it as a mandatory skill, and we can clearly understand why once we have gotten into the habit of automating these operations. This article demonstrates setting up a CI pipeline with GitHub Actions.
The last few months have been a whirlwind of API work. If you’ve been following along, you have a solid grasp of the history of APIs, tools to help design your APIs, and a good lump of tips on how to turn that API design into reality. But, for the sake of space, I left out a few items that you may want to consider when it comes to various parts of the process.
Docker Swarm is a mode in which Docker deploys container services across a cluster. Spreading a service across multiple swarm nodes (systems running Docker joined to the same swarm cluster) allows us to perform load balancing and rolling updates to our application. We also can easily horizontally scale by adding more nodes and scaling services up. Previously when we’ve worked with Docker Compose files, we’ve declared services made up of containers and their operational parameters; we can deploy these same compose files as a “stack” in swarm mode. Our goal this month is to cover how to build container images for our application and orchestrate the services required to support our app in a testing or staging environment.
Despite our best efforts, security bugs will creep into deployed production code. When this happens, members of the community might reach out to report these bugs to you. Your team needs to be prepared to both receive and encourage these forms of responsible disclosure.
2020 was a year of uncertainty, fear, and adjustments. We limited our physical contact with others, created bubbles of safe spaces and people, and tried not to wander too far from those established bubbles. As a result, a lot changed that year. One of the year’s casualties was in-person conferences, a staple in our tech industry and something some would try to attend at least once a year.
Encrypting and decrypting messages were an early computing application. Last month’s challenge was to implement and harden a cipher from antiquity. Let’s look at possible solutions before moving on to this month’s challenge.
Every technology has its share of haters. Disagreements in coding philosophies become language wars. Differences in project priorities become personal attacks. It’s vicious. It’s demoralizing. Why would anyone stay in an environment like this?
Leave a comment
Use the form below to leave a comment: