Go Programming Cookbook

Go Programming Cookbook
Author: Aaron Torres
Publisher: Packt Publishing Ltd
Total Pages: 427
Release: 2019-07-19
Genre: Computers
ISBN: 1789804701

Tackle the trickiest of problems in Go programming with this practical guide Key FeaturesDevelop applications for different domains using modern programming techniquesTackle common problems when it comes to parallelism, concurrency, and reactive programming in GoWork with ready-to-execute code based on the latest version of GoBook Description Go (or Golang) is a statically typed programming language developed at Google. Known for its vast standard library, it also provides features such as garbage collection, type safety, dynamic-typing capabilities, and additional built-in types. This book will serve as a reference while implementing Go features to build your own applications. This Go cookbook helps you put into practice the advanced concepts and libraries that Golang offers. The recipes in the book follow best practices such as documentation, testing, and vendoring with Go modules, as well as performing clean abstractions using interfaces. You'll learn how code works and the common pitfalls to watch out for. The book covers basic type and error handling, and then moves on to explore applications, such as websites, command-line tools, and filesystems, that interact with users. You'll even get to grips with parallelism, distributed systems, and performance tuning. By the end of the book, you'll be able to use open source code and concepts in Go programming to build enterprise-class applications without any hassle. What you will learnWork with third-party Go projects and modify them for your useWrite Go code using modern best practicesManage your dependencies with the new Go module systemSolve common problems encountered when dealing with backend systems or DevOpsExplore the Go standard library and its usesTest, profile, and fine-tune Go applicationsWho this book is for If you're a web developer, programmer, or enterprise developer looking for quick solutions to common and not-so-common problems in Go programming, this book is for you. Basic knowledge of the Go language is assumed.

Go Cookbook

Go Cookbook
Author: Aaron Torres
Publisher: Packt Publishing Ltd
Total Pages: 392
Release: 2017-06-28
Genre: Computers
ISBN: 1783286849

Bridge the gap between basic understanding of Go and use of its advanced features About This Book Discover a number of recipes and approaches to develop modern back-end applications Put to use the best practices to combine the recipes for sophisticated parallel tools This book is based on Go 1.8, which is the latest version Who This Book Is For This book is for web developers, programmers, and enterprise developers. Basic knowledge of the Go language is assumed. Experience with back-end application development is not necessary, but may help understand the motivation behind some of the recipes. 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 In Detail 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 covers basic type and error handling. It 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. Style and approach This guide is a handy reference for developers to quickly look up Go development patterns. It is a companion to other resources and a reference that will be useful long after reading it through the first time. Each recipe includes working, simple, and tested code that can be used as a reference or foundation for your own applications.

The Go Programming Language Phrasebook

The Go Programming Language Phrasebook
Author: David Chisnall
Publisher: Addison-Wesley
Total Pages: 279
Release: 2012-05-01
Genre: Computers
ISBN: 0132919001

The Go Programming Language Phrasebook Essential Go code and idioms for all facets of the development process This guide gives you the code “phrases” you need to quickly and effectively complete a wide variety of projects with Go, today’s most exciting new programming language. Tested, easy-to-adapt code examples illuminate every step of Go development, helping you write highly scalable, concurrent software. You’ll master Go-specific idioms for working with strings, collections, arrays, error handling, goroutines, slices, maps, channels, numbers, dates, times, files, networking, web apps, the runtime, and more. Concise and Accessible Easy to carry and easy to use: Ditch all those bulky books for one portable pocket guide Flexible and Functional Packed with more than 100 customizable code snippets: Quickly create solid Go code to solve just about any problem Register your book at informit.com/register for convenient access to downloads, updates, and corrections as they become available.

The Go Programming Language

The Go Programming Language
Author: Alan A. A. Donovan
Publisher: Addison-Wesley Professional
Total Pages: 1202
Release: 2015-11-16
Genre: Computers
ISBN: 0134190564

The Go Programming Language is the authoritative resource for any programmer who wants to learn Go. It shows how to write clear and idiomatic Go to solve real-world problems. The book does not assume prior knowledge of Go nor experience with any specific language, so you’ll find it accessible whether you’re most comfortable with JavaScript, Ruby, Python, Java, or C++. The first chapter is a tutorial on the basic concepts of Go, introduced through programs for file I/O and text processing, simple graphics, and web clients and servers. Early chapters cover the structural elements of Go programs: syntax, control flow, data types, and the organization of a program into packages, files, and functions. The examples illustrate many packages from the standard library and show how to create new ones of your own. Later chapters explain the package mechanism in more detail, and how to build, test, and maintain projects using the go tool. The chapters on methods and interfaces introduce Go’s unconventional approach to object-oriented programming, in which methods can be declared on any type and interfaces are implicitly satisfied. They explain the key principles of encapsulation, composition, and substitutability using realistic examples. Two chapters on concurrency present in-depth approaches to this increasingly important topic. The first, which covers the basic mechanisms of goroutines and channels, illustrates the style known as communicating sequential processes for which Go is renowned. The second covers more traditional aspects of concurrency with shared variables. These chapters provide a solid foundation for programmers encountering concurrency for the first time. The final two chapters explore lower-level features of Go. One covers the art of metaprogramming using reflection. The other shows how to use the unsafe package to step outside the type system for special situations, and how to use the cgo tool to create Go bindings for C libraries. The book features hundreds of interesting and practical examples of well-written Go code that cover the whole language, its most important packages, and a wide range of applications. Each chapter has exercises to test your understanding and explore extensions and alternatives. Source code is freely available for download from http://gopl.io/ and may be conveniently fetched, built, and installed using the go get command.

