数据分析师技术和必备知识汇总-----Excle-----持续更新

news2024/9/25 17:19:47
数据分析师技术和必备知识汇总-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article/details/140174015

文章目录

  • 一、数据清洗
    • 1. 去除空格
    • 2. 字符串拼接
    • 3. 字符串截取
    • 4. 替换函数
    • 5. 求长度
    • 6. 相对引用和绝对引用
    • 7. 查找函数和排名排序
    • 8. 逻辑运算
    • 9. 计算统计类
      • 9.1 count系列
      • 9.2 SUM系列
      • 9.3 average系列
      • 9.4 MAX和MIN
      • 9.5 substotal
    • 10. 时间序列类
      • 10.1 时间日期
      • 10.2 星期
  • 二、软件操作技巧
  • 三、数据透视表
  • 四、图表
    • 1. 经典图表
      • 1.1 柱形图
      • 1.2 条形图
      • 1.3 折线图
      • 1.4 面积图
      • 1.5 组合图
      • 1.6 饼图
    • 2. 动态图表
      • 2.1 基础和offset函数

一、数据清洗

1. 去除空格

  1. 使用trim函数去除两边空格
    在这里插入图片描述
# 公式
=trim(text)
# 作用:去除单元格两端的空格(不包括中间的)
# 其中text表示要去除空格的字符串
  1. 查找替换去除全部空格,选中单元格后按快捷键Ctrl+H即可
  2. substitute函数替换
    在这里插入图片描述
# 公式
=substitute(text,old_text,new_text)
# 作用:字符串text中,将old_text全部替换为new_text

2. 字符串拼接

  1. &:and符号,表示和、与
    在这里插入图片描述
text1 & text2
#将text1和text2拼接起来
  1. concat函数:拼接指定内容
    在这里插入图片描述
=concat(text1,[text2],...)
# 拼接所有参数(text1,text2....)
  1. textjoin函数:以指定分隔符拼接
    在这里插入图片描述
textjoin(分隔符,TRUEFalse是否忽略空单元格,要连接的内容)
# 以指定分隔符拼接单元格,其中第二个参数表示是否忽略空单元格

3. 字符串截取

  1. mid函数:提取字符串中间的字符
=mid(text,start_num,num_chars)
# 从start_num位置开始,从text中提取num_chars个字符

在这里插入图片描述

  1. left函数:提取字符串左边的字符
left(text,[num_chars])
# 从左边开始,从text中提取num_chars个字符,
# num_chars默认为1,如果不指定num_chars,只会提取1个字符

在这里插入图片描述

  1. right函数:提取字符串右边的字符
right(text,[num_chars])
# 从右边开始,从text中提取num_chars个字符,
# num_chars默认为1,如果不指定num_chars,只会提取1个字符

在这里插入图片描述

4. 替换函数

  1. replace: 替换字符串中子串
    在这里插入图片描述
=replace(text,start_num,num_chars,new_text)
# 从text中start_num位置开始数num_chars个字符,替换为new_text
  1. substitute: 替换字符串中子串
    在这里插入图片描述
=substitute(text,old_text,new_text)
# 作用:字符串text中,将old_text全部替换为new_text

5. 求长度

  1. len函数:返回文本字符串中字符个数,一个中文字符长度计算为1
    在这里插入图片描述
=len(text)
# 求text的长度,汉字长度算1
  1. lenb函数:和len唯一不同是,一个中文字符长度算作2
    在这里插入图片描述
=lenb(text)
# 求text的长度,汉字长度算2
  1. 求出汉字的个数
  1. 因为len函数求的是字符个数,而lenb会在len的基础上,每个汉字额外+1.
  2. 所以lenb(text) - len(text) = text中汉字个数
    在这里插入图片描述

6. 相对引用和绝对引用

  1. 相对引用就是公式会随着你位置的变化而自动变化的引用
    在这里插入图片描述
  1. 绝对引用就是无论你怎么拖动你的公式,绝对引用的单元格不会相对变动
  1. 绝对引用的方式就在单元格列号和行号前加上$符号
  2. 混合引用只是锁定列,例如$A1,只会锁定A列,行依然会变动。而如果是A$1就是只锁定行,列依然会变动
    在这里插入图片描述
  1. 引用方式切换的快捷键是F4,在公式中对目标引用按下快捷键可以切换引用模式
    在这里插入图片描述

