阶段一 C开发实战

展开
第一章 c语言基础语法
1-1 第一个helloworld 免费试学
  • 01c语言介绍
  • 02vs如何写代码
  • 03文本编辑器写代码
  • 04分部编译
  • 05helloworld程序解释
  • 06system的作用
  • 07寄存器缓存cpu内存之间的关系
  • 08上午知识点复习
  • 09vs调试
  • 10qt写代码
  • 11qt写界面
  • 12vs写mfc
1-2 变量和数据类型 免费试学
  • 13变量和常量
  • 14const
  • 15二进制
  • 16八进制
  • 01复习-02c
  • 02十六进制
  • 03有符号数和无符号数
  • 04数的范围
  • 05原码反码补码
  • 06补码求原码
  • 07反码补码原码验证
  • 08进制的书写和输出
  • 09有符号和无符号打印
  • 10上午知识点复习
  • 11整数的输入
  • 12sizeof
  • 13整数打印格式
  • 14字符型
  • 15读取多个字符问题
  • 16转义字符
  • 17浮点型
  • 18限定符
  • 19格式输出
  • 20getchar函数
  • 01作业-03c
  • 02作业2
1-3 运算符和程序结构 免费试学
  • 03加减乘除运算符
  • 04自加自减
  • 05赋值比较运算符
  • 06优先级
  • 07类型转换
  • 08选择结构
  • 09三目运算符
  • 10switch
  • 11上午知识点复习
  • 12while循环
  • 13for循环
  • 14嵌套循环
  • 15跳转语句
  • 16课堂测试
1-4 数组 免费试学
  • 17数组的概述
  • 18数组的定义
  • 19数组的初始化
  • 20数组的大小
  • 01作业-04s
  • 02复习-04s
  • 03数据在内存中的地址
  • 04数组名
  • 05数组练习
  • 06冒泡排序的原理
  • 07冒泡排序代码实现
  • 08二维数组的定义
  • 09二维数组的初始化
  • 10求二维数组的行和列
  • 11二维数组数组名
  • 12二维数组名
  • 13二维数组地址验证
  • 14二维数组练习
  • 15二维数组练习
  • 16了解多维数组
  • 17字符数组
  • 18字符数组的初始化
  • 19scanf输入字符串
  • 20gets读取字符串
  • 21fgets
  • 22strlen
  • 23字符数组的输出
  • 24练习
  • 25获得随机数
  • 01作业-05h
  • 02复习-05h
1-5 函数 免费试学
  • 03函数的概念
  • 04无参无返回值函数的调用
  • 05有参无返回值函数的定义调用
  • 06有参有返回值的调用
  • 07实参传递
  • 08函数的声明
  • 09return和exit的区别
  • 10总结函数
  • 11分文件
  • 12防止头文件重复包含
1-6 指针 免费试学
  • 13内存的介绍
  • 14指针与指针变量
  • 15指针变量的定义和初始化
  • 16指针的使用
  • 17星花与取地址&
  • 18指针变量的大小
  • 19指针的宽度和步长
  • 01作业-06z
  • 02复习-06z
  • 03野指针
  • 04空指针
  • 05空指针
  • 06const修饰的指针
  • 07多级指针
  • 08数组与指针
  • 09指针运算
  • 10[]不是数组的专属
  • 11指针数组
  • 12指针作为形参
  • 13数组作为函数的参数
  • 14指针作为函数的返回值
  • 15作业
  • 01作业-07z
  • 03指针复习
  • 04指针与字符数组
  • 05字符串常量
  • 06字符指针作为形参
  • 07const
  • 08字符指针数组
  • 09字符指针数组作为main函数参数
  • 10字符串处理拷贝连接
  • 11字符串处理比较函数
  • 12sprintf组包函数
  • 13sscanf拆包函数
  • 14strchr
  • 15strstr
  • 16strtok
  • 17atoi
  • 18字符串处理案例
  • 19字符串处理2
  • 20两头堵模型
  • 21字符串反转
  • 01指针练习题1
  • 01指针练习题2
  • 02作业
  • 03复习
1-7 内存管理 免费试学
  • 04作用域和变量
  • 05局部变量和静态局部
  • 06全局变量
  • 07全局变量分文件问题
  • 08变量重名问题
  • 09静态函数
  • 10重名案例
  • 11内存分布
  • 12内存处理函数
  • 13malloc申请空间
  • 01作业-09f
  • 02复习-09f
  • 03内存泄漏
  • 04返回变量的地址
  • 05返回堆区的地址
  • 06实参为一级指针的地址
1-8 复合类型 免费试学
  • 07结构体的概述
  • 08结构体定义初始化
  • 09结构体数组
  • 10结构体套结构器
  • 11结构体赋值
  • 12结构体指针
  • 13结构体套指针
  • 14结构体作为函数形参
  • 15const修饰的结构体指针变量
  • 16共用体概述
  • 17共用体赋值
  • 18共用体判断大小端
  • 19枚举实现bool类型
  • 20typedef取别名
  • 01作业-10w
  • 02复习-10w
1-9 标准文件 免费试学
  • 03课堂测试
  • 04文件概述
  • 05文件流指针
  • 06打开文件
  • 07相对路径问题
  • 08设备文件
  • 09fputc写文件
  • 10上午知识点总结
  • 11fgetc
  • 12cp案列
  • 13cat案列
  • 14fputsfgets
  • 15四则运算案例
  • 16四则运算总结
  • 01复习-01w
  • 02fprntf
  • 03fscanf
  • 04fwrite
  • 05fread
  • 06fseek
  • 07获取文件状态信息stat
  • 08linux和windows反斜杠n的区别
  • 09文件缓冲区问题
  • 10单词翻译案例
  • 11快易通案例2.0版本
  • 12快易通加强版
第二章 游戏案例
2-1 贪吃蛇案例
  • 01贪食蛇初始化
  • 02显示蛇
  • 03蛇的移动
  • 04完善

阶段二 C高级编程

展开
第一章 C高级
1-1 变量和内存分布
  • 01 听课要求
  • 02 技术层次
  • 03 C语言标准
  • 04 数据类型概念
  • 05 typedef的使用
  • 06 void 使用
  • 07 sizeof使用
  • 08 变量的修改方式
  • 09 内存四区-运行前
  • 10 内存四区-运行后
  • 11 上午课程回顾
  • 12 栈区注意事项
  • 13 堆区使用
  • 14 堆区注意事项
  • 15 静态变量和全局变量
  • 16 const修饰的常量
  • 17 字符串常量
  • 01 课程回顾
  • 02 宏函数
  • 03 函数的调用流程
  • 04 调用惯例
  • 05 变量传递分析
  • 06 栈的生长方向
  • 07 内存存储方式
1-2 指针强化
  • 08 空指针和野指针
  • 09 野指针三种情况
  • 10 指针的步长
  • 11 指针步长的练习
  • 12 指针的间接赋值
  • 13 指针做函数参数的输入特性
  • 14 指针做函数参数的输出特性
  • 15 字符串注意事项
  • 16 字符串拷贝
  • 17 字符串翻转
  • 18 sprintf的使用
  • 01 课程回顾
  • 02 calloc和realloc
  • 03 sscanf的使用
  • 04 sscanf的练习
  • 05 sscanf课堂作业
  • 06 字符串强化-查找子串
  • 07 一级指针易错点
  • 08 const的使用场景
  • 09 二级指针做函数参数的输入特性
  • 10 二级指针做函数参数输出特性
  • 11 二级指针练习-文件读写(上)
  • 12 二级指针练习-文件读写(下)
  • 13 位运算
  • 14 移位运算符
  • 01 C提高1~3天复习
  • 02 一维数组名称
  • 03 一维数组名做函数参数
  • 04 数组指针定义
  • 05 数组指针补充
  • 06 二维数组数组名
  • 07 选择排序算法
  • 08 指针数组排序
1-3 结构体和文件的高级用法
  • 09 结构体使用
  • 10 结构体赋值问题以及解决
  • 11 结构体嵌套一级指针的练习
  • 01 课程回顾
  • 02 结构体嵌套二级指针需求分析
  • 03 结构体嵌套二级指针代码实现
  • 04 结构体偏移量
  • 05 内存对齐
  • 06 结构体嵌套结构体内存对齐计算方式
  • 07 文件基本概念
  • 08 文件读写-按字符方式
  • 09 文件读写回顾_格式化和文件光标
  • 10 文件读写注意事项
  • 11 配置文件练习需求
  • 12 配置文件读写(上)
  • 13 配置文件读写(下)
  • 14 文件加密作业布置
  • 01 课程回顾
  • 02 文件加密实现
1-4 链表和回调函数
  • 03 链表的基本概念
  • 04 链表的分类
  • 05 静态链表和动态链表
  • 06 带头节点的链表
  • 07 链表操作-初始化和遍历功能
  • 08 链表操作-插入功能实现
  • 09 链表操作-删除节点功能实现
  • 10 链表操作-清空链表和销毁链表
  • 11 函数指针基本概念
  • 12 函数指针定义方式
  • 13 回调函数案例1-打印任意类型数据
  • 14 回调函数案例2-打印任意类型数组
  • 15 回调函数案例3-查找数组中的元素
  • 01 课程回顾
  • 02 链表作业
  • 03 回调函数作业-实现对任意类型数组进行排序
  • 04 作业补充-堆区数据释放
1-5 编译过程和面向接口
  • 05 预处理指令
  • 06 静态库配置
  • 07 静态库与动态库优缺点
  • 08 动态库配置
  • 09 递归函数-实现字符串逆序输出
  • 10 递归函数案例-斐波那契数列
  • 11 面向接口编程-甲方实现
  • 12 面向接口编程-乙方功能实现以及接口对接
