node

Nodejs 学习系列(一)

喜欢而已 提交于 2020-01-16 01:16:57
Nodejs 整体介绍 一、什么是nodejs: Node.js是一个Javascript运行环境(runtime)。它让JavaScript可以开发后端程序, 它几乎能实现其他后端语言能实现的所有功能。 Nodejs 是基于 Google V8 引擎,V8 引擎是 Google 发布的一款开源的 JavaScript 引擎,原来主要用于 Chrome 浏览器的 JS 解释部分,但是 Ryan Dahl 这哥们,鬼才般的,把这个 V8 引擎搬到了服务器上,用于做服务器的软件。 二、为什么要学 Nodejs Nodejs用户量大:我们无法统计Nodejs软件的下载量,但是我们可以通过Nodejs 框架Express的下载量来分析出Nodejs的用户量非常惊人。Nodejs在2017年的时候用户量已经过千万。经过了3年的发展,Nodejs目前的用户量可想而知。 Nodejs是程序员必备技能:对于前端开发者而言Nodejs目前是必备技能,对于其他后端语言开发者而言,会Nodejs找工作更也有优势。 Nodejs最擅长高并发:Nodejs最擅长的就是处理高并发,在Java、PHP或者.net等服务器端语言中,会为每一个客户端连接创建一个新的线程。而每个线程需要耗费大约2MB 内存。也就是说,理论上,一个8GB内存的服务器可以同时连接的最大用户数为4000个左右

React-Native android在windows下的踩坑记

有些话、适合烂在心里 提交于 2020-01-16 01:15:41
1.执行node命令时提示: node 不是内部或外部命令,也不是可运行的程序或批处理文件。 原因环境变量没有指向node安装目录 path:C:\Program Files\nodejs\ 2.react-native环境搭建完成,执行初始化命令时 react-native init reactNativeDemo 没任何反应,提示错误信息: react-native不是内部或 外部命令,也不是可运行的程序或批处理文件。 搞了半天是因为path环境变量不对,由于我把node_cache和node_global放到了和nodejs安装目录(C:\Program Files\nodejs)不同的目录(D:\nodejs)中,所以环境变量必须要做相应的修改。 (避免不必要的麻烦,不要修改默认安装目录) 环境变量:NODE_PATH:D:\nodejs\node_global      Path:D:\nodejs\node_global;D:\nodejs\node_global\node_modules 参考博客: React-Native开发之BUG 总结 React-Native android在windows下的踩坑记 3.执行 react-native run-android 命令出错: BUILD FAILED Could not install the app on

lintcode618: Search Graph Nodes

别来无恙 提交于 2020-01-16 00:22:37
问题描述 java实现 // Definition for graph node. class UndirectedGraphNode { int label ; ArrayList < UndirectedGraphNode > neighbors ; UndirectedGraphNode ( int x ) { label = x ; neighbors = new ArrayList < UndirectedGraphNode > ( ) ; } } ; public class Solution { /* * @param graph: a list of Undirected graph node * @param values: a hash mapping, < UndirectedGraphNode, ( int ) value > * @param node: an Undirected graph node * @param target: An integer * @return: a node */ public UndirectedGraphNode searchNode ( ArrayList < UndirectedGraphNode > graph, Map < UndirectedGraphNode, Integer > values,

单链表的一些基本操作(自我总结)

≯℡__Kan透↙ 提交于 2020-01-15 23:24:05
链表可分为两种 1.无头结点定义 2.有头节点定义 无头结点定义的链表: 它的第一个节点就开始储存数据,这样在进行后续某些操作时会造成一些不方便的地方。 (这是我从啊哈算法中看到的版本,没有分开函数去创立链表) # include using namespace std ; //链表是由多个结构体组成,其中的指针指向的下一个结构体的地址 struct node { int data ; struct node * next ; } ; int main ( ) { struct node * head , * p , * q , * t ; int i , n , a ; scanf ( "%d" , & n ) ; head = NULL ; for ( i = 1 ; i <= n ; i ++ ) { scanf ( "%d" , & a ) ; p = ( struct node * ) malloc ( sizeof ( struct node ) ) ; // p是创建节点的工具人,申请的一个内存 p - > data = a ; // p节点分为两部分,第一个是 p->data 用来储存数据(data是多个结构体中的 int data 储存的整型变量) p - > next = NULL ; // 第二部分是 p->next 指向下一节点的指针 if ( head =

基于原生js和flex布局开发侧边栏

