大数据安全考试提纲

2023-05-16

范围划得虽大,但是主题不多,和往常一样记录一下重点。

考试范围

1、大数据安全概念及目标
2、传统访问控制技术和基于密码的访问控制技术。
3、角色挖掘的算法
4、对称密码,非对称密码,hash算法的原理及作用
5、密文索引的基本思想,及设计
6、身份认证技术及实现

已知:只会有七道题,而且不会考证明,个人认为数学相关的知识会减少或者几乎没有,因为“数论实在是太难了大家学不会”

2,3,6:身份认证和角色挖掘,访问控制技术都是同一章节中的,足见重视程度。

5:密文索引的技术明说“至少掌握一个”,大概是这一部分的确难度很高。我认为最好掌握理解的是基于关键词的文档索引技术,通过布隆过滤器来匹配。因此这部分可以说订好了复习范围了。

4:同样重要的部分,考虑到一共七道题个人认为这里有可能出俩。对于非对称加密,RSA差不多是必考的。对于对称加密,可能是概念性的或者AES,SM4.HASH部分有可能和对称或非对称合起来考。

1:概念部分不好复习,顺一遍即可。

提纲不会按照上述顺序来,看到哪写到哪,同等重要。

对称密码

流密码和分组密码。分组密码是网络传输加密,数据存储加密中最重要的加密方法之一(网络上以分组为单位传输)。

用于构造消息认证码(MAC),伪随机数生成器等。

分组密码算法

思路很简单,就是把分组后长度相同的原文分组和同样分组后的密钥分组进行一些操作(算法),得到密文。

设计原则:分组长度n要够大,防止明文穷举攻击。密钥长度够大,防止密钥穷举攻击;需要具有非线性运算部件(s盒为代表),充分混淆和扩散,形成雪崩效应(类似hash但是hash回不去)

性能要求:速度快,存储量大,多轮迭代形式。

对于多轮迭代,常常用子密钥生成算法把固定的密钥生成子密钥(轮密钥),用在每一轮中分别加密。

大多数采用了Feistel网络和S-盒结构(非线性结构)

S-盒:查表替代。

置换:按位置换。

Feistel密码结构

一种典型的加密结构,把原文分成两部分(长度相同则是平衡的,否则是不平衡的),对于其中一半A通过加密算法和子密钥K进行加密得到A‘,将加密结果与另一部分B亦或后放在密文对应A的位置;密文的B位置则由原文的A填充(不加密,但是下一轮会得到加密),如此在充分混淆的情况下保证所有字节都被加密了。

DES/3-DES

最早的分组密码算法之一。

明文密文均为64比特长度(分组)。加密解密使用同一算法。

密钥长度56比特,每个字节第八位是奇偶校验位。

流程:共计十六轮运算。

明文先进行初始置换(S-盒)

密钥先进行置换选择1,从64位变成56位,然后分为两部分,分别进行循环左移,循环左移位数是规定的,不同位不一样。每次左移后,进行置换选择2,从而得出当前轮的子密钥(显然是可逆的)48位,直到得出所有子密钥。

(E扩展运算:将32比特扩展为48比特,方法是将每一行前面的一位和后面的一位放在新矩阵中同一行的前面和后面,使每一行长度+2,总共8行,如此增加了16比特。)

(S-盒可以做到六字节进四字节出,原理是用其中两比特(第一和第六位)作为行号,另外四位作为列号,找到相应位置的数字并输出。)

每一轮运算中:遵循Feistel结构,将64位原文分为前32位L和后32位R,对于R,先用E扩展为48位,再和48位子密钥亦或,然后用压缩运算S将48位压缩回32位,最后再进行一次P置换(前面的合起来叫做F函数)。将R结果R’和L亦或放在R的位置,而R放在L的位置,第一轮结束。

题型:模拟一轮加密(全部建议找个计算金呢)

F函数记住如下顺序:扩展,加密钥,压缩,置换。

弱点:密钥太短,已经可以暴力攻破。

一种改进 3-DES,采用两个密钥,进行三次DES运算。

AES

安全性高于DES和3-DES,是新一代加密标准。

字节代替变换:一个非线性的字节代替,可以独立再每个字节上进行运算。先取乘法逆,再进行S盒仿射变换。

S-盒是固定的,可能会给,注意查表即可。

行移位变换:对每一行进行循环移位,第一行不动,第二行循环左移1,第三行左移2,以此类推。

