大淘宝技术

其他

淘宝用户体验VOC标签体系

本专题共10篇内容,包含淘宝APP基础链路过去一年在用户体验数据科学领域(包括商详、物流、性能、消息、客服、旅程等)一些探索和实践经验。在商详页基于用户动线和VOC挖掘用户决策因子带来浏览体验提升;在物流侧洞察用户求助时间与实际物流停滞时长的关系制订表达策略带来物流产品满意度提升;在性能优化域构建主客观关联模型找到启动时长与负向反馈指标的魔法数字以明确优化目标;构建多源VOC标签体系综合运用用户行为和用户VOC洞察、落地体验优化策略,并总结出一套用户体验分析方法论。前言本文为此系列第六篇文章,前五篇见——第一篇:淘宝用户体验分析方法论第二篇:VOC数据洞察在淘宝详情页的应用与实践第三篇:物流产品体验诊断与优化第四篇:BPPISE数据科学案例框架第五篇:数据驱动性能体验优化▐
2023年12月1日
其他

数据驱动性能体验优化

本专题共10篇内容,包含淘宝APP基础链路过去一年在用户体验数据科学领域(包括商详、物流、性能、消息、客服、旅程等)一些探索和实践经验。在商详页基于用户动线和VOC挖掘用户决策因子带来浏览体验提升;在物流侧洞察用户求助时间与实际物流停滞时长的关系制订表达策略带来物流产品满意度提升;在性能优化域构建主客观关联模型找到启动时长与负向反馈指标的魔法数字以明确优化目标;构建多源VOC标签体系综合运用用户行为和用户VOC洞察、落地体验优化策略,并总结出一套用户体验分析方法论。本文为此系列第五篇文章,前四篇见——第一篇:淘宝用户体验分析方法论第二篇:VOC数据洞察在淘宝详情页的应用与实践第三篇:物流产品体验诊断与优化第四篇:BPPISE数据科学案例框架业务背景随着淘宝业务体量和技术深度的日益增加,使得淘宝APP越来越“庞大”,性能问题也日益凸显。在支持淘宝业务不断迭代的同时,研发团队每年也会持续投入大量资源,围绕用户体验做技术改造和性能优化,持续提升用户淘宝操作体验。去年淘宝启动了性能体验优化项目,前后投入80+小二参与APP性能优化。项目目标为:通过性能优化及负向问题治理,提升淘宝性能满意度20%。那么哪些性能问题需重点优化、需投入多少资源优化、需优化到什么程度才能最有效地改善用户体验呢?以APP启动为例:启动越快用户体验一定越好吗?不一定,当优化到一定程度达到用户预期时,优化可能不再有明显的用户体验收益。不同机型做相同幅度的优化,用户体验效果相同吗?也不一定,不同的用户群体预期不同,对于相同优化的体感也会大相庭径。由此可见,通过单纯的客观指标无法反映用户的真实体验,主观反馈才是了解用户体验的关键。此外,不同优化程度也意味着不同的技术投入深度和优化难度。“如何定义合理的性能优化目标”是技术团队普遍存在的痛点,即如何找到一个与满意度强相关的客观指标,设定合理的目标,能兼顾技术投入ROI,且有效提升用户主观性能满意度。围绕这一命题,我们与淘宝用研团队深度合作,共同提出【主客观关联】这一数据分析方法,在本案例中,将介绍主客观关联分析模型的构建方法和应用。问题梳理▐
2023年9月20日
其他

BPPISE数据科学案例框架

本专题共10篇内容,包含淘宝APP基础链路过去一年在用户体验数据科学领域(包括商详、物流、性能、消息、客服、旅程等)一些探索和实践经验。在商详页基于用户动线和VOC挖掘用户决策因子带来浏览体验提升;在物流侧洞察用户求助时间与实际物流停滞时长的关系制订表达策略带来物流产品满意度提升;在性能优化域构建主客观关联模型找到启动时长与负向反馈指标的魔法数字以明确优化目标;构建多源VOC标签体系综合运用用户行为和用户VOC洞察、落地体验优化策略,并总结出一套用户体验分析方法论。本文为此系列第四篇文章,前三篇见——第一篇:淘宝用户体验分析方法论第二篇:VOC数据洞察在淘宝详情页的应用与实践第三篇:物流产品体验诊断与优化前言经常有同学会问“如何评价数据科学工作做得好不好呢”,算法同学可以看算法模型准召效果、数据研发可以看数据模型覆盖和利用率,数科考察什么?笔者认为数科需考察案例产出。主要基于以下几点思考:成功案例需具备显著业务结果:数据科学岗定位是为业务提供高质量的数据解决方案让业务成功,成功的案例才是可学习、可参考的,没有显著业务结果的案例较难证明其可行性,参考价值较低。案例是对过程的详细复盘:在有显著业务结果的前提下,数科需要证明其在项目中参与度、贡献度,使用到了什么新思路、新方法助力业务达成目标,案例是可推敲、可复盘的材料之一。案例能体现出作者的能力水平:数科是一门强调个人能力的学科,案例不仅仅是陈述做了什么,字里行间透出的认知和思考能体现出作者能力水平。特别地,写作是可以有思考缓冲期的,表达欠佳的同学可以通过写作来弥补体现自身能力欠缺。因此,一篇高质量的数据科学案例是能证明成果的核心依据,笔者基于大量数科案例经验谈谈看法和思考。BPPISE框架简介一个好的框架能突出案例描述重点,降低结构化思考成本,聚焦于内容表述。业内常用的数据挖掘标准框架有两种:CRISP-DM、SEMMA,简介如下:CRISP-DM:业务理解
2023年9月8日
其他

