基于开源Tars的动态负载均衡实践
本文主要论述了vivo在TARS开源的技术基础上,对动态负载均衡算法策略的设计思路和技术实践。
深入理解 ProtoBuf 原理与工程实践(概述)
ProtoBuf作为一种跨平台、语言无关、可扩展的序列化结构数据的方法,已广泛应用于网络数据交换及存储。随着互联网的发展,系统的异构性会愈发突出,跨语言的需求会愈加明显,同时gRPC也大有取代Restful之势,而ProtoBuf作为gRPC跨语言、高性能的法宝,我们技术人有必要深入理解ProtoB
前端科普系列(2):Node.js 换个角度看世界
本节为第二节,主要介绍了Node的前世今生、核心科技以及背后的故事。
vivo浏览器的快速开发平台实践-总览篇
本篇文章是vivo浏览器快速开发平台系列的开篇,讲述了vivo浏览器快速开发的实践路程,完成了从工具到平台的演进,对外服务于数十个业务,提供百亿访问的发展变迁历程。
vivo 服务端监控架构设计与实践
一、业务背景当今时代处在信息大爆发的时代,信息借助互联网的潮流在全球自由的流动,产生了各式各样的平台系统和软件系统,越来越多的业务也会导致系统的复杂性。当核心业务出现了问题影响用户体验,开发人员没有及时发现,发现问题时已经为时已晚,又或者当服务器的CPU持续增高,磁盘空间被打满等,需要运维人员及时发
Java 8 Stream原理解析
通过源码解读的方式解析Java8StreamAPI实现的原理。
vivo商城前端架构升级—多端统一探索、实践与展望篇
本文将会从整体上介绍vivo商城在前端维度的多端统一探索和实践。
浅谈Kotlin中的函数
本文简单谈下Kotlin中的函数,包括表达式函数体,命名参数,默认参数,顶层函数,扩展函数,局部函数,Lambda表达式,成员引用,with/apply函数等。从例子入手,从一般写法到使用特性进行简化,再到原理解析。
前端科普系列(5):ESLint - 守住优雅的护城河
前端工程化中的很重要工具ESLint,主要介绍ESLint的历史、用法以及如何基于ESLint打造保护代码仓库优雅的护城河。
干货:ANR日志分析全面解析
业界在如何解决和避免ANR问题上已经有较多博文,但是在如何分析ANR日志上很少有全面完备的阐述。本文系统总结了分析ANR日志的技巧,阅读本文将获得快速分析线上ANR日志的能力。
vivo 悟空活动中台-基于行为预设的动态布局方案
本文以“满屏”场景下的页面布局思考为切入点,以微组件为元素单元,提供了一种新的布局方案设计思路——基于行为预设的动态布局方案,并详细的分享了设计目的及具体实现方案,对技术基础要求不高,是一篇男女老少皆宜的“技术甜点”。
深入理解 Java 中 SPI 机制
SPI(ServiceProviderInterface),是JDK内置的一种服务提供发现机制,本文由浅入深地介绍了JavaSPI机制。
深入剖析Redis客户端Jedis的特性和原理
Jedis作为业内较通用的redis客户端,通过深入剖析Jedis的多种模式的工作原理能够在日常工作中更好的使用。
你知道几种前端动画的实现方式?
前端动画的多种实现方式,从cssanimaion到动画引擎,从简单动画到复杂场景动画,描述了多种实现方式的使用方式及问题。
字节码增强:原理与实战
本文由一个拦截器逻辑的使用场景及演变历程,引入字节码增强技术。介绍了字节码的本质,字节码增强的原理及jvm启动过程中的agent加载、生效流程,并对常见字节码操作工具进行了简单应用。
Redis 在 vivo 推送平台的应用与优化实践
推送平台的特点是并发高、消息量大、送达及时性较高。系统设计中采用Redis集群作为消息存储和中转,以及token信息存储。集群规模大。本文围绕推送系统对Redis集群的使用,遇到的问题及解决方案,优化过程讲解。另外,给出一些Redis集群使用的经验和建议。
深度解析 Lucene 轻量级全文索引实现原理
Lucene的相关使用心得,内容涵盖索引的生成、管理及搜索功能等内容。本文介绍了在轻量级的数据搜索中,深度解析Lucene如何实现全文索引。
vivo web service:亿万级规模web服务引擎架构
vivowebservice是开发团队围绕奇点内核打造出的基于vivo手机平台的web服务引擎,该服务引擎从浏览器产品线中经过多年迭代而出。除了提供可靠的基础Web服务,服务引擎还集成了非常强大的扩展功能。本文从架构方面对该服务引擎进行一次简单剖析,帮助读者对vivowebservice有一个整体了
玩转直播系列之从 0 到 1 构建简单直播系统(1)
本文主要介绍如何从0到1构建一个简单的直播系统,帮助大家对直播系统有一个基础的认识。
基于 Lerna 管理 packages 的 Monorepo 项目最佳实践
对于维护过多个package的同学来说,都会遇到一个选择题,这些package是放在一个仓库里维护还是放在多个仓库里单独维护,本文通过一个示例讲述了如何基于Lerna管理多个package,并和其它工具整合,打造高效、完美的工作流,最终形成一个最佳实践。