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

第九章:可靠通信_《凤凰架构:构建可靠的大型分布式系统》

第九章 可靠通信

一、零信任网络模型

核心难点:理解安全模型从传统边界防护到动态信任验证的转变

  1. 零信任的核心原则
  • 不再区分"内部可信网络"与"外部不可信网络"(传统防火墙模型失效)
  • 每次请求都需要进行身份验证和授权检查(即使来自内部网络)
  • 动态访问控制策略(基于设备状态、用户行为等实时调整)
  1. Google BeyondCorp实践
  • 将企业应用迁移到互联网暴露面
  • 设备认证采用证书+设备清单验证
  • 用户认证通过OAuth 2.0+多因素认证
  • 代理网关实施动态访问控制
  1. 实施挑战
  • 服务身份管理(每个服务需要唯一身份)
  • 细粒度访问策略管理
  • 实时安全态势评估
二、服务间信任建立

核心难点:如何在分布式系统中实现自动化的信任链

  1. 信任根构建
  • SPIFFE标准(Secure Production Identity Framework For Everyone)
  • 通过统一身份颁发机构(如Kubernetes的Certificate Authority)
  • 每个服务实例获取唯一X.509证书
  1. mTLS(双向TLS)
  • 双向证书验证流程:
    服务A 服务B 发起连接(携带客户端证书) 发送服务端证书 验证服务端证书有效性 验证客户端证书有效性 服务A 服务B
  • 证书自动轮转机制(避免人工管理)
  1. 服务网格实现
  • Istio使用Citadel组件管理证书
  • Envoy代理自动处理TLS握手
  • 策略示例:
    apiVersion: security.istio.io/v1beta1
    kind: PeerAuthentication
    metadata:name: default
    spec:mtls:mode: STRICT
    
三、服务认证机制

核心难点:平衡安全性与认证性能

  1. 认证类型对比

    类型实现方式适用场景性能影响
    双向TLSX.509证书交换服务间通信
    JWTBearer Token验证终端用户认证
    OAuth2访问令牌+授权服务器第三方系统集成
  2. JWT深度解析

  • 令牌结构:Header.Payload.Signature
  • 签名算法选择:RS256 > HS256(避免密钥泄露)
  • 令牌验证流程:
    1. 解析Header获取算法类型
    2. 使用公钥验证签名
    3. 检查过期时间(exp)
    4. 验证发行者(iss)和受众(aud)
  1. 常见漏洞防护
  • 令牌泄露:短期有效期+刷新令牌机制
  • 重放攻击:JTI(JWT ID)校验
  • 算法混淆攻击:显式指定验证算法
四、服务授权机制

核心难点:实现细粒度动态授权

  1. 授权模型对比

    • RBAC(基于角色):
      # 策略示例
      user:service-a => role:reader => resource:/api/data
      
    • ABAC(基于属性):
      {"effect": "allow","conditions": ["resource.owner == subject.id","request.time < resource.expiration"]
      }
      
    • ReBAC(基于关系):利用资源间关联关系进行授权
  2. OPA(Open Policy Agent)

  • 统一策略引擎架构:
    +-------------+       +------------+
    | Service     |<----->| OPA Agent  |
    | (Envoy/etc) |       | (Sidecar)  |
    +-------------+       +------------+|  ^v  |+------------+| Policy DB  |+------------+
    
  • Rego策略语言示例:
    default allow = falseallow {input.method == "GET"input.path = ["api", "v1", "data", id]token.payload.roles[_] == "reader"token.payload.iss == "auth-server"
    }
    
  1. 实时授权决策
  • 决策时间控制在10ms以内
  • 策略缓存与增量更新
  • 审计日志记录所有决策
五、通信安全保障

