Docker 应用数据的管理 概述容器中创建的文件默认会写入可写的容器层,这意味着: 这些数据会随着容器的销毁而消失 容器的可写层与当前宿主机耦合在了一起,想要将数据转移到别的地方比较麻烦 需要借助存驱动来对文件系统进行管理才能对容器的可写层进行写入,这与使用数据卷相比性能会差一些,因为多了一层抽象层。 Docker 针对数据存储的问题提供了两种解决方案:volumn 和 bind mount,这使得我们能够放心的将容器中 2019-04-17 Docker Docker Storage
Chapter 9 - 符合 Python 风格的对象 得益于 Python 数据模型,自定义类型的行为可以像内置类型那样自然。实现如此自然的行为,靠的不是集成,而是鸭子类型(duck typing)。 对象表示形式Python 提供了两种获取对象表示形式的方法: repr():以便于开发者理解的方式返回对象的字符串表示形式。 str():以便于用户理解的方式返回对象的字符串表示形式。 为了支持以上两种方式,我们要实现 __repr__ 和 __s 2019-04-14 Fluent Python Python
Chapter 8 - 对象引用、可变性和垃圾回收 标识、相等性和别名In [1]: charles = {'name': 'Charles L. Dodgson', 'born': 1832} In [2]: lewis = charles In [3]: lewis == charles Out[3]: True In [4]: lewis is charle 2019-04-07 Fluent Python Python
Docker 网络基础 Docker 容器和服务的功能之所以如此强大,得益于其能够通过网络与其他组件进行互联。与此同时,容器和服务也不需要关心自身和与其互联的组件是否是部署在 Docker 上的,也不需要关心 Docker 宿主机的操作系统类型,因为 Docker 已经帮我们处理了这些事情,我们能够使用一种平台无关的方式来管理这些组件和配置。 网络驱动Docker 的网络系统通过驱动来实现了可插拔的特性,并且默认提供了以 2019-04-06 Docker Docker Network
Chapter 7 - 函数装饰器和闭包 使用装饰器改进策略模式在 Python 策略模式中。我们可以使用装饰器来帮助我们统一管理自定义的策略函数: promos = [] def promotion(promo_func): promos.append(promo_func) return promo_func @promotion def fidelity(order): pass @promotion 2019-03-29 Fluent Python Python
Chapter 6 - 使用一等函数实现设计模式 1996 年,Peter Norvig 在题为“Design Patterns in Dynamic Languages”(http://norvig.com/design-patterns/) 的演讲中指出,在 Gamma 等人合著的《设计模式:可复用面向对象软件基础》一书中包含了 23 个模式,其中有 16 个在动态语言中 “不见了,或者简化了”。 Norvig 建议在有一等函数的语言中重新审 2019-03-24 Fluent Python Python
Chapter 5 - 一等函数 在 Python 中,函数是一等对象。编程语言理论家把 “一等对象” 定义为满足下述条件的程序实体: 在运行时创建 能赋值给变量或数据结构中的元素 能作为参数传递给函数 能作为函数的返回结果 函数内省与用户定义的常规类一样,函数使用 __dict__ 属性存储赋予它的用户属性。但是,函数也拥有一些专有而用户定义的一般对象没有的属性: __annotations__:dict 类型,参数和返回 2019-03-18 Fluent Python Python
Chapter 4 - 文本和字节序列 了解编码问题如何找出字节序列的编码如果我们不知道一个文件使用的是什么编码格式,可以使用统一字符编码侦测包 Chardet 来帮助我们判断文件的编码: $ chardetect 04-text-byte.asciidoc 04-text-byte.asciidoc: utf-8 with confidence 0.99 处理文本文件处理文本你文件的最佳实践是 “Unicode Sandwich”。 2019-03-17 Fluent Python Python
Chapter 3 - 字典和集合 映射的弹性键查询defaultdict:处理找不到的键的一个选择defaultdict 会在在初始化时接收一个构造方法,并在 __getietm__ 碰到找不到的键的时候调用该方法让 __getitem__ 返回某种默认值。 例: from collections import defaultdict dd = defaultdict(list) dd['key_not_exist& 2019-03-16 Fluent Python Python
Chapter 2 - 数据结构 列表推导和生成器表达式用列表推到生成笛卡尔积用列表推导可以生成两个或以上的可迭代类型的笛卡儿积。 colors = ['blck', 'white'] sizes = ['S', 'M', 'L'] tshirts = [(color, size) for color in colors for 2019-03-16 Fluent Python Python