生成式人工智能服务安全基本要求实务解析

news2024/10/6 11:50:24

本文尝试明晰《基本要求》的出台背景与实践定位,梳理《基本要求》所涉的各类安全要求,以便为相关企业遵循执行《基本要求》提供抓手。

引言

自2022年初以来,我国陆续发布算法推荐、深度合成与生成式人工智能服务相关的规范文件,初步构建起对特定领域人工智能技术与服务的监管机制。具体至生成式人工智能服务领域,在《生成式人工智能服务管理暂行办法》(以下简称“《暂行办法》”)的监管框架下,形成了由算法备案制度和生成式人工智能(大语言模型)备案(下称“大模型备案”)构成的“双备案制”的实践机制。

算法备案制度最早在《互联网信息服务算法推荐管理规定》(以下简称“《算法推荐规定》”)中确立,企业可通过中央网信办的互联网信息服务算法备案系统提交算法备案申请,流程和备案内容细则均较为固定。而大模型备案自《暂行办法》施行之日起也仅有半年,还需要与服务提供者开展更多有效地沟通、互动来积攒监管经验以制定明确、具体的规则,从而指引企业履行大模型备案义务,尤其是备案所需的安全评估。

在此背景下,2023年10月11日,全国网络安全标准化技术委员会秘书处发布《生成式人工智能服务安全基本要求(征求意见稿)》(以下简称“《征求意见稿》”),就包含语料安全、模型安全在内的生成式人工智能服务安全的基本要求广泛征求社会公众意见。2024年3月1日,历时近半年,《生成式人工智能服务安全基本要求》(以下简称“《基本要求》”)正式发布。根据规范内容,我们理解,《基本要求》对《暂行办法》相关合规要求例如数据来源合法、内容安全等在执行规则方面的细化,并对生成式人工智能服务提供者在实践中开展安全评估提供有效的路径,不仅能推动企业提高其自身的生成式人工智能服务安全能力,还可为监管部门评价特定生成式人工智能服务的安全水平提供参考标准。

基于前述,本文尝试明晰《基本要求》的出台背景与实践定位,梳理《基本要求》所涉的各类安全要求,以便为相关企业遵循执行《基本要求》提供抓手。

01 规范背景与定位

1. 系对《暂行办法》的细化支撑,对生成式人工智能服务其他适用法律法规的增强衔

从规范效力来看,《基本要求》属于全国信息安全标准化技术委员会编制的技术文件,是一种旨在引导、指引生成式人工智能服务安全发展的指南类文件,而不具备强制性法律效力。但若逐一比对《暂行办法》除安全评估相关要求之外的通用规定(即第5-7章),可以看到《基本要求》并非是空中楼阁地架设额外合规义务,而是对《暂行办法》接近于一一对应的细化、解释,以及对于《暂行规定》上位法、其他监管生成式人工智能服务的法律法规的增强衔接性规定,故可以为服务提供者有的放矢落实《暂行办法》,在现行网络空间治理法律框架下合法合规提供生成式人工智能服务提供实践指引与监管侧重参照。

《基本要求》与《暂行办法》规定的具体对应关系,可参见下表:

值得注意的是,除《暂行规定》及其上位法外,考虑到《基本要求》列明的参考文献还特别包括了《中华人民共和国密码法》《商用密码管理条例》以及《网络信息内容生态治理规定》等生成式人工智能服务通常受到规制的法律法规,故从《基本要求》的规定中同样可以看到对前述规范的增强衔接性规定。例如,安全措施要求之“训练、 推理所采用的计算系统要求”明确提出“对系统所采用芯片宜支持基于硬件的安全启动、 可信启动流程及安全性验证”,即建议企业采用可信计算芯片,并应当注意遵循密码法、商用密码相关规定。

2. 大模型备案的配套指南

另一方面,根据《基本要求》总则,除说明其旨在支撑《暂行办法》外,“服务提供者在按照有关要求履行备案手续时,按照本文件第9章要求进行安全评估并提交评估报告。”

结合我们的备案相关项目经验,《基本要求》所指称的备案手续即是大模型备案,从实践中大模型备案的实践情况来看,《基本要求》实质上属于大模型备案的配套指引,其第9章“安全评估要求”对备案所需安全评估应涵盖的要点进行逐一细化,第8章“其他要求”及附录A则是对于安全评估材料必备附件的细化要求。

总体而言,我们理解《基本要求》是《暂行办法》等规定的有益细化补充,尽管暂时不具备强制法律效力,但被法规、规章等正式法源引用或其实际内容被作为监管执法参照时,其效力也会发生转化。考虑到《基本要求》属于结合大模型备案支持工作经验形成,文本成熟度较高,不排除网信部门在未来的大模型备案与生成式人工智能行政执法活动中将其作为参照性标准,这也是我国APP治理等网络空间治理领域的常见实践。

02 重点合规观察

相比2023年10月份发布的《征求意见稿》的内容,《基本要求》对生成式人工智能服务在各项安全方面的要求,提出了进一步细化的指引,同时对《征求意见稿》的部分内容进行了删除。如下列明了《基本要求》提出的重点合规要点:

1. 对关键术语作出明确定义

作为与《暂行办法》中“生成式人工智能服务提供者”定义的衔接,并为了明确《基本要求》的适用对象,《基本要求》所确定的“服务提供者”为“以交互界面、可编程接口等形式提供生成式人工智能服务的组织或个人。”此前在《征求意见稿》中前述定义还包括了“面向我国境内公众提供服务”的前提限定,《基本要求》对此范围限定进行了删除,这一修订与《暂行办法》的整体适用范围保持一致。

其次,《基本要求》针对“训练语料”“抽样合格率”“基础模型”“违法不良信息”等实践中可能存在争议的关键术语均进行界定,例如“训练语料”包括所有直接作为模型训练输入的数据,而无论某一训练阶段,包括在预训练或优化训练过程中的输入数据。抽样合格率需要结合《基本要求》附录A列明的31种安全风险样本进行占比计算。

可以想见,明确上述关键术语定义,也将有助于生成式人工智能服务提供者有效落实合规义务,并使得人工智能服务供应链上的多元主体(例如训练语料提供者、基础模型开发者等)在合作过程中进一步界分各方责任义务。

2. 明确五类安全风险

鉴于生成式人工智能本身可能无法充分理解输入与输出内容的真实内涵,且受制于模型训练数据集等技术局限性,生成式人工智能的输出内容可能存在虚假、低劣、含有偏见与歧视性质,甚至输出与人类伦理准则不相符的内容。在广泛应用下,前述违法不良信息内容更有可能对于公众的事实认知造成影响并进一步引导舆论传播。因此,对于生成式人工智能输出的内容安全治理一直是立法与监管的“安全底线”。

《基本要求》在附录A中列明了语料及生成内容的五类主要安全风险,其中A.1类(包含违反社会主义核心价值观的内容)以及A.2类(包含歧视性内容)作为关键词库必须覆盖的安全风险类别,属于五类安全风险中风险等级较高的情况,这也与《网络信息内容生态治理规定》中关于违法信息种类的列举意图一脉相承。

另外三类安全风险包括A.3类商业违法违规风险、A.4类侵犯他人合法权益的风险以及A.5类无法满足特定服务类型的安全需求。随着数字经济的飞速发展,在新经济、新业态、新模式发展中逐渐出现了利用数据与技术手段从事不正当竞争的行为,在本次《基本要求》列明的A.3类商业违法违规风险项下,选择纳入了“利用算法、数据、平台等优势,实施垄断和不正当竞争行为”的安全风险,与中华人民共和国反不正当竞争法(修订草案征求意见稿)》的立法方向进行了衔接。

但是,《基本要求》附录A列明的五类安全风险中也存在定义模糊、在实践中可能较难理解与界定的内容,例如A.3类商业违法违规风险项下的“违反商业道德”风险,A.4类侵犯他人合法权益风险项下的“危害他人身心健康”风险,以及A.5类无法满足特定服务类型的安全需求风险项下的“内容不可靠”“无法对使用者形成帮助”等概念。

3. 合规义务清单

《基本要求》整体从语料安全、模型安全以及生成式人工智能服务的安全措施、词库题库等维度上对服务提供者提出了一系列较为细致的合规义务,其中语料安全保障义务又分为语料的来源安全、内容安全以及标注安全要求保障义务。同时,《基本要求》明确列明服务提供者需要根据《暂行办法》开展的安全评估应当针对《基本要求》中第5章至第8章的每一条款形成单独的评估结果,也即为服务提供者列明了合规义务清单,该等内容主要包括:

(1)语料安全要求

