墨天轮专访星环科技刘熙:“向量热”背后的冷思考,Hippo如何打造“先发”优势?

news2024/11/26 2:35:34

导读: 深耕技术研发数十载,坚持自主可控发展路。星环科技一路砥砺前行、坚持创新为先,建设了全面的产品矩阵,并于2022年作为首个独立基础软件产品公司成功上市。星环科技在今年的向星力•未来技术大会上发布了分布式向量数据库Transwarp Hippo以及两款领域大模型“无涯”和“求索”。关于星环科技在向量数据库领域的建树和背后的故事、以及对该领域的看法,墨天轮邀请到星环科技基础架构部副总经理刘熙分享他的观点与见解。

 简介: 星环科技基础架构部副总经理 刘熙 在星环科技工作达10年,一直从事数据库方面的研究工作,在关系型数据库、搜索引擎、时序数据库、时空数据库、向量数据库等产品领域具有丰富的实践经验,主导和参与了泛金融、能源制造等多个行业上百个大数据项目

所属公司: 星环科技致力于打造企业级大数据基础软件,围绕数据的集成、存储、治理、建模、分析、挖掘和流通等数据全生命周期提供基础软件与服务,构建明日数据世界。经过多年自主研发,星环科技建立了多个产品系列:一站式大数据基础平台TDH、分布式分析型数据库ArgoDB及交易型数据库KunDB、基于容器的智能数据云平台TDC、大数据开发工具TDS、智能分析工具Sophon和超融合大数据一体机TxData Appliance 等,并拥有多项专利技术。目前公司产品已经在十几个行业应用落地,拥有超过1400家终端用户。2022年10月,成功登陆上交所科创板。

—— 以下为采访全文 ——

1、首先请您用通俗易懂的话给大家科普一下什么是向量数据库,主要解决什么样的问题,和传统关系型数据库有什么区别?

刘熙: 传统数据库主要处理数值和字符类型的数据,通常是高质量的关系型表。当然,现在也有许多处理半结构化数据(如JSON数据)的数据库,例如MongoDB、Elasticsearch等。然而,这些数据的语义通常只表现在表面,没有深层次的含义。向量数据库则与众不同,它处理的是非结构化数据,如图片、视频、长文本和音频等。这些数据的意义不在于其物理表示,并不仅仅是一堆字节,真正有意义的地方在于隐藏的语义。

对于传统数据库,我们无法通过其直接处理语义问题。那么如何解决这个问题呢?通过采用AI技术,例如典型的神经网络,来识别、提取和编码非结构化数据背后的语义特征。最终,将这种数据的语义映射或嵌入到高维的向量空间中。这样做有什么好处呢?这实际上将数据库无法直接处理的语义问题,转化为向量空间中的搜索问题。简而言之,我们利用AI技术将数据库无法直接处理的数据背后的语义转化为一个结构化的过程。

在处理非结构化数据时,我们通常不仅提取特征向量这一个维度,还会提取一些结构化的属性标签。举个例子,我们正在开发的金融大模型,从财经新闻中通过实体识别算法提取企业法人等信息。这些信息并不仅仅是向量,它们更像是一些属性标签。类似地,在以前的电商中,对于商品图片,除了特征向量外,还可能提取价格、颜色等结构化标签。

因此可以说,没有AI技术,就不会有向量数据库这样细分的数据库品类。另一方面,向量数据库能够很好地解决AI技术落地的问题。

大模型近来非常受关注,但大模型的能力是有限的,它无法回答它从未见过的问题,即无法回答训练语料库中没有的知识,例如一些私密数据或专业领域的数据,通常不会存在于通用语料库中。当面对需要回答专业问题的情况时,大模型可能会提供错误答案。在以前的小模型时代,我们通常会进行精细调整,但如今的模型参数可能达到数千亿、万亿级别。在这种情况下,精细调整的成本非常高,并且无法解决大模型无法获取最新数据的问题。因此,通过将知识从大模型中分离出来,引入向量数据库,实际上为大模型添加了一个记忆单元,这就是所谓的大模型+向量数据库+Prompt(MVP)架构。在这种架构下,整个大模型的技术实现更加容易。通过使用向量数据库,我们可以处理私密数据或实时数据,并且可以更好地控制数据的安全性。因此,向量数据库作为一种基础的AI设施,可以有效地解决AI技术在实际应用中的问题。

