Cyber Security 101-Build Your Cyber Security Career-Security Principles(安全原则)
了解安全三元组以及常见的安全模型和原则。
任务1:介绍
安全已成为一个流行词;每家公司都想声称其产品或服务是安全的。但事实真的如此吗?
在我们开始讨论不同的安全原则之前,了解我们正在保护资产的对手至关重要。您是否试图阻止蹒跚学步的孩子访问您的笔记本电脑?或者您是否正在尝试保护包含价值数百万美元的技术设计的笔记本电脑?对幼儿和工业间谍行为者使用精确的保护机制将是荒谬的。因此,了解我们的对手是必须的,这样我们才能了解他们的攻击并开始实施适当的安全控制。

不可能实现完美的安全性;没有解决方案是 100% 安全的。因此,我们尝试改善我们的安全态势,使我们的对手更难获得访问权限。
这个房间的目标是:
- 解释安全功能:机密性、完整性和可用性 (CIA)。
- 提出安全三元组的对立面,CIA:披露、更改和销毁/否认 (DAD)。
- 介绍安全模型的基本概念,例如 Bell-LaPadula 模型。
- 解释安全原则,例如深度防御、零信任和信任但验证。
- 引入 ISO/IEC 19249。
- 解释 Vulnerability(脆弱性)、Threat (威胁) 和 Risk(风险)之间的区别。
回答以下问题
想想你如何描述某物是安全的。

任务2:中央情报局

在我们描述安全之前,我们需要更好地考虑构成安全性的要素。当您想判断系统的安全性时,您需要从安全三元组的角度来考虑:机密性、完整性和可用性 (CIA)。
- 机密性确保只有预期的人员或接收者才能访问数据。
- 完整性旨在确保数据无法更改;此外,如果发生任何更改,我们可以检测到它。
- 可用性 旨在确保系统或服务在需要时可用。

让我们考虑一下 CIA 安全三元组在下在线购物的情况下:
- 保密性: 在网上购物期间,您希望您的信用卡号仅披露给处理付款的实体。如果您怀疑您的信用卡信息会被泄露给不受信任的一方,您很可能会避免继续进行交易。此外,如果数据泄露导致个人身份信息(包括信用卡)泄露,公司将在多个层面上蒙受巨大损失。
- 完整性:填写订单后,如果入侵者可以更改您提交的送货地址,包裹将被发送给其他人。如果没有数据完整性,您可能非常不愿意向该卖家下订单。
- 可用性: 要下在线订单,您将浏览商店的网站或使用其官方应用程序。如果该服务不可用,您将无法浏览产品或下订单。如果您继续面临此类技术问题,您最终可能会放弃并开始寻找不同的在线商店。
让我们考虑一下与患者记录和相关系统相关的 CIA:
- 保密性:根据现代国家的各种法律,医疗保健提供者必须确保和维护医疗记录的机密性。因此,如果医疗保健提供者非法披露患者的医疗记录,他们可能会被追究法律责任。
- 完整性:如果患者记录被意外或恶意更改,可能会导致错误的治疗,进而导致危及生命的情况。因此,如果不确保医疗记录的完整性,该系统将毫无用处且可能有害。
- 可用性:当患者前往诊所跟进他们的医疗状况时,系统必须可用。不可用的系统意味着医生无法访问患者的记录,因此无法知道任何当前症状是否与患者的病史有关。这种情况会使医学诊断更具挑战性和容易出错。
所有三个安全功能的重点不需要相同。一个例子是大学公告;虽然它通常不是机密的,但文档的完整性至关重要。
超越 CIA

