author avatar

guqing

毕生所求无它,爱与自由而已

2024 年终总结:远方与热爱

2024 年,生活因为远行和热爱而显得格外丰富多彩。这一年,不仅踏足了梦寐以求的远方,也在多样的经历中感受了心灵的震撼与满足。 远方的呼唤:大西北与河西走廊 今年国庆节,我终于实现了多年来的一个愿望——亲自走一趟大西北,穿越河西走廊。这片土地承载了中华历史上无数的辉煌与故事。从纪录片《河西走廊》到书

2024 开源贡献与成长

2024 年,我在开源领域的足迹扎实且精彩。这一年,不仅用代码推动了项目的发展,也在技术提升和社区协作中深刻感受到了开源精神的魅力。我参与和推动了多个开源项目,同时还担任了开源之夏活动的导师,带领新人顺利完成了项目结项,收获了技术和合作的双重成长。 2024 年,我在开源领域留下了充满成就感的一年。

Halo 附件缩略图功能的设计与实现

本文介绍了 Halo 系统中附件缩略图功能的设计与实现,通过生成不同尺寸的缩略图 URL,实现图片的响应式加载,提升系统性能和用户体验。

离乡路远,归途已断

通过描绘对故乡的深厚情感和故乡的变化,表达了对时间流逝的感叹和对个人成长的思考。从我儿时离家求学开始,逐渐意识到故乡的变化和自己内心的成长。通过引用鲁迅的《故乡》,文章深刻探讨了对故乡的怀念与现实的无奈。尽管都市生活充满挑战,但我对故乡的眷恋和亲情的温暖始终给予我力量。在追求梦想的过程中,我希望找到平衡,过上充实而有意义的生活,珍惜当下的每一刻。

Halo 2.17 为什么重构 RememberMe 机制的实现方式

前言 Halo 是一个强大易用的开源建站工具,配合上丰富的主题和插件,帮助用户快速搭建个人博客、企业站点、知识库、文档站等多种类型的网站。具备可插拔架构、主题套用、富文本编辑器等多重特性,支持用户根据自己的喜好选择不同类型的插件及主题模板来定制化自己的站点功能及外观。让内容创作和发布更加便捷生动。

我的开源之旅:2023 年终总结

在 2023 年,作为一名 Java 软件工程师,我在 GitHub 上留下了深刻的印记,处理 86 个问题,提交 174 个拉取请求,并进行 825 次代码审查。在274 个活跃日中,我为 halo 主仓库贡献了 43k 行代码,总计编写代码 1012 小时,大部分时间专注于Java语言。我还创建了 10 个新的代码仓库,并参与了多个其他项目,深入开源社区合作。这一年是技术成长与开源贡献的见证,我期待 2024 年带来的新挑战和机遇。

不要成为无聊的大人

即使我们最终都成为了曾经不愿成为的“大人”,那份对美好生活的向往,仍旧藏在心底。也许,真正的成长,不是放弃理想,而是在理想与现实之间,找到了属于自己的平衡。

Halo 通知机制 RFC

用户可以通过 Subscriber 来订阅自己感兴趣的事件,当事件触发时会收到通知: 当用户订阅到事件后会创建 Notificatioin, 它与通知方式(notifier)无关,recipient 为用户名,类似站内通知,如用户 guqing 订阅了评论事件那么当监听到评论事件时会创建一条记录可以在个人中心的通知列表看到一条通知消息。 NotifierDescriptor 自定义模型用于声明通知器,通过它来描述通知器的名称、描述和关联的 ExtensionDefinition 名称,让用户可以在用户界面知道通知器是什么以及它可以做什么, 还让 NotificationCenter 知道如何加载通知器和准备通知器需要的设置以发送通知。

使用 JavaScript 对图像进行量化并提取主要颜色

图像的颜色值量化 以下面的图片为例 它的色值分布为如下的图像 从上述 RGB 3D Scatter Plot 图如果将相似的颜色值归为一类可以看出图像大概有三种主色调蓝色、绿色和粉色: 如果我们从三簇中各选一个中心,如以 A、B、C三点表示 A(50, 150, 200)、B(240, 150, 200)、C(50, 100, 50) 并将每个数据点分配到最近的中心所在的簇中这个过程称之为聚类而这个中心称之为聚类中心,这样就可以得到 K 个以聚类中心为坐标的主色值。

社区例会 Vol.06 从零开始的 Halo 插件开发

在此期间,涉及了插件生命周期、如何使用自定义模型、自定义模型对象的生命周期介绍、如何使用自动生成的 API、如何创建自定义 API 等演示说明,并初步实现了以下功能: 通过 GitHub API 获取个人仓库信息; 创建自定义模型 Repository; 将 GitHub 仓库信息通过自定义 API 存储到 Repository 模型中; 通过 Repository 的自定义模型 API 列出数据; 参会人员对演示内容进行了提问和讨论,并提出了一些开发中的问题和建议,如: 开发体验有待优化,可以考虑在用户界面提供 Devtools 相关功能,仅在插件开发时用于对用户界面的自动刷新和插件热重载。