OpenStack Neutron 简介
本文介绍了 Neutron 的功能、架构和抽象模型。
我的博客覆盖了前端、后端、客户端以及系统编程等领域,以其构建高效、可维护和安全的应用程序。 这里分享了一些关于最佳实践、新技术和工具的开发和经验,往前翻翻还有很多不着调的诗歌。
本文介绍了 Neutron 的功能、架构和抽象模型。
本文简要介绍了在 CentOS 7 下安装 OpenStack Rocky 的步骤,包含了基于 Linux Bridge 实现的网络和基于 OVS 实现的网络两种类型。
本文简要介绍了云计算、虚拟化以及 OpenStack 产生的背景。
本文写作于 2020 年 8 月 31 日,研究生延期后在武昌华中师大新修的南湖图书馆外有感而发。当夜月色甚好。
本文主要介绍了我对于 Microsoft TODO 这款由奇妙清单团队重新打造的“微软风格”的待办事项软件的理解,我使用它的方式可能和它被产品经理所期望工作的方式不同,但尽管如此,它仍然很好的帮助了我,我的使用方式,充分体现了 TODO Today 背后的根据截止日期划分优先级的理念,基于这套理念使用 TODO,思路简洁、清晰、一致,我认为可以最大限度的避免遗漏重要的工作,且避免清单整理的时间浪费和清单多次规划造成的思路混乱。
我的“便捷生产力设备”,在过去五年中,发生了许多变化,从讲究极致的便携,再到强调及时的生产力,似乎没有一个完美的选项。尽管如此,我还是从中摸索出了一条自己的选择 —— iPad + Pencil + Cloud,这套选择考虑到了便携、阅读、批注和轻量生产的需求。
这一章是关于重构概括关系的总结。概括关系,简而言之就是一种代码复用体系,也就是面向对象的类系统的重构。常见的概括关系重构包括字段和函数的上移和下移、构造函数的上移、使用工厂方法代替构复杂造器。除了处理一个现有的类型系统,还可以对类型系统进行更改,比如将父类拆分为父类和子类,将相关但是不同的类移动到父类后直接删除、合并抽象逻辑为父类、从函数中提取公共模板方法、定义两个类的角色 —— 接口。此外,本文还探讨了概括关系的两种选择:委托和继承,前者适用于 has 关系,后者适用于 is 关系。
本章是重构的第五章,主要讲解了函数调用的优化。注意,这和 Extract Method 很像,但是它们侧重于两个不同的方面,Extract 着重于对函数实现,也就是函数体的重构,而这里的 Function Call 则更侧重于对于调用函数的优化,包括对于函数名称、参数长度、责任和角色的处理。
这是重构的第四篇文章,主要讲解对于数据结构的重建问题。着重介绍了子封装方法代替字段、数据对象替代数据值、数据对象值和数据对象引用的转换、数组数据的拆分、数组数据对象的封装,也介绍了对于单向和双向数据绑定的处理、字段取代子类(组合而非继承)等惯用的数据组织习惯。在第二部分,讲解了对于控制结构的重构,包括表达式清晰化、控制结构优化、卫语句,最后介绍了空对象和多态对于减少控制结构样板代码的作用。
本文介绍了重构的第二大法宝:重新为类分配责任,简而言之,其包括:字段和函数的迁移、类的拆分和合并、委托隐藏和中间人移除、对于不可写类的功能扩展。在上一节着重介绍的函数拆分,包括各种临时变量的处理,对包括脚本和一般、严肃类型语言均适用。而本文介绍的方法,更多侧重 OOP 语言,最好是统一对象访问的语言,比如 Strongtalk(一种 Smalltalk 的方言)、Scala(一种 Java 的方言)、Dart(一种试图替代 TypeScript 的可选类型语言)。