首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏数字芯片

    设计DFT

    测试的目的 寻找最小的测试向量集去覆盖更多的芯片以及板级的故障 衡量标准:故障覆盖率 2.设计 设计基础 所谓设计是指设计人员在设计系统和电路的同时,考虑到测试的要求,通过增加一定的硬件开销 ,获得最大可测的设计过程。 目前,主要的设计方法有: 扫描通路测试(Scan) 内建自测试(BIST) 边界扫描测试(Boundary Scan) 设计的优势和不足 3.方法(SCAN、BIST、 Boundary SCAN) 扫描通路测试 Scan 测试 Scan的基本概念 扫描测试设计规则 可控制:把激励施加到被测单元的能力 可观察:故障传播到原始输出端的能力 扫描测试的基本概念 扫描测试是目前数字集成电路设计中最常用的设计技术 逻辑单元BIST Logic BIST是SoC设计中芯片设计的发展方向。 大多数的ASIC使用基于扫描的DFT技术。对于规模越来越大的芯片来说,扫描测试的策略面临着巨大的挑战。

    1.8K10编辑于 2022-12-18
  • 来自专栏进步博客

    模拟按钮的访问

    使用这种方法我们可以快速的创建各浏览器表现一致的按钮,免受各种bug困扰,但同时也带来了访问性问题。 虽然点击一个链接时,通常链接会将我们带至其他地方,但使用辅助工具的用户仍然能够感知到这里是可以点击的(而且功能链接在现代交互中使用的越来越广泛)。如果使用的是其他元素,就没有那么幸运了。

    1.4K30发布于 2018-08-01
  • 来自专栏Linyb极客之路

    伸缩最佳实战

    因此异步不仅利用底层框架平台的异步,更重要的是如何做到应用本身的异步,只有做到了这一点才算是真正的异步。 我想这一点大家应该比较清楚,如果将业务逻辑用存储过程实现,那么就会造成非常差的伸缩,但是我想说的是及时不用关系数据库的特性,如果我们不能从应用的角度去设计系统,照样会造成很差的伸缩。 业务对象会触发领域事件,然后最终领域事件监听器调用技术组件完成一些附加操作,采用这种方式,我们还可以采用异步的领域事件,这就使得系统的并发通过JAVA本身的内存锁机制实现,而不是靠原来的数据库的事务隔离来保证并发安全 容量规划以及伸缩探讨会 我们要清楚的认识到当前系统能支持的负载,以及系统中可能存在的性能和伸缩的瓶颈在哪里,在解决了某一个伸缩的瓶颈以后,我们就需要关注下一个随着系统不断增加可能带来伸缩瓶颈的问题 回滚 任何操作都有可能失败,因此我们的系统一定要做好回滚操作,这个回滚操作室广义的回滚,具体参考“伸缩和可用反模式”。 根源分析 确保能在发生问题的时候找到问题的根源,做到治标治本。

    46410编辑于 2022-03-09
  • 来自专栏小坤探游架构笔记

    构建可靠伸缩&可维护系统

    人为错误, 比如我们的系统依赖外部的配置, 这个时候需要人工手动下发配置, 结果配置缺失或者配置错误导致软件朝着不可预期的方向执行导致数据错乱, 这个时候我们查询数据结果也不对. 2) 扩展性与伸缩 扩展在我的理解主要包含两个层次, 其一是软件层面, 扩展意味着我们的软件能够适配业务的变化,也是后面可维护中要具备可演进,其有两种模式如下: 另一个扩展层面就是我们架构部署层面上的伸缩, 什么是伸缩? 伸缩就是在系统面临规模的增长,我们的性能逐步出现瓶颈,比如机器负载增加、耗时增加等, 那么这个时候伸缩是指我们可以通过增加资源来让我们的系统恢复到原有的性能水平. 伸缩意味着即使负载增加,也有办法保持良好的性能。为了讨论扩展性,我们首先需要有定量描述负载和性能的方法。我们简要地以推特的主页时间线为例来描述负载,并以响应时间的百分位数作为衡量性能的一种方式。 在一个具有扩展性的系统中,你可以增加处理能力,以便在高负载下仍能保持可靠。 可维护包含很多方面,但本质上是为那些需要与系统打交道的工程和运维团队创造更好的工作条件。

    30710编辑于 2025-04-30
  • 来自专栏祥的专栏

    迭代和对象的迭代

    迭代与迭代器的区别 2. 应用 2.1. 字典dict的迭代 2.2. 字符串str的迭代 3. 判断对象的迭代和获得获取迭代索引 3.1. 判断对象的迭代 3.2. 参考文献 Python迭代和对象的迭代 Python文档整理目录: https://blog.csdn.net/humanking7/article/details/80757533 0. 迭代与迭代器的区别 迭代: 在Python中如果一个对象有__iter__( )方法或__getitem__( )方法,则称这个对象是迭代的(Iterable);其中__iter__( )方法的作用是让对象可以用 判断对象的迭代和获得获取迭代索引 3.1. 判断对象的迭代 由1.2节可知,如果对象类中含有__iter__( )方法或__getitem__( )方法,则称这个对象是迭代的(Iterable),那么如何判断呢?

    1.8K20发布于 2020-03-10
  • 来自专栏Article

    WAI-ARIA 访问尝试

    目前而言,ARIA 是唯一一种可以添加访问帮助或说明文本的方式。 访问示意图 注意点1: 官方给出的最佳实践中指出: 与其乱用、错用 aria 属性,那还是不要用的好 role 属性和 aria 属性之间的区别 比如说:

    Button -->
