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

衡水冀县做网站/培训心得体会1000字通用

衡水冀县做网站,培训心得体会1000字通用,谷歌seo站内优化,这几年做啥网站致富目录 Bitmaps简介常用命令bitmaps与set比较 HyperLoglog简介命令 Geographic简介命令 Bitmaps 简介 位操作字符串。 现代计算机使用二进制(位)作为信息的基本单位,1个字节等于8位,例如“abc”字符串是有3个字节组成&#xff0c…

目录

  • Bitmaps
    • 简介
    • 常用命令
    • bitmaps与set比较
  • HyperLoglog
    • 简介
    • 命令
  • Geographic
    • 简介
    • 命令

Bitmaps

简介

位操作字符串。

现代计算机使用二进制(位)作为信息的基本单位,1个字节等于8位,例如“abc”字符串是有3个字节组成,但实际在计算机内存储时将其使用二进制表示,“abc”分别对应的ASCII码是:97、98、99,对应的二进制分别是01100001、01100010、01100011,如下图
在这里插入图片描述

合理地使用位操作能够有效地提高内存使用率和开发效率。

Redis提供了Bitmaps这个“数据类型”可以实现对位的操作:

  • Bitmaps本身不是一种数据类型, 实际上它就是字符串(key-value) , 但是它可以对字符串的位进行操作,字符串中每个字符对应1个字节,也就是8位,一个字符可以存储8个bit位信息。
  • Bitmaps单独提供了一套命令, 所以在Redis中使用Bitmaps和使用字符串的方法不太相同。 可以把Bitmaps想象成一个以位为单位的数组, 数组的每个单元只能存储0和1, 数组的下标在Bitmaps中叫做偏移量。

在这里插入图片描述

常用命令

  1. setbit

设置某个偏移量的值(0或1)。

SETBIT key offset value

设置offset偏移位的值为value,offset的值是从0开始的,n代表第n+1个bit位置的。
offset 参数必须大于或等于 0 ,小于 2^32 (bit 映射被限制在 512 MB 之内)。
value 的值只能为0或1

**返回值:**指定偏移量原来储存的位。

示例:

redis> SETBIT bit 10086 1 
(integer) 0 
redis> GETBIT bit 10086 
(integer) 1 
redis> GETBIT bit 100 # bit 默认被初始化为 0 
(integer) 0

例如每个独立用户是否访问过网站存放在bitmaps中,将访问的用户记做1,没有访问的用户记做0,用户id作为offset。

假设现在有20个用户,userid=1,6,11,15,19的用户对网站进行了访问,那么当前bitmaps初始化结果如图
在这里插入图片描述

users:20220409 这个bitmaps中表示2022-04-09这天独立访问的用户,如下

127.0.0.1:6379> setbit users:20220409 1 1 
(integer) 0 
127.0.0.1:6379> setbit users:20220409 6 1 
(integer) 0 
127.0.0.1:6379> setbit users:20220409 11 1 
(integer) 0 
127.0.0.1:6379> setbit users:20220409 15 1 
(integer) 0 
127.0.0.1:6379> setbit users:20220409 19 1 
(integer) 0
  1. getbit

获取某个偏移位的值.

GETBIT key offset

获取key所对应的bitmaps中offset偏移位的值。

返回值:0或者1

示例

127.0.0.1:6379> setbit users 1001 1 #设置偏移量1001的bit位的值为1 
(integer) 0 
127.0.0.1:6379> getbit users 1001 #获取偏移位1001的bit位的值 
(integer) 1 
127.0.0.1:6379> getbit users 1000 #获取偏移位1000的bit位的值,未设置,返回0 
(integer) 0
  1. bitcount

统计bit位都为1的数量

BITCOUNT key [start] [end]

统计字符串被设置为1的bit数,一般情况下,给定的整个字符串都会被进行统计,通过指定额外的

