node

跟高手学习LINUX笔记-19

空扰寡人 提交于 2020-03-10 13:19:11
第19节 shell基础 本节所讲内容: 19.1 shell 基本语法 终于在前面的章节把centos7基础介绍完成了,余下的几个章节都围绕这几个方面去介绍。 关于shell及脚本,通过工作中的实际应用总结以下几点,请大家斧正: 1、脚本很重要,特别是在linux自动化运维方面 2、脚本要多多练习,最少能读懂。建议是把别人脚本修改成自己的。 3、正则表达式一定要静下心来好好学学 4、三剑客“grep awk sed”一定要熟练掌握 19.1.1 什么是shell shell:跟它的英文单词的意思一样,是命令解释器,工作在用户与内核之间的命令解释翻译功能 计算机懂什么语言?二进制语言 人类懂什么语言?符号语言 在计算机与人类之间的沟通就需要一个翻译了,这个就是shell横空出现的原因了 通过前面的章节大家知道系统的灵魂是内核,如果每个用户都能去直接操作内核的话,我相信任何一个系统都如玻璃般脆 应用程序-->shell-->内核-->硬件 人类的命令-->键盘输入-->shell-->二进制命令-->内核 输入执行命令的过程 显示命令结果<--显示器显示<--shell<--二进制结果<--内核 输出命令结果的过程 19.1.2 有哪些shell [root@node-1 ~]# cat /etc/shells /bin/sh /bin/bash /sbin/nologin /usr

node读取docx文件并写入数据库

