WebAssembly is one of these things that sounds too good to be true and yet we are that close to have it reaches mainstream: what if we had an universal executable format that could run anywhere: from web browsers to embedded devices passing by cloud servers and on any CPU architecture?
Link to the article
#go #article
Please open Telegram to view this post
VIEW IN TELEGRAM
π7π1
The article discusses the new iterator design in Go 1.23, which introduces a functional programming style with a yield mechanism. The author critiques the complexity and perceived departure from Go's imperative nature. They argue that while the design has its merits, it feels out of character for Go and adds unnecessary complexity. The article includes examples and contrasts the new design with alternatives, highlighting concerns about the increased difficulty for average Go programmers.
Link to the article
#go #article
Please open Telegram to view this post
VIEW IN TELEGRAM
π₯7π4
This article discusses how to effectively use channels in Go. It explains channels as locked, buffered queues, essential concurrency primitives in Go, and the concept of message passing. The article delves into practical usage, concurrency patterns, and the Go runtime's management of channels, emphasizing their importance and efficiency in writing concurrent Go code.
Link to the article
#go #article
Please open Telegram to view this post
VIEW IN TELEGRAM
π9
This article offers practical tips for updating go.mod versions in Go projects. It covers version tagging, necessary module path changes for major updates, handling imports, using monorepos, and retracting versions if needed.
Link to the article
#go #article
Please open Telegram to view this post
VIEW IN TELEGRAM
π8π₯3
A detailed guide on how to use the "context" package in Go, and how the methods from this package work under the hood.
Link to the article
#go #article
Please open Telegram to view this post
VIEW IN TELEGRAM
π₯5β€3
This article describes the journey of creating an efficient pub/sub library in Go. It covers challenges like race conditions and blocking, and explains how to handle concurrency effectively. The final implementation focuses on achieving high performance, safety, and ease of use for event broadcasting in concurrent applications.
Link to the article
#go #article
Please open Telegram to view this post
VIEW IN TELEGRAM
π5π₯4
The author talks about 7 mistakes that are often made when working with interfaces, such as an overabundance of methods, incorrect interface location, or returning an interface. Each of these errors can subsequently lead to deterioration in code readability and provoke new errors.
Link to the article
#go #article
Please open Telegram to view this post
VIEW IN TELEGRAM
π7π1
Bill outlines a three-step approach: logging errors once, determining recovery or termination, and preventing further error propagation. Bill also introduces the concept of error signaling semantics, treating errors as values that signal issues throughout the call stack. Additionally, he emphasizes the importance of different error signals, such as trusted errors and shutdown signals, to enhance code reliability and maintainability.
Link
#go #video
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Building Resilient Go Applications: Key Error Handling Techniques
Welcome to Episode 7 of our Ultimate Software Design series! In this episode, Bill dives into effective error handling strategies for Go developers.
Bill outlines a three-step approach: logging errors once, determining recovery or termination, and preventingβ¦
Bill outlines a three-step approach: logging errors once, determining recovery or termination, and preventingβ¦
π8β€1
This article discusses the challenges and solutions for implementing generic collections in Go, particularly in creating a sortable Set. It covers initial failed attempts, the importance of type constraints, and the correct approach to combine type constraints comparable with custom interfaces. The article aims to provide clear documentation and examples to help developers avoid common pitfalls when working with Go generics.
Link to the article
#go #article
Please open Telegram to view this post
VIEW IN TELEGRAM
π8β€1
In Go, the go.mod file is all about managing modules. Weβve talked about this a lot before, but letβs dive deeper this time.
Link to the article
#go #article
Please open Telegram to view this post
VIEW IN TELEGRAM
π₯6π3π1
An exploration of some options to temporarily enable verbose logging for troubleshooting purposes and making those logs accessible from anywhere and in real-time.
Link to the article
#go #article
Please open Telegram to view this post
VIEW IN TELEGRAM
β€6π3π₯2
The author talks about potential pitfalls associated with using timers in Go and how to avoid them
Link to the article
#go #article
Please open Telegram to view this post
VIEW IN TELEGRAM
π6β€2
The article "Shipping Anything On Go Infrastructure" by Howard John discusses how to leverage Go's module system to distribute non-Go code, such as shell scripts and Docker images, using the Go infrastructure. The author explains how to bundle and execute shell scripts and Docker images within Go binaries, highlighting both this unconventional method's benefits and potential drawbacks.
Link to the article
#go #article
Please open Telegram to view this post
VIEW IN TELEGRAM
π8β€4π₯1
One powerful, but lesser known feature of the NATS server is that, if you are using the Go programming language, you can embed the NATS server directly into your application.
Not only can you bake a NATS server directly into your application binary, but you can even connect to that NATS server without going through a network interface, making NATS an awesome choice for building modular monoliths, or for simply the foundation for any programs connectivity, or a data layer with lots of options for storing and moving that data.
Link
#go #video
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Give your Go app superpowers with an Embedded NATS Server
One powerful, but lesser known feature of the NATS server is that, if you are using the Go programming language, you can embed the NATS server directly into your application.
Not only can you bake a NATS server directly into your application binary, butβ¦
Not only can you bake a NATS server directly into your application binary, butβ¦
π6π₯6
This article offers best practices for building command-line interfaces in Go. It emphasizes proper structuring, error handling, dependency management, and the use of libraries like Cobra to create robust and maintainable CLI applications. The focus is on adhering to Go's idiomatic principles to ensure clean and efficient code.
Link to the article
#go #article
Please open Telegram to view this post
VIEW IN TELEGRAM
π7β€3
This article explains the behavior and inner workings of the range keyword in Go. It clarifies how range operates when iterating over different data structures like slices, maps, and channels, and provides insights into common pitfalls and best practices. The goal is to make the concept easier to understand for Go developers.
Link to the article
#go #article
Please open Telegram to view this post
VIEW IN TELEGRAM
β€5π5
The article explores how to create a cache-efficient binary search tree using SIMD (Single Instruction, Multiple Data) in Go. It demonstrates how SIMD can significantly improve search performance by optimizing data locality and leveraging parallel processing capabilities. The author provides implementation details, code examples, and benchmarking results to showcase the performance benefits of this approach.
Link to the article
#go #article
Please open Telegram to view this post
VIEW IN TELEGRAM
π7π₯7
Go 1.23 is coming soon, so it's a good time to explore what's new.
Link
#go #release #goversion
Please open Telegram to view this post
VIEW IN TELEGRAM
π5π₯2πΎ2
This article talks about a debugging technique known as bisect debugging. It shows how binary search can be used on version histories and program code to quickly find bugs in compilers and runtimes. The article introduces the bisect tool, which helps isolate the exact lines of code causing issues, making it easier to debug large and unfamiliar codebases.
Link to the article
#go #article
Please open Telegram to view this post
VIEW IN TELEGRAM
π6π₯3