摘要: mac升级后,php@7.3环境损坏,提示icu4相关错误解决办法 背景:mac电脑在一次升级后,php环境损坏导致php无法使用,提示如下信息: 具体原因:电脑升级后brew损坏,重新执行过brew相关的升级,包括所有软件包,导致icu4软件升级到最新的71.1版本,php@7.3不可用,和icu 阅读全文
posted @ 2022-10-15 16:08 alisleepy 阅读(1133) 评论(0) 推荐(0)
摘要: php优化 - 防止跨域攻击 解决方案: 验证 HTTP Referer 字段 服务端生成token,下发到客户端,客户端提交后并进行验证 http的header头自定义属性,每次验证header头中的自定义的属性值 阅读全文
posted @ 2022-08-23 01:50 alisleepy 阅读(86) 评论(0) 推荐(0)
摘要: 协议 - tcp和udp的区别 TCP/IP协议: 是一个协议簇。里面包括很多协议的,UDP只是其中的一个, 之所以命名为TCP/IP协议,因为TCP、IP协议是两个很重要的协议,就用他两命名了。 TCP协议: 可靠的面向连接的协议,收发数据前必须要和对方建立可靠连接 三次握手:建立连接时执行: 第 阅读全文
posted @ 2022-08-23 01:39 alisleepy 阅读(69) 评论(0) 推荐(0)
摘要: 数据库 - db和redis数据一致性问题 直接说解决办法: 查询数据操作: 查询缓存,如果命中,直接返回;如果没有命中,查询数据库,再写入缓存 更新数据操作: 直接更新db数据库 然后删除缓存 删除数据操作: 先删除数据库 再删除缓存(设置超时,保证后期缓存肯定会消失) 阅读全文
posted @ 2022-08-23 01:22 alisleepy 阅读(38) 评论(0) 推荐(0)
摘要: CGI:通信网关协议 CGI协议:动态语言的代码文件需要对应的语言解释器才能被服务器识别,CGI协议就是用来使得解释器与服务器之间互相通信 请求链路: 1、客户端输入ur 2、解析到服务器IP 3、请求发送到Web服务器(nginx) 4、Nginx收到请求,通过fast-cgi协议,将请求数据发送 阅读全文
posted @ 2022-08-21 23:06 alisleepy 阅读(927) 评论(0) 推荐(0)
摘要: 几种合并数组方法如下: 使用+号合并数组结果: 键名相同时,前边的键值覆盖后边的键值 array_merge()方法: 键名相同时,后边的键值覆盖前边的键值 array_merge_recursive()方法: 键名相同时,相同键名的键值组成一个新的数组,最后结果就是二维数组 array_combi 阅读全文
posted @ 2022-08-21 18:27 alisleepy 阅读(4899) 评论(0) 推荐(0)
摘要: 定时任务-crontab简单用法 crotab定时任务: 在服务器上设置定时器,来执行特定的任务脚本,比如php XXX或者 python XXX,或者 go run *** crontab基本用法: - crontab时间设置: # 5个时间表示:分别为以下 * * * *:表示:分、时、日、月、 阅读全文
posted @ 2022-08-21 01:11 alisleepy 阅读(490) 评论(0) 推荐(0)
摘要: 通过supervisor管理laravel队列任务守护进程 背景:laravel队列,在调试使用时可以使用php artisan queue:work来启用队列,但是实际项目部署后,需要通过守护进程一直启动队列,在这使用 supervisor 来管理laravel队列守护进程,并且可以自动重启队列 阅读全文
posted @ 2022-08-20 18:35 alisleepy 阅读(885) 评论(0) 推荐(0)
摘要: go基础 - WaitGroup用法 package main import ( "fmt" "sync" "time" ) /** * Created by Goland * User: wkk alisleepy@hotmail.com * Time: 2022/8/15 - 23:33 * D 阅读全文
posted @ 2022-08-16 00:03 alisleepy 阅读(50) 评论(0) 推荐(0)
摘要: docker基础命令 - 镜像/容器 docker version:查看版本 docker info:查看docker系统信息,包括镜像和容器数量 docker —help:查看帮助命令 镜像命令: docker images:查看镜像列表 docker images -a:查看所有 docker 阅读全文
posted @ 2022-08-06 22:58 alisleepy 阅读(94) 评论(0) 推荐(0)
摘要: go学习 - 字符串翻转 代码如下,比较low,但能实现: package go_test_test import ( "fmt" "testing" ) /** * Created by Goland * User: wkk alisleepy@hotmail.com * Time: 2022/8 阅读全文
posted @ 2022-08-05 01:01 alisleepy 阅读(326) 评论(0) 推荐(0)
摘要: mysql8修改root密码 背景:修改mysql密码,按照之前的password函数一直失败,查资料后发现mysql8不支持password函数 mysql8修改密码如下: // 修改root的密码为 123456 ALTER USER 'root'@'localhost' IDENTIFIED 阅读全文
posted @ 2022-07-11 11:14 alisleepy 阅读(870) 评论(0) 推荐(0)
摘要: 【go-基础】interface转string:fmt.Sprintf("%v", value) 背景:在做一个查询时,请求参数为map格式,value值为interface,根据不同的key需要做不同的查询,在模糊查询时value需要拼接 %val%号,简单记录 代码如下: var test in 阅读全文
posted @ 2022-06-20 00:16 alisleepy 阅读(2726) 评论(0) 推荐(0)
摘要: 循环结构体,修改结构体中某个字段的值 背景:使用go获取部门列表后,需要修改其中的一个字段的值,将level = 2 修改为 level = “二级部门” 错误方法1:结构体转json后,不行 for _, item := range departments { item.Level = "二级部门 阅读全文
posted @ 2022-04-05 14:17 alisleepy 阅读(534) 评论(0) 推荐(0)
摘要: Linux查看当前目录下(包含子目录)文件名中包含指定字符的文件 # 查看当前目录(包含子目录)下文件名中带有 .mid 的文件 find . -type f -name "*.mid* # 查看当前目录(包含子目录)下文件名中带有 .mid 的文件,并列出个数 find . -type f -na 阅读全文
posted @ 2022-03-14 16:57 alisleepy 阅读(1660) 评论(0) 推荐(0)
摘要: flask的部署:gunicorn + supervisor + flask 背景:使用flask部署了一个发送请求的小工具给RD使用,部署在开发机上,但是提供外部使用时不太适合使用flask自带的web服务器,在这采用gunicorn + supervisor + flask这个组合 工具作用: 阅读全文
posted @ 2022-02-24 13:11 alisleepy 阅读(509) 评论(0) 推荐(0)
摘要: python解析pb二进制文件,写入明文文本 背景: 在项目中需要解析pb二进制文件,转为明文,写入txt文本中保存,同时转为由分隔符进行分隔的行列式结构,在这记录一下这个过程,以下列出了两种方法:方法二存在bytes解析失败的问题,采取方法一: 主要由以下四步组成: 1、二进制数据反序列化 2、反 阅读全文
posted @ 2022-02-08 14:55 alisleepy 阅读(3199) 评论(0) 推荐(0)
摘要: # python打印当前行数 print '当前行数:' + str(sys._getframe().f_lineno) 阅读全文
posted @ 2022-02-07 11:40 alisleepy 阅读(1147) 评论(0) 推荐(0)
摘要: shell获取文件名中包含特定字符的文件个数 背景:统计自动化case中文件名包含'P0_'的文件个数,在这记录一下 # 命令 ll caseDir | grep -c P0_ # ll列出文件下的文件,管道给 grep ,核心的 -c参数,获取个数 阅读全文
posted @ 2022-01-29 10:33 alisleepy 阅读(683) 评论(0) 推荐(0)
摘要: shell在文件末尾加入换行或者空行 背景:需要合并多个日志文件,cat合并时发现有些行追加方式有问题,主要原因就是没有在文件尾行追加数据,所以通过命令在文件尾行加一个空行 # 在a.txt文件末尾加一行空行 echo "" >> a.txt 阅读全文
posted @ 2022-01-19 20:17 alisleepy 阅读(4280) 评论(0) 推荐(0)
摘要: vue - 封装request.js 背景:个人在做一个业务项目练手,从0搭建vue,遇到的一点问题记录一下 封装request.js,用来请求 import axios from 'axios'; import qs from 'qs'; const service = axios.create( 阅读全文
posted @ 2021-12-25 21:05 alisleepy 阅读(1874) 评论(0) 推荐(0)
摘要: php操作redis的一些基本操作 背景:个人学习redis,php操作redis基本操作,记录一下,后续也可以完善完善作为一个工具类使用 代码如下: <?php /** * Created by PhpStorm. * User: wkk * Time: 2021/12/5 - 00:04 * D 阅读全文
posted @ 2021-12-05 22:58 alisleepy 阅读(429) 评论(0) 推荐(0)
摘要: Redis - 秒杀功能:不带锁的 1、秒杀功能:有限的商品,大量的用户同时抢购,主要功能难点:高并发 2、redis实现原理:使用redis链表,进行pop操作,因为pop操作是原子性的,即使同时有大量用户同时请求,也是依次执行 3、准备工作: 1)提前将商品ID写入数据库 2)设置定时任务,开始 阅读全文
posted @ 2021-12-05 22:54 alisleepy 阅读(338) 评论(0) 推荐(0)
摘要: Redis - 事务操作 1、Redis事务:redis事务是一个单独的隔离的操作,事务中的所有命令都是序列化执行,事务在执行过程中不会被其他客户端的命令打断 2、作用:就是串联执行多个命令,防止其他别的命令插队 3、操作命令: 1)multi:开启事务 2)exec:执行命令操作,类似于mysql 阅读全文
posted @ 2021-12-05 22:47 alisleepy 阅读(219) 评论(0) 推荐(0)
摘要: Redis - 持久化操作 1、redis的持久化:每隔一段时间自动或者主动触发,将内存中的redis数据写入本地磁盘的操作,实现数据永久保存,即持久化操作 2、redis持久化操作: 1)数据快照(RDB):根据配置,每隔一段时间触发将redis中的数据写到磁盘中的dump.rdb文件中 缺点:r 阅读全文
posted @ 2021-12-05 22:44 alisleepy 阅读(266) 评论(0) 推荐(0)