草庐IT

瘦身50%-70%,携程 Taro 小程序样式 Size 缩减方案

作者简介Can,携程前端开发,目前从事小程序开发工作,对编译打包技术、小程序跨平台解决方案有浓厚兴趣。一、概述目前我们团队小程序是使用Taro跨端方案React框架进行开发,基于现有样式方案,在编译打包后会产生大量的样式代码冗余,在项目编译后的产物中占有较大比例。分析了编译后的样式代码后,我们发现冗余代码主要体现在两个方面:项目样式文件中大量使用了父子选择器作为作用域进行样式隔离,编译后出现类名大量重复冗余。如以下SCSS文件样式代码中,编译后 .box.item 重复冗余了三次。//编译前代码.box{.item{.item1{}.item2{}.item3{}.item4{}}}//编译后

成本低误差小,携程基于 Kafka 的 Serverless 延迟队列的实践

作者简介Pin,关注RPC、ServiceMesh、Serverless等云原生技术。一、背景随着上云项目的不断推进,大量的应用需要部署到aws上,其中有很多应用都依赖延迟队列的功能。而在 aws 上,我们选择以 Kafka作为消息队列,但是Kafka本身不支持延迟队列,这就需要思考如何基于Kafka来实现延迟队列。二、需求统计了一下所有需要使用到延迟队列的场景,有以下几大特点:延迟时间不固定。有的topic需要支持5分钟的延迟,有的却要求支持7天的延迟。延迟消息数量小。所有的场景中涉及到的每天延迟消息的数量不超过1亿条,每条消息的大小不超过1MB。延迟消息不能丢失,可以不保证有序。延迟误差小

携程火车票基于因果推断的业务实践

作者简介Seven,数据分析师,专注用户增长、数据科学等领域。一、背景携程作为旅游平台,跟用户需求息息相关,理解和识别各个策略/系统对转化/收益的因果关系尤为重要,在这个过程中需要将影响因变量的其他因素进行控制,但这些因素通常是复杂且难以测量的。在关系识别困难的情况下,如何使用更为科学的方法,对策略进行微观和宏观的建模分析,如何系统性的评估各种策略的长期影响,是要解决的重要问题。在火车票BG我们现阶段已经遇到的需要探究因果的问题有五类:产品功能迭代评估、虚拟产品价值评估、精准营销和运营、无AB实验增量效果评估、外部环境变化影响评估。遇到这些问题我们通常有几种方式来解决: 在产品设计上构建正确的

提速10倍+,StarRocks 指标平台在携程火车票的实践

作者简介Kane,携程高级数仓经理,专注数仓建设、数据应用和分析;Wn,大数据平台开发专家,专注大数据领域。携程火车票事业群运营着铁友、携程火车票和去哪儿火车票等重要的业务和品牌,目前正在积极地拓展海外市场。火车票的指标平台旨在为业务人员提供便捷的指标查询服务,让业务人员能够快速灵活地获得这些业务和品牌相关的指标数据。一、早期OLAP架构与痛点火车票事业群的业务涵盖了火车票、国际火车票、汽车票(含船票)等产品,错综复杂的业务也产生了多种多样订单和行为数据,通过对这些数据的分析可以揭示当前业务的发展现状,也可以为未来的发展提供方向指引。早些时候事业群开发过一套指标平台,根据不同的指标类型使用了3

携程:一个被严重低估了的在线旅游平台?

来源:猛兽财经 作者:猛兽财经携程和旅游行业面临的不利因素依然存在在疫情期间,由于全球范围内的旅行受到了限制,所以整个旅游行业都受到了巨大打击。休闲旅游和商务旅行也陷入了停顿,此后一直在缓慢恢复。而当疫情限制被取消时,旅游行业过了一段时间才开始缓慢恢复正常,大多数航空公司、酒店和第三方预订公司的收入和利润直到现在还没恢复到情爆发前的水平。虽然休闲旅游大多已经恢复到了疫情前的水平,但商务旅行仍然很疲软,因为很多中小企业为了节省开支已经将工作通过Zoom(ZM)等平台移到了线上。所以携程(TCOM)的收入目前还没反弹,但预计将在未来一年左右可能会出现反弹。2019年,携程的收入超过了51亿美元,但

