Tech 导读 领域驱动设计(Domain-Driven Design,简称DDD)是一种软件开发方法论,旨在帮助开发人员更好地理解和解决复杂领域的问题。在DDD中,聚合根和领域事件是两个核心概念,它们在设计和实现领域模型时起到了重要的作用。本文将通过简单的举例方式,深入浅出地介绍聚合根和领域事件,帮助读者更好地理解DDD的核心思想和实践方法。希望本文能够为读者提供有价值的 […]
Tech 导读 领域驱动设计(Domain-Driven Design,简称DDD)是一种软件开发方法论,旨在帮助开发人员更好地理解和解决复杂领域的问题。在DDD中,聚合根和领域事件是两个核心概念,它们在设计和实现领域模型时起到了重要的作用。本文将通过简单的举例方式,深入浅出地介绍聚合根和领域事件,帮助读者更好地理解DDD的核心思想和实践方法。希望本文能够为读者提供有价值的 […]
本期聊聊大多数架构师都会涉及的一个问题:对于一个新的系统,该选择自增 ID 还是 UUID? 我们常常会被这两种 ID 困惑,其实在和架构师交流过程中还有一些其他概念,例如数据库 ID、代理键等词汇。 我们从澄清相关概念开始本篇。 分类法和概念澄清 关于 ID 生成,我把常见的 ID 分为如下几类: 根据业务用途:数据库 ID(相当于小名)、业务编码(相当于大名)。 根据实 […]
一次端口告警,发现 java 进程被异常杀掉,而根因竟然是因为在问题机器上 vim 查看了 nginx 日志。下面我将从时间维度详细回顾这次排查,希望读者在遇到相似问题时有些许启发。 时间线 15:19 收到端口异常 odin 告警。 状态:P1故障 名称:应用端口8989 指标:data-stream-openapi.port.8989 主机:data-stream-op […]
向读者们道歉,由于工作太忙,又对文章质量有追求,所以这篇文章产出速度较慢,但可以向大家保证:文章中的内容都经过了反复实践和踩坑。。在过去一年里我们团队做了大量的老系统重构和迁移,其中有大量的代码属于流水账代码,通常能看到是开发在对外的API接口里直接写业务逻辑代码,或者在一个服务里大量的堆接口,导致业务逻辑实际无法收敛,接口复用性比较差。所以这讲主要想系统性的解释一下如何通过DDD的重构,将原有的流水账代码改造为逻辑清晰、职责分明的模块。
一.Agent发展将会是LLM的下半场 目前大家都在讨论LLM,LLM解决的问题是帮助机器像人类一样理解彼此的意图,本质上来讲,LLM更像是一个技术或者工具。但是人类社会发生变革的引线,往往是一个产品或者解决方案,比如电池技术的发展带来了长续航,但是真正改变大家生活的是电动车这样一个产品。Agent的概念是创造一个个场景的智能体,可以在某些领域,比如在社会 […]
一、背景 在京东到家购物车系统中,用户基于门店能够对商品进行加车操作。用户与门店商品使用Redis的Hash类型存储,如下代码块所示。不知细心的你有没有发现,如果单门店加车商品过多,或者门店过多时,此Key就会越来越大,从而影响线上业务。 userPin:{ storeId:{门店下加车的所有商品基本信息}, storeId:{门店下加车的所有商品基本信息}, ... […]
当一个应用系统演变的非常大时,配置会变得非常混乱。 有一些业务配置在数据库的配置表中,有一些又在配置中心,其它一些可能又在前端。 如何管理这些配置呢?我把项目上的一次技术例会整理出来如下。 首先配置管理需要考虑的一些问题和原则有: 安全:配置可靠,不容易丢失配置导致不同环境逻辑出现差异,进而造成线上事故。 透明:方便查找,当业务人员需要调查逻辑问题时,能快速找出配置。 成本 […]
一、背景 大促已经如期而至,接下来我会从技术的角度,跟大家聊聊大促备战的底层逻辑和实战方案,希望能够解答大家心中的一些疑惑。 首先,大促为什么如此重要呢?先从数据的角度简单做一下分析,以下表格罗列了我们历年大促GMV成绩单: 年份 618销售额(亿元) 年销售额(亿元) 618销售额占比 2022 3793 33155 11.4% 2021 3 […]
Tech 导读 随着LLM的技术发展,其在业务上的应用越来越关键,通过LangChain大大降低了LLM应用开发的门槛。本文通过介绍LangChain是什么,LangChain的核心组件以及LangChain在实际场景下的使用方式,希望帮助大家能快速上手LLM应用的开发。 01 LangChain是什么 在今年的敏捷团队建设中,我通过Suite执行器实现了一键自动化单元测 […]
👉导读 OpenAI 发布会带来了全新的开发方式——Assistants API,这背后基于的正是你可能闻所未闻的 AI Agent 智能体技术。本篇文章将为你全面解析 AI Agent 的概念、技术框架与应用场景。长文干货,先码再看! 👉目录 1 引言 2 什么是 Agent 3 智能体技术框架 4 智能体应用场景 5 总结 01 引言 北京时间 11 月 7 日凌晨,O […]
该文档记录云交易开发小伙伴儿们在开发过程中的实际应用案例,记录典型案例,以解决开发过程中的实际问题为主,涵盖设计方案、编码、测试、集成、部署等等。 Prompt提问万能公式 一、基于ChatGPT进行资源排期 1、首先进行拆分,分为周一到周五和周六周日 2、引导chatGPT进行排班 二、让ChatGPT帮忙看下正则表达式的含义 在看代码的过程中,发现有个地方使用了正则表达 […]
在项目上我们经常会遇到一些导入导出的场景,常见的有 Excel 的导入导出,以及 PDF 的导出。 这一期的技术方案总结一下相关的技术方案和实现。 Excel 的导出和导入 我们先放开脑洞枚举一下有哪些导入导出的方案。 Excel 的导出方案有: 前端导出,直接在前端导出所有的数据,甚至后端可以复用分页的查询数据接口。 由具体的领域微服务实现同步导出。 由 BFF 通过领域 […]
单元测试推广的难题 前几天被一些朋友问到怎么提高测试覆盖率,并同时有人表示在国内推广单元测试几乎不可能。 诚然在国内的项目中,推广单元测试非常困难。 其实这里面有一个误区,如果单元测试不能起到助力开发团队作用,而是一种政治任务,那么很难推广。 我所在的海外和国内的项目都还保持不错的测试覆盖率,所以我是这样回复这个问题的: 提高测试覆盖率需要设计足够好的测试策略,让单元测试或 […]
前言 本文是京东交易链路众多核心应用GC优化经验的总结,旨在简明扼要说明各种回收器的基本调优设置,为各应用GC配置提供指引。 一、JDK版本 以下所有优化全部基于JDK8版本,强烈建议低版本升级到JDK8,并尽可能使用update_191以后版本。 二、如何选择垃圾回收器 响应优先应用:面向C端对响应时间敏感的应用,堆内存8G以上建议选择G1,堆内存较小或低版本JDK选择C […]
问题分析 在应用项目中,我们总会遇到很多字典项的数据,比如类型、状态等。这些数据一般是有限个可选值,在前端可能作为 Select 控件存在,用于录入、搜索等场景。 这类数据的一般作为配置存在,怎么设计才能让前后端维护方式最低呢? 我们在团队上做了很多讨论,结合过完项目的经验把潜在方案整理如下。 方案枚举 假定我们经过简单的头脑风暴,可以枚举出下面的方案,再来分析其优缺点: […]
618 (1) Agent (2) chatglm (1) checkout (1) commit (2) Disruptor (1) Excel (1) FGC (3) G1 (1) G1GC (2) git (2) GLM (1) LangChain (1) LLM (3) OpenAI (2) ParNew (3) pull (1) push (1) solid (1) UUID (1) Vim (1) ygc (1) 业务编号 (1) 事务隔离级别 (1) 依赖注入原则 (1) 分布式ID (1) 分支 (1) 单一职责原则 (1) 大模型 (2) 大语言模型 (1) 开闭原则 (1) 微博 (1) 微服务 (1) 接口隔离原则 (1) 数据字典 (1) 数据导入 (1) 数据导出 (1) 方案设计 (7) 权限 (1) 架构师 (1) 死锁 (1) 测试策略 (1) 滴滴 (1) 版本控制 (2) 订单号 (1) 认证 (1) 配置 (1) 里氏替换原则 (1) 鉴权 (1) 降级 (1)
COPYRIGHT © 2014-2023 verysu.com . ALL RIGHTS RESERVED.
Theme Kratos Made By Seaton Jiang