stay hungry stay foolish

  • February 14, 2019 JavaScript 阅读时长 ~ 1分钟
    js函数柯里化
    柯里化的简单概念:只传递给函数一部分参数来调用它,让它返回一个函数去处理其他的参数。参数个数确定的函数的柯里化function add(a){ return function(b){ return function(c) { return a+b+c; } }}add(1)(2)(3) //6参数个数不确定的函数的柯里化function add(a){ var sum = 0; function _add(a) ...…
  • February 14, 2019 JavaScript 阅读时长 ~ 1分钟
    js作用域
    对于编程语言来说,存在着两种类型的作用域,分别为静态作用域和动态作用域。作用域类别影响变量的绑定方式。静态作用域又叫词法作用域。在词法作用域里,取变量的值时,会检查函数定义时的文本环境,捕捉函数定义时对该变量的绑定。大多数现在程序设计语言都是采用静态作用域规则,如C/C++、C#、Python、Java、JavaScript……采用动态作用域的变量叫做动态变量。只要程序正在执行定义了动态变量的代码段,那么在这段时间内,该变量一直存在;代码段执行结束,该变量便消失。var b = 'b';f...…
  • February 14, 2019 JavaScript 阅读时长 ~ 1分钟
    js防抖与节流
    防抖函数主要要来防止频繁调用某一事件的回调,其规定在某一延迟内,如果继续有事件触发,则计时器重新开始计时 var debounce = function(cb,delay) { var timer = null; return function() { clearTimeout(timer); timer = setTimeout(function() { cb(); ...…
  • February 14, 2019 构建工具 阅读时长 ~ 1分钟
    webpack的动态引入与动态加载
    动态引入文件有时我们想动态引入某个文件夹下的所有模块,文件名称事先是不知道的,这时可以使用 require.context 来实现该需求mod/mod1.js:export default { name : 'mod1'}mod/mod2.js:export default { name : 'mod2'}index.jsconst files = require.context('./mod', false, /\.js$/) //第一个参数可以使用正则,第二个参数用来指定是否要递归子目...…
  • February 13, 2019 构建工具 阅读时长 ~ 1分钟
    使用jenkins构建vue项目与分布式部署
    一、分布式部署拓扑图二、配置远程服务器可以使用Publish Over SSH插件来实现linux服务器之间的免密码登录,其步骤如下: 在 jenkins 服务器上安装Publish Over SSH插件 生成RSA秘钥对 将公钥配置到远程的三台机(10.32.0.223,10.33.0.11,10.167.0.246),将公钥添加到/root/.ssh/authorized_keys文件即可 将私钥添加到Publish Over SSH的配置中 在Publish Over SS...…
  • December 22, 2018 构建工具 阅读时长 ~ 1分钟
    webpack的几种引用方式
    a.js:console.log('modA run');var varA = 'modA'; //模块内部的变量在其他模块是获取不到的,全局作用域的变量可以放在 window 下define(function(require){ return 'modA';});b.js:require('./a');console.log('modB run');module.exports = 'modB'; c.js:console.log('modC run');export default '...…
  • December 20, 2018 其他 阅读时长 ~ 1分钟
    阿里云OSS跨域设置
    阿里云OSS跨域设置当使用阿里云OSS进行web端直连断点上传文件时,跨域设置投必须增加Etag,否则CompleteMultipartUpload阶段时,服务器将返回400(InvalidPart)…
  • December 09, 2018 开发工具 阅读时长 ~ 1分钟
    wirshark过滤
    运算符 小于: <,lt 小于等于: le,<= 大于: gt,> 大于等于: ge,= 等于: eq,= 不等: ne,!= 非: not,! 与: and,&& 或: or,||过滤IP ip.src eq 192.168.1.107 or ip.dst eq 192.168.1.107 ip.addr eq 192.168.1.107 // 都能显示来源IP和目标IP过滤端口 tcp.port eq 80 // 不管端口是来源...…
  • October 12, 2018 前端优化 阅读时长 ~ 1分钟
    前端性能优化之-setImmediate,setTimeout,process.nextTick的区别
    setImmediate 和 process.nextTick 是 nodejs 中的 api,标准浏览器里是没有这两个函数,不过 ie10+ 浏览器实现了非标准的 setImmediate,其主要用来在事件循环结束后,尽快的执行其回调(延时<=2ms)。在前端开发中,应避免使用 setImmediate。为了实现异步执行代码,js 引擎使用了观察者来检测相应的队列是否有待执行的任务。setTimeout 采用的是类似IO观察者,setImmediate 采用的是 check 观...…
  • October 10, 2018 JS数据结构 阅读时长 ~ 1分钟
    JS数据结构-动态规划求LCS
    动态规划是很多算法(例如KMP算法)的基础,有很多的应用场景,其核心原理为:通过前面一个或者几个状态推算出后一个状态,往往使用迭代来求出最优解。求最长公共子串 LCS(longest common substring)是动态规划的典型应用。求 LCS 的普通算法:/** * @param {Array/String} 数组1 * @param {Array/String} 数组1 * @return {Array/String} 最大连续的公共子串 */function getLC...…