首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏C++核心准则原文翻译

    C++核心准则T.150:用static_assert检查和概念的匹配

    T.150: Check that a class matches a concept using static_assert T.150:用static_assert检查和概念的匹配性 Reason 如果你希望一个和概念相匹配,尽早地检查可以减轻用户的痛苦。

    57520发布于 2020-10-10
  • 来自专栏流川疯编写程序的艺术

    基于最小生成树的实时立体匹配算法简介

    显然,此类方法对于匹配窗以外的点却无法影响该点的代价值,使得代价聚的值不具有全局特性,也就丧失了匹配基元的全局结构特性,因此在纹理特征较低的区域非常容易产生误匹配。 如何在代价聚中获取匹配基元的全局特征,进而使得局部代价聚合方法克服上述缺点,本章相对于基于区域的局部窗立体匹配方法,采用图论中的最小生成树方法,利用树结构进行全局代价聚合。 图 4-2 双边滤波对空间和颜色权重的同时作用 Figure 4-2 bilateral filter weights of the central pixel 在传统高斯滤波器中,权重只和像素之间的空间距离有关系 该特性在立体匹配问题中可以取代图像分割方法,或者作为图像分割方法的预处理手段,降低核心匹配算法的计算量。 设为像素p在视差层级d的匹配代价,为聚集代价。 5 立体匹配的通用并行化处理 并行程序开发的编程模型主要分为两:1.消息传递模型,2.共享存储模型。

    1.4K10发布于 2019-01-18
  • 来自专栏JAVA乐园

    浅析 Spring Security 的认证过程及相关过滤

    Spring Security 的核心之一就是它的过滤器链,我们就从它的过滤器链入手,下图是Spring Security 过滤器链的一个执行过程,本文将依照该过程来逐步的剖析其认证过程。 核心过滤器链简介 Spring Security 中的过滤器有很多,一般正常的项目中都有十几个过滤器,有时候还包含自定义的过滤器,当然我们不可能对每一个过滤器都进行分析,我们需要抓住重点,找比较关键的几个过滤器 上面已经简述了一堆核心过滤器,这里先从 SecurityContextPersistenceFilter这个过滤器的开端开始分析整个表单登录的认证过程。 的是 AbstractAuthenticationProcessingFilter,首先进入的 foFilter方法,部分源码如下: public abstract class AbstractAuthenticationProcessingFilter 大多数情况下我们会依靠它来进行身份认证,它的是 AbstractUserDetailsAuthenticationProvider ,认证过程首先会调用的 authenticate方法,核心源码如下

    85610编辑于 2022-12-05
  • 来自专栏CodeGuide | 程序员编码指南

    《Mybatis 手撸专栏》第4章:Mapper XML的解析和注册使用

    如图 4-1 图 4-1 ORM 框架核心流程 那么按照 ORM 核心流程的执行过程,我们本章节就需要在上一章节的基础上,继续扩展对 Mapper 文件的解析以及提取出对应的 SQL 文件。 如图 4-24-2 XML 文件解析注册处理 首先需要定义 SqlSessionFactoryBuilder 工厂建造者模式,通过入口 IO 的方式对 XML 文件进行解析。 当前我们主要以解析 SQL 部分为主,并注册映射器,串联出整个核心流程的脉络。 ,如图 4-24-2 XML 解析和注册实现关系 SqlSessionFactoryBuilder 作为整个 Mybatis 的入口,提供建造者工厂,包装 XML 解析处理,并返回对应 SqlSessionFactory 调用初始化Configuration super(new Configuration()); // 2. dom4j 处理 xml SAXReader

    1K30编辑于 2022-04-19
  • 来自专栏ApacheHudi

    Apache Hudi索引实现分析(二)之HoodieGlobalBloomIndex

    分析 HoodieGlobalBloomIndex是HoodieBloomIndex的子类,其主要重写了的如下几个方法 // 加载分区下所有最新的文件 List<Tuple2<String, BloomIndexFileInfo metaClient.getFs(), metaClient.getBasePath(), config.shouldAssumeDatePartitioning()); // 调用方法加载所有分区下最新数据文件 { throw new HoodieIOException("Failed to load all partitions", e); } } 首先会获取所有的分区路径,然后调用方法获取分区下最新数据文件 .flatMap(List::iterator); } 可以看到和 HoodieBloomIndex#explodeRecordRDDWithFileComparisons处理逻辑类似,在使用索引过滤器获取所有匹配的文件和分区路径时 } else { return getTaggedRecord(hoodieRecord, Option.empty()); } }); } 其处理逻辑与处理逻辑相同

    87420发布于 2021-04-13
  • 来自专栏Rice嵌入式

    linux input子系统(2)《Rice linux 学习开发》

    input子系统的核心代码:drivers\input\input.c。 《一》 input模块的入口函数:如图1-1,入口函数通过调用register_chrdev()注册一个字符设备。 ⑤connect:在通过input_register_handler()注册handler时,会调用input_match_handler()进行匹配(图3-1),如果匹配成功会调用,handler-> 图4-1 图4-2 图4-3 图4-4 《五》 在上一篇文章中,有说到核心层对下提供设备驱动的编程接口,对上提供事件层的编程接口。 可以看到图4-2和图4-4。handler->id_table->evbit[0]等成员全部都为0,所以0&任何数都为0,0 != 0不成立,所以不会跳出循环,返回id,匹配成功。 然后创建一个简单。 图7-1 《八》 最后还有一个关键的函数接口input_event(),它用来接收应用层产生的事件。input_event()函数的实体如图8-1。

    1.9K20编辑于 2022-05-09
  • 来自专栏开发框架-Spring Boot

    【Spring Boot 源码学习】OnClassCondition 详解

    引言上篇博文带大家从源码深入了自动配置过滤匹配 FilteringSpringBootCondition,那么笔者接下来的博文将要介绍它的三个子类 OnClassCondition、OnBeanCondition ConditionalOnClass 注解配置的,然后调用 FilteringSpringBootCondition 中的 filter 方法,获取匹配失败的集合。 如果匹配失败的集合不为空,则返回不满足过滤匹配的结果【即 ConditionOutcome.noMatch.didNotFind,其中不存在需要的】List<String> missing = filter ConditionalOnMissingClass 注解配置的,然后调用 FilteringSpringBootCondition 中的 filter 方法,获取匹配成功的集合。 如果匹配成功的集合不为空,则返回不满足过滤匹配的结果【即 ConditionOutcome.noMatch.found,其中存在不想要的】List<String> present = filter(

    26521编辑于 2024-05-07
  • 来自专栏Albert陈凯

    4.3 RDD操作

    转换只有在遇到一个Action时才会执行,如图4-2所示。 [插图] 图4-2 Spark转换和执行 这种设计使得Spark以更高的效率运行。 4.3.1 转换操作 转换操作是RDD的核心之一,通过转换操作实现不同的RDD结果,作为下一次RDD计算的数据输入,转换操作不会触发Job的提交,仅仅是标记对RDD的操作,形成DAG图,以供Action 此时,仅仅需要再执行一遍RDD的相应分区。 但是,跨宽依赖的再执行能够涉及多个RDD,从而引发全部的再执行。 持久化主要分为两,主动持久化和自动持久化。 主动持久化,主要目标是RDD重用,从而实现快速处理,是Spark构建迭代算法的关键。 □尽可能不要存储数据到硬盘上,除非计算数据集的函数,计算量特别大,或者它们过滤了大量的数据。否则,重新计算一个分区的速度与从硬盘中读取的效率差不多。

    1.2K70发布于 2018-04-08
  • 来自专栏开发框架-Spring Boot

    【Spring Boot 源码学习】深入 FilteringSpringBootCondition

    AutoConfigurationImportFilter { // 自动配置组件的过滤匹配 boolean[] match(String[] autoConfigurationClasses 、OnClassCondition、OnWebApplicationCondition 继承该抽象,实现 getOutcomes 方法,完成实际的过滤匹配操作。 而这个 getOutcomes 方法是过滤匹配核心功能,由抽象 FilteringSpringBootCondition 的子类来实现它。 是 ClassNameFilter.MISSING,则 filter 方法获取指定的集合中加载失败的集合【即匹配失败的集合】。 总结本篇 Huazie 带大家介绍了自动配置过滤匹配核心 FilteringSpringBootCondition,这对于笔者后续博文详解它的三个子类【OnBeanCondition、OnClassCondition

    25721编辑于 2024-05-06
  • 来自专栏新零售项目实践

    从浏览器原理拆解:为什么你的CSS选择器拖慢了页面?

    其根源在于浏览器渲染机制的三个核心特性:从右向左的匹配机制:浏览器先定位关键选择器(最右侧),再反向回溯节点,低效关键选择器会导致遍历成本指数级上升;样式重算的连锁反应:一个选择器匹配的节点变化可能触发整个渲染树的重新计算 例如选择器 .nav li a 的执行逻辑是:收集页面所有 标签(关键选择器)向上过滤元素是否为

  • 再向上过滤是否在 .nav 中。 性能陷阱:若页面有 1000 个 标签,则需执行 1000 次链检查,时间复杂度 O(n³)。 过滤机制:先快速筛选可能匹配的元素,再验证祖先关系。回溯成本:复杂的选择器需要更多的回溯验证。 CSS 选择器优化的核心是对渲染机制的深度适配:性能优先场景(如动画组件):严格遵循关键选择器优化原则,使用选择器 + CSS 变量。

45520编辑于 2025-07-17
  • 来自专栏同步文章1234

    【Linux操作系统】常用指令(三)

    与打包tar 4-1 压缩zip 4-2 打包tar 打包和压缩的区别 5.计算器 bc 6.查看系统的命令 uname ---- 0.Linux根目录下的文件介绍 首先cd /进到根目录下,ls列出当前文件夹下所有文件 3-1热键第二弹 热键:经常被使用的键 续第一弹热键,借此行过滤工具的章节,我们今天再来给大家增加几个热键: ctrl+r :通过ctrl+r,然后输入历史命令的部分片段,就可以从历史命令中过滤出相匹配的命令 定义:正则表达式又叫做规则表达式,是一种文本过滤模式,通过一些规则来过滤文本,从而匹配出我们需要的文本信息。 (反向匹配-v)匹配file.txt中所有不带'hello 99'的文本行:  例子:cat file.txt | grep -v 'hello 99'  ​  3. 4.解压普通文件/目录到指定文件夹(解压到指定目录)  模板:unzip 要解压的压缩文件  -d 路径  例子:unzip dir.zip ~ 下面给大家展示一下默认和指定解压的命令对比: 4-

    1.5K20编辑于 2023-01-16
  • 来自专栏程序猿DD

    【译】Spring 官方教程:Spring Security 架构

    ProviderManager 可以有一个认证器,如果所有的提供者返回null,则将再交给去认证。 如果不可用,则会导致 AuthenticationException。 通常,每个人都是一个 ProviderManager,他们共享一个。 父母是一种“全局”资源,充当所有提供者的失败回调。 ? 图 1. 以下是配置全局() AuthenticationManager的应用程序示例: @Configuration public class ApplicationSecurity extends WebSecurityConfigurerAdapter 请注意, AuthenticationManagerBuilder 是 @Autowired 到 @Bean 中的一个方法 - 使用它构建全局() AuthenticationManager。 ,一个是整个过滤器链的请求匹配器,另一个只是选择应用的访问规则。

    2.2K70发布于 2018-03-26
  • 来自专栏springboot

    Spring源码解析(二):bean容器的创建、注册默认后置处理器、bean定义扫描

    创建bean工厂-beanFactory 调用AnnotationConfigApplicationContext 的无参构造方法 AnnotationConfigApplicationContext的是 GenericApplicationContext 调用当前的无参构造,先会调用的无参构造,先看下无参构造做的事情 这个beanFactory就是spring容器的核心实现 DefaultListableBeanFactory ,接口抽象,等 MetadataReader metadataReader = getMetadataReaderFactory().getMetadataReader(resource) failure during classpath scanning", ex); } return candidates; } isCandidateComponent判断是不是bean 和排除过滤匹配 ,如果匹配成功则此.class不是扫描的bean 先和之前注册的扫描过滤@Component匹配,再判断@Conditional的条件是否满足 protected boolean isCandidateComponent

    73221编辑于 2025-01-21
  • 来自专栏达达前端

    Web前端JQuery面试题(二)

    jquery选择器有:基本选择器,层次选择器,过滤选择器,表单选择器四大。 基本选择器: #id 根据给定的id进行匹配一个元素 element 根据给定的元素名进行匹配所有元素 .class 根据给定的匹配该类的所有元素 * 匹配所有元素 selector1,selector2 匹配给定的元素,合并一起 层次选择器: ancestor descendant 根据祖先元素匹配所有后代的元素 祖先和后代的关系 parent > child 根据元素匹配所有的子元素 父子的关系 *= value] 匹配有包含某些值的特定元素 [selector1][selector2] 同时满足多个条件使用 子元素过滤选择器: :nth-child 从1开始的,匹配每个元素下第n个元素 :first-child 匹配每个元素下的第一个子元素 :last-child 匹配每个元素下的最后一个子元素 :only-child 匹配元素中只有唯一的子元素,如果元素中有多个子元素,就不会被匹配

    2.8K30发布于 2019-07-03
  • Agent开发:Java视角下的RAG数据处理

    切得太细,语义丢失(模型看不到“它”指代什么);切得太粗,检索精度被稀释(一段话含5个主题,向量不知道该匹配哪个)。 1.核心策略:语义与结构的博弈在目前的实践中,“一刀切”的固定长度分块已被抛弃,现代JavaAgent主要采用以下差异化策略:第一:必须基于“条目边界”切分。 利用正则匹配第X条,确保一个完整的法条不被切断。第二:基于“语义单元”切分。必须保留缩进,并在元数据中注入名和方法名。第三:采用“问答对”模式。保持一问一答为一个块,绝不将一个回答拆成两半。 块(Parent):保留较大的原始上下文,在最终生成时喂给大模型。逻辑流程:命中子块->通过parent_id追溯到块->将块发给LLM。 这能过滤掉那些“相似但错误”的噪音。

    9910编辑于 2026-04-24
  • 来自专栏互联网开发者交流社区

    面向对象的Java实现

    在使用带参数的构造方法示例化对象时,传递的值和构造方法的参数应当在个数、次序和类型上互相匹配。 箭头指向的方向为!) 例如:public class MyObject(){} 2-2:多态 a.为什么需要多态(多态是面向对象思想的核心! c.如何实现多态 三个步骤: (1)子类重写的方法 (2)把类型作为参数类型,该及其子类对象作为参数传入 (3)运行时,根据实际创建的对象类型动态决定使用哪个方法 注意:多态性与继承 一般情况下,当两个之间符合"is-a"的关系,并且子类可以复用部分的代码, 我们使用继承关系实现。其它情况先选择Java接口。

    76810发布于 2018-09-19
  • 来自专栏全栈程序员必看

    jquery选择器用法_jQuery属性选择器

    使用公式:(“element”) 示例:(“div”) //获取所有div元素 3.名选择器 选择器是通过元素拥有的CSS的名称查找匹配的 在一个页面中,一个元素可以有多个CSS,一个CSS又可以匹配多个元素,如果有元素中有一个匹配的名称就可以被选择器选取到。 简单地说名选择器就是以元素具有的CSS名称查找匹配的元素。 2. parent>child选择器 parent>child选择器中的parent代表元素,child代表子元素,用于在给定的元素下匹配所有的子元素,使用该选择器只能选择元素的直接子元素 说明:如果某个元素是它元素中唯一的子元素,那么将会被匹配,如果元素中含有其他元素,则不会被匹配 示例:(“ul li:only-child”)

    14K30编辑于 2022-11-16
  • 来自专栏雷子说测试开发

    【测试开发】python系列教程: 标准数据类型(一)数字

    print(type(d) 结果输出 如果要判断是不是int类型可以用isinstance,比如 isinstance 和 type 的区别在于: type()不会认为子类是一种类型 isinstance()会认为子类是一种类型。 这里只是提到这样的一个结论,后续在学习到的时候,在会给大家去分享。 数值如何能不能计算呢,答案是可以的 >>> 5+4 9 >>> 4*2 8 >>> 4-2 2 >>> 2/4 0.5 >>> 2//4 0 >>> 17%4 1 >>> 2**5 32

    44020编辑于 2022-09-29
  • 来自专栏硬核项目经理的专栏

    Vue.js前端开发快速入门与专业应用

    1.Vue.js提供了全局方法Vue.filter()注册一个自定义过滤器,接受过滤器的ID和过滤器函数两个参数 2.在2.0中取消了内置过滤器,即capitalize、uppercase、json等 过渡 1.使用transition绑定一个DOM元素,过滤系统自动给元素添加*-transition的class名,在插入和移除时添加了另外两个糊锅:*-enter和*-leave 2.Vue.js提供了在插入或 ,enterClass属性和leaveClass属性 4.Vue.js官方推荐CSS动画库,animate.css,需要先给元素附上animated名,然后再添加预设的动效名 B.JavaScript <slot>标签允许有一个匿名slot,不需要name值,作为找不到匹配的内容片段的回退插槽,如果没有默认的slot,这些找不到匹配的内容片段将被忽略 4.在组件中,也可以定义多个相同slot属性的DOM browerify-simple、simple 九、状态管理:Vuex 1.Vuex是状态管理模式的一种实现库,主要以插件的形式和Vue.js进行配合使用,能够使我们在Vue.js中管理复杂的组件事件流,核心概念包括

    3.4K20发布于 2019-08-06
  • 来自专栏开发框架-Spring Boot

    【Spring Boot 源码学习】OnBeanCondition 详解

    extends Annotation> annotation) 方法来获取过滤匹配结果,并赋值给 outcomes[i]。 missing); return ConditionOutcome.noMatch(message); } return null;}进入 getOutcome 方法,可以看到:首先调用 】;如果 missing 不为空,说明存在加载失败的,则返回 不满足过滤匹配的结果【即 ConditionOutcome.noMatch,其中没有找到 missing 中需要的类型】;如果 missing 2. getMatchOutcome 方法同 OnClassCondition 一样,OnBeanCondition 同样实现了 FilteringSpringBootCondition 的 SpringBootCondition 它是 Java 加载机制的核心部分,负责将 .class 文件转换为 Java 实例。ClassLoader 可以从不同的来源(如文件系统、网络、数据库等)加载,也可以实现自定义的加载逻辑。

    51131编辑于 2024-05-08
  • 领券