架构提效的矛盾和矛盾的主要方面

1 月 6 日
阅读 4 分钟
422
在软件开发领域,架构设计是确保系统高效、稳定运行的重要环节或者称之为重要动作。无论架构从简单到复杂,还是从复杂回归简洁的演变过程。在这个过程中,又无论是初创公司还是大型企业,架构提效始终是技术团队的核心追求。本文将从稳定、性能、代码三大维度出发,结合实战经验,探讨如何有效提升架构效能。

由 Mybatis 源码畅谈软件设计(九):“能用就行” 其实远远不够

1 月 3 日
阅读 8 分钟
531
到本节 Mybatis 源码中核心逻辑基本已经介绍完了,在这里我想借助 Mybatis 其他部分源码来介绍一些我认为在编程中能 最快提高编码质量的小方法,它们可能比较细碎,希望能对大家有所启发。

京东供应链创新与实践:应用数据驱动的库存选品和调拨算法提升履约效率

1 月 3 日
阅读 8 分钟
519
在电商行业中,供应链管理和履约效率对于确保客户满意度至关重要。京东在这一领域一贯表现出色,得益于完善的物流基础设施,超过90%的自营订单可在24小时内完成履约,这一快速交付承诺显著提升了客户满意度,并使京东在竞争中脱颖而出。

业务监控—一站式搭建jmeter+telegraf+influxdb+Grafana看板

1 月 3 日
阅读 4 分钟
474
当前所测试业务需求为集成在业务系统WMS的jar包,jar包测试主要集中在本地拉取开发编写的代码做单元测试,因为jar包没有单独的应用,每当大促压测或日常压测,架构师或开发同事问道:这个jar包的JVM指标如何?jar包的火焰图是什么样的? 对此,只能望洋兴叹。基于以上背景,对jar监控做了一些调研和实战。

记录一次SQL慢查询优化

1 月 2 日
阅读 4 分钟
469
在一次需求UAT上线后,本来在测试环境没问题的接口,UAT环境出现了接口超时,通过查询接口日志发现是SQL查询超时了,原因是UAT环境的数据量比测试环境大得多。

前端开发中依赖包有问题怎么办

1 月 2 日
阅读 2 分钟
518
检查问题来源:确认问题是否由依赖包引起,而不是你的代码或其他配置问题。 查看错误信息、文档和相关的 GitHub issue,可能已经有解决方案或临时解决办法。

幻兽帕鲁专用服务器搭建全攻略,速来抄作业!

1 月 2 日
阅读 11 分钟
580
各位宝可梦训练师们,哦不,各位《幻兽帕鲁》的驯兽师们!想必大家都沉浸在《幻兽帕鲁》那奇幻无比的开放世界中,忙着捕捉各种萌趣又强大的帕鲁,体验建造家园、探索未知的乐趣。不过,有没有遇到过和陌生人联机时沟通不畅,或是想按照自己的规则定制游戏玩法,却无从下手的情况呢?这时候,拥有一个属于自己的专用服务...

设计模式之代理模式:武器附魔之道

2024-12-31
阅读 11 分钟
459
大家好,今天我们聊聊设计模式中的代理模式。作为一种经典设计模式,它的应用极为广泛。不论你是刚刚入门,还是已经熟悉设计模式,相信这篇文章都会让你有所收获。

由 Mybatis 源码畅谈软件设计(五):ResultMap 的循环引用

2024-12-31
阅读 11 分钟
470
本节我们来了解 Mybatis 是如何处理 ResultMap 的循环引用,它的解决方案非常值得在软件设计中参考。另外作为引申,大家可以了解一下 Spring 是如何解决 Bean 的循环注入的。

由 Mybatis 源码畅谈软件设计(七):从根上理解 Mybatis 一级缓存

2024-12-31
阅读 8 分钟
395
DepartmentMapper.xml,两条 SQL:一条根据 ID 查询;一条清除缓存,标记了 fulshCache 标签,将其设置为 true 后,只要语句被调用,都会将本地缓存和二级缓存清空(默认值为 false)

京东供应链创新与实践:应用数据驱动的库存选品和调拨算法提升履约效率

