公司:58同城
58同城(NYSE:WUBA),简称58,是一家位于中国北京市的生活服务及分类信息网站,以在地服务为主,举凡租房、招聘、交友、水电、二手交易等等,由北京五八信息技术有限公司拥有,创始人是姚劲波,成立于2005年12月12日。该网站是中文最大的生活信息网站,该网站的口号是“一个神奇的网站”。
WLock:分布式锁平滑迁移实践
WLock是一套基于58已开源的一致性算法组件WPaxos实现的分布式锁服务,具有丰富的锁类型、灵活的锁操作、高可靠性、高吞吐、多租户和易用性等特点。可应用于分布式环境下协调多进程/线程对共享资源的访问控制、多节点Master选主等业务场景。
基于AOP思想构造RocketMQ组件
HunterConsumer和HunterProducer组件主要是利用AOP思想实现,它使开发人员在编写业务逻辑时可以专心于核心业务,而不用过多的关注于一些非业务的重复代码,这不但提高了开发效率,而且增强了代码的可维护性。
基于Sentry高效治理前端异常
本文介绍前端异常治理的重要性,并基于开源平台Sentry高效发现前端异常以及高效解决前端异常。
前端异常监控 Sentry 的部署和升级
Sentry 为一套开源的应用监控和错误追踪的解决方案。这套解决方案由对应各种语言的 SDK 和一套庞大的数据后台服务组成。应用需要通过与之绑定的 token 接入 Sentry SDK 完成数据上报的配置。通过 Sentry SDK 的配置,还可以上报错误关联的版本信息、发布环境。同时 Sentry SDK 会自动捕捉异常发生前的相关操作,便于后续异常追踪。异常数据上报到数据服务之后,会通过过滤、关键信息提取、归纳展示在数据后台的 Web 界面中。
转转使用 Sentry 监控前端错误已经有好几年了。我们在 SDK 端封装的统一的 @zz-common/sentry 库。从而实现了 vue、react、小程序、node、ssr 的统一接入和错误分级管理。可以参考文章:转转商业前端错误监控系统(Sentry)策略升级。之前我们使用的 Sentry 是源码安装的老版本。后来客户端需要接入 Sentry 并上传 mapping 文件。但是老版本的 Sentry 总是上传失败。所以我们就准备升级一下 Sentry。本文就是用来记录 Sentry 升级部署和遇到的问题。
公众号运营设计全套秘籍
本文梳理了公众号设计过程的每个流程、方法和细节,一次性看个够,干货满满。
jvm-sandbox初体验
目前转转的辅助测试平台有JVM注入、流量回放,前者通过修改指定服务、类、方法返回值,Mock超时、异常等难以测试覆盖场景,提高测试效率;后者通过在稳定环境采集流量,动态环境自动回放用例,根据diff同一用例稳态和动态环境返回结果来检验程序是否存在问题,降低代码变动对整体系统带来的风险,这些平台均用到了jvm-sandbox技术,最近学习了相关知识,记录下初次体验心得。
OCR在转转游戏的应用
本文主要介绍,OCR技术结合转转游戏业务具体场景使用中遇到的一些问题和解决方式。
设计规范如何高效落地,助力业务提效?
58到家是一款互联网家政服务的平台,有着严谨的视觉和交互规范,同时为满足平台和用户的诉求,我们在对APP进行不断的优化和打磨;
在APP不断升级和页面的变化中,我们打造平台统一的设计语言和规范,那么如何保证规范有效的落地呢?
4个小技巧搞定复杂的业务场景设计
怀着让设计发挥更大价值的初心,站在全局视角从产品侧、用户侧和体验侧多个角度进行深入洞察,去挖掘能够发挥的机会点,要辅助业务实现业务目标,解决业务问题,创造业务价值。
58同城春节运营——造牛神记
每逢佳节,拜佛许愿抢头香是永不退流行的民俗活动。我们提取出了人群中的高频愿望,归纳成为六个牛神,分别承载:财富,学业,平安,健康,爱情,事业等愿望,以及牛神的最高统帅牛魔王。
根据牛神所代表的不同愿望,进行装扮的设计。那么如何概括传统的服饰,将其贴合到每一个牛神身上,并且符合牛神所代表的愿望是美术设计的难点。
58同城Android端-最小插件化框架实战和原理分析
移动互联网进入存量时代,随着人口红利减退,充分盘活、经营现有流量便成为了各行各业全新的机遇与挑战。各大公司都在内卷发力,对 App 包大小、启动速度、性能做持续优化。
App 包体积和用户转换率成负相关,包体积越小、用户下载时长越短,用户转换率越高。而随着国内用户的增量见顶,越来越多的应用选择出海,开发对应的海外版,Google Play 应用市场目前强制要求超过 100MB 的应用只能使用 AAB 扩展文件方式上传,Google Play 会为我们的应用托管 AAB 扩展文件,进行自定义分发和动态交付。
转转图书对基于Drools引擎的DMN实践
DMN主要应用在向程序员以外的人员提供决策管理的能力,以求更准确地反映目的,从程序员的角度讲可能和写ifelse没什么不一样,但是其他角色的参与人员可以通过较低的学习成本来上手实现规则,能够减少沟通成本和不同人的理解差异产生的不符合预期的结果。
从前端视角看转转售后业务
本文主要从前端视角,分享一下转转售后的业务和系统。
浅析测试环境远端Agent工作模式(上)
转转新测试环境,在每台测试服务器都部署了一套HttpAgent(以下简称agent),由eig测试环境管理平台下发命令,agent完成命令接收、解析和响应,实现并发和调度控制,异步调用环境维护脚本。之所以自己开发一整套agent,是因为转转测试环境由多业务组成,复杂度非常高,我们可以根据自己的业务高度定制,做一套适合我们转转的,好用的系统。
场景接口测试平台搭建实践
在持续的业务测试中,接口用例会逐步沉淀形成一定规模。RD自测或者QA测试时,RD要执行冒烟级别接口测试用例进行冒烟测试,QA要执行接口测试用例测试新需求、回归老业务。在需要执行用例时,要去接口用例工程中反复查找相关用例进行执行。如何更高效的管理和使用接口用例?通过平台化,降低管理成本和执行成本,即根据业务场景、用例类型等维度进行分类管理,可视化执行。
单测增量代码覆盖率统计方案
转转增量代码扫描数据作为上线准入的重要依据,目前所有测试环境执行的测试均有覆盖率统计,但是部分需求或服务更加适合使用单测进行验证,也有部分RD有单测的好习惯。单测覆盖率的缺失无法通过覆盖率分析补充case也对上线准入评估造成了一定的困扰。因此,我们将单测的增量代码覆盖率融合至测试环境覆盖率中,解决以上问题。