yar2001的文章

CSS滚动条抖动的解决方案 兼容各类UI框架

yar2001 发布于 2021-10-30

在SPA页面中,当从有滚动条的页面进入无滚动条的页面时,会发生页面元素的抖动。初步解决这个问题的方法是让滚动条始终出现。 overflow可以放在body,也可以放在html标签中,它们的效果是相同的。 然而,一些UI库在特定情况下会向body或html中注入overflow样式...

阅读(44)

React使用Resize Observer侦听div高度变化

yar2001 发布于 2021-10-27

一些动画需要侦听div高度。最开始,我使用的是react-resize-aware框架,它通过将内嵌iframe,侦听onResize捕获事件。然而,这种方法有性能问题。后来,改用Resize Observer手写了一个侦听高度的hook。 源码 使用TypeScript和Rea...

阅读(45)

React Spring 源码解析 基于弹簧的声明式动画库

yar2001 发布于 2021-10-27

React Spring是一个基于弹簧的动画,弹簧的弹性轨迹符合人脑对真实物理的建模。因此,相比于css基于函数插值的动画,基于弹簧轨迹的动画更有助于人们在直觉上感觉“更平滑”。这就是为什么iOS的动画饱受好评的原因,因为在iOS中,大量使用了弹簧动画。 目前,React Spr...

阅读(54)

原创

字节跳动青训营项目 ByteCode 展示

16

yar2001 发布于 2021-09-22

花了一天的时间,在字节青训营获得第三名,我自然是惊喜的。但其实,仔细想想,只不过是自己长期对各类技术进行积累,才能让我在短期内快速堆砌各类技术栈,实现一个花俏的架构设计。 然而,脱离实用的学习是在耽误时间。点技能树时,我不应当盲目追求广泛,也不应该过度执着于深度、难度。学习是为了...

阅读(157)

TypeScript严格类型的重要性

yar2001 发布于 2021-05-30

最近发现,使用TypeScript时,会出现一些“看代码没什么问题,但实际执行就会出错”的bug。经过调查后发现,这类bug主要原因就是实际执行时的类型和TypeScript标注的类型不一致。 例如:将Date类型转为json,再解析时,Date类型会变成字符串类型。而json类...

阅读(162)

Go在WSL2的HTTP压测表现优于Windows

yar2001 发布于 2021-05-14

最近开始探索使用Redis、Docker,打算将服务器从Windows有计划的迁移到Ubuntu中。这将带来很多好处,例如支持插件的Nginx和更高性能的服务,同时为分布式集群的部署奠定基础。过渡阶段使用WSL2 Ubuntu在一台主机同时运行两个系统的服务。为了确保将部分服务迁...

阅读(219)

我在高中备考的经验 毕业后的反思

yar2001 发布于 2021-04-30

之前,尝到努力甜头的我,对努力有一种不切实际的迷信。简单的将“努力”量化为时间或做题数量,却没有对努力本身进行思考。这种“只要努力,就会得到回报”的简单脑回路,让高二的我不断提高努力强度,让学习占满自己的假期,剥夺了自己几乎所有的时间用于学习。但一天的时间是有限的,大脑用于学习的...

阅读(44)

React useImperativeHandle 踩坑记录 不要使用奇技淫巧

yar2001 发布于 2021-03-04

使用React的useImperativeHandle时,如果在传入的函数中使用了state,将会导致调用Handle时state读取为上一个状态。 解决方案: 在React相关issue中有人讨论了这个问题,FredyC说 That’ s a pretty comm...

阅读(803)

正则表达式中匹配向前、向后排除或包含的方法

yar2001 发布于 2021-02-11

每次遇到这类需求时,都要搜索好久,并且很多关于正则表达式的资料不会很深入,故特此记录。 肯定式向前查找 匹配字符序列『Start』后跟一个空格和Test字符序列(不区分大小写)正则模式:Start(?= Test)匹配字符序列『some』,如果在同一句子中还存在字符序列some正...

阅读(522)

原创

认知崇拜

yar2001 发布于 2020-12-18

大部分我们羡慕的优秀的同龄人,或多或少都是对认知规律掌握的结果。然而,当人们关注一些能力很强的人时,往往只注意到了其聪明、自律和高效率,在尝试模仿时却效果不佳,以为这之间有多么高难度的屏障,甚至很多优秀的人也是这么看待自己的。但其实,这些只是现象,而非原因。他们对认知规律有意无意...

阅读(734)