首先,就语料来源安全而言,《基本要求》首先删除了《征求意见稿》中关于建立语料黑名单机制的要求,也即“单一来源语料内容中含违法不良信息超过5%的,应将该来源加入黑名单”,但这不代表《基本要求》对于语料来源包含违法不良信息的比例没有进行规定;相反,《基本要求》对于语料来源的管理要求新增提出了事前评估、事后核验的双重安全保障措施,即对面向特定语料来源采集前需要进行安全评估,同时采集后也需要进行二次核验,以便完全排除掉“含有违法不良信息超过5%的情况,”从源头上全面避免了不良语料进入数据训练的问题。

其次,延续《算法推荐规定》《暂行办法》等规定对于算法偏见、算法歧视等要求,《基本要求》提出需要就语料语言及语料类型进行不同语料的多语料来源的搭配,以提高语料来源的多样性,并且可以合理搭配境内外来源的语料。

第三,随着人工智能在公众社会中的普及,其生成内容可能会被广泛传播、引用和使用,而当出现违法不良信息输出或输出内容侵犯权益的情况时,直接传播者可能并非单一责任主体,违法不良信息或侵权内容可能存在于语料本身。因此,语料的可溯源性一直是保障生成式人工智能输出内容合法、安全的必要措施,也是定位输出内容责任主体、压实信息内容安全治理责任的有效办法。《基本要求》针对使用开源语料、自采语料、商业语料三种不同情形提出了细化规定,尤其是当服务提供者使用商业语料时,除了确保语料交易的法律效力、交易方或提供方对语料安全的承诺保障外,《基本要求》明确提出服务提供者同时应当对交易方或合作方所提供的语料、承诺、材料进行合规审查,这对于依赖第三方语料库的服务提供者而言为一项新增合规义务,但在服务提供者自行审核语料安全性时,应当以何种方式或者审核结果达到何种效果时方可确认某一语料的安全性,目前尚不非常明确。服务提供者可以考虑从交易方或合作方提供的基本书面材料有效性、结合《基本要求》附录列明的语料及生成内容的主要安全风险清单等方面进行多方面的审核。

(2)语料内容安全要求

《基本要求》对于语料内容的安全要求,主要围绕搭建以知识产权保护为基础的策略与结构,包括应当专门设置语料以及生成内容的知识产权负责人,允许并支持第三方就语料使用情况以及相关知识产权情况进行查询的功能设置等规定。结合此前北京互联网法院审结的人工智能生成图片著作权纠纷案、广州互联网法院审结的生成式人工智能训练数据集侵权案,可以看出《基本要求》对于在语料内容的训练、使用以及在事后为知识产权相关权益方提供畅通的投诉与查询通道等方面,同样继承了目前的实践监管趋势,表明了重点保护知识产权的立场与态度。

第二,秉承《网络信息内容生态治理规定》的主旨,《基本要求》在内容安全治理方面提出服务提供者应当采取关键词、分类模型、人工抽检等方式,充分过滤全部语料中的违法不良信息,从源头避免违法不良信息与内容的生成。

第三,针对语料中包含个人信息及敏感个人信息的情形,《基本要求》对服务提供者仅规定了事前告知与获得个人信息主体同意的前置义务,但并没有明确个人信息主体在事后可以通过何种方式向服务提供者主张权利、提出问询或投诉、或要求服务提供者删除其个人信息。服务提供者可以结合《个人信息保护法》中关于个人对个人信息的处理知情权、决定权、有权限制或拒绝他人对其个人信息进行处理的规定,在其服务产品的显著位置向个人信息主体说明其有权主张前述权利的途径与方式,以便权利人的权益在使用生成式人工智能服务事前、事中与事后均可得到充分的保障。

(3)语料标注安全要求

《基本要求》针对语料标注人员、标注规则、标注内容的准确性均提出了要求,例如,相对《征求意见稿》而言,新增要求服务提供者应当自行组织对标注人员的安全培训,这与目前大模型备案中的安全评估要点也进行了衔接,同时明确了培训的内容应当包括例如标注任务规则、标注内容质量核验方法等事项。在标注内容的准确性保障方面,《基本要求》对于功能性标注与安全性标注提出了不同的确认规则,针对功能性标注需要进行人工抽检、抽检对象的语料以每一批为单位。而针对安全性标注则需要进行人工审核,审核对象的语料以每一条为单位。

(4)模型安全要求

