Building Microservices with Go

Building Microservices with Go

In this Go/ Golang tutorial, learn to build Microservices using Go. You'll learn: How to build the simplest service you can using the standard packages in the Go programming language, How to build RESTful services using the Go standard packages, Building RESTful services using the Go standard packages, Look at the Go Validator package and how it can be used to validate JSON.

Building Microservices with Go: 1. Introduction to microservices

In this episode I show you how to build the simplest service you can using the standard packages in the Go programming language.

Source code for this episode: https://github.com/nicholasjackson/building-microservices-youtube/tree/episode_1

Building Microservices with Go: 2. Introduction to microservices, continued

In this episode we learn more about the standard library and look at how we can refactor last episodes example into a reusable microservice pattern.

Source: https://github.com/nicholasjackson/building-microservices-youtube/tree/episode_2

Building Microservices with Go: 3. RESTful services

In this episode we will start to look at how to build RESTful services using the Go standard packages.

Source: https://github.com/nicholasjackson/building-microservices-youtube/tree/episode_3

Building Microservices with Go: 4. More RESTful services

In this episode we will continue to look at building RESTful services using the Go standard packages.

Source: https://github.com/nicholasjackson/building-microservices-youtube/tree/episode_4

Building Microservices with Go: 5. Gorilla framework for RESTful services

In this episode we will continue to look at building RESTful services using the Go standard packages.

Source: https://github.com/nicholasjackson/building-microservices-youtube/tree/episode_5 Building Microservices with Go: 6 JSON Validation

In this episode we will look at the Go Validator package and how it can be used to validate JSON.

Source: https://github.com/nicholasjackson/building-microservices-youtube/tree/episode_6

Building Microservices with Go: 7 Documenting RESTful APIs with Swagger

In this episode you will learn how to document your RESTful APIs with the OpenAPI standard and Go Swagger.

Go swagger has a really nice GoDoc based approach, this epsiode shows you how you can document the API we have been building over the last couple of weeks. As a bonus we will also look at how we can embed ReDoc to build a nice documentation API direct into our service.

Source: https://github.com/nicholasjackson/building-microservices-youtube/tree/episode_7

Go (Golang) to Python

Go (Golang) to Python

Using Go, CGO, and Cython to build Extension Modules. Go is a useful language to extend Python. This talk explains to you how to implement extension modules in Go. The talk shows how to use CGO to make Go code available as a C library and then to use Cython to make this library available as a Python extension module.

Python and Go are a great combination. Like Python, Go is easy to learn, powerful to use and has many useful libraries. Go and Python work great together: Go has better performance and parallelism, while Python is more expressive. Wouldn't it be nice if you could combine the benefits of Go and Python in one program? This talk shows you how.

Why you may want to attend
Extension modules written in C/C++ or other languages are one of the major strength Python. Go is a useful language to extend Python. This talk explains to you how to implement extension modules in Go.

Content of the Talk
The talk shows how to use CGO to make Go code available as a C library and then to use Cython to make this library available as a Python extension module.

We start by building a wrapper for simple Go code that adds some numbers and returns the results. This program is our end-to-end example to demonstrate the steps necessary to create a Python extension module in Go.
Next, we move to more complex use cases. We look at different ways to share complex data and to use Python callbacks from Go.
Then, we see how to how to handle Go's Garbage Collector when exposing with Go Objects.
Finally, the talk goes into the advantages and disadvantages of Go as an extension language for Python. We also look at some of the alternative ways to make Go code available in Python.

Recommended Prerequisites
To get the most out of the talk, you should know about the difference between native Python modules and extension modules written in other languages. Some background on concepts like garbage collection, stack and heap, and dynamic/shared libraries are beneficial. Knowledge of the Python C API is not required.
You do not need to know how to write Go code to follow the talk - the talk explains all the required Go.

Writing Microservice Integration Tests in Go

Writing Microservice Integration Tests in Go

Writing Microservice Integration Tests in Go. Integration testing microservices is an extremely difficult task when systems are large, but it doesn’t have to be that way. Golang’s native concurrency enables developers to easily run and communicate with mocked versions of downstream dependencies within their integration test code.

Writing Microservice Integration Tests in Go

Integration testing microservices is an extremely difficult task when systems are large, but it doesn’t have to be that way. Golang’s native concurrency enables developers to easily run and communicate with mocked versions of downstream dependencies within their integration test code.