before and after

老大爷都能看懂的RecyclerView动画原理

孤人 提交于 2020-12-30 21:05:55
如何阅读本篇文章 本文主要讲解RecyclerView Layout变化触发动画执行的原理。前半部分偏重原理和代码的讲解,后半部分通过图文结合场景讲解各个阶段的执行过程。 建议先粗略阅读前半部分的原理和代码篇,做到心中有概念,带着理论知识去阅读后半部分的场景篇。最后结合全文学到的知识,带着问题去阅读源码,效果会更好。 原理篇 1. Adapter的notify方法 用过RecyclerView的同学大概都应该知道Adapter有几个notify相关的方法,它们分别是: notifyDataSetChanged() notifyItemChanged(int) notifyItemInserted(int) notifyItemRemoved(int) notifyItemRangeChanged(int, int) notifyItemRangeInserted(int, int) notifyItemRangeRemoved(int, int) notifyItemMoved(int, int) 稍微有点开发经验的同学都知道,notifyDataSetChanged()方法比其它的几个方法更重量级一点,它会导致整个列表刷新,其它几个方法则不会。有更多开发经验的同学可能还知道notifyDataSetChanged()方法不会触发RecyclerView的动画机制

研究比较机械通气患者液体反应性的两种无创指标,发现MasimoPVi(R)有效且具有优势

允我心安 提交于 2020-12-03 11:13:24
研究人员青睐 PVi ,因为它 “ 连续、独立于操作员、更可靠 ” 瑞士纳沙泰尔--(美国商业资讯)-- Masimo (NASDAQ: MASI)今天发布《艾因夏姆斯麻醉学杂志》发表的一项研究结果,该研究中,埃及开罗艾因夏姆斯大学(Ain-Shams University)的Diaaeldin Aboelnile博士及其同事比较两种评估机械通气患者液体反应性的无创方法dIVC和Masimo PVi®。他们发现,这两种方法均“有效”,但他们确定PVi有优势,因为它“连续、独立于操作员、比dIVC更可靠”1。PVi即脉搏灌注变异指数,是衡量呼吸周期中发生的灌注指数动态变化的一种指标。 此新闻稿包含多媒体内容。完整新闻稿可在以下网址查阅: https://www.businesswire.com/news/home/20201129005422/en/ 研究人员注意到输液前预测反应性的重要性以及评估反应性的侵入性和静态方法的弊端,因此寻求评估PVi的有效性和可靠性,PVi无创、动态、连续、能使用脉搏血氧饱和度仪传感器进行测量,评估方法是将PVi与另一种无创但 非 连续的静态方法即下腔静脉扩张指数(dIVC)超声计算法进行比较。 dIVC代表吸气vs呼气时下腔静脉直径变化的百分比。为此,他们同时使用PVi和dIVC监测88例经镇静、机械通气、插管的成人手术患者。通过被动抬腿(PLR

席南华院士:数学的意义

Deadly 提交于 2020-11-16 08:39:14
量与形是物质和事物的基本属性。它们是数学研究的对象,这决定了数学的价值和意义。 >>>> 数学其实关注的是量与形的数学规律,是现实世界的一个反映。 数学的规律是物质和事物的基本属性的规律,是自然规律和社会规律中最实质的一部分 。 数学的意义和价值看起来已无需多说,但是数学的语言是抽象的,而抽象的面目基本上是人见人不爱,也常常被误认为远离现实世界和人间烟火,挺冤的。抽象的价值后面会说到。 1. 遥远的过去,数学是什么样子 数学有很长的历史。一般认为数学作为独立的有理论的学科出现于公元前600年至公元前300年期间,欧几里得的《原本》(约公元前300年)是一个光辉的典范。 它采用公理化体系系统整理了古希腊人的数学成就,其体系、数学理论的表述方式和书中体现的思维方式对数学乃至科学的发展影响深远。纵观数学发展史,《原本》是最有影响的数学书。 古希腊另一部伟大的数学著作是阿波罗尼奥斯的《圆锥曲线》,时间上它稍后于《原本》。这本书除了综合前人的成就,还有独到的创新,材料组织出色,写得灵活巧妙。这本书称得上圆锥曲线方面的巅峰之作,后人几乎对这个主题至少在几何上都说不出什么新东西。 几乎同时,就有数学史的研究了。亚里士多德(公元前384-322)的学生欧德摩斯(Eudemus,约公元前370-300)写有数学史的著作。 人类的文明史又要长得多。约一万年前人类开始定居在一个地区,靠农牧业生活

