梨子
从 Gatsby 开始的异世界生活

0. 导言 我要收回上一篇文章里的言论,Gatsby 真香。 我家博客从最初开始写的时候用的是 WordPress,这几年来一直想换一套方案,最近终于找到了一套满意的方案,并且有时间实施这套改造了。为了写文章先写一套主题,然后主题一写好几年,文章还是没有,我就是这样的。 最主要的,我还要感谢这两年的积累。去年我写那个 WordPress 主题的时候,Gatsby V2 才刚刚释出,社区也还不像现在这样想要的好用的插件几乎都有。而现在,能用上这么可心的解决方案,实在是一件令人雀跃的事情。 这篇文章主要记录本次博客改造遇到的问题,以及分享这些天我学到的一些知识。 1. 为什么选择 Gatsby…

阅读全文

Bittersweet
给 Debian 配置 SSH chroot jail

今天由于某些原因,从群友那里听到了使用 chroot 配置 ssh jail 的做法,笔者使用的服务器 OS 是 Debian,在配置过程中踩到了一个小坑,因此在这里记录下来以备后人查阅。 什么是 chroot 在 wiki 上 有关于 chroot 的详细介绍。简单来说,chroot 是一个为特定进程或进程组改变其执行环境的根目录的机制,可以被视作为一种安全隔离机制。OpenSSH 在 4.8p1 版本之后添加了对 ChrootDirectory 配置项的支持,因此我们可以方便地配置某些 SSH 用户,让其工作环境被隔离在某个 chroot 下,就像被锁在 jail…

阅读全文

梨子
使用 React 构建 WordPress 单页应用主题的实践

以下将要介绍的就是你现在看到的这个主题喵! 2019-08-22 更新:换主题了,不是这个了 背景 想要开坑写自己的博客这个历史由来已久。 最初我们的博客是用的 WordPress,为什么呢,因为那时候只知道 WordPress。“又一个 WordPress 站点!”从官网上下载的安装包,轻松几部就搭建了一个“self host”的博客。早年的时候,我和 bs 有一天踩了很多坑以后,说“我们应该开一个博客,记录下这些坑给别人看”,就在某台租的虚拟主机(还不是 VPS…

阅读全文

Bittersweet
20181103 NEUOJ 维护日志

配置 judgehost 为 systemd 的 service,使用 syslog 管理相关日志,抛弃 supervisor domjudge judgehost 5.1.1 存在内存泄漏问题,配置 timer 来周期性 restart 它们 原本 judgehost 的日志时间非常混乱,更改 /etc/php.ini 中 Date 的时区后问题解决 更改 /etc/systemd/journald 使系统日志可持久化 配置 timer 来每天进行 certbot 的证书续期 webserver 的磁盘可用空间不足,经检查是 /tmp 下面有类似 systemd-private…

阅读全文

Bittersweet
2018 ACM-ICPC 沈阳站现场赛环境配置记录

这里是 NEU_Bittersweet,2018年 ICPC 沈阳站现场赛的技术负责人之一。 今年的现场赛尝试性地使用了 Ubuntu 18.04 和 domjudge,尽可能地向 World Final 看齐,虽然踩了一些坑、也有一些小遗憾,但是总体上来说给选手们的体验还是不错的w 感谢和我一起肝环境配置的黑猫、yuki、念、WYJ、大腿、海之树等技术组的同学们,感谢萌萌哒出题人 qls、tls和 cls 给我们带来的精彩题目,感谢刘老师提供的千兆交换机,感谢现场的工作人员和志愿者们(志愿者真是太棒啦!正赛那一天比赛结束后,选手不用离场,志愿者们花了不到 5min…

阅读全文

Bittersweet
2018 年美团在线笔试编程题解题报告

最近各大 IT 企业的实习招聘都已如火如荼的开展,笔者本着“广撒网”的战略投了很多家公司的简历。现在不少知名IT公司(例如阿里、华为、美团)的笔试都已经转移到了线上来进行。笔者于昨晚参加了美团的在线笔试,相比于之前阿里和华为的笔试,美团的考查范围更广,难度也稍微高一些(会问很多计算机领域的基础知识,计网、操作系统、数据结构、算法甚至数据库都有涉及)。闲话不多说,我们接下来就一起看一下美团的两道编程题: 【笔者原创,仅供参考,若有纰漏,欢迎指正】 第一题 字符串距离 问题描述: 给定两个字符串 S 和 T,设 |S| 和 |T| 分别表示 S 和 T 的长度,保证 S 和 T 只包含两种字符a…

阅读全文

Bittersweet
20180921 NEUOJ 维护日志

最近 OJ 遇到了一些蜜汁问题……终于在今天凌晨差不多解决了,胡乱记下这篇日志以备后续查阅( nginx 日志无法写入,表现为 access.log 和 error.log 都为空:nginx 更新之后 /var/log/nginx 的蜜汁权限问题,备份 log 之后将日志文件夹清空,即可看到新日志的生成。 judgehost 在 compile 阶段出现问题,观察 judgings 里面的 compile.out 发现错误信息如下: Compiling failed with exitcode 255, compiler output: /opt/domjudge/judgehost/bin…

阅读全文

转载
Windows 下安装 libsvm for Python

我在安装时,被个 error 困了几分钟:是“WindowsError: Error 193 %1 不是有效的 Win32”. 具体原因出在 libsvm.dll 文件上。关键是要用正确版本的 libsvm.dll 文件替换 windows 下的 libsvm.dll 文件。 解决办法: step1: 去万能宝库( http://www.lfd.uci.edu/~gohlke/pythonlibs/ )上下载对应版本的 .whl 文件 cp 后的数字表示 python 版本,win32 为 32 位机,win_amd64 为 64 位机。这里机器的版本号应和你安装的 python…

阅读全文

梨子
Docker 的安装、连接网络以及从容器内访问 ipv6 的方法

最近在写一个测试 ss 的程序的时候踩了不少坑, 首先呢是 Python 在用 supervisor 运行的时候,异常的信息不会被记到日志里去。虽然说正常我们运行 Python 的时候能在标准输出里观察到异常,但是就是不会被记到日志里去。然后异常了以后程序也不会自己退出,而是一直在那挂起着,所以也不会被重启。于是就给人一种程序莫名地停止工作的错觉。要让 Python 输出异常 就可以了。 好了现在来说 docker 的问题。此前我被阿里云坑了 docker 怎么都连不上网 = = 表现是能 ping,但是不能 curl。不知道谁把我的 tcp…

阅读全文

转载
Two-sum

题目描述 Given an array of integers, find two numbers such that they add up to a specific target number. The function twoSum should return indices of the two numbers such that they add up to the target, where index1 must be less than index2. Please note that your returned answers (both index1 and index…

阅读全文