分类: Node.js

8 篇文章

CUP Online Judge接入爱发电
CUP Online Judge是我大学期间投入时间最多的一个项目。而随着我大学四年即将画上一个句号,这也代表我对内网的CUPOJ的维护接近尾声。 因此在大四的最后一个学期,我把整个项目仔细重新包装,做成一个带文档(正在努力中)、可轻松移植部署的开源项目。 因此我接入了爱发电从用爱发电到用💰发电 https://afdian.net…
Vue+TypeScript+Web Worker部署实践(Vue-cli)
背景 页面中的JavaScript是在单一线程中运行的。若页面代码的逻辑过于复杂、或者存在密集计算的情况,容易阻塞其他的方法运行。 对于目前大多数计算机都使用多核CPU,使用单线程模型浪费了许多计算资源。 而Web Worker给了我们一种新的解决办法。 开始 需要的依赖 * worker-loader * typescript * promise…
为VuePress项目尝试加入CDN的尝试
背景 前一篇文章中我谈到如何修改vue.config.js为Vue-CLI项目添加CDN,实现为静态资源加速的目标。 考虑到VuePress静态资源为数也不少,因此也尝试为其打包的结果做一下CDN。 目标 尽可能将静态资源请求到CDN上 正文 通过研究VuePress的文档,官方并没有向Vue-CLI那样提供一个path使得静态资源重定向到目标的U…
使用Github Actions自动编译、打包、发布Vue项目,并使用JSDelivr作为CDN加速
去年5月CUPOJ前端使用Vue进行了重构,因此使用Vue-CLI打包变成了每次发布新的变更必不可少的一个任务。 由于前端项目本身代码量较大,逻辑也比较复杂,打包起来对性能要求相对较高。平时都是在学校服务器直接打包后复制dist目录下的文件到指定文件夹来部署。 每次都执行同样的代码比较痛苦,便写了一个简单的脚本,把整个过程变成了一键部署。若是能够把…
快速部署CUP Online Judge判题机
经过进一步的打磨,CUP Online Judge的判题机终于独立于前后端,可以作为一个后台服务在系统运行了。 考虑到判题过程强依赖操作系统环境,因此整个过程我也打了docker-compose包,不想看下面冗长的部署内容,直接使用的可以前往CUP Online Judge NG Docker Judger体验懒人部署的快感。 系统要求 Ubunt…
CUP Local Judge Project
考虑到本地测试题目数据/离线在线评测的需要,计划在CUP Online Judge现有工具链的体系上,开坑CUP Local Judge 计划。(简称CUPLJCUP辣鸡?) CUPLJ计划实现下列功能: * 读取RPK文件,提交代码完成本地编译运行,并按照CUPOJ标准输出比对结果。 * 根据用户选定文件夹,对用户代码进行本地测试运行并输出比对结…
Node.js SQLite3 module not found 的解决方案
用electron构建桌面程序中,若需要使用sqlite3作为数据库,经常会出现测试过程中报错module not found问题。然而在安装过程中,sqlite并没有出现任何问题。 这是因为sqlite3使用了node-gyp模块,在不同的操作环境下可能需要重新编译源码。 目前针对这种情况有两个可行的解决方案,根据实际测试,这两种解决方案均可以解…
为tj/n设置本地代理升级node
n是一个非常方便的升级nodejs的软件。 升级node只需要执行n latest就能升级到最新的版本 升级稳定版只需要n stable 而升级到特定的版本则是n ${version} 当环境需要使用n升级,却需要使用代理访问互联网时, 则需要设置 export HTTP_PROXY=http://your_proxy_addr:port expo…