自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(93)
  • 资源 (1)
  • 收藏
  • 关注

原创 【论文阅读】Prompt Fuzzing for Fuzz Driver Generation

编写高质量的模糊驱动程序是非常耗时的,并且需要对函数库有深刻的理解。然而,当前最先进的模糊驱动自动生成技术的性能还有许多需要改进的地方。从用户代码中学习的模糊驱动程序可以到达深层状态,但受限于它们的外部输入。另一方面,解释性模糊测试可以探索大多数API,但需要在广阔的搜索空间中进行大量的尝试。本文提出了覆盖率引导的模糊器PromptFuzz,用于提示模糊,通过迭代生成模糊驱动来探索未发现的库代码。

2024-05-26 21:30:45 868

原创 【Golang】Goweb组件--Zap日志库

下面是使用zap.NewProduction()的例子,使用该例子来查看成功或失败得到的日志信息。的代码来获取Lumberjack的支持,下面的配置表示当日志大小超过10MB时,就会对其进行拆分。2、WriterSyncer:指定日志写到哪里去。3、Log Level:表示了那种级别的日志会被写入,1、Encoder:编码器,如何写入日志,这里使用。将日志写入文件而不是终端,使用的是。方法来手动传递所有配置,而不是使用。这样的预置方法来创建logger。并且将打开的文件句柄传进去。就是最低级别的日志级别。

2024-05-15 11:28:24 351

原创 【论文阅读】Machine Learning, Linear Algebra, and More: Is SQL All You Need?

尽管SQL在简单的分析查询中无处不在,但它很少用于更复杂的计算,如机器学习、线性代数和其他计算密集型算法。这些算法通常以过程方式编程,看起来与声明性SQL查询非常不同。然而,SQL实际上提供了执行各种计算的构造。在本文中,我们展示了如何将过程结构转换为SQL-启用复杂的SQL-only算法。在算法中使用SQL可以使计算更接近数据,只需要最小的用户权限,并增加软件的可移植性。生成的SQL算法的性能在很大程度上取决于底层DBMS和SQL代码。

2024-05-13 19:57:42 965

原创 【论文阅读】Fuzz4All: Universal Fuzzing with Large Language Models

Fuzzing在发现各种软件系统中的错误和漏洞方面取得了巨大成功。以编程或形式语言为输入的被测系统(SUT),例如编译器、运行时引擎、约束求解器和具有可访问API的软件库,尤其重要,因为它们是软件开发的基本构建块。然而,用于此类系统的现有模糊器通常针对特定语言,因此不能容易地应用于其他语言甚至同一语言的其他版本。此外,现有模糊器生成的输入通常仅限于输入语言的特定特征,因此很难揭示与其他或新特征相关的错误。

2024-05-07 19:40:46 945 2

原创 【Redis】集群

redis集群是一个提供在多个Redis节点间共享数据的程序集,支持多个master。这是由于哨兵加主从复制的方式具有缺陷,由于数据量过大的情况下,单个master的复制集难以承担,因此需要多个复制集进行集群,其作用主要是提供给在多个Redis节点间共享数据的程序集。

2024-04-20 16:27:33 720

原创 【Redis】哨兵

哨兵巡查监控后台master主机是否故障,如果故障了根据投票数自动将某一个从库转换为新主库,从而继续提供服务,俗称。

2024-04-19 11:05:34 678

原创 使用Redis搭建三个哨兵的集群

可以看到,在这个哨兵的日志文件中,显示了当前的主机有两个哨兵以及两个slave机。完成相关配置后,启动三个哨兵来完成监控,在三个docker容器内都执行如下命令。配置基础镜像的相关设置,构建好后,将其导出为镜像,并根据镜像构建三台哨兵机。可以发现,此时从机6380以及变成master了,且6381还是slave。由于后续一主二从中的主机可能会变成从机,所以在这里给他设置密码,将主机的。这是由于哨兵选举新主机后会使得网络重新,此时在查询一次就可以了。从红框处可以看到,哨兵在选举出新的master后,会将。

