前端绘图:js-sequence-diagrams安装及入门 - 简书

1.jssequencediagrams的作用将简单的文本行绘制成手绘风(或是简单的直线条)的流程图。优点是不需要复杂的数据结构。 这次做一个数据可视化的网站,我和后端最后一个要攻克的问题是把dataset=\表示该树到一个叶子的路径。这个数据结构的问题就在于,路径是一条一条存的。这与网上大多数绘图所需要的json格式(类似宽度优先遍历的循环嵌套)之间,相距复杂到令我望而生畏的函数...
阅读全文

使用开源技术构建有赞分布式KV存储服务

背景在有赞早期的时候,当时只有 MySQL 做存储,codis 做缓存,随着业务发展,某些业务数据用 MySQL 不太合适, 而 codis 由于当缓存用, 并不适合做存储系统, 因此, 急需一款高性能的 NoSQL 产品做补充。考虑到当时运维和开发人员都非常少, 我们需要一个能快速投入使用, 又不需要太多维护工作的开源产品。 当时对比了几个开源产品, 最终选择了 aerospike 作为我...
阅读全文

H5 前端性能测试实践

H5 页面发版灵活,轻量,又具有跨平台的特性,在业务上有很多应用场景。但是同时对比 App,H5 的性能表现总是要逊色一筹,比如页面打开往往会出现白屏,滑动列表等交互场景下也不如 Native 页面流畅。针对这些白屏、卡慢之类的问题,我们测试该从哪些方面去展开测试分析和数据对比呢?接下来笔者分享一些 H5 前端测试实践的经验,抛砖引玉,希望大家一起谈论,一起挖掘更多有价值的课题。一、开篇:H5...
阅读全文

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

有赞数据仓库背景======== 业务系统使用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% 以上。有赞的业务发展非常快,当存量代码较多时,新项目功能测试的整体覆盖率偏低是正常现象,另外开发提测时,并不能依据已有的全量覆盖率来判断对新增代码的自测完成度,基于这个背景,我们研发了增量代码覆盖率工具,作为项目质量的参考纬度之一,支持统...
阅读全文