彻底搞懂 IO 底层原理

2020-11-30
阅读 8 分钟
2.4k
“道”  最基础的计算机理论,隐藏于表象之下,非常抽象、晦涩难懂,需要用具象化的事物加以理解;“术” 具体的技艺,它有可能是一门语言,比如:python 出手见效快;

播放器性能优化之路

2020-11-25
阅读 4 分钟
3.8k
下面是播放的完整流程:播放器加载一个网络url,首先要进行网络请求,网络如何优化,涉及到网络优化的方方面面。网络拉取回来数据之后,识别一下当前视频的具体封装格式,这个可以正式流式视频,也可以是普通视频,优化的手段有点不同。识别到具体的封装格式,按照封装格式的要求,开始解析封装格式,解析其中的音频流、...

vivo商城前端架构升级—多端统一探索、实践与展望篇

2020-11-24
阅读 6 分钟
1.5k
一、引言本文将会从整体上介绍 vivo 商城在前端维度的多端统一探索和实践。从多端价值、为什么要做多端统一、如何满足多端业务需求、实践与创新,简洁直白的阐述我们在多端统一上所做的一切。二、多端探索为vivo商城带来了哪些价值多端的价值可以从技术架构升级和人力资源释放两个方面体现。1、技术架构全面升级从到我们...

vivo 调用链 Agent 原理及实践

2020-11-23
阅读 11 分钟
3.3k
2017年,vivo互联网研发团队认为调用链系统对实际业务具有较大的价值,于是开始了研发工作。3年的时间,调用链系统整体框架不断演进……本文将介绍vivo调用链系统 Agent 技术原理及实践经验。

分布式集群如何实现高效的数据分布

2020-11-18
阅读 5 分钟
2.4k
随着互联网的发展,用户产生的数据越来越多,企业面临着庞大数据的存储问题,目前市面上主流的分布式大数据文件系统,都是对数据切片打散,通过离散方法将数据散列在集群的所有节点上,本文将带你了解DHT(Distributed Hash Table):分布式哈希表是如何实现数据的分布式离散存储的。

如何在公司项目中使用 WebSocket— 入门实战指南

2020-11-17
阅读 3 分钟
4.4k
本文从 WebSocket 基础概念出发,介绍在实际开发中从本地联调到部署上线的流程以及注意事项,让 WebSocket 小白以最小成本应用到项目中。

vivo 云服务海量数据存储架构演进与实践

2020-11-16
阅读 6 分钟
1.6k
随着 vivo 云服务业务发展,云服务用户量增长迅速,存储在云端的数据量越来越大,海量数据给后端存储带来了巨大的挑战。云服务业务这几年最大的痛点,就是如何解决用户海量数据的存储问题。

使用 Preload&Prefetch 优化前端页面的资源加载

2020-11-11
阅读 6 分钟
2.5k
对于前端页面来说,静态资源的加载对页面性能起着至关重要的作用。本文将介绍浏览器提供的两个资源指令-preload/prefetch,它们能够辅助浏览器优化资源加载的顺序和时机,提升页面性能。

Hystrix 如何解决 ThreadLocal 信息丢失

2020-11-10
阅读 9 分钟
2.1k
笔者在业务开发中涉及到使用 ThreadLocal 来存放上下文链路中一些关键信息,其中一些业务实现对外部接口依赖,对这些依赖接口使用了Hystrix作熔断保护,但在使用Hystrix作熔断保护的方法中发现了获取 ThreadLocal 信息与预期不一致问题,本文旨在探讨如何解决这一问题。

vivo悟空活动中台-打造 Nodejs 版本的MyBatis

2020-11-09
阅读 19 分钟
1.6k
在往期的系列技术文章中我们主要集中分享了前端技术的方方面面,如微组件的状态管理,微组件的跨平台探索,以及有损布局,性能优化等等。还未关注到的同学,如果感兴趣可以查看往期文章。

从勾股定理到余弦相似度-程序员的数学基础