核心难点:保证数据传输完整性与机密性

  1. TLS最佳实践
  • 协议版本:强制TLS 1.3(禁用SSLv3、TLS 1.0/1.1)
  • 加密套件选择:
    ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384';
    
  • HSTS头部设置(强制HTTPS):
    Strict-Transport-Security: max-age=31536000; includeSubDomains
    
  1. 端到端加密
  • 应用层加密(如AES-GCM)
  • 密钥管理方案:
    • KMS服务集成(AWS KMS/Hashicorp Vault)
    • 密钥轮换策略(自动每月轮换)
    • 密钥版本控制
  1. 性能优化
  • TLS硬件加速(Intel QAT卡)
  • Session Ticket复用
  • 0-RTT数据传输(TLS 1.3特性)
六、实施要点总结
  1. 身份治理
  • 每个服务/设备必须有唯一可验证身份
  • 身份生命周期自动化管理(创建/轮换/撤销)
  1. 最小权限原则
  • 默认拒绝所有请求
  • 按需逐步开放权限
  • 定期权限审计
  1. 深度防御
  • 网络层:ACL规则
  • 传输层:TLS加密
  • 应用层:JWT验证
  • 数据层:字段级加密
  1. 可观测性
  • 记录所有认证/授权事件
  • 实时异常检测(如异常位置登录)
  • 审计日志保留至少6个月

通过以上机制的实施,可以在分布式系统中构建起包括认证、授权、加密等多个防御层的可靠通信体系,有效应对中间人攻击、凭证泄露、权限提升等安全威胁,同时保证系统的高可用性和可维护性。


第九章重难点多选题


题目1:零信任网络的核心特征包括哪些?
A. 默认不信任所有用户和设备
B. 仅依赖物理边界防护
C. 持续动态认证和授权
D. 仅对敏感数据加密
E. 最小权限原则


题目2:关于服务网格中的认证机制,正确的描述是?
A. JWT用于服务间短期凭证
B. TLS双向认证需要服务端和客户端证书
C. OAuth 2.0用于服务间身份认证
D. SPIFFE规范用于标准化服务身份
E. Kerberos是服务网格的默认协议


题目3:服务网格中授权机制可能包含哪些?
A. RBAC(基于角色的访问控制)
B. ABAC(基于属性的访问控制)
C. DAC(自主访问控制)
D. 静态IP白名单
E. OAuth 2.0 Scope验证


题目4:关于SPIFFE和SPIRE的关系,正确的描述是?
A. SPIFFE是SPIRE的实现
B. SPIRE是SPIFFE的参考实现
C. SPIFFE定义服务身份标准
D. SPIRE负责证书颁发和轮换
E. SPIFFE依赖Kubernetes Service Account


题目5:服务间建立信任的方式包括?
A. 共享数据库密码
B. TLS双向认证
C. 基于SPIFFE的身份标识
D. IP地址白名单
E. JWT令牌交换


题目6:在零信任模型中,动态访问控制的实现可能依赖哪些技术?
A. 实时风险评估引擎
B. 静态防火墙规则
C. 用户行为分析(UEBA)
D. 基于会话的固定策略
E. 服务网格的Envoy RBAC过滤器


题目7:关于TLS在服务通信中的应用,正确的描述是?
A. TLS单向认证只需服务端证书
B. mTLS(双向TLS)需要客户端和服务端交换证书
C. TLS 1.3默认支持HTTP/2
D. 证书轮换必须重启服务
E. SPIFFE SVID是X.509证书的一种实现


题目8:服务网格中实现“零信任”的关键技术包括?
A. 自动化的证书管理(如SPIRE)
B. 基于HTTP Cookie的会话保持
C. 服务身份的动态绑定
D. 四层负载均衡
E. 透明代理(如Envoy)


题目9:以下哪些是服务网格中常见的授权策略?
A. 允许所有服务访问数据库
B. 仅允许前端服务调用用户服务
C. 根据服务标签(如环境=prod)限制访问
D. 基于地理位置的黑名单
E. 限制单个服务的请求速率


