深入Go底层原理,重写Redis中间件实战|完结无秘

常见的“Go语法+Web小项目”学习模式,早已不能满足企业对Go开发者的技术要求。本课程深入Go语言内核,通过源码解读和原理剖析,帮你构建系统的开发思维;配合Go语言重写Redis项目实战,带你积累大型项目经验,在理解Redis原理的同时,更深入的掌握Go语言高级技术,一箭双雕!

第1章 课程导学与学习指南 试看2 节 | 12分钟

本章主要对课程进行整体介绍,在学习方法上提出一些建议和指导。

收起列表

图文:1-1 课前必读(不读错过一个亿)

视频:1-2 Go课程概览 (11:53)试看

第2章 Go的开发环境搭建与快速入门4 节 | 13分钟

本章指导同学安装学习环境,并指导没有GO基础的同学快速入门GO语言,达到跟上进阶课程的目的。

收起列表

视频:2-1 快速搭建Go学习环境 (12:57)

图文:2-2 GO 语言超快速入门

图文:2-3 如何安装Go

图文:2-4 GO语言快速入门练习

第3章 带你重新认识Go语言8 节 | 87分钟

本章介绍GO语言底层的几个本质特姓,让同学们站在高处审视将要深入学习的这门技术。并在选择具体语言技术时,心中有数。

收起列表

视频:3-1 为什么要用Go语言? (15:19)

视频:3-2 何为Runtime? (08:49)

视频:3-3 Go程序是如何编译的? (15:30)

视频:3-4 Go程序是如何运行的? (19:44)

视频:3-5 Go语言是面向对象的吗? (11:57)

视频:3-6 实战:企业级 Go 项目包管理方法 (15:32)

图文:3-7 面试题

图文:3-8 本章作业

第4章 Go在高并发下的数据结构 试看16 节 | 193分钟

本章主要带大家研究GO基本类型的底层原理,刷新对GO基本类型的认识。详细讲解了数组、字符串、接口、Sync.map等数据结构的原理,仔细研究源码,为实战手撕Redis打下基础。

收起列表

视频:4-1 什么变量的大小是 0 字节? (16:25)

视频:4-2 数组,字符串,切片底层是一样的吗?(一) (18:53)

视频:4-3 数组,字符串,切片底层是一样的吗?(二) (16:31)

视频:4-4 map:重写 Redis 能用它吗?(一) (13:54)

视频:4-5 map:重写 Redis 能用它吗?(二) (13:53)

视频:4-6 map为什么需要扩容? (13:02)试看

视频:4-7 怎么解决map的并发问题?(一) (13:41)

视频:4-8 怎么解决map的并发问题?(二) (11:11)

视频:4-9 接口–隐式更好还是显式更好? (一) (12:53)

视频:4-10 接口–隐式更好还是显式更好?(二) (11:29)

视频:4-11 nil,空接口,空结构体有什么区别? (13:36)

视频:4-12 实战:内存对齐是如何优化程序效率的?(一) (12:07)

视频:4-13 实战:内存对齐是如何优化程序效率的?(二) (17:35)

图文:4-14 本章作业

图文:4-15 面试题

视频:4-16 本章小结 (07:10)

第5章 高并发的核心工具:Goroutine 协程 试看11 节 | 116分钟

协程是GO的精髓,没有协程就没有GO。本章作为最核心的章节,会详解协程的本章以及协程的调度方法。并精读协程执行与协程调度相关源码。让同学在以后的应用中,对协程的使用得心应手。

收起列表

视频:5-1 为什么要有协程,线程不好用吗? (14:00)

视频:5-2 协程的本质是什么? (12:56)

视频:5-3 协程是如何执行的?(一) (16:09)试看

视频:5-4 协程是如何执行的?(二) (07:52)

视频:5-5 为什么要有 G-M-P 调度模型? (15:52)

视频:5-6 如何实现协程并发? (17:05)

视频:5-7 抢占式调度解决了什么问题? (16:06)

视频:5-8 实战–协程太多有什么问题? (10:52)

图文:5-9 本章作业

图文:5-10 面试题

视频:5-11 本章小结 (04:36)

第6章 Go高并发下的锁14 节 | 154分钟

极少有课程讲解GO的锁,但锁又很重要。本章详解原理操作的原理、GO的锁机制、读写锁、Wait Group等,并精读源码。让同学彻底搞通搞透锁的原理。

收起列表

视频:6-1 锁的基础是什么?(一) (13:47)

视频:6-2 锁的基础是什么?(二) (13:31)

视频:6-3 互斥锁解决了什么问题? (11:46)

