Remix 多语言跳转 / 检测 URL 跳转与内容的测试脚本

今天的工作依旧是在搞公司网站的 SEO 优化为主,主要的实践经验在多语言相关的跳转实现方面。Remix 并没有提供什么开箱即用的相关 API,遂自己实现(NextJS 貌似也得自己做)。

例如 https://paul.me/home 需要跳转到 https://paul.me/zh-CN/home 下,我的方案是匹配 pathName 做分割并假设它是支持多语言的链接,如果能匹配对应语言则先跳转到对应链接,不能就不跳转,显示英文内容,最后再检查是否存在对应页面,如无则返回 404。

另外还实现了一个检测 URL 状态码、跳转链接和返回内容的 NodeJS 测试脚本,以对 SEO 优化需求驱动的站点迁移结果做验证。我首先使用的是 fetch 来编写,结果发现遇到 301 请求时无法拿到 Location 头,尝试了 NodeJS 内置的 https.request API,它可以正常获取。这个脚本相较于浏览器手工测试,还不需要考虑浏览器缓存的问题,更快找出问题。

晚上回到家,大人们被拉去“开会”了,就我一个人在家。我亲戚说是要尝试做生意,也不知道是叫上他们商量合伙还是讨论具体可行性。唯一我知道的就是原先他们在阳江开的公司做不下去了,才会想着另谋出路寻找其他方向创业。有这个精神确实很好,但是创业的确很难长期一帆风顺。

我直播修改起了自己的微信小程序,继续细化调整 UI 方面的改进,弄到快十一点提交审核了。之后日常原神和崩铁,不过明天崩铁就要更新了,也不知道是不是立马就能抽流萤...

