node

路径 (Path)–nodejs

浪子不回头ぞ 提交于 2019-12-26 11:00:10
本模块包含一套用于处理和转换文件路径的工具集。几乎所有的方法只做字符串变换, 不会调用文件系统检查路径是否有效。 通过 require('path') 来加载此模块。以下是本模块所提供的方法: path.normalize(p) 规范化字符串路径,注意 '..' 和 '.' 部分 多个斜杠会被替换成一个; 路径末尾的斜杠会被保留; Windows 系统上, 会使用反斜杠。 path.join([path1], [path2], [...]) 连接所有参数, 并且规范化得到的路径. 参数必须是字符串。在 v0.8 版本非字符串参数会被悄悄忽略。 在 v0.10 及以后版本将会抛出一个异常。 path.join('foo', {}, 'bar') // 抛出异常 TypeError: Arguments to path.join must be strings path.resolve([from ...], to) 把 to 解析为一个绝对路径。 如果 to 不是一个相对于 from 参数的绝对路径, to 会被添加到 from 的右边,直到找出一个绝对路径为止。如果使用 from 路径且仍没有找到绝对路径时,使用当时路径作为目录。返回的结果已经规范化,得到的路径会去掉结尾的斜杠,除非得到的当前路径为root目录。非字符串参数将被忽略。 另一种思路, 是把它看做一系列 cd 命令.

创建基于webpack的vue项目步骤

孤街醉人 提交于 2019-12-26 10:08:55
1.安装node 因为vue项目是依赖于node.js、npm的,所以需要先安装node,node安装好了,npm也就安装好了。 安装node:直接去node官网找适合自己电脑版本的安装包下载即可。 测试是否有node或者是否安装好,命令窗口输入以下命令测试即可。 node -v npm -v vue -V 出现版本号即安装好了。 2.安装vue-cli 全局安装,命令行输入:npm install -g vue-cli 如果觉得npm慢的话,可以选择淘宝镜像 npm install -g vue-cli --registry=https://registry.npm.taobao.org vue-cli首次安装需要,安装好后续项目就不需要再安装了。 3.搭建项目框架 进入某一目录,输入cmd进入命令窗口, vue init webpack my-vue my-vue 是项目名称,可随意命名 回车即可 选择自己所需方式,回车即开始安装。 安装完成后,按命令提示输入 一个项目便开启了! 来源: CSDN 作者: weixin_46016883 链接: https://blog.csdn.net/weixin_46016883/article/details/103685416

gulp使用心得

╄→гoц情女王★ 提交于 2019-12-26 07:26:12
本文假设你之前没有用过任何任务脚本(task runner)和命令行工具,一步步教你上手Gulp。不要怕,它其实很简单,我会分为五步向你介绍gulp并帮助你完成一些惊人的事情。那就直接开始吧。 第一步:安装Node 首先,最基本也最重要的是,我们需要搭建node环境。访问 http://nodejs.org ,然后点击大大的绿色的 install 按钮,下载完成后直接运行程序,就一切准备就绪。 npm 会随着安装包一起安装,稍后会用到它。 第二步:使用命令行 也许现在你还不是很了解什么是命令行——OSX中的终端(Terminal),windows中的命令提示符(Command Prompt),但很快你就会知道。它看起来没那么简单,但一旦掌握了它的窍门,就可以很方便的执行很多命令行程序,比如Sass,Yeoman和Git等,这些都是非常有用的工具。 如果你很熟悉命令行,直接跳到步骤四。 为了确保Node已经正确安装,我们执行几个简单的命令。 node -v 回车(Enter),如果正确安装的话,你会看到所安装的Node的版本号,接下来看看npm。 npm -v 这同样能得到npm的版本号。 如果这两行命令没有得到返回,可能node就没有安装正确,尝试重启下命令行工具,如果还不行的话,只能回到第一步进行重装。 第三步:定位到项目 现在,我们已经大致了解了命令行并且知道如何简单使用它

树莓派连接阿里云物联网平台(nodejs)

淺唱寂寞╮ 提交于 2019-12-26 07:15:33
陈拓 chentuo@ms.xab.ac.cn 2019/12/14-2019/12/20 1. 阿里云物联网平台设置 见参考文档《阿里云物联网平台基本设置》 https://blog.csdn.net/chentuo2000/article/details/103559553 2. 在树莓派上安装Node.js LTS工具包 PC Win7操作树莓派3B+。 LTS官网描述,https://nodejs.org/en/about/releases/ Node.js的主要版本进入当前发布状态为六个月,这使库作者有时间为其添加支持。六个月后,奇数版本(9、11等)将不再受支持,而偶数版本(10、12等)将变为“活动LTS”状态,并可以用于一般用途。 LTS的发布状态为“长期支持”,通常可以保证关键错误在30个月内得到修复。生产应用程序应仅使用Active LTS或Maintenance LTS版本。 查看最新版本: https://nodejs.org/en/download/ 安装最新版本的Node.js LTS 先根据最新版本号执行命令: curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash - …… 根据提示执行命令:sudo apt-get install -y nodejs 测试:node

kubeadm安装kubernetes 1.13.1集群完整部署记录

