Programming Implementations And Standard Libraries In Go
Last updated 1/2019
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 3.34 GB | Duration: 9h 11m
Last updated 1/2019
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 3.34 GB | Duration: 9h 11m
Explore Go using practical recipes on real-world challenges & build efficient applications rapidly with Go
What you'll learn
Build a completely functional web server in under 20 lines of code!
Explore the basics of the Go programming language for cloud computing and microservices.
Work with Go's unique approach to interfaces and how this makes your programs more modular and testable.
Handle errors, HTTP and perform logging & responses.
Write a simple web server and file server.
Perform CRUD operations on a relational database.
Interact with the underlying OS to perform I/O operations.
Discover how to build REST and JSON APIs.
Test idiomatically without any third-party packages.
Leverage concurrency with goroutines and channels.
Requirements
Programming knowledge is required but no knowledge of Go is needed.
Basic knowledge of Go is assumed.
Description
Go is an open source programming language by Google that makes it easy to build simple, reliable, and efficient software; which is statically typed language in the tradition of Algol and C, with garbage collection, limited structural typing, memory safety features, and CSP-style concurrent programming features added. With this hands-on course, you'll start getting introduced to unique features of Go so as to learn how to build a completely functional application server in under minimal lines of code. Along with this, you'll explore Go's approach to error handling, Object-Oriented Programming, and concurrency. Then you will start getting familiar with the tools to develop an application. Next, you will learn how various answers are programmed in the Go language, which will take you to the next level in your mastering at Go. Additionally, you'll also learn essential Go libraries required to build your own production-ready applications. Contents and OverviewThis training program includes 2 complete courses, carefully chosen to give you the most comprehensive training possible.The first course, Learn Go in 3 Hours begins by introducing you to the essentials of C++. You will learn how to set up the environment, where you’ll write your very first program. You’ll then work with the basic components and standard library functions that make up the language, and from there, you’ll gently move onto some advanced and interesting topics such as Object-Oriented Programming, Inheritance, and Memory Allocation (all of which will help with better performance and testing). This course is designed and developed so you seamlessly get acquainted with C++ and begin developing applications in no time.The second course, Hands-on with Go will introduce you to object-oriented programming (OOP). It includes an in-depth analysis of classes and the associated OOP concepts, which will empower you to implement the concepts of object-oriented programming (OOP) in real life scenarios. It also provides you with the essential know-how to tackle challenges while writing your code. Toward the end of each section, you’ll be introduced to the practical implementation of the concepts. The third course, Go Standard Library Solutions will help you master your developing skills with C++. With real-world, practical examples explaining each concept, the course will begin by introducing you to the latest features in C++ 17. It encourages clean code practices in C++ in general and demonstrates the GUI app-development options in C++. By the end of the course, you’ll have an in-depth understanding of the language and its various facets.About the Authors: Jonathan Bodner has spent the past 20 years working in just about every corner of the software industry including online commerce, education, finance, government, healthcare, and internet infrastructure. He is a software engineer, lead developer, an architect and enjoys presenting and discussing open source technology trends, and the future of software engineering. Jon is currently a Lead Software Engineer at Capital One where, along with a co-worker, he recently open sourced checks-out, a fork of the LGTM project. Over the past two years, Jon has given several public talks on Go. At DevFest DC, he gave introductory and advanced talks on Go concurrency. At GopherCon, he introduced Proteus, a declarative, type-safe, runtime-generated DAO layer for Go and, at GothamGo, he spoke on closures and generics in Go. In addition to talking and writing about Go, Jon has also spoken at PyData DC on improving Data Science accuracy via software engineering, took part in a panel on open source in the enterprise at Atlanta Vision Talks, and spoke about Capital One's open source process at the Open Source Leadership Summit and OSCON.Tarik Guney has been working as a hands-on software engineer for more than 10 years in the industry after he completed his bachelor in computer engineering. He has worked for various domains including finance, education, and public safety. He has completed his master’s degree in computer science and getting very close to completing his doctorate in computer science. He is currently working as a principal software engineer for Motorola Solutions. His passion for programming and his years of experience in the industry always lead him to explore new technologies, using them in real-world scenarios, and helping others. Besides his videos about Go Programming, he has recorded hours of videos about JavaScript, C#, Career Planning, Git and GitHub, Docker, Debugging, Android, and soft skills for software developers. He speaks English and Turkish.Johnny Boursiquot is a multi-disciplined Software and Cloud Systems Engineer with two decades of industry experience spanning various server, client, and mobile technologies. His past roles include the developer, co-founder, teacher, and CTO. His love for technology is matched only by his passion for community service. He is a GoBridge Core Member, the founder, and organizer of the Baltimore Golang User Group, a previous organizer for the Boston Ruby User Group, and the Boston Golang User Group. He regularly serves as a speaker and teacher for various organizations that seek to diversify the tech industry. He has been known to mentor a number of young technology professionals in the Boston and Baltimore metro areas.
Overview
Section 1: Learn Go in 3 Hours
Lecture 1 The Course Overview
Lecture 2 What Is Go and Where Does It Come From?
Lecture 3 Installing Your Go Environment
Lecture 4 Validating Your Environment and Go Playground
Lecture 5 Building a Web Server in Go
Lecture 6 Declaring Variables
Lecture 7 Numeric Types
Lecture 8 Strings, Runes, and Arrays
Lecture 9 If/Else and For Statements
Lecture 10 Switch Statements
Lecture 11 Introduction to Functions
Lecture 12 Advanced Functions
Lecture 13 Pointers
Lecture 14 Package and Imports
Lecture 15 Creating and Using Your Own Packages
Lecture 16 Working with Third-party Packages
Lecture 17 Slices and Maps
Lecture 18 Structs
Lecture 19 Methods
Lecture 20 Interfaces
Lecture 21 Errors
Lecture 22 CSP and Goroutines
Lecture 23 Channels
Lecture 24 Select
Section 2: Hands-on with Go
Lecture 25 The Course Overview
Lecture 26 Installing Go Binaries
Lecture 27 Quick Look at Go Language
Lecture 28 Trimming Spaces from Beginning and End of Strings
Lecture 29 Extracting Substrings from String Values
Lecture 30 Replacing Parts of a String
Lecture 31 Escaping Characters in Strings
Lecture 32 Capitalizing String Values
Lecture 33 Converting Boolean to String
Lecture 34 Converting Integer and Float Values to String
Lecture 35 Parsing String Values to Boolean
Lecture 36 Parsing String Values to Integer and Float
Lecture 37 Converting a Byte Array to String
Lecture 38 Finding Today's Date and Time
Lecture 39 Adding or Subtracting from Date
Lecture 40 Finding the Difference Between Two Dates
Lecture 41 Parsing Dates and Times from Strings
Lecture 42 Extracting Unique Elements from a List
Lecture 43 Finding an Element from an Array
Lecture 44 Reverting an Array
Lecture 45 Iterating over an Array
Lecture 46 Converting a Map into an Array of Keys and Values
Lecture 47 Merging Arrays
Lecture 48 Merging Maps
Lecture 49 Testing for the Presence of a Key in a Map
Lecture 50 Creating Custom Error Types
Lecture 51 Try/Catch Equivalent in Go
Lecture 52 Doing a Simple Logging in Your App
Lecture 53 Gracefully Dealing with Panics
Lecture 54 Checking the Existence of a File
Lecture 55 Reading the Entire Content of a Text File
Lecture 56 Writing to a File
Lecture 57 Creating Temporary Files
Lecture 58 Counting Lines in a File
Lecture 59 Reading a Particular Line in a File
Lecture 60 Comparing the Contents of Two Files
Lecture 61 Deleting a File
Lecture 62 Copying or Moving a File
Lecture 63 Renaming Files
Lecture 64 Deleting a Directory and Its Contents
Lecture 65 List All the Files under a Directory
Lecture 66 Running Multiple Functions Concurrently
Lecture 67 Passing Data Between Concurrently Running Functions
Lecture 68 Waiting for All Concurrent Functions to Finish
Lecture 69 Selecting the Results of Concurrent Functions
Lecture 70 Catching Signals
Lecture 71 Running Child Processes
Lecture 72 Processing Command-line Arguments
Lecture 73 Downloading a Web Page from Internet
Lecture 74 Downloading Files from Internet
Lecture 75 Creating a Simple Web Server
Lecture 76 Creating a Simple File Server
Lecture 77 Reading Data from SQL Databases
Lecture 78 Inserting Data to Database
Lecture 79 Updating Data in Database
Lecture 80 Deleting Data from Database
Section 3: Go Standard Library Solutions
Lecture 81 The Course Overview
Lecture 82 Output Formatting with the fmt Package
Lecture 83 Input Scanning with the fmt Package
Lecture 84 Manipulating Strings and Bytes with the Strings and Bytes Packages
Lecture 85 Converting to and from Strings with the strconv Package
Lecture 86 Working with Regular Expressions Using the regexp Package
Lecture 87 Get Comfortable with the Go Build Tools
Lecture 88 Interact with the Environment through the flag and os Packages
Lecture 89 Perform File and Directory Manipulation with the os, io, and path Packages
Lecture 90 Always Handling Our Errors and Using the Errors Package
Lecture 91 Let's Do Some Math
Lecture 92 Working with Time
Lecture 93 Archives and Compression
Lecture 94 Images
Lecture 95 Build a Simple Server with Net/Http
Lecture 96 Middleware
Lecture 97 Writing Robust HTTP Clients
Lecture 98 Context
Lecture 99 Encoding
Lecture 100 Handling JSON Input and Output
Lecture 101 Data Storage and Retrieval
Lecture 102 Testing with the Testing Package
Lecture 103 Goroutines
Lecture 104 Channels
Lecture 105 Synchronization
Lecture 106 Concurrency Patterns
This course is for application developers, interested in learning how to apply the functional paradigm to create robust and testable applications.