官网:Intro | Zod
Note
Zod 是一个现代化、强大的,用于表单校验的库,其设计能很好的支持服务端渲染等现代化的未来场景,同时更是广泛支持各种框架和组件库,他被 NextJS 官方推荐使用。
我认为 zod 的两个最大优点:
不止是运行时的数据校验,也提供开发时的类型安全(请见本文下面的:[[#3. 推断类型]])
一次声明,处处验证。定义好一次后,可以给客...
该文章由 google gemini 2.5 pro 生成,用于归纳使用 tailwind css 时,global.css 文件中各个 CSS 变量的作用。
使用这些 CSS 变量,而不是使用 text-sky-500 这样的自定义颜色,有助于优雅的处理深浅模式的转换等问题,更是可以在未来做出可复用、可配置的主题系统。
变量详解 (Variable Breakdown)
我们将...
目标1:安装
为了排除乱七八糟的问题,以及确保安装最新版,我选择手动安装。
官网下载 .deb 安装包
MySQL :: MySQL Community Downloads
在界面里找到 MySQL APT Repository ,下载类似于 mysql-apt-config_0.8.34-1_all.deb 这样的文件。
拷贝到你的本机
其实你也可以用 wget 直接抓这个包,但是为...
APT 仓库安装
1sudo apt install default-jdk
如果提示Unable to locate package openjdk-21-jre-headless,那把版本换一下(比如换成17有可能会解决问题)
如果你用的是Fedora、CentOS等, 尝试
1dnf install java-latest-openjdk-headless
常用的版本是JDK8,JD...
仅仅适用于 debian
仅作为 Debian 的步骤摘要,其他系统以及最新操作请见:Debian | Docker 文档 — Debian | Docker Docs
注意选择自己的操作系统
先卸载之前冲突的包
1for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do ...
作为一个 vue3 转 react 19 的萌新,我一直很好奇 react 是怎么实现响应式数据的。
这个问题在我学习 redux 的时候,变得尤其突出。下面,我会用实际的案例说清楚这件事。在文末,我会通过这件事,中立的思考两个框架的设计哲学。
案例背景
我的环境是 React 19,并且使用了社区推荐的 Ducks 风格组织 redux 代码,本文中的所有代码都将采用目前为止社区推荐的最...
在本文中,我会用我觉得最适宜上手的学习顺序组织这篇入门 redux 的笔记。
在开头我会先介绍不依赖于框架的 redux 写法,这使得仅需要 JS 基础的小伙伴也能上手;
之后,我会详细总结现代 redux 的实现,通过这个能看懂现代的大多数使用 redux 的项目;
文末,我还会给出最新的 redux 特性,也就是 RTK v2 的一些区别和思考,以此紧跟社区最新进展和方向。
经...
这两个家伙在现代前端开发中必备,尤其在 React 框架里,灵活的使用这几个方法来达成和 Vue 指令相同的效果。
现代前端数组方法的共性
基于 不可变性(Immutability)原则,这两个方法都不会对原数组产生任何修改(除非有意为之)
使用 forEach() 遍历数组,并产生副作用
语法:
1array.forEach(callback(currentValue, i...
DTE 是 数字孪生引擎(Digital Twin Engine) 的缩写,我在这里指的是我在文章中使用的一个 node_module,其基于赫赫有名的 ThreeJS 进行了很多企业级业务逻辑的封装。
关于 DTE 和 ThreeJS 的一些更详细的对比
Three.js:是一个轻量级、功能强大的跨浏览器 JavaScript 库/API,用于在浏览器中创建和显示动画...
本文是我在某中厂任职时的学习笔记,用到 DTE 库是基于 ThreeJS 实现的闭源的公司内部库,替代方案和说明可见 DTE 库的开源替代方案(ThreeJS 等)
Quote
DTE封装了ShaderMesh 进行云图渲染。
所谓云图,就是根据每个顶点所携带的数据 来渲染颜色。 顶点上的数据,一般由DTE后端仿真计算而来,代表各种物理量的分布。
在数字孪生项目中,这些数...