题目10:关于服务间通信的安全隐患,正确的应对措施是?
A. 明文传输敏感数据时使用VPN
B. 使用短期证书并定期轮换
C. 依赖网络隔离代替身份认证
D. 通过服务网格统一管理TLS
E. 在JWT中存储敏感用户信息


答案与解析


题目1答案
正确答案:A, C, E
解析

  • 零信任网络的核心特征包括默认不信任(A)、持续动态认证(C)、最小权限原则(E)。
  • B错误,零信任反对依赖物理边界;D错误,要求全面加密而非仅敏感数据。

题目2答案
正确答案:B, D
解析

  • TLS双向认证需要双方证书(B正确);SPIFFE定义服务身份标准(D正确)。
  • JWT通常用于长期凭证(A错误);OAuth 2.0是授权框架(C错误);Kerberos非默认协议(E错误)。

题目3答案
正确答案:A, B, E
解析

  • RBAC和ABAC是服务网格常用机制(A、B正确);OAuth Scope可辅助授权(E正确)。
  • DAC(C)和IP白名单(D)不符合动态授权需求。

题目4答案
正确答案:B, C, D
解析

  • SPIRE是SPIFFE的实现(B正确);SPIFFE定义标准(C正确);SPIRE管理证书(D正确)。
  • A颠倒关系;E是SPIFFE的可选实现方式。

题目5答案
正确答案:B, C
解析

  • TLS双向认证(B)和SPIFFE身份(C)是零信任的信任建立方式。
  • 共享密码(A)和IP白名单(D)违背零信任原则;JWT用于认证非信任建立(E)。

题目6答案
正确答案:A, C, E
解析

  • 实时风险评估(A)、用户行为分析(C)、Envoy RBAC(E)支持动态控制。
  • 静态规则(B、D)违背动态特性。

题目7答案
正确答案:A, B, E
解析

  • 单向TLS只需服务端证书(A正确);双向TLS需交换证书(B正确);SPIFFE SVID是X.509实现(E正确)。
  • TLS 1.3与HTTP/2无关(C错误);证书轮换可热更新(D错误)。

题目8答案
正确答案:A, C, E
解析

  • 自动化证书管理(A)、服务身份动态绑定(C)、透明代理(E)是零信任关键技术。
  • Cookie会话(B)和四层负载(D)无关。

题目9答案
正确答案:B, C
解析

  • 基于服务角色(B)和属性(C)是典型授权策略。
  • A过于宽松;D和E属于流量治理非授权。

题目10答案
正确答案:B, D
解析

  • 短期证书轮换(B)和服务网格统一TLS(D)是安全实践。
  • VPN不替代加密(A错误);网络隔离不可靠(C错误);JWT不应存敏感数据(E错误)。

通过这些问题,可全面检验对零信任模型、服务身份、TLS认证、动态授权等核心概念的理解深度。

相关文章:

第九章:可靠通信_《凤凰架构:构建可靠的大型分布式系统》

第九章 可靠通信 一、零信任网络模型 核心难点&#xff1a;理解安全模型从传统边界防护到动态信任验证的转变 零信任的核心原则 不再区分"内部可信网络"与"外部不可信网络"&#xff08;传统防火墙模型失效&#xff09;每次请求都需要进行身份验证和授权…...

HeidiSQL:多数据库管理工具

HeidiSQL 是一款广受欢迎的免费开源数据库管理工具&#xff0c;专为数据库管理员及开发者设计。无论您是刚接触数据库领域的新手&#xff0c;还是需要同时处理多种数据库系统的专业开发者&#xff0c;该工具都能凭借其直观的界面和强大的功能&#xff0c;助您轻松完成数据管理任…...

文件系统-inode/软硬件连接(未完结)

首先我们了解一下文件简洁理解来说就是&#xff1a;文件内容文件属性 ---> 磁盘上存储的文件存文件的内容存文件的属性&#xff1b;而文件的内容----存放在每个数据块 &#xff1b;文件属性存放在iNode里面。 要明白&#xff1a;linux系统中的文件是存储在磁盘中的&#xf…...

