From Zero to 4865726f - Mastering Serialization in Go

Presented by Miki Tebeka

Description

  • Can you encode binary data in JSON?
  • Which serialization formats can you use to exchange data between Python & Go?
  • How can you distinguish between missing data and zero values in incoming requests?
  • What will reduce bandwidth and CPU when passing data between services?
At the “edges” of your program (e.g. when interacting with other services) you will use serialization to send and receive data. Working efficiently with serialization will make your interfaces more flexible, will save you money on CPU & bandwidth and free you to focus on writing business value code.

What a student is expected to learn

In this workshop, we’ll cover serialization best practices, learn how to choose a serialization format and go over some of the major formats.

As an exercise, you’ll write an HTTP server that serves weather data in various formats. You’ll start with JSON, move to Protocol Buffers (protobuf) and if time permits will work with other formats.

Prerequisites

You should know how to program in Go and have some experience with the command line.

You will need a working Go environment and an IDE (such as VSCode or GoLand). You will also need the protoc protocol buffers compiler on your machine.

Buy Tickets - $199
Agenda (4 hours)
Tuesday, May 19, 2020
  • 9:00 AM EST
    Introduction and setup
  • 9:10 AM EST
    Start Workshop
  • 10:45 AM EST
    30 Minute Break
  • 11:15 AM EST
    Workshop
  • 1:00 PM EST
    End Workshop
Presenter's Bio

Miki is the CEO of 353solutions, where he writes code and teaches workshops for customers such as Dropbox, Oracle, J.P. Morgan and others. Miki’s has been a developer for more than 23 years and worked with Go for about 10 years. He’s one of the organizers of GopherCon Israel, Go Israel meetup, PyData Israel conference and more. Miki is also a LinkedIn learning author, and wrote Forging Python. In his spare time (ha!) he contributes to several open source projects (including Go).

Buy Now! $49

Includes admission for all talks, real time discussions, and early access to all recorded videos. View the agenda.

Buy Now! $199

At the heart of Machine Learning is the model’s code, but it only accounts for a fraction of the overall code of a production system and the rest is the infrastructure needed to power and utilize it. In this workshop, we will focus on the infrastructure of a Machine Learning application written in Go and integrate the systems needed to deploy a ML model at scale.

Buy Now! $199

At the 'edges' of your program (e.g. when interacting with other services) you will use serialization to send and receive data. Working efficiently with serialization will make your interfaces more flexible, will save you money on CPU & bandwidth and free you to focus on writing business value code.

Buy Now! $199

Whether you are just getting started in Go or have been writing Go code for a couple years, this class will make sure you have what you need to write simple, quick, robust tests. We will start with the basics and introduce table driven tests. Then we'll work through advanced concepts such as testing asynchronous code as well as mocking and injecting code. We’ll finish up with example tests and code coverage. We believe in a hands-on approach to learning, so be ready to write a lot of tests!

Buy Now! $199

This course is tailored to developers learning Go for the first time or having less than one year of Go development experience. This workshop will cover practical, daily Go fundamentals. Starting with the language fundamentals, students will move into interfaces and how they lend to embedding and composition in Go. We will finish up with an overview of concurrency in Go.

Buy Now! $199

This course was designed to take experienced Go developers and walk them through how to use all the Go tooling to make your code perform better. We will start with a complete look at benchmarking from start to finish. Then a walk-through of the profiling tools will be presented. Students will finish up by learning about common optimizations in Go. After learning about these optimizations, you will be able to apply this knowledge to your own code to identify performance issues.