node

我的 K8S 架构搭建 之旅

不问归期 提交于 2020-03-24 12:24:31
一、总体框架图: Master组件: nkube-apiserver Kubernetes API,集群的统一入口,各组件协调者,以HTTP API提供接口服务,所有对象资源的增删改查和监听操作都交给APIServer处理后再提交给Etcd存储。 nkube-controller-manager 处理集群中常规后台任务,一个资源对应一个控制器,而ControllerManager就是负责管理这些控制器的。 nkube-scheduler 根据调度算法为新创建的Pod选择一个Node节点。 Node组件: nkubelet kubelet是Master在Node节点上的Agent,管理本机运行容器的生命周期,比如创建容器、Pod挂载数据卷、 下载secret、获取容器和节点状态等工作。kubelet将每个Pod转换成一组容器。 nkube-proxy 在Node节点上实现Pod网络代理,维护网络规则和四层负载均衡工作。 ndocker或rocket/rkt 运行容器。 第三方服务: netcd 分布式键值存储系统。用于保持集群状态,比如Pod、Service等对象信息。 二、部署的步骤: 1、环境规划 2、安装Docker 3、自签TLS证书 4、部署Etcd集群 5、部署Flannel网络 6、创建Node节点kubeconfig文件 7、获取K8S二进制包 8

二叉树的遍历(递归与非递归)