列混合变化(列混淆):其实就是把列换到别的位置上,通过一个变换矩阵来乘列向量。同理矩阵也不用背过。

轮密钥加:对中间加密值和轮密钥进行轮密钥加(模2,也就是亦或)

密钥扩展:密钥数量不够如何扩展:对于编号为i的子密钥,如果i不是4的倍数就从i-4和i-1亦或得到。如果是4的倍数,由i-4和T(i-1)得到,T是个函数。

T:字循环左移:对四个字节循环左移一个字节;字节代换:用S-盒进行代换;与轮常量亦或。轮常量是一个字且是预设的,防止不同轮的轮密钥产生对称性或者相似性。

流程:字节代替变换-行位移-列混淆-轮密钥加。

SM4

我国的算法标准。

分组和密钥均为128比特。

32轮迭代和一次反序变换R组成。

非平衡Feistel结构。解密和加密算法相同,轮密钥使用相反。

(简单一提)

分组密码工作模式

上述算法都是针对一个分组加密的,可是一个信息中会有许多分组,如何协调起来?

传统模式:ECB,对每个分组单独执行加密,不用考虑分组之间的运算。可以实现并行。一个分组损坏只会影响一个分组。

缺点:相同分组其内容也相同,容易被找到规律。

CBC模式:不能并行加密但是可以并行解密。

CFB,OFB等;

CTR模式:可以并行,可以预处理,不需要解密算法,只需要加密算法,对于AES有优势。

(简单一提)

HASH

Hash是一种形成信息摘要的算法,可以把不等长的信息hash成登场的数据,但是信息会丢失,因此无法返回。Hash并不是对称加密算法,尽管他们操作过程有点类似。

Hash通用模型:把原始信息分成固定长度块,在最后一块的Padding中包含信息总长度,用压缩函数进行逐个压缩,最后得到结果。

MD5

预处理:补长到512的倍数,最后64位是消息长度最低64位,padding第一位1后面全0.

把消息化成长度512的块。

循环迭代。每次迭代用上一次的128位结果和512位消息进行运算。

输出结果,结果为128位。

MD5差不多完了。

SM3

国内hash标准,输出摘要长度256比特,每一块512比特,需要做64轮压缩计算。

消息扩展:对512字节的块,按照消息扩展算法生成132个字用于压缩函数CF。

图还是不用背。

MAC

消息鉴别码,用来验证消息真实性(验证签名)和完整性(没有被篡改)

也称作密码校验和,长度固定(hash)

为了保证消息完整,可以先发送MAC,再发送原文。由于算法是公开的,接收方只需要对原文也hash一下,比较和MAC是否相同。雪崩效应。

HMAC:基于Hash的MAC

基于分组算法的MAC FIPS 基于CBC模式的DES算法(简单一提)

非对称加密

数字签名。公钥加密私钥解密,私钥签名公钥验签。私钥永不暴露,公钥无法回推私钥。

大概率只考RSA。

RSA

基于大整数分解这个单向问题。

基本流程:

1.选择大质数p,q,求n=pq

2.求φ(n)=(p-1)(q-1)

3.选择私钥e,求e在mod φ(n)意义下的乘法逆元d。

4.e,n作为私钥,d,n作为公钥。

加密 设原文C,密文M

C^e (mod n) = M

M^d (mod n) = C

算法完成。

证明:略。

对于流程需要掌握的:大概是如何手算乘法逆元。用辗转相除(即当年的扩展欧几里得的手算版本)

流程:辗转相除法,把过程中所有的商记下来。

把商反序写在第一行然后逐个求对角线的乘积+第二行前一个数字,得到第二行当前列的数字。

商是偶数个,则最后一列的数字就是逆元,如果是奇数则要用原数减去最后一个数得到逆元。

Miller-Robin素性检验:理解大体原理就行。

其它非对称加密

椭圆曲线等,大概率不考,就算考了现在学就能会吗?

密钥管理

非对称密钥由CA认证中心管理,协商和分配。

对称密钥:数字信封,人工安装,对称密钥管理中心等。

用CA的私钥签名以保证信息真实性和完整性。

密文索引

这里明说至少掌握一个(一开始说的是两个,考虑到听懂的人比较少减少成了一个)

最简单的就是基于文档-关键词的密文索引算法。

布隆过滤器