第二章 数据结构
2-1 动态数组和链表
  • 01 C提高day4到day7课程回顾
  • 02 数据结构基本概念
  • 03 动态数组设计
  • 04 动态数组初始化实现
  • 05 动态数组插入和遍历功能实现
  • 06 动态数组删除实现
  • 07 动态数组销毁功能实现
  • 08 动态数组分文件编写
  • 09 链表的设计
  • 10 链表初始化、插入和遍历功能实现
  • 11 删除链表节点的功能实现
  • 12 返回链表长度、清空销毁功能实现
  • 01 课程回顾
  • 02 单向链表企业版本设计思路
  • 03 企业版本链表初始化、插入遍历功能实现
  • 04 企业版本链表删除、销毁功能实现
2-2 栈和队列
  • 05 栈的基本概念
  • 06 栈的顺序存储解析
  • 07 栈的顺序存储实现
  • 08 栈的分文件编写
  • 09 栈的链式存储
  • 10 栈的应用案例-就近匹配思路
  • 11 栈的应用案例-就近匹配代码实现
  • 12 中缀表达式转后缀表达式
  • 13 基于后缀表达式的运算
  • 01 课程回顾
  • 02 队列的基本概念
  • 03 队列的顺序存储实现
  • 04 队列链式存储思路分析
  • 05 队列的链式存储实现
2-3 二叉树
  • 06 树的基本概念
  • 07 二叉树的性质
  • 08 二叉树递归遍历思路
  • 09 二叉树递归遍历代码实现
  • 10 二叉树求叶子数量以及统计树高度
  • 11 二叉树拷贝
  • 12 二叉树释放
  • 13 二叉树非递归遍历思路分析
  • 14 二叉树非递归遍历
  • 15 插入排序

阶段三 C++核心编程和桌面应用开发

展开
第一章 C++核心编程
1-1 C++概述
  • 01课前准备
  • 02对比软件的使用
  • 03C++概述
  • 04第一个程序helloworld
  • 05面向对象的三大特性
  • 06命名空间
  • 07作用域运算符
  • 08命名空间小结
  • 09using声明和编译指令
  • 10结构体的加强
  • 11更加严格的类型转换检查
  • 12三目运算符
  • 13小结
  • 14上午回顾
  • 15const修饰的变量
  • 16C++编译器不能优化的情况
1-2 引用
  • 17引用的概述
  • 18引用的注意
  • 19数组的引用
  • 20引用的本质
  • 21尽量用const替代define
  • 22指针的引用
  • 23C和C++的区别
  • 01昨日回顾
  • 02引用的使用场景
  • 03常量引用和bool类型
  • 04内联函数1
  • 05内联函数2
  • 06函数的默认参数和占位参数
  • 07函数的默认参数和占位参数混搭解释
  • 08函数传递参数的三种方式
1-3 类和对象
  • 09设置求圆的周长类
  • 10设计学生类
  • 11上午总结
  • 12上午回顾
  • 13函数重载
  • 14函数重载的原理
  • 15C++调用C语言
  • 16类和对象的概念
  • 17封装
  • 18尽量把成员属性权限设置为私有
  • 19课堂作业
  • 20结构体和类的区别
  • 21总结-02d
  • 01上次内容回顾
  • 02作业
  • 03立方体案例
  • 04点和圆的关系案例思路
  • 05点和圆的关系实现
  • 06案例小结
1-4 构造和析构
  • 07构造函数和析构函数的概念
  • 08构造函数和析构函数的概念
  • 09上午回顾
  • 10默认的构造和析构
  • 11拷贝构造
  • 12构造函数的分类及调用
  • 13构造函数的小结
  • 14匿名对象
  • 15拷贝构造函数的调用时机
  • 16构造函数的调用规则
  • 17多个对象的构造函数和析构函数
  • 18深浅拷贝
  • 01上次内容回顾
  • 02explicit的作用
  • 03new和delete申请堆区空间和释放堆区空间
  • 04堆区申请和释放数组空间
  • 05静态成员
  • 06C++的对象模型
  • 07this指针
  • 08this指针的拓展
  • 09小结
  • 10常函数和常对象
  • 11友元的概念及全局友元函数
  • 12友元类
  • 13类的成员函数成为友元函数
  • 14友元的注意
  • 15防止空指针调用成员函数
  • 16单例模式的实现
  • 17单例模式案例
  • 18总结-04d
1-5 操作符重载
  • 01昨日回顾
  • 02数组类的设计1
  • 03数组类的设计2
  • 04加号运算符重载1
  • 05加号运算符重载2及注意点
  • 06小结
  • 07减号运算符重载
  • 08左移运算符重载及友元
  • 09右移运算符重载
  • 10赋值运算符重载
  • 11关系运算符重载
  • 12前置加加和后置加加
  • 13数组下标重载
  • 14总结-05d
  • 01上次内容回顾
  • 02智能指针类
  • 03仿函数
  • 04其他重载
  • 05字符串类
1-6 继承和多态
  • 06继承的概念
  • 07继承方式
  • 08查看对象模型
  • 09修正私有继承
  • 10上午内容回顾
  • 11继承中的构造和析构的调用
  • 12继承中同名成员的处理方法
  • 13继承中的静态成员特性
  • 14不能被继承的函数
  • 15多继承
  • 16菱形继承
  • 17通过指针访问成员变量
  • 18通过指针访问成员变量解释
  • 19静态编译
  • 20动态编译
  • 21总结-06d
  • 01昨日内容回顾
  • 02多态
  • 03多态的实现原理
  • 04纯虚函数和抽象类
  • 05接口的定义
  • 06模版方法模式
  • 07虚析构函数和纯虚析构函数
  • 08上午回顾
  • 09重写重载重定义
  • 10父类引用子类对象
  • 11动物园案例
  • 12多态案例_班级
  • 13计数器案例
  • 14大总结
第二章 模板和IO
2-1 模版
  • 01函数模版
  • 02函数模版排序
  • 03函数模版和普通函数的区别
  • 04函数模版和普通函数的调用规则
  • 05函数模版的局限性和解决方法
  • 06类模版
  • 07复数的模版类及重载
  • 08类模版做为函数参数
  • 09上午回顾
  • 10类模版的继承
  • 11类模版的成员函数类内类外实现
  • 12类模版分文件编写问题及解决方法
  • 13分文件说明
  • 14类模版和友元
  • 15类模版实现数组
  • 16总结-01m
2-2 异常
  • 01昨日回顾
  • 02C++类型转换
  • 03异常的基本语法及流程
  • 04异常的优势
  • 05异常严格的类型匹配
  • 06异常的接口声明
  • 07栈解旋
  • 08异常的生命周期
  • 09异常的多态
2-3 IO
  • 10上午回顾
  • 11系统的标准异常类
  • 12标准的输入流1
  • 13标准的输入流2
  • 14标准的输出流
  • 15文件读写
  • 16二进制读写文件
  • 17文件读写中有string问题
  • 18总结-02i
第三章 STL
3-1 概述和三大组件
  • 01STL的介绍
  • 02三大组件
  • 03STL的工作原理
  • 04STL的helloworld
  • 05string容器
  • 06小结
3-2 线性容器
  • 07vector容器
  • 08deque容器
  • 09打分案例思路
  • 10打分案例实现1
  • 11打分案例实现2
  • 12总结-01d
  • 01昨日回顾
  • 02stack和queue介绍
  • 03stack和queue的常用api
  • 04list的数据结构
  • 05list常用的api1
  • 06list常用的api2
  • 07电梯案例业务流程
  • 08电梯案例1
  • 09电梯案例2
3-3 非线性容器
  • 10对组
  • 11set容器的介绍
  • 12set容器的api1
  • 13上午内容回顾
  • 14set容器的api2
  • 15map容器的api
  • 16STL的深浅拷贝问题
  • 17案例
  • 18函数对象
  • 19总结-02s
3-4 算法
  • 01上次内容回顾
  • 02适配器1
  • 03适配器2
  • 04空间配置器
  • 05遍历算法
  • 06查找算法1
  • 07查找算法2
  • 08上午回顾
  • 09查找算法3
  • 10排序算法
  • 11拷贝和替换算法
  • 12算术生成算法
  • 13集合算法
  • 14综合案例思路
  • 15综合案例流程
  • 16综合案例实现
  • 17总结-03s
第四章 Qt
4-1 第一个helloworld 界面
  • 01_课程安排
  • 02_qt简介
  • 03_qtCreato简介
  • 04_第一个Hello程序以及qt项目
  • 05_.pro文件介绍
  • 06_Qt命名规范和QtCreator常用快捷键
  • 07_帮助文档的使用
  • 08_父子关系
  • 09_Qt坐标系
  • 10_Qt常用API
  • 11_对象树
  • 12_点击按钮关闭窗口
4-2 信号和槽
  • 13_信号和槽
  • 14_标准信号和槽
  • 15_上午课程回顾
  • 16_自定义信号和槽
  • 17_自定义信号和槽传参以及函数二义性问题解决
  • 18_信号和槽的拓展
  • 19_Qt4的信号和槽
  • 20_qDebug输出转义问题
  • 21_lambda表达式
  • 22_信号和槽的复习
  • 23_作业
4-3 界面控件
  • 01_课程回顾
  • 02_菜单栏
  • 03_工具栏
  • 04_状态栏
  • 05_停靠部件和核心部件
  • 06_ui文件使用
  • 07_资源文件的使用
  • 08_模态对话框和非模态对话框的创建
  • 09_QMessageBox使用
  • 10_文件对话框
  • 11_上午课程回顾
  • 12_布局
  • 13_按钮组
  • 14_listWidget_01
  • 02_listWidget_2
  • 03_treeWidget
  • 04_tableWidget
  • 05_容器
  • 06_其他控件
  • 07_自定义控件