ARM汇编快速入门

half-precision对上图中的“用完恢复”寄存器的使用:一些复杂的函数需要的向量寄存器或者通用寄存器可能会非常多,那就需要我们在开头加载这些寄存器,不然会报错segment
2023年8月14日
其他

物流产品体验诊断与优化

本专题共10篇内容,包含淘宝APP基础链路过去一年在用户体验数据科学领域(包括商详、物流、性能、消息、客服、旅程等)一些探索和实践经验,本文为该专题第三篇。在商详页基于用户动线和VOC挖掘用户决策因子带来浏览体验提升;在物流侧洞察用户求助时间与实际物流停滞时长的关系制订表达策略带来物流产品满意度提升;在性能优化域构建主客观关联模型找到启动时长与负向反馈指标的魔法数字以明确优化目标;构建多源VOC标签体系综合运用用户行为和用户VOC洞察、落地体验优化策略,并总结出一套用户体验分析方法论。本文为此系列第三篇文章,前两篇见——第一篇:淘宝用户体验分析方法论第二篇:VOC数据洞察在淘宝详情页的应用与实践业务背景物流服务是电商平台的生命线,贯穿在用户购买旅程中的各个环节,而产品端面向用户表达的物流信息,会直接影响用户在淘宝购买的决策依据和复购倾向。以下是摘自淘宝体验平台关于物流的用户“吐槽”原声:“付款5天了,物流信息3天没有更新”“这么多天了,是物流出问题!还是送货人私吞掉!我没有收到货物!我要退款!请进快解决问题!”“物流一直不更新好烦”当物流信息表达不清晰,且用户无法通过平台快速解决问题时,会引发用户极大的焦虑和不安全感,使用户在平台整体的消费购物体验受损。不同于自营物流,淘宝物流目前更多依赖四通一达、顺丰、邮政等三方快递服务商,对于物流服务体验的保障强依赖上下游多方角色的协同建设。淘宝交易物流产品团队将提升物流产品体验做为重要的业务命题,明确核心目标为提升淘宝物流产品满意度
2023年7月19日
其他

VOC数据洞察在淘宝详情页的应用与实践

