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