Last updated 4/2019MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHzLanguage: English | Size: 2.92 GB | Duration: 10h 7m
Delve into Go's powerful data structure, algorithms, classical design patterns by using TDD with some easy tricks What you'll learn This course is aimed at bner-level developers in the Go programming language, who would like to learn data structures and algorithms in Golang. Requirements Prior knowledge of basic Go programming would be advantageous. Description Go is a multi-paradigm programming language that has built-in facilities to create concurrent applications. Design Patterns will provide readers with a reference point to software design patterns and CSP concurrency design patterns to help them build applications in a more idiomatic, robust, and convenient way in Go.With this hands-on, practical course, you'll first have a deep dive into understanding the basic data types, structures, linked lists and doubly linked lists in Go. Then, you will learn about graph algorithms such as binary & trees. You will then learn about CSP concurrency patterns used to maintain thousands of servers. Moving further, you will also gain advanced knowledge about classic design patterns to build concise, readable, and maintainable applications & software.Finally, you will learn concurrent structures and parallel execution which helps you improve your concepts of Go Concurrency to write concurrent apps & develop some classical design patterns with concurrent structures to maximize parallelism. Contents and OverviewThis training program includes 2 complete courses, carefully chosen to give you the most comprehensive training possible.The first course, Learning Go Data Structures, and Algorithms will b by understanding the basic Data types and Structures in Go. Moving forward, you will learn the power of linked lists and doubly linked lists in Go and then learn to implement linear data structures such as stacks and queues. Also, implement binary searches and trees and will explore sorting algorithms in detail. From here, you will learn about graph algorithms and also be introduced to some common data structures used while working with strings. You will learn common techniques and structures used in tasks such as preprocessing, modelling, and transfog data. By the end of this course, you would have mastered functional and reactive implementations of traditional data structures in an easy and efficient mannerThe second course, Introduction to Go Classical Patterns starts with a brief introduction to Go programming essentials and quickly moves on to explain the idea behind the creation of design patterns and how they appeared in the 90’s as a common "language" between developers to solve common tasks in object-oriented programming languages. You will then learn how to apply the 23 Gang of Four (GoF) design patterns in Go and also learn about CSP concurrency patterns, the "killer feature" in Go that has helped Google develop software to maintain thousands of servers. With all of this, the book will enable you to understand and apply design patterns in an idiomatic way that will produce concise, readable, and maintainable software.The third course, Go Behavioural Patterns will take you to an advanced level of knowledge about classic design patterns but, as you will see, the design patterns covered here are quite different, partly because of the lack of inheritance in Go, but also because we have different and more optimal ways to solve the same problems. With all this, the course will enable you to understand and apply design patterns in an idiomatic way that will produce concise, readable, and maintainable software.The fourth course, Go Concurrency is on learning about concurrent structures and parallel execution. You will use the majority of Go primitives to write concurrent apps, and we will develop some classical design patterns with concurrent structures to maximize parallelism. Also, you will learn some typical structures with which to develop concurrent apps in Go. You will learn how a classical pattern can become more complex if you need it to work in a concurrent way; however, the idea is to understand Go concurrent primitives so that you know how to write your own concurrent design patterns by using the knowledge taken from the course.About the Authors: Gustavo is an experienced software developer and has been writing code since the bning of the century. He has vast experience working with different languages, including Erlang, javascript, and C but with a major interest in Go. He is currently a Technical Leader of a Golang team that builds distributed systems. When he is not coding, you can find him cycling, rock-climbing, and playing guitar in his free .Mario Castro Contreras is a software eeer who has specialized in distributed systems and big data solutions. He works as a site reliability eeer, and now he is focused on containerized solutions and apps using most of the Google Cloud suite, especially, Kubernetes. He has wide experience in systems and solutions integration, and he has written many scalable and reliable 12-factor apps using Go and Docker. He has designed big data architectures for financial services and the media, and he has written data processing pipelines using event-driven architectures entirely in Go. He is also very active in the open source community, and you can find him on his GitHub account with the username sayden. In the past, he has also written mobile applications and backends in Java. Mario is passionate about programming languages, and he finds the best balance between fun and productivity in Go; however, recently he enjoys writing in Rust and embedded systems in C. He is also passionate about road cycling and winter sports. Overview Section 1: Learning Go Data Structures and Algorithms Lecture 1 The Course Overview Lecture 2 Basics of Go Lecture 3 Writing a Hello World Program Lecture 4 Variables and Elementary Types Lecture 5 Applying Functions Lecture 6 Fog Control Structures Lecture 7 Data Structures - Array, Slices, and Maps Lecture 8 Structs and Methods Lecture 9 Error Handling Lecture 10 Single and Double Linked Lists Lecture 11 Implementing Stacks Lecture 12 Implementing Queue (Alternative Channel Implementation) Lecture 13 Binary Search and Trees Lecture 14 Generating Channels Lecture 15 Multiplex and Demultiplex with Fan In/Out Lecture 16 Implementing Worker Pools Lecture 17 Building a (Tiny) Distributed Search Ee Section 2: Introduction to Go Classical Patterns Lecture 18 The Course Overview Lecture 19 Installing Go Lecture 20 Starting with Hello World Lecture 21 Flow Control Lecture 22 Functions Lecture 23 Arrays, Slices, and Maps Lecture 24 Pointers, Structures, and Interfaces Lecture 25 Testing and TDD Lecture 26 Libraries Lecture 27 Go Tools Lecture 28 Singleton Design Pattern Lecture 29 Builder Design Pattern Lecture 30 Factory Method Lecture 31 Abstract Factory Lecture 32 Prototype Design Pattern Lecture 33 Composite Design Pattern Lecture 34 Adapter Design Pattern Lecture 35 Bridge Design Pettern Lecture 36 Proxy Design Pattern Lecture 37 Decorator Design Pattern Lecture 38 Facade Design Pattern Lecture 39 Flyweight Design Pattern Section 3: Go Behavioral Patterns Lecture 40 The Course Overview Lecture 41 Strategy Design Pattern Lecture 42 Chain of Responsibility Pattern Lecture 43 Command Design Pattern Lecture 44 Template Design Pattern Lecture 45 Memento Design Pattern Lecture 46 Interpreter Design Pattern Lecture 47 Visitor Design Pattern Lecture 48 State Design Pattern Lecture 49 Mediator Design Pattern Lecture 50 Observer Design Pattern Section 4: Go Concurrency Lecture 51 The Course Overview Lecture 52 Defining Concurrency Lecture 53 Goroutines Lecture 54 Callbacks Lecture 55 Mutexes Lecture 56 Channels Lecture 57 Using It all – Concurrent Singleton Lecture 58 Barrier Concurrency Pattern Lecture 59 Future Design Pattern Lecture 60 Pipeline Design Pattern Understanding the basics to get started with Golang,Implementing stacks and queues & data structure,Exploring different concurrency models for data processing,Build your own tiny distributed search ee,Encapsulate the creation of complex objects in an idiomatic way in Go,Create unique instances that cannot be duplicated within a program,Understand the importance of object encapsulation to provide clarity and maintainability,Learn most Go primitives and write concurrent apps,Develop some classical design patterns with concurrent structures to maximize parallelism 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.