综上,可以看出向量数据库与AI的关系非常密切。它源自AI,同时又为解决AI技术应用问题提供了有效的解决方案。

2、请您介绍下星环科技向量数据库诞生的背景,以及产品名Hippo、Logo的寓意。

刘熙: 在谈论星环科技向量数据库诞生的背景前,我想分享一些当时的故事。大约在2018年左右,那时我们星环科技还专注于开发多模型统一处理技术。我们逐步将一些数据库的通用功能,如分布式存储、分布式计算、安全性和资源管理等功能,从紧耦合的架构转化为松耦合的架构。我们当时的目标是通过统一的架构来更好地支持各种数据库,例如图数据库和时序数据库。

在这段时间里,我们公司内部的AI团队找到我,告诉我有一类数据叫做向量数据,对于我们的AI业务非常重要。然而,他们手头只有一个叫做Faiss的库来处理这类数据。当时Faiss的版本可能是1.1或者1.2,还处于比较早期的阶段。他们面临的问题是,这些数据需要他们自己编写代码来进行管理,基本上每个项目都需要重复进行这样的工作,非常费时费力,而且可能无法保证高可用性和安全性。因此,他们希望我们能够开发一个专门处理向量数据的数据库,供他们的AI团队使用。

我们当时进行了一些调研,最终的结论是,尽管当时市场还不大,但这项技术有很大的潜力。即使可能不能立即商业化,但我们仍然认为有必要为将来做这样的技术储备。于是,我们决定着手进行这项工作。从0到1的第一个版本,进展迅速,因为需求相对明确,而且内部团队也不需要太多考虑面向客户的问题。我们的第一个版本基本上只是将Faiss库改造成了一个分布式库,通过基于数据ID的分片方式,每个分片下有一些副本,并通过Raft算法确保数据一致性。这个时期我们已经完成了之前提到的解耦工作,手上有很多可直接复用的技术组件,所以我们第一个版本很快就交付给了AI团队,整个过程不到两个月的时间。

AI团队使用后感觉还不错,有了一个数据库来管理向量数据,而且非常可靠。随后,他们也提出了许多需求。接下来,我们为这个数据库添加了独立的存储和查询向量索引,逐步添加数据的增删改查功能,以及标量和向量的混合搜索,标量索引等等。简而言之就是,快速开发第一个版本并持续添加功能。

当大模型概念兴起的时候,我们意识到向量数据库这项能力应该作为一个独立的数据库产品来支持,而不仅仅是作为一个内部组件存在。因此,我们开始了产品化的工作,并投入了大量时间,包括解决安全性、开箱即用的易用性、运维管理能力等。作为一个面向市场用户的完整产品,我们必须综合考虑各种方面的问题。最终,我们在今年5月的发布会上,正式对外发布了我们的向量数据库Transwarp Hippo。

正如前面所说的,向量数据库承担了中间存储的角色,我们认为向量数据库就是大语言模型的海马体,是一个记忆体。因此,产品名Hippo源自于海马体英文的前缀,而logo我们也是精心设计的,融入了海马体形状和数据库常用的图标元素,并最终由多维向量元素表示。

3、最近市场上突然出现了很多向量数据库产品,请问您觉得向量数据库的技术门槛高吗,向量数据库有哪些挑战?

刘熙: 这个现象是有点意思的。有些人可能猜测,向量数据库到底真的有需求,还是这些厂商跟风才推出的,这种短时间推出的产品能不能用?

实际上,研发一款新的数据库产品有很多方面的问题要克服,需要投入大量的时间和人力资源,而且向量数据库又涉及到多个领域的知识,包括交叉的 AI 知识、数据库知识和安全等,从头开始构建一个向量数据库的时间和实践成本都很高。

