MAC 如何安装 bsddb3
可行的方案
conda install -c conda-forge bsddb3
详细文档见 https://anaconda.org/conda-forge/bsddb3
不成功的方式
pip install bsddb3直接安装失败,报错:
Collecting bsddb3 (from scrapy-deltafetch)
Using cached bsddb3-6.2.4.tar.gz
Complete output from command python setup.py egg_info:
Can't find a local Berkeley DB installation.
(suggestion: try the --berke...
SRE建设之质量建设
质量框架
维度
标准
说明
形式质量
完整性
不同于数据库的完整性约束概念,此处数据完整性描述数据集对具体业务目标的覆盖程度,可以从字段和记录两个维度分析。
可理解性
用来描述数据集是否能清晰的反应业务逻辑,字段和取值的具体意义是否明确。
一致性
用来描述数据在不同维度上的连贯性,包括数据集在时间轴上的前后连贯性和在相关的不同数据集之间的横向连贯性。一致性并不意味着数值上的绝对相同,而是数据收集、处理的方法和标准的...
SRE建设之事前建设
背景
稳定性的重要性,在VUCA约束下,达到稳定性,是对工程师全方位能力的锻炼。
VUCA
V: Volatility 易变性
U: Uncertainty 不确定性
C: Complexity 复杂性
A: Ambiguity 模糊性
CAP理论
C:Cost 成本
A:Quality 质量
P: Productivity 效率
不稳定的原因
人为因素
mindmap
root((人为因素))
代码编写
代码逻辑错误
异常处理不合理
第三方库使用不正确
未遵循开发规范
死循环
配置问题
超时时间...
supervisor python multiprocessing 监听信号 实现所有进程同时退出
supervisor 多进程管理
使用 supervisor 管理进程,如果被管理的项目是多进程模式,就需要注意一下:
1、程序内是否有接收处理 kill -15 | SIGnal。
2、python 程序无法监听 kill -9 信号(其他编程语言没有了解,但按理说应该是一样的),也无法拒绝(kill -9 是立马强制结束进程),所以不要随便使用 kill -9 结束一个进程(kill params[pid], 会允许程序延迟退出,所以程序内可以监听 kill -15 | SIGnal),如果使用 kill -9 结束了一个主进程,那么它的子进程就会成为孤儿进程,使用 kill -9 结束某个子进程,就会有可能导致其成为僵尸进程。
3、如果确实有需要强制结束某个进...
稳定性之heinrich’s law
海因里希法则和稳定性
海因里希法则是美国著名安全工程师海因里希提出的300:29:1法则。意思是:当一个企业有300起隐患或违章,非常可能要发生29起轻伤或故障,另外还有一起重伤、死亡事故。”海因里希法则”原是通过分析工伤事故的发生概率,为保险公司的经营提出的法则。
对于稳定性方面的启发是:如果能在发生第一个隐患时找到事情的根因,就可以避免后续的故障和事故。即在一件重大的事故背后必有29件“轻度”的事故,还有300件潜在的隐患。可怕的是对潜在性事故毫无觉察,或是麻木不仁,结果导致无法挽回的损失。了解“海因里希法则”的目的,是通过对事故成因的分析,让人们少走弯路,把事故消灭在萌芽状态。
根因探查 5Why模型
https://en.wikipedia.org...
软件工程冰山一角
初生牛犊
对于年轻的、刚入行的计算机学生来说,代码在他们眼中是这样的:
稍有小成
当然,实习生们都很聪明,他们知道学术界和工业界的代码有哪些不同,他们会花点儿时间给代码加上注释,做点测试,code review…… 但是,他们依然不会意识到这座冰山有多深。
A11Y: accessibility,是指设计和创建可以被所有人,包括那些有残疾的人,使用的网站和应用程序。例如让盲人通过语音方式使用软件。
l10n : localization(本地化), 类似的还有i18n (国际化)。
GDPR:General Data Protection Regulation(通用数据保护条例),这是一项在2018年5月25日生...
敏捷项目管理评估方法
T-Shirt Size Estimation
Amazon用一种T-Shirt Size 估计的方式来做项目。
产品经理会对每一条需求评估上业务影响力的尺寸,如:XXXL 影响一千万人以上或是可以占到上亿美金的市场,XXL,影响百万用户或是占了千万金级别以上的市场,后面还有XL,L,M,S,这样下来。
开发团队也一样,要评估投入的人员时间成本,XXXL表示要干1年,XXL干半年,XL干3个月,L干两个月,M干一个月,S干两周以下。等等。
于是,
当业务影响力是XL,时间人员成本是S,这是最高优先级。
当业务影响力是M,时间人员成本是M,这是低优先级。
当业务影响力是S,时间人员成本是XL,直接砍掉这个需求。因为是亏的。
当业务影响力是XXL,时间人员成本是XXL,需要简化需...
Google自我评分卡
Google评分卡
Google要求应聘人对自己的技能做出评估的工具,它可以看出应聘人在各个领域的技术水平。我们可以参考Google的这个评分卡来给自己做评估,并通过它来不断地提高对自己的要求。
0 - you are unfamiliar with the subject area.
1 - you can read / understand the most fundamental aspects of the subject area.
2 - ability to implement small changes, understand basic principles and able to figure out additional details with mini...
21 post articles, 3 pages.