7. 查找函数和排名排序

重点:模糊匹配表示近似匹配,会返回小于该数值的最大数值。例如在100,1000,5000,10000,20000里面模糊匹配12000,那么它会返回所有小于12000的值中最大的一个。也就是100,1000,5000,10000,20000里面小于12000的100,1000,5000,10000中的最大值,也就是10000
在这里插入图片描述

lookup
  1. vlookup:纵向查找,搜索表区域首列满足条件的元素,确定待检索单元格在区域中的行序号,再进一步返回选定单元格的值,默认情况下,表以升序排序
    在这里插入图片描述
vlookup(lookup_value,table_array,col_index_num,range_lookup)
# 在table_array目标区域中,按列查找满足lookup——value查找条件的值。查找到结果时
# 只会显示指定的col_index_num列结果,range_lookup取值为TRUE(近似匹配)或False(精确匹配)
  1. hlookup:横向查找,有些表给的时候和上面的图的表不一样,是横向排列的,因此需要hlookup
    在这里插入图片描述
hlookup(lookup_value,table_array,row_index_num,[range_lookup])
# 和vlookup的区别是,hlookup是按行走,显示结果也是行
  1. xlookup函数:按行查找表或区域中的东西
  1. 多行(列)查找,这里直接演示比较难得行查找
    在这里插入图片描述
  2. 如果找不到,我们可以指定if_not_found参数,在没找到时显示指定值
    在这里插入图片描述
=xlookup(lookup_value,lookup_array,return_array,[if_not_found],[match_mode],[search_mode])
# lookup_value:要匹配的值
# lookup_array:要匹配的区域
# return_array:要返回的区域(hlookup和vlookup只能返回单行或单列)
# if_not_found:如果没有找到怎么办
# match_mode:如何进行匹配
# search_mode:如何进行搜索
index和match

在这里插入图片描述

着重掌握index嵌套match的方式,vlookup要求目标字段在第一列,而index和match不限制,要学会如何使用index+match替代vlookup

  1. index函数:根据位置返回单元格的值
index(array,row_num,[column_num])
# 根据指定行和和列号,返回指定区域中单元格的值
# array:查找的区域
# row_num:行号
# column:列号
  1. match函数:根据单元格的值返回位置
match(lookup_value,lookup_array,[match_type])
# 和index正好相反,match是根据单元格的值返回指定区域的行号和列号
rank排名函数

rank函数:返回一列数字的排名

  1. rank.eq:数字相同,排名相同
    在这里插入图片描述
rank.eq(number,ref,[order])
# number: 要排名的值
# ref:要排名的区域
# order:升序还是降序(0降序,1升序)
  1. rank.avg:排名相同,取平均
    在这里插入图片描述
rank.avg(number,ref,[order])
排序后如何顺位修正
  1. 直接用rank函数排序会出现相同名次的情况
    在这里插入图片描述
  2. 假设现在我们要进行顺位修正,第二个相同排名的自动顺位+1,例如第一个排名第3的就是第三,第二个排名第三的,自动顺位到第4

所以我们现在统计每个排名是第几次重复
在这里插入图片描述

  1. 知道了第几次重复后,就可以进行顺位了,也就是原rank排名+第几次重复 - 1就是修正后的顺位排名
    在这里插入图片描述

8. 逻辑运算

if
  1. 用于判断数字或变量之间的逻辑关系
    在这里插入图片描述
if(logical_test,value_if_true,[value_if_false])
# if(如果为True,执行指定操作,否则执行其它操作)
# 可以多层嵌套,和编程一样
and
  1. 逻辑判断,相当于并且操作。全部参数为True则返回True
    在这里插入图片描述
AND(条件1,条件2,.....)
# 所有条件都满足返回True
or
  1. 逻辑判断,相当于或操作,只要一个参数为True,则返回True
OR(条件1,条件2,....)
# 所以条件,只要有一个满足就返回TRUE

9. 计算统计类

9.1 count系列

count

计算包含数字的单元格个数,非数字不统计

count(value1,[value2],...)
# value1,value2...是计数的单元格区域
counta

计算区域非空单元格的个数

counta(value1,[value2],...)
countif

用于统计满足某个条件的单元格的数量,只能包含一个条件

