当前位置: 首页 > news >正文

react源码探索之预先知识了解

  • 最近快期末考试,本来不打算写博客的,但是一旦停下不知又是何年,或许是我工作之后,也或许是永远把。毕竟这只是用来记录我大学的殷实生活,大四我不再着重记录,而是投身于找工作。
  • 时光匆匆,重大一开始写博客起,也已经写了八九十篇了,每次回顾以前的博客时,就是感到时间快,真他娘快,转眼三年,看着每一篇博客,想着每一周的经历,感觉不那么真实,好像仿佛回到了那几天,这一切终究是要结束的,天下无不散之宴席
  • 这篇文章是上个月我记的笔记与总结,我之前也阅读过vue源码的大概流程,还有部分api的细节,我明显的对比出react源码的相对复杂,感觉facebook那群团队就是操作系统出身一般。有很多跨领域的技术,比如双缓冲,我之前在写c++游戏时用esayX有过先行了解。总之react确实极其有意思,能学到很多思路。
  • 下面是一些相关名词的介绍,一开始我对这些确实有些困惑的,好在如今网络发达,资源也很多,甚至b栈都有相关的源码讲解,可惜没找到18版本的。不过网上的资源也不能全信,有些人也是一知半解就发出来的,我被错误的引导两天,当时那是越看越懵。

Fiber 架构背景知识

在 React 中,为了实现高效的更新机制,引入了 Fiber 架构。Fiber 是一种数据结构,用于描述 React 组件的工作单元。每个 Fiber 节点对应一个 React 组件实例或者 DOM 元素。

  • 我们提到的虚拟DOM在React中有个正式的称呼——Fiber
    React 在更新过程中,会构建和处理 Fiber 树。这棵树用于跟踪组件的状态、属性以及它们之间的关系等诸多信息。

current和alternate属性的含义

  • 当前屏幕上显示内容对应的Fiber树称为current Fiber树,正在内存中构建的Fiber树称为workInProgress Fiber树
  • current是指向当前正在屏幕上显示的 Fiber 树的引用。它代表了当前用户看到的 UI 对应的组件树结构
  • alternate是与之对应的另一个 Fiber 树的引用。在 React 的更新过程中,React 会构建一个新的 Fiber 树(称为workInProgress树),这个新树的每个节点的alternate属性会指向旧的(current)树中对应的节点。
  • 例如,当一个组件的状态发生改变,React 会开始构建一个新的 Fiber 树来反映这个更新。在构建过程中,新树的节点通过alternate属性与旧树的节点关联起来。这样做的目的是方便在更新完成后,将新树替换旧树(current树),实现高效的 UI 更新。

代码示例帮助理解

  • 假设我们有一个简单的 React 组件:
import React, { useState } from 'react';
function Counter() {const [count, setCount] = useState(0);const handleClick = () => {setCount(count + 1);};return (<div><p>Count: {count}</p><button onClick={handleClick}>Increment</button></div>);
}
  • 在 React 内部,当setCount被调用触发组件更新时,React 会创建一个新的 Fiber 树(workInProgress树)。新树中代表Counter组件的 Fiber 节点的alternate属性会指向旧的(current)树中对应的Counter组件的 Fiber 节点。
  • 这种双缓冲(current和alternate)的机制允许 React 在后台构建新的 UI,同时保持旧的 UI 在屏幕上显示,直到新的 UI 完全构建好并且可以无缝切换,从而避免在更新过程中出现 UI 的闪烁或者不一致等问题。

