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

    DSL In Action

    这些问题在你计划把Anko Layouts DSL 作为构建View的方式后,逐个浮出水面,然后开始劝退… QAQ Anko Layout DSL 到底在干什么 为什么我们可以用DSL来写界面? DSL和XML并不是冲突的,DSL用于解决布局中细碎和动态的部分,而XML用于单页布局,复杂布局。 同时DSL和XML也可以无缝嵌合在一起,所以两者并不是冲突的关系,也没有必要去选择“我到底该用DSL写还是XML写”,两者各有优点,了解Anko DSL并且与XML活用起来才是最优解。 XML可以拿到ViewGroup的应用然后用DSL做骚操作,DSL也可以动态添加Inflate出来的XML来实现复杂页面布局的添加 DSL和XML各有所长,DSL更适合用于页面模块的解耦,XML更多用于单页构建 而当你的设计图可以精确到dp的时候,完全可以用DSL来描述UI的各个小组件,因此DSL在这里不应该被一棒子打死,DSL在目前的项目中,可以很好的替代手工 newView,add view的部分,以及小规模的

    1.4K20发布于 2020-02-20
  • 来自专栏向治洪

    Kotlin DSL详解

    DSL简介 所谓DSL领域专用语言(Domain Specified Language/ DSL),其基本思想是“求专不求全”,不像通用目的语言那样目标范围涵盖一切软件问题,而是专门针对某一特定问题的计算机语言 DSL 就是为了解决这些问题而提出的。 常见的DSL 常见的DSL在很多领域都能看到,例如: 软件构建领域 Ant UI 设计师 HTML 硬件设计师 VHDL DSL 与通用编程语言的区别 DSL 供非程序员使用,供领域专家使用; DSL 有更高级的抽象,不涉及类似数据结构的细节; DSL 表现力有限,其只能描述该领域的模型,而通用编程语言能够描述任意的模型; DSL分类 根据是否从宿主语言构建而来,DSL 分为: 内部 DSL(从一种宿主语言构建而来 } } 接下来可以看下解析上述DSL语言生成的代码。

    2.4K70发布于 2018-02-06
  • 来自专栏Bennyhuo

    Kotlin Contracts DSL

    { text = "我永远喜欢燕结芽" } println(text.length) // ok, smart cast to String 为了解决这个问题,于是就有了 Contracts DSL Contracts DSL Contracts DSL 可以为编译器提供关于函数行为的附加信息,帮助编译器分析函数的实际运行情况。 如果启用了该特性,那么编译器就能解析获取 Contracts DSL 所表达的信息,用于数据流分析。 现在 Contracts DSL 位于 kotlin.internal.contracts 这个包内,是 internal 的,一般用户还无法直接拿来写自己的 contract,等JB那帮人把这个功能做好了就会公开这套

    1.2K10发布于 2020-02-20
  • 来自专栏GreenLeaves

    ES DSL查询

    当向ES插入数据时,如果采用默认设置,且设置了倒排索引,那么对应的字符串会被分词并建立倒排表.且到使用match进行匹配时,如上代码,匹配的是logs索引的Name字段,其值也会被分词,然后去倒排表检索,返回结果集.那么logs索引中Name字段包含apple和watch分词的document记录都会被检索出来,且如果有document记录的Name字段被分词后同时包含apple和watch的记录其评分会比包含一个的要高.具体的评分算法后续文章会介绍,频分关系到记录的排序.

    94830编辑于 2022-09-19
  • 来自专栏数字化之路

    Spring Webflux: Kotlin DSL

    Winter Sun In Tenerife 原文链接:https://dzone.com/articles/spring-webflux-kotlin-dsl-snippets 作者:Biju Kunjummen 译者:Jackie Tang 如果您还没有玩转Spring Webflux,那么可以使用基于kotlin的DSL开发一个函数式API。 Spring Webflux最近 介绍一个特性来定义函数式API,它使用一个非常直观的基于 Kotlin的 DSL。 这篇文章将简单地展示一组具有鲜明对比的定义API的方式,一个是基于java流畅的API,一个是基于Kotlin的DSL。 如果这个API更加复杂,譬如Sébastien Deleuze所演示的精彩例子中所示,有多个层次的嵌套,这时基于kotlin DSL的优势就发明显了。

    75310编辑于 2023-03-07
  • 来自专栏Bennyhuo

    构建Recyclerview DSL

    接文章 DSL in action 上一篇文章说了如何把DSL用在项目的布局中,而这篇文章来讲讲怎么把DSL用在Recyclerview中。 这是一个大概的效果,Recyclerview DSL中,我们可以用DSL的风格去配置Item被如何加入到Rec,各个Item的风格是什么样子,具有很大的灵活性和拓展性。 ItemAdapter:Recyclerview DSL所依赖的Adapter,在初始化的时候会用到,后面它很少出面了 ItemManager: RecyclerView DSL的Adapter的一个核心成员变量 写个拓展函数,来让它支持DSL /** * 用DSL来风格来简单保证add SingleTextItem的操作 */ fun MutableList<Item>.singleText(content: 然后在 autoRefresh的闭包中,我们只需要用DSL来表达这个需求即可。框架会帮我们做这一切。

    1.2K10发布于 2020-02-20
  • 来自专栏陶然同学博客

    【Elasticsearch】DSL查询文档

    1.DSL查询文档 elasticsearch的查询依然是基于JSON风格的DSL来实现的。 1.1.DSL查询分类 Elasticsearch提供了基于JSON的DSL(Domain Specific Language)来定义查询。 转换为之前说的四个要点: 原始条件:不确定,可以任意变化 过滤条件:brand = "如家" 算分函数:可以简单粗暴,直接给固定的算分结果,weight 运算模式:比如求和 因此最终的DSL

    1.1K20编辑于 2023-10-14
  • 来自专栏01ZOO

    DSL parser 和 PromQL

    DSL parser 和 PromQL 这是promql的学习笔记,从promql的代码学习中,希望学习到的是:如何实现一个像promql的parser 先看两个算法题 1. parseBoolExpr("|(f,t)") True PromQL简介 参考1 参考2 PromQL (Prometheus Query Language) 是 Prometheus 自己开发的数据查询 DSL

    3.3K120发布于 2019-07-07
  • 来自专栏『学习与分享之旅』

    DSL语言高级查询

    概述关于 DSLDSL(Domain Specific Language)领域专用语言Elasticsearch 提供了基于 JSON 的 DSL 来定义查询组成叶子查询子句:在特定域中寻找特定的值。 /索引名称/_search{ "query": { "查询类型": { "查询条件": "查询条件值" } }}查询类型match_allmatchtermrange...DSL

    80900编辑于 2023-09-27
  • 来自专栏大数据生态

    Elasticsearch DSL 基本语法

    ES语法(DSL)简介1. 全文检索 2. 查询指定字段 3. 排序 4. 分页查询 5. 多条件查询 6. 过滤器的使用 7.

    1.2K136编辑于 2023-07-28
  • 来自专栏JD的专栏

    elasticsearch DSL优化案例(一)

    "sum": { "field": "order_platform_coupon_discount" } } } } }}DSL

    69095编辑于 2023-11-27
  • 来自专栏Java随想录

    学好Elasticsearch系列-Query DSL

    DSL是Domain Specific Language的缩写,指的是为特定问题领域设计的计算机语言。这种语言专注于某特定领域的问题解决,因而比通用编程语言更有效率。 在Elasticsearch(ES)中,DSL指的是Elasticsearch Query DSL,一种以JSON形式表示的查询语言。通过这种语言,用户可以构建复杂的查询、排序和过滤数据等操作。

    1.1K10编辑于 2023-10-16
  • 来自专栏肉眼品世界

    使用Groovy构建DSL

    DSL(Domain Specific Language)官方定义为:针对某一领域,具有受限表达性的一种计算机程序设计语言。 常用于聚焦指定的领域或问题,这就要求 DSL 具备强大的表现力,同时在使用起来要简单。由于其使用简单的特性,DSL 通常不会像 Java,C++等语言将其应用于一般性的编程任务。 对于 Groovy 来说,一个伟大的 DSL 产物就是新一代构建工具——Gradle,接下来让我们看下有哪些特性来支撑Groovy方便的编写DSL: ? 在DSL中,一个DSL脚本就是一个闭包。 了,通多DSL可以设计出非常简洁的API给用户,在执行的时候调用DSL内部的复杂功能,这些功能的背后逻辑隐藏在了自己编写的Delegate中。

    1.6K20发布于 2021-03-09
  • 来自专栏大数据-BigData

    Gradle Kotlin DSL指南

    Kotlin DSL脚本 就像基于groovy的DSL一样,Kotlin DSL是在Gradle的Java API之上实现的。 注意,您可以将Groovy DSL构建脚本与Kotlin DSL构建脚本混合使用,例如,Kotlin DSL构建脚本可以应用Groovy DSL脚本,多项目构建中的每个项目都可以使用其中任何一个。 Kotlin DSL API,它是org.gradle.kotlin.dsl和org.gradle.kotlin.dsl.plugins. DSL包中的所有类型 避免使用内部Kotlin DSL api 在插件和构建脚本中使用内部Kotlin DSL api可能会在Gradle或插件发生变化时破坏构建。 Kotlin DSL API使用org.gradle.kotlin.dsl包或org.gradle.kotlin.dsl.plugins.

    12.3K20编辑于 2022-01-19
  • 来自专栏编程笔记

    Elasticsearch系列之Query DSL

    1 前言 我们先通过阅读官方文档,了解一下什么是 Query DSL 。 1.1 Query DSL Elasticsearch provides a full Query DSL (Domain Specific Language) based on JSON to define DSL是啥? 由Elasticsearch提供的一套完整的JSON格式的查询语句。 Think of the Query DSL as an AST (Abstract Syntax Tree) of queries, consisting of two types of clauses 两种查询类型:DSL和AST。 一种是根据查询关键字进行查询。 另一种就是符合查询。

    3.3K00发布于 2020-07-13
  • 来自专栏Java随想录

    学好Elasticsearch系列-Query DSL

    DSL是Domain Specific Language的缩写,指的是为特定问题领域设计的计算机语言。这种语言专注于某特定领域的问题解决,因而比通用编程语言更有效率。 在Elasticsearch(ES)中,DSL指的是Elasticsearch Query DSL,一种以JSON形式表示的查询语言。通过这种语言,用户可以构建复杂的查询、排序和过滤数据等操作。

    1.1K40编辑于 2023-08-03
  • 来自专栏运维咖啡吧

    Elasticsearch Query DSL查询入门

    本篇为学习DSL时做的笔记,适合ES新手,大佬请略过~ Query DSL又叫查询表达式,是一种非常灵活又富有表现力的查询语言,采用JSON接口的方式实现丰富的查询,并使你的查询语句更灵活、更精确、更易读且易调试 例如检索“运维咖啡吧”是否匹配文档的标题,结果只有匹配或者不匹配,因为只是对结果进行简单的匹配,所以计算起来也非常快,并且过滤的结果会被缓存到内存中,性能要比Query查询高很多 简单查询 一个最简单的DSL 网上仅有一些大厂分享的比较泛的概念没有实际落地的过程,我在想把这些数据利用起来,初步想法是去ES搜索出来业务或者功能的流量数据,然后做趋势分析,这不从DSL开始学习,欢迎大家加我好友找我交流,我会非常乐意

    3.2K10发布于 2019-05-28
  • 来自专栏丑胖侠

    Drools使用dsl语言

    Drools 为了对非开发人员更加友好,提供了dsl语言的支持,通过dsl再转换成drl文件来进行执行。 DSL简介 DSL == Domain Specific Language 以贴近业务领域的方式,即以类自然语言的方式来构造软件,使得我们不用花费太多精力就能看懂代码所对应的业务含义 。 DSL相当于一个转换器,它能将某一领域内的术语转换成规则语言。 Drools DSL背后的概念很简单。创建一个包含面向业务的概念的字典文件,并将其翻译成DRL。 上面就是一个简单的dsl文件的定义,它遵从如下语法格式: [<scope>][<type definition>]<dsl expression>=<replacement text> 其中 [when 拓展 当然,也可以直接在dsls中通过expander来引入规则到dslr中,比如: rule 'test-dsl' expander demo.dsl when There is a person

    1.3K10编辑于 2022-05-09
  • 来自专栏生如夏花的个人博客

    ES-DSL查询

    DSL查询 DSL查询分类 查询所有:查询出所有数据(match_all) 全文检索:利用分词器对用户输入内容分词,然后去倒排索引库中匹配 match_query multi_match_query 精确查询 Term 地理查询:根据经纬度查询 Geo_distance Get_bounding_box 复合查询:复合查询可以将上述各种查询条件组合起来,合并查询条件 boool function_score DSL

    1.1K20编辑于 2022-05-05
  • 来自专栏韩曙亮的移动开发专栏

    【Kotlin】Kotlin 领域特定语言 DSL 原理 一 ( DSL 简介 | 函数 属性扩展 )

    DSL 简介 II . Kotlin 函数扩展 III . Kotlin 属性扩展 I . DSL 简介 ---- 1 . DSL 用途 : DSL 用于某个特定领域 , 主要是该领域的专家使用 , 通过简单的编程 , 可以描述该领域中的事物 , 这个简单的编程语言就是 DSL 领域特定语言 ; 如 SQL 是给数据库管理员使用的管理数据库的 DSL ; 3 . DSL 与 编程语言区别 : ① 使用者不同 : DSL 是特定领域的专家使用 , 编程语言是程序员使用 ; ② 作用范围不同 : DSL 仅能表示特定领域的事物模型 , 编程语言可以表现任何事物和模型 Kotlin 中的 DSL : DSL 是 Kotlin 语言的特性之一 , 使用 DSL 可以让函数调用非常接近真实的语言 ; 6 .

    79620编辑于 2023-03-27
领券