家住魔仙堡 提交于 2019-12-26 07:13:19
k8s是什么   Kubernetes简称为k8s,它是 Google 开源的容器集群管理系统。在 Docker 技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性。k8s是容器到容器云后的产物。但是k8s并不是万能,并不一定适合所有的云场景。官方有一段" What Kubernetes is not "的解释可能更有利我们的理解。   Kubernetes 不是一个传统意义上,包罗万象的 PaaS (平台即服务) 系统。我们保留用户选择的自由,这非常重要。   Kubernetes 不限制支持的应用程序类型。 它不插手应用程序框架 (例如 Wildfly ), 不限制支持的语言运行时 (例如 Java, Python, Ruby),只迎合符合 12种因素的应用程序 ,也不区分”应用程序”与”服务”。Kubernetes 旨在支持极其多样化的工作负载,包括无状态、有状态和数据处理工作负载。如果应用可以在容器中运行,它就可以在 Kubernetes 上运行。   Kubernetes 不提供作为内置服务的中间件 (例如 消息中间件)、数据处理框架 (例如 Spark)、数据库 (例如 mysql)或集群存储系统 (例如 Ceph)。这些应用可以运行在 Kubernetes 上。   Kubernetes

安装harbor并配置docker

一世执手 提交于 2019-12-26 07:13:04
作用 远程镜像只拉取一次即可,减少下载镜像的网络延迟 存储项目中由开发人员构建的程序镜像 为集群提供镜像共享 Hardware 硬件要求 硬件 最低配置 推荐配置 处理器 2 CPU 4 CPU 内存 4GB 8GB 硬盘 40GB 160GB Software 软件要求 软件 版本 说明 Docker 17.03.0-ce 或更高 Docker Compose 1.18.0 或更高 Openssl 首选最新版本 为Harbor生成证书和密钥 官方安装教程 goharbor 官方下载地址 前置条件 安装Docker 安装Docker-compose 安装步骤 下载安装程序; 配置harbor.yml; 运行install.sh安装并启动Harbor; 下载安装程序 为了简单,我选择了在线安装 [ root @k8s - master setup ] # pwd / home / deploy / setup [ root @k8s - master setup ] # wget https://storage.googleapis.com/harbor-releases/release-1.8.0/harbor-online-installer-v1.8.0.tgz [ root @k8s - master setup ] # [ root @k8s - master setup

237.删除链表中的节点

不问归期 提交于 2019-12-26 07:09:07
题目:请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。 现有一个链表 – head = [4,5,1,9],它可以表示为: 题解 题目意思是node节点就是需要删除的结点,这道题没有给出前面结点的信息,所以删除只能把后一个结点的值给当前节点,再把当前节点指向后一个结点的下一个节点即可。 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public : void deleteNode ( ListNode * node ) { node - > val = node - > next - > val ; node - > next = node - > next - > next ; } } ; 来源: CSDN 作者: 是阿毛啊 链接: https://blog.csdn.net/shi_xiao_xuan/article/details/103695952

NodeJS、NPM安装配置与测试步骤(windows版本)

China☆狼群 提交于 2019-12-26 05:38:30
1、windows下的NodeJS安装是比较方便的(v0.6.0版本之后,支持windows native),只需要登陆官网( http://nodejs.org/ ),便可以看到首页的“INSTALL”按钮,直接点击就会自动下载安装了。 2、安装过程基本直接“NEXT”就可以了。(windows的安装msi文件在过程中会直接添加path的系统变量,变量值是你的安装路径,例如“C:\Program Files\nodejs”)。 3、安装完成后可以使用cmd(win+r然后输入cmd进入)测试下是否安装成功。方法:在cmd下输入node -v,出现下图版本提示就是完成了NodeJS的安装。 4、npm的安装。由于新版的NodeJS已经集成了npm,所以之前npm也一并安装好了。同样可以使用cmd命令行输入"npm -v"来测试是否成功安装。如下图,出现版本提示便OK了。 5、常规NodeJS的搭建到现在为止已经完成了,急不及待的话你可以在”cmd“输入”node“进入node开发模式下,输入你的NodeJS第一句:”hello world“ - 输入:console.log('hello world')。 另外,也可以写一个JS文件,测试关于http的请求,代码如下: var http = require("http"); http.createServer(function

合并两个链表

痴心易碎 提交于 2019-12-26 04:49:34
就是简单的合并两个链表,这里要求俩个链表是有序的。 比如[ 1 2 3 4 5] 和 [ 0 7 13] 合并之后为 [ 0 1 2 3 4 5 7 13]。 首先,简单介绍一下思路,首先区遍历俩个链表,如果第一个链表的值小于等于第二个链表的值,那么将第一个链表的值插入一个新的头节点 链表中,反之如果大于第二个链表的值,那么将第二个链表的值插入这个头节点所在的链表中,当然,这个链表一开始为空 这里就是代码,这本来是一个OJ练习题,顺便也写了一个测试 private static Node mergeTwoList ( Node list1 , Node list2 ) { if ( list1 == null ) { return list2 ; } if ( list2 == null ) { return list1 ; } //定义了来个引用,用来遍历链表 Node cur1 = list1 ; Node cur2 = list2 ; Node nHead = null ; Node nLast = null ; while ( cur1 != null && cur2 != null ) { if ( cur1 . val <= cur2 . val ) { if ( nHead == null ) { nHead = cur1 ; } else { nLast .

java基础集合类——LinkedList 源码略读

纵饮孤独 提交于 2019-12-26 04:48:46
1.概览 LinkedList是java的动态数组另一种实现方式,底层是基于双向链表,而不是数组。 public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, java.io.Serializable LinkedList实现了动态数组与双向队列两个接口,提供了两种方法集合,可以用来实现队列、栈之类的功能。 2. 成员变量 先来看成员变量 transient int size = 0; transient Node<E> first; transient Node<E> last; private static class Node<E> { E item; Node<E> next; Node<E> prev; Node(Node<E> prev, E element, Node<E> next) { this.item = element; this.next = next; this.prev = prev; } } 链表一般就是有个head的节点就能完成对应的工作。LinkedList实现了双向链表,除了head,还有一个last节点和一个size参数,这主要是为了效率考虑,不然查询一次长度或者尾都得来一次全链路迭代,太慢了