countif(range,criteria)
# range:条件区域
# criteria:需要满足的具体条件
countifs

计数,多条件统计。也就是可以多个条件统计了

countifs(criteria_range1,criteria1,[criteria_range2,criteria2],....)
# criteria_range1,criteria1是第一个条件区域和条件
# [criteria_range2,criteria2],....第二个和后面的条件区域和条件

在这里插入图片描述

9.2 SUM系列

sum

求和,单个值,单元格引用或者区域引用的和

sum(number1,[number2],....)
#求number1,[number2],....的和
sumif

条件求和,只有满足条件的值才进行求和

sumif(range,criteria,[sum_range])
# range:条件区域
# criteria:条件
# [sum_range]:要求和区域,如果不指定,就将条件区域当为求和区域
sumifs

多条件求和

sumifs(sum_range,criteria_range1,criteria1,[criteria_range2,criteria2],...)
# sum_range:要求和区域
# criteria_range1,criteria1,[criteria_range2,criteria2],...
# 若干条件区域和条件

在这里插入图片描述

9.3 average系列

average

返回参数平均值(算术平均值)

average(number1,[number2],...)
# 求number1,[number2],...的平均值
averageif

返回某个区域内满足给定条件的所有单元格的平均值

averageif(range,criteria,[average_range])
# 求range区域中符合criteria条件的,指定average_range区域的平均值
averageifs

返回满足多个条件的所有单元格的平均值

averageifs(average_range,criteria_range1,criteria1,[criteria_range2,criteria2],...)
# average_range 要求平均值的区域
# criteria_range1条件区域1
# criteria1条件1
# [criteria_range2,criteria2],...其余条件区域和条件

在这里插入图片描述

9.4 MAX和MIN

max

求最大值

min

求最小值

在这里插入图片描述

9.5 substotal

  1. 汇总函数,可以求平均值、计数、求和、最大/最小值、标准差、方差等。也就是说,如果你突然忘记了上面介绍的某个函数,这一个汇总函数,可以临时去用它做简单的代替。但它主要作用就对筛选敏感,想要完全替代上面介绍的函数是不可能的,这就是一个汇总函数
    在这里插入图片描述
substotal(函数编号,引用区域)
# 函数编号:你想用的函数对应编号,例如1表示average函数
# 引用区域:你想使用函数的区域
  1. 如果我们不进行筛选,substotal和普通函数结果是一样的
    在这里插入图片描述
  2. 如果进行筛选,substotal的结果是会根据筛选结果发生变化的
    在这里插入图片描述

10. 时间序列类

10.1 时间日期

年月日
  1. year:提取日期中的年份
year(serial_number)
  1. month:提取日期中的月份
month(serial_number)
  1. day:提取日期中的天数
day(serial_number)
获取当前日期时间
  1. today():获取当前日期
  2. now():获取当前日期、时间

在这里插入图片描述

10.2 星期

weekday

返回对应于某个日期的一周中的第几天

weekday(serial_number,[return_type])
# 返回时间序列serial_number的星期几。
# return_type = 1或省略时,星期日为1,星期六为7
# return_type = 2时,星期一为1,星期日为7
weeknum

返回特定日期的周数。例如包含1月1日的周为该年的第一周,编号为第一周

weeknum(serial_number,[return_type])

在这里插入图片描述

  1. 对于2024年7月5号来说,是星期五,那么可以用weekday(2024/7/5,2)来返回5,表示星期5.
  2. 对于这一天是2024年第几周,我们用weeknum(2024/7/5,2),来返回27,表示第27周
datedif

计算两个日期之间相隔的天数、月数或年数

datedif(start_date,end_date,unit)
# unit表示返回结果,Y一段时间内的整年数,M一段时间内的整月数,D一段时间内的天数

在这里插入图片描述

  1. 2019年11月26日与2022年1月1日相差2年,月数相差25个月,如果是用天来统计是767天
  2. 对于年数来说,用公式datedif(2019/11/26,2022/1/1,“Y”)来获取。最后一个参数改成"M"就是月,"D"就是天数

二、软件操作技巧

由于篇幅限制,将其放在了另一篇文章中:https://blog.csdn.net/grd_java/article/details/140267717

三、数据透视表

由于篇幅限制,将其放在了另一篇文章中:https://blog.csdn.net/grd_java/article/details/140267852

四、图表