2024-12-30
阅读 8 分钟
531
2024年10月,京东零售供应链技术团队凭借其在库存选品与调拨技术上的创新与实践,荣获运筹与管理学领域的国际顶级奖项Daniel H. Wagner Prize。本文为您介绍获奖背后的供应链技术创新和落地应用。

由 Mybatis 源码畅谈软件设计(四):动态 SQL 执行流程

2024-12-30
阅读 8 分钟
429
本节我们探究动态 SQL 的执行流程,由于在前一节我们已经对各个组件进行了详细介绍,所以本节不再赘述相关内容,在本节中主要强调静态 SQL 和动态 SQL 执行的不同之处。在这个过程中,SqlNode 相关实现值得关注,它为动态 SQL 标签都定义了专用实现类,遵循单一职责的原则,并且应用了 装饰器模式。最后,我们还会讨论动...

纯配时效服务-双Redis集群设计

2024-12-30
阅读 3 分钟
416
纯配时效服务作为物流下单环节中计算时效的重要组成部分,直接决定了下单的成功与否。其性能与稳定性至关重要,因为它们直接影响整个物流下单系统的运行效率及客户满意度。一个高效且稳定的纯配时效服务能够确保预计送达时间准确无误地展示给用户,从而提升客户体验和信任度。反之,若纯配时效服务出现故障或延迟,可能...

浅谈API错误码设计

2024-12-27
阅读 7 分钟
553
作者:京东物流 冯志文一、痛点你是否曾遇到过以下问题?1.API错误码形同虚设,无法提供有效帮助?2.API错误码文档晦涩难懂,别说其他团队,连团队内同事都看不明白?3.API错误码定义混乱,缺乏一致性?4.链路上的错误码信息无法正确传递?二、什么是错误码根据亚马逊官方文档的定义,错误码是通过对错误进行抽象,帮助...

工作中对InheritableThreadLocal使用的思考

2024-12-27
阅读 6 分钟
365
代码评审时,发现在线程池中使用InheritableThreadLocal上下文会使其中的线程变量失效,无法获取到预期的变量值,所以对问题进行了复盘和总结。

探讨篇(三):代码复用的智慧 - 提升架构的效率与可维护性

2024-12-27
阅读 4 分钟
536
在分布式架构中,代码复用是个难题。那么如何处理代码功能共享的问题呢?本文结合日常实践中的案例,介绍几种分布式架构中管理代码复用性的技术。包括代码复制、共享代码库(jar包)、共享服务、边车服务。对于每一种技术,列出优缺点、适合场景权衡。

「数据密集型应用系统设计」读后感与团队高并发高性能实践案例

2024-12-26
阅读 11 分钟
529
1.一致性(Consistency) :在多个节点上维护相同的数据副本,确保所有节点在任何给定时间点都能看到相同的数据状态。这是CAP理论中的C部分(一致性、可用性和分区容错性)。

SQL大宝剑-已燃尽所有SQL的理解

2024-12-26
阅读 8 分钟
444
从事数据开发将近四年,过程中有大量任务交接或阅读同事代码的场景。在这些场景中发现有些SQL读起来赏心悦目,可以一目了然地了解业务逻辑,一些复杂的业务需求实现方法也可以做到简洁优雅,同时在性能上也有良好表现。而有些SQL读起来非常艰难,时常要跨越几百行寻找WHERE条件或者关联字段,甚至充斥着大量相同的子查询...

营销场景中,如何让你的短信不被识别为垃圾短信

2024-12-26
阅读 3 分钟
474
摘要: 本调研旨在深入研究手机自动识别垃圾短信的逻辑,以便为营销短信不被误判为垃圾短信提供策略。通过分析垃圾短信的特征、现有识别技术和算法,结合用户接受度等因素,探讨如何优化营销短信的内容和发送方式,在合法合规的前提下提高其被用户看到的几率。

浅谈SQL优化小技巧

2024-12-25
阅读 5 分钟
531
作者:京东零售 王军回顾:MySQL的执行过程 回顾 MySQL的执行过程,帮助 介绍 如何进行sql优化。(1)客户端发送一条查询语句到服务器;(2)服务器先查询缓存,如果命中缓存,则立即返回存储在缓存中的数据;(3)未命中缓存后,MySQL通过关键字将SQL语句进行解析,并生成一颗对应的解析树,MySQL解析器将使用MySQL语法...