所以,看到这里的话,大致上理解了 aria 的副作用以及正向的优势,由于 Chrome 的 Lighthouse 的评分中有访问这一项评判,个人猜测在 SEO 中这方面的优化或多或少会影响到搜索引擎给站点的权重 种场景中 img 标签中的 alt 属性应该留空 实际的优化体验 aria 标签更像是对 HTML 结构和一系列不能直接表达含义的内容的补充,感兴趣的可以看我之前写的一篇,使图片更具有语义化的文章,做了访问优化后 下面这个图是我做完访问优化后网站首页的评分,不用纠结为啥没到 90, 因为掺杂了 google 广告,以及埋点的相关代码,权衡利弊,无伤大雅。

71530编辑于 2022-06-15
  • 来自专栏软件测试那些事

    ServiceMock录制回放

    JSON文件 回放:在某个方法执行时,如果是回放范围内的,则拦截该方法的执行,将匹配方法执行的MockRecord记录作为本次执行的结果进行返回 增量录制:在回放时,如果查无记录,则执行真实的方法并进行录制 接口录制回放:在微服务运行时,通过拦截HTTP请求和处理过程中的指定依赖来自动形成可用于回放的接口自动化用例。 后端重新录制:根据提供的HTTP请求文件来回放并重新录制指定依赖来更新接口自动化用例。 特殊使用场景: 异常录制:如果方法在执行过程中产生了异常,则需要记录该异常,以便于回放时将相同的异常作为该方法被再次执行时的结果。 有状态回放:默认情况下,在回放时将返回匹配到的第一条MockRecord记录。某些情况下,如转账前后,查询账户余额,相同请求下希望有不同的返回值,因此设计了有状态回放来支持该类场景。 ,按需开启 工具原型见 2021第一篇-流量录制回放完整案例

    1.9K10编辑于 2022-12-21
  • 来自专栏陈津的专栏

    谈谈 React + Redux 的复用

    特别要说明的是,QMRR组件是使用Remod框架输出的复用业务层组件,该组件包含React 业务组件与Redux 相关业务层代码,与传统Page不同的是,使用了Remod内置的connect方法延迟连接到 Reducer 代码全部优化掉 提升开发效率,表格页面开发效率从1天提升到1小时 减少样板代码,CLOC统计模块代码量减少约 15.3% 减少重复代码,CLOC统计项目代码量平均减少约 50.2% 高维护

    4K20发布于 2017-09-05
  • 来自专栏GiantPandaCV

    PyTorch中模型的复现

    在深度学习模型的训练过程中,难免引入随机因素,这就会对模型的复现产生不好的影响。但是对于研究人员来讲,模型的复现是很重要的。 这篇文章收集并总结了可能导致模型难以复现的原因,虽然不可能完全避免随机因素,但是可以通过一些设置尽可能降低模型的随机。 1. 常规操作 PyTorch官方提供了一些关于复现的解释和说明。 2. upsample层 upsample导致模型复现变差,这一点在PyTorch的官方库issue#12207中有提到。 总结 上面大概梳理了一下可能导致PyTorch的模型复现出现问题的原因。可以看出来,有很多问题是难以避免的,比如使用到官方提及的几个方法、涉及到atomicAdd的操作、多线程操作等等。 目前笔者进行了多次试验来研究模型的复现,偶尔会出现两次一模一样的训练结果,但是更多实验中,两次的训练结果都是略有不同的,不过通过以上设置,可以让训练结果差距在1%以内。

    2.2K20发布于 2020-02-27
  • 来自专栏Linyb极客之路

    如何提高网站的访问

    这篇文章的目的是: 为什么访问很重要 使网站访问 测试访问 关于访问的错误观念 访问影响所有用户,而不仅仅是那些有特定障碍的用户。 这很重要,因为它将您的访问概念从“因为只有一些人有X残疾并不重要”转变为“我们需要覆盖所有用户的压力情况”。这有助于其他人更好地了解为什么访问如此重要。 Web访问的四个关键 最广泛接受的访问规则是Web内容和访问指南2.0,或简称WCAG 2.0。它们是任何技术界面的通用规则,这也是它们如此受欢迎的原因之一。 测试访问 使用一个或多个工具自动测试: 颜色对比 语义HTML 不需要的div元素 翻译文本 ARIA和其他访问属性,如标题 自动测试涵盖了至少75%的访问性问题。 永远不要忘记无障碍 访问与数据库管理,应用程序架构,数据安全或远程镇静剂枪一样重要 - 如果没有它们,它们很快就会分崩离析,可能会火上浇油。

    2.1K10发布于 2018-12-11
  • OFC 2025: CPO的制造

    测试 关于CPO光引擎的测试(testing ability),Broadcom与Marvell都强调了测试的重要,并分享了各自光引擎的测试经验。 测试是CPO制造过程中需要解决的首要难题。 而对于传统的插拔光模块,其FIT的典型值为125左右。CPO与插拔光模块对可靠的要求差别还是非常大的。 CPO的测试、可靠插拔光学连接器与大批量组装方案,是大家比较关注的方向。虽然每家公司的技术路线目前并不完全一致(未来是否会形成统一标准?),但是涉及到的问题是共性的。 对于插拔光学连接器的研发,是CPO实现测试不可或缺的一环。为了保障CPO的可靠,采用外置激光器模块也基本成为共识。

    76210编辑于 2025-06-09
  • 来自专栏算法与编程之美

    ReentrantLock是如何实现重入

    1 问题 ReentrantLock是如何实现重入的? 并且在进入锁内之前进行了哪些判断?

    27440编辑于 2023-08-22
  • 来自专栏Owen's World

    关于 Web 访问的神话

    尽管如此,他们还是能够修复和防止WebAIM百万报告中强调的许多问题,并避免困扰当今互联网的主要访问性问题。WebAIM Million report 显然,网络访问不仅仅是基础知识。 无论哪种方式, 这是一个可疑的说法, 可以听到接近项目结束时, 他们不考虑网络访问的早期阶段...这使得它昂贵! 从一开始,访问的网站可以是视觉上引人注目的、动画的、有趣的互动网站。优秀的设计师在将包容访问灌输到开箱即用方面做得非常好。 覆盖物足以确保 Web 访问 这更多的是高管和决定购买此类解决方案的人的误解。辅助功能社区的共识几乎是一致的:覆盖不起作用。他们都没有完全工作。 覆盖物是一种自动化技术,旨在提高网站的访问。 正如我们在上一节中提到的,Web 访问没有一刀切的解决方案。而这正是叠加试图成为。 事情可能会改变。

    1K20编辑于 2021-12-08
  • 来自专栏人生代码

    重用的6个级别

    一些组件只需要基本的重用。 其他人则需要更复杂的技术才能充分利用它们。 我已经确定了6个不同级别的重用,但是可能还有更多我错过的地方。 这是有关级别的基本概述。 我即将举行的课程“ 重用组件 ”探讨了每个组件以及如何充分利用它们。 1.模板化 通过这种技术,我们将其包装在其自己的组件中,而不是到处复制+粘贴代码。 当我们重用该组件(而不是直接使用代码)时,它给我们带来了两个好处: 将来进行更改要容易得多,因为我们只需要在一个地方做 我们不必记住将代码复制到的数十个(或数百个)地方 这是最基本的,也是最经常谈论的重用形式 5.扩展 通过适应和反转,我们拥有必要的技术,可以最大限度地提高组件的重用。 下一步是将这些技术应用于整个组件,以便我们更轻松地扩展其行为。 我们使用命名槽在组件中添加一个或多个扩展点。 这是我遇到的最先进的重用应用程序。我用这个技术有很多在我自己的工作。 结论 这是我遇到的6个重用级别。 我可能会错过一些,我当然不会说这是一份详尽的清单,但是它足够完整,可以使用。

    1.6K20发布于 2020-08-11
  • 来自专栏FunTester

    访问测试(无障碍测试)

    日常工作中大家经常忽略可访问测试。今天我们就先聊一聊访问测试。 什么是网页访问(无障碍): 网络是向所有人开放的,作为一个测试者(也是人),我们有责任检查它是否对所有用户开放。 测试一个web应用程序,以确保每个用户都能轻松地访问网站,这被称为访问测试。帮助确保网站在这一领域确实有效的专门测试分支被称为“Web访问测试”。 Web内容访问指南:这些指南建议了一些方法,可以帮助提高网站的访问。 如何衡量网页访问? web的访问可以通过W3C创建的web内容访问准则(WCAG)来衡量。很少有其他部门也制定了自己的指南,但这些指南也遵循了Web无障碍倡议(WAI)指南。 #8) PDF访问检查器:它检查PDF文件的访问。 易访问测试清单/测试用例/场景 以下是在进行此类测试时需要检查的几点: 标签书写、摆放是否正确。 音频/视频内容是否正常可听/可见。

    1.5K51编辑于 2023-08-04
  • 来自专栏秘籍酷

    Linux并发(函数的重入

    重入函数是并发编程中必须要考虑的问题,否则代码就会有隐患,更糟糕的是这些隐患往往只能在特定场景下才能复现。 拓展: 一个函数所谓的重入,是在多线程的语境下的概念:一个函数如果同时被多条线程调用,他返回的结果都是严格一致的,那么该函数被称为“重入”函数(reentrance funciton),否则被称为 从这点出发,如果你想要写一个线程安全的重入函数的话,只要遵循以下原则就行了: A) 不使用任何静态数据,只使用局部变量或者堆内存。 B) 不调用上表中的任何非线程安全的不可重入函数。

    1.5K40发布于 2019-08-08
  • 来自专栏老张的求知思考世界

    ,到底是什么?

    星球群里,几位同学在讨论测试左移右移相关的话题,其中提到了一个词:。 这个词在很多质量保障相关的文章中出现过,大家也觉得是质量保障工作开展很重要的一个前提。但是到底该如何理解? 有没有一个具体的定义?如果有,在软件的整个生命周期中,在不同环节又是如何体现的? 这篇文章,我想谈谈我对于的理解和思考。 如何理解? 设计阶段 设计阶段的,主要指的是技术实现方案和测试用例两方面。 研发测试阶段 到了研发测试阶段,其实都是大家熟知的事情了。 其实所谓的,和质量门禁在本质上没有太多区别。唯一的区别在于:是前置要求,质量门禁是前置要求的具体定义。

    59620编辑于 2023-11-11
  • 代码的三大核心素养:如何同时兼顾可维护扩展性、测试

    ,连 Mock 依赖都难(缺乏测试)。 这三者看似独立,实则相辅相成:可维护是基础:代码能被快速理解、修改,减少协作成本;扩展性是延伸:基于良好的维护,应对变化时无需重构核心逻辑;测试是保障:通过测试验证修改的正确,避免 “改一处崩多处 协同关系:一个良性循环可维护是基础:模块化、命名清晰的代码,自然更容易拆分扩展点、隔离依赖(提升扩展性和测试);测试是保障:写测试的过程会倒逼你拆分耦合、明确输入输出(反过来优化可维护扩展性 六、总结:写出 “三优代码” 的核心心法可维护扩展性、测试,本质都是 “降低代码的认知成本和修改成本”。 (可维护)新增需求时我需要改多少代码?(扩展性)我能轻松写出测试用例覆盖核心场景吗?(测试)坚持下去,你的编码能力会在潜移默化中实现质的飞跃。

    17110编辑于 2025-12-16
  • 来自专栏Calcite剖析

    Calcite系列(十二):插拔&JDBC驱动

    插拔 为了实现动态数据源管理框架的目标,Calcite提供了丰富的插拔能力和扩展性。用户可以根据使用场景进行自定义扩展。 相关插拔扩展的组件包括: SqlParserImplFactory:语法解析器,扩展特定的SQL方言,例如,新增SqlSparkParserImpl 用于Spark语法解析 Lex:词法配置,可配置标识符处理行为 模式连接异构数据源,可编写自定义Adapter连接特定的扩展数据源 SQL解析:基于FreeMarker模板化,提供了高度可配置的 SQL 解析器,可继承已有的语法解析进行自定义扩展 查询优化:查询优化器是插拔的 ,支持自定义优化规则和代价模型,可根据特定场景和数据源,实现个性化的优化策略 函数库:支持添加自定义的UDF、UDTF、UDAF等,支持不同的模式Function查找 类型系统:提供了扩展的类型系统, 更多详情参考官方文档:Avatica Background 我正在参与2024腾讯技术创作特训营最新征文,快来和我瓜分大奖!

    1.4K32编辑于 2024-05-04
  • 来自专栏量化投资与机器学习

    蒸馏Alpha:因子的交『弈』

    这段经历对我在弈倍现在的投研模式有了很多的借鉴,比较核心的有: 系统化量化投资的每一个步骤,减少主观的干预 长期看来,因子的逻辑交易非常重要 有限度、有节制的使用GA算法因子挖掘 量化策略是非常多样化的 我们认为,一个好的Alpha信号应该对噪音不敏感,这才是持续的关键。因此,敏感性测试和显着测试是很重要的。 噪音的冲击往往会带来阶段的亏损,但噪音之后的均值回归又会给量化策略带来可观的收益。 Alpha研究:更关注因子的交易 一切可用的、可靠的数据都是我们Alpha的来源。 所以,在设计新Alpha的过程中,需要不断测试Alpha的稀缺,逻辑,稳定性和交易。 这个过程中不会特别在意输入特征本身的预测,即使在意,可能也只是考察特征与投资标的未来收益的相关。但是在弈倍,不仅可预测,我们还看中因子的交易,包括它的换手、回撤及胜率等。

    72140编辑于 2023-09-05
  • 领券