使用C++编写面向对象的动态链接库
背景 CUPOJ支持许多的语言进行编译并运行。当需要给判题机增加一个新的语言时,更改源代码内容、编译、测试、发布,整个过程需要频繁改动内部代码,这样破坏了开闭原则。 因此不妨使用动态链接库解决这个问题。 然而经过查询,动态链接库是不支持直接导出类型的。好在我们可以通过对基类的继承,在动态链接库的源代码暴露一个一个方法用于返回动态链接库提供的对象。 …
快速安装任意版本的OpenJDK
很多时候我们需要在不同操作系统安装JDK以进行Java程序的开发。 而现在Oracle对于Java的Release管理令人窒息。因此我们需要选择一些不同的方法解决这个棘手的问题。 而AdoptOpenJDK是一个不错的解决方案。 通过访问其官网:https://adoptopenjdk.net/ ,可发现提供了主流的几乎所有的JDK版本共下载。 其…
为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…
为Maven替换阿里云镜像
前言 这段时间需要搞一搞Dubbo的微服务实验,因此需要搞一搞Java。然而Maven拉取依赖的速度令人崩溃,因此考虑替换Maven为阿里云的源,提升拉取依赖的速度。 环境 OS: macOS 10.15.3 shell: zsh 已安装Apache maven 正片 启动terminal, 执行 cd ~/.m2/ 在该目录创建settings.…
2019年年度总结
写在前面 今年1-7月的内容在之前的2019年上半年总结已经写出,在本文不再赘述 流水账 8月 参加阿里百技培训 熟悉公司的技术体系 准备公司转正答辩 9月 通过字节校招笔试和面试 完成实习第一阶段任务 在阿里吃月饼 10月 完成实习任务 回校参加期末考 打铁 加入@PasteUs团队,开发PasteMe CUPOJ Frontend 灰度 CUP…
字节跳动秋招面经(三面+HR沟通)
Status: 口头Offer 笔试 题目4 通过4 Problem 1: 求连通块数量 水题 秒了 Problem 2: 忘了是什么题,不过看起来是某个有名的数列 Catalan数求模逆元 秒了 Problem 3: 忘了 大概是贪心 秒了 Problem 4: 还是连通块 不过高级一点,土法建图T了,思考了一下用了map做了映射,秒了 面试 鸽…
如何获得一份阿里巴巴的实习
个人背景 211高校非重点专业菜鸡 ACM队成员 编写过OJ 使用Markdown制作的简历 用过Github 2019-03-29 投递简历,填写相关信息 在阿里招聘官网上你需要填写阿里提供的关于你个人信息的表格。其中要注意的是开放式问题虽然不是必须回答的,但是这里三道题每一个空都写了不超过1000字,其实就是让你尽可能写够1000字,否则就显得…