Well-structured Logic: A Golang OOP Tutorial
Can Golang be object-oriented? Go is a post-OOP programming language, however, it can still leverage OOP patterns to structure the code in a clear and understandable way. This tutorial demonstrates how to use Go with OOP concepts, including constructors, subtyping, polymorphism, dependency injection, and testing with mocks.
Leonhard Holz
4 Go Language Criticisms
Go is quickly becoming one of the most popular languages: It currently ranks 19 in the TIOBE programming community index, and powers popular software like Kubernetes, Docker, and Heroku CLI. However, for all its simplicity, Go may still be missing some things.
In this article, Toptal Freelance Go Developer Sergei Peshkov shares his concerns about why Go is still far from perfect and how we can make it better.
Sergei Peshkov
Testing Your Go App: Get Started the Right Way
Testing frameworks such as Testify, Ginkgo, and Gomega can streamline testing for Golang applications, however, some of the most efficient and effective tools for testing can be found in Go’s standard libraries. In this article, Toptal developer Gabriel Aszalos covers the basics of testing in Go, from table testing to JSON response assertion.
Gabriel Aszalos
Going Real-Time with Redis Pub/Sub
Real-time applications have already started to dominate the landscape of the Internet. With modern frameworks and standardization of the necessary client-side features, building a real-time web application has become a breeze. However, such web applications still pose unique scalability challenges.
In this article, Toptal engineer Mahmud Ridwan explores the architecture of a simple real-time web application that works using Redis Pub/Sub and doesn’t compromise its horizontal scalability.
Mahmud Ridwan
Simplified NGINX Load Balancing with Loadcat
NGINX, a sophisticated web server, offers high performance load balancing features, among many other capabilities. Like most other web server software for Unix-based systems, NGINX can be configured easily by writing simple text files. However, there is something interesting about tools that configure other tools, and it may be even easier to configure an NGINX load balancer if there was a tool for it.
In this article, Toptal engineer Mahmud Ridwan demonstrates how easy it is to build a simple tool with a web-based GUI capable of configuring NGINX as a load balancer.
Mahmud Ridwan
Go Programming Tutorial: Golang by Example
Go is a relatively new language with a number of attractive features. It’s great for writing concurrent programs, thanks to an excellent set of low-level features for handling concurrency. In many cases, though, a handful of reusable abstractions over those low-level mechanisms makes life much easier. This introductory tutorial walks you through building one such abstraction: a wrapper that can turn any data structure into a transactional service in Go.
Brendon Hogger
World-class articles, delivered weekly.
Toptal Developers
- Adobe Commerce (Magento) Developers
- Algorithm Developers
- Angular Developers
- AWS Developers
- Azure Developers
- Big Data Architects
- Blockchain Developers
- Business Intelligence Developers
- C Developers
- Computer Vision Developers
- Django Developers
- Docker Developers
- Elixir Developers
- GraphQL Developers
- Jenkins Developers
- Kotlin Developers
- Kubernetes Developers
- Machine Learning Engineers
- .NET Developers
- R Developers
- React Native Developers
- Ruby on Rails Developers
- Salesforce Developers
- SQL Developers
- Sys Admins
- Tableau Developers
- Unreal Engine Developers
- Xamarin Developers
- View More Freelance Developers
Join the Toptal® community.