课程试听
阶段一 框架原理与进阶
展开第一章 webpack从入门到进阶

1-1 课程介绍

- 1-1 课程介绍
1-2 webpack基础

- 2-1 webpack的安装
- 2-2 webpack-cli的使用
- 2-3 npx的原理介绍
- 2-4 webpack的应用场景
- 2-5 webpack的基础配置
- 2-6 将webpack命令配置到package.json
- 2-7 watch模式
- 2-8 webpack-dev-server的基本使用
- 2-9 html-webpack-plugin的使用(html插件)
- 2-10 webpack-dev-middleware的基本使用
- 2-11 自动编译工具小结
- 2-12 loader-处理css文件
- 2-13 loader-处理less和sass文件
- 2-14 loader-处理图片和字体文件
- 2-15 loader-自定义图片打包目录和打包名称
- 2-16 loader-处理js文件之babel的基本使用
- 2-17 loader-处理js文件之转换更高级的语法
- 2-18 loader-处理js文件之转换generator的语法
- 2-19 loader-处理js文件之使用.babelrc配置文件
- 2-20 loader-处理js文件之高版本的原型方法转义
- 2-21 source map的使用
- 2-22 插件-clean-webpack-plugin
- 2-23 插件-copy-webpack-plugin
- 2-24 插件-BannerPlugin
1-3 webpack高级

- 3-1 HTML中img标签的图片资源处理
- 3-2 多页应用打包
- 3-3 第三方库的两种引入方式
- 3-4 区分环境配置文件打包
- 3-5 区分环境配置文件打包-配置文件归类
- 3-6 定义环境变量区分开发环境与生产环境
- 3-7 跨域问题简介及常用的解决方案
- 3-8 使用http-proxy解决跨域问题
- 3-9 HMR的使用
1-4 webpack优化

- 4-1 production模式打包自带优化-tree-shaking
- 4-2 production模式打包自带优化-scope-hoisting
- 4-3 css优化-将css提取到独立的文件中
- 4-4 css优化-自动添加css前缀
- 4-5 css优化-开启css压缩
- 4-6 js代码分离-CodeSplitting简介
- 4-7 js代码分离-手动配置多入口实现代码分割
- 4-8 js代码分离-多入口打包抽取公共代码
- 4-9 js代码分离-动态导入的基本使用
- 4-10 js代码分离-静态导入的问题
- 4-11 js代码分离-动态导入的好处
- 4-12 SplitChunksPlugin的配置参数-chunks
- 4-13 SplitChunksPlugin的配置参数-通用配置
- 4-14 SplitChunksPlugin的配置参数-cacheGroups
- 4-15 提高构建性能-noParse
- 4-16 提高构建性能-IgnorePlugin简介
- 4-17 提高构建性能-moment简介
- 4-18 提高构建性能-IgnorePlugin的使用
- 4-19 提高构建性能-使用noParse的注意事项
- 4-20?提高构建性能-DllPlugin简介
- 4-21?提高构建性能-Vue环境部署及问题说明
- 4-22?提高构建性能-使用DllPlugin打包Vue全家桶
- 4-23?提高构建性能-使用DllReferencePlugin关联Dll库
- 4-24?提高构建性能-使用add-asset-webpack-plugin自动添加js引用
- 4-25 提高构建性能-使用DllPlugin打包React全家桶
- 4-26 Happypack多进程打包
- 4-27 合理利用浏览器缓存提高访问速度
- 4-28 BundleAnalysis打包分析
- 4-29 覆盖率概念介绍
- 4-30 Prefetching优化首屏加载速度和动态导入的加载速度
1-5 webpack原理

- 5-1 课程目标介绍
- 5-2 项目准备工作
- 5-3 bundle文件分析
- 5-4 __webpack_require__函数详解
- 5-5 依赖分析-加载index.js文件内容
- 5-6 依赖分析-使用AST将require替换为__webpack_require__
- 5-7 依赖分析-使用AST替换路径
- 5-8 依赖分析-递归构建modules对象
- 5-9 使用模板引擎拼接并输出最终的bundle文件
- 5-10 loader-简介
- 5-11 loader-实现一个最简单的loader
- 5-12 loader-分类和加载顺序
- 5-13 loader-获取options的配置
- 5-14 loader-给itheima-pack添加loader功能
- 5-15 loader-处理不同类型的use属性
- 5-16 loader-处理不同类型的use属性代码优化
- 5-17 plugin-简介
- 5-18 plugin-生命周期钩子介绍
- 5-19 plugin-实现一个最简单的plugin
- 5-20 plugin-实现html-webpack-plugin的步骤
- 5-21 plugin-Compiler和Compilation的区别
- 5-22 plugin-实现html-webpack-plugin
- 5-23 plugin-Tapable简介
- 5-24 plugin-Tapable的基本使用
- 5-25 plugin-利用Tapable实现itheima-pack的plugin功能
1-6 课程总结

- 6-1 课程总结
第二章 JavaScript 语言进阶

2-1 课程介绍

- 01-课程内容介绍 免费试学
2-2 语言类型分类

- 02-强类型和弱类型的说明 免费试学
- 03-动态类型和静态类型的说明 免费试学
- 04-动态类型可能带来的问题 免费试学
- 05-静态类型的优势说明 免费试学
- 06-静态类型的问题说明以及如何在js中使用静态类型 免费试学
2-3 Flow

- 07-Flow的简单介绍 免费试学
- 08-Flow的基本使用介绍 免费试学
- 09-Flow配合babel进行使用 免费试学
- 10-Flow中的数据类型介绍1 免费试学
- 11-Flow用来简化代码错误处理逻辑 免费试学
- 12-Flow中的函数类型 免费试学
- 13-Flow中的Maybe类型的说明 免费试学
- 14-Flow中的类型或操作和类型推断 免费试学
- 15-Flow中的对象类型 免费试学
- 16-Flow小结 免费试学
2-4 TypeScript

- 17-TypeScript的基本介绍
- 18-TypeScript初体验
- 19-TypeScript配置文件的说明
- 20-TypeScript中的类型介绍1
- 21-TypeScript中的类型介绍2
- 22-TypeScript中的类
- 23-TypeScript中类的继承实现
- 24-TypeScript类成员的访问修饰符介绍
- 25-TypeScript中的只读属性和参数属性说明
- 26-TypeScript中类成员的存取器
- 27-TypeScript接口的作用以及最基本的使用方式
- 28-接口中的可选属性和只读属性的说明
- 29-接口中额外的属性检查
- 30-函数类型的接口和类类型的接口
- 31-接口的继承说明
- 32-typescript小结
第三章 Angular 实战开发

3-1 课程简介

- 01-课程介绍 免费试学
- 02-如何学习Angular 免费试学
- 03-Angular的介绍 免费试学
- 04-Angular版本说明以及知识储备说明 免费试学
3-2 Angular Cli以及项目结构

- 05-使用Angular CLI初始化项目 免费试学
- 06-Angular项目目录结构说明 免费试学
- 07-配置tslint修改为自己的代码风格 免费试学
- 08-组件的构成以及快速体验组件 免费试学
3-3 模块和装饰器

- 09-Angular中模块的说明 免费试学
- 10-Angular根模块以及NgModule装饰器的作用说明 免费试学
- 11-组件的装饰器以及注意点说明 免费试学
3-4 数据绑定

- 12-数据绑定 - 1 差值表达式 免费试学
- 13-数据绑定 - 2 属性绑定 免费试学
- 14-数据绑定 - 3 事件绑定 免费试学
- 15-数据绑定 - 4 双向数据绑定 免费试学
3-5 Angular语言服务

- 16-语言服务(编辑器插件)
3-6 指令

- 17-指令 - ngClass操作CSS类
- 18-添加一个或多个CSS类的说明
- 19-指令 - ngStyle操作行内样式
- 20-指令 - ngIf控制元素展示和隐藏
- 21-对比两种展示和隐藏方案
- 22-指令 - ngFor遍历生成元素
- 23-指令 - ngFor中的odd以及隔行变色效果
- 24-指令 - ngFor性能问题trackBy
3-7 todos案例

- 25-todos案例的演示
- 26-todos案例 - 1 任务展示
- 27-todos案例 - 2 任务添加
- 28-todos案例 - 3 任务删除
- 29-todos案例 - 4 任务状态切换
- 30-todos案例 - 回顾总结
- 31-todos案例升级以及组件拆分说明
3-8 组件和组件通讯

- 32-父组件传递数据给子组件以及CLI命令创建组件
- 33-子组件传递数据给父组件
3-9 todos案例 - 分离组件

- 34-升级todos案例 - 1 创建模块和组件
- 35-升级todos案例 - 2 在根模块中使用todos模块
- 36-升级todos案例 - 3 抽离todo-header组件
- 37-升级todos案例 - 4 抽离todo-list组件
3-10 使用TypeScript

- 38-Angular中的TypeScript说明
- 39-Angular中的TypeScript应用
- 40-接口的两种使用方式说明以及在todos中使用TypeScript
3-11 服务

- 41-服务的说明
- 42-服务的创建和基本使用
- 43-将服务注册为根级提供商
- 44-将服务注册为模块内可以的提供商
- 45-将服务注册为组件内可以的提供商(1)
- 46-将服务注册为组件内可以的提供商(2)
3-12 todos案例 - 服务版本

- 47-修复todos案例小bug
- 48-使用服务修改todos案例 - 1 抽离数据
- 49-使用服务修改todos案例 - 2 抽离添加任务
- 50-使用服务修改todos案例 - 3 抽离删除和切换任务
- 51-使用服务修改todos案例 - 4 完成
3-13 HttpClient的使用

- 52-HttpClient的说明
- 53-HttpClient的基本使用
- 54-在HttpClient中添加类型检查
- 55-在HttpClient中获取完整的响应
- 56-在HttpClient中处理错误
- 57-使用HttpClient发送rest请求以及json-server提供接口
3-14 todos案例 - HttpClient

