软件开发工具的成长速度远远超过开发人员的成长速度,这是现实。
每个月,甚至每天,我们都可以见到新的类库、框架、工具、语言。它们或者极大地降低了开发的成本,或者极大地提升了开发的效率。
随之而来的问题就是,如何让开发人员妥善地运用好这些工具?

曾经有好几个做开发的同事跟我说:“写软件谁不会?从网上找些开源的类和项目来改改就是了”。目前也确实充斥着这种“改改就是”的工作思维。介绍某个类库和项目如何安装和调用的文章俯拾皆是。

但是每种工具究竟有什么优缺点?适合用来解决什么问题?需要以怎样的方式来解决问题?因此还需要做怎样的权衡?这样的问题基本没有人考虑,但是,它们又很重要。

这有点像练武。斧钺钩叉、刀枪剑戟,制造手艺日渐精良;可是习武的人心里没有分寸,该劈的时候提了枪,该刺的时候抡了斧…… 耍几下花把式还算足够,真正打起来哪能取胜?

我在面试新人中经常提的问题是:NoSQL分为哪几种类型?每种类型的典型代表和应用场景是什么?要知道,用过MongoDB和Redis的人比比皆是,但回答不上这几个问题的也大有人在。这样的候选人,我是决计不敢要的。稍加不注意,他们就可能用Redis存文档,用MongoDB做复杂运算,甚至“大胆”用Redis来替换数据库以解决性能瓶颈——噢,你说起“事务”,Redis也是有“事务”的呀。

对这样的人,你真让他们去研究MongoDB或者Redis,让他们去通读一本专著,似乎有点划不来,他们自己也没有那么多耐心。所以我常想,有没有一本“薄而广”的书,专注于开拓大家的眼界,并教导大家用“正确的方式”来使用各种已有的工具。如今我们虽然有海量的框架和类库,有突飞猛进的云服务,但是只要没有掌握“正确的应用方式”,就无法保证“把事情做对”,就只能开发出某几个方面明显不及格的产品。

所以当我看到曾健生编著的《App后台开发运维和架构实践》时,不由得眼前一亮。这正是一本“薄而广”的书,它绝不像《打狗棍法》或者《辟邪剑法》,不负责地教你把某门特别的武功练到极致,而更像《十八般兵器入门》,告诉你刀枪剑戟各适合什么场景,使用时有什么注意事项。典型的例子如关于Redis的部分,它讲的不是Redis如何安装,如何调用,而是结合发送短信、社交关系计算等典型应用场景讲解Redis的使用方式,并介绍在Redis提供内建集群之前,市面上的各种集群的方案和优劣。这样虽然只有一章的篇幅,但为普通开发人员提供的价值绝对要比两三本Redis专著都要大,而且读起来更有效率。

古代练武的人,未必人人都要做武林高手,许多人只是把十八般兵器都耍熟,就已经足够防贼、保平安,受益匪浅了。同样的道理,对今天的App后台开发人员来说,把基本的点都踩到、踩准,把系统拎到及格线以上,避免明显的缺憾,对大多数场景来说,已经是意义重大了。

余晟–软件开发老兵,微信公众号“余晟以为”

