2019年3月

前端与数据归一化

其实无论前端还是后端,在非常多场景下你都会遇到类似于这样的一个实现:
15536054800140.jpg

假定最大值为 100% 高度,我们怎么样把值映射成一个图表的形式,从数学的角度来说,我们很容易想到,这就是把 [a, b] 映射到 [0, 1] 的过程。当然,a 不一定是 0,有可能是 [0.2, 1],这是由具体需求来决定的,方法都一样。

先从简单的数学题开始吧,我们经常会使用 Math.random() 得到一个 [0, 1) 的值,然后扩大 x 倍,取整,得到了 [0, x) 的值,最后加上 offset,就得到了 [a, x + a) 的值。

- 阅读剩余部分 -

前端规范化 Lint tools 推荐

说起 Lint tools,其实不如说是 Vue 的 Lint tools 推荐,在过去我对 Vue.js 的 Lint 感受的不够深刻,由于 Vue.js 是由 .vue 的后缀名组成的 template file,那样 Lint 其实是不好做的,但是万万没想到,这年头 Lint 工具超发达的,什么都有——

eslint

lint 界元老,也是最基本的一个 lint 工具,即使别的你什么都不配,相信你也至少会使用 eslint 来管理你的项目。

- 阅读剩余部分 -

RabbitMQ 入门知识

我们在项目里用到了 MQ,但是之前我们发现了很多 MQ 的问题:比如消费者挂了,消费内容堆积,消费者重复循环死亡等情况,之前我对于 MQ 一无所知,这些问题都无法回答——我们的代码看上去很标准,也很简单,似乎没有什么问题。但是实际上从开发时就是由一群对 MQ 没有概念的人进行的,因此才出现了这么多问题。

公司的 MQ 是单独定制的,基于 AMQP 0-9-1 去开发的,而实际在使用过程中,其实就是一个 RabbitMQ 的封装版,因此还是以 Rabbit MQ 为主来讲下学习的内容。

- 阅读剩余部分 -