重学Kubernetes - 读张磊的《深度剖析Kubernetes》
云计算从十年前的风起云涌却叫好不叫座的局面慢慢地变成了无人刻意提起的境地,这一切的幕后游戏规则改变者某种程度上来说 都是因为Kubernetes这个伟大的开源项目以及依托于它的云原生运动 (参考前文)) 的蓬勃发展而激发。
云计算从十年前的风起云涌却叫好不叫座的局面慢慢地变成了无人刻意提起的境地,这一切的幕后游戏规则改变者某种程度上来说 都是因为Kubernetes这个伟大的开源项目以及依托于它的云原生运动 (参考前文)) 的蓬勃发展而激发。
Kubernetes是目前炙手可热的云计算管理基础设施平台,并且是一个诞生不久就迅速鉴定了业界实际标准地位的一个容器编排平台。
不同于传统的工业标准的C++/Java语言缓慢的更新节奏(最近几年大家都加快了演进的节奏),Rust从一开始就采用了滚动发布的模型, 基本上是按照固定的步伐每个六个星期就会放出来一个新版本,并且从正式发布了1.0开始,最近两年来一直是保持向后兼容的。 社区在2018年初的时候,就约定好会在18年发一个大版本出来,...
最近遇到一个麻烦而繁琐的操作,需要从工作用的缺陷跟踪系统中导出报表,分析其中的一些数据模式,分类整理后用更好的方式整合出来; 本来这类反复重复的零碎工作,如果不是很复杂,依赖于Excel本身的强大的表格计算功能是很容易自动化的(在线系统比较古老仅仅支持CSV格式导出), 只是内部的字段量比较多,并且有很复杂的相互...
Building time is always a big concern for large scale C/C++ based software projects, there’ve been a lot of outstanding tools invented to relief the pain, CM...
这是一本关于程序员生产效率的书,作者来自于Thought Works - 很多人一听到这个公司的名字就会在头脑中联系到敏捷/布道师这样的角色,并且可能在心里暗暗的寻思,又是一个光说不练的家伙在传播他们的理论了。但是仔细读来,才会发现这本书其实和敏捷并没有太大关联,讲述的也是一些实实在在的建议和实践。
PyQT是知名跨平台框架QT的python绑定;用它来做些小程序既可以利用QT的跨平台性又能利用python强大的表达能力,从而取得事半功倍的效果。下边是使用它开发一个小程序过程中的学习小笔记。
用Pandoc这一神器可以实现N多文档格式的转换,这里仅记录一些小技巧。
文档悖论 每个程序员都讨厌没有文档的代码,然而没有几个程序员喜欢给自己的代码附上文档,因为写文档实在是太烦人的事情了,纠结的排版,目录,引用等等。然而很多时候,有个系统的文档来描述大块的代码设计可以减少很多无谓的脑细胞伤亡。Markdown作为程序员的文档格式工具,已经逐渐被很多人接受,但是仍然有许多“传统”的势...
Linux下的编程实践中,man手册页的作用是不可小视的,每一个高效的Linux程序员必然往往也具备快速的通过man手册页找到所需文档的能力。本文是一些关于man手册使用中的一些小技巧总结。
许多高级程序语言都提供了出错时候的调用栈打印功能,以方便尽快得到基本的出错信息,比如Java的runtime异常栈打印和Python的pdb库都提供了详细到行号的运行时信息以便调试。作为接近系统底层的高级语言,C/C++中要达到类似的功能却是很麻烦的,因为程序中的符号信息可能被strip,甚至编译器在优化阶段也会...
UNIX环境下,用shell做一些常见的文本处理工作是很方便高效的事情;虽然目前有很多自带丰富类库的脚本语言可以完成同样的事情,但是对于一些特殊的文本格式处理任务,传统的sed/awk/grep组合还是有很明显的优势:没有复杂的版本问题和类库部署依赖问题,能够快速解决问题。awk作为一门DSL,自身也带有对很多高...
vim之所有被成为Unix程序员的两大神器之一,就是因为其强大的插件机制;但是传统的插件更新方式需要手工去插件网站下载,并且释放到$HOME/.vim目录下边,然后解压缩,定制选项等等。这样的好处是,当你需要到一台新的机器上工作的时候,不管这台机器有没有你的插件,只需要将你自己的插件目录全部打包/复制/覆盖就好了。
Rake - the make in ruby world
Mark down syntax study
AWK及特点
以前常用boost的一些库,由于项目自身用CMake组织build,跟着最新版本升级是很自然的想法。问题是,boost每次升级之后,重新用bjam编译一次都很是不便(某些平台,用默认选项编译有些问题,有时候往往安装不成功)。
以前尝试过在vim下配置STL的Intellisense曾经没有成功;最近有空刚好仔细看了下vim的一些相对高级的manual,总算将OmniCppComplete主页上的效果给弄了出来(这里)。
Python自带的unittest和test两个模块为编写test case提供了很灵活的支持,最常用的情况就是继承自unittest.TestCase类,然后对每一个要进行测试的行为写一个test_开头的类成员函数,最后可以利用test.test_support.run_unittest函数跑所有的test c...
源码编译libcurl的时候,由于使用的不是默认系统上的ssl库(开发服务器上有很多个版本),为了避免动态库链接问题,必须定制SSL。 根据其源码里边的说明,只需要在./configure 后边加上 –with-ssl=即可。
出于安全性的考虑,很多网络应用可能用比较强的安全算法加密传输的数据,从而导致抓包这一强大的网络分析工具成为鸡肋,SNMP v3就是这么个例子。 Wireshark自带有配置usmUser的例子,可以自动调用netsnmp的库来完成揭秘,但对于Unix程序而言,GUI的工具本身还是有诸多不便,没有CLI工具来的舒服...
一直在留意好用的开源作图工具,可惜这年头很多是UML的,并且绑定与Eclipse的很多,可惜我需要的只是能够画基本的流程图,而且可以随意在矩形框之间加连接线,并且可以自动调整连接线的;最近突然发现了一款相当好用的开源工具,不仅小巧,而且速度快,自身相对独立,刚好合乎我的需要;也不需要蜗牛般的Java,真乃好东东。
CMake常用技巧:
对于经常在终端下写程序的non-windows程序员,Makefile绝对是最常用的工具,小到一个文件的简单的测试程序,大到数百个文件的商业软件,只需要有shell,一个make命令就可得到可运行的程序,Makefile绝对功不可没;可惜世界中不是那么太平,不但各个Posix系统的API千差万别,硬件平台各异,就...
对于一个上点规模的C++项目而言,Log的作用是毋庸置疑的,出问题的时候,看了Log,常见的问题处理起来自是方便不过,即使遇到麻烦的问题,也可以从log总发现不少蛛丝马迹。因此一个严肃的项目应该从一开始就好好考虑如何打Log,便于分析、维护。