start或者end参数,可以让计数只在特定的位上进行, start 和 end 参数,都可以使用负数值:

比如 -1 表示最后一个位,而 -2 表示倒数第二个位,以此类推。

注意了:start、end是指bit组的字节的下标数,一个直接对应8个bit,所以[a,b]对应的offset范围是[8a,8b+7]

示例:

127.0.0.1:6379> setbit user 7 1 # 设置user这个bitmaps中偏移量为7的bit为值为1,也就是第8 个bit位的值 
(integer) 0 
127.0.0.1:6379> setbit user 15 1 # 设置user这个bitmaps中偏移量为15的bit为值为1 
(integer) 0 
127.0.0.1:6379> setbit user 23 1 # 设置user这个bitmaps中偏移量为23的bit为值为1 
(integer) 0 
127.0.0.1:6379> bitcount user # 获取user这个bitmaps中1的数量 
(integer) 3 
127.0.0.1:6379> bitcount user 0 1 # 获取[0,1]这个字节内bit位上1的数量,也就是offset是 [0,15]的位置上1的数量,所以是2个 
(integer) 2 
127.0.0.1:6379> bitcount user 0 0 # 获取[0,0]这个字节内bit位上1的数量,也就是offset是 [0,7]的位置上1的数量,只有7这个位置,所以是1个 
(integer) 1
  1. bittop

对一个多个bitmaps执行位操作。

BITOP operation destkey key [key ...]

对一个或多个保存二进制位的字符串 key 进行位元操作,并将结果保存到 destkey 上。

operation 可以是 AND 、 OR 、 NOT 、 XOR 这四种操作中的任意一种:

  • BITOP AND destkey key [key ...] ,对一个或多个 key 求逻辑并,并将结果保存到destkey 。
  • BITOP OR destkey key [key ...] ,对一个或多个 key 求逻辑或,并将结果保存到destkey 。
  • BITOP XOR destkey key [key ...] ,对一个或多个 key 求逻辑异或,并将结果保存到destkey 。
  • BITOP NOT destkey key ,对给定 key 求逻辑非,并将结果保存到 destkey 。

除了 NOT 操作之外,其他操作都可以接受一个或多个 key 作为输入。

**返回值:**保存到 destkey 的字符串的长度,和输入 key 中最长的字符串长度相等。

示例

redis> SETBIT bits-1 0 1 # bits-1 = 1001 
(integer) 0 
redis> SETBIT bits-1 3 1 
(integer) 0 
redis> SETBIT bits-2 0 1 # bits-2 = 1011 
(integer) 0 
redis> SETBIT bits-2 1 1 
(integer) 0 
redis> SETBIT bits-2 3 1 
(integer) 0 
redis> BITOP AND and-result bits-1 bits-2 
(integer) 1
redis> GETBIT and-result 0      # and-result = 1001
(integer) 1
redis> GETBIT and-result 1 
(integer) 0 
redis> GETBIT and-result 2 
(integer) 0 
redis> GETBIT and-result 3 
(integer) 1

bitmaps与set比较

假设网站有 1 亿用户, 每天独立访问的用户有 5 千万, 如果每天用集合类型和 Bitmaps 分别存储活跃用户可以得到表

set 和 Bitmaps 存储一天活跃用户对比

在这里插入图片描述

很明显, 这种情况下使用 Bitmaps 能节省很多的内存空间, 尤其是随着时间推移节省的内存还是非常可观的。

set Bitmaps 存储独立用户空间对比

在这里插入图片描述

但 Bitmaps 并不是万金油, 假如该网站每天的独立访问用户很少, 例如只有 10 万(大量的僵尸用户), 那么两者的对比如下表所示, 很显然, 这时候使用 Bitmaps 就不太合适了, 因为基本上大部分位都是 0。

在这里插入图片描述

HyperLoglog

简介