数据库并发控制问题

并发控制问题是数据库管理系统&#xff08;DBMS&#xff09;中处理多个事务并发执行时&#xff0c;确保数据一致性、可靠性和完整性的一系列技术和挑战。并发控制问题通常与事务的隔离性和事务之间的相互影响有关。以下是并发控制中主要的几种问题及其解决方式的详细解释&#…...

(五)智能体与工具协同——打造智能对话的超级助手

上一篇&#xff1a;&#xff08;四&#xff09;数据检索与增强生成——让对话系统更智能、更高效 在前四个阶段&#xff0c;我们已经搭建了一个功能强大的智能对话&#xff0c;并深入探讨了输入输出处理、链式工作流构建和数据检索与增强生成的细节。现在&#xff0c;我们将进…...

第十三届蓝桥杯 2022 省 B 刷题统计

题目描述 小明决定从下周一开始努力刷题准备蓝桥杯竞赛。他计划周一至周五每天做 a a a 道题目,周六和周日每天做 b b b 道题目。请你帮小明计算,按照计划他将在第几天实现做题数大于等于 n n n 题? 输入格式 输入一行包含三个整数 a , b a, b a,b 和 n n n. 输出格…...

NLP/大模型八股专栏结构解析

1.transformer 结构相关 &#xff08;1&#xff09;transformer的基本结构有哪些&#xff0c;分别的作用是什么&#xff0c;代码实现。 NLP高频面试题&#xff08;一&#xff09;——Transformer的基本结构、作用和代码实现 &#xff08;2&#xff09;LSTM、GRU和Transformer结…...

不在 qtdesigner中提升,进行主题程序设计

以下是无需在Qt Designer中提升控件的完整主题化方案&#xff0c;保持现有代码结构的同时实现动态阴影效果管理&#xff1a; 一、增强主题管理器&#xff08;支持动态控件发现&#xff09; // thememanager.h #pragma once #include <QObject> #include <QSet> #…...

TDengine 3.3.6.0 版本中非常实用的 Cols 函数

简介 在刚刚发布的 TDengine 3.3.6.0 版本 中&#xff0c;新增了一个非常实用的 函数COLS &#xff0c;此函数用于获取选择函数所在行列信息&#xff0c;主要应用在生成报表数据&#xff0c;每行需要出现多个选择函数结果&#xff0c;如统计每天最大及最小电压&#xff0c;并报…...

MessageQueue --- RabbitMQ WorkQueue and Prefetch

MessageQueue --- RabbitMQ WorkQueue and Prefetch 什么是WorkQueue分发机制 --- RoundRobin分发机制 --- PrefetchSpring example use prefetch --- Fair Dispatch 什么是WorkQueue Work queues&#xff0c;任务模型。简单来说就是让多个消费者绑定到一个队列&#xff0c;共同…...

第四章:透明多级分流系统_《凤凰架构:构建可靠的大型分布式系统》

第四章&#xff1a;透明多级分流系统 一、客户端缓存 核心目标&#xff1a;减少重复请求&#xff0c;降低服务端压力。 1. 强制缓存 定义&#xff1a;客户端直接根据缓存规则决定是否使用本地缓存&#xff0c;无需与服务端交互。关键HTTP头&#xff1a; Cache-Control&#…...

题解:AT_abc241_f [ABC241F] Skate

一道经典的 bfs 题。 提醒&#xff1a;本题解是为小白专做的&#xff0c;不想看的大佬请离开。 这道题首先一看就知道是 bfs&#xff0c;但是数据点不让我们过&#xff1a; 1 ≤ H , W ≤ 1 0 9 1\le H,W\le10^9 1≤H,W≤109。 那么我们就需要优化了&#xff0c;从哪儿下手…...

热题100-字母异位词分组

