node

0043数据结构之红黑树

狂风中的少年 提交于 2020-01-01 17:56:23
----------------------红黑树----------------------------- 红黑树仍然是一颗二分搜索树,和AVL一样,都是在二分搜索树的基础上加了一些限制条件:具体的5个限制条件如下: 1) 每个节点或者是红色的,或者是黑色的 2) 根节点是黑色的 3) 每一个叶子节点(最后的空节点叫叶子节点)是黑色的 4) 如果有一个节点是红色的,那么它的两个孩子节点都是黑色的 5) 从任意一个节点到叶子节点,经过的黑色节点是一样的 2-3树是一颗绝对平衡的树:从根节点到任意一个叶子节点经过的节点数是相同的,是通过融合(新加的节点一定是先和父亲节点融合,红黑树也是这个原理,所以红黑树新加的节点一定是红色的,即构造方法默认红色)-拆分-融合的形式来保证绝对平衡的。 红色的节点:代表他和它的父亲是融合在一起的 ,代表2-3树中的3节点 红黑树是“黑平衡”的二叉树:即红黑树限制条件的第5条,任意节点到叶子节点经过的黑色节点是相同的。 严格意思上来讲,不是平衡儿二叉树,即左右子树的高度差是有可能大于1的。红黑树最大高度2logn,所以时间复杂度是O(logn)的 红黑树与AVL树相比: 查找:红黑树略慢于AVL树 新增和删除:红黑树快于AVL树 所以如果存储的数据经常发生新增和删除:选择红黑树 如果存储的数据基本不发生变化,只是用于查询:选择AVL树

kubernetes 二进制部署ansible playbook 一键生成

独自空忆成欢 提交于 2020-01-01 07:19:57
脚本仓库地址 https://github.com/qist/k8s #支持 Ubuntu 18及以上的系统,CentOS7及CentOS8 系统 # k8s 版本 14,15,16,17 号版本 ansible 安装 #Ubuntu 系列安装 apt -y install ansible #CentOS 8 安装 dnf -y install ansible # CentOS 7 安装 yum -y install ansible # 修改ansible 配置 ## 说明id_rsa_storm1 私钥名字请自行修改 sed -i 's/^#private_key_file =.*$/private_key_file =\/root\/.ssh\/id_rsa_storm1/g' /etc/ansible/ansible.cfg sed -i 's/^#sudo_user = root/sudo_user = root/g' /etc/ansible/ansible.cfg sed -i 's/^#remote_port = 22/remote_port = 22/g' /etc/ansible/ansible.cfg sed -i 's/^#host_key_checking = False/host_key_checking = False/g' /etc/ansible

在IIS上运行node

一世执手 提交于 2020-01-01 04:29:12
目录 前言 iisnode web.config 前言 之前自己搞了个域名,然后发现域名默认映射到80端口,腾讯云又没有修改映射端口的功能。然后服务器又是和几个sx一起租的,于是只能想办法把发到80端口的请求分配到相应的项目里。当时有两个想法:自己写个中间件和用IIS,最后还是选了IIS,折腾好之后就没再管。结果最近升级了服务器,重新部署项目的时候发现基本上都忘光了。。于是就简单记录一下步骤。 iisnode IIS什么的就不多说了,直接说主要用的东西, iisnode 。 下载地址 。 另外还需要安装 URL Rewrite 。 安装iisnode之后,可以用 %programfiles%\iisnode\setupsamples.bat 来安装一个例子,然后访问 http://localhost/node 。 安装完之后,新建一个站点,监听80端口,配置好自己的域名。 web.config web.config配置可以参考github中samples中的 configuration . <configuration> <system.webServer> <handlers> <add name="iisnode" path="launch.js" verb="*" modules="iisnode" resourceType="Unspecified"

让IIS能够运行Nodejs

谁说我不能喝 提交于 2020-01-01 03:02:37
1 安装 iis7 2 下载安装软件: 1 ) nodejs-v0.10.28-x64.msi 2 ) iisnode-full-v0.2.11-x64.msi isnode安装程序 3 ) rewrite_x64_zh-CN.msi 安装 IIS URL Rewrite 3 安装iisnode自带samples 1) 到iisnode安装目录中配置 www 文件夹权限,设置Users的权限。 2) 以管理员权限运行一个 cmd 安装samples,到iisnode 安装目录执行setupsamples.bat 3)回车,执行命令 4) 执行成功后,在iis7 可看到 node 网站,在浏览器中输入:http://localhost/node/ 访问网站。 来源: https://www.cnblogs.com/-Apple/p/5226342.html

Nodejs in Visual Studio Code 08.IIS

