Searching with Deep Learning 深度学习的搜索应用
一个文档嵌入本质上其实是一个(长的)数值数组,查找相似文档就相当于查找其他与其较相近的(长的)数值数组;可以采用诸如欧氏距离等来衡量相似性。
如何编写高质量的 JS 函数(4) --函数式编程[实战篇]
从如何用F函数式编程思想编写高质量的函数、分析源码里面的技巧,以及实际工作中如何编写,来展示如何运用函数式编程来提高函数的质量,打通你的任督二脉。
Linux Page Cache调优在Kafka中的应用
文章内容包括要做LinuxPageCache优化的背景、PageCache的基本概念、列举过去针对kafka的IO性能瓶颈采取的一些解决方案、如何进行PageCache相关参数调整以及性能优化前后效果对比。
SpringBoot 2.0 中 HikariCP 数据库连接池原理解析
本文重点讲解了FastList与ConcurrentBag的优化原理,通过ThreadLocal将连接池中的连接按线程做一次预分配,避免直接竞争共享资源,减少并发CAS带来的CPUCACHE的频繁失效,达到显著提升性能的效果。
从勾股定理到余弦相似度-程序员的数学基础
本文主要讲解余弦相似度的相关知识点。相似度计算用途相当广泛,是搜索引擎、推荐引擎、分类聚类等问题的核心点。为了理解清楚余弦相似度的来龙去脉,本文从最简单的初中数学入手,介绍余弦公式的推导过程,然后基于余弦公式串讲一些实践的例子,最后给出余弦相似度在开源搜索引擎中的使用。
vivo 商城架构升级-SSR 实战篇
讲述vivo商城前端架构升级过程中,在服务端渲染(SSR)方向的技术探索和实战经验。
图解 Promise 实现原理(二)—— Promise 链式调用
本系列文章由浅入深逐步实现Promise,并结合流程图、实例以及动画进行演示,达到深刻理解Promise用法的目的。
深入理解 web 协议(一)- http 包体传输
本文介绍如何使用chrome的network面板和wireshark抓包工具进行http协议的分析,重点介绍http1.x协议中的“队头拥塞”的概念,以及该问题的应对方式和浏览器的限制策略。
dex优化对Arouter查找路径的影响
本文就是对应用内置后,arouter路径无法找到的问题进行剖析,了解apk编译的过程中,dex文件被做了怎样的修改。
发布会直播技术及业务实践
本文介绍了直播技术的基本原理及其基本架构,同时对常见的几种直播协议进行浅析;文章的后半节主要介绍发布会直播场景下面临的挑战以及一般性解决思路以供参考。
深入浅出开源监控系统Prometheus(上)
Prometheus是继Kubernetes(k8s)之后,CNCF毕业的第二个开源项目,其来源于Google的Borgmon。本文从“监控”这件事说起,深入浅出Prometheus的架构原理、目标发现、指标模型、聚合查询等设计核心点。
vivo商城计价中心 - 从容应对复杂场景价格计算
本文分享了vivo商城计价中心设计的业务背景,统一计价优惠模型的设计,完整的计价业务细节流程,以及核心的计价引擎实现思路。
2021 VDC :vivo 互联网服务亿级用户的技术架构演进之路
2021年12月16日,vivo开发者大会圆满落幕。在互联网技术专场中,来自vivo互联网技术的6位研发专家,从基础架构、效能提升两方面分享了vivo互联网技术服务亿级用户的技术架构演进之路。
使用 Preload&Prefetch 优化前端页面的资源加载
对于前端页面来说,静态资源的加载对页面性能起着至关重要的作用。本文将介绍浏览器提供的两个资源指令-preload/prefetch,它们能够辅助浏览器优化资源加载的顺序和时机,提升页面性能。
灵活运用分布式锁解决数据重复插入问题
分布式系统不可避免会遇到一些并发场景下的数据冲突,例如读写不一致、数据重复插入等。本文介绍一次典型的在分布式环境下,运用分布式锁解决数据重复插入问题的案例,详细地剖析了造成问题的原因和解决方案的探索。
Node.js 模块化你所需要知道的事
Node.js是基于CommonJS规范进行模块化管理的,模块化是面对复杂的业务场景不可或缺的工具
Redis大集群扩容性能优化实践
本文介绍了一次大规模的Redis集群进行扩容操作遇到的性能问题,排查以及优化过程。
Kafka 原理以及分区分配策略剖析
本文主要介绍了kafka的一些基本概念,围绕kafka的基础架构,对生产者、消费者以及kafka的工作流程,文件存储机制、分区分配策略等进行了简要的介绍。
Tars-Java客户端源码分析
Tars是基于名字服务使用Tars协议的RPC开发框架,配套一个服务治理平台,帮助开发者快速构建一个分布式应用。其中Tars客户端支持C++,Java,Go等语言,方便各个语言程序互相进行高性能RPC调用。下文将介绍Tars-Java客户端设计理念,方便开发人员理解其设计原理。
HTTP缓存协议实战
HTTP缓存协议是客户端浏览器与服务端之间进行缓存控制的协议,合理设定缓存协议能够有效提高前端性能,降低服务端压力。