-
内容大纲
想学好编程,就必须多实践,而做项目是最直接有效的实践方式。本书通过真实的企业项目开发流程,帮助读者从零开始构建完整的前后端全栈项目,涵盖需求分析、技术选型、方案设计、项目搭建、编码实现、项目优化到部署上线的全过程。作者鱼皮凭借丰富的项目经验,在教程中融入大量开发技巧,使读者在实践中不仅掌握技术,更提升解决问题的能力。无论您是项目初学者还是希望提升技术水平,本书都将为您提供切实的指导和宝贵的经验,助您在项目开发中游刃有余,成为独立开发的能手。 -
作者介绍
程序员鱼皮,生于1998年的程序员,腾讯前全栈工程师,现为科技公司鱼鸢网络创始人,曾带团队研发过编程导航、老鱼简历、面试鸭等多个知名产品。 爱做项目,大学时期便带领工作室为学校建设网站,积累了几十个独立项目的开发经验,GitHub中国区排名前10。 热爱分享,善于把Java全栈项目讲得通俗易懂,累积了千万字原创编程干货,录制过数十套完整项目的视频教程,个人IP在全网吸引了百万名读者的关注。 -
目录
第1章 从技术选型开始
1.1 项目概览
1.2 项目背景
1.2.1 学习的意义
1.2.2 解决问题
1.2.3 实际应用
1.3 需求分析
1.3.1 调研
1.3.2 功能梳理
1.4 技术选型
1.4.1 前端技术选型
1.4.2 后端技术选型
1.4.3 部署技术选型
1.4.4 其他开发工具
1.5 方案设计
1.5.1 代码生成器的核心原理
1.5.2 第一阶段:制作本地代码生成器
1.5.3 第二阶段:开发代码生成器制作工具
1.5.4 第三阶段:开发在线代码生成器平台
1.6 准备工作
1.6.1 准备开发环境
1.6.2 新建代码仓库
1.7 本章小结
1.8 本章作业
第2章 本地代码生成
2.1 项目初始化
2.1.1 初始化根目录
2.1.2 忽略无用提交
2.1.3 创建Demo示例代码工程
2.1.4 创建本地代码生成器项目
2.2 实现流程
2.2.1 需求拆解
2.2.2 实现步骤
2.3 静态文件生成
2.3.1 使用现成的工具库复制目录
2.3.2 递归遍历
2.4 动态文件生成思路
2.4.1 明确动态生成需求
2.4.2 动态生成的核心原理
2.5 FreeMarker模板引擎入门及实战
2.5.1 什么是FreeMarker
2.5.2 模板引擎的作用
2.5.3 模板
2.5.4 数据模型
2.5.5 Demo实战
2.5.6 常用语法
2.5.7 问题解决示例
2.6 动态文件生成实现
2.6.1 定义数据模型
2.6.2 编写动态模板
2.6.3 组合生成
2.6.4 完善优化
2.7 ACM示例代码模板生成
2.8 本章小结
2.9 本章作业
第3章 命令行开发
3.1 Java命令行开发方案
3.1.1 命令的结构
3.1.2 为什么要开发命令行
3.1.3 命令行的作用
3.1.4 实现方案
3.2 Picocli命令行框架入门
3.2.1 入门Demo
3.2.2 帮助手册
3.2.3 命令解析
3.2.4 交互式输入
3.2.5 子命令
3.2.6 其他功能
3.3 命令模式
3.3.1 命令模式的优点和应用场景
3.3.2 命令模式的要素和实现
3.4 Picocli命令行代码生成器开发
3.4.1 创建命令执行器
3.4.2 子命令实现
3.4.3 全局调用入口
3.4.4 jar包构建
3.4.5 测试使用
3.4.6 封装脚本
3.4.7 命令模式的巧妙运用
3.5 本章小结
3.6 本章作业
第4章 制作工具的开发
4.1 制作工具整体规划
4.1.1 明确需求和业务
4.1.2 实现思路
4.2 核心设计
4.2.1 需求分析
4.2.2 元信息定义
4.3 代码生成器制作工具开发
4.3.1 maker项目初始化
4.3.2 读取元信息
4.3.3 生成数据模型文件
4.3.4 生成Picocli命令类
4.3.5 生成代码生成文件
4.3.6 程序构建jar包
4.3.7 程序封装脚本
4.3.8 测试验证
4.4 本章小结
4.5 本章作业
第5章 制作工具的优化
5.1 可移植性优化
5.2 功能优化
5.2.1 增加项目介绍文件
5.2.2 制作精简版代码生成器
5.3 健壮性优化
5.3.1 健壮性优化策略
5.3.2 元信息校验和默认值填充
5.4 可扩展性优化
5.4.1 定义枚举值
5.4.2 模板方法模式
5.5 本章小结
5.6 本章作业
第6章 配置能力增强
6.1 需求分析
6.1.1 了解Spring Boot模板项目
6.1.2 生成器应具备的功能
6.2 实现思路
6.2.1 依次分析
6.2.2 实现流程
6.3 开发实现
6.3.1 参数控制文件生成
6.3.2 同参数控制多个文件生成
6.3.3 同参数控制代码和文件生成
6.3.4 定义一组相关的参数
6.3.5 定义可选择开启的参数组
6.4 本章小结
6.5 本章作业
第7章 模板制作工具
7.1 需求分析
7.2 核心方案设计
7.3 基础功能实现
7.3.1 基本流程实现
7.3.2 工作空间隔离
7.3.3 分步制作
7.4 更多功能实现
7.4.1 单次制作多个模板文件
7.4.2 文件过滤
7.4.3 文件分组
7.4.4 模型分组
7.5 本章小结
7.6 本章作业
第8章 Spring Boot模板项目生成
8.1 Bug 修复
8.1.1 文件生成不具备幂等性
8.1.2 错误处理了新生成的模板文件
8.1.3 文件输入和输出路径相反
8.1.4 调整配置文件生成路径
8.2 参数封装:易用性优化
8.3 制作Spring Boot模板项目生成器
8.3.1 项目基本信息
8.3.2 需求:替换生成的代码包名
8.3.3 需求:控制是否生成帖子相关功能的文件
8.3.4 需求:控制是否需要开启跨域功能
8.3.5 需求:自定义Knife4jConfig接口文档配置信息
8.3.6 需求:自定义MySQL配置信息
8.3.7 需求:控制是否开启Redis
8.3.8 需求:控制是否开启Elasticsearch
8.4 测试验证
8.4.1 制作生成器
8.4.2 测试使用
8.5 本章小结
8.6 本章作业
第9章 云平台开发
9.1 需求分析
9.2 方案设计
9.2.1 线上化实现流程
9.2.2 数据库表设计
9.3 后端开发
9.3.1 后端项目初始化
9.3.2 用户功能
9.3.3 代码生成器功能
9.4 前端页面开发
9.4.1 前端项目初始化
9.4.2 用户注册页面
9.4.3 管理页面
9.4.4 主页
9.5 本章小结
9.6 本章作业
第10章 代码生成器共享
10.1 需求分析
10.2 通用文件上传和下载功能
10.2.1 什么是对象存储
10.2.2 创建并使用
10.2.3 后端操作对象存储
10.2.4 前端文件上传/下载
10.3 创建代码生成器功能
10.3.1 文件压缩打包
10.3.2 文件上传接口
10.3.3 通用文件上传组件
10.3.4 创建页面开发
10.3.5 修改页面开发
10.4 代码生成器详情页
10.4.1 下载生成器文件接口
10.4.2 详情页开发
10.4.3 下载功能实现
10.5 本章小结
10.6 本章作业
第11章 在线使用生成器
11.1 需求分析
11.2 方案设计
11.2.1 业务流程
11.2.2 问题分析
11.3 后端开发
11.3.1 改造单个代码生成器
11.3.2 修改制作工具
11.3.3 使用生成器接口
11.3.4 测试
11.4 前端页面开发
11.4.1 创建生成器的模型配置
11.4.2 使用代码生成器页面
11.5 本章小结
11.6 本章作业
第12章 在线制作生成器
12.1 需求分析
12.2 方案设计
12.2.1 业务流程
12.2.2 问题分析
12.3 后端开发
12.3.1 制作工具项目支持传参调用
12.3.2 在线制作接口
12.3.3 接口测试
12.4 前端页面开发
12.4.1 创建生成器的文件配置
12.4.2 制作生成器功能
12.5 本章小结
12.6 本章作业
第13章 性能优化
13.1 性能优化思路
13.1.1 性能优化分类
13.1.2 通用性能优化手段
13.2 核心功能性能优化
13.2.1 下载生成器接口
13.2.2 使用生成器接口
13.2.3 制作生成器接口
13.3 查询性能优化
13.3.1 精简数据
13.3.2 SQL优化
13.3.3 压力测试
13.3.4 分布式缓存
13.3.5 多级缓存
13.3.6 计算优化
13.3.7 请求层性能优化
13.4 Vert.x响应式编程
13.4.1 Vert.x入门
13.4.2 Vert.x为什么速度快
13.4.3 使用Vert.x改造请求
13.4.4 测试
13.5 本章小结
13.6 本章作业
第14章 存储优化
14.1 存储优化思路
14.1.1 存储空间优化
14.1.2 存储成本优化
14.1.3 存储安全性优化
14.1.4 其他优化
14.2 存储空间优化
14.2.1 分析
14.2.2 文件清理机制设计
14.2.3 分布式任务调度系统
14.2.4 文件清理机制开发
14.3 存储成本优化
14.3.1 选择合适的存储类型
14.3.2 数据沉降
14.3.3 减少访问
14.4 存储安全性优化
14.4.1 官方建议
14.4.2 安全管理
14.4.3 现存权限风险
14.4.4 权限管理实践
14.5 本章小结
14.6 本章作业
第15章 部署上线
15.1 服务器初始化
15.2 部署规划
15.2.1 部署项目的规划
15.2.2 部署所需依赖的规划
15.3 安装依赖
15.3.1 数据库
15.3.2 Redis
15.3.3 Java环境
15.3.4 Maven环境
15.3.5 XXL-JOB任务调度平台
15.3.6 对象存储
15.4 前端部署
15.4.1 修改项目配置
15.4.2 打包部署
15.4.3 Nginx转发配置
15.5 后端部署
15.5.1 修改项目配置和代码
15.5.2 打包部署
15.5.3 Nginx转发配置
15.6 测试验证
15.6.1 验证基本操作
15.6.2 验证生成器在线制作
15.6.3 验证在线使用
15.6.4 验证定时任务执行
15.7 本章小结
15.8 本章作业
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-
孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-
时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-
本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...