图数据库 之 Neo4j - 应用场景1(6)

Neo4j是一种图数据库,它专注于处理关系数据密集型的问题。由于其图结构的特性,Neo4j能够高效地存储、查询和分析连接数据。

以下是一些常见的Neo4j应用场景:

  • 社交网络分析:通过建模和分析人际关系,可以揭示社交网络中的影响力、社区结构、信息传播等重要信息。
  • 金融领域:可以用于风险评估、欺诈检测、客户关系管理等任务,通过分析关系网络来发现潜在的风险和机会。
  • 生物医学研究:可以用于分析生物学数据、蛋白质相互作用网络、基因关联分析等,帮助科学家理解生物体系的复杂关系。
  • 供应链管理:可以用于供应商关系管理、物流管理、库存管理等任务,通过建模和分析供应链网络来提高效率和可靠性。
  • 关系型数据管理:可以作为关系数据库管理、数据仓库管理、关系数据挖掘等任务的替代方案,通过图结构的优势来加速查询和分析。

总而言之,Neo4j是一种强大的图数据库,适用于各种行业和领域的关系数据密集型问题。它提供了高效的数据存储和查询机制,能够帮助用户发现隐藏在关系中的有价值的信息。

下面我们讲解一下图数据库在欺诈检测中的应用。

背景

欺诈检测是在金融、电子商务和保险等领域中非常重要的应用之一。随着技术的发展和数据的增长,传统的欺诈检测方法面临着越来越复杂的挑战。图数据库作为一种强大的工具,被广泛应用于欺诈检测领域,以帮助发现和预防欺诈行为。

原理

没有一个欺诈预防措施是完美的,使用图技术进行欺诈检测能够更好地处理复杂关系、提供高效的关系查询、实现实时欺诈检测和预测分析,从而提高欺诈检测的准确性和效率。通过图技术,可以更好地理解数据之间的联系,并从中获得有意义的结论,从而改进欺诈检测的效果。

使用图技术进行欺诈检测有以下几个优势:

  1. 处理复杂关系:欺诈行为通常涉及多个实体之间的复杂关系,如用户、交易、设备、IP地址等。传统的关系型数据库往往难以处理这种复杂的关系。而图数据库以图结构存储数据,可以轻松地表示和处理实体之间的关系,从而更好地发现欺诈行为。

  2. 高效的关系查询:图数据库提供了强大的查询语言和算法,可以进行复杂的关系分析和模式识别。通过使用图数据库的查询语言,可以轻松地查询和分析实体之间的关系,发现潜在的欺诈模式和规律。这种高效的关系查询能够提高欺诈检测的准确性和效率。

  3. 实时欺诈检测:图数据库可以与实时数据流结合,进行实时的欺诈检测和预警。通过将图数据库与实时数据流进行集成,可以及时地检测到潜在的欺诈行为,并采取相应的措施。这种实时欺诈检测能够帮助机构及时发现和应对欺诈行为,减少损失。

  4. 模式识别和预测分析:通过对图数据库中的节点和边进行模式识别,可以发现潜在的欺诈模式和规律。图数据库提供了丰富的算法和工具,可以进行复杂的模式识别和预测分析。这种模式识别和预测分析能够帮助机构更好地预测和预防欺诈行为。

图数据库在欺诈检测中的原理是基于图结构数据的分析和查询。通过将用户、交易、设备、IP地址等实体表示为图中的节点,将它们之间的关系表示为边,可以构建一个包含大量实体和关系的图数据库。然后,通过使用图数据库提供的查询语言和算法,可以进行复杂的关系分析和模式识别,以发现潜在的欺诈行为。

操作步骤

图数据库在欺诈检测中的使用可以包括以下几个步骤:

  1. 数据导入:将用户、交易、设备等数据导入图数据库中,构建图结构数据模型。
  2. 关系分析:使用图数据库的查询语言和算法,进行关系分析,找出异常的关系模式和行为。
  3. 模式识别:通过对图数据库中的节点和边进行模式识别,发现潜在的欺诈模式和规律。
  4. 实时检测:将图数据库与实时数据流结合,进行实时的欺诈检测和预警。
  5. 反欺诈措施:根据欺诈检测的结果,采取相应的反欺诈措施,如阻止交易、冻结账户等。
