工程师
https://sugar-high.vercel.app/
对于高亮组件来说,体积非常小了
unicode 科普文章
https://github.com/lrusso/VirtualXP
在浏览器中运行 XP 虚拟机。
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Trailer
花了快 2 个小时研究了一下文档,主要目的是为了在发送完 headers 之后再一次发送 headers,主要是为了在流式渲染中发送 Server-Timing,在前端统计服务器的一些耗时。但是死活在 Chrome 浏览器不生效,Firefox 生效。发现 Firefox 会自动在请求头加上 TE 字段,这正是 Trailer 文档中需要的。
但是和 GPT 拉扯了 2个小时,毕竟它告诉我在 HTTP2 并不需要 TE 就可以使用,我十分兴奋,以为 MDN 文档是错误的,但是本地启动了 HTTP2 之后,还是不生效的。https://www.w3.org/TR/server-timing/#server-timing-header-field 但是事实告诉我,只有在 TE 头发送了的情况下,才能够做到在流中发送额外的 headers.
https://elanmed.dev/blog/suspense-in-different-architectures
对于 Suspense 在客户端,服务端和流失渲染中到底是如何起作用的,讲的很清楚。
由之前 React #421 想到一个问题,如果这个问题是由于水合之前的 state 更新导致的,往往是 Suspense 之外的 state 更新导致的,如果能够做到类似 signals 那种方式的订阅更新的方式,只有使用到 signal 的组件才会更新是不是就能解决此类问题?
- https://github.com/dai-shi/create-react-signals/blob/main/src/createReactSignals.ts#L313 这是 jotai 内部实现的包,思路是替换原始的 createElement,使其能够支持 signal。替换的思路是通过在编译阶段从 jsx 到 js 阶段替换掉 react 原生的 createElement,是否替换是通过注释方式实现。如果没有这个注释,还是用原生的 createElement
- 另外一种可能的实现方式是通过 https://github.com/pmndrs/react-three-fiber/blob/master/packages/fiber/src/core/renderer.ts#L298 中使用的 react-reconciler 方式, 思路是通过自定义的 react-reconciler 来接管在 props & children 变换,注册的时候 threejs 一些元素的更新。毕竟 canvas 的更新完全是通过类似 scene.add 或者 scene.render 的方式实现的。
文章
https://www.macin.org/2023/10/02/e-mei-chong-dian/
工作经常让我电量耗尽,文中是旅行一次可以充电一个月。我倒是没有统计过这个,下次做了想做的事情之后可以简单计算下再次 burnout 是什么时候?又通过什么方式补充了多少。
https://www.japantimes.co.jp/business/2023/09/21/companies/nippon-tv-ghibli-acquisition/
如果宫崎骏总有离开的一天,吉卜力工作室还能叫做吉卜力吗?
效率
Mac 的桌面对于我来说真的没啥作用,打开的机会很低。现在增加了小组件的功能,添加了 TODO,播客等应用,看看之后的使用频率。
如果尝试每周只工作四天,是否变得更有效率?文中举例很多情况表明更少的工作时间更有效率,但是需要做到:
- 需要较少会议
- 设置任务的优先级