Web行业观察

专栏文章同步公众号【WebHub】
117 篇文章
87 人订阅

全部文章

Jean

编码的浪漫:完美序列化的官方评测

虽然以前使劲吹过MessagePack,认为它是JSON的完美替代品,但还是发现了它的缺陷,最终光荣弃坑。于是我从头开始设计了MessagePack的替代品——...

5710
Jean

魔改npm私有仓库 | Verdaccio教程

好久没分享前端技术了,今天推荐一个开源软件:Verdaccio,它是一个私有npm仓库。npm是一个基于http的协议,用来存放软件包并且维护版本和依赖,利用h...

4410
Jean

谈谈Zipack格式的设计初衷

序列化格式是一种用于存储和传输的,线性排列的二进制数据。序列化格式用于在不同平台交换通用的数据格式。比如JSON就是一种流行的序列化格式。

8610
Jean

Zipack初体验:我的开源标准!

当今最流行的序列化格式无疑是JSON,但是基于文本的JSON有许多缺点,比如解析速度慢,体积较大。根本原因在于,JSON是基于文本的,只要是文本就离不开编译,只...

8910
Jean

原创反转精度算法:小数的终极编码

上期带大家尝鲜了Zipack格式的“多快好省”:“多”指功能多;“快”指解析快;“省”指体积小。不过用户最好奇的一定是Zipack的底层原理,毕竟它“嚣张”地宣...

9020
Jean

用“双射”的思想解决排列组合问题

“双射”(bijective)其实是个比较土味的数学名词,因为在关系代数中我们更喜欢称它为“一一映射”。关系代数是研究集合之间“映射关系”的数学分支,然后集合的...

9320
Jean

IEEE浮点数的设计缺陷

在生物化学中,“信息”是研究物质的2个基本视角之一,另外一个是“能量”。因为信息和能量都是抽象出来的东西,以它们为视角研究现实世界的成本非常低,比如计算机专业的...

6520
Jean

深扒Git底层格式:VLQ偏移自然数

VLQ指variable length quantity,即可变长度的量,这个量可以是任何信息的数量。不得不说大厂取名字很有讲究,一般都喜欢绕过名词本身用途,引...

10120
Jean

整数编码之 ZigZag

在分析Avro源码时,发现Avro为了对int、long类型数据压缩,采用Protocol Buffers的ZigZag编码(Thrift也采用了ZigZag来...

11520
Jean

【转载】package-lock.json的作用

2、package-lock.json 是在 `npm install`时候生成一份文件,用来记录当前状态下实际安装的各个npm package的具体来源和版本...

15650
Jean

工作记录 | 基于DocSearch黑一套搜索引擎

记录一下最近工作中利用DocSearch,基于ServiceWorker和CacheAPI“恶搞”的一套Wiki搜索引擎,挺有意思的。

9510
Jean

【转载】人脑与复杂变量系统

而今天,我们发现自己对宇宙和世界是那么的无知:无论在宏观上还是微观上,无论从数学上还是从物理意义上。

6420
Jean

信息论II:最优二叉树与Huffman编码

本来这份ppt是打算在公司的FEConf大会上展示的,但是年初的新型冠状病毒疫情把这事儿给鸽了。话说16XX年春天,伦敦地区也爆发了一场惨绝人寰的鼠疫,然后牛顿...

10920
Jean

信息论IV:宿主、时空置换、V8玄学

字符串类型通过修剪utf8的Huffman树,让所有的叶子成为独立的编码对象,虽然牺牲了一定的时间,却让minUTF8成为信息论上最优的字符编码。接下来研究研究...

8410
Jean

信息论III:寻找序列化的极限

来自【奇怪的知识】系列的第三篇,承接上文《最优二叉树与Huffman编码》的第1~第5章,本文从第6章开始。

8510
Jean

手写一个http容器【下】下一代渐进式web框架

web后端最常用的功能之一是静态文件的托管,也就是那些存放在服务器上的只读文件,可以让前端自由下载。最直接的实现手段就是将url的路径和文件系统的路径一一对应,...

8920
Jean

手写一个http容器【上】决策树与路由表

如果让我来定义http协议的话,我会给他取一个完全不同的名字:ALFP(Application Layer Fetch Protocol,应用层请求协议)。20...

7220
Jean

异步认证与同步认证的分离史

浏览器cookie是上世纪90年代用于在客户端和服务器间保持短连接的会话机制,但在本世纪的第18年,cookie退出了历史舞台,不信你看现在的http请求方法f...

11910
Jean

元编程实现优雅的懒加载

计算机行业发展了这么多年,出现过无数的专业名词,有的古老名词过时了并被人们淡忘,但有的古老名词不仅没过时,还从本身的狭义概念上升到广义的哲学概念。

11010
Jean

小程序的老祖宗PWA为什么没有火起来?

BAT现都已入局小程序赛道,开始新一轮的较量。但无论是微信,支付宝还是百度的智能小程序,本质上都要在App上运行,对用户来说,还需横跨手机系统和App两个平台的...

33221

扫码关注云+社区

领取腾讯云代金券