案例分析

假设有一批银行的用户交易数据,包括用户、电话、电子邮件和交易等实体,需要发现具有异常行为模式的用户、异常交易模式以及欺诈团伙等潜在的欺诈行为。

用户、电话、电子邮件和交易实体的属性如下:

  1. User(用户):

    • id:用户唯一标识符
    • name:用户姓名
    • age:用户年龄
    • address:用户地址
  2. Phone(电话):

    • id:电话唯一标识符
    • number:电话号码
    • type:电话类型(如家庭电话、工作电话)
  3. Email(电子邮件):

    • id:电子邮件唯一标识符
    • address:电子邮件地址
    • type:电子邮件类型(如个人邮箱、工作邮箱)
  4. Transaction(交易):

    • id:交易唯一标识符
    • amount:交易金额
    • timestamp:交易时间戳
    • type:交易类型(如转账、提现)

创建用户节点

CREATE (:User {id: 1, name: '张三', age: 30, address: '1 Main St'});
CREATE (:User {id: 2, name: '李四', age: 35, address: '2 Main St'});
CREATE (:User {id: 3, name: '王五', age: 40, address: '3 Main St'});
CREATE (:User {id: 4, name: '赵六', age: 50, address: '4 Main St'});
CREATE (:User {id: 5, name: '孙七', age: 20, address: '5 Main St'});
CREATE (:User {id: 6, name: '周八', age: 80, address: '6 Main St'});
CREATE (:User {id: 7, name: '吴九', age: 70, address: '7 Main St'});
CREATE (:User {id: 8, name: '郑十', age: 35, address: '8 Main St'});
CREATE (:User {id: 9, name: '熊大', age: 50, address: 'Forest St'});
CREATE (:User {id: 10, name: '熊二', age: 40, address: 'Forest St'});

创建电话节点

CREATE (:Phone {id: 1, number: '111', type: 'Home'});
CREATE (:Phone {id: 2, number: '222', type: 'Home'});
CREATE (:Phone {id: 3, number: '333', type: 'Home'});
CREATE (:Phone {id: 4, number: '444', type: 'Home'});
CREATE (:Phone {id: 5, number: '555', type: 'Work'});
CREATE (:Phone {id: 6, number: '444', type: 'Work'});
CREATE (:Phone {id: 7, number: '444', type: 'Work'});
CREATE (:Phone {id: 8, number: '333', type: 'Home'});
CREATE (:Phone {id: 9, number: '666', type: 'Home'});
CREATE (:Phone {id: 10, number: '666', type: 'Home'});
CREATE (:Phone {id: 11, number: '444', type: 'Work'});
CREATE (:Phone {id: 12, number: '333', type: 'Home'});
CREATE (:Phone {id: 13, number: '666', type: 'Home'});
CREATE (:Phone {id: 14, number: '777', type: 'Home'});
CREATE (:Phone {id: 15, number: '888', type: 'Home'});
CREATE (:Phone {id: 16, number: '999', type: 'Home'});
CREATE (:Phone {id: 17, number: '123', type: 'Home'});
CREATE (:Phone {id: 18, number: '234', type: 'Home'});
CREATE (:Phone {id: 19, number: '345', type: 'Home'});
CREATE (:Phone {id: 20, number: '567', type: 'Home'});

创建电子邮件节点

