node

Openstack swift对象存储

风格不统一 提交于 2020-03-02 03:26:03
OpenStack Object Storage(Swift)是OpenStack开源云计算项目的子项目之一。Swift使用普通的服务器来构建冗余的、可扩展的分布式对象存储集群,存储容量可达PB级。Swift的是用Python开发。 Swift提供的服务与AWS S3基本相同: 作为IaaS的存储服务 与OpenStack Compute对接,为其存储镜像 文档存储 存储需要长期保存的数据,例如log 存储网站的图片,缩略图等 Swift使用RESTful API对外提供服务,目前 1.4.6版本所提供的功能: Account(存储账户)的GET、HEAD Container(存储容器,与S3的bucket相同)的GET、PUT、HEAD、DELETE Object(存储对象)的GET、PUT、HEAD、DELETE、DELETE Account、Container、Object的元数据支持 大文件(无上限,单个无文件最大5G,大于5G的文件在客户端切分上传,并上传manifest文件)、 访问控制、权限控制 临时对象存储(过期对象自动删除) 存储请求速率限制 临时链接(让任何用户访问对象,不需要使用Token) 表单提交(直接从HTML表单上传文件到Swift存储,依赖与临时链接) swift的构架一般如下:可扩展性和伸缩性是我们的主要目标 swift服务依赖于以下技术

nodejs Async详解之二:工具类

