crontab为何自动中断


在最近开发的一个系统中,有一个定时任务,每天需要将一份数据(大约200w条),发送至一个线上key-value存储系统中。

说到定时任务,最常见的,就是使用crontab。原来这一套系统已经开发完成,部署在深圳IDC,工作良好。最近,需要在天津IDC也部署一套。但是在天津部署之后,我却发现,天津的这套系统每天只能定时发送48999条数据(准确数字),然后就自动停止了。

ProtoBuf中的反射


同时写Python和C++的程序员,往往会觉得C++写起来很累。(所谓“累守恒定律”: 程序执行时的累 + 程序员写代码时的累 = 恒定的累^_^)

在处理ProtoBuf Message数据时,经常会有这样的需求,根据一个输入的字符串,找到Message中对应属性的取值;或者根据输入的字符串和一个值,设置Message中对应属性的取值。

这种需求放在Python中,往往直接通过getattr/setattr就能一步搞定。但是在C++中,我们不得不借助于ProtoBuf的反射机制。

这里,需要介绍如下几个概念:

《反脆弱》读后


《反脆弱》这本书可能大家不知道,但是说起其作者塔勒布的另一本畅销书《黑天鹅》,可能知道的人就会更多一些。虽然这本书更多的是出现在一些“理财投资必读书单”之类的地方,但是我读过之后觉得,很难把这本书单独的归入经济、心理学或投资学任何一个单独的门类中。

这是一本讲价值观的书。

说到价值观,大家可能会觉得比较务虚;但是,其实我们在生活中的每一次选择、每一个行动,都是内在价值观的外在体现:选择哪一份工作,哪一种生活方式甚至周末选择哪一部电影,都能一窥不同人的价值观之不同。

那么,这本书的价值观是怎样的呢?

线程数与多核CPU的关系


多线程程序大家都在写,那多核CPU的服务器上,线程数开多少个比较合适,你知道吗?

这里,首先要厘清CPU数、核数、processor数这么几个概念。

比如,使用top查看负载时,按1,看到的CPU0~CPUn,这里的数量其实是processor数。

我看语言之争


我不是一个语言原教旨主义者,但是不得不承认,“语言鄙视链”这东西确实存在。一般来说,强类型鄙视弱类型的,编译型的鄙视解释型的,分布式的鄙视单机的,函数式的鄙视面向对象的鄙视过程式的……不过最近某P语言借助人工智能东风,有从鄙视链底端逆袭的趋势。

踩坑记:临界区内要小心


这周对一个服务进行了升级,结果踩了一个不大不小的坑。

先介绍下这个服务的背景:

这是一个数据接收的服务,通过http协议接收到json数据之后进行解析,然后落地到本地文件;
之后再由其他服务读取这些文件,进行后续的处理。

再谈右值引用与移动语义


之前在总结C++11新特性的时候,写过一篇文章,专门说到了右值引用、移动语义以及从中牵扯出来的引用折叠和完美转发等概念《C++11新特性之右值引用与移动》

那篇文章例子很多,仔细阅读后也可以完全理解这几个概念。但是今天我想重新组织下语言,就像面试中被问到“你怎么看待C++中的右值引用和移动语义”,进行一次小总结。当然,如果你最近也正好需要面试,下面的文字可能能帮你梳理一遍思路。

2018年上半年书单


已读

《我这一辈子》 老舍
老舍的文笔真是细腻,每座城市,每个人在他的笔下都是那么有趣,很难让人不去热爱生活。

《最好的告别》 阿图·葛文德
探讨如何面对人生的最后一段旅程。同时,也在尽力说明什么才是家的概念,护理人员、机构如何做才能营造出家的感觉。作者提出的如下四个问题,值得每个人在身强力壮时思考:

1.如果你的心脏停搏,你希望做心脏复苏吗?
2.你愿意采取如插管和机械通气这样的积极治疗吗?
3.你愿意使用抗生素吗?
4.如果不能自行进食,你愿意采取鼻饲或者静脉营养吗?虽然很丧,但是还是非常值得一读。

机器学习中的AUC是什么?


工作中经常要和香饽饽算法工程师对接。作为一名开发狗,虽然“抽特征、做模型、玄学调参、搞策略”这四部曲都不太懂,但是为了能够正常交流,同时也不至于被忽悠,那么,算法同学嘴里是不时蹦出领域名词儿还是要了解一下的啦。

今天就说说算法同学经常挂在嘴边的一个指标——AUC。

AUC ROC简介

AUC是Area Under Curve的简写,这里的Curve其实是指ROC曲线。