华为路由器QOS限速实验

此配置只适合分配好VLAN的各项业务,例如:vlan10是视频业务,vlan20是语音业务等。 1.配置流分类 [ar1]traffic classifier c1 operator and [ar1-classifier-c1]if-match vlan-id 10 [ar1-classifier-c1]q [ar1]traffic classifier c2 operator and [ar1-classifier-c2]if-match vlan-id 20 [ar1-classifier-c2]q 2.配置流行为 语音业务对实时性要求比较高,设置大带宽的同时,将DSCP优先级标记为46,保证后续设备优先转发。视频业务对实时性要求没语音那么敏感,可以配置大带宽,将DSCP优先级标记为30。 [ar1]traffic behavior b1 [ar1-behavior-b1]car cir 8000 pir 15000 //配置限速带宽 [ar1-behavior-b1]remark dscp 46 //标记报文DSCP为46 [ar1-behavior-b1]statistic enable //用于验证配置结果 [ar1-behavior-b1]q [ar1]traffic behavior b2 [ar1-behavior-b2]car cir 10000 pir 20000 [ar1-behavior-b2]remark dscp 30 [ar1-behavior-b2]statistic enable [ar1-behavior-b2]q 3.配置流策略 [ar1]traffic policy p1 [ar1-trafficpolicy-p1]cha [ar1-trafficpolicy-p1]cl [ar1-trafficpolicy-p1]classifier c1 be [ar1-trafficpolicy-p1]classifier c1 behavior b1 [ar1-trafficpolicy-p1]cl [ar1-trafficpolicy-p1]classifier c2 be [ar1-trafficpolicy-p1]classifier c2 behavior b2 4.

【好书推荐】这本书太好了!150页就能让你上手大模型应用开发《大模型应用开发极简入门:基于GPT-4和ChatGPT》

如果问个问题:有哪些产品曾经创造了伟大的奇迹?ChatGPT 应该会当之无愧入选。仅仅发布 5 天,ChatGPT 就吸引了 100 万用户——当然,数据不是关键,关键是其背后的技术开启了新的 AI 狂潮,成为技术变革的点火器。就算我们这些周边吃瓜群众都日日活在 ChatGPT 带来的震撼里,更不用说在 AI 领域摸爬滚打的专家们了。 说起来,虽然天天活在这种震撼里,但很多人觉得自己跟 AI 总有“一步之遥”,包括很多程序员朋友,是的——80% 的人(甚至更多)没有把基于大模型的技术用起来——虽然,大家明明知道: 有了 OpenAI API 和 ChatGPT,一切都变得不一样了! 不需要什么高深的技术,只要懂一点 Python, 就可以即刻动手开发自己的智能应用了! 可不是,这“一步之遥”,在 2023 年没来得及迈出, 只是,时光一逝永不回,往事只能回味, 在 2024 年开年,图灵君希望有幸给大家来个助推。 这不,图灵君开年就给大家带来了一本超级棒的小书: 《大模型应用开发极简入门:基于GPT-4和ChatGPT》 [比] 奥利维耶·卡埃朗,[法] 玛丽–艾丽斯·布莱特 | 著 何文斯|译 书如其名,这是一本有关大模型应用开发的极简入门手册,为初学者提供了一份清晰、全面的“最小可用知识”,带领大家快速了解 GPT-4 和 ChatGPT 的工作原理及优势,并在此基础上使用流行的 Python 编程语言构建大模型应用。 总结一下:短短 150 页的篇幅,讲解简单、通俗、透彻,带大家上手大模型应用开发。 原价 59.8,只需 29.9(or 24.9) 一杯咖啡或奶茶的费用,换来一本好书 先让我们细细看看这本书有哪些特别之处(因为本书封面上是一种很特别的动物——刺蛇尾,本书别名「蛇尾书」)。 蛇尾书特色 0 门槛:人人都可以借力大模型,做出 AI 应用 简单易上手:2 小时上手,构建你的头一个原生 AI 应用 实操性强:学会写提示词、模型微调、使用 LangChain 等 案例丰富:提供常用场景代码示例,方便快速学习

提前恭喜!全体大数据从业者要彻底沸腾了!这波好消息来的太突然!!!

作为席卷全球的新概念 ESG已然成为当前各个行业关注的最热风口 近期 国内官方发布了一项ESG新证书 含金量五颗星、中文ESG证书、完整ESG考试体系、名师主讲... 甚至在行业圈成为大佬们的热门话题... 01 ESG为什么重要? 在双碳的大背景下,ESG已然成为了各个行业关注的发展重点战略板块。 无论是科技企业还是金融、环保、法律、建筑、化工、互联网、财会审计等等各个行业都在加紧布局,ESG定会成为下一个重要的就业风口。 数据人作为践行ESG最直接的关联者, 现如今各大企业纷纷布局ESG,披露自家ESG报告,而ESG实质性评估就是一个使用数据分析的例子。 截至2023年6月,在A股还没完全强制上市公司披露ESG报告的背景下,已经有1755家上市公司(共5076家)主动披露报告,较2022年6月的1439家上涨22%。 也正因如此,能为企业编写ESG报告、提升ESG评级表现的人才非常稀缺。 如果你是一个数据从业者又懂ESG知识,是最适合从事ESG工作的! ESG岗位到底有多火爆? 作为行业新风口,ESG几乎席卷和覆盖了各大领域!从招聘网站我们可以看到目前ESG方面的人才需求量呈现急剧增长! 猎聘《ESG 人才吸引力洞察报告 2023 》大数据显示,近一年 ESG 新发职位同比增长超 60%,招聘平均年薪超 31 万!ESG 热潮兴起,企业产生了巨大的 ESG 人才需求! 两月拿下ESG证书:我收到了某央企单位offer 几乎一夜之间,朋友圈和群里被这个好消息刷爆了! 我建了一个专门的ESG行业学习资源分享群! 群内可以了解最新的ESG资讯、上市公司ESG报告、ESG行业大咖直播课等;涵盖金融、互联网、新能源、智能汽车、大数据、咨询行业、建筑、环保等。全网24小时热门报告,均是最新最全的PDF格式。 为ESG精英人群提供ESG资讯、行业资料、ESG行业大咖资源等。 不仅能了解和学习ESG行业的相关知识,还能扩大自己的交际和人脉圈! 长按识别二维码 立即进群 02 ESG是什么,如何入行ESG? 一句话介绍什么是ESG? ESG是一种关注企业环境(Environmental)、社会(Social)、治理(Governance)绩效! 按照阿里巴巴前董事会主席张勇的话说:大家以后认识和了解阿里巴巴,只需要两份报告:一份是财报,一份是ESG报告! ESG,关乎企业长期效益 ESG和公司的长期收益密切相关。一旦公司在ESG方面表现不好,就很有可能面临被监管处罚,导致股票大幅下跌,投资人分红就会受影响。 *贵州茅台就曾因下调ESG评级导致其股票大幅波动影响投资人分红! 正因如此,对求职者来说,ESG领域的未来发展也很明朗。 ESG如此火爆,如何入局? 目前,ESG在国内还是相对新颖的概念,学校教育无法提供充分的知识储备,短期内也无法输出相关人才,因此针对ESG人才的培训课程和资质认证热度开始迅速提升。 为了积极配合国内对ESG人才的需求,中国工商联人才交流服务中心和中国科技金融促进会于今年正式推出了国内的ESG证书,也是中文版的ESG证书,即注册ESG分析师。 在工商联官网,品职是官方的线上代理合作机构,官方授权! 03 注册ESG分析师,值得考吗? 双碳趋势下,ESG评级正在成为上市公司中长期评价的重要依据,越来越多的企业希望高薪引进ESG相关人才,帮助企业建立起自身的ESG管理体系。 另外,从招聘平台发布的信息可以看到,除了上市公司,咨询公司、会计师事务所以及金融机构、律师事务所等等也纷纷抛出了橄榄枝招聘该领域人才,具体岗位包括ESG研究员、ESG咨询顾问、ESG项目经理等。 据数据分析,ESG在未来将创造更多岗位,到2030年,碳中和带动的清洁能源投资将创造1400万个岗位,并在建筑节能改造、新能源汽车等领域额外创造1600万个工作机会。 在招聘薪资上,国内相关知名企业所招聘的ESG岗位给员工提供30-60k的月薪。据媒体统计,ESG行业平均年薪为25.3万元,月均薪资超过2万元,超过了基金/证券/期货/投资行业。 如果你对注册ESG分析师证书了解不够,品职为大家准备了《注册ESG分析师资料包》 里面包含注册ESG分析师中级课程讲义、证书的报考条件、报考规则和流程、备考资料以及考试大纲等 进群免费领取注册ESG分析师资料包 长按识别二维码进群领取 04 注册ESG分析师,好考吗? ✨中文考试,难度降低 与其他ESG证书相比,中文考试难度大大降低,备考起来也容易很多。 担心英语水平影响考证的小伙伴儿,国内的注册ESG分析师证书就再合适不过了,在题意理解上没有什么阻碍,把知识学好学透即可。 ✨官方认证 注册ESG分析师是由全国工商联人才交流服务中心、中国科技金融促进会共同指导,结业颁发全国工商联人才交流服务中心和中国科技金融促进会共同盖章的《注册ESG分析师》认证证书。 ✨线上考试,快速拿证 官网线上机考,全程摄像头监控,考完当场出成绩,成绩合格的话,预计30个工作日左右可以下载电子版证书,45个工作日左右邮寄纸质版证书。而且考试时间灵活,平均备考时间一个半月,目前每个月都有考试安排,具体时间可咨询老师。

