Optimising and Visualising Go Tests Parallelism: Why more cores don't speed up your Go tests ❤️
This article discusses optimizing parallelism in Go tests, focusing on how Go’s
Link to the article
#go #article #tests
This article discusses optimizing parallelism in Go tests, focusing on how Go’s
t.Parallel()
method can improve test performance by allowing certain tests to run concurrently. It also explains why adding more CPU cores doesn’t always speed up tests and introduces a custom tool for visualizing test execution.Link to the article
#go #article #tests
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥7 3❤1
A taste of Go code generator magic: a quick guide to getting started 🤡
Link to the article
#go #article #generator #generators
In this short post, I’d like to share a small program that generates wrapping functions for the given type methods, and this specific example can then act as a good starting point for your own Go code generator. If you want to write their own Go code generator but don’t know how to start, then read on!
Link to the article
#go #article #generator #generators
Please open Telegram to view this post
VIEW IN TELEGRAM
1 4👍3🔥1
Leveraging benchstat Projections in Go Benchmark Analysis! 🤓
Link to the article
#go #article #benchmark #tool
In this post, we will get you familiar with the benchstat tool and some Go benchmarking best practices.
So… get that terminal warmed up and let’s go!
Link to the article
#go #article #benchmark #tool
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍8 3✍1
Earlier we published a link to a guide on setting up neovim from scratch for Go developers - https://poltora.dev/neovim-for-developers/
We’re excited to announce that the second part is now published, where we complete the editor setup, turning it into a full-fledged IDE!
Link to the article
#go #vim #nvim #tools #channel_team_article
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍4🔥2 1
Mastering gRPC Error Handling: Best Practices and Key Strategies 🤓
This article explains a Go programming pattern for using
Link to the article
#go #article #errors #grpc
This article explains a Go programming pattern for using
nil
channels to conditionally disable parts of select
statements, aiding in efficient concurrency management. This approach simplifies handling optional functionality and complex workflows in asynchronous code.Link to the article
#go #article #errors #grpc
Please open Telegram to view this post
VIEW IN TELEGRAM
1 5👍2🔥1
Benchmarks and performance testing 🤓
This article offers a practical guide to using Go’s benchmarking tests, covering the tool’s various parameters in detail. Willem demonstrates the process with a complete, example repository, allowing readers to see the benchmarks in action.
Link to the article
#go #article #testing
This article offers a practical guide to using Go’s benchmarking tests, covering the tool’s various parameters in detail. Willem demonstrates the process with a complete, example repository, allowing readers to see the benchmarks in action.
Link to the article
#go #article #testing
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍5 2
Fuzz Testing Go HTTP Services 🤡
Link to the article
#go #article #testing #tests
As a developer, you can't envision all of the possible inputs your programs or functions could receive. Even though you can define the major edge cases, you still can't predict how your program will behave in the case of some weird unexpected input. In other words, you can only find bugs you expect to find. That's where fuzz testing or fuzzing comes to the rescue.
Link to the article
#go #article #testing #tests
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3✍1🔥1
Go sync.Once is Simple... Does It Really? 🤓
This article delves into the functionality of
Link to the article
#go #go@digest_golang #article #article@digest_golang #gosync #gosync@digest_golang
This article delves into the functionality of
sync.Once
, explaining its purpose, the correct usage, and the mechanics behind it. Additionally, it explores related tools like OnceFunc
, OnceValue[T]
, and OnceValues[T, K]
, giving readers a comprehensive understanding of these utilities.Link to the article
#go #go@digest_golang #article #article@digest_golang #gosync #gosync@digest_golang
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥3
Optimizing Database Connections in Go: Improving Throughput by Managing Open Connections Efficiently 👾
Link to the article
#go #go@digest_golang #article #article@digest_golang #db #db@digest_golang
One common mistake developers make is holding a database connection open for too long which can lead to bottlenecks, where new requests are forced to wait for an available connection, hindering the effectiveness of the connection pool.
In this article, we’ll explore how to avoid this issue and optimize Go applications for better throughput by identifying a common problem area and learning how to resolve it.
Link to the article
#go #go@digest_golang #article #article@digest_golang #db #db@digest_golang
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍3🔥3✍1
Writing secure Go code 🤓
This article offers practical tips and resources for building more secure and reliable Go applications. It covers important practices like updating your Go version, using tools such as go vet, and scanning your code to catch known vulnerabilities.
Link to the article
#go #go@digest_golang #article #article@digest_golang
This article offers practical tips and resources for building more secure and reliable Go applications. It covers important practices like updating your Go version, using tools such as go vet, and scanning your code to catch known vulnerabilities.
Link to the article
#go #go@digest_golang #article #article@digest_golang
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍5🥰4
Checking the Top 10 Million Web Sites with Go 🤓
Link to the article
#go #go@digest_golang #article #article@digest_golang
In this article, we’ll dive into a study of the top 10 million domains and reveal a surprising finding: over a quarter of them — 27.6% — are effectively dead. Below, I’ll walk you through the steps and infrastructure involved in analyzing these domains, along with the system requirements, code snippets, and statistical results of this research.
Link to the article
#go #go@digest_golang #article #article@digest_golang
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍5🔥4
Ranging over functions in Go 1.23 🤡
This article is a rewrite of the older post that described this feature when it was still in preview. The feature was slightly different then, and the author wrote new post that reflects the accepted and final state of affairs.
Link to the article
#go #go@digest_golang #article #article@digest_golang
This article is a rewrite of the older post that described this feature when it was still in preview. The feature was slightly different then, and the author wrote new post that reflects the accepted and final state of affairs.
Link to the article
#go #go@digest_golang #article #article@digest_golang
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍3🔥1
Building thread-safe abstractions in Java versus Go ♨️ ⚔ 🤡
A look at converting parts of the SimpleDB implementation from Java to Go, and comparing the concurrency tools each language provides.
Link to the article
#go #go@digest_golang #article #article@digest_golang
A look at converting parts of the SimpleDB implementation from Java to Go, and comparing the concurrency tools each language provides.
Link to the article
#go #go@digest_golang #article #article@digest_golang
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥4👍2❤1
Go Turns 15! ❤️
The article discusses where the language is heading and what the development team's priorities are now.
https://go.dev/blog/15years
#go #go@digest_golang #article #article@digest_golang
The article discusses where the language is heading and what the development team's priorities are now.
https://go.dev/blog/15years
#go #go@digest_golang #article #article@digest_golang
Please open Telegram to view this post
VIEW IN TELEGRAM
go.dev
Go Turns 15 - The Go Programming Language
Happy 15th birthday, Go!
1👍4❤3🔥3
fmt.Sprintf vs String Concat 🤓
Which is faster? The author explains how these methods work under the hood, and explains which one is faster and why.
Link to the article
#go #go@digest_golang #article #article@digest_golang
Which is faster? The author explains how these methods work under the hood, and explains which one is faster and why.
Link to the article
#go #go@digest_golang #article #article@digest_golang
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥5👍3
Go Runtime Finalizer and Keep Alive 🤓
This article explores two features in Go’s runtime package: Finalizers and KeepAlive. It explains how Finalizers allow developers to attach cleanup functions to objects that execute upon garbage collection, and how KeepAlive prevents premature object collection by ensuring objects remain alive as long as necessary.
Link to the article
#go #go@digest_golang #article #article@digest_golang
This article explores two features in Go’s runtime package: Finalizers and KeepAlive. It explains how Finalizers allow developers to attach cleanup functions to objects that execute upon garbage collection, and how KeepAlive prevents premature object collection by ensuring objects remain alive as long as necessary.
Link to the article
#go #go@digest_golang #article #article@digest_golang
Please open Telegram to view this post
VIEW IN TELEGRAM
2❤5👍2
ML in Go with a Python sidecar 🤓
Link to the article
#go #go@digest_golang #article #article@digest_golang
In this post, I will present some approaches for Go developers to use ML models in their applications - with increasing level of customization. The summary up front is that it's pretty easy, and we only have to deal with Python very minimally, if at all - depending on the circumstances.
Link to the article
#go #go@digest_golang #article #article@digest_golang
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥3👍2🤔1👀1
This media is not supported in your browser
VIEW IN TELEGRAM
GoLand 2024.3 Is Out! ❤️
What's new:
* Improved built-in AI assistant: improved the quality of the suggested code and reworked the UX, adding useful features such as syntax highlighting;
* New inspection for cyclic imports;
* Management of multiple Go services and configurations in a single UI;
* Faster opening of larger projects;
* String() object view in debugger;
* Improved work with Kubernetes;
* and much more...
Release description - https://blog.jetbrains.com/go/2024/11/14/goland-2024-3-is-out/
#go #go@digest_golang #release #release@digest_golang #goland #goland@digest_golang
What's new:
* Improved built-in AI assistant: improved the quality of the suggested code and reworked the UX, adding useful features such as syntax highlighting;
* New inspection for cyclic imports;
* Management of multiple Go services and configurations in a single UI;
* Faster opening of larger projects;
* String() object view in debugger;
* Improved work with Kubernetes;
* and much more...
Release description - https://blog.jetbrains.com/go/2024/11/14/goland-2024-3-is-out/
#go #go@digest_golang #release #release@digest_golang #goland #goland@digest_golang
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥5❤3👍1
Organize Like a Pro: A Simple Guide to Go Project Folder Structures 🤓
Link to the article
#go #go@digest_golang #article #article@digest_golang
When we talk about folder structure in Golang (or really any programming language), we’re referring to how we organize our files and directories within a project. This organization acts like a roadmap, helping developers maintain, navigate, and scale their projects by clearly separating different parts, like concerns, modules, and functionalities. Following some common conventions in Go not only makes reading and collaborating easier but also sets the stage for maintaining the project in the long run.
Link to the article
#go #go@digest_golang #article #article@digest_golang
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍8❤3🥰1
Understanding command injection vulnerabilities in Go 🤡
Sometimes you need to run a command from go code, such as ffmpeg to work with images, or run a command in bash. In this article, the author talks about precautions that will help you avoid security issues when running system commands from code.
Link to the article
#go #go@digest_golang #article #article@digest_golang
Sometimes you need to run a command from go code, such as ffmpeg to work with images, or run a command in bash. In this article, the author talks about precautions that will help you avoid security issues when running system commands from code.
Link to the article
#go #go@digest_golang #article #article@digest_golang
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍5❤3🔥2