那些「酷,但用不着」的 self-hosted 应用

<p>Self-host 即「自部署」,指的是在自己的服务器上部署软件程序,从而替代 SaaS 应用。</p> <p>前几年我有一种 self-hosted 狂热。没事就刷刷 <a href="http://awesome-selfhosted.net">awesome-selfhosted</a>,总想让服务器承载更多好玩的功能。得益于 Docker 和 Caddy,只需要写一个 compose.yml,一个新的应用就能立即上线并通过 skywt.cn 的子域名访问,部署体验方便快捷。</p> <p>这些软件的开源的精神非常宝贵,也是这个世界所需要的。然而不得不承认,大多数开源产品的软件更注重功能而非设计,不少设计非常缺乏品味,这并不是我想要的。加上由于:1)自从工作以来,属于自己的折腾时间大大减少了,我不希望再花太多精力在这些服务的维护上;2)我已被绑定在 Apple 生态中,结合 iCloud 有很多产品都能找到 Apple 体系的替代品。</p> <p>因此,现在我身上的这种 self-hosted 狂热有些退烧了。</p> <p>最近,正值网站改造之际,我将服务器上不常用的 self-hosted 软件都下线了,只保留我真正会用到的几个。下线的这些所有软件,都是我以前感兴趣过、折腾过、兴奋过的。这篇文章将它们记录下来,以表纪念。</p> <h2>酷,但用不着</h2> <p>这些是我已经下线的应用。以前部署过,或许用过一段时间,但后来因为各种原因已经用不着了。</p> <ul> <li><a href="https://supabase.com/docs/guides/self-hosting">Supabase self-hosted</a>:Supabase 的自部署版,全面的后端解决方案。**不要自部署,会变得不幸(虽然看起来很酷)。**我们使用 Supabase 无非是想要将后端复杂度外包出去,但自己部署则完全且彻底地违背了这一初衷。光是示例的 compose.yml 文件长达五百余行,包含这些组件:studio、kong、gotrue、postgrest、realtime、storage-api、darthsim/imgproxy、postgres-meta、edge-runtime、logflare、postgres、timberio/vector、supavisor、minio。还是用 Supabase 在线服务吧。</li> <li><a href="https://github.com/dbeaver/cloudbeaver">CloudBeaver</a> / <a href="https://www.phpmyadmin.net">phpMyAdmin</a>:管数据库用的 WebUI,不用写 SQL 就能增删改查。有段时间我甚至拿 CloudBeaver 当我的网站后台,直接在这儿发博客。酷,但现在我的数据库都上了 Supabase,这些都不需要了。</li> <li><a href="https://www.authelia.com">Authelia</a> / <a href="https://www.keycloak.org">Keycloak</a>:自建 SSO,给所有 self-hosted 应用一个统一的用户系统。酷,但我不再需要单独自建 SSO 了。Supabase 提供<a href="https://supabase.com/docs/guides/auth/oauth-server/getting-started">作为 OAuth Server 的功能</a>,这样账户体系可以直接共用我的 skywt.net。这更酷了!</li> <li><a href="https://freshrss.org/index.html">FreshRSS</a>:简洁好用的 RSS 阅读器。酷,但我现在使用开源 RSS 客户端 NetNewsWire,足够简洁,通过 iCloud 同步是更方便的选择,不再需要在 Web 里看 RSS 了。</li> <li><a href="https://github.com/dani-garcia/vaultwarden">VaultWarden</a>:BitWarden 的开源服务端。酷,但我已经完全使用 Apple Passwords 代替将近一年,没有发现任何场景下的问题。</li> <li><a href="https://nextcloud.com">NextCloud</a>:历史悠久、功能强大的网盘系统,应用生态异常强大,足够折腾很久。酷,但基于 PHP 的古老技术栈让使用体验一言难尽。大多数功能都属于「看起来很酷,但实际上你不会用」的(真的有人会在 NextCloud 这种东西里管理菜单食谱购物清单吗?)。或许在团队协作的场景中会很有用,但对个人而言,没必要。</li> <li><a href="https://cloudreve.org">Cloudreve</a>:强大的云盘。酷,但我有 iCloud 了。</li> <li><a href="https://usememos.com">Memos</a>:最开始是 flomo 浮墨笔记的开源替代品。酷,但我有什么想法都发推特了,和这个形式也很类似。另外吐槽一下,这个软件的产品设计改来改去的,每过几个版本 UI 就大改一次,真的有点难适应。</li> <li><a href="https://gitea.com">Gitea</a>:类似 GitLab 的平台。酷,但目前想不到将任何一个项目传到自己的平台而非 GitHub 的理由。</li> <li><a href="https://github.com/SnapDrop/snapdrop">Snapdrop</a>:传文件工具。酷,但有太多替代品了。Apple 生态内 AirDrop 体验也比这个好太多了。</li> <li><a href="https://github.com/coder/code-server">Code-server</a>:网页里的 VSCode。酷,但我究竟在什么情况下会放着本地的 IDE 不用而在浏览器里受罪呢?</li> <li><a href="https://github.com/janeczku/calibre-web">Calibre-web</a>:给 Calibre 里的电子书一个 web 页面。酷,但如果我要看我有哪些书,打开自己本地的 Calibre 看起来更方便……</li> <li><a href="https://overleaf.com">Overleaf</a>:强大的 all-in-one 在线 LaTeX 编辑器。酷,但只有写非常正式的论文用得着,且自己部署占用资源太大了,使用体验还不如用官方的在线服务 overleaf.com。</li> <li><a href="https://getoutline.com">Outline</a>:支持团队协同编辑的知识库。酷,UI 好看,协同体验很不错(有点类似飞书文档),但部署非常麻烦,个人使用真的没必要。</li> <li><a href="https://github.com/cooderl/wewe-rss">WeWeRSS</a>:将微信公众号转为 RSS feed。利用的是(逆向得到的)微信阅读的接口。酷,但账号失效太频繁,我不得不隔三差五就去重新扫码认证账号,维护成本太高。万恶的微信,</li> </ul> <h2>酷,且用得着</h2> <p>我的服务器上依然有一些我经常会用的 self-hosted 应用。这些应用一般必须依赖服务器,找不到非自部署的替代品,因此我依然保留。</p> <ul> <li><a href="https://docs.rsshub.app">RSSHub</a>:将任何网站转为 RSS feed。公共实例可能速度慢、不稳定,因此选择自部署。</li> <li><a href="https://github.com/Finb/Bark">Bark</a>:利用 APNs 给 iOS 推送通知。很好用。</li> <li><a href="https://headscale.net">Headscale</a>:开源 Tailscale 服务端,内置 DERP Server,非常好用。由于众所周知的原因,要想使用 Tailscale 必须自己部署节点。</li> <li><a href="https://matomo.org">Matomo</a>:我体验到的最为强大的网站监控工具。试用过 Plausible、Umami,功能都不如 Matomo 强大。(不过 Matomo 使用体验上比较一般)</li> <li><a href="https://archivebox.io">ArchiveBox</a>:将网页存档下来。在这个互联网快速崩塌的时代尤其重要。</li> <li><a href="https://www.min.io">MinIO</a>:兼容 S3 的对象存储。部署这个是为了做国内的图床镜像。虽然我主要使用 Cloudflare R2 作为图床,但由于众所周知的原因,国内访问速度似乎被刻意劣化了(实测下载 3mb 左右的图片需要二十多秒)。因此不得不在境内网络也建镜像。然而各大老牌云厂 S3 都不便宜,不如自己服务器上建一个,性价比最高。</li> <li><a href="https://caddyserver.com">Caddy</a>:能够自动申请 TLS 证书的 WebServer。配置简洁方便,一行配置即可反向代理启动一个网站。对个人而言,比 Nginx 好用太多了。特别是结合 <a href="https://github.com/lucaslorentz/caddy-docker-proxy">caddy-docker-proxy</a>,连配置 caddy 的工作都只需要在对应服务的 compose.yml 中完成。Self-hosted 玩家必备。</li> </ul> <p>自从工作后,属于自己的时间更加宝贵了,不像曾经能够花一下午的时间折腾某个细微的问题,这才更加理解诸如 Serverless 这种「将复杂度外包出去」服务的价值。现在我的数据库放在 Supabase,文件存在 Cloudflare R2,前端(海外)部署在 Vercel。不用花太多精力维护,能够信任它们的稳定性,我们能将精力花在更重要的地方。</p>

2025/12/17
阅读更多

我眼中的 AdventureX 2025

<p>去年首届举办的 AdventureX 2024 是我第一次参加黑客松。这场活动曾经给我带来了极大的震撼,深刻改变了我的一些观念,也让我结识了许多好朋友。正因如此,当 AdventureX 2025 开放报名时,我毫不犹豫地提交了申请。然而,今年的这一活动不仅引发了巨大争议,并且整体活动体验也完全没有达到我的预期。</p> <h2>从 AdventureX 2024 说起</h2> <p>参加完去年的 AdvX 24 后,我最核心的 take-away 是:</p> <p><strong>世界上最优秀而野心勃勃的那些人,大多不在大公司里,而是在初创公司</strong>。</p> <p>如果说《黑客与画家》指出了我理想的职业路径,AdvX 24 则让我在现实生活中看到了这种路径。各种 workshop 让我对创业、VC 等有了具体概念。认识的许多雄心勃勃的朋友让我相信:我们现在就有创造和改变这个世界的力量。(在大学这种死气沉沉的氛围中待久了,人似乎会慢慢不相信这一点)</p> <p>在 AdvX 24,我也认识了许多好朋友。和他们交谈的过程中,他们的生活经历、世界观都极大拓宽了我的眼界。和他们的友谊也持续至今。</p> <p>从参赛体验来说,印象中 AdvX 24 体验非常好。很大程度上因为在 AdvX 24,朱浩宇 Ryan 本人并不负责公关。公关工作都是由崔浡然 Marvin 负责的。去年最大的一次公关危机,源于一位跨性别者在心理性别卫生间如厕后被选手投诉。随后,某工作人员在通知群中提醒「只能按照生理性别上厕所」,并在通知中使用了「伪娘」等歧视、侮辱性词汇。引发争议后,Marvin 第一时间在通知群中代表 AdvX 团队道歉,收回发表的不当言论,并称跨性别者可以将无障碍卫生间作为 unisex 卫生间使用。这件事充分体现了去年 AdvX 团队(或者说 Marvin 本人)出色的公关能力。</p> <p>去年也出现了未入选的选手希望强行参赛(后报警处理)、赞助商物料被盗窃等事件,但公关团队始终保持克制,没有将工作人员个人情绪在通知群里随意发泄。</p> <p>参加 AdvX 24 时,我正在某大厂实习,请了一周的假去参加。活动结束,回到上班生活后,感觉这一周的一切都像一场梦一般。</p> <p>或许正是去年 AdvX 24 的成功拉高了大家的心理预期,今年的 AdvX 25 才会如此使人失望。</p> <h2>主办方</h2> <p>活动期间,推特上对 AdvX 25 主办方已有许多争议。其中大多数都源于 Ryan 本人的不当言行引发的公关灾难(去年的公关 Marvin 今年没有参与 AdvX 的工作)。作为参赛选手,我见证并感到不适的主要有以下几点:</p> <ul> <li>赛前针对「很多人重复咨询的内容,文档里都有」这一问题,想到的解决方案居然是「安排一个线上考试,通过考试后才能进入赛场」。(飞书中设置了投票,有 1/3 的人反对)</li> <li>屡次以「……否则取消参赛资格」的口吻发布通知。场内的告示牌也随处写着「违者将被取消参赛资格」。</li> <li>活动第一天,某选手仅因咨询工作人员补贴相关事宜,被 Ryan 定性为「诈骗主办方」,其个人信息在通知群中被曝光。 <ul> <li>在这条通知的评论中,对于反对意见,Ryan 回复:「请你取消参赛资格。」「对于上一条发表不当言论的人,我们均以(已)记录,均会进行处理。」</li> <li>此后,Ryan 补充了一则傲慢的通知,强调「AdvX 是纯公益的活动」。结尾是「现在,你还可以选择退出 AdvX。」</li> </ul> </li> <li>据信,团队中负责公关的小伙伴已经帮 Ryan 写好了道歉信、公关稿,但 Ryan 拒绝发布。</li> <li>比赛期间发生了在卫生间马桶外便溺的不文明事件。然而 Ryan 选择了最不妥的方式处理:以全员通知的形式发布「新的挑战」,宣布找到此人即可获得奖励 5000 元。 <ul> <li>这直接破坏了整场比赛的氛围,让很多队伍的作品都趋向于以「玩梗」的方式解构这一事件。</li> </ul> </li> </ul> <p>我认为 Ryan 的各种言行对此次活动造成了极大破坏,不仅破坏了选手的参赛体验(许多有实力的选手因此放弃席位),也破坏了 AdvX 25 团队成员的努力,破坏了赞助方和公众的信任。尤其严重的是那句「对于上一条发表不当言论的人,我们均以(已)记录,均会进行处理」,非常过分。并且,至今 Ryan 本人也没有给出任何道歉。</p> <p>除此之外,主办方通过出售选手的报名信息(含未入选者的信息)的方式获得赞助,也引起了极大争议。可以参见 AdvX 24 的前组织成员 Max 的文章:</p> <ul> <li><a href="https://mp.weixin.qq.com/s/1XVuvhWMWaq_th4VkTIP0Q">你把梦想交给 AdventureX,他们却转手卖了 9 万块。</a></li> <li><a href="https://mp.weixin.qq.com/s/KTUc8N46V1KEuR_YOT1W4w">AdventureX 的最新官方回应,充满着傲慢、谎言与背叛。</a></li> </ul> <h2>赛制和规模</h2> <p>本次活动参赛选手共八百多人。这种活动的体验必然会随着人数增加而下降,所以我认为主办方追求「规模大」的目标(所谓「中国最大的黑客松」)并没有任何意义。由于人数导致的不良体验,总结来说有如下几点:</p> <ul> <li><strong>信息淹没</strong>。<a href="https://x.com/vanillacitron/status/1942515989536727291?s=46">Citron 在活动前在推特上的担忧</a>成为了现实。去年参赛选手只有一百多人,我们可以加上每个人的微信,几乎和所有感兴趣的人聊一聊,很容易就能找到我们想要认识的人。然而,今年面对八百多人的规模和飞书持续的消息轰炸,我们已经无心加任何人。我唯一做的就是在飞书中发了个自我介绍贴,去和「看到帖子后来联系我」的朋友聊了聊,其他人我根本无暇顾及。</li> <li><strong>场地拥挤</strong>。最后一天 demoday 每个队伍只能分到很小的场地,无法展示易拉宝等宣传物料;人流量大导致网络环境差,让大多数需要联网的产品无法演示;有的队伍(包括我们队)还分到了主会场外的分会场,地点偏僻,人流量远远不足。</li> </ul> <blockquote> <p>漫步在静安的街道上,我会关注大家的穿搭并默默在心里赞赏,可春运期间的火车站我甚至不会在意对方是不是有穿衣服,因为实在是,太过载了。</p> <p>—— Citron</p> </blockquote> <p>本次活动的评委机制也有很大问题。关于评委体验,小红书帖子《AdventureX 黑客松:外地评委视角》中有指出,但该帖已被删除。概括来说,评委机制要求评委去寻找特定编号的摊位,而 demoday 人数过多、寻找困难、体验极差,导致评选效率极低,有的评委只能在无奈之下给出随机评判。</p> <p>本次活动的线上系统,尤其是作品提交系统,也带来了极差的体验。我想特别指出的是,<strong>我们队由于系统问题而没有成功报名任何赛道</strong>。我们明确在系统中填写了某赞助方赛道,然而当赛道赞助商来到我们的摊位时,表示系统里并没有看到我们队的信息。经过后续确认,系统内实际没有报名成功,但前端明确地显示了报名成功。当发现这一问题时,奖项已经全部公布,所以我们也无法追究。(考虑到上文提及本次比赛极差的评委机制设计,可以近似认为奖项是随机生成的,因此我们也不是很在乎)</p> <p>此外,活动的商业化气息过于浓厚。开幕式宣布赛道时,由于每个赛道都是由赞助方赞助的,宣布对应赛道之前会播放赞助商的视频,而这种视频良莠不齐,使得整个开幕的效果都大打折扣,体验很像在那种免费盗版网站看电影——每隔几分钟插播一则小广告。(因此我不认为免费公益是傲慢和体验差的借口——你难道会喜欢遍布葡京娱乐城小广告的免费盗版视频网站吗?)</p> <h2>选手</h2> <p>对我而言,AdvX 最大的价值在于链接各种优秀的人。「做出有意思的项目」反而是次要的目标。然而,今年我在活动上 connect 到的足够优秀的人,数量并不及预期。</p> <p>可能由于今年的人员审核存在很大问题。据主办方内部小伙伴透露,今年由于报名人数过多、工作人员不足,所有审核人员都已经「摆烂」「精疲力竭」。在审核环节中也存在严重的标准不统一现象。</p> <p>今年入选的选手普遍年龄偏低,有很多未成年人,特别是许多初中生。他们的社会化程度太低。具体表现在:不懂得承担责任、喜欢玩各种无聊的梗、喜欢「装」、不知道什么时候该说什么话……虽然这属于正常的成长阶段(我在中学时期也是如此 😂),但大量低龄选手的入选就是拉低了社交活动的平均水平。</p> <p>此外,年龄小的选手还没有形成自己的核心能力。有的小朋友只是对技术特别感兴趣,对刷机、网络代理、软路由等小众领域折腾和研究得很深,但他们目前还不具备构建一个产品所需的技术能力。(我在中学时期也是如此 😂)虽然 AI 让很多技术问题都不是问题,但要让产品真正落地,更多时候还需要实际的经验。</p> <p>当没有能聊得特别亢奋的朋友时,缺乏睡眠会带来比较痛苦的体验。</p> <h2>The take-away</h2> <p>参加完这次活动,我觉得我对 AdvX、对「年少有为」的叙事、甚至对这类 Hackathon 赛事都有些「祛魅」了。</p> <ul> <li><strong>世界上没有这么多天才少年。改变世界不能仅凭满腔热血和灵光一现。成长就是需要积淀的过程</strong>。</li> <li>AdventureX 这类活动之所以如此吸引人,主要是利用了我们的 FOMO 心态。</li> <li>你不需要一个 AdventureX 来帮你创造发生。</li> </ul> <p>关于这次比赛本身的评价,我觉得<a href="https://www.xiaohongshu.com/explore/68808c0d0000000013010e5c?app_platform=ios&amp;app_version=8.94.2&amp;share_from_user_hidden=true&amp;xsec_source=app_share&amp;type=normal&amp;xsec_token=CBW974skCCxw-pk4NAvLogWxJfa306IRr3O025SFaeOww=&amp;author_share=1&amp;xhsshare=CopyLink&amp;shareRedId=ODg7M0RLOjo2NzUyOTgwNjg0OTk0OD9L&amp;apptime=1754443962&amp;share_id=a81f4ff2f6864343b6a8d2b859b715f0">这个小红书帖子</a>说得最确切。引用如下:</p> <blockquote> <p>AdventureX 整个活动奇怪品味就不多讨论了,无论从行为、文字和审美上。这里只想讨论一个事情,我们在「创造」、「反叛精神」下的话语定义是否有点太 VC hype(指迎合风投口味的炒作叙事)或者二手或者 N 手硅谷叙事了?以至于产生 AdventureX 这种利用资本 FOMO 和选手想要结交同辈/大佬情绪来贩卖选手信息获得赞助的故事。</p> <p>创造并没有被阻止,尤其自中国,低廉的基础物价和极高的信息密度让做任何创新都变得容易,唯一的桎梏只有自己的内心。你不需要一个 AdventureX 来帮你创造发生,一个 VC 来认可你的方向,只需要专注在你所创造的无论是否发布,是否成功。享受创作的心流,从自恋中跳出,到忘我的状态里。</p> <p>如果你对一件事情有完全的信心,你绝不会对此满腔热忱。没有人会为了太阳明天升起而大惊小怪,因为这完全在意料之中。人们之所以狂热地献身于政治或宗教信仰、教义或目标,正是因为他们心里没底。</p> <p>相比于 AdventureX 中喜欢使用的乔布斯或者嬉皮士叙事,我更想送给大家和我自己一句更「工程师」的话,出自约翰卡马克:「所谓障碍都是主观上的。 如果你想动手开发什么全新的技术,你不需要几百万美元的资金,你只需要在冰箱里放满比萨和可乐,再有一台便宜的计算机,和为之献身的决心。 我们在地板上睡过,我们从河水中趟过。」</p> <p>所以动手去做,享受创作本身。Yon Only Live Once。</p> </blockquote> <p>参加完这次 AdvX,紧接着就入职了公司。在看文档的时候看到了这句话,顿觉醍醐灌顶,好像就是为此时的我所写:</p> <blockquote> <p>成长的本质就是让一个人明白,他所在的当前的状态、角色应该要做的事情,不是他以前认为的那些事情。</p> </blockquote> <p><strong>人的成长就是个循序渐进的过程</strong>。没必要太 FOMO。这大概就是我参加此次 AdventureX 的最大收获。</p>

