草庐IT

聊一聊非传统数据测试,你懂了吗?

数据测试是指对数据的质量、完整性、一致性和准确性等方面进行验证和评估的过程。数据测试的目的是确保数据在系统中的正确性和可靠性,以及数据是否满足预期的要求。以下是一些常见的数据测试方法和技术:数据完整性测试:验证数据是否完整,即数据是否包含了所需的所有字段和记录。这可以通过比较源数据和目标数据之间的差异来进行测试。数据准确性测试:测试数据的准确性,即数据是否与预期的结果一致。这可以通过与参考数据或预期结果进行比对来进行测试。数据一致性测试:确保数据在不同的数据源、系统或模块之间保持一致。这可以通过比对不同数据源的数据或在系统中的不同模块之间的数据来进行测试。数据质量测试:评估数据的质量,包括数据

聊一聊软件项目管理方法

每种软件项目管理方法都有其独特的特点、优缺点,适用于不同类型的项目。很多人认为我们经常使用的软件是完全安全的,但在软件行业中,事实远非如此。如今,大多数人视每天使用的软件为安全的事实,但这并不真实地反映了我们所处的软件行业的现实。市场上的许多软件都是为了尽快投入生产而编写的,并没有充分考虑安全性。对于代码和基础设施安全的忽视构成了重大威胁。一个安全漏洞可能导致各种问题,包括数据泄露、财务损失、法律问题以及对客户和公司造成的一系列危害。在本文中,我们将详细介绍代码和基础设施中可能存在的安全漏洞,特别关注代码和基础设施安全风险。通过了解这些风险,我们可以更好地应对维护安全软件系统所面临的挑战。此外

【消息队列】聊一下如何避免消息的重复消费

什么是重复消费一条消息在传输过程中,为了保证消息的不丢失,可能会多少量的消息进行重试,这样就可能导致Broker接受到的消息出现重复,如果说下游系统没有针对业务上的处理,那么可能导致同一笔借款或者支付订单出现重复扣款或者重复还款的情况。业务上是不允许出现的。在MQTT协议,给出了如下三种方式至多一次(AtMostOnce):也就是针对每条消息即使出现异常的情况,也只会发送一次。应用场景:在一些硬件数据上传热点数据,可以使用。至少一次(AtLeastOnce):为了保证消息不可靠传输,可能针对少量消息进行重复发送,那么就会出现同一个消息重复出现。恰好一次(ExactlyOnce):消息只会发送一

聊一聊AIGC

“UGC不存在了”——借鉴自《三体》ChatGPT的横空出世将一个全新的概念推上风口——AIGC(AIGeneratedContent)。GC即创作内容(GeneratedContent),和传统的UGC、PGC,OGC不同的是,AIGC的创作主体由人变成了人工智能。xGCPGC:ProfessionallyGeneratedContent,专业生产内容UGC:UserGeneratedContent,用户生产内容OGC:OccupationallyGeneratedContent,品牌生产内容。AI可以Generate哪些Content?作为淘宝内容线的开发,我们每天都在和内容打交道,那么A

来聊一聊 ElasticSearch 最新版的 Java 客户端

可能不少小伙伴都注意到了,从ElasticSearch7.17这个版本开始,原先的Java高级客户端JavaHighLevelRESTClient废弃了,不支持了。老实说,ElasticSearch算是我用过的所有Java工具中,更新最为激进的一个了,在Es7中废弃了TransportClient,7.17又废弃了TransportClient,那么现在用啥呢?现在的客户端叫做ElasticsearchJavaAPIClient。一直偷懒选择无视ElasticsearchJavaAPIClient,不过最近工作中用到了,所以还是整篇文章和小伙伴们简单梳理一下ElasticsearchJavaA

来聊一聊 ElasticSearch 最新版的 Java 客户端

可能不少小伙伴都注意到了,从ElasticSearch7.17这个版本开始,原先的Java高级客户端JavaHighLevelRESTClient废弃了,不支持了。老实说,ElasticSearch算是我用过的所有Java工具中,更新最为激进的一个了,在Es7中废弃了TransportClient,7.17又废弃了TransportClient,那么现在用啥呢?现在的客户端叫做ElasticsearchJavaAPIClient。一直偷懒选择无视ElasticsearchJavaAPIClient,不过最近工作中用到了,所以还是整篇文章和小伙伴们简单梳理一下ElasticsearchJavaA

聊一聊Java中的Steam流

1引言在我们的日常编程任务中,对于集合的制造和处理是必不可少的。当我们需要对于集合进行分组或查找的操作时,需要用迭代器对于集合进行操作,而当我们需要处理的数据量很大的时候,为了提高性能,就需要使用到并行处理,这样的处理方式是很复杂的。流可以帮助开发者节约宝贵的时间,让以上的事情变得轻松。2流简介流到底是什么呢?简要的定义为“从支持数据处理操作的源生成的元素序列”,接下来对于这个定义进行简要分析。2.1支持数据处理操作流的数据处理操作和数据库的可以声明式的指定分组或查找等功能支持类似,和函数式编程的思想一致,如filter、map、reduce、find、match、sort等操作,这些流操作可

聊一聊Skype的兴衰

Skype这款语音、视频和即时通讯应用在21世纪初大受欢迎,它让人们无需支付长途费用就能与朋友和家人通话。2005年,eBay收购了它。不过,这笔交易没有按计划进行,以SilverLake为首的一个投资集团收购了该公司的多数股权。微软随后介入,在2011年斥资85亿美元收购了这家公司。即使有世界上最大的软件公司的支持,Skype也正在遭受被淘汰的命运。在疫情期间,消费者和企业转向Zoom和Meta的WhatsApp等工具,现在有很多选择可以通过智能手机快速与朋友和同事群联系。咨询公司DirectionsonMicrosoft的研究副总裁JimGaynor在接受采访时表示,“Skype仍主要被视

聊一聊枚举一个进程中的所有线程

在Win32开发中,如果需要获取程序运行过程中的一些较为底层的信息,你可能需要使用到ToolHelper库。但我愿意称之它为Win32中的“害群之马”。何解?ToolHelper库在16位Windows时代就已经存在了,这个库主要用来提供一些调试服务,例如获取调用堆栈和枚举系统中的所有内存等。Win32的初始版本中,并没有包含它,直到Windows95之后,32位版本的ToolHelper程序库才被引入到Win32中。不管我们对它的评价如何,这些功能仍然存在,所以让我们试一试看看效果。运行上面的程序,它会打印系统中所有线程的列表(或至少是你有权访问的所有线程)。代码的逻辑还是挺简单的,唯一的微

聊一聊分片和一致性哈希

在设计大规模分布式系统时,你可能会遇到两个概念——分片(sharding)和一致性哈希(consistenthashing)。虽然我在网上找到了很多关于这些术语的解释,但它们让我感到有些困惑。我觉得分片和一致性哈希本质上是在讨论同一件事——将数据分布在一组服务器上。我想—这两个概念是不是相同的,还是有所不同?如果你也有类似的困惑,让我们简要地来解释一下。分片想象一下我们有一个数据库,其中数据以行和列的形式存储(就像关系型数据库,尽管分片也适用于NoSQL数据库)。当我们的数据集变得非常庞大时(比如1百万条记录),对庞大数据集进行任何类型的操作(读取、更新、删除、连接等)都会变得非常缓慢。而且随