hostRootFiber

  • hostRootFiber是 React Fiber 树的根节点。在 React 应用中,整个组件树结构是基于 Fiber 架构构建的,而hostRootFiber就是这个树形结构的起点。
  • 它主要用于管理整个应用的渲染过程,包括协调子组件的更新、挂载和卸载等操作。从概念上讲,它类似于传统 DOM 树中的document对象,是整个渲染流程的控制中心。
  • 在 Web 环境中,hostRootFiber与浏览器的 DOM 相关联。它负责将 React 组件树渲染成实际的 DOM 元素。当 React 应用首次加载时,hostRootFiber会创建并挂载初始的 DOM 节点,后续的更新操作也会通过hostRootFiber来更新对应的 DOM 部分。
  • 例如,在一个简单的 React Web 应用中,hostRootFiber会对应 HTML 文件中的
    (假设这是 React 应用挂载的根 DOM 节点)。React 会将整个组件树挂载到这个root节点上,而hostRootFiber就是这个挂载过程的关键节点,它管理着从 React 组件到实际 DOM 元素的转换。

两种重要的数据结构

Fiber

function FiberNode(tag: WorkTag,pendingProps: mixed,key: null | string,mode: TypeOfMode,
) {// 作为静态数据结构的属性this.tag = tag;this.key = key;this.elementType = null;// 大部分情况同type,某些情况不同,比如FunctionComponent使用React.memo包裹this.type = null;// 对于 FunctionComponent,指函数本身,对于ClassComponent,指class,对于HostComponent,指DOM节点tagNamethis.stateNode = null;// Fiber对应的真实DOM节点// 用于连接其他Fiber节点形成Fiber树this.return = null;this.child = null;this.sibling = null;this.index = 0;this.ref = null;// 作为动态的工作单元的属性。 保存本次更新造成的状态改变相关信息this.pendingProps = pendingProps;this.memoizedProps = null;this.updateQueue = null;this.memoizedState = null;this.dependencies = null;this.mode = mode;// 保存本次更新会造成的DOM操作this.effectTag = NoEffect;this.nextEffect = null;this.firstEffect = null;this.lastEffect = null;// 调度优先级相关this.lanes = NoLanes;this.childLanes = NoLanes;// 指向该fiber在另一次更新时对应的fiberthis.alternate = null;
}

这里需要提一下,为什么父级指针叫做return而不是parent或者father呢?因为作为一个工作单元,return指节点执行完completeWork后会返回的下一个节点。子Fiber节点及其兄弟节点完成工作后会返回其父级节点,所以用return指代父级节点

ReactElement

export type ReactElement = {|// 用于辨别ReactElement对象$$typeof: any,// 内部属性type: any, // 表明其种类key: any,ref: any,props: any,// ReactFiber 记录创建本对象的Fiber节点, 还未与Fiber树关联之前, 该属性为null_owner: any,// __DEV__ dev环境下的一些额外信息, 如文件路径, 文件名, 行列信息等_store: {validated: boolean, ...},_self: React$Element<any>,_shadowChildren: any,_source: Source,
|};

相关文章:

react源码探索之预先知识了解

最近快期末考试&#xff0c;本来不打算写博客的&#xff0c;但是一旦停下不知又是何年&#xff0c;或许是我工作之后&#xff0c;也或许是永远把。毕竟这只是用来记录我大学的殷实生活&#xff0c;大四我不再着重记录&#xff0c;而是投身于找工作。时光匆匆&#xff0c;重大一…...

【工具】Git 操作大全

文章目录 1. Git 基础操作1.1 初始化 Git 仓库1.2 克隆现有仓库1.3 配置 Git 用户信息1.4 查看 Git 配置信息 2. 文件操作2.1 查看文件状态2.2 添加文件到暂存区2.3 提交文件到本地仓库2.4 查看提交历史2.5 回退到上一个提交 3. 分支操作3.1 创建新分支3.2 切换分支3.3 查看所有…...

2024年12月17日Github流行趋势

项目名称&#xff1a;google-gemini / cookbook 项目维护者&#xff1a;MarkDaoust markmcd random-forests shilpakancharla Giom-V项目介绍&#xff1a;Gemini API 的使用示例和指南。项目star数&#xff1a;7,977项目fork数&#xff1a;998 项目名称&#xff1a;TEN-framew…...

揭秘语言模型后训练:指令微调、偏好调优与强化学习的深度解析

