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

一、引子

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

下面的文字正是我根据个人的实践经验,对工作过程做的总结,或许对你提升学习/开发效率有所帮助。其中是以「使用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. 不要蒙,看源码;

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,064评论 5 466
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,606评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,011评论 0 328
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,550评论 1 269
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,465评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 47,919评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,428评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,075评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,208评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,185评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,191评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,914评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,482评论 3 302
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,585评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,825评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,194评论 2 344
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,703评论 2 339