Golang Weekly - Structured logging is a go

Plus real world Go concurrency examples, flame graphs, and there's more than one way to structure a Go project. |

#​452 — March 17, 2023

Unsub  |  Web Version

Together with  Shortcut

The Go Weekly Newsletter

FlameScope: Visualize CPU Samples from Go Execution Traces — FlameScope is a performance visualization tool from Netflix using flame graphs that can now be used with Go 1.19 thanks to a patch and this work from Felix. “Please note that this is still relatively experimental..”

Felix Geisendörfer

The slog / Structured Logging Proposal is Accepted — Russ Cox has marked the structured logging with levels proposal (a.k.a. ‘slog’) as accepted – nonetheless, discussion continues.

Russ Cox

In other proposal related news, Russ also ticked the WebAssembly System Interface / WASI target proposal.

Don’t Let Your Issue Tracker Be a Four-Letter Word. Use Shortcut — The best issue tracking software is one that software developers are actually happy to use.

Shortcut (formerly Clubhouse.io) sponsor

A Comprehensive Guide to Structured Logging in Go — Further to the recently accepted proposal (above), this post takes a practical approach comparing the structured logging approach to log, how slog addresses its limitations, how to get started with slog, as well as some alternatives you might still want to consider.

Better Stack Team

The One-and-Only, Must-Have, Eternal Go Project Layout? — The author notes this is a misleading title because there’s no such thing as a single way to do it. Nonetheless, there are some things you can do to structure projects well, he says.

Christoph Berger

IN BRIEF:

Real World Go Concurrency Examples — Not sure we can ever have enough of these examples, and here you’ll see blocked select statements, time.Sleep deadlocks, and how easy the new atomic types can make your concurrent life.

Jason Fulghum (DoltHub)

Reverse Proxy with Dynamic Backend Selection — The example uses Caddy and encodes information into a JWT to route customers to the appropriate backend server, all in just a few lines of code.

Artur Rodrigues

Run Your First Temporal Application with the Go SDK — Enjoy this 10-minute tutorial to explore several runs of a Temporal Workflow application using Temporal and the Go SDK.

Temporal Technologies sponsor

Advanced Markdown Processing in Go — Using gomarkdown/markdown.
Krzysztof Kowalczyk

How to Embed a Tailscale Funnel in Your App
Tailscale

🛠 Code & Tools

Task 3.22.0: Task Runner / code Alternative — This week’s notable addition is the support for global tasks defined in your home directory, letting you have automations you can run from anywhere on your system. Official homepage.

Andrey Nering

Scale: Write-Once, Run Anywhere Functions via WebAssemblyScale is a new WASM-powered function runtime that wants to eventually open up an agnostic development model across languages and clouds (so imagine building a function that could work locally, on CloudFlare Workers, or AWS Lambda without changes). Go is the first language supported both as a client and runtime.

Loophole Labs

Revive 1.3: A Fast(er), Configurable, Flexible Linter for Go — A drop-in replacement of golint that aims to provide a little more structure, configurability, and performance.

Minko Gechev

New Trending Content: Try Knative (Free Course) — In this free course, you'll learn how to deploy serverless containerized applications on Kubernetes by using Knative.

Akamai Connected Cloud sponsor

Chi: Popular Composable Router for Go HTTP Services — Good at helping you write large REST API services that are kept maintainable as your project grows and changes.

go-chi

dynamodbav: Marshal/Unmarshal Utility Functions for DynamoDB — A (very) simple complement to the official AWS SDK v2 for Go. Using generics lets you save a lot of boilerplate code when marshalling and unmarshalling Go types into their DynamoDB representations.

Ryan Collingham

Logarithmotechnia: R-Inspired Dataframe Library for Go
Dee

Jobs

Software Engineer C++ — Join our "kick ass" team. Our software team operates from 17 countries and we're always looking for more exceptional engineers.
Sticker Mule

Find a Job Through Hired — Hired makes job hunting easy-instead of chasing recruiters, companies approach you with salary details up front. Create a free profile now.
Hired

