开发侧的CI 应该怎么做

2021-07-28
阅读 1 分钟
1.1k
CI 的理念是「频繁地,快速地检测软件质量」,已经被证明是一种比较好的开发实践。本文沿着这一思路,试图总结出一点经验。一种典型的开发人员流程如下:CI中最重要的原则是两个:频繁,频次尽可能高。如果一个自动化工具不能被频繁地使用,那么它的价值会被大打折扣。快速。如果一个自动化工具,单次使用的时间太长,那...

容器中的1号进程

2021-07-28
阅读 1 分钟
5.6k
Linux系统中,PID为1的进程扮演了十分重要的角色,在容器兴起后,因为其秉承的原则是「one process per container」或「one thing per container」,这个时候谁来当容器内的1号进程就是一个需要回答的问题。

Thrift RPC 系列教程(5)—— 接口设计篇:struct & enum设计

2018-11-10
阅读 1 分钟
2.8k
好的接口,如同漂亮的美女,是人都会多看一眼。 一个示例 比如,要我们设计一个 User。那很简单,典型的 class 嘛,按照 OOP 的套路走就行了,于是: {代码...} 这样的设计,不能说特别糟糕,也不能说特别完美 。实际上,我们可以让这个 class 更加清晰直观一点。 实际开发中的思考 实际中的 class,需求其实还是挺多的...

Thrift RPC 系列教程(4)——源码目录结构组织

2018-11-10
阅读 1 分钟
2.2k
前面我们简单总结了一些 Thrift 的一些基础知识点,但无非是一些细节层面的东西,所谓『细枝末节』也。而一些东西,想要用得舒服,工程组织架构,一样都不能少。

Thrift RPC 系列教程(3)——模块化

2018-11-10
阅读 1 分钟
2.3k
坦白来说,这是一个无需过多讨论的话题。如果你写过C 语言,就会对它那『近乎平坦』的命名空间,感到熟悉。所有的函数,变量都在同一个全局命名空间(static 类型的除外,事实上,static 函数,是C语言中少数的模块化手段之一)。如果你 include一个东西,你都不知道你在干嘛,you know nothing。比如:

Thrift RPC 系列教程(2)——全局变量&全局常量

2018-11-10
阅读 1 分钟
2.4k
通常来说,『全局变量』被视为一种不好的编程风格,因为它实在是不可控,怕它的状态不知道在什么时候就被改变了,根源就是『人们害怕未知』。但是如果是全局常量,则问题不大,反正变来变去,还是同一个东西。

Thrift RPC 系列教程(1)——Thrift语言

2018-11-06
阅读 3 分钟
2k
bool: A boolean value (true or false) byte: An 8-bit signed integer i16: A 16-bit signed integer i32: A 32-bit signed integer i64: A 64-bit signed integer double: A 64-bit floating point number string: A text string encoded using UTF-8 encoding

彻底理解「正向代理」与「反向代理」

2016-11-13
阅读 1 分钟
7.1k
啥是代理 老实说, 我觉得「代理」一词不太好,不太「接地气,通俗化」 不如这样来理解: 如果你细心一点, 你会发现, 「代理」这一现象,在生活中简直是无处不在: 你通过中介( 活生生的人 / 租房网站 )来租房子, 中介是夹在你和房子之间的代理 雇佣钟点工来打扫房子, 钟点工是夹在你和打扫工作之间的代理 程序是你的思想与最...

Linux 上新添磁盘至挂载的步骤

2016-11-05
阅读 1 分钟
2.4k
有时候,发现 Linux 上的空间不够用了,这时需要新添加磁盘,来供我们使用,下面是具体步骤。 利用 fdisk 分区 使用 fdisk -l 查看各块磁盘的状况 使用 fdisk /dev/sdd 对某块磁盘进行分区( 这里假设是 sdd ) 一旦进入 fdisk 的交互界面, 那么需要熟悉 fdisk 各个命令的含义, 下面是常用的: m 帮助 n 新建分区 w 写入分...

Thrift学习的几点经验

2016-10-30
阅读 1 分钟
4k
大致了解其架构, 先看看几篇博客文章, 看不懂也没有关系. 大概知道它是一个分层的架构就 OK 了, 借助自己对 TCP/IP 的分层结构的理解来理解 Thrift。 ( [链接] )

使用lxml代替beautifulsoup

2016-05-30
阅读 1 分钟
8.7k
我觉得beautifulsoup不好用,速度也慢(虽然可以使用lxml作为解析器了).另外soup.find_all这种简直就是手工时代的操作(很多人使用find find_all这几个函数, 其实它们使用起来不是很愉快),手工操作的另一个特征是需要自己手写正则表达式(正则是一个小范围内的军刀,大范围用是不对的)

从此对读懂写好正则表达式充满信心

2016-04-29
阅读 2 分钟
3.2k
为什么一定要掌握 作为正则表达式,优势有: 简洁 力量强大 文本处理军刀 同样,劣势明显: 难读 难写 难维护 只在小范围用 那为什么还要它?原因是: 你绕不过,代码里会遇到它,你需要攻破这一知识点 它总是在撩你 掌握它,收益巨大 它是什么 文本利器,其他领域没有用 能让你的效率提升的神器 标准混乱,哦不,没有标准,总体以「P...

几个必须知道的Python工具

2016-04-23
阅读 1 分钟
2.2k
隔离环境的利器,太好用了我的推荐是: 进阶使用virtualenvwrapper,你会发现它比virtualenv还好用. 读读其官方英语文档,也就一两个小时的时间就可以掌握这个利器,性价比不要太高!

Windows下的apt-get

2015-12-03
阅读 1 分钟
5.2k
官网地址如下:[链接] [安装]官网上都有 [试验]安了python3,ruby等,好像还不错感觉挺好用,无法忍受到处上官网下载安装包 [小遗憾]网速问题,没有国内镜像源 [其他]应该可以结合powershell制作某种自动安装脚本,新机只要运行脚本即可搞定各种开发环境官网应该有,但是我没有找下去了

Python2.x的编码问题

2015-11-19
阅读 2 分钟
3.4k
好像写Python的人经常遇到这个问题,如果是一个新手,对网上的解答简直头都大了.如果又是Python2.x,简直了都(历史原因,不赘述)但是,字符串编码是经常要面对的问题,不可不察.

两个好用的镜像站

2015-10-31
阅读 1 分钟
2.3k
之所以列举这两个站点,主要是:1 软件源全,有些冷门的镜像也有. IPv4, IPv6都有2 详细的使用帮助,比如有专门的源生成器3 速度ok4 https

改善Python在Windows下的体验

2015-09-30
阅读 1 分钟
2.7k
安装Python 2.x或者3.x都可以,pip是必须的 修改pypi源 {代码...} 安装Cygwin/MinGW {代码...} 提升幸福感的库 {代码...}

Cygwin在Windows8上使用(备忘)

2015-09-27
阅读 1 分钟
2.6k
官网下载安装文件即可(我选了64位版)安装时选择from internet(起初考虑到可能会很慢,后来证明我想多了)软件源选择163的(速度不错)一大堆包需要选择,眼睛都瞎了,不管,直接默认,以后按需选择问你要不要生成桌面图标,肯定yes

Python中编写并发程序

2015-06-13
阅读 3 分钟
9.1k
在Python中,由于历史原因(GIL),使得Python中多线程的效果非常不理想.GIL使得任何时刻Python只能利用一个CPU核,并且它的调度算法简单粗暴:多线程中,让每个线程运行一段时间t,然后强行挂起该线程,继而去运行其他线程,如此周而复始,直到所有线程结束.