Programming Backend with Go: Build robust and scalable backends for your applications using the efficient and powerful tools of the Go ecosystem Front Cover

Programming Backend with Go: Build robust and scalable backends for your applications using the efficient and powerful tools of the Go ecosystem

  • Length: 290 pages
  • Edition: 1
  • Publisher:
  • Publication Date: 2024-04-20
  • ISBN-10: 8119177991
  • ISBN-13: 9788119177998
Description

This book takes its time to go over every important aspect of backend programming, from the fundamentals to more advanced techniques, so that you can become experts in Go scripting and all the things Go can do. Quickly introducing readers to Go and its ecosystem, the book walks them through installing the language and creating a development environment with Visual Studio Code. Next, it takes a baby step into learning the basics of building web servers with the net/http package, going over topics like routing, handling various HTTP methods, and the structures of requests and responses. Path variables, regex-based routing, custom handlers, and middleware are some of the advanced routing topics covered, which uses the robust gorilla/mux package. After introducing session and cookie management, the book moves on to user authentication, covering topics such as OAuth2 integration, JWT for secure APIs, and more.

The book then teaches various aspects of database integration with GORM, covering topics such as connecting to SQL databases, performing CRUD operations, managing migrations, and handling transactions and concurrency control. The Gin framework for designing and implementing microservices, REST and gRPC for inter-service communication, and Kubernetes for containerizing applications are also covered in detail. Also covered is message brokering with Apache Kafka and NSQ for asynchronous systems, which guarantees resilient systems and efficient message delivery. Secure coding practices, HTTPS with crypto/tls, avoiding SQL injections and XSS attacks, and configuration management with Viper are also one of the main goal of the book.

Last but not least, the book covers testing and debugging with tools such as Delve, Testify, and GoMock. It then teaches readers through various deployment strategies, such as blue-green, canary, and rolling deployments with AWS CodeDeploy. Utilizing Go’s robust features and clean scripting capabilities, this book provides you with the necessary knowledge and skills to develop secure, scalable, and resilient backend systems.

Key Learnings

  • Get to know Go’s ecosystem and tools to set up and configure backend development efficiently.
  • Web servers can be easily built and managed using Go’s net/http package for dynamic content delivery.
  • Use gorilla/mux to implement advanced routing techniques for flexible URL handling.
  • Implement strong API security with user authentication using OAuth2 and JWT.
  • Make use of GORM’s advanced capabilities of migrations and transactions, to integrate SQL databases.
  • Use Gin, Kubernetes, and gRPC to build and launch scalable microservices.
  • Make use of NSQ and Kafka for asynchronous processing.
  • Prevent frequent vulnerabilities of SQL injection and XSS attacks.
  • Use Testify, GoMock, and Delve to streamline testing and debugging.
  • Use AWS CodeDeploy with blue-green and canary deployment strategies to deploy applications.

Table of Content

  1. Understanding Go for Backend Development
  2. Building a Basic Web Server with net/http
  3. Advanced Routing with gorilla/mux
  4. User Authentication with Oauth2 and JWT
  5. Integrating Databases with GORM
  6. Creating Microservices in Go
  7. Message Brokering with NSQ and Apache Kafka
  8. Securing Go Applications
  9. Testing and Debugging Go Applications
  10. Deploying Go Applications

Must Read by:

Web developers, non-Go programmers, full-stack developers, and anyone else interested in learning the ins and outs of backend development with Go will find “Programming Backend with Go” to be an incredibly practical, use-case oriented, and illustrated learning resource.

To access the link, solve the captcha.