实现携程X分钟前有人预定功能 原理:利用cookie与计时器两部分: 首先,进入页面,x会被随机数赋值,赋值后x会一分钟加1,直到加到60,再从1开始累加. 页面是否相同是根据页面的url后的id值判断: <span id='myspan'></span>   x分钟前有人预定该景点 <script>$(document).ready(function() { if (window.location.href.includes('?')) {       if (win…
干货 | 质量保障新手段,携程回归测试平台实践 原创 Sedro 携程技术 2021-01-21…
一.业界背景与现状 近些年来,有三件事实在业界同时发生:     1.  业务的发展朝着"生产"和"使用"海量增长数据的方向演进.     2.  摩尔定律 的失效.     3.  快速增长的存储和网络带宽需求同时束缚着传统数据中心基础设施.   这三件事实的影响下,大大限制了为应用程序扩展能力.数据存储和分析扩展容量以及以系统降本增效的能力.这也导致以计算为中心的架构逐渐转变为了以数据为中心的架构,同时对数据库管理员.IT 基础设施管理者甚至采购团队提出了新的挑…
React Native(下文简称 RN)开源已经一年多时间,国内各大互联网公司都在使用,携程也在今年 5 月份投入资源开始引入,并推广给多个业务团队使用,本文将会分享我们遇到的一些问题以及我们的优化方案. 一.背景和使用情况介绍 为什么会引入 React Native? 1. AppSize 占用 携程旅行 App 从 11 年开始开发,至今已有 5 年多时间,随着各项业务功能的全面移动化,以及公司"Mobile first"策略的指引下,App 功能越来越多,越来越臃肿,Size…
作者简介 王幸福,携程酒店研发部高级测试经理,负责无线自动化测试相关工作.在测试框架和平台研发.移动测试.DevOps等领域有着丰富的经验. 如今很多大型互联网公司.创新型企业都在积极地进行DevOps实践和落地.为什么DevOps如此受青睐? 我们该如何实施DevOps?DevOps中Dev代表开发,Ops代表运维,那么在这个崭新的流程体系中,QA又该如何找到自己的位置?带着这些疑问和困惑,我们希望在本文中都能进行探索和解答. 一.业务和技术变革驱动流程的变革 以往在软件开发的世界里,以月甚至…
转自本人运营的公众号“ 携程技术中心PMO”(ID:cso_pmo)     关于我们   我们面临的挑战   敏捷开发是以用户的需求进化为核心,采用迭代.循序渐进的方法进行软件开发.先把一个大项目分为多个相互联系.可独立运行的小项目,再分别完成,而在此过程中软件一直处于可使用状态.   敏捷开发模式可以对过程进行自主调整,它强调人的因素,能够灵活响应需求和技术的不断变化,并且产出高质量的软件产品.   实行敏捷开发之前,我们面临的挑战:   如何令30多人的团队保持高效运作? 如何定义BU和内…
写在前面:选型考虑 携程于1999年创立,2016-2018年全面推进应用 MySQL 数据库,前期线上业务.前端技术等以 SQL Server 为主,后期数据库逐步从 SQL Server 转到开源 MySQL 数据库.随着技术多元化以及业务的不断发展,MySQL 逐渐无法满足携程需求,主要体现在:业务数据模型呈现多元化,在异地多活部署.运维成本.资源弹性管理以及应用稳定性等方面对数据库技术提出了新的要求,MySQL 方案在单机性能瓶颈表现明显,同时分库分表方案带来运维复杂度和维护成本也随之增…
携程Android App的插件化和动态加载框架已上线半年,经历了初期的探索和持续的打磨优化,新框架和工程配置经受住了生产实践的考验.本文将详细介绍Android平台插件式开发和动态加载技术的原理和实现细节,回顾携程Android App的架构演化过程,期望我们的经验能帮助到更多的Android工程师. 需求驱动 2014年,随着业务发展需要和携程无线部门的拆分,各业务产品模块归属到各业务BU,原有携程无线App开发团队被分为基础框架.酒店.机票.火车票等多个开发团队,从此携程App的开发和发布…
文 | 潘国庆 携程大数据平台实时计算平台负责人 本文主要从携程大数据平台概况.架构设计及实现.在实现当中踩坑及填坑的过程.实时计算领域详细的应用场景,以及未来规划五个方面阐述携程实时计算平台架构与实践,希望对需要构建实时数据平台的公司和同学有所借鉴. 一.携程大数据平台之总体架构 携程大数据平台结构分为三层: 应用层:开发平台Zeus(分为调度系统.Datax数据传输系统.主数据系统.数据质量系统).查询平台(ArtNova报表系统.Adhoc查询).机器学习(基于tensorflow.spa…
首先介绍一下携程App的网络服务架构.由于携程业务众多,开发资源导致无法全部使用Native来实现业务逻辑,因此有相当一部分频道基于Hybrid实现.网络通讯属于基础&业务框架层中基础设施的一部分,为App提供统一的网络服务: 1Native端的网络服务 Native模块是携程的核心业务模块(酒店.机票.火车票.攻略等),Native模块的网络服务主要通过TCP连接实现,而非常见的Restful HTTP API那种HTTP连接,只有少数轻量级服务使用HTTP接口作为补充. TCP连接网络服务模…