2025/8/14
阅读更多

Weekly 停更公告与博客后续计划

<h2>Weekly 停止更新</h2> <p>很遗憾,虽然在本年初确立了「写一年的 Weekly 周记」的目标,但现在经过仔细的考虑,我不得不取消这一目标,无限期停止 Weekly 系列博客文章的更新。</p> <p>主要基于以下原因:</p> <ol> <li>我希望将博客建设为一个发布「长文」和「有一定深度文章」的平台。较短的、灵光一现的想法,目前都集中发布在 Twitter(未来或许会同步到其他社交媒体)。每周的 Weekly 其实只是将这些想法聚合并整理,本质上仍然是零散想法的集合,这没有太大的必要。对于较短的简单想法,Twitter 这类社交平台确实是更好的去处,能够获得即时快速的反馈。</li> <li>高频率的 Weekly 系列文章,让博客内容变得更加零散,缺乏明确的主题,降低了博客整体的平均内容质量。最重要的是,降低了博客内容的「有效信息密度」,让直接访问我的博客的人很难获取较大的价值。</li> </ol> <p>综合以上原因,我决定无限期停止更新 Weekly 系列博客。之后我希望我的单篇文章能够针对某一话题进行深度的讨论。写作对我而言,依然是一种和自己对话的最好方式。</p> <p>如果你依然喜欢 Weekly 这种零碎的想法集合,赶快来关注<a href="https://x.com/Skywt2003">我的 Twitter</a>!</p> <h2>历史文章归档</h2> <p>我的博客始于 2017 年。到现在居然已经近 8 年了。想想有些难以置信,毕竟我才 22 岁。</p> <p>最初,博客是初中参加 OI 竞赛时,一个用来发布题解的地方。因此,翻阅以前的文章,你会看到很多算法竞赛题目和某些数据结构与算法的学习记录。偶尔还有折腾一些杂七杂八技术的记录。</p> <p>OI 生涯结束于高二。高三一年,几乎没有更新博客。</p> <p>进入大学后,博客成为了折腾各种技术的记录平台。不管是玩 self-hosting、Nextcloud、Overleaf 还是研究教务系统、驾校系统,我都在博客上进行了记录和分享。自从有了 Weekly 系列,博客更是成为了记录新的想法、与自己对话的平台。</p> <p>然而,人的认知在不断发展。现在来看,很多以前的文章已经不能「代表我」。它们或许质量不佳,表述不清,文风杂乱,或者内容没有太大的价值。因为八年的时间足够让一个人彻底改变。</p> <p>因此,我将此类文章「归档」,折叠展示。</p> <h2>把博客当成一本书</h2> <p>对于自己用服务器搭建过网站,了解互联网是怎么一回事的我们这些人来说,往往对内容有一种不安全感。因为互联网其实并非像水和空气一样无处不在,发布的内容也并非像写在纸上的文字一样能永远留存,我们在任何平台上的创造,明天都有可能突然消失,再也找不到。无论是由于一次服务器故障,由于公司的变故,或是由于 cencorship 等不可抗力因素。创造的过程耗尽了我们的心血,但消失得却轻而易举、毫不费力。</p> <p>正因如此,我建设了自己的网站。我希望我的内容能在这里长存。</p> <p>我也希望博客是经历时间的「沉淀」,留下的我的世界观。从这个角度来说,「按照发布时间来组织文章」并不是最好的形式。许多文章应该随着我的认知成长而得到更新。因此,我希望效仿<a href="https://soulteary.com">苏洋博客</a>的<a href="https://soulteary.com/subject/tech/">知识地图</a>,将所有文章在一个页面里按照主题索引——就像一本书的目录那样。</p> <p>我希望我的博客成为一本书,能够在互联网的这个角落,记录我的世界。</p> <p>自己开发博客系统的好处就是可以定制一切需求,任何想法都能够在短时间内变为现实。上述的这些想法,应该都会在短期内上线~</p>

2025/7/2
阅读更多

Weekly #34:22 岁,我要成为有趣的大人

<p>本期延迟了好几周,因为这几周被迫回学校做了一件很没有意义的事情。结合最近的一些体会,我现在认为填志愿时选择 HNU 是我人生的重大错误决策之一。高考完填志愿时决策根据是「学校 &gt; 专业 &gt; 城市」,如果让我重新选择,我会按照「城市 &gt; 学校 &gt; 专业」的标准。</p> <p>关于此,已经写了一篇文章,得等这件事结束之后再发布。</p> <p>其实我也在思考博客周记 Weekly 的组织模式:</p> <ul> <li>以时间为标尺,每周固定发一篇(目前的期望模式):必然存在一些还未完全成熟的想法和文字「赶鸭子上架」的情况,文章内容质量可能不及预期。这可能会导致博客整体文章质量降低。这种文章组织形式也可能会使文章泛泛而谈、缺乏主题和深度。</li> <li>以内容为标尺,攒够内容再发一篇:容易带来压力和拖延,无法保证定时发布,甚至有可能陷入无限期停更。</li> </ul> <p>目前开始对 Weekly 的暂行调整是:不期望严格每周发布,如遇特别事件可能 gap 一周。期望全年 gap 不超过 5 周。</p> <h2>🎈 22 岁,我要成为有趣的大人</h2> <p>我 22 岁了。22 岁,正是该谈论梦想的年纪。</p> <p>我认为随着年龄的增长,很多人会逐渐失去青春的热情,沦为平庸,成为无聊的人。因此,我的愿望之一是:<strong>我要成为有趣的大人</strong>。</p> &lt;iframe allow=&quot;autoplay *; encrypted-media *;&quot; frameborder=&quot;0&quot; height=&quot;150&quot; style=&quot;width:100%;max-width:660px;overflow:hidden;background:transparent;&quot; sandbox=&quot;allow-forms allow-popups allow-same-origin allow-scripts allow-storage-access-by-user-activation allow-top-navigation-by-user-activation&quot; src=&quot;https://embed.music.apple.com/us/album/22-taylors-version/1595423133?i=1595423261&quot;&gt;&lt;/iframe&gt; <h2>☁️ There's something in the Air</h2> <p>新购买了 M4 MacBook Air 天蓝色!</p> <p>今年 Apple 新推出的天蓝色,真的非常漂亮,我在 Apple Store 看到的第一眼就爱不释手。到手后,这个外观效果依然超出预期,在不同光线下会展现出不一样的效果。充分展现了 Apple 工业设计的实力!</p> <p>我们大概永远无法想象到 <a href="https://www.bilibili.com/video/BV1qx411x72v/?share_source=copy_web&amp;vd_source=cd3fa74d3421ce574a62e3c11dcde9f6">2007 年的那场发布会</a>,乔布斯从信封里拿出 MacBook Air 时,给世界带来的震撼。「There's something in the Air」,这场发布会也成了改变世界的一场发布会之一。</p> <p>如今,乔布斯离开十多年了,现在的 Apple,似乎已经越来越衰落。这次 M4 MacBook Air 以及 iPad Air 产品线的更新,库克在推特上也「碰瓷」了这句标语:「There's something in the Air」。然而由于新 iPad Air 远不及预期,遭受了不少骂声。</p> <p>虽然 Apple 似乎「日薄西山」,但目前还没有任何一个操作系统,设计与交互能与 Apple 的操作系统比肩。一个朋友认识一些在华为的设计师,他们整个部门都有一种不成文的共识:我们就是在抄 Apple,Apple 出什么我们就抄什么。其实可以有这种感觉:几乎任何国产手机厂商都在抄 Apple 的设计……</p> <p>有时候会想,我们能用上 Apple 这样的产品,并不是历史的必然。如果世界上没有乔布斯,我们如今能选择的操作系统只有 Windows、Linux、Android 这种了。世界有乔布斯和 Apple,是一种幸运。</p> <p>《浪潮之巅》里写道,科技行业存在着某种周期,技术的革命总伴随着一批公司的衰落和另一批公司的兴起。Apple 或许在走下坡路了,但目前似乎还没有设计能达到 Apple 水准的下一代人机交互终端出现。希望我们不会沦落到有朝一日只能用 Windows 这样的操作系统。</p> <h2>😷 生病有感</h2> <p>清明节放假三天,在放假前一天晚上开始身体不舒服,结果患了比较严重的感冒,直到假期最后一天晚上才有所恢复。因此,我相当于<strong>完美错过了整个假期</strong>……</p> <p>生病的感觉太难受了。这种难受并不仅仅在于身体的难受,因为我理智上知道喉咙疼、头痛、咳嗽都只是暂时的,熬一熬就能过去;更难受的是认识到这一事实:属于我自己的宝贵的时光正在不断溜走,而我只能躺在床上,什么都做不了。本来这段时光应该用于学习、思考、创造,用来做其他更有意义的事情的。生病让自己的时间完全失去了掌控。</p> <p><strong>生病给人带来的最大折磨是「主观能动性」的丧失</strong>。</p> <p>按照上一期 Weekly 的时薪计算方法,本次生病的间接经济损失达到了至少【<em>数据删除</em>】元!😱</p> <p>正好最近又重读了《献给阿尔吉侬的花束》,结合这次生病的体验,我再次有这种感觉:</p> <p><strong>精力充沛的身体(不生病),神志清醒的头脑(智力处于正常水平),是属于我们最大的财富</strong>。</p> <h2>🌟 Bookmarks</h2> <p><strong>Articles:</strong></p> <ul> <li><a href="https://www.bilibili.com/video/BV1HQ4y1B7W4/?spm_id_from=333.1007.top_right_bar_window_default_collection.content.click&amp;vd_source=300d46a8f5f6dcc4692f1d6bb250a931">我们亲爱的 Steve - Apple</a>:「Everything around you that you call ‘life’, was made up by people who were no smarter than you. 」</li> <li><a href="https://www.v2ex.com/t/1121385">AppStore 首页推荐后,依然月入不足 3000,独立开发两年血泪复盘 - V2EX</a></li> <li><a href="https://ryolu.notion.site/how-to-make-something-great">How to make something great</a>:「在一個充斥著A/B測試、焦點小組,以及對『數據驅動』一切的盲目崇拜的世界裡,很容易在搖籃中扼殺一個年輕的想法。如果你過早地急於驗證——在想法形成清晰的形態之前,在你給它時間和空間成長之前——你只是在證實嬰兒無法跑馬拉松。當然不能。偉大不是通過倉促的讚成或否決召喚而來的。相反,要將懷疑內化為需要更多探索的信號。精煉概念,豐富它,為它注入新的養分。之後,一旦它能獨立站立,世界才能判斷它的步伐。但過早地扼殺它,你就摧毀了一個從未有機會證明自己的東西。」</li> <li><a href="https://mp.weixin.qq.com/s/XDj9l3oAMXRU_IOYT2C3yw#wechat_redirect?wxwork_userid=sunchenwei">Notion 创始人复盘:成为独角兽之后,我们走了哪些弯路?</a></li> </ul> <p><strong>Resources:</strong></p> <ul> <li><a href="https://sideproject.guide/">Side Project 指南</a></li> <li><a href="https://font.subf.dev/en/">Maple Mono</a>:很漂亮的 mono 字体。</li> </ul>

2025/4/15
阅读更多

Weekly #33:我们每小时的价值

<h2>🕙 我们每小时的价值</h2> <p>我们每小时的价值都是可以计算的,但我们经常意识不到这一点。</p> <p>根据我们在公司的薪资,能够算出公司发放给我们的「时薪」;而我们每小时真正能够产生的价值,肯定大于这个时薪,这样公司才不会亏本。这样,能够大致估算我们每小时的价值。</p> <p>对于时间管理,这是一个截然不同的视角。如果我们能定好每小时的价值,就能决定哪些事情我们值得去做。</p> <p>写到这里,仔细回想了一下,虽然近期才体会到这个道理,但其实这个观点在很早以前看的《纳瓦尔宝典》里就出现过了,只是当时还在学校,没能自己创造价值。果然,看过的书都是埋在心里的一颗种子,很神奇。</p> <blockquote> <p>给自己的时间设定价格,用时薪计算时间价值。如果用花钱的方式节省的时间价值更高,那就花钱,不要犹豫。要想真的赚到钱,先要相信你自己很值钱。</p> <p>没有人会比你更看重自己。你要做的就是给自己设定一个极高的时薪,并坚持执行。即使在我年轻的时候,我也认为自己的时间比市场的定价更值钱,并一直遵循这个思路。</p> <p>在做决策时,你要把时间作为一个考虑因素。做这件事需要多长时间?假设一个东西需要花费你一小时车程才能拿到,如果你给自己设定的时薪是 100 美元,那么这一趟基本上等于花掉 100 美元,你还要亲自去拿吗?</p> <p>——《纳瓦尔宝典》</p> </blockquote> <h2>🤖 订阅 Cursor Pro</h2> <p>本周订阅了 Cursor Pro,价格是 $20 每月。其实这个价格并不贵,如果按照以上的「时薪」视角计算,也就是 1~2 小时产生的价值。反思了一下,我之前之所以觉得贵,是因为:1)软件付费观念没有形成;2)作为学生没有收入。</p> <p>订阅制的生产工具还能够时刻提醒你,你的时间的价值。如果白嫖,你会感觉无论用不用都一样;但订阅后就会感觉到,如果不多使用,就是一种浪费。😂</p> <p>此外,我觉得选择订阅并长期使用一个软件,也像一种「投资」,因为迁移到别的软件需要成本,需要重新学习各种概念和使用习惯。目前 AI IDE 里,Windsurf、Trae 都是不错的选择,但最终我选择 Cursor 的原因是:Notion 前首席设计师 Ryo Lu 加入了 Cursor。Notion 是多么优雅的一个产品,大家有目共睹。在未来,Cursor 的设计和体验也一定会得到保障。</p> <h2>📄 Read.cv 复刻版</h2> <p>Read.cv 被 Perplexity 收购了。收购的方式很奇葩。Perplexity 其实是想要 Read.cv 团队的人加入 Perplexity,于是收购了 Read.cv,然后决定把这个业务关停!</p> <p>这么漂亮的网站被关停太可惜了。于是我像素级复刻了一下:<a href="https://wutian.cv/">wutian.cv</a>。是基于 Astro.js 的,还没特别完善,之后会单独发一篇博客介绍一下并开源。</p> <h2>💡 Misc Ideas</h2> <ul> <li>体验了华为 Pad,不支持 App 内五指聚拢返回桌面,相比 iPad,这就很不符合直觉,很不「Native」。类似地,许多 Web 应用给人不 Native 的感觉,也是由于它们支持的手势太受限。Web API 只能是 Native API 的子集。</li> <li>不同岗位的设置,除了分工以外,还有分担责任的功能。产品经理岗位就能够分担产品决策的责任。作为研发,我对体验细节或者逻辑上有任何不确定的,只需要和产品经理确认,而不用自己承担决策的责任。</li> <li><strong>AI 能改变我们的阅读方式吗</strong>?或许对于非虚构类书籍,AI 能提供一种比阅读更高效的信息获取方式。但目前这种形态似乎还没出现。试用了 <a href="https://3min.top">3MinTop</a>,说实话体验难以令人满意,比不上阅读。</li> <li>我很讨厌各种低代码、无代码平台,因为它们:1)使用复杂度已经高于写代码了;2)表达能力比不上代码。此处,低代码平台也可以泛指 Microsoft PowerPoint 这种工具。</li> </ul> <h2>🌟 Bookmarks</h2> <ul> <li><a href="https://x.com/dotey/status/1899850836521472396">刘小排的采访视频:一个人年入千万,AI 创业的十个步骤</a>:「我特别爽,就像个孩子一样迫不及待地展示给你看,阿拉伯的用户啊,外国的博主啊,甚至台湾博主都在介绍我和全球顶级 AI 画图工具放在一起,他们不知道背后是个普通人。」</li> <li><a href="https://magicui.design/">Magic UI</a>:很酷的组件库。原来之前看到许多炫酷的 Landing Page 设计都能在这里面找到。可以与 Shadcn UI 搭配使用。</li> <li><a href="https://github.com/yl8976/Email-to-RSS?tab=readme-ov-file">yl8976/Email-to-RSS.</a>:Self-hosted 版本的 kill-the-newsletter。可以直接通过 Cloudflare Workers 这类 Serverless 方式部署。</li> </ul> <p>下周见!</p>

2025/3/19
阅读更多

Weekly #32:「下班时间」比「上班时间」更重要

