网站流量和用户行为深度分析
关于网站流量数据集的探索
import pandas as pd
import plotly.express as px
import plotly.graph_objects as go
import plotly.subplots as sp
import matplotlib.pyplot as plt
import seaborn as sns
file_path = '/home/mw/input/webs4651/website_wata.csv'
data = pd.read_csv(file_path)data.head()
Step 01. 描述性统计分析
desc_stats = data.describe()
desc_stats
根据描述性统计分析和可视化结果,我们可以得出以下小结:
- 页面浏览量 (Page Views):
- 平均值为4.95,中位数为5,这表明大多数页面的浏览量接近5次。
- 页面浏览量的分布相对均匀,大部分数据集中在较低的浏览量上。
- 会话持续时间 (Session Duration):
- 平均值为3.02分钟,但标准差较大,为3.10分钟,这表明会话持续时间在用户之间有较大的差异。
- 数据呈现出右偏分布,意味着大多数会话持续时间较短,但有少数会话持续时间较长。
- 跳出率 (Bounce Rate):
- 平均值为0.28,中位数为0.266,这表明大约有28%的访问者在查看单个页面后离开了网站。
- 数据分布相对均匀,大部分数据集中在较低的跳出率上。
- 页面逗留时间 (Time on Page):
- 平均值为4.03分钟,标准差为2.89分钟,这表明用户在页面上的逗留时间也有较大的差异。
- 数据呈现出右偏分布,意味着大多数用户在页面上的逗留时间较短,但有少数用户逗留时间较长。
- 以前的访问 (Previous Visits):
- 平均值为1.98次,这表明大多数用户之前访问过该网站。
- 数据分布相对均匀,大部分用户之前访问过1到3次。
- 转化率 (Conversion Rate):
- 平均值为0.98,中位数为1.00,这表明大多数访问者都完成了预期的转化行为。
- 数据分布相对均匀,大部分数据集中在1.00,表明高转化率。
Step 02. 流量来源分析
分析不同流量来源(如Organic, Social, Paid等)的页面浏览量、跳出率、会话持续时间和转化率。
比较不同流量来源的用户参与度和转化效果。
grouped_by_source = data.groupby('Traffic Source').agg({'Page Views': ['mean', 'std'],'Session Duration': ['mean', 'std'],'Bounce Rate': ['mean', 'std'],'Conversion Rate': ['mean', 'std']
})
grouped_by_source
# 创建子图网格
rows = 2
cols = 2
fig = sp.make_subplots(rows=rows, cols=cols, subplot_titles=['每个流量来源的平均页面浏览量', '每个流量来源的平均会话时长', '每个流量来源的平均跳出率', '每个流量来源的平均转化率'],vertical_spacing=0.15)# 定义条形图数据
bar_traces = {'Page Views': go.Bar(x=data['Traffic Source'], y=data['Page Views'], name='页面浏览量'),'Session Duration': go.Bar(x=data['Traffic Source'], y=data['Session Duration'], name='会话时长'),'Bounce Rate': go.Bar(x=data['Traffic Source'], y=data['Bounce Rate'], name='跳出率'),'Conversion Rate': go.Bar(x=data['Traffic Source'], y=data['Conversion Rate'], name='转化率')
}# 将数据添加到相应的子图
fig.add_trace(bar_traces['Page Views'], row=1, col=1)
fig.add_trace(bar_traces['Session Duration'], row=1, col=2)
fig.add_trace(bar_traces['Bounce Rate'], row=2, col=1)
fig.add_trace(bar_traces['Conversion Rate'], row=2, col=2)# 更新坐标轴和布局
fig.update_xaxes(title_text='流量来源', row=1, col=1)
fig.update_yaxes(title_text='平均页面浏览量', row=1, col=1)
fig.update_xaxes(title_text='流量来源', row=1, col=2)
fig.update_yaxes(title_text='平均会话时长(分钟)', row=1, col=2)
fig.update_xaxes(title_text='流量来源', row=2, col=1)
fig.update_yaxes(title_text='平均跳出率', row=2, col=1)
fig.update_xaxes(title_text='流量来源', row=2, col=2)
fig.update_yaxes(title_text='平均转化率', row=2, col=2)# 更新布局
fig.update_layout(title_text='流量来源分析',height=800,# width=1000,showlegend=False,template='plotly_white'
)fig.show()
根据流量来源的分析结果,我们可以得出以下小结:
- 页面浏览量 (Page Views):
- 不同流量来源的平均页面浏览量大致相似,其中Organic来源略高。
- 这些来源之间的差异不大,表明不同来源的访客在浏览网站页面数量上相似。
- 会话持续时间 (Session Duration):
- 不同流量来源的会话持续时间存在一定差异,其中Direct来源的平均会话持续时间最短,而Referral来源的平均会话持续时间最长。
- 这表明Direct来源的访客可能更倾向于快速浏览或寻找特定信息,而Referral来源的访客可能更倾向于深入探索网站内容。
- 跳出率 (Bounce Rate):
- 不同流量来源的跳出率也有所差异,其中Social来源的跳出率最高,而Referral来源的跳出率最低。
- 这可能表明Social来源的访客更可能是一次性浏览,而Referral来源的访客更可能对网站内容感兴趣。
- 转化率 (Conversion Rate):
- 不同流量来源的转化率相近,但Referral来源的转化率略高。
- 这表明Referral来源的访客更有可能完成转化目标,可能是由于这些访客对网站内容有较高的兴趣或需求。
综合这些指标,我们可以看到不同流量来源对网站的用户参与度和转化效果有不同影响。例如,虽然Social来源的访客可能会产生较高的跳出率,但它们也可能带来较高的流量。而Referral来源的访客可能对网站内容有更深入的兴趣,从而产生较高的转化率。
Step 03. 用户参与度分析
分析页面浏览量、会话持续时间和页面逗留时间之间的关系。
研究跳出率与页面逗留时间之间的关系
# Page Views(页面浏览量)与 Session Duration(会话时长)的散点图
fig1 = px.scatter(data, x='Page Views', y='Session Duration',title='页面浏览量 vs 会话时长',labels={'x': '页面浏览量', 'y': '会话时长(分钟)'},opacity=0.5 # 设置点的透明度
)
fig1.show() # 显示图表# Page Views(页面浏览量)与 Time on Page(页面停留时间)的散点图
fig2 = px.scatter(data, x='Page Views', y='Time on Page',title='页面浏览量 vs 页面停留时间',labels={'x': '页面浏览量', 'y': '页面停留时间(分钟)'},opacity=0.5 # 设置点的透明度
)
fig2.show() # 显示图表# Bounce Rate(跳出率)与 Time on Page(页面停留时间)的散点图
fig3 = px.scatter(data, x='Bounce Rate', y='Time on Page',title='跳出率 vs 页面停留时间',labels={'x': '跳出率', 'y': '页面停留时间(分钟)'},opacity=0.5 # 设置点的透明度
)
fig3.show() # 显示图表
#关系概述#页面浏览量与会话持续时间
session_duration_vs_page_views = data.groupby('Page Views').agg({'Session Duration': ['mean', 'std']
})
session_duration_vs_page_views.head(5)
#页面浏览量与页面停留时间
time_on_page_vs_page_views = data.groupby('Page Views').agg({'Time on Page': ['mean', 'std']
})
time_on_page_vs_page_views.head(5)
#跳出率与页面停留时间
bounce_rate_vs_time_on_page = data.groupby('Time on Page').agg({'Bounce Rate': ['mean', 'std']
})bounce_rate_vs_time_on_page.head(5)
根据用户参与度的分析结果,我们可以得出以下小结:
- 页面浏览量与会话持续时间的关系:
- 随着页面浏览量的增加,平均会话持续时间呈现出先增加后减少的趋势。
- 这表明访问多个页面的用户通常会花费更多的时间在网站上,但当页面浏览量超过一定数量后,会话持续时间可能会下降。
- 页面浏览量与页面逗留时间的关系:
- 随着页面浏览量的增加,平均页面逗留时间也呈现出先增加后减少的趋势。
- 这与会话持续时间的趋势相似,表明当用户访问更多页面时,他们在每个页面上花费的时间可能会减少。
- 跳出率与页面逗留时间的关系:
- 随着页面逗留时间的增加,平均跳出率呈现出先减少后增加的趋势。
- 这表明当用户在网站上花费更多时间时,跳出率可能会降低,但当逗留时间过长时,跳出率可能会增加。这可能是因为长时间逗留可能意味着用户在寻找特定信息或感到不满意。
这些分析结果可以帮助我们理解用户在网站上的行为模式和参与程度。例如,我们可以看到,尽管访问更多页面的用户通常会花费更多时间在网站上,但这并不意味着他们会更倾向于深入探索网站内容。
Step 04. 回头客行为分析
分析之前访问次数与页面浏览量、会话持续时间等之间的关系。
研究回头客的转化率与新访客的转化率差异。
# 数据聚合
grouped_by_visits = data.groupby('Previous Visits').agg({'Page Views': ['mean', 'std'],'Session Duration': ['mean', 'std'],'Bounce Rate': ['mean', 'std'],'Conversion Rate': ['mean', 'std']
}).reset_index()# 扁平化列名
grouped_by_visits.columns = ['Previous Visits', 'Page Views Mean', 'Page Views Std','Session Duration Mean', 'Session Duration Std','Bounce Rate Mean', 'Bounce Rate Std','Conversion Rate Mean', 'Conversion Rate Std']# 使用 Plotly 进行可视化fig = go.Figure()# 页面浏览量
fig.add_trace(go.Bar(x=grouped_by_visits['Previous Visits'],y=grouped_by_visits['Page Views Mean'],name='平均页面浏览量',marker_color='royalblue'
))# 会话时长
fig.add_trace(go.Bar(x=grouped_by_visits['Previous Visits'],y=grouped_by_visits['Session Duration Mean'],name='平均会话时长',marker_color='lightgreen'
))# 跳出率
fig.add_trace(go.Bar(x=grouped_by_visits['Previous Visits'],y=grouped_by_visits['Bounce Rate Mean'],name='平均跳出率',marker_color='salmon'
))# 转化率
fig.add_trace(go.Bar(x=grouped_by_visits['Previous Visits'],y=grouped_by_visits['Conversion Rate Mean'],name='平均转化率',marker_color='gold'
))fig.update_layout(title='重复访客行为分析',xaxis_title='重复访问次数',yaxis_title='数值',barmode='group',template='plotly_white'
)fig.show()
根据回头客行为的分析结果,我们可以得出以下小结:
- 之前访问次数与页面浏览量的关系:
- 随着之前访问次数的增加,平均页面浏览量呈现出先增加后减少的趋势。
- 这表明回头客通常会访问更多的页面,但当访问次数超过一定数量后,页面浏览量可能会减少。
- 之前访问次数与会话持续时间的的关系:
- 随着之前访问次数的增加,平均会话持续时间也呈现出先增加后减少的趋势。
- 这与会话持续时间的趋势相似,表明当回头客访问更多页面时,他们在网站上花费的时间可能会减少。
- 之前访问次数与跳出率的关系:
- 随着之前访问次数的增加,平均跳出率呈现出先减少后增加的趋势。
- 这表明回头客的跳出率可能会低于新访客,但当访问次数过多时,跳出率可能会增加。
- 之前访问次数与转化率的关系:
- 随着之前访问次数的增加,平均转化率呈现出先增加后减少的趋势。
- 这表明回头客的转化率可能会高于新访客,但当访问次数过多时,转化率可能会降低。
这些分析结果可以帮助我们理解回头客的行为模式和他们对网站的参与程度。例如,我们可以看到,尽管回头客通常会访问更多的页面,但这并不意味着他们会更倾向于深入探索网站内容或完成转化目标。
Step 05. 异常值和离群点分析
识别数据中的异常值和离群点,分析其可能的原因和影响。
import scipy.stats as stats# 使用IQR方法检测异常值
def detect_outliers(df, columns):outliers = {}for column in columns:Q1 = df[column].quantile(0.25)Q3 = df[column].quantile(0.75)IQR = Q3 - Q1lower_bound = Q1 - 1.5 * IQRupper_bound = Q3 + 1.5 * IQRoutliers[column] = df[(df[column] < lower_bound) | (df[column] > upper_bound)]return outliers# 定义分析的列
columns_to_analyze = ['Page Views', 'Session Duration', 'Bounce Rate', 'Time on Page']# 检测异常值
outliers = detect_outliers(data, columns_to_analyze)# 可视化异常值
fig, axes = plt.subplots(nrows=2, ncols=2, figsize=(15, 10))# 页面浏览量
axes[0, 0].hist(data['Page Views'], bins=30, edgecolor='k', alpha=0.7)
axes[0, 0].axvline(x=outliers['Page Views'].iloc[0]['Page Views'], color='r', linestyle='dashed', linewidth=1)
axes[0, 0].axvline(x=outliers['Page Views'].iloc[1]['Page Views'], color='r', linestyle='dashed', linewidth=1)
axes[0, 0].set_title('页面浏览量分布与异常值')
axes[0, 0].set_xlabel('页面浏览量')
axes[0, 0].set_ylabel('频率')# 会话时长
axes[0, 1].hist(data['Session Duration'], bins=30, edgecolor='k', alpha=0.7)
axes[0, 1].axvline(x=outliers['Session Duration'].iloc[0]['Session Duration'], color='r', linestyle='dashed', linewidth=1)
axes[0, 1].axvline(x=outliers['Session Duration'].iloc[1]['Session Duration'], color='r', linestyle='dashed', linewidth=1)
axes[0, 1].set_title('会话时长分布与异常值')
axes[0, 1].set_xlabel('会话时长(分钟)')
axes[0, 1].set_ylabel('频率')# 跳出率
axes[1, 0].hist(data['Bounce Rate'], bins=30, edgecolor='k', alpha=0.7)
axes[1, 0].axvline(x=outliers['Bounce Rate'].iloc[0]['Bounce Rate'], color='r', linestyle='dashed', linewidth=1)
axes[1, 0].axvline(x=outliers['Bounce Rate'].iloc[1]['Bounce Rate'], color='r', linestyle='dashed', linewidth=1)
axes[1, 0].set_title('跳出率分布与异常值')
axes[1, 0].set_xlabel('跳出率')
axes[1, 0].set_ylabel('频率')# 页面停留时间
axes[1, 1].hist(data['Time on Page'], bins=30, edgecolor='k', alpha=0.7)
axes[1, 1].axvline(x=outliers['Time on Page'].iloc[0]['Time on Page'], color='r', linestyle='dashed', linewidth=1)
axes[1, 1].axvline(x=outliers['Time on Page'].iloc[1]['Time on Page'], color='r', linestyle='dashed', linewidth=1)
axes[1, 1].set_title('页面停留时间分布与异常值')
axes[1, 1].set_xlabel('页面停留时间(分钟)')
axes[1, 1].set_ylabel('频率')plt.tight_layout()
plt.show()
在进行异常值和离群点分析时,我们使用了IQR(四分位距)方法来检测数据集中的异常值。以下是针对所选列的分析结果:
- 页面浏览量 (Page Views):
- 数据分布显示了一些异常值,这些异常值在图中用红色虚线标出。
- 这些异常值可能是由于数据录入错误、测量错误或其他异常情况造成的。
- 会话持续时间 (Session Duration):
- 数据分布同样显示了一些异常值,这些异常值在图中用红色虚线标出。
- 这些异常值可能是由于数据录入错误、测量错误或其他异常情况造成的。
- 跳出率 (Bounce Rate):
- 数据分布显示了一些异常值,这些异常值在图中用红色虚线标出。
- 这些异常值可能是由于数据录入错误、测量错误或其他异常情况造成的。
- 页面逗留时间 (Time on Page):
- 数据分布显示了一些异常值,这些异常值在图中用红色虚线标出。
- 这些异常值可能是由于数据录入错误、测量错误或其他异常情况造成的。
相关文章:
网站流量和用户行为深度分析
关于网站流量数据集的探索 import pandas as pd import plotly.express as px import plotly.graph_objects as go import plotly.subplots as sp import matplotlib.pyplot as plt import seaborn as sns file_path /home/mw/input/webs4651/website_wata.csv data pd.rea…...
centOS7如何配置阿里云或者腾讯云yum源
众所周知,CentOS很多版本目前已经不再维护了,原本的在线yum源已经无法使用,所以需要我们配置其他的yum源。目前腾讯云或者阿里云的yum源都可以正常使用,所以本文教大家如何配置阿里云/腾讯云在线yum源。 阿里云yum源配置…...
洗鞋小程序(源码+文档+部署+讲解)
本文将深入解析“洗鞋小程序”的项目,探究其架构、功能以及技术栈,并分享获取完整源码的途径。 系统概述 为洗鞋提供服务,包含小程序和管理端。 本项目名称为洗鞋小程序,是一个基于小程序的在线洗鞋平台。该系统提供下单、订单管…...
MySQL|通过JSON_UNQUOTE实现MySQL中JSON数据的干净提取
文章目录 语法使用示例注意事项 JSON_UNQUOTE() 是 MySQL 中用于处理 JSON 数据类型的一个函数。它的主要作用是从 JSON 字符串中移除最外层的引号,这对于从 JSON 对象或数组中提取字符串值特别有用。 语法 JSON_UNQUOTE(json_string)json_string: 这是你想要去掉引…...
动态规划part01
文章参考来源代码随想录 理论基础 适用范围: 如果某一问题有很多重叠子问题,使用动态规划是最有效的。 与贪心算法的区别: 动态规划中每一个状态一定是由上一个状态推导出来的,这一点就区分于贪心,贪心没有状态推…...
生活大爆炸版石头剪刀布(洛谷P1328)
生活大爆炸版石头剪刀布(洛谷P1328) [NOIP2014 提高组] 前言: 由于洛谷发布题解有限制,所以在CSDN上发布洛谷题解。 所有题解均是Java语言, 但是思路是相同的 每篇都是刷题日常,尽量讲清楚算法逻辑。 希望有问题还请大佬们指导! …...
【GOOD】DeGEM
ICLR2025 under review 看到不错的想法,学习一下 Decoupled Graph Energy-based Model for Node Out-of-Distribution Detection on Heterophilic Graphs 🐱🐶图上的OOD检测的工作是比较少的,相比于图像数据,图结构数…...
jenkins邮件的配置详解
Jenkins邮件的配置涉及多个步骤和细节,以下是详细的配置指南: 一、前期准备 确定邮件服务:明确Jenkins将要使用的邮件服务,如QQ邮箱、163邮箱、公司邮箱(基于Microsoft 365或Exchange Server)等。获取SMTP配置信息:根据邮件服务类型,获取相应的SMTP服务器地址、端口号…...
flask-socketio相关总结
flask-socketio是一个为flask应用程序添加的实时双向通信功能的扩展库,有了这个库,就可以在flask应用中应用websocket协议,帮助flask实现低延迟、双向的客户端、服务端通信。客户端通过任何SocketIO官方库,都能与服务器建立长连接…...
每日一题 LCR 097. 不同的子序列
LCR 097. 不同的子序列 使用动态规划就可以解决,重点是知道 动态规划的状态是如何转移的 class Solution { public:int numDistinct(string s, string t) {int ns s.size();int nt t.size();vector<vector<long>> dp(ns1,vector<long>(nt1,0)…...
合并区间C和C++的区别、布尔、整型、浮点、指针类型和0做比较、malloc、calloc、realloc的区别
56. 合并区间 class Solution { public:vector<vector<int>> merge(vector<vector<int>>& intervals) {//先按照每个区间的左元素排序,这样每个区间的左边界就固定了,所以之后考虑相邻的//区间是否是相交的就行 类似与栈的…...
设计模式-外观模式
背景 有一个家庭影院,有DVD播放器,投影仪,屏幕,音响,爆米花机,每一个设备都有一个遥控器。 传统思路: 创建一个客户端类,在这个类中创建所有设备的相关对象(遥控器&am…...
嵌入式驱动开发详解14(SPI驱动架构实现)
文章目录 前言SPI简介SPI介绍SPI工作模式SPI特点 驱动开发驱动架构SPI控制器驱动SPI设备驱动SPI 设备和驱动匹配过程SPI其他相关API函数 参考文献 前言 SPI 是很常用的串行通信协议,可以通过 SPI 来连接众多的传感器,相比 I2C 接 口,SPI 接口…...
【保姆级系列:思科模拟器安装下载汉化教程大全】
文章目录 概述Packet Tracer下载Packet Tracer安装Packet Tracer使用EVE-NG下载:EVE-NG安装:EVE-NG使用: 概述 思科在网络界的地位是众所周知的。如果说在中美科技战中,华为代表CHN,那么思科就代表US,依然…...
2024 一带一路暨金砖国家技能发展与技术创新大赛【网络安全防护治理实战技能赛项】样题(中职组)
2024 一带一路暨金砖国家技能发展与技术创新大赛【网络安全防护治理实战技能赛项】样题(中职组) 1.基础设置和安全强化(xxx 分)1.3. 任务内容: 2.安全监测和预警(xxx 分)2.1. 任务一:建立目录安…...
QT 中基于 TCP 的网络通信
基础 基于 TCP 的套接字通信需要用到两个类: 1)QTcpServer:服务器类,用于监听客户端连接以及和客户端建立连接。 2)QTcpSocket:通信的套接字类,客户端、服务器端都需要使用。 这两个套接字通信类…...
React Native 速度提升 550%
React Native 爱好者们!🌟 您准备好听一些激动人心的消息了吗?React Native 刚刚发布了其最大的更新之一:一种全新的架构,彻底改变了我们构建移动应用程序的方式。如果您想知道这对您的项目和开发体验意味着什么,请继续关注!我们正在深入探讨这个改变游戏规则的事物;您…...
火语言RPA流程组件介绍--键盘按键
🚩【组件功能】:模拟键盘按键 配置预览 配置说明 按键 点击后,在弹出的软键盘上选择需要的按键 执行后等待时间(ms) 默认值300,执行该组件后等待300毫秒后执行下一个组件. 输入输出 输入类型 万能对象类型(System.Object)输出类型 万能对象类型…...
数值分析—数值积分
研究背景 积分的数学解法为牛顿莱布尼兹公式,数学表示为 ∫ a b f ( x ) d x F ( b ) − F ( a ) \int_{a}^{b} f(x)dxF(b)-F(a) ∫abf(x)dxF(b)−F(a),但应用该方法有如下困难: 1, f ( x ) f(x) f(x)的原函数有时不能用初等函…...
Next.js优化教程:优化字体加载
更多有关Next.js教程,请查阅: 【目录】Next.js 独立开发系列教程-CSDN博客 目录 更多有关Next.js教程,请查阅: 前言 1. 字体加载的常见问题 1.1 什么是 FOIT 和 FOUT? 1.2 字体优化的核心目标 2. Next.js 字体优…...
功能篇:springboot中全局异常
在Java应用程序中实现全局异常处理是确保应用健壮性和用户体验良好性的重要一步。通过全局异常处理,你可以集中管理所有未捕获的异常,并以统一的方式响应它们。对于Web应用程序(如使用Spring框架的应用),通常会创建一个…...
【go 】 select case 的用法
文章目录 1. 基本使用:监听多个通道,会阻塞2.带默认分支:非阻塞操作3. 永远监听多个通道4. 超时机制5. 关闭通道的处理6. context的关闭判断 相关文章: 【go】select 语句case的随机性 【go】 select case 超时机制(time.After)示…...
出海服务器可以用国内云防护吗
随着企业国际化进程的加速,越来越多的企业选择将业务部署到海外服务器上,以便更贴近国际市场。然而,海外服务器也面临着来自全球各地的安全威胁和网络攻击。当出海服务器遭受攻击时,是否可以借助国内的云服务器来进行有效的防护呢…...
前端权限控制
前端权限控制 一、路由权限(控制页面访问) vue // router.js const routes [{path: /dashboard,name: Dashboard,component: () > import(/views/Dashboard.vue),meta: { requiresAuth: true, roles: [admin, manager] }},{path: /user,name: Use…...
计算机组成原理(二):指令跳转
指令跳转(Instruction Jump)是计算机程序控制流的重要组成部分,通过改变程序的执行顺序实现循环、条件分支和函数调用等功能。 基本概念 跳转指令主要用来修改**程序计数器(Program Counter, PC)**的值,使…...
LoViT: 用于手术阶段识别的长视频Transformer|文献速递-生成式模型与transformer在医学影像中的应用
Title 题目 LoViT: Long Video Transformer for surgical phase recognition LoViT: 用于手术阶段识别的长视频Transformer 01 文献速递介绍 快速发展的手术数据科学(SDS)领域旨在通过先进利用手术室(OR)内医疗设备采集的数据…...
【传感器技术】第4章 力敏传感器,弹性敏感元件的基本特性,应变式压力传感器,电阻应变片的温度补偿,压阻式压力传感器,压电式压力传感器
关注作者了解更多 我的其他CSDN专栏 过程控制系统 工程测试技术 虚拟仪器技术 可编程控制器 工业现场总线 数字图像处理 智能控制 传感器技术 嵌入式系统 复变函数与积分变换 单片机原理 线性代数 大学物理 热工与工程流体力学 数字信号处理 光电融合集成电路…...
linux之vim
一、模式转换命令 vim主要有三种模式:命令模式(Normal Mode)、输入模式(Insert Mode)和底线命令模式(Command-Line Mode)。 从命令模式切换到输入模式:i:在当前光标所在…...
【LeetCode】每日一题 2024_12_9 判断国际象棋棋盘中一个格子的颜色(找规律)
前言 每天和你一起刷 LeetCode 每日一题~ LeetCode 启动! 题目:判断国际象棋棋盘中一个格子的颜色 最近力扣一直在出棋盘类的题目,这个月已经出了 9 天了,我倒要看看他是不是真能出一个月 代码与解题思路 先读题:题…...
HCL虚拟环境搭建并且支持ssh远程访问
1.连接设备 新建设备和host主机,连线,host主机选择本地网卡(不选host-only网卡) 2.启动设备,打开终端,按ctrlc 3.执行命令 <H3C>system-view [H3C]int g0/0 [H3C-GigabitEthernet0/0]ip address …...
批量验证指定漏洞思路和流程
免责申明 本文仅是用于学习研究POC的地址收集与漏洞验证原理,请勿用在非法途径上,若将其用于非法目的,所造成的一切后果由您自行承担,产生的一切风险和后果与笔者无关;本文开始前请认真详细学习《中华人民共和国网络安全法》【学法时习之丨网络安全在身边一图了解网络安…...
首次打开韦东山提供的Ubuntu-18.04镜像后,该做哪些事?
目录 01-测试有无网络02-配置最基本的嵌入式开发环境(安装tftp-nfs等)03-缩短关机强制结束进行时间04-关闭软件的自动更新05-未完待续... 01-测试有无网络 ping www.baidu.com 02-配置最基本的嵌入式开发环境(安装tftp-nfs等) 需要安装 tftp,nfs,vim …...
怎么才能让图片不能转发截图保存
发私密图片给好友又担心被截图保存甚至转发给第三人?有没有办法让发出去的图片不能转发、截图、保存?当然有!今天教你一招,并且对方打开不需要下载任何软件,发出去对方点开就能看。 操作步骤 如何发送这样限制截图的图…...
设计模式-装饰器模式(结构型)与责任链模式(行为型)对比,以及链式设计
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言1.装饰器模式1.1概念1.2作用1.3应用场景1.4特点1.5类与对象关系1.6实现 2责任链模式2.1概念2.2作用2.3应用场景2.4特点2.5类与对象关系2.6实现 3.对比总结 前言…...
outlook软件配置邮箱提示“到邮件服务器的加密连接不可用”
outlook软件配置邮箱提示“到邮件服务器的加密连接不可用” 问题描述: outlook软件里邮箱提示“已断开”或配置邮箱时提示“到邮件服务器的加密连接不可用”。 解决方案: 一、更改注册表(可先导出备份) winr,输入re…...
通过QT实现进度条随着读取文件增加
mythread循环给主线程发送信号实现主线程循环的功能 widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QFile> #include <QFileDialog> #include <QTextStream> #include <QByteArray> #include "mythread.h"…...
构建高效可靠的分布式推理系统:深入解析控制器与模型服务的协同工作
在现代互联网应用中,随着用户需求的增长和技术的进步,单一服务器已经难以满足大规模并发请求的需求。为了提升系统的性能和可靠性,开发者们越来越多地采用分布式架构。本文将结合具体的代码示例,深入浅出地探讨如何构建一个高效的分布式推理系统,并详细解析其中的关键组件…...
洛谷B2082
数字统计 - 洛谷 数字统计 题目描述 请统计某个给定范围 [L,R] 的所有整数中,数字 2 出现的次数。 比如给定范围 [2,22],数字2 在数 2 中出现了 1 次,在数 12 中出现 1 次,在数 20中出现 1次,在数 21 中出现 1 次&…...
HTML5系列(14)-- 链接与资源关系指南
前端技术探索系列:HTML5 链接与资源关系指南 🔗 致读者:探索资源加载的艺术 👋 前端开发者们, 今天我们将深入探讨 HTML5 的链接与资源关系管理,学习如何优化网站的资源加载策略,提升用户体验…...
ubuntu系统每天凌晨定时上传redis 备份数据到阿里云OSS上
1.压缩备份脚本 1.1 代码如下#!/bin/bash# redis_backup_compress.sh # 设置变量 BACKUP_DIR"/data/redis/backup" REDIS_DIR"/var/lib/redis" DATE$(date %Y%m%d_%H%M%S) BACKUP_FILE"redis_backup_${DATE}.rdb" COMPRESSED_FILE"redis_b…...
uniapp结合movable-area与movable-view实现拖拽功能
前言 因为公司业务开发需要拖拽功能。 ps:该功能只能针对高度一致的,如果高度不一致需要另外二开 演示 开始 <template><view style"height: 100%;"><movable-area :style"{width: 100%, height: allHeight px}"…...
JavaScript 单例模式的创建与应用
JavaScript 单例模式的创建与应用 单例模式(Singleton Pattern)是一种设计模式,旨在确保一个类只有一个实例,并提供全局访问点。在 JavaScript 中,单例模式可以帮助我们避免多次创建同一个对象,节省资源&a…...
【HarmonyOS】 鸿蒙保存图片或视频到相册
【HarmonyOS】 鸿蒙保存图片或视频到相册 前言 鸿蒙中保存图片或者视频,或者其他媒体文件到设备的媒体库,可以是相册,也可以是文件管理等。共有两种方式: 需要应用申请受限权限,获取文件读写的权限(调用…...
windows下nacos启动报错:java.lang.unsatisfiedLinkError: C:\USers\乱码AppData\xxx.dll
问题 看了许多别的帖子,大家都是因为缺少dll包,下载安装 Microsoft Visual C 2015 Redistributable 就可以。但我试过了不行。思来想去,之前正常的时候用的JDK版本是17,后面别的项目用1.8给切换回来了。然后尝试配置环境变量将JD…...
梳理你的思路(从OOP到架构设计)_基本OOP知识01
目录 1、“-Oriented” 的涵意 2、 ” -Oriented”、” -Based”、” -Driven”、” -Centered” 它们之间区别 3、 从对象(Object) 谈起 4、类的用途: 叙述软件对象 Android从程序员到架构师之路:梳理你的思路(从OOP到架构设计) 1、“-Oriented” …...
【C++图论 BFS算法】2467. 树上最大得分和路径|2053
本文涉及知识点 C图论 CBFS算法 LeetCode2467. 树上最大得分和路径 一个 n 个节点的无向树,节点编号为 0 到 n - 1 ,树的根结点是 0 号节点。给你一个长度为 n - 1 的二维整数数组 edges ,其中 edges[i] [ai, bi] ,表示节点 a…...
Java的Mvc整合Swagger的knife4框架
Swagger的介绍 Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。使用Swagger,就是把相关的信息存储在它定义的描述文件里面(yml或json格式),再通过维护这个描述 文件可以去更…...
AI项目二十六:YOLOV11简单部署测试
若该文为原创文章,转载请注明原文出处。 一、YOLOv11介绍 继YOLOv 8、YOLOv 9和YOLOv10之后,发布的YOLOV11引入了几个突破性的增强功能,为目标检测和计算机视觉设定了新的基准。 增强的特征提取:YOLOv11使用改进的主干和颈部架构…...
19. Three.js案例-创建一个带有纹理映射的旋转平面
19. Three.js案例-创建一个带有纹理映射的旋转平面 实现效果 知识点 WebGLRenderer (WebGL渲染器) WebGLRenderer 是 Three.js 中用于渲染场景的主要类。它利用 WebGL 技术在浏览器中绘制 3D 图形。 构造器 new THREE.WebGLRenderer(parameters)参数类型描述parametersobj…...
【Makefile】编译日志之输出重定向符号 >
用法1 make all >& compilelog.txt make all > compilelog.txt这两个编译命令在功能上有一些细微的区别,主要在于标准输出和标准错误的处理方式。 make all >& compilelog.txt 这个命令会将标准输出(stdout)和标准错误&a…...