CREATE (:Email {id: 1, address: 'zhangsan@example.com', type: 'Personal'});
CREATE (:Email {id: 2, address: 'lisi@example.com', type: 'Personal'});
CREATE (:Email {id: 3, address: 'wangwu@example.com', type: 'Personal'});
CREATE (:Email {id: 4, address: 'zhaoliu@example.com', type: 'Personal'});
CREATE (:Email {id: 5, address: 'sunqi@example.com', type: 'Personal'});
CREATE (:Email {id: 6, address: 'zhouba@example.com', type: 'Personal'});
CREATE (:Email {id: 7, address: 'wujiu@example.com', type: 'Work'});
CREATE (:Email {id: 8, address: 'zhengshi@example.com', type: 'Work'});
CREATE (:Email {id: 9, address: 'xiongda@example.com', type: 'Personal'});
CREATE (:Email {id: 10, address: 'xionger@example.com', type: 'Personal'});
CREATE (:Email {id: 11, address: 'zhangsan2@example.com', type: 'Personal'});
CREATE (:Email {id: 12, address: 'zhangsan3@example.com', type: 'Work'});
CREATE (:Email {id: 13, address: 'zhangsan4@example.com', type: 'Work'});
CREATE (:Email {id: 14, address: 'wangwu2@example.com', type: 'Personal'});
CREATE (:Email {id: 15, address: 'sunqi2@example.com', type: 'Personal'});

创建交易节点

CREATE (:Transaction {id: 1, amount: 1000, timestamp: timestamp(), type: 'Transfer'});
CREATE (:Transaction {id: 2, amount: 5000, timestamp: timestamp(), type: 'Transfer'});
CREATE (:Transaction {id: 3, amount: 3000, timestamp: timestamp(), type: 'Transfer'});
CREATE (:Transaction {id: 4, amount: 5000, timestamp: timestamp(), type: 'Withdrawal'});
CREATE (:Transaction {id: 5, amount: 6000, timestamp: timestamp(), type: 'Withdrawal'});
CREATE (:Transaction {id: 6, amount: 5000, timestamp: timestamp(), type: 'Withdrawal'});
CREATE (:Transaction {id: 7, amount: 5000, timestamp: timestamp(), type: 'Transfer'});
CREATE (:Transaction {id: 8, amount: 5000, timestamp: timestamp(), type: 'Transfer'});
CREATE (:Transaction {id: 9, amount: 5000, timestamp: timestamp(), type: 'Transfer'});
CREATE (:Transaction {id: 10, amount: 5000, timestamp: timestamp(), type: 'Withdrawal'});
CREATE (:Transaction {id: 11, amount: 5000, timestamp: timestamp(), type: 'Withdrawal'});
CREATE (:Transaction {id: 12, amount: 5000, timestamp: timestamp(), type: 'Withdrawal'});
CREATE (:Transaction {id: 13, amount: 1000, timestamp: timestamp(), type: 'Withdrawal'});
CREATE (:Transaction {id: 14, amount: 5000, timestamp: timestamp(), type: 'Withdrawal'});
CREATE (:Transaction {id: 15, amount: 2000, timestamp: timestamp(), type: 'Transfer'});
CREATE (:Transaction {id: 16, amount: 2000, timestamp: timestamp(), type: 'Transfer'});
CREATE (:Transaction {id: 17, amount: 3000, timestamp: timestamp(), type: 'Transfer'});
CREATE (:Transaction {id: 18, amount: 100, timestamp: timestamp(), type: 'Withdrawal'});
CREATE (:Transaction {id: 19, amount: 500, timestamp: timestamp(), type: 'Withdrawal'});
CREATE (:Transaction {id: 20, amount: 200, timestamp: timestamp(), type: 'Transfer'});

创建用户和绑定电话、绑定电子邮箱的关系

