使用cheerio爬取gank-io妹子图

cheerio是nodejs的抓取页面模块,只需输入html,然后就可以像Jquery一样获取dom结构信息: const cheerio = require('cheerio') const $ = cheerio.loa...

Array.prototype.reduce()

recude 函数为 js 数组中较难理解的一个函数,其定义如下: 定义arr.reduce(callback,[initialValue]) 其中callback函数有四个参数: previousValue (第一次调用callbac...

slice.call(arguments)

javascirpt的类数组对象可以像数组一样使用for循环遍历,但是却不能调用数组原型链的方法,为了让类数组对象可以像数组对象一样调用push,pop等方法,可以将类数组对象转成数组对象: 将类数组对象转换成数组var args = []...

js-setter-&-getter

在mvvm框架中,数据双向绑定的底层实现中会用到setter和getter,javascript的中的setter和getter可以实现: 当获取对象的属性值时可以触发get方法 当为对象的属性赋值时可以触发set方法 主要有如下4种实...

Ehcache集群同步

Ehcache 是一个用Java编写的缓存框架,可以直接集成到Java项目中,与Redis,Memcache等需要另外搭建服务的缓存框架相比,更加轻量,适合集群节点较少的中小型项目。 目前Ehcache主流的集群解决方案主要有RMI与JGR...

js快速获取大图原始宽高

获取图片原始大小常规方式var url = 'http://www.xxx.com/xxx/xxxx.jpg'; var img = new Image(); img.src = url; //如果有缓存 if(img.co...

Broken-pipe-与-Hibernate

broken pipe 导致broken pipe的原因有很多,不过其根本原因都是:当往socket管道写入数据的时候,管道已经关闭。某次查生产问题的时候,发现日志中有很多booken pipe的错误,都发生在当服务器向客户端返回页面内...

socket-io集群解决方案

关于socket.io的群集解决方案,官网中给出了3个示例代码。除了负载均衡的软件不同,其他的代码其实都是一样的,分别为:nginx,httpd, haproxy。以下以nginx为例说明。官网给的demo基于docker,让你可以直接运行...

函数防抖和函数节流

网页开发中,onmousemove,onkeydown,onscroll,onresize 等事件会频繁的触发绑定函数。为了优化性能,我们会用到函数防抖和函数节流。 函数防抖function debounce(fn){ v...

shell脚本排查java进程cpu消耗过高问题

关于JVM性能调优监控,网上可以找到很多排查Java进程cpu消耗过高的方法,不过几乎都是告诉你如何依次输入命令排查,为了方便排查问题的时候不用依次输入众多命令,我们可以将排查命令写入脚本。 新建 monitor.sh,输入以下脚本: ...

eval(function(p,a,c,k,e,d){}())

前段时间,领导安排了一个poc的演示任务,将上面这个网站的左半部分替换成发票图片列表,点击发票列表中的图片,自动将图片中的信息填充到右侧的表单中,进行查验。 打开chrome的F12研究了一下网站的代码,网站所有的JS都是如下的加密形式:...