Flink State 状态原理解析

2024-12-25
阅读 4 分钟
400
State 用于记录 Flink 应用在运行过程中,算子的中间计算结果或者元数据信息。运行中的 Flink 应用如果需要上次计算结果进行处理的,则需要使用状态存储中间计算结果。如 Join、窗口聚合场景。

Kafka核心逻辑介绍

2024-12-25
阅读 5 分钟
545
Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统(kafka2.8.0版本之后接触了对zk的依赖,使用自己的kRaft做集群管理,新增内部主体@metadata存储元数据信息),它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于h...

反向 Debug 了解一下?揭秘 Java DEBUG 的基本原理

2024-12-24
阅读 7 分钟
529
好在IDE 们都很强大,还给你后悔的机会,可以直接删除某个 Stack Frame,直接返回到之前的状态,确切的说是返回到之前的某个 Stack Frame,从而实现让程序“逆向运行”。

【行云流水线】满足你对工作流编排的一切幻想~skr

2024-12-24
阅读 5 分钟
527
众所周知,DevOps流水线(DevOps pipeline)的本质是实现自动化工作流程,用于支持软件开发、测试和部署的连续集成、交付和部署(CI/CD)实践。它是DevOps方法论的核心组成部分,旨在加速软件交付、提高质量和实现持续改进。流水线的核心是流水线模型,是实现工作流编排,执行的重要基石,一个优秀的流水线模型可以覆盖...

cursor无敌了

2024-12-24
阅读 4 分钟
789
Cursor是一款基于人工智能的代码编辑器,创建了一个集成开发环境(IDE)。旨在帮助开发人员编写代码,并于AI进行实时互动,提供写代码建议、错误检测和自动补全功能。支持多种编程语言(如Python、JavaScript、Java等)

记录一次「OSS上传文件的前置处理机制」实例剖析

2024-12-23
阅读 3 分钟
394
在云计算环境中,对象存储服务(OSS)是一种提供存储和访问任意类型数据(如网站内容、企业备份数据、游戏、IoT 设备数据等)的服务,支持从任何地点、任何时间访问数据。在很多应用场景中,用户需要上传文件到 OSS,这可能包括图片、视频、文档等多种格式的文件。为了提高效率、保障安全和优化用户体验,实现文件上传的...

由 Mybatis 源码畅谈软件设计(一):序

2024-12-23
阅读 3 分钟
435
从接触软件开发以来,一直对写出优雅的代码抱有执念,工作半年时,偶然接触到《代码整洁之道》,爱不释手,一口气读完,并在很长的时间内践行其中的观点,但是在这践行期间缺少思考和复盘,更多的是一味地信奉和遵守其中的原则,写了不少当时自认为不错而现在回过头看可读性不好的“坏代码”。

由 Mybatis 源码畅谈软件设计(二):MappedStatement 和 SqlSource

2024-12-23
阅读 17 分钟
420
本节我们来介绍 org.apache.ibatis.mapping.MappedStatement(映射SQL语句声明的类),它是 MyBatis 框架中的一个核心类,也是向后不断学习 Mybatis 源码的基础。在这部分源码中,最值得关注的设计原则是“信息隐藏”,它是在《软件设计哲学》中提到的一个观点,简单来说就是将把外部类不需要了解的信息隐藏在类内部,遵循...

京东云与中兴新支点国产操作系统完成产品兼容性互认证

2024-12-20
阅读 1 分钟
465
经过严格的联合测试,京东云公有云平台、京东云云舰-混合云平台、京东云专有云平台(简称:JDStack) 与中兴新支点服务器操作系统V6完全兼容,功能、性能和兼容性等各方面表现良好,整体系统运行稳定、安全。

Promise规范与原理解析

2024-12-20
阅读 9 分钟
605
Promise对象用于清晰的处理异步任务的完成,返回最终的结果值,本次分享主要介绍Promise的基本属性以及Promise内部的基础实现,能够帮我们更明确使用场景、更快速定位问题。