MATCH (u:User {id: 1}), (p:Phone {id: 1}) CREATE (u)-[:HAS_PHONE]->(p);
MATCH (u:User {id: 2}), (p:Phone {id: 2}) CREATE (u)-[:HAS_PHONE]->(p);
MATCH (u:User {id: 3}), (p:Phone {id: 3}) CREATE (u)-[:HAS_PHONE]->(p);
MATCH (u:User {id: 4}), (p:Phone {id: 4}) CREATE (u)-[:HAS_PHONE]->(p);
MATCH (u:User {id: 5}), (p:Phone {id: 5}) CREATE (u)-[:HAS_PHONE]->(p);
MATCH (u:User {id: 6}), (p:Phone {id: 6}) CREATE (u)-[:HAS_PHONE]->(p);
MATCH (u:User {id: 7}), (p:Phone {id: 7}) CREATE (u)-[:HAS_PHONE]->(p);
MATCH (u:User {id: 8}), (p:Phone {id: 8}) CREATE (u)-[:HAS_PHONE]->(p);
MATCH (u:User {id: 9}), (p:Phone {id: 9}) CREATE (u)-[:HAS_PHONE]->(p);
MATCH (u:User {id: 10}), (p:Phone {id: 10}) CREATE (u)-[:HAS_PHONE]->(p);
MATCH (u:User {id: 1}), (p:Phone {id: 11}) CREATE (u)-[:HAS_PHONE]->(p);
MATCH (u:User {id: 1}), (p:Phone {id: 12}) CREATE (u)-[:HAS_PHONE]->(p);
MATCH (u:User {id: 2}), (p:Phone {id: 13}) CREATE (u)-[:HAS_PHONE]->(p);
MATCH (u:User {id: 2}), (p:Phone {id: 14}) CREATE (u)-[:HAS_PHONE]->(p);
MATCH (u:User {id: 2}), (p:Phone {id: 15}) CREATE (u)-[:HAS_PHONE]->(p);
MATCH (u:User {id: 2}), (p:Phone {id: 16}) CREATE (u)-[:HAS_PHONE]->(p);
MATCH (u:User {id: 3}), (p:Phone {id: 17}) CREATE (u)-[:HAS_PHONE]->(p);
MATCH (u:User {id: 3}), (p:Phone {id: 18}) CREATE (u)-[:HAS_PHONE]->(p);
MATCH (u:User {id: 5}), (p:Phone {id: 19}) CREATE (u)-[:HAS_PHONE]->(p);
MATCH (u:User {id: 6}), (p:Phone {id: 20}) CREATE (u)-[:HAS_PHONE]->(p);

MATCH (u:User {id: 1}), (e:Email {id: 1}) CREATE (u)-[:HAS_EMAIL]->(e);
MATCH (u:User {id: 2}), (e:Email {id: 2}) CREATE (u)-[:HAS_EMAIL]->(e);
MATCH (u:User {id: 3}), (e:Email {id: 3}) CREATE (u)-[:HAS_EMAIL]->(e);
MATCH (u:User {id: 4}), (e:Email {id: 4}) CREATE (u)-[:HAS_EMAIL]->(e);
MATCH (u:User {id: 5}), (e:Email {id: 5}) CREATE (u)-[:HAS_EMAIL]->(e);
MATCH (u:User {id: 6}), (e:Email {id: 6}) CREATE (u)-[:HAS_EMAIL]->(e);
MATCH (u:User {id: 7}), (e:Email {id: 7}) CREATE (u)-[:HAS_EMAIL]->(e);
MATCH (u:User {id: 8}), (e:Email {id: 8}) CREATE (u)-[:HAS_EMAIL]->(e);
MATCH (u:User {id: 9}), (e:Email {id: 9}) CREATE (u)-[:HAS_EMAIL]->(e);
MATCH (u:User {id: 10}), (e:Email {id: 10}) CREATE (u)-[:HAS_EMAIL]->(e);
MATCH (u:User {id: 1}), (e:Email {id: 11}) CREATE (u)-[:HAS_EMAIL]->(e);
MATCH (u:User {id: 1}), (e:Email {id: 12}) CREATE (u)-[:HAS_EMAIL]->(e);
MATCH (u:User {id: 1}), (e:Email {id: 13}) CREATE (u)-[:HAS_EMAIL]->(e);
MATCH (u:User {id: 3}), (e:Email {id: 14}) CREATE (u)-[:HAS_EMAIL]->(e);
MATCH (u:User {id: 5}), (e:Email {id: 15}) CREATE (u)-[:HAS_EMAIL]->(e);

创建用户和交易的关系

