O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

LEARNING PATH: Master Google’s Go

Video Description

Apply the incredible language to build web-scale, real-time systems and applications on your own

In Detail

Go is on the rise and showing itself as a powerful option in many software development domains. If you’re looking to explore Go in depth and learn how to build real-world apps, then this Learning Path is for you. It introduces you to different programming projects ranging from command-line tools to distributed messaging services, web services, and web applications with Go running on the server side.

The Learning Path starts by demonstrating how versatile the Go language can be and how it can be put to use in a range of real-world programming domains, whether that’s for DevOps tools, cloud-based services, or RESTful web services. Interwoven with the projects, there are examples of best practices and design patterns, and techniques you can carry over to your own projects. The projects also display the key features of Go in action, such as concurrency, and will start to explore the rich ecosystem of open source libraries and frameworks that are being continually developed for the language. You’ll also learn the concepts of a single page web application and create a dynamic user interface using templates, manipulate a database, and use powerful encryption algorithms to implement an authentication system.

By the end of the Learning Path, you will be able to build your own projects in no time!

Prerequisites: Basic knowledge on web development and web services

Resources: Code downloads and errata:

  • Go Projects

  • Go for Web Development


    This path navigates across the following products (in sequential order):

  • Go Projects (2h 22m)

  • Go for Web Development (2h 9m)

  • Table of Contents

    1. Chapter 1 : Go Projects
      1. Project Showcase 00:01:22
      2. Installing Go 00:05:32
      3. A Simple Static File Server 00:03:59
      4. Accepting Command-line Arguments 00:03:48
      5. Compiling to a Statically Linked Binary 00:02:59
      6. Dynamic Content with Go 00:05:36
      7. Handling GET and POST Requests 00:06:24
      8. Connecting to a Database 00:04:53
      9. Writing Tests in Go 00:03:14
      10. Variadic Functions, Function Chaining, and Callbacks 00:04:31
      11. Logging and Analytics 00:03:59
      12. Error Handling 00:04:44
      13. Advanced Middleware 00:04:26
      14. Usernames and Passwords 00:05:15
      15. The Password Reset E-mail 00:05:00
      16. Sessions 00:04:52
      17. Sessionless, Passwordless Authentication 00:06:54
      18. Web Application Security 00:04:06
      19. JSON in Go 00:05:13
      20. Streams and JSON 00:03:33
      21. Buffers 00:02:45
      22. Image Handling 00:04:37
      23. Concurrency 00:04:04
      24. A Simple Chat Server 00:05:17
      25. An Advanced Chat Server 00:05:46
      26. Real-time Notifications 00:02:56
      27. Deployment Options 00:05:10
      28. Automated Deployments 00:05:45
      29. Continuous Integration 00:04:12
      30. Debugging 00:04:26
      31. Reflection 00:02:38
      32. Performance 00:04:28
    2. Chapter 2 : Go for Web Development
      1. The Course Overview 00:03:39
      2. Our First Route 00:05:42
      3. Using Templates 00:04:48
      4. Database Connections 00:05:03
      5. Talking to the Server 00:06:28
      6. Surfing the Net 00:04:56
      7. Using the Database 00:06:32
      8. Introduction to Web Middleware 00:05:26
      9. Replacing the Default Template Engine 00:04:47
      10. Showing Off Our Books 00:06:45
      11. Throwing Away Old Literature 00:04:31
      12. Using gorilla/mux 00:04:28
      13. Using go-gorp 00:07:03
      14. Sorting Our Books 00:08:36
      15. Fiction and Nonfiction 00:07:47
      16. Authenticated Users Only 00:05:52
      17. Creating Users Securely 00:05:13
      18. I Know Who You Are 00:04:42
      19. Update the Database 00:04:28
      20. The Road Not Taken 00:07:55
      21. Managing Code Quality 00:04:50
      22. Hello, World Wide Web 00:09:48