揭秘语言模型后训练&#xff1a;指令微调、偏好调优与强化学习的深度解析 前言1. 什么是后训练&#xff1f;2. 指令微调&#xff08;Instruction Fine-Tuning, SFT&#xff09;概念训练流程实践示例&#xff1a;TLU 3 3. 偏好调优&#xff08;Preference Tuning, DPO&#xff0…...

AIDD-人工智能药物设计-ChemDraw Mac版pojie安装

AIDD-人工智能药物设计-ChemDraw Mac版pojie安装 Mac系统12.X版本需要安装chemdraw v20及以上。 https://github.com/Z-H-Sun/CS_CCME_Posts/blob/hidden/cos/cdm2.md 一、准备工作 软件下载地址&#xff1a;https://pan.baidu.com/s/1SDZCriXsxPZvcHMoA7WzUA 提取码&#…...

MySQL 入门大全:运算符

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家&#xff0c;历代文学网&#xff08;PC端可以访问&#xff1a;https://literature.sinhy.com/#/literature?__c1000&#xff0c;移动端可微信小程序搜索“历代文学”&#xff09;总架构师&#xff0c;15年工作经验&#xff0c;…...

如何使用Kimi进行学术仿写?

目录 1.Kimi分析仿写选题 2.Kimi拆解论文框架 3.Kimi分析论证方法 学习如何从别的优秀论文中吸取精华是提高学术论文写作的一个高效的方法。适当的模仿能帮助理解研究方向相关内容&#xff0c;还可以借鉴一些可取的论证方法。当然我们也应该要知道&#xff0c;即使是在顶刊发…...

算法训练day2|209.长度最小的字符串,59.螺旋矩阵,

两道题都做过 209 没注意是大于等于&#xff0c;改了一下马上通过了。 class Solution {public int minSubArrayLen(int target, int[] nums) {int l 0, r 0, len nums.length;int count 0, ans len 1, now 0;while(r < len){count nums[r];//r是下一个要加的whil…...

网络安全问题概述

1.1.计算机网络面临的安全性威胁 计算机网络上的通信面临以下的四种威胁&#xff1a; (1) 截获——从网络上窃听他人的通信内容。 (2) 中断——有意中断他人在网络上的通信。 (3) 篡改——故意篡改网络上传送的报文。可应用于域名重定向&#xff0c;即钓鱼网站。 (4) 伪造——伪…...

Web 毕设篇-适合小白、初级入门练手的 Spring Boot Web 毕业设计项目:教室信息管理系统(前后端源码 + 数据库 sql 脚本)

&#x1f525;博客主页&#xff1a; 【小扳_-CSDN博客】 ❤感谢大家点赞&#x1f44d;收藏⭐评论✍ 1.0 项目介绍 开发工具&#xff1a;IDEA、VScode 服务器&#xff1a;Tomcat&#xff0c; JDK 17 项目构建&#xff1a;maven 数据库&#xff1a;mysql 8.0 系统用户前台和管理…...

C# 模式匹配

文章目录 前言一、is模式二、switch语句中的模式三、解构模式四、总结 前言 在 C# 中&#xff0c;模式匹配是一种强大的技术&#xff0c;它允许你在代码中更简洁、更安全地检查和处理对象的类型和值。本教程将介绍 C# 中的模式匹配功能&#xff0c;包括is模式、switch语句中的模…...

JWT报CORSFilter错误原因(以Java SpringBoot为例)

JWT 报 CorsFilter 原因&#xff0c;通常是因为跨域请求未通过浏览器的同源策略检查&#xff0c;而 CorsFilter 是用来处理跨域问题的过滤器。如果后端未正确配置 CORS 或 JWT 的传递方式不符合跨域要求&#xff0c;可能导致此类问题。 以下是具体原因及解决方法&#xff1a; …...

百度智能云千帆AppBuilder升级,百度AI搜索组件上线,RAG支持无限容量向量存储!