Go Programming Cookbook

Go Programming Cookbook
Author: Ian Taylor
Publisher: GitforGits
Total Pages: 226
Release: 2024-02-05
Genre: Computers
ISBN: 8119177606

The Go Programming Cookbook ensures Go programmers may confidently and effectively navigate the complex software development landscape. Both newcomers to the world of Go programming and seasoned professionals looking to sharpen their skills will find something of interest in this carefully written book. This cookbook covers a wide range of topics, from the basics of Go syntax and core ideas to more advanced subjects like concurrency, networking, and microservices design. Building a Go development environment, learning the fundamentals of Go constructs, and mastering the art of Go Module dependency management are all covered in the first few chapters, which prepare readers for what's to come. To guarantee that readers can construct strong and maintainable programs, the next sections cover error handling, unit testing, and database interfaces. The book really comes into its own when it comes to its in-depth examination of network programming; it covers topics like building HTTP clients, implementing FTP and SSH clients, and using WebSockets for real-time communication. To prepare developers to create safe, networked applications in a world where everything is always connected, it teaches them how to establish secure TLS/SSL communications, which is a fundamental component of security. In addition to providing practical solutions, the recipes educate readers on the concurrency model and design principles of Go, which helps them build an intuitive understanding of high-performance software development. Key Learnings Get a solid grounding in programming by learning the syntax and concepts of Go. Explore concurrency with Goroutines and Channels to maximize Go's possibilities. Effortlessly handle intricate network programming jobs involving WebSockets and HTTP clients. Learn TLS/SSL inside and out to make your applications secure for transmitted sensitive information. Effectively manage data by integrating with SQL and NoSQL databases. Use Go Modules to have easier dependency management and build reproducibility. Make your Go code clean and easy to maintain by following design patterns and other best practices. Get the most out of your system by learning about memory management, benchmarking, and profiling. Create web servers and microservices from the ground up that are scalable and perform exceptionally well. Become an expert Go problem solver by learning practical answers to real-world issues. Table of Content Setting up and Exploring Go Advanced Go Features and Techniques File Handling and Data Processing in Go Building and Managing Go APIs Implementing RPC and gRPC Services in Go Web Services and Automation using Go Building Microservices Architecture using Go Strengthening Database Interactions Enhancing Performance and Best Practices in Go Networking and Protocol Handling

Hands-On RESTful Web Services with Go

Hands-On RESTful Web Services with Go
Author: Naren Yellavula
Publisher: Packt Publishing Ltd
Total Pages: 393
Release: 2020-02-28
Genre: Computers
ISBN: 1838647546

Design production-ready, testable, and maintainable RESTful web services for the modern web that scale easily Key FeaturesEmploy a combination of custom and open source solutions for application program interface (API) developmentDiscover asynchronous API and API security patterns and learn how to deploy your web services to the cloudApply design patterns and techniques to build reactive and scalable web servicesBook Description Building RESTful web services can be tough as there are countless standards and ways to develop API. In modern architectures such as microservices, RESTful APIs are common in communication, making idiomatic and scalable API development crucial. This book covers basic through to advanced API development concepts and supporting tools. You’ll start with an introduction to REST API development before moving on to building the essential blocks for working with Go. You’ll explore routers, middleware, and available open source web development solutions in Go to create robust APIs, and understand the application and database layers to build RESTful web services. You’ll learn various data formats like protocol buffers and JSON, and understand how to serve them over HTTP and gRPC. After covering advanced topics such as asynchronous API design and GraphQL for building scalable web services, you’ll discover how microservices can benefit from REST. You’ll also explore packaging artifacts in the form of containers and understand how to set up an ideal deployment ecosystem for web services. Finally, you’ll cover the provisioning of infrastructure using infrastructure as code (IaC) and secure your REST API. By the end of the book, you’ll have intermediate knowledge of web service development and be able to apply the skills you’ve learned in a practical way. What you will learnExplore the fundamentals of API development and web servicesUnderstand the various building blocks of API development in GoUse superior open source solutions for representational state transfer (REST) API developmentScale a service using microservices and asynchronous design patternsDeliver containerized artifacts to the Amazon Web Services (AWS) CloudGet to grips with API security and its implementationWho this book is for This book is for all the Go developers who are comfortable with the language and seeking to learn REST API development. Even senior engineers can enjoy this book, as it discusses many cutting-edge concepts, such as building microservices, developing API with GraphQL, using protocol buffers, asynchronous API design, and Infrastructure as a Code. Developers who are already familiar with REST concepts and stepping into the Go world from other platforms, such as Python and Ruby, can also benefit a lot.

