編程導(dǎo)航,全棧項目實戰(zhàn)課——從零帶做 Java 代碼生成器平臺
定 價:118 元
- 作者:程序員魚皮
- 出版時間:2024/9/1
- ISBN:9787121488030
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP312.8
- 頁碼:460
- 紙張:
- 版次:01
- 開本:16開
想學(xué)好編程,就必須多實踐,而做項目是最直接有效的實踐方式。本書通過真實的企業(yè)項目開發(fā)流程,幫助讀者從零開始構(gòu)建完整的前后端全棧項目,涵蓋需求分析、技術(shù)選型、方案設(shè)計、項目搭建、編碼實現(xiàn)、項目優(yōu)化到部署上線的全過程。作者魚皮憑借豐富的項目經(jīng)驗,在教程中融入大量開發(fā)技巧,使讀者在實踐中不僅掌握技術(shù),更提升解決問題的能力。無論您是項目初學(xué)者還是希望提升技術(shù)水平,本書都將為您提供切實的指導(dǎo)和寶貴的經(jīng)驗,助您在項目開發(fā)中游刃有余,成為獨立開發(fā)的能手。
程序員魚皮,騰訊前全棧工程師,現(xiàn)科技公司魚鳶網(wǎng)絡(luò)創(chuàng)始人,曾帶團隊研發(fā)過編程導(dǎo)航、老魚簡歷、面試鴨等多個知名產(chǎn)品。他愛做項目,大學(xué)便帶領(lǐng)工作室為學(xué)校建設(shè)網(wǎng)站,有幾十個獨立項目開發(fā)經(jīng)驗,GitHub 中國區(qū)前 10。他熱愛分享,善于把 Java 全棧項目講得通俗易懂,累積創(chuàng)作千萬字編程干貨、錄制過數(shù)十套完整項目教程,其個人 IP 也在全網(wǎng)積累了百萬名讀者的關(guān)注。
第1章 從技術(shù)選型開始
1.1 項目概覽
1.2 項目背景
1.2.1 學(xué)習(xí)的意義
1.2.2 解決問題
1.2.3 實際應(yīng)用
1.3 需求分析
1.3.1 調(diào)研
1.3.2 功能梳理
1.4 技術(shù)選型
1.4.1 前端技術(shù)選型
1.4.2 后端技術(shù)選型
1.4.3 部署技術(shù)選型
1.4.4 其他開發(fā)工具
1.5 方案設(shè)計
1.5.1 代碼生成器的核心原理
1.5.2 第一階段:制作本地代碼生成器
1.5.3 第二階段:開發(fā)代碼生成器制作工具
1.5.4 第三階段:開發(fā)在線代碼生成器平臺
1.6 準備工作
1.6.1 準備開發(fā)環(huán)境
1.6.2 新建代碼倉庫
1.7 本章小結(jié)
1.8 本章作業(yè)
第2章 本地代碼生成
2.1 項目初始化
2.1.1 初始化根目錄
2.1.2 忽略無用提交
2.1.3 創(chuàng)建Demo示例代碼工程
2.1.4 創(chuàng)建本地代碼生成器項目
2.2 實現(xiàn)流程
2.2.1 需求拆解
2.2.2 實現(xiàn)步驟
2.3 靜態(tài)文件生成
2.3.1 使用現(xiàn)成的工具庫復(fù)制目錄
2.3.2 遞歸遍歷
2.4 動態(tài)文件生成思路
2.4.1 明確動態(tài)生成需求
2.4.2 動態(tài)生成的核心原理
2.5 FreeMarker模板引擎入門及實戰(zhàn)
2.5.1 什么是FreeMarker
2.5.2 模板引擎的作用
2.5.3 模板
2.5.4 數(shù)據(jù)模型
2.5.5 Demo 實戰(zhàn)
2.5.6 常用語法
2.5.7 問題解決示例
2.6 動態(tài)文件生成實現(xiàn)
2.6.1 定義數(shù)據(jù)模型
2.6.2 編寫動態(tài)模板
2.6.3 組合生成
2.6.4 完善優(yōu)化
2.7 ACM 示例代碼模板生成
2.8 本章小結(jié)
2.9 本章作業(yè)
第3章 命令行開發(fā)
3.1 Java 命令行開發(fā)方案
3.1.1 命令的結(jié)構(gòu)
3.1.2 為什么要開發(fā)命令行
3.1.3 命令行的作用
3.1.4 實現(xiàn)方案
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 命令模式的優(yōu)點和應(yīng)用場景
3.3.2 命令模式的要素和實現(xiàn)
3.4 Picocli 命令行代碼生成器開發(fā)
3.4.1 創(chuàng)建命令執(zhí)行器
3.4.2 子命令實現(xiàn)
3.4.3 全局調(diào)用入口
3.4.4 jar 包構(gòu)建
3.4.5 測試使用
3.4.6 封裝腳本
3.4.7 命令模式的巧妙運用
3.5 本章小結(jié)
3.6 本章作業(yè)
第4章 制作工具的開發(fā)
4.1 制作工具整體規(guī)劃
4.1.1 明確需求和業(yè)務(wù)
4.1.2 實現(xiàn)思路
4.2 核心設(shè)計
4.2.1 需求分析
4.2.2 元信息定義
4.3 代碼生成器制作工具開發(fā)
4.3.1 maker 項目初始化
4.3.2 讀取元信息
4.3.3 生成數(shù)據(jù)模型文件
4.3.4 生成Picocli 命令類
4.3.5 生成代碼生成文件
4.3.6 程序構(gòu)建jar 包
4.3.7 程序封裝腳本
4.3.8 測試驗證
4.4 本章小結(jié)
4.5 本章作業(yè)
第5章 制作工具的優(yōu)化
5.1 可移植性優(yōu)化
5.2 功能優(yōu)化
5.2.1 增加項目介紹文件
5.2.2 制作精簡版代碼生成器
5.3 健壯性優(yōu)化
5.3.1 健壯性優(yōu)化策略
5.3.2 元信息校驗和默認值填充
5.4 可擴展性優(yōu)化
5.4.1 定義枚舉值
5.4.2 模板方法模式
5.5 本章小結(jié)
5.6 本章作業(yè)
第6章 配置能力增強
6.1 需求分析
6.1.1 了解Spring Boot模板項目
6.1.2 生成器應(yīng)具備的功能
6.2 實現(xiàn)思路
6.2.1 依次分析
6.2.2 實現(xiàn)流程
6.3 開發(fā)實現(xiàn)
6.3.1 參數(shù)控制文件生成
6.3.2 同參數(shù)控制多個文件生成
6.3.3 同參數(shù)控制代碼和文件生成
6.3.4 定義一組相關(guān)的參數(shù)
6.3.5 定義可選擇開啟的參數(shù)組
6.4 本章小結(jié)
6.5 本章作業(yè)
第7章 模板制作工具
7.1 需求分析
7.2 核心方案設(shè)計
7.3 基礎(chǔ)功能實現(xiàn)
7.3.1 基本流程實現(xiàn)
7.3.2 工作空間隔離
7.3.3 分步制作
7.4 更多功能實現(xiàn)
7.4.1 單次制作多個模板文件
7.4.2 文件過濾
7.4.3 文件分組
7.4.4 模型分組
7.5 本章小結(jié)
7.6 本章作業(yè)
第8章 Spring Boot模板項目生成
8.1 Bug 修復(fù)
8.1.1 文件生成不具備冪等性
8.1.2 錯誤處理了新生成的模板文件
8.1.3 文件輸入和輸出路徑相反
8.1.4 調(diào)整配置文件生成路徑
8.2 參數(shù)封裝:易用性優(yōu)化
8.3 制作 Spring Boot模板項目生成器
8.3.1 項目基本信息
8.3.2 需求:替換生成的代碼包名
8.3.3 需求:控制是否生成帖子相關(guān)功能的文件
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 本章小結(jié)
8.6 本章作業(yè)
第9章 云平臺開發(fā)
9.1 需求分析
9.2 方案設(shè)計
9.2.1 線上化實現(xiàn)流程
9.2.2 數(shù)據(jù)庫表設(shè)計
9.3 后端開發(fā)
9.3.1 后端項目初始化
9.3.2 用戶功能
9.3.3 代碼生成器功能
9.4 前端頁面開發(fā)
9.4.1 前端項目初始化
9.4.2 用戶注冊頁面
9.4.3 管理頁面
9.4.4 主頁
9.5 本章小結(jié)
9.6 本章作業(yè)
第10章 代碼生成器共享
10.1 需求分析
10.2 通用文件上傳和下載功能
10.2.1 什么是對象存儲
10.2.2 創(chuàng)建并使用
10.2.3 后端操作對象存儲
10.2.4 前端文件上傳 / 下載
10.3 創(chuàng)建代碼生成器功能
10.3.1 文件壓縮打包
10.3.2 文件上傳接口
10.3.3 通用文件上傳組件
10.3.4 創(chuàng)建頁面開發(fā)
10.3.5 修改頁面開發(fā)
10.4 代碼生成器詳情頁
10.4.1 下載生成器文件接口
10.4.2 詳情頁開發(fā)
10.4.3 下載功能實現(xiàn)
10.5 本章小結(jié)
10.6 本章作業(yè)
第11章 在線使用生成器
11.1 需求分析
11.2 方案設(shè)計
11.2.1 業(yè)務(wù)流程
11.2.2 問題分析
11.3 后端開發(fā)
11.3.1 改造單個代碼生成器
11.3.2 修改制作工具
11.3.3 使用生成器接口
11.3.4 測試
11.4 前端頁面開發(fā)
11.4.1 創(chuàng)建生成器的模型配置
11.4.2 使用代碼生成器頁面
11.5 本章小結(jié)
11.6 本章作業(yè)
第12章 在線制作生成器
12.1 需求分析
12.2 方案設(shè)計
12.2.1 業(yè)務(wù)流程
12.2.2 問題分析
12.3 后端開發(fā)
12.3.1 制作工具項目支持傳參調(diào)用
12.3.2 在線制作接口
12.3.3 接口測試
12.4 前端頁面開發(fā)
12.4.1 創(chuàng)建生成器的文件配置
12.4.2 制作生成器功能
12.5 本章小結(jié)
12.6 本章作業(yè)
第13章 性能優(yōu)化
13.1 性能優(yōu)化思路
13.1.1 性能優(yōu)化分類
13.1.2 通用性能優(yōu)化手段
13.2 核心功能性能優(yōu)化
13.2.1 下載生成器接口
13.2.2 使用生成器接口
13.2.3 制作生成器接口
13.3 查詢性能優(yōu)化
13.3.1 精簡數(shù)據(jù)
13.3.2 SQL 優(yōu)化
13.3.3 壓力測試
13.3.4 分布式緩存
13.3.5 多級緩存
13.3.6 計算優(yōu)化
13.3.7 請求層性能優(yōu)化
13.4 Vert.x 響應(yīng)式編程
13.4.1 Vert.x 入門
13.4.2 Vert.x 為什么速度快
13.4.3 使用Vert.x 改造請求
13.4.4 測試
13.5 本章小結(jié)
13.6 本章作業(yè)
第14章 存儲優(yōu)化
14.1 存儲優(yōu)化思路
14.1.1 存儲空間優(yōu)化
14.1.2 存儲成本優(yōu)化
14.1.3 存儲安全性優(yōu)化
14.1.4 其他優(yōu)化
14.2 存儲空間優(yōu)化
14.2.1 分析
14.2.2 文件清理機制設(shè)計
14.2.3 分布式任務(wù)調(diào)度系統(tǒng)
14.2.4 文件清理機制開發(fā)
14.3 存儲成本優(yōu)化
14.3.1 選擇合適的存儲類型
14.3.2 數(shù)據(jù)沉降
14.3.3 減少訪問
14.4 存儲安全性優(yōu)化
14.4.1 官方建議
14.4.2 安全管理
14.4.3 現(xiàn)存權(quán)限風(fēng)險
14.4.4 權(quán)限管理實踐
14.5 本章小結(jié)
14.6 本章作業(yè)
第15章 部署上線
15.1 服務(wù)器初始化
15.2 部署規(guī)劃
15.2.1 部署項目的規(guī)劃
15.2.2 部署所需依賴的規(guī)劃
15.3 安裝依賴
15.3.1 數(shù)據(jù)庫
15.3.2 Redis
15.3.3 Java環(huán)境
15.3.4 Maven環(huán)境
15.3.5 XXL-JOB 任務(wù)調(diào)度平臺
15.3.6 對象存儲
15.4 前端部署
15.4.1 修改項目配置
15.4.2 打包部署
15.4.3 Nginx 轉(zhuǎn)發(fā)配置
15.5 后端部署
15.5.1 修改項目配置和代碼
15.5.2 打包部署
15.5.3 Nginx 轉(zhuǎn)發(fā)配置
15.6 測試驗證
15.6.1 驗證基本操作
15.6.2 驗證生成器在線制作
15.6.3 驗證在線使用
15.6.4 驗證定時任務(wù)執(zhí)行
15.7 本章小結(jié)
15.8 本章作業(yè)