首页
学习
活动
专区
圈层
工具
发布

从 antDesign 来窥探移动端“滚动穿透”行为

通常情况下,当我们对于某个不可滚动元素进行拖拽时往往会意外触发其父元素(背景元素)的滚动。...这样的滚动意外行为用专业术语来说,被称为**滚动链接(Scroll Chaining)**。 那么,它是如何产生的呢?或者换句话说,浏览器哪条约束规定了这样的行为?...在移动端,我们完全可以使用一种通用的解决方案来解决上述造成“滚动穿透”意外行为: 无论元素是否可以滚动时,每次元素的拖拽事件触发时我们只需要进行判断: 寻找当前触发 touchMove 事件 event.target...如果在上述的范围内,祖先元素中不存在可滚动的元素,表示整个区域实际上是不可滚动的。那么不需要触发任何父元素的意外滚动行为,直接进行 event.preventDefault() 阻止默认。...上述的代码仍然是按照我们在文章开头讲述的解决思路来解决移动端滚动链接的意外行为。

1.6K20

AI与人

二.AI劣势 1.当前AI不是万能的; 当前的AI都是人们用数据训练出来的,而且主要聚焦在某个细分领域;AI依赖数据样本,算法,以及确定性的输入和输出预期,如果任何条件达不到,当前AI可能就无能为力。...2.当前AI自身没有想象力和创造力 当前AI更多是用算法来培养出来的预测机器,自身没有想象力和创造力,其逻辑处理也在算法的范围内。...3.当前AI飞速发展,AI在人们赋予的能力范围内自行决策,如果这个范围内的决策可能对人们造成伤害,则可能就会造成伤害 拿无人驾驶来说,人们把汽车的行动决策交给了AI,当AI的预测和行为出错了,可能就会撞车等交通意外...太多的问题,人类都没有搞明白;人类没有搞明白的事情,不能确定别的事物有或者没有;比如AI,现在虽然没有,但是AI及其快速的发展,也许也会产生意识,又也许不会; 可是一旦AI产生了意识,就真的像科幻片中那样...1.持续的学习和进化 2.增强你的处理能力,那样即使用再笨的方法,也能取得飞速的发展 3.自我博弈,颠覆自己然后成长 最后,愿AI能够更快的发展,更好的帮助人类,永远是人类的朋友;同时,每个人都能像AI

