由Typekit网络字体联想到的动态中文字体加载的一些想法

最近在继续撸 Tangency 的前端页面,需要用到一些字体来让页面更加美观。相比于只有26个字母的英文,中文字体文件的大小有时候会动辄10mb。这不仅意味着会给服务器带来巨大的流量的消耗,而且若用户网络不佳的情况下,将会耗费大量的时间去加载,更致命的是,html的默认情况下,字体的加载是会阻塞html渲染的(同步加载

【Node.JS进阶学习计划】通过分析UnblockNeteaseMusic项目了解如何构建一个HTTP代理(一)

写在前面 最近学校停课了,课余时间一下就多了起来,但是虽然如此,还是鸽了许多作业(要赶紧补回来了) 话虽然是这么说,心里还是挺想折腾的。 前几天,安东尼给我看了个挺有意思的项目,ovebai/UnblockNeteaseMusic。他把这个项目部署在自己家里了,打算给群里的群友们用,但是测试下来发现运行不是很稳定,问我

一个基于Thrift与Etcd实现的RPC服务注册与发现、服务集群的架构 (一)

前记 大概一年前,BuyGa.me的后端的第一期架构的弊端逐渐暴露。SteamBot无法进行横向拓展、机器人向Steam的账单轮询没有使用队列,导致多个请求同时访问时会造成CPU占用过高,Steam Ban IP等情况。于是在半年前,我开始对 BuyGa.me的后端进行重构。作为一个福 (shui) 利(wen),在这

NextCloud + H5ai 打造你的专属文件分享存储服务

0.写在前面 很久之前,我就在博客首页放了个视频,因为怕把视频这种大文件扔到对象存储或CDN上会导致昂贵的费用,所以把这些大文件扔到了一台美国的大硬盘服务器上。 最初的方案只是简易的搭建一个LNMP环境直接把这些大文件存储起来。于是在以后每次更换视频的时候,都要登录xftp去手动上传视频。最近感觉这样做太蛋疼了,而且又

浅析Node.JS的模块编译过程及__dirname等特殊变量在模块内的定义

在我们使用nodejs的开发工程中,我们可以使用 require 函数对模块进行引用,今天在开发过程中遇到了一些关于模块引用及模块内某些特殊变量的问题,查询了一些资料后写下了这篇文章。 由CommonJS模块规范我们可以知道在模块文件里存在了require、exports、module、__filename、__dir