1. 经典图表

1.1 柱形图

对比柱形图
  1. 假设我们有一个KPI指标和实际完成表格,我们要对比每个月份的KPI和实际完成情况。就可以使用对比柱形图
    在这里插入图片描述
  1. 选中数据区域后,插入选项卡——图表菜单——柱形图按钮
    在这里插入图片描述
  1. 选中柱形图中的橙色柱形条(实际完成),右键单击鼠标后,选择设置数据系列格式
    在这里插入图片描述
  1. 将其放在次坐标轴上,两个柱子就重叠了
    在这里插入图片描述
  1. 此时我们发现图表两边的纵轴数值不一样,我们只需要依次双击这两个纵轴,设置坐标轴格式为相同即可
    在这里插入图片描述
  1. 为了区分,我们讲KPI那根蓝色柱子放宽一点,依然是选中蓝色柱子,然后右键,进入设置数据系列格式菜单,然后调整宽度
    在这里插入图片描述
堆积柱形图

例如对比每个月各地区销量的情况下,可以用这种。操做方法就是选择数据区域,然后选择堆积柱形图
在这里插入图片描述

  1. 上图中,我们可以看到柱形图显示的是每个地区各月销量,和我们要求的每个月各地区效率相反,此时只需要点击图表设计选项卡——切换行/列即可
    在这里插入图片描述

1.2 条形图

正负条形图
  1. 假设我们的数据有正有负怎么制作合适的条形图呢?
  2. 首先我们需要一个辅助列,利用函数Sign,来标识数据的正负。sign函数的作用就是正数返回1,负数返回-1,0返回0
    在这里插入图片描述
  1. 为了方便显示,因为增长率是百分比,所以我们给辅助列乘0.5。然后添加负号,负号的作用是让生成的图表符合我们的预期。然后我们为整个数据包括辅助列生成堆积条形图
    在这里插入图片描述
    在这里插入图片描述
  1. 我们发现纵轴是倒着排的,如果我们想让公司1排在上面就点击坐标轴,然后右键进入设置坐标轴格式菜单,然后勾选逆序类别
    在这里插入图片描述
  1. 辅助列和纵坐标轴我一般是不让其显示的。我会选择在这一步删掉纵坐标轴,然后将辅助列条形图变为透明
    在这里插入图片描述
  1. 我们选择所有增长率条,设置其数据系列格式,然后选择以互补色代表负值,为其设置颜色
    在这里插入图片描述
  1. 展示数据标签,点击图表,右边会有一个加号,点击加号后勾选数据标签
    在这里插入图片描述
  1. 选中辅助列的所有数据标签,右键单击,设置其格式。首先勾选类别名称,取消勾选值。然后上面三个标签的位置设置为数据标签内,下面两个设置为轴内侧
    在这里插入图片描述

1.3 折线图

坐标轴简化

折线图很简单,但是坐标轴很容易乱
在这里插入图片描述

  1. 调整坐标轴格式,我们可以先将单位设置为年
    在这里插入图片描述
  1. 然后将数字的格式代码设置为yyyy表示只显示年
    在这里插入图片描述

1.4 面积图

1. 简化年份,例如2010-2011变成2010-11
  1. 设置辅助列,通过right函数,提取年份后两位
    在这里插入图片描述
  1. 创建面积图
    在这里插入图片描述
  1. 选中图表后,点击图表设计选项卡——选择数据按钮,在水平分类轴选择编辑,然后选择我们辅助列。此时横坐标就简化了
    在这里插入图片描述
    在这里插入图片描述
2. 给面积图上面加折线图边框
  1. 选中图表,点击图表设计选项卡——选择数据按钮。在图列项窗口选择添加,
    在这里插入图片描述
  1. 系列值去引用数据,也就是GDP那一列
    在这里插入图片描述
  1. 选择刚刚添加的橙色区域,点击更改图表类型,选中折线图
    在这里插入图片描述
3. 最高点赋值
  1. 选中图表,在插入选项卡中选择插入文本框,然后通过公式引用最高点的值
    在这里插入图片描述

1.5 组合图

  1. 有时候我们直接使用图表,会因为数据之间跨度不一致而导致有些数据体现不出来。例如下图中同比增长率太小,整条曲线几乎看不出变化
    在这里插入图片描述
  1. 选中图表后,我们选择更改图表类型,选择组合图,将同比增长率放在次坐标轴
    在这里插入图片描述

