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

SystemVerilog 数据类型

1、内建数据类型

        verilog有两种基本的数据类型:变量和线网,他们各自都可以有四种取值:0 1 z x;

RTL代码使用 变量 来存放组合和时序值;变量可以是单bit或者是多bit的无符号数  reg [7:0] m,

32bit的有符号数 integer ,64bit的无符号数 time 或者是 浮点数 real.若干变量可以被一起放在定宽数组里,所有的存储都是静态的,意味着所有变量在tb的时候都是存活的。

        1.1、 logic类型

`timescale 1ns / 1ps
//
// Company: 
// Engineer: 
// 
// Create Date: 2025/03/20 17:24:56
// Design Name: 
// Module Name: logic_data_type
// Project Name: 
// Target Devices: 
// Tool Versions: 
// Description: 
// 
// Dependencies: 
// 
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
// 
//module logic_data_type(input   logic   rst_h);parameter   CYCLE = 20  ;logic   q,q_l,d,clk,rst_l   ;initialbeginclk = 1'b0  ;forever #(CYCLE/2)beginclk = ~clk  ;endendassign rst_l    =   ~rst_h  ;not m1(q_l,q)  ;endmodule

        1.2、        双状态数据类型

        相比于四状态数据类型(0,1,x,z),SV 引入的双状态数据类型有利于提高仿真器的性能并减少内存。

        双状态数据类型:可以用  unsigned  约束成无符号数

                        bit                :无符号,width = 1 ;

                        byte             :有符号整数, width = 8 ;

                        shortint        :有符号整数, width = 16 ;

                        int                :有符号整数,width = 32  ;

                        longint          :有符号整数, width = 64 ;

                        real               :双精度浮点

        四状态数据类型:

                        integer          : 有符号整数, width = 32      ;

                        time              :无符号整数, width = 64        ;

         对 四状态值 的检查

if( $isunknown( iport ) == 1 )$display( " @%0t : four state value detected on iport  %b ",$time,iport )    ;

2、定宽数组 

        相比于 veilog 支持的数据选择,SV提供更多的数据类型。

        2.1、        定宽数组的声明和初始化

        定宽数组的声明:          

int    one[0:15]  ;    //都表示 16个 int 的数组  
int    two[16]    ;

        多维数组的声明:

int    one[0:7][0:3]    ;    //两种声明方式都可以
int    two[8][4]        ;

         非合并数据的声明:表示三个temp_one 数组,每个数组有8个数

bit[7:0]    temp_one[3]    ;

         常量数组:

int    one[0:3]    = '{ 0,1,2,3 }    ;   
int    two[0:4]    = '{ 4,5,default:1 } ;//two 为 { 4,5,1,1,1 }

        2.2、        对数组的基本操作

 在数组中使用 for 和 foreach 关键词。

initial
beginbit[31:0]    src[5]    ;bit[31:0]    dst[5]    ;for( int i = 0 ; i < $size(src) ;i++ )src[i]    =    i    ;foreach( dst[j] )dst[j] = src[j]*2    ;end

多维数组的初始化

int    md[2][3]    =    '{ '{ 2,3,4 } , '{ 5,6,7 } }    ;initial
begin$display(" Initial value: ")    ;foreach( md[i,j] )$display(" md[%d][%d] = %0d ",i,j,md[i][j]    )    ;$display(" new value ")    ;md = '{ '{ 9,8,7 } ,'{ 3{32'd5} } }    ;foreach( md[i,j] )$display(" md[%d][%d] = %0d ",i,j,md[i][j]    )    ;        end

        多维数组的打印

initial
beginbyte    twoD[4][6]    ;foreach( twoD[i,j] )twoD[i][j]    =    i*10 + j ;foreach( twoD[i] )beginforeach( twoD[ ,j] )begin$write(" %3d  " , twoD[i][j] )    ;endend    end

        数组的复制和比较

initial
beginbit[31:0]    src[5] = '{ 0,1,2,3,4 }   ;bit[31:0]    dst[5] = '{ 5,4,3,2,1 }   ;if( src == dst )begin$display(" src == dst ")    ;endelsebegin$display(" src != dst ")    ;enddst = src    ;src[0]    =    5    ;$display(" src %s dst ",(src == dst)?"==":"!=" )    ;$display(" src[1:4] %s dst[1:4] ",(src[1:4] == dst[1:4] )?"==":"!="    )    ;end

        同时使用位下标和数组下标

 verilog-1995 不支持 同时使用 数组下标和位下标,verilog-2001取消了这个限制。

initial
beginbit[31:0]    src[5]    =    '{ 5{5} }    ;$displayb(   src[0]     ,,src[0][0]  ,,src[0][2:1]                                   );end

        合并数组   :     等待数组的变化的时候,必须使用合并数组

bit [3:0} [7:0]    data    ;    //4 个 8bit的data的数组

3、动态数组  

            使用动态数组

int    dyn[] , d2[]    ;    //动态数组声明initial
begindyn    =    new[5]    ;    //给dyn分配 5 个空间foreach( dyn[j] )begindyn[j] = j ;endd2 = dyn    ;d2[5]    =    0    ;$display(dyn[0],d2[0]);dyn = new[20](dyn)    ;    //为dyn分解 20 个空间 并复制 原来的数据dyn = new[100]    ;dyn.delete()    ;    // 删除所有元素    end

        使用动态数组保存元素数量不一定的list

bit [7:0]    mask[]    =    '{ 8'b0000_0000 , 8'b0000_0001    ,8'b0000_0010 , 8'b0000_0011    ,    8'b0000_0100 , 8'b0000_0111    ,8'b0000_1000 , 8'b0000_1111    ,8'b0001_0000 , 8'b0001_1111                       };

         可以把一个 顶宽数据 复制到 动态数据,SV会为动态数组分配空间(new[ ])并复制数组。

 4、队列

         队列的操作:队列的常量不用 ' 。


module  demo_2_9();
int j = 1    ,q2[$]    =    { 3,4 }    ,    //队列的声明q[$]     =    { 0,2,5 }  ;initialbeginq.insert(1,j)    ;    //插入元素
//        q.insert(2,q2)   ;q.delete(1)      ;    //删除第一个元素q.push_front( 6 )    ;    //在q的前面插入 6 q.push_back( 8 )     ;    //在q的后面插入 8 q.pop_back           ;    //删除最后一个元素并返回新的长度q.pop_front          ;    //删除第一个元素并返回旧的的长度foreach( q[i] )begin$display( q[i] )    ;endq.delete        ;    //删除q这个数组end
endmodule

队列操作

    int j   =   1       ,q2[$]   =   { 3,4 } ,q[$]    =   { 0,2,5 }   ;int len_q = 0       ;initialbeginq = { q[0],j,q[1:$] }       ;q = { q[0:2],q2,q[3:$] }    ;q = { q[0],q[2:$] }         ;q   = { 6,q }   ;len_q   = q[$]      ;//将q的长度复制给 jq   = q[0:$-1]  ;//删除队列最后一个数q   = { q,8 }   ;//在q之后插入 8j   = q[0]      ;q   = q[1:$]    ;q   = {}        ;//删除队列end

 

 

 

相关文章:

SystemVerilog 数据类型

1、内建数据类型 verilog有两种基本的数据类型&#xff1a;变量和线网&#xff0c;他们各自都可以有四种取值&#xff1a;0 1 z x&#xff1b; RTL代码使用 变量 来存放组合和时序值&#xff1b;变量可以是单bit或者是多bit的无符号数 reg [7:0] m&#xff0c; 32bit的有符号…...

C语言:扫雷

在编程的世界里&#xff0c;扫雷游戏是一个经典的实践项目。它不仅能帮助我们巩固编程知识&#xff0c;还能锻炼逻辑思维和解决问题的能力。今天&#xff0c;就让我们一起用 C 语言来实现这个有趣的游戏&#xff0c;并且通过图文并茂的方式&#xff0c;让每一步都清晰易懂 1. 游…...

特殊行车记录仪DAT视频丢失的恢复方法

行车记录仪是一种常见的车载记录仪&#xff0c;和常见的“小巧玲珑”的行车记录仪不同&#xff0c;一些特种车辆使用的记录仪的外观可以用“笨重”来形容。下边我们来看看特种车载行车记录仪删除文件后的恢复方法。 故障存储: 120GB存储设备/文件系统:exFAT /簇大小:128KB 故…...

_DISPATCHER_HEADER结构中的WaitListHead和_KWAIT_BLOCK的关系

第一部分&#xff1a; // // Wait block // // begin_ntddk begin_wdm begin_nthal begin_ntifs begin_ntosp typedef struct _KWAIT_BLOCK { LIST_ENTRY WaitListEntry; struct _KTHREAD *RESTRICTED_POINTER Thread; PVOID Object; struct _KWAIT_BLOCK *R…...

智能汽车图像及视频处理方案,支持视频实时拍摄特效能力

在智能汽车日新月异的今天&#xff0c;美摄科技作为智能汽车图像及视频处理领域的先行者&#xff0c;凭借其卓越的技术实力和前瞻性的设计理念&#xff0c;为全球智能汽车制造商带来了一场视觉盛宴的革新。美摄科技推出智能汽车图像及视频处理方案&#xff0c;一个集高效性、智…...

Rust + 时序数据库 TDengine:打造高性能时序数据处理利器

引言&#xff1a;为什么选择 TDengine 与 Rust&#xff1f; TDengine 是一款专为物联网、车联网、工业互联网等时序数据场景优化设计的开源时序数据库&#xff0c;支持高并发写入、高效查询及流式计算&#xff0c;通过“一个数据采集点一张表”与“超级表”的概念显著提升性能…...

Android Audio基础(13)——audiomixer

在 Android 平台上&#xff0c;音频混合器 AudioMixer 主要用在 AudioFlinger 里&#xff0c;将多路音频源数据混音&#xff08;包括混音、音量处理、重采样及处理声道等&#xff09;。位于 framework 的音频处理模库 libaudioprocessing&#xff08;frameworks/av/media/libau…...

vivo 湖仓架构的性能提升之旅

作者&#xff1a;郭小龙 vivo互联网 大数据高级研发工程师 导读&#xff1a;本文整理自 vivo互联网 大数据高级研发工程师 郭小龙 在 StarRocks 年度峰会上的分享&#xff0c;聚焦 vivo 大数据多维分析面临的挑战、StarRocks 落地方案及应用收益。 在 即席分析 场景&#xff0c…...

常见中间件漏洞攻略-Tomcat篇

一、 CVE-2017-12615-Tomcat put方法任意文件写入漏洞 第一步&#xff1a;开启靶场 第二步&#xff1a;在首页抓取数据包&#xff0c;并发送到重放器 第三步&#xff1a;先上传尝试一个1.txt进行测试 第四步&#xff1a;上传后门程序 第五步&#xff1a;使用哥斯拉连接 二、后…...

基于linuxC结合epoll + TCP 服务器客户端 + 数据库实现一个注册登录功能

1. 整体功能概述 实现了一个简单的用户注册和登录系统&#xff0c;采用客户端 - 服务器&#xff08;C/S&#xff09;架构。 客户端可以选择注册或登录操作&#xff0c;将用户名和密码发送给服务器&#xff0c;服务器接收请求后处理并返回相应的结果给客户端。 服务器使用 SQLit…...

redis7.4.2单机配置

解压源码包 将从官网下载的redis源码压缩包上传到服务器的相关目录下。 [roothcss-ecs-2851 ~]# cd /opt/soft/redis/ [roothcss-ecs-2851 redis]# ls redis-stable.tar.gz解压并进入解压后的目录中。 [roothcss-ecs-2851 redis]# tar -zxvf redis-stable.tar.gz [roothcss-…...

Unity代码热更新和资源热更新

知识点来源&#xff1a;人间自有韬哥在&#xff0c;hybridclr,豆包 目录 一、代码热更新1.代码热更新概述2.HybridCLR 二、资源热更新1.资源热更新概述2.AB包2.1.AB包的加载2.2.卸载AB包2.3.加载AB包依赖包2.4.获取MD52.5.生成对比文件2.6.更新AB包 3.Addressable3.1.AssetRef…...

【MySQL篇】DEPENDENT SUBQUERY(依赖性子查询)优化:从百秒到秒级响应的四种优化办法

&#x1f4ab;《博主介绍》&#xff1a;✨又是一天没白过&#xff0c;我是奈斯&#xff0c;从事IT领域✨ &#x1f4ab;《擅长领域》&#xff1a;✌️擅长阿里云AnalyticDB for MySQL(分布式数据仓库)、Oracle、MySQL、Linux、prometheus监控&#xff1b;并对SQLserver、NoSQL(…...

腾讯四面面经

说明 是的&#xff0c;没听错&#xff0c;确实是腾讯四面&#xff0c;而且是技术面。先声明下&#xff0c;这个面经是帮朋友整理的&#xff0c;都是真实的面经&#xff0c;不得不说&#xff0c;四面确实是有强的的&#xff0c;接下来让我们一起看下 面试部门&#xff1a;s3&a…...

【mysql】唯一性约束unique

文章目录 唯一性约束 1. 作用2. 关键字3. 特点4. 添加唯一约束5. 关于复合唯一约束 唯一性约束 1. 作用 用来限制某个字段/某列的值不能重复。 2. 关键字 UNIQUE3. 特点 同一个表可以有多个唯一约束。唯一约束可以是某一个列的值唯一&#xff0c;也可以多个列组合的值唯…...

如何理解前端工程化

前端工程化详解 一、 定义二、特点1. 模块化‌2. 组件化‌3. 自动化4. 规范化‌ 三、涉及环节1. 项目架构‌2. 版本控制&#xff1a;3.自动化构建4.任务自动化5. 部署与CI/CD‌ 五、 前端工程化的实际应用六、前端工程化的优势:七、总结‌ 一、 定义 前端工程化是指将前端开发…...

嵌入式八股RTOS与Linux---进程间的通信与同步篇

前言 同步异步、阻塞/非阻塞是什么? 同步:在执行某个操作时&#xff0c;调用者必须等待该操作完成并返回结果后&#xff0c;才能继续执行后续的操作异步:在执行某个操作时&#xff0c;调用者发起操作后不必等待其完成&#xff0c;可以立即继续执行后续的操作。操作完成后&am…...

this.centerDialogVisible = true this.$nextTick(()=>{ this.resetForm(); })

这段代码的作用是 打开一个对话框&#xff0c;并在对话框打开后 重置表单。下面是对这段代码的详细解析&#xff1a; 1. 代码作用 this.centerDialogVisible true&#xff1a;控制对话框的显示。this.$nextTick(() > { ... })&#xff1a;在 DOM 更新后执行回调函数&#…...

datawhale组队学习--大语言模型—task4:Transformer架构及详细配置

第五章 模型架构 在前述章节中已经对预训练数据的准备流程&#xff08;第 4 章&#xff09;进行了介绍。本章主 要讨论大语言模型的模型架构选择&#xff0c;主要围绕 Transformer 模型&#xff08;第 5.1 节&#xff09;、详细 配置&#xff08;第 5.2 节&#xff09;、主流架…...

专业级 AI 提示生成工具清单

1. 引言 近年来&#xff0c;随着 GPT-3、GPT-4 等大规模预训练语言模型的广泛应用&#xff0c;提示&#xff08;Prompt&#xff09;工程作为驱动模型输出质量的重要环节&#xff0c;受到了各界的高度关注。精心设计、管理与优化提示&#xff0c;不仅能够大幅提高生成文本的准确…...

Web前端考核 JavaScript知识点详解

一、JavaScript 基础语法 1.1 变量声明 关键字作用域提升重复声明暂时性死区var函数级✅✅❌let块级❌❌✅const块级❌❌✅ 1.1.1变量提升的例子 在 JavaScript 中&#xff0c;var 声明的变量会存在变量提升的现象&#xff0c;而 let 和 const 则不会。变量提升是指变量的声…...

23种设计模式-生成器(Builder)设计模式

工厂方法设计模式 &#x1f6a9;什么是生成器设计模式&#xff1f;&#x1f6a9;生成器设计模式的特点&#x1f6a9;生成器设计模式的结构&#x1f6a9;生成器设计模式的优缺点&#x1f6a9;生成器设计模式的Java实现&#x1f6a9;代码总结&#x1f6a9;总结 &#x1f6a9;什么…...

Thinkphp(TP)框架漏洞攻略

1.环境搭建 vulhub/thinkphp/5-rce docker-compose up -d 2.访问靶场 远程命令执行&#xff1a; ? sindex/think\app/invokefunction&functioncall_user_func_array&vars[0]system&vars[1] []whoami 远程代码执行&#xff1a; ? s/Index/\think\app/invokefunc…...

HTTP/HTTPS 中 GET 请求和 POST 请求的区别与联系

一、基础概念 HTTP (HyperText Transfer Protocol, 超文本传输协议) 是一种用于浏览器与服务器之间进行数据交互的协议。HTTPS (加密的 HTTP) 则通过 SSL/TLS 协议实现通信加密与数据安全性。 二、GET 和 POST 概述 GET 请求: 用于从服务器获取资源。 POST 请求: 用于将数据…...

2021年蓝桥杯第十二届CC++大学B组真题及代码

目录 1A&#xff1a;空间&#xff08;填空5分_单位转换&#xff09; 2B&#xff1a;卡片&#xff08;填空5分_模拟&#xff09; 3C&#xff1a;直线&#xff08;填空10分_数学排序&#xff09; 4D&#xff1a;货物摆放&#xff08;填空10分_质因数&#xff09; 5E&#xf…...

解锁 AWX+Ansible 自动化运维新体验:快速部署实战

Ansible 和 AWX 是自动化运维领域的强大工具组合。Ansible 是一个简单高效的 IT 自动化工具&#xff0c;而 AWX 则是 Ansible 的开源 Web 管理平台&#xff0c;提供图形化界面来管理 Ansible 任务。本指南将带你一步步在 Ubuntu 22.04 上安装 Ansible 和 AWX&#xff0c;使用 M…...

简洁、实用、无插件和更安全为特点的WordPress主题

简站WordPress主题是一款以简洁、实用、无插件和更安全为特点的WordPress主题&#xff0c;自2013年创立以来&#xff0c;凭借其设计理念和功能优势&#xff0c;深受用户喜爱。以下是对简站WordPress主题的详细介绍&#xff1a; 1. 设计理念 简站WordPress主题的核心理念是“崇…...

区块链学习总结

Hardhat 是一个用于 Ethereum 智能合约开发 的开发环境&#xff0c;专为 Solidity 语言编写的智能合约提供工具支持。它能够帮助开发者 编译、部署、测试和调试 智能合约&#xff0c;并提供一个本地的以太坊测试网络。 Hardhat 的核心功能 本地开发网络&#xff08;Hardhat Ne…...

可发1区的超级创新思路(python\matlab实现):基于周期注意力机制的TCN-Informer时间序列预测模型

首先声明,该模型为原创!原创!原创!且该思路还未有成果发表,感兴趣的小伙伴可以借鉴! 一、应用场景 该模型主要用于时间序列数据预测问题,包含功率预测、电池寿命预测、电机故障检测等等 二、模型整体介绍(本文以光伏功率预测为例) 1.1 核心创新点 本模型通过三阶段…...

案例4:鸢尾花分类(pytorch)

一、引言 鸢尾花分类是机器学习领域的经典案例&#xff0c;常用于演示分类算法的基本原理和应用。本案例使用 PyTorch 构建一个简单的神经网络模型&#xff0c;对鸢尾花进行分类。通过该案例&#xff0c;我们可以学习如何使用 PyTorch 进行数据处理、模型构建、训练和评估&…...

本地部署Stable Diffusion生成爆火的AI图片

直接上代码 Mapping("/send") Post public Object send(Body String promptBody) { JSONObject postSend new JSONObject(); System.out.println(promptBody); JSONObject body JSONObject.parseObject(promptBody); List<S…...

CCF-CSP历年真题答案1,2

本文代码主要来自up主圣斗士-DS-ALGO对历年真题的讲解&#xff0c;在此特别感谢。 侵权则删。 10.1_分蛋糕_2017_03 #include <iostream> using namespace std;int main() {int a[1000], n, k; // 定义数组a用于存储蛋糕的重量&#xff0c;整数n表示蛋糕的数量&#xf…...

【MySQL】一篇讲懂什么是聚簇索引和非聚簇索引(二级索引)以及什么是回表?

1.聚簇索引&#xff1a; 叶子节点直接存储了完整的数据行。 每个表只能有一个聚簇索引&#xff0c;通常是主键(Primary Key)。如果没有定义主键&#xff0c;则MySQL会选择一个唯一且非空索引作为聚簇索引。 特点&#xff1a; 数据存储&#xff1a;叶子结点存储完整的数据行…...

炫酷的HTML5粒子动画特效实现详解

炫酷的HTML5粒子动画特效实现详解 这里写目录标题 炫酷的HTML5粒子动画特效实现详解项目介绍技术栈项目架构1. HTML结构2. 样式设计 核心实现1. 粒子类设计2. 动画效果实现星空效果烟花效果雨滴效果 3. 鼠标交互 性能优化效果展示总结 项目介绍 本文将详细介绍如何使用HTML5 C…...

go-zero学习笔记

内容不多&#xff0c;只有部分笔记&#xff0c;剩下的没有继续学下去&#xff0c;包括路由与处理器、日志中间件、请求上下文 文章目录 1、go-zero核心库1.1 路由与处理器1.2 日志中间件1.3 请求上下文 1、go-zero核心库 1.1 路由与处理器 package mainimport ("github…...

QuecPython 网络协议之TCP/UDP协议最祥解析

概述 IP 地址与域名 IP 地址是网络中的主机地址&#xff0c;用于两台网络主机能够互相找到彼此&#xff0c;这也是网络通信能够成功进行的基础。IP 地址一般以点分十进制的字符串来表示&#xff0c;如192.168.1.1。 ​ 我们日常访问的网站&#xff0c;其所在的服务器主机都有…...

FPGA_YOLO(二)

上述对cnn卷积神经网络进行介绍,接下来对YOLO进行总结,并研究下怎么在FPGA怎么实现的方案。 对于一个7*7*30的输出 拥有49个cell 每一个cell都有两个bbox两个框,并且两个框所包含的信息拥有30个 4个坐标信息和一个置信度5个,剩下就是20个类别。 FPGA关于YOLO的部署 1…...

Camera2 与 CameraX 闲谈

目录 &#x1f4c2; 前言 1. &#x1f531; Camera2 2. &#x1f531; CameraX 3. &#x1f531; Camera2 与 CameraX 1&#xff09;使用复杂度与开发效率 2&#xff09;控制能力与应用场景 3&#xff09;设备兼容性与稳定性 4&#xff09;更新与维护 4. &#x1f4a0…...

【零基础入门unity游戏开发——2D篇】2D物理系统 —— 2D刚体组件(Rigidbody 2d)

考虑到每个人基础可能不一样,且并不是所有人都有同时做2D、3D开发的需求,所以我把 【零基础入门unity游戏开发】 分为成了C#篇、unity通用篇、unity3D篇、unity2D篇。 【C#篇】:主要讲解C#的基础语法,包括变量、数据类型、运算符、流程控制、面向对象等,适合没有编程基础的…...

【论文#目标检测】YOLO9000: Better, Faster, Stronger

目录 摘要1.引言2.更好&#xff08;Better&#xff09;3.更快&#xff08;Faster&#xff09;4.更健壮&#xff08;Stronger&#xff09;使用 WordTree 组合数据集联合分类和检测评估 YOLO9000 5.结论 Author: Joseph Redmon; Ali Farhadi Published in: 2017 IEEE Conference …...

C++异常处理时的异常类型抛出选择

在 C 中选择抛出哪种异常类型&#xff0c;主要取决于错误的性质以及希望传达的语义信息。以下是一些指导原则&#xff0c;帮助在可能发生异常的地方选择合适的异常类型进行抛出&#xff1a; 1. std::exception 适用场景&#xff1a;作为所有标准异常的基类&#xff0c;std::e…...

centos 7 搭建FTP user-list用户列表

在 CentOS 7 上搭建基于 user_list 的 FTP 用户列表&#xff0c;你可以按以下步骤操作&#xff1a; 1. 安装 vsftpd 服务 若还未安装 vsftpd&#xff0c;可以使用以下命令进行安装&#xff1a; bash yum install -y vsftpd2. 启动并设置开机自启 vsftpd 服务 bash systemctl…...

vulnhub-Tr0ll ssh爆破、wireshark流量分析,exp、寻找flag。思维导图带你清晰拿到所以flag

vulnhub-Tr0ll ssh爆破、wireshark流量分析&#xff0c;exp、寻找flag。思维导图带你清晰拿到所以flag 1、主机发现 arp-scan -l 2、端口扫描 nmap -sS -sV 192.168.66.185 nmap -sS -A -T4 -p- 192.168.66.185 nmap --scriptvuln 192.168.66.185经典扫描三件套&#xff0c;…...

k8s中service概述(二)NodePort

NodePort 是 Kubernetes 中一种用于对外暴露服务的 Service 类型。它通过在集群的每个节点上开放一个静态端口&#xff08;NodePort&#xff09;&#xff0c;使得外部用户可以通过节点的 IP 地址和该端口访问集群内部的服务。以下是关于 NodePort Service 的详细说明&#xff1…...

搭建Redis哨兵集群

停掉现有的redis集群 因为这篇文章我是在 搭建完redis主从集群之后写的&#xff0c;如果要是没有搭建过这些&#xff0c;可以直接略过。要是从我上一篇 搭建redis主从集群过来的&#xff0c;可以执行下。 docker compose down 查找下redis相关进程 ps -ef | grep redis 可以看…...

.Net SSO 单点登录方式

SSO单点登录目的 之前一般来讲系统简单&#xff0c;登录后 本地 cookie 加服务器 session 存储用户身份信息&#xff0c;以此为依据来判断用户再次登录时免验证 但随着互联网发展&#xff0c;很多应用 部署在不同的服务器上&#xff0c;而用户体系是一套&#xff0c;那么按照原…...

SQL 基础 BETWEEN 的常见用法

在SQL中&#xff0c;BETWEEN是一个操作符&#xff0c;用于选取介于两个值之间的数据。 它包含这两个边界值。BETWEEN操作符常用于WHERE子句中&#xff0c;以便选取某个范围内的值。 以下是BETWEEN的一些常见用法&#xff1a; 选取介于两个值之间的值&#xff1a; 使用 BETWE…...

ngx_http_add_location

声明在 src\http\ngx_http_core_module.c ngx_int_t ngx_http_add_location(ngx_conf_t *cf, ngx_queue_t **locations,ngx_http_core_loc_conf_t *clcf); 定义在 src\http\ngx_http.c ngx_int_t ngx_http_add_location(ngx_conf_t *cf, ngx_queue_t **locations,ngx_http…...

深入探索ArkUI中的@LocalBuilder装饰器:构建高效可维护的UI组件

在ArkUI框架中&#xff0c;组件化开发是提升代码复用性和维护性的关键手段。随着项目复杂度的增加&#xff0c;开发者常常面临如何在保持组件封装性的同时&#xff0c;灵活处理组件内部逻辑的问题。传统的Builder装饰器虽然提供了强大的自定义构建能力&#xff0c;但在某些场景…...

视频知识库初步设想

将视频字幕提取出来作为知识库来源定位,下一步设想:把视频上的图片信息也精简出来作为定位。 下面是测试例子: 入参: {"model":"deepseek-ai/DeepSeek-R1-Distill-Llama-8B","messages":[{"role":"system","cont…...