一个没有常识、活在自己世界中的中二病人(话痨)的自留地。
该频道不专注于 Daily 或 News,而是一个记录我当前关注和思考内容的地方。
1. 随机事项:每月为自己安排一些有趣的活动。(大概率🐦🤣)
2. 同步内容:我会收集在其他平台上发布的内容。
3. 私人笔记:没经大脑的学习笔记以及一些个人随想。
4. ACG 内容:浓度高的部份还是挪到 另外一个频道 @tomoko_acg。
5. 内容转发:在这个频道上转发的内容并不必然代表我个人的立场。
该频道不专注于 Daily 或 News,而是一个记录我当前关注和思考内容的地方。
1. 随机事项:每月为自己安排一些有趣的活动。(大概率🐦🤣)
2. 同步内容:我会收集在其他平台上发布的内容。
3. 私人笔记:没经大脑的学习笔记以及一些个人随想。
4. ACG 内容:浓度高的部份还是挪到 另外一个频道 @tomoko_acg。
5. 内容转发:在这个频道上转发的内容并不必然代表我个人的立场。
🔖 美国施加超预期关税,会影响到中国游戏产业吗? - 触乐 #pinboard #game #til
https://www.chuapp.com/article/290562.html
在多边贸易体制下,关于数字产品的关税适用有一项重要的国际共识,即世界贸易组织(WTO)的《电子商务暂停令》(E-commerce Moratorium)。自1998年起,WTO成员国一致同意暂时不对数字贸易(或称“电子传输”)加收关税。所谓“电子传输”并无严格定义,但实质上指通过互联网跨境进行的商业交易,包括软件、数字电影、音乐、电子游戏等各种数字化商品和服务。当时,数字贸易刚刚起步,根据这一制度,各国禁止对跨境发生的数字产品交易征收进口关税。此后在每2年一次的历届部长级会议上,WTO成员都同意延续该暂缓令。
https://www.chuapp.com/article/290562.html
从零开始使用 Hugo 在 Cloudflare Pages 上搭建 TIL 博客
https://til.niracler.com/post/2025-03-13-build-til-blog-by-hugo/
#touch_fish #blog #til
OpenWrt 最初是为嵌入式设备开发的路由器系统,而不是为 x86 平台设计。这导致它采用了与传统 x86 系统完全不同的分发方式:
- 没有安装程序(installer),只能通过直接写入镜像(dd image)的方式安装。
- 默认只有约 120MB 的根分区大小,需要用户根据四种镜像的情况进行扩容。
https://forum.openwrt.org/t/howto-resizing-root-partition-on-x86-march-2023-edition/153398
#TIL #WTF
- 没有安装程序(installer),只能通过直接写入镜像(dd image)的方式安装。
- 默认只有约 120MB 的根分区大小,需要用户根据四种镜像的情况进行扩容。
虽然这种设计对新用户不够友好,但它反映了 OpenWrt 的嵌入式系统本质和注重安全性的设计理念。
https://forum.openwrt.org/t/howto-resizing-root-partition-on-x86-march-2023-edition/153398
#TIL #WTF
Node.js 纪录片感想(小抄)
1.
Ryan Dahl 创建 Node.js
当时流行的 Web 框架(如 Ruby on Rails)在处理高并发时效率不够高,特别是在处理 I/O 密集型任务时性能显得不足。虽然这些框架也支持异步 I/O,但用起来很别扭。
他也尝试过其他语言(如 Python、Lua、Haskell),但发现这些语言的运行时已经沉淀了多年,深受传统同步编程模型的限制,很难进行根本性的变革。
于是 Boy Meet Girl,算是终于让他看见了 Javascript 这个本身就在浏览器中天天需要处理异步场景的语言。(JavaScript 本身就依赖事件循环和异步操作来处理用户交互与网络请求。)
关键点是 easily build optimal server 以及 forcing them to only use async IO。也是 Node.js 的核心优势。
2.
Isaac Schlueter 加入 & npm 的诞生
这点倒是没什么好说的,pip 比它要早一点,08年 vs 10年。
想起我大二那年,被 pacman 什么都能下载给震撼住了。真的是,生在这种什么都有的年代真是被惯坏了。不过即使我在那个年代,也不会造出这样的轮子吧
3.
Joyent 买下 Node.js
这一阶段就是真的让 Node.js 成为一个企业级产品了,毕竟有公司去资助一批工程师去全职开发。
也是在这个阶段支持了 Windows,让用户量大大增加了。(通过实现 LibUV 库来处理 Windows 特有的 I/O 操作和事件循环,兼容了 linux 和 win 的操作)
4.
Ryan 退出 & 社区分裂
Ryan 在 Windows 版本出来之后就腻了,看来是那种喜欢写新功能而不想全天在修 BUG 的人?于是负责人从 Ryan -> Issac -> TJ Fontaine。
至于创始人离开之后,社区的贡献者自然就觉得给 Joyent 打白工非常无趣,于是就去 fork 了 io.js(确实,虽然 MySQL 是开源的,但谁会乐意无偿贡献代码给 Oracle 呢?)
5.
基金会成立
最后是双方妥协,Joyent 将 Node.js 的管理权交给了基金会, io.js 和 Node.js 最终合并。可喜可贺,可喜可贺。
不过这也是社区力量占主导才能强迫公司妥协,不然就变成现在的 MariaDB 了?
---
(仅仅是笔记,不一定对,需要勘误)
https://www.youtube.com/watch?v=LB8KwiiUGy0
#TIL #nodejs
1.
Ryan Dahl 创建 Node.js
当时流行的 Web 框架(如 Ruby on Rails)在处理高并发时效率不够高,特别是在处理 I/O 密集型任务时性能显得不足。虽然这些框架也支持异步 I/O,但用起来很别扭。
他也尝试过其他语言(如 Python、Lua、Haskell),但发现这些语言的运行时已经沉淀了多年,深受传统同步编程模型的限制,很难进行根本性的变革。
于是 Boy Meet Girl,算是终于让他看见了 Javascript 这个本身就在浏览器中天天需要处理异步场景的语言。(JavaScript 本身就依赖事件循环和异步操作来处理用户交互与网络请求。)
关键点是 easily build optimal server 以及 forcing them to only use async IO。也是 Node.js 的核心优势。
2.
Isaac Schlueter 加入 & npm 的诞生
这点倒是没什么好说的,pip 比它要早一点,08年 vs 10年。
想起我大二那年,被 pacman 什么都能下载给震撼住了。真的是,生在这种什么都有的年代真是被惯坏了。不过即使我在那个年代,也不会造出这样的轮子吧
3.
Joyent 买下 Node.js
这一阶段就是真的让 Node.js 成为一个企业级产品了,毕竟有公司去资助一批工程师去全职开发。
也是在这个阶段支持了 Windows,让用户量大大增加了。(通过实现 LibUV 库来处理 Windows 特有的 I/O 操作和事件循环,兼容了 linux 和 win 的操作)
4.
Ryan 退出 & 社区分裂
Ryan 在 Windows 版本出来之后就腻了,看来是那种喜欢写新功能而不想全天在修 BUG 的人?于是负责人从 Ryan -> Issac -> TJ Fontaine。
至于创始人离开之后,社区的贡献者自然就觉得给 Joyent 打白工非常无趣,于是就去 fork 了 io.js(确实,虽然 MySQL 是开源的,但谁会乐意无偿贡献代码给 Oracle 呢?)
5.
基金会成立
最后是双方妥协,Joyent 将 Node.js 的管理权交给了基金会, io.js 和 Node.js 最终合并。可喜可贺,可喜可贺。
不过这也是社区力量占主导才能强迫公司妥协,不然就变成现在的 MariaDB 了?
---
(仅仅是笔记,不一定对,需要勘误)
https://www.youtube.com/watch?v=LB8KwiiUGy0
#TIL #nodejs
这几天被 JS 的测试毒打了,几个 testcase 就能写一天,一开始是不知道如何 mock 对象的方法,后面是卡在了不知道如何用 vscode 来运行测试代码以及打断点。例如:
- 使用 sinon.stub 将对象的指定方法替换为自定义的函数。在运行时修改对象的方法指向,从而控制其行为
- vscode 的 launch 配置
此前开发主打一个狂野和粗暴。vscode 仅作编辑器、测试 API 用 curl 、dev 环境是 1:1 的线上环境、断点全靠自己 print 等等…… 而对于工作上的用到的技术,都是看简中圈子的 N 手资料。对于大而全的官方文档,总是巴不得能逃避就逃避,完全没有那种静下心来通读一遍的那种闲情。
这些官方文档粗略看一遍,很多很蠢的问题都能得到解答了。并且常常会有意想不到的惊喜,一些日常很难考虑到,但别人作为专家,方案可能就直接摆在这里了。
现在学还不晚吧? 要开始收集各种终极文档了。不过我也不敢说我能在这个周目解决这个问题。
#城市化进程 #TIL #Nodejs
- 使用 sinon.stub 将对象的指定方法替换为自定义的函数。在运行时修改对象的方法指向,从而控制其行为
- vscode 的 launch 配置
此前开发主打一个狂野和粗暴。vscode 仅作编辑器、测试 API 用 curl 、dev 环境是 1:1 的线上环境、断点全靠自己 print 等等…… 而对于工作上的用到的技术,都是看简中圈子的 N 手资料。对于大而全的官方文档,总是巴不得能逃避就逃避,完全没有那种静下心来通读一遍的那种闲情。
这些官方文档粗略看一遍,很多很蠢的问题都能得到解答了。并且常常会有意想不到的惊喜,一些日常很难考虑到,但别人作为专家,方案可能就直接摆在这里了。
现在学还不晚吧? 要开始收集各种终极文档了。不过我也不敢说我能在这个周目解决这个问题。
#城市化进程 #TIL #Nodejs
Parameters and Arguments
Parameters 和 Arguments 这两个单词翻译过来都是参数,我一直都挺疑惑他们之间有什么区别。细看了一下,原来就是形参和实参,函数定义处的参数为形参,而函数被调用的地方叫实参。
还是多看看英文文档,有些不必要的疑惑就能更早的消除了。不然也不会到今天才将这两组词语关联起来。
Difference Between Parameters and Arguments - GeeksforGeeks
#til
Parameters 和 Arguments 这两个单词翻译过来都是参数,我一直都挺疑惑他们之间有什么区别。细看了一下,原来就是形参和实参,函数定义处的参数为形参,而函数被调用的地方叫实参。
# Function definition with parameters
def add(x, y): # x and y are parameters
return x + y
# Calling the function with arguments
result = add(5, 3) # 5 and 3 are arguments
# Display the result
print(f"Result of adding 5 and 3 is: {result}")
还是多看看英文文档,有些不必要的疑惑就能更早的消除了。不然也不会到今天才将这两组词语关联起来。
Difference Between Parameters and Arguments - GeeksforGeeks
#til
Expire Data from Collections by Setting TTL - MongoDB Manual v7.0
type Pick<T, K extends keyof T> = {
[P in K]: T[P];
};
还是太嫩了,补课补课
from #TIL #typescript
🔖 在 HTTPS 端口使用 SSH - GitHub 文档 #pinboard #ssh #github #TIL
之前使用 clash 以及 surge 的增强模式时,git 总是推不上去。这才知道原来是梯子厂商限制了 22 端口的问题,要用 SSH over HTTPS
https://docs.github.com/zh/authentication/troubleshooting-ssh/using-ssh-over-the-https-port
之前使用 clash 以及 surge 的增强模式时,git 总是推不上去。这才知道原来是梯子厂商限制了 22 端口的问题,要用 SSH over HTTPS
https://docs.github.com/zh/authentication/troubleshooting-ssh/using-ssh-over-the-https-port
批量将文件夹中的 webp 文件转换为 jpg 文件
#one_command #til
ls | while read item; do name="${item%.webp}"; magick "$name.webp" "$name.jpg" && rm "$name.webp" ; done
#one_command #til
视频文件包括多条流,特别是两条字幕流(简日双语和繁日双语)。因为剪映可能无法识别这两条字幕流中的所有内容。特别是ASS格式(高级字幕格式)可能包含一些格式控制信息。
解法:
ffmpeg -i input.mkv -map 0:2 output_subtitles.ass
0:2 是要提取的字幕流,可以通过 ffmpeg -i input.mkv 看到
#TIL #one_command
屏幕保护程序
原来屏保一直在动,最初是有它的需求的,而且真的是在保护屏幕。我从最开始就单纯以为只有观赏功能。🐶
🔗 Screensaver - Wikipedia | #TIL
屏幕保护程序是一种电脑软件,旨在在用户不活动时保护显示屏幕,同时也起到个性化和娱乐的作用。最初,它们是为了防止旧式 CRT 显示器长时间显示相同图像而产生磷光残留(即“烧入”效应)。现代显示器已大大减少了烧入问题,因此屏幕保护程序更多地用于隐私保护和个性化。
原来屏保一直在动,最初是有它的需求的,而且真的是在保护屏幕。我从最开始就单纯以为只有观赏功能。🐶
🔗 Screensaver - Wikipedia | #TIL
频道定位(重写了一份,⭕️ 重新转起来)
不专注于 Daily 或 News,而是一个记录我当前关注和思考内容的地方。
1. 随机事项:为了避免无聊,每月为自己安排一些有趣的活动。通过 GitHub Action,在每月的 1 号随机选择当月的活动(20 小时)。这些活动旨在带来乐趣,而非压力,不强求完成。
2. 同步内容:我会收集在其他平台上发布的内容,包括但不限于 #blog #pinboard
3. 私人笔记:没经大脑的学习笔记以及一些个人随想。可以是学习笔记、大胆的理论、或者是日常的碎念。 #TIL #manga #anime #game #暴论 #thinking
4. ACG 内容:浓度高的部份还是挪到 另外一个频道 @tomoko_acg ,偶尔会转发到这里。
5. 内容转发:在这个频道上转发的内容并不必然代表我个人的立场。我转发这些内容的目的是为了激发思考和促进讨论,而非争辩事实,所以不必过分认真对待我的转发。
不专注于 Daily 或 News,而是一个记录我当前关注和思考内容的地方。
1. 随机事项:为了避免无聊,每月为自己安排一些有趣的活动。通过 GitHub Action,在每月的 1 号随机选择当月的活动(20 小时)。这些活动旨在带来乐趣,而非压力,不强求完成。
2. 同步内容:我会收集在其他平台上发布的内容,包括但不限于 #blog #pinboard
3. 私人笔记:没经大脑的学习笔记以及一些个人随想。可以是学习笔记、大胆的理论、或者是日常的碎念。 #TIL #manga #anime #game #暴论 #thinking
4. ACG 内容:浓度高的部份还是挪到 另外一个频道 @tomoko_acg ,偶尔会转发到这里。
5. 内容转发:在这个频道上转发的内容并不必然代表我个人的立场。我转发这些内容的目的是为了激发思考和促进讨论,而非争辩事实,所以不必过分认真对待我的转发。
#TIL 你可以通过 443 端口使用 GitHub 的 SSH 服务
https://docs.github.com/en/authentication/troubleshooting-ssh/using-ssh-over-the-https-port
https://docs.github.com/en/authentication/troubleshooting-ssh/using-ssh-over-the-https-port
回南天的现象与应对策略
回南天是一种气象现象,主要发生在中国南方地区,尤其是广东省。在这种气候条件下,衣物不易干燥,墙壁可能出现霉斑,家具和电子产品也可能因湿度过高而损害。
我的书籍就曾因多次经历回南天而变得像泡过水似的。所以我现在放书要不就放在带门的书柜,要不就在衣柜单独拿几格来放,并加上干燥剂。
个人经历及解决方案探索
今年发现房间的天花板因回南天发霉了,迫不得已弄了个 小米抽湿机13L。体积比想像中的大不少,应该跟米缸差不多大,还很重。运作时噪音较大,令我不得不在家时也戴上降噪耳机。不过,一开始以为没什么用,直到我去倒水。要将湿度从 80% -> 60% 感觉我要倒无数次水~~
需要指出的是,在我居住的地区,湿度几乎从未降至 80% 以下。即使是将抽湿机开启一整天,集满一桶水,湿度也难以降至 70% 以下。
另一必备的设备是干衣机,衣服连续半个月不干,然后发霉,这种事情是真的存在的。(小米除湿机也有干衣功能,不过我没有试用过)
消耗与健康提示
至于电力消耗,我还没有具体统计。
重要的是,回南天不仅给生活带来不便,更可能诱发呼吸系统疾病。因此,除了采取物理措施调节湿度外,维持室内清洁,防止霉菌生长,也是非常必要的。
🔗 参考资料:回南天 - wiki | #回南天 #气象现象 #湿度控制 #TIL
回南天是一种气象现象,主要发生在中国南方地区,尤其是广东省。在这种气候条件下,衣物不易干燥,墙壁可能出现霉斑,家具和电子产品也可能因湿度过高而损害。
我的书籍就曾因多次经历回南天而变得像泡过水似的。所以我现在放书要不就放在带门的书柜,要不就在衣柜单独拿几格来放,并加上干燥剂。
个人经历及解决方案探索
今年发现房间的天花板因回南天发霉了,迫不得已弄了个 小米抽湿机13L。体积比想像中的大不少,应该跟米缸差不多大,还很重。运作时噪音较大,令我不得不在家时也戴上降噪耳机。不过,一开始以为没什么用,直到我去倒水。要将湿度从 80% -> 60% 感觉我要倒无数次水~~
需要指出的是,在我居住的地区,湿度几乎从未降至 80% 以下。即使是将抽湿机开启一整天,集满一桶水,湿度也难以降至 70% 以下。
另一必备的设备是干衣机,衣服连续半个月不干,然后发霉,这种事情是真的存在的。(小米除湿机也有干衣功能,不过我没有试用过)
消耗与健康提示
至于电力消耗,我还没有具体统计。
重要的是,回南天不仅给生活带来不便,更可能诱发呼吸系统疾病。因此,除了采取物理措施调节湿度外,维持室内清洁,防止霉菌生长,也是非常必要的。
🔗 参考资料:回南天 - wiki | #回南天 #气象现象 #湿度控制 #TIL
Tab vs Space
我就遇到了项目内同时使用 Space 和 Tab 的情况,一度困惑其原因。后发现 VS Code 会通过 Detect Indentation 机制 自动识别并应用文件的缩进格式。所以不同的同事开发同一个仓库的不同文件时,可能就因为编辑器的初始缩进配置不一样,就会出现上面的乱象。
本来想将 Detect Indentation 关掉统一设置成 4 Space 的,但不是所有项目可以由我决定的,而且会将历史的更改记录给污染了,这种情况还是保守一点入乡随俗吧。而我可以控制的项目都统一改成 4 Space !
PS. Stack Overflow 的一个 著名调查表明,使用 Space 缩进的程序员可能平均薪酬要略高于使用 Tab 的程序员,但这并不意味着 Space 直接导致了薪酬的差异。这可能是由于使用 Space 的程序员往往遵循的是某些广泛接受的编程约定。
🔗 Tabs versus spaces - Stack Overflow | #编程 #缩进 #代码风格 #TIL
在编程中,Tab 和 Space 用于增加代码可读性的缩进。二者各有支持者:Tab 可以减少文件大小并允许程序员自定义缩进宽度;而 Space 提供了一致的视觉排版,不受编辑器设置的影响。
编码风格指南如 Python 的 PEP 8 推荐使用 4 个空格缩进以维持代码一致性。但在某些情况下,如带有嵌套循环的复杂算法,使用 Tab 可以快速调整整体缩进宽度而不必逐个更改空格。然而,这也可能引发问题,因为不同编辑器/IDE 对 Tab 的解释可能不同,从而影响代码的外观。
在编码协作中,不统一的缩进方式会使得版本控制系统识别正常的缩进更改为代码更改,这会污染提交历史和代码审核。作为解决方案,许多团队选择在项目开始时决定统一使用 Tab 或 Space,以及确定 Tab 键代表的 Space 数。
我就遇到了项目内同时使用 Space 和 Tab 的情况,一度困惑其原因。后发现 VS Code 会通过 Detect Indentation 机制 自动识别并应用文件的缩进格式。所以不同的同事开发同一个仓库的不同文件时,可能就因为编辑器的初始缩进配置不一样,就会出现上面的乱象。
本来想将 Detect Indentation 关掉统一设置成 4 Space 的,但不是所有项目可以由我决定的,而且会将历史的更改记录给污染了,这种情况还是保守一点入乡随俗吧。而我可以控制的项目都统一改成 4 Space !
PS. Stack Overflow 的一个 著名调查表明,使用 Space 缩进的程序员可能平均薪酬要略高于使用 Tab 的程序员,但这并不意味着 Space 直接导致了薪酬的差异。这可能是由于使用 Space 的程序员往往遵循的是某些广泛接受的编程约定。
🔗 Tabs versus spaces - Stack Overflow | #编程 #缩进 #代码风格 #TIL