node

数据结构基础温故-4.树与二叉树(上)

孤者浪人 提交于 2020-01-09 00:33:45
前面所讨论的线性表元素之间都是一对一的关系,今天我们所看到的结构各元素之间却是一对多的关系。树在计算机中有着广泛的应用,甚至在计算机的日常使用中,也可以看到树形结构的身影,如下图所示的Windows资源管理器和应用程序的菜单都属于树形结构。树形结构是一种典型的 非线性 结构,除了用于表示相邻关系外,还可以表示层次关系。本文重点讨论树与二叉树的基本结构和遍历算法等内容。 一、好大一棵树,绿色的祝福 1.1 树的基本概念 Defination: 树(Tree)是 n(n≥0)个结点的有限集。n=0时,该树被称为“空树”。如上图所示,A点称为根节点,它有两棵子树,分别以B、C为根,而以C为根的子树又可以分成两棵子树。   1.2 树的基本术语   (1)不同的节点:根节点、内部节点、叶子节点以及节点的 度    (2)节点的关系:双亲与孩子,爸爸回来了,爸爸去哪儿?   (3)节点的层次:结点的层次(Level)从根开始定义起,根为第一层,根的孩子为第二层。树中结点的最大层次称为树的 深度 (Depth)或 高度 。 二、二叉树又是个什么鬼 2.1 从猜数字游戏引出二叉树   回忆一下,当年某电视节目中会让游戏参与者猜一个产品的价格,如果参与者在限定时间内猜对了,那么他就可以获得这个产品。很多人都是一点点的提高数值来猜,但是这样猜会很没有效率。因此

nodejs安装教程

眉间皱痕 提交于 2020-01-09 00:28:53
  nodejs 是一个让 JavaScript 运行在服务端的开发平台,它让 JavaScript 成为与PHP、Python、Perl、Ruby 等服务端语言平起平坐的脚本语言   nodejs能做web开发,REST开发,小程序开发等等,它就是使用JavaScript进行开发的,也就是说,基本上每个web开发的人员都可以比较轻松   的转到nodejs平台,nodejs就像是JavaScript抛弃window,document等这些dom对象后的东西的一个封装   nodejs下载地址: https://nodejs.org/en/   下面开始介绍安装:   首先确定我们是否有安装nodejs,按win+r,输入cmd打开命令行,再输入node      我本地是未安装nodejs的,现在开始nodejs的安装      点击下一步,勾选接受许可      点击下一步,选择安装目录,我的安装目录是D:\xiaofeng\nodejs\      点击下一步,个人设置选择可以选择默认的      然后开始安装         安装完成之后,我们可以检验一下是否安装完成,按win+r,输入cmd打开命令行,输入node -v查看node的版本,输入where node查看node命令的路径    注意:要新打开的命令行窗口,不能使用原来已经打开的窗口     

打包HTML文件基础之webpack配置

大憨熊 提交于 2020-01-08 22:39:58
之前项目用的VUE脚手架创建创建并打包发布的,最近新启动的一个项目,客户对浏览器版本由要求,目前VUE对低版本浏览器支持不是特别好, 所以打算直接用HTML进行研发,涉及了wenbpack直接打包HTML文件,按章webpack时遇到了一些问题,查找了一些资料并记录下来。 一、下载安装node.js(npm) 因为之前安装过固跳过此步骤. 二 、配置环境 1.配置文件夹 控制台输入npm -v 也可以查看npm是否成功安装,安装成功后出现版本号说明nodejs.npm安装成功。 我的nodejs是默认安装路径C:\Program Files\nodejs,最开始是安装在其他盘的,但是配置的时候各种问题,后重装改为默认路径 在C:\Program Files\nodejs文件夹内新建两个文件夹用于全局存放依赖包路径,和缓存路径。缓存C:\Program Files\nodejs\node_cache 存放C:\Program Files\nodejs\node_global 文件夹创建完成后打开命令行输入如下命令 配置路径: npm config set cache "C:\Program Files\nodejs\node_cache" 回车 输入: npm config set prefix "C:\Program Files\nodejs\node_global" 回车 2

SGE中将job投递到指定的节点

折月煮酒 提交于 2020-01-08 21:46:24
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 在Sun Grid Engine 中将job投递到指定的节点有两种方式: 1、 qsub -q qname@hostname xxxxxx 2、qsub -l hostname=xxxxx -cwd -b y sleep 20 经测试,以上两种方式在 SGE中都可以用, 不同的环境可能会有差别。 来源: oschina 链接: https://my.oschina.net/u/1172578/blog/807146

npm install 命令解析

丶灬走出姿态 提交于 2020-01-08 20:41:14
前言 npm install module_name 不同的参数,会使得module 模块安装到不同的目录下面。 不加任何参数 npm install module_name 本地安装(将安装包放在 ./node_modules 下) -g 将安装包放在 /usr/local 下或者你 node 的安装目录。 可以直接在命令行里使用。 –save (1)会把msbuild包安装到node_modules目录中 (2)会在package.json的dependencies属性下添加msbuild (3)之后运行npm install命令时,会自动安装msbuild到node_modules目录中 (4)之后运行npm install --production或者注明NODE_ENV变量值为production时,会自动安装msbuild到node_modules目录中 –save-dev (1)会把msbuild包安装到node_modules目录中 (2)会在package.json的devDependencies属性下添加msbuild (3)之后运行npm install命令时,会自动安装msbuild到node_modules目录中 (4)之后运行npm install --production或者注明NODE_ENV变量值为production时

【Nodejs】Linux系统搭建Nodejs

