人生太短,回忆太长

时间啊,真是又短暂又漫长呢。 记忆啊,真是又模糊又清晰呢。

在这一年多的时间中,见识到了各种神仙,也在各种思想的碰撞中,想的更多更深了。我忽然感觉这一路走来,我好像收获了很多,也失去了很多。今天也是莫名的颓废吧,没有去学校而是从下午两点睡到了晚上六点,做了一个很长很长的梦。惊讶地发现自己白天睡觉能记住梦的同时,也勾起了我许多回忆。也许是时候好好想一想了。 继续阅读 »

非旋转 Treap 模板

题目传送门: 洛谷 P3369LibreOJ #104BZOJ 3224

我们需要实现一种数据结构,实现以下操作。 1. 插入 $ x $ 数; 2. 删除 $ x $ 数(若有多个相同的数,因只删除一个); 3. 查询 $ x $ 数的排名(若有多个相同的数,因输出最小的排名); 4. 查询排名为 $ x $ 的数; 5. 求 $ x $ 的前趋(前趋定义为小于 $ x $,且最大的数); 6. 求 $ x $ 的后继(后继定义为大于 $ x $,且最小的数)。 继续阅读 »

SNIProxy 实现服务器反向代理多个带加密网站

2019 更新: 目前已经改用 HAProxy。 之前通过 FRP 来实现了单个网站不泄露证书的 HTTPS 反向代理,但是缺点是一台服务器只能代理一个网站,即一个前端只能对应一个后端。这多少有些不够方便,也不方便与他人合租一台服务器。

SNIProxy 则是一个不错的解决方案。它通过浏览器访问时提供的 SNI 头来判断访问域名,然后可以根据域名来选择转发请求到何处。由于这个过程不涉及加密和解密,因此除了匹配正则表达式几乎没有性能损失,同时也不需要在前端服务器上部署 HTTPS 证书,也无需担心数据泄露的问题。 本教程适用的 Linux 发行版为 CentOS 7.4。 继续阅读 »

FRP 作为 TCP 反向代理的部署

最近发现经常出现 502 Bad Gateway,这让我很不爽,山河 OJ 刚刚火了不久,怎么就闹出这种事情来。 后来发现是 ZeroTier One 的锅,于是在 Menci 的建议下,采用 FRP 转发流量到家里的服务器。现在稍作记录,以备今后我自己查看和他人配置需要。

双边配置

首先执行 wget https://github.com/fatedier/frp/releases/download/v0.20.0/frp_0.20.0_linux_amd64.tar.gz,下载 frp。并解压。这里我们假定你的 frp 程序在 /opt/frp/ 路径。 继续阅读 »

SYZOJ2 在 CentOS 上的搭建

SYZOJ2 官方只提供了 Ubuntu 的教程,在 CentOS 上,有些东西会不一样。 本文需要对照官方安装指南查看,详情请阅读 syzoj/syzoj on GitHubDemo 服务器账号及搭建指南 – 帖子 – Demo。 这里还有一篇很详细的 SYZOJ 部署指南,是 Masellum 写的。值得参考。

SYZOJ-Web

Web 的搭建相对比较简单。大部分都可以按照 SYZOJ2 官方的教程来做。 这里只说明不一样的地方。 对于在 Ubuntu 下的这段命令: 继续阅读 »