- nodejs能够读写操作系统的文件,脱离浏览器运行js;
- nodejs使用场景大于 python php
- nodejs爬虫
- 资源操作,操作数据库,读写文件,http请求,都是异步编程思维
Nodejs Stream流
,前端工程化- 服务端
API
,独立开发完成项目 - 作为中间层;中大型项目需要;小型项目不需要中间层
- web全栈开发:设计架构公司技术架构
- 从全局考虑问题,提高高度,不要自我限制在前端领域
- 掌控数据,才有话语权
用Node跨越前后端边界,独立开发一个完整的项目,那学习服务端API开发也是必须的
异步编程
服务端编程思维
定位明确的高性能 Web 服务器,Node.js 目前非常火热,几乎霸占了前端生态,各种脚手架、前端打包发布工具、构建生态的小工具,基本都是 Node.js 编写的
- 从长远看,全栈是个大趋势
- RPC 调用
- 系统运维
- 进程
- 设计出健壮、稳定和高性能的系统产品
- 搭建了一个运行于后台服务和浏览器前端之间的 Node.js 中间层,并用作服务端渲染,也就是常说的 SSR,大大提高搜索引擎抓取的效果和网页展现首屏的速度
- 技术预研非常重要。为什么采用这项技术而不用其他技术,分析可能会遇到的问题和具体预防措施,才能避免后期开发中的坑
- Node.js 构建 BFF 层
- 一个完整项目的开发重构实战
- 性能调优篇
- 项目开发完成之后,需要对整个项目的性能做排查和优化
- 框架搭建与工程化篇
- OCR、文字识别、图像识别
前后端界限
- 二层结构:前端 + 服务端
- 三层结构:前端 + 后端 + 服务端;中大型项目
后端做的事
- 读写数据库,提供 API;数据和高并发的架构设计依然是传统服务端开发者的领地
- 后端微服务,专心做并发、性能与数据一致性;中间层整合成业务数据,并向前端提供API输出数据
- 微服务需要注册和发现,需要有一个网关 Gateway
- 网关,请求来了,到那个服务器访问
- 库和框架的算法
- 静态资源服务器 cdn
- redis & mysql 矩阵
- 核心数据库 mysql ORM 操作数据库
- 辅助数据库 mongo ODM 操作数据库
- elastic search 全文检索
- 数据库很有讲究:时间成本高,精力
- 事务,脏读,幻读,悲观锁,乐观锁
前端进阶
- 自己编写 API,NoBackEnd;写出好的代码,提高开发效率
- API数据结构规范,交给前端开发者是比较好的做法;需要什么数据结构,前端开发者自己是最清楚的
- 优势:谁离数据更近,谁才有话语权;尽可能向服务器靠
- 全局观和架构能力,审美能力;适当的年龄做适当的事情,做该做的事情
- 工作做围绕 web端去找,前端需求大,做项目;大量的实践
- 不要去没有用户的公司,技术陈旧,代码没有要求的公司
前端模块化
- commonJS
require
- es6
import from
- AMD 非主流
前端进阶新概念
- Serverless 云开发,更近一步的云;无服务器,适合微服务
- IaaS:基础设施即服务
- PaaS:平台即服务,如阿里云
- SaaS:软件即服务,如在线文档
- FaaS:功能即服务,无需关心部署、运维,代码直接运行