Mastering Go

Download Mastering Go PDF/ePub or read online books in Mobi eBooks. Click Download or Read Online button to get Mastering Go book now. This website allows unlimited access to, at the time of writing, more than 1.5 million titles, including hundreds of thousands of titles in various foreign languages.
Mastering Go

Author: Mihalis Tsoukalos
language: en
Publisher: Packt Publishing Ltd
Release Date: 2024-03-29
Dive into the core of Go programming and cover advanced topics like generics, concurrency, web services, and cutting-edge testing techniques in this comprehensive fourth edition. Get With Your Book: PDF Copy, AI Assistant, and Next-Gen Reader Free Key Features Fully updated with coverage of web services, TCP/IP, REST APIs, Go Generics, and Fuzzy Testing Apply your new knowledge to real-world exercises, building high-performance servers and robust command-line utilities, to deepen your learning Gain clarity on what makes Go different, understand its nuances and features for smoother Go development Book DescriptionMastering Go, now in its fourth edition, remains the go-to resource for real-world Go development. This comprehensive guide delves into advanced Go concepts, including RESTful servers, and Go memory management. This edition brings new chapters on Go Generics and fuzzy Testing, and an enriched exploration of efficiency and performance. As you work your way through the chapters, you will gain confidence and a deep understanding of advanced Go topics, including concurrency and the operation of the Garbage Collector, using Go with Docker, writing powerful command-line utilities, working with JavaScript Object Notation (JSON) data, and interacting with databases. You will be engaged in real-world exercises, build network servers, and develop robust command-line utilities. With in-depth chapters on RESTful services, the WebSocket protocol, and Go internals, you are going to master Go's nuances, optimization, and observability. You will also elevate your skills in efficiency, performance, and advanced testing. With the help of Mastering Go, you will become an expert Go programmer by building Go systems and implementing advanced Go techniques in your projects.What you will learn Learn Go data types, error handling, constants, pointers, and array and slice manipulations through practical exercises Create generic functions, define data types, explore constraints, and grasp interfaces and reflections Grasp advanced concepts like packages, modules, functions, and database interaction Create concurrent RESTful servers, and build TCP/IP clients and servers Learn testing, profiling, and efficient coding for high-performance applications Develop an SQLite package, explore Docker integration, and embrace workspaces Who this book is for Mastering Go is written primarily for Go programmers who have some experience with the language and want to become expert practitioners. You will need to know the basics of computer programming before you get started with this book, but beyond that, anyone can sink their teeth into it.
Mastering Go Network Automation

"Mastering Go Network Administration" is a structured beginning for network administrators looking to improve network efficiency, scalability, and security. This book provides a one-stop solution for all of your network administration needs, with comprehensive coverage of automation, security, containerization, monitoring, and performance testing. Beginning with the fundamentals of creating a network automation lab with the EVENG network simulator and the Go programming language, readers will learn the step-by-step process of installing EVE-NG, followed by the importance of service mesh in automation and how it can simplify network operations. The book delves deeply into critical topics such as deploying ingress controllers and implementing service mesh with Linkerd. Readers will learn about container-native storage, container storage management with Docker, and automated SSL certificates, firewall configuration, and network policies. Monitoring and performance tuning are also covered in the book, including how to monitor container performance and automatically roll out updates. The book covers a series of performance testing strategies like load testing, stress testing, and scalability testing. It shows readers how to find performance bottlenecks and optimise their network with the help of tools like Vegeta and Apache JMeter through the use of real-world examples. Key Learnings Setting up an EVE-NG network simulator, VIM IDE, kubeadm, and a comprehensive network automation lab to improve network efficiency, scalability, and security. Configuring ports, hosts, and servers using Go scripting to streamline network automation. Writing, testing, and validating network automation scripts to ensure smooth and reliable network administration. Building Docker images, running containers, and managing container deployments for efficient containerization. Automating load balancing, firewall configuration, and Kubernetes network policies for seamless network management. Working with popular tools such as Puppet, Zookeeper, Traefik, Envoy, and various Go networking packages. Automating SSL setup, container storage, container performance monitoring, and rolling updates. Using powerful load testing tools like Vegeta and Apache JMeter for efficient load testing, stress testing, and scalability testing to identify and eliminate performance bottlenecks. Table of Content Go Essentials for Networks Setting Up Network Automation Environment Configuring Modern Networks Write, Test and Validate Automation Scripts Automation of Configuration Management Networking with Container and Docker Orchestrating Containers and Automating Workloads Automate SSL, Container-native Storage and Performance Kubernetes Automation Service Mesh, Firewall and Network Policies Network Performance Testing Audience If you're a network administrator who wants to level up your game, "Mastering Go Network Administration" is the book for you. This book will help you become a more efficient, effective, and confident network administrator by providing clear explanations, practical examples, and comprehensive coverage.
Mastering Go - Third Edition

Master key features of Go, including advanced concepts like concurrency and working with JSON, to create and optimize real-world services, network servers, and clientsKey Features* Third edition of the bestselling guide to advanced Go programming, expanded to cover RESTful servers, the WebSocket protocol, and Go generics* Use real-world exercises to build high-performance network servers and powerful command line utilities* Packed with practical examples and utilities to apply to your own development work and administrative tasks* Clearly explains Go nuances and features to simplify Go developmentBook DescriptionGo is the language of the future for high-performance systems due to its simplicity and clear principles. Mastering Go shows you how to put Go to work on real production systems. This new edition has been updated to include topics like creating RESTful servers and clients, understanding Go generics, and developing gRPC servers and clients.Mastering Go, Third Edition explores the capabilities of Go in practice. You will become confident with advanced concepts, including concurrency and the operation of the Go Garbage Collector, using Go with Docker, writing powerful command-line utilities, working with JavaScript Object Notation (JSON) data, and interacting with databases. You will also improve your understanding of Go internals to optimize Go code and use data types and data structures in new and unexpected ways.This Go programming book also covers the nuances and idioms of Go with exercises and resources to fully embed your newly acquired knowledge. Become an expert Go programmer by building Go systems and implementing advanced Go techniques in your projects.What you will learn* Use Go in production* Write reliable, high-performance concurrent code* Manipulate data structures including slices, arrays, maps, and pointers* Develop reusable packages with reflection and interfaces* Become familiar with generics for effective Go programming* Create concurrent RESTful servers, and build gRPC clients and servers* Define Go structures for working with JSON dataWho this book is forThis book is for Go programmers with previous coding experience, who are familiar with the basics of the language and want to become expert Go practitioners.