独自空忆成欢 提交于 2020-01-08 18:51:47
Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。 Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。 1.查看是否安装nodejs和npm包管理工具 [root@tanbaobao ~]# rpm -qa nodejs [root@tanbaobao ~]# rpm -qa npm 或 [root@tanbaobao ~]# whereis nodejs [root@tanbaobao ~]# whereis npm 2.下载安装nodejs    可以下载之后(选择linux版本)上传至服务器,我这里直接使用wget在服务器上直接下载: http://nodejs.cn/download/ [root@tanbaobao ~]# cd /usr/local/src/ [root@tanbaobao src]# wget https://npm.taobao.org/mirrors/node/v12.14.1/node-v12.14.1-linux-x64.tar.xz # 解压 [root@tanbaobao src]# tar -xvf node-v12.14.1-linux-x64.tar.xz # 修改名字并移动到指定目录下 [root

JAVA并发-AQS知识笔记

我的未来我决定 提交于 2020-01-08 18:02:34
概述 AQS是AbstractQueuedSynchronizer的缩写,翻译成中文就是抽象队列同步器,AbstractQueuedSynchronizer这个类也是在java.util.concurrent.locks下面。简单来说AQS定义了一套多线程访问共享资源的同步器框架,这套框架定义了共同的基础行为,比如等待队列、条件队列、独占获取、共享获取等,AQS也是一个依赖状态state的同步器,而且java并发编程的核心包java.concurrent.util都需要这套框架。比如 Lock,Latch,Barrier 等,都是基于AQS框架实现。 我们在学习一套并发工具的时候,我们首先要抓住这3点: 状态:一般是一个state属性,它基本是整个工具的核心,通常整个工具都是在设置和修改状态,很多方法的操作都依赖于当前状态是什么。由于状态是全局共享的,一般会被设置成volatile类型,以保证其修改的可见性。 队列:队列通常是一个等待对象 Node 的集合,大多数以链表的形式实现。队列采用的是悲观锁的思想,表示当前所等待的资源,状态或者条件短时间内可能无法满足。因此,它会将当前线程包装成某种 类型的数据结构 Node ,放入一个等待队列中,当一定条件满足后,再从等待队列中取出。 CAS:CAS操作是最轻量的并发处理,通常我们对于状态的修改都会用到CAS操作

kubernetes基础——一文读懂k8s

蹲街弑〆低调 提交于 2020-01-08 17:09:14
容器 容器与虚拟机对比图(左边为容器、右边为虚拟机)   容器技术是虚拟化技术的一种,以Docker为例,Docker利用Linux的LXC(LinuX Containers)技术、CGroup(Controll Group)技术和AUFS(Advance UnionFileSystem)技术等,通过对进程和资源加以限制,进行调控,隔离出来一套供程序运行的环境。 我们把这一环境称为“容器”,把构建该“容器”的“只读模板”,称之为“镜像”。   容器是独立的、隔离的,不同容器间不能直接通信,容器与宿主机也是隔离开来的,容器不能直接感知到宿主机的存在,同时宿主机也无法直接窥探容器内部。   虽然容器与宿主机在环境上,逻辑上是隔离的,但容器与宿主机共享内核,容器直接依赖于宿主机Linux系统的内核,这与虚拟机不同,后者是在宿主机的操作系统上,虚拟化一套硬件环境,然后在此环境上运行需要的操作系统。容器技术常用来在宿主机上隔离出环境来部署应用(用容器化技术部署的应用称为 ***“容器化应用”*** ),而虚拟机常用来运行一个与宿主机不同的操作系统,从而运行特定的软件。   容器非常轻量级,无论是启动速度,资源占用情况,灵活性等均优于虚拟机。容器的特性给开发生产提供了非常大的便利: * DevOps理念,开发者可以使用同一个镜像,在开发环境、测试环境和生产环境构建相同的容器

webpack打包内存溢出

微笑、不失礼 提交于 2020-01-08 16:41:11
(node.js)webpack打包报javaScript heap out of memory,内存溢出 // 方法一 /** ===https://www.cnblogs.com/yangjing1314/p/9993835.html=== */ FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory 经过搜索,最后的解决方案是删除npmrc文件(不是nodejs安装目录npm模块下的那个npmrc文件,而是C:\Users\{账户}\下的.npmrc文件)。 // 方法二 https://blog.csdn.net/QIANG123___/article/details/79183544 里面有句关键的话,CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory JavaScript堆内存不足,这里说的 JavaScript 其实就是 Node,我们都知道 Node 是基于V8引擎,在一般的后端开发语言中,在基本的内存使用上没有什么限制,但是我去查阅了相关的资料才发现,在 Node 中通过 JavaScript 使用内存时只能使用部分内存

prometheus.(二)监控集群

99封情书 提交于 2020-01-08 14:43:46
目录 node_exporter监控集群节点 1.node-exporter.yaml 2.查看DaemonSet字段 3.启动 prometheus.yaml文件说明 1.Pod的安全策略 2.监控master节点 3.启动参数 4.映射端口 5.服务发现 热更新: prometheu_configmap 配置文件 容器监控 Api-Service 监控 Service 监控 1.添加service监控 2.service添加prometheus标签 3.kube-state-metrics node_exporter监控集群节点 通过prometheus来采集节点的监控指标,可以通过node_exporter获取,node_exporter就是抓取用于采集服务器节点的各种运行指标,目前node_exporter几乎支持所有常见的监控点,比如cpu、distats、loadavg、meminfo、netstat等,详细的监控列表可以参考github repo 这里使用DeamonSet控制器来部署该服务,这样每一个节点都会运行一个Pod,如果我们从集群中删除或添加节点后,也会进行自动扩展 1.node-exporter.yaml # cat >>prometheus-node-exporter.yaml apiVersion: apps/v1 kind: DaemonSet