AWS ECR(AWS云里面的docker镜像私库)

问题 上一篇文章,在AWS云上面部署了k8s集群,这次接下来,需要在一个docker镜像私库。 步骤 创建docker镜像私库 打开AWS ECR主页,创建一个docker镜像私库,如下图: 设置私有镜像库名称,直接创建私有库,如下图: 结果如下图: AWS CLI推送镜像 选中镜像库,选择“查看推送命令”,如下图: 设置本地CLI,登录AWS ECR的docker镜像库,如下命令: aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin xxxxxxxxxx.dkr.ecr.us-east-1.amazonaws.com 登录成功如下图: 构建Docker镜像 准备一个Spring Hello World项目 package com.xxxx.demo; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class HelloController { @GetMapping("/") public String hello() { return "Hello World!"; } } Dockerfile FROM bellsoft/liberica-openjdk-alpine-musl:17 RUN addgroup -S spring && adduser -S spring -G spring USER spring:spring VOLUME /tmp WORKDIR /home/myapp COPY target/*.

NISP一级备考知识总结之信息安全概述、信息安全基础

NISP一级备考知识总结之信息安全概述、信息安全基础 参加每年的大学生网络安全精英赛通过初赛就可以嫖一张 nisp(国家信息安全水平考试) 一级证书,nisp 一级本身没啥考的价值,能白嫖自然很香 1.信息安全概述 信息与信息技术 信息概述 信息奠基人香农认为:信息是用来消除随即不确定性的东西信息是事务运动状态或存在方式的不确定性的描述信息是具体的,并且可以被人(生物,机器等)所感知、提取、识别,可以被传递、存储、变换、处理、显示、检索、利用信息来源于物质,又不是物质本身;他是从物质的运动中产生出来,又可以脱离源物质而寄生于媒体物质,相对独立地存在信息的功能:反映事物内部属性、状态、结构、相互联系以及与外部环境的互动关系,减少事务的不确定性信息的表达:信息本身是无形的,借助于信息媒体以多种形式存在或传播。它可以存储在计算机、磁带、纸张等介质中,亦可以记忆在人的大脑中,可以通过网络等方式进行传播 信息的基本属性 信息具有普遍性和客观性信息具有实质性和传递性信息具有可扩散性和可扩充性信息具有中介性和共享性信息具有差异性和转换性信息具有时效性和增值性信息具有可压缩性 信息不同于消息,消息是信息的外壳,信息是消息的内核,也可以说:消息是信息的笼统概念,信息则是消息的精确概念信息不同于数据,数据是信息的符号表示,或称为载体;信息是数据的内涵,是数据地予以解释。数据是信息存在的一种形式,只用通过解释或处理才能成为有用的信息。数据可用不同的形式表示,而信息不会随数据的不同形式而改变 信息技术 信息技术(Information Technology,IT),是用于管理和处理信息所采用的各种技术的总称 信息技术主要利用计算机科学和通信技术来设置、开发、安装和实时信息系统及应用软件。其中,信息处理是获取信息并对它进行变换,使之成为有用信息并发布出去的过程,主要包括信息的获取、存储、加工、发布和表示等几个环节。目前,信息收集和处理已经成为人类社会工作的一个重要组成部分 信息技术包括生产和应用两个方面 生产主要体现在现在信息技术产业本身,包括计算机软件、计算机硬件、设备制造、微电子电路等应用体现在信息技术的扩散上,包括信息服务、信息管理系统等 信息技术发展 微电子、通信、计算机和网络是信息系统的核心技术,其发展进程大致可分为以下四个阶段 第一阶段:电讯技术的发明第二阶段:计算机技术的发明第三阶段:互联网的使用第四阶段:网络社会 第一阶段:电讯技术的发明 信息技术的起源可以追溯到19世纪30年代,其标志性事件是随着电 磁技术的发展,出现了电话电报。人类远程通信手段有了飞跃,开 始进入新时代。这一时期的突出成果包括: 1835年, 美国人莫尔斯 (Morse)发明电报; 1837年,莫尔斯电磁式有线电报问世; 1886 年,马可尼发明无线电报机; 1876年, 贝尔(BelI) 发明电话机; 1906年,美国物理学家费森登成功研究出无线电广播; 1912年美 国 Emer son公司制造出世界上第一台收音机; 1925年,约翰●贝德发明 了世界上第一台电视机。这些技术成果统称为电讯技术,它们为信 息技术的进一步发展奠定了基础。 第二阶段:计算机技术的发明 进入20世纪30年代,计算机理论与技术迅速发展,信息技术 进入计算机阶段。 20世纪50年代末,第一代电子管计算机出现,用于军事科研 信息处理; 60年代中期, 第二代晶体管计算机逐渐在民用企业中使用 60年代末,集成电路(Integrated Circuit, IC) 和大规模 集成电路计算机接踵而至,并开始在社会普及应用; 70年代,随着个人计算机的普及,人们开始使用计算机处理 各种业务。计算机技术的发展和应用加快了人类奔向信息时 代的步伐。 第三阶段:互联网的使用 20世纪60年代末,美国出现了第一一个用于军事目的的计算机网 络ARPANET。ARPANET的重要意义在于它使连接到网络上的计算 机能够相互交流信息。 20世纪90年代,计算机网络发展成为全球性网络一一因特网 ( Internet),网络技术和网络应用迅猛发展。此外,这一阶段 电话、计算机等设备也实现了互联互通,信息和数据的传输更 加容易。信息技术在这一-阶段的飞速发展,深刻地影响着人们 的工作和生活方式。 第四阶段:网络社会 20世纪末,以Internet为核心的信息技术进一步发展,人们的工

低代码实现鸿蒙API返回JSON转TS及快速生成ArkUI代码

直接在线API的JSON转TS代码 低代码实现鸿蒙API调用快速生成ArkUI代码只需要调用你的API接口返回JSON结构的数据,在线绑定变量后,采用了axios鸿蒙扩展插件来加载远程API。 生成的代码如下,程序可能也还有些不足之处,欢迎吐槽,不断优化完善。 import { navigateTo } from '../common/Page' import axios, { AxiosResponse } from '@ohos/axios' interface IDataDataAttr { "title": string } interface IDataData { "img": string, "remark": string, "id": number, "title": string, "attr": IDataDataAttr } interface IData { "msg": string, "code": number, "data": IDataData[] } @Entry @Component export struct Index { @State data: IData = { "code": 0, "msg": "", "data": [{ "title": "", "remark": "", "id": 0, "

【投稿优惠-EI稳定检索】2024第四届数据科学、机器学习和应用国际会议 (ICDSMLA 2024)

2024第四届数据科学、机器学习和应用国际会议 (ICDSMLA 2024) 2024 4th International Conference on Data Science, Machine Learning and Applications (ICDSMLA 2024) 一、【会议简介】 2024第四届数据科学、机器学习和应用国际会议 (ICDSMLA 2024)将于2024年4月26日在中国三亚举行。会议旨在为从事数据科学、机器学习和应用相关领域的专家学者、工程技术人员、技术研发人员提供一个共享科研成果和前沿技术,了解学术发展趋势,拓宽研究思路,加强学术研究和探讨,促进学术成果产业化合作的平台。大会诚邀国内外高校、科研机构专家、学者,企业界人士及其他相关人员参会交流。 二、【重要信息】 大会时间:2024/04/026(以官网为准) 大会地点:中国·三亚 最终截稿时间:请查看官网 审稿通知:投稿后2-3日内通知 会议官网:www.dsmla2024.com 邮箱:dsmla_conf@163.com/ tel_19113130520@163.com 三、【征稿主题】 (其他相关主题皆可投稿,联系组委会老师咨询) 建模与识别 多任务和迁移学习 机器学习算法 深度学习 人工智能 智能搜索 数据挖掘 数据存取 模式识别 智能交通 信息系统安全 数据压缩 数据加密 移动计算 无线传感器网络 多媒体网络 神经网络 机器人控制 信号检测和估计 生物信息处理 智能系统 统计学学习 贝叶斯网络 操作系统 物联网与云计算 信息系统 区块链技术 信息安全和取证 基于计算机的教育技术 社交网络 生物信息学 经济和金融体系 企业管理现代化 数字化管理 智能管理系统 性能评估和建模应用 商业模式创新的大数据分析 企业技术创新 大数据下的经济统计

c# using 用法

using+命令空间 导入命名空间中的所有类型 如:using System.Text; using别名 using+别名=包括详细命名空间信息的具体类型,这种做法有个好处就是当同一个cs引用了两个不同的命名空间,但两个命名空间都包括了一个相同名字的类型的时候。当需要用到这个类型的时候,就每个地方都要用详细命名空间的办法来区分这些相同名字的类型。而用别名的方法会更简洁,用到哪个类就给哪个类做别名声明就可以了。注意:并不是说两个名字重复,给其中一个用了别名,另外一个就不需要用别名了,如果两个都要使用,则两个都需要用using来定义别名的 using s = System.Text; using语句 是用来简化资源释放的,在一定的范围内有效,出了这个范围时,自动调用IDisposable释放掉,当然并不是所有的类都适用,只有实现了IDisposable接口的类才可以使用。提供了机制保证Dispose方法被调用,无论using语句块顺利执行结束,还是抛出了一个异常。 Disposable:可任意使用的、一次性的、用完即丢弃的。该接口的定义是,提供了一种释放非托管资源的机制。 using (var reader = new StringReader(manyLines)) { string? item; do { item = reader.ReadLine(); Console.WriteLine(item); } while (item != null); } 除了using可以达到这个目的意外,try finally也是可以的。如 var reader = new StringReader(manyLines); try { string? item; do { item = reader.ReadLine(); Console.WriteLine(item); } while (item != null); } finally { reader?.Dispose(); } }

Zabbix监控容器MongoDB,报错:Unknown metric mongodb.server.status

在Zabbix中配置监控MongoDB容器时,如果遇到Unknown metric mongodb.server.status这样的错误,通常意味着Zabbix Agent尝试从MongoDB获取某个预定义的性能指标(例如mongodb.server.status),但是未能成功识别或解析该指标。 要解决这个问题,请按照以下步骤进行排查: 检查模板和item键: 确认您使用的Zabbix模板包含了正确监测MongoDB的item keys。对于MongoDB的监控,可能需要使用自定义的用户参数或者专门针对MongoDB设计的模板。核实item key mongodb.server.status是否与当前MongoDB版本兼容,并且是Zabbix支持的监控项。 确认Zabbix Agent配置: 确保Zabbix Agent能够在容器内部执行必要的命令或脚本来收集MongoDB状态数据。如果使用的是Zabbix Agent 2并且有内建的MongoDB支持,确保Agent能够访问到MongoDB服务器并具有正确的认证信息。 验证MongoDB连接: 检查Zabbix Agent是否有权限通过网络或Unix套接字连接到MongoDB实例。确定使用的URL、端口、用户名、密码以及数据库名称等信息都是正确的。 使用正确的方法收集数据: 对于MongoDB监控,有时可能需要直接调用MongoDB的命令行工具(如mongo)或通过MongoDB的Status API来获取serverStatus信息。在Zabbix Agent上安装并配置相应的外部脚本,这些脚本可以处理与MongoDB通信的任务,并将结果转化为Zabbix能理解的格式。 更新或创建新的监控项: 如果使用的模板不包含或不支持所需的关键指标,您可能需要手动添加或修改监控项以正确获取serverStatus或其他所需的MongoDB性能指标。 查阅官方文档: 查阅最新的Zabbix文档,了解其对MongoDB监控的支持情况和最佳实践。 总之,解决这类问题需要确保模板、agent配置、MongoDB连接设置都无误,并且能够准确地抓取和报告所需的数据给Zabbix Server。如果使用了第三方插件或脚本,请参照其特定的说明文档来调试和配置。

[伴学笔记] 王道操作系统系列第一章1.1操作系统的基本概述

文章目录 [第一章]1.1操作系统的基本概述前言本文速览:思维导图什么是操作系统?操作系统向上层提供的服务:封装硬件功能成API (接口)==>提供API(接口)给用户以及应用程序接口种类1) 提供GUIGUI 接口种类 2)命令接口:分为 交互式命令接口(也叫联机命令接口: 特点是用户说一句,系统做一句)与批处理命令接口(也叫脱机命令接口 (特点是: 用户说一堆,系统跟着做一堆))接口种类 3)程序接口系统调用?进一步理解系统调用: 装有操作系统的裸机称为扩充机器(也叫虚拟机) 多核的诞生?进程和线程是很重要的概念:怎么判断自己电脑是64位?什么是虚拟:拓展: 信息来源: [第一章]1.1操作系统的基本概述 前言 督促自己,同时分享所得,阅读完本篇大约需要10分钟,希望为朋友的技术精进之路尽到绵薄之力.码字不易,望能给个点赞和收藏,以激励笔者源源不断的创作.在此以表谢意,同时因为笔者实力有限,如果发现错误,请及时指正,以免误导后人,谢谢! 本文速览:思维导图 什么是操作系统? Operating System 是管理软/硬件资源,并为程序提供服务的一个软件. 王道: 操作系统是控制和管理整个计算机系统的硬件和软件资源,并且调度计算机的工作和资源的分配.以提供给用户和其他软件方便的接口和环境. 它是计算机系统中最基础的系统软件 说白了王道的角度是: 操作系统是系统的管理者,为应用程序以及用户提供服务的,一个最接近硬件的软件. 操作系统向上层提供的服务: 封装硬件功能成API (接口)==>提供API(接口)给用户以及应用程序 接口种类1) 提供GUI GUI 接口种类 2)命令接口:分为 交互式命令接口(也叫联机命令接口: 特点是用户说一句,系统做一句)与批处理命令接口(也叫脱机命令接口 (特点是: 用户说一堆,系统跟着做一堆)) 接口种类 3)程序接口 命令接口和程序接口 统称为 “用户接口” 系统调用? 程序接口(应用程序接口)由 一系列系统接口组成 在计算机中 系统调用指的是程序向操作系统内核 请求更高权限运行的服务. 系统调用提供了应用程序与操作系统之间的接口 系统调用运行在内核空间(即内核态)下 进一步理解系统调用: 操作系统的进程空间分为 用户态(用户空间)和内核态(内核空间).它们需要不同的执行权限,其中系统调用运行再内核空间. 系统调用和普通库函数调用很相似,不过系统调用由操作系统内核提供,运行于内核态;而普通库函数调用由函数库或者用户自己提供,运行于用户态 装有操作系统的裸机称为扩充机器(也叫虚拟机) 多核的诞生? 因为IMD和InteI商业竞争出现的,因为IMD先做的多核,帮Intel打开了脑洞,最早的Intel的芯片比IMD大不少,因为Intel就好比"单核+单核 = 多核" 进程和线程是很重要的概念: ​ process: ​ 进程之间切换开销很大 线程之间切换较快 一个任务较复杂的处理: 一个进程多个线程

Oracle 数据库内存锁 Latch 解析

导读 本文介绍Oracle数据库内存锁Latch的相关概念,帮助你更好的理解Oracle内存锁,方便日后进行问题排查和SQL优化。 1、什么是 Latch? latch是一种Oracle低级别的内存保护机制,用于序列化对于非常短时间的内存结构的并发访问。 latch是一种简单的内存结构。 latch的大小通常在100-200B左右(取决于Oracle的版本和Oracle运行的平台)。 latch封装在一个latch 状态对象的结构中(从Oracle 8.0开始)。 latch可以驻留在固定的SGA(父latch)或共享池。 latch可以被共享(从Oracle 8.0开始),比如获取cache buffers chains latch用于检查buffer chain 。 latch是一个lock。 2、什么是 Latch 争用? 我想获得一个latch,但是有人已经拿到这个latch了。 要排查这种latch,需要排查如下信息: (1)是谁,为什么要获得一个latch(等待者) (2)是谁,为什么拿到了这个latch(阻塞者) 换句话说,是找出是谁,为什么阻塞我,就像普通的队列锁一样。 请记住,latch是一种内存锁。 3、如何排查Latch 争用? 可以查询如下视图: v$session v$session_wait v$session_name v$active_session_history PARAMETER1 是latch的地址,地址映射到v l a t c h p a r e n t 和 v latch_parent和v latchp​arent和vlatch_children的ADDR列。 3.1、查询v$session中的latch地址p1,p2,p3 select event, P1TEXT, P1, P1RAW, P2TEXT, P2, P2RAW, P3TEXT, P3, P3RAW from v$session where event like '%latch%'; 3.

python网络爬虫教程笔记(1)

系列文章目录 文章目录 系列文章目录前言一、爬虫入门1.爬虫是什么?2.爬虫工作原理3.爬虫基本原理4.工作流程5.HTTP请求6.HTTP响应7.HTTP原理:证书传递、验证和数据加密、解密过程解析8.Urllib.request库的使用9.TCP3次握手,4次挥手过程 总结 前言 一、爬虫入门 1.爬虫是什么? 爬虫:网络爬虫(又称为网页蜘蛛,网络机器人),是一种按照一定规则,自动抓取万维网信息的程序或脚本。随着网络的迅速发展,万维网成为大量信息的载体,如何有效的提取并利用这些信息成为一个巨大挑战。搜索引擎作为辅助人们检索信息的工具成为用户访问万维网的入口和指南。网络爬虫是搜索引擎的重要组成部分; 2.爬虫工作原理 搜索引擎的工作原理 第一步:抓取网页(爬虫) 搜索引擎是通过一种特定规律的软件跟踪网页的链接,从一个链接爬到另一个链接,搜索引擎的爬行是被输入了一定的规则,需要遵从一些命令或文件的内容。 Robots协议(也称为爬虫协议、机器人协议等)的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取 第二步:数据存储 搜索引擎是通过蜘蛛跟踪链接爬行到网页,并将爬行的数据存入原始页面数据库。其中的页面数据与用户浏览得到的HTML是完全一样的。搜索引擎蜘蛛在爬取页面时,也做一定的重复内容检测,一旦遇到权重很低的网上大量抄袭、采集或复制的内容,很可能就不爬取。 第三步:预处理 搜索引擎将蜘蛛抓取回来的页面进行各种步骤的预处理。包括提取文字、中文分词、去停止词、消除噪音(版权声明文字、导航条、广告等)、正向索引、倒排索引、链接关系、特殊文件等 除了HTML文件外,搜索引擎通常还能抓取和索引以文字为基础的多种文件类型,如PDF、Word、WPS、PPT、TXT等,但搜索引擎还不能处理图片、视频、Flash这类非文字内容,也不能执行脚本和程序。第四步:排名,提供检索服务 (1) 不同领域、不同背景的用户往往具有不同的检索目的和需求,通用搜索引擎所返回的结果包含大量用户不关心的网页; (2) 通用搜索引擎的目标尽可能大的网络覆盖率,有限的搜索引擎服务器资源与无限的网络数据资源之间的矛盾进一步加深; (3) 万维网数据形式的丰富和网络技术的不断发展,图片、数据库、音频】视频多媒体等不同数据大量出现,通用搜索引擎往往对这些信息含量密集且具有一定结构的数据无能为力,不能很好的发现和获取; (4) 通用搜索引擎大多提供关键字检索,难以支持根据语义信息提出的查询; 为了解决上述问题,定向抓取相关网页资源的聚焦爬虫应运而生。聚焦爬虫是一个自动下载网页的程序,它根据既定的抓取目标,有选择的访问万维网上的网页与相关链接,获取需要的信息。与通用爬虫相比,聚焦爬虫并不追求大的覆盖,而将目标定为抓取某一特定主题内容相关的网页,为面向主题的用户查询准备数据资源。 聚焦爬虫工作原理: 网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成部分。传统爬虫从一个或若干个初始网页URL开始,获得初始网页的URL,在抓取网页的过程中不断从当前页面上抽取新的URL放入队列,知道满足系统的停止条件。聚焦爬虫的工作流程较为复杂,需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并将其放入等待抓取的URL队列。然后,它将根据一定的搜索策略从队列中选择下一步要抓取的网页URL,并重复上述过程,直到达到停止条件。另外,所有被爬虫抓取的网页将会被系统存储,进行一定的分析、过滤、并建立索引,以便之后的查询和检索; 相对于通用爬虫,聚焦爬虫还需要解决的问题: (1) 对抓取目标的描述和定义 (2) 对网页或数据的分析与过滤 (3) 对URL的搜索策略 抓取目标的描述和定义是决定网页算法与URL搜索策略如何制定的基础。而网页分析算法和候选URL排序算法是决定搜索引擎所提供服务形式和爬虫网页抓取行为的关键所在。这两部分的算法又是紧密相关的。 网络爬虫的发展趋势 随着AJAX/Web2.0的流行,如何抓取AJAX等动态页面成了搜索引擎需解决的问题,如果搜索引擎依旧采用爬的机制,是无法抓取到AJAX页面的有效数据的。对于AJAX这样的技术,所需要的爬虫引擎必须是基于驱动的,而如果想要实现事件驱动,首先要解决以下问题: 第一:Java Script的交互分析和解释; 第二:DOM事件的处理和解释分发; 第三:动态DOM内容语义的抽取; 社交网络对爬虫带来的新挑战: 账号护城河 我们通常称UGC(User Generated Content)指用户原创内容,为web2.0,即数据从单向传达,到双向互动,人们可以与网站进行交互,因此产生了账号,每个人都通过账号来标识身份,提交数据,这样一来社交网络就可以通过封账号来提高数据抓取的难度,通过账号来发现非人类流量。之前没有账号只能通过cookie和ip。cookie又是易变,易挥发,很难长期标识一个用户。网络走向封闭 新浪微博2012年以前都是不封的,但是很快,越来越多的站点开始防止竞争对手,防止爬虫抓取,数据逐渐走向封闭。甚至出现了很多爬虫公司;反爬手段,封杀手法 通用框架已成为历史,目前市场上难以抓取的数据包括微信、微博等,当面对这些挑战的时候,就需要智能爬虫,智能爬虫是让爬虫的行为尽可能模仿人类行为,让反爬策略失效,只有"混在老百姓的队伍里面,才是安全的",因此这就需要琢磨浏览器了,很多人把爬虫写在浏览器插件里面,把爬虫写在手机里面,写在路由器里面(春节抢票王)。 3.爬虫基本原理 爬虫是模拟用户在浏览器或某个应用上的操作,把操作的过程,实现自动化的程序。当我们再浏览器中输入一个URL后,后台会发生什么,比如: 简单的来说,这段过程发生了以下四步: 查找域名对应的IP地址向IP对应的服务器发送请求服务器响应请求,发回网页内容浏览器解析网页内容 浏览器是如何发送和接受这个数据呢? HTTP协议(HyperText Transfer Protocol,超文本传输协议)目的是提供一种发布和接收HTML(HyperText Markup Language)页面的方法。 HTTP是基于TCP协议之上的。在TCP/IP协议参考模型的各层对应的协议如下图,其中HTTP是应用层协议。默认HTTP的端口是80,HTTPS的端口是443. HTTP工作过程 一次HTTP操作称为一个事务,其工作整个过程如下: 地址解析封装HTTP请求数据包封装成TCP包,建立TCP连接(TCP的三次握手) 在HTTP工作之前,客户机(Web浏览器)首先通过网络与服务器建立连接,该连接是通过TCP来完成的,该协议与IP协议共同构建Internet,即著名的TCP/IP协议,因此Internet又被称为TCP/IP网络。HTTP是比TCP更高层次的应用层协议,根据规则,只有低层协议建立以后才能进行更高层次的协议连接。因此首先要建立TCP连接,才能进行HTTP连接。客户机发送请求命令 建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号、后面是MIME信息包括请求修饰符、客户机信息和可能内容。服务器响应 服务器接到请求后,给予响应的响应信息,其格式为一个状态行,包括信息的协议版本号,一个成功或错误的代码,后边是MIME信息包括服务器信息,实体信息和可能的内容。实体消息是服务器向浏览器发送头信息后,它会发送一个空白行来表示头信息的发送到此为结束,接着,它就以Content-Type应答头信息所描述的格式发送用户所请求的实际数据服务器关闭TCP连接

【python实战】--图片创作视频

系列文章目录 文章目录 系列文章目录前言一、VideoWriter_fourcc()常见的编码参数二、使用步骤1.引入库 总结 前言 一、VideoWriter_fourcc()常见的编码参数 cv2.VideoWriter_fourcc(‘M’, ‘P’, ‘4’, ‘V’)MPEG-4编码 .mp4 可指定结果视频的大小cv2.VideoWriter_fourcc(‘X’,‘2’,‘6’,‘4’)MPEG-4编码 .mp4 可指定结果视频的大小cv2.VideoWriter_fourcc(‘I’, ‘4’, ‘2’, ‘0’)该参数是YUV编码类型,文件名后缀为.avi 广泛兼容,但会产生大文件cv2.VideoWriter_fourcc(‘P’, ‘I’, ‘M’, ‘I’)该参数是MPEG-1编码类型,文件名后缀为.avicv2.VideoWriter_fourcc(‘X’, ‘V’, ‘I’, ‘D’)该参数是MPEG-4编码类型,文件名后缀为.avi,可指定结果视频的大小cv2.VideoWriter_fourcc(‘T’, ‘H’, ‘E’, ‘O’)该参数是Ogg Vorbis,文件名后缀为.ogvcv2.VideoWriter_fourcc(‘F’, ‘L’, ‘V’, ‘1’)该参数是Flash视频,文件名后缀为.flv VideoWriter(filename, fourcc, fps, frameSize[, isColor]) #filename保存文件的路径 #fource指定编码器 #fps保存视频的帧率,即一秒钟播放多少张图片;播放快点:fps设置大点,相当于快进;播放慢点:fps设置小点,相当于慢动作; #frameSize保存文件的画面尺寸 #isColor黑白还是彩色画面True or False #cv2.VideoWriter_fourcc(*'MP4V') 写MP4文件 二、使用步骤 1.引入库 代码如下(示例): import cv2 # 图片序列文件夹 image_dir = 'wordsvedio/' # 图片数量 image_count = 14 #image_count = 192 # 尺寸 frame_size = (675, 981) # videowriter fourcc = cv2.

【计算机学习】-- 电脑的组装和外设

系列文章目录 文章目录 系列文章目录前言一、电脑的组装1.CPU2.主板3.显卡4.硬盘5.内存6.散热器7.电源8.机箱 二、电脑外设选用1.显示器2.鼠标3.键盘4.音响 总结 前言 一、电脑的组装 1.CPU 返回目录 认识CPU CPU,即中央处理器,负责电脑资源的调度安排,是计算机的最核心的配件; CPU的产生: CPU是在纯净的硅材料上制造的,一个CPU芯片包含上百万个精巧的晶体管,每个晶体管相当于一个开关对应二进制中的0和1,这样计算机就具备了处理信息的能力。在晶体管之前,计算机依靠速度缓慢,低效率的真空电子管和机械开关来处理信息,后来科研人员将这两个晶体管放到一个硅晶体中,制造出了第一个集成电路,再到后面的微处理器。 CPU内部结构: 算数逻辑单元ALU:以全加器为基础,辅之以寄存器及相应的控制逻辑组合而成的电路,负责运算数据。寄存器组RS:暂时存放数据的地方。控制单元:由指令寄存器、指令译码器、操作控制器组成。总线:用来传送控制信号、时序信号和状态信息。 CPU的重要参数: ZOL中关村 CPU的主频:CPU的主频大小,代表着CPU运算能力的大小,CPU的主频越高,处理数据的能力越强,比如2GHz的CPU是1GHz的CPU的两倍。 备注: 1)CPU主频相当于日常频率 CPU的主频,即CPU内核工作的时钟频率(CPU Clock Speed)。通常说某CPU是多少GHz的,这个就是CPU主频,主频越高,CPU运算速度越快。一款CPU主频越高,说明单核性能越强(游戏主要看单核性能) 2)睿频 睿频相当于CPU加速时的频率 睿频是指当启动一个运行程序后,处理器会自动加速到合适的频率,而原来的运行速度会提升10%~20%以保证程序流畅运行的一种技术。 3)超频 超频相当于CPU用尽全力时的频率 超频能带来一些性能上的提升,但所承担的是发热,功耗增加,在一些时候可能会烧坏CPU,此时需要注意CPU的散热。 CPU的核数:CPU核数的多少,也代表着CPU运算能力的高低。CPU核数越多,处理数据的能力越强,单核的CPU相当于一个大脑,双核的相当于两个大脑,多核相当于多个大脑。因此,主频相同的情况下,双核CPU是单核CPU的两倍,例如:2核、4核、6核、8核、16核、32核等。 备注: 核心数是CPU的系列术语,指处理器主频提升已力不从心,Intel和AMD在不用进行大规模开发的情况下,将现有产品发展成为理论性能更为强大的多核心处理器系统。例如:在一个教室里(CPU),有6名同学(6核)写题,一开始他们每个人只会用右手写字(6核6线程),后来经过训练后(超线程技术问世),每名同学都会用左右手同时写字(6核12线程),效率提高约40%;对于剪辑,渲染、设计来说,核心和线程数越多,多任务运行能力就越强;游戏,核心和线程过多则无法完全利用,之前的4核心CPU也战友大量市场,所以游戏会优化4、6、8核CPU。像16核那种超多核心的服务器CPU,和1、2核超低性能的,在游戏中表现很拉跨。 CPU的缓存:工作时,CPU往往需要从内存和硬盘中重复读取数据块,由于CPU的运算速度特别快,在内存条的读写忙不过来时,CPU就可以把这部分数据存入缓存中,以此来缓解CPU的运算速度与内存条读写速度不匹配的矛盾,所以,CPU的缓存容量越大越好,以此提升系统性能。 备注:因为CPU的运算速度很快,内存条和硬盘跟不上这个速度,所以要做缓冲,CPU通常比较第三级缓冲; CPU工艺:CPU工艺制程的单位是nm,常见的有7nm、10nm、12nm、14nm,数值越小,代表工艺越先进,伴随着性能提升的同时,功耗越来越低,这就是新架构CPU的魅力。 游戏: 由于游戏运行需要的是粗暴直接的计算工作,所以高主频的CPU会更有优势,推荐(因特尔I5,AMD R7起步),核心和线程数可以相应的少一点(不能太少,至少双核或四核) 设计、剪辑、渲染: 对于需要进行大量并行运算的图形渲染来说,多核心多线程同时工作能比单核心高主频的啥大粗节省大量的时间,因此,专业制图/视频渲染则偏向于多核、大缓存、高性能处理器,以带来更好的工作效率。(因特尔I7,AMD R7起步)这类工作更看重GPU; 因特尔和AMD解析 目前CPU市场品牌就两家:Intel和AMD。 为什么只有Intel和AMD两家? 像高通、三星等企业为什么不生产CPU,其实是有原因的,提到CPU,大家首先想到的是光刻机难题与代工芯片,光刻机是生成CPU的工具,直接决定CPU的制程,但除了制程之外还有个重要的东西,就是“指令集” 想要用Windows系统,必须要使用x86的指令集,x86的专利在Intel手中,因此想要制作CPU必须要经过Intel授权,如果自研或使用其他指令集,就要离开Windows的生态,不会成为主流厂商,要创造一个生态十分困难,而在上世纪80年代,Intel不注重版权保护,导致市场上有多家CPU制造商,Intel濒临破产,因此Intel将这些公司告了,由于反垄断法留下来AMD和Cyrix。Cyrix因为经营不善,被上海联合投资收购,开始研发兆芯,再也没有回归主流市场,因此就形成了Intel和AMD两家。 备注: 指令集:(ISA,Instruction Set Architecture),通俗理解,就是CPU执行一系列命令的说明书与规范,CPU在执行任务时,需要遵循这些规范,同时程序在被执行前,需要翻译成CPU认识的语言,而这种语言或规范就是指令集。目前市面上比较常见的有x86、ARM、MIPS等。ARM指令集是ARM公司开发并授权给各个芯片制造商使用,比如我们熟知的高通、华为、三星、苹果等都获得了授权,因此,高通开发出了骁龙系列处理器,华为开发出了麒麟系列芯片,三星开发出了猎户座芯片,苹果开发出了A系列芯片等。 x86指令集就是我们常见的电脑平台指令集,1978年6月8日,Intel发布了新款16位微处理器“8086”,也同时开创了一个新时代:x86架构诞生了,目前拥有x86处理器授权以及生产制造能力的就Intel,超威半导体(AMD),威盛(via)三家。其中包括AMD授权生产一代zen架构的海光和威盛在上海合资公司兆芯。而PC界的两大主流操作系统windows和MAC系统均是基于x86平台,因此,就形成了PC市场x86处理器垄断局面。 反垄断法: 既然x86指令集是intel发明的,为什么要外放授权? 第一,上世纪80年代随着计算机的普及,苹果,MITS等厂商进军PC行业,后来IBM也进军PC市场,曾采购intel的x86处理器,但Intel一家无法满足IBM的订单,于是IBM要求找伙伴代工生产,著名的thinkpad就是出在IBM公司,当时intel的竞争对手有Zilog、仙童、摩托罗拉、国民半导体、AMD等,后来虽然赢得了竞争,但是IBM为了防止垄断,同时规避将来可能出现的采购风险,要求Intel开放授权找第二供应商,于是intel找来了AMD,并开放了x86授权,后来Intel做大后不愿意分享x86,于是一方面规定被授权公司被收购后授权失效,一方面打专利官司阻碍其它公司生产,一方面不断推出专利接口的产品阻止仿冒行为,加上Intel处理器性能的不断升级,其它公司纷纷倒闭,只有AMD,通过自行研发的K6架构活了下来,后来Intel为了彻底甩开对手,开发了不兼容的x86的IA64架构,而AMD则相应的推出了兼容x86的x86-64。后来二者打官司,AMD胜诉,并获得了x86的永久授权。至于VIA的x86授权只有x86,没拿到64位授权,而且18年到期。 CPU型号怎么选取(什么型号适合自己?) 如何看CPU型号信息(Intel) 1)产品名称:Intel 酷睿,由低到高Celeron(赛扬)、Pentium(奔腾)、酷睿系列i3(入门级)/i5(主流)/i7(高端)/i9(发烧)(建议购买酷睿系列); 2)产品型号:i9 3)工艺:12–第12代 4)等级:900,性能等级,数字越大越好; 5)后缀:K,K(可超频)、F(没有核显),可超频的K版CPU要搭配可超频的Z系列主板才可以超频,搭配不能超频的主板也可以使用,只是不能超频了;没有核显的F版CPU要搭配独立显卡才能开机点亮屏幕; 桌面端 F:不含核显(需要独显) K:支持超频 KF:不含核显+可超频 X/XE:极致性能 移动端 K:支持超频

【计算机学习】-- 网页视频加速

系列文章目录 文章目录 系列文章目录前言一、开发者选项二、定义和用法1.基础语法:2.什么是uncaught TypeError:Cannot read properties of null? 二、开发者工具面板:1.Elements面板:2.Console面板: 总结 前言 一、开发者选项 网页视频无法拖动进度条,如何进行加速播放操作以及网页失焦后如何继续播放 1、 首先点击键盘F12,进入开发者模式 2、 发现标志,heml5,属于原生支持最方便实现加速的 3、 属性: Video对象 Document.getElementById(“myvideo”).playbackRate = 0.5; 二、定义和用法 PlaybackRate属性设置或返回视频的当前播放速度 1.基础语法: 代码如下(示例): Document.getElementById(“myVideo”).playbackRate = 0.5; //或者找到video元素 Document.querySelector(‘video’).defaultPlaybackRate = 1.0 通过Console调试窗口,调节播放倍数 Document.querySelector(‘video’).defaultPlaybackRate = 1.0; Document.querySelector(‘video’).play(); Document.qureySelector(‘video’).playbackRate = 10.0; Document.getElementsByTagName(‘video’)[0].playbackRate = 4 Videojs.getPlayers(“video-player”).html5player.tech_.setPlaybackRate(2) 有个注意事项是进行元素搜索时需要注意切换iframe,否则可能会遇到赋值为null的情况; Uncaught TypeError:Cannot set properties of null (setting ‘defaultPlaybackRate’) at :2:53 2.什么是uncaught TypeError:Cannot read properties of null? 在JavaScript中,当你试图访问一个null或undefined对象的属性时,就会抛出这个错误。例如,我们有一个变量x,它的值为null,然后当我们尝试访问x.property,就会得到uncaught TypeError:Cannot read properties of null的错误。

存算分离|Flink2.0状态存储演进和优化

01 引言 我们在这个时间点重新聊状态存储这个话题是因为状态存储是流计算的核心。Flink 从 2017 年 VLDB 发表奠基之作介绍状态存储[1] 发展至今,Flink 在状态这部分的架构基本并没有太大的变化。但时代是在不断演进和变化的,无论部署模式、存储模式,还是作业负载,都已经发生了翻天覆地的变化。 从部署模式看,我们经历了 map-reduce 时代 Cluster 上没有资源隔离的部署,到云原生时代 K8S 容器为粒度隔离部署。 与此同时,硬件的提升也带来的存储模式的变化,最显著的是网络带宽从 10 年前几百 Mbps,到现在 25Gbps 起步,基本上可以和本地 SSD 的宽度比肩,且内网传输的话速度快、成本低,这使得存储模式从本地存储,到分布式存储,再向云存储的转变。云存储虽然延迟高,但具有容量大、成本低的优势,非常契合现在降本增效的大背景。 另外作业负载方面也发生了很大变化,Flink 刚诞生时,几百 MB 的状态就算大状态场景了,而现在物流等一些场景下,几百 TB 的状态也是很常见的。技术的进步、用户需求的变化带给我们对状态存储这个部分的一些新的思考,这就有了本文要探讨的话题。 本文内容主要分为三个方面探讨一下 Flink 存算分离架构的演进方向。 第一部分,先讲为什么状态对 Flink 的重要性,因为状态访问在单条数据处理路径上,处理延迟对整体性能影响很大; 第二部分,会讲一讲近期状态存储这个部分社区以及我们在阿里内部所做的一些工作和探索; 第三部分,聊一聊基于这些探索工作,Flink 存算分离架构应该是什么样的。 02 为什么状态对 Flink 如此重要 2.1 状态的角色 在 Flink 流处理中,如果后续计算需要依赖前面输入的时候,需要用状态表(State Table)来保存中间数据。在 Task Manager 中,通过一个称为 StateBackend 的服务组件为算子层提供状态读写服务。如果状态太大,内存无法承载时,StateBackend 会把状态数据以文件的形式组织并存储在本地磁盘上。但是通常本地盘不具备数据可靠性,所以 Flink 需要对状态进行定期的快照,把本地文件上传到分布式文件系统(OSS/HDFS/S3 等)。另外,一个 Flink 作业中往往有多个Task 包含有状态算子,因此 Flink 需要确保这些不同的 Task 上的状态快照是全局一致的,也就是说是对齐输入的,这个过程就是 Flink Checkpointing 过程。

Springboot3+Springdoc2(swagger3)+gateway微服务聚合

配置springdoc_springdoc-openapi-starter-webmvc-api-CSDN博客 注意注意注意,存在bug,在运行其他微服务的时候自行在接口前面拼接前缀 0: 依赖 springboot3之后,jakarta包代替javax,并且gateway使用webflux代替webmvc //原始版本 <!-- <dependency>--> <!-- <groupId>org.springdoc</groupId>--> <!-- <artifactId>springdoc-openapi-starter-webflux-ui</artifactId>--> <springdoc-openapi.version>2.3.0</springdoc-openapi.version> <!-- </dependency>--> //增强版 <dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>knife4j-openapi3-webflux-jakarta-spring-boot-starter</artifactId> <version>4.5.0</version> </dependency> 1: yml springdoc: swagger-ui: urls: - name: gateway url: /v3/api-docs - name: xxx url: /v3/api-docs/xxx 2: gateway routes: - id: openapi uri: http://localhost:${server.port} predicates: - Path=/v3/api-docs/** filters: - RewritePath=/v3/api-docs/(?<path>.*), /$\{path}/v3/api-docs 3:config 4:打开 原Swagger文档: http://localhost:0000/swagger-ui.html knife4j文档: http://localhost:0000/doc.html

LM358ADR运算放大器芯片中文资料规格书产品文档PDF数据手册引脚图图片

LM358ADR运算放大器芯片中文资料规格书产品文档PDF数据手册引脚图图片 产品概述: LM358B 和 LM2904B 器件是行业标准运算放大器 LM358 和 LM2904 的下一代版本,其中包括两个高压 (36V) 运算放大器。这些器件为成本敏感型应用提供了卓越的价值,其特性包括低偏移(300µV,典型值)、对地共模输入范围和高差分输入电压能力。 LM358B 和 LM2904B 运算放大器利用单位增益稳定性、更低的失调电压(最大值为 3mV;LM358BA 和 LM2904BA 的最大值为 2mV)和更低的静态电流(每个放大器为 300µA,典型值)等增强型特性简化了电路设计。高 ESD(2kV,HBM)和集成 EMI 以及射频滤波器可支持将 LM358B 和 LM2904B 器件用于更严苛、更具环境挑战性的应用。 LM358B 和 LM2904B 放大器采用微型封装(如 SOT23-8),以及行业标准封装(包括 SOIC、TSSOP 和 VSSOP) 产品特性: 3V 至 36V 的宽电源电压范围(B、BA 版本)静态电流:300 µA/通道(B、BA 版本)单位增益带宽为 1.2 MHz(B、BA 版本)共模输入电压范围包括接地,支持近地直接感测25°C 时的最大输入失调电压为 2 mV(BA 版本)25°C 时的最大输入失调电压为 3 mV(A、B 版本)内部射频和 EMI 滤波器(B、BA 版本)对于符合 MIL-PRF-38535 标准的产品,所有参数均经过测试,除非另有说明。对于所有其他产品,生产流程不一定包含对所有参数的测试。 规格书参数: 引脚图:

【自然语言处理六-最重要的模型-transformer-上】

自然语言处理六-最重要的模型-transformer-上 什么是transformer模型transformer 模型在自然语言处理领域的应用transformer 架构encoderinput处理部分(词嵌入和postional encoding)attention部分addNorm Feedforward & add && NormFeedforword,实际上就是两层全连接层,中间有激活函数等add & Norm 最终encoder的输出 什么是transformer模型 它是编码器和解码器的架构,来处理一个序列对,这个跟seq2seq的架构是一样的。 如果没接触过seq2seq架构,可以通俗的理解,编码器用来处理输入,解码器用来输出但与seq2seq的架构不同的是,transformer是纯基于注意力的。 之前花了几篇的篇幅讲注意力,也是在为后面讲解这个模型打基础。 transformer模型无疑是近几年最重要的模型,目前的大模型几乎都以它为基础发展,很多模型的名字都带有缩写T,正是transformer的缩写。 当然transfomer不仅仅用于自然语言处理领域,归集于自然语言处理模块下面来讲,是因为它在自然语言处理领域的应用非常广泛,下面就讲它的几种应用。 transformer 模型在自然语言处理领域的应用 编码器和解码器架构,比较擅长处理QA类的问题,但这个QA不仅仅是一个问题、一个答案的形式,许多的自然语言处理,都可以理解为QA类问题,比如: 真实的QA类问题。比如:机器人问答。机器翻译。比如中英翻译摘要提取。输入文章,提取摘要情感分析。输入评价,输出正面/负面评价 等等 下面来介绍transformer的架构,看什么样子的架构能实现上面的这些功能 transformer 架构 它出自经典论文《attention is all you need》,论文地址是: http://arxiv.org/abs/1706.03762,本文中的诸多图片都是取自该论文,下面的架构图也是出自论文 从上图就可以看出,transfomer的架构包括左边encoder和右边decoder,下面先来讲encoder部分 encoder 左侧的encoder部分,输入一排input vector向量,输出一排向量,忽略中间的细节来看,是如下的的架构: 中间encoer部分,如果是seq2seq架构,就是RNN,transformer就相对复杂一些: 下面分部分介绍encoder的各个部分: input处理部分(词嵌入和postional encoding) 输入一排,经过词嵌入input Embedding,再加上位置信息,Postional Encoding (这部分可以在 位置编码有介绍),生成一排向量。 然后进入attention计算 attention部分 transformer最重要的attention部分,这部分是多头注意力。值得注意的是,这部分的输出并不会直接丢给全连接层,还需要在额外经过residual add和layer norm add add的操作: 执行residual 残差连接,将attention的输入加到self-attention后的输出 Norm 残差后的输出进行层归一化,层归一化的操作: 不考虑batch,将输入中同一个feature,同一个sample,不同的dimension 计算均值和标准差,然后如下计算 这个操作,用能听得懂的话翻译一下就是,是对每个样本里面的元素进行归一化 整个过程如下: 最终上述部分的输出作为全连接层的输入 Feedforward & add && Norm 上一部分的输出,输入到本部分 Feedforword,实际上就是两层全连接层,中间有激活函数等 当然中间的卷积,可以换成线性层Linear

【自然语言处理六-最重要的模型-transformer-下】

自然语言处理六-最重要的模型-transformer-下 transformer decoderMasked multi-head attentionencoder和decoder的连接部分-cross attentiondecoder的输出AT(Autoregresssive)NAT transformer decoder 今天接上一篇文章讲的encoder 自然语言处理六-最重要的模型-transformer-上,继续讲transformer的decoder,也就是下图中的红框部分 可以看出encoder和decoder部分去掉粉红色框的部分,结构几乎一样,下面分三部分介绍不同点 Masked multi-head attention decoder的注意力是masked的注意力,什么是masked的attention呢? 下面是self attention: 需要注意的是: selfattention中注意力bi的输出是需要关注所有的输入,也就是下面那一整排向量 但如果是masked self-attention,注意力是这样子的: 这个与普通的self attention的区别: bi只能关注a0到ai的输入,不能包括ai+1后的输入,那么为什么需要masked attention呢? 用下面的语音辨识,举个例子说明一下: encoder是把一次性把所有的输入都输入到模型,计算注意力分数,但是对于decoder来说,它是一个字一个字产生: 比如decoder计算第一个位置应该输入什么的时候,它并不知道下一个的输入是“機”,所以必须遮蔽右边的输入,因此又叫masked self-attention。 decoder中下一次的输入是在本次输入BEGIN计算出来以后“機”这个字,作为下一次的输入。 需要说明的一点是: 实际上我们在训练的时候是知道每个输入的,因为这些信息是训练资料提供的,但真正测试使用的时候,是无法知晓的。 encoder和decoder的连接部分-cross attention 下面是encoder和decoder的互连部分: 相同的Add和Norm不再赘述,下面是attention部分,这个attention部分的输入分为3部分: 有两个箭头来自encoder的输出(这部分用作self attention中的k和v) 一个箭头来自decoder上一层的输出(这一部分用作q) 所以计算attention的流程是这样的: 左边这边encoder的输出,用于生成k v,右边decoder上一层的输出,用作q 按照普通的attention计算注意力分数后,最终生成v 然后进行add 残差连接和norm 归一化后,作为这一层的输出 然后继续输入到FC(feed forward netword)中 除了上面几部分不同,还需要关注的decoder如何处理输出。 decoder的输出 decoder输出的序列长度应该是多长呢? 比还是以语音辨识为例,输入一段语音究竟应该输出多少个字符根本无法确认,那么decoder究竟是怎么确定输出的长度的呢?有两种做法AT和NAT (AT是Autoregresssive的缩写) AT(Autoregresssive) 这种做法就是让机器自己决定要输多少长度的sequence,当模型输出END的时候,就认为decoder输出完毕 NAT 这种情况下有几种方法确定decoder输出的长度: 1.添加一个网络来预测输出的长度 2.输入一排BEGIN向量,输出一排向量即可,最终的输出截止到输出为END 通常情况下,我们都是用AT,效果更好一些