某数据挖掘课程讲过了,就是一个桶里面把hash后的那一位置1,由此检验是否通过过滤器。一般用在邮件过滤中。

关键字检索基本流程:

设对于文档D有r个关键字w1,w2..wr,同时有k个hash函数h1,h2...hk以及k个伪随机数r1,r2...rk

对于每个关键词wi,用所有k个hash函数和伪随机数对他进行一次运算mj=h(wi,rj),得到k个结果m。

对于k个结果,还要和文档编号hash一次,即nj=h(mj,id),这样是为了让不同文档中的关键词结果也不同。

对于每个文档产生一个布隆过滤器,把针对每个关键词的k个结果全放到过滤器里。一共产生的位数应<=r*k(因为是hash,有时候会碰撞,所以不一定等于)

检索时,数据所有者提出一个关键词w,将关键词经过k轮hash之后的结果发给服务器(这样关键词w就不会暴露)。

服务器对用户发来的k个结果再分别与文档id进行一次运算,仍然得到k个结果。

对于这k个结果,尝试让他通过所有文档的布隆过滤器,如果通过了则说明当前文档就是目标文档。返回即可。

缺点

布隆过滤器是基于多轮hash的,有时候会出现错误查询。例如查的不是文档D却因为hash的结果与D碰撞了,而把D返回了。

解决方法一般是增大布隆过滤器长度减少碰撞,或者设置更大的k,增大hash轮数。

角色挖掘

差不多必考,是涉及到层次聚类对角色进行挖掘的,好在数据仓库中也有这部分。

算法很简单,先把每个权限单独设置一个簇,然后找距离最近的合并。

距离最近定义:共同用户数最多,如果相同则找权限最多的两个簇。

合并之后得到的新簇中,权限为并集,用户为交集,也就是权限规模越来越大,而属于该权限的用户越来越少。

直到达到迭代层数,或者不再存在非偏序关系的簇。

看清流程难度不大。

访问控制技术

访问控制就是只让有权限的人访问,使用或修改信息。

访问控制策略:对用户访问资源行为的安全约束需求的描述。

访问控制模型:对策略的抽象,简化,规范。

传统访问控制技术

自主访问控制

其实就是生成一些关系对,表示主体能否对某个客体进行访问。

客体权限没有泛化,因此数量非常高,维护困难。

能力表是基于主题的,访问控制列表是基于客体的。然而数量都很大。

强制访问控制模型

BLP模型用于保护机密性,特征是“不上读,不下写”,也就是高保密层不能向低层传递信息,而低层也无法访问高层数据,由此保证了数据始终在从低层往高层流动。

安全级别分为公开,秘密,机密,绝密。

范畴:一个类别信息构成的集合,具有该范畴的主体可以访问范畴所有子集中的客体。

支配关系dom:当A安全级别大于等于B且范畴也大于等于B时,A对B支配,A dom B。A支配B则A可以访问B的一切数据。

Biba模型,第一个关注完整性的模型,和BLP类似。

安全级别变为完整性级别,保证数据从高完整性的级别流向低完整性。

有效避免低完整性主客体对高完整性的污染。

缺点:安全标记的定义管理繁琐。来自多个应用的主客体也使得安全标记不好统一。

基于角色访问控制

常用,数据库的users列表就是用的这种模型。

管理员分配用户角色,用户根据角色访问资源。角色可以理解为权限集。

管理员也为角色分配权限。

基于属性访问控制

增加属性,属性描述实体的安全信息,如主体属性,权限属性,环境属性等。

原始请求先进入PEP,PEP会查询请求中实体的属性信息(如用户,权限等),查到之后发给PEP判定。

PDP向PAP查询策略,并判定是否能够通过。

PDP向PEP发送判定结果,如果通过则允许访问。

局限性

管理员工作量大,领域知识匮乏,访问需求无法预知,动态变化,且数据所有者通常无法存储海量数据。

基于数据分析的控制技术

同角色挖掘部分。

可能要看看贝叶斯。

风险自适应控制技术:加入风险访问控制,在静态规则通过后再进行风险判定,给出是否允许访问结果。

基于密码学的访问控制技术

基于密钥管理

通过密钥管理确保只有授权用户能获得解密数据的密钥,从而实现访问控制。

基于单发送者广播加密的访问控制

数据所有者从用户密钥树中找到需要解密的用户的密钥,用来加密,并广播给所有用户。

每个用户只拥有密钥树中和自己相关的密钥,如果拥有权限,则能够用自己的密钥解密,反之不能。

