talk-data.com talk-data.com

Topic

go

32

tagged

Activity Trend

8 peak/qtr
2020-Q1 2026-Q1

Activities

32 activities · Newest first

Dans cette présentation, nous démystifierons le concept de linter, en expliquant son rôle fondamental dans l’amélioration de la qualité du code et l’automatisation des bonnes pratiques. Nous explorerons les bases de leur fonctionnement, avant de passer à la pratique en construisant, étape par étape, un linter personnalisé. À l’issue de cette session, vous repartirez avec les connaissances et les outils nécessaires pour créer et partager votre propre linter, adapté à votre équipe ou à la communauté open source. Nous utiliserons le langage Go pour nos exemples tout en proposant des ouvertures vers de l’outillage pour d’autres langages de programmation.

J'ai changé d'avis sur les conversations à voix haute avec des robots. Ils sont devenus moins stupides, plus rapides (faible latence) et sont en fait très utiles pour la productivité au quotidien.

Nous savons tous comment interagir avec un LLM en envoyant un prompt en entrée et en recevant du texte et des images en sortie. Mais dans une session vocale live, où se termine le prompt et où commence la réponse ? Comment pouvons-nous maîtriser le flux pour agir ? Utilisons la fonctionnalité Multimodal Live du SDK Gemini Go pour créer une application.

Valentin est ingénieur à Google Cloud. Il s'intéresse à la performance, aux algorithmes, aux serveurs web, aux BDD, UX, DX, et au langage Go!

The CNCF project OpenFeature offers a standardised and vendor agnostic way to deal with feature flags in your project. The talk shows how can you use it in your Golang project. If there is time I would like to also talk about the OpenFeature Remote Evaluation Protocol (OFREP) which allows you to use feature flags by implementing an endpoint without needing to any extra code to support your feature flagging system.

Earlier this year I got to plan out and implement a scheduling system for a fleet of robots in Go, and I'd like to share my learnings from this experience!

I'll give a general overview of how a scheduling system can work, cover related challenges and how they can be addressed, and share some examples of working with schedules and timezones in Go.

My talk, "Using Context in Go Servers: A Guide to Best Practices," delves into how the context package in Go simplifies the management of request lifecycles, cancellations, and deadlines in server applications. The context package is a critical tool for building scalable and reliable systems, yet it's often underutilized or misunderstood.

In this session, I will cover: - The fundamentals of the context package and its key features. - Practical examples of integrating context with database queries and HTTP requests. - Best practices for passing and managing context across function calls. - Common pitfalls and how to avoid them, such as preventing goroutine leaks and handling cancellations effectively.

I want to share this with the community because context is pivotal in developing robust server-side applications, and mastering it can significantly enhance the scalability, maintainability, and reliability of Go applications. This talk aims to provide practical, actionable insights that developers of all levels can immediately apply to their projects.

When faced with thousands of message types with no support in Go, some people reach for Java. Other people reach for “go generate” instead. This is the story of a 20 year migration, a standard that produces more standards, and going way too far with “go generate”.

By default, Go auto-aliases your imports i.e you reference only the last part of the import path /internal/service/payment -> payment package and you can end up with a lot of packages having the same label. This talk goes through some of the iterations I went through, the tradeoffs, some references I looked at (stdlib + kubernetes) and where I'm currently at, I think I've got something pretty good with some extra hidden benefits.

This talk provides an in-depth technical overview of these impactful new packages. First, we will examine the new experimental encoding/json/v2, analyzing the significant performance improvements from its redesigned, allocation-optimized decoder and the flexible new API that addresses long-standing limitations of its predecessor.

Next, the talk will address the challenge of creating reliable tests for concurrent code by mastering the testing/synctest package. We will demonstrate how its isolated \"bubble\" environment with a virtualized clock provides a new paradigm for writing fast, simple, and deterministic tests for complex concurrent logic, effectively eliminating a common source of test flakiness.

A high level look at what Dojo does, plus "when", "how" and "why" we chose Go, for which systems we use it, and our experience with it so far.

In this talk I will demonstrate how to build a custom static analysis tool in Go, using our experience creating https://github.com/loveholidays/ptrcmp at loveholidays as a practical case study. We'll take a deep dive into Go's analysis framework https://pkg.go.dev/golang.org/x/tools/go/analysis, exploring everything from understanding Abstract Syntax Trees to leveraging the powerful tooling ecosystem that makes custom linters possible.

Go 1.24, released in Feb '25, adds the new weak package to the standard library. The package brings weak pointers to the language for the first time. These lightweight references allow developers to manage memory more efficiently, allowing garbage collection of variables even when referenced.With weak pointers, you can write more memory-efficient caching, track values with observers without preventing their cleanup, and build powerful data structures such as canonicalisation maps. As with similar features in C++ and other languages, we can learn to navigate the quirks of this new item in the Go developer's toolbox.Join us for an overview of the anatomy of the weak package, and to discover how weak pointers can help you write memory-efficient Go.

Go 1.23 introduced an inbuilt concept of \"iterators\" to the language, with some controversy. The \"signature\" & functional nature of these iterators has been hard to parse at first glance by quite a few Gophers. Let's take a look at a few concrete examples step-by-step to demystify those \"funcs that accept funcs that return bools\" & to see why this design makes sense.

One of the coolest features of Go is goroutines, and the fact that concurrency is part of the language. But concurrency normally requires synchronization, so... the sync package comes to the rescue. The sync package provides the main primitives of synchronization to use in tandem with the go concurrency, but... how does the sync package work? How are primitives like WaitGroup, Once, or Mutex built? We are going to explore that in this talk.