system-design

洞彻系统设计(设计一个TinyURL短网址服务)

设计一个类TinyURL的短网址服务
让我们来设计一个类似TinyURL的短网址服务。它可以把短网址重定向到原始长地址。
类似服务:bit.ly, goo.gl, 2020.fm etc.
难度级别:简单

1.我们为什么需要短网址服务?

短网址就是为原始长网址创建的别名,当点击短网址时,用户会被重定向到原始网址。当需要进行印刷或者输入有字数限制时,使用短网址非常有效。

2.系统需求和目[……]

继续阅读

Flame Graph

如何看懂火焰图

什么是火焰图
火焰图(Flame Graph)是由 Linux 性能优化大师 Brendan Gregg 发明的,和所有其他的 profiling 方法不同的是,火焰图以一个全局的视野来看待时间分布,它从底部往顶部,列出所有可能导致性能瓶颈的调用栈。

火焰图 svg 文件可以通过浏览器打开,它对于调用图的优点是:可以通过点击每个方块来分析它上面的内容。
火焰图的调用顺序从下到上,每个方块代表[……]

继续阅读

chrome-extension

Google Chrome浏览器扩展程序开发

Google Chrome浏览器扩展程序开发

浏览器开发工具框架
https://github.com/PlasmoHQ/plasmo
~Plasmo~ 框架是一款黑客为黑客打造的功能强大的浏览器扩展程序软件开发工具包(SDK)。使用 Plasmo 来构建你的浏览器扩展程序,不需要操心扩展的配置文件和构建时的一些奇怪特性。
它就像浏览器扩展界的 ~Next.js~ ![……]

继续阅读

ffmpeg

ffmpeg基本用法

ffmpeg是强大的音视频处理软件,提供了丰富的音视频转码、提取、合并功能。
FFmpeg 是领先的多媒体框架,能够解码、编码、转码、复用、解复用、流式传输、过滤和播放几乎所有人类和机器创造的媒体格式。它支持从最古老的冷门格式到最前沿的最新格式,无论这些格式是由标准委员会、社区还是公司设计的。FFmpeg 还具有高度的可移植性:它能够在 Linux、Mac OS X、Microsoft Window[……]

继续阅读

搭建Skywalking 性能监控分析系统

SkyWalking是分布式系统的应用程序性能监视工具,专为微服务、云原生架构和基于容器(Docker、K8S、Mesos)架构而设计;本身也支持OpenTracing规范,优秀的设计提供了良好的扩展性,更支持Java、PHP、.Net、NodeJs等多种探针。
SkyWalking是观察性分析平台和应用性能管理系统。提供分布式追踪、服务网格遥测分析、度量聚合和可视化一体化解决方案。

Skyw[……]

继续阅读