<h2>🌇 封面图:D2 终端技术大会</h2> <p><img src="https://blog.skywt.cn/usr/uploads/2025/03/4241728679.jpg" alt="D2 终端技术大会" /></p> <p>本周末在阿里总部参加了 D2 终端技术大会。</p> <h2>🛏️ 早睡早起计划</h2> <p>在《为什么精英都是时间控》里,作者提到:对我们这种打工人来说,让属于自己的时间延长的方法之一是:早睡早起,将晚上的时间「转移」到早上。因为下班后的时间里往往精力已经被耗尽,无法做自己的事情;而上午上班前的时间则最为精力充沛。</p> <p>去年春天,在学校准备春招找实习的时候,我也尝试过这种作息:11:00 睡觉,早上 6:00 至 6:30 起床。那段时光天气渐渐转暖,每天都有很好的太阳。那段时光是我记忆中大学四年里最为充实的时光。<a href="https://skywt.cn/blog/weekly-0">Weekly 的第零期</a>也大致开始于那个时候。虽然当时每天都在图书馆自习(并非处于上班状态),但能明显感觉到这样的作息让一天的时间都「延长」了。</p> <p>后来到了秋天,拿了 offer 之后,由于频繁参加晚上的社交活动,经常到半夜;签了三方后没有进一步的目标,比较懈怠;天气渐冷,起床太困难……综合各种因素,放弃了这样的作息。(连 Weekly 也连同着一起被放弃了)</p> <p>现在,我所在的公司上班时间是上午 10:30 至晚上 9:30 左右。这正适合这种早睡早起的作息!如果能做到早起,早上会有很多属于自己的时间,其实并不亚于 6:00 下班。</p> <p>其实,这个行动里「早睡」比「早起」更难。我的一些 practice 包括:</p> <ul> <li>睡前不要看手机了。Apple 生态的 Screen Time 设置里包含 Downtime 功能,这一功能允许设置每天固定时段为 Downtime,例如晚上 11:00 至早上 5:00。在这个时段内,设备里的所有 App 都处于「超过使用时间限制」的状态,并且状态在 iPhone、iPad、MacBook 同步。这可以有效避免睡前电子设备的刺激。</li> <li>把手机放在离床比较远的地方充电。这样起床歌时就不得不离开被窝,而不是在床上刷手机,😂</li> </ul> <p>不过,这种作息最大的问题就如前所述:<strong>不方便参加夜间社交活动</strong>。和朋友出去喝酒 K 歌到 12:00 之后是十分正常的,然而却不得不打乱我的早睡计划。</p> <h2>💼「下班时间」比「上班时间」更重要</h2> <blockquote> <p>你的早九晚五(上班时间)对未来的影响,远远没有你的晚五早九(下班时间)重要。</p> </blockquote> <p>下班后属于自己的时光,比上班时间更重要。最近认识了几个和我一样在大厂打工的人,再次深深体会到这一点。</p> <ul> <li>上周提到在 Let's Vision 居然有好多同在大厂打工的 booth 和 speaker,纯粹在业余时间靠着满腔热爱,做了自己的 side project,来到这个活动的舞台。甚至 Let's Vision 大会主席张思琦也是大厂打工人,在业余时间组织 Let's Vision 活动!🤯</li> <li>本周参加了 D2 认识的某位大佬,也在大厂打工,九点下班之后做 Web3 副业(不是投资炒币,而是做项目),目前副业收入已达到主业一半以上!🤯</li> </ul> <p>公司里的工作占据了我们每工作日至少 8 小时(加上用餐和午休,我目前是 11 小时),但这却不是真正属于我们的事业,我们终究大概率是作为一颗螺丝钉而存在的。大多数大厂打工人也怀着「离开无非是早或晚的问题」这样的觉悟。当然,这也是正常的,就如《远见》中提到:「一般人在自己的职业生涯中会经历至少 12~15 份不同的工作。」</p> <p>我们必须用自己的时间,开创属于自己的事业。不如现在就开始。</p> <p>想起《黑客与画家》里的这一段:</p> <blockquote> <p>黑客如何才能做自己喜欢的事情?我认为这个问题的解决方法是一个几乎所有创作者都知道的方法:找一份养家糊口的「白天工作」(day job)。这个词是从音乐家身上来的,他们晚上表演音乐,所以白天可以找一份其他工作。更一般地说,「白天工作」的意思是,你有一份为了赚钱的工作,还有一份为了爱好的工作。</p> <p>几乎所有的创作者在职业生涯的早期都有一份「白天工作」。画家和作家尤其显著。如果幸运的话,你能找到一份与你的「真正工作」非常相关的「白天工作」。音乐家似乎常常是在唱片行工作。同样地,钻研某种编程语言或操作系统的黑客,很可能会得到一份使用这些工具的「白天工作」。</p> </blockquote> <h2>🎵《世界赠与我的》—— 王菲</h2> &lt;iframe allow=&quot;autoplay *; encrypted-media *;&quot; frameborder=&quot;0&quot; height=&quot;150&quot; style=&quot;width:100%;max-width:660px;overflow:hidden;background:transparent;&quot; sandbox=&quot;allow-forms allow-popups allow-same-origin allow-scripts allow-storage-access-by-user-activation allow-top-navigation-by-user-activation&quot; src=&quot;https://embed.music.apple.com/cn/album/%E4%B8%96%E7%95%8C%E8%B5%A0%E4%BA%88%E6%88%91%E7%9A%84/1791923799?i=1791923800&quot;&gt;&lt;/iframe&gt; <h2>🌟 Bookmarks</h2> <ul> <li><a href="https://news.ycombinator.com/login?goto=item%3Fid%3D43243075">Apple's Software Quality Crisis | Hacker News</a>:Apple 你在干什么!</li> <li><a href="https://www.zhihu.com/question/13453534732/answer/115166055109">如何看待当前的「前端已死」的论调? - 知乎</a>:「这世界哪有死亡,只是换一种方式永生。」</li> <li><a href="https://soulteary.com/2025/03/07/manage-homelab-devices-build-a-smarter-front-end-kanban-with-claude-1.html">管理 HomeLab 设备:借助 Claude 3.7 构建更智能的前端看板(一) - 苏洋博客</a></li> <li><a href="https://www.zaobao.com.sg/realtime/china/story20250308-5986949?utm_medium=Social&amp;utm_source=Twitter#Echobox=1741435424">中国科技股今年已飙升 4390 亿美元,远超美国同行</a></li> <li><a href="https://sspai.com/post/96073">春节自驾游:我看到了父母与现代性的距离 - 少数派</a></li> <li><a href="https://mp.weixin.qq.com/s/D_RUjcm-Efl3izpeWjXiDw">革命才刚刚开始|AdventureX 年终总结</a>:给 AdvX 的文案点赞。每次看他们的推文都感觉心潮澎湃。</li> </ul>

2025/3/12
阅读更多

Weekly #31:Let's Vision 游记

<p>本周末去上海参加了 Let's Vision。感谢 <a href="https://blog.citrons.cc">@甜檸 Citron</a> 送的价值 ¥699 的 Basic 赠票!</p> <p>认识了好多新朋友。也见了好多 AdventureX 的老朋友。我认为我的社交能力再次升级了!</p> <p>和不同背景的人交流,真的是非常快乐的事情。了解别人在做的事情,别人的热爱所在、职业生涯、人生选择,不仅能够拓宽我们认知的边界,更能让我感觉到:在逃逸平庸的路上,我们都不孤单。</p> <p>最让我惊讶的是,居然有几个和我在同一大厂工作的人,也作为 booth 甚至 speaker 来参展。原来,九点下班的作息,也可以做出自己的项目!</p> <h2>🌆 封面图:滴水湖的烟花</h2> <p><img src="https://blog.skywt.cn/usr/uploads/2025/03/3918950573.jpg" alt="滴水湖的烟花" /></p> <p>非常巧合的是,活动的 day 1 周六晚,在会场旁的滴水湖就有烟花秀。</p> <h2>💡 让我印象深刻的 booth</h2> <p>活动安排得太紧凑了,讲座、workshop、展会同时进行,这导致我有好多 booth 都没来得及逛。有趣的和有创意的项目太多了。下面是几个我尤其印象深刻的:</p> <p><strong>Story</strong>:他们不仅是一个基于 Vision Pro 的应用,更是一个「MR 会展解决方案」。在现场体验的时候就能感觉到,他们整个体验流程都是为会展的模式而设计的:排队入场时发放一次性眼罩垫(防止 Vision Pro 设备与皮肤直接接触);会展区域的流程都经过精心设计,当我结束某个环节需要走到下个位置的时候,往往发现下个位置的人也刚刚结束 TA 的环节离开。如此让这些设备的利用效率达到了最高。以前认为 Vision Pro 作为个人设备太贵,用户太少,在这个设备上很难有很大的机会;然而 Story 的这种方案,将 Vision Pro 视为公共设备,解决了这个问题。</p> <p><strong>Bonjour</strong>:在 AdventureX 就见过的项目,基于 NFC 的个人名片(以及创造者社区)。这次在现场所有参会者都附送了 Let's Vision 限定版本的 Bonjour Card。不仅如此,他们还制作了一个可互动的麦金塔模型,在 Bonjour 摊位上展示!详情可查看:<a href="https://www.xiaohongshu.com/explore/67c6dcec000000000d017db5?xsec_token=CBTBqmi5G6gmKqyBUL7IAoKKAZuYeplx9siRoOYocknvw=">我们献上了一场艺术… - 小红书</a>不得不佩服 Bonjour 团队的创造力。(欢迎查看<a href="https://bonjour.bio/en/skywt">我的 Bonjour Profile</a>)</p> <p>还体验了好多有趣的项目,记录梦境的《Dreamoo》、充分利用灵动岛的《锁屏启动》、将 GTD 和文创结合的《点点记》……大家都太有创意、太有创造力了。</p> <p>我真希望明年我也能有自己的项目来参展!</p> <h2>🤔 参后感</h2> <p>这次 Let's Vision 结束之后,我的感受和去年参加完 AdventureX 的感受非常类似:</p> <blockquote> <p>打工人参加完 AdventureX、Let's Vision 这样的活动之后,都会感觉后劲好大。</p> <p>见识了充满激情的人们和纯粹热爱驱动的事业,就会再也不甘心回到这种平庸无聊的上班生活里了。</p> </blockquote> <p>强烈的感受都是对比中产生的。从 Let's Vision 参会者中感受到的创造的氛围,和大厂有些死气沉沉的氛围,差异还是太大了。</p> <p>人无法想象超越自己认知的东西,就如在参加这次活动之前,我没法想象在空间计算领域有这么多的机会,有这么大的空间留给我们去创造;我也没法想象和我一样九点下班的人也可以做出自己的 side project。这正是这种活动的意义之一:拓宽我们对职业生涯、对未来的认知边界,让我们看到更多选择的机会。</p> <p>下周见。</p>

2025/3/5
阅读更多

Weekly #30:生活在钢铁丛林

&lt;!-- more --&gt; <p>虽然我每周的至少 50 小时都献给了公司,但为了避免一些麻烦,也由于一些相关规定,我在这里不能写很多在公司里的内容……</p> <h2>🌆 封面图:西湖上</h2> <p><img src="https://blog.skywt.cn/usr/uploads/2025/02/3032936129.jpg" alt="封面图:西湖上" /></p> <h2>🏙️ 生活在钢铁丛林</h2> <p>我所居住的余杭区未来科技城,显然是近几年高速发展建设起来的,遍地都是高楼大厦,附近连一处能让人喘息的自然景观都找不到;无论是餐馆还是外卖,几乎只能看到大型连锁品牌(而且都很贵!);属于「杭州」的那种东方人文气质,在这里并不存在。</p> <p>这很像深圳带给我的感觉。去深圳的时候,那边的朋友都说:「深圳没什么好玩的。深圳的旅游景点只有购物商场。」</p> <p>周末去西湖边走了走。我真的很喜欢西湖,因为它是与城市融合得十分完美的自然景观。在高耸入云的钢筋混凝土大厦之间,人总是很紧张;在自然的环境里,人才能放松下来。</p> <p>然而,从这里到西湖坐地铁要将近一小时。一小时的时间,都够从杭州西站出发到上海,或者从深圳出发到香港了!说起「在杭州工作」,人们往往会想到西湖。看来这个印象是错误的……</p> <h2>🎸「无弦吉他」LiberLive C1 体验</h2> <p>本周购买了「<a href="https://e.tb.cn/h.Tt2aKnKHKexRi2S?tk=yZNTejE7hJc">LiberLive C1 无弦吉他</a>」。</p> <p>很小的时候学过吉他,后来高考完的暑假重新学了一下,到大学里几年没碰,技术再次荒废了。现在,九点半下班的我,自然是更没有时间(或者更确切地说,是不愿意花时间)重新捡起吉他去练习了。F 和弦的大横按也很劝退我。</p> <p>但是我真的很喜欢弹唱的感觉。有没有这样一种不用花时间练习就能快速上手的弹唱乐器呢?解决方案就是这个产品:LiberLive C1 无弦吉他!</p> <p><img src="https://blog.skywt.cn/usr/uploads/2025/02/3751011537.jpg" alt="LiberLive C1 无弦吉他" /></p> <p>如图所示,这是一把「无弦吉他」,上半部分是一些按钮,每个按钮对应一种和弦;下半部分则是两个拨片,每个对应一种节奏型。这些都能通过 app 来配置。严格来说,这不是吉他,而是一个音乐合成器。😂</p> <p>之前在参加 AdventureX 时,这个产品的公司 XBotPark 有来参展,我还去听过他们的 workshop。只能说这真的是一个非常切入我的痛点的产品:零门槛入门,无需练习,让我得到弹唱的错觉。</p> <p>电子合成音乐肯定不如真正的吉他好听,但对于普通日常的弹唱来说无伤大雅,我根本不太听不出区别。虽然这个价格也确实偏高,但你会发现在「无需练习上手弹唱」的这个产品形态上,我们其实没得选……</p> <h2>📚 本周在读:《控糖革命》</h2> <p>很多时候我们感觉自己「状态不佳」,包括感觉困倦、劳累、烦躁、无法集中注意力,很可能都和一些人体的生理因素有关。让我越来越意识到这个问题的两本书,一本是《我们为什么要睡觉》,有关睡眠;一本是这本《控糖革命》,有关饮食。</p> <p>说实话,我之前从未注意过我的饮食,一直是喜欢吃什么就吃什么。可能是由于吃不胖的基因,饮食从未给我带来过很大的困扰。然而,本书提出的理论则让我重新审视饮食观念:原来人在平常的精神状态、心情等各种方面,都会受到「葡萄糖水平峰值」的影响,而本书的核心目的就是控制这一峰值。</p> <blockquote> <p>在卧室跳舞时,脚碰到了梳妆台的一角,这是我们能够瞬间感知到的,因为脚会很疼(我有一次就这样弄伤了脚趾)。尽管我们会对脚进行冰敷,脚依然可能会红肿,以至我们都穿不上平时穿的鞋子。这很可能让我们心情不好。如果同事或者家人问我们:「怎么了?」我们很容易就能解释清楚:「今天早晨我磕到脚了,所以心情不好。」两者间的联系一目了然。</p> <p>但是,当被问到食物是如何影响我们的时候,我们却说不清其中的关联。我们并不能立刻感受到早餐后的葡萄糖峰值给自己带来的伤害。如果吃了一碗麦片粥后,我们会立刻心慌难受、趴在桌子上睡着,那么我们肯定能够知道其中的联系。但是,由于新陈代谢需要几个小时,会随时间的推移发生多种变化,并会与一天之中发生的其他事情混在一起,那么至少在掌握技术要领之前,我们还是需要谨慎观察和思考才能将这些点连接起来。</p> </blockquote> <p>本书提出了 10 条切实可行的 tips,总结起来有如下几个:</p> <ol> <li><strong>饭前可以喝点醋</strong>。这是由于醋能降低淀粉酶活性,从而降低葡萄糖产生速率。</li> <li><strong>在吃饭时,按照先吃纤维(蔬菜),再吃蛋白质、脂肪,最后吃淀粉、糖类的顺序进食</strong>。原因之一是纤维素能起到缓释作用,同样能降低葡萄糖产生速率。</li> <li><strong>饭后进行适量的运动</strong>。利于葡萄糖转为 ATP。</li> </ol> <h2>🌟 Bookmarks</h2> <p>最近越来越有这样一种感觉:我们每时每刻都在见证历史。无论是科技领域 ChatGPT、DeepSeek 的横空出世,还是经济、政治领域逐渐发生的巨变,都将时代的浪潮具像化地展现在我们面前。</p> <ul> <li><a href="https://mp.weixin.qq.com/s/imC09I6Ty5aMkkENZTMOVg">慢雾:Bybit 近 15 亿美元被盗背后的黑客手法与疑问</a>:知名交易所Bybit被黑客盗取价值14.6亿美元的虚拟货币资产。传言黑客为朝鲜特工。</li> <li><a href="https://juejin.cn/post/6844903965792927751">前端代码质量-圈复杂度原理和实践 - 掘金</a></li> <li><a href="https://github.com/OpenHealthForAll/open-health">OpenHealth</a></li> </ul> <p>收藏了好多 ByteTech 的文章,可惜不能发出来 👀。</p> <p>下周见!</p>

2025/2/24
阅读更多

Weekly #29:在大厂实习的 Day 1

<p>本周正式来到了某互联网大厂实习。这是秋招已经签订了三方协议的公司,我进行预计三个月的提前实习。</p> <p>上个暑假,我也在杭州的另一家大厂(下称「前厂」)实习。所以我不断将这家公司与前厂进行比较。综合结论是:在我看来,这家公司的许多方面都比前厂强太多了……</p> <p><strong>这家公司才是我心目中领先的互联网科技企业的样子</strong>。(工作时长除外)</p> <ul> <li>在前厂实习的时候,几乎所有文档都是默认对实习生不开放的,要申请权限层层审批;而在这里默认所有文档都是开放的,只有少数需要申请权限。对刚入职的实习生来说,这太友好了!</li> <li>前厂严禁使用任何外部 AI 模型和工具;而这里不仅不管这些,甚至大家都紧跟 AI 潮流,广泛在业务开发里运用 AI。我 mt 日常用的就是 Cursor。</li> <li>前厂文档维护实在不太好;相比之下,该厂的几乎一切技术、方案等都有详细且高质量的文档,极大降低了新人的学习成本。</li> <li>前厂(可能是我在的部门)没有测试,几乎没有质量管理。代码仓库极其混乱。由于做的是 2B 产品,也基本不 care 用户体验。相比之下,这里进行的各种质量管控、工程治理、代码防劣化、用户体验专项,才是互联网企业该有的样子。</li> <li>还有不少震撼我的地方,例如几乎一切都有中英双语、强大完善的基建、高效的开会方式……</li> </ul> <p>相比前厂,我感觉这里的人都更加优秀。</p> <p>当然,在一个大家都更优秀的环境里,自然压力也会更大。实习阶段感受还不深,等正式入职了肯定会有更强烈的感触。</p> <p>不过,从工作时长上来看,该厂的强度还是比较大的……10:30 上班,9:30 下班。如果按照 8 小时睡眠计算,每天下班能自由支配的时间只有 5 小时。这给我们生活上的时间管理带来了挑战……</p> <p>下周见。</p>

