基于 Google-S2 的地理相册服务实现及应用

2020-02-18
阅读 5 分钟
4.3k
随着智能手机存储容量的增大,以及相册备份技术的普及,我们可以随时随地用手机影像记录生活,在手机中存储几千张甚至上万张照片已经是很常见的事情。但另一方面,当我们想从这么多张照片中去找到一张,也是一件麻烦事。

机器学习在马蜂窝酒店聚合中的应用初探

2020-01-17
阅读 7 分钟
9.7k
在线预订酒店让这件事更加方便。当用户在马蜂窝打开一家选中的酒店时,不同供应商提供的预订信息会形成一个聚合列表准确地展示给用户。这样做首先避免同样的信息多次展示给用户影响体验,更重要的是帮助用户进行全网酒店实时比价,快速找到性价比最高的供应商,完成消费决策。

多环境多需求并行下的代码测试覆盖率统计工具实现

2020-01-13
阅读 5 分钟
4.3k
测试覆盖率常被用来衡量测试的充分性和完整性,也是测试有效性的一个度量。「敏捷开发」的大潮之下,如何在快速迭代的同时保证对被测代码的覆盖度和产品质量,是一个非常有挑战性的话题。

Kafka 集群在马蜂窝大数据平台的优化与应用扩展

2020-01-03
阅读 7 分钟
2.5k
Kafka 是当下热门的消息队列中间件,它可以实时地处理海量数据,具备高吞吐、低延时等特性及可靠的消息异步传递机制,可以很好地解决不同系统间数据的交流和传递问题。

OpenResty 在马蜂窝广告监测中的应用

2019-12-27
阅读 5 分钟
3.3k
以马蜂窝旅游 App 为例,当用户打开我们的应用时,有可能会在首屏或是信息流、商品列表中看到推送的广告。如果刚好对广告内容感兴趣,用户就可能会点击广告了解更多信息,进而完成这条广告希望完成的后续操作,如下载广告推荐的 App 等。

Golang 在电商即时通讯服务建设中的实践

2019-12-16
阅读 7 分钟
6k
从商品复杂性来看,一个旅游商品可能会包括用户在未来一段时间的衣、食、住、行等方方面面;从消费金额来看,往往单次消费额度较大;对目的地的陌生、在行程中可能的问题,这些因素使用户在购买前、中、后都存在和商家沟通的强烈需求。可以说,一个好用的 IM 可以在一定程度上对企业电商业务的 GMV 起到促进作用。

马蜂窝推荐排序算法模型是如何实现快速迭代的

2019-11-11
阅读 5 分钟
3.2k
在召回阶段,系统会从海量的内容库筛选出符合用户偏好的候选集(百级、千级);排序阶段在此基础上,基于特定的优化目标(如点击率)对候选集内容进行更加精准的计算和选择,为每一条内容进行精确打分,进而从候选集的成百上千条内容中选出用户最感兴趣的少量高质量内容。

马蜂窝 IM 移动端架构的从 0 到 1

2019-10-22
阅读 7 分钟
7.3k
移动互联网技术改变了旅游的世界,这个领域过去沉重的信息分销成本被大大降低。用户与服务供应商之间、用户与用户之间的沟通路径逐渐打通,沟通的场景也在不断扩展。这促使所有的移动应用开发者都要从用户视角出发,更好地满足用户需求。

马蜂窝数据仓库的架构、模型与应用实践

2019-10-08
阅读 8 分钟
3k
我认为数据中台的概念非常接近传统数据仓库+大数据平台的结合体。它是在企业的数据建设经历了数据中心、数据仓库等积累之后,借助平台化的思路,将数据更好地进行整合与统一,以组件化的方式实现灵活的数据加工与应用,以更清晰的数据职能组织应对业务的快速变化,以服务的方式更好地释放数据价值的一种方式。

一种对开发更友好的前端骨架屏自动生成方案

2019-09-06
阅读 10 分钟
8.6k
(马蜂窝技术原创内容,公众号 ID:mfwtech) 一份来自 Akamai 的研究报告显示,在对 1048 名网购户进行采访后发现: 约 47% 的用户期望他们的页面在两秒之内加载完成。 如果页面加载时间超过 3s,约 40% 的用户会选择离开或关闭页面。 一直以来,为了提升用户在页面加载时的体验,无论是 Web 还是 iOS、Android 的应用...