在 CIA 安全三元组之外再向前迈进一步,我们可以考虑:
- 真实性: 正品意味着没有欺诈或假冒。真实性是关于确保文档/文件/数据来自声明的来源。
- 不可否认性:否认意味着拒绝承认某物的有效性。不可否认性确保原始源无法否认它们是特定文档/文件/数据的源。这一特性对于购物、患者诊断和银行业务等各个领域都是必不可少的。
这两个要求密切相关。区分真实文件或订单和虚假文件或订单的需求是必不可少的。此外,确保另一方不能否认是源头对于许多系统可用至关重要。
在网上购物时,根据您的业务,您可能会容忍尝试以货到付款的方式交付 T 恤,但后来得知收件人从未下过此类订单。但是,没有公司可以容忍运送 1000 辆汽车来发现订单是假的。在购物订单示例中,您想要确认所述客户确实下了此订单;这就是真实性。此外,您要确保他们无法否认下达此订单;这就是不可否认。
作为公司,如果您收到 1000 辆汽车的发货订单,您需要确保此订单的真实性;此外,消息来源不应否认下达此类订单。没有真实性和不可否认性,业务就无法开展。
帕克六边形
1998 年,Donn Parker 提出了 Parkerian Hexad,这是一组 6 个安全元件。他们是:
- 可用性
- 效用
- 正直
- 真实性
- 保密性
- 占有
我们已经介绍了上述六个要素中的四个。让我们讨论剩下的两个元素:
- 效用: 效用侧重于信息的有用性。例如,用户可能丢失了访问具有加密存储的笔记本电脑的解密密钥。尽管用户仍然拥有磁盘完好无损的便携式计算机,但他们无法访问它们。换句话说,尽管仍然可用,但信息的形式是无用的,即没有用处。
- 占有:此安全要素要求我们保护信息免遭未经授权的获取、复制或控制。例如,对手可能会占用备份驱动器,这意味着只要他们拥有该驱动器,我们就会失去对信息的所有权。或者,攻击者可能会使用勒索软件成功加密我们的数据;这也会导致失去对数据的所有权。
单击“查看站点”并回答五个问题。你最后得到的旗帜是什么?


任务3:DAD

系统的安全性通过多种方式之一受到攻击。它可以通过披露秘密数据、更改数据或销毁数据来实现。
- Disclosure披露与保密相反。换句话说,泄露机密数据就是对机密性的攻击。
- Alteration 是 Integrity 的对立面。例如,支票的完整性是必不可少的。
- Destruction/Denial销毁/否认是可用性的对立面。
与 CIA 三元组相反的是 DAD 三元组:披露、更改和销毁。
考虑前面的患者记录和相关系统示例:
- 披露:与大多数现代国家/地区一样,医疗保健提供者必须对医疗记录保密。因此,如果攻击者成功窃取了其中一些医疗记录并将其转储到网上以供公开查看,医疗保健提供商将因这种数据泄露攻击而蒙受损失。
- 更改:如果攻击者设法修改了患者的医疗记录,请考虑情况的严重性。这种更改攻击可能会导致错误的治疗,因此,这种更改攻击可能会危及生命。
- 销毁/否认:考虑医疗设施完全无纸化的情况。如果攻击者设法使数据库系统不可用,则该设施将无法正常运行。他们可以暂时回到纸上;但是,患者记录将不可用。这种否认攻击将使整个设施停滞不前。
防止披露、更改和破坏/否认具有绝对的重要性。这种保护相当于努力维护机密性、完整性和可用性。
将机密性和完整性保护到极致可能会限制可用性,而将可用性提高到极致可能会导致失去机密性和完整性。良好的安全原则实施需要在这三者之间取得平衡。