在工作当中,我们经常会遇到与统计相关的功能需求,比如统计网站 PV(PageView 页面访问量),可以使用 Redis 的 incr、incrby 轻松实现。但像 UV(UniqueVisitor 独立访客)、独立 IP 数、搜索记录数等需要去重和计数的问题如何解决?这种求集合中不重复元素个数的问题称为基数问题。

解决基数问题有很多种方案:

数据存储在 MySQL 表中,使用 distinct count 计算不重复个数。

使用 Redis 提供的 hash、set、bitmaps 等数据结构来处理。

以上的方案结果精确,但随着数据不断增加,导致占用空间越来越大,对于非常大的数据集是不切实际的。能否能够降低一定的精度来平衡存储空间?Redis 推出了 HyperLogLog。

Redis HyperLogLog 是用来做基数统计的算法,HyperLogLog 的优点是:在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定的、并且是很小的。

在 Redis 里面,每个 HyperLogLog 键只需要花费 12 KB 内存,就可以计算接近 2^64 个不同元素的基数。这和计算基数时,元素越多耗费内存就越多的集合形成鲜明对比。

但是,因为 HyperLogLog 只会根据输入元素来计算基数,而不会储存输入元素本身,所以HyperLogLog 不能像集合那样,返回输入的各个元素。

什么是基数?

比如数据集 {1, 3, 5, 7, 5, 7, 8},那么这个数据集的基数集为 {1, 3, 5 ,7, 8},基数 (不重复元素) 为 5。 基数估计就是在误差可接受的范围内,快速计算基数。

命令

  1. pfadd

添加多个元素。

pfadd key element [element ...]

向HyperLoglog类型的key中添加一个或者多个元素。添加一个或者多个元素到key对应的集合中。

**返回值:**1:添加成功;0:添加失败

示例

127.0.0.1:6379> pfadd program java php c c++ # program中添加4个元素 [java,php,c,c++],添加成功发,返回1 
(integer) 1 
127.0.0.1:6379> pfadd program java # 再次添加java,由于已经存在,所以添加失败,返回0 
(integer) 0 
127.0.0.1:6379> pfadd program java js # 再次添加2个元素,java已经存在了,但是js不存在, 添加成功,返回1 
(integer) 1
  1. pfcount

获取多个HLL合并后元素的个数。

pfcount key1 key2 ...

统计一个或者多个key去重后元素的数量。

示例

127.0.0.1:6379> pfadd uv1 a b c d e #uv1中5个元素:[a,b,c,d,e] 
(integer) 1 
127.0.0.1:6379> pfcount uv1 #uv1中数量为5 
(integer) 5 
127.0.0.1:6379> pfadd uv2 b c d e f #uv2中5个元素:[b,c,d,e,f] 
(integer) 1 
127.0.0.1:6379> pfcount uv2 #uv2中数量为5
(integer) 5 
127.0.0.1:6379> pfcount uv1 uv2 # 获取uv1和uv2去重之后数量合集:[a,b,c,d,e,f],数量为5 
(integer) 5
  1. pfmerge

将多个HLL合并后元素放入另外一个HLL

pfmerge destkey sourcekey [sourcekey ...]

将多个 sourcekey 合并后放到 destkey 中。

示例

127.0.0.1:6379> pfadd uv1 a b c d e #uv1中5个元素:[a,b,c,d,e] 
(integer) 1 
127.0.0.1:6379> pfcount uv1 #uv1中数量为5 
(integer) 5 
127.0.0.1:6379> pfadd uv2 b c d e f #uv2中5个元素:[b,c,d,e,f] 
(integer) 1 
127.0.0.1:6379> pfcount uv2 #uv2中数量为5 
(integer) 5 
127.0.0.1:6379> pfmerge uv_dest uv1 uv2 #将uv1和uv2合并后放入uv_dest 
OK
127.0.0.1:6379> pfcount uv_dest #uv_dest元素个数为6 
(integer) 6

Geographic

简介

