Golang工程师
Go语言基础入门和编程思维
- 01.Go语言基础知识
- 准备
- 1-1 G0工程师体系课导学
- 1-2 go语言的安装
- 1-3 goland的安装
- 基础语法
- 2-1 变量定义
- 2-2 内建变量类型
- 2-3 常量与枚举
- 2-4 条件语句
- 2-5 循环
- 2-6 函数
- 2-7 指针
- 内建容器
- 3-1 数组
- 3-2 切片的概念
- 3-3 切片的操作
- 3-4 Map
- 3-5 Map例题
- 3-6 字符和字符串处理
- 面向“对象”
- 4-1 结构体和方法
- 4-2 包和封装
- 4-3 扩展已有类型
- 4-4 实用内嵌来扩展已有类型
- Go语言的依赖管理
- 5-1 依赖管理
- 5-2 GOPATH 和 GOVENDOR
- 5-3 go mod的使用
- 5-4 目录的整理
- 准备
- 02.Go语言编程思想
- 面向接口
- 1-1 接口的概念
- 1-2 duck typing的概念
- 1-3 接口的定义和实现
- 1-4 接口的值类型
- 1-5 接口的组合
- 1-6 常用系统接口
- 函数式编程
- 2-1 函数式编程
- 2-2 函数式编程例一
- 2-3 函数式编程例二
- 错误处理和资源管理
- 3-1 defer调用
- 3-2 错误处理概念
- 3-3 服务器统一出错处理_浏览器需放大
- 3-4 服务器统一出错处理2
- 测试与性能调优
- 4-1 测试
- 4-2 代码覆盖率和性能测试
- 4-3 使用pprof进行性能调优
- 4-4 测试http服务器(上)
- 4-5 测试http服务器(下)
- 4-6 生成文档和示例代码
- Goroutine
- 5-1 goroutine
- 5-2 go语言的调度器
- Channel
- 6-1 channel
- 6-2 使用Channel等待任务结束
- 6-3 使用Channel进行树的遍历
- 6-4 Select
- 6-5 传统同步机制
- 6-6 并发模式(上)
- 6-7 并发模式(下)
- 6-8 并发任务的控制
- 迷宫的广度优先搜索
- 7-1 迷宫_算法
- 7-2 迷宫代码实现
- http及其他标准库
- 8-1 http标准库
- 8-2 json数据格式的处理
- 8-3 第三方API数据格式的解析技巧
- 8-4 gin框架介绍
- 8-5 为gin增加middleware
- 开始实战项目
- 爬虫项目介绍
- 爬虫的法律风险
- 新爬虫的选择
- 总体算法
- 单任务版爬虫
- 获得初始页面内容
- 正则表达式
- 提取城市和url
- 单任务版爬虫的架构
- Engine 与 Parser
- 测试CityListParser
- 城市解析器
- 用户信息解析器
- 单任务版爬虫性能
- 并发版爬虫
- 并发版爬虫架构
- 简单调度器
- 并发调度器
- 队列实现调度器
- 重构和总结
- 更多城市
- 更多用户与去重
- 数据存储和展示
- ItemSaver的架构
- Docker和ElasticSearch介绍
- Docker的安装和使用
- ElasticSearch入门
- 向ElasticSearch存储数据
- 完整爬虫的运行与数据存储
- 添加URL与ID
- 重构与运行
- 标准模板库介绍
- 实现前端展示页面
- 完善前端展示
- 分布式爬虫
- 分布式系统简介
- 分布式爬虫架构
- jsonrpc的使用
- ItemSaver服务
- 整合ItemSaver服务
- 解析器的序列化
- 实现爬虫服务
- 完整分布式爬虫的运行
- 使用连接池链接爬虫集群
- 实战项目总结
- 进一步的工作
- 总结
- 体会Go语言的设计
- 面向接口