<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ice2spring的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/ice2spring</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ice2spring]]></copyright><item><title><![CDATA[老生常谈的问题：call ，apply  与  bind]]></title><link>https://blog.youkuaiyun.com/ice2spring/article/details/88652453</link><guid>https://blog.youkuaiyun.com/ice2spring/article/details/88652453</guid><author>ice2spring</author><pubDate>Tue, 19 Mar 2019 00:22:24 +0800</pubDate><description><![CDATA[1. 三个都是函数自带的方法，用于改变函数的this指向(即改变函数作用域)。

2. call 与 apply 用法类似, 略有区别


func.apply(thisObj, [arg1,arg2,arg3])


func.call(thisObj, arg1, arg2, arg3)

 相同点： 第一个参数都是thisObj, 代表函数func 运行时指定的this值。

P...]]></description><category></category></item><item><title><![CDATA[leetcode JS实现]]></title><link>https://blog.youkuaiyun.com/ice2spring/article/details/82286570</link><guid>https://blog.youkuaiyun.com/ice2spring/article/details/82286570</guid><author>ice2spring</author><pubDate>Sat, 01 Sep 2018 13:45:29 +0800</pubDate><description><![CDATA[763  partition labels

输入: S = &quot;ababcbacadefegdehijhklij&quot;
输出: [9,7,8]
解释:
划分结果为 &quot;ababcbaca&quot;, &quot;defegde&quot;, &quot;hijhklij&quot;。
每个字母最多出现在一个片段中。
像 &quot;ababcbacadefegde&quot;, &quot;hijhklij&quot; 的划分是错误的，因为划分的片段数较少。 

注意:

S的长度]]></description><category></category></item><item><title><![CDATA[js严格模式]]></title><link>https://blog.youkuaiyun.com/ice2spring/article/details/79362030</link><guid>https://blog.youkuaiyun.com/ice2spring/article/details/79362030</guid><author>ice2spring</author><pubDate>Sat, 24 Feb 2018 15:55:47 +0800</pubDate><description><![CDATA[       严格模式是ECMAScript5 引入的，定义了一种不同的javascript解析方式。作用是，约束ECMAScript3下的一些不规范的行为。支持严格模式的浏览器: Internet Explorer 10 +、 Firefox 4+ Chrome 13+、 Safari 5.1+、 Opera 12+。在严格模式下：不允许使用未声明的变量：&quot;use strict&quot;;x = 3.1...]]></description><category></category></item><item><title><![CDATA[在 ML2 中 enable local network(15)]]></title><link>https://blog.youkuaiyun.com/ice2spring/article/details/78864144</link><guid>https://blog.youkuaiyun.com/ice2spring/article/details/78864144</guid><author>ice2spring</author><pubDate>Thu, 21 Dec 2017 15:19:48 +0800</pubDate><description><![CDATA[前面完成了一系列准备工作，本节开始将创建各种 Neutorn 网络，我们首先讨论 local network。
local network 的特点是不会与宿主机的任何物理网卡相连，也不关联任何的 VLAN ID。
对于每个 local netwrok，ML2 linux-bridge 会创建一个 bridge，instance 的 tap 设备会连接到 bridge。位于同一个 local n]]></description><category></category></item><item><title><![CDATA[实践 Neutron 前的两个准备工作(14)]]></title><link>https://blog.youkuaiyun.com/ice2spring/article/details/78864108</link><guid>https://blog.youkuaiyun.com/ice2spring/article/details/78864108</guid><author>ice2spring</author><pubDate>Thu, 21 Dec 2017 15:16:45 +0800</pubDate><description><![CDATA[上一节配置了 linux-bridge mechanism driver，本节再做两个准备工作：
1. 检视初始的网络状态。
2. 了解 linux bridge 环境中的各种网络设备。

初始网络状态
我们首先考察实验环境最初始的网络状态。随着学习的深入，我们会对网络不断进行新的配置，大家也将看到网络一步一步发生的变化。
在我们的实验环境中，当前节点上只存在物理网卡设备 ethX，还]]></description><category></category></item><item><title><![CDATA[配置 linux-bridge mechanism driver (13)]]></title><link>https://blog.youkuaiyun.com/ice2spring/article/details/78864074</link><guid>https://blog.youkuaiyun.com/ice2spring/article/details/78864074</guid><author>ice2spring</author><pubDate>Thu, 21 Dec 2017 15:14:25 +0800</pubDate><description><![CDATA[本节开始我们将学习 Linux Bridge 如何实现 Neutron 的各种功能。
首先需要配置 linux-bridge mechanism driver。

Neutorn ML2 plugin 默认使用的 mechanism driver 是 open vswitch 而不是 linux bridge。那是否还有研究 linux bridge 的必要呢？
我的答案是：很有必要！]]></description><category></category></item><item><title><![CDATA[为 Neutron 准备物理基础设施【II】(12)]]></title><link>https://blog.youkuaiyun.com/ice2spring/article/details/78864029</link><guid>https://blog.youkuaiyun.com/ice2spring/article/details/78864029</guid><author>ice2spring</author><pubDate>Thu, 21 Dec 2017 15:10:54 +0800</pubDate><description><![CDATA[本节将按照上一节的规划安装配置控制节点和计算节点。
控制节点 devstack-controller
步骤如下 

