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 对他进行了一番魔改…..暂时还没上传…..