- 58-使用HttpClient修改todos案例 - 1 获取数据
- 59-使用HttpClient修改todos案例 - 2 添加数据
- 60-使用HttpClient修改todos案例 - 3 切换任务状态
- 61-使用HttpClient修改todos案例 - 4 删除任务
- 62-使用HttpClient修改todos案例 - 5 小结
3-15 路由

- 63-路由的说明
- 64-路由的基本使用
- 65-forRoot方法的说明以及在路由模块中的作用
- 66-angular cli创建组件的bug以及配置更多路由
- 67-路由的基本使用 - 默认路由等
- 68-路由的基本使用 - 编程式导航
- 69-路由的基本使用 - 路由参数
- 70-路由的基本使用 - 子路由
- 71-路由的基本使用 - 路由激活高亮
3-16 响应式表单和表单校验

- 72-响应式表单的说明
- 73-响应式表单的基本使用 - 1 导入模块和FormControl
- 74-响应式表单的基本使用 - 2 获取和更新表单元素的值
- 75-表单验证的使用 - 1 内置表单验证器
- 76-表单验证的使用 - 2 内置表单验证器
- 77-表单验证的使用 - 3 补充内置表单验证器
- 78-表单验证的使用 - 4 自定义验证器
- 79-表单验证的使用 - 5 使用FormGroup管理整个表单
- 80-表单验证的使用 - 6 使用FormBuilder简化语法
3-17 项目介绍和搭建

- 01-实战项目演示
- 02-实战项目技术栈
- 03-项目搭建
3-18 项目 - 配置路由

- 04-配置路由
- 05-创建路由模块
3-19 登录功能

- 06-登录功能 - 1 登录表单结构
- 07-登录功能 - 2 登录样式
- 08-登录功能 - 3 表单结构和逻辑代码分析
- 09-登录功能实现 - 1 表单验证
- 10-登录功能实现 - 2 登录流程跑通
- 11-登录功能实现 - 3 抽离类型和配置
- 12-登录访问控制 - 1 路由守卫和实现思路
- 13-登录访问控制 - 2 路由导航守卫功能实现
3-20 首页功能

- 14-首页功能 - 1 结构
- 15-首页功能 - 2 左侧内容调整
- 16-首页功能 - 3 右侧样式结构调整
- 17-退出功能 - 1 基本实现
- 18-退出功能 - 2 确认退出增加用户体验
- 19-退出功能 - 3 退出功能样式调整
3-21 异步路由

- 20-异步路由和模块的优势说明
- 21-异步路由和模块的使用(超长)
- 22-配置员工管理菜单以及路由的优化
3-22 员工管理 - 列表

- 23-员工管理列表 - 1 结构
- 24-员工管理列表 - 2 结构分析和说明
- 25-员工管理列表 - 3 数据获取
- 26-员工管理列表 - 4 TS类型约束
- 27-员工管理列表 - 5 angular中的管道以及表格数据格式处理
- 28-员工管理列表 - 6 分页获取数据
- 29-员工管理列表 - 7 TS类型约束说明以及loading效果
- 31-(补充)员工列表添加trackBy
3-23 员工管理 - 删除

- 30-员工删除
3-24 http拦截器

- 32-创建Http拦截器(interceptors)
- 33-使用Http拦截器实现统一添加Authorization
- 34-使用Http拦截器处理错误
3-25 员工管理 - 添加

- 35-员工添加 - 1 结构以及Angular模块之间的关系说明(重要)
- 36-员工添加 - 2 结构改造
- 37-员工添加 - 3 表单验证
- 38-员工添加 - 4 表单验证的调整
- 39-员工添加 - 5 完成
3-26 员工管理 - 编辑

- 40-员工编辑 - 1 弹出对话框
- 41-员工编辑 - 2 展示员工数据以及修改添加员工的默认入职日期
- 42-员工编辑 - 3 更新员工数据
- 43-员工编辑 - 4 修改两个小bug
3-27 总结

- 44-总结
第四章 MVVM 框架进阶与实现

4-1 课程简介

- 01-课程介绍 免费试学
- 02-mvvm框架的介绍与双向数据绑定 免费试学
- 03-vue框架-基本架子 免费试学
4-2 compile模块

- 04-compile-fragment的使用 免费试学
- 05-compile-frament子节点的解析步骤 免费试学
- 06-compile-解析指令的基本步骤 免费试学
- 07-compile-解析v-on指令 免费试学
- 08-compile-通过compileUtil简化代码 免费试学
- 09-compile-解析插值表达式 免费试学
- 10-compile-显示复杂数据 免费试学
4-3 observe模块

- 11-observer-数据劫持
- 12-observer-对data中的数据进行劫持
4-4 watcher模块

- 13-watcher对象的创建
- 14-watcher-关联observe与compile
- 15-watcher-订阅-发布者模式介绍
- 16-watcher-通过订阅-发布者模式更新数据
- 17-watcher-修复复杂类型数据的bug
- 18-watcher-代理数据到vm实例
- 19-项目总结
第五章 十次方项目(上)

5-1 课程介绍

- 00-课程介绍 免费试学
- 000-项目接口说明 免费试学
5-2 项目初始化

- 01-项目初始化-开始 免费试学
- 02-项目初始化-导入模板引擎 免费试学
- 03-项目初始化-导入静态资源完成首页渲染 免费试学
- 04-项目初始化-提取公共的模板页 免费试学
5-3 用户注册

- 05-项目初始化-划分路由模块和控制器模块 免费试学
- 06-用户注册-客户端表单处理 免费试学
- 07-用户注册-解析获取客户端表单数据 免费试学
- 08-用户注册-请求数据接口 免费试学
- 09-用户注册-封装service接口请求模块 免费试学
- 10-用户注册-获取验证码 免费试学
- 11-用户注册-校验验证码 免费试学
- 12-用户注册-处理验证码过期 免费试学
- 13-用户注册-客户端表单验证 免费试学
- 14-用户注册-客户端表单异步验证 免费试学
- 15-用户注册-异步校验验证码补充 免费试学
- 16-用户注册-服务端数据校验 免费试学
- 17-用户注册-验证插件补充 免费试学
5-4 用户登录退出

- 18-用户登录-客户端表单处理
- 19-用户登录-服务端接口处理
- 20-用户登录-记录登录状态
- 21-用户登录-分析记住我实现流程
- 22-用户登录-实现记住我功能
- 23-用户登录-封装记住我中间件
- 24-用户登录-Node中字符串对称加解密
- 25-用户登录-封装对称加解密模块
- 26-用户退出
5-5 发布问题

- 27-发布问题-配置路由渲染页面
- 28-发布问题-客户端表单提交
- 29-发布问题-服务端处理
- 30-发布问题-发布成功跳转到详情页
5-6 问题详情

- 31-话题详情-展示基本信息
- 32-挂载公共的页面模板数据
- 33-话题详情-使用dayjs处理相对时间
- 34-话题详情-自定义模板引擎过滤器
- 35-问题详情-问题不存在的提示处理
- 36-动态展示问题的编辑和删除按钮
5-7 问题更新/删除

- 37-问题更新-渲染编辑页面
- 38-问题更新-完成更新发布
- 39-问题删除-完成
- 40-Markdown富文本编辑器
第六章 十次方项目(下)

6-1 回复模块

- 41-添加回复 免费试学
- 42-展示回复列表 免费试学
- 43-动态展示回复的编辑和删除链接 免费试学
- 44-删除回复 免费试学
- 45-更新回复 免费试学
- 46-处理回复的相对时间 免费试学
6-2 内容投票

- 47-投票-页面参数处理
- 48-投票-创建投票
- 49-投票-控制器业务处理
6-3 首页模块(分页器)

- 50-首页-渲染首页列表
- 51-首页列表-动态展示分页数据
- 52-首页列表-分页器组件
- 53-首页列表-上一页下一页
- 54-首页列表-数字页码链接
- 55-首页列表-处理页码范围
- 56-首页列表-页码范围(数组的slice方法)
- 57-首页列表-处理省略项目的禁用状态
- 58-首页列表-分类导航
- 59-首页列表-页码链接头尾与省略项目
6-4 标签模块

- 60-标签-列表页分页
- 61-标签-查看详情
- 62-标签-内容筛选
- 63-标签-关注
- 64-标签-入口链接处理
6-5 用户主页

- 65-用户主页-动态加载tab栏内容
- 66-用户主页-封装请求渲染方法统一处理内容列表
6-6 用户设置

- 67-设置-基本信息
- 68-设置-头像上传-上传预览
- 69-设置-头像上传-图片裁切插件
- 70-设置-头像上传-上传完成
- 71-设置-添加工作经历
- 72-设置-删除工作经历
- 73-设置-渲染用户主页信息
- 74-设置-密码修改
- 75-设置-个性网址
第七章 数据流框架的应用

7-1 VueX

- 00-vuex介绍
- 01-案例初始化
- 02-vuex基本使用
- 03-state和mapState函数
- 04-getter
- 05-getter也可以返回函数
- 06-mutation的提交方式及参数传递
- 07-mutation补充
- 08-action
- 09-action补充
- 10-module
- 11-模块-带命名空间的绑定函数
- 12-购物车案例演示
- 13-购物车-初始化
- 14-购物车-导入vuex&划分目录结构
- 15-购物车-结合vuex渲染商品列表
- 16-购物车-添加购物车
- 17-购物车-展示购物车列表
- 18-购物车-结算01
- 19-购物车-结算02
- 20-购物车-vuex插件
- 21-vuex_api-严格模式
- 22-vuex_api-表单处理
- 23-vuex使用总结
7-2 Redux

