SkyWT / 博客 / Weekly #25:方言才是我真正的母语

Weekly #25:方言才是我真正的母语

2025 年 1 月 20 日 23:30


文章目录

🌇 封面图:信安湖游船

信安湖游船

💬 方言才是我真正的母语

回到老家,我和父母、亲戚都会用方言(衢州话)交流。

我现在觉得,方言才是我真正的母语。尤其是很多方言的表达,在普通话里都是不存在的。我虽然不知道这些词汇怎么写,但每次说起来都倍感亲切。由于用普通话说不出对应的词汇,这就成了无法向外乡人说的话语,成了同乡之间才可意会的表达。

衢州话是吴语的一种。冷知识:Wikipedia 有吴语版本:wuu.wikipedia.org。在这里我第一次看到许多方言用语的书面写法,例如「的」发音为「ge」,居然真的写作「个」;「非常」我们说「jiao gua」,写作「交关」。很有意思!

然而方言也普遍「碎片化」。南方地区方言的一个显著特点是「五里不同音,十里不同调」,连我所在的衢州下辖的一个县级市「江山市」,来自那里的高中同学说的方言,我都完全听不懂。即使是我所掌握的衢州话,也有两个版本:城里的版本和农村里的版本。两种版本在许多词汇上有所差异。我外公外婆说的是农村里的版本,我爷爷奶奶说的是城里的版本。(我妈妈年轻时从农村来到城里,还因为说农村版本的衢州话而受歧视)

所以方言会消失吗?方言基本作为一种口头语言,很难被充分用文字记载下来;方言的碎片化特点意味着每种方言的使用人数并不算特别多;而随着人口流动,普通话的大量普及,我觉得许多方言的失传似乎是必然的趋势。这非常可惜。

记得《繁花》的演员在采访中提到,用上海话表演和用普通话的感觉是完全不一样的。上海话才是上海人的母语。如果在他乡遇到同说同种方言的老乡,那会是多么亲切!

🌍 适合个人网站的全球加速解决方案

本周我正在开发的全新博客系统已经基本完成。关于这个博客系统的细节,包括设计、实现过程中的一些思考,我可能会通过系列博客文章单独分享。(貌似画的饼越来越多了 😓)

关于网站的部署方案,也经历了很多探索:

TL;DR:阿里云 DNS 按地区分流。

  • 网站部署 skywt.cn:
    • 境内:腾讯云部署 + 多吉云 CDN
    • 境外:Vercel
  • 对象存储 os.skywt.cn:
    • 境内:腾讯云部署 MinIO + 多吉云 CDN
    • 境外:Cloudflare R2

最核心的问题是:为了保证我自己对网站的访问速度,我的服务器在境内(腾讯云),域名进行了备案;而对于海外用户或者开了代理的用户来说,访问速度会很慢。针对境内和境外的两种流量,必须有一种解决方案,能够保证两者的访问速度,并且前提是不用花太多钱。

首先,为了区分境内和境外的流量,使用阿里云 DNS 进行分流,可以针对境内、境外线路分别设置解析记录。

对于境内访问,国内云厂商的 CDN 都是不错的选择。其中,又拍云和多吉云提供了不少免费额度。最终我选用的是多吉云。

对于境外访问,则比较复杂。能否依然使用国内 CDN 平台呢?各大平台国际加速都非常昂贵,且分区过于详细(北美区、南美区、欧洲区……),对于我们的网站来说没有必要。能否使用境外 CDN(如 Cloudflare)回源到国内网站呢?答案是不行,国外 CDN 回源境内服务器涉及数据跨境访问,回源时会被腾讯云以「未备案」为理由拦截。因此,只能在境外再部署一套前端。由于新的博客系统是用 Next.js 开发的,最终我还是选了 Vercel。

为了保证数据的同步一致,二者连接的数据库,都选择部署在腾讯云服务器上的 Supabase。(或许之后可以考虑使用 Supabase 官方免费实例,并与腾讯云自部署 Supabase 同步,不过这就有点像分布式数据库了 😅)

除此之外,我还在腾讯云上搭建了 MinIO,作为对象存储,用于图床和文件附件等。在境内,这也由多吉云加速;但在境外,还是无法使用 CDN。我的解决方案是使用同样有免费额度的 Cloudflare R2,一份文件在两个地方分别存储。

(对了,如果你想提前体验一下 👉 daydreamer-next.vercel.app。欢迎锐评)

💡 TWIL:Git 文件系统大小写不一致问题

macOS 和 Windows 的文件系统一般默认都不区分大小写,而 Linux 广泛使用的文件系统基本都默认区分大小写。使用 git 同步代码时,在某些情况下,这会导致诡异的大小写问题。

例如本周遇到的:macOS 本地文件夹名是 Footer,GitHub 上的却是 fotoer,这导致在 Vercel 上构建时,所有代码中包含 Footer 路径的引用全部失败,无法构建。最关键的是 git 认为仓库是完全同步的。感觉就像是见鬼了 👿。猜测产生这种现象的行为是:一开始文件夹名为 footer,后改名为 Footer

解决方案一

git config core.ignorecase false

对于已经出现此问题的项目,更改该设定后可能出现更加诡异的情况,例如本地只包含 Footer,远程包含 Footerfooter 各一份 😇。因此,最好再结合以下方法:

解决方案二

在区分大小写的文件系统中(别的 Linux 主机,或 GitHub 在线 IDE)将文件名修正,然后在本地重新 clone。这是最简单的方法。

解决方案三

格式化磁盘或重装系统时,选择区分大小写的文件系统 😡。下次重装系统一定要注意。

解决方案四

一切文件名统一使用小写命名。UserMenu 组件命名为 user-menu.tsx。组件库 shadcn/ui 就是这么做的。这是长久而言最为保险之计。

📚 本周在读:《关于说话的一切》、《平面国》

  • 关于说话的一切》:从本质上介绍「说话」这一行为。比较硬核,但读起来感觉醍醐灌顶。还没读完,之后再详细分享。
  • 平面国》:描述了一个二维国家的世界观。二维世界的人物无法理解「一维世界的人无法想象二维世界」这件事情,但他们自己也无法想象三维世界。身处三维世界的我们亦如是。作为 19 世纪的作品,除了在科幻概念上的先进性,本书还对二维平面国的政治形态进行了辛辣而真实的讽刺。

🌟 Bookmarks

Articles:

Blogs & Books:

Cool Sites:

Tools:

下周见!


暂无评论


发表新的评论

所有评论都将经过博主审核。请勿填写无意义邮箱或发表无关评论、广告等,否则会被视为垃圾评论。

提交评论即表明你同意本网站使用 Cookie,并允许本站在后台记录你的邮箱、IP 地址等必要信息。这些信息不会被透露给其他用户。(提交一次评论后,本提示将不再展示)