MATCH (u:User {id: 1}), (t:Transaction {id: 1}), (r:User {id: 2}) CREATE (u)-[:TRANSFER {recipient: r.id}]->(t);
MATCH (u:User {id: 1}), (t:Transaction {id: 2}), (r:User {id: 2}) CREATE (u)-[:TRANSFER {recipient: r.id}]->(t);
MATCH (u:User {id: 2}), (t:Transaction {id: 3}), (r:User {id: 3}) CREATE (u)-[:TRANSFER {recipient: r.id}]->(t);
MATCH (u:User {id: 3}), (t:Transaction {id: 4}) CREATE (u)-[:Withdrawal]->(t);
MATCH (u:User {id: 5}), (t:Transaction {id: 5}) CREATE (u)-[:Withdrawal]->(t);
MATCH (u:User {id: 6}), (t:Transaction {id: 6}) CREATE (u)-[:Withdrawal]->(t);
MATCH (u:User {id: 4}), (t:Transaction {id: 7}), (r:User {id: 7}) CREATE (u)-[:TRANSFER {recipient: r.id}]->(t);
MATCH (u:User {id: 5}), (t:Transaction {id: 8}), (r:User {id: 7}) CREATE (u)-[:TRANSFER {recipient: r.id}]->(t);
MATCH (u:User {id: 6}), (t:Transaction {id: 9}), (r:User {id: 7}) CREATE (u)-[:TRANSFER {recipient: r.id}]->(t);
MATCH (u:User {id: 3}), (t:Transaction {id: 10}) CREATE (u)-[:Withdrawal]->(t);
MATCH (u:User {id: 5}), (t:Transaction {id: 11}) CREATE (u)-[:Withdrawal]->(t);
MATCH (u:User {id: 6}), (t:Transaction {id: 12}) CREATE (u)-[:Withdrawal]->(t);
MATCH (u:User {id: 5}), (t:Transaction {id: 13}) CREATE (u)-[:Withdrawal]->(t);
MATCH (u:User {id: 6}), (t:Transaction {id: 14}) CREATE (u)-[:Withdrawal]->(t);
MATCH (u:User {id: 7}), (t:Transaction {id: 15}), (r:User {id: 7}) CREATE (u)-[:TRANSFER {recipient: r.id}]->(t);
MATCH (u:User {id: 8}), (t:Transaction {id: 16}), (r:User {id: 7}) CREATE (u)-[:TRANSFER {recipient: r.id}]->(t);
MATCH (u:User {id: 8}), (t:Transaction {id: 17}), (r:User {id: 7}) CREATE (u)-[:TRANSFER {recipient: r.id}]->(t);
MATCH (u:User {id: 7}), (t:Transaction {id: 18}) CREATE (u)-[:Withdrawal]->(t);
MATCH (u:User {id: 7}), (t:Transaction {id: 19}) CREATE (u)-[:Withdrawal]->(t);
MATCH (u:User {id: 9}), (t:Transaction {id: 20}), (r:User {id: 10}) CREATE (u)-[:TRANSFER {recipient: r.id}]->(t);
用户关系分析

通过分析用户之间的关系,可以发现潜在的欺诈行为。例如,可以通过分析用户更换手机号或邮箱的频率来发现异常行为模式。

查询频繁更换手机号(达到3次)的用户

// 查询频繁更换手机号的用户
MATCH (u:User)-[r:HAS_PHONE]->(p:Phone)
WITH u, COUNT(DISTINCT p) AS phoneCount
WHERE phoneCount >= 3
RETURN u,phoneCount
查询频繁更换邮箱(达到3次)的用户
// 查询频繁更换邮箱的用户
MATCH (u:User)-[:HAS_EMAIL]->(e:Email)
WITH u, COUNT(DISTINCT e) AS emailCount
WHERE emailCount >= 3
RETURN u,emailCount
交易模式分析

通过分析短时间内的大额转账或使用不同银行卡进行大额提现来发现异常交易模式。

查询累计转账超过 4000 的用户

MATCH (u:User)-[r:TRANSFER]->(t:Transaction)
WITH u, sum(t.amount) AS totalAmount
WHERE totalAmount > 4000
RETURN u,totalAmount

查询累计提现超过 10000 的用户

MATCH (u:User)-[:Withdrawal]->(t:Transaction)
WITH u, sum(t.amount) AS totalWithdrawalAmount
WHERE totalWithdrawalAmount > 10000
RETURN u,totalWithdrawalAmount