方法用Arrays.sort对每个String 进行排序&#xff0c;毕竟排序以后都一样了&#xff0c;然后放入Map中的key跟value&#xff0c;可以一对多&#xff0c;然后返回的时候只要返回Map中所有的values就可以了 class Solution {public List<List<String>> groupAnagram…...

WiFi加密协议

目录 1. 认证(Authentication)‌ ‌1.1 开放系统认证(Open System Authentication)‌ 1.2 共享密钥认证(Shared Key Authentication)‌ ‌1.3 802.1X/EAP认证(企业级认证)‌ ‌2. 关联(Association)‌ ‌3. 加密协议(Security Handshake)‌ ‌整体流程总结‌…...

【AI提示词】书籍推荐专家

提示说明 帮助您找到适合您的好书。 提示词 ## Role: 书籍推荐专家## Profile: - author: xxx - version: 1.0.0 - language: 中文 - description: 我是一位书籍推荐专家&#xff0c;我可以帮助您找到适合您的好书。## Goals: - 吸引读者的注意力&#xff0c;引导他们阅读更…...

Linux进程间通信——有名管道

一.概念 函数形式&#xff1a;int mkfifo(const char \*filename,mode_t mode); 功能&#xff1a;创建管道文件 参数&#xff1a;管道文件文件名\路径&#xff0c;权限&#xff0c;创建的文件权限仍然和umask有关系。 返回值&#xff1a;创建成功返回0&#xff0c;创建失败返回…...

JavaScript基础--01-JS简介

字面量&#xff1a;数字、字符串、布尔值 前言JavaScript背景Web前端有三层&#xff1a;发展历史JavaScript的发展&#xff1a;蒸蒸日上 JavaScript介绍JavaScript入门易学性JavaScript是脚本语言JavaScript的组成 JavaScript 的特点特点1&#xff1a;解释型语言特点2&#xff…...

2025年 能够有效提升AI的生成质量和逻辑严谨性 的通用型系统提示

以下是三个经过精心设计的通用型系统提示&#xff08;System Prompt&#xff09;&#xff0c;能够有效提升AI的生成质量和逻辑严谨性&#xff0c;适用于各类对话、分析和创作场景&#xff1a; Prompt 1 - 专家级分步验证模式 你是一个具备跨领域知识整合能力的超级AI&#xff…...

xss攻击

XSS 攻击&#xff0c;即跨站脚本攻击&#xff08;Cross - Site Scripting&#xff09;&#xff0c;是一种常见的 Web 应用程序安全漏洞。以下是关于它的详细介绍&#xff1a; 原理 输入输出控制不严&#xff1a;程序对用户输入和输出处理不当。用户输入的数据没有经过充分的过…...

Node.js核心模块及Api详解

以下是 Node.js 最常用的核心模块及 API 详解&#xff0c;按使用频率和重要性分类整理&#xff1a; 一、高频核心模块 1. fs 文件系统 const fs require(fs); const fsPromises require(fs).promises; // Promise 版本// 异步读取文件&#xff08;推荐&#xff09; fs.read…...

解析keras.layers.Layer中的权重参数

文章目录 概要__init__()build()add_weight() 概要 keras.layers.Layers是所有层对象的父类,在keras.layers下所有实现类都是其子类&#xff0c;自定义层时需要继承该类。 init() Layer的构造函数&#xff0c;需要注意两个参数trainable和name trainable&#xff1a;指定该层…...

原型设计工具即时设计的简单使用攻略

即时设计是一款国产在线协同设计工具&#xff0c;支持从原型设计到开发交付的全流程&#xff0c;尤其擅长Web/App界面原型制作。其核心优势体现在&#xff1a; • 零门槛入门&#xff1a;浏览器直接访问无需安装&#xff0c;中文界面友好 • 资源生态完善&#xff1a;内置3000原…...

深入解析C++智能指针:从内存管理到现代编程实践

一、智能指针核心概念 1.1 智能指针的本质 智能指针是基于**RAII&#xff08;资源获取即初始化&#xff09;**的封装类&#xff0c;通过对象生命周期自动管理动态内存。与传统指针相比&#xff1a; 特性原始指针智能指针内存管理手动自动空指针检查需显式判断支持空状态检测…...

在 Langflow 中构建灵活的自定义组件:从基础到高级实践

本文深入探讨了如何在 Langflow 平台中创建功能丰富的自定义组件。通过详细的目录结构解析、分步实现指南和多个实战案例&#xff0c;帮助开发者掌握利用 Python 生态扩展低代码平台的方法&#xff0c;打造高效的数据处理流程。 理解组件架构设计 自定义组件是在 Langflow 中创…...

【数学建模】(时间序列模型)ARIMA时间序列模型

ARIMA时间序列模型详解及常见时间序列模型概览 文章目录 ARIMA时间序列模型详解及常见时间序列模型概览1 引言2 ARIMA模型的基本概念3 ARIMA模型的组成部分详解3.1 AR模型 (自回归模型)3.2 MA模型 (移动平均模型)3 I (差分) 4 ARIMA模型的建模步骤5 Python实现ARIMA模型6 常见时…...

模版的特性及其编译分离

1.模版的分类 模版参数分为 类型形参 和 非类型形参 类型形参&#xff1a;出现在模版参数列表中&#xff0c;跟在class和typename之后的参数类型名称 非类型形参&#xff1a;就是用一个常量作为类&#xff08;函数&#xff09;模版的一个参数&#xff0c;在类&#xff08;函…...

8电池_多绕组反激式变压器均衡_4模式

(1)8节串联锂离子电池组 (2)多绕组双向反激式变压器&#xff0c;1个变压器解决多电池均衡 (3)亮点&#xff1a;支持1建切换4种均衡算法–>全网唯一 (4)多绕组变压器均衡也能设计多种均衡算法–>全网唯一 锂离子电池均衡&#xff0c;均衡拓扑&#xff0c;均衡算法...

6.1 python加载win32或者C#的dll的方法

python很方便的可以加载win32的方法以及C#编写的dll中的方法或者变量&#xff0c;大致过程如下。 一.python加载win32的方法&#xff0c;使用win32api 1.安装库win32api pip install win32api 2.加载所需的win32函数并且调用 import win32api win32api.MessageBox(0,"…...

STP学习

{所有内容均来自于西安欧鹏的陈俊老师} STP生成树 当二层交换机意外成环路的时候会发生&#xff1a; 1.广播风暴&#xff1a;当广播帧进入环路时&#xff0c;会被不断复制并传输&#xff0c;导致网络中的广播流量急剧增加&#xff0c;消耗大量的网络带宽&#xff0c;降低网络…...

特征值与特征向量:从理论到应用的全面解析

特征值与特征向量&#xff1a;从理论到应用的全面解析 一、特征值与特征向量核心概念 定义 对于方阵 ( A )&#xff0c;若存在标量 ( \lambda ) 和非零向量 ( v )&#xff0c;使得&#xff1a; [ A v \lambda v ] 则 ( \lambda ) 为特征值&#xff0c;( v ) 为对应的特征向…...

【Python】数组的条件逻辑统计运算元素排序

【Python】数组的条件逻辑&统计运算&元素排序&#xff1a; 一.条件逻辑二.统计运算三.数组元素排序检索数组元素是否满足条件查找数组的唯一元素判断元素是否在其他数组中 一.条件逻辑 import numpy as np arr_x np.array([1, 5, 7]) arr_y np.array([2, 6, 8]) arr_…...

数据流和重定向

1、数据流 不管正确或错误的数据都是默认输出到屏幕上&#xff0c;所以屏幕是混乱的。所以就需要用数据流重定向将这两 条数据分开。数据流重定向可以将标准输出和标准错误输出分别传送到其他的文件或设备去 标准输入&#xff08;standard input&#xff0c;简称stdin&#xff…...

