Application security focuses on the security and interactions of applications. Most information security focuses on observability or firewalling assets from external threat actors. Application security focuses on protecting the application and data directly from bad-actors who are attempting to compromise the system through the application's externally facing elements.
Part 2: Deep Dive into Generic Programming with Google Go
This post dives into the implementation of generic programming in Go. Walking through the syntax and semantics of type parameters, constraints, and type inference.
Part 1: Deep Dive into Generic Programming with Google Go
Generic programming has been around for quite some time. This blog post provides a brief overview of the basics of generic programming and its implications for software engineering.
With the introduction of Generics into the Go language, it became necessary to be able to use different versions of Go on a single system with minimal effort. While exploring different methods for managing different go versions on a single system I realized that there was a need for a tool to manage the different versions seamlessly for Go engineers. This led to the creation of the Go Version Manager (GVM).
Concurrency Pattens are not new to Go. They are a part of the wider distributed computing ecosystem. This post covers basic concurrent design patterns and techniques. Building out concurrent applications is easy once you have a handle on the basics.
A deep dive into the native Go concurrency primitives and how they can be used to build correct applications using best practices.
Understanding the difference between parallelism and concurrency can be a bit tricky. This post covers common misconceptions and how to avoid them. It also breaks down the differences between parallelism and concurrency and how to use them to your advantage.
Google Go (golang) Version 1.16 released a number of new features including the embed, io/fs and runtime/metrics packages as well as support for the Apple M1 chips. Along with that new module improvements such as retracing module version.
Run your very own Monte Carlo π simulation using a Massively Parallel Distributed Computing framework Atomizer with Docker!
Monolithic applications have been given a bad name in recent years. Is it deserved? Not really. Monoliths have their place, and knowing what that is can inform our architectural decisions in a healthy way.