4-4 事件
  • 08_鼠标事件
  • 09_事件分发机制
  • 10_事件过滤器
  • 11_上午课程回顾
  • 12_定时器事件
  • 13_另一种定时器QTimer
  • 14_绘图事件以及QPainter
  • 15_手动触发绘图事件
  • 16_绘图设备
  • 17_作业提示
4-5 返金币游戏案例
  • 01_课程回顾
  • 02_qfile文件读写
  • 03_QFileInfo文件信息获取
  • 04_第一天作业
  • 05_第三天作业
  • 06_翻金币需求分析
  • 07_项目初始化和基础搭建
  • 08_开始场景背景
  • 09_上午课程回顾
  • 10_开始按钮以及动画
  • 11_场景切换实现
  • 12_返回按钮的实现
  • 13_关卡按钮排列
  • 14_作业
  • 01_课程回顾
  • 02_第三个场景基础搭建
  • 03_硬币按钮样式实现
  • 04_硬币翻动动画的实现
  • 05_导入关卡数据
  • 06_翻动上下左右的硬币
  • 07_课程回顾
  • 08_胜利条件判断
  • 09_胜利动画的实现
  • 10_胜利后禁止继续翻动金币
  • 11_音效的添加
  • 12_窗口位置bug的修复
  • 13_打包发布
  • 14_第二天作业
  • 15_总复习

阶段四 Linux高并发服务器开发

展开
第一章 Linux系统编程
1-1 Linux常用命令
  • 01-课程总体安排
  • 02-Linux操作系统作用
  • 03-Linux和Unix系统联系
  • 04-Linux内核简介
  • 05-Linux发行版本和应用领域
  • 06-Linux和Win文件系统区别
  • 07-Linux常见的一些目录介绍
  • 08-Bash解析器常用快捷键
  • 09-Xshell连接Ubuntu方法
  • 10-Linux系统相关快捷键
  • 11-Linux内建命令和外部命令
  • 12-Linux命令格式
  • 13-内部命令和外建命令帮助
  • 14-上午课程复习
  • 15-man手册
  • 16-相对路径和绝对路径
  • 17-pwd和cd命令
  • 18-mkdir和rmdir命令
  • 19-Linux文件类型
  • 20-ls命令
  • 21-touch命令
  • 22-rm和mv命令
  • 23-文件内容查看相关命令
  • 24-find命令
  • 01-上一次课复习-01
  • 02-grep命令
  • 03-管道
  • 04-tar和gzip工具使用
  • 05-tar和bzip2用法
  • 06-zip和unzip工具
  • 07-访问用户分类和权限说明
  • 08-chmod用法详解
  • 09-chown和chgrp命令
  • 10-上午课程复习
  • 11-软件安装和卸载
  • 12-重定向
  • 13-tree命令和ln命令
1-2 Linux环境下编写C程序
  • 14-vim三种模式介绍
  • 15-vim的基本操作
  • 16-vim从命令模式到编辑模式切换
  • 17-vim中命令模式下光标移动
  • 18-vim中删除和撤销和恢复
  • 19-vim中查找 替换和可视模式
  • 20-vim末行模式中保存退出和替换
  • 21-vim末行模式中分屏
  • 22-vim其它高级用法
  • 01-上一次课复习-02
  • 02-gcc工作流程
  • 03-gcc常用的选项
  • 04-静态连接和动态连接对比
  • 05-静态库制作步骤
  • 06-静态库测试
  • 07-动态库制作
  • 08-动态库测试
  • 09-上午课程复习
  • 10-动态库加载失败问题解决
  • 11-GDB启动和设置运行参数
  • 12-显示源代码和断点操作
  • 13-条件断点和断点的维护
  • 14-gdb自动显示和查看修改变量的值
1-3 Makefile
  • 15-Makefile简介和主要解决问题
  • 16-makefile语法规则和make命令格式
  • 17-makefile的最简单的版本
  • 18-Makefile中的变量
  • 19-Makefile中三个自动变量和模式匹配
  • 20-Makefile中两个函数和伪目标
  • 01-上一次课复习-03
  • 02-Makefile工作原理
1-4 Linux文件和系统调用
  • 03-系统调用和库函数区别
  • 04-C库中的IO函数工作流程
  • 05-错误处理函数
  • 06-错误处理函数perror和错误码
  • 07-虚拟地址空间
  • 08-文件描述符和相关配置
  • 09-open和close函数分析
  • 10-open和close示例
  • 11-write函数分析和示例
  • 12-read函数分析和示例
  • 13-上午课程复习
  • 14-阻塞和非阻塞概念
  • 15-lseek函数分析和示例
  • 16-stat函数获取文件属性信息
  • 17-stat获取文件类型的第一个版本
  • 18-stat获取文件类型的第二个版本
  • 19-stat获取文件的权限
  • 20-文件其它相关操作函数分析
  • 21-文件描述符复制(dup函数)
  • 22-文件描述符复制(dup2函数)
  • 23-文件描述符复制示例分析
  • 01-上一次课复习-04
  • 02-fcntl函数实现文件描述符复制
  • 03-fcntl函数实现文件状态标记获取和设置
  • 04-getcwd和chdir函数讲解
  • 05-目录打开和关闭操作
  • 06-读取目录内容
1-5 进程
  • 07-进程和程序概念
  • 08-并行和并发概念
  • 09-进程控制块PCB
  • 10-进程的状态
  • 11-上午课程复习
  • 12-进程相关的命令
  • 13-进程号相关的函数
  • 14-进程创建分析
  • 15-父子进程关系
  • 16-区分父子进程
  • 17-父子进程地址空间
  • 18-父子进程堆空间
  • 19-GDB调试多进程
  • 20-进程退出函数
  • 21-wait和waitpid函数等待子进程退出
  • 01-上一次课复习-05
  • 02-孤儿进程
  • 03-僵尸进程
  • 04-execlp进程替换
  • 05-exec函数族中其它函数讲解
1-6 进程间通信
  • 06-进程间通信简介
  • 07-管道的特点
  • 08-无名管道的创建
  • 09-父子进程通过无名管道通信
  • 10-管道读写特点
  • 11-查看管道缓冲区的大小
  • 12-上午课程复习
  • 13-管道设置为非阻塞
  • 14-有名管道的创建
  • 15-有名管道读写操作
  • 16-使用有名管道实现简单版本聊天
  • 17-使用有名管道实现简单版本的聊天
  • 18-存储映射区简介和函数分析
  • 19-存储映射代码示例
  • 20-存储映射区注意的事项
  • 21-父子进程使用存储映射通信
  • 22-不同进程使用存储映射进行进程间通信
  • 01-上一次课复习-06
  • 02-父子进程使用匿名存储映射进行通信
  • 03-信号的概述
  • 04-信号的编号
  • 05-信号的四要素
  • 06-信号的状态和信号集
  • 07-使用kill向指定进程发送信号
  • 08-使用raise函数给自己发送信号
  • 09-使用abort给自己发送一个异常信号
  • 10-使用alarm设置超时
  • 11-上午课程复习
  • 12-setitimer定时器
  • 13-signal函数实现信号的捕捉
  • 14-使用signal捕捉超时信号
  • 15-信号集和信号集操作函数
  • 16-信号屏蔽集设置和演示
  • 17-获取未决信号集
  • 18-信号的处理方式
  • 19-信号的捕捉sigaction函数
  • 20-不可重入和可重入函数概述
  • 21-使用信号避免僵尸进程
1-7 进程组和守护进程
  • 01-上一次课复习-07
  • 02-终端和进程组概念
  • 03-会话基本概念和API
  • 04-守护进程概念
  • 05-守护进程实现步骤分析
  • 06-守护进程创建代码实现
  • 07-获取当前系统时间
  • 08-守护进程练习讲解
1-8 线程和线程同步
  • 09-线程基本概念
  • 10-线程的特点和优缺点
  • 11-pthread_self和pthread_equal函数
  • 12-pthread_create创建线程
  • 13-多线程共享数据验证
  • 14-pthread_join回收线程资源
  • 15-pthread连写讲解
  • 16-pthread分离状态
  • 17-线程退出和线程的取消
  • 18-线程属性(了解)
  • 01-上一次课复习-08
  • 02-资源竞争举例说明
  • 03-同步和互斥的概念
  • 04-为什么需要使用互斥锁
  • 05-互斥锁函数和代码实现
  • 06-修改数据不一致原因
  • 07-死锁基本概念和场景
  • 08-死锁场景代码演示
  • 09-读写锁概述
  • 10-上午课程复习
  • 11-读写锁函数分析
  • 12-读写锁应用示例
  • 13-条件变量概念和相关函数分析
  • 14-条件变量示例
  • 15-生产者和消费者基本模型
  • 16-生产者和消费者条件变量模型
  • 17-信号量概述和相关函数分析
  • 18-信号量用于互斥场景
  • 19-生产者和消费者信号量模型
  • 20-哲学家就餐问题
第二章 linux网络编程
2-1 网络基础
  • 01mac地址和ip地址
  • 02桥接和net
  • 03端口
  • 04网络分层
  • 05协议
  • 06网络通信过程
  • 07arp通信
  • 08网络模式
  • 09上午知识点复习
