立诚勿怠,格物致知
It's all about connecting the dots

最近接了两个私活

刚转行做前端的时候,是在一家外包工作做了一个月的。那时候太忙,天天加班到晚,而且工作节奏很快,基本上白天上班就是一直被催催催,简直亚历山大,因为感觉长期这样不但因为太忙会没办法兼顾自身的可持续学习,也会对健康很不利,就辞职了。

后面第二家公司,也就是现在也一直还在的公司,则相对来说闲很多,除非赶上产品要上线什么的,不然平时几乎是不用加班的。而且正好碰上有两个私活联系我,就做了。

一个私活是采集一个网站里的初高中题库到数据库里,然后在前端进行展示,这个项目主要跟一个打印机有关联。在网页上输入题号来查询数据里保存的对应题目,然后页面上有个打印按钮,点击后服务端会和打印机进行通讯,然后就把题号、题目和对应的答案打印到一张小便签纸上了。这个项目中我们碰到的几个主要难题总结如下:

一、采集数据库的时候,显然英文听力题目在这个项目中是没有意义的,但是题库里光不管是初中英语还是高中英语,题量都是以万为单位的,不可能逐个排查,所以只能是通过诸如“listen to”、“听力”等关键词过滤掉大部分无效英语题,然后就当排查完了,毕竟整个项目才2万,5个人分,一个人四千,不值得花太多精力。所以啊,数据比较重要的公司,会有专门的人负责数据库是有道理的。数据采集是我们一个后端程序员做的,我并不涉及。

二、打印。一开始其他同事想到的方案是前端通过js进行网页截图,然后将图片传给后端,后端再调用打印机的接口进行打印,作为一名前端,一听到这个方案就估计会比较玄,然后找了些资料,确定这个方案不适合用于生产项目。然后,一名JAVA后端程序员就在网上找了些第三方的具有“网页截图功能”的架包进行尝试,最后找了个效果能应付大部分场景(能看)的架包。然而像那些数学题目里的公司之类的内容,就很无力的。那段时间正好公司里的后端项目部分转移到北京去里,我要和北京的同事调项目,又有新需求变更之类的东西,总之就是不怎么抽得出身,就没怎么帮忙了。周末在家的时候用node试了几个npm包,发现一个用phantomjs的包,叫webshot,效果还不错(这个包核心代码就两三个js文件,每个文件都不长,主要还是phantomjs,浏览器源码我可没那功夫看)。但是webshot这个包有个问题——经常会挂掉,然后我就写了两个js文件,一个作为子进程进行批量截图,一个守护子进程,如果子进程挂了就重启子进程,然后从挂掉时截图的题号开始继续往下面截图。效果感人,就是速度慢,截一张图大概要五六秒的时间。

接的第二个私活,费用一万,是目前接过的最高额度了。是一个购物商城的项目,包括一个微信微商城和一个后台管理系统,似乎是一个前端两个后端一起开发的(我不涉及后台管理系统,我只涉及微信微商城的前端部分)。这个项目我做的这块比较中规中矩,就是在项目开发过程中有两个比较实用的认识要分享一下。其一是安全意识,这个项目传给后端的参数都是会进行加密后再进行请求的。其二是javascript在小数加减乘除时可能丢失精度的问题,这点网上有很多代码,就不贴了,主要的思路就是先转换成整数进行运算,再对运算结果按照精度要求进行处理。

赞(1) 打赏
文章名称:《最近接了两个私活》
文章链接:https://www.orzzone.com/take-two-private-projects.html
商业联系:yakima.public@gmail.com

本站大部分文章为原创或编译而来,对于本站版权文章,未经许可不得用于商业目的,非商业性转载请以链接形式标注原文出处。
本站内容仅供个人学习交流,不做为任何投资、建议的参考依据,因此产生的问题需自行承担。

评论 抢沙发

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力提供更多优质内容!

支付宝扫一扫打赏

微信扫一扫打赏

登录

找回密码

注册