3

《全栈应用开发:精益实践》

 2 years ago
source link: https://www.phodal.com/literature/thinking-in-full-stack/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
A Growth Engineer

这不是一本深入前端、后台、运维、设计、分析等各个领域的书籍。本书以实践的方式,将这一系列的领域及理论知识结合到一起,来帮助读者构建全栈Web 开发的知识体系,并辅以精益及敏捷的思想,来一步步开发Web 应用:从创建一个UI 原型到编写出静态的前端页面;从静态的前端页面到带后台的应用,并部署应用;从Web 后台开发API 到开发移动Web 应用。

在这个过程中,我们还将介绍一些相辅相成的步骤:使用构建系统来加速Web 应用的开发;为应用添加数据分析工具来改进产品;使用分析工具来改善应用的性能;通过自动化部署来加快上线流程;从而帮助读者开发出一个真正可用的全栈 Web 应用。同时,我们也将帮助读者把这些步骤应用到现有的系统上,改进现有系统的开发流程。

第 0 章 绪论:Web 应用开发周期..................................................................................... 1
0.1 Web 应用的生命周期............................................................................................... 2
0.2 遗留系统与新架构................................................................................................... 3
0.3 技术选型与验证...................................................................................................... 4
0.4 搭建构建系统.......................................................................................................... 5
0.5 迭代........................................................................................................................ 6
0.6 Web 应用开发步骤.................................................................................................. 7
0.7 小结........................................................................................................................ 9
第 1 部分 准备阶段
第1 章 基础知识...............................................................................................................12
1.1 搭建开发环境........................................................................................................ 13
1.1.1 基本要素..................................................................................................... 13
1.1.2 常用效率工具及其在不同操作系统下的安装............................................... 14
1.1.3 搭建开发环境............................................................................................. 22
1.1.4 开发工具..................................................................................................... 23
1.2 版本控制............................................................................................................... 27
1.2.1 Git 初入...................................................................................................... 28
1.2.2 Git 工作流................................................................................................... 30
1.3 任务拆分............................................................................................................... 32
1.3.1 一本书的任务拆分...................................................................................... 32
1.3.2 一个功能的任务拆分................................................................................... 33
1.4 小结...................................................................................................................... 35
第 2 章 最小可行化应用....................................................................................................36
2.1 最小可行化产品.................................................................................................... 37
2.2 最小可行化Web 应用............................................................................................ 41
2.2.1 使用Bootstrap 模板..................................................................................... 41
2.2.2 完善原型..................................................................................................... 46
2.2.3 简单上线..................................................................................................... 47
2.3 精益与敏捷软件开发............................................................................................. 52
2.3.1 敏捷软件开发............................................................................................. 52
2.3.2 精益............................................................................................................ 56
2.4 小结...................................................................................................................... 58
第 3 章 技术选型与业务....................................................................................................59
3.1 技术选型............................................................................................................... 61
3.1.1 后端选型..................................................................................................... 63
3.1.2 数据持久化................................................................................................. 67
3.1.3 前端选型:UI 框架..................................................................................... 71
3.2 Django .................................................................................................................. 72
3.2.1 Django 简介............................................................................................... 72
3.2.2 安装Django ................................................................................................ 74
3.2.3 创建项目..................................................................................................... 77
3.3 从真实世界到代码................................................................................................. 83
3.3.1 模型、领域、抽象...................................................................................... 84
3.3.2 前后端分离................................................................................................. 88
3.4 小结...................................................................................................................... 90
第 4 章 构建系统及其工作流............................................................................................92
4.1 构建流.................................................................................................................. 93
4.1.1 搭建开发环境............................................................................................. 96
4.1.2 准备生产环境............................................................................................. 98
4.2 打造后端构建系统................................................................................................100
4.2.1 使用Fabric 搭建构建系统..........................................................................101
4.2.2 软件包管理................................................................................................107
4.3 小结.....................................................................................................................109
第 2 部分 编码到上线
第5 章 编码.....................................................................................................................112
5.1 创建首页应用.......................................................................................................114
5.1.1 生成首页应用............................................................................................115
5.1.2 编写第一个测试.........................................................................................122
5.1.3 使用Selenium 进行功能测试......................................................................124
5.1.4 如何编写测试............................................................................................128
5.2 创建博客应用.......................................................................................................134
5.2.1 创建应用与博客管理..................................................................................134
5.2.2 在页面上显示博客.....................................................................................141
5.3 数据与Web 应用开发...........................................................................................150
5.3.1 管理数据....................................................................................................151
5.3.2 显示数据....................................................................................................151
5.4 小结.....................................................................................................................152
第 6 章 上线.....................................................................................................................155
6.1 手动部署..............................................................................................................156
6.1.1 操作系统与服务器软件..............................................................................157
6.1.2 第一次部署应用.........................................................................................162
6.1.3 配置管理....................................................................................................176
6.2 自动化部署..........................................................................................................178
6.2.1 使用Fabric 自动化部署..............................................................................179
6.2.2 探索更优雅的方案.....................................................................................185
6.3 隔离与运行环境...................................................................................................187
6.4 小结.....................................................................................................................199
第 7 章 数据分析和性能优化..........................................................................................200
7.1 网站监测与分析...................................................................................................203
7.1.1 Google Analytics .........................................................................................203
7.1.2 自建监测和分析服务..................................................................................212
7.2 性能分析及优化...................................................................................................214
7.2.1 前端优化:用PageSpeed 工具分析和优化..................................................215
7.2.2 后台优化:使用应用性能管理工具.............................................................223
7.2.3 使用New Relic 进行优化............................................................................225
7.2.4 缓存初入....................................................................................................230
7.3 小结.....................................................................................................................234
第 8 章 持续集成与持续交付..........................................................................................236
8.1 持续集成与Jenkins...............................................................................................237
8.1.1 工具选择与Pipeline 设计...........................................................................239
8.1.2 Jenkins 搭建持续集成.................................................................................244
8.1.3 使用Jenkinsfile 简化流程...........................................................................252
8.2 持续交付与持续部署初探.....................................................................................255
8.2.1 持续交付....................................................................................................256
8.2.2 持续部署初探............................................................................................260
8.3 小结.....................................................................................................................261
第 9 章 移动Web 与混合应用........................................................................................263
9.1 移动 Web 与单页面应用......................................................................................264
9.1.1 单页面应用入门.........................................................................................266
9.1.2 API 设计与框架选型..................................................................................272
9.2 创建移动应用.......................................................................................................277
9.2.1 使用Ionic 2 创建应用.................................................................................278
9.2.2 更新首页....................................................................................................293
9.3 实现博客应用开发................................................................................................297
9.3.1 创建博客API.............................................................................................297
9.3.2 创建详情页和列表页..................................................................................302
9.4 用户登录与博客创建............................................................................................309
9.4.1 使用JWT 实现登录....................................................................................310
9.4.2 测试和发布应用.........................................................................................323
9.5 小结.....................................................................................................................325
第 3 部分 增量性优化
第10 章 遗留代码与重构................................................................................................328
10.1 遗留系统............................................................................................................330
10.1.1 什么是遗留系统.......................................................................................330
10.1.2 遗留系统改造...........................................................................................334
10.2 易读的代码与重构..............................................................................................336
10.2.1 命名.........................................................................................................337
10.2.2 一次只做一件事.......................................................................................339
10.2.3 减少重复代码...........................................................................................340
10.2.3 排版.........................................................................................................342
10.2.4 重构.........................................................................................................343
10.3 小结...................................................................................................................346
第 11 章 增长与新架构....................................................................................................348
11.1 增长...................................................................................................................350
11.1.1 增长:回顾与改变....................................................................................350
11.1.2 增长:技能学习与构建索引......................................................................354
11.2 设计新架构.........................................................................................................357
11.3 小结...................................................................................................................363
附 录
附录A 如何学习新的技术...............................................................................................366
附录 B 安装Piwik ...........................................................................................................372

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK