node

后台服务部署小案例(git+环境+数据库)

蹲街弑〆低调 提交于 2020-03-01 19:32:13
1.Git代码同步 常用用法: 1.切换到工作文件夹/root/gitlab/kubernetes 2.git checkout dev # 切换到dev分支 3.拷贝文件/文件夹到工作文件夹 4.git pull #拉取最新的下来 5.git add 文件/文件夹 6.git commit -m “add micro service” # 添加修改信息 7.git push -u origin dev#再推上去 示例: # 代码拉取及推送 [ root@node ~ ] # mkdir gitlab && cd gitlab [ root@node gitlab ] # git clone - b dev https : / / git . example . org . cn / shenzhen / kubernetes . git [ root@node gitlab ] # cd kubernetes [ root@node kubernetes ] # cp - r / root / captain / . [ root@node kubernetes ] # git add . [ root@node kubernetes ] # git commit - m "upload file" [ root@node kubernetes ] # git push

npm 命令大全

廉价感情. 提交于 2020-03-01 18:58:05
一、npm简介 npm(Node Package Manager)是随同node.js 一起安装的包管理工具,为了解决nodejs代码部署上的很多问题,常用以下场景: 允许用户从npm服务器下载别人编写的地方包到本地使用。 允许用户将自己编写的包或明显杭程序上传到NPM服务器供别人使用。 二、npm使用前提 必须先安装node.js,安装地址官网http://nodejs.cn/,安装完成以后通过“node -v”查看版本号 三、第一次git了项目 第一次git上获取项目,记得一定要先npm install 因为刚下载的项目,没有node_modules,只有通过npm install命令以后会根据package.json 去下载相关依赖包。 四、npm命令大全 1、 npm install 安装模块 PS D:\Source2019\TestGit\TestGit> npm install webpack -g PS D:\Source2019\TestGit\TestGit> npm install webpack 全局安装是安装一个工具,他不是安装在一个文件夹下,而是安装在某个全局环境下,一般安装的路径为,C:\Users\XXX\ 下面(PS:暂时未找到在那个目录下),全局安装在命令行中任何地方都可以直接调用。 局部安装是将项目安装以后,安装在./node_modules

LeetCoed:两数相加 题解