本专题共10篇内容,包含淘宝APP基础链路过去一年在用户体验数据科学领域(包括商详、物流、性能、消息、客服、旅程等)一些探索和实践经验,本文为该专题第二篇。在商详页基于用户动线和VOC挖掘用户决策因子带来浏览体验提升;在物流侧洞察用户求助时间与实际物流停滞时长的关系制订表达策略带来物流产品满意度提升;在性能优化域构建主客观关联模型找到启动时长与负向反馈指标的魔法数字以明确优化目标;构建多源VOC标签体系综合运用用户行为和用户VOC洞察、落地体验优化策略,并总结出一套用户体验分析方法论。本文为此系列第二篇文章,前一篇见——第一篇:淘宝用户体验分析方法论前言用户体验是用户在使用产品过程中建立起的一种主观感受,它与用户的预期强相关,不同用户带着不同的需求使用同一款产品体验存在着差异,倘若能够通过数据感知这些差异并形成产品优化策略落地,势必会给产品带来体验提升。在本文中,笔者将简要介绍数据科学如何基于用户行为动线和用户VOC(Voice
2023年6月19日
其他

淘宝用户体验分析方法论

本专题共10篇内容,包含淘宝APP基础链路过去一年在用户体验数据科学领域(包括商详、物流、性能、消息、客服、旅程等)一些探索和实践经验,本文为该专题第一篇。在商详页基于用户动线和VOC挖掘用户决策因子带来浏览体验提升;在物流侧洞察用户求助时间与实际物流停滞时长的关系制订表达策略带来物流产品满意度提升;在性能优化域构建主客观关联模型找到启动时长与负向反馈指标的魔法数字以明确优化目标;构建多源VOC标签体系综合运用用户行为和用户VOC洞察、落地体验优化策略,并总结出一套用户体验分析方法论。背景与现状存量竞争时代,体验重要性日益提升。来自决策层的声音:“全面提升用户体验”、“把重视客户体验变成发自内心的习惯”、“回到用户最根本的体验指标”突显了提升体验决心。如何全面、及时和精细化地衡量体验好坏?如何讲清体验好坏和生意的相关性?如何有效地优化体验,优化到什么程度合适?如何验证解决方案的有效性?本文主要介绍数据科学同学在基于产品体验、服务体验、性能体验等项目经验总结出的一套分析框架与方法,可系统、高效地为发现、诊断及推动体验策略优化与落地,供参考学习。整体分析框架打一个形象的比喻:数据科学家≈医生,医生给病人看病,数科给业务看病。用户体验分析过程可抽象为发现问题(体验)、问题诊断(门诊)、策略落地(治疗)、效果验证(复诊)4个步骤。首先,给病人做一轮初诊/体检,体检报告中身体状态指标可比作用户体验指标;其次,进入门诊阶段医生会基于检查报告中指标异动(如:白细胞偏高)结合病情进行诊断开方子,类似数科运用各种诊断方法进行根因探寻并生成数据策略;再者,病人基于诊断方案进入治疗阶段,可能存在不信任、不配合、未按疗程服药等问题,类似策略落地阶段数科会面对业务支持力度低、跨团队协同困难等问题;最终,一通疗程下来医生需跟踪复诊了解病情是否缓解,类似数科需通过科学地方法(如:AB、因果推断)进行验证价值。用户旅程梳理要优化体验首先要发现体验问题,很多组织都有自己收集和洞察用户体验评估的方式,包括:VOC数据收集、专家走访、问卷调研等方式,但是基于这些方式通常会存在体验改进片面化、不可持续性,无法系统地发现和解决问题。特别地,当面对“如何提升物流产品满意度10%”这类某一产品整体满意度提升命题时需要有一套体系化的业务梳理方法。用户体验地图(User
2023年5月26日
其他

SSR 应用与原 CSR 应用变更同步问题实践

链接,这样就只需要在研发平台维护一个应用,走一次发布。这给我看到了合并仓库与应用的希望,期望合并后的流程如下:以下是我们的改造过程。路由配置从用户的角度,路由是网页链接的重要组成部分。比如现在有
2023年5月19日
其他

前端3D技术概述

操作系统、编译原理、计算机图形学被传为程序员的三大浪漫,每个方向都易懂难深,但作为程序员对每个方向还是要有基本的认识和判断,毕竟贯穿虚拟和现实生活的桥梁是搭建在抽象之上的,这三大浪漫是抽象化的课代表。本次我们认识下计算机图形学中的3D渲染部分,目的是沉淀下最近接触到的一些3D知识,同时能帮助大家有一个简单的认识也是惊喜的收获吧。3D绘制引擎技术在对3D模型进行渲染绘制的时候我们很关心底层使用的是什么样的技术,在web前端工作中webgl技术也有着广泛的应用,那么webgl、opengl、opengl
2023年5月17日
其他

“技术开发最应该做什么?”,聊聊我在服务端开发5年的理解和收获

我们新推出大淘宝技术年度特刊《长期主义,往往从一些小事开始——工程师成长总结专题》,专题收录多位工程师真诚的心路历程与经验思考,覆盖终端、服务端、数据算法、技术质量等7大技术领域,欢迎一起沟通交流。本文为此系列第二篇内容。第一篇:负责淘宝业务前端开发9年,聊聊我的心得本文作者三尽17年本科毕业,兜兜转转做服务端开发5年了,“技术开发最应该做什么事”,这个问题时常在他的脑海回荡。个人经历简述我是一个从业经验已有5年的服务端开发,未毕业的时候就经历过创业的艰辛。毕业后,辗转几轮经历过传统互联网的沉寂,体验过直面用户的成熟toC产品,最终来到了阿里大淘宝技术做成熟的toB商家业务。在不同阶段的我,对开发岗位的理解也各不相同,以下是我的成长和收获,希望对你有所帮助。2015~2016:不成熟的创业团队中,做唯一的技术开发创业还是忽悠?我选择了退出这段经历是我大三那年的经历。在学校自学半年java的我,机缘巧合,“受邀”成为了某不知名“创业团队”的一员,抱着学习+锻炼能力的态度,一个人承担了团队对外的网站全部建设(后来才知道,当时没钱请不起外包做网站),包括前后端开发+买域名租服务器。当时只学习了后端三板斧的我,每做一小步都得百度很久,依靠碎片线索去学习新的技术,翻CSDN,搜github,无所不用,经常从早忙到晚。幸运的是网站成功上线了,并稳定运行了半年之久,过程收获巨多。当然散伙的原因也比较突然,某个午后,网站突然被“黑客”攻击无法访问,客户打电话投诉,而我只能频繁的去重启我那可怜的云服务器,非常尴尬(后来才知道是我那天手误开启了云服务器的某个高级安全策略,同一ip多次访问会拉黑半小时...)。那件事之后,我意识到自身能力欠缺,也明白他们只想“白嫖”我,我立马找了个借口退出,火速散伙。随后在校招尾声中,随便投递了一家北京的公司,就只身飞了过去,进修技术。▐
2023年5月12日
其他

淘宝拍立淘多码识别方案总结

本文通过拆解原始问题、发散思路优化等方式,记录了扫一扫从单码到多码识别的技术框架改造及多码识别率优化方案。其中涉及解码SDK的能力、码处理技术链路、码转换算法、降低漏检率策略等设计与实现。背景与挑战多码即在同一个界面中同时存在多个条码或二维码,
2023年5月10日
其他

淘宝 APP 网络架构演进与弱网破障实践

RPC。针对建立好的连接,不同形态的维护管理方式也不同。面向保活可用:假连检测,动态心跳通过对连接的多场景可用性检测,增强连接质量的感知,当出现连接异常时能够快速的恢复重建。检测的手段基本为心跳
2023年5月8日
其他

CIKM论文解读 | 淘宝内容化推荐场景下对多场景全域表征的思考与应用

我们结合逛逛推荐场景中的具体问题,从多场景全域表征的视角进行了一系列的探索与内容推荐场景的应用,从全域表征的范围、信息迁移方式以及模型框架的应用等维度展开我们的优化工作,取得了阶段性的优化经验和业务效果。背景介绍淘宝逛逛自2020年底上线以来,一直作为淘宝内容化推荐体系下内容社区营造和种草分享的重要阵地。与商品推荐的区别在于,为了打造"好看,
2023年4月28日
自由知乎 自由微博
其他

2023大淘宝技术工程师推荐书单

的生命周期、性能优化、单元测试、服务端渲染等等。你不仅能够掌握这些技术,更能够理解这些技术的诞生原因与适用场景,真正做到知其然知其所以然。由于出版时间的问题,这本书并不包括我们今天司空见惯的
2023年4月23日
其他

淘宝iOS拍立淘微距能力探索与实现

iPhone13),可以自动切换摄像头,只能使用AVCaptureDeviceDiscoverySession获取)AVCaptureDeviceTypeBuiltInTripleCamera
2023年4月21日
其他

