
技术分享
京东云开发者
京东云开发者(Developer of JD Technology)为AI、云计算、IoT等相关领域开发者提供技术分享交流。平台将发布京东产品技术信息、行业技术内容、技术活动及大赛等资讯。拥抱技术,与开发者携手预见未来!
展开
-
精准测试之覆盖
面对复杂的业务系统,经验已经把业务功能、逻辑关系等相关知识点深深的印在当事人的脑子里,而要沉淀、展示于旁人,这就是一个让人很头疼的问题,就像告诉一个人从哪里到哪里一样,讲的人清楚,但听得人却有些一头雾水,此时如果有个地图就一目了然了。测试时担心之一就是无止境的、没有范围的,比如代码的改动或调整一个需求,需要全量回归测试,影响范围不清楚,某个功能或功能点是否需要测试,测试的程度如何不清楚等等的问题。通过平台获取到的数据,不仅可以做功能、代码层面的覆盖,系统架构也可完成可视化的呈现,原创 2023-01-10 14:56:50 · 33 阅读 · 0 评论 -
Spring竟然可以创建“重复”名称的bean?—一次项目中存在多个bean名称重复问题的排查
众所周知,在Spring中时不能够创建两个名称相同的bean的,否则会在启动时报错:但是我却在我们的spring项目中发现了两个相同名称的`bean`,并且项目也可以正常启动,对应的bean也可以正常使用。原创 2023-03-28 10:53:40 · 4 阅读 · 0 评论 -
联邦学习开源框架FATE架构
fate资料存在着多处版本功能与发布的文档不匹配的情况,各个模块都有独立的文档,功能又有关联,坑比较多,首先要理清楚各概念、模块之间的关系。原创 2023-03-16 10:30:21 · 70 阅读 · 0 评论 -
拥抱下一代前端工具链-Vue老项目迁移Vite探索
随着项目的不断维护,代码越来越多,项目越来越大,决定将老项目迁移至vite。本文介绍了Vue老项目像Vite迁移的过程、遇到的问题以及经验总结。原创 2023-02-28 10:49:17 · 33 阅读 · 0 评论 -
高并发场景下常见的限流算法及方案介绍
现代互联网很多业务场景,比如秒杀、下单、查询商品详情,最大特点就是高并发,而往往我们的系统不能承受这么大的流量,这时候限流熔断就发挥作用了,限制请求数,快速失败,保证系统满负载又不超限。本文为大家介绍几种常见的限流算法及方案原创 2023-02-28 10:47:30 · 36 阅读 · 0 评论 -
测试角色在项目各阶段的项目管理tips
本文旨在梳理、谈论测试角色在项目各阶段如何评估测试范围及风险、前置暴露问题以及推进测试进度等项目管理事项,高效协作及交付测试角色产物,最终与项目各方共同推进达到高质量、高效率交付的目标。原创 2023-02-24 11:40:28 · 36 阅读 · 0 评论 -
单元测试利器——手把手教你使用Mockito
从你成为开发人员的那一天起,写单元测试终究是你逃不开的宿命!那开发人员为什么不喜欢写单元测试呢?究其原因,无外乎是依赖。依赖其他的服务、依赖运行的环境、等等,各种依赖都成为了我们写单元测试的绊脚石。那现在有个单元测试利器可以帮我们解决依赖的问题,你愿意使用一下吗?你愿意!那就是我们要学习的Mockito原创 2023-02-22 11:54:40 · 67 阅读 · 0 评论 -
风险洞察之事件总线的探索与演进
事件总线,或称其为数据管道,作为整个风险洞察数据流转的重要一环,它承担着风险实时数据统一标准化的重要职责。在面对复杂多样的上游数据,事件总线可以将复杂数据进行解析、转换, 富化、分发等操作。原创 2023-02-22 11:24:52 · 46 阅读 · 0 评论 -
微服务拆分治理最佳实践
随着业务快速发展,各种问题越来越明显,急需对系统进行微服务改造优化。经过思考,整体改造将分为三个阶段进行:数据库拆分、应用拆分、数据访问权限收口。原创 2023-02-22 10:55:18 · 76 阅读 · 0 评论 -
搜索EE场景排序链路升级
EE模块是搜索系统中改善生态、探索商品的重要链路,其目标是缓解数据马太效应导致模型对商品排序丰富性、探索性不足,带来的系统非最优解问题。以下分别从模型迭代、在线实验指标、离线评估体系介绍相应模块的优化。原创 2023-02-22 10:07:02 · 42 阅读 · 0 评论 -
实践篇(三):如何有效评审软件架构图?
设计意图的传达是架构可视化关注的重要维度,在技术方案评审过程中不可避免的会出现各种各样的架构图或设计图,这些图形化表述在设计意图传达效果层面表现不一,本文从图形化的视角为软件架构图的评审关注点提供了参考。原创 2023-02-21 11:11:22 · 67 阅读 · 0 评论 -
Hadoop 及Spark 分布式HA运行环境搭建
本文旨在站在研发的角度上通过手动实践搭建运行环境,文中不拖泥带水过多讲述基础知识,结合Hadoop和Spark最新版本,帮助大家跟着步骤一步步实践环境搭建。原创 2023-02-21 10:41:10 · 50 阅读 · 0 评论 -
Java 集合中的排序算法浅析
排序是一个Java开发者,在日常开发过程中随处可见的开发内容,Java中有丰富的API可以调用使用。本文主要探讨java中排序方法所使用的算法,以及那些是值得我们学习和借鉴的内容。文中如有理解和介绍的错误,一起学习,一起探讨,一起进步。原创 2023-02-20 11:08:53 · 42 阅读 · 0 评论 -
文盘Rust -- 本地库引发的依赖冲突
clickhouse 的原生 rust 客户端目前比较好的有两个clickhouse-rs和clickhouse.rs。两个库在单独使用时没有任何问题,但是,在同一工程同时引用时会报错。本篇内容主要讲解如何用rust语言解决本地库引发的依赖冲突问题原创 2023-02-20 10:10:46 · 33 阅读 · 0 评论 -
国际财务系统基于ShardingSphere的数据分片和一主多从实践
传统的将数据集中存储至单一数据节点的解决方案,在性能和可用性方面已经难于满足海量数据的场景,系统最大的瓶颈在于单个节点读写性能,许多的资源受到单机的限制,例如连接数、网络IO、磁盘IO等,从而导致它的并发能力不高,对于高并发的要求不满足。原创 2023-02-16 11:22:13 · 81 阅读 · 0 评论 -
一文读懂Guava EventBus(订阅\发布事件)
最近项目出现同一消息发送多次的现象,对下游业务方造成困扰,经过排查发现使用EventBus方式不正确。也借此机会学习了下EventBus并进行分享。原创 2023-02-15 15:49:56 · 97 阅读 · 0 评论 -
Redis分布式锁正确打开方式
JUC提供的锁机制,可以保证在同一个JVM进程中同一时刻只有一个线程执行操作逻辑;多服务多节点的情况下,就意味着有多个JVM进程,要做到这样,就需要有一个中间人;分布式锁就是用来保证在同一时刻,仅有一个JVM进程中的一个线程在执行操作逻辑;换句话说,JUC的锁和分布式锁都是一种保护系统资源的措施。尽可能将并发带来的不确定性转换为同步的确定性;原创 2023-02-14 11:13:12 · 53 阅读 · 0 评论 -
深度学习调参小册
谷歌大脑的五位深度学习大佬在 “Chinese New Year” 期间合作推出了《深度学习调参手册》,来为各位深度学习爱好者恭贺新年(我猜的),一时间好评如潮,获星过万,看来大家都是苦调参久已。难道依靠经验的调参变得“可解释”了?显然不是,而是大佬们分享自己的调参经验,内容还是挺多的,下面咱们去粗取精,希望能够获得飞升。原创 2023-02-14 10:24:19 · 29 阅读 · 0 评论 -
记录一次还算优雅的代码设计
本文重点分享商卡聚合服务的代码设计,包括合理的Sirector线程调度(cpu使用率低),和可维护性的设计。 简版代码示例如下: git@github.com:changwenbiao/demosoa.git原创 2023-02-09 11:44:26 · 38 阅读 · 0 评论 -
码农如何提高自己的品味
你是不是以为我今天要教你穿搭?不不不,这依然是一篇技术文章,想学穿搭女士学陈舒婷(《狂飙》中的大嫂),男士找陈舒婷那样的女朋友就好了。笔者今天教你怎样有“品味”的写代码。原创 2023-02-08 10:53:55 · 40 阅读 · 0 评论 -
文盘Rust -- rust 连接云上数仓 starwift
最近想看看 rust 如何集成 clickhouse,又犯了好吃懒做的心理(不想自己建环境),刚好京东云发布了兼容ck 的云原生数仓 Starwfit,于是搞了个实例折腾一番。原创 2023-02-07 11:05:18 · 46 阅读 · 0 评论 -
Backbone前端框架解读
在前端的发展道路中,前端框架元老之一jQuery对繁琐的DOM操作进行了封装,提供了链式调用、各类选择器,屏蔽了不同浏览器写法的差异性,但是前端开发过程中依然存在作用域污染、代码复用度低、冗余度高、数据和事件绑定烦琐等痛点。原创 2023-02-07 09:28:12 · 38 阅读 · 0 评论 -
从历代GC算法角度刨析ZGC
本文先介绍了垃圾回收的必要手段,基于这些手段讲解了历代垃圾回收算法是如何工作的,每一种算法不会讲的特别详细,只为读者从算法角度理解工作原理,从而引出ZGC,方便读者循序渐进地了解。原创 2023-02-06 10:47:10 · 180 阅读 · 0 评论 -
【数据结构与算法】Trie树简介及应用
Trie树,即字典树,又称单词查找树或键树,是一种树形结构,典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。原创 2023-01-30 11:16:59 · 193 阅读 · 0 评论 -
认知篇:CQRS 架构模式的本质
CQRS只是一种非常简单的模式(pattern),CQRS本身并不是一种架构风格,和最终一致性/消息/读写分离/事件溯源/DDD等没有必然的联系,它最大优势是给我们带来更多的架构属性选择原创 2023-01-30 11:12:00 · 191 阅读 · 0 评论 -
使用“宝塔一键迁移”工具,将单机版typecho博客系统迁移到京东云cvm云主机
服务器更换、网站搬家,对于很多开发者新手来说不是一件容易的事情,需要迁移网站程序、数据库,修改数据库连接文件等。在云迁移方案中,宝塔是非常简单好用的服务器运维面板,能够极大提升运维管理效率。本文将介绍如何使用“宝塔一键迁移”工具将单机版typecho博客系统快速迁移到京东云cvm云主机。原创 2023-01-16 15:22:51 · 65 阅读 · 0 评论 -
如何让Java编译器帮你写代码
本文结合京东监控埋点场景,对解决样板代码的技术选型方案进行分析,给出最终解决方案后,结合理论和实践进一步展开。通过关注文中的技术分析过程和技术场景,读者可收获一种样板代码思想过程和解决思路,并对 Java 编译器底层有初步了解。原创 2023-01-29 11:16:18 · 209 阅读 · 0 评论 -
Redis缓存的主要异常及解决方案
Redis 是当前最流行的 NoSQL数据库。Redis主要用来做缓存使用,在提高数据查询效率、保护数据库等方面起到了关键性的作用,很大程度上提高系统的性能。当然在使用过程中,也会出现一些异常情景,导致Redis失去缓存作用。原创 2023-01-29 11:04:04 · 200 阅读 · 0 评论 -
Squirrel状态机-从原理探究到最佳实践
Squirrel状态机是一种用来进行对象行为建模的工具,主要描述对象在它的生命周期内所经历的状态,以及如何响应来自外界的各种事件。比如订单的创建、已支付、发货、收获、取消等等状态、状态之间的控制、触发事件的监听,可以用该框架进行清晰的管理实现。使用状态机来管理对象生命流的好处更多体现在代码的可维护性、可测试性上,明确的状态条件、原子的响应动作、事件驱动迁移目标状态,对于流程复杂易变的业务场景能大大减轻维护和测试的难度。原创 2023-01-28 11:59:03 · 269 阅读 · 1 评论 -
感受 Vue3 的魔法力量
摆脱了书写声明式的代码,用起来很流畅,提升不少效率,封装可复用逻辑,将 UI 和逻辑分离,提高复用性,view 层代码展示更清晰,少去了很多配置,使用起来更便捷原创 2023-01-28 11:47:45 · 160 阅读 · 0 评论 -
基于AbstractProcessor扩展MapStruct自动生成实体映射工具类
日常开发过程中,尤其在DDD过程中,经常遇到VO/MODEL/PO等领域模型的相互转换。此时我们会一个字段一个字段进行set|get设置。要么使用工具类进行暴力的属性拷贝,在这个暴力属性拷贝过程中好的工具更能提高程序的运行效率,反之引起性能低下、隐藏细节设置OOM等极端情况出现。原创 2023-01-28 10:44:02 · 136 阅读 · 0 评论 -
京东探索研究院 | 2023年十大科技趋势
下一代算力和人工智能的迅速发展,使我们能够充分利用更高维度、更多模态的数据中的信息、仿真更加复杂的生、理、化过程,AI for Science就是让人工智能利用自身强大的数据归纳和分析能力去学习科学规律和原理,得出模型来解决实际的科研问题,特别是辅助科学家在不同的假设条件下进行大量重复的验证和试错,从而大大加速科研探索的进程。日迈月征,朝暮轮转。京东探索研究院结合近年来咨询公司、学术界和产业界的热点研究方向,发布了2023十大科技趋势,包括了自动化工具、产业AI、计算机通信、基础科学等领域。原创 2023-01-19 14:51:30 · 241 阅读 · 0 评论 -
代码影响范围工具探索
祖传代码不敢随意改动,影响范围无法评估。并且组内时常有因为修改了某块代码,导致其他业务受到影响,产生bug,影响生产。2.研发提测完成后,测试进入测试后经常会向研发询问本次需求改动影响范围,以此来确定测试用例,以达到精准测试,提升整个需求的质量,缩短交付周期。那么,如何才能规避这种隐患?有没有一种工具能够协助代码研发及review人员更加精确的判断当前代码改动影响范围,有没有一种方法能够提供除了业务逻辑条件验证,针对代码作用范围,给测试人员提供精确验证链路?原创 2023-01-19 10:13:18 · 54 阅读 · 0 评论 -
一种面向业务配置基于JSF广播定时生效的工具
目前,ducc实现了实时近乎所有配置动态生效的场景,但是配置是否实时生效,不能直观展示每个机器上jvm内对象对应的参数是否已变更为准确的值,大部分时候需要查看日志确认是否生效。原创 2023-01-19 09:30:00 · 60 阅读 · 0 评论 -
MySQL性能优化浅析及线上案例
关于数据库的性能优化其实是一个很复杂的大课题,很难通过一篇帖子讲的很全面和深刻,这也就是为什么我的标题是‘浅析’,程序员的成长一定是要付出代价和成本,因为只有真的在一线切身体会到当时的紧张和压力,对于一件事情才能印象深刻,但反之也不能太过于强调代价,如果可以通过一些别人的分享就可以规避一些自己业务的问题和错误的代价也是好的。原创 2023-01-18 10:00:00 · 64 阅读 · 0 评论 -
交易履约之订单中心实践
交易履约订单中心为履约行为提供必要的系统能力支撑,交易履约订单中心记录了交易流通的过程和状态,包括交易主体、产品信息、成交金额、计费、支付、业务信息等全流程信息,为上下游提供数据标准化、全集数据查询和串联流程的功能。目前已接入的场景有:京音业绩匹配、交易数据看板、京音线上化结算、 交易流程串联等。目前交易履约订单中心年订单量 1.5 亿+,在电销、企微、金店、开放平台、用户增长等场景下,有效支持了消金、财富、保险、支付、分期商城等各大业务线的线上、线下的业务发展。原创 2023-01-18 09:30:00 · 142 阅读 · 0 评论 -
【案例分享】如何利用京东云建设高可用业务架构
本文以2022年一个实际项目为基础,来演示在京东云上构建高可用业务的整个过程。公有云及私有云客户可通过使用京东云的弹性IAAS、PAAS服务,创建高可用、高弹性、高可扩展、高安全的云上业务环境,提升业务SLA,提升运维自动化水平,降低资源成本及运维成本。有业务迁移上云需求,希望构建云上高可用业务架构的客户或对云上高可用架构规划有兴趣的读者可以一看。原创 2023-01-17 15:26:20 · 50 阅读 · 0 评论 -
ElasticSearch必知必会-进阶篇
ElasticSearch必知必会-进阶篇原创 2023-01-17 11:48:02 · 59 阅读 · 0 评论 -
【团队效率提升】Python-PyWebIO介绍
PyWebIO提供了一系列命令式的交互函数,能够让咱们用只用Python就可以编写 Web 应用, 不需要编写前端页面和后端接口, 让简易的UI开发效率大大提高。原创 2023-01-06 10:46:43 · 254 阅读 · 0 评论 -
手把手带你开发starter,点对点带你讲解原理
在2012 年 10 月,一个叫 Mike Youngstrom 的人在 Spring Jira 中创建了一个功能请求,要求在 Spring Framework 中支持无容器 Web 应用程序体系结构,提出了在主容器引导 Spring 容器内配置 Web 容器服务;这件事情对 SpringBoot 的诞生应该说是起到了一定的推动作用。原创 2023-01-03 11:17:49 · 117 阅读 · 0 评论