研究调查脉搏血氧饱和度仪使用Masimo RRp(R)读取儿科患者呼吸率的精度

耗尽温柔 提交于 2020-08-12 11:10:29
瑞士纳沙泰尔--(美国商业资讯)-- Masimo (NASDAQ: MASI)今天发布《肺炎》( Pneumonia )杂志发表的一项研究结果,该研究中,印度新德里的独立研究人员调查Rad-G™脉搏血氧饱和度仪搭配Masimo RRp®在儿科患者中的精度,并与门急诊收住患儿开展常规评估时临床工作者确定的数值进行比较1。RRp提供的呼吸率由脉搏血氧饱和度仪中使用的体积描记法确定。 此新闻稿包含多媒体内容。完整新闻稿可在以下网址查阅: https://www.businesswire.com/news/home/20200705005031/en/ Alwadhi博士及其同事指出,世界许多地方儿童肺炎发病率高,肺炎筛查指南纳入氧饱和度(SpO2)和呼吸率测量,许多资源匮乏地区医疗设备稀缺、医疗培训参差不齐,他们寻求确定“多模式”脉搏血氧饱和度仪Masimo Rad-G能否同样精确测量呼吸率,支持将来用作一种更简化、更可靠的肺炎筛查病例处治方法。Rad-G使用单枚Masimo SET®脉搏血氧饱和度传感器同时测量SpO2和RRp,以及脉率(PR)、灌注指数(Pi)和脉搏灌注变异指数(PVi®)。 在这项特殊的研究中,研究人员将Rad-G与传统的儿科医生评估相结合,测量新德里Kalawati Saran医院门急诊科2周内收住的97例患儿(年龄2至59个月)的呼吸率

使用jQuery选择和操作CSS伪元素,例如:: before和:: after

删除回忆录丶 提交于 2020-08-09 10:50:59
问题: Is there any way to select/manipulate CSS pseudo-elements such as ::before and ::after (and the old version with one semi-colon) using jQuery? 有没有办法使用jQuery选择/处理CSS伪元素,例如 ::before 和 ::after (以及带有一个分号的旧版本)? For example, my stylesheet has the following rule: 例如,我的样式表具有以下规则: .span::after{ content:'foo' } How can I change 'foo' to 'bar' using jQuery? 如何使用jQuery将'foo'更改为'bar'? 解决方案: 参考一: https://stackoom.com/question/L9WQ/使用jQuery选择和操作CSS伪元素-例如-before和-after 参考二: https://oldbug.net/q/L9WQ/Selecting-and-manipulating-CSS-pseudo-elements-such-as-before-and-after-using-jQuery 来源: oschina 链接: https:

Java 可重入锁内存可见性分析

邮差的信 提交于 2020-07-28 06:33:40
作者:周童 来自酒店搜索报价中心,主要负责酒店报价缓存,计算相关系统的开发以及性能优化等工作,热爱摩旅。 一个习以为常的细节 之前在做 ReentrantLock 相关的试验,试验本身很简单,和本文相关的简化版如下:**(提示:以下代码均可左右滑动) 就是通过可重入锁的保护并行对共享变量进行自增。 突然想到一个问题:**共享变量 count 没有加 volatile 修饰,那么在并发自增的过程当中是如何保持内存立即可见的呢?**上面的代码做自增肯定是没问题的,可见 LOCK 不仅仅保证了独占性,必定还有一种机制保证了内存可见性。 可能很多人和我一样,对 LOCK 的认知是如此 “理所应当”,以至于从没有去思考为什么。就好像每天太阳都会从东方升起而不觉得这有什么好质疑的。现在既然问到这儿了,那就准备一探究竟。 几个概念 Java Memory Model (JMM) 即 Java 内存模型,直接引用 wiki 定义: "The Java memory model describes how threads in the Java programming language interact through memory. Together with the description of single-threaded execution of code, the memory

