背景领域特定语言(DSL),如SQL、ElasticsearchQuerystring等,往往是为专门的目的设计的。在特定的任务中,DSL通过在表达能力上做的妥协换取在某一领域内的高效。在飞书套件日志系统的私有化研发过程中,为了符合研发同学查询日志的习惯,尝试使用ElasticqueryQuerys
实际问题很多大数据计算产品,都对用户提供了SQLAPI,比如Hive,Spark,Flink等,那么SQL作为传统关系数据库的查询语言,是应用在批查询场景的。Hive和Spark本质上都是Batch的计算模式(在《ApacheFlink漫谈系列-概述》我们介绍过Spark是MicroBatching
分离集合(disjointset)是一种经典的数据结构,它有三类操作:Make-set(a):生成包含一个元素a的集合S;Union(X,Y):合并两个集合X和Y;Find-set(a):查找元素a所在集合S,即通过元素找集合句柄;它非常适合用来解决集合合并与查找的问题,也常称为并查集。一、并查集的
文件处理是一个常见的问题,同时Go又提供了非常多的文件读取方法,容易让人患选择困难症。本文作为其扩展,以实际不同大小的文件为例,来具体比较下它们的差异。创建不同大小的文件首先,我们需要有比较对象。鉴于电脑磁盘空间有限,本文就比较KB、MB、GB三个级别的文件读取差异。复制packagemainimp
iOS和iPadOS15.4是巨大的更新,为iPhone和iPad带来了许多有用的新功能。带口罩的面容ID在iOS15.4中,现在有一个选项可以在戴着口罩的同时解锁iPhone,而无需像AppleWatch那样的其他硬件。苹果警告说,全脸ID是更安全的选择,但戴口罩使用FaceID现在已经可用。更新
作为UI设计师来说,都是一群细节猎人,以像素级的细节刻画着每一个需求。日常的体验积累也总能发现那些优秀的设计解决方案,以此来强化自己的设计认知,提高设计思维和变通能力。定期体验产品,记录优秀的设计解决方案和反思设计背后的思路,有助于提高专业层面的综合能力。黑马哥也会定期为大家带来个人的体验总结,希望
哈希表哈希表:也叫做散列表。是根据关键字和值(Key-Value)直接进行访问的数据结构。也就是说,它通过关键字key和一个映射函数Hash(key)计算出对应的值value,然后把键值对映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做哈希函数(散列函数),用于存放记录的数组叫做哈希