2-2 Tcp和socket
  • 10socket套接字
  • 11字节序
  • 12字节序转换
  • 13点分十进制串转换
  • 14ipv4套接字结构体
  • 15tcp客户端代码
  • 16tcp服务器通信流程
  • 17tcp代码流程
  • 01复习-02t
  • 02服务器代码编写
  • 03包裹函数
  • 04包裹函数2
  • 05三次握手
  • 06三次握手的确认序列号问题
  • 07四次挥手
  • 08四次挥手序号和确认序列号
  • 09上午知识点复习
  • 10滑动窗口
  • 11多进程实现并发服务器流程
  • 12代码实现多进程服务器
  • 13子进程退出影响
  • 14回收子进程的资源
  • 01复习-03d
2-3 Tcp状态转移和IO多路复用
  • 02线程版服务器
  • 03tcp状态转换图
  • 04半关闭
  • 05心跳包
  • 06端口复用
  • 07多路IO转接技术
  • 08selectAPI
  • 09上午知识点复习
  • 10select实现原理
  • 11select代码编写
  • 12select总结
  • 13数组版select
  • 01复习-04p
  • 02poll
  • 03poll代码
  • 04epollAPI
  • 05epoll代码实现
  • 06select代码实现2
  • 07epoll的两种工作方式
  • 08epoll的边沿触发和水平触发
2-4 反应堆模型和线程池模型
  • 01复习-05d
  • 02epoll反应堆
  • 03epoll反应堆复杂版代码
  • 04线程池概念
  • 05线程池代码阅读
  • 06销毁线程
  • 07epoll加线程池
  • 08演示
  • 09复杂版线程池
  • 10UDP通信
  • 11udp服务器和客户端代码实现
  • 12本地套接字
  • 13本地套接字实现tcp服务器
  • 14本地套接字客户端实现
2-5 libevent
  • 01复习-06l
  • 02libevent安装
  • 03libevent事件触发流程
  • 04libeventAPI
  • 05libevent编写tcp服务器代码
  • 06上午知识点复习
  • 07数组版libevent实现tcp服务器代码
  • 08bufferevent事件介绍
  • 09bufferevent事件的监听流程
  • 10buffevent的API
  • 11helleworld程序阅读
  • 12bufferevent实现tcp客户端
2-6 webserver项目
  • 01复习-07w
  • 02webserver服务器流程
  • 03html
  • 04wireshark抓包工具
  • 05抓取http协议
  • 06http协议
  • 07服务器框架
  • 08解析请求
  • 01处理普通文件和错误文件
  • 02处理目录
  • 03处理中文请求和发文件问题
  • 04libevent

阶段五 Windows/Linux 跨平台企业项目实战 (项目1)

展开
第一章 数据库
1-1 Oracle数据库
  • 01-Oracle数据库简介
  • 02-Oracle数据库安装
  • 03-Oracle体系结构
  • 04-Oracle基本概念
  • 05-Oracle基本元素
  • 06-Oracle数据库启动和关闭
  • 07-sqlplus登录oracle数据库相关操作
  • 08-sqlplus的基本操作
  • 09-Oracle中上课使用的方案
  • 10-SQL语言分类
  • 11-SQL中select语句语法和注意事项
  • 12-Oracle中查询相关示例
  • 13-上午课程复习
  • 14-别名和distinct去重
  • 15-算术运算和NULL
  • 16-SQL语句中where中日期格式
  • 17-SQL语句中比较运算
  • 18-SQL语句中模糊查询
  • 19-SQL语句中逻辑运算
  • 20-SQL语句排序
  • 21-数值函数
  • 22-日期函数和时间函数
  • 01-上一次课程复习
  • 02-转换函数
  • 03-通用函数(了解)
  • 04-条件表达式
  • 05-分组函数
  • 06-分组数据
  • 07-having过滤
  • 08-笛卡尔积概念
  • 09-多表查询等值连接
  • 10-多表查询不等值连接
  • 11-多表查询外连接
  • 12-多表查询中自连接
  • 13-子查询引出
  • 14-上午课程复习
  • 15-子查询(2)
  • 16-单行子查询
  • 17-多行子查询
  • 18-子查询相关一些问题
  • 19-集合运算符
  • 20-集合运算应用
  • 21-insert语句基本用法
  • 22-地址符
  • 23-批量处理
  • 24-更新数据和删除数据操作
  • 25-事务
  • 01-上一次课复习-09
  • 02-表的创建
  • 03-修改表列
  • 04-请空表
  • 05-删除表和重命名表
  • 06-约束概念和分类
  • 07-约束举例说明
  • 08-视图
  • 09-序列
  • 10-索引
  • 11-同义词
  • 12-SQL和sqlplus区分
  • 13-上午课程复习
1-2 MySql数据库
  • 14-MySQL数据库介绍
  • 15-MySQL数据库安装
  • 16-MySQL数据库启动和登录
  • 17-MySQL数据库CURD
  • 18-MySQL数据库表CURD
  • 19-MySQL数据库表数据CURD
  • 20MysQL基础综合练习
  • 21-MySQL数据库总日期和时间函数
  • 22-MySQL中函数
  • 23-PLSQL工具使用介绍
  • 24-Oracle实例别名和Oracle客户端
  • 01-上一次课复习-10
  • 02-Oracle客户端工具安装
  • 03-MySQL多表查询
  • 04-MySQL约束
  • 05-MySQL中文乱码问题
  • 06-Navicate连接和操作MySQL
  • 07-MySQL参考手册概述
  • 08-C连接MySQL数据库
  • 09-MySQL使用CAPI执行insert语句
  • 10-上午课程复习
  • 11-Makefile编写
  • 12-执行删除和更新SQL语句
  • 13-mysql_error函数应用
  • 14-mysql_store_result获取结果集
  • 15-执行select语句输出结果
  • 16-执行select语句输出结果(2)
  • 17-简单客户端实现
  • 18-MySQL预处理语句
  • 19-MySQL事务
第二章 金融类安全传输平台项目
2-1 项目介绍-密码学知识 免费试学
  • 01-文档介绍
  • 02-知识点概述
  • 04-项目准备
  • 05-序列化介绍
  • 06-项目中的基础组件介绍
  • 07-基础模块在项目中的作用-简述
  • 08-项目中的其他模块介绍
  • 09-加密三要素
  • 10-对称加密和非对称加密的秘钥
  • 11-对称和非对称加密的特点
  • 12-对称加密算法des
  • 13-3des对称加密算法
  • 14-对称加密算法aes
  • 15-重要知识点回顾
  • 16-秘钥分发过程
  • 17-哈希算法特点
  • 18-常用哈希算法以及散列值长度
  • 19-哈希算法不可逆
  • 20-消息认证码
  • 21-数字签名和校验签名
  • 22-openssl介绍
  • 23-windows下openssl安装
  • 24-vs下openssl的配置
  • 25-openssl在linux下的安装
2-2 git
  • 01-知识点概述
  • 02-版本控制工具的作用
  • 03-git和svn
  • 04-git介绍
  • 05-git的安装
  • 06-工作区 暂存区 版本库 概念
  • 07-本地文件添加到暂存区和提交到版本库
  • 08-文件的修改和还原
  • 09-查看提交的历史版本信息
  • 10-版本差异比较
  • 11-删除文件
  • 12-本地版本管理设置忽略目录
  • 13-远程git仓库介绍
  • 14-创建远程仓库
  • 15-本地仓库中的项目推送到远程仓库
  • 16-将远程仓库内容克隆到本地
  • 17-克隆的应用场景
  • 18-生成rsa秘钥对
  • 19-设置本地ssh秘钥
  • 20-远程仓库ssh公钥设置
  • 21-使用ssh地址进行仓库操作注意事项
  • 22-分支介绍
  • 23-分支的切换
  • 24-合并分支和解决冲突
  • 25-往远程非空仓库推动本地仓库内容
  • 26-git提交代码操作
  • 27-protobuf部署
2-3 序列化-protobuf使用
  • 01-知识点概述new
  • 02-如何使用uml描述一个类
  • 03-uml描述继承关系
  • 04-uml中描述关联关系
  • 05-uml中对组合和聚合的描述
  • 06-uml中的依赖关系的描述
  • 07-uml总结
  • 08-序列化介绍
  • 09-网络通信中常见问题分析
  • 10-常用的数据序列化方式
  • 11-protobuf使用步骤
  • 12-编写proto文件并生成对应的类
  • 13-protobuf生成的类分析
  • 14-复习
  • 15-protobuf序列化数据和解析
  • 16-protobuf中数组的使用 - repeated
  • 17-protobuf中使用枚举
  • 18-在一个proto中导入其他proto文件
  • 19-测试在一个类中包含其他类对象
  • 20-protobuf中添加命名空间
  • 21-要实现的编解码的类
2-4 工厂模式-套接字通信
  • 01-知识点概述
  • 02-解决windows下动态库找不到的问题
  • 03-编解码类图分析
  • 04-通过protobuf生成需要的c++类
  • 05-编解码基类Codec实现
  • 06-编解码类代码分析
  • 07-工厂模式介绍
  • 08-简单工厂模式实现-伪代码
  • 09-工厂模式使用-伪代码
  • 10-编解码类图
  • 11-服务器通信效率分析
  • 12-线程池设计思路
  • 13-线程池相关
  • 14-客户端效率的优化
  • 15-套接字连接池实现-伪代码
  • 16-连接池 c api
  • 17-套接字通信C语言api分析
  • 18-套接字通信客户端类封装
  • 19-服务器端C++类设计 - 有问题
  • 20-服务器端类改进
  • 21-封装之后的套接字类服务器和客户端通信流程 - 伪代码
  • 22-套接字类图