Java 可重入锁内存可见性分析

我只是一个虾纸丫 提交于 2020-07-27 18:31:23
作者:周童 来自酒店搜索报价中心,主要负责酒店报价缓存,计算相关系统的开发以及性能优化等工作,热爱摩旅。 一个习以为常的细节 之前在做 ReentrantLock 相关的试验,试验本身很简单,和本文相关的简化版如下:**(提示:以下代码均可左右滑动) 就是通过可重入锁的保护并行对共享变量进行自增。 突然想到一个问题: 共享变量 count 没有加 volatile 修饰,那么在并发自增的过程当中是如何保持内存立即可见的呢? 上面的代码做自增肯定是没问题的,可见 LOCK 不仅仅保证了独占性,必定还有一种机制保证了内存可见性。 可能很多人和我一样,对 LOCK 的认知是如此 “理所应当”,以至于从没有去思考为什么。就好像每天太阳都会从东方升起而不觉得这有什么好质疑的。现在既然问到这儿了,那就准备一探究竟。 几个概念 Java Memory Model (JMM) 即 Java 内存模型,直接引用 wiki 定义: "The Java memory model describes how threads in the Java programming language interact through memory. Together with the description of single-threaded execution of code, the memory model

Java 可重入锁内存可见性分析

送分小仙女□ 提交于 2020-07-27 16:23:41
作者:周童 来自酒店搜索报价中心,主要负责酒店报价缓存,计算相关系统的开发以及性能优化等工作,热爱摩旅。 一个习以为常的细节 之前在做 ReentrantLock 相关的试验,试验本身很简单,和本文相关的简化版如下:**(提示:以下代码均可左右滑动) 就是通过可重入锁的保护并行对共享变量进行自增。 突然想到一个问题: 共享变量 count 没有加 volatile 修饰,那么在并发自增的过程当中是如何保持内存立即可见的呢? 上面的代码做自增肯定是没问题的,可见 LOCK 不仅仅保证了独占性,必定还有一种机制保证了内存可见性。 可能很多人和我一样,对 LOCK 的认知是如此 “理所应当”,以至于从没有去思考为什么。就好像每天太阳都会从东方升起而不觉得这有什么好质疑的。现在既然问到这儿了,那就准备一探究竟。 几个概念 Java Memory Model (JMM) 即 Java 内存模型,直接引用 wiki 定义: "The Java memory model describes how threads in the Java programming language interact through memory. Together with the description of single-threaded execution of code, the memory model

SpringCloud-Gateway 网关路由、断言、过滤

假装没事ソ 提交于 2020-04-28 04:47:04
Gateway 简介 是什么? Spring Cloud 全家桶中有个很重要的组件:网关。在 1.x 版本中使用的是 Zuul 网关,但是到了 2.x,由于Zuul的升级不断跳票,Spring Cloud 自己研发了一套网关组件:Spring Cloud Gateway。 Spring Cloud Gateway基于 Spring Boot 2.x,Spring WebFlux 和 Project Reactor 构建,使用了 Webflux 中的 reactor-netty 响应式编程组件,底层使用了 Netty 通讯框架。 详见: 官网 能干嘛? 反向代理 鉴权 流量控制 熔断 日志监控 ...... 网关在微服务架构中的位置 Gateway 的三大概念 Route(路由) :路由是构建网关的基本模块,它由 ID、目标 URI、一系列的断言和过滤器组成,如果断言为 true 则匹配该路由 Predicate(断言) : 参考的是 Java8 中的 java.util.function.Predicate 。开发人员可以匹配 HTTP 请求中的所有内容(例如请求头或请求参数),如果请求与断言相匹配则进行路由 Filter(过滤) :指的是 Spring 框架中 GatewayFilter 的实例,使用过滤器,可以在请求被路由之前或之后对请求进行修改 工作流程 Clients