Key Features

  • Discover a number of recipes and approaches to develop modern back-end applications
  • Combine recipes for sophisticated parallel tools using best practices
  • This book is based on the latest version of Go

Book Description

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.

This book 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 book will cover basic type and error handling. It will also explore applications that interact with users, such as websites, command-line tools, or via the file system. It will demonstrate how to handle advanced topics such as parallelism, distributed systems, and performance tuning. Lastly, it will finish with reactive and serverless programming in Go.

What you will learn

  • Get to know the basics of Spring development and gain fundamental knowledge about why and where to use Spring Framework
  • Explore the power of Beans using Dependency Injection, wiring, and Spring Expression Language
  • Implement and integrate a persistent layer in your application and also integrate an ORM such as Hibernate
  • Understand how to manage cross-cutting with logging mechanism, transaction management, and more using Aspect-oriented programming
  • Explore Spring MVC and know how to handle requesting data and presenting the response back to the user
  • Understand the integration of RESTful APIs and Messaging with WebSocket and STOMP
  • Understand Reactive Programming using Spring MVC to handle non-blocking streams

What you will learn

  • Test your application using advanced testing methodologies
  • Develop an awareness of application structures, interface design, and tooling
  • Create strategies for third-party packages, dependencies, and vendoring
  • Get to know tricks on treating data such as collections
  • Handle errors and cleanly pass them along to calling functions
  • Wrap dependencies in interfaces for ease of portability and testing
  • Explore reactive programming design patterns in Go

Table of Contents

Chapter 1. I/O and File Systems
Chapter 2. Command-Line Tools
Chapter 3. Data Conversion and Composition
Chapter 4. Error Handling in Go
Chapter 5. All about Databases and Storage
Chapter 6. Web Clients and APIs
Chapter 7. Microservices for Applications in Go
Chapter 8. Testing
Chapter 9. Parallelism and Concurrency
Chapter 10. Distributed Systems
Chapter 11. Reactive Programming and Data Streams
Chapter 12. Serverless Programming
Chapter 13. Performance Improvements, Tips, and Tricks

Book Details

Title: Go Cookbook
Author: Aaron Torres
Length: 503 pages
Edition: 1
Language: English
Publisher: Packt Publishing
Publication Date: 2017-09-06
ISBN-10: 1783286830
ISBN-13: 9781783286836