百度智能云千帆 AppBuilder 发版升级&#xff01; 进一步降低开发门槛&#xff0c;落地大模型到应用的最后一公里。在千帆 AppBuilder 最新升级的 V1.1版本中&#xff0c;企业级 RAG 和 Agent 能力再度提升&#xff0c;同时组件生态与应用集成分发更加优化。 • 企业级 RAG&am…...

【bash】linux中打包某个可执行文件及其依赖文件

linux中打包某个可执行文件及其依赖文件 下面是一个 Bash 脚本&#xff0c;用于一键化地打包指定可执行文件及其依赖库&#xff1a; #!/bin/bash# 脚本用于打包可执行文件及其依赖库&#xff0c;并打印详细信息 # 使用方法&#xff1a; ./package_executable.sh <可执行文…...

FPGA 17 ,FPGA 与 SR-IOV虚拟化技术,高性能计算与虚拟化技术的结合(FPGA 与 SR-IOV 和 PCI,高性能计算与虚拟化的完美融合)

目录 前言 一. SR-IOV 的起源与发展 1. SR-IOV 的起源与时间线 2. SR-IOV 的诞生原因 3. SR-IOV 的详细介绍 二. SR-IOV 和 PCI 之间的关系 三. PCI 的起源与演进 1. PCI 的起源与时间线 2. PCI 的关键特性 四. FPGA 的独特魅力 1. FPGA 的定义与特性 2. FPGA 的内…...

RabbitMQ 安装、配置和使用介绍 使用前端js直接调用方式

1. 安装 RabbitMQ 1.1 安装 Erlang RabbitMQ 是基于 Erlang 语言开发的&#xff0c;因此首先需要安装 Erlang。 在 Ubuntu 上安装 Erlang&#xff1a; bash sudo apt-get update sudo apt-get install erlang 在 CentOS 上安装 Erlang&#xff1a; bash sudo yum insta…...

MySQL基础大全(看这一篇足够!!!)

文章目录 前言一、初识MySQL1.1 数据库基础1.2 数据库技术构成1.2.1 数据库系统1.2.2 SQL语言1.2.3 数据库访问接口 1.3 什么是MySQL 二、数据库的基本操作2.1 数据库创建和删除2.2 数据库存储引擎2.2.1 MySQL存储引擎简介2.2.2 InnoDB存储引擎2.2.3 MyISAM存储引擎2.2.4 存储引…...

芯品荟|SWM221系列芯片之TFTLCD彩屏显示及控制

“革新未来&#xff0c;智驭控制新纪元”&#xff0c;由广东华芯微特集成电路有限公司市场总监张琢&#xff0c;对SWM221系列的强大功能表现进行了整体介绍。 确实&#xff0c;华芯微特在TFTLCD显示及控制有十多年应用基础和积累的团队&#xff0c;仍勇于挑战&#xff0c;自我…...

贪心算法【1】

文章目录 860. 柠檬水找零题目解析算法原理代码实现交换论证法 2208. 将数组和减半的最少操作次数题目解析算法原理代码实现交换论证法 179. 最大数题目解析算法原理代码实现 860. 柠檬水找零 题目链接&#xff1a;860. 柠檬水找零 题目解析 一杯柠檬水5块钱&#xff0c;每个…...

Python PPT合并与拆分 – 详解

目录 使用工具 Python 合并 PPT 合并多个PPT文档 合并每个PPT文档中的特定幻灯片 Python 拆分 PPT 按幻灯片数量拆分 按幻灯片范围拆分 按幻灯片内容拆分 按节 (Section) 拆分 在日常工作或学习中&#xff0c;我们经常需要对PPT文件进行调整&#xff0c;比如将多个PPT…...

JSX:JavaScript的XML

简介 JSX是一种JavaScript的语法扩展&#xff0c;它允许你在JavaScript代码中写类似于HTML的标记。它被React框架广泛使用&#xff0c;以声明式地描述UI组件。JSX最终会被编译成JavaScript对象。 为什么使用JSX&#xff1f; 可读性&#xff1a;JSX使得组件的结构更加清晰&am…...

