• 博客(990)
  • 收藏
  • 关注

原创 淘系技术,实力为2019年双11而战!稳!

今年,双11走到了第11个年头,史无前例的,阿里经济体内有49支技术团队共同参与作战,也是第一次,双11的核心系统将100%跑在云上,这无疑让今年的双11技术作战充满了更大的挑战。正如2019年双11技术团长平畴(汤兴)说的“「善战者,无智名,无勇功」,这是我们技术人最高的境界”。我们一起捍卫了阿里技术人的荣耀,一个字 “稳”!年年双11,回回新玩法,“在吗,盖楼吗?”成为了好友聊天的日常,每天蹲...

2019-11-12 00:38:06 19539 5

原创 读 Node.js 源码深入理解 cjs 模块系统

本文将对 Node.js 源码进行探索,深入理解 cjs 模块的加载过程。相信大家都知道如何在 Node.js 中加载一个模块:const fs = require('fs');const express = require('express');const anotherModule = require('./another-module');没错,require 就是加载 cjs 模块的 ...

2022-09-26 16:20:17 98

转载 “时间花在哪里,结果就在哪里” | 技术人金句系列

工程师在写代码前习惯撸清逻辑写出流程,就像他们也喜欢给很多事情做规划一样,清楚自己喜欢什么,想要什么,不断优化。虽然有时程序会异常,但只要系统不崩,就一定会找出所有漏洞,写出满意程序。今天,我们想分享来自大淘宝技术工程师们的《人间清醒语录》,这些金句里凝结了他们多年实践经验的智慧,希望可以给你优化“程序”的过程带来一些帮助。在技术人前进的道路上,看一千遍、一万遍别人的想法,都不如自己去经历一遍。知...

2022-09-23 16:20:28 104

原创 浅析设计模式1 —— 工厂模式

本文将着眼于工厂模式,从简单工厂模式、工厂方法模式和抽象工厂模式出发,展开学习和深入探讨。本文为此系列第一篇。概述我们在进行软件开发时要想实现可维护、可扩展,就需要尽量复用代码,并且降低代码的耦合度,而设计模式就是一种可以提高代码可复用性、可维护性、可扩展性以及可读性的解决方案。大家熟知的23种设计模式,可以分为创建型模式、结构型模式和行为型模式三大类。其中,创建型模式是对类的实例化过程进行抽象...

2022-09-21 16:20:34 707

原创 跟踪元素可视?试试Intersection Observer

本文将讲解Intersection Observer的用法及其polyfill的原理,我们一起来看下。背景现在有以下几种场景。页面滚动时懒加载图片实现无线滚动页面(Infinite scrolling)根据某个元素是否出现在视窗从而执行某些逻辑对于这些传统的实现方法是,监听到scroll事件后,调用目标元素的getBoundingClientRect()方法,得到它对应于视口左上角的坐标,再判断...

2022-09-20 16:20:33 144

转载 《电商直播高画质开播指南》正式发布,6步快速搭建一个高清直播间

《电商直播高画质开播指南》,由阿里巴巴大淘宝技术、淘宝直播联合佳能“佳直播”高清直播解决方案(以下简称“佳直播”)发布,旨在以标准化、场景化和低成本学习帮助用户提升直播画质,提供直播开播标准化解决方案,推动主播开播和观众观看体验不断升级。《指南》内容包含五套视频和对应的文档。其中最有价值的是,其推荐的设备选型方案和详细参数配置都是经过真实环境的长时间测试得出,具备很强的实用性。本篇文章,我们将为大...

2022-09-19 16:32:29 144

原创 mysql悬挂事务问题

本文将和大家分享IDB在执行事务的过程中出现问题的排查经过,主要包括原理和实践两部分。背景最近业务系统生产环境的IDB在执行事务的过程中出现了ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction 异常。通过相关资料的查询和了解,发现出现这个问题的原因是产生了悬挂事务。整个排查的过程也比较困难,因此和大家...

2022-09-16 16:20:15 636

转载 进入 WebXR 的世界

随着元宇宙的兴起,VR和AR技术再次回到同学们的视野。比起完全是0%支持率的WebGPU,作为WebVR技术的后继者,WebXR Device API以0%+71.08%的支持率展示了对于一个新的feature的期待。面对越来越碎片化的移动端生态,Web标准作为可能是唯一的跨平台工具,在生态中的重要性不言而喻。如果想要学习WebXR,从哪里入手呢?别急,虽然WebXR和WebGPU还都不成熟,但是...