2025/2/18
阅读更多

Weekly #28:在杭州,寻找我想要的生活

<p>本周又回到了杭州,忙着租房,准备开启我的实习生活了。</p> <h2>🌇 封面图:杭州东站</h2> <p><img src="https://blog.skywt.cn/usr/uploads/2025/02/2076592369.jpg" alt="封面图:杭州东站" /></p> <p><strong>我想要的生活,一定可以在这座城市里找到。</strong></p> <h2>🏠 我的租房方案与踩坑</h2> <p><a href="https://skywt.cn/blog/my-rental-plan-and-pitfalls">我的租房方案与踩坑</a></p> <p>在杭州让我觉得很奇怪的一点是:未来科技城附近,街头路口有很多大妈,坐在挂着「房屋中介」的电动车上,看见我拉着行李就来问我要不要租房。对于这种无任何资质的中介在街上拉客,我是非常反感的。</p> <p>未来科技城附近的房源,和在长沙大学城相比,简直就是「一个城市一个农村」。这里有大量高耸入云的公寓楼、商住两用楼,而像长沙天马小区里那样老小区里的隔断房却很少见到。感觉这附近都是《都市天际线》里的「高密度住宅区」,找不到像长沙乐尔乐那样一瓶东方树叶 3.8 元的平价大型超市了。或许这就是大城市吧!</p> <p>最后通过贝壳租到了满意的房子。这套房子最打动我的一点是这个玻璃窗的夜景!</p> <p><img src="https://blog.skywt.cn/usr/uploads/2025/02/1244437018.jpg" alt="文一西路夜景" /></p> <h2>🎵 《漂洋过海来看你》 —— 李宗盛</h2> &lt;iframe allow=&quot;autoplay *; encrypted-media *;&quot; frameborder=&quot;0&quot; height=&quot;150&quot; style=&quot;width:100%;max-width:660px;overflow:hidden;background:transparent;&quot; sandbox=&quot;allow-forms allow-popups allow-same-origin allow-scripts allow-storage-access-by-user-activation allow-top-navigation-by-user-activation&quot; src=&quot;https://embed.music.apple.com/cn/album/%E9%A3%98%E6%B4%8B%E8%BF%87%E6%B5%B7%E6%9D%A5%E7%9C%8B%E4%BD%A0-live/1173734634?i=1173734649&quot;&gt;&lt;/iframe&gt; <blockquote> <p>陌生的城市啊,熟悉的角落裡</p> <p>也曾彼此安慰,也曾相擁嘆息</p> <p>不管將會面對什麼樣的結局</p> </blockquote> <h2>🌟 Bookmarks</h2> <p><strong>Articles</strong>:</p> <ul> <li><a href="https://sspai.com/post/95708">先于时代,终于悲歌:十年之际,再谈 The New MacBook - 少数派</a></li> <li><a href="https://fenx.work/add-llms-txt-to-ghost/"># SP3 给 Ghost 增加 llms.txt</a></li> <li><a href="https://blog.ursb.me/posts/summary-2024/">2024,告别盛夏 - Airing 的博客</a></li> <li><a href="https://lutaonan.com/blog/apple-notes-and-para/">我如何使用 Apple Notes 做笔记 | Randy's Blog</a></li> </ul> <p><strong>Projects</strong>:</p> <ul> <li><a href="https://github.com/calcom/cal.com?tab=readme-ov-file">calcom/cal.com: Scheduling infrastructure for absolutely everyone.</a>:原来大名鼎鼎的 cal.com 是开源的。</li> <li><a href="https://github.com/mnfst/manifest">mnfst/manifest: The 1-file micro-backend. ⭐ to support the project !</a>:大多数小项目的后端都是纯粹的 CURD,那直接用一个 manifest 文件定义这些逻辑不就行了 🤯</li> <li><a href="https://github.com/is-a-dev/register?tab=readme-ov-file">is-a-dev/register: Grab your own sweet-looking '.is-a.dev' subdomain.</a>:可以免费得到一个 xxx.is-a.dev 域名!</li> </ul>

2025/2/10
阅读更多

我的租房方案与踩坑

<p>最近来到杭州,又面临租房的问题。这是我第三次租房了,从啥都不懂的小白,到能够和中介有条不紊地斡旋,这都是一次次租房踩坑「沉淀」出来的。</p> <h2>整体思路</h2> <p>我倾向于通过中介租房。相比直接和无数的房东点对点对接,中介为我提供的价值就是免去和各种各样的房东约看房、谈价格的时间精力成本,极大地提高了看房效率。在一个下午之内,贝壳和自如的工作人员带我一共看了十多套房。</p> <p>既然有了中介,我们也无需在找房软件上花大量时间搜集信息。直接和中介说明租房预算、距离等各种要求,让中介推荐几套合适的房源,再在平台上预览即可。对于价格和租期,也可以委托中介去和房东谈。</p> <p>总体原则是:少花时间,将耗费精力的环节「外包」出去。</p> <h2>选定租房渠道</h2> <p>打开 App Store 搜索租房,你会发现居然有如此多耳熟能详的租房软件。</p> <ul> <li>贝壳找房</li> <li>链家</li> <li>自如</li> <li>58 同城</li> <li>安居客</li> </ul> <p>其中贝壳和链家是一个公司的;58 和安居客也是一个公司的。你会发现他们租房页面的 UI 都一模一样……</p> <p>首先要避雷的是 58 和安居客!这类平台本质上算是「信息发布平台」,即 58 安居客本身并不作为中介。因此,有大量中介和引流贴,标着极低的价格,具体聊了之后才会告诉你真实价格。这样找房效率是极低的,和直接去豆瓣、小红书等平台找房东没什么区别。</p> <p>自如平台只包含自如自己的房源。自如的管家非常积极,我只是私聊问了某个房源的情况,他立即打电话联系约我看房……要注意的是虽然装修风格基本统一,但大件电器基本是保留房东的。我连看了三套都是空调五级能耗,管家都有点无语了……</p> <p>贝壳和链家是一家,链家据说以线下门店为主,所以我用的是贝壳。贝壳本身就是中介平台,所以在上面联系任何平台经纪人都行,都是贝壳公司的员工,有较为标准化的服务。贝壳房源也非常丰富,上面甚至有自如的房源。贝壳 app 的 VR 看房功能很不错,基本线上就能对房子有个实地了解。</p> <p>除了作为中介一次性收取中介费,贝壳也在力推「省心租」的模式,即贝壳托管房屋,加收服务费提供维修等服务,有点像自如。这个看个人喜好可以选择。</p> <h2>现场看房</h2> <p>在看房之前,一定要列出关于房屋需求的 checklist。</p> <p>以下是《<a href="https://skywt.cn/blog/weekly-16#%E7%A7%9F%E6%88%BF%E7%9A%84%E8%80%83%E8%99%91%E8%A6%81%E7%82%B9">Weekly #16:年轻人的第二次租房</a>》的升级版。</p> <ul> <li><strong>装修时间</strong>。就怕有甲醛!</li> <li><strong>租期</strong>。有的房屋由于房东要求,租不满一年;有的必须一年起租。这些都要问清楚。</li> <li><strong>空调</strong>。五级能耗的杂牌空调直接枪毙。</li> <li><strong>洗衣机</strong>。杂牌也慎租。最好有烘干功能。我就很幸运地租到了非常高端的洗烘一体机。</li> <li><strong>窗户采光</strong>:窗户朝南全天有阳光;朝北全天阴冷;朝西下午有阳光;朝东上午有阳光。如果住的是没有阳台的公寓楼,且洗衣机没有烘干功能,则朝北的房屋衣服很难晾干。之前都没太注意过这个问题。</li> </ul> <h2>入住前准备</h2> <p>除了常规的保洁,有三个电器是我必须约家电上门清洗的:</p> <ol> <li>洗衣机。</li> <li>空调。</li> <li>冰箱。</li> </ol> <p>你永远不知道这些家用电器有多脏……</p> <p>家电上门清洗的平台,我用得比较多的是啄木鸟,其他平台如京东、58 到家、自如等也是不错的选择。</p> <p>很奇怪的一点是,无论是 B 站还是下红书,关于「家电上门清洗」这个服务较为全面的对比测评都几乎没有。有的只是许多关于某个平台服务体验不好的个例,这些帖子都较为情绪化(例:「避雷 XX 平台!」),不太足以作为参考。所以能否得到较好的服务,还是挺看运气的。</p> <h2>开启想要的生活</h2> <p>在大三第一次租房之后,我的感受和 <a href="https://hiripple.com/">@Ripple</a> 一样:非常后悔,后悔为什么没有早一点出来租房。独居真的能够显著提高生活质量。</p> <p>更重要的是,只有独居的状态下,我们才能真正独立,能够决定我们住所的一切,能够追求我们想要的生活。</p> <p>祝我们每个人都能有自己想要的生活。</p>

2025/2/10
阅读更多

Weekly #27:春节帮父母打工随感

<p>本周过于忙碌,本期 Weekly 内容不多。有些话题留给下一期了。</p> <h2>🌇 封面图:除夕的水亭街</h2> <p><img src="https://blog.skywt.cn/usr/uploads/2025/02/1476765117.jpg" alt="除夕的水亭街" /></p> <p>除夕的水亭街,已经准备好进入新的一年!</p> <h2>🧧 春节帮父母打工随感</h2> <p>本周在父母的店里帮忙。没想到一个开在景区里的旅游文创店铺,能在春节期间收获如此巨大的客流量,我们的营业额轻松打破了纪录。</p> <p>但也的确很累,几乎每晚十一点过后才能下班。(这导致本周几乎没时间写代码和阅读!)</p> <p>说实话,这样的工作是我非常不喜欢的。我发现我在如此嘈杂的环境中,会感觉到严重不适。由于客流量巨大,自然会遇见各种各样的顾客。喜欢大吼大叫的人,特别贪小便宜的人,丝毫不懂礼貌的人,愚蠢而难以沟通的人……和这些人的交流给我带来很大的精神压力。</p> <p>然而,我觉得父母则更加辛苦。如此源源不断的客流之中,他们要负责收银、整理货架、维持秩序,连吃饭都只能在收银台快速解决。等人流散去,大概到了夜晚十一点,还要去搬货、添货……虽然能做出很高的营业额,但这每一分钱背后都是他们勤劳的付出。</p> <p><strong>我一定要努力工作,让父母以后免于承受如此之劳累。</strong></p> <h2>💦 一次有惊无险的服务器封禁经历</h2> <p><img src="https://os.skywt.cn/daydreamer/4986184e-f58e-4e83-a83d-8957c7474616" alt="腾讯云违规通知邮件截图" /></p> <p>看到这封邮件标题的时候,内心一凉:坏了!</p> <p>由于国内特殊的审查环境,各大云厂商的封禁向来如此:毫无预兆,通知你的那一刻,你的服务便是已经被封禁的状态。这会带来无法避免的服务无法访问时间。</p> <p>看到违规 URL 我基本就明白是怎么回事了。之前托管的 Calibre-web 存放了我的所有电子书,正是在 books 子域名下。或许是由于托管电子书的版权问题,或是托管了某些政治敏感书籍的问题,被腾讯云的某种检测系统识别到,从而触发了封禁。</p> <p>幸亏这次封禁是被自动检测到的,我将 Calibre-web 服务关闭后提交解封申请,立即自动解封了(我还担心春节期间人工审核人员不上班),有惊无险。</p> <p>这带来的教训是:在国内服务器托管的任何服务,只要暴露到公网,一定要仔细审查内容。即使是只给自己使用……</p> <p>本周太忙了,没空整理 bookmarks。</p> <p>🐍 <strong>蛇年快乐</strong>。下周见。</p>

2025/2/3
阅读更多

Weekly #26:全新博客系统 Nexus 上线!

<h2>✨ 全新博客系统 Nexus 上线!</h2> <p>或许正在看这篇博客的老读者已经注意到了:<strong>我的新版博客系统终于上线啦!</strong></p> <p>最近在读《<strong>Nexus</strong>》(大陆译《智人之上》,台译《连结》),本书的观点之一是:信息将人大规模地连接在一起。受此启发,我将我的新版博客系统命名为 Nexus。</p> <p>Nexus 有两大愿景:</p> <ol> <li><strong>打造「个人 CMS」。</strong> 我们每天都在各种社交平台创作,但平台可能变质,内容可能被审查,一切我们的创作都不属于我们。因此,这些创作值得一个更稳定的去处。解决方案是自建的「个人 CMS」,即内容管理系统,这里可以汇集所有我的写作、技术分享、项目等等,所有我创作的内容有一个安全的家。</li> <li><strong>连结更多人。</strong> 我的博客已经运行六年了,这真是一段神奇的经历,通过博客认识了很多有意思的人。但之前的博客以静态的文章展示为主,只有在评论区有互动的机会。在 Nexus,基于 Next.js 和 Supabase,我希望给博客增添更多互动功能,创造更多连接他人的机会。(现在,你已经可以通过 GitHub 或 Google 登录!)</li> </ol> <p>除此之外,Nexus 全面支持多语言国际化,目前支持简繁中文和英语。</p> <p>目前貌似还有很多 bug,还未完善,暂不开源。😁</p> <p>目前有如下几个优先级较高的问题:</p> <ul> <li>支持通过 GitHub、Google 登录,但<strong>流程有些慢,还有概率超时</strong>。这是由于服务器在境内,套了一层代理访问 GitHub 和 Google。</li> <li>支持 RSS 订阅,但<strong>订阅后文章的日期时间显示是错误的</strong>。这是由于上一个博客系统 Daydreamer 开发时没有注意时区问题,导致在从 Typecho 切换到 Daydreamer 后,发布的文章时间全部是错误的。这个问题得等我有空修复数据。</li> <li><strong>部分以前的文章 Markdown 解析可能有问题</strong>,尤其是全角字符加粗问题。这是由于更改了 Markdown 解析器,我正在手动修改。这个问题真的很恼人,之后有机会详述……</li> </ul> <p>如果你还遇到了什么 bug,欢迎找我反馈~</p> <h2>🤷 毫无意义的工作</h2> <p>我父母在某旅游景区经营一家文创店。寒假回家,我也到店里帮忙。许多文创产品在售卖前需要我们进行简单的加工,例如将冰箱贴摆放进透明盒子里、将金属书签装进礼盒对应的卡口。这都需要大量<strong>简单重复</strong>的劳动。我认为这就是典型的「毫无意义的工作」。</p> <p>工作的本质(或者说定义)是「<strong>通过劳动创造价值</strong>」。劳动收益或劳动报酬,是这一过程的必然结果;但工作中的成长(个人认知、技术水平、经验积累等的提高),并不是这一过程的必然结果。</p> <p>例如,上述简单重复的劳动,能够创造价值,但显然无法带来任何方面的成长。</p> <p>而工作是有代价的。工作的过程可以看成一种交换:付出的是时间和精力,换得的是劳动报酬和个人成长。年轻时,时间和精力是我们最宝贵的资产;然而随着年龄的增长,能付出的时间和精力会越来越少。这时候如果没有得到足够的认知、能力等积累,劳动产生的收益也将迅速降低。</p> <p>因此,在职业生涯中我们也应该采取这样的视角:如果一份工作迫使我们每天进行简单重复劳动,而无法带来任何成长,或许就该考虑其他工作机会了。</p> <p>我联想到《上海交通大学生存手册》中这几段:</p> <blockquote> <p>一般来说,一项任务的价值,取决于它在时间尺度上的作用效率。花同样的功夫,我们应该尽量多做那些对整个人生都产生正面影响的事情,少做对中期的未来产生影响的事情,不做那些只对近期产生影响的事情。当然,产生负面影响的事是最应该避免的。从这个意义上说,花适当的时间锻炼身体能让我们终身受益,值得做;但是即便只花同样时间,我们也不应该打游戏,因为那只能获得转瞬即逝的空虚的精神愉悦。当然,适当放松以保证良好精神状态是必不可少的,否则各方面的压力可能导致你不得不多花时间调整精神状态。</p> </blockquote> <blockquote> <p>事务对我们都会有影响,其价值必须定量,而非定性地讨论。出去义务扫马路可以陶冶你的情操,还可以锻炼身体。坐在家里背单词背一天你可以学会数百个新单词,提升英语水平。按照上面提到的「善意的逻辑」,这两者各有好处,仿佛难以取舍。但是我想在实际操作中,不会有人认为前者对你的益处更大。</p> </blockquote> <h2>🎵 《就现在》—— 吴莫愁</h2> <p><a href="https://www.bilibili.com/video/BV18br6Y6E7C/?share_source=copy_web&amp;vd_source=cd3fa74d3421ce574a62e3c11dcde9f6">吴莫愁《就现在》 - 哔哩哔哩</a></p> <p>发布于 2013 年的百事可乐广告曲《就现在》。这是我最喜欢的 MV 之一。极其夸张的布景、妆容,展现了真正属于年轻、属于青春的激情。不得不承认,对于可口、百事这种在产品本身上差别不大(至少我喝不出来)的竞争,一个成功的广告曲还真的能扭转我的品牌印象。</p> <p><strong>任何作品都是时代的作品</strong>。这首歌真的很有那个时代的气质:2013 年,经济在高速发展,国家的未来充满希望,年轻一代昂扬向上、朝气蓬勃,任何人的梦想在明天都能实现。</p> <blockquote> <p>爱谁,谁管谁在舞台</p> <p>Live for now,我就是主宰</p> <p>梦想,才让心跳存在</p> <p>散发出光彩</p> </blockquote> <p>今天我们再也听不到这样风格的歌、看不到这样风格的 MV 了。如今回顾,有种说不出的感受。</p> <h2>🌟 Bookmarks</h2> <p><strong>Articles:</strong></p> <ul> <li><a href="https://sspai.com/post/95618">中文播客为什么偏爱「四字名」? - 少数派</a></li> <li>Notion 首席设计师 Ryo 在小红书上的分享: <ul> <li><a href="https://www.xiaohongshu.com/explore/679074dd0000000018008cb4?app_platform=ios&amp;app_version=8.69.3&amp;share_from_user_hidden=true&amp;xsec_source=app_share&amp;type=normal&amp;xsec_token=CBzlll9xKUnMwk3L9gyZF0Rd9ptD1g5NNdB7zbUKEhTGI=&amp;author_share=1&amp;xhsshare=CopyLink&amp;shareRedId=ODg7M0RLOjo2NzUyOTgwNjg0OTk0OD9L&amp;apptime=1737521575&amp;share_id=6dd473c12a6b4e7787160d61382ea834">如何創造偉大的事物 · 做東西十餘年的總結 - 小红书</a></li> <li><a href="https://www.xiaohongshu.com/explore/678e5fbd00000000180057bb?xsec_token=ABSQD9Sro8qy1t2OVjaktR7HIQheQBf6AVjIqTIF-zp3k=&amp;xsec_source=pc_user">Notion Stripe 設計元老 AMA - 小红书</a></li> </ul> </li> <li><a href="https://mp.weixin.qq.com/s/RcQGGh8O9O61iZQZsb0C-g?token=1229469268&amp;lang=zh_CN">Web3 律师:中国内地和香港加密货币监管政策和现状</a>:各地关于加密货币的法律执行存在较大差异。最好选择更文明的大城市。</li> <li><a href="https://mp.weixin.qq.com/s/qSq20nh_2nUBPfrNqt73WQ">吴说播客:对话胡翌霖 为什么离职清华搬到新加坡 All in Web3 准备做什么</a>:「另外,新加坡的人很亲切。虽然我在香港的短期经历还不错,但总体感觉香港人有点“死气沉沉”,比如有些服务员给人的感觉像是我欠了他们钱一样。而新加坡的人则更热情友好。」太真实了!</li> <li><a href="https://mp.weixin.qq.com/s/E5vJTiPHnPdcwUi_b7FWBg">中国互联网,集体告别青春期</a>:互联网行业已经告别了大航海时代。</li> <li><a href="https://mp.weixin.qq.com/s/Z46OF1eVjfxrgwaLx5_CKg?nwr_flag=1&amp;mpshare=1&amp;scene=1&amp;srcid=&amp;sharer_shareinfo=d63a3a40baa5c93562dd1491873775ae&amp;sharer_shareinfo_first=d63a3a40baa5c93562dd1491873775ae#&amp;wxwork_userid=sunchenwei">DeepSeek 创始人专访:中国的AI不可能永远跟随,需要有人站到技术的前沿</a>:最近 Twitter 快被 DeepSeek 刷屏了。我们每天都在见证历史。</li> <li><a href="https://baoyu.io/translations/thoughts-on-devin">与 Devin 相处一个月的思考(译)</a>:Devin 的形态概念上很先进,但实际体验上还有很长的路要走。「这也呼应了我们在 AI 工具领域反复看到的模式:社交媒体上的热度、公司估值,与真正的产品实用性往往没有必然联系。我们发现最可靠的信息来源,还是用户在真实场景中落地产品和服务的具体案例。」</li> <li><a href="https://mp.weixin.qq.com/s/5c8HxwQq22SKHS_faDEz5Q">MBTI 测试的真相:科学还是星座?</a>:对 MBTI 更合适的形容是:一种较为过时的测评工具。其风靡是商业团队运营的结果。</li> </ul> <p><strong>Techs:</strong></p> <ul> <li><a href="https://leanrada.com/notes/css-sprite-sheets/">CSS sprite sheet animations · leanrada.com</a>:Twitter 的点赞动效居然是这么实现的。</li> <li><a href="https://blog.simplr.sh/posts/next-js-seo-checklist/">Next.js SEO Checklist | Simplr Blog</a></li> <li><a href="https://unifiedjs.com/learn/guide/introduction-to-unified/">Intro to unified</a>:我认为 unified 是 Markdown 解析渲染最佳实践。</li> </ul> <p><strong>Cool Sites:</strong></p> <ul> <li><a href="https://leanrada.com/">leanrada.com</a></li> </ul> <p>🎆 <strong>新年快乐</strong>!下周见。</p>

