博客

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

Lua ❤ Java:OSGi 环境中的嵌入式脚本

Peter Norvig 在《程序员修炼之道》中说:"在大型 C 项目中,总会有一个半残废的 Lisp 实现"。在许多大型软件项目中,人们常常会编写一些类似 Lisp 的代码,用于处理配置文件、粘合模块、生成动态逻辑等脚本性质任务。JVM 平台上已经有很多工业级别的脚本语言,比如 Clojure, Groovy, 以及一些热门脚本语言的实现:JRuby 和 Jython,但 luaj 和它们都不一样,从 API 到实现,处处透露着快速、小巧、灵活以及可定制,可以说它就是为嵌入式而生的工具集。

每日必应壁纸的自动化

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

禅道日报自动化脚本

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

云学堂自动化学习脚本

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

高性能、全生态、可扩展的跨平台脚本: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 批处理脚本。