加速SQLite数据库复制:文本转储的妙招

作者在复制大型SQLite数据库时遇到速度瓶颈,因为索引文件占据了大量空间。他发现将数据库转储为文本文件(`.dump`命令),再用gzip压缩,可以显著减小文件大小,从而加快复制速度。相比直接复制3.4GB的数据库,这种方法将文件压缩至240MB,速度提升了14倍。此外,这种方法还避免了数据库复制过程中因更新导致文件损坏的问题,提高了可靠性。
阅读更多
作者在复制大型SQLite数据库时遇到速度瓶颈,因为索引文件占据了大量空间。他发现将数据库转储为文本文件(`.dump`命令),再用gzip压缩,可以显著减小文件大小,从而加快复制速度。相比直接复制3.4GB的数据库,这种方法将文件压缩至240MB,速度提升了14倍。此外,这种方法还避免了数据库复制过程中因更新导致文件损坏的问题,提高了可靠性。
阅读更多
近日,一个名为 tj-actions/changed-files 的 GitHub Action 被发现存在安全漏洞,攻击者可通过修改其可变 Git 标签来注入恶意代码,泄露用户的构建日志中的密钥。文章作者分享了一个用于检查自身 GitHub Actions 工作流中使用了哪些 Action 的 shell 脚本,并探讨了使用固定提交 ID 来增强安全性的方法,以及如何评估不同 Action 提供商的可信度。作者建议优先选择来自大型组织的 Action,或自行编写脚本替代不信任的 Action。
阅读更多
作者将个人网站从 Netlify 迁移到了运行 Caddy 的 Linux 服务器。Netlify 的带宽计费过高,超出免费额度后费用昂贵,促使作者寻求更经济的方案。作者选择了 Linode 的虚拟机,并使用 Caddy 作为 Web 服务器软件,因为它易于安装和配置 HTTPS 证书。迁移过程中,作者编写了测试套件以确保迁移的顺利进行,并分享了迁移步骤和 Caddy 配置文件。作者对 Caddy 的易用性表示满意,并认为自主运行服务器比以往更加便捷。
阅读更多
本文介绍了两种为图片添加悬停样式的方法。第一种方法是通过添加不带模糊的阴影来模拟边框效果,避免了边框占据空间导致页面布局混乱的问题。第二种方法是将图标拆分为多个元素,并分别设置样式,从而实现悬停时改变图标颜色的效果。作者还分享了如何确保在没有 CSS 的情况下图标仍然清晰可见。
阅读更多
作者介绍了一种用静态网站来组织个人数字档案的方法。不同于传统的文件夹分类,作者将文件按类别分别建立静态网站,并通过HTML和少量元数据来展示和浏览文件。作者认为这种方式简单、易于维护且持久耐用,并分享了从文件夹到专用软件再到最终选择静态网站的心路历程。
阅读更多
本文作者从Mac电脑的Command键图标(⌘)获得灵感,探讨了如何用编程方式绘制各种变体。作者首先分析了图标的几何结构,将其分解为多个旋转对称的“循环钩”,然后使用三角函数计算了每个部分的坐标。最终,作者用JavaScript和SVG实现了这个想法,并创建了一个网页应用,允许用户调整参数并生成不同的图案。
阅读更多
本文介绍了如何使用 Swift 编写一个命令行脚本,用于创建 Safari 网页存档文件。作者首先阐述了选择 Safari 网页存档格式的原因,然后详细介绍了脚本的编写过程,包括使用 WKWebView 加载网页、使用 WKNavigationDelegate 处理加载错误、添加命令行参数等。最后,作者将完整的脚本代码发布到了 GitHub 上。
阅读更多