自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 将数组转为字符串

/** * 将数组转为字符串 * @param $array */ public static function arrayToStr($array){ if(!is_array($array)){ return $array; } $str=''; foreach ($array as $key=>$val){ if(is_array($val...

2021-09-23 13:32:23 254

转载 如何提高国内访问GitHub的速度达到3MB/S以上

为什么GitHub下载速度这么慢?GitHub,我们都知道是世界上最大的开源及私有软件项目的托管平台,全世界每天有海量优秀的开源软件在这里产生,而 GitHub 在国内很多时候获取到的下载链接是亚马逊的服务器。中国因为不可言说的原因,经常抽疯或龟速。想要加快 GitHub 下载速度就需要用到 GitHub 国内加速服务,对于有条件的可以使用代理加快访问速度,而没有条件的就可以用到以下解决方案,实现加速:GitHub 镜像访问GitHub文件加速Github 加速下载加速你的 Github谷歌

2021-09-23 13:24:45 197

转载 使用Redis,你必须知道的21个注意要点

前言最近在学习Redis相关知识,看了阿里的redis开发规范,以及Redis开发与运维这本书。分使用规范、有坑的命令、项目实战操作、运维配置四个方向。整理了使用Redis的21个注意点,希望对大家有帮助,一起学习哈公众号:捡田螺的小男孩1、Redis的使用规范1.1、 key的规范要点我们设计Redis的key的时候,要注意以下这几个点:以业务名为key前缀,用冒号隔开,以防止key冲突覆盖。如,live:rank:1确保key的语义清晰的情况下,key的长度尽量小于30个字符。ke

2021-03-24 16:39:35 202

转载 PHP面试知识梳理

算法与数据结构BTree和B+treeBTreeB树是为了磁盘或者其他存储设备而设计的一种多叉平衡查找树,相对于二叉树,B树的每个内节点有多个分支,即多叉。参考文章:https://www.jianshu.com/p/da5…B+TreeB+树是B树的变体,也是一种多路搜索树。参考文章:https://www.jianshu.com/p/da5…排序算法快速排序快速排序是十分常用的高效率的算法,其思想是:先选一个标尺,用它把整个队列过一遍筛选,以保证其左边的元素都不大于它

2021-02-16 14:05:41 181

转载 注册、登录和 token 的安全之道

最近想要做一个小项目,由于前后都是一个人,在登录和注册的接口上就被卡住了,因此想登录、注册、口令之间的关系,使用 PHP 实现登录注册模块,和访问口令。出于安全的考虑,首先定下三项原则:在传输中,不允许明文传输用户隐私数据;在本地,不允许明文保存用户隐私数据;在服务器,不允许明文保存用户隐私数据;在网络来说,我们知道不论 POST 请求和 GET 请求都会被抓包,在没有使用 HTTPS 的情况下,抓包我们是防不住的,如果明文传输用户隐私,那后果就不说了。本地和服务器也是如此,比如 iOS 设

2021-02-16 13:46:38 635

转载 Cookie 和 Session 关系和区别

在技术面试中,经常被问到“Cookie和Session的区别”,大家都知道一些,Session比Cookie安全,Session是存储在服务器端的,Cookie是存储在客户端的,然而如果让你更详细地说明,恐怕就不怎么清楚了。本文分别对Cookie与Session做一个介绍和总结,并分别对两个知识点进行对比分析,让大家对Cookie和Session有更深入的了解。什么是HTTP首先要先介绍什么是HTTPHTTP:超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTT

2021-02-16 13:18:51 454

转载 如何少写PHP “烂“代码

写给初生牛犊不怕虎的童鞋们,大佬可随意摘看 本章基于PHP Laravel前言经常会有人问目录如何设计比较好?代码如何分布好?怎么写一个可维护的项目?“烂”项目我也没少写,以下是参考互联网各大佬的文章总结及个人开发经验而来.ControllerController顾名思义是控制器,在入门PHP的时候,就知道Controller代表MVC中的C层,MVC本身的概念就代码分离,教你如何如何将业务分开,但面临着业务的不断发展,代码的复杂度也随之提高,功能与功能之间的链接错综复杂,最后你的.

2021-02-16 13:13:34 176

原创 emoji表情 转义

/** * 把用户输入的文本转义(主要针对特殊符号和emoji表情) */function userTextEncode($str){ if (!is_string($str)) return $str; if (!$str || $str == 'undefined') return ''; $text = json_encode($str); //暴露出unicode $text = preg_replace_callback("/(\\\u[ed][0-9a-

2021-02-16 13:07:07 834

原创 时间美化函数

/** * 友好的时间显示 * * @param int $sTime 待显示的时间 * @param string $type 类型. normal | mohu | full | ymd | other * @param string $alt 已失效 * @return string */function friendlyDate($sTime, $type = 'normal', $alt = 'false'){ if (!$sTime) return '.

2021-02-16 11:26:30 111

原创 后端架构师技术图谱

后端架构师技术图谱

2021-02-16 11:18:24 75

原创 生成交易流水号

/* * 生成交易流水号 * @param char(2) $type */function doOrderSn($type){ return date('YmdHis') . $type . substr(microtime(), 2, 3) . sprintf('%02d', rand(0, 99));}

2021-02-14 14:34:25 567

原创 php 随机字符

/** * 随机字符 * @param int $length 长度 * @param string $type 类型 * @param int $convert 转换大小写 1大写 0小写 * @return string */function random($length = 10, $type = 'letter', $convert = 0){ $config = array( 'number' => '1234567890', 'let

2021-02-14 14:31:12 121

转载 编程的16个好习惯

1. 修改完代码,记得自测一下「改完代码,自测一下」 是每位程序员必备的基本素养。尤其不要抱有这种侥幸「心理:我只是改了一个变量或者我只改了一行配置代码,不用自测了」。改完代码,尽量要求自己都去测试一下哈,可以规避很多不必要bug的。2. 方法入参尽量都检验入参校验也是每个程序员必备的基本素养。你的方法处理,「必须先校验参数」。比如入参是否允许为空,入参长度是否符合你的预期长度。这个尽量养成习惯吧,很多「低级bug」都是「不校验参数」导致的。如果你的数据库字段设置为varchar(16),对方传了一

2021-02-14 14:15:25 693

原创 mac 安装和升级go

mac 安装和升级gogo1.9.7 升级到 go1.15.6之前由于电脑上面安装的go版本太低,导致部分程序调试失败,特此升级go版本记录升级过程因为使用的brew安装的go,这里升级go版本,因此需要先执行brew update此时很不幸的是报错了git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallowThis restriction has been made on GitHub's

2021-01-09 16:50:37 1504

原创 docker 学习记录

Docker安装#1.卸载旧版本sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-l

2020-12-31 15:34:34 87

原创 php 两位小数

PHP保留小数点有几种方式:round,floor,sprintf,number_format.那么这四种方式有什么区别呢1.round$num = 123.456;print_r(round($num,2));//123.46$num = 123.454;print_r(round($num,2));//123.45float round ( float val [, int precision]),round()对浮点数进行四舍五入2.floor$num = 123.45

2020-06-08 11:41:59 1096

原创 ThinkPHP,Mysql 事务数据更新0行问题

Thinkphp里面官方示例的事务操作,update影响0行的时侯,事务提交依然成功,从而导致数据出现一系列问题1.先了解下Mysql 事务的四大特性(ACID)原子性:一个事务(transaction)中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节.事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样.一致性:在事务开始之前和事务结束以后,数据库的完整性没有被破坏.这表示写入的资料必须完全符合所有的预设规则,这包含资料的精

2020-06-03 13:24:03 460

随机字符串 随机函数

php随机字符串函数

2021-02-14

ThinkPHP6.0完全开发手册-11231344.pdf.zip

tp6 官方开发手册

2021-01-09

ThinkPHP5.1完全开发手册.pdf

ThinkPHP5.1完全开发手册.pdf 5.1版本对底层进行了一些架构调整和优化,采用更加对象化的开发模式,支持容器和Facade,对路由、依赖注入及验证进行了改进

2018-05-12

GatewayWorker-for-win

Workerman是一款纯PHP开发的开源高性能的PHP socket 服务器框架。被广泛的用于手机app、移动通讯,微信小程序,手游服务端、网络游戏、PHP聊天室、硬件通讯、智能家居、车联网、物联网等领域的开发。 支持TCP长连接,支持Websocket、HTTP等协议,支持自定义协议。拥有异步Mysql、异步Redis、异步Http、异步消息队列等众多高性能组件。

2018-05-08

php 时间美化 友好时间函数

/** * 友好的时间显示 * * @param int $sTime 待显示的时间 * @param string $type 类型. normal | mohu | full | ymd | other * @param string $alt 已失效 * @return string */ function friendlyDate($sTime,$type = 'normal',$alt = 'false') { if (!$sTime) return ''; //sTime=源时间,cTime=当前时间,dTime=时间差 $cTime = time(); $dTime = $cTime - $sTime; $dDay = intval(date("z",$cTime)) - intval(date("z",$sTime)); //$dDay = intval($dTime/3600/24); $dYear = intval(date("Y",$cTime)) - intval(date("Y",$sTime)); //normal:n秒前,n分钟前,n小时前,日期 if($type=='normal'){ if( $dTime < 60 ){ if($dTime < 10){ return '刚刚'; //by yangjs }else{ return intval(floor($dTime / 10) * 10)."秒前"; } }elseif( $dTime < 3600 ){ return intval($dTime/60)."分钟前"; //今天的数据.年份相同.日期相同. }elseif( $dYear==0 && $dDay == 0 ){ //return intval($dTime/3600)."小时前"; return '今天'.date('H:i',$sTime); }elseif($dYear==0){ return date("m月d日 H:i",$sTime); }else{ return date("Y-m-d H:i",$sTime); } }elseif($type=='mohu'){ if( $dTime < 60 ){ return $dTime."秒前"; }elseif( $dTime < 3600 ){ return intval($dTime/60)."分钟前"; }elseif( $dTime >= 3600 && $dDay == 0 ){ return intval($dTime/3600)."小时前"; }elseif( $dDay > 0 && $dDay<=7 ){ return intval($dDay)."天前"; }elseif( $dDay > 7 && $dDay <= 30 ){ return intval($dDay/7) . '周前'; }elseif( $dDay > 30 ){ return intval($dDay/30) . '个月前'; } //full: Y-m-d , H:i:s }elseif($type=='full'){ return date("Y-m-d , H:i:s",$sTime); }elseif($type=='ymd'){ return date("Y-m-d",$sTime); }else{ if( $dTime < 60 ){ return $dTime."秒前"; }elseif( $dTime < 3600 ){ return intval($dTime/60)."分钟前"; }elseif( $dTime >= 3600 && $dDay == 0 ){ return intval($dTime/3600)."小时前"; }elseif($dYear==0){ return date("Y-m-d H:i:s",$sTime); }else{ return date("Y-m-d H:i:s",$sTime); } } }

2018-05-08

浏览器友好的变量输出 dump

* 浏览器友好的变量输出 * @param mixed $var 变量 * @param boolean $echo 是否输出 默认为True 如果为false 则返回输出字符串 * @param string $label 标签 默认为空 * @param boolean $strict 是否严谨 默认为true

2017-09-05

nssock2.dll

最新nssock2.dll版本 对于xshell等软件打开错误,无法连接动态库有很好的解决 下载后,将该文件放到安装目录下 或者放到c盘的windows/System32目录下 若打开还是报错,请检查是不是被杀毒软件误杀,删除了nssock2.dll

2017-09-05

Git for Windows 2017 最新版

Git for Windows 2017 最新版

2017-06-24

php手机号邮箱验证

php手机号邮箱验证

2017-01-10

php带参数请求

php带参数请求别人的接口

2017-01-10

时间美化函数

时间美化函数

2017-01-10

WAST压力测试工具

WAST压力测试工具

2016-12-23

Bootstrap3.3.4中文文档

Bootstrap3.3.4中文文档 转自百度贴吧

2016-12-19

php-7.1.0.tar.gz

php最新版 php7.10 转自官方直接下载

2016-12-19

ThinkPHP5.0完全开发手册.pdf

ThinkPHP5.0完全开发手册.pdf

2016-12-19

ThinkPHP3.2.2完全开发手册

ThinkPHP3.2.2完全开发手册

2016-08-26

在线聊天手机版html文件

在线聊天手机版html文件无后台

2016-08-26

闭包问题html

闭包文件

2016-08-26

城市三级联动

城市三级联动

2016-06-01

HTML5坦克大战单机游戏

HTML5坦克大战单机游戏

2016-06-01

Thinkphp多图片上传

Thinkphp多图片上传 支持上传预览 设置封面(转自thinkphp官网第三方用户发布)

2016-06-01

空空如也

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

TA关注的人

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