API 资源隔离系统设计与实现

2019-09-02
阅读 4 分钟
2.3k
为了保证开发进度并支持集成测试时进行多场景支持,我们往往需要对供应商接口进行 MOCK。之前我们在开发环境和测试环境对外部接口的调用没有统一管控,无法实现调用开关,也无法对调用量进行统计和限制。

马蜂窝视频编辑框架设计及在 iOS 端的业务实践

2019-08-30
阅读 9 分钟
4.8k
长期以来,游记、问答、攻略等图文形式的形态一直是马蜂窝发展的优势所在。将短视频提升至与图文并列的位置,是因为对于今天的移动互联网用户来说,内容更真实直观、信息密度更大、沉浸感更强的短视频已经成为刚需。为了使旅游用户拥有更好的内容交互体验,丰富和完整原有的内容生态体系,马蜂窝加码了对短视频领域的布局。

测试人员为什么要深入到项目实现中去?

2019-08-26
阅读 5 分钟
5.6k
「测试」作为一个项目质量保证角色,在上面的整个流程中均有参与。而用例设计、项目测试环节更像测试的主场,PRD 的评审测试人员也会发表很多自己的观点,对项目的技术评审虽然测试人员也有参与,但也不如前两个环节的参与程度深。 

多渠道推广场景下,如何实现 App 用户增长的精准归因?

2019-08-23
阅读 4 分钟
5.1k
为了实现用户的快速增长,以推广 App 为目标的线上广告投放是很多平台获取新用户的重要方式。随道移动互联网的发展,现在 App 推广的渠道越来越丰富,除了 WAP 站点、第三方 App 之外,HTML5 成了 App 推广的又一个主战场。

每个程序员都可以「懂」一点 Linux

2019-08-12
阅读 10 分钟
3.3k
提到 Linux,作为程序员来说一定都不陌生。但如果说到「懂」Linux,可能就没有那么多人有把握了。到底用 Linux 离懂 Linux 有多远?如果决定学习 Linux,应该怎么开始?要学到什么程度?懂一点 Linux,对于程序员有什么价值?通过马蜂窝内容中心高级研发总监李鸿的这次内部分享,你会得到一些答案。

支撑马蜂窝会员体系全面升级背后的架构设计

2019-07-26
阅读 6 分钟
6.4k
流量红利正逐渐走向终结,这已经不再是什么秘密。后互联网时代,如何维系住用户群,提升用户在平台上的体验是整个行业都需要考虑的事情。正是出于这一原因,现在全行业都在关注会员体系的搭建,这也是马蜂窝 2019 年重点投入的方向之一。 

马蜂窝 IM 系统架构的演化和升级

2019-07-22
阅读 5 分钟
7.3k
今天,越来越多的用户被马蜂窝持续积累的笔记、攻略、嗡嗡等优质的分享内容所吸引,在这里激发了去旅行的热情,同时也拉动了马蜂窝交易的增长。在帮助用户做出旅行决策、完成交易的过程中,IM 系统起到了重要的作用。

基于 MySQL Binlog 的 Elasticsearch 数据同步实践

2019-07-15
阅读 5 分钟
4k
对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张MySQL 表中,这张中间表对应了业务需要的 Elasticsearch 索引,每一列对应索引中的一个Mapping 字段。通过脚本以 Crontab 的方式,读取 MySQL 中间表中 UTime 大于上一次读取时间的所有数据,即该段时间内的增量,写入Elasticsear...

领域驱动设计在马蜂窝优惠中心重构中的实践

2019-07-12
阅读 6 分钟
8.1k
正如领域驱动设计之父 Eric Evans 所著一书的书名所述,领域驱动设计(Domain Driven Design)是一种软件核心复杂性应对之道。

马蜂窝支付中心架构演进

2019-07-05
阅读 6 分钟
19k
为了更好地支持交易业务的快速发展,马蜂窝支付中心从最初只支持基础支付和退款的「刀耕火种」阶段,经历了架构调整的「刮骨疗伤」阶段,完成了到实现综合产品平台形态的「沉淀蓄力」阶段的演进。