為{幸葍}努か 提交于 2020-03-01 16:29:29
1.题目描述 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例: 输入:(2 -> 4 -> 3) + (5 -> 6 -> 4) 输出:7 -> 0 -> 8 原因:342 + 465 = 807 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/add-two-numbers 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 2.题解 一道简单的链表问题,注意处理特殊情况: (1)使用头节点统一操作 (2)检查进位 (3)两个初始链表不一定一样长 3.代码(Java) 1.算法代码 ListNode addTwoNumbers ( ListNode l1 , ListNode l2 ) { //进位 int carry = 0 ; int t1 , t2 , sum ; //头节点,目的是统一操作,返回时返回 头节点.next ListNode headNode = new ListNode ( 0 ) ; ListNode current = headNode ; while ( l1

循环单链表,解决约瑟夫问题

℡╲_俬逩灬. 提交于 2020-03-01 14:23:47
约瑟夫问题: 编号为1~N的N个人按顺时针方向围坐一圈,每人持有一个密码(正整数),开始任选一个正整数作为报数上限值M,从第1个人按顺时针方向自1开始顺序报数,报到M时停止报数。报M的人出列,将他的密码作为新的M值,从他顺时针方向上的下一个人开始从1报数,如此下去,直至所有人全部出列为止。 解析: 显然当有人退出圆圈后,报数的工作要从下一个人开始继续,而剩下的人仍然围成一个圆圈,因此可以使用循环单链表。退出圆圈的工作对应着表中节点的删除操作,对于这种删除操作频繁的情况,选用效率较高的链表结构,为了程序指针每次都指向一个具体的代表一个人的节点而不需要判断,链表不带头节点。因此,对于所有人围成的圆圈所对应的数据结构采用一个不带头节点的循环链表来描述。 1 #include "stdafx.h" 2 #include <iostream> 3 #include "string.h" 4 using namespace std; 5 6 typedef struct node 7 { 8 int data; 9 node *next; 10 }node; 11 12 node *create(int n) //创建节点数量为n的单向循环链表 13 { 14 node *pRet = NULL; 15 if(n != 0) 16 { 17 int n_idx = 1; 18 node *p

mac 如何彻底卸载node

好久不见. 提交于 2020-03-01 13:46:14
用了nvm进行node版本的管理,还是很方便的,各个版本切换自由切换,但是nvm安装的node是在~/.nvm下的,和之前安装的不在一起,有点儿强迫症的我,就想把之前的给卸载了 homebrew安装的 直接一条命令 brew uninstall node 官网下载pkg安装包的 一条命令 sudo rm -rf /usr/local/{bin/{node,npm},lib/node_modules/npm,lib/node,share/man/*/node.*} 其他路子安装的 搞一个脚本,把需要删除的文件,一梭子全干掉 内容如下,命名为:uninstallnode.sh #!/bin/bash lsbom -f -l -s -pf /var/db/receipts/org.nodejs.pkg.bom \ | while read i; do sudo rm /usr/local/${i} done sudo rm -rf /usr/local/lib/node \ /usr/local/lib/node_modules \ /var/db/receipts/org.nodejs.* 修改文件权限 chmod 777 uninstallNodejs.sh 在命令行执行 Tips: 这些东西删完了,node就算删除了。 但是还有好多基于node安装的一堆软件和命令行工具

Linkedlist 详解

ぃ、小莉子 提交于 2020-03-01 12:22:50
基本介绍 Linkedlist基于链表的动态数组(双向链表): 可以被当作堆栈(后进先出)、队列(先进先出)或双端队列进行操作。 数据添加删除效率高,只需要改变指针指向即可,但是访问数据的平均效率低,需要对链表进行遍历。 非同步,线程不安全。 支持null元素、有顺序、元素可以重复 不要使用普通for循环去遍历LinkedList,使用迭代器或者foreach循环(foreach循环的原理就是迭代器)去遍历LinkedList即可: 这种方式是直接按照地址去找数据的,将会大大提升遍历LinkedList的效率。 源码分析 public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, java.io.Serializable { //实际大小 transient int size = 0; //头节点 transient Node<E> first; //尾节点 transient Node<E> last; public LinkedList() { } public LinkedList(Collection<? extends E> c) { this(); addAll(c); } //双向链表 private static class

java源码阅读LinkedList

。_饼干妹妹 提交于 2020-03-01 12:17:48
1类签名与注释 public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, java.io.Serializable 双向链表实现了 List 和 Deque 接口。 实现所有可选列表操作,并允许所有元素(包括 null )。 请注意,此实现不同步。 如果多个线程同时访问链接列表,并且至少有一个线程在结构上修改列表,则 必须 在外部进行同步。 (结构修改是添加或删除一个或多个元素的任何操作;仅设置元素的值不是结构修改。)这通常通过在自然封装列表的对象上进行同步来实现。 如果没有这样的对象存在,列表应该使用 Collections.synchronizedList 方法“包装”。 这最好在创建时完成,以防止意外的不同步访问列表: List list = Collections.synchronizedList(new LinkedList(...)); 这个类的 iterator 和 listIterator 方法返回的迭代器是故障快速的:迭代器创建之后,除了自己的remove和add方法外的任何方法改变了集合的结构,迭代器会抛出 ConcurrentModificationException异常。 注意

Python-两数相加

心不动则不痛 提交于 2020-03-01 10:55:48
class Node: def __init__(self, data): self.data= data self.next = None class Solution: def addTowNumbers(self, l1: Node, l2: Node) ->Node: prenode = Node(0) lastnode = prenode val = 0 while val or l1 or l2: val, cur = divmod(val + (l1.data if l1 else 0) + (l2.data if l2 else 0), 10) lastnode.next = Node(cur) lastnode = lastnode.next l1 = l1.next if l1 else None l2 = l2.next if l2 else None return prenode.next def generateList(l: list) -> Node: prenode = Node(0) lastnode = prenode for val in l: lastnode.next = Node(val) lastnode = lastnode.next return prenode.next def printList(l: Node): result

ConcurrentHashMap 1.8

久未见 提交于 2020-03-01 09:37:42
static class Node < K , V > implements Map . Entry < K , V > { final int hash ; final K key ; // 与hashmap不同 volatile V val ; volatile Node < K , V > next ; // 与hashmap不同 transient volatile Node < K , V > [ ] table ; public V get ( Object key ) { Node < K , V > [ ] tab ; Node < K , V > e , p ; int n , eh ; K ek ; int h = spread ( key . hashCode ( ) ) ; if ( ( tab = table ) != null && ( n = tab . length ) > 0 && // 与hashmap不同 ( e = tabAt ( tab , ( n - 1 ) & h ) ) != null ) { if ( ( eh = e . hash ) == h ) { if ( ( ek = e . key ) == key || ( ek != null && key . equals ( ek ) ) ) return e . val ; }

linux安装node

半腔热情 提交于 2020-03-01 07:46:54
1、去官网下载最新安装包 http://nodejs.cn/download/并传到服务器下目录/usr/local/java 2、服务器下解压,如在/usr/local/java下:tar -xvf node-v12.16.1-linux-x64.tar.xz,npm也包含在node安装包里 3、创建软链接: 运行ln -s /usr/local/java/node-v12.16.1-linux-x64/bin/node /usr/local/bin/node  ln -s /usr/local/java/node-v12.16.1-linux-x64/bin/npm /usr/local/bin/npm  ,将node以及npm的软链接放在/usr/local/bin/node下,系统自动根据该软链接找到node和npm 4、运行node -v和npm -v查看是否安装成功 来源: https://www.cnblogs.com/afei1759/p/12388265.html