SAP ABAP-日期格式问题 SAP内部错误,反序列化JSON字符串时发生异常 值 20241215 不是根据 ABAP 的 XML 格式的有效日期

SAP ABAP-日期格式问题 SAP内部错误,反序列化JSON字符串时发生异常 值 20241215 不是根据 ABAP 的 XML 格式的有效日期 在SAP内部用 YYYYMMDD没有问题 外部传入参数...

Golang学习笔记_05——延迟调用

Golang学习笔记_02——函数 Golang学习笔记_03——匿名函数和闭包 Golang学习笔记_04——递归函数 文章目录 延迟调用1. 延迟调用1.1 使用场景1.2 示例 2. panic2.1 使用场景2.2 示例 3. recover3.1 使用场景3.2 示例 源码 延迟调用 在Go语言中&#xff0c;延迟调用&#xff0…...

C++:异常(下)

异常上&#xff1a;C&#xff1a;异常&#xff08;上&#xff09;-CSDN博客 一&#xff1a;异常的重新抛出 大家看下面如果不在里面处理一下的话delete没有运行过。 #include<iostream> #include<string> using namespace std; double division(int a, int b) {if…...

从〇开始深度学习(番外)——下载包

从〇开始深度学习(番外)——下载包 文章目录 从〇开始深度学习(番外)——下载包写在前面正文 写在前面 《从〇开始深度学习&#xff08;番外&#xff09;》系列主要记录一些细碎知识点和技能&#xff0c;与主线并不冲突。如果主线笔记中用得到番外篇的知识或技能&#xff0c;会…...

云原生是什么

云原生是一种构建和运行应用程序的方法&#xff0c;它充分利用了云计算的优势。它不仅仅是指在云上运行应用程序&#xff0c;更重要的是指应用程序的设计、开发、部署和运维方式都充分考虑了云环境的特性&#xff0c;从而能够更好地利用云的弹性、可扩展性和灵活性。 更详细地…...

构建Modbus TCP写多个寄存器指令详解

构建Modbus TCP写多个寄存器指令详解 在Modbus TCP通信中&#xff0c;构建正确的指令对于实现设备间的数据交换至关重要。本文将详细解释如何构建一个Modbus TCP指令&#xff0c;用于向设备地址为1的从站&#xff0c;从地址200&#xff08;0xC8&#xff09;开始&#xff0c;连…...

热更新解决方案3 —— xLua

概述 xLua框架导入和AB包相关准备 xLua导入 其它的导入 C#调用Lua 1.Lua解析器 using System.Collections; using System.Collections.Generic; using UnityEngine; //引用命名空间 using XLua;public class Lesson1_LuaEnv : MonoBehaviour {// Start is called before the fi…...

【Linux】——权限

文章目录 权限的概念创建与删除普通用户普通用户与root用户的切换权限管理权限设置 文件掩码权限的作用粘滞位 权限的概念 在Linux系统中&#xff0c;存在两种主要用户类型&#xff0c;即超级用户root与普通用户。超级用户拥有极高的权限&#xff0c;可以在 Linux 统下执行几乎…...

elasticsearch 使用enrich processor填充数据

文章目录 使用 POST 请求手动插入用户数据1. 创建 Enrich Policy步骤 1.1: 创建 Enrich Policy步骤 1.2: 执行 Enrich Policy 2. 创建 Ingest Pipeline步骤 2.1: 创建 Ingest Pipeline步骤 2.2: 配置 Enrich Processor 参数 3. 使用 Ingest Pipeline步骤 3.1: 使用 Pipeline 进…...

etcd性能调优

性能指标 决定 etcd 性能的关键因素&#xff0c;包括&#xff1a; 延迟 (latency)&#xff1a;延迟是完成操作的时间。吞吐量 (throughput)&#xff1a;吞吐量是在某个时间期间之内完成操作的总数量。当 etcd 接收并发客户端请求时&#xff0c;通常平均延迟随着总体吞吐量增加…...