查询转账账号超过3个的用户

MATCH (u:User)-[r:TRANSFER]->(t:Transaction)
WITH u, count(distinct r.recipient) AS uniqueRecipients
where uniqueRecipients >= 3
RETURN u,uniqueRecipients

未完待续 ...

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/394141.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux-系统资源管理的命令

目录 查看CPU:more /proc/meminfo 查看内存数据:free -m / free -h 查看系统版本:more /etc/issue 查看操作系统的类型:uname -a 查看主机名称:hostname 查看磁盘空间:df -h 查看某个目录空间…

防御保护---防火墙综合实验

拓扑图 实验要求 办公区的设备可以通过电信链路和移动链路上网分公司设备可以通过总公司的移动链路和电信链路访问到DMZ区域的HTTP服务器分公司内部的客户端可以通过公网地址访问到内部的服务器FW1和FW2组成主备模式双击热备办公区上网用户限制流量不超过60M,其中销…

海外媒体发稿:8个提升影响力的日韩地区媒体发稿推广策略-华媒舍

在今天的数字化时代,媒体发稿推广成为企业和个人增加影响力的重要方式。特别是在日韩地区,这个拥有庞大媒体市场和活跃社交媒体用户的地区,正确的推广策略将对影响力的提升起到关键作用。我们将介绍8个提升影响力的日韩地区媒体发稿推广策略。…

从零开始学逆向:理解ret2syscall

1.题目信息 链接:https://pan.baidu.com/s/19ymHlZZmVGsJHFmmlwww0w 提取码:r4el 首先checksec 看一下保护机制 2.原理 ret2syscall 即控制程序执行系统调用来获取 shell 什么是系统调用? 操作系统提供给用户的编程接口是提供访问操作系统…

辽宁博学优晨教育科技有限公司视频剪辑培训专业之选

随着数字时代的到来,视频剪辑技术已成为各行各业不可或缺的一项技能。为了满足市场需求,辽宁博学优晨教育科技有限公司(以下简称“博学优晨”)推出了专业的视频剪辑培训课程,旨在为广大学员提供系统、高效的学习机会。…

基于 Amazon EC2 和 Amazon Systems Manager Session Manager 的堡垒机的设计和自动化实现

1. 背景 在很多企业的技术实现中,由于数据安全和合规性要求,大部分的应用服务都部署在私有云环境或专用网络中。为了满足开发人员和运维团队从本地数据中心安全访问云上资源的需求,采用堡垒机作为一种有效的解决方案变得尤为重要。 堡垒机的…

win家庭中文版支持远程桌面

win11家庭版不支持远程桌面,需要下载RDP Wrap补丁 链接:https://pan.baidu.com/s/1Q1MgoBB0v7_rAnR89snT_g 提取码:navi 一、安装RDP Wrap 1、解压RDPWrap-v1.6.2.zip,以管理员身份运行install.bat 2、双击RDPConf.exe&#xff…

考研证件照可以自己用手机拍吗?考研证件照p过可以通过审核吗?考研证件照有什么要求

一、考研证件照可以自己用手机拍吗 现在的智能手机相机技术先进,大多都配备了高像素摄像头,使得自拍照片的质量有了大幅提升。相较于传统的证件照拍摄,使用手机自拍考研证件照理论上是可行的。然而,考研证件照需要满足一定的规定…

鸿蒙应用模型开发-更新SDK后报错解决

更新SDK后提示 “ohos.application.Ability”/“ohos.application.AbilityStage”等模块找不到或者无相关类型声明 问题现象 更新SDK后报错“Cannot find module ‘ohos.application.AbilityStage’ or its corresponding type declarations”,“Cannot find modu…

Rust-知多少?

文章目录 前言1.使用下划线开头忽略未使用的变量2. 变量解构3.常量4.变量遮蔽(shadowing)5. 类似println!("{}", x); 为啥加感叹号6.单元类型总结 前言 Rust 学习系列,记录一些rust使用小技巧 1.使用下划线开头忽略未使用的变量 …

【STM32 物联网】AT指令与TCP,发送与接收数据