2024-04-19 10:12:27 642

原创 【Redis】主从复制

slave启动,同步初请slave启动成功连接到master后会发送一个sync命令。另外,当slave首次全新连接到master,一次完全同步(全量复制)将会被自动执行,slave自身原有数据会被master数据覆盖清楚。首次连接,全量复制master节点收到sync命令后会开始在后台保存快照,同时收集所有接收到的用于修改数据集命令缓存起来,master节点执行RDB持久化完后,master将rdb快照文件和所有缓存的命令发送到所有slave,从而完成一次完全同步。

2024-04-16 18:58:53 1050

原创 使用Docker搭建一主二从的redis集群

本文使用指代指代“一主二从”中的指代“一主二从”中的。配置好后,回到docker外的主机界面,将master机的`redis6379.conf`文件复制到主机,并接着复制到slave机

2024-04-16 17:40:11 970

原创 【Redis】管道

管道可以一次性发送多条命令到服务端,通过减少客户端与redis的通信次数来实现降低往返延时时间,从而对整个Redis的执行不造成其他任何影响。

2024-04-13 15:00:50 197

原创 【Redis】事务

Redis事务是一组命令的集合。这组命令顺序化执行而不会被其他命令插入。

2024-04-13 14:27:32 415

原创 由subprocess.Popen.stdin.flush()导致的BrokenPipeError: [Errno 32] Broken pipe问题解决

根据github上的。

2024-04-12 11:29:48 372

原创 【Docker】Docker概述及引擎

DevOps是一种执行标准(思想),主要用于促进开发、测试与运维的整合。

2024-04-10 09:36:49 488

原创 【Redis】持久化

它并不是对源文件进行重新整理,而是直接读取服务器现有的键值对,然后用一条命令去代替之前记录这个键值对的多条命令,生成一个新的文件去替换原来的AOF文件。是以日志形式来记录每个写操作,将Redis执行过的所有写指令记录下来,并且只允许追加文件不允许改写文件,在redis启动的时候读取该文件并且将写指令从前往后执行一遍以完成数据的恢复工作。在RDB和AOF都启用的情况下,AOF的优先级高于RDB,redis会先判断AOF文件是否存在,如果不存在的话才会使用RDB。的优点,既能快速加载又能避免丢失过多的数据。

2024-04-09 13:15:44 757

原创 【论文阅读】KnowLog: Knowledge Enhanced Pre-trained Language Model for Log Understanding

日志作为半结构化文本具有丰富的语义信息,因此全面理解日志对于自动化日志分析至关重要。随着自然语言处理中预训练语言模型的成功,许多研究都利用这些模型来理解日志。尽管取得了成功,但现有的预训练语言模型仍然存在三个弱点。这些模型不能理解特定于领域的术语,尤其是缩写。这些模型难以充分捕获完整的日志上下文信息。这些模型难以获得同一原木的不同样式的通用表示。为了解决前两个挑战,我们分别利用公共文档中日志的缩写和自然语言描述作为本地和全局知识,并通过设计新的预训练任务来增强模型来利用这些知识。

2024-04-08 12:53:16 921

原创 【Redis】Redis的类型及相关操作

查看当前数据库的键值查看还有多少秒过期,-1表示永不过期,-2表示过期同样是删除,unlink是非阻塞删除,del则有可能导致阻塞切换数据库清空当前库。

2024-04-01 21:32:55 964

原创 【Redis】在Docker中安装Redis以及相关报错解决

Failed to get D-Bus connection: Operation not permitted的说法,是由于docker和centos7之间的版本bug导致的。1、使用docker拉取centos7镜像并创建容器。都使用docker了,还是别费心在环境配置上了。3、将conf文件与data文件夹如此排列。停止容器并删除,然后重新创建。根据文件位置,生成容器命令为。如果无法解决该问题,根据。3、安装Redis依赖。,然后修改以下四个属性。进行的redis安装。