2-5 共享内存
  • 01-知识点概述
  • 02-tcp类封装对应的头文件分析
  • 03-TcpServer类实现代码分析
  • 04-tcp服务器代码分析
  • 05-套接字超时处理思想
  • 06-accept超时处理
  • 07-read超时处理
  • 08-write超时处理
  • 09-connect超时处理思路
  • 10-connect超时等待设置
  • 11-tcp粘包的原因
  • 12-粘包的解决
  • 13-项目中对粘包问题的处理
  • 14-共享内存使用流程
  • 15-创建或打开共享内存
  • 16-进程和共享内存关联-shmat
  • 17-进程和共享内存分离
  • 18-共享内存操作
  • 19-共享内存进程间通信测试
  • 20-共享内存思考的问题
  • 21-共享内存操作命令和key==0的情况
  • 22-ftok函数
  • 23-内存映射区和共享内存区别
  • 24-共享内存类的封装
  • 25-共享内存子类功能-读写共享内存
2-6 使用openssl加解密
  • 01-知识点概述
  • 02-哈希的特点和常用的哈希算法散列值长度
  • 03-linux下openssl相关的安装问题
  • 04-md5 api
  • 05-其他的哈希算法使用
  • 06-sha1测试
  • 07-哈希类的封装
  • 08-非对称加密特点和应用场景
  • 09-生成密钥对-rsa
  • 10-在内存中生成rsa密钥对-代码
  • 11-将密钥对写入磁盘
  • 12-使用bio方式将秘钥写入磁盘文件中
  • 13-从内存RSA对象中取出公钥或私钥信息
  • 14-rsa加解密函数
  • 15-rsa使用公钥加密数据-代码
  • 17-rsa加解密测试-bug修改
  • 18-rsa签名和校验签名
  • 19-签名和验证签名-代码
  • 20-rsa类的封装
  • 21-aes知识点回顾
  • 22-对象加密- 密码分组模式
  • 23-初始化对称加密的秘钥
  • 24-aes加解密函数AES_cbc_encrypt
  • 25-aes加解密-代码
2-7 jsoncpp-秘钥协商
  • 01-知识点概述
  • 02-openssl rsa内存释放
  • 03-json介绍
  • 04-json数组和json对象
  • 05-写json文件注意事项
  • 06-vs下jsoncpp库的生成
  • 07-linux下jsoncpp环境搭建
  • 08-jsoncpp中Value类api
  • 09-jsoncpp中的Reader类
  • 10-jsoncpp中的FasterWrite类
  • 11-组织json数据写磁盘
  • 12-jsoncpp测试
  • 13-秘钥协商客户端需求分析
  • 14-秘钥协商客户端操作流程
  • 15-秘钥协商服务器端业务数据分析
  • 16-秘钥协商服务器业务流程
  • 17-任务
  • 18-在vs编写linux项目需要设置的一些属性
2-8 秘钥协商
  • 01-秘钥协商客户端main函数
  • 02-main函数的逻辑处理
  • 03-客户端构造函数实现
  • 04-在项目中添加已经封装好的类
  • 05-客户端数据初始化并序列化
  • 06-rsa非对称加密类走读
  • 07-生成对象加密的密钥对和签名
  • 08-秘钥协商客户端功能实现
  • 09-启动服务器
  • 10-服务器端处理流程和线程回调函数类型
2-9 秘钥协商-base64
  • 01-知识点概述
  • 02-main函数中代码修改
  • 03-秘钥协商客户端代码细节修改
  • 04-秘钥协商服务器读配置文件
  • 05-秘钥协商服务器启动代码
  • 06-服务器线程回调函数实现
  • 07-签名校验
  • 08-生成随机秘钥
  • 09-服务器给客户端回复数据
  • 10-客户端程序调试
  • 11-服务器程序编译调试
  • 12-签名和校验签名的段错误
  • 13-签名和验证签名bug修改
  • 14-rsa加密直接对二进制数据进行操作的bug
  • 15-base64介绍
  • 16-base64应用场景
  • 17-通过base64算法推导出的结论
  • 18-qt中base64编解码的api
  • 19-openssl中bio链的工作模式
  • 20-openssl中创建bio对象的两种方式
  • 21-bio对应的读写函数
  • 22-bio链中添加和删除节点
  • 23-bio链写数据举例
  • 24-通过openssl进行base64编码
  • 25-通过openssl进行base64解码
  • 26-log日志类概述
  • 27-连接池的使用场景
  • 28-连接池代码分析
2-10 共享内存和数据库操作
  • 01-知识点概述
  • 02-使用base对加解密数据进行编解码处理
  • 03-项目测试-未完待续
  • 04-测试和设置随机数种子
  • 05-项目中秘钥协商模块和业务模块的关系
  • 06-共享内存中对秘钥的存储
  • 07-存储共享内存的数据结构定义
  • 08-共享内存类
  • 09-在项目中添加秘钥写共享内存的操作-思路
  • 10-centos下防火墙设置
  • 11-启动和关闭oralce数据库复习
  • 12-oralce数据操作c++接口occi
  • 13-occi使用之前需要知道的问题
  • 14-在程序中使用occi接口的大致流程
  • 15-创建测试项目并初始化occi环境
  • 16-occi中创建连接数据库的Connection实例
  • 17-使用occi接口查询并遍历结果集
  • 18-occi进行插入操作
  • 19-linux下occi环境配置
  • 20-occi接口测试
  • 21-使用plsql develop导入脚本文件
  • 22-配置oracle数据库连接名
2-11 数据库操作
  • 01-知识点概述
  • 02-occi中事务操作
  • 03-数据表介绍
  • 04-关于数据库中创建的第二个用户
  • 05-项目中秘钥协商对应的数据库操作
  • 06-项目中数据库操作对象的添加和初始化
  • 07-共享秘钥写入数据库
  • 08-写数据库操作先关occi函数封装和使用
  • 09-验证秘钥写数据功能
  • 10-配置管理终端的作用
  • 11-在qt中通过源码编译oci驱动
  • 12-qt中的QSqlDatabase类常用 的api
  • 13-qt中数据库查询相关的api函数
  • 14-qt中连接数据代码
  • 15-数据库查询遍历结果集
  • 16-qt中的数据库事务操作
  • 17-qt中连接mysql的注意事项
  • 18-配置管理终端作用
  • 19-QJsonDocument和QJsonArray类
  • 20-json对象类
  • 21-QJsonValue类
  • 22-将json数组或对象转换为字符串步骤
2-12 外联接口-项目总结
  • 01-知识点概述
  • 02-秘钥协商的秘钥写入到共享内存中
  • 03-秘钥写共享内存测试
  • 04-外联接口作用
  • 05-外联接口类的封装
  • 06-配置文件定义
  • 07-外联接口的打包
  • 08-外联接口的实现
  • 09-外联接口读共享内存得到秘钥
  • 10-将外联接口制作成动态库
  • 11-外联接口的使用
  • 12-外联接口测试-有bug
  • 13-外联接口测试
  • 14-外联接口的改进
  • 15-知识点总结
  • 16-项目中的知识点总结-2
  • 17-线程池思想
  • 18-ora-24550解决方案
  • 19-秘钥注销和校验

阶段六 游戏服务器开发 (项目2)

展开
第一章 zinx框架使用
1-1 git命令使用
  • 1-服务器需求分析
  • 2-面向框架编程简介
  • 3-zinx框架初始
  • 4-回显标准输入
  • 5-vs结合git
  • 6-完善readme范例
  • 7-添加退出功能
  • 8-添加命令处理类
  • 9-添加日期前缀思路
  • 10-添加日期前缀功能
1-2 zinx的学习
  • 1-zinx框架建议用法
  • 2-三层结构重构原有功能
  • 3-实现三层结构回显
  • 4-添加关闭输出功能
  • 5-添加日期前缀功能
  • 6-tcp数据适配
  • 7-tcp通道实现
  • 8-协议层记录消息来源
1-3 zinx的扩展
  • 1-timer_fd产生超时事件
  • 2-timer_fd使用案例
  • 3-初次实现定时器
  • 4-定时器管理思路
  • 5-定时器管理类实现
  • 6-第一版本定时器的缺陷
  • 7-时间轮定时器原理
  • 8-时间轮定时添加删除任务
  • 9-调度时间轮
  • 10-时间轮定时器完善
  • 11-向开源项目贡献代码
第二章 游戏业务实现
2-1 TCP通讯以及protobuf
  • 0-游戏业务分层
  • 1-游戏通道层实现
  • 2-消息结构设计
  • 3-消息类实现
  • 4-Tcp粘包处理思路
  • 5-TCP粘包实现
  • 6-tcp粘包测试
  • 7-协议层序列化实现
2-2 AOI业务逻辑
  • 0-项目进度回顾
  • 1-完善整体架构
  • 2-AOI网格思路
  • 3-网格AOI数据结构
  • 4-游戏世界类添加,删除和构造
  • 5-AOI查找实现
  • 6-GameRole类结合AOI
  • 7-登陆时发送ID和姓名
  • 8-登陆时发送周围玩家位置
  • 9-玩家上线完成
  • 10-玩家下线处理
2-3 玩家聊天以及出生地
  • 1-世界聊天思路
  • 2-世界聊天实现
  • 3-玩家移动思路
  • 4-玩家移动初始实现
  • 5-视野切换实现
  • 6-随机出生
  • 7-内存泄漏查看
  • 8-退出程序思路
  • 9-定时退出程序实现
  • 10-随机姓名思路
  • 11-随机姓名实现
2-4 redis的使用
  • 0-当前进度
  • 1-守护进程
  • 2-进程监控
  • 3-玩家姓名添加文件
  • 4-文件删除玩家姓名
  • 5-redis安装
  • 6-redis-存取命令
  • 7-redis链表存取
  • 8-redis程序结构
  • 9-hiredisAPI使用
  • 10-基于redis查找玩家姓名
  • 11-Makefile编写
  • 12-游戏业务实现总结