对于我们星环科技的情况呢,前面那个问题已经回答过了,我们的产品是从几年前AI团队内部的需求演进而来的。结合我们这几年的实践,我们认为技术上的挑战主要包含几个方面。

首先就是扩展性问题。随着AIGC等应用的发展,特别是大模型的兴起,对嵌入(embedding)和向量化这块能力的需求急剧增加。大模型的普及也让向量数据的规模不断增大,从百万级别的数据体量已经变为千万级别,甚至更大。这就需要数据库能够有效地支持大规模向量数据的存储和检索,这对硬件资源提出了更高的要求,特别是在云上部署时成本可能成为一个重要问题。

第二个挑战是成本问题。在向量搜索中,索引的大小和存储是关键因素,而向量索引的成本通常较高。以前在数据量较小的情况下,可能只需要几台机器就足够了,成本并不是关键问题。但随着数据规模的增大,需要更多的资源来支持,这就涉及到成本的考虑。

第三个挑战是易用性问题。与传统的关系型数据库不同,向量搜索涉及到更多维度的考量,包括性能和召回率等。为了平衡性能和召回率,需要调整各种参数,但这可能对用户来说不太友好。因此,简化参数选择,提高用户体验是一个重要的挑战。

最后一个挑战是混合搜索中的路径优化问题。与传统的优化器相比,向量搜索的优化器更加复杂,因为它需要考虑多维度的因素。如何设计一个能够描述向量搜索代价的模型,以实现性能和召回率的平衡,是一个需要解决的难题。

当然,向量数据库还面临着其他有趣的挑战,比如在向量搜索中实现向量相似度过滤,以及如何在不同数据集间进行相似性join等问题。这些问题都需要深入的研究和解决,使得向量数据库能够更好地应对现实世界的各种应用场景。

4、自从GPT 3.5发布以来,向量数据库突然火了,投融资项目及规模空前,您怎么看待这波“向量热”,您觉得这个热度会一直持续下去吗?

刘熙: 目前,国内的向量数据库以及AIGC在行业内的火热程度不言而喻。如之前我所说的,向量数据库源自AI,同时又为解决AI技术应用问题提供了有效的解决方案。大模型的兴起为向量数据库等领域带来了巨大的关注度,同时也催生了更多的产品和解决方案,促使市场快速成熟。

我们星环科技这半年的时间里,与很多家客户及合作伙伴的交流中,我们发现,客户对这些深度学习应用非常感兴趣。然而,客户们目前仍处于学习和选型的阶段。我们与多个客户合作,进行了深入的原型验证工作。在客户将新技术引入实际业务之前,他们需要时间来适应和了解这些新概念。我们认为在下半年,国内的大模型应用可能会迎来一个高潮。

在未来的几个月内,我们将会看到更多客户开始在实际业务中应用这些新技术,因为每次与客户交流时,他们对于如何应用这些技术以及如何在他们的企业中发挥作用都会有更清晰的认识,这是一个逐步推进的过程。

5、目前市面上的向量数据库应该已经有很多了,有插件的、专用的,用户在做向量数据库选型时应该注意哪些点?

刘熙: 整体上目前向量数据库有2条技术路线,一种是基于传统关系型数据库封装向量计算功能,一种是专业的向量数据库。基于我们星环科技的实践经验,如果只是小数据量、访问并发延迟这类要求也不高的情况下,从原有数据库里封装向量计算的方法可能是可行的,但如果数据规模、访问并发这类指标上去以后,处于性能、扩展性、资源弹性方面的原因,我们其实是需要专业的向量数据库的。

我们其实⼀开始就抛弃了基于lucene去扩展向量计算这条路,这个主要是java语言的执行效率以及jvm堆内存管理方面的限制,对向量计算这种重cpu大内存的workload很难做得高效。

如果是基于关系型数据库,现在的做法都是把向量作为⼀个列,有些实现会做⼀个单独的向量数据类型,有些实现就直接用float数组表示,然后为这个向量列建向量索引,最后扩展⼀下SQL语法或者搞几个UDF,让向量搜索语法能够被SQL这套语言表示。看起来好像挺简单的,但这种做法有⼀些架构性的问题,导致向量搜索很难做得高效。

