node

node及pm2环境安装

℡╲_俬逩灬. 提交于 2019-12-06 16:31:30
一、node安装 软件地址: https://nodejs.org/en/download/ #1、下载软件包 [root@node ~]# mkdir /app [root@node ~]# cd /app/ [root@node app]# wget https://nodejs.org/dist/v12.13.1/node-v12.13.1-linux-x64.tar.xz [root@node app]# ll total 13740 -rw-r--r-- 1 root root 14067172 Nov 19 16:39 node-v12.13.1-linux-x64.tar.xz #2.解压缩 [root@node app]# tar xf node-v12.13.1-linux-x64.tar.xz -C /usr/local/ [root@node app]# cd /usr/local/ [root@node local]# ls bin etc games include lib lib64 libexec node-v12.13.1-linux-x64 sbin share src [root@node local]# mv node-v12.13.1-linux-x64/ node [root@node local]# ls bin etc games

【集合系列】- 深入浅出分析HashMap

坚强是说给别人听的谎言 提交于 2019-12-06 16:27:29
一、摘要 在集合系列的第一章,咱们了解到,Map的实现类有HashMap、LinkedHashMap、TreeMap、IdentityHashMap、WeakHashMap、Hashtable、Properties等等。 关于HashMap,一直都是一个非常热门的话题,只要你出去面试,我保证一定少不了它! 本文主要结合JDK1.7和JDK1.8的区别,就HashMap的数据结构和实现功能,进行深入探讨,废话也不多说了,直奔主题! 二、简介 在程序编程的时候,HashMap是一个使用非常频繁的容器类,它允许键值都放入null元素。除该类方法未实现同步外,其余跟Hashtable大致相同,但跟TreeMap不同,该容器不保证元素顺序,根据需要该容器可能会对元素重新哈希,元素的顺序也会被重新打散,因此不同时间迭代同一个HashMap的顺序可能会不同。 HashMap容器,实质还是一个哈希数组结构,但是在元素插入的时候,存在发生hash冲突的可能性; 对于发生Hash冲突的情况,冲突有两种实现方式, 一种开放地址方式(当发生hash冲突时,就继续以此继续寻找,直到找到没有冲突的hash值),另一种是拉链方式(将冲突的元素放入链表) 。 Java HashMap采用的就是第二种方式,拉链法。 在jdk1.7中,HashMap主要是由数组+链表组成,当发生hash冲突的时候

postman+xmysql实现postman与数据库的交互,获取数据库的值来作为参数进行请求

可紊 提交于 2019-12-06 16:23:56
安装nodejs和npm详细步骤: https://www.runoob.com/nodejs/nodejs-install-setup.html 安装xmysql 执行命令: npm install -g xmysql 启动服务 启动xmysql: xmysql的相关启动参数,可以通过xmysql -h查看 备注:-h,-u,-p,要连接的数据库的信息, -d需要进入的库名 这里注意如果需要测试连接数据库,这个服务不能关闭要一直打开 3、执行sql语句 启动xmysql后,即可通过 http://localhost:3000 /api/ 访问 xmysql 自动生成的 Rest API,详细的使用方法可通过 https://github.com/o1lab/xmysql 查看 备注:localhost是mysql服务要启动的机器的ip,3000是xmysql服务默认端口,可在启动时通过-r修改 case1:查询某表数据,get请求: http://localhost:3000 /api/table_name: 因为返回的是数组格式,我这里data[0],获取第一组数据里面的内容,存入环境变量之后可以作为参数进行请求 来源: https://www.cnblogs.com/zjwailxy/p/11993963.html

二叉排序树

牧云@^-^@ 提交于 2019-12-06 16:03:47
二叉树中使用最广泛的就是搜索二叉树; 搜索二叉树还有其它名称:二叉排序树、二叉查找树等; 1.搜索二叉树的优点 1】有很好的查询性能 2】有很好的新增和删除的性能 3】若左子树不空,则左子树上所有结点的值均小于它的根结点的值 4】若右子树不空,则右子树上所有结点的值均大于它的根结点的值 5】左、右子树也分别为二叉排序树 如图:典型的搜索二叉树 对搜索二叉树进行中序遍历的结果就是元素从小到大排序后的结果; 如果二叉树中的元素是基本类型int、short等,可以直接操作; 如果元素是对象,那么该对象的类必须重载运算符><==,因为搜索二叉树就是通过这些运算符来排序的; 搜索二叉树里面不允许有重复元素; 2.搜索二叉树的操作 1)新增元素 例如:在上图的搜索二叉树中新增节点8 比较8和15,因为8<15,所以应该放左子树,如果左子树的节点没值就直接写到这里,有值就要继续比较; 比较8和5,8>5,放右子树; 8<12,放左边; 8<10,放左边; 8>6,放右边; 8>7,放右边,7的右子树是空的,因此8放这里; 因此8应该放在以7为父节点的右子树中; 例如:新增18 经过一系列查找,树中原本有一个18; 因为搜索二叉树中不允许重复元素,因此直接返回; 2)查找元素 例如:从上面图的二叉树中找6 6<15,从左找; 6>5,往右找; 6<12,往左找; 6<10,往左找,然后找到了;

链表