第三章 zinx抽象框架实现
3-1 zinx的epoll反应堆
  • 1-框架需求分析
  • 2-输入回显功能分析
  • 3-kernel中的epoll
  • 4-回显功能完成
  • 5-通道类抽象
  • 6-抽象通道的输出函数
  • 7-通道抽象实现
  • 8-管道通道类实现
  • 9-FIFO打开阻塞解决
第四章 商业化部署
4-1 docker基本使用
  • 1-多实例部署方案
  • 2-容器的概念
  • 3-docker初识
  • 4-docker-仓库
  • 5-docker-镜像
  • 6-docker-容器
  • 7-docker和虚拟机的区别
  • 8-docker命令解释
  • 9-dockerfile构建镜像
  • 10-离线分发镜像
4-2 nginx和http
  • 1-容器运行游戏需求分析
  • 2-静态编译游戏服务
  • 3-手动创建游戏镜像
  • 4-编写游戏启动脚本
  • 5-脚本创建游戏服务器镜像
  • 6-登陆服务器架构选择
  • 7-http协议初识
  • 8-http报文分析
  • 9-nginx简介和安装
  • 10-Nginx配置静态页面
  • 11-Nginx配置反向代理
4-3 CGI和fastCGI
  • 1-CGI程序处理流程
  • 2-CGI程序的输入
  • 3-CGI程序读取环境变量和标准输入
  • 4-FastCGI程序简介
  • 5-FCGI结合SpawnFCGI使用
  • 6-添加注册静态页面
  • 7-摘要值计算脚本
  • 8-注册页面和处理框架搭建
  • 9-用户信息存储和查询实现
  • 10-注册业务流程梳理
4-4 qt登录器实现
  • 1-界面搭建
  • 2-登陆客户端步骤分析
  • 3-拼接登陆请求实现
  • 4-发送http请求
  • 5-服务器登陆请求处理
  • 6-客户端处理服务器回复数据
  • 7-注册页面启动
  • 8-qt启动游戏程序
4-5 游戏房间创建实现
  • 1-客户端创建房间修改
  • 2-创建容器脚本
  • 3-服务器创建房间实现
  • 4-房间跟随
  • 5-分布式部署思路
  • 6-redis发布订阅机制
  • 7-hiredis库实现发布订阅
  • 8-异步处理hiredis订阅
  • 9-跨主机redis通信
4-6 游戏房间容器化
  • 1-分布式部署设计
  • 2-分布式部署的CGI程序实现
  • 3-容器管理进程
  • 4-分布式测试
  • 5-容器退出思路
  • 6-容器退出删除房间实现
  • 7-分布式跟随房间实现
  • 8-创建qt客户端安装包

阶段七 入侵检测与网络攻防(赠送)

展开
第一章 网络攻防实战
1-1 网络攻防以及信息搜集和扫描
  • 01_课程安排
  • 02_课程介绍
  • 03_渗透测试的介绍
  • 04_ptes渗透测试执行标准的介绍
  • 05_网络攻防环境的介绍
  • 06_kali系统的介绍和调整
  • 07_搜索引擎踩点
  • 08_dnsenum和nslookup
  • 09_whois命令
  • 10_traceroute命令
  • 11_复习
  • 12_traceroute原理
  • 13_telnet命令
  • 14_在线存活ping
  • 15_nmap扫描1
  • 16_nmap扫描2
  • 17_p0f被动探测
  • 18_nessus的安装
  • 2019-04-28 17-49-58
1-2 暴力破解
  • 02_nessus扫描任务
  • 03_漏洞信息共享平台的介绍
  • 04_nessus扫描结果
  • 05_漏扫报告的查看
  • 06_暴力破解以及hydra的使用
  • 07_crunch命令生成字典
  • 08_其他方式获取字典
  • 09_复习
  • 10_关于暴力破解的防御的讨论
  • 11_pam配置的讲解
  • 12_pam弱密码保护
  • 13_pam锁定账户
  • 14_shadow文件的解析
  • 15_hashcat命令的使用
1-3 网络嗅探以及ARP攻击
  • 02_tcpdump基本使用
  • 03_tcpdump条件过滤
  • 04_wireshark的介绍
  • 05_wireshark条件过滤
  • 06_tcp握手挥手分析
  • 07_telnet服务的介绍和部署
  • 08_复习
  • 09_telnet服务的报文嗅探
  • 10_网络嗅探基础
  • 11_arp协议的解析
  • 12_arp攻击原理以及实验环境
  • 13_arp实验以及防御方式
1-4 web扫描以及DDoS攻击
  • 02_web敏感信息
  • 03_web信息搜集——踩点
  • 04_dirb命令的使用及原理
  • 04_暴力扫描的防护讨论
  • 05_owasp介绍
  • 06_DDoS的介绍
  • 07_复习
  • 08_synflood原理
  • 09_synflood攻击实现细节
  • 10_netwox发起synflood攻击
  • 11_synflood的防御
  • 12_netwox其他工具介绍
  • 13_iptables四表五链
1-5 防火墙iptables
  • 02_iptabels的caommand
  • 03_iptables的条件判断
  • 04_iptables ssh服务器环境搭建
  • 05_ping attack的防护
  • 06_复习
  • 07_iptabels规则的导出和导入
  • 08_tcpwrapper
  • 09_审计服务介绍和安装
  • 10_审计服务的规则配置
  • 11_生产环境审计配置
  • 12_auditctl命令
  • 13_ausearch命令
  • 14_aureport命令
1-6 权限控制以及入侵分析
  • 02_基础命令
  • 03_访问的概念
  • 04_文件权限的标记位
  • 05_目录的权限
  • 06_粘着位
  • 07_setuid和setgid
  • 08_acl的设置和删除
  • 09_复习
  • 10_acl的掩码
  • 11_权限判断的依据
  • 12_文件属性
  • 13_特权能力
  • 14_入侵检测——可疑用户
  • 15_入侵检测——自启动服务
  • 16_入侵检测——shell自启动命令
  • 17_入侵检测——命令历史的查看
第二章 项目实战—深度报文解析
2-1 DPI项目初始化搭建
  • 02_入侵分析——日志查看
  • 03_入侵分析——可以进程
  • 04_报文解析项目介绍
  • 05_dpi项目的需求分析
  • 06_pcap文件的获取
  • 07_pcap文件的介绍
  • 08_pcap文件编程实现报文计数
  • 09_复习
  • 10_dpi库的设计
  • 11_dpi库的接口基本实现
  • 12_pcap透传参数实现以太网报文计数
  • 13_以太网分析packet header长度问题
  • 14_报文分析思路路径
  • 15_解析以太网报文的类型
  • 16_ip报文的统计
2-2 IP/TCP报文拆解以及SSH识别
  • 02_ip报文结构讲解
  • 03_ip报文分片讨论
  • 04_ip报文解析的实现
  • 05_日志模块的讨论
  • 06_tcp报头解析
  • 07_复习
  • 08_协议遍历的实现
  • 09_流程回顾以及调整
  • 10_ssh协议分析以及解析思路
  • 11_识别ssh版本协商报文1
  • 12_识别ssh版本协商报文2
  • 13_剩余报文识别思路
2-3 链表的使用以及UDP报文识别
  • 02_剩余报文识别的编程思路
  • 03_容器选择的讨论
  • 04_链表的设计理念
  • 05_循环上相链表的实现
  • 06_实现连接的存储
  • 07_复习
  • 08_ssh剩余报文的识别实现
  • 09_UDP报文解析基础分析
  • 10_sftp命令的使用
  • 11_tftp服务的安装
2-4 TFTP和NTP报文的识别
  • 02_tftp客户端的使用
  • 03_tftp协议分析以及特征提取
  • 04_tftp报文的识别1
  • 05_tftp报文的识别2
  • 06_复习
  • 07_ntp协议原理
  • 08_ntpdate同步时间和抓包
  • 09_ntp协议解析
  • 10_ntp报文识别实现
  • 11_bug追踪系统

阶段八 Shell脚本编程

展开
第一章 Shell脚本编程
1-1 shell语法
  • 01_shell的介绍
  • 02_shell的内建命令
  • 03_shell脚本执行的几种方法
  • 04_变量的使用
  • 05_变量的使用
  • 06_文件名代换和参数拓展
  • 07_命令代换
  • 08_算数代换
  • 09_shell中的转义
  • 10_引号
  • 11_复习
  • 12_条件测试
  • 13_if分支结构
  • 14_case分支结构
  • 15_for循环
  • 16_while循环
  • 17_位置参数以及shift
  • 18_shell中的输出
  • 01_复习
  • 02_管道1
  • 03_管道2
  • 04_重定向
  • 05_函数
  • 06_函数2
  • 07_脚本调试的集中方法
1-2 shell高级和正则表达式
  • 08_正则表达式
  • 09_C中使用正则
  • 10_复习
  • 11_sort命令
  • 12_uniq命令
  • 13_wc命令
  • 14_grep命令
  • 15_find命令
  • 16_xargs命令
  • 17_sed命令
  • 18_awk命令
  • 19_crontab

阶段九 负载均衡远程服务调用系统(赠送)

展开
第一章 Reactor并发服务器框架
1-1 基础TCP服务
  • 1-Lars课程模块介绍
  • 2-Lars的功能演示机场景作用
  • 3-Lars的Reactor框架的组成部分
  • 4-Lars-Reactor的项目目录构建
  • 5-Lars-tcp_server的基础服务开发
  • 6-Lars-tcp-server的accept实现
  • 7-LarsV0.1总结