负责淘宝业务前端开发9年,聊聊我的心得

的负责人嗷嗷(首页的前前任主管),他说『如果你要做就把性能提升一倍,要不然就别做了』。于是我又找了释然(首页前任的主管),他说『好啊,那你就做到第一』。这时我就更加郁闷了,天猫首页首屏基本是一个大
2023年4月19日
其他

SSR在天猫优品大促会场的探索实践

60-70%。低端机主要的性能瓶颈在于代码执行和渲染时间长。结果对比左csr,右ssr;浏览器访问,高速3G网络下;jsTracker
2023年4月17日
其他

基于 Git 的开发工作流——主干开发特性总结

在参与开发的过程,得益与平台提供便捷的开发流程,简化很多开发过程操作分支的步骤;也就很好奇,为什么研发平台怎么设计,考虑的点是为什么,便有了这次对主干研发的学习与记录。当我们是构建软件项目的唯一开发人员时,可以根据个人喜好创建和修改代码。当我们为团队运行的项目贡献代码时,我们需要遵循一套标准化的指导方针并与其他团队成员精确协调。标准指南和协调的工作努力对于每个基于团队的软件开发项目的成功至关重要。为了满足这一需求,世界各地的工程团队设计了许多开发工作流程。大多数团队使用
2023年4月14日
其他

基于AIGC的3D场景创作引擎概述

通过改变3D场景制作流程复杂、成本高、门槛高、流动性差的现状,让商家像玩转2D一样去玩转3D,让普通消费者也能参与到3D内容创作和消费中,真正实现内容生产模式从PGC/UGC过渡到AIGC,是我们3D场景智能创作引擎一直追求的目标。前言随着元宇宙的大火,国内外各大厂纷纷下场开始为下一代互联网技术布局,旨在为用户提供更好的体验。体验包括方方面面,比如更好的游戏体验、更好的社交体验、更高效的办公体验当然也包括更好的消费体验。作为国内最大的电商平台,我们团队也在持续思考如何基于元宇宙的技术,给消费者带来更好的购物体验以及给商家带来更好的营商体验。回归到电商“人、货、场”三要素上,通过虚拟人技术以及商品三维重建技术,“人”和“货”在3D化上已经迈出了重要的一步,而“场”作为连接“人”和“货”的重要载体,目前还严重依赖于专业人员通过专业的DCC软件进行创作,门槛高、耗时长、成本高、效率低,这就导致了中小商家以及C端用户在现阶段难以大规模参与,即使是头部大品牌商家制作的3D场景内容也很有限。然而,大规模的虚拟世界需要有大规模的虚拟内容作为支撑进行构建,基于AIGC的能力加速“场”的自动化构建从而降低3D场景制作门槛就显得非常有必要。3D场景制作流程概述3D场景制作在游戏行业已经形成了一套非常成熟的工业化、流水线生产的解决方案。下面通过游戏行业场景制作方式来简单介绍一下3D场景制作的整体流程。游戏中一个完整的场景制作流量一般可以分成如下六个步骤:游戏策划提需求原画师承接,并绘制出对应的原画建模师制作对应的三维模型和材质贴图绑定师架设骨骼、蒙皮、绑定控制器进行角色驱动动画师会采用动作捕捉,或者手动设定关键帧的方式制作动画资源场景编辑师在游戏引擎中搭建游戏场景图片来源:https://baijiahao.baidu.com/s?id=1730605368628365612&wfr=spider&for=pc当然,构建一个电商场景的3D内容其复杂度远低于一个庞大的游戏场景,但相关的流程基本是一致的,比如商家想要在虚拟世界中构建一个店铺进行商业活动,那么整个店铺的搭建也大体需要遵循上面的流程电商3D场景拆解电商域的3D场景由小到大一般可以分成展示单品的3D场景、展示店铺的3D场景、商业街区场景、虚拟城市场景,如下图所示:由于街区是店铺的集合而城市是街区的集合,因此只要做好单品展示场景和店铺展示场景便能基于这两个基础能力跟搭积木一样的实现街区或者城市的构建。下面以店铺为例,对虚拟店铺场景的构造进行拆解:上图标识了构建一个虚拟店铺需要用到的所有元素,跟实体店铺类似,一个虚拟店铺的构建也包含了店铺装修所有的环节:硬装、软装、软装布局、布光、商品摆放等,如果是单品场景展示,还需要额外考虑商品运镜。3D场景生成技术介绍▐
2023年4月12日
其他