第一个问题在于,我们要在数据库里扩展新的索引实现,是需要按照数据库的索引规范实现的,这会造成向量索引的性能损失,而向量索引是向量数据库最核心的逻辑,这也直接导致现在这类通用向量数据库的性能会弱于专用向量数据库。向量这块有很多公开的数据集和测试结果,网络上很容易找到的,通过简单的测试就可以发现这种方式的性能瓶颈。另外在查询效率上,因为类似的原因也会造成明显的性能损耗。

第二个问题在于,向量搜索的资源使用模式与传统数据库不同,这会导致这类向量数据库的扩展性以及资源弹性不如专业向量数据库。技术上还会有⼀些其他问题,比如如何设计⼀个兼容结构化数据和向量化数据的优化模型等等,那第三个问题,我想说的不在于技术,而在于用户成本。我们最开始聊"向量数据库"这个概念的时候有说过,向量数据库绝大多数情况下服务于AI应用场景,这些场景里传统数据库的存量功能其实很难产生实际的应用价值,那对于用户来说,相比与采购专用向量数据库,采购通用数据库来应用在向量场景其实可能是比较亏的。对于改造现有数据库系统,也可能会对现有业务正常开展产生不稳定的影响。

6、向量数据库的使用门槛好像比较高,您觉得哪类企业会第一批使用向量数据库。另外星环科技向量数据库目前有哪些成功案例?

刘熙: 向量数据库在大模型兴起之前可能并没有受到特别大的关注,但实际上已经有较长一段时间的发展了,也有了很多的应用。我们自己就一直在使用向量数据库,还有一些大型企业也在使用,以及像生成式AI的顶尖企业,此外,向量数据库在AIGC之外也有许多其他应用场景。

举例来说,电商领域主要专注于搜索、广告推荐等应用,这对于电商而言至关重要。自动驾驶领域也大量应用了向量数据库,例如用于自动化标注、场景识别等。在社交媒体中,向量数据库可以用于内容风控,帮助平台过滤掉敏感言论,以提高内容的质量和安全性。金融领域也能充分发挥向量数据库的应用,例如服务推荐等。此外,像生物医药、知识产权等领域也都有广泛的应用。

如之前所说,我们星环科技的向量数据库一开始是因为内部AI团队需求诞生的,所以也是有一些实践的。例如将一些交易所规则、期货法规、可研报告等材料处理后存储到向量数据库里,结合领域大模型来构建知识库,通过向量数据库来提升一些行业的、最新的知识的召回能力。类似的金融场景中,很多机构会构建金融法律法规问答库,通过向量数据库可以很好地解决这些问题。

7、在国内,向量数据库会不会和关系型数据库一样这么卷?以及星环科技计划如何破局并建立“先发”优势?

刘熙: 目前我们就能看到,很多厂商陆续发布自己的向量数据库产品,随着向量数据库技术的逐步成熟,以及客户实践之后逐渐意识到这块的价值,相信会有更多的产品出现。这么多的产品,星环科技该如何破局呢?我认为主要有几点。

首先,如前面谈到的,星环科技的向量数据库在早几年就已经在公司内部使用了,并且在今年5月份正式发布,算是国内较早正式发布向量数据库产品的,我觉得这个已经建立了一个“先发优势”。向量数据库涉及多个领域的知识,包括交叉的 AI 知识和数据库等知识,这些都需要积累的,不是简单拿个开源的检索库过来封装下就可以的。星环科技有这么多年的数据库技术和AI技术积累,以及向量数据库技术方面的实践,因此,在产品可用性和稳定性等方面,我们是绝对有信心的。最近,我们也发布了向量数据库社区版,有几个特性,免费获取、快速部署和简单易用,也是为了进一步降低用户使用向量数据库的门槛和成本,用户可以低成本、快速地基于已有向量数据库进行大模型领域的探索,实现业务的创新。

除了在向量数据库技术方面的优势,星环科技也有自己自研的行业垂类大模型,金融大模型“无涯”和大数据领域大模型“求索”,分别旨在促进金融分析和大数据分析的平民化,推动计算普惠和AI普及。通过大模型和向量数据库的结合,互相反哺,有利于进一步提升产品各自以及整体方案上的优势。

