自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(77)
  • 资源 (2)
  • 收藏
  • 关注

原创 JS的执行上下文栈

执行上下文栈什么是执行上下文栈我们可以将执行上下文看作代码当前运行的环境。代码的运行环境分为三种全局级别的代码 – 这个是默认的代码运行环境,一旦代码被载入,js引擎最先进入的就是这个环境函数级别的代码 – 当执行一个函数时,运行函数体中的代码Eval的代码 – 在Eval函数内运行的代码(这个不常使用,也不推荐使用,故不作了解)其实,主要就是全局执行上下文和函数执行上下文。下面举...

2020-04-20 14:15:54 212

原创 NodeJS的cookie浅析

什么是 CookieCookie 是什么,有以下几个点:Cookie 就是浏览器储存在用户电脑上的一小段文本文件Cookie 是纯文本格式,不包含任何可执行的代码Cookie 由键值对构成,由分号和空格隔开Cookie 虽然是存储在浏览器,但是通常由服务器端进行设置Cookie 的大小限制在 4kb 左右Cookie 是怎样工作的Cookie 是如何工作的:1. 首先,我们假设当前域名下还是没有 Cookie 的2. 接下来,浏览器发送了一个请求给服务器(这个请求是还没带上 Cook

2020-05-26 15:25:18 993

原创 NodeJS的Http客户端模块

http.request(options[, callback])optionsprotocol string 使用的协议。默认为 http:。host string 请求发送至的服务器的域名或 IP 地址。默认为 localhost。hostname string host 的别名。为了支持 url.parse(),hostname 优先于 host。family number 当解析 host 和 hostname 时使用的 IP 地址族。 有效值是 4 或 6。当未指定时,则同时使用 I

2020-05-26 14:25:49 773

原创 NodeJS的Stream(流)

Node.js Stream(流)Stream 是一个抽象接口,Node 中有很多对象实现了这个接口。例如,对http 服务器发起请求的request 对象就是一个 Stream,还有stdout(标准输出)。Node.js,Stream 有四种流类型:Readable - 可读操作。Writable - 可写操作。Duplex - 可读可写操作.Transform - 操作被写入数据,然后读出结果。所有的 Stream 对象都是 Event 的实例。常用的事件有:data - 当有数

2020-05-26 14:21:45 771

原创 NodeJS的Buffer模块进阶

Buffer模块进阶Buffer 类的实例类似于整数数组,但 Buffer 的大小是固定的、且在 V8 堆外分配物理内存。 Buffer 的大小在被创建时确定,且无法调整。Buffer 类在 Node.js 中是一个全局变量,因此无需使用 require('buffer').Buffer。Buffer 类在计算机内使用二进制表示数据,一个存储空间叫做一个 bit ,只能存储 0 或是 1。 通常,计算机把 8 个bit作为一个存储的单位,称为一个 Byte。于是一个 Byte 可以出现 256 种不

2020-05-26 14:13:25 798

原创 NodeJS的os模块

os.EOL一个字符串常量,定义操作系统相关的行末标志:\n 在 POSIX 系统上\r\n 在 Windows系统上os.arch()os.arch()方法返回一个字符串, 表明Node.js 二进制编译 所用的 操作系统CPU架构.现在可能的值有: 'arm', 'arm64', 'ia32', 'mips', 'mipsel', 'ppc', 'ppc64', 's390', 's390x', 'x32', 'x64', 和 'x86'.os.homedir()os.homedir

2020-05-26 14:10:41 872

原创 NodeJS的Buffer(缓冲区)

Buffer(缓冲区)JavaScript 语言自身只有字符串数据类型,没有二进制数据类型。但在处理像TCP流或文件流时,必须使用到二进制数据。因此在 Node.js中,定义了一个 Buffer 类,该类用来创建一个专门存放二进制数据的缓存区。在 Node.js 中,Buffer 类是随 Node 内核一起发布的核心库。Buffer 库为 Node.js 带来了一种存储原始数据的方法,可以让 Node.js 处理二进制数据,每当需要在 Node.js 中处理I/O操作中移动的数据时,就有可能使用 Bu

2020-05-26 14:06:18 515

原创 NodeJS的querystring模块进阶

querystring模块进阶querystring 模块提供了一些实用函数,用于解析与格式化 URL 查询字符串。 使用以下方法引入:const querystring = require('querystring'); querystring.escape(str)编码str对给定的 str 进行 URL 编码。该方法是提供给 querystring.stringify() 使用的,通常不直接使用。 它之所以对外开放,是为了在需要时可以通过给 querystring.escape 赋

2020-05-26 14:04:31 460

原创 NodeJS的PATH模块进阶

PATH模块进阶Windows 与 POSIXpath 模块的默认操作会根据 Node.js 应用程序运行的操作系统的不同而变化。 比如,当运行在 Windows 操作系统上时,path 模块会认为使用的是 Windows 风格的路径。例如,对 Windows 文件路径 C:\temp\myfile.html 使用 path.basename() 函数,运行在 POSIX 上与运行在 Windows 上会产生不同的结果:在 POSIX 上:path.basename('C:\\temp\\myfi

2020-05-26 14:00:57 939

原创 NodeJS的URL模块进阶

URL模块进阶一个 URL 字符串是一个结构化的字符串,它包含多个有意义的组成部分。 当被解析时,会返回一个 URL 对象,它包含每个组成部分作为属性。url模块提供了两套API来处理URLs:一个是Node.js遗留的特有的API,另一个则是通常使用在web浏览器中 实现了WHATWG URL Standard的API.WHATWG (Web Hypertext Application Technology Working Group - 网页超文本应用技术工作小组) API 浏览器厂商和标准组织

2020-05-26 13:54:00 627

原创 NodeJS的Http报文浅析

HTTP请求行、请求头、请求体浅析HTTP请求报文解剖HTTP请求报文由3部分组成(请求行+请求头+请求体):下面是一个实际的请求报文:①是请求方法,GET和POST是最常见的HTTP方法,除此以外还包括DELETE、HEAD、OPTIONS、PUT、TRACE。不过,当前的大多数浏览器只支持GET和POST。②为请求对应的URL地址,它和报文头的Host属性组成完整的请求URL。③是协议名称及版本号。④是HTTP的报文头,报文头包含若干个属性,格式为“属性名:属性值”,服务端据此获取客户

2020-05-26 13:50:11 680

原创 NodeJS的Http服务端模块进阶

HTTP模块http模块是用来创建http连接的,它具有少量的属性和方法,但是通过http模块操作得到的各种实例化对象却十分的复杂。HTTP模块对象的属性http.METHODS :返回解析器支持的 HTTP 方法的列表。http.STATUS_CODES :返回标准的 HTTP 响应状态码的集合,以及各自的简短描述。HTTP模块对象的 createServer 方法该方法用来创建一个服务端实例化对象语法 :http.createServer([requestListener])reques

2020-05-26 13:45:21 514

原创 NodeJS的FS内置模块

FS模块1. fs模块简介:文件 I/O 是由简单封装的标准 POSIX 函数提供。 通过 require(‘fs’) 使用该模块。 所有的方法都有异步和同步的形式。异步方法的最后一个参数都是一个回调函数。 传给回调函数的参数取决于具体方法,但回调函数的第一个参数都会保留给异常。如果操作成功完成,则第一个参数会是 null 或 undefined。当使用同步方法时,任何异常都会被立即抛出。 可以使用 try/catch 来处理异常。2. 常用fs模块方法:fs.accessfs.access

2020-05-26 13:40:48 490

原创 NodeJS的path内置模块

PATH模块常用方法:path.parse(path)把一个资源请求地址转化为一个对象n 返回的对象有以下属性:n http://www.baidu.com/js/js/mian.jsl dir路径 /js/js/l root 根目录 /l base 指定文件 main.jsl name 指定文件名 mainl ext 指定文件扩展名 .jspath.dirname(path) 方法返回一个path的目录名path.basename(path[,ext

2020-05-26 13:39:03 494

原创 NodeJS的url内置模块

URL模块常用方法:url.parse(urlString[,parseQueryString])urlString <string> 要解析的 URL 字符串。parseQueryString<boolean> 如果为 true,则 query 属性总会通过 querystring 模块的 parse() 方法生成一个对象。 如果为 false,则返回的 URL 对象上的 query 属性会是一个未解析、未解码的字符串。 默认为 false。url对象的属性:ho

2020-05-26 13:37:24 580

原创 NodeJS的HTTP内置模块

HTTP模块常用方法:http.createServer([requestListener])创建一个Web服务器requestListener <Function>该回调函数中包含两个参数,一个是request请求对象,一个是response响应对象。该函数返回一个http.server对象。server.listen([port][,hostname])监听Web服务器request.url获取路由请求地址response.writeHead(statusCode[,st

2020-05-26 11:49:31 1245

原创 NodeJS的模块系统优先级

NodeJS的模块系统优先级1.当模块标识具 `'/','./','../'`路径标识符,且具有明确扩展名时,那么模块的引入十分地严格;2.当模块标识具 '/','./','../' 路径标识符,但却不具有明确扩展名时,那么会优先依次查找扩展名为 '.js'、'.json'、'.node' 的文件,最后查找是否拥有对应模块标识符的文件夹,然后引入该包中的入口文件,默认为 index.js ;3.当模块不具有 '/','./','../' 路径标识符,但却拥有明确的扩展名时,那么将会引入 node_m

2020-05-26 11:41:45 662

原创 NodeJS的npm包管理器

npm 是什么?npm 为你和你的团队打开了连接整个 JavaScript 天才世界的一扇大门。它是世界上最大的软件注册表,每星期大约有 30 亿次的下载量,包含超过 600000 个 包(package) (即,代码模块)。来自各大洲的开源软件开发者使用 npm 互相分享和借鉴。包的结构使您能够轻松跟踪依赖项和版本。如何安装本地包有两种方式用来安装 npm 包:本地安装和全局安装。至于选择哪种方式来安装,取决于我们如何使用这个包。如果你自己的模块依赖于某个包,并通过 Node.js 的 req

2020-05-26 11:38:30 459

原创 NodeJS的module(模块系统)

Node.js 有一个简单的模块加载系统。 在 Node.js 中,文件和模块是一一对应的(每个文件被视为一个独立的模块)。例子,假设有一个名为 foo.js 的文件:const circle = require('./circle.js');console.log(`半径为 4 的圆的面积是 ${circle.area(4)}`); 在第一行中,foo.js 加载了同一目录下的 circle.js 模块。circle.js 文件的内容为:const { PI } = Math; exp

2020-05-26 11:34:08 2543

原创 Node.js的程序:Hello World!

第一个Node.js程序:Hello World!前端之Node简介脚本模式以下是我们的第一个Node.js程序:console.log("Hello World");保存该文件,文件名为 helloworld.js, 并通过 node命令来执行:node helloworld.js程序执行后,正常的话,就会在终端输出 Hello World。交互模式打开终端,键入node进入命令交互模式,可以输入一条代码语句后立即执行并显示结果,例如:$ node> console.l

2020-05-26 11:32:09 1380

原创 前端之Node简介

Node简介1. 为什么选择JavaScript?Ryan Dahl是一名资深的C/C++程序员,在创造出Node之前,他的主要工作都是围绕高性能Web服务器进行的。经历过一些尝试和失败之后,他找到了设计高性能,Web服务器的几个要点:事件驱动、非阻塞I/O。所以Ryan Dahl最初的目标是写一个基于事件驱动、非阻塞I/O的Web服务器,以达到更高的性能,提供Apache等服务器之外的选择。他提到,大多数人不设计一种更简单和更有效率的程序的主要原因是他们用到了阻塞I/O的库。写作Node的时候,R

2020-05-26 11:28:56 1890

原创 常用HTTP响应头和请求头信息对照表

常用HTTP响应头和请求头信息对照表HTTP Request Header 请求头Header解释示例Accept指定客户端能够接收的内容类型Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8Accept-Charset浏览器可以接受的字符编码集。Accept-Charset: iso-8859-5Accept-Encoding指定浏览器可以支持的web服务器返回内容压缩编

2020-05-26 11:20:13 735

原创 NodeJS对象Excel的操作

NodeJS对象Excel的操作读取Excel插入到数据库NodeJS通过node-xlsx来操作我们的数据库,在操作数据库的过程当中,我们可以把一些常用的方法封装起来,来进行一些简便化的操作在封装的过程当哪,一定要遵守相关的规范遵守代表注释的规范最常规的注释方法使用JSDoc文档注释高类聚,低耦合的方案/** * @author 张三 * @name Excel帮助类,提供Excel导入到数据库 * @version 1.0 * @requires DBHelper

2020-05-22 17:43:19 1612

原创 NodeJS之Express基础

Express基础Express它是一个NodeJS平台下面的框架,主要用于构于Web服务器项目,它是一个第三方的模块,我们可以直接通过包管理工具下载就可以了安装过程npm安装过程$ npm install express --savecnpm安装过程$ cnpm install express --save在上面的安装过程里面,我们的npm使用的是国外的服务器进行安装,而我们的cnpm则使用了内淘宝服务器进行安装npm/cnpm每 次安装都是从服务器上面下载,这样极大的浪费发我们的资

2020-05-22 17:28:19 5695

原创 NodeJS常用插件

NodeJS常用插件node-xlsx对Excel的读与写excel的导入导出是很多系统当中都会出现的问题,在NodeJS当中,也不例外,现在,我们就通过NodeJS来实现Excel文件的读写NodeJS里面,实现文件的读与写,我们使用的是第三方的工具node-xlsx这个模块,这个模块同时支持2003的Excel(.xls)格式与支持2007的Excel的格式(.xlsx)现在,我们就看一下这个模块的具体操作对Excel的读取操作首先,我们需要安装这个模块cnpm install no

2020-05-22 15:14:06 993

原创 Mysql数据库DML语句练习

Mysql数据库DML语句练习数据库自增长auto_increment说明:要满足自增长,这个字段必须是一个主键,并且必须是整数类型 int long,如果设置了自动增长,那么,在插入数据到这张表里面的时候,就可以不需要手动的去设置这一列的值,它会自动填充增长,增长的值的大小以上次出现的最大值为准,然后+1,同时,我们也可以手动的去设置它的值,并且,这个值可以回填。查询一共有多少学生select count(*) from studentinfo-- 在这个地方,有必要说明一点

2020-05-22 15:01:06 272

原创 前端接触的MySql基础教程

MySql基础教程SQL语句的分类Sql语句是专门用来操作数据库的一种语言,我们之前在学习WebSql的时候,简单的了解过Sql语句,但是这些Sql语句,它还有一个分类DDL类型SQL语句(Database Define Language)数据库定义语言,Create ,Drop,Alter,Change,Modify等关键字DDL语句只有数据库当中的结构有关系,不与数据库当中的数据有关系(不操作数据库当中的数据,只操作数据库的结构)DML类型SQL语句(Database Manipul

2020-05-22 14:57:12 211

原创 JS与CSS结合

JS与CSS结合clientWidth/clientHeightclientWidth=width+paddingoffsetWidth/offsetHeightoffsetWidth=width+padding+borderDOM中的style属性这个style属性主要是用于JS去控制DOM元素的行内样式,请一定要记得是行内样式如果一个DOM元素想要获取当前的style行内样式,则可以直接调用style属性,它返回的是一个CssStyleDeclaration这个对象,这个对象里

2020-05-22 14:51:43 927

原创 NodeJS操作MySql数据库

NodeJs基础在NodeJS里面,NodeJS提供了一些基础的模块,供我们直接导入使用NodeJS操作MySql数据库NodeJS没有提供直接操作数据库的方法,它需要使用第三方的工具去完在这个操作,这个工具我们可以使用包管理管理工具(NPM)去获得创建项目在NodeJS项目里面,必然会有一个package.json的文件用来描述当前项目的相关信息,这个文件是通过npm init来生成的,它记录了当前项目的版本,名称,描述等相关信息,最重要的是它记录了当前项目的引用模块信息导入相关模块因为No

2020-05-22 14:30:08 332

原创 前端的面向对象程序设计

面向对象程序设计在程序员的眼里,万事万物皆对象(C语言排除在外),在JS当中,任何类型的数据,我们都可以看成对象,但并不是真正的对象类型在我们平常的生活当中,我们看看到的人,动物,汽车等等物体,这些都是对象,只要是物体,它是一个对象,则必然会具备以下几种特殊对象具备属性对象具备方法对象可以继承在JS当中,对象用object来表示如何创建一个对象使用键值对来创建对象本质上面就是封装一个对象,封装一个对象使用的就是{}语法格式var 对象名={ 属性名1:属性值1, 属

2020-05-22 14:24:02 513

转载 服务器ubuntu安装docker-compose及出现的问题

docker-compose 安装及出现的问题安装Linux 上我们可以从 Github 上下载它的二进制包来使用,最新发行的版本地址:https://github.com/docker/compose/releases。运行以下命令以下载 Docker Compose 的当前稳定版本:$ sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(un

2020-05-20 17:24:45 1185

原创 Docker报错denied: requested access to the resource is denied

背景:由于个人的服务器要到期,想将服务器上面的Docker镜像上传至Docker。我已经先登录了Docker,命令:sudo docker login此处输入自己的username和password,是Docker上的账户密码接下来键入:此处的 demoapp是 REPOSITORY,v0.2是TAGsudo docker push demoapp:v0.2便出现如下错误:The push refers to repository [docker.io/library/demoapp]

2020-05-19 11:00:17 1418

原创 ES6引入的数据类型Symbol

概述ES5 的对象属性名都是字符串,这容易造成属性名的冲突。比如,你使用了一个他人提供的对象,但又想为这个对象添加新的方法(mixin 模式),新方法的名字就有可能与现有方法产生冲突。如果有一种机制,保证每个属性的名字都是独一无二的就好了,这样就从根本上防止属性名的冲突。这就是 ES6 引入Symbol的原因。ES6 引入了一种新的原始数据类型Symbol,表示独一无二的值。它是 JavaScript 语言的第七种数据类型,前六种是:undefined、null、布尔值(Boolean)、字符串(Str

2020-05-12 16:37:27 191

原创 MariaDB用户与权限管理

查看用户select user(or *) from mysql.user;创建用户通过create 命令创建用户:create user 'newuser'@'localhost' identified by '123456';通过grant命令创建用户:grant all privileges on *.* to username@localhost identified by 'password';删除用户使用drop命令来删除用户:drop user user_name1,u

2020-05-12 15:05:20 467

原创 MariaDB导出与导入

导出mysqldump -uroot -p renwole > /home/renwole.sql回车后输入用户密码,导出成功,文件在home下。注意:如果只导出表结构,在-p后面加上-d即可。导入导入数据库有2种解决方案。方案一MariaDB [(none)]> create database renwole; //建立空数据库名MariaDB [(none)]> use renwole; //选择数据库MariaDB [(none)]> set names u

2020-05-12 15:04:03 1105

原创 MariaDB相关的约束

NOT NULL非空约束,是否允许该列的值为NULL,这里有一点很重要,很多字段(除了时间?)默认值如果不指定的话都是NULL,所以除了NULL=NULL,其他值并不等于NULL,比如“”、0等。修改一个字段为NOT NULL:MariaDB [mydb]> DESC user;+----------+-------------+------+-----+---------------------+----------------+| Field | Type | Nul

2020-05-12 15:02:39 708

原创 MariaDB正则与条件

正则表达式MariaDB通过REGEXP运算符提供基于正则表达式的匹配。语法:expression REGEXP pattern参数说明:expression:字符表达式,如列或字段。pattern:正则表达式匹配信息。模式可以是以下的组合:编号pattern值描述1^匹配一个字符串的开始。如果与“m”的匹配参数一起使用,则匹配表达式中任何位置的行的开头。2$匹配字符串的结尾。 如果与“m”的匹配参数一起使用,则匹配表达式中任何位置的行的末尾。3

2020-05-12 15:01:13 322

原创 MariaDB操作符

比较操作符在WHERE子句中使用比较运算符来确定要选择的记录。以下是可以在MariaDB中使用的比较运算符的列表:编号比较运算符描述示例1=比较等于select * from students where id=1002<=>比较等于(安全比较NULL值)select * from students where student_name<=>'Maxsu'3<>比较不等于select * from students

2020-05-12 14:59:52 283

原创 MariaDB连接的相关操作

内连接连接用于从多个表中检索数据。当有两个或两个以上的表时,则需要使用连接实现。MariaDB中有三种类型的连接:INNER JOIN (也称为SIMPLE JOIN)LEFT OUTER JOIN (也称为LEFT JOIN)RIGHT OUTER JOIN (也称为RIGHT JOIN)MariaDB INNER JOINMariaDB INNER JOIN是最常见的连接类型,它返回连接条件满足的多个表中的所有行。语法:SELECT columns FROM table1

2020-05-12 14:54:49 429

原创 MariaDB聚合函数

聚合函数COUNT函数COUNT()函数用于返回表达式的计数/行数。语法:SELECT COUNT(aggregate_expression) FROM tables [WHERE conditions];注:COUNT()函数只计算NOT NULL值。COUNT()函数与Distinct子句:SELECT COUNT(DISTINCT student_name) AS "Number of Unique names" FROM Students WHERE studen

2020-05-12 14:51:13 343

取色器与快捷截图工具.zip

桌面取色器,方便快捷取色RGB编码,鼠标选中后Alt+C录入RGB颜色 桌面快捷截图,便于保存至文件夹,方便素材采集截图支持png,jpg,操作简便

2020-05-12

electron-v8.2.1-win32-x64.zip

如果使用electron-packager打包方法,会有可能出现无法下载electron-v8.2.1-win32-x64.zip文件压缩包,毕竟是npm,再就是在国外,所以会出现下载失败,需要自己去下载压缩包,然后把压缩包(还有个一起的SHASUMS256.txt,此处txt文件小,可以下载)拷贝到C盘目录下的electron\Cache下面(此处建议用Everthing软件搜索找到指定的文件夹),

2020-04-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除