前言最近十天公司接了个新需求-“开发一个基于微信小程序的记账工具产品”。秉着对新技术的热爱,猿哥开始了一边学习一边开发的探索之旅。第1条经验涉及到金额计算的地方一定要小 ...
前言
最近十天公司接了个新需求-“开发一个基于微信小程序的记账工具产品”。秉着对新技术的热爱,猿哥开始了一边学习一边开发的探索之旅。
第1条经验
涉及到金额计算的地方一定要小心,MySQL数据库的对应字段应该设置为bigint类型,保存的单位为分(0.01元)。
小程序需要申请一个ssl安全证书,推荐大家使用https://letsencrypt.org/的免费证书,然后进入https://certbot.eff.org/,选择https://certbot.eff.org/#centos6-nginx证书类型,并按照文档在本机生成证书,证书有效期是三个月,但是可以使用crontab任务去更新证书。certbot的官方文档描述截图如下:
( 英语弱的莫怪猿哥,自己下载个有道词典 )这样,你就拥有自己的免费https证书了,此证书可以在本地开发时使用或者也可以设置微信开发者工具免校验https证书。
第3条经验
使用vagrant部署你的开发环境,第一步使用https://lnmp.org/下载lnmp1.3正式版的一件安装包,并在本地部署完成开发环境,然后使用安装包里面的addons.sh安装对应的redis等中间件和php扩展,这里猿哥选择的是PHP5.6,MySQL5.6等较为稳定的版本快速部署。后期猿哥打算完全接入Docker进行快速移植。
接口文档编写,猿哥使用了方便快捷的https://team.oschina.net的多版本文档管理工具,特别适合管理项目的数据接口文档。
记录每一个进入异常流的请求参数和响应结果到日志中,便于分析问题。
尽量多使用composer来管理你的依赖库,curl请求猿哥直接去https://packagist.org/搜索了一个star和下载目前最高的一个,截图如下:
前端传过来的昵称和备注信息一定要经过严格的正则表达式过滤,放置出现XSS等攻击,另外emoji字体表情库应该使用base64_encode编码,拿信息的时候base64_decode解码即可。
为了快速定位出每一个异常分支,我们应该在每一个action里面定义一个错误码,称作code,然后定义一个status参数,其中code在一个action里面必须有序出现并且只能出现一次,另一个参数status猿哥一般使用“{$moduleId}_{$controllerId}_{$actionId}_{$code}”来唯一表示本次异常流分支。
创业公司不要通过口述的方式来记录需求,谨防前后变动不一众口难调。高级程序员应该学会合理拒绝开发需求,而不是一股脑地“ 需求来了,我就收下,因为我厚道 ”。聪明的程序员应该学会保护自己,看到某些明显不够清晰合理的需求一定要通过书面的形式(例如电子邮件)反复询问清楚后再做,一定要尽量在开发前想清楚。请一定要记住并不是“人人都是产品经理”,你不能完全相信产品汪,他(她)有时候兼职就是推卸责任的辣鸡!!!
答应别人的事情应该尽量提前一点完成,要么不答应,要么提前一点完成就可以给自己留一点时间思考一下可能做得不够周到的地方,逐步完善,工匠精神,提高自己的技术水平。
小广告:
微信小程序搜索“ i爱记账 ”即可体验我们的产品,第一版的功能比较简单,不过我们后期会把程序做得越来越完善,谢谢支持。