Reids3.2 中增加了对GEO类型的支持,GEO(Geographic),地理信息的缩写。该类型,就是元素的 2 维坐标,在地图上就是经纬度,redis基于该类型,提供了经纬度设置、查询、范围查询、距离查询,经纬度Hash等常见操作。

命令

  1. geoadd

添加多个位置的经纬度。

geoadd key longitude latitude member [longitude latitude member ...]

longitude latitude member:经度 纬度 名称

示例

127.0.0.1:6379> geoadd china:city 121.47 31.23 shanghai #添加上海的经纬度 
(integer) 1 
127.0.0.1:6379> geoadd china:city 106.50 29.53 chongqing 114.05 22.52 shenzhen 116.38 39.90 beijing #添加重庆、深圳、北京 3 个城市的经纬度 
(integer) 3 
127.0.0.1:6379> type china:city #发现geo实际上使用zset类型存储的 
zset 
127.0.0.1:6379> zrange china:city 0 -1 
1) "chongqing" 2) "shenzhen" 3) "shanghai" 4) "beijing" 
127.0.0.1:6379> zrange china:city 0 -1 withscores 
1) "chongqing" 2) "4026042091628984" 3) "shenzhen" 4) "4046432193584628" 5) "shanghai" 6) "4054803462927619" 7) "beijing" 8) "4069885332386336"

两级无法直接添加,一般会下载城市数据,直接通过java程序一次性导入。

有效的经纬度从-180度到180度,有效的维度从-85.05112878度到85.05112878度。

当坐标位置超出指定范围时,该命令将会返回一个错误。

已经添加的数据,是无法再次往里面添加的。

  1. geopos

获取多个位置的坐标值

geopos key member [member ...]

示例

127.0.0.1:6379> geoadd china:city 121.47 31.23 shanghai #添加上海的经纬度 
(integer) 1 
127.0.0.1:6379> geoadd china:city 106.50 29.53 chongqing 114.05 22.52 shenzhen 116.38 39.90 beijing #添加重庆、深圳、北京 3 个城市的经纬度 
(integer) 3 
127.0.0.1:6379> geopos china:city wuhan beijing chongqing #获取武汉、北京、重庆 3个城 市的坐标,由于没有添加武汉的数据,所以没有获取到,其他2个获取到了 
1) (nil) 
2) 1) "116.38000041246414185" 2) "39.90000009167092543"
3) 1) "106.49999767541885376" 2) "29.52999957900659211"
  1. geodist

获取两个位置的直线距离

geodist key member1 member2 [m|km|ft|mi]

单位:[m|km|ft|mi] -》[米|千米|英里|英尺],默认为米

示例

127.0.0.1:6379> geoadd china:city 
121.47 31.23 shanghai #添加上海的经纬度 
(integer) 1 
127.0.0.1:6379> geoadd china:city 106.50 29.53 chongqing 114.05 22.52 shenzhen 116.38 39.90 beijing #添加重庆、深圳、北京 3 个城市的经纬度 
(integer) 3
127.0.0.1:6379> geodist china:city beijing chongqing km #获取北京到重庆的直线距离 
"1462.9505"
  1. georadius

以给定的经纬度为中心,找出某一半径内的元素

georadius key longitude latitude radius m|km|ft|mi

单位:[m|km|ft|mi] -》[米|千米|英里|英尺],默认为米

示例

127.0.0.1:6379> geoadd china:city 121.47 31.23 shanghai #添加上海的经纬度 
(integer) 1 
127.0.0.1:6379> geoadd china:city 106.50 29.53 chongqing 114.05 22.52 shenzhen 116.38 39.90 beijing #添加重庆、深圳、北京 3 个城市的经纬度
(integer) 3 
127.0.0.1:6379> georadius china:city 110 30 1000 km #在china:city中检索:以经纬度 (110,30)为中心,半径为1000km内的位置列表 
1) "chongqing" 
2) "shenzhen"

