Photo by Clément Hélardot on Unsplash 照片由Clément Hélardot在Unsplash上拍摄 1. Manually throw other exceptions 手动抛出其他异常 @Service public class DemoServiceImpl implements DemoService { @Autowired […]
Photo by Clément Hélardot on Unsplash 照片由Clément Hélardot在Unsplash上拍摄 1. Manually throw other exceptions 手动抛出其他异常 @Service public class DemoServiceImpl implements DemoService { @Autowired […]
One day I watched a YouTube video about a software engineer who worked in FAANG and mentioned how most of his days consisted of meetings, bug fixes, and hardly writing any new code. 有一天,我在 […]
一、基础理论 PART1.1 CAP理论 一致性(Consistency) :在分布式系统中所有的数据备份,在同一时刻都保持一致状态,如无法保证状态一致,直接返回错误。 可用性(Availability):在集群中一部分节点故障,也能保证客户端访问系统并得到正确响应,允许一定时间内数据状态不一致。 分区容错性(Partition tolerance):分 […]
导读 本文将对测试驱动开发(TDD)进行探讨,主要阐述了TDD基本概念理解、TDD常见误区、TDD技术选型等,并提供了贫血模型三层架构和DDD下的TDD实战案例。 01 前言 领域驱动设计,测试驱动开发。 《手把手教你落地DDD》一文中介绍了领域驱动设计(DDD)的落地实战,本文将对测试驱动开发(TDD)进行探讨,主要内容有:TDD基本理解、TDD常见误区、T […]
导读 本文将从日常的三层架构出发,精炼推导出自己的应用架构,并且将这个应用架构实现为Maven Archetype,最后使用Archetype创建一个简单的CMS项目作为本文的落地案例。 01 前言 在今年的敏捷团队建设中,我通过Suite执行器实现了一键自动化单元测试。Juint除了Suite执行器还有哪些执行器呢?由此我的Runner探索之旅开始了! 常见 […]
作者抽丝剥茧的记录了一次访问Redis延时高问题的排查和总结。 背景 20230308 在某地域进行了线上压测, 发现接口RT频繁超时, 性能下降严重, P50 400ms+, P90 1200ms+, P99 2000ms+。 细致排查发现其中重要的原因是,访问缓存rt竟然飙到了1.2s左右。 作为高性能爱好者, 榨干CPU的每一分价值是我们的宗旨, 是可忍孰不可忍, 怎 […]
我们在进行软件开发时要想实现可维护、可扩展,就需要尽量复用代码,并且降低代码的耦合度。设计模式就是一种可以提高代码可复用性、可维护性、可扩展性以及可读性的解决方案。大家熟知的23种设计模式,可以分为创建型模式、结构型模式和行为型模式三大类。本专题着眼于实际开发过程中常用的几种设计模式,从理论和实战两个角度进行讨论和分享,力求逻辑清晰、表述简洁,帮助大家在项目中合理运用设计模 […]
我们在进行软件开发时要想实现可维护、可扩展,就需要尽量复用代码,并且降低代码的耦合度。设计模式就是一种可以提高代码可复用性、可维护性、可扩展性以及可读性的解决方案。大家熟知的23种设计模式,可以分为创建型模式、结构型模式和行为型模式三大类。本专题着眼于实际开发过程中常用的几种设计模式,从理论和实战两个角度进行讨论和分享,力求逻辑清晰、表述简洁,帮助大家在项目中合理运用设计模 […]
推荐语:本文从装饰者模式的核心思想到与其他设计模式的横向对比,从代码示例到业务实战,向读者娓娓呈现装饰者模式的真貌。深入浅出的JDK源码透析,使用场景的利弊权衡,真的值得一阅! ——大淘宝技术开发工程师 玄苏 装饰者模式的核心思想是通过创建一个装饰对象(即装饰者),动态扩展目标对象的功能,并且不会改变目标对象的结构,提供了一种比继承更灵活的替代方案。 本文为此系 […]
策略模式是一种应用广泛的行为型模式,本文将着眼于策略模式进行学习分享。 本文为此系列第二篇。 第一篇:浅析设计模式1——工厂模式 概述 我们在进行软件开发时要想实现可维护、可扩展,就需要尽量复用代码,并且降低代码的耦合度,而设计模式就是一种可以提高代码可复用性、可维护性、可扩展性以及可读性的解决方案。 大家熟知的23种设计模式,可以分为创建型模式、结构型模式和行为型模式三大 […]
本文将着眼于工厂模式,从简单工厂模式、工厂方法模式和抽象工厂模式出发,展开学习和深入探讨。 本文为此系列第一篇。 概述 我们在进行软件开发时要想实现可维护、可扩展,就需要尽量复用代码,并且降低代码的耦合度,而设计模式就是一种可以提高代码可复用性、可维护性、可扩展性以及可读性的解决方案。 大家熟知的23种设计模式,可以分为创建型模式、结构型模式和行为型模式三大类。其中,创建型 […]
一、前言 随着美团外卖业务的不断迭代与发展,外卖用户数量也在高速地增长。在这个过程中,外卖营销发挥了“中流砥柱”的作用,因为用户的快速增长离不开高效的营销策略。而由于市场环境和业务环境的多变,营销策略往往是复杂多变的,营销技术团队作为营销业务的支持部门,就需要快速高效地响应营销策略变更带来的需求变动。因此,设计并实现易于扩展和维护的营销系统,是美团外卖营销技术团队不懈追求的 […]
Hello there! Have you ever considered how Elasticsearch knows where to store your documents? And how does it know where to look for them, as well as whether to retrieve, update, or delete […]
过去几年,通天塔一直处于快速的业务能力建设和架构完善的阶段,以应对不断增长的业务需求和容量、高可用等技术需求,现在通天塔平台已经能满足集团主站的大部分活动、频道搭建和运营能力,主流程的新需求越来越少,个性化需求和非标准化流程的数据源和服务接入的需求越来越多,有些甚至是京东零售体系外的,同时通天塔技术和产品也在积极主动寻求变化和创新,这些因素结合在一起驱动通天塔 […]
前言 至少30年以前,一些软件设计人员就已经意识到领域建模和设计的重要性,并形成一种思潮,Eric Evans将其定义为领域驱动设计(Domain-Driven Design,简称DDD)。在互联网开发“小步快跑,迭代试错”的大环境下,DDD似乎是一种比较“古老而缓慢”的思想。 然而,由于互联网公司也逐渐深入实体经济,业务日益复杂,我们在开发中也越来越多地遇到传统行业软件开 […]
COPYRIGHT © 2014-2023 verysu.com . ALL RIGHTS RESERVED.
Theme Kratos Made By Seaton Jiang