docker离线安装、linux 安装docker

之前写过一篇docker的离线安装&#xff0c;现在从头再看繁琐了&#xff0c;服务器换了&#xff0c;既然要重搭一遍就要改进一下了。下面步入正题&#xff1a; 1.下载离线软件包 https://download.docker.com/linux/static/stable/x86_64/docker-20.10.6.tgz 2.下载安装工具包…...

信息安全工程师-选择题考点总结

密码理论知识 基础理论 一个密码系统至少由明文、密文、加密算法、解密算法和密钥五个部分组成,而其安全性是由密钥决定的。 按照密钥特征的不同,密码体制分为:对称密码体制和非对称密码体制。 按照对明文加密方式的不同,密码体制分为:流密码和分组密码。 非对称密码体…...

【C++】四季分类题目分析与讨论

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 &#x1f4af;前言&#x1f4af;题目说明&#x1f4af;题目代码实现1.我的做法代码示例解析 2. 老师的类C解法代码示例解析 3. 老师的类C解法代码示例解析 4. 老师新增的基于if的解法代码示例解析 &#x…...

mysqlbinglog如何查看进度呢

要查看 MySQL binlog 的进度&#xff0c;通常是指查看 binlog 文件的当前位置&#xff0c;这对于了解复制进度或者进行恢复操作非常重要。以下是一些常用的方法和 SQL 语句来查看 binlog 进度&#xff1a; 查看当前 binlog 文件和位置&#xff1a; SHOW MASTER STATUS;这个命令…...

CSS系列(11)-- 滤镜与混合模式详解

前端技术探索系列&#xff1a;CSS 滤镜与混合模式详解 &#x1f3a8; 致读者&#xff1a;探索视觉效果的艺术 &#x1f44b; 前端开发者们&#xff0c; 今天我们将深入探讨 CSS 滤镜与混合模式&#xff0c;学习如何创建独特的视觉效果。 滤镜效果详解 &#x1f680; 基础滤…...

Cesium进阶教程——自定义图形、外观、绘图基础、现有着色器移植至Cesium、ShadowMapping、视频GIS、模型压平、卷帘

基础必看 WEBGL基础&#xff08;从渲染管线角度解读&#xff09; 参考路线 http://www.xt3d.online/tutorial/further/article.html 自定义图形 https://blog.csdn.net/m0_55049655/article/details/138908327 https://blog.csdn.net/m0_55049655/article/details/140306837 …...

搭建Tomcat(一)---SocketServerSocket

目录 引入1 引入2--socket 流程 Socket&#xff08;应用程序之间的通讯保障&#xff09; 网卡(计算机之间的通讯保障) 端口 端口号 实例 client端 解析 server端 解析 相关方法 问题1&#xff1a;ServerSocket和Socket有什么关系&#xff1f; ServerSocket Soc…...

Sublime Text 64位:前端及全栈开发利器

本文还有配套的精品资源&#xff0c;点击获取 简介&#xff1a;Sublime Text作为一款高效的文本编辑器&#xff0c;在前端网页开发领域受到广泛青睐&#xff0c;特别是其64位版本在处理大型项目和高内存需求的场景下表现出色。编辑器内置Emmet插件&#xff0c;提供代码高亮、…...

CNCF云原生生态版图-分类指南(一)- 观测和分析

CNCF云原生生态版图-分类指南&#xff08;一&#xff09;- 观测和分析 CNCF云原生生态版图-分类指南一、观测和分析&#xff08;Observability and Analysis&#xff09;&#xff08;一&#xff09;可观测性&#xff08;Observablility&#xff09;1. 是什么&#xff1f;2. 解决…...

Ubuntu本地快速搭建web小游戏网站,公网用户远程访问【内网穿透】

