致我所深爱着的世界

Windows Terminal 安装与配置指南

自今年微软开发者大会 Build 2019 中首次亮相以来,经历了近半年的发展,万众瞩目的 Windows Terminal 已经日趋成熟。从十月份开始,我将其作为主力终端使用了一段时间,暂时还没遇到什么严重的问题。

为了方便其他想要试试 WT 的选手,这里我将安装配置过程中的一些步骤以及踩到的坑整理成文,希望对各位有所帮助。

> READ MORE...

使用子文件夹管理 Hexo 文章且不改变文章永久链接

在 Hexo 中,我们可以通过站点配置中的 permalink 配置项来指定文章的永久链接的格式。比如说默认值是 :year/:month/:day/:title/,那么一篇 slug 为 hello-world 的文章,最终生成的链接就是 2019/10/13/hello-world/

如果你不想分得这么细,也可以根据自己的喜好 自定义这个配置项。本博客就将其设置为了 :title/,即仅使用文章的 slug 作为永久链接,更清爽一些。

但是这样一来,文章源文件的管理就有点难办了。Hexo 中所有的文章(Post layout)都存放在 source/_posts 目录中,如果仅使用 slug 作为文件名的话,文章一多就会出现乱成一坨的惨状 —— 只能通过文件名查找,根本无法通过日期定位文章!

> READ MORE...

使用 URL Mapper 迁移整理 Disqus 评论

本文主要介绍了 Disqus 提供的评论迁移工具之一,URL Mapper 的使用方法。

起因与问题分析

Disqus 评论系统以其几乎零配置的安装方式为众人所称道。只要把后台提供的代码插入到页面 HTML 里就能加载评论区,非常方便快捷(虽然被墙了)

然而,无需配置这一点也带来了些许隐患。

> READ MORE...

博客更新报告:2019 年的第一篇博文

哎呀你看,这人博客草都长三米高了耶!博主好摸哦!


好久不见。各位最近过得怎么样?我还是老样子,忙。又摸又忙。

大概从去年年底开始到最近几个月,我在某个项目(大概能算是项目吧?)上投注了大量的时间和精力,以至于基本没有时间顾及这边的东西。从我的 GitHub 格子就可以很直观地看出来,我这一年实属摸得透彻。

github-activities-2018-now

至于在忙什么,等到以后能公开的时候我会写一篇博客聊一聊的。

回到正题。这次久违的博文主要是报告一下博客的变化。没错,我终于换主题啦!

> READ MORE...

为 Hexo 博客添加隐藏文章 / 限定公开功能

隐藏博客中某些特定的文章应该算是一个比较常见的需求,毕竟谁都有些不希望让别人看到的东西。当然啦,你可能会说,「不想被看到就不要放到博客上来嘛」。话是没错,不过有时候人就是这么别扭,想让某些文章被看到,却又不想被所有人看到,又或者是某些文章只想和自己熟悉的人一起分享。