安装 Ubuntu 14.04
此处省略 256 个字

配置网卡
编辑 /etc/network/interfaces eth0 配置 IP 192.168.104.10，并激活 eth1 和 eth2



安装 devstack
local.conf]]></description><category></category></item><item><title><![CDATA[为 Neutron 准备物理基础设施【I】(11)]]></title><link>https://blog.youkuaiyun.com/ice2spring/article/details/78860637</link><guid>https://blog.youkuaiyun.com/ice2spring/article/details/78860637</guid><author>ice2spring</author><pubDate>Thu, 21 Dec 2017 10:24:07 +0800</pubDate><description><![CDATA[前面讨论了 Neutron 的架构和基础知识，接下来就要通过实验深入学习和实践了。 
第一步就是准备实验用的物理环境，需要考虑如下几个问题：


需要几个节点？如何分配节点的角色？节点上分别部署哪些服务？节点上配置几个网卡？物理网络如何连接？


1 控制节点 + 1 计算节点 的部署方案

我们的目的是通过实验学习 Neutron 的各种特性。 
为了达到这个目的，实验环境应]]></description><category></category></item><item><title><![CDATA[两张图总结 Neutron 架构(10)]]></title><link>https://blog.youkuaiyun.com/ice2spring/article/details/78860592</link><guid>https://blog.youkuaiyun.com/ice2spring/article/details/78860592</guid><author>ice2spring</author><pubDate>Thu, 21 Dec 2017 10:21:00 +0800</pubDate><description><![CDATA[前面我们详细讨论了 Neutron 架构，包括 Neutron Server，Core 和 Service Agent。现在用两张图做个总结。
先看第一张：



与 OpenStack 其他服务一样，Neutron 采用的是分布式架构，包括 Neutorn Server、各种 plugin/agent、database 和 message queue。


Neutron ser]]></description><category></category></item><item><title><![CDATA[Service Plugin / Agent(9)]]></title><link>https://blog.youkuaiyun.com/ice2spring/article/details/78860536</link><guid>https://blog.youkuaiyun.com/ice2spring/article/details/78860536</guid><author>ice2spring</author><pubDate>Thu, 21 Dec 2017 10:17:08 +0800</pubDate><description><![CDATA[Core Plugin/Agent 负责管理核心实体：net, subnet 和 port。而对于更高级的网络服务，则由 Service Plugin/Agent 管理。
Service Plugin 及其 Agent 提供更丰富的扩展功能，包括路由，load balance，firewall等，如图所示：



DHCP
dhcp agent 通过 dnsmasq 为 instanc]]></description><category></category></item><item><title><![CDATA[详解 ML2 Core Plugin(8)]]></title><link>https://blog.youkuaiyun.com/ice2spring/article/details/78860520</link><guid>https://blog.youkuaiyun.com/ice2spring/article/details/78860520</guid><author>ice2spring</author><pubDate>Thu, 21 Dec 2017 10:15:52 +0800</pubDate><description><![CDATA[上一节我们讨论了 ML2 Plugin 解决的问题，本节将继续研究 ML2 的架构。

ML2 对二层网络进行抽象和建模，引入了 type driver 和 mechanism driver。

这两类 driver 解耦了 Neutron 所支持的网络类型（type）与访问这些网络类型的机制（mechanism），其结果就是使得 ML2 具有非常好的弹性，易于扩展，能够灵活支持多种 ty]]></description><category></category></item><item><title><![CDATA[详解 ML2 Core Plugin(7)]]></title><link>https://blog.youkuaiyun.com/ice2spring/article/details/78860406</link><guid>https://blog.youkuaiyun.com/ice2spring/article/details/78860406</guid><author>ice2spring</author><pubDate>Thu, 21 Dec 2017 10:08:00 +0800</pubDate><description><![CDATA[我们在 Neutron Server 小节学习到 Core Plugin，其功能是维护数据库中 network, subnet 和 port 的状态，并负责调用相应的 agent 在 network provider 上执行相关操作，比如创建 network。
上一节也介绍了两个 Core Plugin：linux bridge plugin 和 
open vswitch plugin。
]]></description><category></category></item><item><title><![CDATA[Neutron 如何支持多种 network provider(6)]]></title><link>https://blog.youkuaiyun.com/ice2spring/article/details/78860379</link><guid>https://blog.youkuaiyun.com/ice2spring/article/details/78860379</guid><author>ice2spring</author><pubDate>Thu, 21 Dec 2017 10:06:31 +0800</pubDate><description><![CDATA[Neutron 的架构是非常开放的，可以支持多种 network provider，只要遵循一定的设计原则和规范。本节我们将开始讨论这个主题。

先讨论一个简单的场景：在 Neutorn 中使用 linux bridge 这一种 network provider。

