Go (a.k.a. Golang) is a statically-typed programming language first developed at Google. It is derived from C with additional features such as garbage collection, type safety, dynamic-typing capabilities, additional built-in types, and a large standard library.
With this comprehensive 3-in-1 course is based on real-world approach to Go programming that covers everything needed to create stunning applications in Go. It uses use modern open source third party packages in Go to build a distributed application that will support several databases, establish efficient serial communications techniques, and construct an advanced web layer with templates, cookies, and websockets support.
Contents and Overview
This training program includes 2 complete courses, carefully chosen to give you the most comprehensive training possible.
The first course, Modern Golang Programming starts with a refresher on Go's primary building blocks. From there, we will explore numerous open source packages that allow working with a variety of databases in a production environment as well as an ORM layer. We will then explore building reliable and robust microservices that communicate efficiently with each other via fast serialization and RPC techniques.
The second course, Beginner Solutions in Go – The Basics, Clients, and Servers takes off where basic tutorials on the language leave off. You can immediately put into practice some of the more advanced concepts and libraries offered by the language while avoiding some of the common mistakes for new Go developers. The course covers basic type and error handling. It explores applications that interact with users, such as command-line tools or via the file system.
The Third course, Advanced Solutions in Go – Testing and Distributed Systems explores applications that interact with users, such as websites, command-line tools, or via the file system. It demonstrates how to handle advanced topics such as parallelism, distributed systems, and performance tuning. Lastly, it finishes with reactive and serverless programming in Go.
About the Authors:
Mina is an experienced engineer who has developed a lot of experience in Go from using it personally and professionally. He regularly authors articles and tutorials about the language, and also shares Go open source projects. He wrote numerous Go applications with varying degrees of complexity. He is the Author of the Mastering Go Programming course for Packt, which has gathered great feedback from reviewers.
Other than Go, Mina has skills in C#, Java, Python, and C++. He has worked with various databases and software architectures. He also has skills with the agile methodology in software development. Besides software development; he has worked in scrum mastering, sales engineering, and software product management.
Aaron Torres received his Master of Science degree in Computer Science from New Mexico Institute of Mining and Technology. He has worked on distributed systems in high performance computing and in large-scale web and microservices applications. He currently leads a team of Go developers that refines and focuses on Go best practices with an emphasis on continuous delivery and automated testing.
Aaron has published a number of papers and has several patents in the area of storage and I/O. He is passionate about sharing his knowledge and ideas with others. He is also a huge fan of the Go language and open source for backend systems and development.