2020-11-03
阅读 11 分钟
2.9k
大部分程序员由于理工科的背景,有一些高数、线性代数、概率论与数理统计的数学基础。所以当机器学习的热潮来临的时候,都跃跃欲试,对机器学习的算法以及背后的数学思想有比较强烈的探索欲望。

浅谈 Java 中的 AutoCloseable 接口

2020-11-02
阅读 10 分钟
1.2k
本文对 try-with-resources 语法进行了较为深入的剖析,验证了其为一种语法糖,同时给出了其实际的实现方式的反编译结果,相信你在看完本文后,关于 AutoCloseable 的使用你会有新的收获。

MySQL 8 新特性之Clone Plugin

2020-10-29
阅读 12 分钟
1.5k
Clone Plugin是MySQL 8.0.17引入的一个重大特性,为什么要实现这个特性呢?个人感觉,主要还是为Group Replication服务。在Group Replication中,添加一个新的节点,差异数据的补齐是通过分布式恢复(Distributed Recovery)来实现的。

前端科普系列(5):ESLint - 守住优雅的护城河

2020-10-28
阅读 12 分钟
1.2k
【前端科普系列】帮助阅读者了解web前端,主要覆盖web前端的基础知识,但不深入讲解,定位为大而全并非细而精,适合非前端开发的同学对前端有一个系统的认识,能更好的与前端开发协作。尽可能的写成科普类文章,对于前端开发而言,只适合刚入门的新手。

vivo 商城前端架构升级—前后端分离篇

2020-10-27
阅读 4 分钟
2k
本文主要以 vivo 商城项目的前后端分离经验,总结前后端分离思路,整理前后端分离方案,以及分离过程中遇到的问题及解决方案。一、前言vivo官方商城在2015年创建网上商城,开辟网络销售渠道,几年来日活和销售额持续增长,极大的助力了vivo手机的销量。而随着业务版本迭代越来越快,业务内容逐渐增多,前后端不分离模式...

字节码增强:原理与实战

2020-10-26
阅读 10 分钟
6.3k
本文由一个拦截器逻辑的使用场景及演变历程,引入字节码增强技术。介绍字节码的本质,字节码增强的原理及JVM 启动过程中的 Agent 加载、生效流程,并对常见字节码操作工具进行了简单应用。

vivo 基于原生 RabbitMQ 的高可用架构实践

2020-10-26
阅读 5 分钟
1.3k
一、背景说明vivo 在 2016 年引入 RabbitMQ,基于开源 RabbitMQ 进行扩展,向业务提供消息中间件服务。2016~2018年,所有业务均使用一个集群,随着业务规模的增长,集群负载越来越重,集群故障频发。2019年,RabbitMQ 进入高可用建设阶段,完成了高可用组件 MQ 名字服务以及 RabbitMQ 集群的同城双活建设。同时进行业务...

宏任务和微任务的一个小事

2020-10-14
阅读 6 分钟
3.8k
本文根据 JavaScript 规范入手,阐述了JS执行过程在考虑时效性和效率权衡中的演变,并通过从JS代码运行的基础机制事件队列入手,分析了JS不同任务类型(宏任务、微任务)的差别,通过这些差别给出了详细分析不同任务嵌套的复杂 JS 代码执行的分析流程。

Redis 缓存性能实践及总结

2020-10-12
阅读 6 分钟
7.9k
在互联网应用中,缓存成为高并发架构的关键组件。这篇博客主要介绍缓存使用的典型场景、实操案例分析、Redis使用规范及常规 Redis 监控。

共享内存原理与VCS监控采集实战

2020-09-28
阅读 11 分钟
2.3k
在Linux中,每个进程都有属于自己的进程控制块(PCB)和地址空间(Addr Space),并且都有一个与之对应的页表,负责将进程的虚拟地址与物理地址进行映射,通过内存管理单元(MMU)进行管理。两个不同的虚拟地址通过页表映射到物理空间的同一区域,它们所指向的这块区域即共享内存。