《基本要求》首先明确如服务提供者需要基于第三方基础模型提供服务,必须使用已经主管部门备案的基础模型。尽管“基于”的范畴尚不明确,结合《暂行规定》及实践中的服务上线要求,我们理解,这意味着直接接入境内外未备案的服务提供者可能无法上线生成式人工智能服务,但并未禁止基于未备案基础模型进行二次开发的服务在完成备案要求后上线。此外,《基本要求》分别针对模型生成内容的安全性、准确性、可靠性提出了具体要求,以正确引导生成式人工智能服务可以安全地为使用者输出安全、有效、符合科学常识以及主流认知的内容。

(5)安全措施要求

在上线范围方面,《基本要求》提出了根据服务应用场景不同采取分类分级的保护措施的要求,针对用于关键信息基础设施,以及如自动控制、医疗信息服务、心理咨询、金融场景等本身存相对较高风险的内容安全、数据安全、个人信息保护安全的情况,服务提供者需要就此配备与具体场景风险程度以及场景相适应的保护措施,加强对重点重要场景的安全保障。

在针对未成年人使用者的保护方面,对于面向未成年人提供生成式人工服务的提供者,《基本要求》删除了《征求意见稿》中关于限制未成年人单日对话次数与时长的前提限定,对于可能涉及消费、支付功能或场景的情况,《基本要求》同样作出了微调,将从“需经过监护人确认后未成年人方可进行消费”修订为“不应向未成年人提供与其民事行为能力不符的付费服务”,这一调整与《民法典》《未成年人网络保护条例》等规定中关于未成年人从事与其年龄、认知等民事行为能力相符的行为以及引发的责任承担的规定意图相一致,对于通过生成式人工智能提供的各项付费服务,尤其是有益于未成年人身心健康的服务和内容,不应简单地要求所有未成年人均需事前获得其监护人的确认,从使用者的角度而言,前述修订也更易于例如辅助学习类别、寓教于乐类别的生成式人工智能服务得到更加广泛地应用。

第三,《基本要求》对生成式人工智能服务的使用者及其使用规范也提出了具体要求,例如,当需要收集使用者输入的信息用于数据和模型训练时,《基本要求》要求的授权模式为“默认开启+显著告知单独关闭渠道”,即“Opt-out”模式。也即服务提供者只需要为使用者提供关闭其输入信息用于训练的途径与方式即可,并非由使用者主动选择开启该等功能,这对于需要实时过滤、微调、更新模型训练语料与词库题库的需求而言可能为一项更高效便捷的模式,同时也能促使生成式人工智能服务的输出内容尽可能多地采集到不同使用者的输入内容以及同一内容的不同表述样本,有益于对不同问题的需求与反馈统计等,以便及时完善模型、内容质量及其配套安全措施。

需要注意的是,虽然前述“Opt-out”模式为目前同类生成式人工智能服务的主流实践做法,但该等模式下的个人信息处理的合法性基础可能较为薄弱,结合此前X/Twitter、Zoom等国内外企业更新隐私政策宣布将用户数据用于训练人工智能模型存在广泛争议的情况,以及基于同意将用户数据用于模型训练后响应删除权等个人数据权利存在技术困难等实践情况,我们理解目前亦有诸多企业将前述情形采取或调整为用户Opt-in模式,即默认情况下不会使用用户提交的数据来训练或优化模型,除非用户主动选择共享给公司);或明确不将该等数据用于模型训练的做法。

此外,《暂行办法》第十四条提出,提供者发现使用者利用生成式人工智能服务从事违法活动的,应当依法依约采取警示、限制功能、暂停或者终止向其提供服务等处置措施,保存有关记录,并向有关主管部门报告。《基本要求》承接并量化了前述主体责任的落实方案,明确规定了对违规使用或恶意使用生成式人工智能服务的情况应当设置使用拦截功能,如果使用者连续三次或一天内累计五次输入违法不良信息或明显诱导生成违法不良信息的,应依法依约采取暂停提供服务等处置措施,这为提供者在实践中设置有关拦截机制方面提供了相对具体的合规义务落实指引。

值得注意的是,《基本要求》删除了《征求意见稿》规定的在模型重要更新、升级之后,需要再次进行安全评估并重新向主管部门备案的要求。根据目前的规定,服务提供者在模型完成重要更新和升级后,只需再次自行组织安全评估即可,这对于服务提供者的合规成本以及提供服务的业务连续性均是利好信号。但是,前述“重要更新和升级”所指具体内容与范围、以及该事项是否会落入需要办理变更备案的情况,尚待进一步释明。

