Typora与PicGo的使用笔记
一、TyporaTypora是一款极简的Markdown写作编辑器,相比于传统的双栏目预览式编辑,Typora巧妙的实现了一种所见即所得的编辑模式,关于这款工具的详细的介绍,以及它与其他工具的对比,在网上到处都是,这里就不赘述了。我只简单的描述以下我对这个编辑的印象与评价。 优点: 风格极简,支持几种主流的主题风格,同时支持主题自定义; 所见即所得的创新的写作风格体验; 支持文档导出为多种格式, ...

sar指令的使用与源码解析 - 每周指令
sar 的全称是 System Activity Reporter(系统活动情况报告)的缩写。sar工具将对系统当前的状态进行取样,然后通过计算数据和比例来表达系统的当前运行状态。它的特点是可以连续对系统取样,获得大量的取样数据;取样数据分析的结果都可以存入文件, 所需的负载很小。sar是目前 Linux 上最为全面的系统性能分析工具之一,可以从 14 个大方面对系统的活动进行报告,包括文件的读写 ...

Hexo的多种Markdown渲染器对比分析
Hexo 作为一个优秀的 Markdown 博客框架,自然也诞生了很多适用的 Markdown 渲染器,这里对比分析一下 Hexo 下几种常用的 Markdown 渲染器: hexo-renderer-marked , hexo-renderer-kramed , hexo-renderer-pandoc , hexo-renderer-markdown-it , hexo-renderer-ma ...

Markdown中支持LaTex数学公式
一、引言Markdown在目前无疑是一个比较好的写作方式,但是它时候和大部分的写作软件一样,在一些数据公式的编写上,只能引入图片呢?除了引用图片之外是不是还有更好的数学公式编辑手段呢?这里主要介绍一下LaTex Math在Markdown上的支持。 本博客目前采用hexo-renderer-kramed渲染器替换了Hexo自带的hexo-renderer-marked渲染器来支持LaTex; La ...

Charles工具的介绍与使用
Charles 是 MacOS 上十分好用的一款抓包工具,它不仅可以抓取明文数据包,也可以在手机端安装相关 SSL 证书后抓取加密的数据包,对于分析手机端应用的交互行为十分有帮助,本文中使用的版本为 4.2.8,这里记录一下如何使用 Charles 在 MacOS 下对于安卓手机进行抓包。 一、环境配置与要求 环境与软件:自行安装,不做介绍 环境: Charles 本身依赖于 Java 环境,因此 ...

为什么RedisCluster采用16384个槽位?
一、引言RedisCluster目前使用的计算slot槽位的算法为CRC16,该算法本身会产生的hash值的大小为16bit,因此该算法可以产生2^16=65536个不同的值,取值范围为0~65535之间,从下面的代码中我们看到,目前限制的slot槽位的个数为16384(相关的代码为crc16(key+s+1,e-s-1) & 0x3FFF); /* We have 16384 hash ...

Redis的多线程特性
Redis6.0即将发布,比较吸引我的便是Redis6.0支持的多线程技术,Redis本身也并不是简单的单进程/线程模型,包括bgsave的进程以及对于一些慢请求的io线程(惰性删除,日志刷盘等),这次多线程的优化主要解决了Redis单进程/线程处理模型在协议解析以及网络IO上的消耗问题,在命令的处理上仍旧是单线程。 一、逻辑分析2.1、两个配置 io-threads:启用的I ...

使用FPM优雅的进行rpm打包
一、介绍对于有过构建rpm安装包相关操作的应该知道可以使用spec文件以及rpmbuild指令进行打包操作,不过spec文件的编写也是一个十分令人头懂的事情,我之前曾经有过一篇使用spec文件打包的文章,参考RPM打包记录,这里介绍一个更高效,更人性化的打包工具:FPM。 FPM是一个快速高效的打包工具,该工具本身为Ruby的一个模块,因此使用该工具之前需要安装Ruby; 二、安装与使用2.1、安 ...

BloomFilter 和 CuckooFilter 对比解析
BloomFilter 和 CuckooFilter 都是一种用于数据存在性判断的数据结构。布隆过滤器早在 1970 年就被提出,它由一个二进制向量数组和一系列随机映射函数组成。它可以用于检索一个元素是否一定不在集合中或者可能存在集合中。布谷鸟过滤器的提出相对较晚,它创新性的提出了可以删除的实现方式,解决了布隆过滤器无法删除数据的痛点。这两者各有优劣,需要结合具体的使用姿势来进行选择。 一、Blo ...

记一次nf_conntrack模块导致的丢包问题
一、背景我们灰度线上业务的时候,有一次遇到了业务反馈资源没有读写,当时正好将流量切到了线上的一台机器上,在将业务的资源迁移回滚之后,经过一番查找,发现/var/log/message中打印了很多关于kernel: nf_conntrack: table full, dropping packet的错误信息,网上查找了一下,这个错误主要是由于启用了nf_conntrack模块,之前很多人都遇到了这个 ...