基于公钥广播加密的访问控制

公钥服务器把用户分成子集,并产生公钥,将私钥安全分发给子集中的用户。

数据所有者用公钥加密,广播分发,用户用私钥解密。

所有用户都能是数据所有者,可以分享数据,消除了单发广播对发送者的限制。

基于属性加密的访问控制

单属性权威访问控制

可信权威维护属性和密钥的对应关系,为用户发送属性密钥。

数据所有者定义访问策略,产生密文数据并发送给服务提供者。

用户:如果用户拥有属性,则会拥有属性密钥,从而解密明文。

多属性权威方案

CA为所有实体,包括用户和属性权威发布和维护身份。

多个属性权威管理用户和属性的关系。

其余类似。

身份认证技术及实现

概念性为主。

目的:对请求方身份进行认证,从而为请求方提供服务。

基本模型:请求方,验证方,认证信息,可信第三方TTP

基于口令的认证技术

口令:Password。其实就是用户自己设密码啦。

缺点:容易被猜到,传输过程中可能泄露。

短信认证:类似。

基于hash和salt的口令认证

口令传输的时候可能泄露,因此不应直接保存口令文件。

可以生成一个影子口令,该口令是由真实口令hash来的。

验证方不会得到真实口令,而是得到口令运算后的结果。因此验证方需要比较结果是否相同,如果相同则认证通过。

加盐:确保相同口令不会产生相同的hash结果(不同用户可能设同一个密码),应该与用户id进行hash。

同一用户使用不同系统时,如果口令相同,hash也应该不同。

智能IC卡/智能钥匙

就是IC卡,里面有密码协处理器,IO接口,存储器,内存等。用于验证身份。

饭卡。

远程身份认证

对于远程认证,有一些问题。

如口令传输被窃听:用数据加密或者hash。

重放攻击:加入随机数,时间戳。

伪造消息:数字签名,MAC。

中间人攻击:数字签名。

挑战-应答协议

请求方发送请求信息。

验证方发送一个随机数R

请求方用密钥和R加密后把结果发给验证方

验证方从数据库调取密钥,与R进行同样的加密后对比结果是否相同。根据结果决定是否通过。

双因子认证

多个认证因子一起用。

增加用户负担。

U盾。

生物信息身份认证

指纹识别,虹膜识别,面部识别等。

用传感器提取特征,加密后进行特征匹配。

FIDO身份认证

用户用身份认证器进行验证。

认证器用私钥签名,服务器用公钥验证,保证指纹安全。

服务器同时验证该验证器是否合法,以及用户是否通过验证(双因子)

发展历程

口令最早-升级口令-双因子认证-生物特征认证-多因素认证-未来(零信任模型,态势感知等)

概念性的东西。

大数据安全概念及目标

大数据安全

大数据存在巨大的数据安全需求。

1.如何在满足可用性下实现机密性和完整性。

2.如何实现安全共享

3.如何实现真实性验证和可信溯源。

大数据隐私保护

1.去匿名化技术的发展使得身份匿名难度越来越大,个人隐私被泄露。个人身份可能被逆向分析。

2.基于大数据对人们行为和状态进行预测,泄露隐私。如推荐算法等。

区别与联系

1.大数据安全关注的目标还包括完整性和真实性,不可否认性。隐私保护一般是保证匿名信。

2.机密性需求要求非授权完全不可访问。

3.用户隐私定义笼统,用户行为可能也算是隐私的一部分。

大数据生命周期中的安全风险(考过)

生命周期:数据产生,采集,传输,存储,使用,分享,销毁。

主要在四个阶段有安全问题:数据采集,数据传输,数据存储,数据分析和使用。

采集阶段

采集之后用户信息就完全脱离了自身控制,因此需要进行数据压缩,变换等处理。

是数据安全的第一道屏障,可以采用LDP等隐私保护技术。

传输阶段

主要目标是数据安全性, 防止传输过程中被破坏或者酸钙,保证机密性,完整性和安全性。

SSL通讯加密协议,专用加密机,VPN技术等。

存储阶段

防止黑客窃取存储信息,防止内部人员窃取以及利益方的超限使用。

体现了数据安全,平台安全,用户隐私保护等多种安全需求。

数据分析使用阶段

重点在实现数据挖掘中的隐私保护,防止通过数据挖掘得出用户隐藏的知识,防止统计分析得出用户隐私信息。