视频:6-4 互斥锁是如何工作的? (17:34)

视频:6-5 锁饥饿怎么办? (14:58)

视频:6-6 只让你看,不让你改,能实现吗?(一) (15:22)

视频:6-7 只让你看,不让你改,能实现吗?(二) (12:59)

视频:6-8 只让你看,不让你改,能实现吗?(三) (09:25)

视频:6-9 如何通过WaitGroup互相等待? (16:20)

视频:6-10 段代码只能执行一次,怎么实现? (10:20)

视频:6-11 实战:如何排查锁异常问题 (12:35)

图文:6-12 本章作业

图文:6-13 面试题

视频:6-14 本章小结 (05:14)

第7章 高并发下的通信方式:Channel 管道8 节 | 70分钟

有了协程,就需要解决协程间的通讯问题,Channel应运而生。本章详解Channel的底层原理。并按照实战情况分析了Channel的底层源码。让同学对Channel的理解更加深入。

收起列表

视频:7-1 为什么要用 Channel,共享内存不好用吗? (14:03)

视频:7-2 如何设计高性能 Channel? (11:45)

视频:7-3 Channel 发送数据的底层原理是什么? (16:11)

视频:7-4 Channel 接收数据的底层原理是什么? (14:22)

视频:7-5 实战:非阻塞的Channel怎么做? (09:16)

图文:7-6 本章作业

图文:7-7 面试题

视频:7-8 本章小结 (03:32)

第8章 高并发应用:TCP网络编程 13 节 | 133分钟

网络应用是GO的最主力需求。本章详解GO对非阻塞IO的实现方式。感受Google工程师的神奇脑洞。学会怎样使用GO搭建高性能TCP服务器。

收起列表

视频:8-1 什么是非阻塞 IO?(一) (11:31)

视频:8-2 什么是非阻塞 IO?(二) (15:32)

视频:8-3 Go是如何抽象Epoll的?(一) (10:39)

视频:8-4 Go是如何抽象Epoll的?(二) (12:20)

视频:8-5 Network Poller 是如何工作的?(一) (13:36)

视频:8-6 Network Poller 是如何工作的?(二) (17:45)

视频:8-7 Go 是如何抽象 Socket 的?(一) (12:10)

视频:8-8 Go 是如何抽象 Socket 的?(二) (12:03)

视频:8-9 Go 是如何抽象 Socket 的?(三) (12:16)

视频:8-10 实战:怎样结合阻塞模型和多路复用? (08:08)

图文:8-11 本章作业

图文:8-12 面试题

视频:8-13 本章小结 (06:43)

第9章 高并发下的内存模型与垃圾回收

堆内存的结构和垃圾回收是GO语言设计最复杂的部分,也是性能调优最关键的部分。本章详解GO的内存管理与垃圾回收机制,让同学从底层了解GO堆内存的架构,并且能够处理有关内存和GC的高级技术问题。

第10章 Go的其他高级特姓

本章学习GO的其他重要的高级特姓。完善GO的高级知识图谱。例如反射、recover等。

第11章 GO实现TCP服务器

本章开始实战项目。首先实现一个Echo TCP Server,学会搭建Go中间件的基本框架。并学会如何优雅地关闭客户端的连接。

第12章 GO实现Redis协议解析器

本章讲解RESP协议。在 TCP Server的基础上,实现Redis的通信协议,既学习了Redis的技术规范,又提升了Go编码能力,一举两得。

第13章 GO实现内存数据库

本章实战Redis的基本功能。学习Redis原理的同时,也锻炼了GO特有的高并发开发能力,并进一步体会GO跨平台特姓的独特优势。

第14章 GO实现Redis持久化

本章学习Redis的数据持久化方法。并实战GO的文件IO特姓。至此,单机版本Redis更加完善。

第15章 GO实现Redis集群

本章完成Redis集群的开发。首先学习目前非常先进的一致姓哈希技术,并使用Go语言实现一致姓哈希。完成此章后,会大幅提高同学们的Go语言大型项目开发能力。

第16章 回顾与总结

本章主要对课程整体内容进行回顾,总结重难点。

免责声明: 1、本站信息来自网络,版权争议与本站无关 2、本站所有主题由该帖子作者发表,该帖子作者与本站享有帖子相关版权 3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和本站的同意 4、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责 5、用户所发布的一切软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。 6、您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。 7、请支持正版软件、得到更好的正版服务。 8、如有侵权请立即告知本站,本站将及时予与删除 9、本站所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章和视频仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。
600学习网 » 深入Go底层原理,重写Redis中间件实战|完结无秘