---
title: "Landay (@Landay) | Hashnode"
description: "Landay (@Landay) writes on Hashnode. Read their latest articles and follow their work."
url: "https://hashnode.com/@Landay"
---

@Landay

# Landay

@Landay · Joined April 2022

### [入门](https://landay.hashnode.dev/introduction?utm_source=hashnode&utm_medium=feed)

AI Engineer是啥？ AI开发工程师，是利用训练好的模型和现有的AI工具，设计和实现AI系统，以解决实际的业务问题。 所以不是让你去研究AI理论，也不是去开发新的模型。 主要是应用现有的AI技术，提升用户的体验，实现一些任务的自动化，把AI无缝融合到业务中。

1 min read · [landay.hashnode.dev](https://landay.hashnode.dev/introduction?utm_source=hashnode&utm_medium=feed)

[Aug 7](https://hashnode.com/posts/introduction/6a75781fd449bf5696b2aca8)

### [\[Violation\] 'setTimeout' handler took <N>ms](https://landay.hashnode.dev/violation-settimeout-handler-took-nms?utm_source=hashnode&utm_medium=feed)

怎么解决这个东西？ \[Violation\] Forced reflow while executing JavaScript took 38ms 强制重绘，原因是你修改DOM的样式，立马又去读了一个Layout相关的属性，读取的话浏览器需要重新计算一遍布局，比如： const openModal = () => { element.style.display = 'block'; // WRITE const height = element.offsetHeight; // READ...

1 min read · [landay.hashnode.dev](https://landay.hashnode.dev/violation-settimeout-handler-took-nms?utm_source=hashnode&utm_medium=feed)

[Dec 30, 2025](https://hashnode.com/posts/violation-settimeout-handler-took-nms/69537759527aacd64b3fe5f6)

### [Modal里面状态切换的导致Flickering问题](https://landay.hashnode.dev/modalflickering?utm_source=hashnode&utm_medium=feed)

如果在modal外面管理状态，在关闭弹窗的时候，因为需要清理状态，弹窗内容会flicking。 解决办法1：在modal的onCompleted或者onExitEnd之类的callback里清理状态。 解决办法2： ？？？比如我用的是react-aria-components这个库，没有提供这个方法。 可以使用https://developer.mozilla.org/en-US/docs/Web/API/Element/getAnimations#examples ...

1 min read · [landay.hashnode.dev](https://landay.hashnode.dev/modalflickering?utm_source=hashnode&utm_medium=feed)

[Sep 4, 2025](https://hashnode.com/posts/modalflickering/68b94a4ae7fa96617a1a0a22)

### [Auction System Design](https://landay.hashnode.dev/auction-system-design?utm_source=hashnode&utm_medium=feed)

1 min read · [landay.hashnode.dev](https://landay.hashnode.dev/auction-system-design?utm_source=hashnode&utm_medium=feed)

[Sep 4, 2025](https://hashnode.com/posts/auction-system-design/68b8f19cd7b9e29eb7400ef1)

### [使用zod时的注意：nullable vs optional](https://landay.hashnode.dev/zodnullable-vs-optional?utm_source=hashnode&utm_medium=feed)

定义zod schema的时候，有时候定义为nullable时要注意：如果你是从一个可能为空的对象里取出一个字段来parse的时候，可能会出现问题： const schema = z.object({ a: z.string().nullable() }); const rawData = { nested: null }; const data = schema.parse({ a: rawData.nested?.a }); 会导致throw，程序无法继续下去。 解决办法：...

1 min read · [landay.hashnode.dev](https://landay.hashnode.dev/zodnullable-vs-optional?utm_source=hashnode&utm_medium=feed)

[Nov 25, 2024](https://hashnode.com/posts/zodnullable-vs-optional/6743dbd0bd6310378e46822b)
