工作五年小结 | 面对不确定性快速上升的外部环境,我们该如何寻求突破?
1. 前言 工作五年了,来京东马上满一年,前四年在开水团,不禁感叹时间过的真快啊!回想19年从西安交大硕士毕业孤身前往北京开始职业生涯,经历了孤独迷茫到自立坚定,再到23年下定决心携妻还蜀安家,并来到京东开始新的征程,这5年过的很快也很充实。 今年也是我的而立之年,感觉一迈过这个坎,眼前的世界就不一样了,事业上还未成气候,更多的生活琐事就开始扑面而来
QUIC在京东直播的应用与实践
一. 前言与背景国内的互联网直播技术从2005年前后兴起,彼时代表性的直播产品是由PPLive创始人姚欣在华中科技大学就读期间发起的校园直播项目PPLive。当时的直播技术用的还是基于windows系统自带的mediaplayer内置的COM组件开发的播放器,采用的是RTSP协议。受当时的互联网传输带宽及成本限制,PPLive并没有采用现在比较流行的单播技术,而是采用P2P技术分发直播流。国内的直
如何优雅的处理异常
一、什么是异常Java 语言按照错误严重性,从 throwale 根类衍生出 Error 和 Exception 两大派系。Error(错误): 程序在执行过程中所遇到的硬件或操作系统的错误。错误对程序而言是致命的,将导致程序无法运行。常见的错误有内存溢出,jvm 虚拟机自身的非正常运行,calss 文件没有主方法。程序本生是不能处理错误的,只能依靠外界干预。Error 是系统内部的
突破传统监测模式:业务状态监控HM的新思路
一、传统监控系统的盲区,如何打造业务状态监控。 在系统架构设计中非常重要的一环是要做数据监控和数据最终一致性,关于一致性的补偿,已经由算法部的大佬总结过就不在赘述。这里主要讲如何去补偿?补偿的方案哪些?这就引出来数据监控系统了。有小伙伴会问了,为什么业务状态监控系统可以做补偿?别急,往下看。 传统监控系统分为两种,系统监控和业务监控。系统监控有并发量
Proxyless的多活流量和微服务治理
1. 引言1.1 项目的背景及意义在当今的微服务架构中,应用程序通常被拆分成多个独立的服务,这些服务通过网络进行通信。这种架构的优势在于可以提高系统的可扩展性和灵活性,但也带来了新的挑战,比如:服务间通信的复杂性:不同服务之间需要进行可靠的通信,处理失败重试、负载均衡等问题。故障的容错处理:系统的复杂性给与运维及故障处理带来更大的挑战,如何快速处理故障解决线上问题,这是考验一个企业基础设施建设的重
视频审核架构实践
一. 背景与目标1.1 视频审核背景现有视频审核系统由于历史原因,针对不同的业务调用方和业务场景提供了多套视频审核技术方案和服务,且在审核时效、支持的协议完整性等方面存在一定的不足;同时,多套系统并存一直存在较高的运维成本的情况。由此,需要设计一套统一的视频审核系统架构,将多套服务合并为一套服务,提供统一标准视频审核服务,大幅降低运维成本的同时,提供完整的接口协议支持和更高的审核时效。1.2 设
京东平台内容合规的技术与挑战
1、内容合规域介绍合规域在电商平台中扮演着重要的角色,它相当于电商体系中的“免疫系统”,通过识别恶意的商品、商家以及UGC内容,确保电商生态的健康、有序和可持续发展。因此我们部门致力于打造业内领先的内容理解与审核平台,在具体工作中,通过识别并治理商家在产品、价格、服务维度的违规行为以及短视频、直播、评价、问答等内容的违规信息,降低审核成本、提升运营效率,并最终保障用户体验。1.1、从用户视角哪些
黑神话悟空-快速部署
《黑神话:悟空》是一款以中国神话为背景的动作角色扮演游戏。本服务内置《黑神话:悟空》游戏、《Steam》客户端和远程桌面《GameViewer》软件,配备游戏显卡,通过计算工厂快速部署后按下方文档操作即可开启流畅游戏体验。配置说明服务创建依赖以下配置资源:资源类型规格及配置配置是否可调整创建方式云主机p.n5ng.11large(22C-116G-24G显存GPU)套餐固定配置不可调整通过计算工厂
mysql磁盘碎片整理
背景数据结转过程中经常进行 delete 操作,产生空白空间,如果进行新的插入操作,MySQL将尝试利用这些留空的区域,但仍然无法将其彻底占用,于是造成了数据的存储位置不连续,以及物理存储顺序与理论上的排序顺序不同,久而久之就产生了碎片。碎片治理思路根据线上处理经验总结比对4种处理磁盘碎片优缺点优势缺点备注将数据量巨大的表设计成分区表,按时间分区通过结转分区数据,删除分区释放磁盘碎片,磁盘IO抖
【我在京东做产研】校招 2 年,个人角度(成长)回顾 - 行且知
2022.6 月毕业,然后入职于 JD 京东保险 - 技术平台部 ,岗位 后端开发工程师,至今已两年回顾毕业后的工作历程(文章会以现实时间为顺序来进行回顾),有很多大佬的帮助和指点。因此,想将自己的思考也分享给后来的同学们文章从个人角度(成长)出发,回顾工作点滴。会尽可能写的细致点,但也仅是抛砖引玉后续会从团队角度(互惠)出发,写成长历程二,敬请期待一、善于观察,善于模仿善于观察:职场不是学校,
京东搜索重排:基于互信息的用户偏好导向模型
SIGIR 24: A Preference-oriented Diversity Model Based on Mutual-information in Re-ranking for E-commerce Search链接:https://dl.acm.org/doi/abs/10.1145/3626772.3661359摘要:重排是一种通过考虑商品之间的相互关系来重新排列商品顺序以更有效
探索AC自动机:多关键词搜索的原理与应用案例
引言目前,大多数自由文本搜索技术采用类似于Lucene的策略,通过解析搜索文本为各个组成部分来定位关键词。这种方法在处理少量关键词时表现良好。但当搜索的关键词数量达到10万个或更多时,这种方法的效率会显著下降,尤其是在需要与词典进行详尽对比的场景中。本文将介绍的Aho-Corasick(AC)自动机作为多模式匹配中的经典算法,不仅能够处理大规模文本数据,还能确保搜索过程的实时性和准确性。AC自动机
“前端”工匠系列(一):合格的工匠,究竟该搞什么
“前端”工匠系列(二):合格的工匠,怎么做好价值落地 此文为系列文章第一篇,为浅尝辄止的引入,目的是为了让前端从业人员及非从业但是对此领域感兴趣的人对于”前端“是干什么的这个话题有个无门槛的了解。“前端职能是什么”说起"前端",维基百科对这个技术角色的定位是“前端(英語:front-end)和后端(英語:back-end)是描述进程开始和结束的通用词汇。 前端作用于采集输入信
KubeCon China 2024全球大会在香港举行,京东云受邀参加探讨云原生、开源及 AI
和数字化大潮一样,在AI化的革命下,云端也在全面拥抱AI,并在方方面面变得更安全、更高效,让全球各行各业受益。2024年8月21日,由云原生计算基金会(CNCF)和 Linux 基金会联合主办的KubeCon + CloudNativeCon + Open Source Summit + AI_dev China 2024在香港开幕。大会首日吸引了来自全球 30 多个国家和地区的 1000 多名参
京东小程序折叠屏适配探索
前言随着近年来手机行业的飞速发展,手机从功能机进入到智能机,手机屏幕占比也随着技术和系统的进步越来越大,特别是Android 10推出以后,折叠屏逐渐成为Android手机发展的趋势。图 1 Android手机屏幕发展趋势京东小程序近年来也支持了越来越多的业务和应用,做好小程序的折叠屏的适配也是符合未来的发展趋势,能为用户和业务方提供更好的体验和价值。Android应用折叠屏适配摘要应用在折叠屏运
一起单测引起的项目加载失败惨案
一、前言 最近在开发一个功能模块时,在功能自测阶段,通过使用单测测试功能的完整性,在测试单测联通性使用到静态方法测试时,发现单测报错,通过查阅解决方案发现需要对Javaassist包进行排包或者升版本处理。通过排包解决掉单测报错,在部署项目时发现频繁报bean注入失败问题,最终定位发现是因为对Javaassist包排包引起的bean加载失败。故而对Javaassist包相关
动态化-鸿蒙跨端方案介绍
一、背景 👉 华为在2023.9.25官方发布会上宣布,新的鸿蒙系统将不再兼容安卓应用,这意味着,包括京东金融APP在内的所有安卓应用,在新的鸿蒙系统上将无法运行,需要重新开发专门适用于新鸿蒙系统的专版APP。二、原生适配的方案 原生适配的方案就是将京东金融APP所有业务层及基建层全部使用鸿蒙语言重写,但该方案存在以下三个问题:1、开发
一站式统一返回值封装、异常处理、异常错误码解决方案
1. 前言统一返回值封装、统一异常处理和异常错误码体系的意义在于提高代码的可维护性和可读性,使得代码更加健壮和稳定。统一返回值封装可以避免每一个接口都需要手工拼装响应报文;统一异常处理可以将异常处理的逻辑集中到一个地方,避免代码中出现大量的try-catch语句,降低了代码的复杂度,提高了代码的可读性;异常体系的设计可以清晰地区分不同类型的异常,使得开发者能够更加精准地处理异常情况,并且能够更好地
QPS提升10倍的sql优化
本次慢sql优化是大促准备时的一个优化,优化4c16g单实例mysql支持QPS从437到4610,今天发文时618大促已经顺利结束,该mysql库和应用在整个大促期间运行也非常稳定。本文复盘一下当时的sql优化过程1. 问题背景大促准备期间发现4c16G的单实例mysql数据库,每逢流量高峰都会有cpu 100%的问题,集中在0点和12点。但也存在相近大小的流量cpu利用率相差很大的
【原创】【深入浅出系列】之代码可读性
这是“深入浅出系列”文章的第一篇,主要记录和分享程序设计的一些思想和方法论,如果读者觉得所有受用,还请“一键三连”,这是对我最大的鼓励。一、老生常谈,到底啥是可读性一句话:见名知其义。有人说好的代码必然有清晰完整的注释,我不否认;也有人说代码即注释,是代码简洁之道的最高境界,我也不否认。但我都不完全接受,如果照搬前者,有人会在每个方法、每个循环、每个判断都添加大量注释,对于一个表达不严谨的code