立省66%!Hugo博客网站必须要做的图片优化教程
如果你也在用Hugo建设你的个人博客或者个人网站,一定要对全站的图片进行优化,因为效益非常显著——存储桶用量下降了66%、EXIF信息会被移除。存储桶用量下降,会直接让CDN流量大幅下降,从而降低分发图片带来的费用。移除EXIF信息,可以避免不经意间发的照片携带有GPS坐标、设备等信息,这可能会泄露隐私。 ...
如果你也在用Hugo建设你的个人博客或者个人网站,一定要对全站的图片进行优化,因为效益非常显著——存储桶用量下降了66%、EXIF信息会被移除。存储桶用量下降,会直接让CDN流量大幅下降,从而降低分发图片带来的费用。移除EXIF信息,可以避免不经意间发的照片携带有GPS坐标、设备等信息,这可能会泄露隐私。 ...
最近尝试对博客进行转型,继续发硬核技术帖的同时,会增加一些贴地气的内容。如果说以前使用Hexo、Hugo本质上是为了解决穷的问题,那么现在换回了WordPress是为了解决数据运营的闭环问题。纯静态博客有很多的好处,但是内容和数据成了一个个孤岛,整合起来需要做一定的开发工作,从投入产出来看,换用WordPress是一个比较具有性价比的选择,虽然它很重,有些地方又很ugly,响应速度会慢一些,但是它的生态提供的扩展能力和业务连续性,目前找不到替代品。 ...
前边的文章中,我把NAS装到了Proxmox VE(后边简称PVE)中,为了避免突然断电导致文件系统乃至硬盘损坏,这篇文章我就讲讲如何把UPS和PVE联动起来,让电量低到设定值或者断电超过设定时间时开始按照特定顺序关闭虚拟机,并最后把PVE和主机关闭,保护数据安全。 ...
其实想了很久,我有从小到大的照片、日常的资料文档、备份这种比较重要的资料需要存放,从白群晖到黑群晖,是不是一个不太稳妥的方案? 结合我的DS220+三年以来的使用经历,越是重要的数据,就越不会去经常更新,我的DS220+用了三年,系统就更新过一次,最常用的功能也就是Photos、Video Station、Cloud Sync,这些插件应该是就没有更新过,因此也非常稳定。出于这个背景,使用黑群晖完全没有问题,只要不再折腾,安安稳稳存点东西,也是足够的,既能满足需要,也能省出来白群的钱。(但是就是会有各种瞎折腾然后就炸了 ...
我有一台Windows台式机,日常仅仅会通过RDP远程上来用个银行Token,或者插显示器体验一下首发的新游戏(好比黑悟空,可惜核显只有4FPS),99%的时间都在闲着。同时,家里还开着群晖的NAS、M73t的软路由、UPS,鉴于我主力使用MacBook,这台台式机大概率会长期保持空闲,因此打算利旧这台台式机,让它同时运行NAS、软路由、Windows,把NAS、软路由这些持续大幅贬值的资产卖掉。 ...
前言 在上一篇文章中,我准备使用 MikroTik RB450Gx4 做出口网关,这样 CRS326 做一个弱三层的角色,用交换芯片抗东西向流量,南北向的给这台 RB450Gx4,直接用 CPU 跑。 新买的 RB450Gx4 到货了,投入使用前拿来测一下,看看和官方的数据差多少,摸个底。 ...
背景 机房有一台H3C的路由器,它同时负责接入和三层路由。今年偶然在传文件的时候发现速度奇慢,排查发现瓶颈在这台路由器,三层转发大包(SSH传文件)只有90Mbps左右了,转发率就不用算了吧,然后看路由器的control-plane和data-plane的负载都被打满了,应该是没走成交换芯片(快速路径),全部走CPU(慢速路径)处理去了。更重要的是,这台机器并没有使用ACL、VRF这种比较难offload的功能,如今掉速这么严重,不知道是触发了哪门子bug,再加上系统全部是黑盒,在没有购买官方支持的情况下,基本没有解决这种问题的可能了。 ...
前言 最近在对既有系统向云原生改造,为了平衡服务间的独立性、互通性,在参考了Medium和OREILLY的资料后,decoupling服务时决定仅允许服务间通过gRPC调用、不暴露中间件和数据库,因此,需要一个仓库来存放、管理所有的gRPC API,也就是一堆的protobuf文件。 ...
上一篇文章讲了eBPF Tracepoint和Kprobe,这一篇文章我们来看一下如何应对无BTF的老版本内核,以及如何只使用fd寻找关联的socket结构。 这篇文章的大背景,是需要关联fd、socket结构体指针,以便能够在hook系统调用时,通过fd找到对应的五元组信息。但是问题就在于,尝试了众多方法来关联上述的数据,甚至hook了十几个内核函数,希望包围socket的全生命周期,但是最终都出现了意料之外的结果,非常棘手。 ...
简介 eBPF老生常谈了,这里就不多介绍了,我们直接来看看Tracepoint和Kprobe。 Kprobe是Linux内核中的一个功能,可以实现无感知、动态切入任何内核活动中,并且收集调试和性能信息,一个很典型的使用案例就是切入内核的某个函数中并且获取传入参数和返回值。Kprobe共有两个类型,一个是Kprobe,一个是Kretprobe,他们都被统称为probes,前者用于切入内核函数并且获取传入参数,后者用于切入内核函数并且获取返回值。早期的Kprobe是以内核模块的形式开发,错误的操作会直接导致模块panic,并且可能会影响内核运行的稳定性,而如今,这些代码可以简化成eBPF代码,经过内核的检查才会装入BPF虚拟机中运行,也会限制能够访问的内存、内核函数,这虽然造成了一定的使用不便,但是大幅提高了安全性,也降低了使用难度。 ...