页面虚拟滚动

研究了一下飞书、react-window 等虚拟滚动的实现,都是需要提前知道节点的高度,因为用反证法思考,不知道高度,那还滚动个啥呢?所以,他们的原理都是大同小异的。

我写了 2 个 demo,一个是向下虚拟滚动,一个是向上虚拟滚动。记录在下面。

See the Pen virtual scroll myself2 by zeng (@zengxiaoluan) on CodePen.

See the Pen virtual scroll myself by zeng (@zengxiaoluan) on CodePen.

最近我们做了一个网页版的聊天工具,类似有度,还是很有意思。

further reading

这个文章写的很好,推荐阅读。

关注 react

2023-08-31

羊水栓塞是一种罕见及未被完全了解的产科紧急症候。指在分娩过程中,羊水、胎儿细胞、胎发、胎粪、皮屑等物,透过子宫基底的胎盘进入母体血液循环而诱发母体之发炎反应。这作用会引致心肺衰竭及凝血异常。

此病最早在1941年被描述说明。在母体致死率的列表中羊水栓塞排列第五位。

羊水栓塞十分罕见(机会为8,000至80,000次分娩中出现一次,然于2007年研究给出的数字为20,464次分娩中出现一次)。大部份产科医生在整个执业生涯中可能从未经历过。亦因此,这种状况的发生过程很少被了解。一般认为,羊水及胎儿细胞进入母体肺循环(此可能使产妇心肺衰竭而亡)后将发生下列两个阶段。

继续阅读“关注 react”

我们结婚了

2023-07-31

What’s the big deal about “he/him” ”she/her” ”they/them”

https://www.imd.org/ibyimd/brain-circuits/understanding-pronouns-he-him-she-her-they-them-is-about-inclusion

Why would women put “she/her,” and men put “he/his,” particularly when they are actually presenting as female or male

2023-07-30

采耳多见于川蜀地区,采耳指的就是挖耳朵,将耳洞中的窝沟脏东西清理出来,不仅有益于耳朵的健康,还具有一定的减压作用,所以很多人喜欢采耳,酥酥麻麻的感觉让身体毛孔感觉瞬间打开一样。那么采耳的好处和坏处都有哪些呢?今天金耳勺导师为大家分享。

https://zhuanlan.zhihu.com/p/120888386

还是做全身按摩爽快

继续阅读“我们结婚了”

没有竣工验收,就通知收房

2023-06-30

For example, if you’re creating a site that reviews media, you might use categories such as Books or Film or TV.

For example if you were creating a site that reviews media, you might want to use tags such as science fiction or action adventure

https://wordpress.com/support/posts/categories-vs-tags

继续阅读“没有竣工验收,就通知收房”

磁盘满了,MySQL 无法启动

最近此站点没法访问了,cloudflare 提示连接我的服务器出错,我也不知道原因是什么,二话不说,先把服务器重启。再刷新网站,提示没法连接数据库。我就再重启 MySQL:

systemctl start mysqld

结果重启失败,报出如下的错误:

Starting mysqld (via systemctl):  Job for mysqld.service failed because the control process exited with an error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.

我的服务器只花了 10 美元,要运行 WordPress 程序,下意识觉得磁盘空间不够,因为才 10g 的空间,如何查看磁盘的占用情况呢?运行如下指令:

df -h

可以看到磁盘的占用空间达到了 94%,10g 这么快就用完了。

Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        219M     0  219M   0% /dev
tmpfs           234M     0  234M   0% /dev/shm
tmpfs           234M   13M  222M   6% /run
tmpfs           234M     0  234M   0% /sys/fs/cgroup
/dev/vda1       9.4G  8.3G  604M  94% /
tmpfs            47M     0   47M   0% /run/user/1002

那如何检测出哪个文件占用的大,将其删除释放空间出来呢?运行如下指令:

# du -sh *
0       bin
231M    boot
1.2G    data
0       dev
23M     etc
28K     home
0       lib
0       lib64
16K     lost+found
4.0K    media
4.0K    mnt
4.0K    opt
0       proc
1.5G    root
13M     run
0       sbin
4.0K    srv
0       sys
44K     tmp
4.9G    usr
493M    var

可以看到 usr 目录下占用了 5g,将近一半的空间。进入文件夹,删掉大文件,重启 mysqld 服务就搞定了。

域名被封

2023-04-30

贾政的归农之意多少有点虚假,农民是不太想归农,农业

2023-04-29

2023-04-28

【阿里云】尊敬的[email protected]:您网站zengxiaoluan.com涉及违法不良信息,域名已被暂停解析并禁止转移处理,违规细节及申诉方式请见邮件及站内信。

md,网站被封feng了

继续阅读“域名被封”

领证了

2023-05-31

HLS.js is a JavaScript library that implements an HTTP Live Streaming client.

It relies on HTML5 video and MediaSource Extensions It works by transmuxing MPEG-2 Transport Stream and AAC/MP3 streams into ISO BMFF (MP4) fragments.

https://github.com/video-dev/hls.js

2023-05-30

HLS 的工作原理是把整个流分成一个个小的基于 HTTP 的文件来下载,每次只下载一些。当媒体流正在播放时,客户端可以选择从许多不同的备用源中以不同的速率下载同样的资源,允许流媒体会话适应不同的数据速率。在开始一个流媒体会话时,客户端会下载一个包含元数据的 extended M3U (m3u8) playlist文件,用于寻找可用的媒体流。HLS 只请求基本的 HTTP 报文,与实时传输协议(RTP)不同,HLS 可以穿过任何允许 HTTP 数据通过的防火墙或者代理服务器。它也很容易使用内容分发网络来传输媒体流。

https://www.jianshu.com/p/e97f6555a070

继续阅读“领证了”

平凡

20230-03-31

20230-03-30

20230-03-29

缺失 3d

20230-03-28

简单记录一个计算机图形学方面的算法。即计算 2D 平面中,从点 A 到点 B 形成的向量的夹角。这算是游戏里面比较底层的算法,一般游戏引擎都会包装好这个方法,如 GMS2 的 point_direction 方法。常用于实现旋转一个物体,比如拨动时钟的指针、人物的武器使用鼠标瞄准敌人。本文代码使用 JavaScript 实现。

https://juejin.cn/post/6844903880493367304

用向量的方式求两条线段的夹角

继续阅读“平凡”

买金和数独

2023-02-28

缺失 1d

2023-02-27

为什么有的人一坐电动车就晕车 – 备胎说车的文章 – 知乎

https://zhuanlan.zhihu.com/p/82169428

一度以为是那个司机不行,把我开吐了,原来是电动车的动力方式导致的。

2023-02-26

the representation of the value “1” in binary would normally be “001” and “2” would be “010”. In Gray code, these values are represented as “001” and “011”. That way, incrementing a value from 1 to 2 requires only one bit to change, instead of two.

https://en.wikipedia.org/wiki/Gray_code

格雷码了解一下

继续阅读“买金和数独”