摘要:
装饰者 装饰者是一个用来改变函数行为的包装器,它可以在不更改函数原有代码的前提下,为函数增加其他功能。一个简单的例子是计算函数的执行时间: function add(a, b) { return a + b; } function calculateTimeDecorator(fn) { retur 阅读全文
摘要:
日常业务开发,会频繁请求接口,非常耽误功夫。一个简单的方法是把数据缓存起来,然而我并不想每次提交前还要关心缓存数据是否被移除。 所以,要实现: 将数据复制到项目文件夹中,名字就叫 apiMock.js,不限文件个数和位置; 无侵入、不影响打包; 项目环境(重要) vue-cli3、webapck4 阅读全文
摘要:
对于 PC 端的 VUE 项目来讲,刷新页面导致数据消失是一个绕不开的坑。好在 vuex-persistedstate插件能够解决这个问题。 vuex-persistedstate 它的原理是: 每次 mutation 都将整个 store 保存到本地(localStorage/sessionSto 阅读全文
摘要:
大概在去年的这个时候,V8 团队发布了一篇博文 "Faster async functions and promises" ,向我们介绍了他们是如何提升 await 的执行速度,值得一看,这里还有 "中文版" 。没有这个前提,看我的这篇文章可能就没啥意义了。 博文中提到了在不同 Node 版本中,a 阅读全文
摘要:
javascript 异步编程从来都是一个难题,最开始我们用 callback,但随之触发了回调地狱,于是“发明” Promise 解决 callback 嵌套过深的问题。然而由于滥用 Promise(一连串的 then),代码变得不易阅读了。此时,async-await 横空出世,它让我们可以用同 阅读全文
摘要:
input 框输入后发送异步请求,页面拿到响应进行渲染。但偶尔会遇到问题:响应内容和输入结果不一致。因为 http 无法保证响应到达的顺序。 如何解决呢?提供一个小思路。 myRequest.js 我们使用 requestId 标识请求的次数,并将其封装到 myRequest 函数对象内。处理响应时 阅读全文
摘要:
在做这个项目的期间,看到一篇很有启发性的文章 "《程序员你为什么这么累》" 。对于初级程序员来说,拿到需求,第一反应是用什么技术来尽快的完成任务,这本身并没有问题。但长此以往,不仅被需求的更改搞得疲惫不堪,更被重复的工作消磨了激情。如果你也有类似的烦恼,不妨看看此文,结合日常工作,体会下文中提到的 阅读全文
摘要:
"上篇中" ,我们开发并部署上线了一个 spring boot 项目。现在需要编写服务重启脚本,保证服务器重启后能够自动的运行我们的项目。 /home/web/sprint web/restart happy dog.sh 保存并退出,执行 然后,编辑 文件,将我们的脚本放进去,这样,服务器重启后会 阅读全文
摘要:
我们组有一个优良传统——借鉴于“冰桶挑战赛”的形式,采取点名的方式,促进团队成员每天利用一小段时间,不断的完善团队 wiki 的小游戏。 但有时候忙于业务,可能会忘记,所以我写了一个小应用,提示大家【记得写 wiki 啦】。 项目使用的环境和技术选型如下: 服务器环境:centos, java 7 阅读全文
摘要:
背景 我司前端项目框架主要是 vue,多个项目聚集在同一个仓库下,共用公共组件、页面、工具函数等。基于以上前提,我们需要对不同的项目分别进行打包,并解决单页应用强制刷新引起的问题,所以没有使用 vue cli 来创建,而是使用 webpack 重新编写了一套打包流程。 随着代码量的增长(百万行级), 阅读全文