node

npm参考手册

微笑、不失礼 提交于 2019-12-10 01:06:51
一 权限操作 npm允许通过scope组织私有包,通过team细化权限控制 npm官方仓储有两种类型的包,普通包和scope包 普通包特征: - 只能公有,谁都可以下载使用 - 仅可以通过所有者(owner)进行权限控制,如果要允许某个用户修改或发布包,必须将该用户添加到包的所有者列表。添加到包所有者列表的用户具备所有的权限. scope包特征: - 包名有两部组成,@scope/name, @后的为scope名,/后的才是具体的包名 - 可以控制公有和私有 - 细化的权限控制,比如可以创建团队,并赋予团队对包只读/修改的权限 1. owner 123 npm owner add <user> [<@scope>/]<pkg> # 将用户添加到包的所有者列表 npm owner rm <user> [<@scope>/]<pkg> # 从包的所有这列表中删除用户 npm owner ls [<@scope>/]<pkg> # 列出包的所有者 成为包的所有者的用户,将能够修改元数据(如标记弃用),发布新版本,添加其他用户到包的所有者列表 2. t/team 123456789 npm team create <scope:team> # 创建团队 npm team destroy <scope:team> # 删除团队npm team add <scope:team> <user>

nodejs快速测试

五迷三道 提交于 2019-12-10 00:40:42
对于一些js功能,可以通过nodejs快速搭建测试环境 1、这里我们先通过express脚手架快速搭建一个项目,或者init一个空项目 2、mkdir script 3、这里假设我们的场景是MQTT接收消息并存入数据库(6字段字节数分别为212212) 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 var mqtt = require('mqtt');var Sequelize = require('sequelize');var sequelize = new Sequelize('iot', 'root', 'root', { host: '127.0.0.1', dialect: 'mysql', timezone:'+08:00', pool: { max: 5, min: 0, idle: 10000 } })var SmallU = sequelize.define('table1', { 大专栏 nodejs快速测试 id: { type:

nodeJS笔记

喜欢而已 提交于 2019-12-09 23:40:09
在node中允许传递大容量的参数,如果传递的参数较大,那么它支持分批接收参数,在接收参数的时候,会持续的触发data事件,data事件中有一个回调函数,这个函数的参数就是每次接收到的字符串 exports.doAdd = (req,res)=>{ // 1.接收参数:参数都是字符串 // 在node中允许传递大容量的参数,如果传递的参数较大,那么它支持分批接收参数 // 在接收参数的时候,会持续的触发data事件 // data事件中有一个回调函数,这个函数的参数就是每次接收到的字符串 var str = '' req.on('data',(chunk)=>{ str += chunk }) // 如果参数接收完毕,会自动的触发end事件 req.on('end',() => { // name=qq&gender=%E7%94%B7&userImg=upload_ba2dac71b2ae05ddd481796a96162f18.jpg // console.log(str) // 我们需要的是对象 queryString.parse()将键值对转换成对象 var newObj = queryString.parse(str) // console.log(newObj) mymodule.addhero(newObj,(err) => { if(err){ var

JAVA筑基期OJ练习(一)——设计链表

*爱你&永不变心* 提交于 2019-12-09 22:23:34
OJ链接: 707. 设计链表 题目要求:在链表类中实现这些功能: get(index):获取链表中第 index 个节点的值。如果索引无效,则返回-1。 addAtHead(val):在链表的第一个元素之前添加一个值为 val 的节点。插入后,新节点将成为链表的第一个节点。 addAtTail(val):将值为 val 的节点追加到链表的最后一个元素。 addAtIndex(index,val):在链表中的第 index 个节点之前添加值为 val 的节点。如果 index 等于链表的长度,则该节点将附加到链表的末尾。如果 index 大于链表长度,则不会插入节点。如果index小于0,则在头部插入节点。 deleteAtIndex(index):如果索引 index 有效,则删除链表中的第 index 个节点。 示例: MyLinkedList linkedList = new MyLinkedList ( ) ; linkedList . addAtHead ( 1 ) ; linkedList . addAtTail ( 3 ) ; linkedList . addAtIndex ( 1 , 2 ) ; //链表变为1-> 2-> 3 linkedList . get ( 1 ) ; //返回2 linkedList . deleteAtIndex ( 1 ) ; /

二叉树与堆

谁说胖子不能爱 提交于 2019-12-09 22:23:01
二叉树有哪几种存储方式?哪种适合于用数组来存储? node 数组存储? 两种特殊二叉树 满二叉树:除了叶子节点之外,每个节点都有左右两个子节点 完全二叉树:叶子节点都在最底下两层,最后一层的叶子节点都靠左排列,并且除了最后一层,其他层的节点个数都要达到最大 节点的高度:节点到叶子节点的最长路径 节点的深度:根节点到这个节点的边的个数,从0开始 节点的层数:节点的深度加1,从1开始 树的高度:根节点的高度 树结构的存储: 1)链式存储法:节点=数据+左节点指针+右节点指针 2)数组存储法: 如果是完全二叉树:根节点存储在下标为1,那左子节点存储在下标 2 * i = 2 的位置,右子节点存储在 2 * i + 1 = 3 的位置。 如果节点 X 存储在数组中下标为 i 的位置,下标为 2 * i 的位置存储的就是左子节点,下标为 2 * i + 1 的位置存储的就是右子节点。反过来,下标为 i/2 的位置存储就是它的父节点。通过这种方式,我们只要知道根节点存储的位置(一般情况下,为了方便计算子节点,根节点会存储在下标为 1 的位置),这样就可以通过下标计算,把整棵树都串起来。 二叉树的遍历: 前序遍历 中序遍历 后序遍历 二叉查找树: 任意一个节点,其左子树中的每个节点的值,都要小于这个节点的值,而右子树节点的值都大于这个节点的值 查找:类似二分查找 插入:也是先查找

koa2 + react + node后台+热更新

▼魔方 西西 提交于 2019-12-09 21:57:21
技术栈 react+webpack 支持前台编写。node+mysql做后台维护 使用ts,包括了tsc,bable7,antd 使用mysql,koa-route 做路由 react+webpack配置 由于使用bable7 ,所以直接使用.babelrc 解析react、ts、es6高级语法 .babelrc相关配置如下,此文件位于项目根目录下。 //.babelrc { "presets": [ [ "@babel/preset-env", { "modules": false } ], ["@babel/preset-react"], ["@babel/preset-typescript"] ], "plugins": [ [ "import", { "libraryName": "antd" } ], [ "@babel/plugin-proposal-class-properties", { "loose": true } ], [ "@babel/plugin-proposal-decorators", { "legacy": true } ], "@babel/plugin-syntax-dynamic-import" ] } 同样需要配置tsconfig.json,此文件位于项目根目录下。内容如下 { "compilerOptions": { "outDir":

Java--哈夫曼树创建和遍历

时光总嘲笑我的痴心妄想 提交于 2019-12-09 21:49:30
哈夫曼树的创建和遍历 import java.util.*; public class huffman { public static void main(String[] args) { int []arr={13,7,8,3,29,6,1}; Node root=huff(arr); //前序遍历打印赫夫曼树 if(root!=null){ System.out.println("赫夫曼树前序遍历为:"); root.preOrder();} else{ System.out.println("赫夫曼树为空"); } } //创建赫夫曼树 public static Node huff(int []arr){ //创建Node类型的集合,便于存取节点 List<Node>nodes=new ArrayList<Node>(); for(int a:arr){ nodes.add(new Node(a));//注意:此处是把Node类型节点放入,所以构造新的对象 } while(nodes.size()>1){ //排序,小到大 Collections.sort(nodes);//对集合内部元素排序 //System.out.println(nodes); //(1)取两个节点最小的构建子树 Node left=nodes.get(0); Node right=nodes.get

在node上使用MongoDB

流过昼夜 提交于 2019-12-09 21:29:37
安装mongoose npm i mongoose -g 查看所有文档 表名.find()/表名.findOne() 增加文档 new 表名({属性名1:属性值1,属性名2:属性值2...}).save(function(err,ret){...}) 删除文档 表名.remove() 修改文档 根据条件更新所有 表名.update(id,new data,callback) 根据某一条件更新一条数据 表名.findOneAndUpdate(conditions,doc,[options],[calllback]) 根据id更新指定id的那一条数据 表名.findByIdAndUpdate(id, new value ,callback) 例: var mongoose = require ( 'mongoose' ) //链接MongoDB数据库 mongoose . connect ( 'mongodb://localhost/test' , { useNewParser : true } ) mongoose . Promise = global . Promise ; //设计cat数据库模型,model(表名,数据结构) var Cat = mongoose . model ( 'Cat' , { name : String } ) ; for ( var i = 0 ;

NODEJS

随声附和 提交于 2019-12-09 21:18:40
一、NODEJS概述 NODEJS基于谷歌的V8引擎(JS解释器),运行在服务器端的语言,基于JS。 http://nodejs.org 英文官网 http://nodejs.cn 中文 1、 对比JS和NODEJS (1)JS运行在浏览器端,存在兼容性的问题;NODEJS运行在服务器端,不存在兼容性问题。 (2)两者都有内置(ES)对象、自定义对象、宿主对象(根据执行环境的不同) (3)JS用于网页中的交互效果,NODEJS用于服务器端操作,例如:创建web服务器、操作数据库... 2、 NODEJS 的执行方式 脚本模式 node C:/xampp/..../01.js 交互模式 node 回车 进入交互模式 两次ctrl+c或者输入 .exit 退出交互模式 3、 NODEJS 特点及应用 支持数万个并发连接 应用于基础社交网络的大规模web应用 4.全局对象 NODEJS: global 在交互模式下,声明的变量和创建的函数都是全局对象下的,可以使用global来访问,例如 var a=1; global.a 在脚本模式下,文件中声明的变量和创建的函数不是全局对象下的,不能使用global来访问 JS: window 在浏览器下,文件中声明的变量和创建的函数是全局对象下的,可以使用window来访问,例如 var a=1; window.a (1)console对象

web前端开发:npm相关操作

 ̄綄美尐妖づ 提交于 2019-12-09 20:41:48
web前端开发:npm相关操作 npm(Node Package Manager)在安装node的时候就会自动的安装了。 不同版本的node对应不同版本的npm,当系统中存在多个node时,你需要设置当前的node的版本: nvm use 6.4.0 然后就可以使用npm了.关于npm常用命令以及用法,请看下文。 安装包: 安装包分为全局安装和本地安装。 全局安装是安装在当前node环境中,在可以在cmd中当作命令使用。 而本地安装是安装在当前项目中,只有当前这个项目能使用,并且可以通过require引用。安装的方式只有-g参数的区别: npm install express # 本地安装 npm install express -g # 全局安装 卸载包: npm uninstall [ package ] 更新包: npm update [ package ] 默认的npm安装目录查看和修改 默认的安装路径:C:/用户/[用户名]/AppData/Roming/npm/node_meodules 查看命令: C:\Users\shenhy > npm config ls ; cli configs metrics-registry = "https://registry.npmjs.org/" scope = "" user-agent = "npm/6.12.1 node