Network Programming with Go teaches you how to write clean, secure network software with the programming language designed to make it seem easy. Build simple, reliable, network software Combining the best parts of many other programming languages, Go is fast, scalable, and designed for high-performance networking and multiprocessing. In other words, it's perfect for network programming.
Network Programming with Go will help you leverage Go to write secure, readable, production-ready network code. In the early chapters, you'll learn the basics of networking and traffic routing. Then you'll put that knowledge to use as the book guides you through writing programs that communicate using TCP, UDP, and Unix sockets to ensure reliable data transmission.
As you progress, you'll explore higher-level network protocols like HTTP and HTTP/2 and build applications that securely interact with servers, clients, and APIs over a network using TLS.
You'll also learn:
Internet Protocol basics, such as the structure of IPv4 and IPv6, multicasting, DNS, and network address translationMethods of ensuring reliability in socket-level communicationsWays to use handlers, middleware, and multiplexers to build capable HTTP applications with minimal codeTools for incorporating authentication and encryption into your applications using TLSMethods to serialize data for storage or transmission in Go-friendly formats like JSON, Gob, XML, and protocol buffersWays of instrumenting your code to provide metrics about requests, errors, and moreApproaches for setting up your application to run in the cloud (and reasons why you might want to) Network Programming with Go is all you'll need to take advantage of Go's built-in concurrency, rapid compiling, and rich standard library.
Covers Go 1.15 (Backward compatible with Go 1.12 and higher)Author: Adam Woodbeck
Binding Type: Paperback
Publisher: No Starch Press
Published: 03/25/2021
Pages: 392
Weight: 1.65lbs
Size: 9.20h x 6.90w x 1.20d
ISBN: 9781718500884
About the AuthorAdam Woodbeck is a Senior Software Engineer at Barracuda Networks where he has implemented a distributed cloud environment in Go to supplant the previous cloud infrastructure, profoundly increasing its scalability and performance. Before his career in software engineering, Woodbeck spent time in the world of biomechanics and neurology, caring for patients as a chiropractor for nearly a decade. Adam relishes the opportunity to take a deep dive into interesting topics and distill that information into a digestible format for the benefit others.