Node.js开发实战 / 带你开发一个完整的Node.js项目
杨浩
腾讯高级工程师
 
  • 课程目录
  • 课程介绍
  • 01 | 课程介绍

  • 02 | 内容综述

  • 03 | Node.js是什么?

  • 04 | Node.js可以用来做什么?

  • 05 | 课程实战项目介绍

  • 06 | 什么是技术预研?

  • 07 | Node.js开发环境安装

  • 08 | 第一个Node.js程序:石头剪刀布游戏

  • 09 | 模块:CommonJS规范

  • 10 | 模块:使用模块规范改造石头剪刀布游戏

  • 11 | 模块:npm

  • 12 | 模块:Node.js内置模块

  • 13 | 异步:非阻塞I/O

  • 14 | 异步:异步编程之callback

  • 15 | 异步:事件循环

  • 16 | 异步:异步编程之Promise

  • 17 | 异步:异步编程之async/await

  • 18 | HTTP:什么是HTTP服务器?

  • 19 | HTTP:简单实现一个HTTP服务器

  • 20 | HTTP:实现网页版石头剪刀布

  • 21 | HTTP:用express优化石头剪刀布游戏

  • 22 | HTTP:用koa优化石头剪刀布游戏

  • 23 | RPC 调用:什么是RPC调用?

  • 24 | RPC调用:Node.js Buffer编解码二进制数据包

  • 25 | RPC 调用:Node.js net建立多路复用的RPC通道

  • 26 | 项目启动:整体需求分析

  • 27 | 项目启动:极客时间App下载页开发

  • 28 | 课程详情页:极客时间详情页需求解构

  • 29 | 课程详情页:将ES6模版字符串改造成模板引擎

  • 30 | 课程详情页:极客时间详情页需求实现

  • 31 | 课程播放页:极客时间播放页需求解构

  • 32 | 课程播放页:GraphQL API服务

  • 33 | 课程播放页:极客时间播放页需求实现

  • 34 | 课程列表页:极客时间列表页需求解构

  • 35 | 课程列表页:用 Vue/React 进行服务端渲染

  • 36 | 课程列表页:极客时间列表页需求实现

  • 37 | 性能工具:HTTP服务的性能测试

  • 38 | 性能工具:Node.js性能分析工具

  • 39 | 代码优化:JavaScript代码性能优化

  • 40 | 代码优化:内存管理优化

  • 41 | 代码优化:Node.js C++插件

  • 42 | 多进程优化:Node.js子进程与线程

  • 43 | 多进程优化:Node.js cluster模块实战与源码解读

  • 44 | 多进程优化:进程守护与管理

  • 45 | 架构优化:动静分离

  • 46 | 架构优化:反向代理与缓存服务

  • 47 | 概念:框架设计和工程化

  • 48 | 概念:设计模式

  • 49 | 概念:Serverless

  • 50 | 服务端框架搭建:koaless

  • 51 | 服务端框架搭建:屏蔽请求细节

  • 52 | 服务端框架搭建:完成服务端框架

  • 53 | 云函数式工程实现:服务端代码

  • 54 | 云函数式工程实现:工具端代码

  • 55 | 加餐:调试 Node.js 源码

  • 56 | 结束语

  • 57 | 彩蛋:这是一个严肃的课程

课程背景

Node.js 拥有广大的 JavaScript 程序员基础并且完全开源,所以它拥有一个强大的开发者社区。依靠繁荣的社区力量,现在已经发展出成熟的技术体系与庞大的生态。它被广泛地用在 Web 服务、开发工作流、客户端应用等诸多领域。其中,在 Web 服务开发这个领域,业界对 Node.js 的接受程度最高。

对于很多前端开发者来说,掌握 Node.js 的基础知识并不难,难点在于如何按照后端工程师的思维,基于 Node.js 来一步步构建项目,其中涉及诸如 RPC 调用、系统运维以及进程管理等前端工程师较少涉及到的领域。

因此,本课程站在一个前端工程师的角度,讲解如何基于 Node.js 开发一个完整的项目,从一开始的技术预研再到实际开发、性能优化以及最终的框架架构搭建和工程化建设,带你完整体验一遍前端工程师使用 Node.js进行项目开发会碰到的各种常见场景和技术难点,学完课程之后,你将能够熟练运用 Node.js 进行大型项目的设计和开发。

讲师简介

杨浩,腾讯高级工程师。之前曾在腾讯视频负责 Web 端的相关工作,设计并完成了腾讯视频整站大部分页面的 Node.js 化。

腾讯视频是从 2015 年开始使用 Node.js 对整站进行改造的,杨浩与同事一起从零开始一步一步把整个 Node.js 的开发运维步骤打通,搭建了一个运行于后台服务和浏览器前端之间的 Node.js 中间层用作 SSR(Server Side Rendering),以提高搜索引擎抓取的效果以及首屏展现的速度。

在 2018 年由 InfoQ 举办的 ArchSummit 全球架构师峰会深圳站上,杨浩也对在腾讯视频进行 Node.js 改造这一经历做了公开分享:

https://time.geekbang.org/dailylesson/detail/100016617

课程收获

  1. Node.js 开发必备基础知识;
  2. 使用 Node.js 构建 BFF 层;
  3. 一个完整项目的开发重构实战;
  4. 性能优化和工程化建设核心方法。

更新频率

  1. 9月18日上线 1-8 讲,9月25日开始固定为每周三更新。
  2. 全部课程预计将于 12 月 11 日前更新完毕。

如何在电脑端观看视频

  1. 用浏览器访问 https://time.geekbang.org ,登录极客时间账号;
  2. 然后在“讲堂”板块选择“视频课程”标签,点击相应的视频课程即可观看。