在Service Worker中使用TypeScript还蛮麻烦的,因为Service Worker的类型属于内建类型库WebWorker下,默认情况下WebWorker的self
是WorkerGlobalScope & typeof globalThis
。但是Service Worker的self
确实提供了一些Worker没有的服务,比如install事件,用WorkerGlobalScope
确实不够。
-
-
嗯,是的,我又回来了。最近打算写一篇关于数据驱动UI的博文,于是我又关注起了我的博客,然后发现有个事项好像还没做:更新博客的构建。正好我自己的Git托管服务也搭得差不多了,我就考虑把构建迁移到我自己的服务上。当然,现在这种情况再用GitHub Pages不方便——于是网页就换成Cloudflare Pages托管。
这就是这次架构更新的大概方向。不过,这次改动中我确实遇到了一些问题,这些才是有意思的部分。
-
看着远处的黑色圆盘,我感到从未有过的平静。
我是说——我从未有过一次这样的经历,在宇宙中孤独地向前移动。遥远的“臂”上散落颗颗星辰,而在臂之外的地方,只留下一片漆黑的空白。
-
请允许我隆重介绍本博客的新主题——Buck!跟原先一样,这是一个老Material Design风格的主题。Buck从头开始设计,重写了所有样式和代码,加入了新的考量和原则。让我自豪地在这里为你介绍一下Buck带来的改进和变化。
-
最近看到很多在Flutter上实现Signals范式的项目,其实我自己也试了一下。感想是:Dart缺少太多语法特性了……真正的Signals范式需要很多胶水代码,在JS上这些胶水代码都是用代码生成器生成的,但是Dart和Flutter让这个生成器不是那么的好写,或者没法方便的用自带的特性做类似的功能。
-
作者并非该领域专业人士,这篇文章收集并整理了部分问题和回应,仅作为补充。
了解更多:
-
现在的LightStands软件的第一个Commit来自2022年7月31日。不过,LightStands的想法和开发其实开始得很早,最早的版本早在2017年就开始开发了。详细的时间我并不记得,我只知道在2017年8月8日我在Git上提交了web.dart的第一个commit——它是LightStands第一个版本的基础。但是,在写了几千行代码之后,这个LightStands软件就被废弃了。
这篇文章是我过去几年里开发LightStands软件的经历总结。
-
2022年第一季度写的两首小诗:《梅花》和《无题》。生活在不确定中让人疲累,没有紧急出口。
-
程序运行时,最重要的便是Program Counter(PC)和Stack。Program Counter(程序计数器)记录程序运行的位置,Stack(栈)保存当前的数据。
1
2
3
4
5
6
7
8
9
10+-------+ |Stack Address
| v1 | |
+-------+ |
| v2 | |
+-------+ |
| v3 | |
+-------+ |
| v4 | |
+-------+ v <-- top
Stack 示意图这是一个Thread(线程)。本文主要是为了说明人们是怎么把这么简单的东西玩出各种花样的,完完全全是一篇走马观花的介绍。本文会解释关于线程的一些概念,并展示一些新的有意思的东西。