此外,星环科技也有自研的分布式向量数据库和知识图谱,通过将分布式向量数据库和分布式图数据库以及知识图谱结合,与大模型可视化端到端构建工具一起,提供了知识抽取融合、知识建模、知识图谱生成存储、基于大模型的知识问答等闭环功能,可以构建业务域知识图谱和业务系统的应用服务,激发出更多更深入的业务场景AI应用。

除了以上这些和AI强相关的方面,优秀的平台也离不开扎实的数据底座,星环科技在大数据领域有非常多的积累,有我们的一站式多模型大数据基础平台,可以处理关系型、图、时序、时空等业内主流的全部数据类型,也有基于容器化技术的数据云平台,还有各类丰富的数据开发工具等等,涵盖了数据全生命周期的产品,满足用户数据平台建设的各类需求。

从以上可以看出,在这个领域市场里,从向量数据库这个点,到包括图数据库、知识图谱、领域大模型、大模型开发工具等等在内的布局,星环科技的产品体系已经形成了一个颇具规模的面,在市场竞争中是非常有竞争力的,这一点上我们是很有信心的。

8、针对搜索场景,类似Elasticsearch数据库目前被广泛应用,首先向量数据库是否能够满足Elasticsearch等擅长的文本搜索场景?另外传统的搜索数据库与向量数据库相比有哪些缺陷?

刘熙: 针对文本搜索场景,向量搜索和全文搜索擅长解决的问题并不完全相同,全文搜索更适合做关键字匹配,而向量搜索能找出字面上不同但语义上相近的内容。向量数据与全文数据在存储、计算上也有很大的差别,传统的搜索数据库比如Elasticsearch很难同时高效支持这两种场景,这个大家感兴趣可以去查看网上的公开数据集比如ann benchmark,Elasticsearch的性能远落后于专业的向量数据库,而且没记错的话,它的索引类型也只支持HNSW,不支持多种类向量索引,大家知道每一种索引类型都有各自的使用场景,HNSW在大数据量下性能稳定,但资源开销非常大。

根据我们的实践经验,在文本搜索场景里,使用向量加全文的联合召回,能够做到的精度比单独使用向量或者全文更高,我们星环科技即将发布的向量数据库Hippo1.1版本里就有这样的功能,叫hybrid search,在内部项目应用下来效果非常好。

9、您觉得向量数据库未来的技术趋势有哪些值得我们关注?

刘熙: 关于技术趋势,我认为有几个关键点需要强调。首先,对于向量数据库领域,要实现深度学习技术的最优应用,需要具备AI、数据库和安全等多方面的能力。数据库内通常会储存一些敏感数据,因此如何保证这些数据的安全性将成为一个极其重要的议题。尤其是随着向量数据库等领域逐渐引入深度学习技术,对AI能力和数据安全的需求将变得愈发迫切。

其次,我认为在短期内,随着大模型技术的迅速崛起,将会进一步加剧市场竞争的激烈程度。大模型的兴起为向量数据库等领域带来了巨大的关注度,同时也催生了更多的产品和解决方案,促使市场快速成熟。这对于技术从业者和用户都是利好,因为竞争带来了更多选择,也能获得更高性价比的解决方案。

我相信,在这个大数据时代,向量数据库领域具备巨大的潜力。同时,我想借此机会为对这一领域感兴趣的同学们打个小广告,欢迎与我们进行线上交流或投递简历。我们的团队将继续努力,不断积累和分享行业大模型的经验,与大家共同进步。


阅读原文:https://www.modb.pro/db/1701130013479358464

欲了解更多可浏览墨天轮技术社区,围绕数据人的学习成长提供一站式的全面服务,打造集新闻资讯、在线问答、活动直播、在线课程、文档阅览、资源下载、知识分享及在线运维为一体的统一平台,持续促进数据领域的知识传播和技术创新。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1020230.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ReactNative进阶(二十一)开源插件 react-native-device-info 获取设备信息