心不动则不痛 提交于 2020-03-24 11:59:55
非递归遍历二叉树是使用栈压栈和弹栈时机不同的思想,在非递归先序遍历中,根据"根左右"的访问顺序不同,先访问当前数据,然后依次压入右儿子和左子;在非递归后序遍历中,需要达到"左右根"的顺序,所以使用两个栈,栈2只存储访问的节点,根据先序遍历的思想修改顺序"根右左",先访问当前节点,然后依次压入左儿子和右儿子,最后输出栈2;在非递归中序遍历中,若当前节点不为空,就压栈,当前节点指向左儿子,若为空且栈不为空,就弹栈,当前节点指向右儿子. import java.util.Stack; public class TreeTraversal { public static class Node{ public int value; public Node left; public Node right; public Node(int Value) { value = Value; } } public void preOrder(Node head) { if(head != null) { System.out.print(head.value + " "); if(head.left != null) { preOrder(head.left); } if(head.right != null) { preOrder(head.right); } } } public void

HtmlParser

☆樱花仙子☆ 提交于 2020-03-24 11:06:12
一,数据组织分析:   HtmlParser主要靠Node、AbstractNode和Tag来表达Html,因为Remark和Text相对简单,此处就将其忽略了。    Node 是 形成树结构表示HTML的基础,所有的数据表示都是接口Node的实现,Node定义了与页面树结构所表达的页面Page对象,定义了获取父、子、兄弟节 点的方法,定义了节点到对应html文本的方法,定义了该节点对应的起止位置,定义了过滤方法,定义了Visitor访问机制。    AbstractNode 是Node的一种具体的类实现,起到构成树形结构的作用,除了同具体Node相关的accetp方法,toString,toHtml,toPlainTextString方法以外,AbstractNode实现了大多基本的方法,使得它的子类,不用理会具体的树操作。    Tag 是 具体分析的主要内容。Tag分成composite的Tag和不能包含其他Tag的简单Tag两类,其中前者的基类是CompositeTag,其子类包 含BodyTag,Div,FrameSetTag,OptionTag,等27个子类;而简单Tag有BaseHrefTag、 DoctypeTag,FrameTag,ImageTag,InputTag,JspTag,MetaTag,ProcessingInstructionTag 这八类。   

HTMLParser使用详解(3)- 通过Filter访问内容

故事扮演 提交于 2020-03-24 09:54:13
HTMLParser遍历了网页的内容以后,以树(森林)结构保存了结果。HTMLParser访问结果内容的方法有两种。使用Filter和使用Visitor。 (一)Filter类 顾名思义,Filter就是对于结果进行过滤,取得需要的内容。HTMLParser在org.htmlparser.filters包之内一共定义了16个不同的Filter,也可以分为几类。 判断类Filter: TagNameFilter HasAttributeFilter HasChildFilter HasParentFilter HasSiblingFilter IsEqualFilter 逻辑运算Filter: AndFilter NotFilter OrFilter XorFilter 其他Filter: NodeClassFilter StringFilter LinkStringFilter LinkRegexFilter RegexFilter CssSelectorNodeFilter 所有的Filter类都实现了org.htmlparser.NodeFilter接口。这个接口只有一个主要函数: boolean accept (Node node); 各个子类分别实现这个函数,用于判断输入的Node是否符合这个Filter的过滤条件,如果符合,返回true,否则返回false。 (二

HTMLParser学习笔记(二)

天涯浪子 提交于 2020-03-24 09:53:55
利用HTMLParser来抽取指定标签具有某属性的的文本内容,比如说抽取div标签,具有class属性问hd,抽取其中的文本内容 (一)Filter类 顾名思义,Filter就是对于结果进行过滤,取得需要的内容。HTMLParser在org.htmlparser.filters包之内一共定义了16个不同的Filter,也可以分为几类。 判断类Filter: TagNameFilter HasAttributeFilter HasChildFilter HasParentFilter HasSiblingFilter IsEqualFilter 逻辑运算Filter: AndFilter NotFilter OrFilter XorFilter 其他Filter: NodeClassFilter StringFilter LinkStringFilter LinkRegexFilter RegexFilter CssSelectorNodeFilter 所有的Filter类都实现了org.htmlparser.NodeFilter接口。这个接口只有一个主要函数: boolean accept (Node node); 各个子类分别实现这个函数,用于判断输入的Node是否符合这个Filter的过滤条件,如果符合,返回true,否则返回false。

HtmlParser整体框架

本秂侑毒 提交于 2020-03-24 09:53:35
HtmlParser 关键包 org.htmlparser 定义了 htmlparser 的一些基础类,其中最为重要的是 Parser 。 Parser 是 htmlParser 的最核心的类。 org.htmlparser.beans 对 Visitor 和 Filter 的方法进行了封装,定义了针对一些常用HTML 元素操作的Java Bean ,简化对常用元素的提取操作。包括: FilterBean 、 HTMLLinkBean 、 HTMLTextBean 、 LinkBean 、 StringBean 、 BeanyBaby 等。 org.htmlparser.nodes 定义了基础的 node ,包括: AbstractNode 、 RemarkNode 、 TagNode 、 TextNode 等。 Node 是形成树结构表示 HTML 的基础,所有的数据表示都是接口 Node 的实现。 org.htmlparser.tags 定义了 HtmlParser 进行解析的网页中的各种标签 。 org.htmlparser.filters 定义了 各种过滤器 filter ,主要通过 extractAllNodesThatMatch (NodeFilter filter) 来对 html 页面指定类型的元素进行过滤,包括: AndFilter 、

代码校验工具 SublimeLinter 的安装与使用

一曲冷凌霜 提交于 2020-03-24 07:54:24
SublimeLinter 是 Sublime 的插件,它的作用是检查代码语法是否有错误,并提示。习惯了 IDE 下写代码的人一定需要一款在 Sublime 上类似的语法检查工具。下面我们开始。 安装 SublimeLinter 如同其他插件一样使用 Package Control 来安装。 按下 Ctrl+Shift+p 进入 Command Palette 输入 install 进入 Package Control: Install Package 输入 SublimeLinter 。进行安装. 安装完成后可以看到这样一段话: Welcome to SublimeLinter, a linter framework for Sublime Text 3. * * * IMPORTANT! * * * SublimeLinter 3 is NOT a drop-in replacement for earlier versions. Linters *NOT* included with SublimeLinter 3, they must be installed separately. The settings are different. * * * READ THE DOCS! * * * Otherwise you will never know how to

java基础71 XML解析中的【DOM和SAX解析工具】相关知识点(网页知识)

為{幸葍}努か 提交于 2020-03-24 06:36:35
本文知识点(目录): 本文下面的“实例及附录”全是DOM解析的相关内容 1、xml解析的含义 2、XML的解析方式 3、xml的解析工具 4、XML的解析原理 5、实例 6、附录1(获取xml中的所有节点、根标签、根标签下的子标签、子标签中的文本内容) 7、附录2(获取xml中的所有节点、根标签、根标签下的子标签、子标签中的文本内容) 8、附录3(把xml文档中的信息封装到对象中) 1、xml解析的含义 xml文件除了给开发者看,更多情况下是使用程序读取xml文件中的内容 2、XML的解析方式 DOM解析 SAX解析 3、xml的解析工具 3.1、DOM解析工具 1.JAXP(oracle-Sun公司官方) 2.JDOM工具(非官方) 3.Dom4j工具(非官方的)。 三大框架(默认读取xml的工具就是DOM4j) 3.2、SAX解析工具 1.Sax解析工具(oracle-Sun公司官方) 4、XML的解析原理 4.1、DOM解析的原理 xml解析器一次性把整个xml文档加载进内存,然后在内存中构建一个Document的对象树,通过document对象,得到树上的节点对象,通过节点对象访问(操作)到xml文档的内容. 缺点: 内存消耗大 优点: 文档增删改查比较容易 4.2、SAX解析的原理 从上往下读,读一行处理一行。 DOM与SAX解析的区别 SAX解析原理 优点: 内存消耗小

使用jaxp对比xml进行DOM解析

一笑奈何 提交于 2020-03-24 06:33:34
/*DOM解析编程 •遍历所有节点 •查找某一个节点 •删除结点 •更新结点 •添加节点 /* package cn.itcast.jaxp; import java.io.File; import java.io.IOException; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerException; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import org.junit.Test; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node;

xml文件操作

独自空忆成欢 提交于 2020-03-24 03:59:41
public static XmlDocument getDoc(String path)//加载xml文档 { XmlDocument doc = new XmlDocument(); doc.Load(path); return doc; } /// <summary> /// 返回找到的节点下标 /// </summary> /// <param name="path">xml文件路径</param> /// <param name="bname">书名</param> /// <returns></returns> public static int getPosition(String path,string node, String bname) { int i; XmlDocument doc = new XmlDocument(); doc.Load(path); XmlNodeList nodeList = doc.SelectSingleNode(node).ChildNodes; for (i = 0; i < nodeList.Count; i++) { if (nodeList[i].ChildNodes[0].InnerText == bname) { return i; } } return -1; } 1.遍历 /// <summary> ///