Weekly #22:每个人都天生不同

20 多岁的大好年华,可以做一些非同寻常、稀奇古怪、大胆冒险、不可理喻、疯狂愚蠢、无利可图、看起来与「成功」不沾边的事。在余生里,这些经历将成为你的灵感缪斯。

—— 凯文 · 凯利《宝贵的人生建议》

🌆 封面图:秋天的午后

封面图:秋天的午后

咱们 HNU 图书馆真是古色古香!

🔐 切换到 Apple Passwords

iOS、iPadOS、macOS 的最新版本,将之前集成在系统里的密码管理器做成了独立的 App,功能已经比较完善,支持 OTP、Passkey 和完美的自动填充,iCloud 同步。

于是,本周我将主用的密码管理器从 BitWarden 换到了 Apple Passwords。

Apple Native 的 App 果然有最完美的用户体验。之前用的 BitWarden 的自动填充,是通过快捷键调用、脚本实现的,不仅没有输入框的 UI,也会出现填充错的情况。而使用 Apple 原生的 Passwords,在 Safari 里输入框旁边就会出现填充提示,简洁高效。(然而这种体验仅限于 Safari。在 Chrome 或 Firefox 里的 iCloud Passwords 插件体验还不如 BitWarden)

许多网站开启 2FA 后,要填写 OTP。用了 Passwords,Safari 居然支持自动填写(就像自动填写手机短信验证码一样)(当然,阿里云等少数网站不支持)。而之前 BitWarden 极其不优雅的做法是:自动填充密码后,将 OTP 放在剪切板里……

自动填充 OTP 是怎么实现的呢?原来,WHATWG HTML Living Standard 文档的 Autofilling form controls: the autocomplete attribute 这一部分定义了各种 autocomplete 形式,包含 one-time-code,即我们一般使用的六位 OTP。许多国内网站(如阿里云)表单没做这个属性,因此不支持。

Passwords 支持直接点击跳转修改密码

还有一个神奇之处:Passwords 会检测你在不同站点使用的相同密码,并提示危险,会显示一个「Change Password」的按钮,点击即可直接进入该网站修改密码的页面。(当然,有的网站不支持,如阿里云 💢)

这是怎么做到的呢?网站如何约定「修改密码页面」呢?其实,Passwords 打开的是 https://example.com/.well-known/change-password 这个 URL。

💡 TWIL:网站的 Well-Known 目录

This Week I've Learnt:

一些应用需要获得某个站点的 metadata,例如用于搜索引擎爬虫的 robots.txt。越来越流行直接通过 HTTP 协议传递这种信息。而这意味着得约定一个路径存放这种信息。

因此,RFC 8615 定义了 Well-Known URI,即一个网站的 /.well-known/ 开头的路径:IETF RFC 8615 Defining Well-Known Uniform Resource Identifiers。

具体约定了哪些 Well-Known URI,则由文档中给出的 IANA Well-Known URIs Registry 登记收录。

常用的 Well-Known URI 有如下几个:

/.well-known/change-password:修改密码的 URL。由 W3C A Well-Known URL for Changing Passwords 定义。 /.well-known/security.txt:当研究人员发现网站漏洞时,该文件提供管理人员的联系方式。由 RFC 9116 定义。 /.well-known/openid-configuration:用于公示 OpenID 相关的信息,一般返回一个 JSON,如 auth.skywt.cn/.well-known/openid-configuration。由 OpenID Connect Discovery 1.0 定义。 /.well-known/acme-challenge:用于 ACME 质询。Caddy Server 会为我们自动配置这个路径。由 RFC 8555 定义。 /.well-known/dnt-policy.txt:网站的 Do Not Track 政策。由 EFF's DNT Policy 定义。 /.well-known/carddav/.well-known/caldav:用于通讯录同步,Nextcloud 自带此功能。由 RFC 6764 定义。

没了解过这些通行的标准,你的网站就会和阿里云一样,不支持自动填充 OTP,不支持改密码!👀

📚 本周在读:《天生不同》,MBTI 入门指南

