无密码登录原理:

w600

首先在Master上生成一个密钥对,包括一个公钥和一私钥,然后将所有的公钥复制到所有的Slave上。当Master通过SSH连接登录时,Slave会生成一个随机数并用Master的公钥对随机数进行加密,并发送给Master。Master通过收到加密数之后再用私钥解密,并将解密数回传给Slave,Slave确认解密数无误之后就允许Master进行连接了,这就是一个公钥认证过程。

我在本地搭建了三台虚拟机来测试免密登录,其中一台为Master,其余两台为Slave:

继续阅读

我们的业务主要为两块,首先是h5商城,在商城里面会有很多很多的运营活动,点击进去是在后台配置的各种H5活动链接。而H5商城和运营活动是两个业务,两者的联系就是要在后台系统将运营活动的链接配置到商城中。

继续阅读

规范

1、向端发送的格式如下:

data: {
    title: 'new title'
}

所有的数据都在一个对象里,如果有多个参数,会并列传递,或者在一个属性中:

data: {
    sku_info: {
        sku_id: '120001',
        qty: '1000'
        ...
    }
}

继续阅读

throttle and debounce

1、概念介绍

首先,throttlingdebouncing 都可以对执行的函数进行速率限制。

throtting:在一段时间内,对调用函数的最大次数进行限制,比如:在100ms内最多执行一次该函数。

举个例子,如果你的函数会在10s内执行1000次,比如触发scroll事件,这时候性能开销就比较大,我们可以使用throttle进行控制,让函数每100ms执行一次,这样,10s内最大执行的次数为100次,有效减少了性能开销。

继续阅读

border-radius

1、基本书写方式

1.1 设置四个值

基本形式也是简写形式,例如:

div {
  border-radius: 10px 5px 10px 5px;
}

这样可以给`div`的四个角都设置`border-radius`属性,分别对应左上角(`top-left`)、右上角(`top-right`)、左下角(`bottom-left`)、左下角(`bottom-right`)。

继续阅读

Geolocation

geolocation是navigator中的方法,可以获取用户的位置信息,包括经纬度、海拔高度、当前的方向以及运动速度等信息。

GeoLocation有三个方法:getCurrentPosition()watchPosition()clearWatch()

继续阅读

jQuery Deferred

简介

延迟对象是jQury中很重要的一部分,包括Ajax、动画还有其他一些异步操作基本都用延迟对象进行了改写。延迟对象可以让你不关心耗时任务什么时候结束,你只需指定该任务结束后执行什么样的回调即可,在等待的过程中,其他业务逻辑代码依然可以继续运行。

继续阅读