大数据安全与隐私保护技术框架

大数据安全技术

访问控制:角色挖掘,传统访问控制,密码访问控制

安全检索:密文索引技术,非对称加密

安全计算:同态加密等。

大数据隐私保护技术

关系型数据隐私保护

社交图谱保护

位置与轨迹保护

差分隐私:本地差分隐私

大数据服务信息安全

威胁发现技术:范围更大,时间跨度更长,未知威胁检测。

认证技术:安全性更高,减少用户负担。

真实性分析:过滤垃圾邮件,提高鉴别能力等。

基本密码学工具

加密技术:对称加密技术,公钥加密技术。

数字签名技术。

Hash和MAC消息鉴别码技术

密钥交换技术,身份鉴别和认证。

祝考试顺利!

来自考试后的话:只要你看了我的提纲,也能提前一小时交卷。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

大数据安全考试提纲 的相关文章

  • opencv-contrib-Python编译module 'cv2.cv2' has no attribute 'xfeatures2d'

    opencv contrib Python编译module 39 cv2 cv2 39 has no attribute 39 xfeatures2d 39 引言解决步骤一解决步骤二 引言 opencv contrib Python编译出现
  • find_package()函数

    find package函数 引言1 find package用法2 find package原理3 A required library with LAPACK API not found 错误解决4 添加findpackage查询路径
  • py安装文件时报错usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]

    py安装文件时报错usage setup py global opts cmd1 cmd1 opts cmd2 cmd2 opts 引言solved 引言 报错 xff1a python setup py fastentrypoints u
  • VScode单步调试

    VScode配置 0 快捷键1 安装clang2 VScodeDebug3 Cmake支持gdb调试的方法 0 快捷键 稍大工程在vscode下的调试参考该博客 Ctrl 43 打开默认终端 Ctrl 43 Shift 43 新建新的终端
  • 串口通信简介

    串口通信 串口通信是一种串行异步通信 xff0c 通信双方以字符帧作为数据传输单位 xff0c 字符帧按位依次传输 xff0c 每个位占固定的时间长度 两个字符帧之间的传输时间间隔可以是任意的 xff0c 即传输完一个字符帧之后 xff0c
  • ubuntu16.0 ROS(介绍EAI的YDLIDAR-X4激光雷达在ROS下使用方法)

    YDLIDAR X4激光雷达介绍 YDLIDAR X4激光雷达是深圳越登智能科技有限公司 xff08 YDLIDAR xff0c 这家公司属于EAI xff09 研发的一款 360 度二维测距产品 xff0c 本产品基于三角测距原理 xff
  • php使用http_build_query,parse_url,parse_str创建与解析url

    1 http build query http build query 可以创建urlencode之后的请求字符串 span class hljs keyword string span http build query mixed spa
  • 无人驾驶小车调试笔记(六)-- 车轮校准

    简介 xff1a 小车的动力完全来自于两个电机带动的车轮 xff0c 在理想状态下 xff0c 给两个电机同样的驱动参数 xff0c 两个车轮会以同样的转速带动小车直线行驶 xff0c 而实际情况是每个电机可能都会有个体差异 xff0c 也
  • Nginx HTTP详解

    正文 1 Nginx启动流程 2 HTTP 初始化 新连接建立时的行为 在上次博客的最后可以看到 xff0c 在ngx event accept方法建立连接的最后一步 xff0c 将会调用ngx listening t监听结构体的handl
  • 时钟周期,机器周期,指令周期的相互关系

    1 时钟周期 61 振荡周期 xff0c 名称不同而已 xff0c 都是等于单片机晶振频率的倒数 xff0c 如常见的外接12M晶振 xff0c 那它的时钟周期 61 1 12M 2 机器周期 xff1a 8051系列单片机的机器周期 61
  • 单片机的分频是什么意思?

    分频就是单片机的时钟频率 xff08 也就是晶振的震荡频率 xff09 F经过12分频 xff0c 变换成F 12的频率 简单的来说就是以整数倍降低频率 2分频就是分频前的频率除以2 xff1b 4分频就是分频前的频率除以4 比如 xff1
  • NMOS和PMOS管

    这里我先说一下我自己分辨MOS管的方法 对于NMOS我们看下图中的箭头 xff0c 都是远离源头 对于PMOS我们看箭头 xff0c 都是指向源头 P xff1a POSITIVE积极的寻找自己的起源 N xff1a NEGTIVE消极的远
  • 基本运算放大电路

    我先说明 下面的内容应该很多人都看到过 xff0c 但是我建议还是细看 xff0c 最好自己推一下 我就是这么做的 运算放大器工作原理综述 xff1a 运算放大器组成的电路五花八门 xff0c 令人眼花瞭乱 xff0c 在分析运算放大器工作
  • PCB板框的绘制——AD19

    pcb板框的绘制当然首先要切换到keep out 层才行 找到设置 xff0c 找到keep out 假如我们要绘制一个矩形的板框 xff0c 我们选择线径就可以 手动绘制一个矩形的板框 我们需要让我们的板子边框按照我们所绘制的走线来定义
  • 零基础自学STM32-野火——GPIO复习篇——使用绝对地址操作GPIO

    今天主要是复习一下 结合野火的 零基础开发指南 名字没记住大概是这个 先放一张结构图 存储器映射 xff08 初学重点 xff09 xff1a 我们的片内外设比如 xff1a Flash Sram Fsmc 以及挂在AHB 总线上的外设 x
  • Lcd1602——斌哥51

    最新修改时间2022 7 22 LCD1602 16代表显示16个字符 xff0c 2代表总共显示两行 芯片的工作电压是4 5 5 5v 工作电流2 0ma xff08 5V xff09 模块最佳工作电压5 0v 字符尺寸 xff1a 2
  • 无人驾驶小车调试笔记(七)-- 相机校准

    简介 xff1a 在第五节的内容中 xff0c 我们学习了使用rqt工具集观看摄像头视频流的方法 xff0c 细心的同学应该会发现camera node发布的视频数据中的图像有变形现象 xff0c 图像变形会导致直线不直 xff0c 部分区
  • Python实现MySql、SqlServer增删改查操作

    span class token keyword import span pymssql span class token keyword def span span class token function connection sql
  • ds1302——斌哥51

    以下内容分别借鉴了 清翔 51 xff0c 斌哥51 xff0c 以及CSDN 普通的不普通少年 内部结构 xff1a DS1302 包括时钟 日历寄存器和 31 字节 xff08 8 位 xff09 的数据暂存寄存器 xff0c 数据通信
  • AD添加LOGO

    先上原文链接 xff1a http www allchiphome com circuit pcb logo creator http www allchiphome com circuit pcb logo creator http ww