当然,我们可以直接选中数据,插入组合图
在这里插入图片描述

1.6 饼图

复合饼图
  1. 当有些数据占比很小时,饼图中几乎就看不到了。此时就需要用复合饼图,或者说子母饼图
    在这里插入图片描述
  1. 点击图表,右上角的加号中,添加数据标签
    在这里插入图片描述
  1. 子饼图如何控制哪些放过去呢?只需要进入设置序列格式菜单,这里选择以值为系列分割依据,并将3%以下的都放在子饼图中
    在这里插入图片描述
  1. 我们可以选择饼图分离,将颜色改为统一一点的,字体颜色需要选中数据标签,去开始选项卡修改
    在这里插入图片描述

2. 动态图表

2.1 基础和offset函数

OFFSET函数
offset(reference,rows,cols,[height],[width])
# reference: 基点,后面的参数偏移都以这个基点进行偏移
# rows:偏移几行,正数表示向上偏移,负数表示向下偏移
# cols:偏移几列,正数表示向右偏移,负数表示向左偏移
# height:新引用几行,默认为1
# width:新引用几列,默认为1

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

单链表详解(2)

三、函数定义 查找节点 //查找结点 SLTNode* SLTNodeFind(SLTNode* phead, SLTDataType x) {assert(phead);SLTNode* pcur phead;while (pcur){if (pcur->data x){return pcur;}pcur pcur->next;}return NULL; } 查找节点我们是通过看数据域来查找的,查…

什么?这动物图片可以上国家地理?

stable difussion中大部分的模型都是关于人的,今天交给大家一些不一样的:如何生成动物图片。在这篇文章中我们将会学到如何生成逼真的动物,可爱的动物,还有幻想中的动物。 准备工作 当然前提是你需要一个SD的软件,你可以用本地的SD webUI或…

高清图片压缩无水印小程序源码系统 前后端分离 带完整的安装代码包以及搭建教程

系统概述 在当今的数字化时代,图片作为信息传播的重要载体,其质量和传输效率直接影响到用户体验。然而,高清图片往往伴随着较大的文件体积,这不仅会占用大量存储空间,还会拖慢网页或应用的加载速度。因此,…

【VUE基础】VUE3第七节—Vue Router路由基础

Vue Router 是 Vue 官方的客户端路由解决方案。 客户端路由的作用是在单页应用 (SPA) 中将浏览器的 URL 和用户看到的内容绑定起来。当用户在应用中浏览不同页面时,URL 会随之更新,但页面不需要从服务器重新加载。 Vue Router 基于 Vue 的组件系统构建&…

代码随想录-Day55

42. 接雨水 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 输入:height [0,1,0,2,1,0,1,3,2,1,2,1] 输出:6 解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高…

【VS2019】安装下载库HtmlAgilityPack,可解析 HTML (图文详情)

目录 0.背景 1.环境 2.详细步骤 0.背景 项目需要&#xff0c;搭建WCF服务&#xff0c;需求是输入一个string类型字符串&#xff08;网页代码&#xff0c;如<html><body><p>Hello, <b>World</b>!</p></body></html>&#xf…

[嵌入式 C 语言] 按位与、或、取反、异或

一、按位与 & 有0则0&#xff0c;全1则11010 & 0011 00100xef & 0xfe 0xee &#xff08; 0x1110 1111 & 0x1111 1110 0x1110 1110&#xff09; 若协议中如下图所示&#xff1a; 1.1 配合左移运算符 << 取指定的位 说明&#xff1a;DEC表示十进制、…

原生APP开发的优势

原生APP开发是指使用特定的编程语言和开发工具&#xff0c;针对特定的操作系统平台进行开发的应用程序。相比于混合开发和Web开发&#xff0c;原生APP开发具有以下优势。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。 1. 性能更优 原…

echartsBug-dataZoom拖拽无效果

项目情况&#xff1a;"vue": "3.2.4",使用vue2语法开发 遇到问题&#xff1a;想要给图表增加dataZoom,但是拉拽的时候不生效 解决方法&#xff1a; 这个情况同样也会发生在tooltip不生效上。 之前的写法是将myChart定义在data()之中&#xff0c;但是无效…

