11 天前 / 闲鱼技术
背景作为一款国民级二手交易 App,闲鱼每天都有成千上万的二手闲置商品发布,精准的个性化的商品推荐是促进闲鱼用户快速成交的秘诀。搜索推荐算法的精准和埋点数据的准确性息息相关。一旦埋点数据出现问题,用户侧就会出现推荐商品不准确、过度推荐等问题,同时宏观的交易大盘数据的统计也会有偏差,进而影响整个商品运营策略,因此采取有效的手段来保障埋点质量就成为了闲鱼客户端质量保障的关键的一环。
75 天前 / Python小二
概述不知你是否遇到过在微信上给通讯录中的某个人发消息,结果出现了这一幕: 平时一直认为自己的心里素质过硬,不过遇到这种情况 ... 在我缓了半个钟头(半分钟)之后,缓缓拿出了手机,打开微信,找到通讯录中的 ABC,默默地按下了删除按钮,此刻的我心如止水 ... 好了,我们回到正题,为了避免再次出现上述情况,我决定把微信通讯录中删除了自己的人全部找出来并且删除,之前我已经在网上了解到检查自己的微信是否被删比较好的方式就是转账,通过转账我们可以实现无痕检测。
249 天前 / 冷星1024
导语 本文通过 React 语法从 v15 自动升级为 v16 的方案,阐述了 AST 的概念及其在前端项目中的应用与探索,介绍了若干适合 AST 技术在前端落地的场景。 背景 通常一个中后台系统至少有三到五年的生命周期。 在立项之初一般会采用一些成熟稳健的技术,然而随着时间的流逝,原有技术栈必将逐渐变得老旧、难以维护:比如 vue1.x 升级至 2.x、swift 的历次升级。 那么我们应当如何处理这些老旧的代码,是另起炉灶推倒重来,亦或是硬着头皮在原来的基础上继续打补丁? 对于上述问题,本文主要介绍一种基于修改抽象语法树(Abstract Syntax Tree...
250 天前 / AirPython
点击上方“AirPython”,选择“加为星标” 第一时间关注 Python 技术干货! 1. 场景之前写过微信小程序的几种方式,对于有源码的小程序推荐使用微信开放的 SDK 来做自动化,否则只能使用原生或 WebView 的方式。 最近在用 Python + Appium 在微信小程序做一个自动化项目,中间遇到很多问题,都一一解决了。 本篇文章将和大家聊聊微信小程序自动化究竟有哪些坑? 2. 小程序入口对大部分人来说,使用小程序的方式一般是在微信主界面下拉屏幕后,然后选中目标小程序的图标,进入到程序应用 另外,由于小程序在屏幕的展示位置不固定...
250 天前 / AirPython
点击上方“AirPython”,选择“加为星标” 第一时间关注 Python 技术干货! 1. 场景最近一位小姐姐在微信上向我抱怨,说自己每天坐地铁上下班,路上会阅读一些好的文章来提升自己。 但上了一天的班,实在太累了;如果戴上耳机的同时,文章能自动阅读起来,就好了! 本篇文章将带大家用自动化技术,来实现这一功能。 2. 实现步骤第 1 步,新建 Android 项目 使用 Android Studio 新建一个项目,并创建一个无障碍服务,设置只处理微信应用内的页面事件 // 新建一个服务 publicclassMsgServiceextendsAccessibilityService { @Override publicvoidonAccessib...
271 天前 / 携程技术
作者简介 JinG、YuWang,携程前端开发工程师,负责机票主流程预定 React Native 技术栈相关开发工作。 一、前言 随着携程机票 APP 全流程由 Native 技术栈转向 RN(React Native,以下均称 RN),同时引入了 BDD 的敏捷开发模式,以应对日益增长的产品需求。高速的开发迭代过程中,如何确保稳定且可持续的交付质量,显得尤为重要。本篇旨在介绍携程机票 APP 主流程团队使用与升级持续集成 / 持续交付(以下均称 CI/CD)来兼顾前端开发高效率及高质量的实践。
294 天前 / jacexh
在上一次讲连接复用的时候,我实现了一个类用于接管pymysql.Connection: classMySQLConnectionProxy: def__init__(self,*args,**kwargs): self._conn=pymysql.Connect(*args,**kwargs) def__getattr__(self,item): returngetattr(self._conn,item) 这其实是一个很典型的Proxy Pattern:给某一个对象提供一个代理,并由代理对象控制对原对象的引用 具体完整解释请参考维基百科词条:https://en.wikipedia.org/wiki/Proxy_pattern 代理模式应该是一种比较容易理解的设计模式,你可以把它类比成服务部署中的nginx、apache http这类服务...
296 天前 / 开发者头条
ElasticSearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎。它能很方便的使大量数据具有搜索、分析和探索的能力。 鉴于使用习惯,以及默认配置原因,Elasticsearch 服务普遍存在一个未授权访问的问题,攻击者通常可以请求一个开放 9200 或 9300 的服务器进行未授权访问数据。 而 3 月末以来,有黑客入侵了没有设置密码保护并开放在公网的 Elasticsearch 服务器,在进入数据库后,黑客将数据库全部删除,并留一下网络安全公司的名称,试图甩锅。 首次入侵始于 3 月 24 日左右。
303 天前 / jacexh
为什么需要连接复用接口、UI 的测试用例中都会有大量的 IO 操作,比如 HTTP、RPC 调用、数据库查询等,这是典型的 IO 密集型任务,对自动化效率有追求的测试工程师应该思考一个问题:如何让用例执行更加地有效率(快)? 抛出的这个问题其实很大,从验证策略、用例设计、IO 优化、用例分发方式等角度都可以讲,我不准备在这篇文章里完整的阐述,只挑出一个点:连接复用。 这里的连接可以存在于以下地方: HTTP 连接 RPC 连接(http、socket 都可能)中间件连接(数据库、缓存服务等连接...
312 天前 / yrq110
从以下几个方面分析下Puppeteer的衍生项目Playwirght: 基本介绍与使用示例云原生:BrowserContext的隔离与增强跨平台:不同平台通用的Client与Server实现多选择器:内置与自定义选择器引擎之前使用并介绍过一个不错的浏览器自动化测试工具Puppeteer,具有API易于使用且有关Chrome浏览器自动化功能强大的特点。 在最近出现了另一个浏览器自动化项目Playwright,该项目支持多种内核(chromium, webkit, firefox)的浏览器自动化操作,弥补了Puppeteer本身无法跨平台的不足(虽存在puppeteer-firefox),API风格与Puppeteer保持一致...
346 天前 / 豌豆花下猫
“Python 猫” ,一个值得加星标的公众号接着前面的《tox 教程》,以及刚翻译好的《nox 文档》,我们继续聊聊 Python 任务自动化的话题。 nox 的作者在去年的 Pycon US 上,做了一场题为《Break the Cycle: Three excellent Python tools to automate repetitive tasks》的分享(B 站观看地址:https://b23.tv/av86640235),她介绍了三个任务自动化工具:tox、nox 和 invoke,本文的话题正好就是最后的 invoke。 1、invoke 可以做什么?invoke 是从著名的远程部署工具 Fabric 中分离出来的,它与 paramiko 一起是 Fabric 的两大最核心的基础组件。
365 天前 / wsgzao
阅读约 23 分钟前言对于进程的监控最常见的需求就是进程挂了如何被自动拉起来,现在可以由Kubernetes等先进的容器化技术来自动化管理,那原来再物理服务器或者虚拟机中的进程有什么好的办法呢?答案就是Monit/Supervisor等第三方应用来解决,因为线上环境分别使用Monit来监控Core Logical Service,Supervisor用在Codis Dashboard/FE/Proxy上,使用下来的感受和网上的对比分析报告类似,具体内容会在文章内引用,推荐大家使用Monit替代Supervisor自动化管理和监控服务。
418 天前 / HueiFeng
总篇72篇 2019年 第46篇作为电商部门的测试团队,每天要应对的各种场景、流程的验证,而这些场景中无论是商家入驻、商品发布或订单产生,都需要一个严谨的审核验证流程,无形之中对手动创建一个可使用的场景测试数据造成了操作复杂且耗时偏长的结果。那么如何可以使创建测试数据变得简单便捷呢?没错,就是自动化。获取数据首先要分析不同场景的测试数据所需要的具体信息,如果直接设置固定参数的话,创建的数据千篇一律,这样就失去了自动化的意义。
432 天前 / 虞大胆
女主宣言 对于单台服务器上的os安装,我们可以手动进行。那若是一个集群中的大量节点服务器需要安装os,手动安装显然是费时费力。作为系统运维工程师,自动化运维是我们必不可少的技能。下来就跟随作者去探索下PXE是如何通过网络来实现批量系统安装的吧。 PS:丰富的一线技术、多元化的表现形式,尽在“360云计算”,点关注哦! 1 PXE简介 PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载镜像,并由此支持通过网络启动操作系统...
551 天前 / 软件测试大本营
绝大多数测试同学都是从功能测试做起的,工作忙忙碌碌,每天在各种业务需求学习和点点中度过,过了好多年发现自己还只是一个功能测试工程师。 随着移动互联网的发展,从业人员能力的整体进步,软件测试需要具备的能力要求越来越高,打开招聘网站,90%的招聘都会有如下这一条。 至少熟悉一门编程语音,自动化测试XX年经验。 所以,越来越多的测试工程师开始迷茫,不管是被动的还是主动的,这个时代需要我们不断学习去保持自己的竞争力,因为互联网红利越来越少,你的水平高低,决定了你在公司的价值,也决定了你未来职业选择的优势...