《机器学习数学基础》补充资料:柯西—施瓦茨不等式以及相关证明
《机器学习数学基础》 153 页,针对图 3-4-3,提出了一个问题:“点 A A A 到 W \mathbb{W} W 上的一个点的距离有无穷多个。现在,我们最关心的是其中最短的那个,怎么找?请参阅 3.6 节。”并且,在 3.6 节,使用最小二乘法,找到了点 A A A 为终点的向量在 W \mathbb{W} W 上的投影向量,那么这两个向量的距离就是“最短的那个”。
但是,书中没有证明此结论。
本文中将在介绍柯西—施瓦茨不等式的基础上,证明此上述结论。
柯西-施瓦茨不等式(Cauchy–Schwarz inequality),又称施瓦茨不等式或柯西-布尼亚科夫斯基-施瓦茨不等式(Cauchy–Bunyakovsky–Schwarz inequality)不等式,是以奧古斯丁·路易·柯西(Augustin Louis Cauchy),赫尔曼·阿曼杜斯·施瓦茨(Hermann Amandus Schwarz)和维克托·雅科夫列维奇·布尼亚科夫斯基(Виктор Яковлевич Буняковский)来命名的 [ 1 ] ^{[1]} [1]。
1. 不等式
1.1 定理 1
已知 a 1 , ⋯ , a n , b 1 , ⋯ , b n a_1,\cdots,a_n,b_1,\cdots,b_n a1,⋯,an,b1,⋯,bn 为实数,则:
( ∑ i = 1 n a i b i ) 2 ≤ ( ∑ i = 1 n a i 2 ) ( ∑ i = 1 n b i 2 ) (1.1) \left(\sum_{i=1}^na_ib_i\right)^2\le\left(\sum_{i=1}^na_i^2\right)\left(\sum_{i=1}^nb_i^2\right) \tag{1.1} (i=1∑naibi)2≤(i=1∑nai2)(i=1∑nbi2)(1.1)
等式成立的成分必要条件是 a i = λ b i , ( i = 1 , ⋯ , n ) a_i=\lambda b_i,(i=1,\cdots,n) ai=λbi,(i=1,⋯,n) 。
这是比较常见的柯西不等式形式。
1.2 定理 2
已知 a 1 , ⋯ , a n , b 1 , ⋯ , b n a_1,\cdots,a_n,b_1,\cdots,b_n a1,⋯,an,b1,⋯,bn 为复数,则:
∣ ∑ i = 1 n a i b i ∣ 2 ≤ ( ∑ i = 1 n ∣ a i ∣ 2 ) ( ∑ i = 1 n ∣ b i ∣ 2 ) (1.2) \left|\sum_{i=1}^na_ib_i\right|^2\le\left(\sum_{i=1}^n|a_i|^2\right)\left(\sum_{i=1}^n|b_i|^2\right) \tag{1.2} i=1∑naibi 2≤(i=1∑n∣ai∣2)(i=1∑n∣bi∣2)(1.2)
等式成立的成分必要条件是 a i = λ b i , ( i = 1 , ⋯ , n ) a_i=\lambda b_i,(i=1,\cdots,n) ai=λbi,(i=1,⋯,n) , λ \lambda λ 为一复数。
若令 a = [ a 1 ⋯ a n ] , b = [ b 1 ⋯ b n ] \pmb{a}=\begin{bmatrix}a_1&\cdots&a_n\end{bmatrix},\pmb{b}=\begin{bmatrix}b_1&\cdots&b_n\end{bmatrix} a=[a1⋯an],b=[b1⋯bn] ,则柯西不等式可表示为:
∣ a ⋅ b ∣ ≤ ∥ a ∥ ∥ b ∥ (1.3) |\pmb{a}\cdot\pmb{b}|\le\begin{Vmatrix}\pmb{a}\end{Vmatrix}\begin{Vmatrix}\pmb{b}\end{Vmatrix}\tag{1.3} ∣a⋅b∣≤ a b (1.3)
1.3 定理 3
已知 A = ( a i j ) \pmb{A}=(a_{ij}) A=(aij) 是正定对称矩阵, x 1 , ⋯ , x n ; y 1 , ⋯ , y n x_1,\cdots,x_n;y_1,\cdots,y_n x1,⋯,xn;y1,⋯,yn 为任意实数(或复数),则:
∣ ∑ i , j = 1 n a i j x i y j ∣ ≤ ∑ i , j = 1 n a i j x i x j ∑ i , j = 1 n a i j y i y j (1.4) \left|\sum_{i,j=1}^na_{ij}x_iy_j\right|\le\sqrt{\sum_{i,j=1}^na_{ij}x_ix_j}\sqrt{\sum_{i,j=1}^na_{ij}y_iy_j}\tag{1.4} i,j=1∑naijxiyj ≤i,j=1∑naijxixji,j=1∑naijyiyj(1.4)
对(1.4)式,可以用向量表示:
- ζ ⋅ η = x A y = ∑ i , j = 1 n a i j x i y j \pmb{\zeta}\cdot\pmb{\eta}=\pmb{xAy}=\sum_{i,j=1}^na_{ij}x_iy_j ζ⋅η=xAy=∑i,j=1naijxiyj
- ∥ ζ ∥ 2 = ζ ⋅ ζ = x A x T = ∑ i , j = 1 n a i j x i x j \begin{Vmatrix}\zeta\end{Vmatrix}^2=\pmb{\zeta\cdot\zeta}=\pmb{xAx}^T=\sum_{i,j=1}^na_{ij}x_ix_j ζ 2=ζ⋅ζ=xAxT=∑i,j=1naijxixj
- ∥ η ∥ 2 = η ⋅ η = y A y T = ∑ i , j = 1 n a i j y i y j \begin{Vmatrix}\eta\end{Vmatrix}^2=\pmb{\eta\cdot\eta}=\pmb{yAy}^T=\sum_{i,j=1}^na_{ij}y_iy_j η 2=η⋅η=yAyT=∑i,j=1naijyiyj
1.4 定理 4
已知 a i , b i ∈ C a_i,b_i\in\mathbb{C} ai,bi∈C ,则:
∣ ∑ i , j = 1 ∞ a i b j ∣ ≤ ( ∑ i = 1 ∞ ∣ a i ∣ 2 ) 1 2 ( ∑ i = 1 ∞ ∣ b i ∣ 2 ) 1 2 (1.5) |\sum_{i,j=1}^{\infty}a_ib_j|\le\left(\sum_{i=1}^{\infty}|a_i|^2\right)^{\frac{1}{2}}\left(\sum_{i=1}^{\infty}|b_i|^2\right)^{\frac{1}{2}} \tag{1.5} ∣i,j=1∑∞aibj∣≤(i=1∑∞∣ai∣2)21(i=1∑∞∣bi∣2)21(1.5)
等式成立的充分必要条件是 a i = λ b i , ( i = 1 , ⋯ , λ ∈ C ) a_i=\lambda b_i,(i=1,\cdots,\lambda\in\mathbb{C}) ai=λbi,(i=1,⋯,λ∈C) 。
将定理 4 推广到积分形式,即为柯西—施瓦茨不等式。
1.5 定理 5
已知 f , g f,g f,g 是区间 [ a , b ] [a,b] [a,b] 上的连续函数, f , g ∈ C [ a , b ] f,g\in\mathbb{C}[a,b] f,g∈C[a,b] ,则:
∣ ∫ a b f ( x ) g ( x ) d x ∣ ≤ ∫ a b ∣ f ( x ) ∣ 2 d x ∫ a b ∣ g ( x ) ∣ 2 d x (1.7) \begin{vmatrix}\int_a^bf(x)g(x)dx\end{vmatrix}\le\int_a^b|f(x)|^2dx\int_a^b|g(x)|^2dx\tag{1.7} ∫abf(x)g(x)dx ≤∫ab∣f(x)∣2dx∫ab∣g(x)∣2dx(1.7)
(1.7)式称为柯西-施瓦茨不等式(Cauchy–Schwarz inequality)、施瓦茨不等式或柯西-布尼亚科夫斯基-施瓦茨不等式(Cauchy–Bunyakovsky–Schwarz inequality)。此不等式是乌克兰数学家 Viktor Yakovlerich Bunyakovsky(1804-1889)与德国数学家(原籍波兰)KarlHerman Amandus Schwarz (1843-1921),分别于1861年和1885年发现。虽然布尼亚克夫斯基比施瓦茨先发现了这个不等式,而在很多数学教材中,常常把他的名字忽略——恐怕不是因为他名字太长,更可能的原因是 19 世纪,数学研究的中心在德国、法国,不在这个中心的人所作出的发现,就很难引起重视。这种现象在当今也难免。
1.6 定理 6
已知 a 1 , ⋯ , a n ; b 1 , ⋯ , b n a_1,\cdots,a_n;b_1,\cdots,b_n a1,⋯,an;b1,⋯,bn 为任意复数,且 p , q ≥ 1 , 1 p + 1 q = 1 p,q\ge1,\frac{1}{p}+\frac{1}{q}=1 p,q≥1,p1+q1=1 ,则:
∣ ∑ i = 1 n a i b i ∣ ≤ ( ∑ i = 1 n ∣ a i ∣ p ) 1 p ( ∑ i = 1 n ∣ b i ∣ q ) 1 q (1.9) |\sum_{i=1}^{n}a_ib_i|\le\left(\sum_{i=1}^{n}|a_i|^p\right)^{\frac{1}{p}}\left(\sum_{i=1}^{n}|b_i|^q\right)^{\frac{1}{q}} \tag{1.9} ∣i=1∑naibi∣≤(i=1∑n∣ai∣p)p1(i=1∑n∣bi∣q)q1(1.9)
(1.9)式称为赫尔德不等式 (H ̈older不等式),如果推广到积分形式,就是下面的定理7。
1.7 定理 7
已知 f , g ∈ C [ a , b ] , p , q ≥ 1 , 1 p + 1 q = 1 f,g\in\mathbb{C}[a,b],p,q\ge1,\frac{1}{p}+\frac{1}{q}=1 f,g∈C[a,b],p,q≥1,p1+q1=1 ,则:
∣ ∫ a b f ( x ) g ( x ) d x ∣ ≤ ( ∫ a b ∣ f ( x ) ∣ p d x ) 1 p ( ∫ a b ∣ g ( x ) ∣ q d x ) 1 q (1.10) \begin{vmatrix}\int_a^bf(x)g(x)dx\end{vmatrix}\le\left(\int_a^b|f(x)|^pdx\right)^{\frac{1}{p}}\left(\int_a^b|g(x)|^qdx\right)^{\frac{1}{q}}\tag{1.10} ∫abf(x)g(x)dx ≤(∫ab∣f(x)∣pdx)p1(∫ab∣g(x)∣qdx)q1(1.10)
还可以写成更一般的形式,定理8所示。
1.8 定理 8
已知 f 1 , ⋯ , f n ∈ C [ a , b ] f_1,\cdots,f_n\in\mathbb{C}[a,b] f1,⋯,fn∈C[a,b] ,且 1 p 1 + 1 p 2 + ⋯ + 1 p n = 1 , p i ≥ 1 \frac{1}{p_1}+\frac{1}{p_2}+\cdots+\frac{1}{p_n}=1,p_i\ge1 p11+p21+⋯+pn1=1,pi≥1 ,则:
∣ ∫ a b f 1 ( x ) f 2 ( x ) ⋯ f n ( x ) d x ∣ ≤ ( ∫ a b ∣ f 1 ( x ) ∣ p 1 d x ) 1 p 1 ⋯ ( ∫ a b ∣ f n ( x ) ∣ p n d x ) 1 p n (1.11) \begin{vmatrix}\int_a^bf_1(x)f_2(x)\cdots f_n(x)dx\end{vmatrix}\le\left(\int_a^b|f_1(x)|^{p_1}dx\right)^{\frac{1}{p_1}}\cdots\left(\int_a^b|f_n(x)|^{p_n}dx\right)^{\frac{1}{p_n}}\tag{1.11} ∫abf1(x)f2(x)⋯fn(x)dx ≤(∫ab∣f1(x)∣p1dx)p11⋯(∫ab∣fn(x)∣pndx)pn1(1.11)
德国数学家赫尔德(Otto Lud-wig H ̈older (1859-1937))在1885年研究傅里叶技术收敛性问题时,发现了上述不等式。
赫尔德不等式,也称为赫尔德—里斯不等式(H ̈older-Riesz)。
当 p = q = 2 p=q=2 p=q=2 ,赫尔德不等式就退化为柯西—施瓦茨不等式。
2. 余弦定理
对柯西—施瓦茨不等式的最直接理解,可以通过余弦定理,如图所示:

由余弦定理,得:
∣ a ∣ 2 + ∣ b ∣ 2 − ∣ a − b ∣ 2 = 2 ∣ a ∣ ∣ b ∣ cos θ (2.1) |\pmb{a}|^2+|\pmb{b}|^2-|\pmb{a}-\pmb{b}|^2=2|\pmb{a}||\pmb{b}|\cos\theta \tag{2.1} ∣a∣2+∣b∣2−∣a−b∣2=2∣a∣∣b∣cosθ(2.1)
所以: a ⋅ b = ∣ a ∣ ∣ b ∣ cos θ \pmb{a}\cdot\pmb{b}=|\pmb{a}||\pmb{b}|\cos\theta a⋅b=∣a∣∣b∣cosθ
因为: ∣ cos θ ∣ ≤ 1 |\cos\theta|\le1 ∣cosθ∣≤1 ,可得:
∣ a ⋅ b ∣ ≤ ∣ a ∣ ∣ b ∣ (2.2) |\pmb{a}\cdot\pmb{b}|\le|\pmb{a}||\pmb{b}|\tag{2.2} ∣a⋅b∣≤∣a∣∣b∣(2.2)
亦即得到了(1.3)式。
3. 柯西—施瓦茨不等式的证明
3.1 判别式
这是一种最常见的证明方法。
向量 a , b \pmb{a},\pmb{b} a,b 不平行,所以: c = b − λ a , λ ∈ R \pmb{c}=\pmb{b}-\lambda\pmb{a},\lambda\in\mathbb{R} c=b−λa,λ∈R 。
计算 c \pmb{c} c 的长度:
∣ c ∣ 2 = c ⋅ c = ( b − λ a ) ⋅ ( b − λ a ) = b ⋅ b − 2 a ⋅ b λ + a ⋅ a λ 2 = ∣ a ∣ 2 λ 2 − 2 a ⋅ b λ + ∣ b ∣ 2 (3.1) \begin{split}|\pmb{c}|^2&=\pmb{c\cdot c}=(\pmb{b}-\lambda\pmb{a})\cdot(\pmb{b}-\lambda\pmb{a})\\&=\pmb{b\cdot b}-2\pmb{a\cdot b}\lambda+\pmb{a\cdot a}\lambda^2\\&=|\pmb{a}|^2\lambda^2-2\pmb{a}\cdot\pmb{b}\lambda+|\pmb{b}|^2\end{split} \tag{3.1} ∣c∣2=c⋅c=(b−λa)⋅(b−λa)=b⋅b−2a⋅bλ+a⋅aλ2=∣a∣2λ2−2a⋅bλ+∣b∣2(3.1)
将(3.1)式视为 λ \lambda λ 的一元二次方程。由于 ∣ c ∣ 2 ≥ 0 |\pmb{c}|^2\ge0 ∣c∣2≥0 ,且 ∣ a ∣ 2 ≥ 0 |\pmb{a}|^2\ge0 ∣a∣2≥0 。所以(3.1)式中的二次函数是开口向上的抛物线,且与横轴无交点( ∣ c ∣ 2 = 0 |\pmb{c}|^2=0 ∣c∣2=0 是极限),即 λ \lambda λ 没有实根,所以判别式小于等于 0 0 0 。
Δ = ( 2 a ⋅ b ) 2 − 4 ∣ a ∣ 2 ∣ b ∣ 2 ≤ 0 \Delta=(2\pmb{a\cdot b})^2-4|\pmb{a}|^2|\pmb{b}|^2\le0 Δ=(2a⋅b)2−4∣a∣2∣b∣2≤0
所以: ∣ a ⋅ b ∣ ≤ ∣ a ∣ ∣ b ∣ |\pmb{a}\cdot\pmb{b}|\le|\pmb{a}||\pmb{b}| ∣a⋅b∣≤∣a∣∣b∣
3.2 投影——最短距离
前述证明中,避免了余弦定理中的角度,使用了向量的点积,对任意维的向量都适用。
由前述假设,可得 λ \lambda λ :
λ = a ⋅ b ∣ a ∣ 2 , c = b − λ a = b − a ⋅ b ∣ a ∣ 2 a (3.2) \lambda=\frac{\pmb{a\cdot b}}{|\pmb{a}|^2}, \quad\pmb{c}=\pmb{b}-\lambda\pmb{a}=\pmb{b}-\frac{\pmb{a\cdot b}}{|\pmb{a}|^2}\pmb{a} \tag{3.2} λ=∣a∣2a⋅b,c=b−λa=b−∣a∣2a⋅ba(3.2)
将(3.2)式代入到(3.1)式,则:
0 ≤ ∣ c ∣ 2 = ∣ a ∣ 2 ( a ⋅ b ∣ a ∣ 2 ) 2 − 2 a ⋅ b ( a ⋅ b ∣ a ∣ 2 ) + ∣ b ∣ 2 (3.3) 0\le|\pmb{c}|^2=|\pmb{a}|^2\left(\frac{\pmb{a\cdot b}}{|\pmb{a}|^2}\right)^2-2\pmb{a\cdot b}\left(\frac{\pmb{a\cdot b}}{|\pmb{a}|^2}\right)+|\pmb{b}|^2 \tag{3.3} 0≤∣c∣2=∣a∣2(∣a∣2a⋅b)2−2a⋅b(∣a∣2a⋅b)+∣b∣2(3.3)
整理得: ( a ⋅ b ) 2 ≤ ∣ a ∣ 2 ∣ b ∣ 2 (\pmb{a\cdot b})^2\le|\pmb{a}|^2|\pmb{b}|^2 (a⋅b)2≤∣a∣2∣b∣2
即得到(1.3)式。
如何理解(3.2)式中的 λ \lambda λ ?
a ⋅ c = a ⋅ ( b − λ a ) = a ⋅ b − λ ∣ a ∣ 2 \pmb{a\cdot c} = \pmb{a}\cdot(\pmb{b}-\lambda\pmb{a})=\pmb{a\cdot b}-\lambda|\pmb{a}|^2 a⋅c=a⋅(b−λa)=a⋅b−λ∣a∣2
因此,可以有如下关系:
a ⋅ c = 0 ⟺ a ⊥ c ⟺ λ = a ⋅ b ∣ a ∣ 2 \pmb{a\cdot c}=0\quad\Longleftrightarrow\quad \pmb{a}\bot\pmb{c} \quad\Longleftrightarrow\quad \lambda=\frac{\pmb{a\cdot b}}{|\pmb{a}|^2} a⋅c=0⟺a⊥c⟺λ=∣a∣2a⋅b
由此可知, λ \lambda λ 的选择,恰好是能够让 λ a \lambda\pmb{a} λa 是 b \pmb{b} b 在 a \pmb{a} a 上的投影, ∣ c ∣ |\pmb{c}| ∣c∣ 则是 b \pmb{b} b 至 a \pmb{a} a 的最短距离。其关系如下图所示:

λ \lambda λ 还称为拉格朗日乘子(Largrange multiplier)。
参考文献
[1]. Wikipedia: Cauchy-Schwarz inequality
[2]. 齐伟. 机器学习数学基础[M]. 北京:电子工业出版社,2023.
相关文章:
《机器学习数学基础》补充资料:柯西—施瓦茨不等式以及相关证明
《机器学习数学基础》 153 页,针对图 3-4-3,提出了一个问题:“点 A A A 到 W \mathbb{W} W 上的一个点的距离有无穷多个。现在,我们最关心的是其中最短的那个,怎么找?请参阅 3.6 节。”并且,在…...
VisionPro 划痕检测小练习
划痕检测,我这里用到的是Sobel算子和blob斑点匹配以及blob里面的形态学调整 Sobel 是一种在数字图像处理和计算机视觉领域广泛应用的算法,主要用于边缘检测 脚本展示 #region namespace imports using System; using System.Collections; using System.Drawing; …...
解析 2025 工业边缘计算:三大技术风向的影响力
工业数字化转型的加速,工业边缘计算市场正呈现出蓬勃发展的态势。展望 2025 年,以下三大技术将成为引领工业边缘计算发展的重要风向标。 其一,人工智能与边缘计算的深度融合。人工智能技术将更广泛地应用于工业边缘设备,实现更智…...
企语企业管理系iFair(F23.2_a0)在Debian操作系统中的安装
起因:在安装了F24.8版本后,发现生产用环境和测试、开发用环境还是分开的好。 旧版的用来实验、测试,新版的一步一步小心的配置、使用是比较稳妥的操作。因此,决定在KVM虚拟机上搭建一个F23.2版本的企语系统。 一、 存在的问题 而…...
如何在Flask中处理静态文件
哈喽,大家好,我是木头左! 本文将详细介绍如何在Flask中处理静态文件,包括如何配置静态文件夹、如何访问静态文件以及如何处理静态文件的缓存问题。 配置静态文件夹 在Flask中,你可以通过static_folder参数来指定静态文件夹。默认情况下,Flask会在项目的根目录下寻找名为…...
无人机飞行试验大纲
无人机飞行试验大纲 编制日期:2025年02月11日 一、试验目的与背景 本次无人机飞行试验旨在验证无人机的飞行性能、控制系统稳定性、机体结构强度以及各项任务执行能力。随着无人机技术在各个领域的广泛应用,对其性能进行全面、系统的测试显得…...
C语言初阶牛客网刷题——JZ65 不用加减乘除做加法】【难度:简单】
1. 题目描述 牛客网OJ题链接 写一个函数,求两个整数之和,要求在函数体内不得使用、-、*、/四则运算符号。 2. 分析 十进制相加思想: 157 , 先计算不考虑进位的相加结果 12 (因为 57 的不考虑进位的结果是 2 &#x…...
git 记录
git 记录 报错warning: unknown value given to http.version: 2 报错 warning: unknown value given to http.version: ‘2’ 删除指定http版本 git config --global --unset http.version...
PyTorch Lightning Trainer介绍
PyTorch Lightning 的 Trainer 是框架的核心类,负责自动化训练流程、分布式训练、日志记录、模型保存等复杂操作。通过配置参数即可快速实现高效训练,无需手动编写循环代码。以下是详细介绍和使用示例: Trainer 的核心功能 自动化训练循环 自…...
mysql监控--慢查询
一、监控配置 二、慢查询文件 在 MySQL 中,慢查询日志记录了执行时间较长的查询,通常,慢查询日志可能会生成以下几种文件: 1. 慢查询日志文件 这是最主要的文件,记录了执行时间超过设置阈值的 SQL 查询。可以通过 …...
Conda 包管理:高效安装、更新和删除软件包
Conda 包管理:高效安装、更新和删除软件包 1. 引言 在使用 Anaconda 进行 Python 开发时,包管理是日常操作的核心内容。Conda 提供了一整套高效的工具来管理 Python 环境中的软件包,避免了版本冲突,并确保了环境的一致性。 本篇…...
AcWing 798. 差分矩阵
题目来源: 找不到页面 - AcWing 题目内容: 输入一个 n 行 m 列的整数矩阵,再输入 q 个操作,每个操作包含五个整数 x1,y1,x2,y2,c,其中 (x1,y1) 和 (x2,y2)表示一个子矩阵的左上角坐标和右下角坐标。 每个操作都要将…...
通用定时器学习记录
简介 通用定时器:TIM2/TIM3/TIM4/TIM5 主要特性:16位递增、递减、中心对齐计数器(计数值0~65535) 16位预分频器(分频系数1~65536) 可用于触发DAC、ADC 在更新事件、触发事件、输入捕获、输出比较时&am…...
科技之光闪耀江城:2025武汉国际半导体产业与电子技术博览会5月15日盛大开幕
在科技浪潮汹涌澎湃的当下,半导体产业作为现代信息技术的中流砥柱,正以令人惊叹的速度重塑着世界的面貌。2025年5月15-17日,一场聚焦半导体与电子技术前沿的行业盛会 ——2025 武汉国际半导体产业与电子技术博览会,将在武汉・中国…...
vue开发06:前端通过webpack配置代理处理跨域问题
1.定义 在浏览器尝试请求不同源(域名、协议、端口号不同)的资源时,浏览器的同源策略会阻止这种跨域请求。(比如前端端口15500,后端端口5050,前端界面不可以直接调用5050端口) 2.解决方案 使用前…...
⚡️《静电刺客的猎杀手册:芯片世界里的“千伏惊魂“》⚡️
前言: 在这个电子产品无孔不入的时代,我们每天都在与一群隐形刺客打交道——它们身怀数千伏特的高压绝技,能在0.1秒内让价值百万的芯片灰飞烟灭。这就是静电放电(ESD),电子工业界最令人闻风丧胆的"沉默…...
【云安全】云原生-K8S(三) 安装 Dashboard 面板
在Kubernetes中安装Dashboard需要几个步骤,包括部署Dashboard组件、配置访问权限以及暴露Dashboard服务等。以下是详细的步骤: 1. 部署 K8S Dashboard 可以通过以下命令用Kubernetes官方的YAML文件来快速部署,由于是国外网站,需…...
Spring Boot 常用依赖详解:如何选择和使用常用依赖
在Spring Boot项目中,依赖(Dependencies)是项目的核心组成部分。每个依赖都提供了一些特定的功能或工具,帮助我们快速开发应用程序。本文将详细介绍Spring Boot中常用的依赖及其作用,并指导你如何根据项目需求选择合适…...
C++ 设计模式-组合模式
组合模式(Composite Pattern)允许将对象组合成树形结构,使得客户端以统一的方式处理单个对象和组合对象。以下是一个经典的 C 实现示例,包含透明式设计(基类定义统一接口)和内存管理: #include…...
【Spring Boot】Spring 魔法世界:Bean 作用域与生命周期的奇妙之旅
前言 ???本期讲解关于spring原理Bean的相关知识介绍~~~ ??感兴趣的小伙伴看一看小编主页:-CSDN博客 ?? 你的点赞就是小编不断更新的最大动力 ??那么废话不多说直接开整吧~~ 目录 ???1.Bean的作用域 ??1.1概念 ??1.2Bean的作用域 ??1.3代码演示…...
手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...
地震勘探——干扰波识别、井中地震时距曲线特点
目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...
CTF show Web 红包题第六弹
提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框,很难让人不联想到SQL注入,但提示都说了不是SQL注入,所以就不往这方面想了 先查看一下网页源码,发现一段JavaScript代码,有一个关键类ctfs…...
【论文笔记】若干矿井粉尘检测算法概述
总的来说,传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度,通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...
ETLCloud可能遇到的问题有哪些?常见坑位解析
数据集成平台ETLCloud,主要用于支持数据的抽取(Extract)、转换(Transform)和加载(Load)过程。提供了一个简洁直观的界面,以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...
反射获取方法和属性
Java反射获取方法 在Java中,反射(Reflection)是一种强大的机制,允许程序在运行时访问和操作类的内部属性和方法。通过反射,可以动态地创建对象、调用方法、改变属性值,这在很多Java框架中如Spring和Hiberna…...
根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:
根据万维钢精英日课6的内容,使用AI(2025)可以参考以下方法: 四个洞见 模型已经比人聪明:以ChatGPT o3为代表的AI非常强大,能运用高级理论解释道理、引用最新学术论文,生成对顶尖科学家都有用的…...
css3笔记 (1) 自用
outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size:0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格ÿ…...
Android第十三次面试总结(四大 组件基础)
Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成,用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机: onCreate() 调用时机:Activity 首次创建时调用。…...
在Ubuntu24上采用Wine打开SourceInsight
1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...
