课程介绍:
Nodejs 已经成为前端工程师必备的技能,无论是面试还是工作,对Node.js的了解已经是绕不过去的一环。课程围绕一个博客项目,先介绍服务端的概念,用 Nodejs 原生代码开发项目,再到 Express 框架重构,Koa2 框架重构, Mysql Mongodb Redis数据库,最后发布代码到云服务器,带你由浅入深地掌握 Nodejs 必学的各项技能,迈向全栈工程师!
课程目录:
第1章 课程介绍
包括课程概述、核心模块、核心技术、课程安排、课程收获、讲授方式、学习前提等方面的介绍,让同学们对课程项目有一个直观的了解。
- 1-1 课程导学 (09:35)
- 1-2 课程适用于最新版node.js (02:08)
第2章 初始服务端(2022升级)
向初学者介绍什么是服务端,什么是路由,HTTP 协议在其中的作用,数据如何在前端和服务端流转。如何更高效的学习 nodejs 。
- 2-1 你真的了解服务端吗? (13:44)
- 2-2 -什么是服务端-职责和流程 (15:20)
- 2-3 -前端和服务端的交互-HTTP协议 (11:01)
- 2-4 -前端和服务端的交互-通过博客系统做演示 (14:49)
- 2-5 -一个网页可能对应多个服务端 (05:27)
- 2-6 -路由-服务端的入口规则 (11:24)
- 2-7 -路由的实现离不开Request (06:36)
- 2-8 -数据库-存储和查询数据 (09:52)
- 2-9 -为什么选择nodejs开发服务端 (04:46)
- 2-10 -高效学习nodejs的“三步曲” (11:19)
- 2-11 -要主动排查错误,不做伸手党 (05:29)
- 2-12 -章总结 (03:57)
第3章 nodejs 介绍
本章主要为了照顾尚未入门或者刚刚入门 nodejs 的同学,介绍 nodejs 的下载、安装和基本使用,以及 nodejs 和前端 javascript 的区别。另外,重点介绍了服务端开发和前端开发思路上的区别,为后续的开发做一个基础的铺垫。
- 3-1 下载和安装 node.js (05:13)
- 3-2 nodejs和js的区别 (06:54)
- 3-3 commonjs-演示 (08:27)
- 3-4 debugger (09:07)
- 3-5 debuger之inspect协议 (09:37)
- 3-6 server端和前端的区别 (14:58)
- 3-7 总结 (02:31)
第4章 项目介绍
课程是通过案例的形式来学习 nodejs ,本章先来介绍这个案例,即个人博客项目。包括需求分析、原型图设计、以及 server 端的技术方案设计。有了详细的设计方案,才能指导后续的实际开发。
- 4-1 项目需求分析 (09:21)
- 4-2 技术方案 (11:51)
第5章 开发博客项目之接口
要开发一个博客项目的 server 端,首先要实现技术方案设计中的各个 API 。本章主要讲解如何使用原生 nodejs 处理的 http 请求,包括路由分析和数据返回,然后代码演示各个 API 的开发 。但是本章尚未连接数据库,因此 API 返回的都是假数据。…
- 5-1 http-概述 (11:44)
- 5-2 处理get请求 (13:23)
- 5-3 处理post请求 (12:28)
- 5-4 处理http请求的综合示例 (08:31)
- 5-5 搭建开发环境 (15:28)
- 5-6 初始化路由 (17:48)
- 5-7 开发路由(博客列表路由)(上) (18:08)
- 5-8 开发路由(博客详情路由)(下) (17:53)
- 5-9 开发路由(处理 POSTData) (07:53)
- 5-10 开发路由(新建和更新博客路由) (10:59)
- 5-11 开发路由(删除博客路由和登录路由) (08:32)
- 5-12 补充:路由和API (03:24)
第6章 开发博客项目之数据存储
API 实现了,就需要连接数据库,实现真正的数据存储和查询,不再使用假数据。本章主要讲解 mysql 的安装、使用,以及用 nodejs 连接 mysql ,最后将 mysql 应用到各个已经开发完的 API 中。
- 6-1 MySql 介绍 (07:47)
- 6-2 数据库操作(创建和增、删、查) (21:58)
- 6-3 数据库操作(更新) (18:12)
- 6-4 nodejs操作 mysql (10:07)
- 6-5 nodejs 链接 mysql 做成工具 (09:58)
- 6-6 API对接mysql(博客列表) (13:20)
- 6-7 API对接mysql(博客详情和新建) (13:54)
- 6-8 API对接mysql(博客更新和删除) (11:50)
- 6-9 API对接mysql(登录) (07:39)
- 6-10 总结 (01:48)
第7章 博客项目之登录
用户登录是博客项目的主要功能之一,本章主要讲解如何使用原生 nodejs 实现登录。包括 cookie session 的介绍和使用,以及为了扩展性和性能使用 redis 来存储 session 。最后,通过 nginx 配置联调环境,和前端页面联调。本章内容较多,对于前端开发人员来说,新概念也较多,是本课程学习上的挑战。…
- 7-1 开始 (05:36)
- 7-2 cookie-介绍 (13:54)
- 7-3 cookie用于登录验证 (18:05)
- 7-4 cookie做限制(1) (04:15)
- 7-5 cookie做限制(2) (10:04)
- 7-6 session介绍 (13:57)
- 7-7 session演示 (08:50)
- 7-8 从 session 到 redis (16:16)
- 7-9 redis介绍 (05:30)
- 7-10 nodejs链接redis的demo (05:41)
- 7-11 升级 npm-redis-v4【代码redis-test】(2022新) (03:43)
- 7-12 nodejs连接redis-封装工具函数 (08:30)
- 7-13 升级 npm-redis-v4【代码blog-1】(2022新) (05:27)
- 7-14 session存入redis (12:11)
- 7-15 完成server端登录的代码 (07:10)
- 7-16 联调-介绍html页面 (08:03)
- 7-17 nginx配置 (13:12)
- 7-18 联调演示与总结 (10:07)
- 7-19 通过 CORS 实现跨域(2022新) (09:55)
第8章 博客项目之日志
日志记录和日志分析是 server 端的重要模块,前端涉及较少。本章主要讲解如何使用原生 nodejs 实现日志记录、日志内容分析和日志文件拆分。其中包括 stream readline 和 crontab 等核心知识点。
- 8-1 开始 (11:23)
- 8-2 nodejs文件操作 (10:28)
- 8-3 stream 介绍 (11:01)
- 8-4 stream演示(1) (06:54)
- 8-5 stream演示(2) (07:53)
- 8-6 写日志 (10:02)
- 8-7 拆分日志 (10:27)
- 8-8 分析日志介绍 (04:54)
- 8-9 readline演示 (05:53)
- 8-10 总结 (05:41)
第9章 博客项目之安全
安全是 server 端需要考虑的重点内容,本章主要讲解 nodejs 如何防范 sql 注入,xss 攻击,以及数据库的密码加密 —— 以防被黑客获取明文密码。
- 9-1 开始和sql注入 (15:57)
- 9-2 xss攻击 (13:41)
- 9-3 密码加密和总结 (17:31)
- 9-4 统一总结 (11:56)
第10章 使用 express 重构博客项目
先前的课程内容都是通过原生 nodejs 实现,是为了让同学们了解原理和底层实现,但实际开发还是会使用框架和工具来提高效率。本章使用 express 重构这个博客项目,学习使用框架和中间件机制。另外,本章将使用常用的插件来实现登录、日志等比较繁琐的功能,提高开发效率。最后,还详细讲解了 express 中间件的实现原理…
- 10-1 开始 (09:30)
- 10-2 express 安装 (12:27)
- 10-3 介绍express的入口代码 (21:02)
- 10-4 演示express如何处理路由 (12:11)
- 10-5 express中间件 (27:13)
- 10-6 express介绍的总结 (04:22)
- 10-7 express开发博客项目-初始化环境 (11:51)
- 10-8 express处理session (07:31)
- 10-9 session连接redis (13:32)
- 10-10 升级npm-redis-v4【代码blog-express】(2022新) (03:34)
- 10-11 登录中间件 (05:21)
- 10-12 开发路由 (13:32)
- 10-13 介绍morgan (03:00)
- 10-14 使用morgan写日志 (17:57)
- 10-15 中间件原理介绍 (07:36)
- 10-16 中间件原理-代码实现 (31:25)
- 10-17 -总结 (04:01)
第11章 使用 Koa2 重构博客项目
目前 koa2 和 express 是企业同时使用的 nodejs 框架,因此本章使用 koa2 再次重构这个博客项目。重构过程中将详细学习 koa2 框架的使用,koa2 的中间件机制,以及 async/await 语法。同理,本行也使用常用框架来实现登录、日志等比较繁琐的功能,提高开发效率。最后,还详细讲解了 koa2 中间件的实现原理,…
- 11-1 开始 (14:14)
- 11-2 介绍koa2 (12:18)
- 11-3 介绍路由 (11:04)
- 11-4 介绍中间件机制 (04:18)
- 11-5 实现session (10:09)
- 11-6 开发路由-准备工作 (11:16)
- 11-7 开发路由-代码演示 (12:02)
- 11-8 开发路由-(联调) (01:52)
- 11-9 日志 (07:52)
- 11-10 中间件原理-分析 (10:11)
- 11-11 中间件原理-代码演示 (15:21)
- 11-12 总结 (04:12)
第12章 数据库使用 sequelize 重构博客项目(2022升级)
之前操作 mysql 数据库都是手写 SQL 语句,比较麻烦,而且很容易写错。本章介绍一种业界常用的全新方式:ORM 操作数据。sequelize 就是一款非常优秀的 ORM 工具。
- 12-1 -章介绍 (03:46)
- 12-2 -介绍ORM和sequelize,以及两者的关系 (09:23)
- 12-3 -sequelize连接mysql数据库,生产环境使用连接池 (13:00)
- 12-4 -sequelize创建数据模型,同步到数据库 (13:10)
- 12-5 -使用sequelize新增数据 (09:13)
- 12-6 -使用sequelize查询数据 (11:44)
- 12-7 -使用sequelize修改和删除数据 (06:28)
- 12-8 -使用sequelize重构博客项目-配置项目环境 (12:06)
- 12-9 -使用sequelize重构博客项目-登录和查询博客列表 (08:32)
- 12-10 -使用sequelize重构博客项目-新增、删除、修改博客 (10:36)
- 12-11 -使用sequelize重构博客项目-联调和测试 (06:43)
- 12-12 -章总结 (02:27)
第13章 数据库使用 mongodb 重构博客项目
数据库使用 mongodb 重构博客项目
- 13-1 本章主要内容 (04:40)
- 13-2 mongodb是文档数据库 (18:59)
- 13-3 安装mongodb-介绍 (01:36)
- 13-4 安装mongodb-mac-安装homebrew (05:23)
- 13-5 安装mongodb-mac-安装mongodb (04:39)
- 13-6 安装mongodb-mac-安装compass (06:28)
- 13-7 安装mongodb-windows(1) (04:55)
- 13-8 安装mongodb-windows(2) (07:37)
- 13-9 安装mongodb-windows(3) (08:40)
- 13-10 用compass操作mongodb (13:41)
- 13-11 用命令行操作mongodb (13:27)
- 13-12 mongodb的几个重要概念 (08:05)
- 13-13 nodejs连接mongodb (12:00)
- 13-14 nodejs操作mongodb-part1 (16:28)
- 13-15 使用mongoose连接mongodb服务 (11:35)
- 13-16 mongoose的Schema和Model (10:00)
- 13-17 mongoose操作mongodb (16:36)
- 13-18 博客项目web-server链接mongodb服务端 (10:07)
- 13-19 博客项目web-server使用mognodb数据库 (16:52)
- 13-20 博客项目web-server使用mongodb-联调和测试 (12:30)
- 13-21 本章总结~ (03:21)
第14章 线上环境和 PM2 配置
代码开发完毕要线上运行,并且保证服务稳定性,将使用 PM2 工具。本章讲解 PM2 的配置使用和进程守护,以及 PM2 多进程模型。最后,还介绍了服务器运维的相关方法。
- 14-1 开始和 PM2 介绍 (10:10)
- 14-2 常用命令 (08:14)
- 14-3 进程守护 (04:48)
- 14-4 常用配置 (08:45)
- 14-5 多进程 (06:29)
- 14-6 总结 (03:37)
第15章 发布到云服务器(2022升级)
现在项目都是在本地运行的,本章讲解如何把代码发布到云服务器,通过公网 IP 访问你自己的 Web Server。
- 15-1 -章介绍 (04:13)
- 15-2 -购买云服务器-如何省钱购买 (09:32)
- 15-3 Linux 命令
- 15-4 -Linux基础命令-登录和建立信任-part1 (09:58)
- 15-5 -Linux基础命令-远程拷贝和远程执行命令 (11:29)
- 15-6 CentOS 安装软件
- 15-7 -在云服务安装必备软件-git、nginx、nodejs、wget (08:06)
- 15-8 在云服务器启动 HTML 服务和 nodejs 服务 (11:23)
- 15-9 开启防火墙
- 15-10 开启防火墙,让外网可以访问 (08:36)
- 15-11 -手动发布代码到云服务器 (16:50)
- 15-12 -认识Github actions – 自动发布的利器 (13:32)
- 15-13 -Github actions 在虚拟机上建立信任关系 (13:34)
- 15-14 -使用Github actions 自动发布代码到云服务器 (12:36)
- 15-15 -线上数据库需要单独购买 (04:10)
- 15-16 域名和 HTTPS 证书需要单独购买 (04:10)
- 15-17 -章总结 (02:34)
第16章 nodejs 面试真题讲解
nodejs 面试真题讲解
- 16-1 nodejs面试考点梳理-part1 (13:41)
- 16-2 nodejs是什么?和前端js有何区别? (03:42)
- 16-3 【必考题】nodejs如何调试 (03:38)
- 16-4 commonjs和ES6-Module的区别 (06:39)
- 16-5 回顾浏览器event loop过程 (09:22)
- 16-6 【必考题】event loop在浏览器和nodejs的区别 (13:39)
- 16-7 异步代码场景题-考察你对nodejs异步编程的理解 (15:44)
- 16-8 session如何实现登录? (04:38)
- 16-9 请描述koa2和express的中间件机制 (05:52)
- 16-10 请描述 koa2 洋葱圈模型 (03:52)
- 16-11 nodejs如何读取大文件? (03:21)
- 16-12 nodejs线上环境为何开启多进程? (02:34)
第17章 课程总结
对课程做总结,并列出了课程所提到的主要知识点,整体回顾课程。
- 17-1 课程总结 (03:57)
- 17-2 如何进阶nodejs (08:08)
本站资料仅供个人学习和研究使用 若本帖作者内容侵犯了原著者的合法权益请提供相应证明材料本站审核通过后将即予以处理
评论0