node

linux服务器安装node

狂风中的少年 提交于 2020-03-04 17:59:19
连接服务器 //ssh 用户名@IP地址 ssh root@123.45.6.789 //然后输入密码即可 node.js中文网 http://nodejs.cn/download/ 拷贝安装包链接,在服务器下进行安装 wget http://..... //将拷贝的下载链接复制到这里 将下载的xz或者gz文件转换为tar文件 //文件名以自己下载的为准 xz -d node-v8.9.3-linux-x64.tar.xz 或者 tar -xzvf node-v8.9.3-linux-x64.tar.gz 解压文件 tar -xvf node-v8.9.3-linux-x64.tar 此时已安装完成,还需要进行配置才能在全局使用 全局配置 //node ln -s /node-v8.9.3-linux-x64/bin/node /usr/local/bin/node //npm ln -s /node-v8.9.3-linux-x64/bin/npm /usr/local/bin/npm //ln -s 后边的第一部分是你的node文件夹在服务器中的位置 //第二部分为在/usr/local/bin/下建立软连接 //做完这一步就可以全局使用了 验证安装成功与否 node -v npm -v 来源: oschina 链接: https://my.oschina.net/u

链表的创建、遍历、删除、插入和清空

十年热恋 提交于 2020-03-04 16:19:25
一、链表的概念   链表是一种物理存储结构上非连续,非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。 二、链表和数组的区别: 1、数组静态分配内存,链表动态分配内存。 2、数组在内存中是连续的,链表是不连续的。 3、数组利用下标定位,查找的时间复杂度是O(1),链表通过遍历定位元素,查找的时间复杂度是O(N)。 4、数组插入和删除需要移动其他元素,时间复杂度是O(N),链表的插入或删除不需要移动其他元素,时间复杂度是O(1)。 数组的优点 1、随机访问性比较强,可以通过下标进行快速定位。 2、查找速度快 数组的缺点 1、插入和删除的效率低,需要移动其他元素。 2、会造成内存的浪费,因为内存是连续的,所以在申请数组的时候就必须规定七内存的大小,如果不合适,就会造成内存的浪费。 3、内存空间要求高,创建一个数组,必须要有足够的连续内存空间。 4、数组的大小是固定的,在创建数组的时候就已经规定好,不能动态拓展。 链表的优点 1、插入和删除的效率高,只需要改变指针的指向就可以进行插入和删除。 2、内存利用率高,不会浪费内存,可以使用内存中细小的不连续的空间,只有在需要的时候才去创建空间。大小不固定,拓展很灵活。 链表的缺点 查找的效率低,因为链表是从第一个节点向后遍历查找。 单链表和双链表 三、链表环问题 判断是否有环    定义一个快指针和一个慢指针

nodejs1:node中的javascript和浏览器中的javascript的区别以及怎么读写文件

让人想犯罪 __ 提交于 2020-03-04 16:03:54
// 在Node中,采用ECmaScript编码 没有BOM,DOM和浏览器中的Javascript不一样 console . log ( window ) ; console . log ( document ) ; 运行上述代码的文件会报一下错误 ** 浏览器中的javascript是没有文件操作能力的,但是node中的javascript具有文件操作能力 在node中如果想要进行文件操作,就必须引入fs这个核心的模块在fs这个核心模块中,就提供了所有文件操作相关的API ** //1,使用require方法加载fs var fs = require ( 'fs' ) ; //2.读取文件(第一个参数就是读取文件的路径,第二个参数就是一个回调函数) fs . readFile ( './data /hello.txt' , function ( ) { console . log ( data . toString ( ) ) ; } 3,写文件 // 第一个参数:文件路径 第二个是文件内容 ,第三个参数是回调函数 fs . writeFile ( 'hello.txt' , "大家好" , function ( error ) { console . log ( '文件写入成功' ) ; } ) 来源: CSDN 作者: .........阳光小可爱 链接: https:/

nodejs 实现套接字服务

