上下文

cpu瓶颈分析

两盒软妹~` 提交于 2019-12-25 03:34:41
一、cpu性能指标 1 cpu使用率 1.1 用户cpu使用率:包括用户态cpu使用率(user)和低优先级用户态cpu使用率(nice),表示cpu在用户态运行的时间百分比。用户cpu使用率高, 通常说明应用程序笔记繁忙。 1.2 系统cpu使用率:表示cpu在内核态运行的时间百分比(不包括中断),系统cpu使用率高说明内核比较繁忙。 1.3 等待I/O的cpu使用率:通常也称为iowait,表示等待I/O的时间百分比。iowait高,通常说明系统与硬件设备的I/O交互时间比较长。 1.4 软中断和硬中断的cpu使用率:分别表示内核调用软中断、硬中断处理程序的四件百分比,他们的使用率高,通常说明系统发生了大量的中断。 1.5 虚拟化环境中用到的窃取cpu使用率(steal)和客户cpu使用率(guest),分别表示被其他虚拟机占用的cpu时间百分比,和运行客户虚拟机的cpu时间百分比。 2 平均负载:也就是系统平均活跃进程数。理想情况,平均负载等于逻辑cpu个数,这表示每个cpu都恰好被充分使用。如果平均负载大于逻辑cpu的个数,就表示负载比较重了。 3 上下文切换:本身是保证linux正常运行的一项核心功能。但过多的上下文切换,会将原本运行的cpu时间,消耗在寄存器、内核栈以及虚拟内存数据保存和恢复上,缩短进程 真正运行的时间,成为性能瓶颈。 4 cpu缓存命中率

ES6之箭头函数深入理解

一笑奈何 提交于 2019-12-24 23:41:05
相对于普通函数的区别 新的书写方式 this 的改变 不能当构造函数 没有 prototype 属性 没有 arguments 对象 新的书写方式 书写方式很简单!直接看下图, 常规方式写一个函数 const fun = function(number){ return number * 2 } 使用箭头函数 const fun = (number) => { return number * 2 } 如果只有一个参数,还可以省略前面的小括号 const fun = number => { return number * 2 } 如果只有一条执行语句,甚至可以省略后面的大括号,而且可以也不能写 return const fun = number => number * 2 也可以写成立即执行函数 const fun = (() => 3 * 2)() // 6 this的改变 执行上下文 讨论箭头函数的 this 之前,不得不再熟悉一下 执行上下文 (Execution Context),因为 this 指针(this value) 就存储在执行上下文中。 执行上下文保存着函数执行所需的重要信息,其中有三个属性: 变量对象 (variable object), 作用域链 (scope chain), this指针 (this value),它们影响着变量的解析、变量作用域、函数

Python语言高级特性:上下文管理器 #P005#

一世执手 提交于 2019-12-24 21:24:02
相信大家在编程的时候,经常会遇到这样的场景:先执行一些准备操作,然后执行自己的业务逻辑,等业务逻辑完成以后,再执行一些清理操作。例如,对文件操作,我们需要首先打开文件,然后处理文件内容,最后关闭文件。又如,当多线程程序需要访问临界资源的时候,线程首先需要获取互斥锁,当执行完成并准备退出临界区的时候,需要释放互斥锁。对于这些场景,Python中提供了上下文管理器(Context Manager),可以通过上下文管理器来控制代码块执行前的准备动作以及执行后的收尾动作。 1 上下文管理器的概念 所谓上下文管理器,就是实现了上下文管理协议的类(实现__enter__和__exit__方法)或函数(使用contextmanager装饰器)。为了使用上下文管理器,Python 2.6和Python 3.0引入了一种特殊的语句,即with语句及其可选的as子语句。with语句与上下文管理器一起作协,为Python工程师编程提供了一些便利。 上下文管理器应用于某些特殊的情景之中,典型的应用场景是打开某种资源,对资源进行处理,最后再关闭资源。可以看到,上下文管理器的作用与常见的try/finally语句的作用比较类似,都是用于确保打开的资源无论在何种情况下,都能够及时的关闭。在其他编程语言中,一般使用try/finally语句来完成。在Python中,应该优先使用上下文管理器。因为

移远EC20--1 AT命令初始3

狂风中的少年 提交于 2019-12-24 18:17:57
接上篇 一:AT指令电话簿命令 AT + CNUM:用户编号。该命令可以从(U)SIM中获取用户自己的编号。 AT + CPBF:查找电话簿条目。该命令可以从用AT + CPBS选择的当前电话簿存储器中搜索以给定字符串开头的电话簿条目,并返回所有以字母数字顺序排序的找到的条目。 AT + CPBR:读取电话簿条目。该命令可以从AT + CPBS选择的当前电话簿存储器中返回位置编号范围 … 中的电话簿条目。 如果省略了,则仅返回位置。 AT + CPBS:选择电话簿内存存储 AT + CPBW:写入电话簿条目。该命令将电话簿条目写入通过AT + CPBS选择的当前电话簿存储器中的位置编号中。 它还可以删除位置号码<索引>中的电话簿条目。 二:AT指令短信服务命令 AT + CSMS:选择消息服务(在CDMA网络中无效)。该命令选择消息服务并返回ME支持的消息类型。 AT + CMGF:消息格式。 该命令指定短消息的输入和输出格式。 指示与“测试”,“读取”,“写入”和“执行”命令一起使用的消息的格式,以及收到的消息导致的未经请求的结果代码。 AT + CSCA:服务中心地址(在CDMA网络中无效)。当发送移动始发的SMS时,写入命令将更新SMSC地址。 在文本模式下,该设置由“写入命令”使用。 在PDU模式下,同一命令使用设置,但仅当SMSC地址的长度编码为等于零的参数时 AT +

【架构】分布式追踪系统设计与实现

最后都变了- 提交于 2019-12-23 18:40:08
分布式追踪系统 使用 Zipkin 和 Brave 实现分布式系统追踪(基础篇) - 推酷 OpenZipkin · A distributed tracing system Twitter zipkin 分布式跟踪系统的设计与实现 - 马宏的世界 - 博客频道 - CSDN.NET openzipkin/brave: Java distributed tracing implementation compatible with Zipkin backend services. openzipkin/zipkin: Zipkin is a distributed tracing system zipkin - liaokailin的专栏 - 博客频道 - CSDN.NET #研发解决方案介绍#Tracing(鹰眼) - 旁观者 - 博客园 分布式系统为什么需要 Tracing? 先介绍一个概念: 分布式跟踪 ,或 分布式追踪 。 电商平台由数以百计的分布式服务构成,每一个请求路由过来后,会经过多个业务系统并留下足迹,并产生对各种Cache或DB的访问,但是这些分散的数据对于问题排查,或是流程优化都帮助有限。对于这么一个跨进程/跨线程的场景,汇总收集并分析海量日志就显得尤为重要。 要能做到追踪每个请求的完整调用链路,收集调用链路上每个服务的性能数据,计算性能数据和比对性能指标(SLA

python数据类型高阶

拟墨画扇 提交于 2019-12-23 04:57:19
  python是近年来使用最广泛的一种编程语言,不管是做web开发,还是网络爬虫,亦或是数据分析等,大家都在选择python来完成这些任务;我想最重要一点就是python学起来很简单,另一个点就是python用的地方非常多,综合起来就是性价比非常高。这节看看基本数据类型中的整数和浮点数。    一、目录 1、字符串 2、布尔类型 3、整数 4、浮点数 5、数字 6、列表 7、元组 8、字典 9、日期 1、字符串 1.1、如何在Python中使用字符串 a、使用单引号(') 用单引号括起来表示字符串,例如: str='this is string'; print str; b、使用双引号(") 双引号中的字符串与单引号中的字符串用法完全相同,例如: str="this is string"; print str; c、使用三引号(''') 利用三引号,表示多行的字符串,可以在三引号中自由的使用单引号和双引号,例如: str='''this is string this is pythod string this is string''' print str; 2、布尔类型 bool=False; print bool; bool=True; print bool; 3、整数 int=20; print int; 4、浮点数 float=2.3; print float; 5、数字

Progressive Self-Supervised Attention Learning forAspect-Level Sentiment Analysis论文阅读

你。 提交于 2019-12-23 03:07:08
Progressive Self-Supervised Attention Learning forAspect-Level Sentiment Analysis翻译及理解 1.本文针对神经网络在学习过程中存在的强模式过学习和弱模式欠学习的问题,提出了渐进自监督注意力机制算法,有效缓解了上述问题。主要基于擦除的思想,使得模型能够渐进的挖掘文本中需要关注的信息,并平衡强模式和弱模式的学习程度。在基于方面层次的情感分析三个公开数据集和两个经典的基础模型上测试表明,所提出的方法取得了不错的性能表现。 2.在方面层次的情感分类任务中,经典方法为使用注意力机制来捕获上下文文本中与给定方面最为相关的信息。然而,注意力机制容易过多的关注数据中少部分有强烈情感极性的高频词汇,而忽略那些频率较低的词。 摘要 在方面级别的情感分类(ASC)中,普遍的做法是为优势神经模型配备注意机制,以便获得给定方面每个上下文词的重要性。 但是,这种机制倾向于过分关注少数带有情感极性的频繁单词,而忽略了很少出现的单词。 本文提出了一种针对神经ASC模型的渐进式自我监督注意学习方法,该方法会自动从训练语料库中挖掘有用的注意监督信息,以细化注意机制。特别是,我们对所有训练实例进行 迭代的情感预测 。 将具有最大注意力权重的上下文单词提取为对每个实例的正确/不正确预测具有积极/误导性影响的上下文单词

javascript进阶笔记(1)

做~自己de王妃 提交于 2019-12-22 12:39:04
学习js已经有一段时间了,大大小小还是能够做出一些东西来。不过觉得可惜的是,还是对js本身这门语言不是很熟悉,总有一点雾里看花的感觉,看得见,但是看不清楚。最近发现有一本关于js的叫做《忍者秘籍》的书刊,听说是jQuery作者写的,可以让初级者进阶,哇啦啦,打怪兽,加经验升级,多好的事情。于是,就有了此篇文章及其后续。闲话休谈,正事要紧! javascript是一门函数式语言(functional language)。最重要的,在js中, 函数 是 第一型对象(first-class object) ,也就是说,函数可以共处,可以将其视为其他任意类型的javascript对象。就像普通的js数据类型,函数可以被任意变量进行引用,或声明成对象字面量,甚至可以将其作为函数参数进行传递。 函数的第一型对象体现在: 1、它们可以通过字面量进行创建; 2、它们可以赋值给变量、数组或其他对象的属性; 3、它们可以作为参数传递给函数; 4、它们可以作为函数的返回值进行返回; 5、它们拥有动态创建并赋值的属性。 函数除了以上的功能外,它还包含一个功能,它们可以被调用。千万不要小瞧了函数的调用!因为不同的调用机制会产生不同的功效,特别是针对函数的this关键字。 当我们定义了一个函数,以便其他一些代码在适当的时候回头调用它,我们可以称之为回调。回调是高效利用js必不可少的一部分。

深入JS系列学习3

百般思念 提交于 2019-12-22 03:47:08
深入JS系列学习3 深入理解JavaScript系列(9):根本没有“JSON对象”这回事! 很多JavaScript开发人员都错误地把JavaScript对象字面量(Object Literals)称为JSON对象(JSON Objects),因为他的语法和JSON规范里描述的一样,但是该规范里也明确地说了JSON只是一个数据交换语言,只有我们将之用在string上下文的时候它才叫JSON。 JSON是设计成描述数据交换格式的,他也有自己的语法,这个语法是JavaScript的一个子集。 { "prop": "val" } 这样的声明有可能是JavaScript对象字面量也有可能是JSON字符串,取决于什么上下文使用它,如果是用在string上下文(用单引号或双引号引住,或者从text文件读取)的话,那它就是JSON字符串,如果是用在对象字面量上下文中,那它就是对象字面量。 // 这是JSON字符串var foo = '{ "prop": "val" }'; // 这是对象字面量var bar = { "prop": "val" }; 而且要注意,JSON有非常严格的语法,在string上下文里{ "prop": "val" } 是个合法的JSON,但{ prop: "val" }和{ 'prop': 'val' }确实不合法的。所有属性名称和它的值都必须用双引号引住

深入理解 JavaScript(五)

流过昼夜 提交于 2019-12-22 03:45:21
根本没有“JSON 对象”这回事! 前言 写这篇文章的目的是经常看到开发人员说:把字符串转化为 JSON 对象,把 JSON 对象转化成字符串等类似的话题,所以把之前收藏的一篇老外的文章整理翻译了一下,供大家讨论,如有错误,请大家指出,多谢。 正文 本文的主题是基于 ECMAScript262-3 来写的,2011 年的 262-5 新规范增加了 JSON 对象,和我们平时所说的 JSON 有关系,但是不是同一个东西,文章最后一节会讲到新增加的 JSON 对象。 我想给大家澄清一下一个非常普遍的误解,我认为很多 JavaScript 开发人员都错误地把 JavaScript 对象字面量 (Object Literals)称为 JSON 对象 (JSON Objects),因为他的语法和 JSON规范 里描述的一样,但是该规范里也明确地说了 JSON 只是一个 数据交换语言 ,只有我们将之用在 string 上下文的时候它才叫 JSON。 序列化与反序列化 2 个程序(或服务器、语言等)需要交互通信的时候,他们倾向于使用 string 字符串因为 string 在很多语言里解析的方式都差不多。复杂的数据结构经常需要用到,并且通过各种各样的中括号{},小括号(),叫括号 <> 和空格来组成,这个字符串仅仅是按照要求规范好的字符。 为此,我们为了描述这些复杂的数据结构作为一个