文章目录 一、前言二、Android 平台三、iOS 平台四、拓展阅读 一、前言 项目开发过程中,需要获取设备信息,例如获取设备名称。可通过使用开源的第三方组件react-native-device-info,该组件适用于iOS和Android双平台。 在ReactNative项目中可…

Comparator 接口使用方法,结合java8新特性及源码分析

目录 1 Comparator介绍1.1 函数式声明1.2 简单的小案例 2. Comparator中的方法2.1 compare 抽象方法例子 2.2 comparing方法源码参考解释详细解释 <? super T, ? extends U>讲解comparing代码样例例子comparing中的方法源码分析<T, U extends Comparable<? supe…

Python asynchat模块-异步套接字处理-服务器程序示例

介绍 此模块在asyncore架构上建立&#xff0c;简化了异步客户端和服务器&#xff0c;并且使得处理元素为任意字符串结束或者为变长度的协议更加容易。asynchat定义了一个可以由使用者来子类化的抽象类async_chat&#xff0c;提供了collect_incoming_data()和found_terminator(…

数据结构上机练习——单链表的基本操作、头文件、类定义、main函数、多种链表算法的实现,含注释

文章目录 单链表的基本操作实现1.头文件2.类定义和多种算法的实现2.1创建空表2.2头插法创建n个元素的线性链表2.3一个带头节点的链表存放一组整数&#xff0c;设计一个算法删除值等于x的所有节点。2.4计算线性表中值为偶数的节点个数2.5一个带头节点的单链表heada存放一组整数&…

科技云报道:云安全的新战场上,如何打破“云威胁”的阴霾?

科技云报道原创。 近年来&#xff0c;在云计算和网络安全产业的蓬勃发展下&#xff0c;我国云安全行业市场规模呈现高速增长态势&#xff0c;在网络安全市场总体规模中占比不断上升。 据统计&#xff0c;近5年我国云安全市场保持高速增长&#xff0c;2021年我国云安全市场规模…

VMware workstation 中centos7虚拟机在nat模式下怎么配置网卡,指定我想要的IP并且可以联网

1、首先打开我们的虚拟网络编辑器 2、查看我们的网关 3、查看IP池&#xff0c;根据需求自己设置 4、打开centos7虚拟机 编辑网卡配置 vim /etc/sysconfig/network-scripts/ifcfg-ens160####我的网卡是ens160TYPEEthernet PROXY_METHODnone BROWSER_ONLYno BOOTPROTOstatic …

全新交友平台,探索在线交流的乐趣!

大家好&#xff01;今天给大家介绍一款全新的交友平台&#xff0c;让您轻松享受在线交流的乐趣&#xff01;这个平台以其丰富多样的功能和互动体验而广受欢迎。无论您是想结识新朋友还是找到心仪的主播&#xff0c;这里都能满足您的需求。 首先&#xff0c;我们来看一下首页列表…

基于SpringBoot的超市管理系统

基于SpringBootVue的超市管理系统、超市进销存系统&#xff0c;前后端分离 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringBoot、Vue、Mybaits Plus、ELementUI工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 【主要功能】 角色&#xff1a;管理员…

三、C#—变量,表达式,运算符(1)

&#x1f33b;&#x1f33b; 目录 一、变量1.1 变量1.2 使用变量的步骤1.3 变量的声明1.4 变量的命名规则1.5 变量的初始化1.6 变量初始化的三种方法1.7 变量的作用域1.8 变量使用实例1.9 变量常见错误 二、C#数据类型2.1 数据类型2.2 值类型2.2.1 值类型直接存储值2.2.2 简单类…

Vivado初体验LED工程

文章目录 前言一、PL 和 PS二、LED 硬件介绍三、创建 Vivado 工程四、创建 Verilog HDL 文件五、添加管脚约束六、添加时序约束七、生成 BIT 文件八、仿真测试九、下载测试 前言 本节我们要做的是熟练使用 Vivado 创建工程并实现对 LED 灯控制&#xff0c;每秒钟控制开发板上的…

微信小程序手写时间间隔组件,可设置间隔时间一分钟,半小时,一小时的间隔

