自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

原创 中间证书 - Safari Push Notifications

中间证书 safari push notifications

2022-10-26 14:14:32 283 1

原创 构建push package - Safari Push Notifications

Safari createPushPackage.php

2022-10-26 11:54:15 298 1

原创 公众号服务器配置 token验证失败

1. 背景公司测试域名无法外网访问,利用个人服务器做了反向代理,使用个人域名配置公众号服务器域名;2. 经过按照公众号文档完成token验证代码服务器配置不出意外还是出了意外,token验证失败,开始以为不支持做反向代理。但是查询log, 发现服务器接收到了数据,而且接收到的signatrue参数和sha后的值相等,MMP!请教度娘,发现各种解决方法,一一试验,均无效,偶然将验证结果 retrun 改为 echo,结果成功了 ┓( ´∀` )┏3. 后续配置成功后就开始测试啊,不出

2021-11-29 10:49:33 1716 1

原创 小程序上传大文件

目的小程序 API wx.uploadFile 最大上传文件10M,如果需要上传大于 10M 文件,需要分片上传。可以利用小程序组件 miniprogram-file-uploader 上传;步骤引入组件进入小程序根目录,运行:npm initnpm i miniprogram-file-uploader微信开发者工具打开项目,设置本地设置,使用 npm 模块,然后 构建npm构建完成后会自动创建文件夹 miniprogram_npm页面中使用组件import U

2021-07-20 12:10:24 2701 1

原创 webpack开启观察者模式,修改文件没有触发观察者

原因: 没有足够的文件观察者。1.查看文件文件观察者数量 cat /proc/sys/fs/inotify/max_user_watches默认 81922. 设置较大数量echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p查看源文档....

2021-06-17 16:44:04 103

原创 PHP设置带宽限制文件下载速度

目的根据已知的带宽(如后台给用户分配的),限制用户下载速度。方法循环读取固定大小文件。根据每次读取大小和带宽计算出每次循环需要sleep的时间。由于时间较小,使用usleep函数 – 以指定的微秒数延迟执行;CODEheader('Content-Length: ' . $fileSize);header('Content-Type: application/octet-stream');header('Content-Transfer-Encoding: binary');header('

2020-09-29 17:14:20 571

原创 TOTP - 邮箱或手机号验证码生成与验证

TOTPTime-based One-time Password algorithm, 是一种共享密钥和当前时间计算一次性密码的算法。使用目的利用时间戳和邮箱生成一段时间内唯一的验证码。验证时使用用户输入的验证码和一段时间内生成的验证码集合对比,如果在此集合,则证明验证码有效。摆脱使用redis等方式存储和对比验证码。使用class Totp { private $salt = 'salt'; // 盐 private $refreshInterval = 30; //每隔

2020-09-29 16:42:36 1938

原创 箭头函数

一. 箭头函数基础使用1.没有参数函数 () => 123 //等同于 常规函数 function (){ return 123; }2.一个参数函数a => a + a;//等同于 常规函数function(a) { return a + a; }3. 多个参数函数(a, b) => a + b //等同于 常规函数 ...

2019-11-22 17:25:48 142

原创 AngularJS 服务$location详解

$location 是基于window.location的服务;可以获取浏览器地址栏中的URL,也可以修改浏览器地址栏的URL。一. 获取地址栏信息以 http://example.com/app/#/admin/member?x=y 为例1. absUrl()$location.absUrl() :显示完整URLhttp://example.com/app/#/admin/memb...

2019-11-22 14:24:52 482

原创 angular-ui-sortable实现拖拽功能

1. 引入文件bower: bower install -S angular-ui-sortablenpm: npm install -S angular-ui-sortable或直接下载;注意:需要引入jquery-ui;注意加载顺序:<script src="bower_components/jquery/dist/jquery.min.js"></script&...

2019-11-19 17:46:02 465

原创 AngularJS controller控制器间的通信

一. 作用域继承实现通信先看一组代码:<!DOCTYPE HTML><html> <head> <meta charset="utf-8"/> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/> <meta name="viewpo...

2019-11-19 15:59:34 102

原创 Maximum call stack size exceeded

栈溢出;检查代码中是否有死循环;

2019-11-19 15:16:20 107

原创 AngularJS 作用域 scope

一. 概要作用:存储应用数据模型的对象;监听 表达式 的变化并传播事件;特点:基于原型链继承其父作用域属性的机制;特殊情况:创建指令时,scope: {…},指创建隔离作用域;这种情况不会继承父作用域;二. 双向绑定在双向绑定时可能会遇到下面这种情况;<!DOCTYPE HTML><html> <head> <meta cha...

2019-11-18 14:23:10 116

原创 PHP clone 的使用

1. 首先看下对clone后的对象操作是否会影响源对象;直接上代码:<?php class test{ public $a = 1; } $testObject = new test(); echo '<pre>'; echo '没有clone操作前的源对象</br>'; var_dump($...

2019-11-15 12:03:40 208

原创 轮询和长轮询

1. 概念轮询:浏览器端 周期性(setInterval)向服务器端发出请求,获取需要的状态,适合处理进度逻辑,优缺点:实现起来容易。但是定时重复请求服务端会产生无意义的http连接,消耗服务端资源,实时性较差,可能出现结果的延迟;长轮询:浏览器端发出请求,但是,当服务器端接收到请求后,如果没有处理结果,则不响应浏览器端,长在服务器的响应时间,长在浏览器与服务器端建立的连接上,适合处...

2019-11-15 11:26:19 509

原创 nginx: [error] open() "/usr/local/var/run/nginx.pid" failed (2: No such file or directory)

重新启动nginxnginx -s reload或nginx -s reopen报错:nginx: [error] open() "/usr/local/var/run/nginx.pid" failed (2: No such file or directory)当停止nginx时会自动将nginx.pid文件清除;执行命令:nginx这时nginx 已启动,并生成了...

2019-11-14 17:09:57 377 1

原创 二进制位运算 存储权限

二进制存储多个状态

2019-11-13 18:30:43 744

原创 PHP数组去重 array_unique() 和 array_flip()

1. array_unique()定义: array_unique — 移除数组中重复的值,返回去重后的数组;键名保留:

2019-11-13 12:06:47 464

原创 PHP生成随机密码

1. 简洁但较消耗性能$array = array_merge(range(0,9), range('a','z'), range('A','Z')); $length = 6;$password = '';for($i = 0; $i < $length; $i++) { $password .= $array[mt_rand(0, count($array) - 1)];}...

2019-11-12 18:21:13 100

原创 array_filter() 函数特殊用法

1. 定义array_filter — 用回调函数过滤数组中的单元;array_filter ( array $array [, callable $callback [, int $flag = 0 ]] )参数:array :要循环的数组callback :使用的回调函数如果没有提供 callback 函数, 将删除 array 中所有等值为 FALSE 的条目。flag:决...

2019-11-12 18:02:09 1096

原创 PHP 二维数组排序

1. 说明先看一个函数: array_multisort()官方定义:可以用来一次对多个数组进行排序,或者根据某一维或多维对多维数组进行排序。思路:我们可以从目标数组中提取需要排序的字段组合成一维数组进行排序,然后根据这个排序后的数组对目标数组排序;从二维数组中提取某字段合成一维数组:array_column()2. 示例我们先建一个目标数组:$array = [ ...

2019-11-12 17:35:35 243

原创 PHP 之 in_array 和 array_search

一. in_array()定义:检查数组中是否存在某个值;存在返回true, 不存在返回false;用法:in_array($value, $array, $strict)说明:在 $array 中检测数组的值是否存在 $value;$strict 为Boolean,可以省略;默认为false,不比较数据类型,相当于 ==比较;设置为true: 比较数据类型,相当于===比较;注意:如果...

2019-11-06 12:17:52 586

原创 MySQL之慢日志

一. 查看1. 查看慢日志是否开启;show variables like 'slow_query%';slow_query_log: OFF表示未开启,ON表示开启;slow_query_log_file: 慢日志开启后,达到慢日志记录标准的sql会写入到这个文件;2. 查看慢日志记录的临界时间;show variables like 'long_query%';long...

2019-10-23 09:31:33 92

原创 MySQL之用户管理

一. 查看MySQL所有用户SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;二. 创建新用户CREATE USER '用户名'@'主机名' INDENTIFIED BY '密码';三. 删除用户DROP USER '用户名'@'主机名';四. 修改密码...

2019-10-18 12:03:12 88

原创 Linux常用指令

Linux常用指令一. 目录基础命令二. 文件基础命令三. 文件,目录权限操作命令四. vim基础命令(一) 编辑命令(二) 退出命令(三) 搜索命令(四) 其他命令(五) 分屏操作(六) vim 打开页面时快速进入命令行;五. 用户管理基础命令六. 系统基础命令一. 目录基础命令mkdir 创建目录,如mkdir dir ,创建 dir 目录;cd 切换目录;ls 显示目录下的文件和目...

2019-10-16 15:16:45 101

原创 linux目录结构详解

一. 目录结构//bin/boot/dev/etc/home/lib/lost+found/mnt/opt/root/sbin/srv/sys/tmp/usr/var二. 目录说明/: 根目录,一般只存放目录,不要存放文件;/bin: 可执行二进制文件的目录,存放常用命令,如:cd , ls等/boot: 放置linux系统启动时用到的一些文件。/dev: 存放linux系统下的设备...

2019-10-16 11:30:33 101

原创 小程序 app.wxss, 页面wxss, 组件wxss 三者影响关系

说明:app.wxss 指小程序全局样式表;页面wxss 指引入组件的页面样式表;组件wxss 指组件的样式表;一. 默认自定义组件的样式只受自定义组件的影响;以下两种情况除外:( 一 ). app.wxss 或 页面wxss 中使用了**标签名选择器(或其他特殊选择器)**来指定样式,会影响到全部组件;1.组件A样式表中没有定义任何样式,组件A wxml:<view...

2019-10-15 15:20:05 2518

原创 小程序自定义组件报错:Some selectors are not allowed in component wxss, including tag name selectors...

VM3564:1 Some selectors are not allowed in component wxss, including tag name selectors, ID selectors, and attribute selectors.(./components/componentLabel/index.wxss:3:1)This wxss file is ignored.以...

2019-10-15 11:08:35 39157

原创 git的基础使用

1.git的使用步骤1. 新建一个文件夹;2. 进入文件夹3. git init //初始化git仓库;4. git remote add origin ssh:…… //和远程仓库建立联系5. git pull origin master //从远程仓库拉取代码到本地仓库6. git branch dev ...

2019-10-14 15:53:15 164

原创 mac安装Nginx并禁用自带的Apache

mac安装Nginx并禁用自带的Apachemac自带Apache服务器,如果想要使用Nginx服务器,需要自己安装;一.安装Nginx1.安装Homebrew/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"2.利用Homebrew安装Ng...

2019-04-14 09:45:05 747 1

原创 jQuery DOM操作

jQuery DOM操作一.追加内容(1)DOM内部追加1.父元素追加子元素(后面):$(父) . append('&lt;p&gt;2323&lt;/p&gt;');2.父元素追加子元素(前面):$(父).prepend('&lt;p&gt;121&lt;/p&gt;') ;(2)DOM外部追加1.当前元素后追加:$(本元素) . after ('&lt;p&gt;2323&lt;...

2018-10-09 22:26:19 240

原创 jQuery 事件

jQuery 事件一.常用事件(1)鼠标事件1.click 单击事件2.dbclick 双击事件3.mouseover 鼠标移上;4.mouseout 鼠标移出;(2)键盘事件1 keypress 键盘按下事件 每插入一个字符会触发一次;2. keydown 键盘按下事件3. keyup 键盘抬起事件(3)表单事件1 submit 提交事件;2. change...

2018-10-09 22:22:30 83

原创 jQuery 位置操作

jQuery 位置操作(1)scrollLeft() : 设置或返回被选元素的水平滚动条位置;(2)scrollTop() : 设置或返回垂直滚动条位置;如:窗口返回顶部:$(window) . scrollTop( 0 );...

2018-10-09 22:18:06 585

原创 JQuery 获取元素宽高

JQuery 获取元素宽高(1)width() : 返回元素宽;(不包括内外边距,边框)(2)hight() : 返回元素高 ;(不包括内外边距,边框);如:$(window) . height() 获取窗口高度(3)innerwidth(): 返回宽(包括内边距); 高同样(4)outerwi...

2018-10-09 22:16:00 2143 2

原创 Jquery 元素选择器

Jquery 元素选择器一.一般选择器1.id选择器 :#;2.多元素选择器:$('.p , .fdd , #df').3.元素选择器:$('img').4.特殊选择器:$(this).css() 和 $(' * ').css();5.后代选择器:$('ul li span').css();6.子元素选择器:父&gt;子: $('ul&gt;li&gt;span').css...

2018-10-09 22:11:12 240

原创 标题执行克隆任务时,出现错误:bash: git-upload-pack: command not found fatal: The remote end hung up unexpectedly

标题执行克隆任务时,出现错误:bash: git-upload-pack: command not found fatal: The remote end hung up unexpectedly建立链接文件:ln -s /usr/local/git/bin/git-upload-pack /usr/bin/git-upload-pack...

2018-10-09 21:56:39 1466

原创 运行git时出现错误:没有git这个命令

运行git时出现错误:没有git这个命令;原因:没有添加到环境变量解决:可以在/usr/local/git/bin/下运行git命令;或者可以将/usr/local/git/bin加入到环境变量:(1)进入 vim /etc/profile中(2)加入git bin目录路径 PATH="$PATH:xxx:/usr/local/git/bin/"(3)使环境变量生效:source /...

2018-10-09 21:53:16 5678

原创 CI框架的执行流程

CI框架的执行流程1、定义框架版本2、加载框架定义的常数 system/config/contants.php3、加载全部函数 system/core/Common.php4、检查PHP版本小于5.4,做兼容性处理5、将PHP超级变量存放在$GLOBALS数组中6、设置错误,异常,脚本退出触发的函数7、设置子类前缀8、如有需要自动加载组件,则加载APPPATH/vendor/aut...

2018-10-09 21:39:54 486

原创 CI防sql注入

Ci 防sql注入Ci框架本身提供的数据库操作方法支持防sql注入,但是不易组合成复杂的sql语句,这时需要我们自己书写原生sql,下面是原生sql防sql注入的方法:escape()使用:$this-&gt;db-&gt;escape(你的变量);例:$sql = "SELECT * FROM TABLE WHERE key=" . $this-&gt;db-&gt;escape($...

2018-10-09 21:33:58 2080

空空如也

空空如也

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

TA关注的人

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