Jetpack Compose 自定义组件完全指南

Jetpack Compose 自定义组件完全指南 Compose 的声明式 UI 范式为创建自定义组件提供了前所未有的灵活性。本指南将带你从基础到高级全面掌握 Compose 自定义组件的开发技巧。 一、自定义组件基础 1.1 基本结构 一个最简单的自定义组件&#xff1a; Composable fun Greeti…...

ETF 场内基金是什么?佣金最低又是多少呢?

嘿&#xff0c;朋友们&#xff0c;大家好啊&#xff0c;我是StockMasterX&#xff0c;今天咱们就坐下来慢慢聊聊这个话题&#xff0c;ETF 场内基金到底是个啥东西&#xff0c;它的佣金最低能到多少&#xff0c;真的是个值得深挖的问题。 说起ETF&#xff0c;我还记得刚入行那会…...

【C++篇】类与对象(中篇) 解密C++类的核心:六大默认成员函数详解与避坑指南

文章目录 前言一、类的六个默认成员函数二、构造函数1. 概念2. 特性&#xff08;牢记&#xff09; 三、析构函数1. 概念2. 特性&#xff08;牢记&#xff09; 四、拷贝构造函数1. 概念2. 特性&#xff08;牢记&#xff09; 五、赋值运算符重载1. 运算符重载2. 赋值运算符重载前…...

001 vue

https://cn.vuejs.org/ 文章目录 v-bindv-modelv-on修饰符条件渲染/控制&#xff1a;v-if v-show列表渲染 M&#xff1a;即Model&#xff0c;模型&#xff0c;包括数据和一些基本操作 V&#xff1a;即View&#xff0c;视图&#xff0c;页面渲染结果 VM&#xff1a;即View-Mode…...

web forms可视化开发显示的网页是用ExpressionWebEditorFrame控件,是IE内核还是简单的HTML解析?如何让他加载CSS和JS?

web forms可视化开发显示的网页是用ExpressionWebEditorFrame控件,是IE内核还是简单的HTML解析?如何让他加载CSS和JS? 1. ExpressionWebEditorFrame 控件的内核及解析机制 在 Visual Studio 中用于 Web Forms 可视化开发的 ExpressionWebEditorFrame 控件主要基于 Internet…...

$R^n$超平面约束下的向量列

原向量&#xff1a; x → \overset{\rightarrow}{x} x→ 与 x → \overset{\rightarrow}{x} x→法向相同的法向量&#xff08;与 x → \overset{\rightarrow}{x} x→同向&#xff09; ( x → ⋅ n → ∣ n → ∣ 2 ) n → (\frac{\overset{\rightarrow}x\cdot\overset{\righta…...

英伟达新一代GPU架构(50系列显卡)PyTorch兼容性解决方案

随着NVIDIA不断推出基于新架构的GPU产品&#xff0c;机器学习框架需要相应地更新以支持这些硬件。本文记录了在RTX 5070 Ti上运行PyTorch时遇到的CUDA兼容性问题&#xff0c;并详细分析了问题根源及其解决方案&#xff0c;以期为遇到类似情况的开发者提供参考。 在Anaconda虚…...

16.2Linux自带的LED灯驱动实验(详细编写)_csdn

这个实验不用自己编写代码。 1、在linux源代码中&#xff0c;打开 stm32mp15-pinctrl.dtsi 文件并进行修改&#xff1a; make uImage LOADADDR0XC2000040 -j8 //编译内核然后&#xff1a; 2、修改设备节点&#xff0c;打开 stm32mp157d-atk.dts&#xff1a; 其中&#xff1…...

Java 大视界 -- Java 大数据在智慧交通停车场智能管理与车位预测中的应用实践(174)

&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎来到 青云交的博客&#xff01;能与诸位在此相逢&#xff0c;我倍感荣幸。在这飞速更迭的时代&#xff0c;我们都渴望一方心灵净土&#xff0c;而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识&#xff0c;也…...