每日好店——淘宝店铺推荐系统实践

每日好店是淘宝一款经典的产品,它立足于淘宝千万卖家与海量的货源,从好品牌,好货源,好服务三个角度入手,为用户精选"平台说好,达人说好,用户说好"的淘宝优质店铺。通过中心化的好店频道,使淘宝用户对于淘内好店标准有强烈的体感,并能够让用户于淘系千万卖家中,发现真正的好店铺,形成淘宝内发现店铺的第一阵地。我们将分两篇内容介绍我们在“每日好店“场景效率和体验上的优化升级。本篇将主要从业务视角出发,浅谈一下技术协作业务的思路,如何优化场景的效率和体验;下篇内容将从技术视角出发,介绍店铺和商品两级排序模型的升级。背景每日好店作为一个经典的导购场景,承接了淘宝内用户对于集中发现优质店铺的主体需求。现阶段电商平台越来越以商品作为分发组织单元,店铺存在感一直被弱化。这抑制了商家私域的运营和成长。每日好店希望通过中心化的店铺分发架构公私域联动最直接的桥梁,让用户在频道内直接得到街景式逛店体验,发现更多优质商家。
2023年4月7日
其他

一个服务端同学的Vue框架入门及实践

百万级峰值qps的页面投放、亿级规模的权益发放、T级大规模的数据供给等。我们致力于营销选品、投放、权益等技术体系的建设,打造一套灵活的业务解决方案,让业务创新更高效。¤
2023年3月27日
其他

【直播预告】流行度偏差如何利用?探索解耦域适应无偏召回模型

3月27日,19:00-20:00,大淘宝技术与DataFun联合策划了本次活动,邀请了大淘宝技术高级算法工程师陈智鸿老师,就无偏召回模型进行深度分享与交流,欢迎大家按时收看直播~反欺诈体系篇分享时间分享内容分享嘉宾19:00-20:00流行度偏差如何利用?探索解耦域适应无偏召回模型阿里巴巴
2023年3月24日
其他

淘宝首页大促新玩法“猫头”背后的技术挑战和设计

目前春招火热进行中,hc多多,如果有兴趣可将简历发至zhaoxu.yzx@alibaba-inc.com,期待您的加入!联合作者:余钊旭(榆西)、韩龙(寒奕)、黄志亮(恒洛)¤
2023年3月24日
其他

公开下载 |《2022技术人的百宝黑皮书》来了!

余位工程师,通过他们自身学习成长和技术精进的经历,给大家推荐了一些GitHub上各领域经典的学习练手项目,覆盖常见常用的库、方案、框架、环境等,作为参考,一起成长。42022大淘宝技术顶会
2023年1月9日
其他

天猫汽车商详页的SSR改造实践

请求流程的转变由于请求时机的改变,请求及其前后逻辑需要移至服务端执行。汽车商详基于自建的一套端到端的渲染方案(XRoot)进行接口设计和页面渲染。接口数据中是组件集,包括各组件名称和对应组件需要的
2023年1月4日
其他

淘宝首页serverless升级后的质量保障方案

发布流程改造将从切流前,切流中和切流后三个环节进行改造。切流前支持新旧环境使用各自流水线进行独立发布,切流中实现单流水线向双环境发布,切流完成后流水线仅保留向新环境发布的环节。▐
2022年12月28日
其他

如何避免写重复代码:善用抽象和组合

通过抽象和组合,我们可以编写出更加简洁、易于理解和稳定的代码;类似于金字塔的建筑过程,我们总是可以在一层抽象之上再叠加一层,从而达到自己的目标。但是在日常的开发工作中,我们如何进行实践呢?本文将以笔者在Akka项目中的一段社区贡献作为引子分享笔者的一点心得。场景通常,为了简化我们对数据流的处理,我们可能会使用
2022年11月4日
其他

MapStruct,降低无用代码的神器

在学习《告别BeanUtils,Mapstruct从入门到精通》后,我发觉MapStruct确实是一个提升系统性能,降低无用代码的神器。然而,在实践这篇文章过程中,我遇到了些问题,并由此对MapStruct框架有了更深入的理解,以下将我的学习收获分享给大家。本文与《告别BeanUtils,Mapstruct入门到精通》的主要不同之处主要在于:增加了不同环境下Maven引入的注意事项(见“引入”章)增加了一对多字段(例如Json字段)互转的代码(见“高级转换”第一节)增加了子类字段互转的代码(见“高级转换”第二节)增加了利用Spring进行依赖注入的代码(见“高级转换”第三节)MapStruct是什么?MapStruct
2022年10月25日
其他

