新書推薦:
《
阿勒泰的春天
》
售價:NT$
230.0
《
如见你
》
售價:NT$
234.0
《
人格阴影 全新修订版,更正旧版多处问题。国际分析心理学协会(IAAP)主席力作
》
售價:NT$
305.0
《
560种野菜野果鉴别与食用手册
》
售價:NT$
305.0
《
中国官僚政治研究(一部洞悉中国政治制度演变的经典之作)
》
售價:NT$
286.0
《
锂电储能产品设计及案例详解
》
售價:NT$
505.0
《
首辅养成手册(全三册)(张晚意、任敏主演古装剧《锦绣安宁》原著小说)
》
售價:NT$
551.0
《
清洁
》
售價:NT$
296.0
|
編輯推薦: |
本书详细记录了笔者开发框架的整个历程,包括其间的设计思路和解决问题的过程。配套772分钟视频教程,53个示例源代码。初学者可以从框架简单的初始版本开始,观察各种功能逐步完善的过程,进而掌握功能的使用方法和相关概念,在后续的项目开发或学习其他框架时可事半功倍。
|
內容簡介: |
本书讲述了一个开源Web框架从无到有,直至发布上线的开发历程,逐步实现Web框架的核心对象管理、Web路由及数据库支持等三大组成部分并集成多个常用服务,完成框架中三十多个TypeScript装饰器的设计与开发。通过本书,读者能够从最基础的代码开始,轻松掌握Web框架的开发技能,为深入探索高级Web技术奠定坚实基础。
本书分为三大模块。Web框架基础模块(第1章)从编写最简单的HTTP服务开始,介绍Web框架的基础知识;框架开发模块(第2~5章)详细阐述框架核心对象管理的实现、集成ExpressJS服务及相关中间件的应用整合,展示了两类Web框架常见的数据库功能的开发过程,以及RabbitMQ、Redis、SocketIO多种常用服务的集成开发;测试与发布模块(第6章)讲述Web框架的测试和开源项目的发布过程,深入探讨制作开源项目涉及的各种关键知识点。
本书适合初学者入门,书中项目以真实线上开源项目为主线,深入探讨了Web框架的实现细节,对于有经验的开发者同样有参考价值,尤其适合对开源项目有浓厚兴趣的开发者。
|
關於作者: |
曾振中,资深计算机工程师,十多年IT从业经验,曾任虎牙直播研发效能平台、虎牙视频、YY游戏盒子、多玩网等多个大型项目的技术负责人,PMP证书持有者,专注于架构设计、全栈开发、技术管理及云原生等领域,长期开发和维护SpeedPHP、k、TypeSpeed等开源框架。
|
目錄:
|
本书源代码
第1章了解Web框架(51min)
1.1Web框架
1.1.1Web框架的应用领域
1.1.2主流编程语言的Web框架
1.1.3需要了解的相关知识
1.2TypeSpeed
1.2.1TypeSpeed框架的特性
1.2.2学习TypeSpeed的开发过程
1.3准备源代码
1.3.1安装环境
1.3.2安装编码工具
1.3.3获取源代码
1.4从零实现最简Web框架
1.4.1显示Hello World页面
1.4.2增加页面
1.4.3用面向对象方法组织页面代码
1.4.4增加数据库查询
1.4.5单例模式实现数据库链接
1.4.6Web框架的主要组成部分
第2章构建框架核心(92min)
2.1TypeScript装饰器
2.1.1装饰器的用途
2.1.2如何设计装饰器
2.1.3装饰器执行原理
2.1.4定时任务装饰器开发
2.1.5小结
2.2构建对象管理机制
2.2.1对象管理
2.2.2设计对象管理机制
2.2.3依赖注入
2.2.4对象工厂
2.2.5项目初始结构
2.2.6实现日志功能
2.2.7入口文件机制
2.2.8小结
2.3系统配置管理
2.3.1约定优于配置
2.3.2设计程序配置规范
2.3.3配置的集成
2.3.4开发配置装饰器
2.3.5小结
第3章Web服务系统(184min)
3.1集成Web服务框架
3.1.1ExpressJS
3.1.2中间件机制
3.1.3应用程序入口
3.1.4集成ExpressJS
3.1.5小结
3.2路由装饰器
3.2.1简单的路由实现
3.2.2路径功能详解
3.2.3开发路由装饰器
3.2.4测试路由装饰器
3.2.5优化路由装饰器
3.2.6小结
3.3路由切面功能
3.3.1面向切面编程
3.3.2设计切面程序功能
3.3.3@before切面装饰器
3.3.4@after切面装饰器
3.3.5小结
3.4请求参数装饰器
3.4.1设计请求参数装饰器
3.4.2请求参数装饰器的实现
3.4.3用toString()优化装饰器
3.4.4小结
3.5响应处理与模板引擎
3.5.1MVC设计模式
3.5.2JSON格式输出
3.5.3模板引擎是什么
3.5.4ExpressJS的模板引擎
3.5.5模板引擎的选型
3.5.6集成多模板引擎库
3.5.7小结
3.6使用中间件增强框架功能
3.6.1静态资源服务
3.6.2站点图标功能
3.6.3传输压缩实现
3.6.4Cookie
3.6.5Session
3.6.6小结
3.7文件上传
3.7.1文件上传原理
3.7.2使用文件上传库
3.7.3实现文件上传装饰器
3.7.4小结
3.8Web服务鉴权
3.8.1实现基本访问认证
3.8.2实现验证装饰器
3.8.3拦截器
3.8.4开发全局拦截器机制
3.8.5实现JWT全局拦截器
3.8.6小结
3.9服务器端错误输出
3.9.1捕捉常见错误
3.9.2错误日志输出
3.9.3美化内置错误页面
3.9.4小结
第4章数据库开发(184min)
4.1数据库开发准备
4.1.1安装Docker Desktop
4.1.2安装MySQL
4.1.3连接MySQL
4.1.4创建测试数据库
4.1.5创建测试表
4.2装饰器风格的SQL方法
4.2.1SQL装饰器的设计
4.2.2初步实现@Insert装饰器
4.2.3初步实现@Update和@Delete
4.2.4@Select查询实现
4.2.5小结
4.3参数绑定
4.3.1SQL注入攻击示例
4.3.2SQL参数装饰器
4.3.3优化查询装饰器
4.3.4小结
4.4查询结果的处理
4.4.1数据类
4.4.2查询结果装饰器
4.4.3装饰器配合使用
4.4.4小结
4.5内置查询缓存
4.5.1缓存的作用
4.5.2内置缓存功能
4.5.3缓存装饰器
4.5.4优化缓存更新
4.5.5小结
4.6模型风格的数据操作
4.6.1统一底层数据库执行机制
4.6.2设计Model类型
4.6.3开发模型查询方法
4.6.4小结
4.7自定义查询语法
4.7.1设计自定义查询语法
4.7.2开发比较条件语法
4.7.3开发模糊查询和 OR 语法
4.7.4优化查询方法
4.7.5便捷查询方法
4.7.6小结
4.8增、删、改的优化
4.8.1增、删、改方法
4.8.2简化查询方法
4.8.3简化修改方法
4.8.4小结
4.9内置分页
4.9.1页码计算
4.9.2实现查询内置分页
4.9.3小结
4.10数据源读写分离
4.10.1数据源
4.10.2主从数据库架构
4.10.3设计多数据源机制
4.10.4内置多数据源实现
4.10.5测试多数据源
4.10.6小结
第5章常用服务(198min)
5.1消息队列功能
5.1.1RabbitMQ
5.1.2安装RabbitMQ
5.1.3创建交换机和队列
5.1.4使用amqplib库
5.1.5监听消息装饰器
5.1.6注入发送消息方法
5.1.7小结
5.2Socket.IO 即时通信
5.2.1Socket.IO
5.2.2即时通信
5.2.3使用Socket.IO
5.2.4与Web服务共用端口
5.2.5开发Socket.IO装饰器
5.2.6测试即时通信功能
5.2.7小结
5.3Redis 数据库
5.3.1安装Redis服务
5.3.2集成Redis
5.3.3发布订阅功能
5.3.4优化排行榜逻辑
5.3.5Session支持Redis 存储
5.3.6小结
5.4命令行脚手架功能
5.4.1脚手架是什么
5.4.2开发命令行程序
5.4.3发布命令
5.4.4小结
5.5支持Swagger平台
5.5.1Swagger接口交互平台
5.5.2外部项目
5.5.3设计TypeSpeedSwagger
5.5.4实现集成Swagger中间件
5.5.5替换装饰器收集接口信息
5.5.6小结
5.6自动化文档
5.6.1JSDoc文档和工具
5.6.2Reflect Metadata运行原理
5.6.3进阶反射库
5.6.4实现中间件配置
5.6.5获取对象详细信息
5.6.6小结
第6章项目测试与发布(63min)
6.1开源项目的测试
6.1.1单元测试
6.1.2Mocha测试框架
6.1.3调整框架配合测试
6.1.4编写测试集
6.1.5测试结果
6.1.6小结
6.2测试覆盖率
6.2.1测试覆盖率
6.2.2持续集成
6.2.3GitHub Action
6.2.4测试覆盖率报告
6.2.5小结
6.3NPM发布
6.3.1框架目录结构
6.3.2导出类型定义
6.3.3框架配置
6.3.4发布项目
|
|