node

node+axios+cookie填坑

扶醉桌前 提交于 2020-01-26 10:48:58
昨天用node写后端接口,前端axios请求,遇到好多坑,总结一下: 1.axios传参异常 this.axios.post(this.$route.meta.api.login, { account: this.form.account, password: this.form.password }) 一开始使用这届对象传参的方式,发现后台接受到的参数为空对象,上网查了一下,说是需要添加 axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8' 于是在全局中添加了上面代码,发现还是没用。最终通过如下方式解决: let formData = new URLSearchParams() formData.append('account', this.form.account) formData.append('password', this.form.password) this.axios.post(this.$route.meta.api.login, formData) 2.cookie无法存储中文 我用cookie保存用户信息,代码如下: req.cookies.set('userInfo', JSON.stringify({ username

(N叉树 递归) leetcode 590. N-ary Tree Postorder Traversal

可紊 提交于 2020-01-26 09:18:37
Given an n-ary tree, return the postorder traversal of its nodes' values. For example, given a 3-ary tree: Return its postorder traversal as: [5,6,3,2,4,1] . Note: Recursive solution is trivial, could you do it iteratively? --------------------------------------------------------------------------------------------------------------------------------- 和 leetcode589. N-ary Tree Preorder Traversal 类似。用递归会简单些 C++代码: /* // Definition for a Node. class Node { public: int val; vector<Node*> children; Node() {} Node(int _val, vector<Node*> _children) { val = _val; children = _children; } }; */ class

数据结构之单链表(头插法)

二次信任 提交于 2020-01-26 09:03:52
1.线性结构是一个有序数据元素的集合。 常用的线性结构有:线性表,栈,队列,双队列,串。 2.定义:单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。链表中的数据是以结点来表示的,每个结点的构成:元素(数据元素的映象) + 指针(指示后继元素存储位置),元素就是存储数据的存储单元,指针就是连接每个结点的地址数据。 3.详细代码如下: /*头插法(含头结点)建立*/ # include <iostream> # include <cstdio> # include <cstdlib> # define MaxSize 100 using namespace std ; typedef struct node { int elem ; //数据域 struct node * next ; //指针域 } node ; node * initlinklist ( node * head ) ; bool insertlinklist ( node * head , int data ) ; bool Createlinklist ( node * head ) ; int find_data ( node * head , int get_elem ) ; bool deletelinklist ( node * head , int data ) ; /

nodejs express安装

感情迁移 提交于 2020-01-26 09:00:15
转载自 http://blog.fens.me/nodejs-express4/ 1. 安装express库 1、npm install -g express-generator@4 #全局安装 -g 2、express -V #检查版本 3、使用express的命令,来创建项目了。 4、进入项目目录,下载依赖库,构建项目 5、启动项目 npm start 6、项目启动成功,打开浏览器 http://localhost:3000,就可以看到显示的页面了。 2. 目录结构 接下来,我们详细看一下Express4项目的结构、配置和使用。 bin, 存放启动项目的脚本文件 node_modules, 存放所有的项目依赖库。 public,静态文件(css,js,img) routes,路由文件(MVC中的C,controller) views,页面文件(Ejs模板) package.json,项目依赖配置及开发者信息 app.js,应用核心配置文件 3. Bootstrap界面框架 编辑views/index.ejs文件 <!DOCTYPE html> <html lang="zh-CN"> <head> <title><%= title %></title> <link rel="stylesheet" href="http://cdn.bootcss.com/bootstrap/3

DOM 常用方法

拟墨画扇 提交于 2020-01-26 04:42:12
接口 nodeType常量 nodeType值 备注 Element Node.ELEMENT_NODE 1 元素节点 Text Node.TEXT_NODE 3 文本节点 Document Node.DOCUMENT_NODE 9 document Comment Node.COMMENT_NODE 8 注释的文本 DocumentFragment Node.DOCUMENT_FRAGMENT_NODE 11 document片断 Attr Node.ATTRIBUTE_NODE 2 节点属性 方法 描述 createAttribute() 用指定的名字创建新的Attr节点。 createComment() 用指定的字符串创建新的Comment节点。 createElement() 用指定的标记名创建新的Element节点。 createTextNode() 用指定的文本创建新的TextNode节点。 getElementById() 返回文档中具有指定id属性的Element节点。 getElementsByTagName() 返回文档中具有指定标记名的所有Element节点。 属性 描述 attributes 如果该节点是一个Element,则以NamedNodeMap形式返回该元素的属性。 childNodes 以Node[]的形式存放当前节点的子节点。如果没有子节点

nvm-windows 手动安装 nvm use 无效 'node' 不是内部或外部命令,也不是可运行的程序

