这里有一本书,差一个你的书名 | Growth书名征集

尽管Growth已经有了两本大受欢迎的电子书——即《全栈增长工程师指南》、《全栈增长工程师实战》。过去,就在思考有没有理由必要再出一本纸质书籍。尽管我们已经有了可以随身携带的APP、在线阅读的电子书,以及一份好的实战指南,但是我们还可以做得更好,顺带学点东西。

让我坚定点写这本书的理由有两个:

  • 毕业实习的时候,想写一本电子书来分享实习时学到的知识。遗憾的是,它只在我的博客里开了个头——很多东西,我只懂了个皮毛。于是这本书会完成这个心愿,如果你也在实习&刚入,那么他可能相当的适合你。所以这本书也有一个可以考虑的名字:实习记。

  • 有一天,我也要写一本故事书,又或者说小说。那么,先从写一本1/4故事的书走起。

在《自己动手设计物联网》一书中,我尽可能地去按认知设计的想法来写这本书。在这本新书里,我希望以提问和Coach的方式来完成大部分的内容,尽可能地读者可以学到如何渔的技巧。只是这些都是原型上的想法,和想出做出来的产品是有差距的。

作为一个故事引导的技术书籍,我正在尝试将提问和引导技巧引入其中。

第零章 基础知识

在这一章中我们将带领用户搭建好基本的开发环境。在不同的操作系统上,如Windows、Mac OS、Linux,上搭建开发环境。以及IDE和Editor的一些偏好,并引入版本管理和Git等知识。

  • 操作系统环境搭建

    • Windows

    • GNU/Linux

    • Mac OS

  • IDE与Editor选择

    • PyCharm

    • Visual Studio

  • 版本管理

    • Git初入

    • Git工作流

第一部分 Prepare

在这一部分里,我们会将主要精力集中于“项目开始前”的一些准备工作,如搭建基础的构建系统、从业务角度对技术进行选型等等。同时,我们还会将关注于一些特别有意思的东西,如Web应用的生命周期、对于不同业务的技术栈考虑等等。

第一章 Web应用的生命周期

作为这本书的开头,我们将从《RePractise:Web开发的七天里》中讲述的Web生命周期开发说起。一个Web应用在其生命周期里,都要经历搭建开发环境、创建构建系统、编写代码、进行数据分析等等,直至最后使用新的系统来替换这个遗留系统。这也将扩充到学习的周期,以及本书章节的循环周期。

  • Web开发的七天里

  • 应用的生命周期

  • 迭代与生命周期

第二章 基础模型及抽象世界

在这一章中,我们会以一个简单的Demo介绍Web应用的模型。然后这个模型将与真实的世界进行类比,并介绍如何简化真实世界的模型,并对其进行建模。依据模型上的一些区别,我们还将引入前后端的概念。

  • MVP – 最小可行化产品

  • 真实世界的业务模型

  • Web应用基础模型

  • 前后端模型

第三章 构建系统

构建系统作为独立的一章,可能会让很多人感到惊讶。构建系统作为解放生产力的一大主角,只作一章可能还是有点少。在本章中,我们将搭建本书的基础构建系统,并详细介绍每一个子模块的功能,以及这样做的重要性。

  • 工作流及构建流

  • 构建系统组成

    • 构建工具

    • 构建流程

    • 构建子工具

  • 打造前端构建系统

  • 打造后端构建系统

第四章 业务到技术

开始开发之前,我们总得唠叨两句业务的重要性,以及业务和技术的关系。在这一章里,我们还将依赖于我们的业务来对技术技术选型。从业务价值与技术价值的坐标中,选择出更符合我们当前业务的技术栈。并介绍一些可以弱化的业务代码的技术和设计。

  • 业务导向与技术导向

  • 技术选型

    • 前端技术选型

    • 后端技术选型

  • 领域与设计

第二部分 Continuous

这一部分的内容,都是我们可以持续做得更好的实践,我们也应该花费更多的时间去练习。

第五章 Coding

在这一章我们将开发实现几个业务功能,并在这一章中介绍Tasking和分析的重要性。在完成编码前或之后,编写测试有什么区别。以及测试和重构将如何改善我们的代码质量。

  • Tasking与小步前进

  • 测试

    • 单元测试

    • 功能测试

  • 测试驱动开发

  • 代码重构

第六章 第一次上线

MVP,即最简可行产品,不仅仅局限于产品的过程,还应该表现在开发的过程。在我们完成了核心的基本功能之后,我们就需要考虑好上线的事情。上线应用时,我们需要学会如何手动部署。本章将介绍LNMP架构,以及如何进行部署。并将介绍如何使我们的系统是可配置的,以及如何自动化部署应用。

  • 部署工作流

  • 可配置管理

  • 手动化部署

    • LNMP

    • SSH

  • 自动化部署

第七章 数据分析和体验优化

本章中,我们将先用Google Analytics为我们的应用添加数据分析服务。介绍如何用Google Analytics来分析网站数据、用户行为等等的数据,并将介绍开源分析平台Piwik,为不能使用Google Analytics服务的用户提供一个解决方案。还将引入性能分析框架,如OneAPM或者New Relic来分析应用中的瓶颈,来帮助开发者优化程序,并介绍一些常见的缓存策略来加速应用。最后我们也将介绍如何优化用户的体验。

  • 数据分析

    • Google Analytics

    • Piwik

  • 性能分析

  • 优化

    • 页面缓存

    • 数据缓存

第八章 持续交付

本章中,我们将引入持续集成工具Jenkins, 并用该工具来完善项目的持续集成。同时,我们还将介绍与持续集成相关的工作流,并将开发更多的功能实践这些工作流来做好软件工程实践。最后,我们还将使用这个工具来进行持续部署工作流的引入。

  • 持续交付工作流

  • 持续交付工具

  • 添加更多功能

  • 持续部署初探

第九章 遗留代码与重构

本章,我们将引入遗留代码的概念,并介绍遗留代码及遗留系统是如何一步步形成的。以及在同时的工作过程中,我们是如何引入技术债的概念来保持对系统的警惕。最后,我们将介绍重构,并使用重构来改善软件的质量。 

  • 遗留代码

  • 遗留系统

  • 技术债管理

  • 代码重构

第三部分 RePractise

第十章 回顾与反馈

 这一章中,我们将介绍敏捷回顾的概念,并介绍这样的反馈系统将如何改善团队交付的软件质量。同时,我们还将回顾前面的章节,对其中做得好的和不好的地方进行总结。最后,我们还应该针对于我们的反馈,做一些相对的Action,并改善。

  • 反馈机制与反馈系统

  • 敏捷回顾

  • Web架构回顾

第十一章 技术革新

在这一章时,我们前介绍前端和后台在Web开发过程中的演进史。在这些演进史里,我们可以很容易看到新的架构都针对于旧有的架构的一些改进,才使得新的系统更加完善,可靠。

  • 前端演进史

  • 后台演进史

第十二章 架构设计

最后一章里,我们将对前面对的架构依据需求做一些改进,并设计出新的架构。同时简单介绍如何设计新的架构,以及如何应对变化来改进架构,即演进式架构。

  • 回顾

  • 设计新架构

  • 演进式设计

好了,现在你有什么好的建议吗?一经选中,即有机会获得本书签名版~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

这里有一本书,差一个你的书名 | Growth书名征集》来自互联网,仅为收藏学习,如侵权请联系删除。本文URL:http://www.hashtobe.com/3928.html