Nolan Blog

像我这样的人不多, 孤独不会使我难过

基于视觉技术的雨量监测与分级

1. 背景   中国经济实力不断提升,公路交通快速发展,使得汽车数量逐年增加,道路交通问题日益突出,特别是阴雨天,由于司机视野受限,交通事故频繁。                         汽车雨刮器的出现是缓解该问题的利器,目前已经出现传统雨刮器和基于雨量传感器的自动控制雨刮器,然而传统雨刮器均为手动控制,这将分散司机注意力,存在极大安全隐患。基于雨量传感器的雨刮器可以在一定程...

理解异步(二)——等待者模式

Keynote: waiter pattern

前言 前面我们用到的都是一个异步操作,即在执行完该操作后执行回调函数,如下面代码所示,在异步ajax请求回数据后 var ajax = $.ajax({ url: '/getStudents', success: function () { console.log('正在处理获得的学生数据') }, error: function...

理解异步(一)——LazyMan流程控制

Keynote: LazyMan Asynchronous Flow-Control

前言 最近在看Promise的原理,仔细找了点资料发现这些流程控制类的问题都可以归为一大类模式,可以让我们深入理解异步是个什么东西? 我们可以从一个问题入手。如下面的的LazyMan,实现函数,在相关控制台打印出来结果和题目描述结果相同。 LazyMan LazyMan('Hank') // Hi! This is Hank! LazyMan('Hank').eat(“d...

图片懒加载、去抖、节流

Keynote: Lazyload Debounce Throttle

懒加载 对于图片较多的页面,使用懒加载可以大幅提高页面加载速度,提高用户体验。 对页面加载速度影响最大的就是图片,一张普通的图片可以达到几M的大小,而代码也许就只有几十KB。当页面图片很多时,页面的加载速度缓慢,几S钟内页面没有加载完成,也许会失去很多的用户。 所以,对于图片过多的页面,为了加速页面加载速度,所以很多时候我们需要将页面内未出现在可视区域内的图片先不做加载, 等到滚动到可...

JS手撸数据结构系列 (七) ——再谈递归之全排列

Keynote: Javaascript Permutation Recursion

全排列 花了一晚上的时间苦思冥想,终于是彻底理解了字符串全排列了。自己还是太渣了….. 所谓全排列,就是打印出字符串中所有字符的所有排列。例如输入字符串abc,则打印出 a、b、c 所能排列出来的所有字符串 abc、acb、bac、bca、cab 和 cba。根据排列组合的数学公式也可知道给定 n 个字符,全排列一共 n! 项。 递归实现 递归方法的全排列思想挺简单的,就是从第一个字符...