一般来说,栈和堆的分配是指 C 或 C++ 编译的程序,写JS的根不关心这个层面上的问题。由于JS脚本引擎是一种由 C 或 C++ 开发的“应用”,而且这种脚本“应用”并不再经过 C/C++ 编译器编译,所以这种“应用”内变量所处位置并不好说。JavaScript 有两种数据类型基本数据类型(存放在栈中): Number、String、Boolean、Null、Undefined。引用数据类型(存在堆内存):Object、Array、Function、RegExp、Date。浅复制与深复制只存在于引用数据类型当中。堆和栈的区别其实深拷贝和浅拷贝的主要区别就在于其内存中的存储类型不同。堆和栈都是
野猪佩奇 2015-09-12 JavaScript 815
下面看看从网上搜集来的几种添加Mysql用户远程访问权限的方法MySQL上的一个数据库要备份,装了个MySQL的gui工具。打开"MySQL Administrator"工具,填好用户名和密码却登录不了,总是报这个错“ERROR 1130: Host 'lijuan-' is not allowed to connect to this MySQL server”。网上查了下,有这两个方法解决:修改远程访问权限1,改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的
野猪佩奇 2015-08-26 MySQL 893
安装npm install apidoc -g 配置文件在运行命令的为止增加一个 apidoc.json 文件。{ "name": "RESTful API 文档", "version": "3.1.0", "description": "这是 RESTful API 文档的描述", "title": "RESTful API 文档的标题", "url": "http://127.0.0.1:8089", "template": { "forceLanguage": "zh_cn", "withCompare": true,
野猪佩奇 2015-08-06 Node.js 984
1. 加密方法可以分为两大类。一类是单钥加密(private key cryptography),还有一类叫做双钥加密(public key cryptography)。前者的加密和解密过程都用同一套密码,后者的加密和解密过程用的是两套密码。历史上,人类传统的加密方法都是前一种,比如二战期间德军用的Enigma电报密码。莫尔斯电码也可以看作是一种私钥加密方法。2. 在单钥加密的情况下,密钥只有一把,所以密钥的保存变得很重要。一旦密钥泄漏,密码也就被破解。3. 在双钥加密的情况下,密钥有两把,一把是公开的公钥,还有一把是不公开的私钥。双钥加密的原理如下:a) 公钥和私钥是一一对应的关系,有一把公
野猪佩奇 2015-07-31 开发技巧 997
在数据库中,UNION和UNION ALL关键字都是将两个结果集合并为一个,但这两者从使用和效率上来说都有所不同。MySQL中的UNIONUNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。实际大部分应用中是不会产生重复的记录,最常见的是过程表与历史表UNION。如:select * from gc_dfys union select * from ls_jg_dfys这个SQL在运行时先取出两个表的结果,再用排序空间进行排序删除重复的记录,最后返回结果集,如果表数据量大的话可能会导致用磁盘进行排序。 MySQL中的UNION A
野猪佩奇 2015-06-09 MySQL 807
ASCII ((American Standard Code for Information Interchange): 美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。ASCII第一次以规范标准的类型发表是在1967年,最后一次更新则是在1986年,到目前为止共定义了128个字符。ASCII 码使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符。“基础ASCII码” 使用7 位二进制数(剩下的1位二进制为0)来表示所有的大写和小写字母,数字0 到9、标点符号,以及在美式英语中使用的特殊控制字符。“扩展ASCII” 使用8 位二
野猪佩奇 2015-05-26 开发技巧 915
作者: 阮一峰日期: 2007年10月28日今天中午,我突然想搞清楚 Unicode 和 UTF-8 之间的关系,就开始查资料。这个问题比我想象的复杂,午饭后一直看到晚上9点,才算初步搞清楚。下面就是我的笔记,主要用来整理自己的思路。我尽量写得通俗易懂,希望能对其他朋友有用。毕竟,字符编码是计算机技术的基石,想要熟练使用计算机,就必须懂得一点字符编码的知识。一、ASCII 码我们知道,计算机内部,所有信息最终都是一个二进制值。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每
野猪佩奇 2015-05-21 开发技巧 928
### 1,sql_mode 模式介绍如果设置的是宽松模式,那么我们在插入数据的时候,即便是给了一个错误的数据,也可能会被接受,并且不报错。严格模式的话,就会报错。例子1:表中一个字段类型是char(10),如果插入该字段的数据的长度超过了10,例如'1234567890abc',那么并不会报错,实际上存入该字段的数据时'1234567890'。例子2:表中一个字段类型时 INT,如果插入数据不是整型数据,而是一个字符串,比如:'120abc',实际存入数据是‘120’。如果插入数据是‘abc’、‘abc120’或者‘’,实际存入数据是‘0’。实际存入数据是字符串强制转换成integer 后的
野猪佩奇 2022-10-11 MySQL 1184
什么接口幂等性幂等性原本是数学中的含义,表达式的是N次变换与1次变换的结果相同。RESTFul API 中的幂等性是指调用某个方法1次或N次对资源产生的影响结果都是相同的。比如,RESTFul API 中的 GET 方法是查询资源,不会对资源产生影响,所以它是符合幂等性的;再比如,RESTful API 中的 DELETE 方法是查询数据,每次都应该返回 status=204。接口符合幂等性有什么用处接口的幂等性确保了无论调用1次还是N次对资源的影响都是相同的,这在某些场合下是非常有用的。举例:一个订单,多次执行支付接口,只应该付一次钱。HTTP方法的幂等性与安全性RESTful 设计本质上使
野猪佩奇 2022-10-09 Node.js 工具建站 1109
下列 sql 语句,执行预处理:let sql = `SELECT * FROM ? LIMIT 1`; let res = db.execute(sql,['tb_log']); 会出错,原因是预处理后的语句会变成:SELECT * FROM 'tb_log' LIMIT 1 如果是存储过程,可以让表名等于一个变量:create PROCEDURE test(tableName varchar(20)) BEGIN set @tableName = CONCAT(tableName); set @sqlStr = CONCAT('show create table ', @table
野猪佩奇 2022-09-18 MySQL 861
MySQL 使用用 insert 插入数据时,为了不重复插入,往往先查询一下数据,若不存在才进行插入操作。当数据库中存量数据较多时,或者是在批量插入操作时,很容易出现插入重复数据的问题。解决方法:在 MySQL 中,当存在主键冲突或唯一键冲突的情况下,根据插入策略不同,有以下三种避免方法:insert ignore into:若没有则插入,若存在则忽略replace into:若没有则正常插入,若存在则先删除后插入insert into ... on duplicate key update:若没有则正常插入,若存在则更新注意,使用以上方法,需要表中有一个 PRIMARY KEY 或 UNIQ
野猪佩奇 2022-09-17 MySQL 1131
MySQL连接池,通过将大量短连接转化为少量的长连接,从而提高整个系统的吞吐率。一般 ORM 都会对连接池进行封装,只提供简洁的接口供上层使用。在上层看来,并不知道底层是否使用了连接池(甚至连访问数据库的IP和Port都不知道),只知道调用了一个接口,执行了指定的SQL语句,并返回执行状态和执行结果。在使用 conn = pool.getConnection() 获取一个链接,然后执行事务的过程中,执行了一次 pool.execute(sql),程序就甭了,原因是 pool.execute(),会自动获取连接池中的链接,执行完 sql 以后,就会立即释放。在 conn.release() 之前
野猪佩奇 2022-09-16 MySQL Node.js 801
### 一、外键、外键作用及其限制条件1.外键的定义:外键是某个表中的一列,它包含在另一个表的主键中。外键也是索引的一种,是通过一张表中的一列指向另一张表中的主键,来对两张表进行关联。一张表可以有一个外键,也可以存在多个外键,与多张表进行关联。2.外键的作用:外键的主要作用是保证数据的一致性和完整性,并且减少数据冗余。主要体现在以下两个方面:阻止执行:从表插入新行,其外键值不是主表的主键值便阻止插入。从表修改外键值,新值不是主表的主键值便阻止修改。主表删除行,其主键值在从表里存在便阻止删除(要想删除,必须先删除从表的相关行)。主表修改主键值,旧值在从表里存在便阻止修改(要想修改,必须先删除从表
野猪佩奇 2022-09-15 MySQL 767
### 安装 MySQLDebian 11 系统中默认使用了MariaDB,在APT的软件源中并没有mysql。所以,Debian 11 如果要安装mysql,需要下载安装Mysql APT Repository,更新APT Repository 后再使用 apt-get 安装。### 设置软件源查看 https://dev.mysql.com/downloads/ 找到 apt 源,mysql-apt-config_0.8.22-1_all.deb 的下载地址。wget https://dev.mysql.com/get/mysql-apt-config_0.8.22-1_all.deb a
野猪佩奇 2022-08-23 MySQL 运维 1567
DATE_FORMAT(date, format)DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据。format 参数的格式有:%a Everyday name in Shortened form [Sun–Sat]. %b Month name in Shortened form [Jan – Dec]. %c Name of Month in numbers [0 – 12]. %D Daytime of the month in a numeric form, trailed by suffix [like 1st, 2nd, …]. %d Daytime of the
野猪佩奇 2022-07-23 MySQL 1241
between...and(推荐)SELECT * FROM tb_code WHERE expired_at BETWEEN '2021-01-01 00:00:00' AND '2021-12-31 23:59:59'; 大小于号SELECT * FROM tb_code WHERE expired_at '2021-01-01 00:00:00' AND expired_at '2021-12-31 23:59:59'; 转换为比较,create_time若加了索引,不走索引SELECT * FROM k_student WHERE UNIX_TIMESTAMP(create_t
野猪佩奇 2022-07-11 MySQL 905
ReferenceError: __dirname is not defined in ES module scopeThis file is being treated as an ES module because it has a '.js' file extension and '/Users/ice/www/next/package.json' contains "type": "module". To treat it as a CommonJS script, rename it to use the '.cjs' file extension.解决办法:import path
野猪佩奇 2022-07-02 Node.js 1134
1 用utf8格式, 需要 双引号“”替换为单引号,而且采用url encode编码,例如# 替换为 %23,background-image: url('data:image/svg+xml;utf8, svg t="1656040038219" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3009" width="200" height="200" path d="M512 234.666667c131.946667 ...67 77.482667
野猪佩奇 2022-06-24 CSS 编程开发 1330
1 console.log在console.log()中,可以用%s设置字符串,%i设置数字,%c设置自定义样式,console.log()接受的两个参数,前者是描述性的语言,而第二个参数是与第一个参数位置对应的字符console.log(' %c %s %s %s', 'color: yellow; background-color: black;', '–', '测试信息', '–');2 console.table()很多的时候,你可能会有一堆对象需要查看。可以用console.log把每一个对象都输出出来,也可以用console.table语句直接把所有的对象都直接输出成为一个表格3
方法一:挂载在原型链上import { createApp } from 'vue' import App from './App.vue' import router from './router' import Axios from 'axios'; const golBalTest = () = { console.log('测试全局挂载'); return '测试全局挂载'; } const app = createApp(App) // 挂载到vue原型上(方法1) app.config.globalProperties.$axios = Axios; app.con
野猪佩奇 2022-06-23 JavaScript 1187
随机推荐
JavaScript DOM 元素增删改
支持 Selector API 的 HTML 解析器 node-html-parser
表驱动方法
WP_Query 函数参数
Node.js readline 模块
JavaScript 触摸事件
Node.js fs 文件系统模块
ReferenceError: __dirname is not defined in ES module scope