HashMap 底层原理详解

1. 核心数据结构 JDK 1.7 及之前&#xff1a;数组 链表 JDK 1.8 及之后&#xff1a;数组 链表/红黑树&#xff08;链表长度 ≥8 时转红黑树&#xff0c;≤6 时退化为链表&#xff09; // JDK 1.8 的 Node 定义&#xff08;链表节点&#xff09; static class Node<K,V&g…...

重生之我是去噪高手——diffusion model

diffusion model是如何运作的&#xff1f; 想象一下&#xff0c;你有一张清晰的图片。扩散模型的核心思想分为两个过程&#xff1a; 前向过程&#xff08;Forward Process / Diffusion Process&#xff09;&#xff1a;逐步加噪反向过程&#xff08;Reverse Process / Denois…...

FfreeRTOS有阻塞作用的API

在 FreeRTOS 中,阻塞 API 是指那些会导致调用任务进入阻塞状态(Blocked State)的函数,即任务会暂时让出 CPU,直到某个条件满足(如超时、信号量可用、队列数据到达等)。以下是常见的阻塞 API 分类及示例: 1. 任务延迟(延时) vTaskDelay() 使任务阻塞指定的时间(以系统…...

app逆向专题二:app逆向流程

app逆向专题二&#xff1a;app逆向流程 一、app逆向说明二、拿到APP应用的apk三、使用工具进行查壳四、有壳需要先进行脱壳&#xff0c;拿到dex文件进行反编译五、使用Jadx-Gui或其他工具进行反编译&#xff0c;分析源码&#xff1b;六、根据app的抓包情况拿到加密的关键词参数…...

VMware 安装 Ubuntu 全流程实战指南:从零搭建到深度优化

在软件开发、系统测试以及技术学习等诸多场景中&#xff0c;使用虚拟机安装操作系统是一种灵活且高效的方式。Ubuntu 作为一款优秀的开源操作系统&#xff0c;在 VMware 虚拟机上的安装与优化备受关注。接下来&#xff0c;将为大家带来 VMware 安装 Ubuntu 的全流程实战指南&am…...

论文阅读笔记——RDT-1B: A DIFFUSION FOUNDATION MODEL FOR BIMANUAL MANIPULATION

RDT-1B 论文 模型表达与泛化能力&#xff1a;由于双臂操作中动作空间维度是单臂空间的两倍&#xff0c;传统方法难以建模其多模态分布。 数据&#xff1a;双臂数据少且不同机器人的物理结构和动作空间差异&#xff08;如关节数、运动范围&#xff09;导致数据分布不一致&#x…...

如何一天背300到500个单词

买一本有结构分析或词源注释的目标词汇书。 买一盒口香糖。 准备一摞空白的A4纸。 找一间用于冥想的黑屋子(眼晴闭上就可以了)。 将要背诵的单词进行分组: 5个一小组10个一中组50个一大组100个一个基本包或单元。给自己一个约定,比如背完一中组或一大组单词,嚼一粒口香糖…...

vs环境中编译osg以及osgQt

1、下载 OpenSceneGraph 获取源代码 您可以通过以下方式获取 OSG 源代码: 官网下载:https://github.com/openscenegraph/OpenSceneGraph/releases 使用 git 克隆: git clone https://github.com/openscenegraph/OpenSceneGraph.git 2、下载必要的第三方依赖库 依赖库 ht…...

C++ - 头文件基础(常用标准库头文件、自定义头文件、头文件引入方式、防止头文件重复包含机制)

一、头文件 在 C 中&#xff0c;头文件&#xff08;.h&#xff09;用于函数声明、类定义、宏定义等等 在 Visual Studio 中&#xff0c;头文件通常放在头文件目录中&#xff0c;头文件实现通常放在源文件目录中 二、常用标准库头文件 1、输入输出 <iostream> 标准输入…...