|
|
第1章 课程介绍0 g* D* ~0 k& L& o' j% Y# V
包括课程概述、核心模块、核心技术、课程安排、课程收获、讲授方式、学习前提等方面的介绍,让同学们对课程项目有一个直观的了解。
0 G4 }* t9 i8 z/ K, p i1 d" ]! q) I& F3 J7 a$ Q s3 i" V
1-1 课程导读
+ B$ p) [6 {# x: Q {: K& E& W& u( B
第2章 nodejs 介绍+ \1 X0 J3 ?/ Q7 }( A
本章主要为了照顾尚未入门或者刚刚入门 nodejs 的同学,介绍 nodejs 的下载、安装和基本使用,以及 nodejs 和前端 javascript 的区别。另外,重点介绍了服务端开发和前端开发思路上的区别,为后续的开发做一个基础的铺垫。
2 w- F: U+ J" n! Y, D1 Y B+ _ 2-1 下载和安装5 u6 P1 h' I3 V J8 l
2-2 nodejs和js的区别
4 ]: d# l. M9 I5 n$ K 2-3 commonjs-演示4 ~8 b& F6 \, P
2-4 debugger
f, d- r C1 j! Q 2-5 server端和前端的区别. x- C) u; J% @& f% U$ P
2-6 总结4 v% D7 @1 B# r+ z) Z" J
* x+ Q; Q2 m6 d0 \3 m ?$ Y第3章 项目介绍
7 M. C! ?8 Z" H6 O# C课程是通过案例的形式来学习 nodejs ,本章先来介绍这个案例,即个人博客项目。包括需求分析、原型图设计、以及 server 端的技术方案设计。有了详细的设计方案,才能指导后续的实际开发。8 y4 U4 n$ ^% U1 r6 u9 R( t
3-1 项目需求分析
9 ]4 v" {3 P" S( e 3-2 技术方案
% F2 }' C" Y* W3 V- Y4 g8 [8 K) U* c* v& D
第4章 开发博客项目之接口
! p( |8 z9 L; G) X: x2 D) _要开发一个博客项目的 server 端,首先要实现技术方案设计中的各个 API 。本章主要讲解如何使用原生 nodejs 处理的 http 请求,包括路由分析和数据返回,然后代码演示各个 API 的开发 。但是本章尚未连接数据库,因此 API 返回的都是假数据。...
+ _& A6 T7 ]0 u* s0 e 4-1 http-概述% N" y( k; ]$ I- O' X& k
4-2 处理get请求 试看& L. A0 D3 H6 Q" A; j1 e
4-3 处理post请求: l+ ~, A. _* X
4-4 处理http请求的综合示例+ G8 ]. D) o5 W7 v& W
4-5 搭建开发环境% Z, L2 k* L/ [4 t
4-6 初始化路由
2 m( l- ~) d( ?9 V- a" m" t& { 4-7 开发路由(博客列表路由)_1
) e- ]" @- a2 m+ }# c! B' L 4-8 开发路由(博客详情路由)# I# j' Y- P* r* E* a" F Q3 t
4-9 开发路由(处理 POSTData)
9 }' ?0 ` `! { 4-10 开发路由(新建和更新博客路由)
1 o6 @7 p7 J0 e8 X% ^+ Y- j 4-11 开发路由(删除博客路由和登录路由)
7 o0 i# o8 q2 {& W# W 4-12 补充:路由和API
! |4 A a( B2 W6 C# \0 }. l: t6 |* T; s. l2 T
第5章 开发博客项目之数据存储
, J5 m7 @: T4 w% h" ]; SAPI 实现了,就需要连接数据库,实现真正的数据存储和查询,不再使用假数据。本章主要讲解 mysql 的安装、使用,以及用 nodejs 连接 mysql ,最后将 mysql 应用到各个已经开发完的 API 中。
) p. A; E. L, R: K Y V- ` 5-1 MySql 介绍 试看
* s- Q$ S- O5 O T, B 5-2 数据库操作(创建和增、删、查)/ l& A/ c& K' U" c4 R: L, A
5-3 数据库操作(更新)+ j5 k' @ m6 B8 \" @
5-4 nodejs操作 mysql
+ q+ E! _6 w; L! ^ 5-5 nodejs 链接 mysql 做成工具4 l! O- j& `- [) U. I+ s
5-6 API对接mysql(博客列表)6 z. u) g7 }( ^5 z
5-7 API对接mysql(博客详情和新建)
" A: j! u/ X& U. _ 5-8 API对接mysql(博客更新和删除)0 i! P/ O3 J6 X' I. p2 X8 [6 G
5-9 API对接mysql(登录)
/ m( w6 V+ g, n9 v* a# ?5 f% ` 5-10 总结
( m2 x0 [. l& e* [8 X% n/ e+ v. M. z1 `0 p. e# S1 V1 }* `
第6章 博客项目之登录, y8 ^. d8 W- F
用户登录是博客项目的主要功能之一,本章主要讲解如何使用原生 nodejs 实现登录。包括 cookie session 的介绍和使用,以及为了扩展性和性能使用 redis 来存储 session 。最后,通过 nginx 配置联调环境,和前端页面联调。本章内容较多,对于前端开发人员来说,新概念也较多,是本课程学习上的挑战。...
0 A1 _& P3 w* q1 L; Z 6-1 开始
4 C( H. k# T0 F- G 6-2 cookie-介绍
( Y) Z# @: T# D2 j. g# x! l 6-3 cookie用于登录验证 A- ?- w) y4 e# p: ]
6-4 cookie做限制(1)
/ v) e# d7 E1 }) w$ d* ^% A 6-5 cookie做限制(2)
2 h/ K& W$ \' ~ R 6-6 session介绍
# d) q$ l+ O. [7 M0 J 6-7 session演示/ ~3 g: S) N6 y9 Q, h" e& I3 V, c
6-8 从 session 到 redis
' q/ {5 a3 `+ X2 f! ] w1 R O9 Q 6-9 redis介绍
$ {: R$ @) j" m* a2 b) M$ b 6-10 nodejs链接redis的demo
- u, u" s0 ?0 }8 w4 ~ 6-11 nodejs连接redis-封装工具函数3 B, L2 K6 O* C: D
6-12 session存入redis
5 c9 c& u* f" j' F- g3 f5 ` w 6-13 完成server端登录的代码, k8 u! X5 V+ y3 h# l- Z" k" V
6-14 联调-介绍html页面
X4 ?* y6 N3 d/ g% x' c" `1 c: K 6-15 nginx配置
9 N. D7 v' U7 N3 H! b 6-16 联调演示与总结- c6 E! B, |/ m
1 B6 z$ g" Z7 ^8 \
第7章 博客项目之日志" V9 m7 O, R' ? g
日志记录和日志分析是 server 端的重要模块,前端涉及较少。本章主要讲解如何使用原生 nodejs 实现日志记录、日志内容分析和日志文件拆分。其中包括 stream readline 和 crontab 等核心知识点。0 {% d+ A! S+ c# i8 ?8 M( g) s
7-1 开始
4 D3 Y h8 P/ W+ y7 } 7-2 nodejs文件操作3 ?. d' ]7 o6 j
7-3 stream 介绍 T; V# l" ~7 n6 c! h
7-4 stream演示(1)
6 `: H$ F3 s8 L/ z 7-5 stream演示(2)2 }4 |; }4 ^7 G' R/ |4 [- ]
7-6 写日志
3 a5 p/ a- I2 D8 E9 \ 7-7 拆分日志0 X* f( ]5 h3 }+ u
7-8 分析日志介绍
% D( y0 j. v- m9 q% ?6 N 7-9 -readline演示8 c" L0 g$ c+ Q5 y! X, }
7-10 总结$ h% W& z5 b& |) i) z& T, S
- i( f- m3 x' |$ e
第8章 博客项目之安全
& C% G" s6 H. z: q, C安全是 server 端需要考虑的重点内容,本章主要讲解 nodejs 如何防范 sql 注入,xss 攻击,以及数据库的密码加密 —— 以防被黑客获取明文密码。
; j5 W: G7 E$ u9 C4 C( q. h 8-1 开始和sql注入
" J) C& f. f+ J3 y 8-2 xss攻击0 g! x4 y. W o# t: p
8-3 密码加密和总结
4 R* w4 {! a4 t# r4 j# z, | 8-4 统一总结; L$ c. S ?1 ]% |+ w V( N2 `
) y( i9 Y: b: {$ m9 a第9章 使用 express 重构博客项目$ O& t4 n( Z$ c% i( l7 z6 s8 R
先前的课程内容都是通过原生 nodejs 实现,是为了让同学们了解原理和底层实现,但实际开发还是会使用框架和工具来提高效率。本章使用 express 重构这个博客项目,学习使用框架和中间件机制。另外,本章将使用常用的插件来实现登录、日志等比较繁琐的功能,提高开发效率。最后,还详细讲解了 express 中间件的实现原理...9 L0 g7 x# W7 H6 _9 e: e, f% x
9-1 开始, e8 R+ F1 A, g/ y* {
9-2 express 安装# H3 h# ?' Z- z/ K2 u0 v) Y$ f
9-3 介绍express的入口代码" q, ~! z+ `; X" c+ d
9-4 演示express如何处理路由
2 A. P# y3 b; ?. Z 9-5 express中间件; x8 A6 |" d2 P6 H" w
9-6 express介绍的总结
/ V# u/ S. ^8 q, q) v; F 9-7 express开发博客项目-初始化环境+ G2 r. u9 }' t7 m7 `6 I, d1 E! |/ a
9-8 express处理session( v& Q2 E% u& c( d# z3 y) V# G
9-9 session连接redis
) C$ y, O% F, L; |1 Q/ ]# S" t 9-10 登录中间件
0 r; n+ o0 g% R& Y6 R+ u6 G 9-11 开发路由% n- j$ k. w: E4 ^, d+ y
9-12 介绍morgan
/ E$ n9 b# k7 e. Y2 V; p 9-13 使用morgan写日志
: Y7 I( z8 O F: h$ _ 9-14 中间件原理介绍
" t8 S. c. J W/ c t 9-15 中间件原理-代码实现' C' m9 C8 ?7 [0 {% \
9-16 -总结& r; e Q% R8 @7 B7 d ]7 E ^9 H2 R
$ E2 Z5 K4 ]8 |( ^+ B8 L' \第10章 使用 Koa2 重构博客项目
2 B# c2 t' L3 W p/ q$ `目前 koa2 和 express 是企业同时使用的 nodejs 框架,因此本章使用 koa2 再次重构这个博客项目。重构过程中将详细学习 koa2 框架的使用,koa2 的中间件机制,以及 async/await 语法。同理,本行也使用常用框架来实现登录、日志等比较繁琐的功能,提高开发效率。最后,还详细讲解了 koa2 中间件的实现原理,...
: v& }0 b) V3 ~' `/ F/ P# _ 10-1 开始
. h8 w$ J+ ?+ T- j$ G+ B 10-2 介绍koa28 [) h F. H( A. E+ o
10-3 介绍路由
" M4 d, q# o9 F0 I1 a, _, B5 A 10-4 介绍中间件机制) T/ m% h$ E! S( I! v9 `+ P N% S
10-5 实现session
2 p. k0 b! U2 r8 O4 N 10-6 开发路由-准备工作, n& C1 I1 S6 n2 {$ D% C& J
10-7 开发路由-代码演示
/ o3 c5 e; Z3 L8 Z# D9 ~+ d 10-8 开发路由-(联调)
7 h2 ^7 T g F$ w, K8 E$ o 10-9 日志
f8 A. T8 {, }0 } O 10-10 中间件原理-分析
! ]* b5 q) @) f8 _3 |9 n4 L 10-11 中间件原理-代码演示4 \( w b# Q3 N! o
10-12 总结
: {: f8 L( I) w
# n; Q e! u/ G' J第11章 上线与配置& Y8 d6 d3 |! k7 J S8 o
代码开发完毕要线上运行,并且保证服务稳定性,将使用 PM2 工具。本章讲解 PM2 的配置使用和进程守护,以及 PM2 多进程模型。最后,还介绍了服务器运维的相关方法。
7 m& H8 H% ~0 o( b% |6 c6 ` 11-1 开始和 PM2 介绍
8 }2 Z: t' F; f9 A: {1 O* A9 A 11-2 常用命令
9 s9 C1 y5 C6 H8 j+ a5 n' m0 u' ^ 11-3 进程守护7 P( t3 d/ s8 @2 G1 b4 O
11-4 常用配置
& d' x5 l2 q+ R6 _/ ~1 w 11-5 多进程
2 Q* e U) C) f/ }2 i3 ?) | 11-6 总结6 O" c" x& v: t% j/ m$ e" g
, Z$ o: E, [: x+ t3 E1 `! x$ R
第12章 课程总结
4 H1 o v( z& J% R对课程做总结,并列出了课程所提到的主要知识点,整体回顾课程。% v* i5 y2 |( r) x6 Z- w5 c8 c5 E
12-1 课程总结
. {7 U: l% f& b8 e: k% b& G' d: ~* r' I h+ s) o$ d f
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|