84490
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    C++23 的新特性:std::unreachable

    如果程序意外执行到 std::unreachable 所标记的位置,将触发未定义行为。2....例如,在一个 switch 语句中,我们已经处理了所有可能的分支,但编译器仍然会警告我们存在未处理的分支。此时,使用 std::unreachable 可以明确告诉编译器,这些分支是不可达的。...如果程序意外执行到 std::unreachable,将触发未定义行为。3. 编译器优化std::unreachable 的一个重要作用是帮助编译器进行优化。...示例优化假设我们有一个函数,它根据输入值返回不同的结果。如果输入值不在预期范围内,我们使用 std::unreachable 标记不可达代码。编译器可以利用这些信息,优化代码的生成。...如果程序意外执行到 std::unreachable 标记的位置,可能会导致不可预测的结果。因此,开发者需要确保在使用 std::unreachable 时,逻辑是正确的。7.

    31600

    【黑科技揭秘】掌握LD_PRELOAD轻松进行程序修改和优化

    为了避免程序崩溃或产生意外的行为,替换的函数必须和被替换的函数具有相同的函数原型和行为。在使用LD_PRELOAD时要注意共享库与程序之间的交互,避免产生意外的结果。...在程序运行时,如果程序需要用到共享库中的某个函数,就会通过链接关系在共享库中查找该函数,并调用它。动态库劫持的技术就是通过替换共享库中的函数,来改变程序的行为。...注意:替代函数必须与被替换的函数具有相同的函数原型和行为,否则程序可能会崩溃或产生意外的行为。在使用LD_PRELOAD时需要注意共享库与程序之间的交互,避免产生意外的结果。...共享库必须是使用-fPIC编译的,避免地址重定位问题。为了避免程序崩溃或产生意外的行为,替换的函数必须与被替换的函数具有相同的函数原型和行为。...在使用LD_PRELOAD时需要注意共享库与程序之间的交互,避免产生意外的结果。

    73510

    可解释性的重要性2.1

    为了促进学习和满足好奇心,为什么机器做了某些预测或行为,可解释性和解释是至关重要的。当然,人类不需要解释所发生的一切。对于大多数人来说,他们不了解计算机的工作原理是可以的。但是,意外会让我们产生好奇。...“为什么我的狗咬我,即使它之前从未这样做过?”人可能会问。在对狗的过去行为的认知下和现在被咬的知识下之间存在矛盾。兽医的解释调和了狗主人的矛盾:“狗在压力和痛苦之下”。...这能把您的机器学习模型变成种族主义者,他可能会产生歧视。在机器学习模型中,可解释性是找出bias的有用调试工具,能够消除歧视。...如果机器没有在某种程度上解释它的行为,我不会完全信任我的Doge。构建一个常识,例如,“意外”事件(如Doge又一次卡在浴室地毯上......)...分类器学会使用雪作为将图像分类为“狼”的特征,这在将狼与哈士奇分离在训练数据集中可能是有意义的,但在实际使用中则不然。

    1.2K40

    C++属性 - fallthrough

    传统上,switch 语句中的隐式fallthrough行为容易引发代码错误,特别是在一些情况下开发者可能忘记使用break语句。...通过使用 [[fallthrough]],他可以明确标注哪些 case 分支是有意不使用 break 语句的,从而避免因为意外遗漏 break 而产生逻辑错误。 2....这种默认行为有时会引发意外的错误,而 [[fallthrough]] 属性可以使这种行为变得显式化,让其他开发者清楚这种设计是有意为之。...例如,某个 case 需要执行其后的多个 case,可以使用 [[fallthrough]] 来显式表示这种行为。...以下是常见的误用场景: 4.1 忽略无效的 fallthrough [[fallthrough]] 属性只能用于 switch 语句中的 case 分支。如果在不合适的地方使用,编译器会产生错误。

    41210

    使用Envoy检查负载平衡算法

    如果你处理网络系统,你可能会很关心延迟(latency)。在面对一组服务器时,你还可能需要决定使用哪种负载平衡算法。...在做这些决策时,对不同负载平衡器配置中预期的行为建立直觉非常有帮助,这样你就可以在没有任何意外行为的情况下最小化环境中的延迟。...看起来,即使均匀随机选择的渐近行为产生了均匀分布,在任何时间点上,端点都可能因为太多的请求而负担过重。这可能会导致延迟增加、在服务中形成请求队列,并最终导致级联失败。...运行相同的测试,但是与上面的随机选择实验相比,在config中使用循环负载平衡策略可以在上游节点中产生更紧密的活跃请求分布: ? 每个节点对循环LB的活跃请求数。...有些人可能认为这不重要,因为它会在第10个节点上产生一个即时队列,并且权重会相应地进行调整——他们是正确的。

    68020

    Akka 指南 之「术语及概念」

    我们试图给出将在 Akka 文档范围内使用的定义。 并发 vs. 并行 并发和并行是相关的概念,但有一些小的区别。并发意味着两个或多个任务正在取得进展,即使它们可能不会同时执行。...CPU 密集型任务可能会产生类似于阻塞的行为。一般来说,最好使用异步 API,因为它们保证系统能够进行。...一个很好的例子是,一个线程可以使用互斥来独占使用一个资源。如果一个线程无限期地占用资源(例如意外运行无限循环),则等待该资源的其他线程将无法进行。相反,非阻塞意味着没有线程能够无限期地延迟其他线程。...当多个线程具有共享可变状态时,常常会出现竞争条件,并且线程在该状态上的操作可能会交错进行,从而导致意外的行为。虽然这是一个常见的情况,但是共享状态不需要有竞争条件。...如果一个方法在某个时间点之后独立执行(其他线程不执行任何步骤,例如:挂起),则该方法称为无障碍的,它以有限的步骤完成。

    99160

    一场实验室意外爆炸事故,解决了58年量子难题,让科学家意外发现“核电共振”

    早在1961年,核磁共振的先驱、诺贝尔物理学奖获得者Nicolaas Bloembergen就预言了这种现象。 然而直到58年后,在一场实验室的意外爆炸事故中,澳洲的科学家们才验证这个预言。...这就好比我们要晃动台球桌上的某个球,但是不得不晃动整个桌子,其他球也会跟着动起来。而核电共振相当于给你一个台球杆,精确打到你要击中的球。 文章的通讯作者Andrea Morello教授这样解释。 ?...△ 论文的3位作者Andrea Morello教授和Vincent Mourik、Serwan Asaad博士 电场可以在微小电极的尖端产生,并且电场强度随着远离尖端而急剧下降,从而把电场控制在一个极小的范围内...Morello的团队就是在硅纳米电子器件上用尖端产生的电池对单个原子进行控制。 一次偶然的发现 核电共振的研究一蛰伏就是几十年。...Morello教授的团队过去一直在研究核磁共振,核电共振并不是他们的研究方向。 起初他们是在锑(Sb)原子核上进行核磁共振。最初的研究目标是探索核自旋的混沌行为所决定的量子世界和经典世界之间的边界。

    63510

    Gartner副总裁:企业将面临「数据应用」与「隐私权」的拉扯

    Brian表示,在传统的观念里,开放资料会带来一定资安、隐私风险,但政府该做的是积极与私部门沟通,了解他们需要的资料,并在能力范围内开放资料。他认为,政府与私部门其实应是伙伴关系,彼此要多点交流。...Brian说,即便私部门在使用开放资料时,应用范围多半不在预期之中,但若整体是往好的方向前进,就称得上是意外的收获,而政府除了开放资料要有计划外,同时也要给私部门更多空间。...另外,企业在运用开放资料时,往往会因此增加成本,而让高层主管产生排斥心理。...他认为若要避免类似的案件发生,企业的信息长应该要针对大数据的应用,订定一套商业伦理行为的把关。 大数据并不会造成问题,重点是商业伦理!...他举例,现在大家谈到芯片制造,第一个会想到台积电,而不是中国的某个厂牌,这便和商业伦理极有关系。

    62480

    坚如磐石:TiDB 基于时间点的恢复(PiTR)特性优化之路丨6.5 新特性解析

    例如,数据库在某个时间点之后的数据遭受了意外的删除或损坏,则可以使用 PiTR 功能将数据库恢复到该时间点之前的状态,从而避免丢失重要数据。...由于 TiDB 数据库,每一次的数据改变都会产生对应的分布式日志,其中记录了数据库每一次变更的信息,包括事务 ID、时间戳和变更的具体内容。...如果在某个时间点之后的数据被意外删除或遭受了损坏,则可以使用 BR 工具将之前的数据库备份恢复回来,通过应用保存在外部存储上的数据改变到用户指定的时间点,从而达到定点恢复的目的。...2.TiKV 定期监测新建/更新的日志备份任务 每个 TiKV 节点的日志备份 observer 监听 PD 中创建与更新日志备份任务,然后备份该节点上在备份时间范围内的变更数据日志。...例如, 在最初的版本中日志备份会产生大量的小文件,给用户在使用期间带来很多的问题。在最新版本中,我们将日志备份文件聚合成为多个大小至少为128M的文件,很好的解决了这个问题。

    1.2K30

    pandas 3.0 内存调试指南:学会区分真假内存泄漏

    你有没有遇到过,在使用pandas的时候批处理任务跑完了,del df 执行了,甚至还使用了 import gc; gc.collect() 但是进程内存确没有减少。...可能是引用、分配器的正常行为。而且在pandas 3.0 之后这类情况更多了,因为Copy-on-Write 改变了数据共享的方式,Arrow 支持的 dtype 让内存行为变得更难预测。...底层实现上,CoW 会让多个 DataFrame 或 Series 共享同一块数据缓冲区,直到某个对象发生写操作才触发真正的复制。...还有一种是 GroupBy 加上一长串 apply 链式调用,中间产生大量临时对象,GC 来不及回收,尤其在循环里更明显。...如果 Python 层面很平稳但 RSS 在涨,问题多半出在原生内存池或碎片上。 第四步,排查意外引用。DataFrame 或 Series 有没有被存进全局变量、类属性或者某个缓存字典?

    14710

    tf.variable_scope

    如果name_or_scope为None,则使用default_name。在这种情况下,如果以前在相同的范围中使用过相同的名称,则通过在名称后面附加_N使其惟一。...变量作用域允许您创建新变量并共享已创建的变量,同时提供检查以防止意外创建或共享。...,会引发异常。...请注意,在1.0版本之前和包括1.0版本之前,允许(尽管明确地不鼓励)将False传递给重用参数,从而产生了与None略有不同的无文档化行为。...此外,当使用default_name时,仅在每个线程的基础上生成惟一的范围名。如果在不同的线程中使用了相同的名称,这并不会阻止新线程创建相同的作用域。但是,底层变量存储是跨线程共享的(在同一个图中)。

    2.3K20

    脑电研究:意外事件通过额基底神经节抑制机制中断认知

    意外事件通过基底神经节的丘脑底核(subthalamic nucleus ,STN)征用一个全脑性的抑制认知运动活动的神经机制来产生作用。...作者预测:在WM任务中意外事件会激活同样额-中央EEG信号成分,而且该分量的激活程度与WM抑制程度成比例(即,大脑系统中与意外相关的活动越多,其表明成功抑制认知运动的同时,WM的抑制也越强)。...意外事件量化如下,然后使用配对样本t检验比较正确和错误的意外试次值。 ?...然后将特定通道的成分在停止信号之后500毫秒时间内的数据进行叠加平均,并将此事件相关的平均活动与该时间范围内的整个脑电图数据的事件相关的平均活动进行相关。...意外的程度使用贝叶斯算法在试次间进行量化,该算法使用Kullback-Leibler离散度将意外声音的后验概率与之前的预期进行比较。

    93620

    spring @Transactional 事务注解

    SUPPORTS: 如果业务方法在某个事务范围内被调用,则方法成为该事务的一部分,如果业务方法在事务范围外被调用,则方法在没有事务的环境下执行。...NEVER: 声明方法绝对不能在事务范围内执行,如果方法在某个事务范围内执行,容器就抛异常.只有没关联到事务,才正常执行....在使用 REQUIRED 传播模式时,会抛出一个只读连接异常。使用 JDBC 时是这样。...然而,请注意仅仅 @Transactional 注解的出现不足于开启事务行为,它仅仅是一种元数据,能够被可以识别 @Transactional 注解和上述的配置适当的具有事务行为的beans所使用。...Spring团队的建议是你在具体的类(或类的方法)上使用 @Transactional 注解,而不要使用在类所要实现的任何接口上。

    2.1K20

    什么是区块链智能合同?

    你可能想要的是货币——或者是什么——在一定的时间之后才会被释放,或者如果股票价格保持在特定的范围内,或者某个特定的人继续担任总理,5或者在未来5天内没有发生意外的日食。...没有合同 当然,有些合同——“在现实生活中”——存在于管理复杂和意外的情况。它们存在于一个明确的法律管辖范围内。...这通常是在合同条款中描述的,但是如果“智能合同”的处理发生在涉及的当事人的不同管辖范围内,或者甚至是在一个未知的管辖范围内,该怎么办呢?这重要吗?这件事吗?...我们也没有得到帮助,因为当人们谈论软件契约时,他们谈论的是完全不同的东西:这是一个系统在已知输入和启动条件下的广告行为。 这与安全有什么关系?...我想可能会很清楚,8我对“智能合同”这个词感到不舒服,这主要是因为我认为它导致了一些人认为这些构念是他们没有的东西。反过来,这可能意味着人们会在不合适的情况下使用它们。

    2.8K10

    Deepmind“好奇心”强化学习新突破!改变奖励机制,让智能体不再“兜圈子”

    想象一下当你在逛市场时,其实会尝试着预测未来(“现在我在卖肉摊位处,所以我认为拐角处应该是卖鱼的,超市连锁店中这两个部分一般是相邻的”)。如果你的预测错了,你会感到意外(“啊,原来是卖菜的。...基于“意外”好奇心的智能体会一直卡在电视前,不去执行任务 基于“意外好奇心“的智能体易产生“拖延行为” 在 《Large-Scale Study of Curiosity-Driven Learning...对基于意外的好奇心的方法而言,改变频道会产生巨大的回报,因为每次频道变化都是不可预测和意外的。...有趣的是,在类似于上文的嘈杂的电视实验中,基于意外的ICM方法实际上使用了这个小工具,即使它对于当前任务并无用处!...智能体的任务是在迷宫中搜寻高回报的目标,但它却更喜欢花时间对墙壁进行标记,因为这会产生很多“意外”奖励。

    1.7K30

    渗透测试文件包含漏洞原理与验证(1)——文件包含概述

    文件包含概述 把可重复使用的函数写入到单个文件中,在使用该函数时,直接调用此文件,无需再次编写函数。这一调用文件的过程被称为包含。...文件包含漏洞产生的原因是在通过PHP函数引入文件时,由于传入的文件名没有经过合理的校验,从而操作了预想之外的文件,就可能导致意外的文件泄露甚至恶意的代码注入。...文件包含函数 include():找不到被包含文件时会产生警告(E_WARNING); include_once():与include()类似,代码已经被包含则不会再次包含; require():找不到被包含的文件时会产生致命错误...本文档所提供的信息仅用于教育目的及在获得明确授权的情况下进行渗透测试。任何未经授权使用本文档中技术信息的行为都是严格禁止的,并可能违反《中华人民共和国网络安全法》及相关法律法规。...使用者应当合法合规地运用所学知识,不得用于非法入侵、破坏信息系统等恶意活动。我们强烈建议所有读者遵守当地法律与道德规范,在合法范围内探索信息技术。

    77410

    CPU性能分析与优化(一)

    硬件和软件环境会产生偏差,UNIX环境大小,链接顺序也会影响且不可预测,影响内存布局也会影响性能。甚至允许linux top也会影响测量结果。...可以使用temci工具来配置相机你的环境,减少差异。 注意事项是,不建议消除系统的非确定性行为,重心应该放在优化的目标系统配置。...非确定性行为不一定是有害的,可能产生不一致的结果,但是目的是提高系统的整体性能。禁用非确定性行为,可以减少噪声,但是可能延长运行时间。 此外,如果在公有云上面运行,可能会被其他客户的工作负载所影响。...假设某个无害的提交使得性能提高10%,且通过当前所有的CI功能测试,但是这可能是CI系统本身有bug,该情况经常发生。作者建议建立自动化的性能统计跟踪系统,并且尝试使用不同的算法,降低风险。...通常的做法是,在保持第一类错误出现的机会在某个特定水平上的时候(即显著性差异值或α值),尽量减少第二类错误出现的概率。 假设检验方法对于确定加速或减速是否是随机的很有用。

    85311

    Rust竟然没有异常处理?

    正是“异常”在语义上的模糊性,才产生了很多最佳实践来指导异常的使用。从“正常到异常的程度”上,大致上可以归为4类: 0 正常:不要用异常来进行流程控制,异常只用来处理“意外”。...这条教导告诉我们,如果分不清“异常”,那么至少在“正常”的、没有意外的流程里,绝对不要用“异常机制来代替”。否则,代码可读性、可维护性将是灾难。...前面提到的非法字符、找不到文件、连接不上,基本是公认的“意外”情况,基本都使用抛出异常的方式,但是这种情况,通常都会进行捕获,并进行恢复。 3 无法意料的致命意外,不可恢复。...执行时默认会进行stack unwind(栈反解),一层层上去,直到线程的顶端。 有些情况Panic!是你的程序所依赖的库产生的,比如数组越界访问时的实现。...另一种情况,是你自己的程序逻辑判断产生了不可恢复的错误,可以手动触发Panic!宏来终止程序。Panic!的使用与throw很类似。

    2K30
    领券