文章目录 前言1. 本地环境服务搭建2. 局域网测试访问3. 内网穿透3.1 ubuntu本地安装cpolar内网穿透3.2 创建隧道3.3 测试公网访问4. 配置固定二级子域名4.1 保留一个二级子域名4.2 配置二级子域名4.3 测试访问公网固定二级子域名前言 网:我们通常说的是互联网;站:可以理解成…...

VMware ubuntu12.04怎么设置静态IP联网

记得刚开始学习嵌入式就是从ubuntu12.04的环境开始学习的C语言&#xff0c;当时没有弄清楚怎么设置静态IP联网&#xff0c;现在写一篇文章。 1.首先&#xff0c;关闭ubuntu的网络&#xff1b; 2.电脑使用的是wifi,将VMware桥接到该网卡上&#xff1b; 3.在虚拟机设置里面选择桥…...

Qt WORD/PDF(一)使用 QtPdfium库实现 PDF 预览

文章目录 一、简介二、下载 QtPdfium三、加载 QtPdfium 动态库四、Demo 使用 关于QT Widget 其它文章请点击这里: QT Widget 姊妹篇: Qt WORD/PDF&#xff08;一&#xff09;使用 QtPdfium库实现 PDF 操作 Qt WORD/PDF&#xff08;二&#xff09;使用 QtPdfium库实现…...

UE5 C++ Subsystem 和 多线程

一.Subsystem先做一个简单的介绍&#xff0c;其实可以去看大钊的文章有一篇专门讲这个的。 GamePlay框架基础上的一个增强功能&#xff0c;属于GamePlay架构的范围。Subsystems是一套可以定义自动实例化和释放的类的框架。这个框架允许你从5类里选择一个来定义子类(只能在C定义…...

23.DDD与微服务

学习视频来源&#xff1a;DDD独家秘籍视频合集 https://space.bilibili.com/24690212/channel/collectiondetail?sid1940048&ctype0 文章目录 DDD与微服务的关系1. DDD可以用微服务实现&#xff0c;也可以不用微服务实现2. DDD是微服务拆分的必须参考项之一3. 微服务架构…...

vue3+ant design vue实现日期选择器不展示清除按钮

1、代码&#xff1a;只需设置:allowClear"false"即可 <a-date-pickerv-model:value"value1":disabledDate"disabledDate"change"queryRate":allowClear"false" />const disabledDate (current: Dayjs) > {// 获取…...

Amazon Bedrock与AWS服务的无缝集成,如何打造智能化应用

在AI和大数据飞速发展的今天&#xff0c;Amazon Bedrock作为AWS的一项新兴服务&#xff0c;正逐渐成为开发者和企业拥抱生成式AI的核心工具。那么&#xff0c;Amazon Bedrock与AWS其他服务结合&#xff0c;究竟能够带来哪些强大的应用场景呢&#xff1f;今天九河云就来和大家探…...

Rust之抽空学习系列(四)—— 编程通用概念(下)

Rust之抽空学习系列&#xff08;四&#xff09;—— 编程通用概念&#xff08;下&#xff09; 1、函数 函数用来对功能逻辑进行封装&#xff0c;能够增强复用、提高代码的可读 以下是函数的主要组成部分&#xff1a; 名称参数返回类型函数体 1.1、函数名称 在Rust中&…...

【Apache paimon】-- 集成 hive3.1.3 异常

目录 1、场景再现 Step1:在 hive cli beeline 执行创建 hive paimon 表 Step2:使用 insert into 写入数据 Step3:抛出异常 2、原因分析 Step1:在 yarn resource manager 作业界面查询 hive sql mr job 的 yarn log Step2:搜索job 使用的 zstd jar 版本 Step3:定…...

SpringCloud微服务实战系列:01让SpringCloud项目在你机器上运行起来

目录 项目选型 项目安装-本地运行起来 软件安装&#xff1a; 项目启动&#xff1a; 总结&答疑 项目选型 软件开发&#xff0c;基本上都不会从0开始&#xff0c;一般都是在其他项目或者组件的基础上进行整合优化迭代&#xff0c;站在巨人肩膀上才能看得更远&#xff0c…...