Quank 的 Blog

Quank 的 Blog

一旦舍弃了个性,和死了没什么两样

GuOJ Dev log.2

GuOJ Dev log.2

We build codes done right. 在一段时间的停滞后,项目进行到了基本API和框架完备的阶段,是时候开始开发真正让这个OJ不同的评测系统了。 评测系统执行架构设计 去年年末,我开了一个评测机新坑Shikieiki(名字取自東方花映塚封面角色 四季映姬·夜魔仙那度),调研了一些和评测相关的技术。长期以来,大家有一种设想,使用类似CI/CD的方式配置某种通用的评测系统,社区中也有诸多实现(如Seele)。但并未有一个有足够通用性和健壮性处理大量通用评测任务的评测系统。Shikieiki的目标便是打破这一现状。基于Rust,我们可以设计快速高效的分布式评测系统。具体而言,Shikieiki目前有以下核心构想: * 动态加载的,节点化可配置的评测任务设置 * 分布式的评测后端 * 基于容器化技术的安全评测环境 * 可配置的评测前端选项 接下来,我将简述目前实现这些构想的技术方案。 基于deno_core,Rust支持在运行时直接执行JavaScript/TypeScript代码,有鉴于此,我们不妨基于TypeScript设计一种插件形式。具体而言,一个
4 min read
Akyuu Dev log.1

Akyuu Dev log.1

Intro 因为某个名噪一时的事件,我注意到了一些网络笔记软件。一个类似Telegraph、GitHub Gists的想法在我的脑海里逐渐浮现出来,同时为了满足自己的造轮子欲望和推广一个Markdown WYSIWYG(What you see is what you get, 所见即所得)编辑器Milkdown,于是开了这个坑。这里堆放对这个项目的思考与预期。 Concept Akyuu是一个基于Markdown的轻量化Web笔记软件,支持丰富的扩展语法。Akyuu的理念是“简单,但并不简单”。相比Obsidian、Notion等兴起的笔记软件,Akyuu没有单文本编辑以外的功能,也没有独立的客户端。Akyuu仅提供Web服务与PWA客户端。相比Telegraph,Akyuu不与其他认证提供服务绑定,同样仅用一个URL标识一份文本。相比于GitHub Gists,Akyuu仅用Markdown以及一系列扩展语法功能作为你的文本格式。Akyuu的目标是成为任何用户随手可用的Markdown编辑器。Akyuu的目标是使用Markdown作为框架实现简便快速的富文本编辑体验。Aky
3 min read
GuOJ Dev log.1

GuOJ Dev log.1

Intro 经过多年的拖延、重构、再拖延、再重构,GuOJ这个项目在长期停滞之后重新开始活跃。使用最新的技术栈,我们希望能尽快将这个被我们寄予厚望改变算法竞赛乃至计算机学习生态的平台变为现实,让这只长期咕咕咕的鸽子插上自己的翅膀展翅飞翔。 Briefing GuOJ,正如其名,是一个在线评测系统(Online Judge)。在此之前,从最早的Uva Online Judge,到国内出现的 Universal Online Judge、LibreOJ,再到目前被普遍认可和使用的CodeForces,在非竞赛领域被广泛使用的LeetCode,在线评测系统经过了多年的迭代已经成为了任何对计算机科学抱有兴趣的人或是相关从业者不可忽视的学习工具,同时也成为了部分计算机爱好者社区的中心。然而,多年来在线评测系统与其相关社区的潜力却远远未被完全发掘。这个项目的目的便是研发并实际建设下一代在线计算机科学社区。而针对这一目的,我们希望提升这些方面的体验: * UI/UX设计 * 评测系统可配置性 * 评测服务可伸缩性 * 社区交互性 * 开源模式可持续性 本次的Dev log,我们
6 min read