【个人总结】结束,亦是新的开始——总结一下这两个月来开发小程序的心得

前言

小程序开发大赛在今天晚上九点截止提交,跟女朋友也顺利提交了最后的版本,提交成功的那一刻,感觉终于轻松很多了。
在3月31日跟女朋友一起开始做小程序,我负责后端开发,女朋友负责前端开发。在这两个月中,熬了挺多夜,也在技术方面跟她有过争吵。不过很庆幸,我们还是熬过来了。


表扬一下女朋友

重点表扬一下女朋友,她从零开始自学小程序的开发,当看到她设计出一个仿B站的小程序时,很是欣慰。尤其是她在实现小程序开发时,有一个功能是这样的:用户通过分享页面给好友,好友点击进去后完成绑定(绑定好友看似简单,不过考虑的情况很多,感兴趣的朋友可以自己先思考一下);

她在实现这个功能时,考虑的条件比我还多,比如:用户分享后点击自己的页面、用户绑定好友后点击自己分享的页面、用户绑定好友后第三个人点击分享的页面、好友重复点击用户分享的页面等等等等,基本上把所有可能的情况都考虑了,真的很不错啊,我当初在实现这个功能的时候,考虑的情况还没女朋友那么多,女朋友进步真的很大!!!


目前做过最认真的项目

这一次的项目,是我们目前做过最认真的,包括小程序logo的设计、接口的设计、技术文档的编写、各种边界条件的考虑以及接口安全的考虑,不得不说,也是学了不少东西。

凡事三思而后行

做开发亦需要三思而后行,我们在接手一个项目的时候,很难一下子把项目实现出来。因此我们需要不断思考,比如思考这个项目需要用到什么开发环境、需要设计哪些API接口,考虑哪些特殊情况、如何设计合理的数据库等等等等。在我看来,考虑得越周全,在遇到问题时就不至于手忙脚乱,耽误了进度。
其实就好比去旅行,旅行之前我们需要考虑天气情况、住宿问题、路程问题、饮食问题、费用问题等等。如果忘记考虑天气情况,那么旅行时突然下雨就会不知所措,或许你的计划都被下雨给打乱了。
因此,凡事三思而后行,切勿草率行事。

版本管理很重要

这一次的开发,我真的体会到版本管理的重要性!在设计API时,每完成一个功能就提交一个版本,并作说明,这真的很重要!
我们开发时不可能一直很顺利(至少我不是),可能在增加功能B就突然出现了一直解决不了的问题,我们想回到之前功能A的版本。这时候若是没有版本管理,我们可能会一直ctrl + z,不断撤销之前的操作,结果发现由于自己改了太多,无法完全回退到之前的正常版本,这是真的尴尬!
若是对版本进行了备份就还好,比如使用git对版本进行存储到本地,通过git reset 回滚到之前的版本,就不会出现一直ctrl + z还回不去的情况。

功能挺重要,但是安全更重要

由于我提供的是开放的API接口,若是上线过程中不小心被用户恶意抓包,篡改数据,对我们来说是比较危险的,即使我们是一个小项目,但是我觉得防人之心不可无,毕竟林子大了什么鸟都有。
在考虑安全方面,我们最终借助了小程序自带的wx.login作为安全的一部分。开发过小程序的人就会知道wx.login会返回一个code,这个code用于获取用户openid以及session_key,而且这个code只能用一次,重复使用会失效。
因此,我们开始利用这个code作为API参数的一部分,即在每个API中都必须提供一个code,且这个code必须成功返回用户openid才能进行数据操作,否则请求失败。
在这里插入图片描述
在这里插入图片描述
这样一来就可以防止重复提交数据,其次只有 code 能够成功获取 openid 才允许执行其它操作,而 code 必须与 APPID、APPSECRET 三者同时匹配才能获取openid,这样一来,即使是伪造的 code,也不能够直接调用 API 进行数据篡改。
另外,如果被恶意用户拦截code,篡改数据之后再次请求,那么服务器会成功验证code,并执行相应的操作。
为了避免这种现象,我们对所有数据进行对称加密。一旦被恶意用户拦截,也不知道密钥,即使篡改数据,这些数据在服务端进行解密之后,也不会是他想要的数据,而且服务端返回的是加密后的数据,即使被抓包,也不知道其实际含义。这样一来,在code验证以及对称加密所有数据的情况下,可以尽可能提高安全系数,减少被恶意用户篡改数据以及泄露数据的风险。
在这里插入图片描述


总结

总的来说,经过两个月的开发,小程序开发也终于是暂时告一段落了,至于拿不拿奖,对我们来说已经无所谓了。
不过五月份的结束也是一个新的开始,我们总不能因此而停下脚步,对我们来说,前方仍然有很多未知的挑战,我们需要做的就是不断迎接挑战,不断学习,让自己不断走向成功!

发布了57 篇原创文章 · 获赞 282 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/weixin_41463193/article/details/90724747