我的作品
更多
Land 主题
Land 主题
一个 WordPress 企业主题
River 主题
River 主题
一个 WordPress 博客主题
Flame 插件
Flame 插件
WordPress 插件,增强 RESTful API 功能
AIBOT 插件
AIBOT 插件
一款 AI 插件,协助创作。自动批量生成和发布文章。
Light 主题
Light 主题
Flame 插件的配套主题
最新文章
物理像素: 顾名思义,就是设备屏幕上的实际像素。也就是说这个手机被出厂造出来的时候,这个屏幕上有多少个像素点,他的物理像素就是多少; 设备独立像素: 也叫做逻辑像素(对于前端来说,和我们的css像素是一样的),这个不同的设备是不一样的。在viewport为ideal-viewport模式时, 如iphone6此时的viewport为375px,代表着我们在css中写375px就可以达到全屏的效果;在移动端中会使用rem方案,来做不同设备间的适配:(function () { function changeRootFont() { var designWidth = 750, rem2p
admin 2019-11-26 CSS 965
作用:将一个数组转为用逗号分隔的参数序列。//该运算符主要用于函数调用。function push(array, ...items) { array.push(...items);} function add(x, y) { return x + y;} var numbers = [4, 38];add(...numbers) // 42//扩展运算符取代apply方法的一个实际的例子,应用Math.max方法,简化求出一个数组最大元素的写法。// ES5 的写法Math.max.apply(null, [14, 3, 77]) // ES6 的写法Math.max(...[14, 3, 7
admin 2019-11-16 JavaScript 921
body canvas id="canvas" width="120" height="30" style="cursor: pointer" /canvas input type="text" id="code" placeholder="不区分大小写" input type="button" value="验证" onclick="clickEvent()" /body /html script var numArr = [] var canvas = document.querySelector('#canvas');
admin 2019-11-16 JavaScript 881
css :not()排除函数css:not()函数用来排除选择,not(x),其中的x为css选择器,但是x不能是not选择器,也就是说:not()排除选择器不能嵌套使用。css:not()排除选择器使用.sibcont{ background:#f1f1f1; border:1px solid #bababa; margin:20px; padding:20px; } .sibcont ul{ margin:0; padding:0; list-style:none; } .sibcont ul li{ color:#C91010;
admin 2019-11-16 CSS 896
最近探究js原理的过程中遇到了这个挺有趣的问题。先贴代码:var a = {n:1}a.x = a = {n:2}alert(a.x) //undefined在弄懂这个之前,我们先普及一个知识点,就是在javascript运算符中,属性运算符的优先级高于赋值运算符的优先级。因此,a.x是先于赋值之前就进行的。就是说,a.x刚开始是undefined的,这是没错的。接下来我们探究一下连等赋值的赋值顺序:1、从左往右a.x赋值为{n:2};然后a赋值为{n:2};a的重新指向重写了a.x,即.x属性不存在,因此a.x输出为undefined。2、从右往左a赋值为{n:2};直接限制了a.x的赋值,
admin 2019-11-16 JavaScript 817
在文件上传的时候我们我们选择监控change事件来获取文件,如果第一次如果选择了A文件,当再次点开选择A 文件时,change事件没有触发,这时可以用如下方式处理.1. vue项目处理方式:this.$refs.uploadExcelId.value=null;复制该代码到项目中,并且把uploadExcelId换成自己input的ref即可。2. 普通js处理方式:event.target.value=”;尽量不要用删除dom元素,再添加这种操作方式,因为还需要在做事件绑定比较麻烦。
admin 2019-11-16 JavaScript 793
Scss 和 Sass 的区别scss 是 sass的一个升级版本,完全兼容sass之前的功能,又有了些新增能力。语法形式上有些许不同,最主要的就是sass是靠缩进表示嵌套关系,scss是花括号。比如:/*** sass 代码 ***/ .main width:100px; .top width:100px /*** scss 代码 ***/ .main{ width:100px; .top{ width:100px; } } 编码规则SASS首先会检查代码文件的Unicode BOM(byte order mark),然后是@ch
admin 2019-10-05 CSS 1093
for和forEach的差别是后者不能正常的跳出循环(return、break等),其它的差别不大,把forEach转成for的写法就知道为什么你的for写法可以顺序执行而forEach不能:for:const report = async () = { for (let i = 0, len = arr.length; i len; i++) { await asyncFn(arr[i]); } }; forEach:const report = async () = { arr.forEach(async (item) = {
admin 2019-08-25 JavaScript 818
HLTML5播放HLS流(.m3u8文件) Apache 跨域设置1,使用 mod_headers 添加请求头信息Apache 配置文件中确保加载了以下模块:LoadModule headers_module modules/mod_headers.so 虚拟主机配置文件中,添加Header add Access-Control-Allow-Origin: *这样做以后,提示 m3u8 没有提示禁止跨域了。但是视频切片文件(.ts文件)提示跨域禁止。然后,进行下一步。2,添加crossdomain.xml播放器跨域访问时需要添加策略文件,即在视频播放链接所在域名的根目录下添加 crossdo
admin 2019-08-21 运维 3219
一、简介在HTTP中,基本认证(Basic access authentication)是一种用来允许网页浏览器或其他客户端程序在请求时提供用户名和口令形式的身份凭证的一种登录验证方式。最明显的特征是,Basic Auth 就是在请求的时候在headers中设置 Authorization: "Basic 用户名和密码的base64加密字符串"。JWT Token 认证,建议把 Token 保存在 Authorization Bearer中。二、访问形式1、使用浏览器在使用浏览器访问设置了 HTTP Basic Auth 的服务器时,会弹出对话框,输入用户名和密码即可。2、使用 HTTP Cl
admin 2019-08-18 其他 1603
axios API可以通过向 axios 传递相关配置来创建请求axios(config)// 发送 POST 请求 axios({  method: 'post',  url: '/user/12345',  data: {   firstName: 'Fred',   lastName: 'Flintstone'  } }); // 获取远端图片 axios({  method:'get',  url:'http://bit.ly/2mTM3nY',  responseType:'stream' })  .then(function(response) {
admin 2019-08-15 JavaScript 854
使用PHP下载大文件文件,有时候还需要修改PHP配置。比如:https://javascript.net.cn/article?id=613 有时候下载还会过多的暂用内存。这里可以使用X-sendfile,该下载方法,不经过PHP,文件直接通过 Apache 下载。.htaccess Files out.php XSendFile on /Files out.phpisLoggedIn()) {   header("X-Sendfile: $path_to_somefile");   header("Content-Type: application/octet-stream");
admin 2019-08-10 运维 1076
1,简介ossutil是以命令行方式管理OSS数据的工具,提供方便、简洁、丰富的Bucket和Object管理命令,支持Windows、Linux、 Mac平台。通过ossutil,您可以进行如下操作:管理Bucket,如:创建、列举或删除Bucket等。管理Object,如:上传、下载、列举、拷贝和删除Object等。管理碎片(part),如:列举和删除part等2,相关文档OSS 官方文档 https://help.aliyun.com/product/31815.htmlossutil 文档 https://help.aliyun.com/document_detail/50452.ht
admin 2019-08-08 运维 2833
Redis 官网: http://redis.io微软 Windows 版 Redis: https://github.com/microsoftarchive/redis下载地址: https://github.com/microsoftarchive/redis/releases安装过程1,下载 Redis-x64-3.0.504.zip,解压,加入redis路径到windows环境变量。2,运行 redis-server.exe redis.windows.conf3,将redis加入到windows的服务中(service和loglevel前都是两个-)开机自启动redis-serve
admin 2019-08-06 运维 940
1,令牌桶算法(Token Bucket)令牌桶算法(Token Bucket) 随着时间流逝,系统会按恒定1/QPS时间间隔(如果QPS=100,则间隔是10ms)往桶里加入Token,如果桶已经满了就不再加了。新请求来临时,会各自拿走一个Token,如果没有Token可拿了就阻塞或者拒绝服务。令牌桶的另外一个好处是可以方便的改变速度。 一旦需要提高速率,则按需提高放入桶中的令牌的速率。 一般会定时(比如100毫秒)往桶中增加一定数量的令牌, 有些变种算法则实时的计算应该增加的令牌的数量。2,算法实现对于每个 Bucket 设置一个定时器,而一个定时器就是一条线程。那么在你的服务器上,光是分
admin 2019-08-06 其他 1214
General 通用信息Request URL:详细地址   如域名,参数传值等信息。Request Method: 请求方式 如:get,post,head,put,delete optionsStatus Code : 返回的状态码 如:200,400,403,500等等Remote Address 请求远程ip 地址Referrer Policy:1、no-referrer-when-downgrade(默认值) 在没有指定任何策略的情况下用户代理的默认行为,在同等安全级别的情况下,引用页面的地址会被发送(HTTPS->HTTPS),但是在降级的情况下不会被发送(HTTPS->HTTP)
admin 2019-07-31 其他 993
一,推荐方法下单渠道1位+支付渠道1位+业务类型1位+时间信息4位+下单时间的Unix时间戳后8位(加上随机码随机后的数字)+用户user id后4位。然后你会说,这样算下来就订单号就19位了啊,一点都不精简啊,不好记不好念不好输的。但我说的上面的这些业务标记,你不一定要全部加上啊。你看淘宝/天猫那么大的订单量,16位订单号就搞定了。细心的网友已经发现了,订单号的后4位是取自用户user id的后四位,前12位中有10位可能是由Unix时间戳加随机规则生成的。二,从用户体验和数据库优化的角度来看1.利用数据库主键值产生一个自增长的订单号(订单号即数据表的主键)2.日期+自增长数字的订单号(比如
admin 2019-07-27 其他 2091
1, 指定了AUTO_INCREMENT的列必须要建索引,不然会报错,索引可以为主键索引,当然也可以为非主键索引。(不一定要做主键)2, 指定了auto_increment的列,在插入时:如果把一个NULL插入到一个AUTO_INCREMENT数据列里去,MySQL将自动生成下一个序列编号。编号从1开始,并1为基数递增。3,当插入记录时,没有为AUTO_INCREMENT明确指定值,则等同插入NULL值。4,如果插入的值大于已编号的值,则会把该插入到数据列中,并使在下一个编号将从这个新值开始递增。5,对于MyISAM表,如果用UPDATE命令更新自增列,如果列值与已有的值重复,则会出错。如果
admin 2019-07-26 MySQL 841
Transaction是Sequelize中用于实现事务功能的子类,通过调用Sequelize.transaction()方法可以创建一个该类的实例。在Sequelize中,支持自动提交/回滚,也可以支持用户手动提交/回滚。1. 事务的使用Sequelize有两种使用事务的方式:基于Promise结果链的自动提交/回滚另一种是不自动提交和回滚,而由用户控制事务 1.1 受管理的事务(auto-callback)受管理的事务会自动提交或回滚,你可以向sequelize.transaction方法传递一个回调函数来启动一个事务。需要注意,在这种方式下传递给回调函数的transaction会返回一个
admin 2019-07-17 Node.js 1824
一般不要使用保留关键字。如果使用了保留关键字,将关键字前后加" ` " 可以解决问题。 MySQL允许部分关键字用做未引起来的识别符,因为许多人以前曾使用过它们。下面列出了一些例子: ACTION,BIT,DATE,ENUM,NO,TEXT,TIME,TIMESTAMP MySQL保留关键字如下: ADD ALL ALTER ANALYZE AND AS ASC ASENSITIVE BEFORE BETWEEN BIGINT BINARY BLOB
admin 2019-07-17 MySQL 767
随机推荐
使用 MySQL 线程池对压力测试的影响
WordPress 发送邮件
WordPress 分页
WordPress 函数 add_option()、get_option() 和 update_option()
MySQL 批量插入数据时如何解决重复问题
WordPress 评论表单函数 comment_form()
WordPress 密码生成和密码验证
SQL 注入的生命力