文章目录 前言一、连接TCP服务器1.1 配置Wifi模式1.2 连接路由器1.3 查询ESP8266设备IP地址1.4 连接TCP服务器 二、向服务器接收数据和发送数据2.1 发送数据2.2 接收数据 总结 前言 随着物联网(IoT)技术的迅速发展,越来越多的设备和系统开始…

java的泛型【详解】

定义类、接口、方法时&#xff0c;同时声明了一个或者多个类型变量&#xff08;如&#xff1a;<E>&#xff09; &#xff0c;称为泛型类、泛型接口&#xff0c;泛型方法、它们统称为泛型。 作用&#xff1a;泛型提供了在编译阶段约束所能操作的数据类型&#xff0c;并自…

Mac M1芯片编译openjdk报错问题解决

使用命令&#xff1a; sudo sh configure --with-target-bits64 用mac m1芯片编译openjdk一直报错&#xff1a; configure: The tested number of bits in the target (64) differs from the number of bits expected to be found in the target (32) configure: error: Cann…

C++ 调用js 脚本

需求&#xff1a; 使用Qt/C 调用js 脚本。Qt 调用lua 脚本性能应该是最快的&#xff0c;但是需要引入第三方库&#xff0c;虽然也不是特别麻烦&#xff0c;但是调用js脚本&#xff0c;确实内置的功能&#xff08;C 调用lua 脚本-CSDN博客&#xff09; 步骤&#xff1a; 1&…

零基础搭建 Kubernetes 集群

零基础搭建 Kubernetes 集群 1、简介 在数字化时代&#xff0c;容器技术已经变成了软件开发和部署的标准&#xff0c;而在众多容器管理工具中&#xff0c;Kubernetes&#xff08;简称为 K8s&#xff09;凭借其高效的资源管理、弹性伸缩和自我修复的能力&#xff0c;成为了行业…

三防平板电脑丨亿道工业三防平板丨三防平板定制丨机场维修应用

随着全球航空交通的增长和机场运营的扩展&#xff0c;机场维护的重要性日益凸显。为确保机场设施的安全和顺畅运行&#xff0c;采取适当的措施来加强机场维护至关重要。其中&#xff0c;三防平板是一种有效的工具&#xff0c;它可以提供持久耐用的表面保护&#xff0c;使机场维…

最简单的基于 FFmpeg 的视频编码器(YUV 编码为 HEVC(H.265))

最简单的基于 FFmpeg 的视频编码器&#xff08;YUV 编码为 HEVC&#xff08;H.265&#xff09;&#xff09; 最简单的基于 FFmpeg 的视频编码器&#xff08;YUV 编码为 HEVC&#xff08;H.265&#xff09;&#xff09;正文结果工程文件下载 最简单的基于 FFmpeg 的视频编码器&a…

【开源】SpringBoot框架开发高校宿舍调配管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能需求2.1 学生端2.2 宿管2.3 老师端 三、系统展示四、核心代码4.1 查询单条个人习惯4.2 查询我的室友4.3 查询宿舍4.4 查询指定性别全部宿舍4.5 初次分配宿舍 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVueSpringBootMySQL的…

基于ESP32+Platformio的物联网RTOS_SDK-CC_Device

本项目基于ESP32以及Platformio平台开发&#xff0c;请自行查阅如何配置这个环境 开源gitee地址&#xff1a;cc_smart_device 如果愿意贡献项目or提出疑问和修改的&#xff0c;请在gitee上提issue 文章目录 1 基本介绍2 基本架构3 中间件3.1 RTOS部分3.1.1 互斥锁3.1.2 信号量3…

Academic Inquiry|投稿状态分享(ACS,Wiley,RSC,Elsevier,MDPI,Springer Nature出版社)

作为科研人员&#xff0c;我们经常会面临着向学术期刊投稿的问题。一般来说&#xff0c;期刊的投稿状态会在官方网站上进行公示&#xff0c;我们可以通过期刊的官方网站或者投稿系统查询到我们投稿的论文的状态&#xff0c;对于不同的期刊在投稿系统中会有不同的显示。 说明&am…