Hands-On Software Engineering with Golang

Hands-On Software Engineering with Golang
Author: Achilleas Anagnostopoulos
Publisher: Packt Publishing Ltd
Total Pages: 625
Release: 2020-01-24
Genre: Computers
ISBN: 1838550240

Explore software engineering methodologies, techniques, and best practices in Go programming to build easy-to-maintain software that can effortlessly scale on demand Key FeaturesApply best practices to produce lean, testable, and maintainable Go code to avoid accumulating technical debtExplore Go’s built-in support for concurrency and message passing to build high-performance applicationsScale your Go programs across machines and manage their life cycle using KubernetesBook Description Over the last few years, Go has become one of the favorite languages for building scalable and distributed systems. Its opinionated design and built-in concurrency features make it easy for engineers to author code that efficiently utilizes all available CPU cores. This Golang book distills industry best practices for writing lean Go code that is easy to test and maintain, and helps you to explore its practical implementation by creating a multi-tier application called Links ‘R’ Us from scratch. You’ll be guided through all the steps involved in designing, implementing, testing, deploying, and scaling an application. Starting with a monolithic architecture, you’ll iteratively transform the project into a service-oriented architecture (SOA) that supports the efficient out-of-core processing of large link graphs. You’ll learn about various cutting-edge and advanced software engineering techniques such as building extensible data processing pipelines, designing APIs using gRPC, and running distributed graph processing algorithms at scale. Finally, you’ll learn how to compile and package your Go services using Docker and automate their deployment to a Kubernetes cluster. By the end of this book, you’ll know how to think like a professional software developer or engineer and write lean and efficient Go code. What you will learnUnderstand different stages of the software development life cycle and the role of a software engineerCreate APIs using gRPC and leverage the middleware offered by the gRPC ecosystemDiscover various approaches to managing package dependencies for your projectsBuild an end-to-end project from scratch and explore different strategies for scaling itDevelop a graph processing system and extend it to run in a distributed mannerDeploy Go services on Kubernetes and monitor their health using PrometheusWho this book is for This Golang programming book is for developers and software engineers looking to use Go to design and build scalable distributed systems effectively. Knowledge of Go programming and basic networking principles is required.

OpenCV Computer Vision Application Programming Cookbook Second Edition

OpenCV Computer Vision Application Programming Cookbook Second Edition
Author: Robert Laganière
Publisher: Packt Publishing Ltd
Total Pages: 551
Release: 2014-08-26
Genre: Computers
ISBN: 178216149X

OpenCV 3 Computer Vision Application Programming Cookbook is appropriate for novice C++ programmers who want to learn how to use the OpenCV library to build computer vision applications. It is also suitable for professional software developers wishing to be introduced to the concepts of computer vision programming. It can also be used as a companion book in a university-level computer vision courses. It constitutes an excellent reference for graduate students and researchers in image processing and computer vision.

OpenGL 4 Shading Language Cookbook, Second Edition

OpenGL 4 Shading Language Cookbook, Second Edition
Author: David Wolff
Publisher: Packt Publishing Ltd
Total Pages: 634
Release: 2013-12-24
Genre: Computers
ISBN: 178216703X

OpenGL Shading Language 4 Cookbook is a hands-on guide that gets straight to the point – actually creating graphics, instead of just theoretical learning. Each recipe is specifically tailored to satisfy your appetite for producing real-time 3-D graphics using the latest GLSL specification. This book is for OpenGL programmers looking to use the modern features of GLSL 4 to create real-time, three-dimensional graphics. Familiarity with OpenGL programming, along with the typical 3D coordinate systems, projections, and transformations is assumed. It can also be useful for experienced GLSL programmers who are looking to implement the techniques that are presented here.

Kubernetes Cookbook

Kubernetes Cookbook
Author: Sameer Naik
Publisher: "O'Reilly Media, Inc."
Total Pages: 218
Release: 2023-11-13
Genre: Computers
ISBN: 1098142209

Kubernetes is the de facto standard for container orchestration and distributed applications management across a microservices framework. With this practical cookbook, you'll learn hands-on Kubernetes recipes for automating the deployment, scaling, and operations of application containers across clusters of hosts. In this fully updated second edition, Sameer Naik, Sébastien Goasguen, and Jonathan Michaux from TriggerMesh provide a problem-solution-discussion format with easy lookups to help you find the detailed answers you need—fast. Kubernetes lets you deploy your applications quickly and predictably, so you can efficiently respond to customer demand. This cookbook delivers the essential knowledge that developers and system administrators need to get there. Recipes in this cookbook focus on: Creating a Kubernetes cluster Using the Kubernetes command-line interface Managing fundamental workload types Working with services Exploring the Kubernetes API Managing stateful and non-cloud-native apps Working with volumes and configuration data Cluster-level and application-level scaling Securing your applications Monitoring and logging Maintenance and troubleshooting