node

电脑首次安装node环境

柔情痞子 提交于 2020-03-23 18:24:12
(1)打开命令行:shift+鼠标右键; (2)node-v 查询是否已经安装; (3) 安装淘宝镜像: npm install –g cnpm –registry = https://registry.npm.taobao.org ; (4)npm安装步骤: 下载nodejs 64-bit ; shift+鼠标右键输入cmd; npm init 初始化 node npm config set registry https://resgistry.npm.taobao.org 配置淘宝镜像 cnpm-v 检查是否配置 npm install jquery 产生node_modules文件夹 来源: https://www.cnblogs.com/maoqianlin/p/12553752.html

二叉搜索树与双向链表

て烟熏妆下的殇ゞ 提交于 2020-03-23 17:21:25
1:题目描述 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表。要求不能创建任何新的节点,只能调整树中节点指针的指向。 为了让您更好地理解问题,以下面的二叉搜索树为例: 我们希望将这个二叉搜索树转化为双向循环链表。链表中的每个节点都有一个前驱和后继指针。对于双向循环链表,第一个节点的前驱是最后一个节点,最后一个节点的后继是第一个节点。 下图展示了上面的二叉搜索树转化成的链表。“head” 表示指向链表中有最小元素的节点。 特别地,我们希望可以就地完成转换操作。当转化完成以后,树中节点的左指针需要指向前驱,树中节点的右指针需要指向后继。还需要返回链表中的第一个节点的指针。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/er-cha-sou-suo-shu-yu-shuang-xiang-lian-biao-lcof 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 2:题目分析 解题思路:对于二叉排序树而言,其中序遍历输出就是升序排序。那我们怎么将其做成双向链表尼?着手点肯定是中序遍历;在遍历的迭代逻辑中,我们要将前次迭代和本次迭代处理的节点,按照双向链表的要求进行处理。怎么处理尼?通过一个全局变量保存上次遍历的节点,然后再本次遍历的节点处理中进行如下操作: preNode.right =

cross-env 作用

岁酱吖の 提交于 2020-03-23 16:46:08
是什么 运行 跨平台 设置和使用环境变量的脚本 出现原因 当您使用NODE_ENV =production, 来设置环境变量时,大多数 Windows 命令提示将会阻塞(报错)。 (异常是Windows上的Bash,它使用本机Bash。)同样,Windows和POSIX命令如何使用环境变量也有区别。 使用POSIX,您可以使用:$ ENV_VAR和使用%ENV_VAR%的Windows。 windows不支持NODE_ENV=development的设置方式。 解决 cross-env使得您可以使用单个命令,而不必担心为平台正确设置或使用环境变量。 只要在POSIX系统上运行就可以设置好,而cross-env将会正确地设置它。 说人话: 这个迷你的包(cross-env)能够提供一个设置环境变量的scripts,让你能够以unix方式设置环境变量,然后在windows上也能兼容运行。 安装 npm install --save-dev cross-env 使用 {"scripts":{"build":"cross-env NODE_ENV=production webpack --config build/webpack.config.js"}} NODE_ENV环境变量将由cross-env设置 打印process.env.NODE_ENV === 'production '

nodejs,javascript过滤emoj表情

