整理|王启隆透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。今天是2023年5月18日,在1939年的今天,彼得·格伦伯格(PeterGrunberg)出生。格伦伯格是一名德国物理学家,是诺贝尔物理学奖的获得者;他与阿尔伯特·费尔特一起发现了巨磁电阻,这一发现帮助了千兆字节硬盘驱动器实现技术突破。1992年,格伦伯格被任命为科隆大学兼任教授;2018年4月7日,格伦伯格逝世,享年79岁。回顾计算机历史上的5月18日,这一天都发生过哪些关键事件呢?1998年5月18日:美国司法部对微软提起反垄断诉讼图源:维基百科1998年5月18日,美国司法部和美国20个州对微软公司提起了一系列民事诉
行业热点1、携程启动混合办公试验:每周三和周五可在家办公,76%员工主动报名;2、鸿蒙用突破5000万华为再提高目标:年底用户4亿;3、抖音钱包内测“九宫格”等功能,继续加码本地生活服务;4、网易云音乐回应推迟赴港上市:管理层决定暂缓IPO;5、360借条App恢复上架,官方回应:整改方案已通过验收;6、宗庆后获基金从业资格证书,娃哈哈创投已完成基金管理人备案;7、在线青少儿英语51Talk:停止向境内青少用户售卖境外外教课程;8、思科:不打算推出私有云订阅服务重点放在混合云工具上;9、腾讯移动平台性能测试工具PerfDog升级:9月1日后开始收费;10、网信办推进摄像头偷窥等黑产集中治理,1
1.预期完成效果主要是自己做记录,记录做的过程以及遇到的一些问题2.开始制作2.1搜索框的制作1.首先引入normal.css(Normalize.css:Makebrowsersrenderallelementsmoreconsistently.)。其中搜索符号使用图标,阿里图标(iconfont-阿里巴巴矢量图标库):打开网址搜索需要的图标,添加到自己的项目中,点击“downloadcode”,下载后将压缩包放进项目中进行解压使用。2.遇到的问题:手机模式下搜索框显示不完全解决:给搜索框最大的盒子添加width:100%;2.2导航栏的制作1.上面为图标,下面为文字的,可以采用flex布局
作者简介禹昂,携程机票移动端资深工程师,专注于Kotlin移动端跨平台领域,Kotlin中文社区核心成员,图书《Kotlin编程实践》译者。一、背景2022年9月Kotlin1.7.20发布之后,KotlinMultiplatformMobile(简称KMM)进入Beta阶段,Kotlin/Nativenewmemorymanagement也变更为默认启用状态。无论从多端统一性还是性能上来看,KotlinMultiplatform都进入了下一个里程碑阶段。携程机票移动端团队在2021年介绍过KMM技术在机票产线的落地情况(参考链接1),2022年年中开源了团队首个KMM项目——MMKV-Kot
一、背景携程各个BU各个时期都有不同营销页面,数量众多,其中很重要的一块是产品模块,运营需求的产品卡片样式众多,各个BU展示字段差别巨大,无法利用通用样式,因此如需新增卡片或字段,传统做法是运营提需求给设计,再提需求给开发,经过需求评审,正式开发,发布测试上线等等。每次遇到大促活动或者接入新的业务方,都需要重新设计及开发商卡,而新的商卡大多只是新增一些换肤样式,或个别字段,这却需要开发人员多写一套样式代码或新增字段样式,同一个样式应用于不同的业务方也需要重新进行开发,极大地浪费了开发和设计资源。在DIY商品卡片系统开发前,由于开发成本的限制,营销页面上常用的商品卡片样式基本固定为十几种,这在用
作者简介小明,携程移动开发工程师,专注于移动端框架和基建开发;黄拉欢,携程移动开发经理,专注于移动端框架建设及性能调优。一、 背景Android项目一般使用Gradle作为构建打包工具,随着业务需求的不断迭代,代码量提升的同时,Gradle编译耗时也在不断的增长,而编译速度会直接决定开发流程效率的高低,影响面主要涉及到开发和测试阶段。 对于火车票项目,经过长期的迭代过程导致模块众多工程庞大,优化前一次干净的全量编译时间可达到10m39s,造成开发和测试都需要长时间等待编译出包,严重影响到开发和测试的效率。因此对火车票App进行编译速度优化是件亟待解决的事情。本次编译速度优化采用的方案是模块AA
作者简介携程旅游研发部大数据与AI研发团队,为旅游事业部提供丰富的AI技术产品和技术能力。一、背景介绍搜索是电商最重要的门面之一,大部分用户通过搜索来找到他们想要的商品,因此搜索是用户表达意图最直接的方式,也是转化率最高的流量来源之一。绝大部分的电商搜索是通过搜索框输入搜索词(Query)来完成,因此,搜索词的词义解析和意图理解成为了搜索中的重要一环。主流的搜索词义解析和Query理解需要经过纠错、同义词替换、分词、词性标注、实体识别、意图识别、词重要度权重、丢词等步骤。以旅游场景下的搜索举例,如图1所示,当用户在搜索框输入“云南香各里拉”作为Query的时候,首先搜索引擎需要对该搜索词进行纠
大家都知道,开发软件的时候为代码编写单元测试是很好的。但实际上,光有测试还不够,还要编写好的测试,这同样重要。要做到这一点,考虑遵循一些固执的原则,对测试代码给予一些关爱:1.保持测试代码的紧凑和可读性要做到这一点,应该要进行毫不留情的重构,就像对生产代码应该做的那样。否则让测试代码随着时间腐化,就是在测试里面制造可怕的遗留代码。如果测试不能很容易重构,那么生产代码也很难重构,从而导致生产系统的遗留代码。始终做一个勇敢的重构者。2.避免编写重复累赘的断言举个例子,测试代码使用正则表达式生成内容,而这个正则表达式是跟生产代码的解析器中使用的一模一样的。一般来说,我们不希望在测试和代码之间复制逻
作者简介Lyan,携程资深后端开发工程师,负责自动化测试框架及平台类工具开发,关注Devops、研发效能领域。一、背景随着敏捷开发,DevOps开发模式的流行,代码质量分析作为研发质量保证体系的重要组成部分,不仅能有效的降低因频繁迭代带来的故障风险,而且对整个工程团队的效能提升有着巨大的价值。携程很久以前就已经开始进行DevOps的建设,通过GitlabCI/CD在开发提交代码触发的流水线pipeline中引入静态扫描、单元测试、集成测试等流程,在开发过程中打造了一套闭环的代码质量保障体系。其中,在静态代码分析阶段引入了SonarQube,并且通过对原有SonarQube代码规范库中的规范进行
作者简介Lyan,携程资深后端开发工程师,负责自动化测试框架及平台类工具开发,关注Devops、研发效能领域。一、背景随着敏捷开发,DevOps开发模式的流行,代码质量分析作为研发质量保证体系的重要组成部分,不仅能有效的降低因频繁迭代带来的故障风险,而且对整个工程团队的效能提升有着巨大的价值。携程很久以前就已经开始进行DevOps的建设,通过GitlabCI/CD在开发提交代码触发的流水线pipeline中引入静态扫描、单元测试、集成测试等流程,在开发过程中打造了一套闭环的代码质量保障体系。其中,在静态代码分析阶段引入了SonarQube,并且通过对原有SonarQube代码规范库中的规范进行