CultureLLM 与 CulturePark:增强大语言模型对多元文化的理解
本文介绍团队刚刚在加拿大温哥华召开的顶会NeurIPS 2024上发表的两篇系列工作:CultureLLM 和CulturePark。此项研究以生成文化数据并训练文化专有模型为主要手段,旨在提升已有基础模型的多文化理解能力,使得其在认知、偏见、价值观、在线教育等不同场景下的文化理解任务上均得到提升。
论文1:CultureLLM: Incorporating Cultural Differences into Large Language Models,
论文:https://arxiv.org/abs/2402.10946
代码:https://github.com/Scarelette/CultureLLM
论文2:CulturePark: Boosting Cross-cultural Understanding in Large Language Models
论文:https://arxiv.org/abs/2405.15145
代码:https://github.com/Scarelette/CulturePark
CultureLLM
我们首先提出的模型叫做CultureLLM,其核心思想是利用大模型对Prompt的敏感性来生成句子结构多性化、语义不变的训练样本,以对当下的训练数据进行扩充。如下图所示,我们首先从World value survey这一权威调查问卷中采样50个问题和答案,然后利用数据增强对问题进行改写、答案则保持不变。之后,我们用种子数据和生成的数据来为每个文化训练一个专有模型。为了验证CultureLLM的有效性,我们在一些文化相关的下游任务上进行验证,包括内容审查任务以及生成任务,这些数据集都是多语言数据集。
语义不变的数据增强
我们数据增强的具体任务是生成具有相同语义信息的QA对。首先,我们从WVS中提取一个QA对,之后用GPT-4生成k个具有相同语义的句子,然后对生成的句子进行句法分析,转换成语义模版。最后,根据每个句子的上下文信息找到同义词来填补语义模版的空。
实验结果
我们微调了一个CultureLLM-One和9个针对特定文化的CultureLLM,涵盖以下9种文化:阿拉伯(Ar)、孟加拉(Bn)、中国(Zh)、美国(En)、德国(De)、韩国(Ko)、葡萄牙(Pt)、西班牙(Es)和土耳其(Tr)。这些文化既包括高资源文化,也包括低资源文化,因此可以作为具有代表性的评估对象。我们采用了与文化相关的公共数据集,这些数据集是多语言数据集,总共有59个测试集,涵盖9种语言,共包含68,607个测试样本。
我们在上图中展示了每种文化和任务的平均结果,并对每个结果进行了归一化处理后取平均值。我们的结论如下:
-
特定CultureLLM和CultureLLM-One都显著优于其他方法,其中特定CultureLLM表现最佳。具体而言,CultureLLM 显著超越了GPT-3.5(提升)、Gemini(提升)和RAG(提升),在部分任务上性能可与GPT-4媲美甚至更优。
-
CultureLLM-One在59项任务中比GPT-3.5高出4%以上,但性能不及特定文化模型。这表明单一 LLM可能不是解决低资源文化任务的最佳方案,因为不同文化的数据可能会相互交织,影响模型的性能。
-
从文化角度看,CultureLLM在英语、中文和西班牙语文化中表现最佳,而在韩语文化中没有显著提升,在所有四种模型的性能相似。我们推测原因可能是这些基础模型对韩语文化的接触较少。
CulturePark
在CulturePark 中,我们提出了一个由大型语言模型(LLM)驱动的多智能体框架,用于模拟人类跨文化交流。CulturePark 通过多智能体的交流, 用于生成多样化且高质量的文化数据集。包括一名主要代理人(英语代理 Lily),以及若干文化代理人(例如 阿拉伯代理Abdul),这些文化代表与主要代理人互动并围绕一个文化话题进行讨论。当一个初始问题作为输入提供给框架时,这些智能体就该问题展开讨论并表达各自的观点。他们不同的文化背景和性别促成了多样化的观点,并相互激发更深层次的思考。原始问题及其真实答案可以通过创建新问题和更全面的答案来增强。
最终,这些互动生成了一个跨文化对话数据集,包含对不同文化的深刻且全面的思考以及丰富的信息知识。随后,我们对原始数据集进行精炼,进行事实验证并提高其多样性,用于微调特定文化的LLM,以应用于下游任务,如图所示。
多智能体自由交互的数据增强
CulturePark 是一个由大型语言模型(LLM)驱动的跨文化交流框架,用于生成文化相关的数据,来构建特定文化的LLM和进行文化对齐。该框架受认知冲突理论(CCT)和社会认知理论(SCT)的启发,模拟来自不同文化的人之间的交流,以促进对文化话题的更深入理解。CCT认为,认知冲突有助于个体进行更深入的思考,而SCT强调,个体可以通过解释和辩论深化对不同观点的理解。如图所示,我们设计了两种类型的文化智能体:主要代理人和文化代表。具体而言,主要代理人Lily来自英语文化,负责与来自不同文化的代表进行所有对话,如来自阿拉伯文化的Abdul和来自西班牙文化的Javier。我们向LLM输入系统提示,其中包含背景设定和初始问题以启动对话。初始问题来自于WVS和GAS,这两个流行的文化调查,如“你怎么看待‘我生活中的一个主要目标是让我的父母感到骄傲’?请提供你的观点和理由”。之后,智能体进行跨文化对话以生成对话数据。目前,CulturePark 支持 8 种文化和 2 种性别,并且可以轻松添加更多文化。
我们设计了改进的提示技术,以保持高质量的对话。首先,通过设计自我校准 提示,减少了主要代理人和文化代表的文化偏见,以校准他们的输出。我们使用一个种子数据,其中包含目标文化对输入问题的态度,以引导对话。所有后续的陈述应与种子中的答案相符合。如图所示,我们引入了Abdul文化中的观点,并要求Abdul和Lily遵循各自的文化进行表达。其次,输出的冗余问题,即LLM在多轮对话后总是生成类似的对话,我们通过设计两种对话风格来解决这个问题:一种是自我引导 提示,可以引导对话生成更多样化且信息量丰富的数据,例如“在你的文化中有没有与之前讨论的问题相关的内容?”和“你同意她的观点吗?提供更多理由支持你的想法”;另一种是自由聊天,不需要人工参与,激发LLM的内在创造力。
实验结果
内容审核
内容审核对于维护不同文化背景下在线平台至关重要。为了进行此次实验,我们评估了我们文化特定模型在8种不同文化中的有效性:阿拉伯文化、孟加拉文化、中国文化、德国文化、韩国文化、葡萄牙文化、西班牙文化和土耳其文化。我们在7项内容审核任务上对这8种不同文化进行评估,任务目标是检测以下内容:仇恨言论、攻击性语言、垃圾信息、辱骂性言论、偏见性言论、威胁性言论和言论立场的零样本评估,评估指标为平均F1得分。
我们在上图中分别对文化和任务类型进行了分析。最有趣的观察是,我们的模型在5种文化中超过了GPT-4,并在其余3种文化中接近GPT-4的表现,尽管用于微调的数据是由GPT-3.5-turbo生成的,而GPT-3.5-turbo的性能远不及 GPT-4。
文化对齐
霍夫斯泰德的文化维度理论是一个基于从不同国家收集的数据,用于理解各国文化差异的框架。我们要求LLMs回答VSM 13中的24个问题,以评估文化对齐。如图所示,我们的模型大幅超越了GPT-3.5和GPT-4,表明它们在文化对齐和文化理解方面具有出色的能力。
文化教育
受到情境学习理论的启发,我们利用CulturePark 进行文化教育,在该平台上,我们微调的模型充当外国人与人们讨论文化问题,从而创造跨文化交流的情境并学习特定文化知识。例如,想要了解阿拉伯文化的人可以与我们的阿拉伯文化模型进行交流。我们聘请了24名中国参与者,每位参与者都获得了文化学习大纲,并被要求根据大纲与模型进行对话。他们可以向模型提出任何相关问题,并表达他们的观点。之后,参与者参加了VSM 13文化理解考试,他们之前从未接触过此类测试。
上图展示了不同参与者的平均结果。我们得出了以下发现:
-
首先,使用我们模型进行学习的参与者在所有文化的文化考试中表现优于使用GPT-4的参与者。这表明,我们的微调模型在文化理解方面优于GPT-4。
-
其次,参与者与我们的模型交流时,比与GPT-4 交流时满意度更高。
-
此外,许多参与者表示,GPT-4 的回答模糊不清。尽管我们已将 GPT-4 提示为来自特定文化的人,但它总是以中立的词汇回应,没有明确的观点或想法。而我们的模型能够提供直截了当的观点。
未来展望
增强大模型的多语言理解能力是使AI真正走入千家万户的重要环节。近年来关于文化与大模型的研究也渐渐被研究者所重视。我们期待未来会有更多更好的工作出现。
相关文章:
CultureLLM 与 CulturePark:增强大语言模型对多元文化的理解
本文介绍团队刚刚在加拿大温哥华召开的顶会NeurIPS 2024上发表的两篇系列工作:CultureLLM 和CulturePark。此项研究以生成文化数据并训练文化专有模型为主要手段,旨在提升已有基础模型的多文化理解能力,使得其在认知、偏见、价值观、在线教育…...
sentinel学习笔记6-限流降级(上)
本文属于sentinel学习笔记系列。网上看到吴就业老师的专栏,写的好值得推荐,我整理的有所删减,推荐看原文。 https://blog.csdn.net/baidu_28523317/category_10400605.html sentinel 实现限流降级、熔断降级、黑白名单限流降级、系统自适应…...
redis cluster集群
华子目录 什么是redis集群redis cluster的体系架构什么是数据sharding?什么是hash tag集群中删除或新增节点,数据如何迁移?redis集群如何使用gossip通信?定义meet信息ping消息pong消息fail消息(不是用gossip协议实现的࿰…...
设计模式从入门到精通之(二)抽象工厂模式
抽象工厂模式:不同工厂背后的协作秘密 在上一期中,我们聊到了工厂模式,讲述了如何用一家咖啡店来帮我们制作不同类型的咖啡。那么,如果你不仅需要咖啡,还需要配套的甜品,比如蛋糕或饼干,这时应该…...
LeetCode:404.左叶子之和
跟着carl学算法,本系列博客仅做个人记录,建议大家都去看carl本人的博客,写的真的很好的! 代码随想录 LeetCode:404.左叶子之和 给定二叉树的根节点 root ,返回所有左叶子之和。 示例 1: 输入: …...
Java包装类型的缓存
Java 基本数据类型的包装类型的大部分都用到了缓存机制来提升性能。 Byte,Short,Integer,Long 这 4 种包装类默认创建了数值 [-128,127] 的相应类型的缓存数据,Character 创建了数值在 [0,127] 范围的缓存数据,Boolean 直接返回 True or Fal…...
2024网络安全学习路线 非常详细 推荐学习
关键词:网络安全入门、渗透测试学习、零基础学安全、网络安全学习路线 首先咱们聊聊,学习网络安全方向通常会有哪些问题 1、打基础时间太长 学基础花费很长时间,光语言都有几门,有些人会倒在学习 linux 系统及命令的路上ÿ…...
【ES6复习笔记】数值扩展(16)
介绍 在 JavaScript 中,数值扩展提供了一些额外的功能,使得处理数值变得更加方便。本教程将介绍一些常用的数值扩展方法和属性。 1. Number.EPSILON Number.EPSILON 是 JavaScript 表示的最小精度。它的值接近于 2.2204460492503130808472633361816E-…...
【mybatis】详解 # 和 $ 的区别,两者分别适用于哪种场景,使用 $ 不当会造成什么影响
# 和 $ 的区别 在MyBatis中,# 和 $ 是用来处理参数的两种不同方式,它们之间有一些重要的区别: # 符号: # 是用来进行参数占位符的,它会进行 SQL 注入防护。使用 # 时,MyBatis 会将参数值进行预处理&…...
【MySQL】索引 面试题
文章目录 适合创建索引的情况创建索引的注意事项MySQL中不适合创建索引的情况索引失效的常见情况 索引定义与作用 索引是帮助MySQL高效获取数据的有序数据结构,通过维护特定查找算法的数据结构(如B树),以某种方式引用数据…...
QT调用Sqlite数据库
QT设计UI界面,后台访问数据库,实现数据库数据的增删改查。 零售商店系统 数据库表: 分别是顾客表,订单详情表,订单表,商品表 表内字段详情如下: 在QT的Pro文件中添加sql,然后添加头…...
Flutter富文本实现学习
Flutter 代码如何实现一个带有富文本显示和交互的页面。 前置知识点学习 RealRichText RealRichText 和 ImageSpan 不是 Flutter 框架中内置的组件,而是自定义的组件或来自第三方库。这些组件的实现可以提供比标准 RichText 更丰富的功能,比如在富文本…...
实现某海外大型车企(T)Cabin Wi-Fi 需求的概述 - 4
大家好,我是Q,邮箱:1042484520qq.com。 今天我们在上几讲的基础上再扩展下 Cabin Wi-Fi 的功能需求,讲讲如何使能 5G TCU Wi-Fi STA Bridge 模式。 参考: 实现某海外大型车企(T)Cabin Wi-Fi 需求…...
【GeekBand】C++设计模式笔记15_Proxy_代理模式
1. “接口隔离” 模式 在组件构建过程中,某些接口之间直接的依赖常常会带来很多问题,甚至根本无法实现。采用添加一层间接(稳定)接口,来隔离本来互相紧密关联的接口是一种常见的解决方案。典型模式 FacadeProxyAdapte…...
项目练习:若依系统的svg-icon功能实现
文章目录 一、svg图片准备二、自定义Svg组件三、svg插件开发四、Svg组件使用 一、svg图片准备 src/assets/icons/svg 其中svg目录里,存放了所需要的图片 index.js import Vue from vue import SvgIcon from /components/SvgIcon// svg component// register glob…...
【踩坑/Linux】Vmware中的Ubuntu虚拟机无法访问互联网
Vmware中的Ubuntu虚拟机无法访问互联网 首先前提是我的系统是Ubuntu 16.04系统,vmware workstation选择的是NAT模式,虚拟机内连不上网络 ping www.baidu.com ping: unknown host www.baidu.com首先检查 DNS 解析服务:在虚拟机中打开命令提示…...
深入了解SpringIoc(续篇)
目录 注入 Bean 的方式有哪些? 构造函数注入还是 Setter 注入? Bean 的作用域有哪些? Bean 是线程安全的吗? Bean 的生命周期了解么? 注入 Bean 的方式有哪些? 依赖注入 (Dependency Injection, DI) 的常见方式: 构造函数注入:通过类的构造函…...
嵌入式硬件面试题
1、请问什么是通孔、盲孔和埋孔?孔径多大可以做机械孔,孔径多小必须做激光孔?请问激光微型孔可以直接打在元件焊盘上吗,为什么? 通孔是贯穿整个PCB的过孔,盲孔是从PCB表层连接到内层的过孔,埋孔…...
散斑/横向剪切/迈克尔逊/干涉条纹仿真技术分析
摘要 本博文提供了多种数据类型的干涉条纹仿真,并展示了它们对应的散斑干涉条纹。还分别给出了横向剪切干涉以及剪切散斑干涉条纹的仿真。 一、迈克尔逊干涉与散斑干涉仿真 下图为干涉条纹与对应的散斑干涉条纹的仿真示意图。其中,干涉条纹可认为是源…...
ViiTor实时翻译 2.2.1 | 完全免费的高识别率同声传译软件
ViiTor实时翻译是一款完全免费的实时语音翻译和同声传译软件,支持即时翻译、对话翻译、语音转文字、文本语音合成和AR翻译等功能。它的语音识别和翻译准确率特别高,速度非常快,音质高,并支持6种音色切换。该软件简单易用ÿ…...
uniapp实现为微信小程序扫一扫的功能
引言 随着微信小程序的快速发展,越来越多的开发者开始关注和学习微信小程序的开发。其中,微信小程序的扫一扫功能是非常常用且实用的功能之一。通过扫描二维码,用户可以获取到相关的信息或者实现特定的功能。 正文 在过去,开发者需要使用微信开发者工具以及相关的开发文档…...
ospf 的 状态机详解
OSPF(开放最短路径优先,Open Shortest Path First)协议的状态机是其核心部分之一,用于确保路由器之间的邻接关系(neighbor relationship)建立和路由信息的交换。OSPF的状态机模型由多个状态组成,…...
ElementPlus 自定义封装 el-date-picker 的快捷功能
文章目录 需求分析 需求 分析 我们看到官网上给出的案例如下,但是不太满足我们用户想要的快捷功能,因为不太多,因此需要我们自己封装一些,方法如下 外部自定义该组件的快捷内容 export const getPickerOptions () > {cons…...
【面试系列】深入浅出 Spring Boot
熟悉SpringBoot,对常用注解、自动装配原理、Jar启动流程、自定义Starter有一定的理解; 面试题 Spring Boot 的核心注解是哪个?它主要由哪几个注解组成的?Spring Boot的自动配置原理是什么?你如何理解 Spring Boot 配置…...
太阳能LED路灯智能控制系统(论文+源码)
1系统的功能及方案设计 本次课题为太阳能LED路灯智能控制系统,其系统整体架构如图2.1所示,太阳能板通过TP4056充电模块给锂电池进行充电,电池通过HX3001升压模块进行升压到5V给整个控制系统进行供电,控制系统由AT89C52单片机作为…...
使用 PyQt5 构建高效的文件分类与管理工具
当我们处理大量图片或文件时,经常会需要一款方便、高效的工具来快速分类、整理和管理它们。今天,我将分享一个用 PyQt5 构建的实用项目,涵盖图片分类、文件夹管理、撤销功能,以及动态界面操作的实现。从设计到代码细节,…...
谷歌浏览器 Chrome 提示:此扩展程序可能很快将不再受支持
问题现象 在Chrome 高版本上的扩展管理页面(地址栏输入chrome://extensions/或者从界面进入): , 可以查看到扩展的情况。 问题现象大致如图: 问题原因 出现此问题的根本原因在于:谷歌浏览器本身的扩展机制发生了…...
肿瘤电场仪疗法原理:科技之光,照亮抗癌之路
在医疗科技日新月异的今天,肿瘤电场仪疗法作为一种创新的无创治疗手段,正以其独特的物理机制和生物效应,为患者带来了新的治疗选择和希望。本文将深入探讨肿瘤电场仪疗法的原理,揭示其如何在不伤害正常组织的前提下,精…...
scala基础学习_运算符
文章目录 scala运算符算术运算符关系运算符逻辑运算符位运算符其他运算符赋值运算符 scala运算符 在 Scala 中,运算符通常被定义为方法。这意味着你可以将运算符视为对象上的方法调用。以下是一些常用的运算符及其对应的操作: 算术运算符 :…...
人工智能与区块链的碰撞:双剑合璧的创新前景
引言 人工智能(AI)与区块链技术,这两项曾经各自独立发展的前沿科技,如今正逐步走向融合。人工智能通过强大的数据处理能力和智能决策能力,在各个领域掀起了革命性的变革;而区块链凭借其去中心化、不可篡改的…...
信创数据防泄漏中信创沙箱是什么样的安全方案
在信息化与工业化融合创新(信创)的快速发展中,企业面临着日益复杂的数据安全挑战。SDC沙盒技术以其独特的安全机制和先进的设计理念,为信创环境提供了强有力的数据保护支持。以下是SDC沙盒在信创领域支持能力的几个关键侧重点&…...
在不同操作系统上安装 PostgreSQL
title: 在不同操作系统上安装 PostgreSQL date: 2024/12/26 updated: 2024/12/26 author: cmdragon excerpt: PostgreSQL 是当今最受欢迎的开源关系数据库管理系统之一,由于其强大的功能和灵活性,广泛应用于不同的行业和应用场景。在开始使用 PostgreSQL 之前,用户需要了…...
Linux下编译 libwebsockets简介和使用示例
目录 1:简单介绍: 2:项目地址 3:编译 3.1:集成介绍 3.2:编译 4:客户端服务端示例: 4.1 客户端示例 4.2 服务端示例: 1:简单介绍: Linux下…...
5G CPE接口扩展之轻量型多口千兆路由器小板选型
多口千兆路由器小板选型 方案一: 集成式5口千兆WIFI路由器小板方案二:交换板 + USBwifiUSB WIFI选型一USBwifi选型二:四口千兆选型一四口千兆选型二:四口千兆选型三:部分5G CPE主板不支持Wifi,并且网口数量较少,可采用堆叠方式进行网口和wifi功能 扩展,本文推荐一些路由…...
青少年编程与数学 02-005 移动Web编程基础 02课题、视口与像素
青少年编程与数学 02-005 移动Web编程基础 02课题、视口与像素 一、视口二、布局视口(Layout Viewport)三、视觉视口(Visual Viewport)四、理想视口(Ideal Viewport)五、视口设置关键属性示例代码示例1&…...
深度学习blog-Transformer-注意力机制和编码器解码器
注意力机制:当我们看一个图像或者听一段音频时,会根据自己的需求,集中注意力在关键元素上,以获取相关信息。 同样地,注意力机制中的模型也会根据输入的不同部分,给它们不同的权重,并集中注意力在…...
【论文投稿】Python 网络爬虫:探秘网页数据抓取的奇妙世界
【IEEE出版|广东工业大学主办】第五届神经网络、信息与通信工程国际学术会议(NNICE 2025)_艾思科蓝_学术一站式服务平台 目录 前言 一、Python—— 网络爬虫的绝佳拍档 二、网络爬虫基础:揭开神秘面纱 (一)工作原…...
【总结整理】 神经网络与深度学习 邱锡鹏 课后习题答案 扩展阅读链接
本文主要针对神经网络神经网络邱锡鹏 2~8 章的课后习题进行理解的过程中,搜索到的讲的会比较透彻的链接整理。适合有一定基础但是想了解更细的人阅读。 主要参考书籍 首先是本书pdf可在神经网络与深度学习获取; 主要参考的课后习题答案为nndl/solution…...
华为手机建议使用adb卸载的app
按需求自行卸载 echo 卸载智慧搜索 adb shell pm uninstall -k --user 0 com.huawei.search echo 卸载智慧助手 adb shell pm uninstall -k --user 0 com.huawei.intelligent echo 卸载讯飞语音引擎 adb shell pm uninstall -k --user 0 com.iflytek.speechsuite echo 卸载快应…...
找到一个linux静态库动态库的好资料.2
# 正文 继续整理从这个页面学到的东西:https://tldp.org/HOWTO/Program-Library-HOWTO 这一篇主要参考这俩: https://tldp.org/HOWTO/Program-Library-HOWTO/introduction.html https://tldp.org/HOWTO/Program-Library-HOWTO/static-libraries.html 这…...
存储块的原理与创建
目录 问题概述 malloc和free 固定块大小分配 设计原理 设计实现 为RTOS提供内存管理与回收机制 问题概述 malloc和free extern void *malloc(unsigned int num_bytes); //malloc向系统申请分配指定size个字节的内存空间。 //返回类型是void *类型 extern void free(void *ptr);…...
RabbitMQ工作模式(详解 工作模式:简单队列、工作队列、公平分发以及消息应答和消息持久化)
文章目录 十.RabbitMQ10.1 简单队列实现10.2 Work 模式(工作队列)10.3 公平分发10.4 RabbitMQ 消息应答与消息持久化消息应答概念配置 消息持久化概念配置 十.RabbitMQ 10.1 简单队列实现 简单队列通常指的是一个基本的消息队列,它可以用于…...
电脑提示报错NetLoad.dll文件丢失或损坏?是什么原因?
一、NetLoad.dll文件丢失或损坏的根源 程序安装不完整:某些程序在安装过程中可能因为磁盘错误、网络中断或安装程序本身的缺陷,导致NetLoad.dll文件未能正确安装或复制。 恶意软件攻击:病毒、木马等恶意软件可能会篡改或删除系统文件&#x…...
【物联网技术与应用】实验15:电位器传感器实验
实验15 电位器传感器实验 【实验介绍】 电位器可以帮助控制Arduino板上的LED闪烁的时间间隔。 【实验组件】 ● Arduino Uno主板* 1 ● 电位器模块* 1 ● USB电缆*1 ● 面包板* 1 ● 9V方型电池* 1 ● 跳线若干 【实验原理】 模拟电位器是模拟电子元件,模…...
WPF 绘制过顶点的圆滑曲线(样条,贝塞尔)
项目中要用到样条曲线,必须过顶点,圆滑后还不能太走样,捣鼓一番,发现里面颇有玄机,于是把我多方抄来改造的方法发出来,方便新手: 如上图,看代码吧: -------------------…...
YOLOv9-0.1部分代码阅读笔记-assigner.py
assigner.py utils\tal\assigner.py 目录 assigner.py 1.所需的库和模块 2.def select_candidates_in_gts(xy_centers, gt_bboxes, eps1e-9): 3.def select_highest_overlaps(mask_pos, overlaps, n_max_boxes): 4.class TaskAlignedAssigner(nn.Module): 1.所需的库…...
mybatis-plus自动填充时间的配置类实现
mybatis-plus自动填充时间的配置类实现 在实际操作过程中,我们并不希望创建时间、修改时间这些来手动进行,而是希望通过自动化来完成,而mybatis-plus则也提供了自动填充功能来实现这一操作,接下来,就来了解一下mybatis…...
fgets TAILQ_INSERT_TAIL
If you’re using the macros from <sys/queue.h> to implement a circular doubly linked list (TAILQ), the inversion issue occurs because you’re using LIST_INSERT_HEAD, which inserts at the head of the list. Instead, to maintain the original order (FIFO…...
upload-labs关卡记录12
直接上传一句话木马,发现提示: 很明显这是一个白名单,而且不是前端的js检查,而是服务端的检查,因此我们使用bp抓包,改一下文件类型试试: 找到包之后,我们对content-type进行一个更改…...
服务器被攻击怎么办
当服务器遭受恶意流量攻击,如DDoS(分布式拒绝服务)或CC(Challenge Collapsar)攻击时,传统的防护措施可能不足以应对。此时,采用高防IP服务可以有效缓解攻击压力,确保业务连续性和数据…...