纯手写时间间隔组件 需求&#xff1a;小程序中可以根据时间段进行选择开始时间和结束时间&#xff0c;如&#xff1a;当前时间是09&#xff1a;00&#xff0c; 则我可以从9点开始选择时间&#xff0c;每半个小时为间隔&#xff0c;那么下一个时间就算9&#xff1a;30&#xff…

vue基础知识十三:Vue中的$nextTick有什么作用?

一、NextTick是什么 官方对其的定义 在下次 DOM 更新循环结束之后执行延迟回调。在修改数据之后立即使用这个方法&#xff0c;获取更新后的 DOM 什么意思呢&#xff1f; 我们可以理解成&#xff0c;Vue 在更新 DOM 时是异步执行的。当数据发生变化&#xff0c;Vue将开启一个异…

阿里测试岗:惨不忍睹的三面,幸好做足了准备,月薪17k,已拿offer....

我今年25岁&#xff0c;专业是电子信息工程本科&#xff0c;19年年末的时候去面试&#xff0c;统一投了测试的岗位&#xff0c;软件硬件都有&#xff0c;那时候面试的两家公司都是做培训的&#xff0c;当初没啥钱&#xff0c;他们以面试为谎言再推荐去培训这点让我特别难受。 …

开启编程之门

自我介绍 目前已经大二了&#xff0c;计算机专业在读&#xff0c;是一个热爱编程&#xff0c;做事踏实专注的人。转眼间一年已经过去了&#xff0c;也接触编程一年了&#xff0c;但开始并没有对所学所想进行很好的总结和输出&#xff0c;这一年也有了新的很多感悟与心得&#x…

JVM——5.类文件结构

这篇文章我们来讲一下jvm的类文件结构 目录 1.引言 2.类文件结构概论 3.魔数与class文件的版本 4.常量池 5.访问标志 6.类索引、父类索引与接口索引集合 7.字段表集合 8.方法表集合 9.属性表集合 9.1code属性 9.2 Exception属性 10小结 1.引言 代码编译的结果从本…

vue学习-02vue入门之组件

删除Vue-cli预设 在用户根目录下(C:\Users\你的用户名)这个地址里有一个.vuerc 文件,修改或删除配置 组件 Props(组件之间的数据传递) Prop 的大小写 (camelCase vs kebab-case)不敏感Prop 类型: String Number Boolean Array Object Date Function Symbol传递静态或动态 Pr…

「聊设计模式」之抽象工厂模式(Abstract Factory)

&#x1f3c6;本文收录于《聊设计模式》专栏&#xff0c;专门攻坚指数级提升&#xff0c;助你一臂之力&#xff0c;带你早日登顶&#x1f680;&#xff0c;欢迎持续关注&&收藏&&订阅&#xff01; 前言 在软件开发中&#xff0c;设计模式是一种被广泛使用的经验…

kudu 1.4.0 离线安装

1.准备rpm安装包 kudu-1.4.0: kudu的基础安装包 kudu-client0-1.4.0: kudu的c++客户端共享库 kudu-client-devel-1.4.0: kudu的c++客户端共享库sdk kudu-master-1.4.0: kudu master kudu-tserver-1.4.0: kudu tserver

任意输入一个整数m,若m不是素数,则对m进行质因数分解,并以质因数从小到大顺序排列的乘积形式输出

每个合数都可以写成几个质数&#xff08;也可称为素数&#xff09;相乘的形式 &#xff0c;这几个质数就都叫做这个合数的质因数。 #include <stdio.h> int isPrime(int num)// 判断一个数是否是素数 {if (num < 2) {return 0;}for (int i 2; i * i < num; i) {…

汽车电子 -- CAN总线波特率计算方法

上一篇文章介绍 PCAN View 安装与使用 的时候&#xff0c;留下了两个问题&#xff0c;CAN总线波特率该怎么计算&#xff1f; 下图里的这些 Prescaler、tseg1、tseg2、sync Jump Width是什么意思&#xff1f; CAN2.0协议中定义标称位速率为一理想的发送器在没有重新同步的情况…