- 24-redux-介绍
- 25-redux-基本使用
- 26-redux-核心概念和API
- 27-redux-拆分reducer
- 28-redux-中间件概念
- 29-redux-使用redux-logger中间件
- 30-redux-使用redux-thunk中间件
- 31-redux-让redux和react连接起来
- 32-redux-购物车案例-介绍
- 33-redux-购物车案例-初始化
- 34-redux-购物车案例-导入redux
- 35-redux-购物车案例-拆分reducer模块
- 36-redux-购物车案例-在组件中更新容器中的数据
- 37-redux-购物车案例-redux调试工具
- 38-redux-购物车案例-请求获取商品列表
- 39-redux-购物车案例-添加购物车01
- 40-redux-购物车案例-添加购物车02
- 41-redux-购物车案例-添加购物车03
- 42-redux-购物车案例-渲染购物车列表
- 43-redux-购物车案例-计算购物车商品总价格
- 44-redux-购物车案例-结算01
- 45-redux-购物车案例-结算02
- 46-redux-购物车案例-优化ActionType常量
7-3 Mobx

- 47-mobx-介绍
- 48-mobx-开始-初始化
- 49-Mobx-开始-计数器
- 50-mobx-装饰器语法补充
- 51-mobx-observable函数
- 52-mobx-computed计算属性
- 53-mobx-action-基本概念
- 54-mobx-action-bound绑定
- 55-mobx-action-runInAction
- 56-mobx-action-异步action
- 57-mobx-监视数据的方式
- 58-mobx-购物车-介绍
- 59-mobx-购物车-初始化
- 60-mobx-购物车-导入mobx
- 61-mobx-购物车-渲染商品数据列表
- 62-mobx-购物车-添加购物车01
- 63-mobx-购物车-添加购物车02
- 64-mobx-购物车-展示购物车商品总价格
- 65-mobx-购物车-结算01
- 66-mobx-购物车-结算02
第八章 服务端渲染 SSR 专题

8-1 Nuxt

- 01-课程介绍
- 02-服务端渲染介绍
- 03-Nuxt-入门介绍
- 04-Nuxt-初始化Nuxt项目模板
- 05-Nuxt-模板目录结构分析
- 06-Nuxt-基本路由
- 07-Nuxt-路由跳转
- 08-Nuxt-动态路由
- 09-Nuxt-路由参数校验
- 10-Nuxt-嵌套路由
- 11-Nuxt-布局组件
- 12-Nuxt-error布局组件
- 13-Nuxt-全局样式引入
- 14-Nuxt-element-ui使用
- 15-Nuxt-异步数据获取
- 16-Nuxt-axios的使用
- 17-Nuxt-豆瓣电影首页
- 18-Nuxt-豆瓣电影列表页
- 19-Nuxt-豆瓣电影详情页
- 20-Nuxt-SEO优化
8-2 Next

- 01-Next-介绍
- 02-Next-初体验
- 03-Next-Link组件跳转
- 04-Next-命名式路由跳转
- 05-Next-路由跳转注意点
- 06-Next-普通组件及布局组件
- 07-Next-全局布局组件
- 08-Next-路由的查询参数
- 09-Next-浅层路由
- 10-Next-服务器端支持浅层路由
- 11-Next-静态文件服务
- 12-Next-页面数据获取
- 13-Next-styled-jsx语法
- 14-Next-豆瓣电影首页
- 15-Next-豆瓣电影列表页
- 16-Next-豆瓣电影详情页
- 17-Next-自定义头部元素head
8-3 Angular Universal

- 01-课程介绍
- 02-Angular Universal介绍
- 03-Angular CLI简单使用
- 04-目录结构分析
- 05-组件的创建及使用
- 06-数据绑定-插值表达式
- 07-数据绑定-属性绑定
- 08-数据绑定-事件绑定
- 09-数据绑定-双向数据绑定
- 10-指令-ngIf
- 11-指令-NgForOf
- 12-指令-NgStyle
- 13-指令-NgClass
- 14-路由初体验
- 15-路由跳转-routerLink指令实现
- 16-路由跳转-navigate方法实现
- 17-路由传参-参数的传递
- 18-路由传参-路由快照获取参数
- 19-路由传参-路由订阅获取参数
- 20-子路由
- 21-http请求
- 22-豆瓣电影-电影列表页面
- 23-豆瓣电影-电影详情页面
- 24-Universal配置
第九章 桌面应用开发框架

9-1 桌面应用开发

- 01-课程目标
- 02-electron介绍
- 03-创建第一个electron桌面应用程序窗口
- 04-使用electron窗口加载页面内容
- 05-小总结
- 06-electron中菜单项的创建和添加
- 07-实现关于窗体的显示及退出时的对话框确认
- 08-主进程和渲染进程的概念
- 09-主进程和渲染进程通信的几种方式介绍
- 10-渲染进程向主进程发送消息
- 11-主进程向渲染进程发送消息
- 12-主进程主动向渲染进程发送消息-使用webCotents
- 13-remote的使用介绍-数据共享
- 14-remote的使用介绍-引入主进程中使用的模块
- 15-计算器案例-实现颜色修改(上)
- 16-计算器案例-实现颜色修改(下)
- 17-计算器案例-实现字体增大
- 18-计算器案例-实现减小字体和默认字体大小
- 19-计算器案例-实现数字的输入
- 20-计算器案例-实现重置和运算符处理
- 21-计算器案例-计算功能的简易实现
- 22-计算器案例-展示上下文菜单
- 23-计算器案例-添加系统托盘(上)
- 24-计算器案例-添加系统托盘(下)
- 25-electron打包-window平台下打包为可执行的文件
- 26-electron打包-window平台下打包为可执行的文件和安装包
第十章 学成在线项目

10-1 项目介绍

- 01-项目介绍以及SPA和服务端渲染
- 02-系统开发流程介绍
10-2 搭建项目结构

- 03-项目框架初步搭建和端口的修改
- 04-项目集成css和less文件解析和集成antd
- 05-重写_document.js完成antd的全部组件样式导入
- 06-头部和底部抽离分析和代码实现
- 07-头部和底部组件样式调整
10-3 项目介绍和框架搭建

- 08-redux执行过程分析
- 09-1-redux代码实现1
- 09-2-redux代码实现2
- 09-3-redux代码实现总结
- 10-利用redux-persist完成将store中的state保存到localStorage中
- 11-1- 利用fetch实现数据请求封装get方法
- 11-2- 利用fetch实现数据请求封装post
- 11-3- 测试封装好的fetch方法
10-4 项目业务-登录

- 12-1-登录过程中浏览器与服务器的处理过程分析(理解Session状态管理机制)
- 12-2- 登录功能实现1
- 12-3- 登录功能实现2
- 13-1登录成功跳转以及sessionStorage存储用户信息-前半部分
- 13-2登录成功跳转以及sessionStorage存储用户信息-后半部分
- 13-3利用antd中的表单组件实现登录页面用户名手机号码正则验证
- 13-4 登录组件样式的两种写法演示-3
10-5 注册功能

- 14-1注册功能分析业务分析和单独在Register实现注册页面原因
- 14-2注册页面静态页面结构实现
- 14-3注册页面表单元素合法性检查初步实现
- 14-4 完成手机号码是否已经被注册业务逻辑
- 14-5 完善手机号码是否被注册检查业务逻辑-点击注册按钮时也应该检查
- 14-6 完成点击注册按钮业务逻辑代码
- 14-7 完成点击获取验证码请求服务器业务代码
- 14-8 获取验证码按钮倒计时业务实现
- 14-9 使用antd中的表单中的自定义验证规则完成再次输入密码的一致性检查
10-6 项目业务-学生端首页

- 15-1 学生端首页页面分析和静态结构实现
- 15-2 学生端首页-通过getInitialProps轮播图数据并且动态渲染
- 15-3 学生端首页-通过getInitialProps课程导航数据并且动态渲染
- 15-4 学生端首页-通过componentWillMount实现精品课程的数据获取和渲染
- 15-5 学生端首页-通过componentWillMount实现不同课程分组的数据获取和渲染
- 15-6 学生端首页- 实现课程标签的动态化和修复map遍历时报没有定义key的错误
10-7 项目业务-学生端详情页

