张建飞是阿里巴巴高级技术专家,一直在致力于应用架构和代码复杂度的治理。最近,他在看零售通商品域的代码。面对零售通如此复杂的业务场景,如何在架构和代码层面进行应对,是一个新课题。结合实际的业务场景,他沉淀了一套“如何写复杂业务代码”的方法论,在此分享给大家,相信同样的方法论可以复制到大部分复杂业务场景。 — 1 —一个复杂业务的处理过程 业务背景简单的介绍下业务背景,零售通是给线下小店供货的B2B模式,我们希望通过数字化重构传统供应链渠道,提升供应链效率,为新零售助力。阿里在中间是一个平台角色,提供的是Bsbc中的service的功能。 商品力是零售通的核心所在,一个商品在零售通的生命周期如下
作者|InfoqTina背景12月9日,在2021年KubeCon云原生技术峰会上,CNCF开源项目KubeVela宣布推出了1.2版本。KubeVela是一个简单易用且高度可扩展的应用交付和管理平台,基于Kubernetes与OAM技术构建。其核心功能是让开发人员方便快捷地在Kubernetes上定义与交付现代微服务应用,而无需了解任何Kubernetes本身相关的细节。KubeVela于2020年11月开源,2021年4月发布1.0版本。2021年7月,KubeVela和OAM项目整体捐赠给CNCF基金会托管。在1.2版本中,KubeVela新增了以应用为中心的控制面板UI功能,使应用组装
作者|InfoqTina背景12月9日,在2021年KubeCon云原生技术峰会上,CNCF开源项目KubeVela宣布推出了1.2版本。KubeVela是一个简单易用且高度可扩展的应用交付和管理平台,基于Kubernetes与OAM技术构建。其核心功能是让开发人员方便快捷地在Kubernetes上定义与交付现代微服务应用,而无需了解任何Kubernetes本身相关的细节。KubeVela于2020年11月开源,2021年4月发布1.0版本。2021年7月,KubeVela和OAM项目整体捐赠给CNCF基金会托管。在1.2版本中,KubeVela新增了以应用为中心的控制面板UI功能,使应用组装
概述本篇博客主要将介绍的是利用springquerydsl框架实现的服务端查询解析和实现介绍。查询功能是在各种应用程序里面都有应用,且非常重要的功能。用户直接使用的查询功能往往是在我们做好的UI界面上进行查询,UI会将查询请求发给查询实现的服务器,或者专门负责实现查询的一个组件。市场上有专门做查询的框架,其中比较出名,应用也比较广泛的是elasticsearch。定义查询请求对于服务端来说,前端UI发送过来的查询请求必然是按一定规则组织起来的,这样的规则后端必须能够支持和解析。换一种说法就是服务调用者和服务发布者之间需要遵循同一个规范才可以。百度的UI查询是这样定义的:在上图中加了蓝色下划线的
概述本篇博客主要将介绍的是利用springquerydsl框架实现的服务端查询解析和实现介绍。查询功能是在各种应用程序里面都有应用,且非常重要的功能。用户直接使用的查询功能往往是在我们做好的UI界面上进行查询,UI会将查询请求发给查询实现的服务器,或者专门负责实现查询的一个组件。市场上有专门做查询的框架,其中比较出名,应用也比较广泛的是elasticsearch。定义查询请求对于服务端来说,前端UI发送过来的查询请求必然是按一定规则组织起来的,这样的规则后端必须能够支持和解析。换一种说法就是服务调用者和服务发布者之间需要遵循同一个规范才可以。百度的UI查询是这样定义的:在上图中加了蓝色下划线的
作者:京东物流崔旭我们都知道,数据结构和算法本身解决的是“快”和“省”的问题,即如何让代码运行得更快,如何让代码更省存储空间。所以,执行效率是算法一个非常重要的考量指标。那如何来衡量你编写的算法代码的执行效率呢?这里就要用到我们今天要讲的内容:时间、空间复杂度分析。1为什么需要复杂度分析?你可能会有些疑惑,我把代码跑一遍,通过统计、监控,就能得到算法执行的时间和占用的内存大小。为什么还要做时间、空间复杂度分析呢?这种分析方法能比实实在在跑一遍得到的数据更准确吗?首先可以肯定地说,这种评估算法执行效率的方法是正确的。很多数据结构和算法书籍还给这种方法起了一个名字,叫事后统计法。但是,这种统计方法
作者:京东物流崔旭我们都知道,数据结构和算法本身解决的是“快”和“省”的问题,即如何让代码运行得更快,如何让代码更省存储空间。所以,执行效率是算法一个非常重要的考量指标。那如何来衡量你编写的算法代码的执行效率呢?这里就要用到我们今天要讲的内容:时间、空间复杂度分析。1为什么需要复杂度分析?你可能会有些疑惑,我把代码跑一遍,通过统计、监控,就能得到算法执行的时间和占用的内存大小。为什么还要做时间、空间复杂度分析呢?这种分析方法能比实实在在跑一遍得到的数据更准确吗?首先可以肯定地说,这种评估算法执行效率的方法是正确的。很多数据结构和算法书籍还给这种方法起了一个名字,叫事后统计法。但是,这种统计方法
得开发者得天下!无论是企业的数字化转型,还是各种应用创新,其背后最终都是开发者所编写的一行行代码。对于数据库软件也是如此。一项名为“在你的组织内部到底是谁在选择Database”的调查中显示,企业中的架构师、开发者、DBA作为数据库软件的真正用户,日常工作时间中的41%是来完成基础设施的维护,比如买服务器、部署服务器、运维等等,而不是把大量时间用于开发应用。如果可以提升开发者的生产力,那么业务创新、应用创新的速度是否也会相应地加快呢?在近日举行的PingCAPDevCon2022大会上,PingCAP联合创始人兼CTO黄东旭提出“技术无感化”的概念,核心就是通过更高层次的抽象,降低软件的复杂性
得开发者得天下!无论是企业的数字化转型,还是各种应用创新,其背后最终都是开发者所编写的一行行代码。对于数据库软件也是如此。一项名为“在你的组织内部到底是谁在选择Database”的调查中显示,企业中的架构师、开发者、DBA作为数据库软件的真正用户,日常工作时间中的41%是来完成基础设施的维护,比如买服务器、部署服务器、运维等等,而不是把大量时间用于开发应用。如果可以提升开发者的生产力,那么业务创新、应用创新的速度是否也会相应地加快呢?在近日举行的PingCAPDevCon2022大会上,PingCAP联合创始人兼CTO黄东旭提出“技术无感化”的概念,核心就是通过更高层次的抽象,降低软件的复杂性
作者|Kenny,携程高级前端开发工程师。2021年加入携程,从事小程序/H5相关研发工作。一、背景随着项目的不断迭代,规模日益增大,而基于Taro3的运行时弊端也日渐凸显,尤其在复杂列表页面上表现欠佳,极度影响用户体验。本文将以复杂列表的性能优化为主旨,尝试建立检测指标,了解性能瓶颈,通过预加载、缓存、优化组件层级、优化数据结构等多种方式,实验后提供一些技术方案的建议,希望可以给大家带来一些思路。二、问题现状及分析我们以酒店某一多功能列表为例(下图),设定检测标准(setData次数及该setData的响应时效作为指标),检测情况如下:指标setData次数渲染耗时(ms)第一次进入列表页7