任务4:安全模型的基本概念
我们了解到,安全三元组以机密性、完整性和可用性 (CIA) 为代表。有人可能会问,我们如何创建一个确保一个或多个安全功能的系统?答案是使用安全模型。在本任务中,我们将介绍三个基本安全模型:
- Bell-LaPadula 模型
- Biba 诚信模型
- 克拉克-威尔逊模型
Bell-LaPadula 模型
Bell-LaPadula 模型旨在通过指定三条规则来实现机密性:
- 简单安全属性:此属性称为“无读取”;它指出,较低安全级别的主体无法读取较高安全级别的对象。此规则阻止访问超过授权级别的敏感信息。
- Star Security Property:此属性称为“no write down”;它指出,较高安全级别的 Subject 无法写入较低安全级别的 Object。此规则可防止将敏感信息泄露给安全级别较低的主体。
- Discretionary-Security 属性:此属性使用访问矩阵来允许读取和写入操作。下表显示了一个示例访问矩阵,并与前两个属性结合使用。
| 科目 | 对象 A | 对象 B |
|---|---|---|
| 实验体 1 | 写 | 无访问权限 |
| 实验体 2 | 读/写 | 读 |
前两个属性可以概括为 “write up, read down”。您可以与安全许可较高的人员共享机密信息(书面记录),也可以从安全许可较低的人员那里接收机密信息(向下阅读)。
Bell-LaPadula 模型存在一定的限制。例如,它不是为处理文件共享而设计的。
Biba 模型
Biba 模型旨在通过指定两个主要规则来实现完整性:
- Simple Integrity Property:此属性称为 “no read down”;不应从较低完整性的对象读取较高完整性的主题。
- Star Integrity 属性:此属性称为“无写入”;较低完整性的主体不应写入较高完整性的对象。
这两个属性可以概括为 “read up, write down”。这条规则与 Bell-LaPadula 模型形成鲜明对比,这并不奇怪,因为一个关注机密性,而另一个关注完整性。
Biba Model 存在各种限制。一个例子是它不处理内部威胁 (内部威胁)。
Clark-Wilson 模型
Clark-Wilson 模型还旨在通过使用以下概念来实现完整性:
- 受约束数据项 (CDI):这是指我们要保留其完整性的数据类型。
- 不受约束的数据项 (UDI):这是指 CDI 之外的所有数据类型,例如用户和系统输入。
- 转换过程 (TP):这些过程是编程操作,例如读取和写入,应保持 CDI 的完整性。
- 完整性验证程序 (IVP):这些程序检查并确保 CDI 的有效性。
我们只介绍了三种安全模型。读者可以探索许多其他安全模型。示例包括:
- Brewer 和 Nash 模型
- Goguen-Meseguer 模型
- 萨瑟兰模型
- Graham-Denning 模型
- Harrison-Ruzzo-Ullman 模型


任务5:深度防御

Defence-in-Depth 是指创建多级安全系统;因此它也被称为多级安全性。
考虑下面的类比:你有一个上锁的抽屉,用来存放重要的文件和昂贵的东西。抽屉已锁上;但是,您是否希望这个抽屉锁成为小偷和您的昂贵物品之间唯一的东西?如果我们考虑多级安全性,我们更希望锁上抽屉,锁上相关房间,锁上公寓的正门,锁上大楼的大门,您甚至可能想在途中加入一些安全摄像头。尽管这些多级安全无法阻止每个小偷,但它们会阻止其中的大部分小偷并减慢其他小偷的速度。