(6)关键词库与测试题库要求

建立关键词库与测试题库是保证语料安全的重要前提之一,《基本要求》结合其附录A列明的五类安全风险,对于关键词库与生成内容测试题库进行了对应规定,可以看出针对风险等级较高的A.1类与A.2类安全风险均规定了最低条目数量的要求。

同时,相比《征求意见稿》,《基本要求》新增了关键词库与测试题库的定期更新的推荐性条款,服务提供者可以参照该等规定,按照网络安全、信息内容安全治理以及业务实践情况与需要,及时更新关键词库与测试题库。

03 合规建议

1. 增强语料等源头治理工作

《暂行办法》第九条压实了生成式人工智能服务提供者的网络信息内容生产者责任,即落实生成内容的具体责任主体。但是,生成式人工智能的权利侵害结果形成原因可能复杂多样,仅关注传统的侵害结果维度忽略了人工智能技术的设计意图、训练数据、科技伦理等源头性因素对人工智能造成侵害结果的直接影响。因此,相关企业应增强人工智能的源头治理力度,将人工智能侵害治理追溯至人工智能的设计、开发等源头阶段,优化人工智能侵害的责任主体链。

具体而言,在算法设计方面,应采取有效措施防止产生民族、信仰、国别等歧视,并将伦理道德纳入技术体系,推动“科技向善”。在人工智能训练、优化、测试数据等语料治理方面,应关注语料的来源、质量、安全乃至语料搭配等方面,制定恰当的治理规则以实现语料的源头治理。例如,保留开源语料的开源许可协议、自采语料的采集记录等以确保语料来源的可追溯性,对采集后的语料进行核验以避免因使用存在大量违法不良信息的语料而致使人工智能的运行受到相应的负面影响。

2. 坚持安全底线,尤其是内容安全

《基本要求》旨在细化生成式人工智能服务在安全方面的基本要求,从而贯彻落实“发展与安全并重”的人工智能理念。这一以安全为底线护航人工智能产业发展的思路也应贯彻至生成式人工智能服务提供者等相关企业的业务实践当中。

一方面,企业宜遵循《基本要求》的颗粒度,逐步落实语料来源安全、语料内容安全、语料标注安全、模型安全与安全措施的相关要求,完善内部的安全治理体系,保障用户权益、社会公共利益。另一方面,《基本要求》还重点对包含语料内容安全和生成内容安全的内容安全提出了关切,例如通过附表形式明确列举了现阶段识别出的主要内容安全风险,细化了内容安全目标粒度或提出具有实操性的安全举措。我们理解,在网络消息传播速度飞速的互联网信息时代,对生成式人工智能服务相关的内容安全的重视也是互联网内容治理整体框架下的“题中应有之义”。

总的来说,我们理解,企业在积极推进生成式人工智能安全治理工作时,宜重点加强内容安全治理,采取诸如人工与机器结合审核、引入或开发高质量语料库等方式保障输入与输出内容的安全。实践中,我国各行业积极建设高质量语料库,如人民网开发主流价值语料库、智源人工智能研究院联合其他单位发布开源可信中文互联网语料库。相关企业可充分利用现有优质语料资料,实现内容安全与技术发展的“同频共振”。

3. 加强合规体系建构,完备内部制度

伴随《暂行办法》《科技伦理审查办法(试行)》《网络安全标准实践指南——生成式人工智能服务内容标识方法》《基本要求》等与生成式人工智能技术及服务相关的法律法规、技术文件的出台,构建制度完备的生成式人工智能合规体系是相关企业在人工智能迅捷发展时代下的重要命题。

我们理解,完备的人工智能合规体系应以网络安全、数据安全和个人信息保护为底层架构,即应首先按照《网络安全法》《数据安全法》《个人信息保护法》及配套规则构建健全的网络安全与数据合规治理体系,例如制定并落实数据分级分类保护规则、安全事件应急响应规则。在此基础上,结合《暂行办法》等人工智能相关规定,补充完善训练数据治理、内容治理、生成内容标识、科技伦理审查等由人工智能引发的特殊合规要求。

此外,根据2023年度国务院立法计划,我国《人工智能法草案》已被纳入提请全国人大常委会审议的范畴当中。我们理解,随着人工智能监管顶层设计的出台、包含生成式人工智能在内的人工智能治理规范体系的不断完善,人工智能相关企业应依据最新立法与监管动态,及时更新既有合规体系。为了确保企业内部既有人工智能合规体系能够有效落地与执行,企业还宜积极引入具备人工智能技术与法律双重背景的治理人才,以畅通新兴技术发展与企业合规之间的桥梁。