一次单元测试优化的过程总结

本文将介绍淘宝用户运营平台团队最近在实践单元测试过程中遇到的一个问题。前言淘宝原用户增长团队(现用户运营平台团队)是比较早践行单测增量覆盖率的团队,坚持了近两年下来,我们积累了数千个test
2022年9月14日
其他

告别BeanUtils,Mapstruct从入门到精通

如果你现在还在使用BeanUtils,看了本文,也会像我一样,从此改用Mapstruct。对象之间的属性拷贝,之前用的是Spring的BeanUtils,有一次,在学习领域驱动设计的时候,看了一位大佬的文章,他在文章中提到使用Mapstruct做DO和Entity的相互转换,出于好奇,后来就去了解了一下Mapstruct,发现这个工具确实优秀,所以果断弃用BeanUtils。如果你现在还在使用BeanUtils,看了本文,也会像我一样,从此改用Mapstruct。先上结论,Mapstruct的性能远远高于BeanUtils,这应该是大佬使用Mapstruct的主要原因,下面是我的测试结果,可以看出随着属性个数的增加,BeanUtils的耗时也在增加,并且BeanUtils的耗时跟属性个数成正比,而Mapstruct的耗时却一直是1秒,所以从对比数据可以看出Mapstruct是非常优秀的,其性能远远超过BeanUtils。下文会讲到Mapstruct性能好的根本原因。对象转换次数属性个数BeanUtils耗时Mapstruct耗时5千万次614秒1秒5千万次1536秒1秒5千万次2555秒1秒Mapstruct
2022年9月1日
其他

淘宝PC改版!我们跟一位背后付出6年的男人聊了聊……

2022年5月底,淘宝PC首页全新改版。本文讲述了PC改版前后的坎坷故事,以及PC项目组未来的技术布局和思考。2022年新版首页https://www.taobao.com/2021年12月的某个上午,用户本豆习惯性地用电脑打开了淘宝网。大屏看商品细节、多页面可对比,而且上班时间悄悄看个淘宝毫无违和感,这些原因令他成为移动时代为数不多的“PC淘宝爱好者”。他悄咪咪举起手机扫开二维码登录,点击跳转到下一个商品页时,登录框又一次弹了出来。在充满时代感的网格页和时不时的错误页中穿梭,他看中一台折叠露营车,点击旺旺想咨询商家尺寸大小,消息框提示需要下载安装旺旺客户端……嫌麻烦的本豆悻悻关掉了网站。此刻,与他同样有着“PC不咋好用”烦恼的,还有1000万人。同样时间点,一位在首页开发岗位上工作了2000多天的大淘宝工程师永霸,正在契机之下,酝酿好了新的淘宝PC首页改造计划。工程师永霸与新版淘宝PC首页PC首页,时代的眼泪2015年,在整个时代背景下,阿里开始了“ALL
2022年8月23日
其他

移动端人脸风格化技术的应用

本文介绍了人脸风格化技术的整个流程,以及该技术在直播、短视频等场景下的应用。该技术可作为氛围营造、提高观感的有效手段,也可在买家秀等图文场景下起到人脸隐私保护、增添乐趣等作用。前言随着元宇宙、数字人、虚拟形象等概念的爆发,各种数字化协同互动的泛娱乐应用也在不断的落地。例如,在一些游戏中,玩家成为虚拟艺人参与到高还原度的现实艺人日常工作中,并会在特定情况下,与虚拟艺人在人脸表情等层面上形成强映射提升参与感。而由阿里巴巴天猫推出的超写实数字人AYAYI和井柏然联合“带逛”的杂志《MO
2022年7月27日
其他

跨桌面端Web容器演进

浏览器是大家所熟悉的。本文会从容器的架构演进,容器的功能增强和稳定性保障及未来的演进,这3个方面介绍一下我们的应用程序是如何对接浏览器的能力的。有问题的地方欢迎大家指正,也欢迎对浏览器内核感兴趣的同学一起探索。此文为本系列文章第二篇,第一篇:跨全端SDK技术演进本文:跨桌面端之Web容器演进第三篇:跨桌面端之组件化实践背景随着客户端技术的逐渐发展,Web容器已经深入客户端,为客户端构建了丰富多彩的页面和交互体验,成为客户端的一个不可或缺的重要组成部分。在千牛客户端上,Web容器不仅承载了千牛的开放容器(经历了H5插件到千牛小程序的变革),而且一些核心功能,比如聊天窗口,消息中心,也都是由Web容器承载的。
2022年7月26日
其他

跨全端SDK技术演进