2024-03-29 15:48:36 1377

原创 【论文阅读】UniLog: Automatic Logging via LLM and In-Context Learning

**问题*** 许多自动日志工具被设计用来帮助开发人员完成日志任务之一。这些工具在某些情况下很有用,但通常不能提供全面的日志解决方案。* 尽管最近的研究已经开始探索端到端日志,但它仍然在很大程度上受到微调的高成本的限制,阻碍了它在软件开发中的实际用途。**创新点*** UniLog是一个基于大型语言模型(llm)的上下文学习(ICL)范式的自动日志框架。* UniLog可以生成一个适当的日志记录语句,该语句只包含一个提示符,其中包含五个演示示例,而不需要任何模型调优。* UniLog在预热后只

2024-03-28 17:44:56 1186

原创 【MySQL】多版本并发控制

ReadView就是事务在使用MVCC机制进行快照读操作时产生的读视图。InnoDB为每个事务构造一个数组用来记录并维护系统当前活跃事务的ID。(活跃指的是启动了但没有提交)

2024-03-27 15:56:16 983

原创 【MySQL】锁

读-读情况并发事务相继读取相同的记录,不会产生什么问题。写-写情况这种情况下会发生脏写的问题。读-写或写-读情况会发生脏读、不可重复读、幻读的情况。

2024-03-26 21:16:42 615

原创 【MySQL】事务日志

事务的隔离性由锁机制实现,事务的原子性、一致性和持久性由redo日志和undo日志实现。

2024-03-25 21:41:33 841

原创 编译cre2的一些问题

syntax error near unexpected token 0.29../configure: line 13575: PKG_PREREQ(0.2)'Makefile.am:16: error: 'nodist_pkgconfig_DATA' is used but 'pkgconfigdir' is undefinedPackage re2 was not found in the pkg-config search path.Perhaps you should add the direct

2024-03-23 15:24:02 254

原创 【库模糊测试】libmagic编译出动态库libmagic.so并插桩

3、生成configure及相关文件。

2024-03-23 14:18:49 258

原创 【MySQL】事务

事务指的是一组逻辑操作单元,使数据从一种状态变换到另一种状态。当在一个事务中执行多个操作时,要么所有的事务都被提交然后永久的保留下来,要么整个事务回滚回最初状态。ACID特性原子性:指事务不可分割一致性:指事务执行前后,数据从一个合法性状态变换到另一个合法性状态。(合法性状态指的是满足预定的约束的状态,即自己定义的状态)隔离性:指一个事务的执行不能被其他事务干扰,并发执行的各个事务之间不能互相干扰持久性:一个事务一旦被提交,它对数据库的改变是永久性的。

2024-03-18 21:39:52 410

原创 【MySQL】一些数据库调优策略

第一步、选择合适的数据库管理系统  如果对事务性处理以及安全性要求较高的话,可以采用、等商业的数据库产品。也可以采用开源的,事务处理采用,非事务处理采用。第二步、优化表设计  数据表的设计直接影响了后续的SQL查询语句。在使用的情况下,我们还可以根据不同表的使用需求,选择不同的存储引擎。此外,还有以下的优化原则:第三步、优化逻辑查询  SQL的查询优化,分为以及,其中,逻辑查询优化通过改变SQL语句的内容让SQL执行更加高效,方式有和。  对于SQL的查询重写,包括子查询优化、等价谓词重写、视图重写、条件

2024-03-14 20:27:39 792

原创 【MySQL】范式

一范式要求列不可再分,二范式要求不能部分依赖,三范式要求不能传递依赖,要直接依赖主键。

2024-03-12 21:06:43 561

原创 【MySQL】索引下推