随机推荐

  • 视频播放组件实战【LivePlayer H5播放器】

    在公司项目开发中 xff0c 有一个项目里面需要做一个视频播放的功能 xff0c 播放方式是调用海康平台提供的接口获取流地址来进行视频的播放并且最重要的是需要支持flash 由于前端用的Vue xff0c 对比了几个 xff0c 最后选择了
  • 如何用示波器测量串口

    如何确定时基 假如要测量的波特率为9600 则每一比特位的时间为 xff1a 1 9600 104 s xff0c 一般示波器横向上每个大格子里5个小格子 xff0c 要想看清一比特位一般需要一个小格子就够了 xff0c 则时基为 xff1
  • Keil使用命令行附加预定义宏编译

    1 前言 很多时候 xff0c 一份Keil工程代码可能需要满足多个不同的应用场景 可以通过逻辑判断 xff0c 将多个不同的点集成在一份代码之中 xff0c 但是嵌入式往往特别关注RAM空间 xff0c 集成过多的逻辑判断 xff0c R
  • Python的函数装饰器,@staticmethod、@classmethod 和 @property

    什么是Python 的 函数装饰器 xff1f Python 内置的 3 种函数装饰器 xff0c 分别是 xff20 staticmethod xff20 classmethod 和 64 property 那么 xff0c 函数装饰器的
  • C++11:原子交换函数compare_exchange_weak和compare_exchange_strong

    我们知道在C 43 43 11中引入了mutex和方便优雅的lock guard 但是有时候我们想要的是性能更高的无锁实现 xff0c 下面我们来讨论C 43 43 11中新增的原子操作类Atomic xff0c 我们可以利用它巧妙地实现无
  • C++11条件变量:notify_one()与notify_all()的区别

    notify one 与notify all 常用来唤醒阻塞的线程 notify one xff1a 因为只唤醒等待队列中的第一个线程 xff1b 不存在锁争用 xff0c 所以能够立即获得锁 其余的线程不会被唤醒 xff0c 需要等待再次
  • 数据库:group by 的使用

    一 概述 group by的意思是根据by对数据按照哪个字段进行分组 xff0c 或者是哪几个字段进行分组 二 语法 select 字段 from 表名 where 条件 group by 字段 或者 select 字段 from 表名 g
  • C++中 std::vector 的6种初始化方法

    1 vector lt int gt list1 默认初始化 xff0c 最常用 此时 xff0c vector为空 xff0c size为0 xff0c 表明容器中没有元素 xff0c 而且 capacity 也返回 0 xff0c 意味
  • MIMO雷达处理1

    参考文献 MIMO RADAR SIGNAL PROCESSING 以下为我自己的理解 xff0c 如有问题 xff0c 请指出 目录 初步分析虚拟阵列123 确认目标数 初步分析 MIMO radar与相控阵雷达区别在于MIMO中的各天线
  • AndroidStudio生成aar包和如何使用aar包

    我用的是android studio 2 0正式版 1 简介 aar包是Android studio下打包android工程中src res lib后生成的aar文件 xff0c aar包导入其他android studio 工程后 xff
  • C++智能指针详解:shared_ptr

    C 43 43 没有内存回收机制 xff0c 每次程序员new出来的对象需要手动delete xff0c 流程复杂时可能会漏掉delete xff0c 导致内存泄漏 于是C 43 43 引入智能指针 xff0c 可用于动态资源管理 xff0
  • C++算法题:关于树的算法

    问题1 xff1a 输入一棵二元查找树 xff0c 将该二元查找树转换成一个排序的双向链表 要求不能创建任何新的结点 xff0c 只调整指针的指向 什么是二元查找树 xff1f 比如 xff1a 转换成双向链表的顺序是 xff1a 1 3
  • C++算法题:递归和栈的算法

    问题1 xff1a 跳台阶问题 具体描述 xff0c 一个台阶总共有n级 xff0c 如果一次可以跳1级 xff0c 也可以跳2级 求总共有多少总跳法 xff0c 并分析算法的时间杂度 相当于从下往上跳 xff0c 最后剩一个 xff08
  • Linux的.service服务 实现程序开机自启

    一 service文件的位置 所有可用的单元文件存放在 lib systemd system 和 etc systemd system 目录 我们需要在 lib systemd system 下存放 service文件 xff0c 当sys
  • 计算机网络 复习提纲(完整版)

    第一章 概述 计算机网络 xff1a 利用通信线路和通信设备 xff0c 将地理位置和功能不同的多台计算机互联起来 xff0c 用完善的网络软件实现资源共享和信息传递的网络 组成 xff1a 计算机 xff0c 网络操作系统 xff0c 传
  • 无人机多任务寻径仿真软件与实验平台(一)

    项目背景 xff1a 近年来 xff0c 无人机的应用领域已经得到了极大的拓展 xff0c 旋翼无人机凭借较大的载荷 xff0c 稳定的飞行状态与对高空环境的高度适应 xff0c 成为了应用最为广泛的一类无人机 在欧洲 xff0c 北美洲等
  • 无人机实验平台(七) 实验平台的坐标转换(上)

    为什么要做坐标转换 xff1f 大疆提供的sdk中指出 xff0c 无人机通常情况下通过两个坐标系来控制方向 xff1a 自身坐标系 xff08 Body xff09 和地面坐标系 xff08 N E D xff09 这两个坐标系可以相互转
  • 无人机实验平台(十) 室内悬停问题

    VirtualStick Mode VirtualStick Mode是Sdk提供的一种底层控制模式 xff0c 通过模拟物理摇杆的运动向无人机按照一定频率发送摇杆差分信息 xff0c 使得无人机按照类似于被物理摇杆控制的方式运行 xff0
  • 第30章 ADC—电压采集—零死角玩转STM32-F429系列

    第30章 ADC 电压采集 全套 200 集视频教程和 1000 页 PDF 教程请到秉火论坛下载 xff1a www firebbs cn 野火视频教程优酷观看网址 xff1a http i youku com firege 本章参考资料
  • 大数据安全考试提纲

    范围划得虽大 xff0c 但是主题不多 xff0c 和往常一样记录一下重点 考试范围 1 大数据安全概念及目标 2 传统访问控制技术和基于密码的访问控制技术 3 角色挖掘的算法 4 对称密码 xff0c 非对称密码 xff0c hash算法