番茄钟:Tauri 跨端应用开发前景的强大展现力
前言 长久以来本地客户端开发(包括桌面、移动端)都被认为没有前景了,尤其在国内这个论调严重得多。我个人其实仍看好本地客户端这个应用类型,同时我也看好 Web 的潜力。所以如果一个技术能将这两者结合,我就会很感兴趣。 本文的主角 Tauri 就是综合这二者优势的框架技术。相比于 Electron 它能
入门番茄工作法
前言 很多时候在高度紧张的工作或学习任务中,我们很难长时间有效的保持专注。疲劳、压力会削弱我们的思考能力,给身心造成负面影响,进而降低效率。而本文试图给有这类困扰的人提供新的思路,介绍一种我认可的系统性的管理方法。即番茄工作法。 介绍 番茄工作法(Pomodoro Technique)是一种时间管理
如何评价谷歌将对开发者强制身份认证,否则 APK 无法被侧载安装?
前言 最近 Google 在 Android 开发者博客上发布了一篇文章(看这里),该文章表示从明年开始 Android 将要求所有应用必须由经过验证的开发者注册,用户才能在经过认证的 Android 设备上安装。简单的说该文章打着安全的名义将 Android 进一步封闭化。 此举显著加强了 Goo
p5.js 2.0 发布:更新内容和迁移教程
前言 期待已久的 p5.js v2 总算于今年年初发布了,本文虽然迟但不算太晚。p5.js 是一个集合了 2d、3d 绘图、动画于一身的库,我在本博客的早期就介绍过它(看这里)。同时我高度认同它在创意编程领域的价值。 以后来的眼光看 1.x 版本的架构早已过时。v2 引入了一些更现代化的东西,但没有
Chrome 137 为 CSS 实现了 if 函数
前言 自 Chrome 137 版本开始,已实现 CSS 的 if() 函数。通过 if() 函数可以更低细粒度(单个属性)的在样式中内嵌条件。目前它是一个实验性的技术。 请不要用 Firefox/Safari 或低于 137 版本的 Chrome 访问本文,否则你几乎看不到任何效果。 语法 if(
本博客已升级到 Tailwind CSS v4
前言 经过缓慢而持续的迁移,本博客总算成功迁移到 Tailwind CSS v4 了。如果你发现有什么地方的样式可能存在问题,请反馈给我,感激不尽。 本文将对这次迁移过程的一些关键点进行介绍。 工具链变化 Tailwind 此前的版本仅作为 PostCSS 插件的形式工作,自 v4 开始提供 Vit
Rust 1.89 更新内容
前言 近期 Rust 1.89.0 版本发布了。相比于 1.88 版本,新增了 5000+ 次提交。本文是对此次更新的翻译(部分重新表达)、补充(部分简化)以及点评。顺带一提近期好几个 Rust 版本都没有修订版发布,都是直接发新版。 显式推断 CONST 泛型的参数 Rust 现在支持下划线符号(
继续使用 Chrome Manifest V2 旧扩展的方法
前言 前不久 Chrome 正式禁用了 Manifest V2 扩展,对于用户而言这可能是一个相当剧烈的变化。虽然从几年前起 Google 就多次宣布甚至延期过弃用计划,但直到现在仍有不少拥有大量用户的扩展未迁移到 Manifest V3。可想而知这一行为必然给不少人造成了麻烦。 本文将介绍目前仍然
SVG 快速入门:制作一个加载动画组件
前言 随着 Web 标准的不断前进,诞生了很多值得深挖的技术,例如 Canvas、WebGPU、WebAssembly 等。也包括 SVG。这些技术的潜力非常大,但目前来讲应用仍然不够多(SVG 算多的了)。大多数 Web 前端开发仍停留在 HTML/CSS 上。 此文是 SVG 入门的第一篇文章,
Capinde 项目介绍:开源的独立验证服务
前言 我在介绍 Open Amber 项目时提到过 Capinde,因为该项目的验证码服务由 Capinde 即本文的主角提供。不止如此,Capinde 不是谁的附属品,它是为「交互受限」的环境而专门开发的。 为何交互受限?例如 Telegram/Discord 的机器人。它们的展示能力和交互较为简
Rust 1.88 更新内容
前言 最近 Rust 1.88.0 版本发布了。相比于 1.87 版本,新增了 3894 次提交。此版本的变化较少,本文是对此次更新的完整翻译和简单补充/点评。 LET 链 在此前 Rust 无法在 let if 语句中并列条件,而这是一个很常见的需求。例如: if let Some(success
用 TypeScript 编写 Lua 代码:TSTL 入门
前言 在嵌入式脚本领域 Lua 是十分受欢迎的选择,它小巧灵活,和原生代码(C)有良好的互操作性。广泛用于游戏热更新、插件开发、脚本配置等。但 Lua 也有一些显而易见的缺点,导致在大型项目的维护上力不从心。 本文将介绍 TypeScript 到 Lua 的转换器 TypeScriptToLua(T
从知乎看中文互联网是否已死
前言 文本是对我发布在知乎上的《中文互联网是否已经走向死亡?》的回答的搬运和重新整理。由于该回答被迅速限流,我决定将其发布在博客。 我将在本文提及一些现状,用知乎举例子。我先提前说出观点:我不认为中文互联网已死,但在死亡的路上。 屏蔽外部搜索 知乎在之前屏蔽过 Bing 和 Google 搜索,就给
OpenAmber 项目介绍:自动登记系统「喵星备案」的开源实现
前言 继我在上文介绍过 Bun 以后,本文将介绍与之相关的开源项目 OpenAmber。它是一个基本五脏俱全的 Bun 实践项目,我将其定义为免登录的自助登记系统。目前作为娱乐性质的民间 ICP 备案系统使用。 OpenAmber 使用 Elysia 提供 Web 服务,Drizzle 作为数据操作
我为什么拥抱 Bun
前言 Bun 是一个非常年轻的 JavaScript 运行时,是 Node.js 和 Deno 新的竞品。自 Node.js 作者的新项目 Deno 发布后,长期以来 JS 生态的焦点仍在 Node.js 上,Deno 没有掀起太大的波澜。但 Bun 的出现,却引来了不少人的目光。当然也包括我。 我
是否会诞生下一代主流 Linux 终端 Shell 淘汰掉 Bash?
前言 Bash 是兼容 Bourne Shell 的软件(sh 的超集),是众多发行版的实际选择,即事实的标准。但它并不是某类发行版规范中的标准。而且它是个古老的软件,有很多缺陷。被取代是有可能的,但被移除恐怕是极难的。 现状 在桌面系统上,Zsh 这种 Shell 在用户间已经非常普遍了。如果你在
升级到 Tailwind CSS v4
前言 Tailwind CSS v4 发布很久了,我早在今年一月于闪念页面就发表过评论。在 4.0 正式发布前夕,Tailwind CSS 发布了 36 个 alpha 以及 10 个 beta 版本,非常夸张。不过我个人的项目在这几个月里并没有动过升级到 v4 的念头,主要跟其中一个变化有关。 文
我在这里分享最新动态
推广 (成为赞助商)
这是来自赞助商的广告