🧑‍💻 Got a job listing to share? Here's how.

n

Older messages

The journey to faster JSON parsing

Friday, March 10, 2023

Plus Go re-enters the TIOBE top 10, using multi-module workspaces, and what the Go team is talking about. | #​451 — March 10, 2023 Unsub | Web Version Together with Ardan Labs The Go Weekly Newsletter

Google's new distributed Go app framework

Friday, March 3, 2023

Plus a Go telemetry update, Uber's Go style guide, an introduction to Ent, and a new IMAP library. | #​450 — March 3, 2023 Unsub | Web Version Together with Tailscale logo The Go Weekly Newsletter

A particularly Charming issue

Friday, February 24, 2023

Plus keep your Java out of our Go, a Go Solitaire game, git hook management, and a Go-powered Web browser. | #​449 — February 24, 2023 Unsub | Web Version I'm not sure what's up, but

Go quirks and intermediate tricks

Friday, February 17, 2023

Plus the Go powered balloon over Europe. | #​448 — February 17, 2023 Unsub | Web Version Together with Cockroach Labs logo The Go Weekly Newsletter Purego: A Dynamic Way to Call C Functions from Go

Should the Go toolchain collect usage data?

Friday, February 10, 2023

Plus using profiling to optimize the Go compiler, Go's famous fan, and getting down to the bits and bytes. | #​447 — February 10, 2023 Unsub | Web Version Together with Retool logo The Go Weekly

You Might Also Like

The Power of an Annual Review & Grammarly acquires Coda

Sunday, December 22, 2024

I am looking for my next role, Zen Browser got a fresh new look, Flipboard introduces Surf, Campsite shuts down, and a lot more in this week's issue of Creativerly. Creativerly The Power of an

Daily Coding Problem: Problem #1645 [Hard]

Sunday, December 22, 2024

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Facebook. Implement regular expression matching with the following special characters: .

PD#606 How concurrecy works: A visual guide

Sunday, December 22, 2024

A programmer had a problem. "I'll solve it with threads!". has Now problems. two he ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌

RD#486 (React) Things I Regret Not Knowing Earlier

Sunday, December 22, 2024

Keep coding, stay curious, and remember—you've got this ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

🎶 GIFs Are Neat, but I Want Clips With Sound — Your Own Linux Desktop in the Cloud

Sunday, December 22, 2024

Also: 9 Games That Were Truly Ahead of Their Time, and More! How-To Geek Logo December 22, 2024 Did You Know Dextrose is another name for glucose, so if you see it listed prominently on the ingredients

o3—the new state-of-the-art reasoning model - Sync #498

Sunday, December 22, 2024

Plus: Nvidia's new tiny AI supercomputer; Veo 2 and Imagen 3; Google and Microsoft release reasoning models; Waymo to begin testing in Tokyo; Apptronik partners with DeepMind; and more! ͏ ͏ ͏ ͏ ͏ ͏

Sunday Digest | Featuring 'The World’s 20 Largest Economies, by GDP (PPP)' 📊

Sunday, December 22, 2024

Every visualization published this week, in one place. Dec 22, 2024 | View Online | Subscribe | VC+ | Download Our App Hello, welcome to your Sunday Digest. This week, we visualized public debt by

Android Weekly #654 🤖

Sunday, December 22, 2024

View in web browser 654 December 22nd, 2024 Articles & Tutorials Sponsored Solving ANRs with OpenTelemetry While OpenTelemetry is the new observability standard, it lacks official support for many

😸 Our interview with Amjad Masad

Sunday, December 22, 2024

Welcome back, builders Product Hunt Sunday, Dec 22 The Roundup This newsletter was brought to you by AssemblyAI Welcome back, builders Happy Sunday! We've got a special edition of the Roundup this

C#537 Automating Santa's Workshop with NServiceBus

Sunday, December 22, 2024

Using event-driven architecture for effective gift delivery 🎄🎁 ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