Android3分钟带你入门开发测试

2020-09-24
阅读 7 分钟
2k
作为一名合格的开发人员,基本的开发测试能力必不可少,开发测试分单元测试和UI测试,通过开发测试可以减少开发人员自测时间,提升开发质量。本篇文章可以帮助初级开发人员快速了解开发测试,快速上手测试编码。本篇文章同样适用于应用软件初级测试工程师,快速上手编码测试用例。

“非主流”的纯前端性能优化

2020-09-23
阅读 11 分钟
3.7k
性能优化一直是前端研究的主要课题之一,因为不仅直接影响用户体验,对于商业性公司,网页性能的优劣更关乎流量变现效率的高低。例如 DoubleClick by Google 发现:

Java ConcurrentHashMap 高并发安全实现原理解析

2020-09-21
阅读 33 分钟
6.5k
ConcurrentHashMap (以下简称C13Map) 是并发编程出场率最高的数据结构之一,大量的并发CASE背后都有C13Map的支持,同时也是JUC包中代码量最大的组件(6000多行),自JDK8开始Oracle对其进行了大量优化工作。

【Vue CLI】手把手教你撸插件

2020-09-17
阅读 3 分钟
1.8k
现如今 Vue 作为主流的前端框架之一,其健全的配套工具,活跃的开源社区,让广发码农热衷追捧。Vue CLI 作为其官方的开发构建工具,目前已更新迭代到 4.x 版本,其内部集成了日常开发用到的打包压缩等功能,简化了常规自己动手配置 webpack 的烦恼。另外提供的插件功能更是满足了使用者定制化的需求场景,那么本文就来讲...

同城双活与异地多活架构分析

2020-09-14
阅读 6 分钟
10.4k
采用高可用系统架构支持重要系统,为关键业务提供7x24的不间断服务,已经成为众多企业保障业务稳定、持续运转的主要选择。服务多活是高可用架构重要实施手段,本文介绍了一些业界常用的多活手段例如同城双活、两地三中心、异地多活架构设计方案并详述了各种方案的优缺点。

vivo商城前端架构升级-总览篇

2020-09-07
阅读 7 分钟
2.2k
一年前 vivo 商城还是以 Java 为技术核心,前后台一起,Java 既要负责服务、数据库,也要负责页面的渲染。在早期这种开发模式也能够很好的运行。然而随着业务迭代的加快,前端技术的发展,这种开发模式的弊端越来越明显。主要突出的有以下两个方面:

vivo 悟空活动中台 - 栅格布局方案

2020-08-31
阅读 8 分钟
2.4k
用户在使用管理后台时,打开浏览器页面宽度不一。主流的显示宽度1920像素,但也存在1366,1600等其他宽度的场景。而且用户在桌面端搭建页面时,同时在操作的内容不仅仅是管理后台,可能会适当缩小页面宽度来做其他的事情。这样我们在页面布局时需要考虑到兼容广泛的屏幕宽度。

Android 加载图片占用内存分析

2020-08-27
阅读 5 分钟
2.9k
不同Android版本,对一张图片的内存处理方式是不一样的,使用不正确会导致OOM的发生,这篇文章带你梳理内存占用情况,选择适合你的图片加载模式,解决OOM问题。

Linux Page Cache调优在Kafka中的应用

2020-08-24
阅读 6 分钟
2.4k
本文主要描述Linux Page Cache优化的背景、Page Cache的基本概念、列举之前针对Kafka的 IO 性能瓶颈采取的一些解决方案、如何进行Page Cache相关参数调整以及性能优化前后效果对比。

悟空活动中台 - 基于 WebP 的图片高性能加载方案

2020-08-17
阅读 10 分钟
2k
移动端网页的加载速度对用户体验极为重要,是影响页面转化率的关键因素,H5 活动页往往使用大量的图片素材来丰富活动效果,素材加载的快慢会对用户感知造成重要的影响。