我个人觉得,一个人想要成长,自我反思是必不可少的事情。说句实话,做了这么长时间的开发了,做过很多坑别人的事情,也被别人坑过不少,总结一句话来讲,“思考不足”
。
怎么来理解这四个字呢?用一个简单的小事情举个例子吧。
假如自己写了一个测试功能的代码文件,后来感觉用不上了,就手欠,把这个文件删了;可以有一天,这个测试代码有到了需要的时候,但是当初被自己删了,导致自己还要重新写一遍。对于我这样基本上记不住代码的人来说,还会花一些时间去百度函数,花了很多不必要的时间,来做无用功的事情。
刚来公司的时候,老大给我分配了任务,就是使用Nodejs
搭建微信公众平台,虽然在此之前也搞了很长时间的微信公众平台,但是这次和之前后很大不同:
- 开发语言:之前都是使用
PHP
,但是给的源码是Nodejs
- 实现功能:之前基本上都是软件上的操作,这次是微信 + 硬件,和嵌入式工程师合作
大致花了2-3个月的时间吧,终于把demo搞定,并且实现微信H5页面能够扫描设备的功能。这算是一个里程碑吧。
其实做过微信开发的,基本上都会知道一个名词——access_token,可以说这是调用其他所有微信接口的重要凭证。而且有效时间是7200秒(2小时),当时感觉access_token属于一个核心的参数,需要放在Nodejs这台服务器上面才行(普通接口和Nodejs在两台服务器上面部署着)。然后app在进行设备授权的时候,使用Nodejs写一个接口,不但能够调用微信API,还能较容易的控制access_token。当时感觉这样的设计还不错,但是我却无形之中给自己埋了一个坑:对Nodejs仅仅算是半入门的阶段。
时间大概过了4-5个月,当时设计的demo终于派上用场了,之前还在埋怨英雄无用武之地,辛苦写的demo迟迟没上线。
时间追溯到昨天(2016/08/03),本以为一切看似顺利的事情,突然卡住了:app客户端数据是经过gzip压缩过的,传上云端需要进行gzip解压才行。不得已,只能赶快查资料“Nodejs解压gzip数据”。结果很遗憾,没找到合适的解决方案,因为毕竟对于Nodejs并不熟悉。
这时候摆在我面前的有两条路:
- 继续查Nodejs资料
- 重新设计接口
这次我并没有像之前一样,而是耐心从多个方面进行思考:技术可行性
和时间成本
- 对于第一条,技术完全不熟悉,时间更是很难估计
- 对于第二条,把授权接口和普通接口合并在一起,符合设计常规,PHP也是很熟的语言。
于是,我便重新设计接口,设计方法:
- access_token依然放在Nodejs那台服务器,作为核心的参数
- 使用Nodejs写一个接口,给云端使用,用来读取access_token
- Nodejs还要写一个rebuilt接口,当access_token过期的时候,重新生成
写完所有的接口,包括简单的测试,大致花了半天多的时间,这也算是对之前的坑的填补,这边blog也算是对自己的一个警示,和对“每天一篇Blog”打卡任务替代吧,因为今天实在是没什么写的了。
记录下当前的时间:2016/08/03 21 : 54