徘徊边缘 提交于 2020-03-10 10:50:32
const mysqlx = require("@mysql/xdevapi"); const path = "E:\\微信文档\\WeChat Files\\mxds123456\\FileStorage\\File\\2020-03\\101-200"; const fs = require('fs'); const iconv = require("iconv-lite"); var mammoth = require("mammoth"); fs.readdir( path, (err, files)=> // 读取文件夹下所有文件名(返回数组) { if(files.length > 0) { console.log(files.length); files = files.splice(6, 93); console.log(files.length); for(let i = 0; i < files.length; i++) { { const pathContent = `${path}\\${ files[i] }`; console.log(pathContent); mammoth.extractRawText({path: pathContent}) //读取docx文件 .then(function(result) { execute_mysql(

多版本node安装

与世无争的帅哥 提交于 2020-03-10 10:45:09
ionic和angular版本更新比较快,老的项目和最新的项目对nodejs的版本依赖不同 运行旧的ionic项目可能需要nodejs 6.x版本,运行新的项目需要8.x,如何同时安装多个nodejs版本是本文介绍的内容,之前在 这里 介绍过如何安装和卸载nodejs 安装多版本之前,请先去控制面板卸载本机的nodejs 下载nvm-windows 去github 下载nvm-windows 最新版,如下图,目前(2018年7月11日)最新版是1.1.6 下载后安装,注意不要安装在C盘,如下图我选择D盘安装 我第一次安装在C盘执行 node -v 提示拒绝访问,然后卸载NVM重新安装到D盘就可以了,可能是win10系统的权限问题 安装完成后执行 nvm version 输出版本号说明安装成功 使用nvm-windows nvm list 查看已经安装的nodejs版本,目前我已经安装了两个,其中正在使用6.14.3 nvm list available 查看可以安装的版本 nvm install 10.6.0 安装指定版本nodejs,我这里演示安装10.6.0 如果你的网络不够给力,就要设置代理,如下图找到nvm安装目录,编辑settings.txt文件添加 node_mirror: https://npm.taobao.org/mirrors/node/ 和 npm

有序单链表删除重复元素

左心房为你撑大大i 提交于 2020-03-10 06:45:51
前言 本文从有序单链表入手,主要思想是定义三个结构类型指针来解决有序单链表删除重复元素的问题。 图示 其中 flag 作为标杆值, p 去寻找相同的值。若相同则 p 移动到下一个,同时定义结构指针 q 指向其多余的结点以释放内存;若不同则 flag 和 p 都向下移动。( PS :单链表有序且已有数据储存) 代码 node结构(举例说明) typedef struct _Node { int data ; //数据域 struct _Node * next ; //指针域 } node ; listDelDuplicates()函数 void listDelDuplicates ( node * & head ) { //定义变量 node * flag = head ; //flag作为标杆值 node * p = head - > next ; //P移动寻找相同值 while ( p ) { if ( flag - > data == p - > data ) //若flag的值和p的值相同时 { node * q = p ; //定义一个q去指向p,目的是为了释放内存 flag - > next = p - > next ; //flag的next指向p的next p = p - > next ; //p指向下一个结点 delete q ; //释放q所指的结点 }

nodejs的模板引擎ART-TEMPLATE

守給你的承諾、 提交于 2020-03-10 05:10:53
优点:模板引擎可以让将数据和HTML模板更加友好的结合,省去繁琐的字符串拼接,使代码更加易于维护。 先使用npm install art-template命令下载。 调用模板引擎提供的template函数,告知模板引擎将特定模板和特定数据进行拼接,最终返回拼接结果。 // 模板引擎导入 const template = require ( 'art-template' ) ; // 模板编译 // 1.模板位置 // 2.向模板中传递要拼接的数据,对象类型,对象属性可以直接在模板中使用。 // result 拼接结果 const result = template ( './views/index.html' , { msg : 'Hello, art-template' } ) ; 模板语法 通过模板引擎提供的特殊语法,告知模板引擎数据和模板具体的拼接细节。 插值表达式 即{{}},用来显式数据,将数据变量放入双大括号之中即可。 标准语法: {{ 数据 }} 原始语法:<%=数据 %> 插值表达式中可以进行运算,最终显式运算的结果 < ! -- 标准语法 -- > < h2 > { { value } } < / h2 > < h2 > { { a ? b : c } } < / h2 > < h2 > { { a + b } } < / h2 > < ! -- 原始语法 --

Node-1.高性能服务器

寵の児 提交于 2020-03-10 03:30:46
文章目录 Node——高性能服务器 异步I/O与非阻塞I/O Nodejs的异步I/O 事件循环机制 Node与其他服务器比较 Node——高性能服务器 浏览器中JavaScript在单线程上执行,而且与UI渲染共享同一个线程,所以JavaScript在执行的时候UI渲染和响应是处于停滞状态的。如果网页获取资源时同步获取,那么会阻塞页面的其他操作,不能响应用户的交互行为,影响用户体验。 那Nodejs怎么解决性能上的问题?基于事件的非阻塞异步I/O ! 通过事件驱动节省为每个请求创建额外线程和切换线程的开销,使得服务器可以在大量连接的情况下也有条不紊地处理请求,非阻塞的设置让它可以更好地提升响应吞吐,使Nodejs构建了一套完善的 高性能 异步I/O框架。 异步I/O与非阻塞I/O 说到Node的经常会听到异步、非阻塞、回调、事件这些词语。实际上,异步和非阻塞都达到了并行I/O的目的,但是从计算机内核I/O而言,异步/同步和阻塞/非阻塞实际上是两回事。 操作系统内核对于I/O只有两种方式:阻塞与非阻塞。 阻塞I/O: 系统内核调用后一定要等系统内核层面完成所有操作后,调用才结束。 阻塞I/O造成CPU等待I/O,浪费等待时间,CPU的处理能力不能得到充分利用。如读取磁盘上的文件,系统内核在完成磁盘寻道、读取数据、复制数据到内存后,这个调用才结束。 非阻塞I/O:

算法与数据结构实验题6.4 order (二叉树)

喜夏-厌秋 提交于 2020-03-09 20:28:26
1、题目: 2、代码: #include<iostream> #include<algorithm> using namespace std; struct Node { int left; int right; int father; int ord; } node[100010]; void preOrder(int m) { if(m!=-1) { cout<<m<<" "; preOrder(node[m].left); preOrder(node[m].right); } } void posOrder(int m) { if(m!=-1) { posOrder(node[m].left); posOrder(node[m].right); cout<<m<<" "; } } int main() { int n; cin>>n; int i; for(i=1; i<=n; i++) { cin>>node[i].father; } for(i=1; i<=n; i++) { int x; cin>>x; node[x].ord=i; } for(i=1; i<=n; i++) { node[i].left=-1; node[i].right=-1; } //为每个结点设置儿子 for(i=1; i<=n; i++) { if(node[node[i].father]

JavaScript中Element与Node的区别,children与childNodes的区别

坚强是说给别人听的谎言 提交于 2020-03-09 16:55:41
============转载================= Node(节点)是DOM层次结构中的任何类型的对象的通用名称,Node有很多类型,如元素节点,属性节点,文本节点,注释节点等,通过NodeType区分,常见的有: 节点类型 NodeType 元素element 1 属性attr 2 文本text 3 注释comments 8 文档document 9   更多节点类型参考: https://developer.mozilla.org/en-US/docs/DOM/Node.nodeType?redirectlocale=en-US&redirectslug=nodeType    Element继承了Node类,也就是说Element是Node多种类型中的一种 ,即当NodeType为1时Node即为ElementNode,另外Element扩展了Node,Element拥有id、class、children等属性。   以上就是Element跟Node的区别。 那么用document.getElementById("xxx")取到的是Node还是Element呢?我们来测试一下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Demo</title> </head> <body> <div

NPM使用介绍

℡╲_俬逩灬. 提交于 2020-03-09 11:23:29
NPM是随同NodeJS一起安装的包管理工具 允许用户从NPM服务器下载别人编写的第三方包到本地使用 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用 由于新版的nodejs已经集成了npm,所以npm也一并安装好了。同样可以通过输入 "npm -v" 来测试是否成功安装 如果你安装的是旧版本的 npm,可以很容易得通过 npm 命令来升级 sudo npm install npm -g /usr/local/bin/npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.js npm@2.14.2 /usr/local/lib/node_modules/npm Window 系统使用以下命令 npm install npm -g 使用淘宝镜像的命令 npm install -g cnpm --registry=https://registry.npm.taobao.org npm 安装 Node.js 模块语法格式 npm install <Module Name> 如果淘宝镜像就是cnpm 使用 npm 命令安装常用的 Node.js web框架模块 express npm install express 安装好之后,express 包就放在了工程目录下的

Node.js REPL(交互式解释器)

无人久伴 提交于 2020-03-09 11:22:10
Node.js REPL(Read Eval Print Loop:交互式解释器) 表示一个电脑的环境,类似 Window 系统的终端或 Unix/Linux shell,我们可以在终端中输入命令,并接收系统的响应。 Node 自带了交互式解释器,可以执行以下任务: 读取 - 读取用户输入,解析输入了Javascript 数据结构并存储在内存中。 执行 - 执行输入的数据结构 打印 - 输出结果 循环 - 循环操作以上步骤直到用户两次按下 ctrl-c 按钮退出。 输入以下命令来启动 Node 的终端 node 可以在 > 后输入简单的表达式,并按下回车键来计算结果 在 Node.js REPL 的命令行窗口中执行简单的数学运算 可以将数据存储在变量中,并在你需要的时候使用它。 变量声明需要使用 var 关键字,如果没有使用 var 关键字变量会直接打印出来。 使用 var 关键字的变量可以使用 console.log() 来输出变量。 Node REPL 支持输入多行表达式,这就有点类似 JavaScript 执行一个 do-while 循环: ... 三个点的符号是系统自动生成的,你回车换行后即可。Node 会自动检测是否为连续的表达式。 可以使用下划线(_)获取上一个表达式的运算结果 perl命令: ctrl + c - 退出当前终端。 ctrl + c 按下两次 - 退出