于是我写了一个 Hexo 插件 hexo-sage-posts 来实现这个需求(网上也有一些关于 Hexo 隐藏文章的教程,不过一般都要求修改主题文件,还是我这样写个插件更通用一些)。它的功能如下:

  • 在博客的所有文章列表中隐藏指定的文章(包括首页、存档页、分类标签、Feed 等);
  • 被隐藏的文章依然可以通过文章链接直接访问(比如 https://hexo.example/{slug}/);
  • 除非知道链接,任何人都无法找到这些被隐藏的文章。

如果你用过 YouTube,应该会比较容易理解这一套逻辑。当一个 YouTube 视频被设定为 限定公開(这是日文的译文,我觉得这个比较贴切。中文译作「不公开」,英文为 Unlisted)时,这个视频就是 只有知道链接的人才能访问,既不会显示在频道中也不会被搜索到。本插件就是借鉴抄袭的这个功能。

> READ MORE...

Windows 下手动搭建 PHP + Nginx/Apache 开发环境

看到这个标题,有人可能会想吐槽:

你他娘的写了这么久 PHP,怎么现在想起来搭建开发环境了?

呃,情况呢是这么个情况,我之前开发的那个 PHP 项目 (printempw/blessing-skin-server) 在两个月前发布 v3.5.0 版本后基本就已经告一段落了。虽然我本意是不再更新(弃坑的委婉说法),因为当前的版本已经足够完善,该有的东西都有了(而且说实话搞了这么久我也腻味,不仅是对这个程序,还有对国内 Minecraft 开发生态以及用户群体的失望)。

不过我的朋友 g-plane 说他愿意接坑,所以现在这个项目的后续开发都是他在搞。而我也乐得清闲,做个甩手掌柜 搞别的 去了。当我摸鱼正快活时,他过来联系我说准备发布 4.0.0-alpha 了,我才想起来这茬:「啊,我连新版本长啥样都还不知道呢!😂」于是急急忙忙 pull 了新代码准备 review 一下,却发现我的新笔电上甚至压根儿就没安装 PHP 开发环境,只能说是非常地真实。

因为 某些原因,我不想继续使用那些 PHP 一键包来搭建开发环境了,所以这次我打算全部自己来。本文记录了我手动安装配置 PHP + Nginx/Apache 开发环境的过程,希望能帮到后来人。

注意,本文中的配置适用于本地开发环境,应用至生产环境时要注意哦。

> READ MORE...

一种监测 VTuber 直播并自动录像的方法

首先是惯例的闲聊时间。

虽然这是我第一次在这个博客中提到 Virtual YouTuber,不过我大概也算是比较早开始看 VTuber 的那一批人了。从始皇帝老爱(キズナアイ)诞生、四天王聚首,到年初 狐叔 引领的个人势井喷,再到以彩虹社(にじさんじ)为首的 2D 势、杂谈生放势展示了 VTuber 更大的可能性,而注意到这块肥肉的资本们也纷纷入场,百花争鸣的 VTuber 战国时代就此拉开序幕……如此种种,VTuber 界的快速发展令人眼花缭乱,也难怪有「一个月 = VTuber 历一年」的说法。

不如说 VTuber 的世界实在过于精彩,每天都有大量好玩的内容产出,以至于我甚至已经很久没有看新番动画等传统 ACG 作品,就连游戏也不玩了,只能说 VTuber 沼恐怖如斯。

meme_i_am_ok

为什么突然谈起这茬?其实我一直都想写一篇关于 VTuber 的文章,但是当时由于学业之类的原因只能搁置。然而到了现在,时间和精力确实是有了,但是正处繁荣期的 VTuber 市场的复杂度,却已经不再是我这孱弱的文笔能够描绘的了。只能说,非常遗憾。

既然写不出来,那就不写,这是我写博客的标准。如果参考别人的文章照猫画虎、东拼西凑,确实是能挤出一点像样的文字,但那种中途半端的东西又有什么意思呢?我写博客是给自己看的,不是拿去哗众取宠的。所以,牛逼的文章就交给牛逼的人去写,我只管写我自己能写得出来的东西就够了。

好了,闲话休题,今天我们的主题是「如何对 VTuber 的直播进行自动录像」。

> READ MORE...

phpStudy 访问探针页面出现 502 Bad Gateway 的解决方法

不要问我为什么要用 phpStudy,我也不想。

TL;DR 太长不看

Windows 环境下的 PHP 7.2.1 / 7.1.13 这两个版本有问题,在执行 getenv() 函数且第二个参数为 false 时,会造成 PHP FastCGI 进程 ( php-cgi.exe ) 崩溃。这是一个已知的 BUG,并且已经在 2018-02-01 发布的 PHP 7.2.2PHP 7.1.14被修复 了。

然而遗憾的是,你现在(截至发稿日 2018-10-21)能在 phpStudy 官网下载到的最新的集成环境,其中的 PHP 版本依然停留在 7.2.1 与 7.1.13。惊不惊喜,意不意外?

phpstudy-fake-version-7210

最绝的是,phpStudy 明明自带的是 7.2.1 版本的 PHP,却在界面上显示成了 7.2.10,是我瞎了还是你瞎了?补零也不是你这么补的啊兄弟……

修复方法也很简单,升级 PHP 版本即可

下面开始讲废话。

> READ MORE...

新的网络昵称:PRIN 🍮

这不是我第一次这么想:

我的常用 ID printempw 太难读了。

有多难读呢?难读到连我自己都不知道这玩意该怎么读。

这个 ID 的词源是法语的 printemps*(春天,春季),将这个单词尾部的 *s 替换为 w 后……才怪嘞!我又不会法语,怎么可能是这么高大上的理由嘛(笑)。虽然词源确实是法语,但这个单词是我看了《LoveLive!》后才知道的 —— Printemps 同时也是企划中 高坂穗乃果、南ことり、小泉花阳 组成的 μ’s 三个小分队之一。当时正好沉迷 LL,取 ID 时顺手就用了这个,因为 printemps 已经被占用了就稍微修改了一下变成现在的 printempw ……

嗯,真的是个怎样都好的理由。XD


关于读音,法语单词 printemps 的读音是 [prɛ̃tɑ̃],LL 中 printemps 的读音是 [プランタン](到这里就改得没原型了……日本人的外来语发音一如既往地奇妙),按照英语的发音习惯 printemps 大概可以读成 [prɪnˈtemps],而将单词尾部的 s 修改为 w 后应该读作……

meme-duck-question-mark

因此,这几年我一直致力于给自己起一个简单易懂、中日英三语都易于发音、和 printempw 这个常用 ID 有关联、最好能够可爱一些的昵称,但是苦于一直找不到合适的。

然而就在前几天的高数课上(?),我灵光一闪:

printempw -> PRIN -> プリン -> 🍮 -> 布丁!

唉,我他娘的可真是个天才。(不)


情况呢就是这么个情况,这就是我以后的昵称了:

  • 书写:PRIN(中文语境下也可以写成 布丁);
  • 读音:[プリン] 或者 *[prɪn]*;
  • 变动的只是昵称,ID printempw 依然保持不变;
  • 当然,你不用这个称呼我也不会介意的。:P

以后博客标题可能也会作出改动,请多关照。🍮

使用 VS Code 搭建适用于 ACM 练习的 C/C++ 开发环境

大学入学也快一个月了,总的来说,我过得很开心,不枉我花费一年的时间 高考复读。具体哪里令人开心呢?我觉得最主要的是,比起初高中,大学的时间分配更为自由。

中学时代,学生的时间基本都被学校安排得死死的:早上什么时间必须到校,然后开始早读、上午五节课下午三节课、晚读、晚自习,最后在规定的时间离校(住宿生还要在规定的时间就寝),可以自由分配的时间少得可怜,在某些管理严格的学校甚至连人身自由都要被限制。虽然学生们苦中作乐的摸鱼技巧也不容小觑,但考虑到升学的压力,如果在兴趣上分配的时间过多,很有可能就会像我去年一样落得个无法升学的尴尬境地。

而大学相对来说就没有那么多破规矩:有课就上,没课的话时间就随你安排,回寝室睡觉也好出门嗨皮也罢,突出一个爱干嘛干嘛。在这些闲暇时间里,有人选择加入社团以及各种各样的学生组织,有人寻欢作乐讴歌青春,有人一头扎进自己的兴趣爱好中,也有人选择当个快乐摸鱼侠无事一身轻。

而我就比较硬核了,我选择参加可能让我基本告别头发的 ACM 程序设计竞赛(不)。

cs-no-hair

好啦言归正传,今天我们的主题是在 VS Code 编辑器中搭建适用于 ACM 练习的 C/C++ 开发环境。

> READ MORE...