细想,团队进行跨平台开发已有三年有余,也是集团里面C++方向里比较早涉及该领域的部门之一,伴随业界跨平台技术发展与演进,我们也沉淀了一整套基于C++的跨平台技术体系,本文将以消息SDK为例,详述这一技术演进历程,希望能给想做跨平台的,尤其是刚步入跨平台开发的同学和团队,一些借鉴和启发,帮助大家少走一些弯路。此文为本系列文章第一篇,第二篇:跨桌面端之Web容器演进第三篇:跨桌面端之组件化实践关于为什么要选择跨平台的实现方式Write
2022年7月25日
其他

关于程序员的职业操守,从《匠艺整洁之道》谈起

《匠艺整洁之道》是鲍勃大叔的整洁系列新书。这本书主要从纪律、标准、操守三个方面阐述了软件从业者应该如何要求自己,提升研发质量、效率、道德水准,本文主要围绕《匠艺整洁之道》的第三部分
2022年7月5日
其他

如何快速理解复杂业务,系统思考问题?

对于复杂问题的思考其实是有层次的,从最表面的事件,到事件背后的规律,再到这个问题的结构模式,再到价值观,层层递进。在画完自己的业务系统因果回路图之后,再结合这个心智模型,思考自己的思考在哪个层次,是否可以有机会再下钻到更深的层次。正视复杂性我们必须承认这个世界原本就非常复杂,就像以我们现在的科技仍然不能攻克新冠病毒、不能精确预测天气、不能有效控制经济形势异常波动一样,任何试图浮于表面、疏于投入就想了解并解决一个复杂问题的傲慢做法,最终都只能接受无情的打脸。回到我们阿里当前的业务,随着市场规模的扩大、用户群体的多样性、公司组织的持续膨胀和细分、产品历史包袱的累积,我们的业务不可避免的越来越复杂和难以理解。就像著名的热力学第二定律(熵增定律)所解释的那样,只要没有外界系统的做功(我理解是一个颠覆性的业务模式),我们当前的系统就无可避免的持续熵增。但作为在业务线工作的一员,更加全面的理解我们手上的业务逻辑是我们能做好工作的基本条件,我们肯定不能满足仅仅是点状理解的一些信息,也不能接受理解一个业务只能依赖长时间的工作经验,所以这里给大家介绍一个帮助自己全面理解一个复杂系统的工具:“系统思考”。之前我会尝试用它来帮助自己梳理手上的业务逻辑,感觉有一定的作用,做了这个入门总结,希望对大家有帮助。什么是系统思考▐
2022年7月4日
其他

淘宝直播PC客户端的hybrid探索

相关产品的架构分析以上主要是拿2020年左右的主播端与当时版本的斗鱼、抖音直播伴侣的一个对比,通过对比发现只有我们的客户端除了左侧评论区外都还是以Qt为主的架构,从结构上来看抖音的最具有灵活性。▐
2022年6月6日
其他

合理使用线程池以及线程变量

本文从线程池和线程变量的原理和使用出发,结合实例给出最佳使用实践,帮助各开发人员构建出稳定、高效的java应用服务。背景随着计算技术的不断发展,3纳米制程芯片已进入试产阶段,摩尔定律在现有工艺下逐渐面临巨大的物理瓶颈,通过多核处理器技术来提升服务器的性能成为提升算力的主要方向。在服务器领域,基于java构建的后端服务器占据着领先地位,因此,掌握java并发编程技术,充分利用CPU的并发处理能力是一个开发人员必修的基本功,本文结合线程池源码和实践,简要介绍了线程池和线程变量的使用。线程池概述▐
2022年5月25日
其他

大淘宝用户平台技术团队单元测试建设

单元测试是工程交付前质量保障的第一环,也无疑是软件工程质量保障的重要基石,有效的单元测试能够提前发现90%以上的代码Bug问题,同时也能防止代码的腐化,在工程重构演进时起到至关重要的作用。为什么需要单元测试纵观优秀的开源工程,完备的单元测试总是必须的条件。通过这些单元测试,我们可以充分了解代码中相关类和方法的作用和核心逻辑,熟悉各种场景的运行情况。同时也因为有了单元测试,开源作者在接受各种feature的代码提交时才有稳定安全的保障。其实单元测试的重要性所有开发同学应该都了然于胸,同样TDD(测试驱动开发)也不是一个新的概念,但是真当我们落地实践时,又总会找出各种各样的理由来劝服自己下次一定好好写单元测试,这一次先放过自己。这些理由无外乎,开发周期太紧了;
2022年5月23日
其他

因果推断实战:淘宝3D化价值分析小结

和:每个用户i对于是否接受干预分别有两个潜在结果和。假设我想要探究高考对于小明收入的影响,那么真实的结果就是小明的高考分数和他的收入。而假设平行世界里有和小明一模一样的小明2号,但他高考少了20分,
2022年4月11日
其他

TypeScript 研发规约落地实践

写。如果说有什么困难,唯一有成本的就是类型编程,但这其实在实际的业务中占比是非常小的,除非你是框架或基础类库的维护者。约束的组成和制定上图描述了我们目前落地的约束组成,包括我们马上要讲的一套包括
2022年4月7日
其他

淘宝Push智能文案生成

