- 博客(41)
- 收藏
- 关注
原创 【面试前最最最先复习一遍的知识点】
读写锁(共享——独占锁):区分读操作和写操作,允许多个线程同时读(获取读锁),但是只有一个线程获取写锁进行写操作。互斥锁(独占锁):保证任何时候只有一个线程可以访问共享资源,无论是读/写(严格串行化)read_mode:在此模式下,第一个读者取得读写锁,所有写锁阻塞,而读者可以申请,而最后一个读者释放锁,退出该模式write_mode:当一个写者取得读写锁,所有读者写者阻塞,当申请锁的写者释放锁后退出改模式。稳定的(插冒归基)基数排序:先比个位、再十位,再百位。不稳定的(选快希堆)
2024-08-15 18:52:03
794
原创 服务器端常见响应码
1xx(信息性响应)100 Continue:表示服务器已经接收到请求头,并且客户端应当继续发送请求的剩余部分,或者如果请求已经完成,则忽略这个响应。 101 Switching Protocols:表示服务器已经理解了客户端的请求,并将通过Upgrade消息头通知客户端采用不同的协议来完成这个请求。2xx(成功响应)200 OK:表示请求已成功,请求所希望的响应头或数据体将随此响应返回。 201 Created:表示请求成功并且服务器创建了新的资源。 202 Accepted:表示请求已经
2024-08-07 16:33:04
379
原创 关于测试的一些问题
在我看来,测试不仅仅是寻找和报告bug的过程,更是一种预防性的活动,通过设计并执行测试用例来验证软件是否按照预期工作,并发现潜在的问题。即用例测试前准备环境的搭建(SetUp前置条件),测试后环境的还原(TearDown后置条件),比如测试前需要登录获取token等就是测试用例需要的环境,运行完后执行下一个用例前需要还原环境,以免影响下一条用例的测试结果。:测试工作让我有机会直接参与到产品的改进和优化中,看到自己的努力能够为用户带来更好的体验,这种成就感是无法用言语来表达的。
2024-08-06 12:10:25
828
原创 【git命令大全】
-添加需要提交的文件名(加路径--参考git status 打印出来的文件路径):这个命令用于将工作目录和暂存区都重置到HEAD指向的版本,也就是撤销所有的修改。--忽略其他文件,把现修改的隐藏起来,这样提交的时候就不会提交未被add的文件。:这个命令用于撤销最后一次的commit,并且取消暂存文件,但是保留在工作区。:这个命令用于撤销最后一次的commit,但是保留修改的文件在暂存区。例3:撤销最近的一次commit,并保留修改的文件在工作区。-- 删除暂存区和分支上的文件,同时工作区也不需要。
2024-07-11 15:09:20
482
原创 【For——计算机专业秋招之前必须了解的求职基础】
从程序为题导入一下,为什么要注重复习计算机组成原理、数据结构与算法、操作系统和计算机网络,面试中也常考到。程序是什么?— 计算机组成原理。程序怎么被翻译?— 编译原理。程序怎么执行?— 操作系统范畴怎么利用别人的成果来实现更好的数据组织?— 数据库怎么保证程序更容易维护和可读?— 这是设计模式和代码规范各岗位主流技术栈归纳前端:前端更在乎的是用户体验和交互,技术更新迭代快,要学HTML+CSS+Js;后端:主要是不同的后台有不同的语言,主要是开发语言(建议C++/Java)+技术框架;
2024-07-05 16:18:42
547
原创 【计算机网络基础知识】
为什么是三次握手而不是两次?第一次握手(SYN):客户端向服务器发送连接请求,并指明初始序列号。第二次握手(SYN + ACK):服务器收到请求后,确认连接请求,并发送自己的序列号。第三次握手(ACK):客户端收到服务器的确认后,也发送确认消息,表示连接已建立。三次握手的设计是为了解决可能出现的两种情况:重复连接请求和延迟的连接请求。通过三次握手,确保了双方的状态都同步了,建立了可靠的连接。为什么是四次挥手而不是三次?第一次挥手(FIN):客户端发送关闭连接请求。第二次挥手(ACK)
2024-07-05 12:13:57
1193
原创 【Ubuntu系统超全近期使用总结(持更!)】
apt 命令的引入就是为了解决命令过于分散的问题,它包括了 apt-get 命令出现以来使用最广泛的功能选项,以及 apt-cache 和 apt-config 命令中很少用到的功能。在使用 apt 命令时,用户不必再由 apt-get 转到 apt-cache 或 apt-config,而且 apt 更加结构化,并为用户提供了管理软件包所需的必要选项。# /xxx/xxx/xx.so即上图确定的so地址,软链接到/usr/lib/xx.so。2.查看特定的环境变量,例如PATH:echo $PATH。
2024-07-05 10:27:38
1018
原创 QT项目linux+windows部署安装包下载步骤(史上最全)
安装cmake:若cmake --version然后这个输出正常就装好了安装ffmpeg:(发包)make -j16安装libssh:方法1.可以尝试着用方法2:先成功安装了 OpenSSL 库。这些是 libssh 库所需要的。zlib 库也被 libssh 所需要。你可以使用这个命令安装 zlib 库:一旦你已经安装好了 CMake, zlib 库和 OpenSSL, 从https://www.libssh.org/ 找到你想要版本的 libssh。
2024-07-04 14:23:25
982
原创 【自动驾驶仿真在做什么——初学者总结(陆续补充)】
可以极大程度上保障驾驶员在使用这些自动驾驶功能时的安全性。根据不同场景的业务需求进行合理地ODD设计以及测试已经成为了所有自动驾驶企业们着重关注的目标。ODD的划分标准与框架都有相关的标准可以清晰定义,那么在对ODD场景进行分类之后,如何去测试这些ODD的边界来判断现有的自动驾驶系统是否合格达标呢?
2024-07-04 12:09:36
951
原创 刷leetcode中常用且有效的方法总结
刷题的时候经常会因为不知道一个方法多写很多行代码,既然有trick为何不用!你问我眼中为何常含泪水,因为我忘记方法忘的深沉。join()是 Python 中的一个字符串方法,它用于将序列(如列表、元组、集合等,但集合需要首先转换为列表或其他有序序列,因为集合是无序的)中的元素以指定的字符连接生成一个新的字符串。方法来更新计数器中的计数。可以传递另一个可迭代对象或者另一个。提供了一个快速简单的方式来统计哈希对象在集合中出现的次数。
2024-07-04 10:15:20
348
原创 一文读懂上位机和服务器的区别
而上位机则是通过网络、串口或USB端口等方式连接到下位机,负责将下位机之间的数据进行汇总、处理、分析和显示。这些数据可以是传感器采集的温度、湿度等环境数据,也可以是各种电子设备收集的数据。上位机的应用领域主要包括自动化控制、工业监控、医疗设备、仪器仪表、通信设备等。上位机主要用于控制和处理简单的硬件信号,而云服务器主要用于处理大量的非硬件操作,例如数据库操作、虚拟机操作等。3. 数据显示:通过数据采集和处理后,上位机可以将数据以图表、报表等形式呈现,使数据更加直观、易懂。
2024-07-03 15:56:49
1544
原创 proto文件应该如何撰写
在 proto3 中,字段规则只有 required(已被移除)、optional(也被移除,所有字段默认为可选)和 repeated(表示字段可以重复,即数组)。如果你删除了某个字段,并且之后可能会重用该字段的标识符,你应该使用 reserved 关键字来保留该标识符,以确保不会在未来发生字段标识符冲突。在将生成的代码集成到你的项目中之前,确保通过编写单元测试和集成测试来验证 .proto 文件的定义和生成的代码的正确性。字段表示该字段在序列化消息时必须存在,并且在解析消息时也必须存在。
2024-07-01 17:08:39
702
原创 【Qt项目学习--使用QTcpserver和libssh的区别】
很多Qt的教程都是基于QTcpServer实现的服务器客户端架构,而我想实现的用户名密码登陆,跟下来教程视频发现并没有实现,于是去了解libssh,实现IP地址登陆之后使用用户名密码实现。
2024-07-01 16:01:01
357
原创 【Windows下使用vckpg下载protoc之后环境变量问题】
这个时候找到vckpg下的packages目录,例如:C:\code\install\vcpkg\packages。点开有protoc.exe的那个目录,例如这里,可能每个人版本不一样位置不一样,需要有这四个文件。“protoc”不是内部或外部命令,也不是可运行程序或批处理文件。全选,复制到C:\Windows\System32文件夹下。尝试添加系统环境变量后没有反应。
2024-06-28 17:34:56
263
原创 【数据库中的存储桶】
桶对象存储(如Amazon S3、阿里云OSS、腾讯云COS等)使用扁平化结构来存放对象,这是指在这些存储服务中,对象(如文件、图片、视频等)是直接存储在一个“桶”(Bucket)中的,并没有传统文件系统中的目录(文件夹)层级结构。有的云存储服务或框架不支持事务,这就意味着下载文件或目录到本地时这个过程不是以事务的方式执行的,如果下载过程中出现错误(网络中断、存储桶中的文件被删除或修改),不会提供像传统数据库一样的回滚或恢复机制来确保数据的一致性。),但这只是键的一部分,并不表示真实的目录结构。
2024-06-24 18:27:40
847
原创 【板卡是什么及Ni板卡是什么】
之间的数据传输和通信,支持计算机与局域网或广域网的连接,方便数据通信和共享,支持高速的网络传输速率,提供快速互联网访问和文件传输,支持无线网络连接,提供便捷的无线上网功能。之间的图形信号传输,提供图形处理能力,支持多个显示器的输出,增加工作效率和画面展示,支持高画质的游戏和视频播放,提供沉浸式体验。,提供音频输出和输入功能,支持多声道输出,实现环绕声效果和音频混音等功能,提供麦克风输入,方便语音通信和语音识别等应用。板卡是计算机硬件的一个重要组成部分,通过插槽连接到主板,用于扩展计算机的功能和性能。
2024-06-21 10:37:28
731
原创 数据库基本知识
感觉面试的时候面试官大多数都必问数据库,也可以理解,企业肯定会涉及到大规模数据存储,那么数据库存储就一定会用到数据库。做一些数据库相关的基本知识总结,持续更新~
2024-06-06 14:25:53
1451
1
原创 固件windows升级
由于卡上的固件需要更换版本,所以总共下载四个东西:固件、驱动、转译工具及Cli命令。(转译工具是为了解密,如果固件上有加密日志,要进行查看操作的时候)通过命令将新固件烧到卡上,其中通过C0和C1都可以实现。如果包版本检查失败可以在命令后面加上 noverchk。
2024-06-04 11:56:37
248
原创 测试脚本参数设置
7.install 到path这五个选择设置选择是否装包。1.hostos linux不用调,windows需要。3.object选择hba或者raid。5.长本设置:timeout为1000。4.包路径填写:ps3server上。6.bug-stop 设置为no。首先构建用例,关联脚本位置。2.hostlabel节点号。
2024-06-04 10:39:28
167
原创 测试开发之cli命令
cli有广义也有狭义,对于hba卡和raid卡来说,就是用户在服务器上敲,获取卡上信息、设置相关属性的命令。每个卡要搭配自己的cli,是产品代码的一部分。也就是说用户用不同公司的卡,想获取信息敲的命令可能是不一样的。而uname -r这种都属于linux命令,与卡无关。
2024-06-04 10:09:15
229
原创 【重装windows遇到网络适配器无法更改】
也可以先在cmd依次输入“netsh”、“interface”,“ip”,然后再输入后面的回车。注意以太网x之间有空格,以太网外面的引号是英文的。
2024-05-29 15:19:20
227
原创 【本周问题总结--陆续补充】
②快慢指针:创建两个指针,同时指向链表的头节点。然后开始一个大循环,在循环体中指针1每次移动一个节点,指针2每次移动两个节点。(可以类比环形跑道,一个快一个慢在同一起跑线开始后面跑的快的一定会再次超过跑的慢的,假设从链表头节点到入环点的距离是D,链表的环长是S,那么循环会进行S次)①穷举遍历:从头节点开始,依次遍历单链表中的每一个节点。每遍历到一个新节点,将新节点和此前节点进行比较,若已经存在则说明已被遍历过,链表有环。06.服务器端的安全有哪些层面,画一棵树。05.二叉树的遍历时间复杂度。
2024-05-27 10:12:19
347
原创 【leetcode----合并区间+插入区间+汇总区间+射出最少的箭】
第一步应该想到要按区间的第一个元素进行排序,然后若后一个区间的起始元素小于前一个区间的结尾元素,判断一下两个区间的结尾元素孰大孰小,选择大的作为新区间的结尾元素。
2024-05-16 09:45:38
121
原创 【测试开发基础--使用git实现代码协作】
SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候都要先要从中央服务器获取最新版本,然后将自己做完的活推送到中央服务器,集中式版本控制系统必须联网才能操作。Git是分布式版本控制系统,没有中央服务器,每个人的电脑就是一个完整的版本库,工作不需要联网,协作时只需要将对方的修改推送一下就可以互相看到对方修改。git status 是一个用于查看git仓库当前状态的命令,可以显示未暂存的修改和未跟踪的文件。git diff 查看比较被git管理的文件在工作区、暂存区和版本库之间的差异。
2024-05-15 15:16:58
213
原创 【软考中级----关系人评估矩阵、RACI矩阵、静动态投资回收期、计算题公式、最大后悔值(持续补充ing)】
不知晓:对项目和潜在影响或变更需求不知晓抵制:知晓项目潜在影响,抵制变更中立:知晓项目,既不支持,也不反对支持:知晓项目潜在影响,支持变更领导:知晓项目和潜在影响,积极致力于保证项目成功开发人员全流程,不是R就是C,设计师和运维都只负责开发和运维的部分,其余都是告知,测试还会再开发和运维时进行被咨询,产品经理在设计、测试、维护时会被咨询,项目经理全程进行最终决策判断。
2024-05-15 15:10:15
434
原创 中级项目集成--计算题笔记
自由时差就是10:00减去9:30,考虑前女友的最早开始时间,你也尽早开始。eg:你和前女友排队买面包,共有两个小时,一个人一个小时的购买时间,购买面包只需要半个小时。你的时间是9:00-10:00,前女友的时间是10:00-11:00,你买完了,你前女友接着买。当网络图中有多项结束工作时,应增设一项虚拟的工作(F),作为该网络图的终点节点。总时差:你若只考虑卡结束时间,那你磨蹭了一下9:30才开始购买,10:00完成。在时间上,它表示指向某节点的工作全部完成后,该节点后面的工作才能开始。
2024-05-15 10:34:15
372
原创 测试开发学习--脚本撰写
如果物理环境检查通过,继续进行局部环境检查,调用_run_check_own_environment()方法。设置后处理阶段的结果信息,调用_set_result_info(post_flag=True)设置准备和执行阶段的结果信息,调用_get_result_info(test_flag=True)若任务执行成功,收集性能统计信息,执行_collect_perf_info()执行后处理操作,包括删除可能创建的环境,调用_run_post()方法。如果需要设置特定参数,调用set_parameters()
2024-04-26 09:53:43
407
原创 【pytorch-环境及源布置】
在cmd中输入 :conda --version,——查看是否有conda环境?(检验安装成功的标志)在cmd中输入: conda info,——查看是否有?(检验安装成功的标志)删除名为pytorch的python环境。创建python环境。
2023-11-26 18:34:38
94
1
原创 【论文阅读 | 对抗攻击】《On The Neural Representation For Adversarial Attack And Defense》
通过扰动单个内容特征神经元,诸如深度分布边界攻击 (DDBA) 之类的方法旨在生成难以察觉的对抗示例,利用这些有意义的特征来欺骗模型。-深度分布边界攻击 (DDBA) 是一种通过扰动深度学习模型中的单个内容特征神经元来生成难以察觉的对抗样本的方法。它考虑了人类感知和检测激活值变化的方式的变化,旨在产生人类难以检测到的扰动。:DDBA 方法通过对单个内容特征神经元的激活值施加扰动来扰动这些神经元。-对固定激活值扰动的感知变化是指人类感知和检测神经网络中神经元激活值变化的方式的变化。
2023-11-26 17:48:51
76
1
原创 ON THE NEURAL REPRESENTATION FOR ADVERSARIALATTACK AND DEFENSE【普渡大学博士论文】对抗性攻击与防御的神经表示,123页pdf
然而,由于其封闭的解析形式,我们可以优雅地推导出统计模型的样本复杂度以防止过拟合或使用核函数来满足其固有的线性分离要求。不幸的是,这些技术不适用于神经网络。根据威胁模型的不同,这些攻击可以有不同的目的,如模型窃取[1],成员推理[2]和输出操纵[3]。因此,对抗性攻击和防御的常见方法是将神经网络视为黑盒,只关注输入和输出,而忽略中间层生成的丰富信息。神经表征是在前馈过程中自然出现的高维嵌入,包含从下游任务的原始输入中提取的信息。一个突出的问题是如何在满足语义相似度的前提下设计一个可行的、有意义的集合。
2023-11-22 16:24:36
36
原创 【论文阅读 | 对抗攻击】《Aries: Efficient Testing of Deep Neural Networksvia Labeling-Free Accuracy Estimation》
在本文中,我们提出了Aries来自动估计DNN模型在未标记数据上的准确性,而无需标记。Aries的主要直觉是,一个模型应该对与决策边界有相似距离的数据具有相似的预测精度。具体来说,Aries使用dropout不确定性来近似数据与决策边界之间的距离,并从原始标记的测试数据中学习该边界信息,以估计新的未标记数据的准确性。我们对两个常用的研究数据集、四种深度神经网络架构和13种未标记数据的评估表明,Aries可以精确地预测模型的准确性。此外,我们还证明了Aries优于SOTA无标记估计方法和基于测试选择的方法。
2023-11-22 16:16:09
67
原创 Linux报错:-bash: 路径xx: No such file or directory解决方法
这个问题困了好几天了,跑代码都不得已转用xshell,调试十分鸡肋。但是今天一想明明python解释器配了无数遍,deployment也没有任何问题,bashrc文件我都看了一圈,为什么还是出现这个报错,直到我在终端输入发现了路径问题!md这不就是pycharm里那个该死报错!,于是我发现了这是为什么呢,是前面少了一个‘/’,也就是在pycharm配置远程文件的时候,要注意路径前面还有一个/!所以在pycharm中更改一下,就完成了。
2023-10-21 16:19:41
934
1
原创 对抗攻击中的常用评价指标
asr 是衡量分类器鲁棒性的重要指标之一,因为它可以告诉我们分类器在遭受特定攻击时的容错能力,即攻击者多大的概率可以获得正确的结果。对于攻击者来说,asr 越高就越容易实施攻击,而对于分类器的开发者来说,asr 越低就代表分类器的鲁棒性越强。需要注意的是,asr 并不能完全反映分类器的鲁棒性,因为在现实生活中,攻击者通常会使用更加隐蔽和复杂的攻击方式,例如黑盒攻击、迁移攻击等。与其它指标相比,nq 更注重攻击后的置信度变化,它的值越大表示对抗攻击对分类器效果越大,分类器对对抗样本的鲁棒性也就越差。
2023-04-17 20:30:49
2331
2
原创 在一棵高度为2 的 5 阶 B 树中, 所含关键字的个数最少是
单选题)在一棵高度为2 的 5 阶 B 树中, 所含关键字的个数最少是(A )。A 5 B 7 C 8 D 141.根节点至少有两个孩子节点,那么根节点的关键字至少为12.第二层节点(至少2个),每个节点至少有ceil(m/2)=3个孩子节点,那么其关键字至少为23.综上:高度为2的5阶B树,关键字个数至少为1+2+2=5...
2021-09-10 20:08:21
5734
5
ubuntu中QT creator使用报错
2024-06-19
TA创建的收藏夹 TA关注的收藏夹
TA关注的人