4月 16 2018
linux 日志管理服务 logrotate

logrotate 是操作系统用来管理日志的工具,支持日志的切割、压缩、清理以及邮件报警等,通过 crontab 服务定时运行,也可以用这个工具来管... ...

4月 14 2018
logstash mysql 准实时同步到 elasticsearch

mysql 作为成熟稳定的数据持久化解决方案,广泛地应用在各种领域,但是在数据分析方面稍有不足,而 elasticsearch 作为数据分析领域的佼... ...

4月 12 2018
elasticsearch + kibana 集群环境搭建

elk 提供了完备且成熟的日志存储和分析的解决方案,免费开源,本文主要介绍 elasticsearch 集群以及 kibana 的环境搭建 ... ...

4月 12 2018
golang 性能优化之累加哈希

很多时候性能问题总是发生在一些不起眼的地方。最近做一个性能问题分析的时候发现,一个函数里面使用由于字符串拼接产生的临时字符串导致内存上涨了40%(1... ...

4月 12 2018
golang 性能优化之 bitset 代替 hashset

hashset 是一种非常高效的数据结构,插入和查询的复杂度都是 O(1),基本上能满足大部分场景的性能需求,但在一些特殊的场景下,频次非常高的调用... ...

4月 11 2018
golang 构建工具之 Makefile

可能是因为编译太简单了,golang 并没有一个官方的构建工具(类似于 java 的 maven 和 gradle之类的),但是除了编译,我们可能还... ...

3月 21 2018
gradle 开发语言 groovy 入门

gradle 是 java 的构建工具的一种,同类的工具还有 maven,ant。我比较喜欢 gradle 主要是其语法简洁,而且功能强大。除此之外... ...

3月 18 2018
java json 库之 jackson

jackson 是一个 java json 库,提供了完备的 json 解析,序列化以及反序列化功能 ...

3月 17 2018
java 多线程

java 的多线程有好几种,可以继承 Thread,也可以实现 Runnable 接口,还可以实现 Callable 接口 ...

3月 17 2018
golang slice 和 string 重用

相比于 c/c++,golang 的一个很大的改进就是引入了 gc 机制,不再需要用户自己管理内存,大大减少了程序由于内存泄露而引入的 bug,但是... ...

3月 17 2018
golang 字节对齐

最近在做一些性能优化的工作,其中有个结构体占用的空间比较大,而且在内存中的数量又特别多,就在想有没有优化的空间,想起了 c 语言里面的字节对齐,通过... ...

3月 11 2018
golang 并发编程之生产者消费者

golang 最吸引人的地方可能就是并发了,无论代码的编写上,还是性能上面,golang 都有绝对的优势 学习一个语言的并发特性,我喜... ...

3月 10 2018
golang 设计模式之选项模式

有时候一个函数会有很多参数,为了方便函数的使用,我们会给希望给一些参数设定默认值,调用时只需要传与默认值不同的参数即可,类似于 python 里面的... ...

3月 04 2018
golang aws-sdk-go 之 s3 服务

s3 是 aws 提供的分布式文件服务,价格比较优惠,经常被用来作为日志的持久化存储,大数据处理结果的输入输出等 s3 服务提供命令行... ...

3月 04 2018
基于 aws 的 vpn 服务器搭建
aws, vpn

搭 vpn 的原因主要有两个: google,“内事不知问百度,外事不知问 google”,技术这件事情明显是外事,百度在... ...

2月 21 2018
Mac 必备工具之 brew

brew 是 Mac 下的一个包管理工具,类似于 centos 下的 yum,可以很方便地进行安装/卸载/更新各种软件包,例如:nodejs, el... ...

2月 14 2018
markdown 一个优雅的写作工具

说到写作工具,不得不提的就是 word 了吧,现在有哪个公司能不用这个软件吗?作为最流行的写作软件,word 确实有很多优点,操作比较直观,所见即所... ...

2月 08 2018
golang restful 框架之 go-swagger

restful 是这些年的高频词汇了,各大互联网公司也都纷纷推出了自己的 restful api,其实 restful 和 thrift,grpc ... ...

2月 08 2018
golang orm 框架之 gorm

最近在想给这个小站增加点赞和评论功能,第三方系统又有各种限制,就想自己弄个后端,实现类似的功能,对于个人来说,数据量不是很大,单机的 mysql 足... ...

2月 04 2018
几种实用的 pythonic 语法

python 是一门简单而优雅的语言,可能是过于简单了,不用花太多时间学习就能使用,其实 python 里面还有一些很好的特性,能大大简化你代码的逻... ...

2月 04 2018
golang 网络框架之 thrift

thrift 最初是 facebook 开发使用的 rpc 通信框架,后来贡献给了 apache 基金会,出来得比较早,几乎支持所有的后端语言,使用... ...

2月 04 2018
我为什么写博客

最近有点沉迷于这个博客了,除了工作,吃饭,睡觉,基本所有的时间都花在这里了,经常弄到夜里两点,和之前沉迷 dota 有得一拼😏 一直... ...

2月 03 2018
golang 网络框架之 grpc

grpc 是 google 开源的一款网络框架,具有极好的性能,可能是目前性能最好的网络框架,支持流式 rpc,可以很方便地构建消息订阅发布系统,支... ...

1月 31 2018
golang 单元测试

单元测试是质量保证十分重要的一环,好的单元测试不仅能及时地发现问题,更能够方便地调试,提高生产效率,所以很多人认为写单元测试是需要额外的时间,会降低... ...

1月 29 2018
golang pprof 性能分析工具

性能优化是个永恒的话题,而很多时候我们在作性能优化的时候,往往基于代码上面的直觉,把所有能想到的优化都优化了一遍,不错过任何小的优化点,结果整个代码... ...

1月 28 2018
golang json 性能分析

Json 作为一种重要的数据格式,具有良好的可读性以及自描述性,广泛地应用在各种数据传输场景中。Go 语言里面原生支持了这种数据格式的序列化以及反序... ...

1月 27 2018
golang 依赖管理

依赖管理是一个语言非常重要的特性,很大程度上决定着一个语言的流行程度,流行的语言大多都有非常成熟的依赖管理工具,java 的 maven 和 gra... ...

1月 26 2018
蓄水池算法

最近有个需求,需要从不固定大小的数据集中取固定数量的数据作为样本,有个同学提到了蓄水池算法,于是了解了一下。 蓄水池算法,本身是为了解... ...

1月 24 2018
golang 几种字符串的连接方式

最近在做性能优化,有个函数里面的耗时特别长,看里面的操作大多是一些字符串拼接的操作,而字符串拼接在 golang 里面其实有很多种实现。 ...

1月 22 2018
第一次写JD

有个同学(同事+同学+室友+基友)要离职了(离职的原因,因为爱情,让我们一起祝福他们吧),缺一个人,老大说,你要找个什么样的人,你自己来写JD吧。 ...

1月 21 2018
与vim的一段往事
ide, vim

这就要从大学里面学c语言说起了,那个时候我们还在用古老的 visual c++ 6.0(满满的回忆有木有……),不过我唯一的印象只剩下了,嗯,这个东... ...

1月 19 2018
谈谈注释

大家肯定都有写过注释,注释这个东西不同于代码,与程序逻辑的正确性没有直接的关系,所以每个人可能都有自己的风格,每个人对哪里应该写注释,注释应该写成什... ...

1月 18 2018
golang slice 性能分析

golang 在 gc 这块的做得比较弱,频繁地申请和释放内存会消耗很多的资源。另外 slice 使用数组实现,有一个容量和长度的问题,当 slic... ...

1月 16 2018
golang 开发目录结构

在实际的项目中发现大家的目录结构都比较凌乱,基本每个人都有每个人的风格,一个项目在不断地变大,一些新的文件或目录又不断地被添加进来,从这里面去找到自... ...

1月 12 2018
《microservice & serverless》by 蔡超的一点感想

超哥是来自Amazon的顶级的架构师,经历了Amazon整个向微服务架构迁移的过程,以及向serverless的演化过程,有着极其丰富的经验,年过4... ...