最新文章
JavaScript中的数据类型自动转换时,空数组[]或空对象{}都的布尔类型不是false,而是 true当JavaScript遇到预期为布尔值的地方(比如if语句的条件部分),就会将非布尔值的参数自动转换为布尔值。系统内部会自动调用Boolean函数。因此除了以下六个值,其他都是自动转为true:undefinednull-00或+0NaN''(空字符串)
admin 2022-11-04 660
CSS
&::-webkit-scrollbar { width: 5px; height: 8px; background-color: #aaa; /* or add it to the track */ } &::-webkit-scrollbar-thumb { background: #000; } 主要文档:https://developer.mozilla.org/zh-CN/docs/Web/CSS/::-webkit-scrollbar
admin 2022-11-04 707
因为各种现代话框架的流行,SQL 注入的威胁相对已经减少很多。但是在看不见的角落,还是存在SQL注入的威胁。SQL 预处理可以解决绝大部分 SQL 注入问题,但是有些地方不能预处理,或者需要变通的方式处理这些问题。比如表名/列名/排序动态传入的场景,这些地方不能预编译,因此很多人还是直接拼接的,而没有有效过滤。 还有 LIKE语句/IN语句中,因为这两个地方的预编译写法都有些特殊,比如 IN 常常使用 FIND_IN_SET 函数代替。
admin 2022-11-03 702
统计指定某一天的PV数cat cn_net_javascript.access.log | sed -n '/22\/Jul\/2022/p' | wc -l 根据访问IP统计UVawk '{print $1}' cn_net_javascript.access.log | sort -n | uniq | wc -l 查看某一时间段的IP访问量(4-6点)grep "22/Jul/2022:0[4-6]" cn_net_javascript.access.log | awk '{print $1}' | sort | uniq -c| sort -nr | wc -l grep "22/J
admin 2022-11-03 698
### 1,sql_mode 模式介绍如果设置的是宽松模式,那么我们在插入数据的时候,即便是给了一个错误的数据,也可能会被接受,并且不报错。严格模式的话,就会报错。例子1:表中一个字段类型是char(10),如果插入该字段的数据的长度超过了10,例如'1234567890abc',那么并不会报错,实际上存入该字段的数据时'1234567890'。例子2:表中一个字段类型时 INT,如果插入数据不是整型数据,而是一个字符串,比如:'120abc',实际存入数据是‘120’。如果插入数据是‘abc’、‘abc120’或者‘’,实际存入数据是‘0’。实际存入数据是字符串强制转换成integer 后的
admin 2022-10-11 819
什么接口幂等性幂等性原本是数学中的含义,表达式的是N次变换与1次变换的结果相同。RESTFul API 中的幂等性是指调用某个方法1次或N次对资源产生的影响结果都是相同的。比如,RESTFul API 中的 GET 方法是查询资源,不会对资源产生影响,所以它是符合幂等性的;再比如,RESTful API 中的 DELETE 方法是查询数据,每次都应该返回 status=204。接口符合幂等性有什么用处接口的幂等性确保了无论调用1次还是N次对资源的影响都是相同的,这在某些场合下是非常有用的。举例:一个订单,多次执行支付接口,只应该付一次钱。HTTP方法的幂等性与安全性RESTful 设计本质上使
admin 2022-10-09 RESTful API 678
下列 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
admin 2022-09-18 520
MySQL 使用用 insert 插入数据时,为了不重复插入,往往先查询一下数据,若不存在才进行插入操作。当数据库中存量数据较多时,或者是在批量插入操作时,很容易出现插入重复数据的问题。解决方法:在 MySQL 中,当存在主键冲突或唯一键冲突的情况下,根据插入策略不同,有以下三种避免方法:insert ignore into:若没有则插入,若存在则忽略replace into:若没有则正常插入,若存在则先删除后插入insert into ... on duplicate key update:若没有则正常插入,若存在则更新注意,使用以上方法,需要表中有一个 PRIMARY KEY 或 UNIQ
admin 2022-09-17 681
MySQL连接池,通过将大量短连接转化为少量的长连接,从而提高整个系统的吞吐率。一般 ORM 都会对连接池进行封装,只提供简洁的接口供上层使用。在上层看来,并不知道底层是否使用了连接池(甚至连访问数据库的IP和Port都不知道),只知道调用了一个接口,执行了指定的SQL语句,并返回执行状态和执行结果。在使用 conn = pool.getConnection() 获取一个链接,然后执行事务的过程中,执行了一次 pool.execute(sql),程序就甭了,原因是 pool.execute(),会自动获取连接池中的链接,执行完 sql 以后,就会立即释放。在 conn.release() 之前
admin 2022-09-16 432
### 一、外键、外键作用及其限制条件1.外键的定义:外键是某个表中的一列,它包含在另一个表的主键中。外键也是索引的一种,是通过一张表中的一列指向另一张表中的主键,来对两张表进行关联。一张表可以有一个外键,也可以存在多个外键,与多张表进行关联。2.外键的作用:外键的主要作用是保证数据的一致性和完整性,并且减少数据冗余。主要体现在以下两个方面:阻止执行:从表插入新行,其外键值不是主表的主键值便阻止插入。从表修改外键值,新值不是主表的主键值便阻止修改。主表删除行,其主键值在从表里存在便阻止删除(要想删除,必须先删除从表的相关行)。主表修改主键值,旧值在从表里存在便阻止修改(要想修改,必须先删除从表
admin 2022-09-15 474
使用 MySQL 线程池对压力测试的影响,下面使用两个文件,分别测试一下。代码:test1.js 使用了 MySQL 线程池:export async function test1(ctx) { let pool = dbUtil.getPool(); let connection = await pool.getConnection(); let [rows] = await connection.query('select * from tb_user limit 10'); connection.release(); } test2.js 未使用 MySQL 线程池:export
admin 2022-08-27 848
### 安装 Node.js从官网下载最新版本wget https://npmmirror.com/mirrors/node/v18.4.0/node-v18.4.0-linux-x64.tar.xztar -xvf node-v18.4.0-linux-x64.tar.xzmv node-v18.4.0-linux-x64 /usr/local/nodejs建立软连接,变为全局ln -s /usr/local/nodejs/bin/npm /usr/local/bin/ ln -s /usr/local/nodejs/bin/node /usr/local/bin/wget https://
admin 2022-08-23 Linux 835
### 安装 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
admin 2022-08-23 Linux 728
### apt 安装 php 参考:http://www.tomato.cm/1195.html### 环境准备apt update apt install build-essential apt-get install \ libxml2-dev \ libssl-dev \ libbz2-dev \ libjpeg-dev \ libpng-dev \ libxpm-dev \ libgmp-dev \ libgmp3-dev \ libmcrypt-dev \ libpspell-dev \ librecode-dev \ libcurl4-gnutls-dev \ libgmp-de
admin 2022-08-13 Linux 772
### ssh连接远程服务器自动断开解决修改 debian 的 /etc/ssh/sshd_configClientAliveInterval 30 # 每隔多少秒,服务器端向客户端发送心跳ClientAliveCountMax 6 # 多少次心跳无响应之后,会认为Client已经断开systemctl reload 重新加载一下配置systemctl status sshd.service 查看状态systemctl start sshd.service 开启服务systemctl restart sshd.service 重启服务systemctl enable sshd.service
admin 2022-08-13 Linux 738
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
admin 2022-07-23 866
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
admin 2022-07-11 546
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
admin 2022-07-02 618
location /img/ { alias /var/www/image/; } 若按照上述配置的话,则访问/img/目录里面的文件时,ningx会自动去/var/www/image/目录找文件
admin 2022-07-02 nginx 777
Linux 下 configure、make 、make test/make check、sudo make install 的作用这些都是典型的使用GNU的AUTOCONF和AUTOMAKE产生的程序的安装步骤configure这个是用来检测你的安装平台的目标特征的。比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本这一步一般用来生成 Makefile,为下一步的编译做准备,你可以通过在 configure 后加上参数来对安装进行控制,比如:./configure --prefix=/usr上面的意思是将该软件安装在 /usr 下面执行文件就会安装在 /usr/
admin 2022-06-28 Linux 562
Jone
在什么样的花园里面,挖呀挖呀挖
种什么样的种子,开什么样的花
随机推荐
CSS 媒体特性 prefers-color-scheme
Debian11 安装笔记4:安装常用软件
JavaScript 检查 Date 是否为 Invalid Date
MySQL 的 sql_mode 模式介绍:为什么 MySQL 中 int,float,double 类型字段插入空字符时自动转为0
curl 的用法指南
JavaScript console 的用法
Node.js 控制台进度条实现原理
JavaScript 中 0.1 加 0.2 不等于 0.3 的原因和解决方法
MySQL的外键总结
Nginx 使用 Njs 授权访问文件

微信联系我

夜间模式切换
回到顶部