马蜂窝容器化平台前端赋能实践

2019-06-21
阅读 8 分钟
8.3k
但其实,今天我们讨论的「前端」已经不是传统意义上的「前端」, 首先体现在终端类型的多样性,比如 iOS,Android,小程序等;另外,伴随着 Node.js 等技术的兴起,前端开发的边界也在逐渐服务端延伸。来到大前端时代,如何以工程化、服务化和自动化的方式来进行应用开发,实现业务的持续迭代、高可用、高并发是每一个成...

马蜂窝大交通业务质量体系建设初步实践

2019-06-14
阅读 8 分钟
7.8k
打开一个互联网公司招聘网站,搜索「测试工程师」岗位时,你会发现几乎全部 JD 都包含一条要求「建设或者参与建设所负责业务的质量体系」。那么,是不是谈到质量保障就只是测试团队的职责?测试团队在这个过程中如何发挥价值?本文将结合马蜂窝大交通测试团队在质量体系从无到有搭建过程中的实践,来谈一下对质量体系建...

马蜂窝用户内容贡献能力模型构建

2019-06-10
阅读 4 分钟
4k
在用户个性化时代,垂直化、精细化的运营,被看作企业重要的竞争力。完整、清晰的用户画像体系,可以帮助企业从海量的用户信息中发掘每个用户的行为特性、潜在能力及兴趣等信息,从而为用户提供具有针对性的服务。

马蜂窝大交通业务监控报警系统架构设计与实现

2019-05-31
阅读 6 分钟
3.8k
部门的业务线越来越多,任何一个线上运行的应用,都可能因为各种各样的原因出现问题:比如业务层面,订单量比上周减少了,流量突然下降了;技术层面的问题,系统出现 ERROR ,接口响应变慢了。拿大交通业务来说,一个明显的特点是依赖很多供应商的服务,所以我们还需要关注调用供应商接口是否出现异常等等。

马蜂窝ABTest多层分流系统的设计与实现

2019-05-24
阅读 5 分钟
13.8k
产品的改变不是由我们随便「拍脑袋」得出,而是需要由实际的数据驱动,让用户的反馈来指导我们如何更好地改善服务。正如马蜂窝 CEO 陈罡在接受专访时所说:「有些东西是需要 Sense,但大部分东西是可以用 Science 来做判断的。」

马蜂窝推荐系统容灾缓存服务的设计与实现

2019-05-20
阅读 5 分钟
3.4k
数据库突然断开连接、第三方接口迟迟不返回结果、高峰期网络发生抖动...... 当程序突发异常时,我们的应用可以告诉调用方或者用户「对不起,服务器出了点问题」;或者找到更好的方式,达到提升用户体验的目的。

马蜂窝 iOS App 启动治理:回归用户体验

2019-05-10
阅读 9 分钟
8.3k
增长、活跃、留存是移动 App 的常见核心指标,直接反映一款 App 甚至一个互联网公司运行的健康程度和发展动能。启动流程的体验决定了用户的第一印象,在一定程度上影响了用户活跃度和留存率。因此,确保启动流程的良好体验至关重要。

马蜂窝火车票系统服务化改造初探

2019-04-26
阅读 9 分钟
8.3k
交通方式是用户旅行前要考虑的核心要素之一。为了帮助用户更好地完成消费决策闭环,马蜂窝上线了大交通业务。现在,用户在马蜂窝也可以完成购买机票、火车票等操作。

让前端监控数据采集更高效

2019-04-19
阅读 7 分钟
7.4k
随着业务的快速发展,我们对生产环境下的问题感知能力越来越关注。作为距离用户最近的一层,前端的表现是否可靠、稳定、好用,很大程度上决定着用户对整个产品的体验和感受。因此,对于前端的监控不容忽视。

状态机在马蜂窝机票订单交易系统中的应用与优化实践

2019-04-12
阅读 5 分钟
5.9k
交易系统往往存在订单维度多、状态多、交易链路长、流程复杂等特点。以马蜂窝大交通业务中的机票交易为例,用户提交的一个订单除了机票信息之外可能还包含很多信息,比如保险或者其他附加产品。其中保险又分为很多类型,如航意险、航延险、组合险等。