醉酒当歌 提交于 2020-01-15 20:35:50
css: 1 body{ 2 padding: 0 10%; 3 } 4 ul,li{ 5 margin: 0; 6 padding: 0; 7 list-style: none; 8 } 9 .flex-box{ 10 display: flex; 11 border: 1px solid; 12 } 13 .flex-left{ 14 width: 200px; 15 text-align: center; 16 background: peru; 17 } 18 .flex-right{ 19 flex-grow: 1; 20 } 21 .flex-left li{ 22 height: 60px; 23 line-height: 60px; 24 font-size: 18px; 25 border-bottom: 1px solid; 26 } 27 .flex-left li:last-child{ 28 border-bottom: none; 29 } 30 .active{ 31 background: #8b8bde; 32 } 33 .hide{ 34 display: none; 35 } html: 1 <div class="flex-box"> 2 <div class="flex-left"> 3 <ul> 4 <li class="li-node

.net 对json数据进行读取

…衆ロ難τιáo~ 提交于 2020-01-15 20:07:44
TextReader file = new StringReader(info); using (JsonTextReader reader = new JsonTextReader(file)) { JObject json = (JObject)JToken.ReadFrom(reader); JToken data = json["data"]; //遍历data中所有的课程,取details节点 foreach (JObject node in data) { //JObject details = (JObject)node["subject"]; //var deviceID = details["id"]; //var title = details["title"]; //var thumb = details["thumb"]; //var xiangqing=details["xiangqing"]; text += "标题:"+node["subject"] + "<br>" +"公告ID:"+node["notifyId"]; } } 来源: https://www.cnblogs.com/wdd812674802/p/12198299.html

安装Node.js

∥☆過路亽.° 提交于 2020-01-15 17:06:12
node.js各版本下载地址: https://nodejs.org/dist/v10.16.3/ 第一步:下载 这里下载的是node-v10.16.3-x64.msi版,其下载地址是: https://nodejs.org/dist/v10.16.3/node-v10.16.3-x64.msi 第二步:安装 双击安装包 第三步:同意协议 点击【NEXT】 第四步:修改安装路径 默认安装路径:C:\Program Files\nodejs\ 修改安装路径:F:\Node.js\InstallationFiles\ 点击【NEXT】下一步 第五步:点击树形图标来选择你需要的安装模式 第六步:开始安装 正在安装: 第七步:安装完成 第八步:检查版本 菜单键+R键,出现下图并输入cmd 然后在黑框中输入 node --version 安装成功。 来源: CSDN 作者: 二木成林 链接: https://blog.csdn.net/cnds123321/article/details/103988059

Java中树的存储结构实现

淺唱寂寞╮ 提交于 2020-01-15 16:56:02
一、树 树与线性表、栈、队列等线性结构不同,树是一种非线性结构。 一棵树只有一个根节点,如果一棵树有了多个根节点,那它已经不再是一棵树了,而是多棵树的集合,也被称为森林。 二、树的父节点表示法 树中除根节点之外每个节点都有一个父节点,为了记录树中节点与节点之间的父子关系,可以为每个节点增加一个parent域,用以记录该节点的父节点。 1 package com.ietree.basic.datastructure.tree; 2 3 import java.util.ArrayList; 4 import java.util.List; 5 6 /** 7 * Created by ietree 8 * 2017/4/30 9 */ 10 public class TreeParent<E> { 11 12 public static class Node<T> { 13 14 T data; 15 // 保存其父节点的位置 16 int parent; 17 18 public Node() { 19 20 } 21 22 public Node(T data) { 23 this.data = data; 24 } 25 26 public Node(T data, int parent) { 27 this.data = data; 28 this.parent =

剑指OFFER 链表中环的入口结点

十年热恋 提交于 2020-01-15 14:03:12
剑指OFFER 链表中环的入口结点 如果出现了环,说明存在后面的结点指向前面的结点,如果对此链表进行遍历,那么最终会遍历到之前已经访问过的元素.于是我使用map来记录前面所有结点被访问的次数,如果首次访问到了访问次数不等于0的结点(之前被访问过的结点),说明找到了环的入口结点. 思考: 为什么用map而不通过修改val的值来标记是否已经被访问过? 保证链表存储的值的任意性,增强程序的健壮性 /* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { } }; */ class Solution { public: map<ListNode*,int> m; ListNode* EntryNodeOfLoop(ListNode* pHead) { ListNode* node = pHead; while(node != NULL) { if(m[node] != 0) { return node; } m[node]++; node = node->next; } return NULL; } }; 来源: https://www.cnblogs.com/virgildevil/p/12196069.html

AbstractQueuedSynchronizer与ReentrantLock

纵然是瞬间 提交于 2020-01-15 13:10:46
介绍 j.u.c包中的 Lock 定义了锁的行为。 而 ReentrantLock 是并发包下提供的一个锁的实现,它是一个可重入的、排他的锁。 ReentrantLock 有的属性也很简单,除了一个 serialVersionUID 外,只有一个 sync 。 ReentrantLock 可以分为公平锁和非公平锁两种。可以在创建时,通过向构造函数传入 fair 参数指定: public ReentrantLock(boolean fair) { sync = fair ? new FairSync() : new NonfairSync(); } 无参的构造函数默认会创建一个非公平锁。公平锁和非公平锁的主要区别是:公平锁会保证在锁空闲时,先申请的线程先得到锁;而非公平锁则不考虑线程申请锁的先后顺序,随机让一个线程获得锁。 通过上文的构造函数我们也可以看到,其实内部负责锁的工作的是 Sync 。 ReentrantLock 内部定义了一个抽象类 Sync ,定义了基本锁的行为,然后通过两个具体子类 FairSync 和 NonfairSync 调整具体实现细节,控制公平和非公平的实现(模版模式)。 Sync 类继承自 AbstractQueuedSynchronizer (AQS)。 AQS 是并发包中实现所有锁的基础(无论是共享锁/排他锁,可重入锁/不可重入锁)