2022-09-09 16:20:59 166

原创 淘宝逛逛ODL模型优化总结

传统的离线天级别模型批训练方式滞后,难以满足业务快速发展的需求,而ODL正是解决这一痛点的关键,这一技术可以让我们充分利用实时数据分布,提升算法效率,拿到更好的业务成果。ODL简介ODL全称是Online Deep Learning,在线深度学习。简言之,就是让深度模型支持实时更新。内容分发场景下,用户行为和内容变化频繁。相较于电商场景有更多的交易、物流和评价等数据(长周期反馈),内容场景化更多依...

2022-09-07 16:20:36 715

原创 ODPS SQL优化总结

ODPS(Open Data Processing Service)是一个海量数据处理平台,基于阿里巴巴自主研发的分布式操作系统(飞天)开发,是公司云计算整体解决方案中最核心的主力产品之一。本文结合作者多年的数仓开发经验,结合ODPS平台分享数据仓库中的SQL优化经验。背景数据仓库,是一个面向主题、集成的、随时间变化的、信息本身相对稳定的数据集合。数据仓库从Oracle(单机、RAC),到MPP(...

2022-09-06 16:20:11 266

原创 服贸会在京举行|淘宝直播携手佳能佳直播联合发布《电商直播高画质开播指南》让品质直播触手可及...

8月31日至9月5日,主题为“服务合作促发展 绿色创新迎未来”的2022年中国国际服务贸易交易会,以线上线下相结合的方式在国家会议中心和首钢园区举办。在本期的服贸会上,阿里巴巴大淘宝技术联合佳能“佳直播”高清直播解决方案(以下简称“佳直播”)发布《电商直播高画质开播指南》,旨在以标准化和低成本学习帮助用户提升直播画质,提供直播开播标准化解决方案,推动主播开播和观众观看体验不断升级。此外,我们在阿里...

2022-09-05 17:40:33 186

原创 一次日常需求处理带给我的思考

大淘宝技术一位新人小同学在一次日常需求处理后的感悟,整理成文章后分享给大家,望可以得到各位前辈的指点、各位新人同行的交流。需求背景团队项目原来使用的云存储中间件已经下线了,由于历史原因未能及时将其全部迁移到新的云存储平台,进而导致部分功能在使用时出现问题。比如在某些需要上传并存放文件的场景下,会导致上传失败,影响正常的业务逻辑;在某些需要下载文件的场景下无法找到正确的路径,从而无法下载相关业务数据...

2022-09-02 16:20:34 608 2

原创 告别BeanUtils,Mapstruct从入门到精通

如果你现在还在使用BeanUtils,看了本文,也会像我一样,从此改用Mapstruct。对象之间的属性拷贝,之前用的是Spring的BeanUtils,有一次,在学习领域驱动设计的时候,看了一位大佬的文章,他在文章中提到使用Mapstruct做DO和Entity的相互转换,出于好奇,后来就去了解了一下Mapstruct,发现这个工具确实优秀,所以果断弃用BeanUtils。如果你现在还在使用Be...

2022-09-01 16:20:04 1221

转载 FSE 2022 Industry Track | 融合领域知识的前端代码自动生成系统

阿里巴巴大淘宝技术团队和北京大学李戈教授团队的研究者,共同完成了为大淘宝技术前端生成业务代码的模型,这是首个在工业开发环境中被采用的代码生成系统。代码生成,即希望机器能像人一样将一些自然逻辑,用形式化的方式,或者说代码表达出来,这样的能力非常令人振奋,同样也充满了困难。目前尽管深度学习非常强大,但即使是百亿级的 Transformer,仍然在这个任务上做的不尽人意。而本文提出的模型,第一次真正在工...

2022-08-29 16:20:08 172

原创 大淘宝技术行业FaaS化实战经验分享

本文将分享我们在FaaS化过程中的经验,尝试回答关于FaaS的Why、What、How三个问题,给对FaaS有兴趣的同学提供一些实践经验。背景介绍从2019年开始,作为集团FaaS的实践先锋队,大淘宝技术行业团队在FaaS领域摸爬滚打了三年,并在iFashion、天猫运动等多个业务场景落地。这篇文章是想分享一下我们在FaaS化过程中的经验,尝试回答关于FaaS的Why、What、How三个问题,给...

2022-08-26 16:20:49 196

原创 响应式编程的复杂度和简化

响应式系统不是今天的主题,我们要讨论更具体的话题,即响应式代码的编写会有哪些复杂度,应该如何简化。什么是响应式编程什么是响应式编程,它是一种编程范式?还是一种设计模式?抑或是其他?响应式系统和响应式编程有什么关系?又比如,响应式编程它适用于什么场景?解决什么问题?微软于2011年率先建设了.Net上的Rx库,以简化容易出错的异步和事件驱动编程,迈出了响应式编程的第一步,随后业界为许多编程语言提...

2022-08-24 16:20:52 190

转载 直播预告 | 端云协同的淘宝机器学习系统

2022年7月,被誉为「系统界的奥斯卡」国际顶会OSDI首次收录淘宝系统论文,自研端云协同机器学习系统Walle(瓦力)获得大会主旨发言者推荐。8月25日,19:00-20:30,DataFun与大淘宝技术联合策划了本次活动,邀请大淘宝技术Meta团队揭秘这个业界首创、端到端、通用型、规模化产业应用的端云协同机器学习系统!欢迎大家按时收看直播。详细介绍:牛超越 大淘宝技术 Meta 学术合作实习生...

2022-08-22 16:20:50 136

原创 拍立淘抠图体验优化总结

本文将介绍拍立淘结果页从上线至今出现的体验问题及解决方案。前言拍立淘结果页从上线至今,经历了许多年的迭代,始终保留了一个抠图的功能——用户可以在图片上自主选择要搜索的图片区域功能经过这么多年使用,由于当初的实现没有那么精细,导致一直存在一些体验上的问题,用户重点反馈的内容包含以下几个部分:抠图不易操作找不到抠图框小物件搜索不出来....基于以上这些问题,我们进行了一一解决,下面进入正题。交互体验...

2022-08-22 16:20:50 199

原创 ECCV2022 | 开源:基于可分离级联查找表的实时图像增强方法

近日,阿里巴巴大淘宝音视频算法与基础技术团队和上海交通大学图像所合作论文《SepLUT:Separable Lookup Tables for Real-time Image Enhancement》被国际顶级会议ECCV 2022接收,全部代码及模型均已开源。ECCV全称为EuropeanConference on Computer Vision,即欧洲计算机国际会议,是计算机视觉领域的三大...

2022-08-19 16:20:43 795

原创 深度强化学习技术概述

在本文中详细介绍了深度强化学习技术,将强化学习分成三大类(value-based算法、policy-based算法及结合两者的AC算法)来进行介绍。首先,从数学理论角度介绍了强化学习;接着,从不同适用方向对两类深度强化学习算法进行介绍:基于值函数(Value-based)的深度强化学习算法DQN和基于策略(Policy-based)的深度强化学习算法PG。最后,介绍目前应用广泛的结合前两个算法的结...

2022-08-18 16:20:16 303

转载 倒计时5天!解锁“2022阿里巴巴开源开放周”精彩议程

距离 "2022阿里巴巴开源开放周"还有5天!30+精彩演讲,40+全球行业大咖完整直播议程正式上线提前预约专场直播间精彩分享和海量周边抽奖福利等你来解锁直播间不见不散!2022首届阿里巴巴开源开放周Alibaba Open Source Week将于8 月22-24日以线上形式举办,包括1场主论坛、5大领域专场论坛。邀请来自业界顶尖技术专家学者,和阿里开源领军人和头部项目代表共同前瞻开源领域的未...

2022-08-17 16:20:04 146

原创 你可以这样子去理解useReducer

本文将聚焦于useReducer这个钩子函数的原理和用法,笔者带领大家再一次深入认识useReducer。前言相信前期使用过react的前端同学,大都会经历从class 语法向hooks 用法的转变,react 的hooks 编程给我们带来了丝滑的函数式编程体验,同时很多前端著名的文章也讲述了hooks 带来的前端心智的转变,这里就不再着重强调,本文则是聚焦于useReducer这个钩子函数的原理...

2022-08-17 16:20:04 171

原创 esModuleInterop 是如何影响 tsc 的

本文尝试从 CommonJS 和 ES Module 两者规范的差异,详细说明该配置是如何影响 tsc 编译结果的。背景:从一个意外的问题说起tsconfig有个配置项esModuleInterop: boolean,它会影响 typescript 在编译时如何处理模块加载。该配置修改后(false -> true) 导致图片上传代码报错,报错部分代码摘要如下:import * as TPS...

2022-08-16 16:20:23 129

原创 天猫淘宝卡券包演进史

卡券包整体分为PC端以及无线端两大部分,最开始的卡券包是PC版,随着PC向无线化转型的大潮,无线端卡券包也同步产生。业务定位卡券包这个产品是伴随着电商卡券系统的建立同步产生的。顾名思义,卡券包就是用户资产的展示阵地,电商系统中在用的最多用户资产就是优惠券、红包,卡券包就承接了用户查看自己领取的红包、卡、票、券等用户资产的功能。整体发展综述卡券包整体分为PC端以及无线端两大...

2022-08-12 16:20:47 171

原创 三端一体计算方案:Unify SQL Engine

本文将介绍数仓建设过程中面对三种计算模式,较低的研发效率、不可控的数据质量,以及臃肿数据接口服务的困境的解决方案。背景在漫长的数仓建设过程中,实时数仓与离线数仓分别由不同的团队进行独立建设,有大而广的离线数仓体系,也有需要追求业务时效,需要建设实时数仓。然而,业务数据需求和数据产品需求中,往往需要把实时数据与离线数据结合在一起进行比对和分析,但是这两个天然不一样的数据存储...

2022-08-11 16:20:50 415

原创 在阿里做前端程序员,我是这样规划的

许多前端工程师工作超过了3年之后会遇到一个迷茫期,我跟很多前端从业人也聊过,有一部分人说想做开源项目推广出去(类似react,vue)变成前端网红。有些说想去创业。往往更长远的职业发展规划考虑的很少。我希望把自己工作经历和在阿里学到的东西分享给大家,作为一个案例解答有关职业发展的困扰。前端程序员常问的几个问题此文来自一次团队内的分享。我是来自大淘宝技术内容前端团队的胤涧,...

2022-08-10 16:20:07 225

原创 前端智能化实践——可微编程

研究者表示,由于广泛的科学计算和机器学习领域在底层结构上都需要线性代数的支持,因此有可能以可微编程的形式,创造一种新的编程思想。下面,我们就一起进入这个全新的领域。什么是可微编程通过动画、动效增加 UI 表现力,作为前端或多或少都做过。这里以弹性阻尼动画的函数为例:函数在时是效果最好的。最终,实现成 JavaScript 代码:function damping(x, ma...

2022-08-09 16:20:13 65

原创 二维空间下的向量旋转

向量运算是计算机图形学的数学基础,而向量的旋转是向量的一种常见操作,本文将详细讲解向量在二维空间下的旋转原理。在前端项目中,旋转一个元素我们会使用CSS的rotate函数,本文会让你对rotate有一个全新的认识。向量二维中间中的向量其实就是一个包含了两个数值的数组,一个是 x 坐标值,一个是 y 坐标值。向量既可以表示一个“点”(x, y),也可以表示一个从原...

2022-08-08 16:20:19 320

原创 短视频无尽流前端开发指南

本文基于对家装家居内容短视频无尽流的开发实践,总结出了一套适应于该场景及衍生场景的前端开发指南,通过阅读本文可以快速了解短视频无尽流的前端开发。前言短视频无尽流是当下比较热门的一种业务场景,在日常生活中随处可见。本文基于对家装家居内容短视频无尽流的开发实践,总结出了一套适应于该场景及衍生场景的前端开发指南,通过阅读本文可以快速了解短视频无尽流的前端开发。短视频无尽流介绍短...

2022-08-05 16:20:05 207

转载 客户端单元测试实践-C++篇

本文主要分享团队在做单元测试中遇到的问题与解决思路,希望能对大家所有帮助。背景我们团队在淘宝中主要负责BehaviX模块,代码主要是一些逻辑功能,很少涉及到UI,为了减少双端不一致问题、提高性能,我们采用了将核心代码C++化的策略。由于团队项目偏底层,测试同学难以完全覆盖,回归成本较高,部分功能依赖研发同学自测,为了提高系统的稳定性,我们在团队中实行了单元测试,同时由于集...

2022-08-04 16:20:43 44

原创 跨桌面端之组件化实践

本文主要介绍了千牛PC跨端框架中,我们关于组件化部分的思考、方案选择、遇到的一些问题和解法。此文为本系列文章第三篇,第一篇:跨全端SDK技术演进第二篇:跨桌面端之Web容器演进本文:跨桌面端之组件化实践背景介绍windows千牛功能很丰富,mac千牛什么时候可以把能力对齐?相信所有跨平台应用,都有遇到过这样的窘境。由于平台差异的复杂性,维护多端产品成本非常高,且常常存在多...

2022-08-02 16:20:43 85

原创 如何正确地配置入口文件?

第三方库作者就需要编写相应的入口文件,来达到“动态”引入的目的,同时也方便于打包工具对于无用代码的剔除,减少代码体积,本篇文章主要聚焦于前端工程如何正确地配置入口文件。写在前面在node中支持两种模块方案——CommonJS(cjs) 和ECMAScript modules(esm)。随着ESModule的广泛使用,社区生态也在逐渐转向ESModule,ESModul...

2022-08-01 16:21:13 44

转载 如何优化OpenSumi终端性能?

对于一款现代 IDE 来说,终端是非常重要的内置功能,在基于 Web 技术构建的 IDE /编辑器产品中,终端功能的实现基本上使用两个开源的库来实现Xterm.js 一款使用 TypeScript 编写的前端组件,提供可以运行在浏览器中的终端模拟器node-pty forkpty(3) 的 Node.js 绑定,提供简单友好的接口来 fork 一个 shell 进程,实...

2022-07-29 16:20:38 56

原创 上海交大牵手淘宝成立媒体计算实验室:推动视频超分等关键技术发展

7月27日,上海交通大学电子信息与电气工程学院与阿里巴巴集团大淘宝技术宣布达成战略合作,共同成立上海交通大学电子信息与电气工程学院-淘宝(中国)软件有限公司媒体计算联合实验室(下称”联合实验室”)。该联合实验室是为了更好地探索未来媒体时代的极致体验,通过创新和产业结合,推动行业发展。据悉,双方将依托上海交大在数字媒体领域深厚学术积累,和阿里巴巴大淘宝电子商务领域的领先市场...

2022-07-28 15:40:52 126

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

本文介绍了人脸风格化技术的整个流程,以及该技术在直播、短视频等场景下的应用。该技术可作为氛围营造、提高观感的有效手段,也可在买家秀等图文场景下起到人脸隐私保护、增添乐趣等作用。前言随着元宇宙、数字人、虚拟形象等概念的爆发,各种数字化协同互动的泛娱乐应用也在不断的落地。例如,在一些游戏中,玩家成为虚拟艺人参与到高还原度的现实艺人日常工作中,并会在特定情况下,与虚拟艺人在人脸...

2022-07-27 16:20:25 176

原创 跨桌面端Web容器演进

浏览器是大家所熟悉的。本文会从容器的架构演进,容器的功能增强和稳定性保障及未来的演进,这3个方面介绍一下我们的应用程序是如何对接浏览器的能力的。有问题的地方欢迎大家指正,也欢迎对浏览器内核感兴趣的同学一起探索。此文为本系列文章第二篇,第一篇:跨全端SDK技术演进本文:跨桌面端之Web容器演进第三篇:跨桌面端之组件化实践背景随着客户端技术的逐渐发展,Web容器已经深入客户端...

2022-07-26 16:20:31 203

原创 跨全端SDK技术演进

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

2022-07-25 16:20:23 79

原创 使用TinkerPop框架对GDB增删改查

本文介绍了使用GDB作为存储,进行服务端开发中需要注意的点。并以TinkerPop框架实现了几个常用的例子,展示GDB操作增删查改时需要注意的地方,以及使用两种方式提交GDB操作的差异。引言作为比较出名比较通用的图数据库的服务端框架之一,TinkerPop(地址:https://tinkerpop.apache.org/)with Gremlin应该算是大家的常用选择。...

2022-07-22 16:20:28 331

转载 驱动页面性能优化的3个有效策略

测试通过发现、分析、验证三板斧,驱动推进页面性能优化快速有效,在业务方或其他同学提过来之前,我们都已经发现并有了分析,在优化节奏上更具有主动性。背景▐前端性能优化的业务意义前端的本质价值是什么?我认为是给用户创造良好的交互体验。前端性能对用户体验、对业务跳失率的影响,在业界已有共识,不言而喻。根据 Google 的数据,如果移动站点的加载时间超过 3 秒,53% 的用...

2022-07-21 16:20:24 66

转载 无代码生产新模式探索

如何高效率规模化生产中后台页面,如何保障产品标准、质量及体验的一致性,如何提升开发效率是我们当务之急的命题。背景电商发展至今,供给侧升级降本提能、精细化运营是未来的关键,由此B端中后台需求井喷并呈增长态势。随着运营工作台SOP体系通过跨系统能力整合打造运营标准操作链路,解决运营操作体验及站点交付效率问题时,运营能力的产品&体验一致需要页面研发保障,提供保障体验的高...

2022-07-20 16:20:24 106

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除