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

有赞搜索引擎实践(算法篇)

1\. 搜索算法总体架构在上篇文章(工程篇)中, 我们介绍了有赞搜索引擎的基本框架. 搜索引擎主要3个部件构成. 第一, hadoop集群, 用于生成大规模搜索和实时索引; 第二, ElasticSearch集群, 提供分布式搜索方案; 第三, 高级搜索集群, 用于提供商业搜索的特殊功能.商业电商搜索由于搜索的特殊性, 独立的ElasticSearch集群是无法满足多样的算法需求的, 我...
阅读全文

有赞APP IM SDK 组件架构设计

本文主要以Android客户端为例,记录了有赞旗下 App 中使用自研 IM SDK 设计思路,由有赞移动开发组 IM SDK 团队共同讨论完成。 背景==在有赞产品中,存在大量需要交易双方沟通交流的场景,比如,客...
阅读全文

有赞延迟队列设计

延迟队列,顾名思义它是一种带有延迟功能的消息队列。 那么,是在什么场景下我才需要这样的队列呢?背景==我们先看看以下业务场景: 当订单一直处于未支付状态时,如何及时的关闭订单,并退还库存? 如何定期检查处于退款状态的订单是否已经退款成功? 新创建店铺,N天内没有上传商品,系统如何知道该信息,并发送激活短信?等等为了解决以上问题,最简单直接的办法就是定时去扫表。每个...
阅读全文

有赞搜索引擎实践(工程篇)

随着互联网数据规模的爆炸式增长, 如何从海量的历史, 实时数据中快速获取有用的信息, 变得越来越有挑战性. 一个中等的电商平台, 每天都要产生百万条原始数据, 上亿条用户行为数据. 一般来说, 电商数据一般有3种主要类型的数据系统:1. 关系型数据库, 大多数互联网公司会选用mysql作为关数据库的主选, 用于存储商品, 用户信息等数据. 关系型数据库对于事务性非常高的OLTP操作(比如订单...
阅读全文

记一次 strace 追踪的 Docker + VirtualBox 的底层 bug

最近在公司搭建一个基于 Docker 的 PHP 环境。背景知识1. Docker 是一种容器技术,它可以提供一个隔离的环境,让用户的程序运行在一个完全隔离的虚拟的系统里,但 Docker 不是虚拟化,使用 Docker 可以在 Linux 上实现对于任意程序打包一次,到处运行。愿意接受安利的同学请移步 。2. Mac OS X 的内核可以算是半个 BSD,Docker 依赖一些...
阅读全文

JavaScript 类型的那些事

概述`JavaScript`的类型判断是前端工程师们每天代码中必备的部分,每天肯定会写上个很多遍`if (a === 'xxx')`或`if (typeof a === 'object')`类似的类型判断语句,所以掌握`JavaScript`中类型判断也是前端必备技能,以下会从`JavaScript`的类型,类型判断以及一些内部实现来让你深入了解`JavaScript`类型的那些事。类型...
阅读全文

预加载系列二:让File Prefetching丝丝润滑无痛无痒

所谓 File Prefetching 就是在一个页面加载成功后,默默去预加载后续可能会被访问到的页面的资源。 前端资源预加载其实没啥新鲜的,我们倒腾这个事情的过程却是很有有意思也很有启发性。第一个版本,简单粗暴有点痛1、建一个独立的页面,里面索引了各种需要预加载的css、js,代码类似下面这样。```html<html <head <link rel=...
阅读全文

微信图片另存失败?这得从SNI说起

一、从一个微信Bug说起 问题:在微信Android客户端,一张七牛CDN上的HTTPS链接的图片,用微信浏览器打开可以正常访问,但是,长按图片保存时,却提示下载图片失败。发现这个问题后,我用了一个简单的测试用例,很快就定位到问题原因。从这个测试用例可以看出,只有七牛CDN上HTTPS链接的图片,长按保存才会失败。有了这个测试用例,我就猜测问题可能是HTTPS证书的原因。于是...
阅读全文

Tiny-loader 好用的资源加载器

TinyLoader 项目已经在github上开源,具体可看: 概述在前端性能优化中,我们会压缩静态文件,懒加载图片,合并请求,来加快页面打开速度。当这些都做完以后,前端性能优化仿佛进入了一个瓶颈,所有的资源都已经最合理化加载了。其实,仔细观察静态资源文件,会发现许多文件我们并不需要在页面一开始就下载它们。这时候,如果有个组件,帮助我根据优先级的不同,在特定的时间下载特定的资源,同时需要...
阅读全文

【MySQL】关于 unauthenticated user的哲学思考

一、现象在生产环境中我们偶尔会遇到show processlist;显示host为 _unauthenticated user_ 这样的连接,同时伴有数据库服务器层面的load,sys cpu较高,或者thread running异常。二、分析类似于校园门卫看到一个陌生的人进入学校,对TA提出的哲学式问题:TA是谁?从哪里来? 要干什么?本文从IT技术角度回答这个哲学问题。 T...
阅读全文