索引下推(ICP)是一种在存储引擎层使用过滤数据的优化方式。使用ICP的好处在于其可以减少存储引擎必须访问基表的次数和MySQL服务器必须访问存储引擎的次数。两个字段先进行筛选(address并不是索引中的字段,所以不判断它),筛选完后得到的数据量较小,此时再回表的效率较高。但是对于索引字段都能生效的情况来说,索引下推的意义不大,此时已经是对三个字段进行筛选后再回表加载数据。,并从磁盘中调取符合条件的数据记录进入内存,然后再以剩下的条件进行过滤。的条件导致该语句索引失效,但是索引中仍然包含该字段。

2024-03-07 22:19:43 334

原创 【MySQL】子查询优化、排序优化和覆盖索引

单路排序从磁盘中读取查询需要的所有列,在buffer中对它们进行排序后输出,其效率更快,但是需要更多的内存空间。由于其需要更多得内存空间,所以也存在一定的问题,如果内存空间无法满足,则需要更多的磁盘IO来支持该算法。双路排序会进行两次磁盘扫描,第一次从磁盘去除排序字段并进行排序,第二次根据buffer中排序完的字段从磁盘中读取其他字段的值。,原因在于所有的排序都是在条件过滤之后执行的,如果过滤了大部分数据后只剩下几百几千条数据,那么。的概率也就越大,会带来频繁的IO活动影响效率。,从而导致过多的磁盘IO。

2024-03-07 21:37:06 551

原创 【MySQL】索引优化与关联查询优化

如果对索引的过滤条件中限制了一定范围,那么使用B+数来查询后,索引中剩下字段也就没有意义来。在过滤条件(WHERE)中使用了索引的情况下,要按照索引建立时的顺序从左往右筛选,如果中间跳过了某个字段,比如跳过了。在内连接中小表驱动大表,优化器会对两个表进行计算,将数据量小的表作为驱动表,数据量大的表作为被驱动表。使用了越多的属性来建立索引,会加快SQL查询的效率,能加速每一个属性的查询。,可以设置0为INT类型字段的初始值,空字符串为字符串类型的初始值。具有索引,因此,这里的被驱动表仍然是。

2024-03-06 21:36:46 1011

原创 【MySQL】性能分析工具EXPLAIN

执行计划的一条记录表示MySQL对某个表的执行查询时的访问方法。type列明确了这个访问方法。该属性表示实际用到的索引长度,可以帮助来检查是否充分的用上了索引。查询的每一行记录都对应一个单表,其中也分为驱动表和被驱动表。EXPLAIN的使用与DESCRIBE基本相同。等值查询时,与索引列进行等值匹配的对象信息。某表经过搜索条件过滤后剩余的记录条数的百分比。其中,s1是驱动表,s2是被驱动表。可能用到的索引和实际上使用的索引。预估要读取的条目数,越小越好。会根据产生的错误进行相关提示。

2024-03-05 20:09:37 393

原创 【MySQL】InnoDB数据存储结构

主要包含了对页面之间双向链表的表示、页面校验和、页面最后被修改对应的日志序列位置用户记录:​ 用户记录中的记录按照指定的行格式一条条摆在该区域,相互之间形成单链表。页目录:1、页目录分组的个数如何确定?由InnoDB规定:最小记录所在的分组只能有一条记录,最大记录所在分组的记录条数只能在18之间,剩下的分组中记录的条数在48之间。2、页目录结构下如何快速查找记录?1、通过二分法确定该记录所在的槽,并记录该槽所在分组中主键值最小的那条记录。2、通过记录的next_record属性遍历该槽所在组中的所有记录。页

2024-01-23 20:15:34 452 1

原创 【MySQL】索引

如果把完整的用户数据放到叶子结点是可以不用回表,但是这就相当于每建立一颗 B+树都需要把所有的数据都拷贝一遍,过于浪费存储空间。1、聚簇索引的叶子结点存储的是数据记录,非聚簇索引的叶子结点存储的是数据位置。2、一个表只能有一个聚簇索引,即只能有一种排列存储方式,但可以有多个非聚簇索引,也就是多个索引目录提供数据检索。聚簇索引是一种数据存储方式,即所有的用户数据都存储在了叶子结点上,也就是索引即数据,数据即索引。3、使用聚簇索引时数据的查询效率高,但是插入、删除、更新操作,效率比非聚簇索引低。

