金融风控项目-1
文章目录
- 一. 案例背景介绍
- 二. 代码实现
- 1. 加载数据
- 2. 数据处理
- 3. 查询
- 三. 业务解读
一. 案例背景介绍
-
通过对业务数据分析了解信贷业务状况
-
数据集说明
- 从开源数据改造而来,基本反映真实业务数据
- 销售,客服可以忽略
- 账单周期,放款日期
- 账单金额-实收金额 = 未收金额
- 应付日期为还款时间
- 账期分成两种 60天和90天
- 实际到账日为空白 说明没还钱
-
通过对贷后业务数据的分析要分析出如下内容
- 每个季度账单金额和坏账率(逾期90天以上)
- 所有未收金额/所有账单金额
- 未收金额 = 账单金额-实收金额
- 每个季度60天账期 入催率,90天账单 入催率
- 不同逾期天数的回款情况
- 历史逾期天数 有逾期 已经还完了
- 当前逾期天数 现在还欠着钱,没还完
- 每个季度账单金额和坏账率(逾期90天以上)
二. 代码实现
1. 加载数据
import pandas as pd
import datetime
from pyecharts.charts import *
from pyecharts import options as opts
df1 = pd.read_excel('data/业务数据.xls')
#要使用原始数据构建新指标,所以保留原始数据,copy新的数据,在新的数据中创建新指标
df2 = df1.copy()
df2.head()
df2.info()
2. 数据处理
填充缺失值,将日期时间类型转换成datetime类型
# 获取最大的日期,作为当前时间
today_time = pd.to_datetime(df2.实际到账日.fillna('0').max())df2['实收金额'] = df2.实收金额.fillna(0)
df2['开票金额'] = df2.开票金额.fillna(0)
df2['未收金额'] = df2.未收金额.fillna(0)df2['账单周期'] = pd.to_datetime(df2.账单周期)
df2['应付日期'] = pd.to_datetime(df2.应付日期)df2['实际到账日'] = pd.to_datetime(df2.实际到账日).fillna(today_time)
df2
df2.info()
为了后续计算,在原始数据基础上构造新的字段:是否逾期,是否逾期90天,未收金额2(校验原始数据中的未收金额),当前逾期天数,历史逾期天数
df2['是否到期'] = df2.apply(lambda x: '1' if (x.实际到账日 > x.应付日期) else '0',axis = 1)df2['是否到期90天'] = ( today_time - df2.应付日期 ).map(lambda x : 1 if x.days >= 90 else 0)df2['未收金额2'] = (df2.账单金额 - df2.实收金额)df2['历史逾期天数'] = df2.apply(lambda x : (x.实际到账日 - x.应付日期).days if x.未收金额2 == 0 else (today_time - x.应付日期).days,axis=1)df2['当前逾期天数'] = df2.apply(lambda x : (x.历史逾期天数) if x.未收金额2 > 0 else 0 ,axis = 1)
df2
3. 查询
查询实际到账日期字段得知当前最近的到账日为2019年5月17日,如果以2019年5月17日为观察点,有些贷款还没到还款日,没法统计DPD90的数据,所以,这里只统计2019年之前的情况,下面将对应时间段的数据取出
df3 =df2.copy()
#创建’账单季度‘字段,将日期转换成季度
df3['账单季度'] = df3['账单周期'].map(lambda x : x.to_period('Q'))
#提取2017年3季度到2018年4季度数据
df3 = df3[(df3['账单季度']<='2018Q4') & (df3['账单季度']>='2017Q3')]
df3
#账单金额
fn1 = df3.groupby('账单季度')[['账单金额']].sum()
fn1.columns = ['账单金额']
fn1
#90天到期金额
df4 = df3[(df3.是否到期90天 == 1)]
fn2 = df4.groupby('账单季度')[['账单金额']].sum()
fn2.columns = ['到期金额']
fn2
df4 = df3[(df3.是否到期90天 == 1)]
fn3 = df4.groupby('账单季度')[['未收金额2']].sum()
fn3.columns = ['当前逾期90+金额']
fn3
合并数据计算逾期率
dfs = [fn1,fn2,fn3]
final1 = pd.concat(dfs,axis=1)
final1
final1['90+净坏账率'] = round(final1['当前逾期90+金额'] / final1.到期金额,3)
final1
pyecharts绘图
bar = (Bar().add_xaxis(list(final1.index.values.astype(str))).add_yaxis("账单金额",list(final1.账单金额),yaxis_index=0,color="#5793f3",).set_global_opts(title_opts=opts.TitleOpts(title="90+净坏账率"),).extend_axis(yaxis=opts.AxisOpts(name="90+净坏账率",type_="value",min_=0,max_=0.014,position="right",axisline_opts=opts.AxisLineOpts(linestyle_opts=opts.LineStyleOpts(color="#d14a61")),axislabel_opts=opts.LabelOpts(formatter="{value}"),))
)
line = (Line().add_xaxis(list(final1.index.values.astype(str))).add_yaxis("90+净坏账率",list(final1['90+净坏账率']),yaxis_index=1,color="#675bba",label_opts=opts.LabelOpts(is_show=False),)
)
bar.overlap(line).render_notebook()
计算每个季度的60天账单入催金额,90天账单入催金额
#60天账期的账单金额
df4 = df3[(df3.账期 == 60)&(df3.是否到期 == "1")]
fn1 = df4.groupby('账单季度')[['账单金额']].sum()
fn1.columns = ['60天账期的账单金额']
fn1
#60天账期的入催金额
df4 = df3[(df3.账期 == 60)&(df3.是否到期 == "1")&(df3.历史逾期天数>0)]
fn2 = df4.groupby('账单季度')[['未收金额2']].sum()
fn2.columns = ['60天账期的入催金额']
fn2
#90天账期的账单金额
df4 = df3[(df3.账期 == 90)&(df3.是否到期 == '1')]
fn3 = df4.groupby('账单季度')[['账单金额']].sum()
fn3.columns = ['90天账期的账单金额']
fn3
#90天账期的入催金额
df4 = df3[(df3.账期 == 90)&(df3.是否到期 == '1')&(df3.历史逾期天数>0)]
fn4 = df4.groupby('账单季度')[['未收金额2']].sum()
fn4.columns = ['90天账期的入催金额']
fn4
计算入催率
dfs = [fn1,fn2,fn3,fn4]
final2 = pd.concat(dfs,axis=1)
# final2 = fn1.merge(fn2,on='账单季度').merge(fn3,on='账单季度',how='left').merge(fn4,on='账单季度')
final2['60天账期入催率'] = round(final2['60天账期的入催金额'] / final2['60天账期的账单金额'],3)
final2['90天账期入催率'] = round(final2['90天账期的入催金额']/final2['90天账期的账单金额'],3)
final2
pyecharts绘图
line = (Line().add_xaxis(list(final1.index.values.astype(str))).add_yaxis("60天账期入催率",list(final2['60天账期入催率']),yaxis_index=0,color="#675bba",label_opts=opts.LabelOpts(is_show=False),).set_global_opts(title_opts=opts.TitleOpts(title="不同账期入催率"),).add_xaxis(list(final1.index.values.astype(str))).add_yaxis("90天账期入催率",list(final2['90天账期入催率']),yaxis_index=0,color="#d14a61",label_opts=opts.LabelOpts(is_show=False),)
)
line.render_notebook()
df6 = df3[(df3.未收金额2 == 0)&(df3.是否到期 == '1')].copy()
df6
#使用cut,讲数据按照逾期天数分箱,然后添加分箱之后结果标签
df6['历史逾期天数'] = pd.cut(df6['历史逾期天数'],bins=[-999,0,5,10,15,20,30,60,90,999],right=True,labels=['0','1-5','6-10','11-15','16-20','21-30','31-60','61-90','91+'])
df6
final3 = df6.groupby('历史逾期天数')[['账期']].count()
final3.columns = ['回收账单数']
final3
pyecharts绘图
ydata = final3['回收账单数'].values.tolist()
bar = (Bar().add_xaxis(list(final3.index.values.tolist())).add_yaxis("收回账单数",ydata,yaxis_index=0,color="#675bba").set_global_opts(title_opts=opts.TitleOpts(title="不同逾期天数的已收回账单数"),)
)
bar.render_notebook()
三. 业务解读
业务解读
- 从数据中看出,在2018年Q2季度之前,运营策略比较保守,坏账金额和入催率都比较低,
- 2018年Q2之后,有可能是由于运营策略调整,给更多的人放贷,但坏账率和入催率均在3%一下,在合理范围内
- 不同逾期天数收回账单的数据看,30天内能收回绝大部分账单
● 知道常见信贷风险
○ 信用风险
○ 欺诈风险
● 知道机器学习风控模型的优势
○ 批量,迅速,准确,同时处理大量贷款请求
○ 在零售信贷业务场景下,与人工审核相比优势显著
● 知道信贷领域常用术语含义
○ DPD 逾期天数
○ FPD 首次逾期天数
○ bad rate 坏账率
○ M1 逾期一个月以内
相关文章:
金融风控项目-1
文章目录 一. 案例背景介绍二. 代码实现1. 加载数据2. 数据处理3. 查询 三. 业务解读 一. 案例背景介绍 通过对业务数据分析了解信贷业务状况 数据集说明 从开源数据改造而来,基本反映真实业务数据销售,客服可以忽略账单周期,放款日期账单金…...
Java常用设计模式面试题总结(内容详细,简单易懂)
设计模式的分类 创建型模式:通过隐藏对象创建的细节,避免直接使用 new 关键字实例化对象,从而使程序在判断和创建对象时更具灵活性。常见的模式包括: 工厂模式抽象工厂模式单例模式建造者模式原型模式 结构型模式:通…...
【Elasticsearch】文本分析Text analysis概述
文本分析概述 文本分析使 Elasticsearch 能够执行全文搜索,搜索结果会返回所有相关的结果,而不仅仅是完全匹配的结果。 如果你搜索“Quick fox jumps”,你可能希望找到包含“A quick brown fox jumps over the lazy dog”的文档,…...
ATF系统安全从入门到精通
CSDN学院课程连接:https://edu.csdn.net/course/detail/39573...
C# 上位机--变量
C# 上位机--变量 在 C# 上位机开发领域,变量是构建程序逻辑的基础元素之一。它就像是一个容器,用于存储各种类型的数据,从简单的数值到复杂的对象。正确理解和使用变量,对于开发出高效、稳定且易于维护的上位机程序至关重要。本文…...
π 的奥秘:如何用有理数逼近无理数?
本文将围绕有理数、无理数、连续统以及它们之间的深刻联系展开讨论,并结合具体的数学理论如康托尔区间套定理、戴德金分割、柯西施瓦茨不等式等,进行简要探讨 由于本文并未深入探讨,可能存在部分不严谨的地方,也欢迎各位进行纠正…...
LeetCode --- 436周赛
题目列表 3446. 按对角线进行矩阵排序 3447. 将元素分配给有约束条件的组 3448. 统计可以被最后一个数位整除的子字符串数目 3449. 最大化游戏分数的最小值 一、按对角线进行矩阵排序 直接模拟,遍历每一个斜对角线,获取斜对角线上的数字,排…...
绘制中国平安股价的交互式 K 线图
在本文中,探索如何使用 Python 的强大库进行股市数据分析与可视化。我们将以中国平安(股票代码:sh601318)为例,展示如何获取其股票数据,并绘制一张交互式 K 线图。 K 线图是股市分析中不可或缺的工具,它能够直观地显示股票的波动情况,包括开盘价、收盘价、最高价和最低…...
【ISO 14229-1:2023 UDS诊断全量测试用例清单系列:第二节】
ISO 14229-1:2023 UDS诊断服务测试用例全解析(ECU复位0x11服务) 作者:车端域控测试工程师 更新日期:2025-02-12 关键词:UDS诊断协议、ECU复位服务、0x11服务、ISO 14229-1:2023 二、ECU复位服务(0x11服务&…...
Unity URP的2D光照简介
官网工程,包括2d光照,动画,动效介绍: https://unity.com/cn/blog/games/happy-harvest-demo-latest-2d-techniques https://docs.unity3d.com/6000.0/Documentation/Manual/urp/Lights-2D-intro.html 人物脸部光照细节和脚上的阴影…...
自学人工智能大模型,满足7B模型的训练和微调以及推理,预算3万,如何选购电脑
如果你的预算是 3万元人民币,希望训练和微调 7B 参数规模的人工智能大模型(如 LLaMA、Mistral 等),你需要一台高性能的深度学习工作站。在这个预算范围内,以下是推荐的配置: 1. 关键硬件配置 (1) GPU (显卡…...
shell脚本自动安装MySQL8
环境:centos7版本:8.0.28安装包:mysql-8.0.28-linux-glibc2.12-x86_64.tar.xz 二进制包要求:安装包和shell脚本在同一目录下执行方式:sudo ./install_mysql8.sh #!/bin/bash# 定义MySQL安装目录和压缩包名称MYSQL_DIR…...
使用亚马逊针对 PyTorch 和 MinIO 的 S3 连接器进行模型检查点处理
2023 年 11 月,Amazon 宣布推出适用于 PyTorch 的 S3 连接器。适用于 PyTorch 的 Amazon S3 连接器提供了专为 S3 对象存储构建的 PyTorch 数据集基元(数据集和数据加载器)的实现。它支持用于随机数据访问模式的地图样式数据集和用于流式处理…...
DeepAR:一种用于时间序列预测的深度学习模型
介绍 DeepAR是一种基于递归神经网络(RNN)的时间序列预测模型,由亚马逊在2017年提出。它特别适用于处理多变量时间序列数据,并能够生成概率预测。DeepAR通过联合训练多个相关时间序列来提高预测性能,从而在实际应用中表…...
【无标题】《On Java中文版基础卷+进阶卷》书评
Java语言作为最热门的编程语言之一,关于Java语言的书更是数不胜数,而我选择这本《On Java中文版基础卷进阶卷》作为我学习Java语言的工具书。这本书的作者是《Java编程思想》的Bruce Eckel,《Java编程思想》在之前可谓是鼎鼎有名,…...
【鸿蒙开发】第二十九章 Stage模型-应用上下文Context、进程、线程
目录 1 Stage模型基本概念 1.1 开发流程 3 应用上下文Context的典型使用场景 3.1 获取应用文件路径 3.2 获取和修改加密分区 3.3 获取本应用中其他Module的Context 3.4 订阅进程内UIAbility生命周期变化 4 进程 4.1 概述 5 线程 5.1 线程类型 5.2 使用EventHub进行线…...
AI-Engine-Direct-Helper 快速上手及环境配置
AI-Engine-Direct-Helper 是一个强大的工具,旨在简化和加速在 Qualcomm 平台上开发 AI 应用的过程。通过提供统一的 API、跨平台支持和高效的执行性能,它为开发者提供了一个灵活且高效的开发环境。如果您正在使用 Qualcomm 平台进行 AI 开发,…...
网络安全产品架构图 网络安全相关产品
一、信息安全产品分类 背景 美国将网络和信息安全产品分了9类:鉴别、访问控制、入侵检测、防火墙、公钥基础设施、恶意程序代码防护、漏洞扫描、取证、介质清理或擦除。中国公安部将网络和信息安全产品分了7类:操作系统安全、数据库安全、网络安全、病毒…...
日常知识点之面试后反思裸写string类
1:实现一个字符串类。 简单汇总 最简单的方案,使用一个字符串指针,以及实际字符串长度即可。 参考stl的实现,为了提升string的性能,实际上单纯的字符串指针和实际长度是不够了,如上,有优化方案…...
Linux(socket网络编程)TCP连接
Linux(socket网络编程)TCP连接 基础文件目录函数系统进程控制函数fork()exec系列函数void abort(void)void assert(int expression)void exit(int status)void _exit(int status)int atexit(void (*func)(void))int on_exit(void (*function)(int,void*)…...
深入 JVM 虚拟机:字符串常量池演变与 intern() 方法工作原理解析
🚀 作者主页: 有来技术 🔥 开源项目: youlai-mall ︱vue3-element-admin︱youlai-boot︱vue-uniapp-template 🌺 仓库主页: GitCode︱ Gitee ︱ Github 💖 欢迎点赞 👍 收藏 ⭐评论 📝 如有错误敬请纠正! 前言 在 Java 开发中,字符串常量池(String Constant…...
从零开始学习人工智能
从零开始学习人工智能可以按照以下步骤进行: 一、了解人工智能的基本概念 学习内容:了解人工智能的定义、发展历程、主要研究方向(如机器学习、深度学习、自然语言处理、计算机视觉等)、常见应用(如语音识别、图像识别…...
解锁电商数据宝藏:淘宝商品详情API实战指南
在电商蓬勃发展的今天,数据已成为驱动业务增长的核心引擎。对于商家、开发者以及数据分析师而言,获取精准、实时的商品数据至关重要。而淘宝,作为国内最大的电商平台,其海量商品数据更是蕴含着巨大的价值。 本文将带你深入探索淘…...
Gui-Guider1.8.1 数字时钟控件找不到定义,无法编译
我们在Gui-Guider中使用的一些控件,生成后会发现在LVGL源码中找不到该控件的定义,这时因为Gui-Guider中的一些控件是其自己编写的而不是LVGL提供的,那么我们该如何应用呢?这里拿Digital Clock数字时钟控件举例: 这里我…...
多模态模型详解
多模态模型是什么 多模态模型是一种能够处理和理解多种数据类型(如文本、图像、音频、视频等)的机器学习模型,通过融合不同模态的信息来提升任务的性能。其核心在于利用不同模态之间的互补性,增强模型的鲁棒性和准确性。 如何融合…...
Unity3D实现显示模型线框(shader)
系列文章目录 unity工具 文章目录 系列文章目录👉前言👉一、效果展示👉二、第一种方式👉二、第二种方式👉壁纸分享👉总结👉前言 在 Unity 中显示物体线框主要基于图形渲染管线和特定的渲染模式。 要显示物体的线框,通常有两种常见的方法:一种是利用内置的渲染…...
【实测】用全志A733平板搭建一个端侧Deepseek算力平台
随着DeepSeek 的蒸馏技术的横空出世,端侧 SoC 芯片上运行大模型成为可能。那么端侧芯片跑大模型的效果如何呢?本文将在全志 A733 芯片平台上部署一个 DeepSeek-R1:1.5B 模型,并进行实测效果展示。 端侧平台环境 设备:全志A733平板…...
新数据结构(7)——Object
Object类是所有类的父类,在 Java 中,每个类都直接或间接地继承自Object类,也就是说所有类都是object类的子类可以使用Object里的方法。 equals()和hashCode()是Java中Object类所包含的两个关键方法,下面将介绍两个方法。 和equa…...
数据结构-栈和队列的应用
目录 前言一、栈的应用(迷宫问题)1.1 问题描述1.2 算法选择1.3 算法精化1.4 算法实现1.5 问题结果 二、队列的应用(农夫过河问题)2.1 问题描述2.2 算法选择2.3 算法精化2.4 算法实现2.5 问题结果 总结 前言 本篇文章使用两个例子…...
【JavaScript】异步编程汇总
异步编程解决方案: 回调函数PromiseGeneratorawait / async 回调函数 回调函数是早期处理异步编程的主要方式,虽然它本身存在很多的缺陷,比如那个时候对于复杂的异步处理常常会出现回调地狱。 但是因为 JavaScript 中当时并没有很好的API来帮…...
【AI系列】从零开始学习大模型GPT (2)- Build a Large Language Model (From Scratch)
前序文章 【AI系列】从零开始学习大模型GPT (1)- Build a Large Language Model (From Scratch) Build a Large Language Model 背景第1章:理解大型语言模型第2章:处理文本数据第3章:编码Attention机制什么是Attention机制?Attention机制的基本原理数学表示应用总结为什么要…...
动态规划——路径问题②
文章目录 931. 下降路径最小和算法原理代码实现 64. 最小路径和算法原理代码实现 174. 地下城游戏算法原理代码实现 931. 下降路径最小和 题目链接:931. 下降路径最小和 算法原理 状态表示: 经验题目要求:dp[i][j]表示到达[i,j]位置时&…...
【每日关注】科技圈重要动态
时代新动态 2025 年 2 月 12 日科技圈重要动态总结全球 AI 治理新进展巴黎 AI 宣言签署,美英缺席 科技巨头合作与竞争苹果联姻阿里开发中国版AI功能DeepSeek生态持续扩展OpenAI拒绝马斯克收购,矛盾公开化 汽车行业动态小米汽车销量跃居新势力第二比亚迪智…...
Postgresql的三种备份方式_postgresql备份
这种方式可以在数据库正在使用的时候进行完整一致的备份,并不阻塞其它用户对数据库的访问。它会产生一个脚本文件,里面包含备份开始时,已创建的各种数据库对象的SQL语句和每个表中的数据。可以使用数据库提供的工具pg_dumpall和pg_dump来进行…...
Linux 配置 MySQL 定时自动备份到另一台服务器
Linux 配置 MySQL 定时自动备份到另一台服务器这里写自定义目录标题 前言1、配置服务器通信1.1:配置过程 2、编写自动备份sh脚本文件3:设置定时自动执行 前言 此方案可使一台服务器上的 MySQL 中的所有数据库每天 0 点自动转储为 .sql 文件,…...
CCF-GESP 等级考试 2024年6月认证C++二级真题解析
2024年6月真题 一、单选题(每题2分,共30分) 正确答案:C 考察知识点:计算机基础与编程环境 解析:CCF 组织的 GESP 认证考试第 1 级可选择的认证语言有 Scratch、Python、C ,共 3 种。答案为C。 …...
vm虚拟机的一些操作命令
PowerShell命令 // 获取虚拟机列表: get-vm // 创建虚拟机: new-vm -Name "BrioDev75" -MemoryStartupBytes 16GB -Path "D:\Hyper-V" // 删除虚拟机: remove-vm -Name "BrioDev75" -Force (-Force参数是…...
sql难点
一、 假设你有一个查询,需要根据 id 是否为 null 来动态生成 SQL 条件: xml复制 <select id"getResources" resultType"Resource">SELECT * FROM resources<where><if test"id ! null">and id <!…...
【多模态大模型】系列1:Transformer Encoder——ViLT、ALBEF、VLMO
目录 1 ViLT2 ALBEF3 VLMO 1 ViLT ViLT: Vision-and-Language Transformer Without Convolution or Region Supervision 图文多模态任务,关键是提取视觉特征和文本特征,然后对齐。在之前的多模态研究工作中,视觉侧通常需要一个目标检测器来…...
2.4 测试数据与初始化
测试数据与初始化 在 Spring Test 中,合理管理测试数据的初始化和清理是保证测试可靠性的关键。本章将介绍多种数据准备方式,涵盖 SQL 脚本执行、编程式初始化 和 动态数据生成,并提供最佳实践示例。 1. 使用 Sql 执行 SQL 脚本 作用 在测…...
DataBase【MySQL基础夯实使用说明(中)】
MySQL数据库 🏆当领导问你忙不忙,您怎么回复? 🔔要让领导知道你很忙,但是你的事情紧急,我可以优先处理! 文章目录 MySQL数据库前言一、SQL(Structured Query Language)1…...
Unity3D Shader 简析:变体与缓存详解
引言 在 Unity3D 中,Shader 是渲染管线的核心部分,负责控制物体的外观和材质表现。Shader 的变体(Variants)和缓存机制是优化渲染性能的关键。本文将深入探讨 Unity3D 中 Shader 变体的概念、缓存机制以及如何通过代码实现和管理…...
vuex基础介绍
/store/index.js import Vue from vue import Vuex from vuexVue.use(Vuex)/*** 创建并导出一个 Vuex 仓库实例* 仓库是一个存储应用所有状态的容器,并且提供了修改和获取状态的方法*/ export default new Vuex.Store({// state 是一个对象,用于存储应…...
OpenWRT中常说的LuCI是什么——LuCI介绍(一)
我相信每个玩openwrt的小伙伴都或多或少看到过luci这个东西,但luci到底是什么东西,可能还不够清楚,今天就趁机来介绍下,openwrt中的luci,到底是个什么东西。 什么是LuCI? 首先,LuCI是OpenWRT中…...
singleTaskAndroid的Activity启动模式知识点总结
一. 前提知识 1.1. 任务栈知识 二. Activity启动模式的学习 2.1 standard 2.2 singleTop 2.3.singleTask 2.4.singleInstance 引言: Activity作为四大组件之一,也可以说Activity是其中最重要的一个组件,其负责调节APP的视图ÿ…...
DeepSeek-V3 技术报告
1.摘要 为了减少开源模型与闭源模型的能力差距,我们提出了DeepSeek-V3,一个大的混合专家模型(Mixture-of-Experts (MoE) ),有6710亿参数,每个token会激活370亿参数。 DeepSeek-V3采用多头隐注意力…...
Vue 3 30天精进之旅:Day 22 - 构建和部署
欢迎回来!在我们的Vue 3学习旅程的第22天,我们将探讨应用的构建和部署。在完成了我们的应用开发后,下一步就是如何将其部署到服务器,使得用户可以访问。 1. 构建Vue应用 构建Vue应用是将我们在本地开发的代码打包成生产环境可用…...
Ansible中Playbook的逻辑控制语句-when
playbook的逻辑控制语句 when 条件判断语句,类似if loop 循环语句,类似loop block 将几个任务组成一个代码块,便于针对一组操作的异常进行处理 when的基本用法 when的运算符操作 when关键字可以配合各种运算符进行操作,如下&…...
制造业物联网的十大用例
预计到 2026 年,物联网制造市场价值将达到 4000 亿美元。实时收集和分析来自联网物联网设备与传感器的数据,这一能力为制造商提供了对生产流程前所未有的深入洞察。物联网(IoT)有潜力彻底改变制造业,使工厂能够更高效地…...
InfiniBand与IP over InfiniBand(IPOIB):实现高性能网络通信的底层机制
在现代高性能计算(HPC)和数据中心环境中,网络通信的效率和性能至关重要。InfiniBand(IB)作为一种高性能的串行计算机总线架构,以其低延迟、高带宽和高可靠性而广泛应用于集群计算和数据中心。IP over InfiniBand(IPOIB)则是在InfiniBand网络上实现IP协议的一种方式,它…...