相关文章:

Redis:新的3种数据类型Bitmaps、HyperLoglog、Geographic

目录 Bitmaps简介常用命令bitmaps与set比较 HyperLoglog简介命令 Geographic简介命令 Bitmaps 简介 位操作字符串。 现代计算机使用二进制(位)作为信息的基本单位,1个字节等于8位,例如“abc”字符串是有3个字节组成&#xff0c…...

promise时效架构升级方案的实施及落地 | 京东物流技术团队

一、项目背景 为什么需要架构升级 promise时效包含两个子系统:内核时效计算系统(系统核心是时效计算)和组件化时效系统(系统核心是复杂业务处理以及多种时效业务聚合,承接结算下单黄金流程流量)&#xff…...

es的使用方法以及概念

Elasticsearch(简称为ES)是一个开源的搜索引擎,它构建在Lucene搜索引擎之上。它提供了一个分布式、多租户的全文搜索引擎,具有强大的实时分析能力。以下是关于Elasticsearch的一些基本概念和使用方法: 基本概念&#…...

WPF xaml Command用法介绍

WPF (Windows Presentation Foundation) 中的命令设计模式是一种用于分离用户界面逻辑和业务逻辑的方法。在WPF中,这种模式通过命令接口(如 ICommand)实现,使得用户界面组件(如按钮、菜单项等)可以触发不直…...

微信小程序动态生成表单来啦!你再也不需要手写表单了!

dc-vant-form 由于我们在小程序上涉及到数据采集业务,需要经常使用表单,微信小程序的表单使用起来非常麻烦,数据和表单是分离的,每个输入框都需要做数据处理才能实现响应式数据,所以我开发了dc-vant-form,…...

顺序表(数据结构与算法)

✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅ ✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨ 🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿&#x1…...

【大连民族大学C语言CG题库练习题】——判断一个矩阵是另一个矩阵的子矩阵

【问题描述】 从标准输入中输入一个N&#xff08;N<9&#xff09;阶矩阵和一个M&#xff08;M<N&#xff09;阶矩阵&#xff0c;判断矩阵M是否是N的子矩阵&#xff0c;若是则输出M在N中的起始位置&#xff0c;若不是则输出-1。若矩阵M能与N中某一区域完全相等&#xff0…...

C#WPF控制模板实例

一、控制模板 ControlTemplate(控件模板)不仅是用于来定义控件的外观、样式, 还可通过控件模板的触发器(ControlTemplate.Triggers)修改控件的行为、响应动画等。 控件模板定义控件的视觉外观,所有的 UI 元素都具有某种外观和行为,例如,Button 具有外观和行为。单击事件或…...

MATLAB Simulink和S7-1200PLC MOBUSTCP通信

MATLAB Simulink和SMART PLC OPC通信详细配置请查看下面文章链接: MATLAB和西门子SMART PLC OPC通信-CSDN博客文章浏览阅读749次,点赞26次,收藏2次。西门子S7-200SMART PLC OPC软件的下载和使用,请查看下面文章Smart 200PLC PC Access SMART OPC通信_基于pc access smart的…...

五、函数的介绍

1、为什么需要函数 (1)当程序足够简单时&#xff0c;一个main函数就可以实现所有功能。随着程序功能的增加、复杂化&#xff0c;超出人的大脑的承受范围&#xff0c;这时一个main函数可能就逻辑不清了。这是就需要把一个大程序分成许多小的模块来组织&#xff0c;于是乎出现了…...

【广州华锐互动VRAR】VR元宇宙技术在气象卫星知识科普中的应用

随着科技的不断发展&#xff0c;虚拟现实&#xff08;VR&#xff09;和元宇宙等技术正逐渐走进我们的生活。这些技术为我们提供了一个全新的互动平台&#xff0c;使我们能够以更加直观和生动的方式了解和学习各种知识。在气象天文领域&#xff0c;VR元宇宙技术的应用也日益显现…...