1-2 自定义内存池管理
  • 8-内存管理_io_buf的结构分析
  • 9-Lars-内存管理-io_buf内存块的实现
  • 10-io_buf总结
  • 11-buf_pool连接池的单例模式设计和基本属性
  • 12-buf_pool的初始化构造内存池
  • 13-buf_pool的申请内存和重置内存实现
  • 1-课前回顾
1-3 Reactor事件触发机制
  • 2-LarsV0.2-reactor_buf实现
  • 3-LarsV0.2-outpu_buf实现
  • 4-larsV0.2-reactor继承内存管理
  • 5-LarsV0.2-流程总结
  • 6-LarsV0.3-多路IO事件的分析
  • 7-LarsV0.3-io_event和event_loop定义
  • 8-LarsV0.3-event_loop添加一个事件
  • 9-LarsV0.3-event_loop的epoll_wait封装
  • 10-LarsV0.3-event_loop删除事件
  • 11-LarsV0.3-event_loop添加listenfd读事件
  • 12-LarsV0.3-event_loop添加写事件-基于V0.3开发
  • 13-LarsV0.3总结
1-4 TCP连接封装与TcpClient封装
  • 1-LarsV0.3回顾
  • 2-解决粘包问题的message结构体定义
  • 3-LarsV0.4-链接对象的方法和属性的定义
  • 4-LarsV0.4-tcp_conn链接的初始化
  • 5-LarsV0.4-tcp_conn处理读事件方法do_read
  • 6-LarsV0.4-tcp_conn模块回顾
  • 7-LarsV0.4-send_message主动发包实现
  • 8-LarsV0.4-tcp_conn处理写时间方法do_write
  • 9-LarsV0.4-tcp_server创建tcp_conn对象
  • 10-LarsV0.4-tcp_conn连接封装流程总结
  • 11-LarsV0.4-tcp_client属性和方法分析
  • 12-LarsV0.4-tcp_client非阻塞客户端套接字创建链接方式
  • 13-LarsV0.4-tcp_client读写方法实现
  • 14-LarsV0.4-tcp_client模块客户端实现问题
  • 15-LarsV0.4-tcp_client-send_message无效问题解决
  • 16-LarsV0.3-event_loop添加时间buf修复
  • 1-LarsV0.4复习
1-5 消息路由分发机制
  • 2-LarsV0.5-tcp_server链接管理的功能实现及测试
  • 3-LarsV0.6-消息路由分发机制msg_router的定义
  • 4-LarsV0.6-抽象链接类net_connection的定义
  • 5-LarsV0.6-tcp_server集成路由消息分发机制
  • 6-LarsV0.6-tcp_server集成消息路由分发机制总结
  • 7-LarsV0,6回顾
  • 8-LarsV0.6-tcp_client集成消息路由分发机制
1-6 连接Hook注册机制
  • 9-LarsV0.7-Hook流程的说明
  • 10-LarsV0.7-tcp_server集成链接Hook函数
  • 11-LarsV0.7-tcp_client集成连接Hook注册功能
1-7 消息队列与线程池
  • 1-昨日回顾
  • 2-单线程的多路IO服务器模型和多线程模型区别
  • 3-服务器的几种并发模型
  • 4-LarsV0.8-task_msg消息队列任务数据类型
  • 5-LarsV0.8-thread_queue消息队列的发送和接收流程介绍
  • 6-LarsV0.8-thread_queue消息队列的实现
  • 7-LarsV0.8-thread_pool线程池的实现
  • 8-LarsV0.8-处理新链接任务的函数业务实现
  • 9-LarsV0.8-线程池继承到tcp_server中
  • 10-LarsV0.8-启用线程池测试
  • 11-LarsV0.8-限制链接数量的溢出bug问题
1-8 UDP Server功能
  • 12-LarsV0.9-配置文件功能
  • 13-LarsV0.10-udp-server的实现
  • 14-LarsV0.10-udp-client的实现
1-9 QPS性能测试
  • 1-昨日回顾
  • 2-QPS_test-protobuf协议的集成
  • 3-QPS_test-server端实现
  • 4-QPS_test-qps简单介绍
  • 5-QPS_test-qps客户端工具编写和性能测试
1-10 异步消息任务功能与连接属性
  • 6-LarsV0.11-异步消息机制的event_loop增添属性分析
  • 7-Lars
  • 8-LarsV0.11-异步消息发送机制的实现及测试
  • 9-LarsV0.11-异步消息任务机制bug修复和效果演示
  • 10-LarsV0.12-连接参数属性的绑定
第二章 LarsDns子系统
2-1 Dns-Route关系构建
  • 11-Lars-dns-mysql环境搭建
  • 1-LarsDNS-系统整体模块的简单说明
  • 2-Lars-Dns-功能的说明
  • 3-Lars-Dns-数据表的创建
  • 4-Lars-Dns-整体功能说明
  • 5-Lars-DnsV0.1-Route类的单例实现
  • 6-Lars-DnsV0.1-Route类的链接数据库方法实现
  • 7-Lars-DnsV0.1-定义存放RouteData关系的map数据结构
  • 8-课前回顾
  • 9-Lars-DnsV0.1-将RouteData数据加载map中
  • 10-Lars-Dns的proto协议定义
  • 11-Lars-DnsV0.1-实现获取Route信息功能
  • 12-Lars-DnsV0.1获取Route hosts信息测试
  • 13-Lars-DnsV0.1总结
2-2 订阅功能与发布功能
  • 1-lars-DnsV0.1回顾
  • 2-Lars-DnsV0.2-订阅功能的订阅模块分析
  • 3-Lars-DnsV0.2-订阅模块的类的单例创建及方法属性初始化
  • 4-Lars-DnsV0.2-发布功能的实现
  • 5-Lars-DnsV0.2-发布功能的总结
  • 6-Lars-DnsV0.2-订阅流程复习
  • 7-Lars-DnsV0.2-订阅模块的集成
  • 8-Lars-DnsV0.2订阅模块的测试
  • 9-Lars-DnsV0.2订阅模块测试2
  • 10-Lars-DnsV0.2的发布问题bug修复
  • 11-Lars-DnsV0.2订阅发布流程梳理
2-3 实时监测与自动发布功能
  • 1-LarsDns-V0.3BackenThread后端实时监控线程流程
  • 2-LarsDns-V0.3加载当前Route版本号方法实现
  • 3-LarsDns-V0.3加载RouteChange修改表的信息
  • 4-LarsDns-V0.3实现实时监控流程线程业务
  • 5-LarsDnsV0.3编译bug修改和功能测试
  • 6-Lars Web管理界面的集成
  • 7-LarsDnsV0.3 Dns模块总结
第三章 LarsReporter子系统
3-1 上报功能与存储线程池
  • 8-Lars-reportV0.1 report模块介绍
  • 9-Lars-reporterV0.1 reporter项目目录构建
  • 10-Lars-ReporterV0.1 数据表和proto协议环境搭建
  • 11-Lars-ReporterV0.1上报请求业务处理
  • 12-Lars-ReporterV0.1上报请求模块的测试
  • 13-Lars-ReporterV0.2开辟存储线程池-网络存储分离
第四章 LarsLbAgent负载均衡系统
4-1 Agent代理模块基础构建
  • 1-课程复习
  • 2-Lars-lbAgentV0.1-udpserver启动
  • 3-Lars-lbAgentV0.1-dns-reporter-client-thread启动
  • 4-Lars-lbAgentV0.1-dns-client实现
  • 5-Lars-lbAgentV0.1-dns-client编译错误修正
  • 6-Lars-lbAgentV0.1-reporter_client实现
4-2 获取主机信息功能
  • 7-Lars-lbAgentV0.2-赋值均衡数据结构关系分析
  • 8-Lars-lbAgent0.2-host_info-load_balance-route_lb数据结构的定义
  • 9-Lars-lbAgentV0.2-proto协议的定义
  • 10-Lars-lbAgentV0.2-route_lb与UDP server的关联
  • 10-Lars-lbAgentV0.2-route_lb与UDP server的关联程序编译
  • 11-Lars-lbAgentV0.2-route_lb更新host主机路由信息业务和调试
  • 11-Lars-lbAgentV0.2-route_lb获取host信息不存在情况
  • 1-昨日回顾及agent获取host信息流程
  • 2-Lars-LbAgentV0.2-Api获取主机信息-更新流程梳理
  • 3-Lars-LbAgentV0.2-Api-load_balance模块更新主机信息实现
  • 4-Lars-LbAgentV0.2-Api目录结构创建
  • 5-Lars-LbAgentV0.2-Api创建udp连接实现-lars-lbagent启动失败修正
  • 6-Lars-LbAgentV0.2-Api-getHost请求实现
  • 7-Lars-LbAgentV0.2-loadBalance-选择主机业务实现
  • 8-Lars-LbAgentV0.3-api-get_hostAPI接口测试
  • 9-Lars-LbAgentV0.3-api-get_hostAPI流程总结
  • 10-Lars-LbAgentV0.4-api-上报业务实现
4-3 负载均衡算法与实现
  • 1-lars 系统架构回顾
  • 2-lars-lbAgentV0.4-route_lb处理report业务流程
  • 3-lars-lbAgentV0.4-负责均衡判断参数配置
  • 4-lars-lbAgentV0.4-负载均衡idle节点的失败率判断
  • 5-lars-lbAgentV0.4-负载均衡overload节点的成功率判断
  • 6-lars-lbAgentV0.4-负载均衡上报提交模块
  • 7-lars-lbAgentV0.4-数据问题修改-上报业务测试
  • 8-lars-lbAgentV0.4-模拟器测试工具
  • 9-lars-lbAgentV0.5-idle连续成功-overload连续失败的定期窗口重置机制
  • 10-lars-lbAgentV0.6-loadbalance主动更新主机信息功能
  • 1-昨日回顾
  • 2-Lars-LbAgentV0.7-GetRouteAPI实现
  • 3-Lars-LbAgentV0.7-Udp-server-获取路由服务业务注册
  • 4-Lars-LbAgentV0.7-Udp-server-API和udpserver的测试