2025/1/27
阅读更多

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

<h2>🌇 封面图:信安湖游船</h2> <p><img src="https://blog.skywt.cn/usr/uploads/2025/01/969329040.jpg" alt="信安湖游船" /></p> <h2>💬 方言才是我真正的母语</h2> <p>回到老家,我和父母、亲戚都会用方言(衢州话)交流。</p> <p>我现在觉得,方言才是我真正的母语。尤其是很多方言的表达,在普通话里都是不存在的。我虽然不知道这些词汇怎么写,但每次说起来都倍感亲切。由于用普通话说不出对应的词汇,这就成了无法向外乡人说的话语,成了同乡之间才可意会的表达。</p> <p>衢州话是吴语的一种。冷知识:Wikipedia 有吴语版本:<a href="https://wuu.wikipedia.org/">wuu.wikipedia.org</a>。在这里我第一次看到许多方言用语的书面写法,例如「的」发音为「ge」,居然真的写作「个」;「非常」我们说「jiao gua」,写作「交关」。很有意思!</p> <p>然而方言也普遍「碎片化」。南方地区方言的一个显著特点是「五里不同音,十里不同调」,连我所在的衢州下辖的一个县级市「江山市」,来自那里的高中同学说的方言,我都完全听不懂。即使是我所掌握的衢州话,也有两个版本:城里的版本和农村里的版本。两种版本在许多词汇上有所差异。我外公外婆说的是农村里的版本,我爷爷奶奶说的是城里的版本。(我妈妈年轻时从农村来到城里,还因为说农村版本的衢州话而受歧视)</p> <p>所以方言会消失吗?方言基本作为一种口头语言,很难被充分用文字记载下来;方言的碎片化特点意味着每种方言的使用人数并不算特别多;而随着人口流动,普通话的大量普及,我觉得许多方言的失传似乎是必然的趋势。这非常可惜。</p> <p>记得《繁花》的演员在采访中提到,用上海话表演和用普通话的感觉是完全不一样的。上海话才是上海人的母语。如果在他乡遇到同说同种方言的老乡,那会是多么亲切!</p> <h2>🌍 适合个人网站的全球加速解决方案</h2> <p>本周我正在开发的全新博客系统已经基本完成。关于这个博客系统的细节,包括设计、实现过程中的一些思考,我可能会通过系列博客文章单独分享。(貌似画的饼越来越多了 😓)</p> <p>关于网站的部署方案,也经历了很多探索:</p> <p><strong>TL;DR</strong>:阿里云 DNS 按地区分流。</p> <ul> <li><strong>网站部署</strong> skywt.cn: <ul> <li>境内:腾讯云部署 + 多吉云 CDN</li> <li>境外:Vercel</li> </ul> </li> <li><strong>对象存储</strong> os.skywt.cn: <ul> <li>境内:腾讯云部署 MinIO + 多吉云 CDN</li> <li>境外:Cloudflare R2</li> </ul> </li> </ul> <p>最核心的问题是:为了保证我自己对网站的访问速度,我的服务器在境内(腾讯云),域名进行了备案;而对于海外用户或者开了代理的用户来说,访问速度会很慢。针对境内和境外的两种流量,必须有一种解决方案,能够保证两者的访问速度,并且前提是不用花太多钱。</p> <p>首先,为了区分境内和境外的流量,使用阿里云 DNS 进行分流,可以针对境内、境外线路分别设置解析记录。</p> <p>对于境内访问,国内云厂商的 CDN 都是不错的选择。其中,又拍云和多吉云提供了不少免费额度。最终我选用的是多吉云。</p> <p>对于境外访问,则比较复杂。能否依然使用国内 CDN 平台呢?各大平台国际加速都非常昂贵,且分区过于详细(北美区、南美区、欧洲区……),对于我们的网站来说没有必要。能否使用境外 CDN(如 Cloudflare)回源到国内网站呢?答案是不行,国外 CDN 回源境内服务器涉及数据跨境访问,回源时会被腾讯云以「未备案」为理由拦截。因此,只能<strong>在境外再部署一套前端</strong>。由于新的博客系统是用 Next.js 开发的,最终我还是选了 Vercel。</p> <p>为了保证数据的同步一致,二者连接的数据库,都选择部署在腾讯云服务器上的 Supabase。(或许之后可以考虑使用 Supabase 官方免费实例,并与腾讯云自部署 Supabase 同步,不过这就有点像分布式数据库了 😅)</p> <p>除此之外,我还在腾讯云上搭建了 MinIO,作为对象存储,用于图床和文件附件等。在境内,这也由多吉云加速;但在境外,还是无法使用 CDN。我的解决方案是使用同样有免费额度的 Cloudflare R2,一份文件在两个地方分别存储。</p> <p>(对了,如果你想提前体验一下 👉 <a href="https://daydreamer-next.vercel.app">daydreamer-next.vercel.app</a>。欢迎锐评)</p> <h2>💡 TWIL:Git 文件系统大小写不一致问题</h2> <p>macOS 和 Windows 的文件系统一般默认都不区分大小写,而 Linux 广泛使用的文件系统基本都默认区分大小写。使用 git 同步代码时,在某些情况下,这会导致诡异的大小写问题。</p> <p>例如本周遇到的:macOS 本地文件夹名是 <code>Footer</code>,GitHub 上的却是 <code>fotoer</code>,这导致在 Vercel 上构建时,所有代码中包含 <code>Footer</code> 路径的引用全部失败,无法构建。<strong>最关键的是 git 认为仓库是完全同步的</strong>。感觉就像是见鬼了 👿。猜测产生这种现象的行为是:一开始文件夹名为 <code>footer</code>,后改名为 <code>Footer</code>。</p> <p><strong>解决方案一</strong>:</p> <pre><code class="language-bash">git config core.ignorecase false </code></pre> <p>对于已经出现此问题的项目,更改该设定后可能出现更加诡异的情况,例如本地只包含 <code>Footer</code>,远程包含 <code>Footer</code> 和 <code>footer</code> 各一份 😇。因此,最好再结合以下方法:</p> <p><strong>解决方案二</strong>:</p> <p>在区分大小写的文件系统中(别的 Linux 主机,或 GitHub 在线 IDE)将文件名修正,然后在本地重新 clone。这是最简单的方法。</p> <p><strong>解决方案三</strong>:</p> <p>格式化磁盘或重装系统时,选择区分大小写的文件系统 😡。下次重装系统一定要注意。</p> <p><strong>解决方案四</strong>:</p> <p>一切文件名统一使用小写命名。<code>UserMenu</code> 组件命名为 <code>user-menu.tsx</code>。组件库 shadcn/ui 就是这么做的。这是长久而言最为保险之计。</p> <h2>📚 本周在读:《关于说话的一切》、《平面国》</h2> <ul> <li>《<strong>关于说话的一切</strong>》:从本质上介绍「说话」这一行为。比较硬核,但读起来感觉醍醐灌顶。还没读完,之后再详细分享。</li> <li>《<strong>平面国</strong>》:描述了一个二维国家的世界观。二维世界的人物无法理解「<strong>一维世界的人无法想象二维世界</strong>」这件事情,但他们自己也无法想象三维世界。身处三维世界的我们亦如是。作为 19 世纪的作品,除了在科幻概念上的先进性,本书还对二维平面国的政治形态进行了辛辣而真实的讽刺。</li> </ul> <h2>🌟 Bookmarks</h2> <p><strong>Articles:</strong></p> <ul> <li><a href="https://mp.weixin.qq.com/s/KElfsVFohLTTvEmUMirdiA">论篡改微信余额的技术可刑性</a>:很有趣的科普。</li> <li><a href="https://mp.weixin.qq.com/s/EulYyzGU5fuA3Lv0wgS8hw">我要打球 — 段永平的浙大访谈</a>:这个访谈很有意思,年轻的官腔和年长的智慧的碰撞😅「我觉得如果我有机会,我还是找份工作吧,好好享受人生,创业并不容易。」</li> <li><a href="https://x.com/SparkLab_City/status/1876615630801310121">X 上的 Spark Lab:如何过好你的二十岁 By Y Combinator</a></li> <li><a href="https://uxplanet.org/the-rise-and-fall-of-neumorphism-613795fc6f8d">The Rise and Fall of Neumorphism.| by uxplanet.org | Jan, 2025 | UX Planet</a></li> <li><a href="https://mp.weixin.qq.com/s/qzgFlecnOAjTQJ-ptYqu4Q">《安德森个人生产力指南》,硅谷大佬的效率提升方法</a>:十分独特的时间管理方法。不使用任何提前的日程计划,这能够帮助我们专注于真正最重要或者最想做的事情。</li> <li><a href="https://www.piglei.com/articles/everyone-can-write-eng-blog/">人人都能写英文博客 | Piglei</a>:我也想开始写英文博客。😁</li> <li><a href="https://hwv430.blogspot.com/2025/01/blog-post_17.html">核电站:梦想大的领导梦想小的</a>:大多数平庸之人都没有事业观。「钱多事少离家近」就是他们全部的职业追求。</li> </ul> <p><strong>Blogs &amp; Books:</strong></p> <ul> <li><a href="https://www.dev-life.site/">自洽的程序员</a>:一本帮助我们调整工作心态的手册。</li> <li><a href="https://taxodium.ink/">Taxodium</a>:有趣的一位博主。他也在写 Weekly。</li> </ul> <p><strong>Cool Sites:</strong></p> <ul> <li><a href="https://mainfra.me/">Mainframe</a></li> <li><a href="https://ned.im/">Nedim Arabacı</a></li> </ul> <p><strong>Tools:</strong></p> <ul> <li><a href="https://start.boldvoice.com/accent-guesser">BoldVoice Accent Oracle</a>:能测出你的英语口音。我成功被测出 Chinese 😅。</li> </ul> <p>下周见!</p>

2025/1/20
阅读更多

Weekly #24:职规大赛历险记

<p>本周回学校参加了「湖南省第二届职业生涯规划大赛」,一周都在忙这个事儿。</p> <h2>🌇 封面图:后湖烟花</h2> <p><img src="https://blog.skywt.cn/usr/uploads/2025/01/1213356193.jpg" alt="后湖烟花" /></p> <p>虽然最近新加了一块「禁止燃放售卖烟花」的告示牌,但后湖售卖烟花的小摊小贩仍然不少。每天路过都能看到烟花绽放。</p> <p>这或许就是属于长沙的松弛感 😎。</p> <h2>🤵 职业生涯规划大赛</h2> <p><strong>TL;DR</strong>:如果你所在的学校对该比赛没有激励政策(如竞赛保研),<strong>强烈不建议浪费时间参加这个比赛</strong>。快跑!</p> <ol> <li><strong>没有任何激励</strong>。无奖金。无奖品。甚至连荣誉证书都没有打印。</li> <li><strong>这是 PPT 演讲比赛,并不是职业生涯规划比赛</strong>。真正有能力的人,玩不过那些专门搞演讲、专门搞 PPT 的人。</li> <li><strong>这是一个非常「体制内」的赛事</strong>。例如,可能需要一些「外在资源的加持」;答辩需要有较强的说「场面话」的能力。</li> </ol> <p>之前阴差阳错地被辅导员拉过来参加了这个比赛,为了帮她完成「上面派下来的指标」。本以为做个 PPT 交了就好,没想到通过了网评,得代表 HNU 参加省赛。在报销车票的承诺下,本已经回家的我,又回到长沙待了一周,准备参加这个比赛。😇</p> <p>我参加的是「就业赛道本科组」。赛制是 PPT 演讲 6 分钟,需要全程脱稿 😰;评委提问答辩 7 分钟。需要提交的材料包括 PPT 和个人简历。</p> <p>做出符合这种比赛风格的 PPT,是我从未尝试过的挑战。大一参加的大创项目由于经费不足草草收尾,之后再也没有参加过类似的比赛。之前做过的 PPT,基本都是学术风课程汇报 PPT,最喜欢的配色是白底黑字,最喜欢的字体是 Times New Roman 和宋体……好在曦姐(我的辅导员)有着丰富的做 PPT 经验。在经历了小红书上买了 N 个模板并缝合、找 PPT 设计公司外包制作某些页(¥300 / 页 😰)之后,一个炫酷的 PPT 终于诞生!</p> <p>学到的一个 tips:PPT 最麻烦的是字体问题,特别是这种需要一定效果的 PPT,需要安装很多艺术字体,而大赛演讲时使用的电脑环境多半是没有的。一个通用的技巧是:将 PPT 转为图片版,即将每一页 PPT 内容都转为图片,再组合成一个 PPT。可以在 PowerPoint 内导出为 JPEF 或 PNG,然后使用 WPS 中「插入图片到多个幻灯片」功能,制作图片版 PPT。</p> <p>在《<a href="https://skywt.cn/blog/weekly-14/">Weekly #14:做 PPT 相比 coding 的痛苦之处</a>》中我就提到了,<strong>我超级讨厌 PowerPoint 这样的工具</strong>,因为它们的表达能力相比代码差远了,使用起来非常痛苦。这次制作这么复杂的 PPT,我再一次有同样的感受。经常出现多个元素重叠,想要选择下面的元素,点击却选择了上面的元素;如果将上面的元素移开,则又破坏了精心调整的对齐关系……啊!实在是太痛苦了!!!</p> <p>网上找到的 PPT 模板,以及企业做出的 PPT 成品,都有些很奇怪的现象:有的将元素进行了很混乱的组合,有的能将一大堆元素重叠起来(几乎是无法手动编辑的状态)……我严重怀疑他们专业做 PPT 的企业,是不是用了什么更高端的工具,然后将成果转换为 PPT 格式的。</p> <p>成品预览(码了,要脸):</p> <p><img src="https://blog.skywt.cn/usr/uploads/2025/01/915113863.jpg" alt="PPT 首页" /></p> <p>卡着点提交了 PPT,下一个挑战是:要全程脱稿演讲,并且演讲时基本不能看 PPT 😰(背对着屏幕)。花了一下午和一晚上确定了稿子,又花了一下午和一晚上对着 PPT 脱稿排练,最后总算达到了比较熟练的状态。已经很久没有背这么长的文字了……</p> <p>本次比赛的评委提问都比较尖锐。在候场室观赛时,有选手介绍了多项项目经历,评委就问道:「这个项目你负责了多少?你现在是大三,也就是 2022 年入学的。我查了你的项目 2023 年 X 月份就结项了,也就是说你大一就主导了这个项目?」而在我前面答辩的一个女生的职业目标是财务领域,随口说了一句和区块链有关的项目,被问「区块链是什么」,支支吾吾答不上来。据说,许多选手的项目经历存在包装的成分……</p> <p>我自己现场的发挥(我自认为)还是不错的,演讲部分没有卡壳,答辩部分发挥得也尚可。幸亏我的项目都是自己的,被问到也能答出个所以然。尤其是观察了前几位答辩支支吾吾的表现,我的答辩环节自信了很多。</p> <p>第一位提问的评委似乎和 HNU 有些渊源(事后老师告诉我),问我「学校能带给我什么资源」。我对这个问题并没有准备,回答的大概意思是校友、老师、科研平台等资源。赛后老师告诉我,这位评委其实是在递话,他想让我说的是 HNU 依托国家超算中心之类的平台,结果我并没有 get 到……这就是我所缺乏的说「场面话」的能力 😇。</p> <h2>🎒 大学辅导员的工作日常</h2> <p>这周接触得很多的就是辅导员。带我参加比赛的超会做 PPT 的曦姐,当班导时就接触过的同为 INFJ 的刘王老师,咱们的辅导员标准 P 人冯导,以及隔壁工管院的活力满满的在工作之余还同时运营着自媒体搞点副业的韦子夏老师 <a href="https://www.xiaohongshu.com/user/profile/6013c00300000000010079ff?xsec_token=YBfEflRYKGTh48kRHlfvbG-6w01bRs51sa8yxkwKp787I=&amp;xsec_source=app_share&amp;xhsshare=CopyLink&amp;appuid=6293af61000000002102039b&amp;apptime=1736782295&amp;share_id=235e9249cf5c431eaf71fb7a8a4360e4">@夏与葡萄园</a> 等等。感觉辅导员也是很有意思的职业。</p> <p>辅导员是所有学生的负责人,我们平时有事都会去找他们。然而,有时他们也会和我们一样经历焦虑、迷茫、无助。其实之前当班导的时候我也有类似的感受:「遇到了困难希望有大人过来帮忙解决」-「意识到自己就是那个大人」……让我印象最为深刻的就是某一晚,某个学生的「突发情况」,不仅让刘王老师不得不加班做工作,还面临了一些两难的抉择。如果是我,也一定会备感压力。</p> <p>他们也会有同事之间的不愉快,有时作为体制内的角色也会身不由己。</p> <p>当然,网络舆论有时并不善待辅导员这一群体,因为某些学校的某些辅导员(或者其实是上位者)的所作所为确实令人不愉快。我认为本质上是制度没有有效约束辅导员的权力。</p> <p>而很幸运的是,我遇到的辅导员都是很好的人。</p> <p>下周见~</p>

