拥有0000-未整理-等待研究标签的文章

有赞数据仓库元数据系统实践

有赞数据仓库背景======== 业务系统使用mysql数据库,有统一的DDL规范和SQL规范 数据仓库基于Hive构建 业务快速变化,员工数量持续增加第一版:手工维护的表格===========在有赞大数据平台发展初期,业务量不大,开发者对业务完全熟悉,从ETL到统计分析都可以轻松搞定,当时没有想过要做一个元数据系统。随着公司规模扩大,开始有专职的数据分析师,...
阅读全文

大数据开发平台(Data Platform)在有赞的最佳实践

前言==随着公司规模的增长,对大数据的离线应用开发的需求越来越多,这些需求包括但不限于离线数据同步(MySQL/Hive/Hbase/Elastic Search 等之间的离线同步)、离线计算(Hive/MapReduce/Spark 等)、定时调度、运行结果的查询以及失败场景的报警等等。_在统一的大数据开发平台产生之前,面临一系列的问题:_ 多个开发和调度入口,不同的业务部门之...
阅读全文

浅谈前端响应式设计(二)

博客提到了几种响应式的方案,以及它们的缺点。本文将介绍`Observable`以及它的一个实现,以及它在处理响应式时相对于上篇博客中的方案的巨大优势(推荐两篇博客对比阅读)。`Observable`是一个集合了观察者模式、迭代器模式和函数式的库,提供了基于事件流的强大的异步处理能力,并且已在`Stage 1`草案中。本文介绍的`Rxjs`是`Observable`的一个实现,它是众多语言中的`...
阅读全文

混沌工程 - 软件系统高可用、弹性化的必由之路

随着摩尔定律的终结,单机计算性能已达到了极限,然而,我们的软件系统不论是规模还是复杂度一直在增长,所以软件系统都不约而同的朝着分布式化方向发展。近年来,随着云服务、容器的出现,某些分布式系统也更容易微服务化。抛开这些形形色色的分布式技术,我们对系统可靠性的述求却是一致的:分布式系统需要高可用,即使出现了单点或集群故障,也希望系统具备自我恢复或优雅降级的弹性能力、容错能力。我们在合理的架构,高质量的...
阅读全文

浅谈前端响应式设计(一)

现实世界有很多是以响应式的方式运作的,例如我们会在收到他人的提问,然后做出响应,给出相应的回答。在开发过程中我也应用了大量的响应式设计,积累了一些经验,希望能抛砖引玉。响应式编程(Reactive Programming)和普通的编程思路的主要区别在于,响应式以推(`push`)的方式运作,而非响应式的编程思路以拉(`pull`)的方式运作。例如,事件就是一个很常见的响应式编程,我们通常会这么...
阅读全文

ZanProxy —— 本地代码调试线上页面,环境再也不是问题

一、ZanProxy 是什么一言以蔽之, 是一个基于 `Node.js` 的代理服务器。它专注于帮助前端开发提高开发效率。二、我们为什么需要一个代理工具在前端开发中,我们常常会碰到以下几个场景:1. 对于前端开发者来说,我们需要一个工具能让我们直接用本地的前端代码调试QA环境、预发环境、甚至线上的页面。 2. 我们需要在开发的时候需要快速切换环境,修改系统的 ...
阅读全文

增量代码覆盖率工具

背景目前有赞共享技术团队测试介入的微服务应用有几百个,大部分底层应用的单测覆盖率在 70% 以上,同时测试组提供的多纬度集成测试自动化的覆盖率也在 70% 以上。有赞的业务发展非常快,当存量代码较多时,新项目功能测试的整体覆盖率偏低是正常现象,另外开发提测时,并不能依据已有的全量覆盖率来判断对新增代码的自测完成度,基于这个背景,我们研发了增量代码覆盖率工具,作为项目质量的参考纬度之一,支持统...
阅读全文

ZanApi 让前后端协调更高效

一、当我们在说前后端协作的时候,我们在说什么目前前后端分离已成为主流,前后端开发环境互相独立的情况下,如何提高前后端协作效率已然成为每个公司不得不考虑的问题。以一个项目开发周期为例,在协作上一般需要面对以下几个问题:1. 项目开发初期,前后端需要就接口定义达成一致并且最好能在一个地方持久化,并且随着项目迭代开发持续维护2. 前后端在并行开发时前端需要先对接口...
阅读全文

基于动态代理 Mock dubbo 服务的实现方案

序言 背景概述公司目前 Java 项目提供服务都是基于 Dubbo 框架的,而且 Dubbo 框架已经成为大部分国内互联网公司选择的一个基础组件。在日常项目协作过程中,其实会碰到服务不稳定、不满足需求场景等情况,很多开发都会通过在本地使用 Mocktio 等单测工具作为自测辅助。那么,在联调、测试等协作过程中怎么处理?其实,Dubbo 开发者估计也是遇到了这样的问题,所以提供了一...
阅读全文

WEB-UI 自动化实践

概述==Bee 是由有赞 QA 开发的 UI 自动化工具,并以此实现了 web 端和 wap 端的核心业务的自动化。旨在简化开源工具提供的接口,方便 UI 自动化测试用例的设计。Bee 整个框架是基于 selenium 和 selenide 设计的。框架对 selenium 和 selenide 提供的接口进行了二次封装以满足日常的用例设计,二次封装后的接口解决了一些元素加载,元素定...
阅读全文