36 * N 个工作中常用的 JavaScript 函数片段
###来源:知乎
最近在思否看到一个文章36个工作中常用的JavaScript函数片段。
身为坑爹面试官(▄█▀█●),怎么能只有一个答案呢?
数组 Array
数组去重
方案一:Set + …
function noRepeat(arr) {
return [...new Set(arr)];
}
noRepeat([1,2,3,1,2,3])
方案二:Set + Array.from
function noRepeat(arr) {
return Array.from(new Set(a
【探索】利用 canvas 实现数据压缩
来源:
https://www.cnblogs.com/index-html/p/canvas_data_compress.html
前言
HTTP 支持 GZip 压缩,可节省不少传输资源。但遗憾的是,只有下载才有,上传并不支持。如果上传也能压缩,那就完美了。特别适合大量文本提交的场合,比如博客园,就是很好的例子。
虽然标准不支持「上传压缩」,但仍可以自己来实现。
Flash
首选方案当然是 Flash,毕竟它提供了压缩 API。除了 zip 格式,还支持 lzma 这种超级压缩。因为是原生接口,所以性
Golang实现P2P之UDP打洞 (IPV6 挺香的估计后面用不到了)
当今互联网到处存在着一些中间件(MIddleBoxes),如NAT和防火墙,导致两个(不在同一内网)中的客户端无法直接通信。 这些问题即便是到了IPV6时代也会存在,因为即使不需要NAT,但还有其他中间件如防火墙阻挡了链接的建立。 目前部署的中间件多都是在C/S架构上设计的,其中相对隐匿的客户机主动向周知的服务端(拥有静态IP地址和DNS名称)发起链接请求。 大多数中间件实现了一种非对称的通讯模型,即内网中的主机可以初始化对外的链接,而外网的主机却不能初始化对内网的链接, 除非经过中间件管理员特殊配置。
Underblog (Golang 写的静态博客引擎)
原项目github地址:
https://github.com/freetonik/underblog
对他进行了一番魔改…..暂时还没上传…..