风流意气都作罢 提交于 2020-03-04 09:51:19
nodejs实现套接字服务 一 什么是套接字 1.套接字允许一个进程他通过一个IP地址和端口与另一个进程通信,当你实现对运行在同一台服务器上的两个不同进程的进程间通信或访问一个完全不同的服务器上运行的服务时,套接字很有用。node提供的net模块,允许你既创建套接字服务器又创建可以连接到套接字服务器的客户端。 2.套接字位于HTTP层下面并提供服务器之间的点对点通信。套接字使用套接字地址来工作,这是IP地址和端口的组合。在套接字连接中,有两种类型的点:一类是服务器,它监听连接;一类是客户端,它打开一个到服务器的连接。服务器和客户端都需要一个唯一的IP地址和端口的组合。 3.套接字是HTTP模块的底层结构,如果你不需要处理如get何post的web请求,只需要点对点的传输数据,那么使用套接字就可以就能为你提供一个轻量级的解决方案和更多的控制。 二 net.Socket对象 1.Socket对象同时在套接字服务器和客户端套接字上创建,并允许数据在它们之间来回写入和读取。在套接字客户端,当你调用net.connect()或net.createConnection()时,Socket对象在内部创建,这个对象是为了表示到服务器的套接字连接。使用Socket对象来监控连接,将数据发送到服务器并处理来自服务器的响应。在套接字服务器上,当客户端连接到服务器时,Socket对象被创建

.net 操作XML小结

这一生的挚爱 提交于 2020-03-04 07:48:58
一、简单介绍 using System.Xml; //初始化一个xml实例 XmlDocument xml=new XmlDocument(); //导入指定xml文件 xml.Load(path); xml.Load(HttpContext.Current.Server.MapPath("~/file/bookstore.xml")); //指定一个节点 XmlNode root=xml.SelectSingleNode("/root"); //获取节点下所有直接子节点 XmlNodeList childlist=root.ChildNodes; //判断该节点下是否有子节点 root.HasChildNodes; //获取同名同级节点集合 XmlNodeList nodelist=xml.SelectNodes("/Root/News"); //生成一个新节点 XmlElement node=xml.CreateElement("News"); //将节点加到指定节点下,作为其子节点 root.AppendChild(node); //将节点加到指定节点下某个子节点前 root.InsertBefore(node,root.ChildeNodes[i]); //为指定节点的新建属性并赋值 node.SetAttribute("id","11111"); //为指定节点添加子节点

centos7 安装vue,安装node.js

那年仲夏 提交于 2020-03-04 00:52:16
参数: -g 表示全局安装。不加的话,就是当前目录安装。 1. 安装了可以略过 yum install gcc gcc-c++ 2.别的博客说yum安装的版本会和开发版不统一,下载node.js https://nodejs.org/dist/可以看到如下列表选择版本链接 我新建的文件夹下载到/home/download .命令 mkdir home mkdir download wget https://nodejs.org/dist/v11.10.0/node-v11.10.0-linux-x64.tar.gz 3、解压tar -zxvf node-v11.10.0-linux-x64.tar.gz 重新命名 mv node-v11.10.0-linux-x64 node-v11 并将文件移到了外面地址是 /home/node/node-v11 建立软链接 3.1 不建立软链接也可以修改/ext/profile,两个取其一就可以了不用都改 # 修改环境变量 vi /etc/profile #set for nodejs export NODE_HOME=/home/node/node-v11 # node所在路径,你自己解压在哪写哪 export PATH=$NODE_HOME/bin:$PATH 保存退出,然后让命令生效输入 source /etc/profile 4

[算法]合并两个有序的单链表