2025/1/13
阅读更多

Weekly #23:2025,出发

<h2>🌆 封面图:2025 的第一次日出</h2> <p><img src="https://blog.skywt.cn/usr/uploads/2025/01/96935613.jpg" alt="2025 的第一次日出" /></p> <h2>📑 Weekly 复刊词:吾一周一省吾身</h2> <p>人必须不断地、周期性地审视自己。这种审视必须通过外化表达的方式才能完成,也就是写作。</p> <p>而一周是较为合适的时间单位。一周是一年的 2%,是一生的 1/4000。如果你把一年,甚至一生的每一周画到一张纸上,每个格子代表一周,你会发现原来这么少。《四千周》这本书就送了一张这样的格子纸。长期来看,以周为单位计算时间流逝的长期进程,非常适合量化。而一周(一般来说)有工作日和休息日,也能给我们足够的自由时间。</p> <p>虽然我平常一直活跃在 Twitter,但这毕竟是个短文平台,字数限制让人无法进行长文输出与深度思考(除非开 Premium)。因此,我依然在我的博客进行每周回顾。</p> <p>上一期 Weekly #22 终结于 2024 年 10 月 20 日,后来的两个多月都没有更新。其实是因为 22 周之后我开始旅游,去了广州、深圳、香港玩,后两周断更了。而一个习惯一旦经历了两次放弃,就会迎来可怕的习以为常,导致一直拖更到现在……</p> <p>正好,这也是 2025 的第一周。我确定了两件往往「重要而不紧急」的事,需要长期坚持:<strong>阅读和周记</strong>。阅读是输入,周记是输出。如果我能坚持写一年的周记,那就太酷了。</p> <h2>🎯 我的 2024,我的成长</h2> <p>过去的 2024 年,我觉得我感受到的一个主题是:「成长」。</p> <p>回想 2024 年年初的我,当时的自己对未来一片迷茫,还在想着或许考研,但明明内心非常不愿意,这只是在逃避对未来选择的思考。当时的自己甚至还没开始考虑和了解未来其他的可能性。因为在 HNU 大量平庸而无聊的同学身上,很难看到其他可能性。</p> <p>这一年经历的事情可真多:</p> <ol> <li><strong>决定不读研</strong>。下定决定后,一切都豁然开朗。</li> <li><strong>人生的第一份大厂实习</strong>。</li> <li><strong>AdventureX</strong>。👉 <a href="https://skywt.cn/blog/weekly-9/">Weekly #9:AdventureX —— 热爱为主,搞钱为辅</a></li> <li><strong>旅游</strong>。西安、南昌、杭州、上海、武汉、广州、深圳、香港、浏阳。</li> <li><strong>开始将 Twitter 作为主力的社交平台</strong>。从零开始涨到将近 3k fo。Connect 了不少很有意思的朋友。</li> <li><strong>春招&amp;秋招</strong>。面试、刷题、背八股。</li> <li><strong>签订三方</strong>。毕业去向基本尘埃落定。</li> </ol> <p>经历了这一切,现在的自己,已经是个完全不同的人了。无论是对职业、行业、技术、社会的理解,还是社交能力,相比 2024 年初的自己,都有了进步。</p> <p>相比 2024 年以前基本都在学校「上课、学习」的循环,今年尝试了很多新事物,也认识了很多新朋友。正是这一切拓展了我对未来想象的边界,让我看到更多可能性。所以,2024 给我带来的「成长」相较以往更为显著。</p> <p>之前在学校里的时候我会想:我们的时光一周一周地逝去,留下了什么呢?这一切有什么意义呢?这也是我开始写 Weekly 的初衷:希望时光留下印记。现在我发现,这些逝去的时间留下的最大的意义就是「成长」。我们的时间是我们最宝贵的资产,而「成长」就是对未来的投资。</p> <p>2025,希望我能持续「成长」。</p> <h2>☕️ 告别「咖啡因崩溃」</h2> <p>暑假在某厂实习的时候,经常临近晚饭时间我都会突然感觉非常累——不仅是心理上有一种有些崩溃和绝望的情绪,身体上也会感觉腰酸背痛。本周偶然的一天睡眠不足,早上的咖啡和一整天的 coding,让我在下午复现了这种感觉。</p> <p>现在才知道,这种感觉可能是「咖啡因崩溃」引起的。</p> <p>人体内的腺苷是引起困意的因子,腺苷与受体结合让人犯困。人清醒的时间越长,积累的腺苷越多;而充足的睡眠则会清除腺苷,将其含量降低到很低的水平。</p> <p>咖啡因的作用原理则是阻止腺苷与受体结合,但并不会减少腺苷的量。因此,传统说法里说「咖啡能够提神」其实有误导倾向。待咖啡因经过8小时左右被代谢,和受体结合的腺苷数量会在短时间内大量增加,使人反常地进入劳累状态。这就是「咖啡因崩溃」。回想之前实习的时候,我几乎每早都在麦当劳喝咖啡,而睡眠时长没有得到保证,加上一些工作压力,导致频繁发生的「咖啡因崩溃」。</p> <p>这些源于《我们为什么要睡觉》这本书。本书深深改变了我的睡眠观,非常推荐!书中还指出:咖啡因是人类有史以来被无监管地滥用得规模最大的精神兴奋剂。<strong>如果你需要咖啡因才能让自己达到最佳状态,这说明你的睡眠不足</strong>。</p> <p>咖啡因不是一种保健品。相反,它是世界上使用最广泛的(被滥用的)精神兴奋剂。它是全球第二大贸易商品,仅次于石油。咖啡因的摄入代表了有史以来针对人类进行的历时最久、规模最大的无监管药物研究之一,也许只有酒精能与之匹敌,而且现在仍是如此。</p> <p>2025,让我们告别咖啡因,好好睡一觉吧。</p> <h2>⚙️ Daydreamer 1.0 的失败之处</h2> <p>我目前运行的这个基于 Astro.js 的博客系统,我命名为 Daydreamer,开源在 <a href="https://github.com/Skywt2003/Daydreamer">GitHub</a>。大概完成于一年前。最后一次功能上的更新是在 7 月,之后就基本没有较大的维护。</p> <p>现在看来,Daydreamer 的设计是有诸多失败之处的。</p> <p>首先是技术选型上。由于当时对 Node.js 后端生态较为狭隘的认识,后端选择了几乎停止维护的 Koa.js 和较为过时的 TypeORM,这两项现在看来都是较为失败的选择。TypeORM 年久失修,各种奇怪的 bug 一大堆;Koa.js 也长久缺乏维护,生态匮乏。</p> <p>前端的技术选型也一言难尽。选用了 Sass 并大量使用 mixin,现在看来都不如直接使用 CSS 变量方便。基于此封装的组件库 <a href="https://daydesign.skywt.cn">DayDesign</a>,也继承了这一失败的设计。由于我倔强地不愿意使用任何组件库,而是选择自己实现所有组件,而我又缺乏相关经验,导致前端组件里充斥着大量不合理的抽象和大量不优雅的实现。很多知识都属于「你不知道你不知道」的类型,经验是需要慢慢积累的。</p> <p>使用 Astro.js 也是非常不合适的选择。我做的明明是一个前后端分离的博客系统,对于获取博客文章都有明确的 API,但我却选择了使用 Astro.js 这一以 SSG 为主的框架,选择在构建时请求 API 获取所有文章,静态生成网站。构建的过程发生在 GitHub Action 的 runner 里,后端则部署在境内腾讯云服务器上,间歇性的网络问题和构建时较高的并发,经常带来麻烦。(尽管如此,Astro.js 本身是一个很好用的框架,我很喜欢)</p> <p>这也导致了极其怪异的文章发布流程:写好一篇文章后,我要在数据库里插入这条记录(是的,没写后台,直接在数据库里发文章 😂),然后上 GitHub Action 重新构建,等几分钟构建完毕后(产物会在 pages 分支)再在我的服务器上 pull 下 pages 分支的文件,这才完成了网站内容的更新。无论是新发布一篇文章,还是更新友链,凡是更新任何内容(除了评论区),都要重复这样的构建流程。这实在不是一个很好的实践。</p> <p>设计上也有不少不满意的地方,比如过大的 navbar、缺乏动效,等等。</p> <p>除此之外,这个系统并没有自带图床。我直接将之前使用的 Typecho 博客系统(<a href="https://blog.skywt.cn">blog.skywt.cn</a>)文章编辑时的图片上传功能临时当作图床来用,结果一「临时」就用了一年。这导致这期间发布的文章里所有的图片都来自域名 blog.skywt.cn……</p> <p>我喜欢折腾的心永远不愿意停歇。因此,几乎每年,我都会重新设计和开发自己的网站。现在我在基于 Next.js 写一个新的博客系统,或者我更喜欢称之为「<strong>个人 CMS</strong>」。暂定名为 Daydreamer Next。汲取了上述教训,我希望新的设计尽可能优美。使用了 Supabase 和 MinIO,有完整的图床、管理面板,将会支持多语言、SSO 登录,以及更多好玩的功能。Coming soon~</p> <h2>🌟 Bookmarks</h2> <ul> <li><a href="https://1q43.blog/post/10727/">AI 技术的停滞,是革命的开始 – 虹线</a></li> <li><a href="https://sspai.com/prime/story/hacker-news">互联网的外置评论区:Hacker News 导读 | 少数派会员 π+Prime</a></li> <li><a href="https://wukan.me/?p=2649">四年五个月 – 阿倫的孤獨星球</a></li> <li><a href="https://www.comfydeploy.com/blog/you-dont-need-nextjs">You don't need Next.js</a></li> </ul> <p><strong>大家的 2024 总结</strong>:</p> <ul> <li><a href="https://soulteary.com/2024/12/31/2024-year-end-summary.html">2024 岁末总结 - 苏洋博客</a></li> <li><a href="https://kuizuo.cn/blog/2024-year-end-summary/">2024 · 应届牛马到远程自由 | 愧怍</a></li> <li><a href="https://catcoding.me/p/2024-summary/">2024:简单的理想生活 | CatCoding</a></li> <li><a href="https://tufu.me/2024/12/17/my-2024.html">我的 2024 | 张土福</a></li> </ul> <p>🎆 新年快乐。下周见!</p>

2025/1/5
阅读更多

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

<blockquote> <p>20 多岁的大好年华,可以做一些非同寻常、稀奇古怪、大胆冒险、不可理喻、疯狂愚蠢、无利可图、看起来与「成功」不沾边的事。在余生里,这些经历将成为你的灵感缪斯。</p> <p>—— 凯文 · 凯利《宝贵的人生建议》</p> </blockquote> <h2>🌆 封面图:秋天的午后</h2> <p><img src="https://blog.skywt.cn/usr/uploads/2024/10/1654087502.jpg" alt="封面图:秋天的午后" /></p> <p>咱们 HNU 图书馆真是古色古香!</p> <h2>🔐 切换到 Apple Passwords</h2> <p>iOS、iPadOS、macOS 的最新版本,将之前集成在系统里的密码管理器做成了独立的 App,功能已经比较完善,支持 OTP、Passkey 和完美的自动填充,iCloud 同步。</p> <p>于是,本周我将主用的密码管理器从 BitWarden 换到了 Apple Passwords。</p> <p>Apple Native 的 App 果然有最完美的用户体验。之前用的 BitWarden 的自动填充,是通过快捷键调用、脚本实现的,不仅没有输入框的 UI,也会出现填充错的情况。而使用 Apple 原生的 Passwords,在 Safari 里输入框旁边就会出现填充提示,简洁高效。(然而这种体验仅限于 Safari。在 Chrome 或 Firefox 里的 iCloud Passwords 插件体验还不如 BitWarden)</p> <p>许多网站开启 2FA 后,要填写 OTP。用了 Passwords,Safari 居然支持自动填写(就像自动填写手机短信验证码一样)(当然,阿里云等少数网站不支持)。而之前 BitWarden 极其不优雅的做法是:自动填充密码后,将 OTP 放在剪切板里……</p> <p><strong>自动填充 OTP 是怎么实现的呢</strong>?原来,WHATWG HTML Living Standard 文档的 <a href="https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofilling-form-controls:-the-autocomplete-attribute">Autofilling form controls: the autocomplete attribute</a> 这一部分定义了各种 autocomplete 形式,包含 <code>one-time-code</code>,即我们一般使用的六位 OTP。许多国内网站(如阿里云)表单没做这个属性,因此不支持。</p> <p><img src="https://blog.skywt.cn/usr/uploads/2024/10/3162643076.png" alt="Passwords 支持直接点击跳转修改密码" /></p> <p>还有一个神奇之处:Passwords 会检测你在不同站点使用的相同密码,并提示危险,会显示一个「Change Password」的按钮,点击即可直接进入该网站修改密码的页面。(当然,有的网站不支持,如阿里云 💢)</p> <p>这是怎么做到的呢?网站如何约定「修改密码页面」呢?其实,Passwords 打开的是 <code>https://example.com/.well-known/change-password</code> 这个 URL。</p> <h2>💡 TWIL:网站的 Well-Known 目录</h2> <p><strong>This Week I've Learnt:</strong></p> <p>一些应用需要获得某个站点的 metadata,例如用于搜索引擎爬虫的 robots.txt。越来越流行直接通过 HTTP 协议传递这种信息。而这意味着得约定一个路径存放这种信息。</p> <p>因此,RFC 8615 定义了 Well-Known URI,即一个网站的 <code>/.well-known/</code> 开头的路径:<a href="https://www.rfc-editor.org/rfc/rfc8615.html">IETF RFC 8615 Defining Well-Known Uniform Resource Identifiers</a>。</p> <p>具体约定了哪些 Well-Known URI,则由文档中给出的 <a href="https://www.iana.org/assignments/well-known-uris/">IANA Well-Known URIs Registry</a> 登记收录。</p> <p>常用的 Well-Known URI 有如下几个:</p> <ul> <li><code>/.well-known/change-password</code>:修改密码的 URL。由 <a href="https://w3c.github.io/webappsec-change-password-url/#the-change-password-well-known-uri">W3C A Well-Known URL for Changing Passwords</a> 定义。</li> <li><code>/.well-known/security.txt</code>:当研究人员发现网站漏洞时,该文件提供管理人员的联系方式。由 <a href="https://www.rfc-editor.org/rfc/rfc9116.html">RFC 9116</a> 定义。</li> <li><code>/.well-known/openid-configuration</code>:用于公示 OpenID 相关的信息,一般返回一个 JSON,如 <a href="https://auth.skywt.cn/.well-known/openid-configuration">auth.skywt.cn/.well-known/openid-configuration</a>。由 <a href="https://openid.net/specs/openid-connect-discovery-1_0.html">OpenID Connect Discovery 1.0</a> 定义。</li> <li><code>/.well-known/acme-challenge</code>:用于 ACME 质询。Caddy Server 会为我们自动配置这个路径。由 <a href="https://www.rfc-editor.org/rfc/rfc8555.html">RFC 8555</a> 定义。</li> <li><code>/.well-known/dnt-policy.txt</code>:网站的 Do Not Track 政策。由 <a href="https://www.eff.org/dnt-policy">EFF's DNT Policy</a> 定义。</li> <li><code>/.well-known/carddav</code> 和 <code>/.well-known/caldav</code>:用于通讯录同步,Nextcloud 自带此功能。由 <a href="https://www.rfc-editor.org/rfc/rfc6764.html">RFC 6764</a> 定义。</li> </ul> <p>没了解过这些通行的标准,你的网站就会和阿里云一样,不支持自动填充 OTP,不支持改密码!👀</p> <h2>📚 本周在读:《天生不同》,MBTI 入门指南</h2> <p>高中接触到 MBTI,测了很多次自己都是 INFJ。当时很着迷于性格分析,经常分析和推断认识的每个人的 MBTI。后来,MBTI 在网上大为流行,无论是谁都给自己打上某个类型的 tag,这种工具好像沦为了类似「星座」的东西,充满了商业营销的气息。许多人会问:「你信不信 MBTI」,就像「你信不信星座」一样。</p> <p>对某个领域充分了解才能做出判断。子曰:「君子于其所不知,盖阙如也。」</p> <p>这本《<strong>天生不同</strong>》,是经典的 MBTI 入门读物。MBTI 全称 Myers-Briggs Type Indicator,本书作者之一正是 MBTI 理论的提出者之一 Isabel Myers。</p> <p>本书介绍了 MBTI 的四个维度:</p> <ol> <li><strong>对世界的关注</strong>:内倾 Introversion / 外倾 Extroversion。</li> <li><strong>偏好的感知方式</strong>:感觉 Sensing / 直觉 iNtuition。</li> <li><strong>偏好的判断方式</strong>:思维 Thinking / 情感 Feeling。</li> <li><strong>对外偏好的心理功能</strong>:感知 Perception / 判断 Judgement。</li> </ol> <p>以及形成的 16 种人格组合的性格描述。(不过这一部分更推荐 <a href="https://www.16personalities.com/ch/%E7%B1%BB%E5%9E%8B%E6%8F%8F%E8%BF%B0">16 Personalities</a> 网站)</p> <p>看这本书的时候,我一直在想之前的问题:<strong>MBTI 科学吗?有多大实用价值?</strong></p> <p><strong>如果按照「可证伪」的标准来看,MBTI 不是科学</strong>。因为如果生活中出现了不符合 MBTI 的特例,能找到各种其他因素进行解释(因为一个人的全部并不是只由这四维决定的),所以 MBTI 理论<strong>无法被证伪</strong>。(类似地,根据这个定义,弗洛伊德的精神分析也不是科学;宏观经济学也不是科学)</p> <p><strong>然而,MBTI 是有实用价值的。</strong></p> <p>每个人都是独一无二的。然而,<strong>我们可以根据某些特征对人进行分类</strong>。依据的特征越多,形成的类别越多,每个类别组内个体就越相似,最极端情况是每个人自成一类;反之,依据的特征越少,形成的类别越少,每个类别组内个体差异越大,最极端情况是所有人都在同一类。而一个有效的分类法,应该介于这二者之间:<strong>类别不至于过多,而又多到足够反映每个类别组内个体的某些特征。这样的分类方法,就是有实用价值的。</strong></p> <p>而 MBTI 选取的分类特征,我认为也有足够的代表性,足够接近本质。该理论提出人的两大<strong>核心心理功能</strong>是<strong>感知 Perception</strong> 和<strong>判断 Judgement</strong>,即 MBTI 的第二维和第三维。这二者是前后承接的两个环节,而这二者之间不同人的偏好不同,则决定了 MBTI 的第四维;在这两个环节之前,不同人关注的信息来源不同,决定了第一维。</p> <p>但是,<strong>实际应用该理论,其实也是有些困难的</strong>。因为:</p> <ol> <li><strong>这四个维度不是全面的</strong>(或者无法证明是全面的)。一个人的性格,不仅受到这四个维度的影响,可能还有别的维度,例如我们经常提到的「敏感」等。</li> <li>一个人展现出来的样子,不仅由性格决定。阅历、智商、相貌、气质等等。这些因素有的在性格之外,有的和性格有交叠。<strong>我们是无法将一个人的「性格」抽象出来单独考察、分类的。</strong></li> </ol> <p>因此,MBTI 只能作为一种方向性的参考。它虽然不是完全科学的,但却是自洽的、有一定实用价值的。</p> <h2>🌟 Bookmarks #2</h2> <p><strong>网站:</strong></p> <ul> <li><a href="https://plainvanillaweb.com/index.html">Plain Vanilla</a>:An explainer for doing web development using only vanilla techniques. No tools, no frameworks — just HTML, CSS, and JavaScript.</li> <li><a href="http://billie66.github.io/TLCL/">TLCL</a>:在线书籍《The Linux Command Line》中文版。</li> </ul> <p><strong>项目:</strong></p> <ul> <li><a href="https://github.com/frostming/fxzhihu">frostming/fxzhihu: 为知乎生成可分享的卡片及 Instant View</a>:知乎作为平台不断作死,对上面的部分优质内容而言真的很浪费。</li> <li><a href="https://github.com/superseriousbusiness/gotosocial">superseriousbusiness/gotosocial: Fast, fun, small ActivityPub server.</a>:微型的 ActivityPub server,适合自部署。</li> <li><a href="https://github.com/leafac/kill-the-newsletter">leafac/kill-the-newsletter: Convert email newsletters into Atom feeds</a>:将 Newsletter 转为 RSS 订阅。</li> </ul> <p><strong>文章:</strong></p> <ul> <li><a href="https://mp.weixin.qq.com/s/ocGLvUmAnglZbcKRmK72Yg">大前端:如何突破动态化容器的天花板?- 美团技术团队</a>:「前端工程领域的核心问题是部署成本和用户体验的平衡。」</li> <li><a href="https://mp.weixin.qq.com/s/Z2sNg-VjdmGD5kymZPrrYQ">一文搞懂第三方支付系统架构设计 - 腾讯云开发者</a></li> <li><a href="https://www.fxzhihu.com/question/870573710/answer/7848446713?redirect=false">如何找到愿意为之付出一生的研究事业? - @Thoughts Memo | FxZhihu</a></li> <li><a href="https://www.mckinsey.com.cn/%E4%B8%AD%E5%9B%BD%E6%B6%88%E8%B4%B9%E5%B8%82%E5%9C%BA%E7%9A%84%E7%9C%9F%E7%9B%B8/">中国消费市场的真相 – McKinsey Greater China</a>:「仅关注总体指标往往不能全面把握实际情况,更细致的观察不可或缺。」</li> </ul> <p>下周见!</p>