4-4 集成测试与自动启动脚本
  • 5-Lars-LbAgentV0.7-route_lb获取路由全部主机信息实现
  • 6-Lars-LbAgentV0.7-API模块注册功能实现和测试工具get_host,get_route,example,simulator实现
  • 7-Lars-LbAgentV0.7-项目构建工具
  • 8-Lars-LbAgentV0.7-启动工具脚本实现
  • 8-Lars-有关fd泄露的调试办法
  • 9-Lars-qps性能测试
  • git企业开发基本流程

阶段十 Go语言微服务项目(赠送)

展开
第一章 go语言概述
1-1 基础环境配置
  • 01-go语言介绍-课程介绍
  • 02-GOPATH-GOROOT配置
  • 03-helloworld详解
1-2 go语言整体介绍
  • 04-go语言介绍1
  • 05-go语言特点2
  • 06-go命令-设置git终端方法
第二章 go语言基础语法
2-1 go语言基础语法
  • 07-变量定义
  • 08-自增语法
  • 09-指针
  • 10-go不支持的语法
  • 11-string
2-2 go语言与c语言差异化功能
  • 12-定长数组-forrange
  • 14-动态数组追加元素
  • 15-切片截取-copy-make介绍
  • 16-map介绍
  • 17-函数
  • 18-内存逃逸
  • 19-import
2-3 go语言与c语言细节语法对比
  • 02-命令行参数-switch
  • 03-标签与continue-goto-break配合使用
  • 04-枚举const-iota
  • 05-结构体基本语法
  • 06-init函数
  • 07-defer-文件读取-匿名函数
第三章 go语言类操作
3-1 封装
  • 08-类封装-绑定方法
3-2 继承
  • 09-类的继承
3-3 多态
  • 11-类访问权限-字段大小写-public-private
  • 12-接口类型介绍
  • 13-多态介绍
第四章 go语言高并发
4-1 go程基础概念
  • 14-go程介绍-demo演示
  • 15-return-exit-goexit区别
4-2 go程实现通信
  • 16-多go程通信-channel
  • 17-通道读写次数不对等会出现-崩溃-内存泄露
4-3 go程高级用法
  • 18-(for-range变量管道)
  • 02-管道总结
  • 03-判断管道是否已经关闭
  • 04-单向通道
  • 05-(select)
第五章 socket套接字
5-1 server与client基础通信
  • 06-socket-client-server通信过程分析
  • 07-socket-server-单次处理
  • 08-socket-client
5-2 server与client高级通信
  • 09-socket-server-多连接建立
  • 10-socket-client多次发送数据
第六章 http编程
6-1 http请求协议
  • 12-http介绍
  • 13-http请求格式详解
  • 14-http请求头代码演示-postman
6-2 http响应协议
  • 15-http响应格式详解
  • 16-http响应代码演示
  • 17-http-server代码实现
6-3 json编解码
  • 18-json编解码介绍
  • 19-结构体标签(tag)
第七章 网络聊天室案例
7-1 聊天室设计分析
  • 02-聊天室-功能分析-效果演示-技术分析
  • 03-socket-server建立成功
  • 04-聊天室设计分析
  • 05-聊天室设计分析2
7-2 聊天室基础模块搭建
  • 06-定义User和map结构
  • 07-创建message广播通道
  • 08-广播go程持续监听-增加defer-msg改为缓冲
  • 09-用户管道数据回写到客户端的go程
7-3 聊天室命令实现
  • 11-who命令介绍
  • 12-rename命令介绍1
  • 13-rename命令实现2
  • 14-用户主动退出ctrl+c
  • 15-超时退出-map竞争需要上锁
第八章 微服务基础技术
8-1 微服务简介
  • 01-项目简介
  • 02-单体式架构
  • 03-微服务优缺点
  • 04-单体式和微服务区别
8-2 rpc和rpc服务
  • 05-RPC简介
  • 06-RPC使用步骤
  • 07-注册RPC服务函数接口
  • 08-绑定服务和调用方法函数接口
  • 09-rpc服务端和客户端编码实现
  • 10-json的rpc
  • 11-rpc的封装
  • 12-rpc封装小结
8-3 基于protobuf的grpc
  • 13-protobuf语法回顾
  • 14-protobuf的编译、和其他序列化比较
  • 15-查看protoc编译文件对比自定义封装
  • 16-grpc安装简介
  • 17-grpc服务远程调用作业布置
  • 01-作业-grpc-server端
  • 02-作业-grpc-client端
第九章 微服务和服务发现
9-1 consul服务发现
  • 03-go-micro简介
  • 04-服务发现的简单认识
  • 05-consul的安装
  • 06-consul常用的命令
  • 07-注册服务到consul并验证
  • 08-consul健康检查
  • 09-consul结合grpc使用-上(只实现grpc远程调用)
  • 10-consul结合grpc使用-中(注册服务到consul)
  • 11-consul结合grpc使用-下(client从consul获取服务连接)
  • 12-consul结合grpc使用-小结
  • 13-服务注销
9-2 go-micro框架
  • 14-创建go-micro项目-查看生成的 proto文件
  • 15-创建go-micro项目-查看生成的main文件和handler目录文件
  • 01-http补充说明知识
  • 02-go-micro框架服务端-客户端测试
9-3 gin框架实现web端
  • 03-gin框架介绍和测试
  • 04-gin框架客户端与micro服务端对接
  • 05-使用访问发现consul测试
  • 06-consul使用图解和RESTful
  • 07-MVC简介
  • 08-创建项目-创建目录结构-查看文档-导入错误处理包
  • 09-创建项目-资源目录html介绍
第十章 图片、短信验证码生成及存储
10-1 生成图片验证码
  • 10-session的处理
  • 01-获取网页图片验证码ID
  • 02-测试图片验证码
  • 03-图片验证码模块集成
  • 04-图片验证码功能移植微服务
  • 05-图片验证码功能对接微服务的web实现
  • 06-对接微服务的web实现步骤小结
10-2 redis数据库应用
  • 07-Redis数据库基本操作回顾
  • 08-go语言操作Redis数据库API介绍
  • 09-go语言操作Redis数据库-测试案例
  • 10-在微服务端添加redis数据库存储
  • 11-对应web端实现及流程总结
10-3 阿里平台短信验证码
  • 12-开发者平台简介
  • 13-阿里云申请账号说明
  • 01-申请账号测试作业复习
  • 02-短信验证码测试及使用流程总结
  • 03-获取短信验证码-提取URL中GET请求携带的数据
  • 04-短信验证码实现
  • 05-短信验证码存入Redis数据库
  • 06-微服务实现短信验证码-生成微服务-修改密码本
  • 07-微服务实现短信验证码-移植发送短信验证码功能
  • 08-微服务实现短信验证码-修改连接池初始化位置
  • 09-短信验证码-微服务对应的客户端实现
  • 10-短信验证码-微服务对应的客户端实现流程总结
  • 11-获取绑定数据-Request-Payload
第十一章 gorm框架
11-1 gorm框架操作MySQL
  • 01-gorm介绍
  • 02-MySQL操作回顾
  • 03-gorm创建表
  • 04-MySQL的init函数说明
  • 05-gorm框架提供的MySQL连接池
  • 06-gorm插入数据
  • 07-gorm查询数据
  • 08-gorm更新数据
  • 09-gorm软删除-创建表
  • 10-gorm软删除-实现
  • 10-MySQL的8小时时区问题
  • 12-gorm实现创建表指定属性
  • 13-初始化MySQL连接池-创建项目用表
第十二章 用户信息处理
12-1 用户注册
  • 01-微服务实现用户注册-微服务端-上
  • 02-微服务实现用户注册-微服务端-下
  • 03-微服务实现用户注册-web端
  • 04-微服务实现用户注册-web端-流程小结
  • 05-获取地域信息-读MySQL写Redis入
  • 06-获取地域信息-先查redis-没有读MySQL写入
12-2 Cookie、Session和用户登录
  • 07-Cookie简介
  • 08-Session简介
  • 09-Cookie和Session的对比和生成
  • 10-Cookie操作练习
  • 11-Session的操作练习-上-初始化容器
  • 12-Session的操作练习-下-设置属性获取session
  • 13-获取手机号密码登录用户-存入session
  • 01-修改GetSession函数,完成用户登录
  • 02-用户退出登录
12-3 获取、更新用户信息
  • 03-获取用户信息-上
  • 04-获取用户信息-下
  • 05-更新用户名实现
12-4 中间件
  • 06-中间件简介和中间件类型
  • 07-中间件测试和模型分析
  • 08-中间件测试案例和小结
  • 09-项目使用中间件
第十三章 图像存储展示和其他业务
13-1 fastDFS图像管理
  • 10-测试-上传头像到test目录
  • 11-云存储扯淡和作业布置
  • 01-fastDFS的安装配置和启动
  • 02-fastDFS-Nginx模块的安装配置和启动
  • 03-go语言使用fastDFS-Nginx模块
  • 04-go-fastDFS框架及环境测试
  • 05-按字节上传头像并展示到浏览器
  • 06-用户头像上传-集成到项目中
13-2 其他重复业务和脚本管理
  • 07-用户实名认证
  • 08-发布房屋信息
  • 09-上传房屋图片
  • 10-其他房屋操作
  • 11-脚本管理项目