Shusheng Blog

年轻的时候,我们总是会将自己的创作冲动误解为创作才能 -- 钱钟书

分布式系统学习(1)-MapReduce实践

MIT6.824 课程学习笔记

MIT6.824 2017课程作业的lab1,使用 go 语言实现 mapreduce。框架代码来自 git://g.csail.mit.edu/6.824-golabs-2017,完整实现代码见 shishujuan:mit6.824-2017-mapreduce 1 基础概念 map 负责分发。每个map任务通常处理一个文件,有多少个输入文件就有多少个map任务。而输出则根据r...

Ansible(2) 实战

接上一篇总结了ansible的基本用法,这一次通过部署一个博客站点的例子来进行ansible实战。分为四个部分,第一部分是手动部署一个mezzanine站点;第二部分是通过ansible来部署mezzanine;第三部分是使用角色来重写第二部分的代码;第四部分则是ansible与docker一起使用的效果。(注: mezzanine是一个基于django的CMS系统,有点类似wordp...

Ansible(1) 超详细使用指南

本文最早发于 简书。 在项目中有很多地方用到ansible。最初使用ansible只是为了方便代码部署和模板配置,毕竟手动去30+台机器手动部署代码是件很痛苦的事情。由于ansible基于ssh实现其功能,配置使用都比较简单,后来在线上的系统环境搭建,数据库权限统一配置中ansible都发挥了重要作用,极大的提高了生产力。这里整理了一份详尽的使用说明,有兴趣的可以瞅瞅。文章内容主要翻...

[译]Dropbox是如何安全地存储用户密码的

本文最早发于 简书。 最初看到这篇文章是在 @登州知府 的微博上看到的,他的微博上分享了很多好的技术博客,推荐。由于本人英语学的比较烂,翻译的错漏之处请大家指正。原文在这里:How Dropbox securely stores your passwords 概述 众所周知,存储明文密码是一件很糟糕的事情。一旦数据库存储了明文密码,那么用户账号就危险了。因为这个原因,早在1976...

Python 源码剖析笔记(7)-类机制

Python 源码剖析学习笔记

拖了好一段时间了,终于有空来看看python中的类机制了。内容太多,感觉有些地方还是模糊的,先写一些吧,有错误烦请指出。 1 Python对象模型 1.1 概述 python2.2之前的这里就不考虑了,从2.2之后python对象分为两类,class对象和instance对象,另外还有个术语type用来表示“类型”,当然class有时候也表示类型这个概念,比如下面的代码,我们定义了...

Python 源码剖析笔记(6)-函数机制

Python 源码剖析学习笔记

Python的函数机制是很重要的部分,很多时候用python写脚本,就是几个函数简单解决问题,不需要像java那样必须弄个class什么的。 1 函数对象PyFunctionObject PyFunctionObject对象的定义如下: typedef struct { PyObject_HEAD PyObject *func_code; /* A code obj...

Python 源码剖析笔记(5)-模块机制

Python 源码剖析学习笔记

python中经常用到模块,比如import xxx,from xxx import yyy这样子,里面的机制也是需要好好探究一下的,这次主要从黑盒角度来探测模块机制,源码分析点到为止,详尽的源码分析见陈儒大神的《python源码剖析》第14章。 1 如何导入模块 首先来看一个导入模块的例子。创建一个文件夹demo5,文件夹中有如下几个文件。 ssj@ssj-mbp ~/demo...

Python 源码剖析笔记(4)-内建数据类型

Python 源码剖析学习笔记

Python内建数据类型包括整数对象PyIntObject,字符串对象PyStringObject,列表对象PyListObject以及字典对象PyDictObject等。整数对象之前已经分析过了,这一篇文章准备分析下余下几个对象,这次在《python源码剖析》中已经写的很详细的部分就不赘述了,主要是总结一些之前看书时疑惑的地方。 1 整数对象-PyIntObject 参见 Pyt...