美文网首页@IT·互联网程序员
你的开发效率可以更高一些

你的开发效率可以更高一些

作者: BeckJiang | 来源:发表于2018-02-08 02:18 被阅读252次

一、引子

在平时的开发工作中,使用新的技术是件很常见的事情,而在引入新技术时,充满未知,另外它不一定是自己熟悉的语言或环境,所以很可能会耗掉半天时间去解决其中一个问题,比如:搭建可以运行的环境等等。

下面的文字正是我根据个人的实践经验,对工作过程做的总结,或许对你提升学习/开发效率有所帮助。其中是以「使用kong实现API接口签名验证」为例来阐述具体的几个操作。

二、如何实现

1. 看文档

有了初步想法后,看文档是了解新技术的最直接方式。这一步我相信人人都会做,但我要说的是看文档的正确姿势:花时间通读文档

很多时候程序出问题了,花很多时间去查错,究其原因就是基础知识不完整,没有好好地把技术文档读完就仓促的做事。比如我自己犯过最典型就是:对lua rewrite模块与nginx rewrite模块的优先级知识不了解,没看文档上来就修改nginx配置以实现自己的需求,随之出现了另外的问题,最后花费不少时间才完全解决。所以认真读文档,你会省很多很多的时间

2. 结合需求看文档

系统地读过文档后,就可以结合自身需求,对技术的某个模块仔细学习。举个例子:
现在要用kong做网关,并开发kong插件实现API签名验证,那么初步的需求有两个,1.作为网关,具备了哪些能力;2.如何开发插件。需求确定后,就能锁定kong API与插件开发两个章节,有目标的看注意力会比较集中。
随后就仔细看,看的过程可以把自己预计会使用到的配置项摘录到笔记软件中;如果文档是英文文档,还可以对关键的概念或者配置按照自己的理解翻译成中文,记录在笔记软件中。这么做不但自己印象会深刻,而且利于检索。

3. 快速把程序运行起来

对新技术有所了解以后,就要让它在本地运行起来。我觉得在Docker出来之前,这是个很不友好的任务,因为很可能是:你想要装A软件,但发现缺B软件,转头先装B软件的时候又缺C软件......过程简直让人怀疑人生。

Docker
还是以「使用kong实现API接口签名验证」为例,我习惯的做法是先去 The Docker Store 搜一下有没有kong相关的Docker镜像,结果不出所料,而且是官方镜像。

image.png

点进详情页有非常详细的使用步骤,几条命令就能安装所依赖应用程序以及启动我们的kong程序。


image.png
image.png

Github
把kong运行起来后,想到一个问题:不可能每次修改网关的接口都通过命令行API啊,必须要有友好的界面。于是在github上搜kong相关的项目,一眼瞄中这个dashboard。

image.png

打开一看,还提供了Docker的运行方式,简直太好了。


image.png

docker-compose
到这一步已经用Docker和GitHub基本把需要的软件和本地环境的搭建好了,但是还有一个问题,你可能需要把环境共享给其他同事,或者想做到一键启动,减少重复启动的成本(又得启动kong,又要启动dashboard,又要数据库等等)。因此可以考虑使用docker-compose管理多个服务。

小结:掌握Docker的使用,以及利用好GitHub社区的资源,在环境搭建和应用安装上真的事半功倍。(附上男人看了脸红女人看了流泪的Docker教程

4. 快速实现需求

kong环境搭好了,接下来任务是开发验证接口签名的插件。这时候可能会开始考虑这个插件要怎么设计,哪些参数应该提供给外部设置,如何存储用户配置的数据等等让插件更优雅好用的问题。这些问题往往需要很多时间思考,所以如果你想要的是快速实现,那么我建议怎么方便怎么来(用配置文件存储自定义配置信息等),优先把核心的验证逻辑做好,剩下的「有了会更好」的功能用迭代的方式去完善

5. 看源码

实现了插件以后,接着就需要把插件安装到kong网关上,然后给接口装配上这个插件并进行测试。在这个过程中遇到了一个问题(也可能是我文档理解不对),怎么都无法把插件安装到kong网关上,配置文件改来改去都没成功。最后把kong对应版本的源码下载下来,找到配置加载的代码,注释非常详细,最后找到正确的配置地方解决了问题。

这里想说的就是不要害怕看源码,写得好的程序,本身就是很好的文档,比乱蒙效率高的多,而且还可以锻炼看开源项目的能力。

image.png

三、总结

kong的这个例子算是比较简单顺利的,实际的情况需要具体问题具体应对。但关于如何快速学习新技术/工具,我想下面几点是通用:

  1. 至少通读一遍文档;
  2. 用好Docker和GitHub;
  3. 不要蒙,看源码;

希望对你有所帮助,也欢迎交流指正:)。

相关文章

  • 你的开发效率可以更高一些

    一、引子 在平时的开发工作中,使用新的技术是件很常见的事情,而在引入新技术时,充满未知,另外它不一定是自己熟悉的语...

  • Xcode方便开发的插件推荐

    Xcode的插件可以使我们开发更方便,效率更高。你没有理由拒绝哈哈,下面推荐一些插件: Alcatrazhttps...

  • Xcode方便开发的插件推荐(转载)

    Xcode的插件可以使我们开发更方便,效率更高。你没有理由拒绝哈哈,下面推荐一些插件: Alcatraz http...

  • Xcode方便开发的插件推荐

    Xcode的插件可以使我们开发更方便,效率更高。你没有理由拒绝哈哈,下面推荐一些插件: Alcatraz http...

  • 前端工具

    在这里更新一些有关前端开发的工具,让你的效率更高! 图片处理类 马克鳗(MarkMan) 可以很方便的为设计稿添加...

  • web 前端开发规范

    web 前端开发规范 web 前端开发规范的意义 提高团队的协作能力 提高代码的复用利用率 可以写出质量更高,效率...

  • 工作效率可以更高

    工作效率可以更高

  • 提高IOS开发效率的工具

    转自这里 ios开发中又很多可以提高开发效率的工具,这篇文章整理我使用提高效率的工具,如果你也有一些好的工具,可以...

  • 提高iOS开发效率的工具

    iOS开发中又很多可以提高开发效率的工具,这篇文章整理我使用提高效率的工具,如果你也有一些好的工具,可以向我推荐一...

  • 巴夏:你的效率可以更高!

    巴夏:你的效率可以更高! 巴夏: Then you don't understand how excitement...

网友评论

    本文标题:你的开发效率可以更高一些

    本文链接:https://www.haomeiwen.com/subject/vszazxtx.html