本文主要介绍了2021年笔者在智能文案生成项目所做的工作。业务背景Push是淘宝重要促活手段之一,运营同学通过投放各类营销、产品Push以达到唤端、促活目的。Push素材通常由人群、商品或者活动、文案构成,与用户有直接沟通的便是Push文案,优质的素材文案吸引用户点击起到正向促活作用,而劣质内容不仅可能影响用户体验,更甚者可能引发用户关闭通道。淘宝Push团队构建了统一投递平台方便各个业务方创建任务投放Push,为业务引流。通常业务同学在创建投放任务前进行Push文案创作,任务上线稳定投放后基本处于维护状态极少进行文案更新。Push业务整体文案多样性低,现有素材库内容同质且单一,基本基于电商视角出发,缺少创新和个性化突破;文案人工创作成本高,当前基本由平台与业务手动创建,依据个人文案创作能力进行输出,缺少丰富文案参考与创意输入;Push平台缺乏对文案的统一沉淀和推荐。历史优秀文案无法及时反馈到文案创建环节,缺乏算法智能化的文案创意。基于以上问题,业务同学联合淘宝Push算法提出了智能文案生成项目,期望通过文案智能化生产和文案推荐,赋能文案创作、管理、实验、优化各个环节,提升文案丰富程度和更新频率,辅助提升
2022年3月31日
其他

内存优化: 纹理压缩技术

Android平台由于机型、厂商众多,纹理压缩的支持情况较为复杂;其中ETC1支持的最为广泛,但是由于ETC1不支持Alpha通道,导致其使用场景有限,ETC2覆盖度也挺高但是需要启用OpenGL
2022年3月16日
其他

什么是好的技术氛围?

无论哪个行业无论工作多久,每个人都希望自己所处的环境有一个好的氛围,工程师们会希望自己公司有一个好的技术氛围。什么才是好的技术氛围呢?好的技术氛围有什么现象?打造好的技术氛围,又需要做什么工作呢?今天我们邀请了
2022年3月14日
其他

APM 页面加载耗时校准

如何从用户角度实现可视计算的历史进行介绍,并深入详解淘宝对页面加载耗时校准所做一些努力与改变。从0到1:可视计算页面可视耗时可以拆解成起点与终点,起点争议相对较少,使用的是
2022年2月23日
其他

新手项目经理入坑指南

我们邀请大淘宝技术PMO团队的鹿迦来聊聊新同学如何成长为一名合格的项目经理。偶尔有同学闲聊问起来“你们PMO团队招人有什么要求,你看我申请转岗过来有机会吗?”,遇到这种情况,我总是随口回应“你没问题的,只要会拉会和发周报就行~”。仔细想想,作为一个项目经理,常常会给人一个感觉就是像万金油一样什么事情都掺和,但是说到岗位核心技能门槛又不是那么的明确。最近团队里来了一个才参加工作时间不久的新同学,在同她一起交流的过程中稍微有点心得,所以趁机写了本篇总结,希望可以作为有兴趣的同学的PM入坑指南(澄清一下,本文只涉及对新人的入坑建议,不涉及成熟PM落地新业务&新组织的部分,这个部分计划以后再写一篇总结)。职业发展金字塔模型从一个小白成长为一个PM老鸟,项目管理相关的能力的习得只是其中一个因素之一,除了习得的能力,还有很多其他重要的因素决定了你是否可以胜任这个岗位。我认为这个成长和慢慢胜任的过程对于其他的职业同样有效,我自己总结了一下,形成了下面这个职业发展金字塔(纯原创,欢迎改进建议)。对照这个金字塔模型,我们可以认为一个人是否可以胜任PM的岗位(或者在PM岗位上能取得更好的成绩),一共受四个重要因素的影响:动机、策略、技巧、特质。越在金字塔的上面越能决定你是否适合这个岗位,获得的难度也越大。综合评估你在这四个方面是否想清楚了,然后可以尝试判断你是否真的要跳进来了。▐
2022年2月16日
其他

19条跨端cpp开发有效经验总结

跨多端开发避坑指南前言细想,专门从事跨多端开发已两年有余,前段时间因为组里跨桌面端项目需要回归windows下开发了整整2个月,怎么形容这两个月呢,嘿嘿,各种“肆无忌惮”的写法,终于不用在写一行代码考虑后面n个端的行为了,"劳动力"、"效率"得到大幅度解放,但是随着windows发版结束后,我负责mac的适配相关工作,在这个阶段,发现很多不"合规"的奇技淫巧(原定2个工作日的适配quota,大概进行了一周),作为一个略有想法的cpp程序员,遂产生了想写一个跨多端开发避坑指南的想法,想起过去看的Scott
2022年2月14日
其他

淘宝长辈模式技术实践万字总结

拓展阅读作者|淘宝银发版项目组编辑|橙子君出品|阿里巴巴新零售淘系技术
2022年2月9日
其他

淘宝小部件 Canvas 渲染流程与原理全解析

TextureView上。此模式性能尚可,但是主要弊端是无法响应Touch事件、丢失a11y特性以及无法获得TextInput焦点,正是由于这些兼容性问题导致此方案应用场景比较受限。Hybrid
2022年1月27日