一世执手 提交于 2020-03-03 22:54:41
题目: 给定两个有序单链表的头结点head1和head2.请合并两个有序链表,合并后的链表依然有序,并返回合并后的链表的头结点。 例如: 0->2->3->7->null; 1->3->5->7->9->null; 合并后的链表为:0->1->2->3->3->5->7->7->9->null。 程序: public static Node merge(Node head1,Node head2){ if (head1==null||head2==null) { return head1=head2==null?head2:head1; } Node head=head1.value<head2.value?head1:head2; Node cur1=head1.value<head2.value?head1:head2; Node cur2=head1.value>head2.value?head1:head2; Node pre=cur1; Node next=cur1.next; while(cur1!=null&&cur2!=null){ if (cur1.value<=cur2.value) { pre=cur1; cur1=cur1.next; }else{ next=cur2.next; pre.next=cur2; cur2.next=cur1; pre=cur2

二叉树图解以及二叉树的递归原理

帅比萌擦擦* 提交于 2020-03-03 20:46:18
递归(recursion) 又称递回,在数学与计算机科学中,是指在函数的定义中使用函数自身的方法。 一般来说,递归需要有边界条件、递归前进段和递归返回段。当边界条件不满足时,递归前进;当边界条件满足时,递归返回。 构成递归需具备的条件: 1. 子问题须与原始问题为同样的事,且更为简单; 2. 不能无限制地调用本身,须有个出口,化简为非递归状况处理。 代码取自美国课本 "Java How to Program "(Deitel & Detel)的练习: 20.25。 以中序遍历递归方法为例,这里显示的图解,仅诠释开始一小部分递归前进段与递归返回段的交叉过程。通过这一小段的繁琐解释,希望读者可见到二叉树递归遍历的端倪。 private void inorderHelper( TreeNode node ){ if ( node == null ) //若节点为空 return; //无任何操作 inorderHelper( node.leftNode ); //有序遍历下一级左子树 System.out.print( node.data + " " ); //输出节点数据 inorderHelper( node.rightNode );//有序遍历下一级右子树 } 插图说明: 前进段的进程 1 :鉴于以树根 节点 "49" 为参数,调用 inorderHelper(...)

node相关的精典材料

一曲冷凌霜 提交于 2020-03-03 20:03:00
node.js电子书 了不起的Node.js 深入浅出Node.js node.js入门经典 node.js开发指南 node.js相关优秀博文 官网 Infoq深入浅出Node.js系列(进阶必读) Node.js中文文档 被误解的 Node.js Node.js C++ addon编写实战系列 热门node.js模块排行榜,方便找出你想要的模块 nodejs多线程,真正的非阻塞 浅析nodejs的buffer类 利用libuv编写异步多线程的addon实例 Node.js中exports与module.exports的区别 Node.js高级编程 Node.js代码风格指南 七天学会NodeJS 经验分享 SDCC讲师专访:淘宝朴灵谈Node.js Node.js的核心与红利 QCon北京2013 Node.js专题出品人朴灵专访 一个周末掌握IT前沿技术之node.js篇 用node+express搭建多人博客教程系列 Node.js静态文件服务器实战 人人和微博登录模块的实现 《京JS》会议 & V8上的JS优化 沪 JS 国内讲师的 PPT 收集 给Node.js新手的7条小建议 Web框架Express 加装涡轮,提速expressjs 给 connect 的 static 模块加上url路径前缀 研究nodeclub 登陆验证逻辑的一些心得 Connect架构初探

设计getMin功能的栈

隐身守侯 提交于 2020-03-03 17:26:48
题目描述 实现一个特殊功能的栈,在实现栈的基本功能的基础上,再实现返回栈中最小元素的操作。 输入描述: 第一行输入一个整数N,表示对栈进行的操作总数。 下面N行每行输入一个字符串S,表示操作的种类。 如果S为"push",则后面还有一个整数X表示向栈里压入整数X。 如果S为"pop",则表示弹出栈顶操作。 如果S为"getMin",则表示询问当前栈中的最小元素是多少。 输出描述: 对于每个getMin操作,输出一行表示当前栈中的最小元素是多少。 示例1 输入 复制 6 push 3 push 2 push 1 getMin pop getMin 输出 复制 1 2 备注: 1<=N<=1000000 -1000000<=X<=1000000 数据保证没有不合法的操作 代码实现: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; public class Main { static LinkedList<Node> stack=new LinkedList<Node>(); static Head head=new Head(); public static void push(int val