霸气de小男生 提交于 2020-01-01 03:01:09
1.开始   本文部分内容均转载自文章: http://www.hanselman.com/blog/InstallingAndRunningNodejsApplicationsWithinIISOnWindowsAreYouMad.aspx https://github.com/tjanczuk/iisnode   作者:SCOTT HANSELMAN   标题:Installing and Running node.js applications within IIS on Windows - Are you mad?   发布日期:2011.08.28 2.为什么我要在Windows IIS上运行Node.js    首先,我主要编写的是Asp.Net应用程序,对windows和iis很熟悉,如果在使用Node.js生产的应用如果能部署在IIS上,那么我想很快就能将Node.js开发的应用发布在生产环境中。   虽然在IIS运行Node.js上并不是最优选择,但是我主要开发企业级应用,单机并发访问量3K、4K足矣并不如大型互联网企业那样会遇到极大的并发、调优压力。   最后微软有一帮人正在IIS上玩转Node.js,我表示跟着入坑试一试。 进程管理 :iisnode模块将会对node.exe进行简单而暴力的全生命周期的进程管理来增强其可靠性。你不必担心何时开启、结束node

javascript ECMAscript 和node.js commonJs之间的关系

别来无恙 提交于 2019-12-31 23:45:19
ECMAscript:是一个标准,有ECMA组织定义的一个标准它规定了一些语法规则和语义。 JavaScript:是一门脚本编程脚本 编程语言。 是对ECMAscript这个标准的实现,但完整的JavaScript包含三个部分 node.js 是一个运行环境。 javascript诞生之初的目的是用在web, 由浏览器执行。那么脱离浏览器,javascript就不能执行了吗? nodejs出现之前,确实是这样的。因为只有浏览器里才有javascript解释器!只有它才知道javascript要怎么执行。既然如此,只要把这个解释器拿出来,再添加一些必要的执行库工具不就可以让javascript脱离浏览器执行了嘛,所以nodejs就诞生了。各家浏览器商都有自己的javascript解释器, nodejs用的是 chrome的V8 javascript引擎 。这个问题就解释完了。 commonjs:指不运行在浏览器的js代码,运行的其他平台的js的规范 参考链接:https://www.jianshu.com/p/7a5201690fb4 来源: https://www.cnblogs.com/mofei12138/p/12127913.html

kubelet签署证书到期解决

怎甘沉沦 提交于 2019-12-31 23:44:59
现象 harbor镜像平台服务器出现内部错误,请求无法完成 排查 登陆dashboard发现node节点状态都为not ready,然后登陆node节点 看到确实都为not ready ,本能反应是把kubelet、kube-proxy服务都重新一遍,重新后状态任然为notready状态。 这时细看nodes节点状态age为368d,感觉应该是什么过期了,之前还特意申请证书为10年,应该不是证书的问题,后来查阅部署文档发现kubelet也需要证书授权。 解决 最后kubectl get csr发现果然node-csr都是Pending状态,需要重新kubectl certificate approve才能生效。 查资料发现默认签署的的证书只有 1 年有效期,如果想要调整证书有效期可以通过设置 kube-controller-manager 的 --experimental-cluster-signing-duration 参数实现,该参数默认值为 8760h0m0s,关于怎样增加默认签署证书时间及自动证书轮换可以参考 kubernetes认证授权机制 。 步骤 [root@k8s01 bin]# kubectl get nodes NAME STATUS ROLES AGE VERSION 192.168.88.34 NotReady <none> 368d v1.13.1 192

pugixml 总结

天涯浪子 提交于 2019-12-31 16:51:39
xml文档的4个关键词: 节点( 节点对象.child("节点名") )、节点内容( 节点对象.text() ) 属性( 节点对象.attribute("属性名") )、属性值( 属性对象.value() ) 句柄: pugi:: xml_node node = doc .child ("node"); //节点句柄 pugi:: xml_attribute id = param .attribute ("name"); //属性句柄 来源: https://www.cnblogs.com/xixixing/p/12125161.html

读 Zepto 源码之集合元素查找

烈酒焚心 提交于 2019-12-31 12:41:48
这篇依然是跟 dom 相关的方法,侧重点是跟集合元素查找相关的方法。 读Zepto源码系列文章已经放到了github上,欢迎star: reading-zepto 源码版本 本文阅读的源码为 zepto1.2.0 内部方法 之前有一章《 读Zepto源码之内部方法 》是专门解读 zepto 中没有提供给外部使用的内部方法的,但是有几个涉及到 dom 的方法没有解读,这里先将本章用到的方法解读一下。 matches zepto.matches = function(element, selector) { if (!selector || !element || element.nodeType !== 1) return false var matchesSelector = element.matches || element.webkitMatchesSelector || element.mozMatchesSelector || element.oMatchesSelector || element.matchesSelector if (matchesSelector) return matchesSelector.call(element, selector) // fall back to performing a selector: var match,

4、pugixml 删节点、删属性

江枫思渺然 提交于 2019-12-31 12:37:03
pugi::xml_document doc; if (!doc.load_string("<node><description>Simple node</description><param name='id' value='123'/></node>")) return -1; doc.print(std::cout); // 删除节点description pugi::xml_node node = doc.child("node"); node.remove_child("description"); // 删除节点param的属性value pugi::xml_node param = node.child("param"); param.remove_attribute("value"); // 删除节点param的属性name,通过属性句柄删除 pugi::xml_attribute id = param.attribute("name"); //属性句柄 param.remove_attribute(id); doc.print(std::cout);//打印结果 来源: https://www.cnblogs.com/xixixing/p/12123769.html