六月ゝ 毕业季﹏ 提交于 2020-03-23 16:34:45
1 前言 由于带emoj表情的昵称无法存储在mysql character_set_server= utf8模式下,按照参考文章 [1] ,改成utf8mb4,无效(可能使用方法不对)。 总体思路是,把昵称过滤emoj表情,得到过滤后的昵称。 2 代码 function filterNicknameWithEmoj(nickname){ var regStr = /[\uD83C|\uD83D|\uD83E][\uDC00-\uDFFF][\u200D|\uFE0F]|[\uD83C|\uD83D|\uD83E][\uDC00-\uDFFF]|[0-9|*|#]\uFE0F\u20E3|[0-9|#]\u20E3|[\u203C-\u3299]\uFE0F\u200D|[\u203C-\u3299]\uFE0F|[\u2122-\u2B55]|\u303D|[\A9|\AE]\u3030|\uA9|\uAE|\u3030/ig; var nickname_filter=""; //regStr.test(nickname)会一次成功一次失败,待排查是否和regStr写法有关 if(regStr.test(nickname)){ nickname_filter = nickname.replace(regStr,""); nickname_filter = removeBlank

死磕 java集合之LinkedTransferQueue源码分析

耗尽温柔 提交于 2020-03-23 16:25:06
问题 (1)LinkedTransferQueue是什么东东? (2)LinkedTransferQueue是怎么实现阻塞队列的? (3)LinkedTransferQueue是怎么控制并发安全的? (4)LinkedTransferQueue与SynchronousQueue有什么异同? 简介 LinkedTransferQueue是LinkedBlockingQueue、SynchronousQueue(公平模式)、ConcurrentLinkedQueue三者的集合体,它综合了这三者的方法,并且提供了更加高效的实现方式。 继承体系 LinkedTransferQueue实现了TransferQueue接口,而TransferQueue接口是继承自BlockingQueue的,所以LinkedTransferQueue也是一个阻塞队列。 TransferQueue接口中定义了以下几个方法: // 尝试移交元素 boolean tryTransfer(E e); // 移交元素 void transfer(E e) throws InterruptedException; // 尝试移交元素(有超时时间) boolean tryTransfer(E e, long timeout, TimeUnit unit) throws InterruptedException; //

Java8 ConcurrentHashMap详解

怎甘沉沦 提交于 2020-03-23 15:38:24
#Java8 ConcurrentHashMap Java7 中实现的 ConcurrentHashMap 说实话还是比较复杂的,Java8 对 ConcurrentHashMap 进行了比较大的改动。建议读者可以参考 Java8 中 HashMap 相对于 Java7 HashMap 的改动,对于 ConcurrentHashMap,Java8 也引入了红黑树。 说实话,Java8 ConcurrentHashMap 源码真心不简单,最难的在于扩容,数据迁移操作不容易看懂。 我们先用一个示意图来描述下其结构: 结构上和 Java8 的 HashMap 基本上一样,不过它要保证线程安全性,所以在源码上确实要复杂一些。 ##初始化 // 这构造函数里,什么都不干 public ConcurrentHashMap() { } public ConcurrentHashMap(int initialCapacity) { if (initialCapacity < 0) throw new IllegalArgumentException(); int cap = ((initialCapacity >= (MAXIMUM_CAPACITY >>> 1)) ? MAXIMUM_CAPACITY : tableSizeFor(initialCapacity +

链表操作 -- 两个链表间的相交性问题

一世执手 提交于 2020-03-23 14:49:15
本文参考:    http://blog.csdn.net/g_brightboy/article/details/6824834    http://blog.csdn.net/huangxy10/article/details/8014233   在此致谢。 问题:   给定两个链表,判断它们是否相交。 注意:   如果两个链表相交的话,则公用相交点开始往后的所有节点。【因为节点的next指针只有一个!】 解答:   1)首先来看最直观的方法,也就是一次判断链表A中的节点是否在链表B中出现。   时间复杂度:O(n 2 )   空间复杂度:O(1)    1 bool List::isIntersect(Node* listA,Node* listB){ 2 for(Node* headA = listA; headA != NULL ; headA = headA->next){ 3 for(Node* headB = listB; headB != NULL; headB = headB->next){ 4 if(headA == headB) 5 return true; 6 } 7 } 8 return false; 9 } View Code      2)在方法(1)中,链表A中节点每次都需要匹配链表B中每个节点,这个匹配动作的时间复杂度为O(n)

LinkedBox

自闭症网瘾萝莉.ら 提交于 2020-03-23 13:30:25
链式结构 接口定义规则 public interface Box { public boolean add(int element); public int get (int index); public int remove(int index); public int size(); } package BOX; public class Node { private Node prev; private int item; private Node next; public void setPrev(Node prev) { this.prev = prev; } public void setItem(int item) { this.item = item; } public void setNext(Node next) { this.next = next; } public Node getPrev() { return prev; } public int getItem() { return item; } public Node getNext() { return next; } public Node(Node prev, int item, Node next) { this.prev = prev; this.item = item; this

【NodeJs】Nodejs系列安装

ぃ、小莉子 提交于 2020-03-23 13:04:29
nodejs安装—npm安装—(其他基于这俩项的另写) windows环境 1)nodejs安装 ①下载对应系统版本的Node.js:https://nodejs.org/en/download/ eg: ② 运行程序开始安装,一路next最终install即可 2)npm安装(新版Node.js已自带npm) ③检测是否安装成功。快捷键win+R,输入cmd回车打开cmd窗口 node -v 查看node.js的版本号 npm -v 查看node.js自带的npm的版本号 表明成功安装eg: 3)配置环境变量 【说明:这里的环境配置主要配置的是npm安装的全局模块所在的路径,以及缓存cache的路径,之所以要配置,是因为以后在执行类似:npm install express [-g] (后面的可选参数-g,g代表global全局安装的意思)的安装语句时,会将安装的模块安装到【C:\Users\用户名\AppData\Roaming\npm】路径中,占C盘空间。】 【而这个安装路径 可以 通过配置环境变量 来设置】 例如:我希望将全模块所在路径和缓存路径放在我node.js安装的文件夹中,则 1°在我安装的文件夹【D:\softwaresetup\nodejs】下创建两个文件夹【node_global】及【node_cache】如下图: 2°cmd窗口输入命令 npm config

JavaScript与DOM(上)

让人想犯罪 __ 提交于 2020-03-23 10:06:49
本来像自己写一篇的。。。结果看到了Tom uncle的这篇。。总结的确实很赞,其他文章也非常好推荐 转载自:http://www.cnblogs.com/TomXu/archive/2011/12/15/2288411.html 文档对象模型Document Object Model DOM(Document Object Model,文档对象模型)是一个通过和JavaScript进行内容交互的API。Javascript和DOM一般经常作为一个整体,因为Javascript通常都是用来进行DOM操作和交互的。 主要内容来自:http://net.tutsplus.com/tutorials/javascript-ajax/javascript-and-the-dom-series-lesson-1/ 关于DOM,有些知识需要注意: 1. window对象作为全局对象,也就是说你可以通过window来访问全局对象。 属性在对象下面以变量的形式存放,在页面上创建的所有全局对象都会变成window对象的属性。 方法在对象下面以函数的形式存放,因为左右的函数都存放在window对象下面,所以他们也可以称为方法。 2. DOM为web文档创建带有层级的结果,这些层级是通过node节点组成,这里有几种DOM node类型,最重要的是Element, Text, Document。