mg4155com > mg4155线路检测手机版 > 单列集合,Nodejs安装及条件安插

原标题:单列集合,Nodejs安装及条件安插

浏览次数:87 时间:2019-10-10

1、下载安装包

下载地址:

.msi和.zip格式不相同:1、.msi是Windows installer开拓出来的程序安装文件,它能够让您安装,修改,卸载你所设置的程序。说白了.msi便是Windows installer的数据包,把具有和安装文件相关的内容封装在一个包里。2、.zip是贰个压缩包,解压之后就可以,无需设置

mg4155线路检测手机版 1image.png

下载实现后,双击安装包,最初设置,一贯点next就能够,安装路线暗中认可在C:Program Files下,也得以自定义修改

mg4155线路检测手机版 2image.pngmg4155线路检测手机版 3image.pngNode.js runtime 表示运营条件npm package manager意味着npm包处理器online documentation shortcuts单列集合,Nodejs安装及条件安插。 在线文书档案神速方式Add to PATH加上到蒙受变量

安装达成如图所示,这里自身修改了node的设置路径C:node

mg4155线路检测手机版 4

安装达成后,.msi格式的安装包已经将node启动程序加上到系统碰着变量path中,查看系统变量验证

mg4155线路检测手机版 5image.png既然已经将node程序增添到全局系统变量,大家能够直接在CMD窗口中自由地点推行node,张开CMD窗口,执行命令node -v查看node版本mg4155线路检测手机版 6image.png最新版的node在安装时同时也安装了npm,执行npm -v查看npm版本mg4155线路检测手机版 7image.png

字符的相间

mg4155线路检测手机版 8mg4155线路检测手机版 9单列集合

一:事件冒泡和事件代总管件:事件是文书档案和浏览器窗口中发生一定交互的一瞬,当我们与浏览器中的web页面进行一些类型交互的时候,事件就时有发生了平地风波流:事件流描述的是页面中经受事件的相继,微软为事件冒泡,网景为事件捕获事件冒泡:事件初阶时由最现实的成分接收,然后逐级向上传播到比较不现实的节点

# 难点原因

因为在本人本地写了多少个品种,然后想要在服务器上配置一下,因为急需数据库,然后数据Curry面还会有一对多少,笔者想要迁移到服务器,继续运营,就有了现行反革命以此记录

2、修改包路线

暗许情形下,大家在施行npm install -g XXXX时,下载了四个大局包,那个包的默许贮存路线位C:UsersAdministratorAppDataRoamingnpmnode_modules下,能够通过CMD指令npm root -g查看

mg4155线路检测手机版 10image.pngmg4155线路检测手机版 11image.png我们能够下载一个大局包试试看,实行命令npm install -g expressmg4155线路检测手机版 12image.pngmg4155线路检测手机版 13image.png

可是有的时候我们不想让全局包放在此地,大家想放在node的安装目录下1、在node安装目录下下新建七个文本夹node_global 全局包下载贮存node_cache node缓存

mg4155线路检测手机版 14image.png

2、修改路径在CMD窗口举办以下两条命令:

npm config set prefix "C:nodenode_global"

npm config set cache "C:nodenode_cache"

抑或在nodejs的安装目录中找到node_modulesnpm.npmrc文本,修改如下:prefix =C:nodenode_global``cache = C:nodenode_cache

mg4155线路检测手机版 15image.png大家重新下载贰个大局包,试行命令npm install -g vue,能够发掘,下载的大局包vue已经放在了我们设置的目录中mg4155线路检测手机版 16image.png大家写一个js文件,引进vue模块,并出口,然后再node中施行该js文件mg4155线路检测手机版 17image.png大家转移了npm全局模块的贮存路线和cache路线,此时选用module时将会合世上述荒唐,因为Computer系统今后还不知道你把私下认可路线给改了,所以必要修改系统景况变量。1、修改顾客变量path为:C:nodenode_globalmg4155线路检测手机版 18image.pngmg4155线路检测手机版 19image.png2、新扩张系统变量NODE_PATH,变量值为C:nodenode_globalnode_modulesmg4155线路检测手机版 20image.png修改之后关闭CMD窗口,然后重新张开,运营刚才的test.js文件mg4155线路检测手机版 21image.png

(观念,先构造在拼接)

List集合

