记一次小程序之旅

感受已经很久没写程序了,最近这段时间,一方面是学习了python,而后折腾了scrapy框架,用python写了下守护进程程序监放任务以及用redis作队列任务通讯,并开进程来处理爬虫任务。以上这些其实没啥好说的,就是顺带提一下。另外就是最近编写segmentfault的讲堂小程序,算起来,自小程序开始编写到如今算是正式的上线,大大小小的也除了些问题,所幸都能及时发现并解决。前端

整套小程序开发过程当中大概涉及到了几方面的内容:python

  • 后端基础业务逻辑服务部分;
  • 小程序用户与segmentfault本来用户同步部分,也就是用户绑定模块;
  • 定时任务处理小程序太阳码;
  • 小程序界面布局踩坑;
  • 小程序接口使用踩坑;
  • 小程序自己的各类配置踩坑;

后端基础业务逻辑部分基本上不用作多说,同步自己讲堂的程序基本就能够了,主要就是在用户模块,这一块一方面主要涉及到微信登陆判断是否曾经绑定过微信,另外就是判断是不是新用户。用户绑定的逻辑主要复杂在既须要考虑微信自己的接口在不一样状况下提供的数据不一样,另一方面就是考虑自己用户模块的业务逻辑问题。固然还有新用户注册解决用户名重复等细节问题,大大小小的问题加起来在这个看似的简单功能上面解决了好几回bug。android

针对每一节课以及每一节系列课程生成小程序太阳码主要涉及到几个细节问题。首先小程序自己没有提供一个用来生成太阳码的测试接口,必需要小程序上线才行,因此这一步的开发很不方便,虽然是按照文档一步一步的进行编写,并且也看似没问题,可是其实内心是一点底都没有的,若是生成的太阳码访问不了,特别是若是携带的参数不对,压根就不知道到底错在哪里,而若是要用小程序调试模式看参数有何问题,那么须要从新提交小程序审核上线,一耽搁可能又是一天两天时间,至关不方便。redis

另外就是太阳码生成的话这里其实有一个并发的问题,我本来的考虑是若是当前讲座没有太阳码那就即刻生成,若是有则直接返回太阳码。看似毫无任何问题,仍是老大 @joyqi 问了我一句:“若是一次性访问这个页面有多我的咋办?”,当时的那种感受就是,彷佛忽然脑壳里一道光一闪,卧槽,这种操做怎么没想过?特别是图片生成自己就会消耗必定的时间,若是在这个地方有多个用户同时操做一定会浪费大量的资源,内存,CPU,以及磁盘存储,云服务存储等。最后固然就是乖乖的改为了定时任务处理了(固然也考虑过队列任务处理,此处不作多说了)。小程序

说到小程序自己,那就是切记要看清楚小程序开发文档后面的Bug & Tips,并且特么的这一部分千万要反复看,看了第一遍一般以为懂了,可是仍是会出bug,而后就是小程序开发工具所表现出来的东西与真机表现出来的效果可能彻底不同,另外真机表现效果在android和iOS所表现出来的结果依旧可能会彻底不同。而后对于自己小程序所用的JavaScript语言自己,在使用一些咱们一般在浏览器中使用的原生函数或原生对象或原生方法的时候,也必需要注意可能小程序不支持形成小程序报错并中止运行,且小程序也在不断的升级版本,会加入或淘汰一部分其余内容。segmentfault

经历了此次小程序开发后,要说感悟的话,估计就是对segmentfault自己的业务逻辑是更熟悉了,另外最大的感触就是感受作小程序既不像是作前端,也不像是在写APP,这种感受...无话可说。后端

最后很是感谢公司各位伙伴给予的支持和帮助。浏览器

clipboard.png

相关文章
相关标签/搜索