Breaking down problems into sub-problems in Go

Image for post
Image for post

Introduction

Dynamic programming can be thought of as a way of breaking a complex problem into sub-problems, solving each of these sub-problems once, and saving the solutions for later use. As we’ll see later in this article, this approach offers efficiency and modularity benefits over other approaches, which we’ll explore shortly.

Dynamic Programming Techniques

When we talk about dynamic programming, we must also discuss the following techniques:

  • Memoization: Not to be confused with Memorization, Memoization is a technique for improving the performance of a recursive function/algorithm. …


Learn the difference so you don’t make costly mistakes

Image for post
Image for post
Photo by Nick Fewings on Unsplash

Introduction

Many programming languages support passing an argument by value and/or by reference. In this article, we’re going to learn how Go's function handles passed arguments.

What is Pass-By-Value?

In Go, when a parameter is passed to a function by value, it means the parameter is copied into another location of your memory. …


Better logging, better debugging

Image for post
Image for post
Photo by William Iven on Unsplash

Introduction

Many companies are betting on Go due to its composability, scalability, and concurrency — along with other super interesting features.

Simple web services and microservice applications require a well-considered logging strategy to help us understand user behavior, localize errors, and monitor the performance of our applications.

In this article, we’re going to explore tracing, metrics, and logging. Logging, in particular, will receive the highest focus.

Tracing/Monitoring/Logging

What’s tracing?

Tracing covers a wider and more continuous view of an application than logging does. …

About

Adeshina H. Hassan

Bilingual || Software Engineer || co-organizer @GolangNigeria #golang #flutter Twitter Handle: @adeshinaHH Personal Website: https://adeshinahassan.com

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store