- 博客(129)
- 资源 (4)
- 收藏
- 关注
原创 【Java】MongoDB
MongoDB是一款由C++编写的分布式文档数据库,采用BSON(类似JSON)格式存储数据。与传统关系型数据库相比,它更灵活、扩展性强,适合实时数据存储和高并发场景。主要数据结构包括数据库、集合和文档,支持基本CRUD操作和数据聚合查询。安装便捷,可通过Docker快速部署。SpringBoot通过MongoTemplate和MongoRepository两种方式与MongoDB集成,后者操作更简单。适用于弹幕、物流信息等场景,但不适合高度事务性系统。
2025-07-08 13:13:35
715
原创 LACMUS:用于DNN通用鲁棒性增强的潜在概念掩蔽
本文提出LACMUS框架,通过潜在概念掩码技术提升深度神经网络对抗多种攻击的通用鲁棒性。现有对抗训练方法存在攻击特异性、变异特异性、性能-鲁棒性权衡等局限。LACMUS的核心创新是将数据增强从像素层面提升到概念层面,包含四个关键步骤:(1) 使用补丁矢量量化(PVQ)将输入映射到潜在概念空间;(2) 识别导致错误分类的非通用概念模式;(3) 基于概念掩码生成对抗样本;(4) 自适应训练并量化样本鲁棒性。
2025-06-28 10:32:53
849
原创 规则引擎Drools
本文介绍了规则引擎(BRMS)的概念、功能和应用。规则引擎是一种系统,用于将业务决策从应用程序代码中分离出来,通过预定义的语义模块编写业务规则,由用户或开发者进行配置和管理。市面上具体的规则引擎产品包括Drools、VisualRules和iLog等。规则引擎的主要组成部分包括工作内存(Working Memory)、规则库(Rule Base)和推理引擎(Inference Engine)。
2025-06-20 17:02:41
957
原创 Alchemy: 无数据对抗训练
到目前为止,根据我们的调查,几乎所有对抗性训练工作都假设防御者可以访问模型的原始训练数据。然而,如图1所示,在一些关键的真实世界场景中,参与者只能获得预先训练的模型,这些模型对于对抗性示例攻击是脆弱的,但由于数据隐私或知识产权的原因,无法访问训练数据集以进一步提高鲁棒性。尽管已经提出了基于未标记数据的半监督方法和无监督方法来提高对抗性鲁棒性,但半监督方法旨在利用未标记数据集来补充原始数据集,以进一步提高对抗性健壮性,而无监督方法使用未标记的原始数据集来获得鲁棒性。
2025-03-29 12:49:19
876
原创 【Java】Springboot整合redis
Jedis、Lettuce和Redis Template是java中三种常用的redis客户端工具。Jedis是同步阻塞的Redis Java客户端,简单直接但线程不安全,需要连接池管理;Lettuce是基于 Netty 的异步非阻塞客户端,支持响应式编程且线程安全,性能更高;Redis Template是Spring提供的抽象层,默认基于Lettuce实现,提供了面向对象的 API 和自动序列化支持,与Spring 生态集成最佳。
2025-03-28 16:05:46
375
原创 【Java】MyBatis详解
resultMap:设置自定义映射id:表示自定义映射的唯一标识,不能重复type:查询的数据要映射的实体类的类型id:设置主键的映射关系result:设置普通字段的映射关系property:设置映射关系中实体类中的属性名column:设置映射关系中表中的字段名若字段名和实体类中的属性名不一致,则可以通过resultMap设置自定义映射,即使字段名和属性名一致的属性也要映射,也就是全部属性都要列出来</</</</</</</
2025-03-17 15:07:02
706
原创 【Java】Stream API
Stream API ( java.util.stream) 把真正的函数式编程风格引入到Java中。这是目前为止对Java类库最好的补充,因为Stream API可以极大提供Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。Stream是Java8中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作。使用Stream API对集合数据进行操作,就类似于使用SQL执行的数据库查询。也可以使用Stream API来并行执行操作。
2025-03-01 21:11:14
870
原创 【Java】Lambda表达式和方法引用
Lambda是一个匿名函数,我们可以把Lambda表达式理解为是一段可以传递的代码(将代码像数据一样进行传递)。使用它可以写出更简洁、更灵活的代码。作为一种更紧凑的代码风格,使Java的语言表达能力得到了提升。
2025-02-28 15:55:57
1127
原创 【Java】反射机制详解
Reflection(反射)是被视的关键,反射机制允许程序在运行期间借助于Reflection APl取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。加载完类之后,在堆内存的方法区中就产生了一个Class类型的对象(一个类只有一个Class对象),这个对象就包含了完整的类的结构信息。我们可以通过这个对象看到类的结构。这个对象就像一面镜子,透过这个镜子看到类的结构,所以,我们形象的称之为:反射。
2025-02-28 11:09:08
930
原创 SWIRL:检测关联网络流的可扩展水印
本文介绍了SWIRL,这是一种可扩展的水印,具有隐形和抗数据包丢失的特点。SWIRL是一种基于时间间隔的水印,但它采用了一种新颖的方法来抵御多流量攻击。水印图案是根据被标记流量的特征选择的;因此,每个流量都用不同的图案标记。SWIRL水印对网络流的延迟很小,因此在实际应用中非常实用。较小的失真也使SWIRL不被用于隐蔽信道检测的最新信息理论工具所发现。我们也考虑了水印的一个新的应用——抵御Tor匿名网络的拥塞攻击。
2025-02-10 15:27:47
767
原创 基于卷积神经网络的验证码识别
在定义数据集类之前,先确定图片读取进来之后要进行的预处理。由于颜色是不必要的信息,所以我们读取图片之后转为灰度模式。这样也能降低数据的复杂度。然后对图片进行二值化,突出图片里的主要信息。img = cv2.imread('./491e.jpg', 0) # 灰度模式读取图片_, img = cv2.threshold(img, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU) # 二值化例如,之前的验证码经过处理后就如下图所示。import os。
2025-01-21 12:26:05
1358
原创 树状数组详解
树状数组(Binary Indexed Tree,简称BIT),是一种数据结构,用于处理区间查询和更新问题。它是一种可以高效地在对数级别时间复杂度内进行单点更新和区间查询的数据结构。
2024-12-14 23:26:32
1049
原创 前缀和与差分算法详解
前缀和是一种数据预处理技术,它指的是从数组的第一个元素开始,到当前元素为止的所有元素的和。这种技术可以快速计算任意区间内元素的和,而不需要每次都从头开始累加。差分则是前缀和的逆运算,它主要用于处理对数组某个区间内所有元素同时增加或减少一个常数的操作。
2024-12-14 23:24:33
889
原创 基于多运动传感器行为、使用门控双塔transformer融合网络的智能手机连续认证
在本研究中,我们使用来自用户智能手机的多运动传感器数据来捕获智能手机的运动动态模式,以进行用户认证。在本节中,我们将介绍我们建议的身份验证框架TNNAuth的概述。图1展示了TNNAuth的体系结构,它由两个阶段组成,即离线注册阶段和在线身份验证阶段。TNNAuth通过在与智能手机交互时挖掘运动动力学行为模式,提供了一种不引人注目的安全连续身份验证。通过设计双塔GTTF网络结构,TNNAuth可以更细粒度地描述用户的运动行为模式,并提供最低的认证错误率。
2024-12-07 16:18:04
1461
原创 通过电路指纹攻击发现洋葱服务
在本文中,我们提出了一种新的电路指纹攻击,利用这种攻击,我们可以发现使用两对填充机的Tor网络的洋葱服务。该攻击将电路分为客户端电路和洋葱服务电路。使用我们的攻击,攻击者可以高精度地识别隐藏在数百万Tor用户中的洋葱服务。该检测降低了洋葱服务的匿名性。与Kwon的电路指纹攻击相比,我们丢弃了Kwon使用的电路构造序列和活动持续时间的特征,并使用计数相关和方向相关的特征。我们的目标是发现洋葱服务,因此我们不需要像Kwon那样对电路类型进行分类,而是将它们分为两类:客户端和洋葱服务。
2024-12-07 16:06:02
803
原创 A*(A-star)算法
A*(A-star)算法是一种在图中寻找从初始节点到目标节点最短路径的启发式搜索算法。它结合了Dijkstra算法的确保性(保证找到一条最短路径)和贪心算法的高效性(快速找到目标)。A*算法通过评估函数来工作,其中g(n)是从起始点到任何顶点n的实际成本,而h(n)是从顶点n到目标的估计最低成本,通常用启发式函数来计算,这个函数需要事先设计来反映实际的地形或环境特征。h(n)A*算法广泛应用于各类路径规划问题,如机器人导航、地图定位服务和游戏中的AI路径寻找等场景。
2024-11-27 22:56:44
1972
原创 Floyd算法
Floyd算法,也称为Floyd-Warshall算法,是一种经典的动态规划算法,用于解决的最短路径问题,特别是在或中。之前介绍的都是单源最短路,即只能有一个起点。而Floyd算法可以求多个起点到多个终点的多条最短路径。
2024-11-26 17:26:04
420
原创 SPFA算法
Dijkstra算法可以很好的解决的最短路径问题,但是如果出现了负权边,Dijkstra算法就会失效。为了更好地求解的最短路径问题,需要使用Bellman-Ford算法(简称BF算法)。但是BF算法的时间复杂度有点高,于是出现了BF算法的队列优化算法 ,也叫SPFA算法(Shortest Path Faster Algorithm)。SPFA的称呼来自 1994年西南交通大学段凡丁的论文,其实Bellman_ford提出后不久(20世纪50年代末期)就有队列优化的版本,国际上不承认这个算法是是国内提出的。
2024-11-25 22:51:32
1055
原创 Bellman-Ford算法
Bellman-Ford算法是一种用于计算图中的算法,由Richard Bellman和Lester Ford分别于1958年和1956年发表。这个算法特别适用于存在的图,只要图中没有,它就能正确地给出起点到其余各点的最短路径。负权回路:图中带环且环中所有边的权重和为负。
2024-11-25 15:16:55
796
原创 RAINBOW: 一种鲁棒不可见的非盲网络流水印
本文提出了一种新的流量链接方案,称为RAINBOW。与被动技术一样,我们的方案将记录流入流量的时序,并将其与流出流量相关联。不过,我们也会通过延迟一些数据包来插入水印值。由于水印是独立于流量生成的,这将减少两个不相关流量之间自然相似性的影响,并允许在更短的时间内做出流量关联决策。我们使用扩频技术,使我们的延迟比以前的工作要小得多。我们使用的延迟量级仅为几毫秒;这意味着我们的水印不仅不会干扰正常用户的流量模式,而且几乎不会被发现,因为延迟量级与自然网络抖动量级相同。
2024-11-24 14:59:41
942
Cobalt Strike 4.5
2023-09-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人