我的博客被完整地反向代理,并自动翻译成了繁体中文 2024.08.20更新我将境外的 Github Pages 解析停了,所有流量全部指向我的 HK 的 vps。 访问对方站点 /?about/ 时,在我服务器 /about/ 收到了一个奇怪的请求,访问对方别的路径时也会在我服务器的对应路径收到请求,UA 伪装成了 Google 家的爬虫: (关于为什么有 Mozilla 字段,可以参见 《是的,所有现代浏览器都假装自己是火狐》) 这个 ip 2024-07-18 #Network #umami #Cloudflare #Blog #waline
Vue Markdown 渲染优化实战(下):告别 DOM 操作,拥抱 AST 与函数式渲染 上回回顾:当 morphdom 遇上 Vue在上一篇文章中,我们经历了一场 Markdown 渲染的性能优化之旅。从最原始的 v-html 全量刷新,到按块更新,最终我们请出了 morphdom 这个“终极武器”。它通过直接比对和操作真实 DOM,以最小的代价更新视图,完美解决了实时渲染中的性能瓶颈和交互状态丢失问题。 然而,一个根本性问题始终存在:在 Vue 的地盘里,绕过 Vue 的虚拟 DO 2025-07-13 #JavaScript #Web #Vue.js #Markdown #AST #unified
Vue Markdown 渲染优化实战(上):从暴力刷新、分块更新到 Morphdom 的华丽变身 需求背景在最近接手的 AI 需求中,需要实现一个类似 ChatGPT 的对话交互界面。其核心流程是:后端通过 SSE(Server-Sent Events)协议,持续地将 AI 生成的 Markdown 格式文本片段推送到前端。前端负责动态接收并拼接这些 Markdown 片段,最终将拼接完成的 Markdown 文本实时渲染并显示在用户界面上。 Markdown 渲染并不是什么罕见的需求,尤 2025-07-12 #JavaScript #HTML #Web #Vue.js #Markdown
node-sass 迁移至 dart-sass 踩坑实录 更新目标 node-sass -> sass ( dart-sass ) 减少影响面,非必要不更新其他依赖的版本 在前两条基础上,看看能否提升 node.js 的版本 抛弃 node-sass 的理由 node-sass 已经停止维护,dart-sass 是 sass 官方主推的继任者 node-sass 在 windows 下的安装非常麻烦,npm 安装时需要开发机上同时装有 pytho 2025-07-05 #JavaScript #Web #Vue.js #CSS #Sass
前端中的量子力学——一打开 F12 就消失的 Bug 前端「量子态」现象的首次观测这事说来也邪乎,半个月前吃着火锅唱着歌,在工位上嘎嘎写码,发现一个诡异的 bug。作为如假包换的人类程序员,写出 bug 是再正常不过的事情了,但这 bug 邪门就邪门在我一打开 F12 的 DevTools 观察相关的 dom 结构,这 bug 就自动消失了;再把 DevTools 一关,Ctrl + F5 一刷新页面,Bug 又出现了。 下面是使用 iframe 引 2025-06-08 #JavaScript #HTML #Web #CSS #Debug
2025 年,如何为 web 页面上展示的视频选择合适的压缩算法? 事情的起因是需要在网页上展示一个时长约为 5 分钟的产品展示视频,拿到的 H264 编码的原文件有 60MB 大。高达 1646 Kbps 码率的视频文件通过网络传输,烧 cdn 流量费用不说,对于弱网环境下的用户体验也绝对不会好。因此必须在兼顾浏览器兼容性(太好了不用管 IE)的情况下,使用更现代的视频压缩算法进行压缩。 哪些压缩算法是目前的主流?AV1AV1 作为目前压缩效率最高的主流视频编码 2025-06-02 #Network #HTML #Web
el-image 和 el-table 怎么就打架了?Stacking Context 是什么? 这是精弘内部的图床开发时遇到的事情,大一的小朋友反馈说 el-image 和 el-table 打架了。 demo 的 iframe 引入 看到后面的表格透出 el-image 的预览层,我的第一反应是叫小朋友去检查 z-index 是否正确,el-image 的 mask 遮罩的 z-index 是否大于表格。 经过我本地调试,发现 z-index 的设置确实没问题,但后面的元素为什么会 2025-05-31 #JavaScript #HTML #Web #Vue.js #CSS
2025年,前端如何使用 JS 将文本复制到剪切板? 基础原理如果你尝试在搜索引擎上检索本文的标题,你搜到的文章大概会让你使用下面两个 API。我希望你用的搜索引擎不至于像某度一样灵车到 2025 年还在让你使用基于 Flash 的 ZeroClipboard 方案 document.execCommand2012 年不止有世界末日,还有 IE 10。随着 IE 10 在当年 9 月 4 日发布,execCommand 家族迎来了两个新的成员—— c 2025-04-21 #JavaScript
ssh 拯救世界——通过 ssh 隧道在内网服务器执行 APT 更新 事情的起因是因为精弘的前技术总监抱怨学校的内网服务器无法连接外网,从而导致 apt 安装与更新异常困难,需要手动从源中下载软件包、软件包的依赖及其依赖的依赖。。。然后将这些包通过 sftp/rsync 一类的手段传到服务器上手动安装。 于是本文应运而生,我们可以在本机使用 Caddy (Nginx 当然也行)反代一个 APT 源镜像站,通过 ssh 隧道建立端口转发,这样就可以在内网服务器上访问 2025-03-30 #Linux #Apt #Network #OpenSSH #Caddy #Debian
Cudy TR3000 吃鹅(daed)记 缘起前不久在京东自营看到我馋了很久的 Cudy TR3000 有 ¥153 的折扣价,虽然比起 ¥130 的史低价(甚至 ¥110 的凑单史低价)还有些距离,但已经到我的可接受范围内了,于是果断下单剁手了这台我心心念念的 Cudy TR3000 迷你路由器,以此来缓解我的开学前综合症(一种精神性疾病) 这台路由器使用 Type-C 供电,拥有一个 2.5Gbps 的 WAN 口和一个 1Gbps 2025-02-28 #Network #Hardware #Router #OpenSource Project #OpenWRT #ImmortalWRT