2022
读《居里夫人自传》
看到“自传”二字的时候我的第一反应就是这些名人都这么把自己当回事儿了吗?不过在第一章第一节中居里夫人就回答了我的疑惑:“刚开始的时候,我觉得这个建议(写自传)对我来说真的是难以接受”。后来想了下其实 Michelle Obama 的《Becoming》也是自传啊,当时阅读时就没有这么强烈的质疑,原因大概是我对书籍类型的区分上还停留在书名而不是书籍内容上。
[译]Netflix数据平台自动诊断和自动修复系统
Netflix 目前拥有公有云上最复杂的数据平台之一,数据科学家和数据开发工程师在该平台上每天运行着大量批处理和流处理任务。随着我们的付费订阅用户在全球范围内的增长以及Netflix 正式进入游戏赛道,批、流处理任务的数量也迅速增加。我们的数据平台基于诸多分布式系统构建而成,由于分布式系统的固有特性,运行在数据平台上的任务不可避免地隔三差五出现问题。对这些问题进行定位分析是件很繁琐的事,涉及从多个不同系统收集日志和相关指标,并对其进行分析以找出问题的根本原因。在我们当前规模上,如果人工手动地定位和解决问题,即使是处理一小部分异常任务,也会给数据平台团队带来巨大的运维负担。另外,这种手动定位问题的方式,对平台用户工作效率上造成影响也不可小觑。
2021
任务调度系统系列之Airflow
这是任务调度系统调研系列文章的开篇,后续会陆续调研Oozie,Azkaban,Dolphin Scheduler等系统。本文的主要内容是来自对官方文档和网上相关资料的调研,并非基于实际使用的经验总结,文章中难免会有一些不尽的细节或者关于Airflow错误的观点,如有不当之处,欢迎指正交流。
2020
Kubernetes原理(1)
本文将主要介绍Kubernetes集群中各个组件的工作原理(非源码级别),以帮助大家更深入的了解K8S,从而更高效地使用K8S。由于本篇不是入门级文章,需要大家对K8S有些基本的了解,知道它提供了哪些功能,才能更好地理解这篇文章。如果还不了解K8S的功能特性,可以参考这篇一起学习k8s做个快速入门。
Java的那些日志框架们
2019
长大后我就成了你
第一次接触Chrome是在大学寝室里龙哥的电脑上,那时候IE6还霸占者绝对的浏览器市场份额,装着IE内核、披着华丽外衣的国产浏览器也正春笋般崛起,真是有点被那蓝色简洁的窗体给惊讶到了,但是并没有让我从Firefox转战到Chrome,这么简单的一款产品在功能性和扩展性上怎么能和插件丰富的Firefox相比,于是我坚守在Firefox的阵地,同时鄙视、谩骂着IE。
2018
读《大教堂与集市》
浏览开发者头条的时候看到一篇题为《系统架构》读书笔记的文章,突然想到自己刚读完《大教堂与集市》,还没有留下一点点观后感之类的文字,没有对书本的思考,这本书就白读了吧,就像之前的《黑客与画家》,现在都记不清它都有些什么内容了。所以决定还是写点读后感类的内容。
The total number of locks exceeds the lock table size
全表更新若干个字段信息,数据量不大,也就287338条,但是反复更新都以报错失败:The total number of locks exceeds the lock table size
。
2017
ProxyJump
为了安全起见,线上机器一般不会允许用户通过ssh直接登录,而是需要通过堡垒机(跳板机)跳转到目标线上机器,这样方便对权限控制的管理和访问操作的审计。不知道公司用的是哪款堡垒机产品,选择目标机器的过程异常繁琐。查看ssh
的手册(manual)看到了-J
选项,可以通过该选项指定ProxyJump然后直接登录到目标机器,命令如下:
2016
Tomcat NIO Connector
Tomcat服务请求量巨大时connector线程数剧增。 Tomcat默认的connector是阻塞模式的(即BIO), 每次请求都需要一个单独线程处理,另外对于keep-alive
的HTTP请求,
查找占用CPU高的Java线程
由于种种原因导致生产环境的应用CPU占用奇高, 这个时候就需要确定到底是哪些线程占用了较高的CPU, 然后再做针对性的优化,
2015
用dependency插件解决依赖包冲突
偶然翻阅了下 maven dependency 插件的官方文档,颇有收获,记录一下。可能有些标题党的嫌疑,并没有具体介绍怎么解决依赖冲突问题,不过既然你都打印出了依赖树,
使用 Maven Profile 和 Filtering 打各种环境的包
每个项目都会有多套运行环境(开发,测试,正式等等),不同的环境配置也不尽相同(如jdbc.url
),
给hosts文件生成ctags文件
经常编辑hosts文件,
定位具体位置的时候以前用搜索功能,但是域名相似的配置实在太多,不能立即跳转到指定地方,
其实已经把hosts
划分成若干组,
2014
Shell书签功能
使用shell时总会有些经常访问的目录,老是cd
来cd
去的实在是麻烦,
这不,总会有些大牛闲着木事解放我们的双手,利用软连接实现shell下的书签(类似浏览器)。
Java双括号语法
第一次接触双括号语法是使用mybatis,代码如下:
两周年庆–好好学习
在一家公司待上两年应该也是段很漫长的日子了吧, 青春里能有几个两个(初中也才三年而已)? 第一年,虚度了闲暇的光阴,
SSH无密码登陆
这方面的文章网上写的也是异常泛滥了, 那我为啥还要冗余的写上一篇? 难不成这篇文章有不同于乌合之众的独特见解。
Flappy Bird
<p>按空格键开始</p>
<div id="game_div"> </div>
<p>
<a href="http://blog.lessmilk.com/how-to-make-flappy-bird-in-html5-1/"
target="_blank">点我</a>学习制作教程(英文)
</p>
Linux下解压zip中文乱码问题
遇此问题良久了,就是在该死的Windows上压缩的zip文件,在linux解压中文就乱码了,
之前只好弱弱地只在Windows下查看,好麻烦。终于忍不住google了一下,如下:
Ubuntu 12.04 vim 无系统剪切板
突然间发现我的vim系统剪切板不能用了,
之前还写过一篇日志介绍剪切板来着呢,
执行:reg
确实没了"+
系统剪切板,那就修复之:
Ubuntu 12.04 创建wifi分享
如果你曾想过要用12.04建立个wifi分享的话,
你应该了解到,
直接通过右上角的网络管理新建的ad-hoc很多安卓设备没法识别。
告别XP,拥抱Linux吧
还有n天的时间XP就要被微软抛弃了,
如果你的电脑里还运行着这款古老又好用的操作系统还是考虑换个新的。
Ubuntu命令行切换鼠标左右键
话不多说,让我们开始切换:
首先让我们把鼠标切换到反手(这里之所以用反手一词,是因为有人可能是左撇子,有人是右撇子「还有右撇子?」):
VIM的剪切板
你好,世界
静夜思
床前明月光,
疑是地上霜;
举头望明月,
低头思故乡。