Go

JSON Serialization - The Fine Print

A journey of JSON serialization
D.go
Miki Tebeka
<p>We'll look into JSON serialztion, starting from the easy cases and moving toward more advanced ones.</p>
A quiz! Consider the following code: a := 1 data, _ := json.Marshal(a) var b interface{} json.Unmarshal(data, &amp;b) fmt.Println(a == b) What will be printed? And why it's "1 1 false"? :) We all work with JSON, and even though it's a simple format, there are several sharp edges you should should avoid. In this talk, we'll journey from the common well lit areas of JSON serialization and end in some darker corners. I hope you'll enjoy the ride.

Additional information

Type devroom

More sessions

2/5/22
Go
Maartje Eyskens
D.go
<p>A warm welcome to The Go Devroom at FOSDEM 2022</p>
2/5/22
Go
Jesús Espino
D.go
<p>Slices, Maps and Channels in go, are first class citizens of the language, they are used widely in our day to day work, but… do you know how they works under the hood? Do you know the implications of adding elements to an slice, or new keys to a map?</p> <p>Do you know why you can’t relay in maps order? Do you know how channels handle the buffer or the blocked goroutines? If you don’t know about that, this is your talk. I going to access the go runtime memory state of the maps, slices ...
2/5/22
Go
Carl Johnson
D.go
<p>Error handling is one of Go’s key features. The errors.As helper added in Go 1.13 gives Gophers the tools they need to build their own error domains and ensure that all errors are handled properly across their applications.</p>
2/5/22
Go
Ron Evans
D.go
<p>Last year in "Go Without Wires" we saw how you can use TinyGo to program code that runs directly on Bluetooth devices.</p> <p>Now in "Go Further Without Wires" we will see some of the ways that TinyGo can connect to WiFi networks, and consequently to the Internet itself.</p> <p>This talk will include several actual demonstrations, including a drone.</p>
2/5/22
Go
Bryan Boreham
D.go
<p>The Go regexp package is an extremely competent piece of engineering, with attractive features such as being guaranteed to run in time linear in the size of the input. However, it can be made to go faster.</p> <p>This talk will describe:</p> <ul> <li>how Go regexp works</li> <li>five changes that improve regexp performance</li> <li>the basic profiling techniques used to identify these optimisations</li> <li>further opportunities for optimisation, including via Generics.</li> </ul>
2/5/22
Go
Alexey Palazhchenko
D.go
<p>Several months ago, a new project was started: FerretDB, an open-source alternative to MongoDB. It is a proxy between MongoDB clients/driver and PostgreSQL, developed in Go. Since the very first commit, it used a version of Go which soon will be released as Go 1.18. The two biggest reasons for that were first-class support for type parameters (generics) and fuzzing. In my talk, I will cover both of them: how they work in theory and our practice, how they were useful for us (spoiler: very ...
2/5/22
Go
Zygmunt Krynicki
D.go
<p>The Go ecosystem has established itself as the language of choice for many cloud and server software. We present arguments that Go is also uniquely suited to thrive for Linux-based embedded development. We present our case in the context of the SysOTA and NetOTA projects</p>