Towdium's here

The misfits. The rebels. The troublemakers. The round pegs in the square holes.

家庭网络杂谈(三)—— 硬件

路由器 上一期说好了来聊聊硬件,那我们就先从路由器说起。在我的规划中,PC 这样的核心设备都需要有线接入,这样速度和可靠性都要有保障得多。而无线路由器的用途仅仅是提供手机等无线设备的网络接入。因此,我们对于无线路由器的需求也仅仅是高覆盖与高可用,至于速度,只要够用就行。不过话又说回来,只要我们的信号覆盖足够好,稍微新一点的设备在速度上都不会有问题。 这本来不是什么大事,但是由于我住的桥洞...

家庭网络杂谈(二)—— 拓扑

拓扑 上一期我们讨论了各种 VPN 技术,这次我们就可以看到相关技术在实际组网中的应用了。这次我们会简略介绍各台设备的作用,其中比较有趣的部分我们还会在后续章节详细讨论。下图所示就是我目前使用网络的简易拓扑图了,其中灰色方框中的设备实际上是一台物理机上虚拟出的多台设备。需要指出的是,这个系列插图使用的设备图标来自 AWS 图标集,使用 draw.io 就可以调用了。 当前组网中有名字...

家庭网络杂谈(一)—— VPN 概述

前言 这是我一年以来一直计划的长篇连载,但是一直苦于没有时间把坑填上。家里的组网实际上一年以前就基本定型了。如果开坑再早上半年,除去我目前计划的内容,还有很多有意思的东西可以和大家分享,不过现在已经忘记很多了。但是没有关系,我们可以聊的仍然很多。这个系列我本可以起一些很有话题性的标题,诸如“AIO NAS 组网详解”之流,但是我最终还是选择了这么一个普通的标题。其中原因也很多:首先,这里面...

写在入职一年后

最近 距离上一篇日常又是将近两年了。这段时间用两个词来说就是简单而忙碌。在家里一边躺尸一边找工作地度过半年之后,入职菊厂过上了社畜的生活,至今为止入职将近一年。我写这篇日常并不是作为这段时间的总结:这段时间内我在开源社区内的工作无非是在原先基础上吃力地修修补补;在单位的工作也不过刚刚上手——你可以认为是开始的结束,也当作结束的开始;除此之外我还有一些在做的事情,现在下结论也为时尚早。难得有...

从费马小定理到数组旋转

前言 不出意外,这是一个“智障T”式的标题,屁大点事能给说成是天大的事情,但是我既然这么说,自然是有关系的。故事的起因是这样的,我几个月前在脉脉上读到一道题,内容大致是说给定一个数组,将其中所有正数移动到负数之前,并且保持正数和负数内部的顺序不变,要求空间消耗为常数。事情的结果不出意外,虽然我给出了基于数组旋转+并归的 $nlogn$ 解法,依然被淹没在了一堆 $n^2$ 的解法之中。 ...

再谈拼音匹配(五)—— 杂项

再谈拼音匹配系列目录: 第一节 即时匹配与语境 第二节 传统的字符串索引 第三节 拼音树(上) 第四节 拼音树(下) 第五节 杂项 所有内容的实现细节参见 PinIn 前言 在啰嗦了两节之后,我们终于介绍完了拼音树相关的内容。这一节作为整个系列的结束,我会把剩下的内容全部填完,这其中包括了拼音树以外的搜索结构,各类结构的性能测试,被废弃的设计还有潜在的开发方向。 其他...

再谈拼音匹配(四)—— 拼音树(下)

再谈拼音匹配系列目录: 第一节 即时匹配与语境 第二节 传统的字符串索引 第三节 拼音树(上) 第四节 拼音树(下) 第五节 杂项 所有内容的实现细节参见 PinIn 前言 上一节我们说到,通过在字典树中添加胶水层,我们可以令字典树执行拼音匹配的逻辑。但是字典树的内存占用本来就不理想,在添加胶水层之后就显得更加臃肿了。我们迫切需要一种办法来优化字典树的内存占用。除此之外...

再谈拼音匹配(三)—— 拼音树(上)

再谈拼音匹配系列目录: 第一节 即时匹配与语境 第二节 传统的字符串索引 第三节 拼音树(上) 第四节 拼音树(下) 第五节 杂项 所有内容的实现细节参见 PinIn 前言 今天我们将要迎来这段连载的核心部分——拼音树。简而言之,他也是一种后缀树的变种。类似于传统后缀树树的使用场景,拼音树同样被用来对大批量字符串执行子串匹配。唯一不同的是,这里我们使用拼音子串来匹配汉字...

再谈拼音匹配(二)—— 传统的字符串索引

再谈拼音匹配系列目录: 第一节 即时匹配与语境 第二节 传统的字符串索引 第三节 拼音树(上) 第四节 拼音树(下) 第五节 杂项 所有内容的实现细节参见 PinIn 前言 正如上一节结尾所说,这一节我们将会讨论传统的字符串索引。考虑到本节的核心目的只是为了后面章节的内容做一些铺垫,所以内容仍然会保持在比较浅显的水平。至于一些针对性很强的加速算法,由于他们和本项目的关系...

再谈拼音匹配(一)—— 即时匹配与语境

再谈拼音匹配系列目录: 第一节 即时匹配与语境 第二节 传统的字符串索引 第三节 拼音树(上) 第四节 拼音树(下) 第五节 杂项 所有内容的实现细节参见 PinIn 前言 最近这两三年以来,除去学校里做的零零散散的项目,我剩下的绝大部分时间都用在了 JECa 和 JECh 两个项目上。实话说 JECa 是一个比较传统的 Minecraft 项目:大量的代码用于描述世界...