4. 开展大模型备案遵照执行《基本要求》

如前所述,《基本要求》作为全国网络安全标准化技术委员会发布的技术文件,并非具有强制性法律效力的正式立法,也暂未被纳入强制性国家标准的范畴。但是,一方面,不具有法定强制性效力不影响《基本要求》因其规范支撑作用与明晰的执行颗粒度,而可能在实践监管活动中被相关监管部门选定为评估生成式人工智能服务安全能力等方面的具有可落地性的执法标准。

另一方面,考虑到《基本要求》基本涵盖了大模型备案过程中要求生成式人工智能服务提供者开展安全评估的具体评估指标例如训练语料来源、标注人员情况等,相关服务者在实际开展大模型备案工作时,也宜遵照《基本要求》的相关合规要求自行或委托第三方机构开展安全评估,以提高备案效率。

5. 开展大模型备案前组织自测工作

自大模型备案开展以来,大模型备案的实践要求处于动态调整的过程当中,例如,在保留训练数据来源等内容的基础上,新增了企业提供大模型下载通道、实测账号与内容审核机制等要求。我们理解,这在一定程度上体现出监管部门对大模型备案的重视程度:随着实践经验的积累,适时调整备案要求从而契合当下生成式人工智能服务的发展情况,从而实现精准收集信息、提供更为柔性的指导之目的。

因此,在正式开展大模型备案前,为提高备案的可行性,如可行,相关企业宜自行或引入上海人工智能实验室等第三方专业机构开展大模型自测工作。遵循《基本要求》的安全评估办法及具体评估事项开展测试工作,以“查漏补缺”,优化自身安全评估流程,提高自身的生成式人工智能服务的安全水平。

本文作者  宁宣凤

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

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

相关文章

阿里云服务器ECS经济型e实例性能如何?

阿里云服务器ECS推出经济型e系列,经济型e实例是阿里云面向个人开发者、学生、小微企业,在中小型网站建设、开发测试、轻量级应用等场景推出的全新入门级云服务器,CPU采用Intel Xeon Platinum架构处理器,支持1:1、1:2、1:4多种处理…

JS第一阶段1

文章目录 1. js组成2. JS三种书写位置JS输出语句 3. 变量4. 数据类型Number字符串型 String布尔型booleanUnddefined和Null 5. 获取变量的数据类型获取检测变量的数据类型 6. 数据转换类型转换为字符串转换为数字型(重点)转换为布尔型 7.运算符算数运算符…

找不到msvcp110.dll怎么办,msvcp110.dll丢失的5种修复方法

在计算机使用过程中,我们经常会遇到一些错误提示,其中之一就是“msvcp110.dll丢失”。由于msvcp110.dll是Microsoft Visual C Redistributable Package的重要组成部分,它的缺失会导致依赖于该组件的软件无法正常启动或运行,比如某…

从初学者到专家:Java反射的完整指南

一.反射的概念及定义 Java 的反射( reflection )机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性,既然能拿到那么&#x…

Jenkins + Docker + ASP.NET Core自动化部署

本来没想着要写这篇博客,但是在实操过程中,一个是被网络问题搞炸了心态(真心感觉网络能把人搞疯,别人下个包、下个镜像几秒钟搞定,我看着我的几KB小水管真是有苦说不出),另一个就是这里面坑还是…

C语言---指针的两个运算符:点和箭头

目录 点(.)运算符箭头(->)运算符需要注意实际例子 C语言中的指针是一种特殊的变量,它存储了一个内存地址。点(.)和箭头(->)是用于访问结构体和联合体成员的运算符。…

手撕算法-二叉树的镜像

题目描述 操作给定的二叉树,将其变换为源二叉树的镜像。数据范围:二叉树的节点数 0≤_n_≤1000 , 二叉树每个节点的值 0≤_val_≤1000要求: 空间复杂度 O(n) 。本题也有原地操作,即空间复杂度 O(1) 的解法&#xff0c…

【设计模式】-工厂模式

工厂模式是一种创建型设计模式,它提供了一种在不指定具体类的情况下创建对象的方法。工厂模式的核心思想是将对象的创建与使用分离,降低系统的耦合度,使系统更加灵活、可扩展。 工厂模式主要分为三种类型:简单工厂模式、工厂方法…

