Curious About Technology

Welcome to Coding Explorations, your go-to blog for all things software engineering, DevOps, CI/CD, and technology! Whether you're an experienced developer, a curious beginner, or simply someone with a passion for the ever-evolving world of technology, this blog is your gateway to valuable insights, practical tips, and thought-provoking discussions.

Recent Posts

Understanding and Preventing Go Memory Leaks
go, golang, memory Noah Parker go, golang, memory Noah Parker

Understanding and Preventing Go Memory Leaks

In the world of software development, memory leaks can significantly impact the performance and reliability of applications. Go, also known as Golang, is celebrated for its efficiency and simplicity, especially in concurrent programming and system-level applications. However, like any other programming language, Go is not immune to memory leaks.

Read More
Understanding the Difference Between make and new in Go
go, golang, programming Noah Parker go, golang, programming Noah Parker

Understanding the Difference Between make and new in Go

In the Go programming language, memory allocation and initialization are crucial concepts that allow developers to manage data structures efficiently. Two built-in functions that play a significant role in this context are make and new. Although they might seem similar at first glance, they serve different purposes and are used in different scenarios.

Read More
Interview Series: Understanding Memory Management in Go
go, golang, interview, memory, programming Noah Parker go, golang, interview, memory, programming Noah Parker

Interview Series: Understanding Memory Management in Go

Memory management is a critical aspect of any modern programming language. It ensures that a program uses the computer's memory efficiently, avoiding both wastage and shortages that could slow down or even halt execution. In the Go programming language, memory management is largely handled by a built-in garbage collector. But there are scenarios where manual memory management might be necessary.

Read More
Manual Memory Management Techniques using unsafe in Go
go, golang, memory, programming Noah Parker go, golang, memory, programming Noah Parker

Manual Memory Management Techniques using unsafe in Go

Go is renowned for its simple and elegant design, particularly when it comes to memory management. The built-in garbage collector alleviates much of the manual memory management burdens found in languages like C and C++. However, there are times when developers might want to engage in manual memory management to extract more performance or for specific use-cases. This is where the unsafe package comes into play.

Read More
Understanding Memory Escape in Golang
go, golang, memory, programming Noah Parker go, golang, memory, programming Noah Parker

Understanding Memory Escape in Golang

One of the strongest selling points for Go (often referred to as Golang) is its powerful and transparent memory management, backed by a built-in garbage collector. However, as with many high-level languages, understanding the nuances of how memory is managed can lead to more performant code. A key concept in this area for Go developers is "memory escape."

Read More
Understanding Memory Leaks in Go and How to Avoid Them
go, golang, programming, memory Noah Parker go, golang, programming, memory Noah Parker

Understanding Memory Leaks in Go and How to Avoid Them

Go (or Golang) is admired for its simplicity, efficiency, and robustness. One of the reasons behind its rapid adoption is its built-in garbage collector which automatically frees memory that is no longer being used. Yet, despite having a garbage collector, memory leaks can still plague Go applications. In this post, we'll delve into memory leaks in Go: what they are, how to identify them, and, most importantly, how to prevent them.

Read More