任务6:国际标准化组织(ISO)/IEC 19249
国际标准化组织 (ISO) 和国际电工委员会 (IEC) 制定了 ISO/IEC 19249。在本任务中,我们将简要介绍 ISO/IEC 19249:2017 信息技术 - 安全技术 - 安全产品、系统和应用程序的架构和设计原则目录。目的是更好地了解国际组织将教授哪些安全原则。
ISO/IEC 19249 列出了五项架构原则:
- Domain Separation:每组相关组件都分组为单个实体;组件可以是应用程序、数据或其他资源。每个实体都将具有自己的域,并被分配一组通用的安全属性。例如,考虑 x86 处理器权限级别:操作系统内核可以在环 0(最高权限级别)中运行。相比之下,用户模式应用程序可以在环 3 (最低权限级别) 中运行。域分离包含在 Goguen-Meseguer 模型中。
- 分层:当系统被构建成许多抽象级别或层时,可以在不同级别实施安全策略;此外,验证操作也是可行的。让我们考虑一下 OSI(开放系统互连)模型,它有七层网络。OSI 模型中的每个层都为其上方的层提供特定服务。这种分层使得实施安全策略并轻松验证系统是否按预期工作成为可能。编程世界的另一个示例是磁盘操作;程序员通常使用所选高级编程语言提供的 Disk Read 和 Write 函数。编程语言隐藏了低级系统调用,并将它们呈现为更用户友好的方法。分层与 Defense in Depth 有关。
- 封装:在面向对象编程 (OOP) 中,我们隐藏了低级实现,并通过为此目的提供特定方法来防止直接操作对象中的数据。例如,如果你有一个 clock 对象,你将提供一个方法,而不是让用户直接访问该变量。目的是防止变量的值无效。同样,在较大的系统中,您将使用(甚至设计)适当的应用程序编程接口 (API) 来访问数据库。
increment()seconds - 冗余:此原则可确保可用性和完整性。有许多与冗余相关的示例。考虑具有两个内置电源的硬件服务器的情况:如果一个电源发生故障,系统将继续运行。考虑具有三个驱动器的 RAID 5 配置:如果一个驱动器发生故障,则使用其余两个驱动器的数据仍然可用。此外,如果其中一个磁盘上的数据被错误地更改,它将通过奇偶校验检测到它,从而确保数据的完整性。
- 虚拟化:随着云服务的出现,虚拟化变得越来越普遍和流行。虚拟化的概念是在多个操作系统之间共享一组硬件。虚拟化提供沙盒功能,可改进安全边界、安全引爆和对恶意程序的观察。
ISO/IEC 19249 教授了五项设计原则:
- 最低权限:在回答“谁可以访问什么”这个问题时,您也可以非正式地将其表述为“需要基础”或“需要知道基础”。最小权限原则告诉我们,您应该为某人提供最少的权限来执行他们的任务,仅此而已。例如,如果用户需要能够查看文档,则应授予他们读取权限,而不授予其写入权限。
- 攻击面最小化:每个系统都有攻击者可能用来破坏系统的漏洞。一些漏洞是已知的,而另一些漏洞尚未被发现。这些脆弱性代表了我们应该努力降低的风险。例如,在强化 Linux 系统的步骤之一中,我们将禁用任何我们不需要的服务。
- 集中式参数验证:许多威胁是由于系统接收了输入,尤其是来自用户的输入。无效的输入可用于利用系统中的漏洞,例如拒绝服务和远程代码执行。因此,参数验证是确保系统状态正确的必要步骤。考虑到系统处理的参数数量,参数的验证应集中在一个库或系统中。
- 集中式一般安全服务:作为一项安全原则,我们应该致力于集中所有安全服务。例如,我们将创建一个用于身份验证的集中式服务器。当然,您可以采取适当的措施来确保可用性并防止创建单一故障点。
- 为错误和异常处理做准备:每当我们构建一个系统时,我们应该考虑到错误和异常已经发生和将要发生。例如,在购物应用程序中,客户可能会尝试为缺货商品下订单。数据库可能会过载并停止响应 Web 应用程序。该原则教导系统应设计为故障安全;例如,如果防火墙崩溃,它应该阻止所有流量,而不是允许所有流量。此外,我们应该注意确保错误消息不会泄露我们认为机密的信息,例如转储包含与其他客户相关的信息的内存内容。
在以下问题中,请参考上述 ISO/IEC 19249 五项设计原则。用 1 到 5 之间的数字回答,具体取决于设计原则的数字。

任务7:零信任与信任,但要验证
信任是一个非常复杂的话题;实际上,没有信任,我们就无法运作。如果有人认为笔记本电脑供应商在笔记本电脑上安装了间谍软件,他们很可能最终会重建系统。如果有人不信任硬件供应商,他们就会完全停止使用它。如果我们在商业层面上考虑信任,事情只会变得更加复杂;但是,我们需要一些指导性安全原则。我们感兴趣的关于信任的两个安全原则:
- 信任但验证
- 零信任
信任但验证:该原则告诉我们,即使我们信任一个实体及其行为,我们也应该始终进行验证。实体可以是用户或系统。验证通常需要设置适当的日志记录机制;验证表示检查日志以确保一切正常。实际上,验证所有内容是不可行的;试想一下,审查单个实体执行的所有操作(例如单个用户浏览的 Internet 页面)所需的工作。这需要自动化的安全机制,例如代理、入侵检测和入侵防御系统。
零信任:该原则将信任视为一种漏洞,因此,它迎合了与内部相关的威胁。在将信任视为漏洞后,零信任试图消除它。它是间接地教导,“永远不要相信,永远验证”。换句话说,每个实体都被认为是对抗性的,除非证明不是这样。Zero Trust 不会根据设备的位置或所有权向设备授予信任。这种方法与信任内部网络或企业拥有的设备的旧模型形成鲜明对比。在访问任何资源之前,都需要进行身份验证和授权。因此,如果发生任何违规行为,如果实施了 Zero Trust 架构,损害将得到更严格的控制。
微分段是用于 Zero Trust 的实施之一。它是指网段可以小到单个主机的设计。此外,段之间的通信需要身份验证、访问控制列表检查和其他安全要求。
在不对业务产生负面影响的情况下,我们可以应用 Zero Trust 的程度是有限的;然而,这并不意味着只要可行,我们就不应该应用它。

