数据库DBMS是当前互联网开发者最熟悉的基础设施之一,很多后端开发者的入门项目就是一个简单的基于MySQL的数据管理系统。笔者一直想自己编写一个简单的SQL数据库,正好最近正在学习RocksDB和Zig语言的内容,就想利用这个机会作为学习成果的检验,于是就有了这个小项目。
站外商详(H5/小程序)一直以来采用detailV3老接口数据,在样式和功能上,不能与最新版的客户端同步对齐,各个端之间的使用体验之间存在差异。
消费者选择电商平台进行购物,除了独特的商品,购物体验也越来越成为消费者衡量平台的重要标准。如何帮助客户快速的检索到自己想要购买的商品,如何让客户买到性价比最高的商品,如何帮助客户在更短的时间内收到购买的商品,这些都是平台为消费者提供的重要服务。笔者在订单履约时效项目的参与过程中,主要负责通过算法,帮助平台提升订单履约率和准确率。
得物作为全球领先的潮流网购社区,日益增长的用户和数据带来了巨大的技术挑战。当前,得物的可观测性平台每天生成数PB级Trace数据和数万亿条Span记录,要求平台具备高效的实时处理能力和低成本的数据存储解决方案。
OLAP引擎在得物的客服、风控、供应链、投放、运营、ab实验等大量业务场景发挥重要作用,在报表、日志、实时数仓等应用场景都有广泛的应用。 得物引入和使用OLAP引擎的过程中,每个业务都基于自己的需求选择当时最适合自己的引擎。现在得物内部同时使用阿里云上的Hologres、ADB、Clickhouse与ECS自建的开源Clickhouse与StarRocks 5种引擎产品,从业务使用成本和运维维护的角度长远看都是不利的。 2024年,我们开始向只保留1到2个引擎的方向努力。最近,我们把一套4000+核的业务,最复杂的Clickhouse集群迁移到了存算分离的自建StarRocks上,成本节约40%,查询耗时降低一半,单节点不可用导致的集群不可用耗时从15分钟减少到了30s。
得物App中嵌入了大量的前端Web页面用以承接各种灵活多变的业务场景和玩法,但因为众所周知的原因,Web应用的用户体验是很难与原生应用相比的。然而,随着搭建器功能的不断完善,支持的业务场景和组件也越来越多,越来越多的团队和部门优选使用搭建器搭建会场页面投放于得物App当中,这对搭建器的整体用户体验提出了更高的要求。 从我开始接触搭建器后,看到了很多搭建器项目为了用户体验优化所做的一些努力与优秀的解决方案,这些方案在各自的应用场景当中发挥了极其重要的作用。因此,抽时间以前端开发人员的视角梳理了现有的一些优秀方案,一则作为知识沉淀留档,方便之后查阅,二则也可以给后来者一些参考与借鉴。
在软件开发中,性能测试是不可或缺的一环。但是编写基准测试来正确衡量大型应用程序的一小部分的性能却又非常困难。当基准测试单独执行组件时,JVM或底层硬件可能会对您的组件应用许多优化。当组件作为大型应用程序的一部分运行时,这些优化可能无法应用。因此,实施不当的微基准测试可能会让您相信组件的性能比实际情况更好。编写正确的Java微基准测试通常需要防止JVM和硬件在微基准测试执行期间应用的优化,而这些优化在实际生产系统中是无法应用的。这就是JMH(Java 微基准测试工具)可以帮助您实现的功能。这篇文章我会全面给大家介绍下JMH的各个方面。