怎么用js语句动态调整 .jstree.jstree-2.jstree-default 高度

&#x1f3c6;本文收录于《CSDN问答解惑》专栏&#xff0c;主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案&#xff0c;希望能够助你一臂之力&#xff0c;帮你早日登顶实现财富自由&#x1f680;&#xff1b;同时&#xff0c;欢迎大家关注&&收藏&…

PHP全民投票微信小程序系统源码

&#x1f5f3;️【全民参与的力量】全民投票系统小程序&#xff0c;让决策更民主&#xff01; &#x1f310; 一键启动&#xff0c;全民参与 全民投票系统小程序&#xff0c;是连接每一个声音的高效桥梁。只需简单几步&#xff0c;即可在线发起投票活动&#xff0c;无论是社区…

java基础01—根据源码分析128陷阱以及如何避免128陷阱

源码分析128陷阱 如上图所示&#xff0c;int类型数据超过127依旧能正常比较&#xff0c;但Integer类型就无法正确比较了 /*** Cache to support the object identity semantics of autoboxing for values between* -128 and 127 (inclusive) as required by JLS.** The cache …

vue3在defineProps中使用多语言t,打包报错

报错原因 代码如下 打包后就会报错 defineProps() in script setup cannot reference locally declared variables because it will be hoisted outside of the setup() function. If your component options require initialization in the module scope, use a separate no…

LLm与微调

推荐尝试的微调模型 internlm2-20b-chat&#xff0c;internlm2-7b-chat&#xff0c; Qwen2-7B-Instruct, Qwen2-1.5B-Instruct, Qwen1.5-32B-Chat (Qwen2-0.5B、Qwen2-1.5B, qwen1.5的4B&#xff0c;7B&#xff0c;14B&#xff0c;32B) glm-4-9b-chat, glm-4-9b-chat-1m, gl…

设计资料:520-基于ZU15EG 适配AWR2243的雷达验证底板 高速信号处理板 AWR2243毫米波板

基于ZU15EG 适配AWR2243的雷达验证底板 一、板卡概述 本板卡系北京太速科技自主研发&#xff0c;基于MPSOC系列SOC XCZU15EG-FFVB1156架构&#xff0c;搭载两组64-bit DDR4&#xff0c;每组容量32Gb&#xff0c;最高可稳定运行在2400MT/s。另有1路10G SFP光纤接口、1路40G…

记录一次MySql锁等待 (Lock wait timeout exceeded)异常

[TOC](记录一次MySql锁等待 (Lock wait timeout exceeded)异常) Java执行一个SQL查询未提交&#xff0c;遇到1205错误。 java.lang.Exception: ### Error updating database. Cause: java.sql.SQLException: Lock wait timeout exceeded; try restarting transactionCluster…

用Canvas绘制一个高可配置的圆形进度条

&#x1f680; 用Canvas绘制一个高可配置的圆形进度条 问题分析与拆解第一步&#xff0c;初始化一些默认参数&#xff0c;处理canvas模糊问题第二步&#xff0c;定义绘制函数1. 定义绘制主函数入口&#xff0c;该函数汇集了我们定义的其它绘制方法2. 定义绘制圆环函数3. 定义绘…

Linux-多线程

线程的概念 在一个程序里的一个执行路线就叫做线程&#xff08;thread&#xff09;。更准确的定义是&#xff1a;线程是“一个进程内部的控制序列”一切进程至少都有一个执行线程线程在进程内部运行&#xff0c;本质是在进程地址空间内运行在Linux系统中&#xff0c;在CPU眼中…

IO之反序列化漏洞

hutool之XmlUtil反序列化漏洞 同样存在漏洞的方法还有IoUtil.readObject方法&#xff0c;存在反序列化漏洞&#xff0c;这些方法的漏洞在JDK中本身就存在&#xff0c;而且JDK的做法是要求用户自行检查内容&#xff0c;作为工具类&#xff0c;这块没法解决。hutool在新版本中把这…

800 元打造家庭版 SOC 安全运营中心

今天,我们开始一系列新的文章,将从独特而全面的角度探索网络安全世界,结合安全双方:红队和蓝队。 这种方法通常称为“紫队”,集成了进攻和防御技术,以提供对威胁和安全解决方案的全面了解。 在本系列的第一篇文章中,我们将指导您完成以 100 欧元约800元左右的预算创建…