任务8:威胁与风险

我们需要注意三个术语以避免任何混淆。
- 脆弱性:易受攻击是指容易受到攻击或损害。在信息安全中,漏洞是一种弱点。
- 威胁:威胁是与此弱点或漏洞相关的潜在危险。
- 风险:风险与威胁行为者利用漏洞的可能性以及由此对业务产生的影响有关。
由于玻璃的性质,带有标准玻璃制成的门窗的展厅会受到弱点或脆弱性的影响。因此,玻璃门窗有被打破的威胁。陈列室业主应考虑风险,即玻璃门或窗被打破的可能性以及由此对业务的影响。
考虑另一个与信息系统直接相关的示例。您在一家医院工作,该医院使用特定的数据库系统来存储所有医疗记录。有一天,您正在关注最新的安全新闻,您了解到使用的数据库系统不仅容易受到攻击,而且已经发布了概念验证工作漏洞利用代码;发布的漏洞利用代码表明威胁是真实的。有了这些知识,您必须考虑由此产生的风险并决定下一步。
我们将在单独的房间里详细介绍威胁和风险。
任务9:结论
这个房间涵盖了与安全相关的各种原则和概念。到目前为止,您应该非常熟悉 CIA 和 DAD 以及其他术语,例如真实性、否认性、脆弱性、威胁和风险。我们参观了三种安全模型和 ISO/IEC 19249。我们介绍了不同的安全原则,例如深度防御、信任但验证和 Zero Trust。
最后,责任共担模型值得一提,尤其是在对云服务的依赖日益增加的情况下。需要各个方面来确保适当的安全性。它们包括硬件、网络基础设施、操作系统、应用程序等。但是,使用云服务的客户具有不同的访问级别,具体取决于他们使用的云服务。例如,基础架构即服务 (IaaS) 用户对操作系统具有完全控制权(和责任)。
另一方面,软件即服务 (SaaS) 用户无法直接访问底层操作系统。因此,在云环境中实现安全性需要云服务提供商和用户都做好自己的工作。责任共担模型是一个云安全框架,用于确保各方都了解其责任。
完成安全原则室后,您可以进入密码学入门室。
相关文章:
Cyber Security 101-Build Your Cyber Security Career-Security Principles(安全原则)
了解安全三元组以及常见的安全模型和原则。 任务1:介绍 安全已成为一个流行词;每家公司都想声称其产品或服务是安全的。但事实真的如此吗? 在我们开始讨论不同的安全原则之前,了解我们正在保护资产的对手至关重要。您是否试图阻止蹒跚学步…...
NLP模型大对比:Transformer > RNN > n-gram
结论 Transformer 大于 RNN 大于 传统的n-gram n-gram VS Transformer 我们可以用一个 图书馆查询 的类比来解释它们的差异: 一、核心差异对比 维度n-gram 模型Transformer工作方式固定窗口的"近视观察员"全局关联的"侦探"依赖距离只能看前…...
【Rust自学】14.5. cargo工作空间(Workspace)
喜欢的话别忘了点赞、收藏加关注哦,对接下来的教程有兴趣的可以关注专栏。谢谢喵!(・ω・) 14.4.1. 为什么需要cargo workspace 假如说我们构建了一个二进制crate,里面既有library又有库。随着项目规模不断增长&#…...
[权限提升] Windows 提权 — 系统内核溢出漏洞提权
关注这个框架的其他相关笔记:[内网安全] 内网渗透 - 学习手册-CSDN博客 0x01:系统内核溢出漏洞提权介绍 注意:提权很容易让电脑蓝屏,所以如果是测试的话,提权前最好做好系统备份。 溢出漏洞就像是往杯子里装水 —— 如…...
手机端语音转文字的实用选择
今天推荐两款配合使用的软件:MultiTTS 和 T2S,它们可以在安卓设备上实现文字转语音功能。 第一款:MultiTTS(安卓) MultiTTS 是一款离线文本转语音工具,完全免费,提供多种语音风格,…...
四.3 Redis 五大数据类型/结构的详细说明/详细使用( hash 哈希表数据类型详解和使用)
四.3 Redis 五大数据类型/结构的详细说明/详细使用( hash 哈希表数据类型详解和使用) 文章目录 四.3 Redis 五大数据类型/结构的详细说明/详细使用( hash 哈希表数据类型详解和使用)2.hash 哈希表常用指令(详细讲解说明)2.1 hset …...
无心剑七绝《经纬岁华》
七绝经纬岁华 经天伟业梦初耕 纬地深沉志纵横 岁去年来添锦绣 华章曼妙筑新城 2025年1月29日 平水韵八庚平韵 无心剑七绝《经纬岁华》以“经纬岁华”为藏头,歌颂了泸州职业技术学院(川南经纬学堂)百余年的光辉历程。诗中“经天伟业梦初耕&…...
大数据治理实战:架构、方法与最佳实践
📝个人主页🌹:一ge科研小菜鸡-CSDN博客 🌹🌹期待您的关注 🌹🌹 1. 引言 大数据治理是确保数据质量、合规性和安全性的重要手段,尤其在数据驱动决策和人工智能应用日益普及的背景下&…...
基于AnolisOS 8.6安装GmSSL 3.1.1及easy_gmssl库测试国密算法
测试环境 Virtual Box,AnolisOS-8.6-x86_64-minimal.iso,4 vCPU, 8G RAM, 60 vDisk。最小化安装。需联网。 系统环境 关闭防火墙 systemctl stop firewalld systemctl disable firewalld systemctl status firewalld selinux关闭 cat /etc/selinux/co…...
区块链在能源行业的创新
技术创新 1. 智能合约与自动化交易 智能合约是区块链技术的核心组件之一,它允许在没有中介的情况下自动执行合同条款。在能源行业,这可以用于自动化电力交易、支付流程以及管理复杂的供应链。例如,当太阳能板产生的电量达到预设值时&#x…...
C基础寒假练习(1)
一、求二维数组只中元并输出行标和列标(以二行三列为例)元素的最大值, #include <stdio.h>int main() {// 初始化二维数组int array[2][3] {{1, 2, 3},{4, 5, 6}};// 定义变量来存储最大值及其位置int max_value array[0][0];int max_row 0;int max_col 0…...
SQLServer 不允许保存更改(主键)
在我们进行数据库表格编辑的时候,往往会出现同一个名字,就比如我们的账号一样,我们在注册自己QQ的时候,我们通常注册过的账号,别人就不能注册了,这是为了保证严密性 所以我们需要点击表格>右键>设计 点击某一列>右键>设计主键 当我们Ctrls 保存的时候回弹出下…...
虚拟机里网络设置-桥接与NAT
桥接(Bridging)和NAT(网络地址转换,Network Address Translation)是网络中的两种不同技术,主要用于数据包的处理和转发。以下是它们的主要区别: 1. 工作原理 桥接: 桥接工作在数据链…...
云计算技术深度解析与代码实践
云计算技术深度解析与代码实践 在信息技术日新月异的今天,云计算作为一种颠覆性的技术,正在全球范围内掀起一场深刻的变革。本文将从云计算的技术特点、应用场景、关键优势以及具体的代码使用案例等多个维度,为读者呈现一幅云计算技术的全貌。通过本文,读者将深入了解云计…...
linux监控脚本+自动触发邮件发送
linux脚本 需求: CPU 负载:使用 uptime 命令,我们可以清楚地了解系统的 CPU 负载情况。这个命令会显示系统在过去 1 分钟、5 分钟和 15 分钟的平均负载。高负载可能意味着系统正在处理大量的任务,可能会导致性能下降或服务响应延迟…...
Ollama本地部署deepseek-r1:7b
Ollama本地部署deepseek-r1:7b RTX2060 6GB显存可运行。 一、下载安装ollama ollama地址 二、设置环境变量 您可以右键点击“此计算机” > “切换到管理员”,然后以管理员身份运行 cmd setx OLLAMA_HOST 0.0.0.0 setx OLLAMA_ORIGINS *三、然后重启ollama …...
代码随想录算法训练营第三十八天-动态规划-完全背包-279.完全平方数
把目标值当作背包容量,每个平方数当作物品,题目变更为装满指定容量的背包,最小用几个物品会不会出现拼凑不出来的情况?不会,因为有数字1,对任意正整数百分百能拼凑出来因此此题目与上一道题就变得一模一样了…...
2. Java-MarkDown文件解析-工具类
2. Java-MarkDown文件解析-工具类 1. 思路 读取markdown文件的内容,根据markdown的语法进行各个类型语法的解析。引入工具类 commonmark 和 commonmark-ext-gfm-tables进行markdown语法解析。 2. 工具类 pom.xml <!-- commonmark 解析markdown --> <d…...
threejs实现烟花效果
大家好!我是 [数擎 AI],一位热爱探索新技术的前端开发者,在这里分享前端和 Web3D、AI 技术的干货与实战经验。如果你对技术有热情,欢迎关注我的文章,我们一起成长、进步! 开发领域:前端开发 | A…...
ThinkPad E480安装Ubuntu 18.04无线网卡驱动
个人博客地址:ThinkPad E480安装Ubuntu 18.04无线网卡驱动 | 一张假钞的真实世界 遗憾的是虽然下面的方法可以解决,但是内核升级后需要重新安装。 基本信息 Ubuntu 18.04ThinkPad E480使用下面的命令查看 Linux 内核: $ uname -r 5.0.0-3…...
React Router v6配置路由守卫
首先准备好以下页面 登录页:用户可以在此页面登录。 受保护页:只有登录的用户可以访问,否则会重定向到登录页。 公共页面:不需要鉴权,任何人都可以访问。 1. 安装依赖 首先,我们需要安装 react-router-do…...
研发的立足之本到底是啥?
0 你的问题,我知道! 本文深入T型图“竖线”的立足之本:专业技术 技术赋能业务能力。研发在学习投入精力最多,也误区最多。 某粉丝感发展遇到瓶颈,项目都会做,但觉无提升,想跳槽。于是&#x…...
react中如何获取dom元素
实现代码 const inputRef useRef(null) inputRef.current.focus()...
JavaScript系列(49)--游戏引擎实现详解
JavaScript游戏引擎实现详解 🎮 今天,让我们深入探讨JavaScript的游戏引擎实现。游戏引擎是一个复杂的系统,它需要处理渲染、物理、音频、输入等多个方面,让我们一步步实现一个基础但功能完整的游戏引擎。 游戏引擎基础概念 &am…...
20【变量的深度理解】
一说起变量,懂点编程的都知道,但是在理解上可能还不够深 变量就是存储空间,电脑上的存储空间有永久(硬盘)和临时(内存条)两种,永久数据重启电脑后依旧存在,临时数据只…...
19.Word:小马-校园科技文化节❗【36】
目录 题目 NO1.2.3 NO4.5.6 NO7.8.9 NO10.11.12索引 题目 NO1.2.3 布局→纸张大小→页边距:上下左右插入→封面:镶边→将文档开头的“黑客技术”文本移入到封面的“标题”控件中,删除其他控件 NO4.5.6 标题→原文原文→标题 正文→手…...
DeepSeek回答量化策略对超短线资金的影响
其实最近很长一段时间我在盘中的感受就是量化策略的触发信号都是超短线选手经常用到的,比如多个题材相互卡位,近期小红书-消费,好想你,来伊份 跟 算力 电光科技,机器人 金奥博 冀凯股份 五洲新春 建设工业 ,这些票的波动其实都是被量化策略锚定了,做成了策略异动。特别…...
2.3.1 基本数据类型
ST(Structured Text)语言支持多种基本数据类型,用于定义变量、常量以及函数参数等。这些数据类型涵盖了布尔值、整数、浮点数、字符和字符串等常见类型。以下是ST语言中基本数据类型的详细说明: 布尔类型(BOOL…...
探秘 TCP TLP:从背景到实现
回家的路上还讨论了个关于 TCP TLP 的问题,闲着无事缕一缕。本文内容参考自 Tail Loss Probe (TLP): An Algorithm for Fast Recovery of Tail Losses 以及 Linux 内核源码。 TLP,先说缘由。自 TCP 引入 Fast retrans 机制就是为了尽力避免 RTO…...
解锁豆瓣高清海报:深度爬虫与requests进阶之路
前瞻 PosterBandit 这个脚本能够根据用户指定的日期,爬取你看过的影视最高清的海报,并自动拼接成指定大小的长图。 你是否发现直接从豆瓣爬取下来的海报清晰度很低? 使用 .pic .nbg img CSS 选择器,在 我看过的影视 界面找到图片…...
