经验
猿粪已尽
萌新,学习的道路不断成长
展开
-
使用multipass,代替本地docker解决占用内存高的问题
为了解决mac本地docker占用太多内存问题,使用multipass替代原创 2022-11-17 17:26:19 · 541 阅读 · 1 评论 -
记一次ipdb使用
ipdb格式的数据库离线下载,仅供学习使用原创 2022-10-24 10:11:46 · 477 阅读 · 0 评论 -
二维数组根据某个字段进行分组
二维数组分组原创 2022-08-30 09:16:32 · 489 阅读 · 0 评论 -
hyperf 封装logger
代码】hyperf 封装logger。原创 2022-08-09 14:31:22 · 491 阅读 · 0 评论 -
hyperf2.1中使用中间件方式实现跨域功能
hyperf2.1中使用中间件方式实现跨域功能。原创 2022-08-09 10:39:36 · 678 阅读 · 0 评论 -
md5+des加密
加密步骤:1.获取13位时间戳2.对时间戳进行md5加密,获取32位小写key3.对key进行加工,key=li+key4.将key转换为byte数组,获取前8个字符作为key25.用key2对原body进行des加密,加密模式ECB,填充pkcs7padding,输出hex,字符集utf8body......原创 2022-06-14 19:29:54 · 406 阅读 · 0 评论 -
mac 本地docker 运行hyperf
1.docker-compose.yml构建容器(为了避免不同容器之间网络不通的情况,已经附带swoole等拓展)version: '2'services: rabbitmq1: image: rabbitmq container_name: rabbitmq1 restart: always hostname: rabbitmq1 environment: RABBITMQ_ERLANG_COOKIE: "SWQOKODSQALRPCLNM原创 2022-05-20 10:38:18 · 862 阅读 · 0 评论 -
时间类Carbon的安装和使用
方式一composer require nesbot/carbon方式二:Copy{ "require": { "nesbot/carbon": "^2.16" }}原创 2022-04-14 08:34:09 · 1465 阅读 · 0 评论 -
mac 使用iTerm2快捷登录远程服务器
正常使用ssh登录服务器:ssh -p port user@hostuser@host's password:输入端口,用户名,服务器ip地址后,还需输入密码,并且每次重新登录都要输入。使用 scp 上传下载文件也是这样。原理:参考:登录 - 推酷SSH之所以能够保证安全,原因在于它采用了公钥加密。整个ssh密码登录过程是这样的:1)用户向远程主机发登录请求:ssh user@host2)远程主机收到用户的登录请求,把自己的公钥发给用户。2)用户使用这个公钥,将登录密码.转载 2022-03-31 15:24:32 · 1032 阅读 · 0 评论 -
虚拟机搭建lnmp环境
等待写原创 2021-11-08 17:08:40 · 426 阅读 · 0 评论 -
将某个文件夹下的JPG格式的图片取出,存入新的文件夹
$path = 'xxxxx';///当前目录$handle = opendir($path); //当前目录while (false !== ($file = readdir($handle))) { //遍历该php文件所在目录 list($filesname,$kzm)=explode(".",$file);//获取扩展名 if($kzm=="gif" or $kzm=="jpg" or $kzm=="JPG") { //文件过滤 if (!is_di...原创 2021-04-28 18:41:47 · 504 阅读 · 1 评论 -
php 执行mysql存储过程后 再执行sql 失败 PHP执行MYSQL存储过程报错:Commands out of sync; you can‘t run this command now
执行上面的代码后就会出现上面的错误,消息说明MYSQL数据库认为是这一个错误的命令执行顺序。原因在于MYSQL的存储过程执行完成后除了返回实际结果集还会返回存储过程执行的转态,而上面的代码仅处理了第一个结果集,第二个结果集并没有被释放掉。要解决这个问题,需要用mysqli的multi_query方法,遍历所有的结果集并释放掉掉。...原创 2021-04-08 18:00:23 · 264 阅读 · 0 评论 -
记录一次自己写linux下crontab定时任务的过程
最近在做一个项目,商城秒杀,用户抢到订单但是没有支付,超时后订单关闭,回滚库存。写了定时任务,手动执行没问题,定时器查看了也再跑,可是就是没有执行写好的任务。百度了很多 ,不是说权限问题,就是环境变量问题,最后发现都不是。然后觉得这么找问题很乱,就一步一步排查。首先看,crontab任务有没有运行,相关命令如下:service crond status如果显示running,则正在运行,否则按如下命令操作:crontab服务启动与关闭。/etc/init.d/crond stop .原创 2020-06-23 22:36:27 · 181 阅读 · 0 评论 -
关于linux定时任务crontab不能执行等的一些问题
crontab是linux下实现定时任务的命令,但是他还是有很多坑需要我们注意,这里列举一些,如果遇到新的会再更新。1.shell脚本能单独运行,但是计划任务里面无法运行这种问题往往是环境变量的问题,就是你所执行的命令没有明确一些环境变量。建议的解决办法:(1)在所写脚本上加入环境变量,如下:export PATH=/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/home/x/bin:/usr/bin1或者加入这句话source ~/.bash_profi转载 2020-06-23 19:37:13 · 998 阅读 · 0 评论 -
PHP开发中多种方案实现高并发下的抢购、秒杀功能
抢购、秒杀是如今很常见的一个应用场景,主要需要解决的问题有两个:1 高并发对数据库产生的压力2 竞争状态下如何解决库存的正确减少("超卖"问题)对于第一个问题,已经很容易想到用缓存来处理抢购,避免直接操作数据库,例如使用Redis。重点在于第二个问题.常规写法:查询出对应商品的库存,看是否大于0,然后执行生成订单等操作,但是在判断库存是否大于0处,如果在高并发下就会有问题,导致库存量出现负数正确的实现功能流程:基于redis队列流程:1. 管理员根据goods表中的库存,创转载 2020-06-15 14:44:05 · 1053 阅读 · 0 评论 -
使用SVN托管
下载和安装SVN的客户端TortoiseSVN, 安装完成后不需要重启,但重启完可以看到资源管理器里文件夹图标的更新。 从Svn Hosting上Checkout源代码-TortoiseSVN是一个资源管理器的插件,安装完成以后,鼠标右键点任何文件夹或者桌面都有TortoiseSVN的菜单项。选择SVN Checkout,如下图示: 填写源代码的SVN路径和本地文件夹。就是...原创 2020-01-10 17:36:40 · 613 阅读 · 0 评论 -
面试还搞不懂redis,快看看这40道面试题(含答案和思维导图)
Redis 面试题1、什么是 Redis?.2、Redis 的数据类型?3、使用 Redis 有哪些好处?4、Redis 相比 Memcached 有哪些优势?5、Memcache 与 Redis 的区别都有哪些?6、Redis 是单进程单线程的?7、一个字符串类型的值能存储最大容量是多少?8、Redis 的持久化机制是什么?各自的优缺点?9、...转载 2019-12-30 17:14:22 · 246 阅读 · 0 评论 -
PHP常用代码段大全
https://blog.csdn.net/qq_29920751/article/details/87913578原创 2019-12-11 14:13:13 · 292 阅读 · 0 评论 -
PHP设计模式六大原则详细讲解
1、单一职责原则理解:单一职责适用于接口、类、方法,只负责一项职责优点:降低类的复杂度,一个类只负责一项职责,逻辑简单提高类的可读性可维护性提高:可读性提高,那当然更容易维护了降低变更引起的风险:如果接口的单一职责做得好,一个接口修改只对相应的实现类有影响,对其他的接口无影响,这对系统的扩展性、维护性都有非常大的帮助2、开闭原则理解:一个软件实体如类、函数应该对扩展开...原创 2019-12-09 16:51:27 · 295 阅读 · 0 评论 -
mysql 取当前月和下个月数据及通过PERIOD_DIFF函数获取生日SQL
获取当前月数据SELECT *FROM 表 WHERE DATE_FORMAT(字段名,'%Y%m')=DATE_FORMAT(CURDATE(),'%Y%m)SELECT *FROM 表 WHERE PERIOD_DIFF(DATE_FORMAT(CURDATE(),'%Y%m),DATE_FORMAT(字段名,'%Y%m'))=0获取下个月数据SELECT *FROM 表 W...转载 2019-11-25 16:10:47 · 623 阅读 · 0 评论 -
laravel 中事务的使用
方法一://它不需要引入直接就可以用public functionTransaction(){ DB::beginTransaction(); //开启事务 sql1=DB::table(′demo′)−>where(′id′,′6′)−>delete();sql1=DB::table(′demo′)−>where(′id′,′6′)−>dele...转载 2019-11-22 09:50:56 · 401 阅读 · 0 评论 -
thinkphp3.2.3(5以下)的事务问题(事务回滚无效、多表事务等)
事务回滚无效现象public function test(){ $m = M('User'); $data=[ 3=> ['account'=>'300','password'=>'300','nickname'=>'300','autograph'=>'300','un'=>'309'], 5=> ['ac...转载 2019-11-21 16:09:01 · 1364 阅读 · 0 评论 -
什么时候需要使用事务管理机制
当数据库需要处理操作量大、复杂度高的数据的时候需要用到事务。用事务是为了保证数据库的完整性,保证成批的 SQL 语句要么全部执行,要么全部不执行。一个数据库事务通常包含了一个序列的对数据库的读/写操作。它的存在包含有以下两个目的:1、为数据库操作序列提供了一个从失败中恢复到正常状态的方法,同时提供了数据库即使在异常状态下仍能保持一致性的方法。2、当多个应用程序在并发访问数据库时,可以在...转载 2019-11-21 15:32:04 · 3238 阅读 · 0 评论 -
什么情况下会用到try-catch
面试官:什么情况下用到try-catch?程序员:代码执行预料不到的情况,我会使用try-catch。面试官:什么是预料不到的情况呢?程序员:比如我要计算a除以b,但是b是变量,如果b等于0程序就会出错,所以我会将程序代码放在try中。面试官:还有其他情况会遇到try-catch吗?程序员:我会在上传文件时使用try-catch,之前做过一个网站有上传文件的功能,线下测试的时候没有问题,但是那个线...转载 2019-11-21 15:26:44 · 1483 阅读 · 0 评论 -
PHP设计模式
1.单例模式https://baijunyao.com/article/1592. 简单工厂模式https://baijunyao.com/article/1613.工厂方法模式https://baijunyao.com/article/1624.抽象工厂模式https://baijunyao.com/article/1645.使用简单工厂来优化抽象工厂模式h...转载 2019-11-12 17:36:13 · 151 阅读 · 0 评论 -
再谈PHP错误与异常处理try catch
博客好久没有更新了,实在惭愧,最近在忙人生大事,哈哈!这段时间没有看什么新的东西,结合项目中遇到的PHP异常处理问题,我又重新梳理了之前模糊的概念,希望对大家理解PHP异常处理有所帮助。 请一定要注意,没有特殊说明:本例PHP Version < 7 说起PHP异常处理,大家首先会想到try-catch,那好,我们先看一段程序吧:有一个test.php文件,有一段简单的PHP程序...转载 2019-10-08 17:53:21 · 709 阅读 · 0 评论 -
基于 Laravel 的 API 服务端架构代码
1、源码地址原文出处:http://flc.ren/2016/08/549.htmlGitHub:https://github.com/flc1125/ApiServer2、部署说明现有API基于laravel框架开发,本次介绍也针对laravel。可根据文档自行调整,以适用其他框架下使用!2.1 数据库相关执行如下SQL语句CREATE TABLE `prefix...转载 2019-09-20 17:39:06 · 542 阅读 · 0 评论 -
解决--对服务器的请求已遭到某个拓展程序的阻止问题
写这篇文章主要是为了提醒一下自己,免得以后走弯路。遇到这种问题,大家百度的答案基本都是浏览器的问题,然后再设置里面一通修改,最后发现还是无法解决。我也是这样子,也是无意发现电脑的host文件被恶意修改了,比如你自己定义了一个域名,然后就被#注释了。这样就会导致出现这个问题。自己的经验吧,大家也可以试试看。...原创 2019-05-09 15:06:40 · 15112 阅读 · 3 评论