自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 分批批量下载文件的思路(PHP伪代码)

原因一次性下载的文件过多时,容易出现超时;压缩包过大也可能会出现问题原理分批思想(借鉴分页)js的异步编程递归思想实现步骤1. 服务端加强安全的措施限制ip用户必须登录使用分布式锁一般是redis实现的,key为唯一值,值为允许操作的参数【如一次只能一个用户下载,因此值为用户id】,设置有效期;因为是分批请求,所以检验时先判断能不能加上锁,能加上锁就继续,不能加上锁则判断是不是允许的值,不是则返回失败结果每次请求时给锁续上时间,下载完成后才解锁;要注意释放锁(服务端

2021-08-18 20:41:10 331

原创 阿拉伯数字转中文数字(使用PHP实现)

中文数字的特点每个计数数字都跟着一个权位,权位有:十、百、千、万、亿。以“万”为小节,对应一个节权位,万以下没有节权位。每个小节内部以“十百千”为权位独立计数。每个小节内部的“十百千”不能连续出现,而“万”和“亿”作为节权位时可以和其他权位连用,如:“二十亿”。中文数字对“零”的使用要满足以下三条规则以10000为小节,小节的结尾即使是0,也不使用零。小节内两个非0数字之间要使用“零”。当小节的“千”位是0时(即:1~999),只要不是首小节,都要补“零”。算法设计的一些说明:

2021-08-17 20:48:28 1240

原创 select不可修改且不影响传值的解决方案

为什么这么做select标签不支持readonly属性,如果设置为disabled,则影响传值(解决方法:虽然可以在表单提交之前去掉disabled,但是我觉得麻烦)原理先保存当前被选中的值,当触发onchange事件时,就把下拉框被选中的值改为当前保存的值具体代码<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-

2021-02-02 20:29:17 755

原创 利用laravel队列实现异步间隔推送,类似微信支付通知推送

推送过程中可能会出现失败的情况且比较耗时,为了尽可能保证推送成功,我们一般使用队列进行推送并且进行重试。

2021-01-18 20:15:20 776

原创 PHP模仿百度分页,兼容奇偶数的分页条长度

环境PHP7.2MYSQL5.7NGINX1.18centos7分页简介1.为什么使用分页当数据太多时,一次性完全部会非常消耗性能、网络,而且使得页面不美观2.如何实现分页利用mysql的limt来实现来作分页,核心参数有两个,start与size,即开始的位置与每页显示的数量。sql语句:select * from 表名 limit 开始的位置,数量3.本文的分页结构代码实现<?phpheader("Content-Type: text/html; char

2021-01-14 21:30:55 127

原创 PHP数组key的强制转换以及in_array的注意事项

背景某个仓促上线项目的复杂查询使用到了in_array和使用数组的key进行判断是否在数组里,导致某些结果不符合预期。数组key的强制转换的例子<?php$arr = [ '0' => '0', '1-3' => '1-3', '20-30' => '20-30', '30-50' => '30-50', '>50' => '大于50',];echo "<pre>";foreach ($arr as

2020-12-23 20:49:31 390

原创 解决使用Guzzle包token错误重试时修改query的token值

1.关键环境laravel版本:5.4guzzlehttp/guzzle:6.3.32.额外知识使用 Guzzle 中间件进行请求重试的demo地址:https://learnku.com/articles/31855Guzzle源码学习地址:https://segmentfault.com/p/1210000011674167/read有兴趣的可以学习它的源码3.相关代码(1)修改GuzzleHttp\Psr7\Uri的源码,新增一个修改当前对象的query属性的方法 /**

2020-11-15 15:56:00 525 2

原创 PHP实现数字转为Excel字母

1.前言这是借鉴某位大哥(大姐)的写法,主要是消除了递归。2.具体代码//根据数字转换成excel的字母function numToExcelLetter($num){ //由于大写字母只有26个,所以基数为26 $base = 26; $result = []; while ($num > 0 ) { $mod = (int)($num % $base); $num = (int)($num / $base);

2020-11-06 20:21:24 420 1

原创 Linux网络管理的笔记

文章目录前言一.网络基础1.概述2.iso/osi七层模型简介前言参考视频:Linux网络管理参考网站:菜鸟教程Linux基础(一)的笔记的地址:Linux基础(一)的笔记一.网络基础1.概述网络基础Linux网络配置Linux网络命令远程登录网络基础是必备知识2.iso/osi七层模型简介(1)iso和osi的含义(2)OSI七层模型...

2020-07-14 21:41:14 400

原创 Linux权限管理之基本权限的笔记

文章目录前言一.基本权限的概述二.文件基本权限1.文件权限的设定2.文件权限的作用3.目录权限的作用4.文件权限的其他权限命令三.默认权限1.查看默认权限的命令2.文件的默认权限3.文件的默认权限4.修改umask的值前言参考视频:Linux权限管理之基本权限参考网站:菜鸟教程Linux基础(一)的笔记的地址:Linux基础(一)的笔记一.基本权限的概述对用户操作权限的限制减少风险二.文件基本权限1.文件权限的设定(1)文件基本权限的信息-rw-r--r-- -表示文件类型(-

2020-07-13 16:10:14 88

原创 shell编程之正则表达式的笔记

文章目录前言一.正则表达式1.正则表达式概述2.正则表达式与通配符3.正则表达式4.例子二.字符截取命令1.提取字符串命令:cut命令2.格式化输出命令:printf命令前言参考视频:shell编程之正则表达式shell编程的变量笔记:shell编程之变量的笔记一.正则表达式1.正则表达式概述正则表达式是用于描述字符排列和匹配模式的一种语法规则。它主要用于字符串的模式分割、匹配、查找以及替换操作。2.正则表达式与通配符(1)正则表达式与通配符正则表达式用来在文件中匹配符合条件的字符串

2020-07-13 13:05:16 221

原创 shell编程之条件判断与流程控制的笔记

文章目录前言一.条件判断式语句1. 条件判断式语句概述2.按文件类型判断3.按文件权限判断4.两个文件之间比较5.两个整数之间比较6.字符串的判断7.多重条件判断8. 学习小脚本实例的好处9. 建立编程思想的方法10.如何“背”程序二.单分支if语句1.单分支if条件语句2.例子1:判断登录的用户是否为root3.例子2:判断分区使用率三.双分支if条件语句1.双分支if条件语句格式2.例1:判断用户输入的是不是目录3.例2:判断apache是否启动三.多分支if语句1.多分支if语句格式2.例1:判断数值

2020-07-12 14:06:35 245

原创 shell编程之运算符的笔记

文章目录前言一.概述及declare命令1.shell变量的缺点2.declare命令二.数值运算方法1.数值运算方法12.数值运算方法23.数值运算方法34.运算符优先级三.变量测试1.变量测试图前言参考视频:shell编程之运算符参考网站:菜鸟教程shell编程的变量笔记:shell编程之变量的笔记一.概述及declare命令1.shell变量的缺点弱类型默认字符串类型2.declare命令(1)declare声明变量类型declare [+/-][选项] 变量名选项:

2020-07-11 17:45:41 151

原创 shell编程之环境变量配置文件的笔记

文章目录前言一.环境变量配置文件1.环境变量配置文件简介2.环境变量配置文件功能(上)3.环境变量配置文件功能(下)4.环境变量其他配置文件(上)5.环境变量其他配置文件(下)前言参考视频:shell编程之环境变量配置文件参考网站:菜鸟教程shell编程的变量笔记:shell编程之变量的笔记一.环境变量配置文件1.环境变量配置文件简介(1)source命令source 配置文件或. 配置文件#. 配置文件[root@jueshadb ~]# . .bashrc#source 配

2020-07-05 23:22:29 112

原创 shell编程之变量的笔记

文章目录前言一.Bash变量概述1.shell基础2.shell与其它语言相比二、Bash变量与变量分类1.Bash变量与变量分类2.用户定义变量3.环境变量4.语系变量5.位置参数变量6.预定义变量前言参考视频:shell编程之变量参考网站:菜鸟教程一.Bash变量概述1.shell基础有关shell基础内容请查看Linux基础(一)的笔记的shell基础2.shell与其它语言相比php和java主要是实现功能shell简化管理操作二、Bash变量与变量分类1.Bash变量与变

2020-07-05 21:43:37 175

原创 Linux基础(二)的笔记

文章目录前言一. VIM文本编辑器1.VIM文本编辑器的概述2.VIM编辑器的操作模式前言文章里的命令选项只是常用的选项,还有更多的选项可自行去学习。参考视频:Linux 达人养成计划 II参考网站:菜鸟教程一. VIM文本编辑器1.VIM文本编辑器的概述(1)VIM编辑器的介绍Visual Interface可视化接口类似windows中的记事本VI相对于记事本强大的不是一星半点(2)与VI相比有哪些提升VIM支持多级撤销VIM可以跨平台运行VIM支持语法高亮VIM支

2020-06-21 17:26:31 347

原创 sql语句以及相关积累

文章目录细节点一.启动和登录1.开启mysql(windows环境)2.登录mysql二.服务端或客户端1.查看mysql服务端支持的字符集2.查看mysql客户端的字符集3. 修改mysql客户端的字符集二.数据库1.查看数据库2.创建数据库3.查看数据库创建语句4.修改数据库字符集5.删除数据库6.使用(切换)数据库三.表1.创建表2.懒惰的方式创建已存在的表的同结构表3.查看表4.查看创建表语句5.查看表结构6.修改表名7.修改表选项8.删除表9.清空数据四.字段1.新增字段2.修改字段名3.修改字段

2020-06-20 16:01:45 388

原创 Linux基础(一)的笔记

参考视频:Linux达人养成计划 I参考网站:菜鸟教程一.Linux简介1.Linux发展史20世纪80年代,计算机的操作系统主要有Unix、DOS和MacOS这几种。Unix价格昂贵,不能运行于PC;DOS显得简陋,且源代码被软件厂商严格保密;MacOS是一种专门用于苹果计算机的操作系统。当时在荷兰当教授的美国人AndrewS.Tanenbaum编写了一个操作系统,名为MINIX,为了向学生讲述操作系统内部工作原理。MINIX只是一个用于教学目的的简单操作系统,而不是一个强有力的实用操作系统,然而

2020-06-15 03:02:58 662

原创 Virtualbox安装Centos7、安装增强工具以及设置共享

前言这是我的另一篇文章《Linux基础(一)的笔记》的附属文章,如需查看,请移步。本文参考链接:https://www.cnblogs.com/gaomanito/p/11460381.html一.安装之前的准备1.软件准备(1)Virtualbox官网版本:6.0.14(这里有歧义,明明是6.0.22版本)下载地址(2)Centos官网版本:Centos7下载地址如何寻找下载指定版本可以参考这个链接:https://www.cnblogs.com/zpzp7878/p/10

2020-06-15 02:59:50 1316

原创 时长梯度统计

1.场景阅读时长、用户停留页面时长等场景2.问题频率太快会导致服务端压力变大,频率太慢又导致数据误差变大用户进入页面时间太短可能还没向服务端发出增加时长的请求3.js代码(先引入jquery) /* 逻辑:前10秒每2秒更新一次时长,10到120秒之间每5秒更新一次时长,大于等于120秒每10秒更新时长 */ $(f...

2020-04-18 18:43:33 225

原创 解决浏览器返回页面刷新问题

1.常见场景倒计时、弹框等场景。2.涉及到的知识点sessionStorage:1)遵循同源策略;2)用于临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页之后将会删除这些数据onpageshow:在用户访问页面时触发onpagehide:在用户离开当前网页跳转到另外一个页面时触发reload:重新加载当前文档要考虑部分浏览器不支持sessionStorage、onpagesh...

2020-04-18 17:25:20 2726

空空如也

空空如也

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

TA关注的人

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