mg4155线路检测手机版 22image.png事件捕获:从不太现实的dom节点应该更早接收到事件,而现实的节点最后摄取到事件(大家借用addEventListener来模拟事件捕获流)mg4155线路检测手机版 23image.pngDOM事件流:dom2事件规定事件流包蕴七个级次"事件捕获/目的阶段/事件冒泡"首首发出的事件捕获为缴获事件提供机遇,然后实际目接收事件,最后一个品级时事件冒泡阶段,在那些品级对事件做出响应;dom事件流中,事件的对象在捕获阶段不会摄取到事件,那象征捕获阶段事件从document到ul截至,然后目的阶段事件在li上发生,并在事件管理中被堪当冒泡阶段的一部分,然后冒泡阶段发滋事变又不知去向documentmg4155线路检测手机版 24image.png关于dom2事件管理程序:dom2事件定义了五个主意:add伊夫ntListener和remove伊夫ntListener他们都含有五个参数(1.处管事人件的的方法click..2.事件管理函数(要是是删除函数必得是命名函数3.bool值为true为事件捕获阶段调用,默感觉false事件冒泡阶段调用)dom2事件管理程序的功利时能够增进多少个事件管理程序,事件管理会遵照加多的各种触发,addEventListenert增加的轩然大波只可以用removeEventListener来移除,那也表示加上的无名函数将不也许移除mg4155线路检测手机版 25image.pngmg4155线路检测手机版 26image.pngdom0的事件管理程序mg4155线路检测手机版 27image.pngmg4155线路检测手机版 28image.png

# 情形企图

Ubuntu 16.04 系统

SELECTa.id,b.NAME,A.WORK_TYPE,b."ID"

1.List遍布集合ArrayList和LinkedList

1.ArrayList是一种单列集结,存款和储蓄成分得以是即兴档期的顺序,其不改变,有目录,成分线性存储,并吞一片三番五次存款和储蓄单元,存入顺序和抽出顺序同样,因为其底层是通过数组来落到实处的,Object[]数组 。别的,ArrayList最大的特征是雷打不动,成分可重复,查找快,增加和删除慢。因为尾巴部分是数组,通过索引很轻巧就找到元素,但增加和删除的时候除头尾元素都亟需活动巨量成分,作用非常低。 2.LinkedList同等是一种单列集结,存款和储蓄元素得以是即兴档次,其不改变,但从未索引,恐怕说不像ArrayList那样的目录,成分线性存款和储蓄,任何时候占有存款和储蓄单元,底层是使用双向链表来达成的。别的,LinkedList最大的特点是雷打不动,成分可另行,但搜索慢,增加和删除快,增加和删除时只需移动指针域指向对象就可以了,但寻觅时索要顺着指针域依次遍历找成分,效用相当的低。

二:事件委托事件委托:利用事件冒泡。钦点多个事件处理程序来治本某一系列的有所事件,dom须要由事件管理程序,大家得以一直给每一个dom设事件管理程序,倘使大家有一千0个li增添一样的点击事件,大家或然会用for循环来遍历全数li,然后各种给它们增加事件,js访谈dom的操作愈来愈多。引起浏览注重绘与重排的次数也会扩展,就能够延长整个页面包车型地铁相互就绪事件,那便是为啥品质优化的的最主要思念是缩减dom操作,这里假设运用事件委托,就能够将具有的操作都献身js程序里。与dom的操作就只需求相互三次。这样就大大减弱了与dom的操作,每一种函数都以一个对象,是目的就可以据有内部存款和储蓄器,对象越来越多,内部存款和储蓄器占用率就越大,自然本性就差了。事件委托的原理:事件委托行使事件冒泡原理来促成,比方页面有这般八个节点树,div>ul>li,大家给li增添click事件那么那些事件就能一层一层进步实践,实践顺寻li>ul>div,也正是我们给最外侧的div加多点击事件。那么内部的ul/li都会冒泡到最外层div,所以都会触发,这就是事件委托,委托他们的父级代为实践事件。事件委托实例:

# 开头操作

执行:

 sudo apt-get 

应用命令:

 sudo apt-get install mysql-server

自此会问你,是不是要下载文件, 输入 y 就好了接下来会师世令你设置 root 密码的分界面

mg4155线路检测手机版 29输入密码

接下来再重复一下

mg4155线路检测手机版 30再度输入密码

设置好 MySQL 服务之后,大家必要叁个MySQL-Client 客商端,用来连接测验在命令行输入:

sudo apt install mysql-client

推行完成就能够了,我们得以接纳

mysql -u用户名 -p密码

来三番五次服务器当地的 MySQL

2.ArrayList,LinkedList与Vector的比较

事关ArrayList那就只好提Vector,前边二个是线程差异台,即线程不安全的,即随便时刻肆意对象都能够操作ArrayList中的元素,但Vector不行,Vector是线程同步的,任性时刻只好有三个目的操作集合中的成分,以确定保证集合中的成分在运用时不会被别的对象大肆别变化更操作,Vector是栈Stack的底层较好的兑现。那么涉及线程安全那就不得不提并行和现身(这里只针对于线程,不对准任何),并行是指同不时刻有多个大概五个以上线程同偶尔候运营,并发是指三个线程在比相当的短的时刻距离内交替推行。假使是出新,两个,或许多少个线程去操作同三个ArrayList群集时,会导致前后读取不等同,那也就导致线程不安全。想要线程安全,ArrayList能够透过Collections工具类的对应synchronized方法来创设集结便是线程安全的。LinkedList同理。不再赘述。

mg4155线路检测手机版 31image.pngevent对象提供了一个个性叫做target,再次来到事件的对象节点,大家称为事件源,也正是说target能够象征近来风云操作的dom,但不是真的操作dom,大家依照nodeName来判断节点名称mg4155线路检测手机版 32image.pngmg4155线路检测手机版 33image.png事件委托的另三个利润是js动态扩展的新节点也会得到同类型的操作mg4155线路检测手机版 34image.png三:js阻止事件冒泡和暗中认可事件w3c:e.stopPropagationie:window.event.cancelBubble = true暗中同意事件:是指指标成分的暗中同意行为比如a标签会跳转链接 form会提交表单w3c:e.preventDefault()ie:window.event.returnValue = false此外js中的return false也足以阻碍暗中同意行为jq中的return false不仅能够阻挡私下认可行为也能够阻挡冒泡js学习(ECMAScript,DOM,BOM):

- 4.打开 MySQL 远程连接服务

因为自个儿要求把数量传送到服务器去,直接通过ssh一条一条实行,肯定不行,所以本人要打开远程连接。首先修改配置文件:“ /etc/mysql/mysql.conf.d/mysqld.cnf ”在文书之中找到

bind-address = 127.0.0.1

在前面加上 # 注释掉

mg4155线路检测手机版 35注释掉bind

下一场 进入 mysql 试行以下语句(施行 mysql -u顾客名 -p密码 进入 MySQL)

USE mysql; # 切换到mysql数据库GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的密码' WITH GRANT OPTION; # 设置root账户允许远程访问flush privileges; # 刷新配置

下一场退出 MySQL ,再重启以下 MySQL 服务实施:

service mysql restart

在本土的 MySQL 连接工具上海展览中心开链接测量检验

mg4155线路检测手机版 36成功连接

到这里就结束了,多谢旁观。

-- iNick-- 2019/02/26

FROMCRD.T_CRD_SCORE_CONFIGa

3.常用艺术

import java.util.*;public class Demo01List { public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add; list.add; //指定位置添加元素 list.add; //获取元素 String s = list.get; //删除元素 String remove = list.remove;//被删除的元素 //修改元素 String update = list.set;//修改前元素内容 //将其他集合转为list集合如set集合,很重要 Set<String> set = new HashSet<>(); set.add; set.add; List<String> list1 = new ArrayList<>(); list1.addAll; System.out.println;//结果输出:[1234, 5678] //元素第一次出现的位置。 list1.add; System.out.println(list1.indexOf;//结果输出:1 //转为数组 Object[] objects = list1.toArray(); //是否包含元素 boolean contains = list1.contains; //排序,使用的是1.8新特性,引用。 list1.addAll; list1.add; list1.sort(String::compareTo); System.out.println;//结果输出:[1111, 1234, 5678, 5678, aaa, ddd] }}

Set集合

leftJOINEMERP.T_BASE_WORK_TYPE_ALLbon','||A.WORK_mg4155线路检测手机版,TYPE||','like'%,'||b.id||',%'GROUPBYA.ID

1.HashSet,LinkedHashSet,TreeSet

Set单列集结不像LIst群集有序可另行,Set集结内的要素是严节,不可重复的。那么Set集合和List集结都以添日成分,那么是怎么确认保障成分不另行的呢?答案是底层涉及到了equals方法,如若Set集合内的项目成分未有重写equals方法,那么Set会集也是无法保险成分是大家所想的那么,即七个要素全数属性都万分,七个对象就约等于,而是只好如Object类equals方法一致,多少个相比的对象必得是同贰个对象才约等于,所以要想利用Set集结存储某一类对象,该类除特殊处境必得是要重写equals方法的。那么说起equals方法,那么只可以说hashCode方法,为啥重写equals方法要重写hashCode方法吧?原因很轻松,equals方法功能太低了,他是对此类对象的装有属性逐步一 一相比较手艺得出五个目的是否等于,那么些频率太低了,不能够管理数据量大的景况,那么jdk为大家提供了另一种比较艺术,hashCode方法,他是依据目的创设时对指标具有属性的ASCII码进行一种特殊运算来获得多少个值,这么些值就是哈希值,当五个指标的哈希值不一样,那么那多少个对象自然分化,那么些很轻便精晓,可当七个指标的哈希值相同一时候,则无法剖断多少个对象自然同样,因为哈希值运算操作中无法保险全数运算的哈希值不相同,所以当八个对象的哈希值相同时,还要调用equals方法相比较,挨个相比较全数属性值才具鲜明八个对象是都否等。所以综上所述,重写equals方法,能够不用重写hashCode方法,但如此效用十分的低,不可能管理数据量大的境况,所以日常重写了equals方法大家都会重写hashCode方法来升高功能(当然哈希值很难有双重的,只要不特意日常都不会蒙受哈希值同样的情景)。那样就很好的管教了Set群集的不足重复。理解了Set集结的特色,那么来打听下常用Set集结子类。HashSet:1.8以前底层通过数组

  • 链表 1.8之后是经过 数组 + 链表 + 红黑树来贯彻的。当哈希值分裂有难点候,HashSet直接将成分存入数组中,但当哈希值相同期,则是使用链表将哈希值同样成分连接起来构成五个链表,(能够想像一下便是将哈希值一样的成分弄成了一条长链,挂在了数组上相应的哈希值元素上)但当链表成分超越多少个时,则会将链表形成红黑树来增速对成分操作。那就有较高的成效来面前遭受海量数据。(原因是链表过长的话影响功效,链表查询相当慢,增加和删除快,但除去时他老是依然得二个三个的查询成分技术去除,当链表较长时就不比树有效用,所以当成分抢先8个时,就将链表转为红黑树)这一个规律是哈希表中的链地址法,能够说HashSet是因此哈希表实现的。LinkedHashSet:承继HashSet,但底层是通过LinkedHashMap来实现的,在HashSet的底蕴上并从未什么样延申,仍然HashSet的有的操作,但底层达成原理变了,底层是双向链表,那就使他变得有序,怎么存入就是怎么收取。TreeSet:和LinkedHashSet同样,是Set会集中有序的兑现类。TreeSet的最底层是透过TreeMap来完毕的,键的等级次序为TreeSet的泛型类型,值为Object类型。TreeSet的机要意义是扩充排序,由于底层原理使用到了树结构,其本身在仓库储存时就对成分做了有个别排序。当然排序的条条框框要鲜明,能够使泛型类型达成Comparable接口可能Comparator接口。假若是Comparable接口,则compareTo方法再次回到的是原则性值0的话,集结仅有二个成分,是固定值-1的话集结倒序存款和储蓄,是固定值1的话集结按序存款和储蓄,当然按成分比较结实排序时,则是按红黑树结构排序。

分组函数:GROUP BY

分组函数,能够频仍分组

进步GROUP BY 语句的效用,能够通过将无需的记录在GROUP BY 以前过滤掉

子查询

此番写代码的时候,有一对字段上线前焦急要和实际的职业逻辑,使用了子查询,有的能够动用连接查询,可是并未有优化

笔录的号子字段

此次编写代码的时候,标志那条记下是还是不是删除,使用,展现,在编写制定SQL的时候出现了有的漏写的字段,以往再写的时候,绝对要留神全

表空间

在编写制定SQL的时候,未有放在心上在表前标志空间名。

OR的使用

O中华V必须求合理选择,总忘记那么些

ORDER BY 的使用

  1. 独有OOdysseyDE安德拉 BY 子句中能够使用select列表中列的小名

  2. 采取了O揽胜极光DER BY子句的查询无法用作表表明式(视图、内联表值函数、子查询、派生表和国有表明式)

3. 在分页的时候,固然是多表连接的,固然条件排序的标准化的值一致,在分页的时候大概四回的结果有重复数据。

exts和in用法

  1. exists对表面做巡回,每一次循环对内表查询;in将内表和外界做hash连接

  2. 使用exists oracle会先检查主查询,使用in,首先试行子查询,将结果存款和储蓄在有的时候表中

  3. 假如多少个表大小格外,in和exists差异异常的小

  4. 万一七个表大小相差极大则子查询表大的用exists,子查询表小的用in

5.尽量决不选用not in

本文由mg4155com发布于mg4155线路检测手机版,转载请注明出处:单列集合,Nodejs安装及条件安插

关键词:

上一篇:只因为回应了,Android进程间通讯完美解决方案

下一篇:5个令你升级生育效用的Python开辟和布局的小本领