价格: 299 学币

分类: Go

发布时间: 2021-09-25 10:35:42

最近更新: 2022-01-09 18:42:28

优惠: 钻石SVIP购买此课享受8折优惠

网盘下载地址

GoCN社区Go高级工程师实战营课程介绍

本课程来自GoCN社区原价3499元,是一门学习Go高级开发的视频教程,本视频教程围绕三大高阶内容板块带你深入分析理解Go核心技术,培养对标P6+ /D7级Gopher,让你快速提升四大核心能力。

GoCN社区Go高级工程师实战营 GoCN社区Go高级工程师实战营

讲师:曹春晖(Xargin)

前蚂蚁金服技术专家,Go语言contributor

谢孟军(Asta)

GoCN社区创始人,世界知名Go技术专家

哪些人适合学习Go高级工程师实战营?

2年以上工作经验,具有一定的Go语言基础和工作基础,但在理论和技术上寻求突破的Go语言工程师

从其他语言(如Java,PHP)转Go,具有一定项目经验,用Go写过简单的项目,但不知道怎样利用Go的优势应对更为复杂的大型项目的工程师

你将学到以下核心内容

一. Go 程序是怎么跑起来的

教学目标:理解 Go 进程的启动过程,以调度循环串联相关的知识,理解 GPM 架构以及相关模型设计在不同阶段的问题及发展历史。

工作痛点:看着源代码,迷失在茫茫的数据结构和字段中;面试总是被人考调度循环,只是了解一些概念,无法融会贯通

详细内容:

Go 程序的启动过程

GPM 模型与调度循环

全局队列与局部队列

调度模型的发展历史

二. 语法背后的秘密

教学目标:通过学习 Go 内置的工具,了解如何将应用代码与底层代码做好对应;能够通过内置工具、调试器、源代码阅读对底层简单数据结构进行分析;

工作痛点:学会了语法,但是找不到实现代码,看别人的 blog 云里雾里;自己翻代码经常发现找不到实现部分,然后放弃。

详细内容:

学习基本的编译原理知识,了解基本的词法分析、语法分析、编译、链接流程

了解 Go 内置的编译/反编译工具:compile -S / objdump / SSAFUNC

使用工具分析 slice 的 append 实现

学习函数调用规约,Go 语言为什么可以实现多个返回值

其它语法糖分析:go func,select,channel send/recv

三. 神奇的内置数据结构

教学目标:学习 hashtable,timer 等复杂的数据结构实现;了解这些结构的进化历史和相关的优缺点;了解基本的 CSP 编程理念。

工作痛点:内置数据结构只会使用 api,碰到了相关的问题不知道该从何下手,对相关数据结构的设计缺乏宏观认识。

详细内容:

Go 语言的 hash 表实现:map 解析

Go 语言的 timer 实现演进

channel 的实现,CSP 理论基础

四. 编程语言与操作系统的桥梁

教学目标:了解基础操作系统接口知识,知道随着计算机体系结构的发展,系统调用是如何迭代进化的;知道如何去查询 syscall 的实现。

工作痛点:代码的行为和操作系统的关联关系难以理解,我写的 make 怎么就变成了 OS 的内存分配?

详细内容:

了解 linux syscall 的原理

理解 Go 语言是如何封装 syscall 的,哪些是 blocking syscall,哪些是 non blocking syscall

一些常见的 syscall 科普:clone,tgkill,futex,madvise

五. Go 的内存管理与垃圾回收

教学目标:理解基本的内存分配器原理;了解 tcmalloc 的设计理念;了解垃圾回收的繁多概念,建立相关的内存管理知识体系。

为什么内存分配要设计成多级结构?为啥 GC 的 stw 都已经 1ms 以下了,我的应用延迟还是这么高?

详细内容:

内存分配原理讲解

GC 设计讲解

memory barrier 讲解

GC 调步讲解

真实场景下的一些 GC 问题

六. Go 并发编程最佳实践

教学目标:理解常见并发编程模型:包括 fanin,fanout,or channel 等;知道常见的并发 bug;学会避免或排查线上的并发导致的 bug;

工作痛点:为什么给 string 变量赋值会 panic,难以理解;社区里的人对哪些操作是原子性的说法不一,令人困惑,我到底该相信谁。

详细内容: Go 语言常见并发模式一览(参考 concurrency in go)

常见的并发 bug

如何尽量避免并发 bug 被带到线上系统

如何排查线上的并发 bug(如死锁、data race,map con write fatal等)

GoCN社区Go高级工程师实战营课程目录

.
├── 模块01 Go 程序是怎么跑起来的/
├── 模块02 语法背后的秘密/
├── 模块03 神奇的内置数据结构/
├── 模块04 编程语言与操作系统的/
├── 模块05 内存分配/
├── 模块06 Go 与并发/
├── 模块07  netpoll 和抢占式调度/
├── 模块08 人才培养体系/
├── 模块10 社区优秀框架对比/
├── 模块11 web 框架基本原理/
├── 模块12  框架上的业务分层/
├── 模块13 优雅的 Go 代码/
├── 模块14  互联网数据中台/
├── 模块15  Go 优化/
├── 模块16 微服务的拆分难题/
├── 模块17 CICD 实践/
├── 模块18 监控与可观测性/
├── 模块19 微服务基础设施/
├── 模块20 大公司的稳定性密码/
├── 模块21 Go语言前沿/
├── 模块22 Go语言与未来架构/
├── 模块23 以 go-micro 为例讲讲抽象/
├── 模块24 cloud native go/
├── 模块9  Go 的 GC/
└── 资料代码/

GoCN社区Go高级工程师实战营课程视频随机截图:

GoCN社区Go高级工程师实战营

GoCN社区Go高级工程师实战营资源目录截图

GoCN社区Go高级工程师实战营