用 JAMStack 重写网站:一次不成功的尝试

网站很长一段时间没有更新了,在此向关注的朋友说声抱歉。至于原因,首先是自去年底防疫解封以来,前两年积压的任务突然释放出来,工作任务较为繁重;其次则是自己的问题。概括说来,我从去年下半年开始就尝试重新编写网站,但在使用多种不同的技术路线、走了不少弯路之后,仍然没有找到一个较为满意的新架构。接下来这段时间工作仍然会比较紧张,重写方面的尝试不得不暂时放一放,比较遗憾。不过借着这个机会,我也得以刷新了一下前端方面的知识技能。因此还是把本次尝试过程做个总结,算是对这大半年消耗掉的时间有个交代吧。

开源项目: Resolution Switcher

在最近的项目中,我们计划支持两种不同屏幕的机器:1920 * 1080 横屏(很常见),以及 1600 * 1200 竖屏(比较罕见)。遗憾的是,我手头并没有一台真正的测试机,尽管笔记本可以同时支持两种分辨率,但调试时要去系统设置里反复切换分辨率还是很烦人的。因此,我决定自己写个工具来帮助自己。现在已经有了一个可用的版本,开源到 Github: Resolution Switcher

在开始动手之前,我也简单搜索了一下其他人是否写过类似的程序。在 Github 上发现了一个: Quick Change Resolution ,有趣的一点:它的开发平台是 Delphi

DNF 基金会正在开源社区中面临信任危机

DNF 基金会正在开源社区中面临信任危机

最近,负责掌管 .NET 社区的开源基金会(DotNetFoundation,以下简称 DNF)接连发生了几件有争议的事情,由此引起许多开源爱好者对于该基金会、以及其背后的微软产生了普遍的负面看法。这些事件或许暴露出了微软在开源路线上的一些潜在的问题。

重写 500 Lines or Less 项目 - Contingent

概述

本文章是 重写 500 Lines or Less 系列的其中一篇,目标是重写 500 Lines or Less 系列的原有项目:Contingent: A Fully Dynamic Build System

在原文中,作者(Brandon Rhodes & Daniel Rocco)首先介绍了面向文档的构建系统(以 Sphinx 为例)面临的问题:它们有时做得太多(即便相关内容并未发生变化,也仍然执行了构建),有时却太少(没有发现本应包含的内容变更,因此内容未能得到及时更新)。然后他编写了一个自己的构建系统来解决以上问题。

在阅读原文时,我首先遇到的一个问题是:尽管作者详细说明了问题出现的场景,但该示例相关的文件并未包含在代码库中,想要自己去复现的话,就不得不手写这些文件。虽然示例文件很简单,不过许多人(包括笔者在内)可能并不是特别熟悉 ReStructuredText 标记格式,因此这个工作还是需要一些额外的努力的。为此,我根据原文的描述自己创建了 Sphinx 项目及相关文件,和代码放在一起,有需要的同学可以参考。

2021 新年寄语

对于很多人来说,过去的 2020 恐怕都是充满困难与混乱的一个年头。最大的黑天鹅当然是蔓延全球的新冠病毒,不论全世界任何一个角落的国家或民族,都难以独善全身。各种各样的地缘政治冲突也纷纷不绝,甚至出现了局部规模的战争。好消息是到了年尾,多国的疫苗已经基本到达可用阶段,RECP 和中欧贸易协定也已商定(尽管尚未正式签订)。在已经听够了各种坏消息之后,我们总算可以对未来多一点美好的期望了。