高中接触到 MBTI,测了很多次自己都是 INFJ。当时很着迷于性格分析,经常分析和推断认识的每个人的 MBTI。后来,MBTI 在网上大为流行,无论是谁都给自己打上某个类型的 tag,这种工具好像沦为了类似「星座」的东西,充满了商业营销的气息。许多人会问:「你信不信 MBTI」,就像「你信不信星座」一样。

对某个领域充分了解才能做出判断。子曰:「君子于其所不知,盖阙如也。」

这本《天生不同》,是经典的 MBTI 入门读物。MBTI 全称 Myers-Briggs Type Indicator,本书作者之一正是 MBTI 理论的提出者之一 Isabel Myers。

本书介绍了 MBTI 的四个维度:

对世界的关注:内倾 Introversion / 外倾 Extroversion。 偏好的感知方式:感觉 Sensing / 直觉 iNtuition。 偏好的判断方式:思维 Thinking / 情感 Feeling。 对外偏好的心理功能:感知 Perception / 判断 Judgement。

以及形成的 16 种人格组合的性格描述。(不过这一部分更推荐 16 Personalities 网站)

看这本书的时候,我一直在想之前的问题:MBTI 科学吗?有多大实用价值?

如果按照「可证伪」的标准来看,MBTI 不是科学。因为如果生活中出现了不符合 MBTI 的特例,能找到各种其他因素进行解释(因为一个人的全部并不是只由这四维决定的),所以 MBTI 理论无法被证伪。(类似地,根据这个定义,弗洛伊德的精神分析也不是科学;宏观经济学也不是科学)

然而,MBTI 是有实用价值的。

每个人都是独一无二的。然而,我们可以根据某些特征对人进行分类。依据的特征越多,形成的类别越多,每个类别组内个体就越相似,最极端情况是每个人自成一类;反之,依据的特征越少,形成的类别越少,每个类别组内个体差异越大,最极端情况是所有人都在同一类。而一个有效的分类法,应该介于这二者之间:类别不至于过多,而又多到足够反映每个类别组内个体的某些特征。这样的分类方法,就是有实用价值的。

而 MBTI 选取的分类特征,我认为也有足够的代表性,足够接近本质。该理论提出人的两大核心心理功能是感知 Perception 和判断 Judgement,即 MBTI 的第二维和第三维。这二者是前后承接的两个环节,而这二者之间不同人的偏好不同,则决定了 MBTI 的第四维;在这两个环节之前,不同人关注的信息来源不同,决定了第一维。

但是,实际应用该理论,其实也是有些困难的。因为:

这四个维度不是全面的(或者无法证明是全面的)。一个人的性格,不仅受到这四个维度的影响,可能还有别的维度,例如我们经常提到的「敏感」等。 一个人展现出来的样子,不仅由性格决定。阅历、智商、相貌、气质等等。这些因素有的在性格之外,有的和性格有交叠。我们是无法将一个人的「性格」抽象出来单独考察、分类的。

因此,MBTI 只能作为一种方向性的参考。它虽然不是完全科学的,但却是自洽的、有一定实用价值的。

🌟 Bookmarks #2

网站:

Plain Vanilla:An explainer for doing web development using only vanilla techniques. No tools, no frameworks — just HTML, CSS, and JavaScript. TLCL:在线书籍《The Linux Command Line》中文版。

项目:

frostming/fxzhihu: 为知乎生成可分享的卡片及 Instant View:知乎作为平台不断作死,对上面的部分优质内容而言真的很浪费。 superseriousbusiness/gotosocial: Fast, fun, small ActivityPub server.:微型的 ActivityPub server,适合自部署。 leafac/kill-the-newsletter: Convert email newsletters into Atom feeds:将 Newsletter 转为 RSS 订阅。

文章:

大前端:如何突破动态化容器的天花板?- 美团技术团队:「前端工程领域的核心问题是部署成本和用户体验的平衡。」 一文搞懂第三方支付系统架构设计 - 腾讯云开发者 如何找到愿意为之付出一生的研究事业? - @Thoughts Memo | FxZhihu 中国消费市场的真相 – McKinsey Greater China:「仅关注总体指标往往不能全面把握实际情况,更细致的观察不可或缺。」

下周见!

文章来源:

Author:me@skywt.cn
link:https://skywt.cn/blog/weekly-22/