Last updated 12/2017MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHzLanguage: English | Size: 483.34 MB | Duration: 4h 10m
Develop modular and testable applications in Go! What you'll learn Explore working with filesystems Process common datatypes such as TOML, YAML, and JSON Explore strats to handle errors in Go Implement Go HTTP client interfaces, REST clients, OAuth2 clients Explore web handlers, validation of user input, and middleware 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 Requirements Prior Basic Knowledge of Go programming language is needed Basic understanding of JSON and MySQL is needed Description Go is one of the most powerful, efficient, and highly-performant programming languages. It has seen an increased rate of adoption mainly because it is lightweight, easy to use and displays great robustness when perfog in a variety of domains. Go is an open source programming language that makes it easy to build simple, reliable, and efficient software. Go (often referred to as golang) is a programming language created at Google in 2009. 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. If you're interested to build a foundation for your applications so as to improve its performance, then go for this Learning Path. Packt’s Video Learning Paths are a series of individual video products put together in a logical and stepwise manner such that each video builds on the skills learned in the video before it. The highlights of this Learning Path are Learn encoding strats and some functional design patterns for GoDeal with various storage libraries for accessing data storage systems such as MySQLTest your application using advanced testing methodologies Let’s take a quick look at your learning journey. This Learning Path starts off with 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. Initially you will work upon I/O file systems and command line tools. Error handling feature of Go will help you with structured logging, logging with context package, etc. You will also learn about databases and storage using MySQL and NoSQL with MongoDB. You will also come across microservices that improves your Go applications. Further, this path 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. You will learn about serverless programming and also tips and tricks to improve performance of your application. By the end of this Learning Path, you will be able to bridge the gap between basic understanding of Go and use of its advanced features to build foundation for your applications. Meet Your Experts We have combined the best works of the following esteemed authors to ensure that your learning journey is smooth Aaron Torres received his master’s of science degree in computer science from New Mexico Institute of Mining and Technology. He has worked on distributed systems in high performance computing and in large-scale web and microservices applications. He currently leads a team of Go developers that refines and focuses on Go best practices with an emphasis on continuous delivery and automated testing. Aaron has published a number of papers and has several patents in the area of storage and I/O. He is passionate about sharing his knowledge and ideas with others. He is also a huge fan of the Go language and open source for backend systems and development. Overview Section 1: Bner Solutions in Go - The Basics, Clients, and Servers Lecture 1 The Course Overview Lecture 2 Using the Common I/O Interfaces Lecture 3 Using the Bytes and Strings Packages Lecture 4 Working with Directories and Files Lecture 5 Working with the CSV format Lecture 6 Working with Temporary Files Lecture 7 Working with Text/Template and HTML/Templates Lecture 8 Using Command-Line Flags Lecture 9 Using Command-Line Arguments Lecture 10 Reading and Setting Environment Variables Lecture 11 Configuration Using TOML, YAML, and JSON Lecture 12 Working with Unix Pipes Lecture 13 Catching and Handling Signals Lecture 14 An ANSI Coloring Application Lecture 15 Converting Data Types and Interface Casting Lecture 16 Working with Numeric Data Types using math and math/big Lecture 17 Currency Conversions and float64 considerations Lecture 18 Using Pointers and SQL NullTypes for Encoding and Decoding Lecture 19 Encoding and Decoding Go Data Lecture 20 Struct Tags and Basic Reflection in Go Lecture 21 Implementing Collections Via Closures Lecture 22 Handling Errors and the Error Interface Lecture 23 Using the pkg/errors Package and Wrapping Errors Lecture 24 Using the log Package and Understanding When to Log Errors Lecture 25 Structured Logging with the apex and logrus Packages Lecture 26 Logging with the context Package Lecture 27 Using Package-Level Global Variables Lecture 28 Catching Panics for Long Running Processes Lecture 29 The database/sql Package with MySQL Lecture 30 Executing a Database Transaction Interface Lecture 31 Connection Pooling, Rate Limiting, and outs for SQL Lecture 32 Working with Redis Lecture 33 Using NoSQL with MongoDB and mgo Lecture 34 Creating Storage Interfaces for Data Portability Lecture 35 Initializing, Storing, and Passinghttp.Client structs Lecture 36 Writing a Client for a REST API Lecture 37 Executing Parallel and Async Client Requests Lecture 38 Making Use of OAuth2 Clients Lecture 39 Implementing an OAuth2 Token Storage Interface Lecture 40 Wrapping a Client in Added Functionality and Function Composition Lecture 41 Understanding GRPC Clients Lecture 42 Working with Web Handlers, Requests, and ResponseWriters Lecture 43 Using Structs and Closures for Stateful Handlers Lecture 44 Validating Input for Go structs and User Inputs Lecture 45 Rendering and Content Negotiation Lecture 46 Implementing and Using Middleware Lecture 47 Building a Reverse Proxy Application Lecture 48 Exporting GRPC as a JSON API Section 2: Advanced Solutions in Go - Testing and Distributed Systems Lecture 49 The Course Overview Lecture 50 Mocking Using the Standard Library Lecture 51 Using the mockgen Package Lecture 52 Using Table-Driven Tests to Improve Coverage Lecture 53 Using Third-Party Testing Tools Lecture 54 Practical Fuzzing Lecture 55 Behavior Testing Using Go Lecture 56 Using channels and the select Statement Lecture 57 Perfog async Operations withsync.WaitGroup Lecture 58 Using Atomic Operations and mutex Lecture 59 Using the context Package Lecture 60 Executing State Management for Channels Lecture 61 Using the Worker Pool Design Pattern Lecture 62 Using Workers to Create Pipelines Lecture 63 Using Service Discovery with Consul Lecture 64 Implementing Basic Consensus Using Raft Lecture 65 Using Containerization with Docker Lecture 66 Orchestration and Deployment Strats Lecture 67 Monitoring Applications Lecture 68 Collecting Metrics Lecture 69 goflow for Dataflow Programming Lecture 70 Reactive Programming with RxGo Lecture 71 Using Kafka with Sarama Lecture 72 Using async Producers with Kafka Lecture 73 Connecting Kafka to goflow Lecture 74 Defining a GraphQL Server in Go Lecture 75 Go Programming on Lambda with Apex Lecture 76 Apex Serverless Logging and Metrics Lecture 77 Google App Ee with Go Lecture 78 Working with Firebase Using zabawaba99/firego Lecture 79 Using the pprof Tool Lecture 80 Benchmarking and Finding Bottlenecks Lecture 81 Memory Allocation and Heap Management Lecture 82 Vendoring and Project Layout Lecture 83 Using fasthttprouter and fasthttp This Learning Path is for web developers, programmers, and enterprise developers, who want to build a foundation for their applications with the advanced features of Go. HomePage:
TO MAC USERS: If RAR password doesn't work, use this archive program:
RAR Expander 0.8.5 Beta 4 and extract password protected files without error.
TO WIN USERS: If RAR password doesn't work, use this archive program:
Latest Winrar and extract password protected files without error.