《App后台开发运维和架构实践》推荐序相关推荐

  1. App后台开发运维和架构实践学习总结(12)——基于token的多平台身份认证架构设计

    分享一个大神的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到人工智能的队伍中来!点击浏览教程 一.概述 在存在账号体系的信息系统中,对身份的鉴定是非常重要的事情.随着移动互联网时 ...

  2. App后台开发运维和架构实践学习总结(8)——后台产品设计的4个原则

    什么是后台产品 后台产品也被我们称为后台管理系统.内部管理系统.简单而言,是给企业员工开发的办公性质产品,同时也是对用户使用的App,Web等产品的一个伴生产品. 我们还可以将后台产品按照使用对象分成 ...

  3. App后台开发运维和架构实践学习总结(5)——App产品从需求到研发到开发到上线到产品迭代全过程

    前言 如果没有做过开发,研发过产品的人,很难体会做产品的艰难,刚进公司的人,一般充当的是程序开发,我这里说的是开发,它与研发是有区别的.一个需求下来,如果不能很好地理解产品需求,如果不能很好的驾驭需求 ...

  4. App后台开发运维和架构实践学习总结(13)——OAuth 2.0 概述流程理解

    一.应用场景 为了理解OAuth的适用场合,让我举一个假设的例子.有一个"云冲印"的网站,可以将用户储存在Google的照片,冲印出来.用户为了使用该服务,必须让"云冲印 ...

  5. App后台开发运维和架构实践学习总结(10)——基于Java-JWT前后端token认证实战使用详解

    一.什么是JWT?了解JWT,认知JWT 首先jwt其实是三个英语单词JSON Web Token的缩写.通过全名你可能就有一个基本的认知了.token一般都是用来认证的,比如我们系统中常用的用户登录 ...

  6. App后台开发运维和架构实践学习总结(6)——App客户端与后台交互方式总结

    1.HTTP简单基本认证方式 这个是早期交互用得比较多的一种方式,主要是使用用户名和密码来交互,由于在每次的交互中,用户名和密码都会暴露给第三方,那么这么做是不可取的,风险十分大,所以这种认证方式并没 ...

  7. App后台开发运维和架构实践学习总结(2)——RESTful API设计技巧

    前言 移动互联网时代,RESTful API成为越来越重要的移动端和服务器端交互的形式.尤其是在很多互联网公司或者传统行业拥抱移动互联网的时候,一套设计良好的Restful API能够帮助互联网产品支 ...

  8. App后台开发运维和架构实践学习总结(9)——三种常见的API设计错误及解决方案

    作为表单工具Typeform的API领头人,Jason Harmon恰好也与JSON schema同名了,他最近就"哪些因素破坏了生产环境"这个问题在APIdays会议上做了非常积 ...

  9. App后台开发运维和架构实践学习总结(4)——APP的注册和登录功能设计

    一.为什么需要注册和登录? 是否需要注册和登录的关键取决于产品形态. 如果用户注册登录对于用户需求.产品功能.商业模式本身带不来任何价值的话,就没必要设计这样的功能.比如一些实用工具类的产品:计算器. ...

  10. App后台开发运维和架构实践学习总结(3)——RestFul架构下API接口设计注意点

    1. 争取相容性和统一性 这里就要求让API设计得是可预测的.按照这种方式写出所有接口和接口所需要的参数.现在就要确保命名是一致的,接口所需的参数顺序也是一致的.你现在应该有products,orde ...

最新文章

  1. 采购计算机的,如何采购计算机
  2. 淘宝内部大量使用的开源系统监控工具
  3. 九十八、轻松搞定Python中的Markdown系列
  4. python 线性回归 优化_python – 线性回归实现总是比sklearn更糟糕
  5. UNIX(多线程):27---多线程并发之原子操作与无锁编程
  6. 基于django和vue的xdh官网设计
  7. 多线程下HttpContext.Current 的问题
  8. 算法、数据结构和设计模式
  9. 《MonkeyRunner原理剖析》第九章-MonkeyImage实现原理 - 第七节 - 文件图片及子图处理类BufferedImageChimpImage...
  10. 无法加入域--隶属于域、工作组选项为灰色
  11. JZOJ【NOI2017模拟3.30】原谅
  12. 【转载】Windows 7下使用bcdedit删除多余启动项的命令
  13. 俞敏洪老师谈英语单词记忆方法——转
  14. 小程序--广州旅游推荐
  15. 第二篇:Haploview做单倍型教程2--分析教程
  16. 局域网大附件上传,支持断点续传
  17. css图像描边,纯CSS实现帅气的SVG路径描边动画效果
  18. C++中的库文件导入与导出
  19. 大数据分析技术的发展趋势
  20. python爬取分析超级大乐透开奖数据

热门文章

  1. 计算机语言栏不能添加,电脑电脑输入法添加不了怎么办
  2. 高等数学(第七版)同济大学 习题4-2(后半部分) 个人解答
  3. 冒险岛进去计算机丢失,找不到队伍怎么办?《冒险岛2》打杂攻略
  4. unity实现打飞碟游戏
  5. IE主页简单篡改修复
  6. nvme linux读写测试工具,不同硬件平台(intel/AMD)和不同OS/FS/测试工具下NVMe SSD性能简测...
  7. Fedora9 的 初体验
  8. Java自动化测试系列[v1.0.1][ZTestReport测试报告]
  9. 今天微软开放了WPF的参考源代码(081026更新)
  10. Curve fitting C: Non-linear Iterative Curve Fitting中文翻译