- 16-1 学生端课程详情页面实现思路分析
- 16-2 学生端课程详情页中利用withRouter实现url传参值的获取
- 16-3 学生端课程详情页面静态结构实现(使用了antd中的Tab组件
- 16-4 学生端课程详情页顶部数据获取(使用getInitialProps方式)
- 16-5 学生端课程详情页课程详情、常见问题、授课老师数据展示
- 16-6 学生端课程详情页课程大纲实现1
- 16-6 学生端课程详情页课程大纲实现2
10-8 购物车&订单确认&支付

- 17-1 分析购物车实现业务以及加入购物车按钮实现思路
- 17-2 实现加入购物车按钮功能1
- 17-2 实现加入购物车按钮功能2
- 17-2 实现加入购物车按钮功能3
- 17-3 实现购物车列表数据展示
- 17-3-1 实现购物车列表数据删除
- 17-3-2 实现购物车列表勾选商品总价格计算和控制结算按钮是否可用
- 17-4-1 分析订单确认和下单操作业务
- 17-4-2 将用户勾选购物车中的课程数据使用redux管理起来
- 17-4-3 实现订单确认页面业务代码
- 17-4-4 分析和实现订单确认页面中的下单按钮逻辑
- 17-4-5 分析支付页面要实现的业务和数据来源以及接口调用
- 17-4-6 实现支付页面支付链接的二维码生成
- 17-4-7 支付页面使用定时器进行支付状态检查
10-9 个人中心

- 18-1 完成我的订单页面数据动态化
- 18-2 修复我的订单上数据展示
- 18-3 完成筛选订单数据功能
- 18-4 完成订单数据分页功能
- 18-5 完成我的课程页面功能
10-10 完善课程详情页面

- 19 完善课程详情页面免费和收费课程播放权限的控制
10-11 播放页面

- 20-1 视频播放页面业务分析和页面静态结构创建
- 20-2 利用Router对象实现detial页面中的章节跳转功能
- 20-3 完成视频播放页面登录判断业务代码
- 20-4 完成视频播放页面视频源,代码,资源下载业务代码
- 20-5 完成视频播放页面章节树业务代码
- 20-6-1 完成视频播放章节问答业务分析和列表数据获取
- 20-6-2 完成分页获取问答列表功能
- 20-6-3 完成问题提交和回答功能
10-12 后台管理系统

- 21-1 后台管理系统业务分析和布局组件加载实现思路分析
- 21-2 实现后台管理系统布局组件代码实现
- 21-3 实现课程列表数据动态化和分页功能
- 21-4 实现课程列表条件筛选功能
- 21-5 实现新增页面静态结构和富文本编辑器的使用
- 21-6 利用TreeSelect组件实现新增课程页面中的课程分类树型数据展示
- 21-7 实现课程新增页面图片的上传功能
- 21-8 完成新增课程post数据功能
- 21-9 实现课程大纲树形表格功能
- 21-10 优化章节列表功能
- 21-11 实现新增一级大纲和二级大纲功能
- 21-12 完成大纲数据编辑功能
- 21-13 在头部组件中增加后台管理入口
- 21-14 next.js项目的发布演示和完整代码和文档地址说明
阶段二 移动App开发
展开第一章 小程序/快应用开发框架

1-1 MINA

- 01-课程介绍
- 02-小程序的介绍
- 03-开发环境的准备
- 04-我的第一个微信小程序
- 05-微信开发者工具介绍
- 06-mina框架的介绍
- 07-全局配置文件-window
- 08-全局配置文件-tabBar
- 09-页面配置
- 10-视图层-数据绑定1
- 11-视图层-数据绑定2
- 12-视图层-运算
- 13-视图层-列表渲染
- 14-视图层-rpx
- 15-视图层-样式导入和全局样式
- 16-view标签
- 17-text标签
- 18-image标签
- 19-swiper标签
- 20-navigate标签
- 21-bindtap和this.setData
- 22-自定义组件
- 23-美团项目介绍
- 24-美团项目文件目录介绍
- 25-美团头部
- 26-获取地理位置
- 27-轮播图
- 28-首页导航
- 29-签到
- 30-好货拼团
- 31-广告组
- 32-猜你喜欢1
- 33-猜你喜欢2
1-2 Wepy

- 01-课程介绍
- 02-快速搭建项目
- 03-小程序开发者工具配置
- 04-代码高亮配置
- 05-开启promise
- 06-小程序和wepy文件结构对比
- 07-app.wpy中的style
- 08-app.wpy中的script
- 09-index.wpy中的data和methods
- 10-异步中修改数据
- 11-计算属性computed
- 12-监控属性watch
- 13-自定义数据和函数
- 14-自定义组件的初步使用
- 15-props-静态传值
- 16-props-单向绑定
- 17-props-双向绑定
- 18-父子通信broadcast
- 19-子向父通信-emit
- 20-组件之间的通信-invoke
- 21-冒泡型事件
- 22-捕获型事件
- 23-用户自定义事件
- 24-插槽
- 25-拦截器
- 26-循环标签repeat
- 27-项目介绍
- 28-项目搭建
- 29-location的静态结构
- 30-动态获取地理位置信息
- 31-轮播图
- 32-首页导航
- 33-好货拼团
- 34-广告组
- 35-商店1
- 36-商店2
- 37-商店3
- 38-调用腾讯地图计算真实距离
1-3 mpvue

- 01-mpvue介绍
- 02-启动项目
- 03-项目结构描述
- 04-mpvue的生命周期
- 05-标签映射
- 06-数据绑定
- 07-computed和watch
- 08-v-if和v-show
- 09-列表渲染
- 10-class动态绑定
- 11-style动态绑定
- 12-事件
- 13-事件的坑
- 14-组件的基本使用
- 15-组件传值props
- 16-子向父通信
- 17-事件总线
- 18-总结
- 19-美团项目搭建
- 20-项目配置
- 21-头部地理位置静态结构
- 22-动态获取地理位置
- 23-轮播图
- 24-首页导航
- 25-签到广告
- 26-好货拼团
- 27-广告组
- 28-猜你喜欢
- 29-猜你喜欢2
1-4 Taro

- 01-Taro介绍
- 02-创建项目
- 03-项目结构描述和编码规范
- 04-全局配置
- 05-页面配置
- 06-路由功能
- 07-设计稿以及尺寸单位
- 08-taro中的jsx规范
- 09-taro自定义组件
- 10-jsx表达式
- 11-props属性
- 12-props其他介绍
- 13-state初体验
- 14-props和state结合使用
- 15-state的补充
- 16-事件的绑定
- 17-阻止事件冒泡
- 18-事件传递参数
- 19-事件传递1
- 20-事件的传递2
- 21-条件渲染-if
- 22-条件渲染-&&-三元运算符
- 23-列表渲染
- 24-children
- 25-组合
- 26-外部类
- 27-全局样式类
- 28-taro补充和总结
- 29-项目介绍和搭建
- 30-引入项目资源
- 31-位置_搜索1
- 32-位置搜索2
- 33-轮播图
- 34-首页菜单
- 35-首页拼团
- 36-奖励&广告组
- 37-猜你喜欢1
- 38-猜你喜欢2-动态计算距离
第二章 原生应用开发框架

2-1 课程介绍

- 1-原生应用开发框架介绍
2-2 环境搭建

- 2-原生应用开发框架之Windows环境搭建
- 3-生成React-Native项目并且运行在真机和模拟器上
- 4-生成Weex项目并且运行在真机和模拟器上
- 5-生成Flutter项目并且运行在模拟器和真机上
- 6-原生应用开发框架之Mac环境搭建
- 7-Mac环境下生成React-Native项目并且运行
- 8-Mac环境下生成Weex项目并且运行
- 9-Mac环境下生成Flutter项目并且运行
2-3 React-Native

- 10-React-Native项目之项目结构及代码分析
- 11-React-Native项目之搭建底部TabBar1
- 12-React-Native项目之搭建底部TabBar和顶部导航
- 13-React-Native项目之完成了首页的功能
- 14-React-Native项目之获取电影数据
- 15-React-Native项目之完成了电影组件的渲染
- 16-React-Native项目之电影列表组件实现01
- 17-React-Native项目之电影列表组件实现02
- 18-React-Native项目之电影详情组件完成
2-4 Flutter

- 19-Flutter项目之搭建底部TabBar
- 20-Flutter项目之完成了首页的功能
- 21-Flutter项目之获取电影页面数据
- 22-Flutter项目之完成了电影页面的渲染
- 23-Flutter项目之完成了电影列表页面的渲染
- 24-Flutter项目之完成了电影详情页面渲染
第三章 混合式 App 开发框架

3-1 课程介绍

- 1-1课程介绍
3-2 混合式App简介

- 2-1什么是混合式App
- 2-2混合式App工作原理
- 2-3与原生App&WebApp的比较
- 2-4常见的混合App开发框架
3-3 Cordova

- 3-1Cordova简介及安装
- 3-2平台管理命令
- 3-3插件管理命令
- 3-4创建插件及安装插件命令Plugman
- 3-5配置Android环境并打包运行
3-4 Phonegap

- 4-1Phonegap简介
- 4-2phonegap Build云服务
- 4-3phonegap第三方资源
3-5 ionic

- 5-1Ionic简介
- 5-2ionic与cordova
- 5-3ionic起步与使用
- 5-4ionic核心概念
- 5-5ionic相关资源介绍
- 5-6Cli命令start
- 5-7Cli命令resources资源管理
- 5-8Cli命令ionic项目模板及使用方法
- 5-9ionic云服务及热更新介绍
- 5-10Cli命令平台管理相关1
- 5-11Cli命令平台管理相关2
- 5-12打包构建及调试应用的4种方法1
- 5-13打包构建及调试应用的4种方法2
- 5-14Angular学习资料介绍
- 5-15Angular中的核心概念导学
- 5-16Angular的架构及工作原理
- 5-17Angular入口文件及常用API查找
- 5-18Angular组件、指令及模板语法介绍
- 5-19Angular服务及依赖注入
- 5-20Angular路由介绍&理解Ionic应用跳转原理
- 5-21Ionic框架UI组件库学习路径
- 5-22Grid组件ion-grid1
- 5-23Grid组件ion-grid2
- 5-24Grid组件ion-col&ion-row1
- 5-25Grid组件ion-col&ion-row2
- 5-26Grid组件ion-col&ion-row3
- 5-27Grid组件ion-col&ion-row4
- 5-28Tabs组件1
- 5-29Tabs组件2
- 5-30Tabs组件3
- 5-31button组件1
- 5-32button组件2
- 5-33Input组件1
- 5-34Input组件2
- 5-35Input组件3
- 5-36Loading组件-lonLoading
- 5-37Loading组件-ProgressBar进度条
- 5-38Loading组件-SkeletonText文本占位组件
- 5-39Loading组件-Spinner加载样式
- 5-40Alert组件1-创建及基本属性介绍
- 5-41Alert组件2-按钮回调函数介绍
- 5-42Alert组件3-收集用户输入
- 5-43Alert组件4-常用属性介绍
- 5-44Toast组件1
- 5-45Toast组件2
- 5-46Modal组件-创建及使用
- 5-47Modal组件-组件传值&组件通信
- 5-48ToolBar组件
- 5-49Card组件
- 5-50Navigator导航组件的说明
- 5-51Select组件1
- 5-52Select组件2
- 5-53route与List组件简介
3-6 实战Ionic应用

- 6-1 Ionic常用组件综合应用1
- 6-2 Ionic常用组件综合应用2
- 6-3 Ionic常用组件综合应用3
- 6-4Ionic常用组件综合应用-小结
- 6-5Ionic开发补充说明
- 6-6RESTAPI开发&Mock数据接口测试
- 6-7Json-server&Mockjs
- 6-8RESTAPI开发小结
- 6-9Ionic Native功能
- 6-10实战应用——登录页面1
- 6-11实战应用——登录页面2
- 6-12实战应用——登录页面3
- 6-13实战应用-自习室1
- 6-14实战应用-自习室2
- 6-15实战应用-自习室3
- 6-16实战应用-自习室4
- 6-17实战应用-自习室5
- 6-18 ionic之iOS打包——重要的三个开发文件
- 6-19打包上线&TestFlight简介
第四章 H5 配合原生开发 App

4-1 如何开发App

- 1-1 如何开发App
4-2 HyBridApp

- 2-1HyBridApp开发分工
- 2-2 HyBridApp开发框架
- 2-3 HyBridApp适用情景
4-3 HyBridApp界面开发

- 3-1 HyBridApp界面开发
- 3-2 HyBridApp界面适配
- 3-3 HyBridApp还原设计
4-4 HyBridApp优化体验

- 4-1 加载优化
- 4-2 骨架屏实现01
- 4-3 骨架屏实现02
- 4-4 体验优化
4-5 HyBridApp开发框架对比

- 5-1 基础框架
- 5-2 脚手架
- 5-3 原生编译框架
- 5-4 开发平台
- 5-5 自研框架
- 5-6 横向对比&总结
4-6 WebView

- 6-1 什么是WebView
- 6-2 WebView基本使用1
- 6-3 WebView基本使用2
4-7 H5跟原生交互

- 7-1 基本概念
- 7-2 JS跟Android交互
- 7-3 JS跟iOS交互
- 7-4 iOS调用JS代码演示
- 7-5 JS调用iOS代码演示
- 7-6 url scheme基本概念
- 7-7 url scheme代码演示
- 7-8 总结
4-8 JSBridge

- 8-1 JSBridge
- 8-2 JSBridge设计思想
- 8-3 总结
第五章 Flutter 框架入门

5-1 Flutter介绍与配置

- 0-1 介绍
- 0-2 mac环境配置
- 0-3 mac模拟器(ioc)
- 0-4 mac模拟器(安卓)
- 0-5 windos(1)
- 0-6 windows(2)
5-2 快速起步

- 目标
- 项目
- helloworld
- widget
- statewidget
- textstyle
5-3 Flutter 界面

- 目标
- MaterialApp
- Scaffold
- 功能按钮
5-4 边栏

- 学习目标
- 模块化
- drawer
- drawerHeader
- listTile
5-5 常用组件

- 学习目标
- textWidget
- richtext
- container
- border
- 圆角
- column
- row
5-6 Tab 切换

- 5-1 学习目标
- 5-2 Tab控制器
- 5-3 Tab标签
- 5-4 Tab主体
- 5-5 Tab样式
5-7 布局小案例

- 6-1 学习目标
- 6-2 listview布局
- 6-3 加载图片
- 6-4 标题
- 6-5 点赞
- 6-6 按钮栏
- 6-7 长文字
- 6-8 图标传参
5-8 更多组件

- 7-1 学习目标
- 7-2 固定宽高比组件
- 7-3 层叠堆放
- 7-4 列表、分割线
- 7-5 Tag标签
5-9 输入组件

- 8-1 学习目标
- 8-2 输入组件
- 8-3 输入框样式
- 8-4 用户名密码
- 8-5 登录按钮
- 8-6 有状态的组件
5-10 按钮

- 9-1 学习目标
- 9-2 浮动按钮
- 9-3 文字按钮
- 9-4 带效果的按钮
- 9-5 带边框的按钮
- 9-6 抽离小组件
5-11 路由

- 10-1 学习目标
- 10-2 路由跳转
- 10-3 路由返回
- 10-4 带名字的路由
第六章 黑马头条 App 项目

6-1 项目准备

- 1-01 项目介绍
- 1-02 新建项目
6-2 登录界面

- 2-01 学习目标
- 2-02 创建界面
- 2-03 输入框
- 2-04 验证码
- 2-05 登录按钮
- 2-06 倒计时按钮
- 2-07 定时器
- 2-08 优化定时器
- 2-09 优化点击动作
- 2-10 网络请求
- 2-11 获取和使用第三方组件
- 2-12 dio组件
- 2-13 校验输入框
- 2-14 封装网络接口(1)
- 2-15 封装网络接口(2)
- 2-16 成功反馈
- 2-17 数据持久化
- 2-18 添加请求头
- 2-19 用户登录检测
- 2-20 生命周期
- 2-21 本章小结
6-3 底部切换页面

- 3-01 学习目标
- 3-02 底部切换按钮
- 3-03 切换页面
- 3-04 切换优化
- 3-05 路由切换
6-4 新闻列表

- 4-01 学习目标
- 4-02 搜索框
- 4-03 tab标签
- 4-04 新闻列表(1)
- 4-05 新闻列表(2)
- 4-06 新闻列表(3)
- 4-07 新闻列表(4)
- 4-08 获取Tab数据
- 4-09 渲染Tab数据
- 4-10 新闻内容组件传值
- 4-11 获取新闻数据
- 4-12 数据序列化
- 4-13 数据套用(1)
- 4-14 数据套用(2)
- 4-15 数据套用(3)
- 4-16 下拉刷新
- 4-17 上拉加载更多
- 4-18 时间格式化
6-5 边栏频道

- 5-01 学习目标
- 5-02 边栏UI(1)
- 5-03 边栏UI(2)
- 5-04 边栏数据
- 5-05 编辑按钮
- 5-06 删除频道
- 5-07 添加频道
- 5-08 子组件调用父组件的方法
6-6 详情页面

- 6-01 学习目标
- 6-02 创建新闻详情页面
- 6-03 创建和使用sliver
- 6-04 sliver家族组件
- 6-05 猜你喜欢UI
- 6-06 按钮UI
- 6-07 跟随固定的头部
- 6-08 跟随头部组件
- 6-09 作者UI
- 6-10 顶部bar
- 6-11 顶Bar样式
- 6-12 分享弹窗
- 6-13 举报弹窗
- 6-14 页面数据(1)
- 6-15 页面数据(2)
- 6-16 页面数据(3)
- 6-17 评论UI
- 6-18 评论输入框
6-7 搜索

- 7-01 学习目标
- 7-02 搜索框
- 7-03 历史记录
- 7-04 猜你想搜
- 7-05 输入关键词
- 7-06 联想关键词
- 7-07 获取关键词数据
6-8 个人中心

- 8-01 学习目标
- 8-02 用户信息
- 8-03 按钮和列表
6-9 聊天

- 9-01 学习目标
- 9-02 聊天界面(1)
- 9-03 聊天界面(2)
- 9-04 socket
6-10 redux

- 10-01 学习目标
- 10-02 初始化redux
- 10-03 绑定action
- 10-04 redux小案例
- 10-04 redux小案例(2)
- 10-05 redux小案例(3)
- 10-06 redux总结
6-11 身份认证

- 11-01 学习目标
- 11-02 页面UI(1)
- 11-03 页面UI(2)
- 11-04 页面UI(3)
- 11-05 页面UI(4)
- 11-06 使用图库
- 11-07 使用图库(2)
- 11-08 获取拍摄信息(简介)
6-12 收藏和历史

- 12-01 学习目标
- 12-02 Tab切换
- 12-03 Tab内容
- 12-04 跳转和数据
6-13 作品

- 13-01 学习目标2
- 13-02 作品UI
- 13-03 公告和数据
6-14 启动页

- 14-01 学习目标
- 14-02 启动图片
- 14-03 滑动页面
6-15 其他页面

- 15-01 学习目标2
- 15-02 消息列表
- 15-03 接入redux
- 15-04 接收数据
- 15-05 系统设置界面
第七章 快应用开发框架

7-1 快速上手

- 01-快应用简介
- 02-环境搭建
- 03-快速上手
- 04-基础知识铺垫
7-2 案例实战

- 05-项目演示及目标
- 06-克隆项目骨架
- 07-运行项目调整项目配置文件
- 08-首页界面布局
- 09-首页数据加载和绑定
- 10-页面导航并传递参数
- 11-列表选项卡组件使用
- 12-列表页默认显示选中分类
- 13-列表数据加载
- 14-上拉加载更多
- 15-详细页
第八章 Flutter好客租房项目

8-1 课程简介

- 1.1 为什么学习 flutter 项目
- 1.2 课程内容
- 1.3 项目简介
8-2 基础回顾

- 2 基础回顾
8-3 项目架构

- 3.1 初始化项目
- 3.2 编写一个简单页面-准备
- 3.3 编写一个简单页面-实现
- 3.4 安装 fluro 并添加登陆页面
- 3.5 如何配置fluro
- 3.6 配置fluro
- 3.7 优化路由配置
8-4 静态页面

- 4.1 登陆页-页面分析
- 4.2 登陆页-主体结构
- 4.3 登陆页-密码显示隐藏
- 4.4 登陆页-细节优化
- 4.5 注册页-添加
- 4.6 注册页-完善
- 4.7 首页-tab-分析
- 4.8 首页-tab-编码
- 4.9 首页-tabIndex-分析
- 4.10 首页-tabIndex-页面结构
- 4.11 首页-tabIndex-轮播图-准备
- 4.12 首页-tabIndex-轮播图-实现
- 4.13 首页-tabIndex-导航-准备
- 4.14 首页-tabIndex-导航-实现
- 4.15 组件 CommonImage 封装-分析
- 4.16 组件 CommonImage 封装-实现
- 4.17 首页-tabIndex-推荐-准备
- 4.18 首页-tabIndex-推荐-编码-主体结构部分
- 4.19 首页-tabIndex-推荐-编码-item 部分
- 4.20 首页-tabIndex-资讯-准备
- 4.21 首页-tabIndex-资讯-编码-主体结构
- 4.22 首页-tabIndex-资讯-编码-item部分
- 4.23 首页-tabInfo
- 4.24 首页-tabSearch-分析
- 4.25 首页-tabSearch-主体结构
- 4.26 首页-tabSearch-item 部分
- 4.27 首页-tabSearch-tag 部分
- 4.28 组件 SearchBar 封装-分析
- 4.29 组件 SearchBar 封装-主体结构开发
- 4.30 组件 SearchBar 封装-完善搜索框
- 4.31 组件 SearchBar 封装-细节完善
- 4.32 组件 SearchBar 封装-使用及优化
- 4.33 首页-tabProfile-分析
- 4.34 首页-tabProfile-主体结构
- 4.35 首页-tabProfile-登陆注册-未登陆视图
- 4.36 首页-tabProfile-登陆注册-已登陆视图
- 4.37 首页-tabProfile-功能按钮-主体结构
- 4.38 首页-tabProfile-功能按钮-item
- 4.39 首页-tabProfile-广告及资讯
- 4.40 设置页
- 4.41 房屋管理页-主体结构
- 4.42 房屋管理页-发布按钮
- 4.43 发布房源页-分析
- 4.44 发布房源页-主体结构
- 4.45 发布房源页-CommonTitle
- 4.46 发布房源页-CommonFormItem-分析
- 4.47 发布房源页-CommonFormItem-实现
- 4.48 发布房源页-CommonFormItem-实现小区选择
- 4.49 发布房源页-CommonRadioFormItem
- 4.50 发布房源页-CommonSelectFormItem
- 4.51 发布房源页-CommonPicker-分析
- 4.52 发布房源页-CommonPicker-主体结构
- 4.53 发布房源页-CommonPicker-细节和事件
- 4.54 发布房源页-房屋图像-主体结构
- 4.55 发布房源页-房屋图像-添加删除
- 4.56 发布房源页-房屋标题描述
- 4.57 发布房源页-房屋配置-分析
- 4.58 发布房源页-房屋配置-实现
- 4.59 房屋详情页-分析
- 4.60 房屋详情页面-主体结构
- 4.61房屋详情页面-底部按钮
- 4.62 房屋详情页面-房屋图片&房屋基本信息
- 4.63 房屋详情页面-房屋详细信息
- 4.64 房屋详情页面-房屋配置
- 4.65 房屋详情页面-房屋概况&猜你喜欢
- 4.66 filterBar-分析
- 4.67 filterBar-展示区域
- 4.68 filterBar-picker 部分
- 4.69 filterBar-drawer 部分-展示部分
- 4.70 filterBar-drawer 部分-数据分析
- 4.71 filterBar-drawer 部分-ScopedModel-model
- 4.72 filterBar-drawer 部分-ScopedModelHelper
- 4.73 filterBar-drawer 部分-ScopedModel-使用
8-5 前后端联调

- 5.1 介绍 Dio
- 5.2 封装 DioHttp
- 5.3 注册页联调
- 5.4 登陆页联调--分析
- 5.5 封装 Store
- 5.6 实现 AuthModel
- 5.7 登陆页联调
- 5.8 使用 AuthModel 及退出登陆
- 5.9 完善个人信息
- 5.10 model 生成半自动化
- 5.11 优化model
- 5.12 城市选择器-分析
- 5.13 城市选择器-实现
- 5.14 联调 FilterBar
- 5.15 联调找房页
- 5.16 房屋详情页
- 5.17 房屋管理页
- 5.18 房源发布-分析
- 5.19 房源发布-条件数据
- 5.20 房源发布-小区选择-主流程
- 5.21 房源发布-小区选择-细节完善及联调
- 5.22 房源发布-图片上传
- 5.23 房源发布-数据校验及提交
- 5.24 房源发布-优化
- 5.25 登陆过期处理
- 5.26 添加 flutter 启动页
8-6 构建打包

- 6.1 构建打包分析
- 6.2 构建 Android 包
- 6.3 构建 ios 包
8-7 总结

- 7 Flutter 总结
阶段三 Node.js进阶
展开第一章 Node核心API

1-1 Node核心API

- 1-1 buffer初探
- 1-2 buffer与typedArray
- 1-3 dgram的使用
- 1-4 event对象的使用
- 1-5 文件系统前置知识
- 1-6 fs模块的基本操作
- 1-7 fs模块高级用法
- 1-8 http服务创建
- 1-9 http2模块的使用
- 1-10 http1.0到2.0的发展历程
- 1-11 https模块
第二章 Node.js 网络通信

2-1 网络通信概述

- 1-1 课程介绍
- 1-2 网络通信概述
2-2 构建TCP服务

- 2-1 TCP-三次握手连接
- 2-2 创建TCP服务端和客户端
- 2-3 TCP客户端与服务端双向通信
- 2-4 接收终端数据发送到服务端
- 2-5 TCP终端聊天室-群发数据
- 2-6 聊天室-设计消息数据格式
- 2-7 聊天室-登录
- 2-8 聊天室-群聊
- 2-9 聊天室-私聊
- 2-10 聊天室-清除离线用户
- 2-11 聊天室-上线离线通知
- 2-12 总结
2-3 构建UDP服务

- 3-1 UDP基本概念
- 3-2 TCP和UDP
- 3-3 UDP的三种传播方式
- 3-4 UDP单播实现
- 3-5 UDP广播实现
- 3-6 UDP组播
2-4 构建HTTP服务

- 4-1 创建基本的HTTP服务
- 4-2 根据url处理响应
- 4-3 响应html内容
- 4-4 处理页面中的静态资源
- 4-5 统一处理页面中的静态资源
- 4-6 模板引擎介绍
- 4-7 在http服务中使用模板引擎
2-5 构建HTTPS服务

- 01课程介绍
- 02HTTPS原理及CA机构的由来
- 03生成本地证书
- 04申请国际认证的CA证书
- 05真实上线的HTTPS服务器搭建
- 06给服务器添加小功能
- 07课程总结
第三章 Node.js 事件循环与多进程

3-1 事件循环介绍

- 1-1 课程介绍
- 1-2 事件循环概念
3-2 浏览器事件循环

- 2-1 浏览器事件循环-任务队列
- 2-2 宏任务与微任务概念介绍
- 2-3 宏任务与微任务面试题
3-3 nodejs事件循环

- 3-1 nodejs事件循环概念
- 3-2 理解fs和setTimeout的关系1
- 3-3 理解fs和setTimeout的关系2
- 3-4 setTimeout和setImmediate
- 3-5 nextTick使用与解读
- 3-6 nextTick应用场景
3-4 ndoejs多进程

- 4-1 多进程与多线程介绍
- 4-2 如何选择进程和线程
- 4-3 cluster开启多进程
- 4-4 多进程与单进程性能对比
- 4-5 nodejs调试方法
- 4-6 process的使用
- 4-7 child_process的使用1
- 4-8 child_process的使用2
- 4-9 cluster属性介绍
- 4-10 cluster方法介绍
- 4-11 多进程的惊群现象
- 4-12 nginx多进程模型
- 4-13 cluster调度模型
- 4-14 cluster的优雅退出和进程守护
- 4-15 ipc通信
第四章 NoSQL 数据库

4-1 Redis

- 1-1 课程介绍
- 1-2 redis发源与特点
- 1-3 redis安装
- 1-4 命令行客户端介绍
- 1-5 redis数据类型热身
- 1-6?字符串类型
- 1-7 字符串类型-命令扩展
- 1-8?散列类型-介绍
- 1-9 散列类型-命令
- 1-10?散列类型-实战
- 1-11 列表类型-介绍
- 1-12 列表类型-命令
- 1-13 列表类型-实战1
- 1-14 列表类型-实战2
- 1-15 列表类型-命令扩展
- 1-16 集合类型-命令
- 1-17 集合类型-实战1
- 1-18 集合类型-实战2
- 1-19 集合类型-命令扩展
- 1-20 有序集合类型-介绍
- 1-21 有序集合类型-命令
- 1-22 有序集合类型-实战
- 1-23 有序集合-扩展
4-2 Redis进阶与实战

- 2-1 redis事务命令与错误处理
- 2-2 事务中的watch命令
- 2-3 过期时间EXPIRE-命令
- 2-4 EXPIRE实现访问频率限制
- 2-5 EXPIRE实现访问频率限制优化
- 2-6 EXPIRE实现缓存
- 2-7 排序SORT命令
- 2-8 SORT进行时间排序
- 2-9 Redis中的一些优化建议
- 2-10 ioredis介绍与可视化工具安装
- 2-11 ioredis基本语法
- 2-12 ioredis的管道与事务
4-3 Memcached介绍

- 3-1 memcached介绍
4-4 mongoDb入门

- 4-1 mongoDB介绍与应用场景
- 4-2 mongoDB安装与可视化工具
- 4-3 使用node-mongodb-native进行增删改查
4-5 Egg+Redis+MongoDb实战

- 5-1 项目介绍
- 5-2 项目架构分析
- 5-3 cookie和session维持登录的原理
- 5-4 业务流程梳理
- 5-5 依赖安装与页面编写
- 5-6 登录和注册与数据同步
- 5-7 退出登录
- 5-8 项目总结
第五章 Web 应用开发框架

5-1 koa

- 1-1 课程介绍与koa基本使用-hello world
- 1-2 koa基本使用-context对象
- 1-3 koa基本使用-读取并返回html片段
- 1-4 koa路由-koa-route
- 1-5 koa路由-静态资源服务与重定向
- 1-6 koa中间件概念
- 1-7 koa中间件-洋葱模型
- 1-8 koa中间件-异步中间件
- 1-9 koa中间件-中间件合成
- 1-10 常见http状态码
- 1-11 koa抛错的两种方式
- 1-12 koa错误处里中间件
- 1-13 主动触发error与监听
- 1-14 使用中间件解析post请求中的body
- 1-15 使用koa-body进行文件上传
5-2 egg入门

- 2-1 egg介绍
- 2-2 egg和koa的关系
- 2-3 编写第一个controller
- 2-4 egg访问静态资源
- 2-5 引入模板引擎插件
- 2-6 编写一个helper扩展
- 2-7 编写一个egg中间件
- 2-8 egg中的渐进式开发思想
- 2-9 基础功能-项目目录结构
- 2-10 内置对象-application
- 2-11 内置对象-context
- 2-12 内置对象-request&response
- 2-13 内置对象-controller,service,helper与config
- 2-14 基础功能-运行环境
- 2-15 基础功能-config配置
- 2-16 基础功能-中间件
- 2-17 基础功能-路由
- 2-18 基础功能-controller介绍与设计技巧
- 2-19 基础功能-controller中的csrf防范与重定向
- 2-20 基础功能-service服务
- 2-21 基础功能-插件的定义
- 2-22 基础功能-如何编写一个插件
- 2-23 基础功能-定时任务
- 2-24 基础功能-自定义启动app
5-3 egg进阶与实战

- 3-1 进阶-debug
- 3-2 进阶-日志分类以及写入
- 3-3 进阶-日志切割
- 3-4 进阶-agent介绍
- 3-5 进阶-agent使用以及应用场景
- 3-6 进阶-egg进程间通信
- 3-7 进阶-错误处理的方式
- 3-8 进阶-统一异常处理配置
- 3-9 进阶-创建多实例插件
- 3-10 进阶-多进程增强-方案对比
- 3-11 进阶-多进程增强-核心思想
- 3-12 进阶-多进程增强-client抽象类以及异常处理
- 3-13 进阶-多进程增强-egg官方代码解析
- 3-14 实战-简易博客-项目介绍
- 3-15 实战-简易博客-mongoose简介
- 3-16 实战-简易博客-环境配置与数据库初始化
- 3-17 实战-简易博客-编写schema
- 3-18 实战-简易博客-添加文章到数据库
- 3-19 实战-简易博客-返回值设计与错误处理
- 3-20 实战-简易博客 -request数据校验
- 3-21 实战-简易博客-查询全部数据
- 3-22 实战-简易博客-数据库单个查询
- 3-23 实战-简易博客-删除操作
- 3-24 实战-简易博客-更新操作
- 3-25 实战-简易博客-service逻辑提取
- 3-26 课程总结
第六章 BaaS 接口标准

6-1 第1章 GraphQL介绍

- 1-1 传统RESTful格式URL的问题
- 1-2 GraphQL概述
6-2 第2章 GraphQL快速体验

- 2-1 GraphQL快速体验
6-3 第3章 GraphQL服务端开发

- 3-1 服务端开发-Apollo-server概述
- 3-2-服务端开发-ES6标签模板用法铺垫
- 3-3 服务端开发-Apollor-server基本用法
- 3-4 服务端开发-类型定义规则详解
- 3-5 服务端开发-字段参数的基本用法
- 3-6 服务端开发-标量类型
- 3-7 服务端开发-枚举类型
- 3-8 服务端开发-列表和非空
- 3-9 服务端开发-输入类型
- 3-10 服务端开发-resolver函数parent参数用法
- 3-11 服务端开发-resolver函数context参数基本用法
- 3-12 服务端开发-resolver函数context参数实际应用
6-4 GraphQL客户端开发

- 4-1 客户端开发-基本查询
- 4-2 客户端开发-操作名称
- 4-3 客户端开发-查询参数
- 4-4 客户端开发-变量
- 4-5 客户端开发-指令
- 4-6 客户端开发-别名
- 4-7 客户端开发-变更
6-5 留言板案例实战

- 5-1 留言板案例-业务概述
- 5-2 留言板案例-实现服务端-数据查询
- 5-3 留言板案例-实现服务端-数据变更
- 5-3 留言板案例-实现客户端-Vue整合apollo调用接口基本步骤
- 5-4 留言板案例-实现客户端-查询数据并模板填充
- 5-5 留言板案例-实现客户端-添加留言信息
- 5-6 留言板案例-实现客户端-格式化时间
第七章 网络爬虫开发

7-1 课程介绍

- 1-1 课程介绍
7-2 爬虫基础

- 2-1 发送http请求
- 2-2 cheerio库简介
- 2-3 使用cheerio解析html并提取img的src属性
- 2-4 使用download下载图片
- 2-5 爬取前端渲染网站的注意事项
- 2-6 分析ajax请求并爬取(伪造header)
- 2-7 封装爬虫基础库-环境准备
- 2-8 封装爬虫基础库-定义options接口
- 2-9 封装爬虫基础库-抽取公共部分代码
- 2-10 封装爬虫基础库-定义抽象方法
- 2-11 封装爬虫基础库-实现TeacherPhotos类
- 2-12 封装爬虫基础库-实现NewsList类及总结
7-3 爬虫高级

- 3-1 Selenium简介
- 3-2 Selenium基本使用-下载WebDriver
- 3-3 Selenium基本使用-HelloWorld及应用场景简介
- 3-4 Selenium基本使用-反爬虫机制简介
- 3-5 Selenium基本使用-SeleniumAPI简介
- 3-6 爬虫实战-自动打开浏览器输入关键字进行搜索
- 3-7 爬虫实战-爬取需要的数据
- 3-8 爬虫实战-自动翻页
7-4 课程总结

- 4-1 课程总结
第八章 Websocket

8-1 课程介绍

- 1-1课程介绍
8-2 Websocket基础

- 2-1基本概念
- 2-2Websocket服务端搭建
- 2-3初识ws(安装&简介)
- 2-4初识socketio-1
- 2-5初识socketio-2
8-3 WebSocket应用

- 3-1消息应用-客户端
- 3-2消息应用-服务端
- 3-3调试应用&加入欢迎语
- 3-4退出聊天室提醒
- 3-5聊天室在线人数提醒
- 3-6多聊天室加入聊天,在线人数
- 3-7多聊天室退出聊天
- 3-8服务端心中检测
- 3-9客户端心跳检测&前后端联调
- 3-10websocket鉴权机制设计-1
- 3-11websocket鉴权机制设计-2
- 3-12ws断线自动重连的两种方法
- 3-13 认识Docker Redis&安装简介
- 3-14 Redis GUI客户端
- 3-15 Redis常见命令
- 3-16 Redis_Nodejs集成1
- 3-17 Redis_Nodejs集成2
- 3-18 Redis_Nodejs集成3
- 3-19 缓存消息核心业务逻辑分析
- 3-20 离线消息应用示例演示
- 3-21 Redis操作扩展1
- 3-22 Redis操作扩展2
- 3-23 Redis缓存未读消息分析
- 3-24 服务端业务修改
- 3-25 客户端业务修改及联调
8-4 课程总结

- 4-1Websocket课程总结
阶段四 可视化与游戏
展开第一章 网页游戏开发基础

1-1 画布元素的使用

- 1-1 绘制线条
- 1-2 绘制三角形
- 1-3 绘制不同颜色的三角形
1-2 其他绘制API

- 2-1 文字绘制方法
- 2-2 文字绘制对齐方式
- 2-3 矩形和圆的绘制
- 2-4 图片绘制过程
1-3 实现刮刮卡效果

- 3-1 绘制随机出现的中奖文字信息
- 3-2 绘制灰色矩形覆盖文字信息
- 3-3 鼠标移动时实现刮刮卡的效果
第二章 网页高性能图形编程

2-1 课程介绍

- 1-1 介绍与内容安排
2-2 初始WebGL

- 2-1 手动绘制一个WebGL图形
- 2-2 着色器的介绍
- 2-3 使用着色器绘制WebGL图形
2-3 绘制三角形

- 3-1 多点绘制的方法
- 3-2 绘制三角形的方法
2-4 WebGL动画

- 4-1 图形的移动
- 4-2 图形的旋转
- 4-3 图形的缩放
- 4-4 图形的动画旋转
2-5 WebGL颜色

- 5-1 操作步骤介绍
- 5-2 着色器编译与图像绘制
2-6 回顾与总结

- 6-1 回顾和总结
第三章 图形化开发库

3-1 Threej

- 1-1 课程介绍和前端未来发展的方向
- 1-2 为什么学习threejs
- 1-3 threejs版本介绍与效果演示
- 1-4 threejs基本介绍与特点
- 1-5 hello-world案例
- 1-6 fps性能监控插件
- 1-7 基本元素-场景-Object3D对象介绍
- 1-8 基本元素-场景-一些实体的属性和方法
- 1-9 调试工具之dat-gui
- 1-10 基本元素-几何体-立方体与segments
- 1-11 基本元素-几何体-其它几何体
- 1-12 基本元素-材质-不受灯光影响的材质
- 1-13 基本元素-材质-受光影响的材质
- 1-14 基本元素-光源-平行光与阴影
- 1-15 基本元素-光源-其它几种光源
- 1-16 基本元素-相机-正交相机
- 1-17 基本元素-相机-透视相机
- 1-18 相机角度调整插件介绍
- 1-19 基本元素-精灵sprite
- 1-20 基本元素-粒子points
- 1-21 导入json模型
- 1-22 导入gltf文件模型
- 1-23 动画-变形动画
- 1-24 动画-骨骼动画
- 1-25 动画-导入动画
- 1-26 动画-补间动画
- 1-27 性能优化tips
- 1-28 王者荣耀demo-介绍与思路分析
- 1-29 王者荣耀demo-添加三要素
- 1-30 王者荣耀demo-添加草地材质
- 1-31 王者荣耀demo-取出fbx中的动画
- 1-32 王者荣耀demo-初始化静态人物
- 1-33 王者荣耀demo-调试所有动画效果
- 1-34 王者荣耀demo-人物旋转与圆盘样式
- 1-35 王者荣耀demo-人物移动
- 1-36 王者荣耀demo-移动优化与圆盘复位
- 1-37 王者荣耀demo-添加攻击特效与项目总结
- 1-38 threejs课程整体总结
3-2 D3

- 2-1 为什么学习d3
- 2-2 d3js介绍与发展历史
- 2-3 hello world !
- 2-4 基本使用-选择元素
- 2-5 基本使用-绑定数据
- 2-6 基本使用-选择,插入,删除元素
- 2-7 svg介绍与hello-world
- 2-8 svg中的图形1
- 2-9 svg中的图形2
- 2-10 svg和canvas的区别
- 2-11 实践-初步绘制矩形图表
- 2-12 实践-线性比例尺的使用
- 2-13 实践-序数比例尺的使用
- 2-14 实践-添加坐标轴
- 2-15 让坐标轴动起来demo
- 2-16 课程总结
第四章 HTML5 游戏引擎

4-1 Egret简介

- 1-1 课程介绍
- 1-2 html5游戏介绍
- 1-3 Egret的特点
4-2 安装与hello world

- 2-1 Egret引擎安装
- 2-2 hellow-world演示
- 2-3 hellow-world入口文件分析
- 2-4 添加背景与屏幕适配
- 2-5 添加文字与绑定事件
4-3 Typescript基础语法

- 3-1 typescript介绍与安装
- 3-2 typescript基本数据类型
- 3-3 typescript中的类
4-4 Egret项目配置

- 4-1 Egret配置文件
4-5 Egret绘制

- 5-1 绘制-显示对象
- 5-2 绘制-显示容器
- 5-3 绘制-显示列表
- 5-4 绘制-变换操作
- 5-5 绘制-斜切与添加删除显示对象
- 5-6 绘制-深度管理
- 5-7 绘制-矢量图形绘制
- 5-8 绘制-遮罩
- 5-9 碰撞检测
- 5-10 事件绑定
- 5-11 网络请求与图片加载
- 5-12 资源管理与九宫格
- 5-13 纹理填充与纹理集
- 5-14 滤镜与颜色矩阵
- 5-15 时间控制
- 5-16 屏幕适配01
- 5-17 屏幕适配02
4-6 踩格子游戏

- 6-1 踩格子游戏-介绍
- 6-2 StartGame场景
- 6-3 事件注册与全局配置
- 6-4 游戏中的场景骨架
- 6-5 静态游戏场景绘制
- 6-6 让格子动起来
- 6-7 格子事件绑定
- 6-8 游戏细节补充
- 6-9 课程总结
阶段五 架构与运维
展开第一章 前端性能优化

1-1 课程介绍

- 1-1课程介绍
1-2 页面性能优化

- 2-1浏览器的主要作用
- 2-2浏览器的组成部分
- 2-3浏览器是多进程的
- 2-4浏览器渲染机制简介
- 2-5重排与重绘
- 2-6页面加载缓慢的原因
- 2-7性能优化原则1
- 2-8性能优化原则2
- 2-9优化工具简介
1-3 代码优化

- 3-1写出优质代码——代码性能优化简介
1-4 JsPerf

- 4-1JsPerf使用简介
- 4-2代码示例for vs foreach
- 4-3前端项目优化实践
1-5 PageSpeed

- 5-1PageSpeed简介
- 5-2PageSpeed插件安装及使用
- 5-3前端项目优化实践
1-6 课程总结

- 6-1课程总结
第二章 项目质量监测

2-1 课程介绍

- 1-1课程介绍
2-2 代码质量检查

- 2-1常见问题分析Why Lint
- 2-2什么是代码质量监测Lint Code
- 2-3常见的3种Js检验工具对比
2-3 Lint工具介绍

- 3-1Lint工具介绍
- 3-2ESlint导学
- 3-3ESLint起步与安装
- 3-4ESLint初始化配置
- 3-5命令行方式使用ESLint
- 3-6ESLint常见配置1
- 3-7ESLint常见配置2
- 3-8ESLint常见配置3
- 3-9IDE中的ESLint配置
- 3-10实战Vue项目中的ESLint配置
- 3-11VSCode效率神器:Sync同步你的插件及个性配置
- 3-12实战React项目中的ESLint配置1
- 3-13实战React项目中的ESLint配置2
- 3-14StyleLint与HTMLhint
2-4 e2e test

- 4-1e2e test简介
- 4-2Cypress使用简介
- 4-3Nightwatch导学&e2e测试流程
- 4-4Nightwatch多浏览器支持的e2e测试工具
- 4-5TestCafe极简配置的e2e测试工具
- 4-6e2e test案例
2-5 codecov

- 5-1Codecov简介
- 5-2Codecov配合TravisCI在前端项目中的应用
2-6 课程总结

- 6-1课程总结
第三章 自动化测试

3-1 课程介绍

- 1-1课程介绍
3-2 自动化测试

- 2-1前端自动化测试导学
- 2-2测试工具对比
- 2-3测试工具的类型
- 2-4单元测试工具对比介绍
- 2-5E2E测试工具对比介绍
- 2-6最佳实践
3-3 Mocha+Chai

- 3-1mocha介绍&安装
- 3-2关于断言
- 3-3认识mocha,上手实践
- 3-4mocha测试命令,指定测试文件与目录
- 3-5让Mocha也支持ES6语法
- 3-6超时、钩子方法、异步测试
- 3-7项目实战:边测试边改代码,效率开发
- 3-8本章小节:重点知识回顾
3-4 Jest

- 4-1Jest简介
- 4-2Jest安装&Babel支持
- 4-3第一个Jest测试用例
- 4-4杀手锏功能Mock&Spy-1
- 4-5杀手锏功能Mock&Spy-2
- 4-6杀手锏功能Mock&Spy-3
- 4-7Jest中的CLI命令
- 4-8配合React-create-app进行单元测试
- 4-9配合Vue-cli快速创建单元测试
3-5 Ava

- 5-1Ava简介
- 5-2Ava安装&测试用例
- 5-3Ava中的断言及API介绍
- 5-4Ava中的CLI命令
- 5-5ESLint配置说明
3-6 Karma

- 6-1Karma简介&工作原理
- 6-2Karma的安装与配置
- 6-3Karma示例
3-7 Nightmare

- 7-1Nightmare简介
- 7-2Nightmare+mocha进行页面测试
- 7-3Nightmare常见API介绍
3-8 课程总结

- 8-1课程总结
第四章 持续集成与持续部署

4-1 课程介绍

- 1-1课程介绍
4-2 持续集成

- 2-1核心概念——持续集成&持续部署
- 2-2组成部分及常见工作流
- 2-3CICD解决的问题&常见问题
- 2-4CICD最佳实践
- 2-5效率工具对比
4-3 Jenkins

- 3-1Jenkins使用简介&简易安装
- 3-2使用Docker安装Jenkins
- 3-3Jenkins常见配置(插件加速&用户管理&全局工具)
- 3-4Jenkins与Gitlab集成1:快速搭建gitlab服务器
- 3-5Jenkins与Gitlab集成2:配置自动化任务
- 3-6Jenkins与Gitlab集成3:配置Pipeline流水线任务
- 3-7Jenkins在前端项目中的应用:Pipeline+vue流水线
- 3-8Jenkins在前端项目中的应用1:自动化项目docker+vue
- 3-9Jenkins在前端项目中的应用2:自动化项目docker+vue
4-4 TravisCI

- 4-1TravisCI使用简介
- 4-2TravisCI前端应用1
- 4-3TravisCI前端应用2
4-5 CircleCI

- 5-1CircleCI使用简介
- 5-3CircleCI前端应用2
- 5-2CircleCI前端应用1
4-6 课程总结

- 6-1课程总结
第五章 Linux 服务器

5-1 课程介绍

- 1-1 课程介绍
5-2 Linux简介

- 2-1 版本介绍
- 2-2 Linux vs Windows
- 2-3 Linux的GUI界面
- 2-4 Linux安装方法——Centos安装介绍
- 2-5 Linux目录结构介绍
- 2-6 Linux启动过程介绍
- 2-7 常用命令介绍——文件相关1
- 2-8 常用命令介绍——文件相关2
- 2-9 常用命令介绍——文件权限chmod
- 2-10 常用命令介绍——chown所属主&组权限
- 2-11 常用命令介绍——远程连接SSH
- 2-12常用命令介绍——yum下载加速&网络ifconfig&netstat
- 2-13常用命令——路由&ip&DNS解析命令
- 2-14常用命令——GUI界面设置网络
- 2-15常用命令——性能测试
5-3 nginx服务

- 3-1 nginx简介
- 3-2 什么是反向代理&nginx的技术架构&nginx高可用
- 3-3 nginx服务安装
- 3-4 nginx配置及优化
- 3-5 HTTP&HTTPS简介
- 3-6 HTTPS认证原理简介
- 3-7如何配置HTTPS——使用acme.sh&域名DNS配置nginx启用HTTPS
- 3-8如何配置HTTPS——了解SSL证书评级及验证
5-4 云服务器

- 4-1云服务器&虚拟化技术原理&购买阿里云ECS
- 4-2 云数据库RDS介绍
- 4-3负载均衡服务SLB介绍——原理&购买&使用
5-5 课程总结

- 5-1课程总结
第六章 容器化运维操作

6-1 课程介绍

- 1-1 课程介绍
6-2 容器和Docker

- 2-1 什么是容器化
- 2-2 什么是Docker
- 2-3 Docker vs 虚拟机
- 2-4 Docker的工作原理
6-3 常见的应用场景

- 3-1 常见的应用场景1
- 3-2 常见的应用场景2
- 3-3 常见的应用场景3
6-4 使用Docker

- 4-1 Docker如何安装-Linux安装介绍
- 4-2 Docker如何安装-Windows10中安装介绍
- 4-3 Docker如何安装-MacOS及Windows7中安装介绍
- 4-4 Docker国内加速
- 4-5 第一个Docker应用Hello World
- 4-6 Docker常见命令——run创建并运行容器
- 4-7 Docker常见命令——生命周期管理start&stop&restart
- 4-8 Docker常见命令——仓库login&镜像的pull&push&commit
- 4-9 Docker常见命令——日志logs&容器检视inspect&Docker版本
6-5 拓展知识

- 5-1 制作Docker镜像
- 5-2 Docker-compose介绍
- 5-3 Docker-compose扩展——搭建私有gitlab服务器
- 5-4 Docker-compose在前端全栈项目中的应用1
- 5-5 Docker-compose在前端全栈项目中的应用2
- 5-6 Docker-compose在前端全栈项目中的应用3
- 5-7 Docker-compose在前端全栈项目中的应用4
6-6 课程总结

- 6-1 课程总结