设计模式详解之策略模式
策略模式是一种应用广泛的行为型模式,核心思想是对算法进行封装,委派给不同对象来管理,本文将着眼于策略模式进行分享。
图解Dubbo,Dubbo服务治理详解
今天,分享一下《图解Dubbo,Dubbo服务治理详解》。 当前,分布式服务在互联网行业中得到了广泛应用。然而,分布式服务不仅仅是将单个应用程序分割成不同的模块,还涉及到模块之间的相互合作和协作。
代码级质量技术之基本框架介绍
代码级质量技术:顾名思义为了服务质量更好,涉及到代码层面的相关技术,特别要指出的是,代码级质量技术不单纯指代码召回技术,如静态代码扫描、单元测试等。
直播互动开放技术探索之路
本文主要介绍直播技术团队在互动开放生态演进道路上的经验与思考。
BeanUtils.copyProperties的11个坑
我们日常开发中,经常涉及到DO、DTO、VO对象属性拷贝赋值,很容易想到org.springframework.beans.BeanUtils的copyProperties 。它会自动通过反射机制获取源对象和目标对象的属性,并将对应的属性值进行复制。可以减少手动编写属性复制代码的工作量,提高代码的可读性和维护性。 但是你知道嘛?使用BeanUtils的copyProperties ,会有好几个坑呢,今天田螺哥给大家盘点一下哈:
基于openfaas托管脚本的实践
在云服务架构发展之初,这个方向上的思路是使开发者不需要关心搭建和管理后端应用程序。这里并没有提及无服务器这个概念,而是指后端基础设施由第三方来托管,需要的基础架构组建均以服务的形式提供,比如数据库、消息队列和认证服务等。
设计模式详解之工厂模式
本文将着眼于工厂模式,从简单工厂模式、工厂方法模式和抽象工厂模式出发,展开学习和深入探讨。
DDD在前端应用中的一些思考
DDD旨在解决业务逻辑的复杂性,而业务逻辑大部分场景下不存在于前端。但在一些复杂的应用中,前端可能需要处理一些业务逻辑,此时DDD的一些思想和方法可能有助于组织前端代码,使其更易于理解和维护。
拥有自我意识的AI:AutoGPT | 得物技术
ChatGPT在当下已经风靡一时,作为自然语言处理模型的佼佼者,ChatGPT的优势在于其能够生成流畅、连贯的对话,同时还能够理解上下文并根据上下文进行回答。针对不同的应用场景可以进行快速定制,例如,在客服、教育、娱乐等领域中,ChatGPT可以作为智能助手为用户提供便捷的服务和娱乐体验。
单机 T 级流量转发吞吐提升 5 倍,可编程负载均衡网关 1.0 上线
负载均衡网关是云计算网络的一个关键基础设施,为云计算各应用业务提供高性能的转发功能。
分享一例有意思的灰度设计缺陷,浅谈灰度方案的设计
灰度很重要,灰度的策略也需要结合实际情况进行灵活的调整,本文跟大家分享了一个前些时间发现的灰度设计bug。
【Seata源码领读】揭秘 @GlobalTransactional 背后 RM 的黑盒操作之一阶段
Seata 从设计层面将事务参与者的角色分为 TC(事务协调器)、RM(资源管理器)、TM(事务管理器) ,传统的 XA 方案中, RM 是在数据库层,即依赖了 DB 的 XA 驱动能力,也会有典型的数据锁定和连接锁定的问题,为了规避 XA 带来的制约,Seata 将 RM 从 DB 层迁移出来,以中间件的形式放在应用层,完全剥离了分布式事务方案对数据库在协议支持上的要求。在 Seata 的 AT 模式中, RM 的能力是在数据源做了一层代理,Seata 在这层代理中干预业务 SQL 执行过程,加入分布式事务所需的逻辑,通过这种方式,Seata 真正做到了对业务代码无侵入,只需要通过简单的配置和声明,业务方就可享受 Seata 所带来的分布式事务能力;而且跟 XA 模式相比,当本地事务执行完可以立即释放本地事务锁定的资源,性能更好。
分布式系统设计中的并发访问解决方案 | 得物技术
随着互联网信息技术的飞速发展,数据量不断增大,业务逻辑也日趋复杂,对系统的高并发访问、海量数据处理的场景也越来越多。如何用较低成本实现系统的高可用、易伸缩、可扩展等目标就显得越发重要。
领域驱动设计问题域分析-以bilibili OGV业务为例
领域驱动设计作为一种设计思维方式从被提出到现在,社区也不断丰富了领域事件,事件溯源,CQRS等设计元模型。随着个人对领域驱动设计的理解不断深入,结合自身在项目中的实践经验,以目前bilibili OGV的业务为例通过领域驱动设计的分析设计建模方法,试图说明领域驱动设计的统一过程和思考方式,本篇文章只包含问题域分析,没有提及架构,设计模型和编码层面的内容。文章通过对价值需求分析方法,获取问题领域相关利益者,在相关利益者的基础上通过分析业务需求的业务流程和业务场景,在业务需求分析结果的业务流程图和业务用例图基础上,通过领域识别和划分得出领域划分结果领域映射图让问题领域变的清晰。
思考:如何写出让同事难以维护的代码?doge
本文从【程序命名&注释】【数据类型&类&对象】【控制执行流程】和【程序/结构设计】四个方面梳理了一些真实案例,相信通过这些案例你能迅速get技能:如何写出让同事难以维护的代码doge。
心心念念的优化完成了,虽然不是很完美
核心模块有个功能点,一直以来想着将其优化掉(虽然在线上稳定运行了这么多年),要么没时间,要么懒的搞,一拖再拖。期间也想了各种方案,无奈不是很完美,恰好吴老师进群了,随向有着20多年经验的吴老师进行了请教,也跟A总,E总等进行了讨论,慢慢的也有了优化思路,于是用了大概一天的时间,基于这几个大佬的方案,进行了优化。
提效新纪元-组件化开发在转转App中的应用-后端篇
组件化开发是一种利用可重用的软件构件来设计和开发计算机系统的过程。借助组件化开发可以实现最小化、高效交付。 平台基础体验部将业务逻辑抽象为组件,通过组合组件快速构建商品Feed流,研发效率整体提升2倍。组件化开发不仅带来效率的提升,同时极大地增加了代码复用性、降低了系统的复杂性等等。本文将详细介绍组件化开发的落地过程,为大家揭晓转转App快速迭代的奥秘。
一种KV存储的GC优化实践
从内部需求出发,我们基于TiKV设计了一款兼容Redis的KV存储。基于TiKV的数据存储机制,对于窗口数据的处理以及过期数据的GC问题却成为一个难题。本文希望基于从KV存储的设计开始讲解,到GC设计的逐层优化的过程,从问题的存在到不同层面的分析,可以给读者在类似的优化实践中提供一种参考思路。
初识滴滴交易策略之一:交易市场
滴滴作为一家共享出行公司,利用信息技术构建了实时的、智能的在线交易市场,在这个庞大运转的市场之中,滴滴秉承着用户价值至上的宗旨,不断通过技术提升来实现更高效的运转效率和更贴心的用户体验。
用VSCode基于Bazel打造Apple生态开发环境
提供B站相关技术的介绍和讲解最近AIGC的爆发引发了非常多行业的恐慌也包括程序员群体。如何掌握工具例如Copilot等是下一个时代最重要的能力。但是在当前苹果封闭的生态下,对于先进的生产力的渴望也是促使这篇文章诞生的原因。