博客

我的博客覆盖了前端、后端、客户端以及系统编程等领域,以构建高效、弹性、可维护的应用程序为目标。这里记录了我对一些新技术、新工具以及在项目中的开发实践,往前翻翻还有很多不着调的诗歌。

WireGuard 客户端魔改:对端节点动态更新

本文介绍了一种对 WireGurad Windows,macOS 和 iOS 客户端魔改的方法,使其能够每次建立隧道时使用变化的对端端口以应对封锁,文章提供了代码修改点以及部分平台的二进制包。

每日必应壁纸的自动化

本文提供了一个简单 Rust 程序,用于自动将必应每日图片作为 Windows, macOS, iOS 和 iPadOS 的壁纸。

禅道日报自动化脚本

本文介绍了一种利用 Chrome 和 WebDriver 进行禅道日报(日志)自动化的脚本,其可以从外部获取日报并将其添加到禅道系统中。

云学堂自动化学习脚本

本文介绍了一种利用 Chrome 和 WebDriver 进行云学堂技术支持的企业学习平台的自动化学习脚本,其可以自动寻找“我的任务”并进行学习,等待考试完成并继续爬取热门资源进行自发学习,直到达到时间上限。

博客新家:基于 next.js

自从 2017 年初把博客从 WordPress 迁移到 GitHub Pages 已经有 6 年的光景,Ruby 不再闪亮,而 Web 依旧长青。

高性能、全生态、可扩展的跨平台脚本:babashka

本世纪的软件工程领域包括三大生态:以 LLVM 为核心的 C、C++、Rust、Swift,以及与 C 关系密切的 Python 和 Go,以 JVM 为核心的 Java、Kotlin、Scala、Clojure、Groovy 以及以 JSVM 为核心的 JavaScript、TypeScript 等。而尽管 JVM 生态的包管理工具 Maven 和 JS 生态的包管理工具 NPM 分别有 31M 和 6B 类库可供处理形形色色的任务,但仍然没有一个足够通用、好用和可扩展的脚本工具用来处理日常工作,替代拗口难懂的 Bash 脚本或 Windows 批处理脚本。

对于 M1 MacBook 的一些看法

介于知乎、bilibili 等中文社区上关于 M1 MacBook 有大量“好为人师、人云亦云”、“简单剪辑 = 生产力”的误导言论,加上自己 3 年的 Intel Mac 和 1 个月的 Apple Slicon Mac 的使用经验,我觉得从开发:包括前端、后端和客户端(JVM 生态,NPM 生态,iOS 生态)的角度总结一下 M1 芯片的优点和不足是一件很有必要的事情。

一个 Java 开发者的 iOS 入门指北

武汉的九月中旬,虽已入秋,树叶也渐黄了,但天气还是热的。夏天的夜晚依旧漫长且乏味,我已记不清楚是什么动机 —— 可能是闲得无聊,或者是偶然间在 B 站看到有人分享开发 SwiftUI 的视频觉得好玩,便阴差阳错的开始啃一本《iOS 与 Cocoa 开发指南》。

应用设计的 Figma 入门指南

软件开发的本质是对于想法和需求的不断澄清和最终实现的过程,在这个过程中会逐步调整需求和实现,以及考虑各种场景和边界条件。通过将应用设计和实际实现进行区分,可以让需求在前期尽可能的缩减设计-反馈路径循环周期,快速和准确的澄清需求,避免过早实现以导致应用交互模型和目标用户的心理模型差异过大而造成失败。

日常产品的设计指北

这是我阅读《The Design of Everyday Things》(作者为唐纳德·诺曼)一书的读书笔记。此书详细介绍了自然匹配设计的模型以及背后的深层次原因,由于作者原是认知心理学家,因此本书较多的涉及了知觉、记忆、注意等方面的内容,这些知识是作者用于说明其设计模型的基础。作为认知科学的在读学生,我也从另一个方面重新认识了基础认知过程对于人的心理感知、设计原则造成的影响。