2024/10/20
阅读更多

组件库 DayDesign 设计手记

<p><strong>UI/UX 决定了 一个网站的 personality。</strong></p> <p>网页带来的感觉,一半源于网站上的图片、文字这些内容,另一半则源于字体、配色、动效等 UI/UX 设计。</p> <p>DayDesign 是一个简洁优雅、轻拟物风的 React 组件库。官网:<a href="https://daydesign.skywt.cn">DayDesign</a>。</p> <h2>Colors</h2> <p>我首先定义了各种元素的颜色(我定义为 Sass 的 mixin,这样可以方便地复用)。每种颜色都有两套配色方案,分别对应 Lightmode 和 Darkmode。我主要定义了这些颜色:</p> <ul> <li>背景色(全局背景)</li> <li>前景色(卡片、按钮等放在背景上的物体)</li> <li>前景 hover 的颜色、active 的颜色</li> <li>前景物体在背景上的 shadow 颜色</li> <li>前景物体在背景上的 border 颜色及其 hover 时的颜色</li> <li>一级、二级、三级文字颜色</li> </ul> <p>当然,如之前在《<a href="https://skywt.cn/blog/new-personal-website-daydreamer-design-development-log/">全新个人网站 Daydreamer 设计开发手记</a>》中所说,Lightmode 和 Darkmode 绝不是简单的反色,而是要重新选择所有配色。所以以上的颜色都是语义的,具体指定的颜色,则根据 Light / Dark 定义在 <a href="https://github.com/Skywt2003/DayDesign/blob/master/src/styles/mixins.scss">mixins.scss</a> 里。</p> <h2>Design</h2> <p>我很喜欢拟物风,因为拟物风看起来更精致、更符合物理直觉、更有人文气息。</p> <p>然而拟物风的设计难度也比扁平风要大得多。扁平化的风格之下,只需要一个简单的边框就能分隔出一个组件;而拟物风里,必须不断推敲各个组件<strong>符合现实生活经验</strong>的样式。</p> <p>比如这个 Tabs 组件:</p> <p><img src="https://blog.skywt.cn/usr/uploads/2024/10/3477910731.png" alt="Tabs 效果图" /></p> <p>用外边框的 inner-shadow 做出凹槽的效果,用 Tab 的 shadow 做出立体效果,让整个组件符合现实经验(就像一个开关一样)。</p> <p>最难的点在于<strong>如何做 hover 效果</strong>。如何提示用户这个 Tabs 是可交互的呢?不能直接套用按钮的 hover 效果,因为 Tabs 里是没有突出显示的 Tab(图中的选项 2)可点击切换,有突出显示的 Tab(图中的选项 1)不可点击,这和按钮是相反的。我参考了各种 UI 的实现,最终的选择是:hover 时,整个 Tabs 外框颜色加深高亮显示(当然,Light、Dark 模式颜色不同),这样用户可以知道这整个组件是可交互的。输入框也按照这个思路统一了 hover 效果。</p> <p>综上所述,<strong>其实拟物风真的并不适合更复杂的 UI</strong>。因为设计出合理的拟物 UI 难度很大,费时费力。</p> <h2>Why</h2> <p>使用各种现成的组件库,有两个问题:</p> <ol> <li><strong>风格不符合。<strong>大多数流行的 Web 组件库,比如 Ant Design,都追求</strong>高效</strong>、<strong>明快</strong>的风格。毕竟一般的 Web App 都追求效率和生产力。这在设计上的体现就是极致的简约和扁平化,动效也是简单快速。这些本身当然很好,然而这不是我的博客想要传达的风格。如前所述,我喜欢轻拟物风。</li> <li>**大众脸。**虽然前端组件库百花齐放,但被广泛大量使用的组件库不外乎 Ant Desgin、Shadcn、Bootstrap 那几种。这导致很多用了这些组件库的网页看起来都很「<strong>大众脸</strong>」。我依然清晰地记得第一次接触到 Boostrap 的时候,有一种恍然大悟的感觉:原来之前看起来莫名长得这么像的网页,都是用了这个组件库!</li> </ol> <p>所以在做我的博客前端的时候,我没有使用任何组件库,而是用 Tailwind 自己写了所有组件样式。现在,我将所有组件样式抽离出来,做成 DayDesign 这个 React 组件库。</p> <p>**为什么我如此重视网站的 UI/UX 设计呢?**除了和我个性里的感性有关,我觉得最重要的原因就和前文开头所述一样:</p> <blockquote> <p>网页带来的感觉,一半源于网站上的图片、文字这些内容,另一半则源于字体、配色、动效等 UI/UX 设计。</p> </blockquote> <p>比如我的网站全局用了 serif 字体,就是希望传递一种古典、人文、感性的气息。如果我希望传递的是 Geek 风,或许全局用 monospace 字体就是更好的选择。</p> <p>归根结底,这其实就是《Refactoring UI》里说的 <strong>personality</strong>:</p> <blockquote> <p><strong>Every design has some sort of personality.</strong> A banking site might try to communicate secure and professional, while a trendy new startup might have a design that feels fun and playful.</p> </blockquote> <p>**有趣的是,设计给你带来的影响是潜移默化的。**文字、图片这些内容给你带来影响,这种影响本身是你可以感觉到的;而 UI/UX 带给你的影响你却无法明显感知到,像是一种「暗示」。例如,走进宜家精心设计的样板房里,你会觉得有回家的感觉,舒适、惬意,这是灯光、配色、布局等等各种设计给你带来的综合主观感受,你用理性是很难说清楚的。(这有点像「侧信道攻击」)</p> <p>**依照经验来看,越感性的人越容易受到设计风格的「暗示」。**上一个版本的网站,我首页只写了一句话:「✨ 你能听到星星的呼唤吗?」结果有朋友就是被这句话 touch 到了。</p> <h2>Afterword</h2> <p><strong>我们可以随时将一个灵感转变为现实。这就是我们热爱 coding、热爱前端的原因。</strong></p>

2024/10/14
阅读更多

Weekly #21:我们可以随时将一个灵感转变为现实

<blockquote> <p>历史上最伟大的领袖与政治家都不是问题解决者。他们是开创者,他们是创造者。即便在遭逢冲突的时代,例如战争或者经济大萧条,他们都为了打造出自己理想的社会而采取行动。丘吉尔(Winston Churchill)与小罗斯福(Franklin Delano Roosevelt)就是两个形象鲜明的开创者政治家。他们不只试着解选民之苦,甚至还有时间按照他们的愿景,把自己的时代打造成通往未来的基础。</p> <p>——《最小阻力之路》</p> </blockquote> <h2>🌆 封面图:秋夜</h2> <p><img src="https://blog.skywt.cn/usr/uploads/2024/10/2245050393.jpg" alt="封面图:秋夜" /></p> <p>iPhone 12 mini 拍得很糊。看个意境就好。</p> <h2>🎨 我们可以随时将一个灵感转变为现实</h2> <p>本周把之前博客前端各种组件都抽出来,做成了 <a href="https://daydesign.skywt.cn">DayDesign</a> 这个组件库。</p> <p>其实最早是想要给博客评论区加上 OIDC 登录(计划做微信、GitHub、Google 和 <a href="https://auth.skywt.cn">SkyAuth</a> 登录),然而设计评论区 UI 的时候,需要做一个 Tabs 组件,来切换用户信息填写方式(OIDC 登录,或填写名字、邮箱和网址),而这个组件在表单里的地位有些奇怪。于是我突然想到:<strong>干脆把所有组件都抽离出来,做一个组件库!</strong></p> <p>这也是我第一次配 <strong>Rollup</strong> 这个工具。要配上 React、TypeScript、PostCSS、Tailwind、Sass 等等,前端工具链还是挺折腾的。</p> <p>于是有了:<a href="https://skywt.cn/blog/daydesign-design-log">组件库 DayDesign 设计手记</a>。</p> <blockquote> <p><strong>我们可以随时将一个灵感转变为现实。这就是我们热爱 coding、热爱前端的原因。</strong></p> </blockquote> <p>当我灵光一闪的时候,总会有这样独特的体验:**似乎有某种东西在召唤我去创造。**我记得最疯狂的一天是我早上七点半到图书馆,coding 了一整天,到晚上十点才回家,期间仿佛感觉不到时间的流逝了。这或许就是所谓的「心流」状态。这都是源于「创造」带来的乐趣。</p> <h2>📱 哪款 iPhone 适合你?</h2> <p>很喜欢 Apple 官网每个产品介绍最后的这个部分:「<strong>哪款 iPhone 适合你?</strong>」</p> <p><img src="https://blog.skywt.cn/usr/uploads/2024/10/402989630.jpeg" alt="哪款 iPhone 适合你?" /></p> <p>每款 iPhone 的介绍,底部都有这个部分。相应地,每款 MacBook 的介绍,底部都有「看看哪款笔记本电脑适合你。」每款 iPad 底部都有「看看哪款 iPad 适合你。」这个部分列出该产品所有主要产品线,进行大致的对比。还有直达的「联系 Specialist 专家协助选购」的链接。</p> <p>至少它有这样一种意识:<strong>客户没有义务了解你的所有产品线</strong>。客户只关心哪一款产品满足 TA 的需求。这就是一种「以客户为中心」的理念:<strong>应该是厂商站在客户的角度思考客户的需求,而不是要求客户站在厂商的角度了解你的各种产品。</strong></p> <p>反观国内厂商,产品线都是什么乱七八糟的:数字、Mate、Note、Nova、Turbo、Civi、K、R、X,还有后缀,什么 Note 14 Pro+,K70 至尊版,Mate 60 RS 非凡大师……而官网的介绍连一个横向对比的工具都没有做。这种混乱毫无逻辑,简直让人毫无购买欲望。而如果去线下店问导购,多半会被宰一笔。😅</p> <p><img src="https://blog.skywt.cn/usr/uploads/2024/10/1884971143.jpeg" alt="小米手机的产品线" /></p> <h2>📚 本周在读:《最小阻力之路》</h2> <p><strong>一句话概括</strong>:从结构动力学的角度看待行为,我们的行为都沿着<strong>某个潜藏思维结构</strong>决定的「最小阻力之路」。</p> <p>一种常见的结构是<strong>反抗 - 顺应(React-Respond)取向</strong>,即顺应环境(做好学生)或者反抗环境(做坏学生)。本书认为,这种取向的最大问题就是基于这样的假设:环境决定人的行为。这种取向形成了一个内循环结构,即通过最小阻力之路,顺应取向会走向反抗,反抗取向会走向顺应,无法在内部改变这一取向。</p> <p>由此衍生的是<strong>解决问题取向</strong>。这一取向的最小阻力之路是:问题 - 改善问题的行动 - 问题改善 - 行动减少 - 问题再度恶化。这是一个典型的摇摆模式。</p> <p>本书提出的对应取向是<strong>创造取向</strong>。本书认为创造不是环境的产物,创造不等同于解决问题,目的也不是解决问题。<strong>创造者是为了它们的造物本身而创造。</strong></p> <p>本书认为结构会带来张力,而结构产生的行为则趋向于舒缓张力。这就是 <strong>「张力 - 舒缓」系统</strong>。而生活中经常遇到张力相互冲突的结构,例如「希望减肥」vs「想吃垃圾食品」。某个结构的张力舒缓意味着另一个结构的张力加强,使得最终的行为不断摇摆。(其实类似的原理可以用化学的平衡移动模型来解释,只不过本书作者另外发明了一套语言)</p> <p>为了解决这一问题,本书提出,<strong>我们可以创造一个在相互冲突的结构之上的、更具主导地位的结构</strong>。本书称为「结构性张力」(没 get 到这个命名)。它包含两个要素:</p> <ol> <li>对于想要创建的成就之愿景。</li> <li>对现状的清楚认识。</li> </ol> <blockquote> <p>诗人罗伯特 · 弗罗斯特(Robert Frost)的一句话最能诠释创作取向的这种精神:「所有成就伟大事物的人,都是为了那些事物本身而放手去做的。」</p> </blockquote> <p><strong>书评</strong>:70 分。本书并没有提出很多切实可行的方法论。鸡汤味比较浓。</p> <p>本书大量采用「小节+小标题」的形式,有的小节之间没有逻辑。据豆瓣短评:「有可能是研究生代笔的。」(不过比上周吐槽的几本「小节+无小标题」的模式要好,至少有个观点概括)建议跳着读,有的章节只要略看一眼节标题即可。</p> <p>教训:阅读还是要<strong>名著优先</strong>。豆瓣 8.1 分的作品也如此不尽人意。所谓「随缘式阅读」或许更适合略读。</p> <h2>🤔 Q4A #3:AI 高速进化的今天,什么能力更重要?</h2> <p>在推上看到这样一个观点,在评论区引起了争议。</p> <blockquote> <p>在 AI 高速进化的今天,编程能力只会越来越不重要。想法/创意,执行力,持续获取流量的能力这些最重要。我们身边已经有非常多的例子,设计师/产品经理通过 AI 的协助,可以完全抛弃工程师独立出产品了,而你还在纠结框架够不够新,够不够主流?</p> <p>我做了三年职业的全栈进阶课程的老师,以前的课程核心目标都是为了帮助学员跳槽找到更好的工作,拿到更高的薪资,所以什么新学什么,还教你怎么背八股文,怎么读源码,怎么应对面试官的提问等等。</p> <p>但这些对独立开发而言毫无价值!这个独立开发的课程他是以赚钱作为【唯一】目的。打工上班拧螺丝那一套在这里完全不实用,越快构建你脑海中的创意,越快开始赚钱才是王道。</p> <p>—— <a href="https://x.com/ezshine/status/1844865566751981992?s=46">大帅老猿</a></p> </blockquote> <p>虽然上面的说法存在争议,且只是面对独立开发的情况,但毋庸置疑的是:<strong>随着 AI 的高速发展,各种能力的重要程度优先级是有所改变的。</strong></p> <p>本周 Question For Answers #3:<strong>AI 高速进化的今天,什么能力更重要?</strong></p> <p><strong>分类讨论:</strong></p> <ol> <li>在大厂中的职业道路。</li> <li>在初创公司的职业道路。</li> <li>独立开发的职业道路。</li> </ol> <p><strong>哪些能力更重要?</strong></p> <ul> <li>编程开发能力</li> <li>学习能力</li> <li>沟通表达、团队协作</li> <li>执行力</li> <li>逻辑思维能力</li> <li>创意</li> <li>人际关系能力</li> <li>……</li> </ul> <p>🤔 <strong>你觉得(随着 AI 的发展,)在大厂 / 中小厂 / 初创 / 独立开发的职业生涯中,最重要的一个 / 几个能力是什么?</strong></p> <h2>🌟 Bookmarks #1</h2> <ul> <li><a href="https://www.bilibili.com/video/BV1f22AYwEXw/?share_source=copy_web&amp;vd_source=cd3fa74d3421ce574a62e3c11dcde9f6">扮演工作是对人生的浪费</a>。现在这个时代,相比五年前、十年前,好像大家都对「大厂」祛魅了。</li> <li><a href="https://www.bilibili.com/video/BV1iq2bYPEYc">高中生募资百万举办中国最大黑客松是什么体验?</a>AdventureX 的纪录片。有我出镜 😁</li> </ul> <p>下周见!</p>