苍穹外卖-day06:HttpClient、微信小程序开发、微信登录(业务流程)、导入商品浏览功能代码(业务逻辑)

苍穹外卖-day06 课程内容 HttpClient微信小程序开发微信登录导入商品浏览功能代码 功能实现:微信登录、商品浏览 微信登录效果图: 商品浏览效果图: 1. HttpClient 1.1 介绍 HttpClient 是Apache Jakarta Common 下的子项目,…

苍穹外卖-day04:项目实战-套餐管理(新增套餐,分页查询套餐,删除套餐,修改套餐,起售停售套餐)业务类似于菜品模块

苍穹外卖-day04 课程内容 新增套餐套餐分页查询删除套餐修改套餐起售停售套餐 要求: 根据产品原型进行需求分析,分析出业务规则设计接口梳理表之间的关系(分类表、菜品表、套餐表、口味表、套餐菜品关系表)根据接口设计进行代…

C#重新认识笔记_ 点乘,叉乘

C#重新认识笔记_ 点积,叉乘 一、Dot Product 点乘: (Ax*Bx)(Ay*By)(Az*Bz)Dot Product 点积 利用点积,可以了解,两个向量(vector)的相关信息, …

el-form 的表单校验,如何验证某一项或者多项;validateField 的使用

通常对form表单的校验都是整体校验: this.$refs.form.validate( valid > {if (valid) {// 校验通过,业务逻辑代码...} }); 如果需要对表单里的特定一项或几项进行校验,应该如何实现? 业务场景:下图点探测按钮时…

CSS 零基础入门教程

目录 1. div 和 span2. 什么是CSS?3. CSS 引入方式3.1 内部样式表3.2 外部样式表3.3 行内样式 4. 选择器4.1 标签选择器4.2 类选择器4.3 id 选择器4.4 通配符选择器 5. CSS 基础属性6. 谷歌浏览器调试工具 正文开始。 1. div 和 span 在学习 CSS 之前,…

Redis 八种常用数据类型详解

夯实基础,这篇文章带着大家回顾一下 Redis 中的 8 种常用数据类型: 5 种基础数据类型:String(字符串)、List(列表)、Set(集合)、Hash(散列)、Zse…

redis学习-List类型相关命令以及特殊情况分析

目录 1. lpush key value1 value2 ... 2. lrange key start end 3. lpop key num 4. rpush key value1 value2 ... 5. rpop key num 6. lindex key index 7. llen key 8. lrem key num value 9. rpoplpush key1 key2 10. lset key index value 11. linsert key before/after…

算法---二分查找练习-1(在排序数组中查找元素的第一个和最后一个位置)

在排序数组中查找元素的第一个和最后一个位置 1. 题目解析2. 讲解算法原理3. 编写代码 1. 题目解析 题目地址:点这里 2. 讲解算法原理 算法原理如下: 首先,判断数组是否为空,如果为空,则直接返回{-1, -1}表示没有找到目…

深入解析JVM加载机制

一、背景 Java代码被编译器变成生成Class字节码,但字节码仅是一个特殊的二进制文件,无法直接使用。因此,都需要放到JVM系统中执行,将Class字节码文件放入到JVM的过程,简称类加载。 二、整体流程 三、阶段逻辑分析 3…

PostgreSQL中vacuum 物理文件truncate发生的条件

与我联系: 微信公众号:数据库杂记 个人微信: iiihero 我是iihero. 也可以叫我Sean. iiheroCSDN(https://blog.csdn.net/iihero) Sean墨天轮 (https://www.modb.pro/u/16258) 数据库领域的资深爱好者一枚。 水木早期数据库论坛发起人 db2smth就是俺&am…

世界第一个AI软件工程师问世!

2024年3月13日,科技公司Cognition推出了世界上第一位人工智能软件工程师Devin AI。这项创新有望利用人工智能编码和机器学习的力量加快发展。Devin AI不仅仅是帮助;它是一个成熟的队友,发挥智能编码自动化和自主人工智能编码的魔力&#xff0…

Spring Bean的生命周期流程

前言 Java 中的公共类称之为Java Bean,而 Spring 中的 Bean 指的是将对象的生命周期,交给Spring IoC 容器来管理的对象。所以 Spring 中的 Bean 对象在使用时,无需通过 new 来创建对象,只需要通过 DI(依赖注入&#x…