携程火车票7个优化动画性能的方法

作者简介KayHuang,携程高级视觉设计师,专注于前端样式与动画领域。一、背景携程火车票营销页使用css制作动画很多年了,这大大提高了动画给予页面丰富的视觉体验。不过,在开发的过程中,也遇到了一些性能相关问题和用户反馈,比如头部动画卡顿、页面打开时间较长、页面打开后部分数据加载时间较长等问题。为解决这些问题,我们借助性能检测工具定位问题,并查阅源码、文档等资源解决问题,形成了这篇文章。二、渲染优化要优化动画性能,首先要了解浏览器是如何进行元素渲染的,浏览器的渲染流程有以下四步:a.计算元素的样式(可能通过脚本重新计算);b.生成每个元素的几何形状和位置(布局);c.绘制图层的每个像素(初始化

携程小程序内嵌webview实践指南

作者简介思语,携程高级前端开发工程师,关注互动营销领域;Olivio,携程高级前端开发工程师,关注ReactNode组件化;Stone,携程高级研发经理,关注跨端解决方案,云原生落地等领域。一、背景这篇文章将向大家分享团队在小程序webview方面的开发心得,以微信小程序为主要环境,介绍在业务开发中处理小程序webview内嵌H5所遇到的问题及解决方案。具体将从小程序平台与H5差异、小程序内嵌webview通信、小程序webview常见问题展开叙述。二、平台差异下面将浅析并回顾一下小程序和H5在渲染方面的几点差异。2.1小程序方面以微信小程序为例,相信今天大部分的读者对微信小程序的系统架构都比

携程小程序内嵌webview实践指南

作者简介思语,携程高级前端开发工程师,关注互动营销领域;Olivio,携程高级前端开发工程师,关注ReactNode组件化;Stone,携程高级研发经理,关注跨端解决方案,云原生落地等领域。一、背景这篇文章将向大家分享团队在小程序webview方面的开发心得,以微信小程序为主要环境,介绍在业务开发中处理小程序webview内嵌H5所遇到的问题及解决方案。具体将从小程序平台与H5差异、小程序内嵌webview通信、小程序webview常见问题展开叙述。二、平台差异下面将浅析并回顾一下小程序和H5在渲染方面的几点差异。2.1小程序方面以微信小程序为例,相信今天大部分的读者对微信小程序的系统架构都比

干货 | 携程小程序内嵌webview实践指南

作者简介思语,携程高级前端开发工程师,关注互动营销领域;Olivio,携程高级前端开发工程师,关注ReactNode组件化;Stone,携程高级研发经理,关注跨端解决方案,云原生落地等领域。一、背景这篇文章将向大家分享团队在小程序webview方面的开发心得,以微信小程序为主要环境,介绍在业务开发中处理小程序webview内嵌H5所遇到的问题及解决方案。具体将从小程序平台与H5差异、小程序内嵌webview通信、小程序webview常见问题展开叙述。二、平台差异下面将浅析并回顾一下小程序和H5在渲染方面的几点差异。2.1小程序方面以微信小程序为例,相信今天大部分的读者对微信小程序的系统架构都比

干货 | 日均报错量降低95%,携程小程序生态之自动化错误预警方案

作者简介携程前端框架团队,为携程集团各业务线在PC、H5、小程序等各阶段提供优秀的Web解决方案。产品涉及各类前端/Node端应用框架、研发工作台、前端中台化、静态资源发布系统等。当前主要专注方向包括:新一代研发模式探索,Rust构建工具链路升级、Serverless应用框架开发、在线文档系统开发、低代码平台搭建、适老化与无障碍探索等。摘要携程小程序自动化错误预警方案是一套完整且通用的小程序前端错误监控方案。此方案提供小程序错误自动采集SDK,并对错误所在的页面路径进行偏移矫正,能够准确通知相应的开发负责人;将错误信息分为生产、测试、开发3种阶段,根据错误发生的阶段提供相应的错误预警及处理方案