根据我们上一节讨论的 Neutron Server 的分层模型，我们需要实现两个东西：linux bridge core p]]></description><category></category></item><item><title><![CDATA[Neutron Server 分层模型(5)]]></title><link>https://blog.youkuaiyun.com/ice2spring/article/details/78860323</link><guid>https://blog.youkuaiyun.com/ice2spring/article/details/78860323</guid><author>ice2spring</author><pubDate>Thu, 21 Dec 2017 10:02:55 +0800</pubDate><description><![CDATA[本节开始讨论 Neutron 的各个服务组件，首先学习 Neutron Server 。



上图是 Neutron Server 的分层结构，至上而下依次为：

Core API 
对外提供管理 network, subnet 和 port 的 RESTful API。

Extension API 
对外提供管理 router, load balance, firewal]]></description><category></category></item><item><title><![CDATA[Neutron 的物理部署方案(4)]]></title><link>https://blog.youkuaiyun.com/ice2spring/article/details/78860280</link><guid>https://blog.youkuaiyun.com/ice2spring/article/details/78860280</guid><author>ice2spring</author><pubDate>Thu, 21 Dec 2017 10:00:13 +0800</pubDate><description><![CDATA[前面我们讨论了 Neutron 的架构，本节讨论 Neutron 的物理部署方案： 
不同节点部署不同的 Neutron 服务组件。

方案1：控制节点 + 计算节点

在这个部署方案中，OpenStack 由控制节点和计算节点组成。

控制节点 
部署的服务包括：neutron server, core plugin 的 agent 和 service plugin 的 agen]]></description><category></category></item><item><title><![CDATA[Neutron 的架构(3)]]></title><link>https://blog.youkuaiyun.com/ice2spring/article/details/78860237</link><guid>https://blog.youkuaiyun.com/ice2spring/article/details/78860237</guid><author>ice2spring</author><pubDate>Thu, 21 Dec 2017 09:57:43 +0800</pubDate><description><![CDATA[前面我们讨论了 Neutron 的基本概念，今天我们开始分析 Neutron 的架构。

Neutron 架构

与 OpenStack 的其他服务的设计思路一样，Neutron 也是采用分布式架构，由多个组件（子服务）共同对外提供网络服务。





Neutron 由如下组件构成： 


Neutron Server
对外提供 OpenStack 网络 API，接收]]></description><category></category></item><item><title><![CDATA[Neutron 模块基本概念(2)]]></title><link>https://blog.youkuaiyun.com/ice2spring/article/details/78860152</link><guid>https://blog.youkuaiyun.com/ice2spring/article/details/78860152</guid><author>ice2spring</author><pubDate>Thu, 21 Dec 2017 09:54:07 +0800</pubDate><description><![CDATA[上次我们讨论了 Neutron 提供的功能，今天我们学习 Neutron 模块几个重要的概念。


Neutron 管理的网络资源包括 Network，subnet 和 port，下面依次介绍。

network

network 是一个隔离的二层广播域。Neutron 支持多种类型的 network，包括 local, flat, VLAN, VxLAN 和 GRE。

loc]]></description><category></category></item><item><title><![CDATA[Neutron 概述(1)]]></title><link>https://blog.youkuaiyun.com/ice2spring/article/details/78860090</link><guid>https://blog.youkuaiyun.com/ice2spring/article/details/78860090</guid><author>ice2spring</author><pubDate>Thu, 21 Dec 2017 09:50:07 +0800</pubDate><description><![CDATA[Neutron 概述

传统的网络管理方式很大程度上依赖于管理员手工配置和维护各种网络硬件设备；而云环境下的网络已经变得非常复杂，特别是在多租户场景里，用户随时都可能需要创建、修改和删除网络，网络的连通性和隔离不已经太可能通过手工配置来保证了。

如何快速响应业务的需求对网络管理提出了更高的要求。传统的网络管理方式已经很难胜任这项工作，而“软件定义网络（software-defined n]]></description><category></category></item><item><title><![CDATA[python中的@staticmethod和@classmethod修饰符]]></title><link>https://blog.youkuaiyun.com/ice2spring/article/details/78485171</link><guid>https://blog.youkuaiyun.com/ice2spring/article/details/78485171</guid><author>ice2spring</author><pubDate>Thu, 09 Nov 2017 08:24:51 +0800</pubDate><description><![CDATA[@staticmethod：不需要表示自身对象的self和自身类的cls参数，就跟使用函数一样
                           在@staticmethod中要调用到这个类的方法，类名.方法名

@classmethod： 不需要self参数，需要是表示自身类的cls参数（第一个参数）
                       
    在@classmetho]]></description><category></category></item><item><title><![CDATA[div布局]]></title><link>https://blog.youkuaiyun.com/ice2spring/article/details/78132136</link><guid>https://blog.youkuaiyun.com/ice2spring/article/details/78132136</guid><author>ice2spring</author><pubDate>Fri, 29 Sep 2017 11:23:35 +0800</pubDate><description><![CDATA[Div 水平居中布局，Div品字布局]]></description><category></category></item></channel></rss>