第二次看医生 / 调整小窝小程序设计

  • 吃了药下午肠胃依旧还是不太舒服,第二次去看医生了

    • 相较于第一次肠胃不舒服,这次更严重了,大便和水一样,吃了饭就想上厕所
    • 去抽了个血,但是结果得知并没有感染
    • 还是熟悉的药方,调节肠胃功能的西药,我也不知道我的肠胃究竟经历了什么
    • 难道因为经常熬夜吃了点东西,还是因为前几天喝了杯蜜雪冰城?影响会这么大么?
  • 修复小窝小程序新设计中边框变成直角的问题

  • 继续优化小窝小程序的首页设计

    • 调整了日记部分,和之前网站一样全部都是四宫格确实太单调
  • 继续整理 2023 年 9 月的图片准备上传小窝相册

    • 主要是去海岛旅游的图片,信息量略大,还有一些短片需要转码
  • 发推特遇到了 @赤茶 大佬的关注,他加了我的企鹅群

    • 他的网站加了 @Innei 的友链,估计是被推到了,又是一次偶然的邂逅
  • 下单购买了优衣库的《我推的孩子》联动款衣服,并在群里讨论

    • 虽然我没看过这部番,但是我觉得值得收藏一件(当然还是会穿上
    • 二次元有什么,这图案又不是非常明显,还比痛衣有设计感一些
    • 想要被别人注意到,就得和其他人不同,你我都一样不就是路人面了么

第一次去漫展

上午平平常常,九点半就起床了,吃了粽子作为早餐。午饭后想着下午有一场免费漫展,这么好的机会不去看看可惜咯!说干就干,午觉也没睡就坐车过去了,可惜没有搭子一起,感觉难免会很紧张了。

抵达目的地之后找了个位置坐下,尝试通过群认识同样独自来的同好。结果此前第一位说不敢集邮的老铁默默开溜了,尴尬。去便利店买了瓶水喝,休息区有不少 Coser 在休息,但是我不太好意思去打扰...

快四点左右宅舞活动开始了,我才混入人群中尝试掩盖着无比尴尬的自己。后续认识了群里另一位老铁,他也是独自一人来的,和他对话初步了解了他的偏好:看番、手游,和我差不多,手游主要是火影(此时此刻我想到了一位群友)

我算是比较主动和他聊天了吧,面对我的问题他没遮遮掩掩,但看上去他也没有其他想和我聊的话题。但这也很正常,并不是所有人都很会聊天的。我发现之所以我的朋友能成为我的朋友,他们基本上都是毫无顾虑的就能与我接上话,哪怕接不下去也会主动换话题,即便我和他都很腼腆。或许也就是因为彼此的这种默契,才会和他们逐渐熟络吧。

在他的“激励”下我第一次主动和现场的胡桃、琳妮特(应该是搭子)集邮了,真的紧张又刺激!后续得知另外一位群里发了不少照片的老铁,有些年纪了,应该算第一批老二次元了,他在我面前现场演示和其他老师集邮,一切行云流水。可惜我约定了一场饭局的时间快到了,现场也不少 Coser 老师陆陆续续离场了,下次漫展继续加油吧!

我的想法很简单,先克服自己的社恐症,至少不要面对老师们还这么紧张吧。但今天我踏出了第一步,希望真能像我同事 @Conner 那样让自己变得更强大吧。

晚上的饭局都是家里人,也是平平淡淡的,也就只和我正在谈恋爱的表哥聊了聊。他的对象比较粘人,做什么事情不叫上她估计都不开心的。我感觉我不太喜欢这种类型,我更想彼此都有自己的自由时间,只要不做出对双方感情有伤害的事情就行了。

继续研究音频处理相关内容

  • Code Snippets 仓库上传了三个 Demo

    • 使用 contentEditable 的一个简单文本编辑器
    • 使用 AudioContext 实现不断的静音音频流(单 + 多输入)

      • 主要可以控制多个输入源的音量大小,同时让一条音频流保持激活状态
  • 期间涉及到多种 AudioContext API 的使用

  • 做技术调研类项目,最麻烦的是 Demo 无处安放

    • 直接修改项目的开发分支,后期可能需要删除就非常麻烦
    • 方案一是前后端分别给某一个分支设置一个 CI,单独用于测试
    • 方案二是单独开新仓库分别实现,但这样需要一些前提因素,以及重复使用某些依赖库
    • 综合来说方案一可能是最好的,或者前端单独拆分,避开一些重业务流程的修改
  • 给微信小程序申请备案,接到电话帮我把描述信息改了一下

    • “小程序用于个人生活信息的记录及分享,包括日记、相册等”
    • 备案本身不用钱,就是年审要钱==
  • 补全两张小窝相册的媒体(重制)
  • 下载注册了鸣潮,简单过了下开头剧情

    • 基本就是原神的战斗 Plus 版,大多数设定几乎一致
    • 整个游戏就只想抽安可,粉毛萝莉谁不喜欢啊

获取音频流的实时二进制数据

  • 公司项目有个试验性需求需要调研前端如何获取音频流的实时二进制数据,依旧是先问 GPT

    • 首先了解到的是 AudioContext,其 createScriptProcessor 可用于返回二进制数据,但该方法已标记为弃用
    • 搜索得知 AudioWorkletProcessor 是其替代方案,使用其 process 方法结合 port 推送数据给前台,再经过 WebSocket 转发即完成过程
    • 使用 AudioWorkletNode 连接音频输入源到该 Processor 即开始处理
    • 谷歌这个获取音量大小的 Demo 比较有参考性
    • 期间复制代码到本地无法运行,发现是 AudioWorkletNode 不能在 InlineScript 下运行,必须在某个单独 JS 文件下才行
    • 接下来还得看服务器端能否正常接受这个数据,是否还需要做额外的处理(编码,格式标头等)
  • 晚上看了一集高木同学
  • 小窝后端新增罗列前端展示设置的接口
  • 小窝新前台修改了获取设置的逻辑,数据存储在 Pinia 里面

  • 日常原神和崩铁子

520 什么鬼

又是一年一度的 520,爱人先爱己,我又给自己买了件小手办,是崩铁的黑塔转圈圈,准备放在公司,就是看备注改了说是 7 月左右才有货,这才隔了一两天就截止掉 5 月份的出品了啊,手办预售就是太折磨人了,也不知道什么时候发货了...

既然是 520 那也自然少不了舔狗们创造的各种有趣的段子,在各种群吃了不少瓜。往常都有说去垃圾桶捡垃圾碰碰运气的,可能已经被很多人知道了,那些收到舔狗礼物的女生宁愿出掉也不扔了。其中同事给我分享了一个奇葩女,她就是收到了某可怜舔狗的花,结果在群里问有没有谁收,毫无疑问自然没有。这还不是最有意思的,后续还说了一句“连花店都不要”,花店多备货都卖不出去了还要你的二手货,人家商家也不是傻的啊。

鉴于看了不少视频和刷到不少段子,我想趁机发布一篇有关胖猫事件的博客正文,这么一看也确实有很长时间没发布过文章了,写到了快一点半,原神已经没有时间玩了。

记录日常

下午和前同事去看了《间谍过家家 代号:白》,世界观设定方面就是在第二季之后,因此看过之前的两季番剧会更好。主要剧情和前面邮轮的类似,这次的浮夸可谓是做到底了,直接“一家三口灭了整个军团”。过程依旧是比较搞笑,强烈推荐去看看。

晚上又是日常去亲戚家做客,写了两篇日记,看了看推和 RSS 订阅,还在漫展群偶然扩列了一位老师。她的头像是轻音的呆唯,还好这是我熟悉的,也是以这个作为话题简单的聊了聊。

回到家洗澡之后没着急睡觉,而是去更新了一下小窝的页面内容,包括但不限于“关于我”、“心愿”,随着新版网站上线,一些内容很久都没得到更新了。

1
2
3
...
6
奇趣音乐盒技术源于 Kico Player
Emmm,这里是歌词君