旧时模样 提交于 2020-03-02 03:22:22
Async中提供了几个工具类,给我们提供一些小便利: memoize unmemoize log dir noConflict 1. memoize(fn, [hasher]) 有一些方法比较耗时,且对于相同的输入总是有相同的输出。这时可以使用memoize给它加个缓存,对于相同的参数只计算一次,以后就直接从缓存中取结果用了。 比如这里有一个很慢的函数: var slow_fn = function(x, y, callback) { console.log(‘start working for: ‘ + x+’,'+y); t.wait(100); console.log(‘finished: ‘ + x+’,'+y); callback(null, ‘im slow for: ‘+x+’,'+y); }; 可以用memoize生成一个新的带缓存的函数: var fn = async.memoize(slow_fn); 试试同样参数调用两次: fn(‘a’,'b’, function(err, result) { console.log(result); }); // 直接得到之前计算好的值 fn(‘a’,'b’, function(err, result) { console.log(result); }); 注意memoize的参数中还有一个hasher,它是做什么用的呢

nvm的安装与使用

送分小仙女□ 提交于 2020-03-01 22:58:26
1.在GitHub找到下载nvm的地址, https://github.com/coreybutler/nvm-windows/releases , 2.下载完双击安装即可 安装成功的话,在控制台输入nvm,即可出现nvm版本及相关用法说明 3.查看node可用版本 node list available 4.配置settings.txt 用where nvm,找到nvm安装路径,找到settings.txt文件,添加如下设置: node_mirror: https://npm.taobao.org/mirrors/node/ npm_mirror: https://npm.taobao.org/mirrors/npm/ 此步操作是将npm镜像改为淘宝镜像,提高下载速度 5.安装指定版本node 6.设置使用指定版本的node nvm的命令行使用: 安装指定版本:nvm install 指定版本 删除已安装的指定版本:nvm uninstall 指定版本 切换node版本:nvm use 要切换的node版本 查看安装的所有版本:nvm ls 显示当前的版本:nvm current 来源: CSDN 作者: 倔强的girl 链接: https://blog.csdn.net/qq_32054169/article/details/104598124

[总结]JS操作DOM常用API详解

天大地大妈咪最大 提交于 2020-03-01 22:58:01
文本整理了javascript操作DOM的一些常用的api,根据其作用整理成为创建,修改,查询等多种类型的api,主要用于复习基础知识,加深对原生js的认识。 基本概念 在讲解操作DOM的api之前,首先我们来复习一下一些基本概念,这些概念是掌握api的关键,必须理解它们。 Node类型 DOM1级定义了一个Node接口,该接口由DOM中所有节点类型实现。这个Node接口在JS中是作为Node类型实现的。在IE9以下版本无法访问到这个类型,JS中所有节点都继承自Node类型,都共享着相同的基本属性和方法。 每个节点都有一个nodeType属性,用于表明节点的类型。节点类型由在Node类型中定义的下列12个数值常量来表示,任何节点类型必居其一: Node.ELEMENT_NODE:1 Node.ATTRIBUTE_NODE:2 Node.TEXT_NODE:3 Node.CDATA_SECTION_NODE:4 Node.ENTITY_REFERENCE_NODE:5 Node.ENTITY_NODE:6 Node.PROCESSING_INSTRUCTION_NODE:7 Node.COMMENT_NODE:8 Node.DOCUMENT_NODE:9 Node.DOCUMENT_TYPE_NODE:10 Node.DOCUMENT_FRAGMENT_NODE:11 Node

JS中常见原生DOM操作API

青春壹個敷衍的年華 提交于 2020-03-01 22:43:57
摘自:https://blog.csdn.net/hj7jay/article/details/53389522 几种对象 Node Node是一个接口,中文叫节点,很多类型的DOM元素都是继承于它,都共享着相同的基本属性和方法。常见的Node有 element,text,attribute,comment,document 等(所以要注意 节点 和 元素 的区别,元素属于节点的一种)。 Node有一个属性 nodeType 表示Node的类型,它是一个整数,其数值分别表示相应的Node类型,具体如下: [javascript] view plain copy { ELEMENT_NODE: 1, // 元素节点 ATTRIBUTE_NODE: 2, // 属性节点 TEXT_NODE: 3, // 文本节点 DATA_SECTION_NODE: 4, ENTITY_REFERENCE_NODE: 5, ENTITY_NODE: 6, PROCESSING_INSTRUCTION_NODE: 7, COMMENT_NODE: 8, // 注释节点 DOCUMENT_NODE: 9, // 文档 DOCUMENT_TYPE_NODE: 10, DOCUMENT_FRAGMENT_NODE: 11, // 文档碎片 NOTATION_NODE: 12, DOCUMENT

Vue-cli2.0 + webpack4.0 项目结构及内容详细分析

筅森魡賤 提交于 2020-03-01 22:31:08
总体结构 安装了node, webpack 、vue-cli 等工具之后,打开VS Code控制台 vue init webpack <Project Name>命令创建了基于vue-cli2.0的项目 1、build文件夹: 1.1、build.js 'use strict' require('./check-versions')() //调用版本检查 process.env.NODE_ENV = 'production' //将环境配置为生产环境 const ora = require('ora') //npm包 loading插件 const rm = require('rimraf') //npm包 用于删除文件 const path = require('path')//npm包 文件路径工具 const chalk = require('chalk')//npm包 在终端输出带颜色的文字 const webpack = require('webpack')//引入webpack.js const config = require('../config')//引入配置文件 const webpackConfig = require('./webpack.prod.conf')//引入生产环境配置文件 // 在终端显示loading效果,并输出提示 const

2-5反转链表一部分

痴心易碎 提交于 2020-03-01 21:30:24
题目描述 解题方法1 其实和反转整个链表是一个原理,依然使用头插的方法。只需要将第from-1个节点当成头节点,将第to个节点当成最后一个节点即可。 首先遍历一遍链表,找到第from-1个节点phead和第to+1个节点ptail。 然后反转from–to的部分,最后再将反转后的链表与节点ptail连接起来。 代码如下: public class Test { public static void main ( String [ ] args ) throws Exception { int [ ] arr = { 10 , 20 , 30 , 40 , 50 } ; Node head = create ( arr ) ; reverse ( head , 2 , 4 ) ; for ( Node p = head . next ; p != null ; p = p . next ) { System . out . println ( p . val ) ; } } //反转链表一部分 public static Node reverse ( Node head , int from , int to ) { if ( head == null || head . next == null ) { return head ; } int len = 0 ; //链表长度

(二)搭建一个完成的Kubernetes/K8s集群v.1.16

我是研究僧i 提交于 2020-03-01 20:48:21
单节点集群 多节点集群 注意node通过连接loadbalancer 转发到mateter 的apiserver来进行运作的 集群规划: 角色 ip 组件 K8S-master1 192.168.0.101 kube-apiserver kube-controller-manager kube-scheduleretcd K8S-master2 192.168.0.102 kube-apiserver kube-controller-manager kube-scheduleretcd K8S-node1 192.168.0.103 kubelet kube-proxy docker etcd K8S-node2 192.168.0.104 kubelet kube-proxy docker etcd K8S-load-balancer 192.168.0.106(vip)实际IP105 Nginx L4 1,系统初始化 ##关闭防火墙: systemctl stop firewalld systemctl disable firewalld ##关闭selinux: setenforce 0 ## 临时 sed -i 's/enforcing/disabled/' /etc/selinux/config ## 永久 ##关闭swap: swapoff -a ## 临时 vim

Python----数据结构----链表----单向链表

耗尽温柔 提交于 2020-03-01 19:37:56
Python学习之路,点击有全套Python笔记 什么是链表 链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是不像顺序表一样连续存储数据,而是在每一个节点(数据存储单元)里存放下一个节点的位置信息(即地址)。 单向链表 单向链表也叫单链表,是链表中最简单的一种形式,它的每个节点包含两个域,一个信息域(元素域)和一个链接域。这个链接指向链表中的下一个节点,而最后一个节点的链接域则指向一个空值。 表元素域elem用来存放具体的数据。 链接域next用来存放下一个节点的位置(python中的标识) 变量p指向链表的头节点(首节点)的位置,从p出发能找到表中的任意节点。 实现: 步骤: is_empty() 链表是否为空 length() 链表长度 travel() 遍历整个链表 add(item) 链表头部添加元素 append(item) 链表尾部添加元素 insert(pos, item) 指定位置添加元素 remove(item) 删除节点 search(item) 查找节点是否存在 # 单链表 class Node : """节点""" def __init__ ( self , elem ) : self . elem = elem self . next = None node = Node ( 100 ) class SingleLinkList