烈酒焚心 提交于 2019-12-06 15:24:56
1 #include "node.h" 2 #include <stdio.h> 3 #include <stdlib.h> 4 5 typedef struct _node { 6 int value; 7 struct _node *next; 8 } Node; 9 10 typedef struct _list { //好处: 用一个自己定义的数据结构代表链表 11 Node* head; 12 //Node* tail; 13 } List; 14 void add (List* pList, int number); 15 void print(List *pList); 16 17 int main(int argc, char const *argv[]) 18 { 19 List list; 20 Node * head = NULL; 21 int number; 22 list.head = NULL; 23 //list.tail = NULL; 24 do { 25 scanf("%d",&number); 26 if (number != -1){ //得到一个number之后制造链表的一个结点 27 add(&list, number); 28 } 29 } while (number != -1); 30 print(&list); 31 scanf

树的重心(DFS)

半腔热情 提交于 2019-12-06 15:23:22
#include<iostream> #include<algorithm> #include<string.h> #include<vector> #include<cmath> using namespace std ; const int maxn= 1e5 + 10 ; vector< int >v[maxn]; int subtree[maxn]; //表示每点除去自身所对应的子树大小 bool vis[maxn];//用以标记,去重 int n; void dfs( int father, int node) //father记录node上一步路径来源 {   for( int i = 0 ; i < v[node].size() ; i++){    int son=v[node][i]; //son为下一步路径方向    if (son == father){//避开node对应的父亲节点      continue ;   }   dfs(node,son);    if (vis[son] == true )    continue ;//走过son路径   subtree[node]+=subtree[son]; //统计除去node本身的子树大小   vis[node]= true ;//标记   }   subtree[node]=max(subtree

ETCD 集群部署

橙三吉。 提交于 2019-12-06 15:14:00
目录 部署ETCD集群 Etcd 解析 方法一 修改hosts文件 方法二 增加bind解析 下载和分发etcd二进制文件 创建etcd证书和私钥 创建etcd的启动文件 测试 ETCD 集群状态 --- 下面的操作依托于上一篇文章 部署前期准备工作 部署ETCD集群 这里使用的ETCD为三节点高可用集群,步骤如下 下载和分发etcd二进制文件 创建etcd集群各节点的x509证书,用于加密客户端(如kubectl)与etcd集群、etcd集群之间的数据流 创建etcd的system unit文件,配置服务参数 检查集群工作状态 注意: 没有特殊说明都在node01节点操作 Etcd 解析 本次使用etcd单独的域名解析 方法一 修改hosts文件 在所有机器上操作 , /etc/hosts 文件最后增加下面内容,也可以替换成自己的IP 10.0.20.11 etcd01 etcd01.k8s.com 10.0.20.12 etcd02 etcd02.k8s.com 10.0.20.13 etcd03 etcd03.k8s.com 方法二 增加bind解析 如果使用的内网 DNS bind 做内网解析增加下面解析 etcd01 IN A 10.0.20.11 etcd02 IN A 10.0.20.12 etcd03 IN A 10.0.20.13 下载和分发etcd二进制文件

Kubernetes 查看node

痴心易碎 提交于 2019-12-06 15:09:39
// 查看所有节点及labelskubectl get nodes --show-labels 删除节点的labels # 语法 kubectl label nodes <node-name> <label-key>- 给节点添加labels # 语法 kubectl label nodes <node-name> <label-key>=<label-value> 修改节点的labels #语法: 需要加上--overwrite参数: kubectl label nodes <node-name> <label-key>=<label-value> --overwrite 来源: https://www.cnblogs.com/shix0909/p/11991902.html

vue 解决跨域 node服务搭建详细步骤

喜欢而已 提交于 2019-12-06 15:03:16
当前项目同级别新建文件夹 然后进入服务文件夹 npm init 然后一顿回车 自己创建JS app.js npm install -s koa 安装koa2 npm install koa-body -s 安装koa-body(接收post请求) 启动服务 node app.js 源码: const Koa = require('koa'); const app = new Koa(); const axios = require('axios'); const koaBody = require('koa-body'); app.use(koaBody()) app.use(async ctx => { console.log(ctx.request.body) axios({ withCredentials: true, method: 'post', url: '', data: { phone:ctx.request.body.phone } }) .then(function(response) { console.log(response) ctx.body = response }) }); app.listen(3000,function(){console.log('启动')}); 启动完成 本地代码url填写服务端口号:127.0.0.1:3000

Kubernetes1.16下部署Prometheus+node-exporter+Grafana+AlertManager

大城市里の小女人 提交于 2019-12-06 14:21:06
Prometheus 持久化安装 我们prometheus采用nfs挂载方式来存储数据,同时使用configMap管理配置文件。并且我们将所有的prometheus存储在 kube-system #建议将所有的prometheus yaml文件存在一块 mkdir /opt/prometheus -p && cd /opt/prometheus #生成配置文件 cat >> prometheus.configmap.yaml <<EOF apiVersion: v1 kind: ConfigMap metadata: name: prometheus-config namespace: kube-system data: prometheus.yml: | global: scrape_interval: 15s scrape_timeout: 15s scrape_configs: - job_name: 'prometheus' static_configs: - targets: ['localhost:9090'] EOF # 配置文件解释(这里的configmap实际上就是prometheus的配置) 上面包含了3个模块global、rule_files和scrape_configs 其中global模块控制Prometheus Server的全局配置 scrape