2024-01-22 16:23:21 455

原创 【MySQL】存储引擎

InnoDB是MySQL的默认事务型引擎,被设计用来处理大量短期事务。可以确保事务的完整提交和回滚。InnoDB是为处理巨大数据量的最大性能设计的。在有更新和删除操作时,优先选择InnoDB。表名.idb 存储索引和数据。具备外键支持的事务存储引擎。表名.frm 存储表结构。主要的非事务处理存储引擎。

2024-01-19 19:50:53 532

原创 【MySQL】逻辑架构

3、缓存失效的情况,对于频繁使用更新删除等操作的数据库来说,MySQL的缓存系统在检测到表数据更改后,使用该表的所有高速缓存查询都将无效并从高速缓存中删除。分析器先先做词法分析,对于输入的由多个字符串以及空格组成的一条SQL语句,识别出里面的MySQL关键字以及其中的字符串代表什么。2、对于时效性函数会出错,比如使用NOW获取现在的时间,而缓存会直接返回结果,从而导致使用了NOW但是返回的并不是现在的时间。插件式的存储引擎,负责了MySQL中的数据的存储和提取,对物理服务器级别维护的底层数据执行操作。

2024-01-18 19:20:47 567

原创 【MySQL】权限管理和访问控制

MySQL服务器通过权限表来控制用户对数据库的访问,权限表存放在MySQL数据库中。其中有user表、db表、table_priv表、column_priv表、proc_priv表等。MySQL在接收到用户的请求后,会使用user表中的host、user和authentication_string这三个字段匹配客户端信息。如果连接核实没有通过,服务器完全拒绝访问,如果链接核实通过,进入阶段2等待用户请求。顺序为user->db->table_priv->columns_priv。

2024-01-18 19:15:36 534

原创 【MySQL】变量、流程控制、游标、触发器

打开游标的时候,SELECT查询语句的查询结果集就会送到游标工作区,为后面游标的逐条读取结果集中的记录做准备。游标可以对结果集中的每一条记录进行定位,并对指向的记录中的数据进行操作的数据结构。游标查询结果集中的字段数,必须与INTO后面的变量数相同,否则会报错。游标会占据系统资源,不关闭的话会一直保持到存储过程结束。系统变量分为全局系统变量以及会话系统变量,变量分为系统变量以及用户自定义变量。会话用户变量 vs 局部变量。使用@开头,作用于为当前对话。可以看做是continue。可以看做为break。

2024-01-15 15:03:06 366

原创 【MySQL】约束

实体完整性,同一个表中不能有两条无法区分的记录域完整性,记录的属性具有范围引用完整性,例如,员工所在部门,在部门表中一定能找到这个部门用户自定义完整性,例如,用户名唯一、密码不能为空。

2023-12-20 23:11:02 145

原创 【Linux】WSL2与VMware切换使用

【代码】【Linux】WSL2与VMware切换使用。

2023-10-26 11:01:30 289

原创 【Opencv】OpenCV使用CMake和MinGW的编译安装出错解决

mingw32-make[1]: *** [modules/core/CMakeFiles/opencv_core.dir/all] Error 2Makefile:161: recipe for target ‘all’ failedmingw32-make: *** [all] Error 2

2023-10-24 23:07:32 1941 2

原创 【网路编程】多线程编程--线程同步

和多进程编程一样,多线程程序也需要考虑到同步问题。pthread_join可以看作是一种简单的线程同步方式,但是它无法实现复杂的同步需求。

2023-08-07 23:18:20 153

VSCode——windows上C/C++的json配置文件

VSCode——windows上C/C++的json配置文件

2022-07-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除