主宰稳场 提交于 2020-01-26 03:26:56
按照这两位前辈的教程,安装了nvm-windows。 http://www.cnblogs.com/yesyes/p/7403184.html http://blog.csdn.net/jingsi1991/article/details/71514106 安装前卸载了之前安装的nodejs 6.10.3。 安装完却发现使用nvm use命令后提示切换成功,但是实际没有效果。 使用nvm list查看刚才设置的版本前没有星号。使用node -v命令, 提示“'node' 不是内部或外部命令,也不是可运行的程序”。 查资料发现一开始默认设置的nodejs目录“D:\Program Files\nodejs”带有空格, 于是改成nvm目录。结果仍然nvm use后不能用,测试nvm on和nvm off也没用。 最后修改了环境变量中用户与系统中两个NVM_SYMLINK的地址为nvm安装路径下的nodejs后, 终于能用了。 看来NVM_SYMLINK的地址最终目标文件必须是nodejs。 来源: https://www.cnblogs.com/eastegg/p/7446081.html

elasticsearch安装与使用(5)-- search guard安装与配置

廉价感情. 提交于 2020-01-26 03:22:12
一、安装search guard插件必须要安装两部分: ①search-guard-xx ②search-guard-ssl (XX指的是与elasticsearch引擎对应的版本) github地址: https://github.com/floragunncom/search-guard 这里以elasticsearch 2.3.5版本为例 进入到elasticsearch安装目录(如果是用RPM包安装的,默认位置是 ,也可用命令whereis elasticsearch查看安装位置) cd /usr/share/elasticsearch 安装方法: (1)search-guard elasticsearch版本:elasticsearch 2.x bin/plugin install -b com.floragunn/search-guard-2/<version> elasticsearch 2.3.5版本: bin/plugin install -b com.floragunn/search-guard-2/2.3.5.10 elasticsearch版本:elasticsearch 5.x bin/elasticsearch-plugin install -b com.floragunn:search-guard-5:<version> (2)search-guard

Nginx学习笔记 ---高级数据结构

寵の児 提交于 2020-01-26 03:15:31
动态数组 ngx_array_t 表示一块连续的内存,其中存放着数组元素,概念上和原始数组很接近 // 定义在 core/ngx_array.h typedef struct { void * elts ; // 数组的内存位置,即数组首地址 ngx_uint_t nelts ; // 数组当前的元素数量 size_t size ; // 数组元素的大小 ngx_uint_t nalloc ; // 数组可容纳的最多元素容量 ngx_pool_t * pool ; // 数组可使用的内存池 } ngx_array_t ; elts 就是原始的数组,定义成 void*,使用时应强转成相应的类型 nelts 相当于 vector.size(); size 相当于 sizeof(T); nalloc 相当于 vector.capacity(); pool 数组使用的内存池,相当于 vector 的 allocator 数组里的元素不断增加,当 nelts > nalloc 时将引起数组扩容,ngx_array_t 会向内存池 pool 申请一块两倍原大小的空间————这个策略和 std::vector 是一样的 但 ngx_array_t 扩容成本太高,它需要重新分配内存并且将数据拷贝,所以最好一次性分配足够的空间,避免动态扩容 操作函数: 使用 ngx_array_t.elts

LRU算法以及其实现

喜夏-厌秋 提交于 2020-01-26 02:54:29
LRU算法 LRU算法是什么 最近最久未使用 LRU的实现 利用双向链表实现 双向链表的特点就是他的链表是双路的,定义好头结点和尾节点后,利用先进先出(FIFO),最近被放入的数据会最早被获取 java实现 定义基本的链表操作节点 public class Node { //键 Object key ; //值 Object value ; //上一个节点 Node pre ; //下一个节点 Node next ; public Node ( Object key , Object value ) { this . key = key ; this . value = value ; } } 链表基本定义 定义一个LRU类,然后定义它的大小,容量,头节点,尾节点等部分,然后定义一个基本的构造方法 public class LRU < K , V > { //当前大小 private int currentSize ; //总容量 private int capcity ; //所有的node节点 private HashMap < K , Node > caches ; //头结点 private Node first ; //尾节点 private Node last ; public LRU ( int size ) { currentSize = 0 ; this .

合并两个有序的单链表,合并之后的新链表依然有序

血红的双手。 提交于 2020-01-25 22:06:16
package com.zzb.datastructure.singlelist; import java.io.Serializable; /** * @Auther: Administrator * @Date: 2020/1/15 16:55 * @Description: * 合并两个有序的单链表,合并之后的新链表依然有序 */ public class MergeOrderSingleLinkedListTest { public static void main(String[] args) { Node node1 = new Node(1); Node node2 = new Node(2); Node node3 = new Node(3); Node node4 = new Node(4); Node node5 = new Node(5); Node node6 = new Node(6); node1.setNext(node2); node2.setNext(node3); node4.setNext(node5); node5.setNext(node6); Node result = merge(node1,node4); while(result != null) { System.out.print(result.getData() + "\t")