F. Alex‘s whims Codeforces Round 909 (Div. 3) 1899F

Problem - F - Codeforces 题目大意&#xff1a;有q次询问&#xff0c;每次询问给出一个数x&#xff0c;要求构造一棵n个点的树&#xff0c;使得对于每次询问&#xff0c;树上都有一条简单路径的长度等于x&#xff0c;同时每次询问前可以对树进行一次操作&#xff0c;即将一个…...

面试题-5

1.用递归的时候有没有遇到什么问题&#xff1f; 如果一个函数内可以调用函数本身,那么这个就是递归函数 函数内部调用自己 特别注意:写递归必须要有退出条件return 2.如何实现一个深拷贝 深拷贝就是完全拷贝一份新的对象,会在堆内存中开辟新的空间,拷贝的对象被修改后&…...

车载以太网-ARP

文章目录 车载以太网ARP协议ARP协议帧格式ARP报文示例ARP报文完整流程ARP流程报文示例ARP协议测试 车载以太网ARP协议 车载以太网ARP协议是指在车载以太网中使用的ARP协议。ARP&#xff08;Address Resolution Protocol&#xff09;是一种用于将IP地址解析为MAC地址的协议。在…...

Kafka学习笔记(三)

目录 第5章 Kafka监控&#xff08;Kafka Eagle&#xff09;5.2 修改kafka启动命令5.2 上传压缩包5.3 解压到本地5.4 进入刚才解压的目录5.5 将kafka-eagle-web-1.3.7-bin.tar.gz解压至/opt/module5.6 修改名称5.7 给启动文件执行权限5.8 修改配置文件5.9 添加环境变量5.10 启动…...

JVM-HotSpot虚拟机对象探秘

目录 一、对象的实例化 &#xff08;一&#xff09;创建对象的方式 &#xff08;二&#xff09;创建对象的步骤 二、对象的内存布局 &#xff08;一&#xff09;对象头 &#xff08;二&#xff09;实例数据 &#xff08;三&#xff09;对齐填充 三、 对象的访问定位 &…...

大模型技术的发展:开源和闭源,究竟谁强谁弱又该何去何从?

一、开源和闭源的优劣势比较 开源和闭源软件都有各自的优劣势&#xff0c;具体比较如下&#xff1a; 安全性&#xff1a;闭源软件的安全性相对较高&#xff0c;因为其源代码不公开&#xff0c;攻击者难以找到漏洞进行攻击。而开源软件由于源代码公开&#xff0c;容易被攻击者发…...

Python学习笔记--自定义元类

四、自定义元类 到现在&#xff0c;我们已经知道元类是什么鬼东西了。 那么&#xff0c;从始至终我们还不知道元类到底有啥用。 只是了解了一下元类。 在了解它有啥用的时候&#xff0c;我们先来了解下怎么自定义元类。 因为只有了解了怎么自定义才能更好的理解它的作用。…...

软件测试 —— 常见的自动化测试架构!

一个自动化测试架构就是一个集成体系&#xff0c;其中定义了一个特殊软件产品的自动化测试规则。这一体系中包含测试功能函数库、测试数据源、测试对象识别标准&#xff0c;以及各种可重用的模块。这些组件作为小的构建模块&#xff0c;被组合起来代表某种商业流程。自动化测试…...

Python 的 @lru_cache() 装饰器

在 Python 标准库的 functools 模块中&#xff0c;有个 lru_cache 装饰器&#xff0c;用于为一个函数添加缓存系统&#xff1a; 存储函数的输入和对应的输出当函数被调用&#xff0c;并且给出了已经缓存过的输入&#xff0c;那么函数不会再运行&#xff0c;而是直接从缓存中获…...

Swift制作打包framework

