HP 440 G5 安装黑苹果

去这里选择最新镜像下载使用 balenaEtcher 烧录至U盘BIOS设置启用UEFI启动禁用安全启动禁用快速启动IGPU图形内存设置为64mb(Broadwell和Skylake)如果可用,通过BIOS选项禁用串行端口如果可用,禁用“LAN / WLAN切换”禁用“局域网唤醒”和“USB唤醒”下载EFI文件并将其放到引导分区中,注意备份你之前的文件其他注意事项:安装完成后按F3显示隐藏启动项,第一次选择preboot进入无线网卡无法驱动,需要用USB无线网卡。推荐comfast的wu8...

基于布隆过滤器的依赖注入

如果你读过Shadowsocks或者Angular的代码,你会发现他里面都自己实现了一个布隆过滤器。SS用他来匹配GFW名单,Angular中用来依赖注入服务名单。NodeInjector是Ivy渲染器引入的Angular注入器,它大量使用bloom过滤器来检索令牌。Bloom过滤器的基本数据结构是位向量。Bloom Filter原理:当一个元素被加入集合时,通过K个Hash函数将这个元素映射成一个位阵列(Bit array)中的K个点,把它们置为1。检索时,我们只要看看这些点是不是都是1...

获取系统字体列表两种思路

浏览器没有获取本地字体列表的API,同时FLash也被浏览抛弃。需要一种新的方式判断字体是否支持。下图列出了一些字体,特征各不一样。最直观的是字形,其次不同字体下的相同文字的宽度也是不一样的,由此我们能通过这两点差异对字体进行判断。字体宽度每种字体的宽度都不尽相同。我们可以通过分别测量默认字体和目标字体的宽度,查看二者的差异。若果不一致则说明目标字体可用,否则说明不支持该字体,浏览器会退到了默认字体。在canvas中可以使用measureText测量文字渲染的宽度,这个宽度非常精确。var...