2024/10/13
阅读更多

Weekly #20:我的个人宣言 v0.1

<blockquote> <p>游戏的格局越大,人类能贡献的潜能就越特别。作为人类,我们最大的优势正好就是过度专业化的对立面 —— 广泛融合各类知识的能力。</p> <p>——《成长的边界》</p> </blockquote> <h2>🌆 封面图:蒸汽机车</h2> <p><img src="https://blog.skywt.cn/usr/uploads/2024/10/4199959647.jpg" alt="蒸汽机车" /></p> <p>本周去参观了中南大学铁道校区。图为该校区内陈列的蒸汽机车。</p> <p>上网查了才知道校内陈列的三列机车是真实的已退役机车(而不是模型)。第一次知道原来这种机车如此庞大,车轮近一人高。</p> <h2>☀️ 夏日终曲</h2> <p>随着长沙天气一波明显的降温,能明显地感知到,<strong>夏天终于结束了</strong>。</p> <p>气温的变化给人体带来的感受,以及桂花的香气带来的感受,是非常感性的。我没法用言语描述出这种感觉。但它会让我回想起以前每个夏天结束的时候。秋天的夜晚,金黄色的落叶。有些不重要的场景不知为何就记得特别清晰,比如高中的晚上在教学楼走廊里和同学泡泡面吃,开水呈现出的水雾,它们带走的夏天。</p> <p>都怪各种文学作品,都怪《Call Me by Your Name》这样的电影,让人对夏季有这样的执念。🥲</p> <p>再见了,21 岁的夏天。👋</p> <h2>📃 我的个人宣言 v0.1</h2> <p>《高效能人士的七个习惯》中指出,要制定自己的「个人宣言」(或可称为「个人宪法」),描述自己最根本的、最核心的价值观和追求。当面临重大决策时,可以将其作为参考依据。</p> <p>「个人宣言」的制定是一个长期和动态的过程。成长的过程中我们或许随时会有新的思考,我们的三观也会不断更新。所以,现在我制定的版本号是 v0.1。</p> <p>我的三条核心追求,按照优先顺序排列如下:</p> <ol> <li><strong>学习 Learn</strong>。此处的学习并非局限于某一个领域的「study」,而是对万事万物、对整个世界的了解。「读万卷书,行万里路。」</li> <li><strong>创造 Create</strong>。理想的劳动应该是充分发挥自己创造力的过程。(因此,我非常讨厌刷题和考试)</li> <li><strong>影响 Influence</strong>。我们的存在应该或多或少地对这个世界产生正面的影响和改变。当然,这在目前阶段并非最主要的目标。一个人的「影响力」是需要慢慢积累的。</li> </ol> <p>其他暂时未列入上面三条的追求(优先级相对较低),有:</p> <ul> <li><strong>自由</strong>。能够不被拘束地做自己想做的事的权利。</li> <li><strong>对自己负责的权利</strong>。我们不应<strong>被迫地</strong>让别人对我们负责。折腾 self-hosting 也是出于这样的追求:我希望自己负责我的敏感数据的安全,而非某个大厂的草台班子或实习生来负责。</li> <li><strong>与他人不同</strong>。从信息论的角度来看,是我们身上与大多数人不同的那一部分,定义了我们。</li> </ul> <p>想到其他的再随时更新。</p> <h2>📚 本周在读:《成长的边界》</h2> <p>成为专才还是成为通才,是个一直辩论不完的辩题。本书倾向于后者,认为不应过早和过度地一头扎入某个专业化领域,应该从宏观角度考虑自己的发展。</p> <p>本书将学习环境分为两种:</p> <ul> <li><strong>友好型</strong>:各种体育运动、国际象棋等,能够通过刻意练习得到提升。</li> <li><strong>恶劣型</strong>:金融或政治的趋势预测,疾病诊断等,这些领域很难通过刻意练习得到稳定的提升。</li> </ul> <p><strong>前者就是本书所说的「专业化」。</strong> 通过诸如所谓的「一万小时定律」大量地在某个领域进行刻意练习,从而培养直觉。本书引证认为,这反而容易让人陷入固定的思维模式,从而无法产生变革和创新。</p> <p><strong>相比之下,后者就是通向「通才」的道路</strong>。在更宏观的复杂领域,并不是通过无脑的刻意练习就能得到提高的,需要有大局的观念和深度的思考。这才是人类独有的思维模式。</p> <p>然而,<strong>我只能给这本书打 70 分</strong>。这本书有和之前读的《终身成长》一样的「美式畅销书」的毛病:大量地堆砌事例而论证太少。每一节都是以小故事开头(估计为了吸引一些低水平阅读者的注意力),逻辑和观点只是穿插在期间,很不清晰,引用太多,废话连篇。这是一种很低效的信息传达,非常不符合《金字塔原理》讲述的沟通方式。我看了一段又一段的故事,真的很急:「你到底想说什么呢?!」</p> <p>我觉得其实看完第一章就够了。</p> <h2>📚 本周开始读:《计算》</h2> <p>上学期有幸听了吴翰清(道哥)来 HNU 的岳麓讲坛《一种计算主义的世界观》,并种草了他新出版的《<strong>计算</strong>》这本书。由于涉及到太多数学知识,这次讲座我其实并没有太听懂。浏览了《计算》这本书发现,这次讲座可以视为对部分书中内容的 summary。本周开始啃这本书!</p> <p>这本书要回答的核心问题是:<strong>计算的原理是什么?</strong> 这是一个看似不言自明,其实很难回答的问题。我们的生活中有无数的计算,但真正面对这个问题思考的时候,我们会发现<strong>很难用语言来描述计算的定义、本质和原理</strong>。不信的话,你可以试试给「计算」下一个严谨的定义。</p> <p>基于此,本书尝试讨论四个问题:</p> <ol> <li><strong>数学是发明还是发现?</strong></li> <li><strong>无穷的本质是什么?</strong> 数学中有无穷的概念,但物理上至今并没有任何证据揭示无穷的实在。</li> <li><strong>机器能思考吗?</strong> 大脑的思维模型是离散的还是连续的?神经网络至今缺乏可解释性。</li> <li><strong>宇宙是一台计算机吗?</strong> 现代量子理论解释下世界是离散的(所有物理量是普朗克单位的整数倍),这意味着宇宙是可计算的。</li> </ol> <p>仔细想想,每个问题都很有意思,并且都很难回答。</p> <p>对于每个问题,就像哲学一样,学界有不同的学派和学说,不同的「主义」,有不同的回答。而本书中作者秉持的就是所谓「<strong>计算主义</strong>」,作者的解释是「一种将世间所有过程都视为计算的世界观」。</p> <h2>🐦 全新推特置顶帖</h2> <p>推特(现称 X)是个很神奇的平台,在上面可以认识很多有意思的人。</p> <p>我觉得我(目前)发推的目的是:</p> <ol> <li>展现我的世界观。Show myself。</li> <li>与更多新朋友建立 connections。</li> </ol> <p>(第一点也是为了更好地进行第二点)</p> <p>自我介绍对我来说一直挺困难的,本周更新了推特置顶帖,目前内容如下:</p> <blockquote> <p><strong>嗨</strong> 👋</p> <p>你好,我是 SkyWT。可以叫我 Sky。 很高兴认识你~</p> <p>是浙江人。目前在湖南长沙上大学。 INFJ。努力感知这世界的一切。 爱好 📚阅读、🧑‍💻coding。技术栈偏前端。 爱好折腾 homelab 和 self-hosting。 超级细节控。喜欢 Apple。</p> <p>我目前将自己定义为 🎨<strong>Design Engineer</strong>。 仍在积极探索职业方向。</p> <p>我的个人主页和博客网站:skywt.cn 博客基本每周会更新,记录所思所想,渴望与你共鸣。欢迎访问~</p> <p><strong>社交媒体展现的只是我想让你看到的我。</strong> 相比虚拟世界的社交,我更喜欢线下面对面的沟通。如果你离我不远,不如来聊聊?☕️</p> </blockquote> <h2>💳 某大厂银行卡 CVV 泄漏传闻</h2> <p>最近大厂的事故真是一场接一场,并呈现<strong>危害越来越大</strong>的特征。之前只是某些云宕机几小时,后来是宕机或事故几天甚至几周,后来出现了照片泄漏等数据安全的问题,现在甚至是涉及钱的数据安全都出现问题。</p> <p>参考:<a href="https://www.hats-land.com/archives/security/2024-moutuan-credit-card-data-breach.html">某团信用卡数据泄露传闻:分析与观点</a>。</p> <p>上上周刚因为某云盘的照片泄漏,讨论过 <a href="https://skywt.cn/blog/weekly-17-18/#%E2%98%81%EF%B8%8F-self-hosting-%E7%9A%84%E5%BF%85%E8%A6%81%E6%80%A7">☁️ Self-hosting 的必要性</a>。然而这次涉及金钱的这些服务并不能 self-hosting。我觉得仅有的解决方案是:尽量选择规模更大的支付平台、尽量少绑定,以及自求多福。</p> <h2>🤔 Q4A #2:地铁一号线标识色为什么大多选用红色?</h2> <p>一般来说,每条地铁都有一个标识色。去了很多城市,我发现大多数城市地铁 1 号线都不约而同选用了红色。</p> <p>想象一下,你来到一座新的城市,第一次乘坐地铁,发现 1 号线是蓝色(或者黄色,或者绿色),会不会感到有些奇怪?</p> <p><strong>地铁一号线标识色为什么大多选用红色?</strong></p> <ol> <li><strong>文化相关</strong>: <ol> <li>中国传统文化中,红色代表庄重、喜庆。</li> <li>红色在本政权中的象征意义。</li> </ol> </li> <li><strong>物理性质</strong>:红光波长最长,最为醒目。(因此也被用于交通信号灯)</li> <li><strong>已形成的惯例</strong>:北京、上海等许多大城市都选用红色作为 1 号线标识色,已成惯例。</li> <li>……(评论区 👇)</li> </ol> <h2>🌟 Bookmarks #0</h2> <p>从本周起,我尝试将各处收藏的有意思的网站资源链接也统一同步到 Weekly,方便查找。</p> <p><strong>项目:</strong></p> <ul> <li><a href="https://github.com/winterx/color4bg.js">color4bg.js</a>:基于 WebGL 和 JavaScript 生成动态的抽象网页背景。</li> </ul> <p><strong>设计:</strong></p> <ul> <li><a href="https://www.patreon.com">Patreon.com</a>:十分具有设计感的官网。巨幅的 slogan 和全屏背景,带来的效果非常 impressive。</li> <li><a href="https://amie.so">Amie.so</a>:这个官网实在太酷了。不过技术难度也挺大。</li> </ul> <p>我希望建立这样一个平台,能够聚合我的所有日记、笔记、收藏、Twitter 帖子、GitHub 动态、一闪而过的想法等等,这样写周报就方便很多。人一天接触和生产的信息太多也太散乱,如果能统一管理就好了。这篇《<a href="https://soulteary.com/2022/01/24/building-a-personal-information-platform-with-mastodon-part-1.html">使用 Mastodon 搭建个人信息平台:前篇</a>》是一个参考。</p> <p>下周见~</p>

2024/10/6
阅读更多

Weekly #19:你好,武汉!

<h2>🌆 封面图:鹦鹉洲大桥</h2> <p><img src="https://blog.skywt.cn/usr/uploads/2024/10/2499414412.jpg" alt="封面图:鹦鹉洲大桥" /></p> <p>本周去武汉参加了金山校招开放日活动。这也是我第一次来武汉,顺便在武汉玩了几天!</p> <p>武汉给我的第一印象就是<strong>大</strong>。民国时期,国民政府将武昌、汉口、汉阳三镇合并,成为了这座超大城市,也形成了武汉「多中心」的格局。这几天花在地铁上的时间很多,花在打车上的钱也不少!</p> <p>几座跨江大桥的恢弘气势,很难不让人感到宏伟壮观。</p> <h2>🌉 武汉的公共交通</h2> <p>武汉有非常丰富的公共交通形式。例如在光谷,有公交、BRT、有轨电车、地铁/轻轨。这四种交通方式运力从小到大,造价也从低到高。</p> <p>武汉的 <strong>BRT</strong> 并不像厦门那样有专门的高架桥,而只是简单地划分了公交专用道。相比普通的公交车,好处是:1)车速可以更快;2)可以使用容量更大的车型;3)不受道路拥堵影响。</p> <p>光谷的<strong>有轨电车</strong>是比较独特的一种公共交通。在机动车道和非机动车道之间有一条有轨电车道。一列电车很长,形似地铁。在经过路口时,电车也要和机动车一样等待红灯。相比公交和 BRT,优势是:1)车速可以更更快;2)车型容量更更大;3)不受道路拥堵影响。当然造价也更高。相比地铁的优势是造价低、更快捷。(遗憾的是,光谷电车并不支持 NFC 交通联合卡)</p> <p><img src="https://blog.skywt.cn/usr/uploads/2024/10/319154630.jpg" alt="武汉光谷有轨电车" /></p> <p>武汉的<strong>地铁</strong>也很特别。所有地铁站内的官方名称都是「<strong>武汉轨道交通</strong>」而不是「武汉地铁」。听武汉本地的朋友说这是出于历史原因:在最初规划时计划造轻轨,所以名为「轨道交通」;造完一号线后由于成本等种种因素,之后改建了地铁。所以目前一号线是高架轻轨,其他线都是地铁。从一号线换乘其他线路,要从地上乘坐长长的电梯到地下。</p> <p><img src="https://blog.skywt.cn/usr/uploads/2024/10/1437210938.jpg" alt="武汉轨道交通一号线" /></p> <p>(插播一则冷知识:武汉光谷出现在地铁站名中的英文是 Optics Valley,「光学山谷」)</p> <p><strong>地铁五号线</strong>是无人驾驶的列车。首尾车厢经过单独设计,可以在车头的挡风玻璃看到车前隧道内部。非常酷!</p> <p><img src="https://blog.skywt.cn/usr/uploads/2024/10/3648569094.jpg" alt="无人驾驶的武汉地铁五号线" /></p> <p>虽然有丰富且独特的公共交通,但武汉的道路交通还是不敢恭维。在高德地图上呈现红黑色的拥堵路段、疯狂的司机师傅、横冲直撞的非机动车,我都体会到了……和长沙一样,在武汉的路上骑车,可能有生命危险。😇</p> <p>关于武汉交通还有一个不得不提的存在,那就是「<strong>萝卜快跑</strong>」,百度的无人驾驶出租车服务。它并不是如我想象的那样可以随意指定上下车地点,而是在路边有许多固定的上下车点,可以从中选择。有的小巷内没有设点,就无法在其中上下车。所以武汉的朋友说它其实类似公共交通的地位,无法解决「最后一公里」的问题。这项服务也引发了诸多问题,比如交通事故消息被压、本地司机罢工等。我本想体验一下,可惜等了十分钟都没呼叫到车……希望下次有机会体验!</p> <h2>🔐 Authelia:更简洁的开源 SSO 服务</h2> <p>之前一直用 Keycloak 作为我 self-hosted 的 SSO 系统,部署在 <a href="https://auth.skywt.cn">SkyAuth</a>。然而 Keycloak 历史悠久,异常庞大,功能复杂,默认 UI 丑陋(一股 RedHat 风味);基于 Java 开发,自定义主题困难。作为 UI 颜控的我完全无法忍受。于是我在找寻其替代品。</p> <p>本周将其换成了 <strong>Authelia</strong>。这也是一个开源的 SSO,后端基于 Go,前端基于 React,相比之下功能简洁不少,也可以方便地进行一些自定义。接下来,我希望将博客评论区集成第三方登录,如 GitHub、Google 甚至我自己的 SSO。慢慢折腾。</p> <h2>🤔 Q4A #1:大厂里学历对晋升的影响</h2> <p>秋招进行至今,已经经历了几十场面试。由于我目前无读研打算,学历将停留在本科,于是每一场的反问环节,我都有一个保留问题:「<strong>您觉得大厂里学历对晋升有影响吗?或者影响大吗?</strong>」</p> <p>由于不同企业内部、不同面试官的经历都有所不同,或许某一名面试官的经历不能反映普遍情况。所以我每场面试都会问,希望得到足够多的数据。</p> <p>面试官对于这个问题的回答,统计结果大致如下:(只针对前端开发岗位)</p> <ul> <li><strong>70%:「无影响」</strong> <ul> <li>没有影响。学历只是「敲门砖」,进去后只看能力。</li> <li>就我的个人经历而言,没有感觉到影响。</li> <li>甚至有硕士定级比本科生低的。</li> <li>可能有一定相关性,但并不构成因果关系。名校出身的人大多视野更开阔、思维更敏捷。</li> </ul> </li> <li><strong>10%:「只影响入职定级」</strong> <ul> <li>可能只会影响入职时的定级,但入职后不太会看。</li> </ul> </li> <li><strong>20%:「有影响,但不大」</strong> <ul> <li>可能有,但微乎其微,学历只是像一个 label 贴在你身上。</li> <li>可能有,但你的本科也是 985,其实已经够了。</li> <li>可能有。但几年后的环境可能更差,你现在就业是更好的选择。</li> <li>(笑)这个问题我可能很难回答你……</li> </ul> </li> </ul> <p>秋招是痛苦的。武汉之行被插入了五场面试。国庆终于可以好好休息一下。下周见~</p>

2024/9/29
阅读更多

感谢订阅。

<p>订阅成功。此 RSS 源返回最近发布的 20 篇文章。当有新文章时,RSS 源会及时更新。</p> <p>欢迎随时再次访问 skywt.cn。</p> <p>感谢 RSS 这个伟大的发明,用开放的标准将互联网连接在一起。</p>

2017/10/31
阅读更多