新建framework项目 设置生成fat包&#xff0c;包括模拟器x86_64和arm64 Buliding Settings -> Architectures -> Build Active Architecture Only 设置为NO 设置打包环境&#xff0c;选择release edit Scheme -> run -> Build configuration 设置为 Release 设置…...

无线WiFi安全渗透与攻防(N.2)WPA渗透-使用airolib-ng创建彩虹表加速

WPA渗透-使用airolib-ng创建彩虹表加速 WPA渗透-使用airolib-ng创建彩虹表加速1.什么是彩虹表?2.渗透wifi1.创建数据库名2.将字典导入数据库3.生成渗透wifi密码的PMK4.生成需要渗透wifi的彩虹表5.渗透wifiWPA渗透-使用airolib-ng创建彩虹表加速 1.什么是彩虹表? 彩虹表是一…...

整形数据和浮点型数据在内存中的存储差别

愿所有美好如期而遇 我们先来看代码&#xff0c;猜猜结果是什么呢&#xff1f; int main() {//以整型数据的方式存储int n 10;float* m (float*)&n;//以整型数据的方式读取printf("%d\n", n);//以浮点型数据的方式2读取printf("%f\n", *m);printf(&…...

【Python基础篇】运算符

博主&#xff1a;&#x1f44d;不许代码码上红 欢迎&#xff1a;&#x1f40b;点赞、收藏、关注、评论。 格言&#xff1a; 大鹏一日同风起&#xff0c;扶摇直上九万里。 文章目录 一 Python中的运算符二 算术运算符1 Python所有算术运算符的说明2 Python算术运算符的所有操作…...

开启数据库审计 db,extended级别或os级别)并将审计文件存放到/opt/oracle/audit/下

文章目录 1、登录到数据库2、查看审计状态3、创建审计目录4、启用审计5、设置审计文件路径6、再次查看结果 1、登录到数据库 使用SQL*Plus或者其他Oracle数据库客户端登录到数据库。 sqlplus / as sysdba;2、查看审计状态 show parameter audit;目前是DB状态&#xff0c;并且…...

02.webpack中多文件打包

1.module,chunk,bundle的区别 moudle - 各个源码文件&#xff0c;webpack中一切皆是模块chunk - 多模块合并成的&#xff0c;如entry, import(), splitChunkbundle - 最终的输出文件 2.多文件打包配置 2.1 webpack.common.js const path require(path) const HtmlWebpackPl…...

IEEE Standard for SystemVerilog Chapter 22. Compiler directives

22.1 General 此子句描述以下编译器指令&#xff08;按字母顺序列出&#xff09;&#xff1a; __FILE__ [22.13] __LINE__ [22.13] begin_keywords [22.14] celldefine [22.10] default_net…...

机器学习中的独立和同分布 (IID):假设和影响

一、介绍 在机器学习中&#xff0c;独立和同分布 &#xff08;IID&#xff09; 的概念在数据分析、模型训练和评估的各个方面都起着至关重要的作用。IID 假设是确保许多机器学习算法和统计技术的可靠性和有效性的基础。本文探讨了 IID 在机器学习中的重要性、其假设及其对模型开…...

PTP软硬件时间戳

软硬件时间戳 抄袭来源&#xff1a;http://www.bdtime.com.cn/pinlv/4296.html PTP 是一种网络协议&#xff0c;用于在计算机网络中进行时钟校准和时间同步。硬件时间戳和软件时间戳是在实现 PTP 时常见的两种方式&#xff0c;它们在精度、可靠性、实时性以及资源消耗等方面存…...

使用ADS进行serdes仿真时,Tx_Diff中EQ的设置对发送端波形的影响。

研究并记录一下ADS仿真中Tx_Diff的EQ设置。原理图如下&#xff1a; 最上面是选择均衡方法Choose equalization method&#xff1a;Specify FIR taps&#xff0c;Specify de-emphasis和none。 当选择Specify de-emphasis选项时&#xff0c;下方可以输入去加重具体的dB值&#x…...