自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Python装饰器

在上面的例子中,我们定义了一个装饰器 timer,它接受一个函数作为参数,并返回一个新函数 wrapper。在 wrapper 函数中,我们先记录函数执行的开始时间,然后执行原始函数,并记录结束时间。Python 装饰器(Decorators)是 Python 语言中一种很有用的语法特性,它允许在代码运行时动态地修改函数或类的行为。我们将 @timer 放在 my_function 函数定义前面,这样就可以自动应用 timer 装饰器,实现记录函数执行时间的功能。

2023-03-21 20:55:11 162 1

原创 PHP配置默认SSL CA证书,curl访问https地址错误cURL error 60

问题描述项目中使用GuzzleHttp请求 https 时会报错:GuzzleHttp\Exception\RequestException : cURL error 60: SSL certificate problem: certificate has expired (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)’下载新的CA证书官网地址:https://curl.se/docs/caextract.html下载地址:h

2021-10-19 10:05:49 1160

原创 记一次数据从Mysql转存到MongoDB

目的背景考虑将系统日志表中的数据迁移到MongoDB中从Mysql中导出.csv文件选择csv文件格式指定字段保留字段名、 时间格式化将csv文件导入到Mongodb中mongoimport -h 127.0.0.1 -d qh-workspace-dev -c qh_activity_log --type csv --headerline --drop --file Desktop/qh_activity_log.csv结果...

2021-08-26 14:09:05 733 3

原创 Kibana安装启动(on MacOS)

说明Kibana 是一个免费且开放的用户界面,能够让您对 Elasticsearch 数据进行可视化,并让您在 Elastic Stack 中进行导航。您可以进行各种操作,从跟踪查询负载,到理解请求如何流经您的整个应用,都能轻松完成。安装我们在进行Elasticsearch安装时,使用了Elastic Tap现在通过下面命令进行安装:brew install elastic/tap/kibana-full查看版本kibana --version启动kibana进入Kiba

2021-05-07 16:56:48 1032 4

原创 Elasticsearch安装启动(on MacOS)

安装Elastic推出官方 Elastic Homebrew Tap。通过 brew tap elastic/tap 即可使用 Elastic Tapbrew tap elastic/taptap Elastic Homebrew存储库后,既可以安装 Elasticsearch 默认分发包,也可以安装 OSS 分发包。默认:brew install elasticsearch-fullOSS:brew install elasticsearch-oss查看版本elasticsear

2021-05-07 15:34:20 678

原创 如何安全的使用Redis

Redis的安全隐患线上运行的 Redis 服务主要有哪些安全隐患呢?和 MySQL 不同,Redis 默认是没有配置密码认证的,如果为了方便运维,开放了监听的客户端地址限制(默认只监听来自 127.0.0.1 的请求),则相当于把 Redis 服务裸跑在公网服务器上,所有人都可以通过默认的 6379 端口与之建立连接并发送请求,甚至运行 flushdb 之类的命令清空 Redis 数据库的所有内容,是不是细思极恐?此外,如果应用使用了 Redis 构建缓存系统,通常会在应用发布内容后新增缓存,.

2021-05-07 10:45:40 439 7

转载 基于 Redis 实现分布式 Session 存取及底层源码探究

原文链接:https://mp.weixin.qq.com/s/_Sdf56HKhQXd1naCGgbhzA原文作者:xueyuanjunSession 存储器选择Laravel 没有使用 PHP 内置的 Session 功能,而是自行实现了一套 Session 组件,和其他 Laravel 系统组件一样,Session 组件也支持多种驱动作为存储器实现,包括文件、数据库、Memcached、Redis 等,默认使用的是文件驱动:SESSION_DRIVER=file如果应用只部署在一台服.

2021-01-24 20:25:19 4538 4

原创 MP4视频播放问题(有声音无图像)分析与解决——FFmpeg视频处理教程

项目开发中,测试人员反应存在部分视频无法正常播放,赶紧去查看什么原因:发现有些视频只有声音没有影像,但是这些视频下载到本地是可以正常播放的,此时脑海中就大概知道了什么问题:应该是视频本身编码的问题,于是就去查看视频编码「可以正常播放的视频编码为H.264,有声音无影像的视频编码为HEVC」可以正常播放视频编码有声音无影像的视频编码为了验证这个想法的准确性,先使用工具将视频编码转为H.264,再上传,果然可以正常播放问题找到了,开始解决吧,实际中也不可能让用户自己去转视频编码后再来上传吧,所.

2021-01-19 21:54:29 13526 4

原创 Mac 下如何更新 PHP 到 8.0 版本?(多版本可切换)

先更新本地的 Homebrew首先确保本地的 brew 是最新的:brew update接下来,开始升级 PHP. 你可以继续使用内置的 php 配置,也可以点击 shivammathur/homebrew-php. 不过建议使用第二种,因为它可以让你轻松的安装多个 PHP 版本并进行切换.\普通升级brew upgrade php使用 shivammathur/homebrew-php 升级brew tap shivammathur/phpbrew install shivammat.

2021-01-09 16:59:01 8325 1

原创 composer.lock(锁文件)到底要不要提交到项目的版本库中?

最近面了近20位应聘者,在针对composer.lock这个锁文件在项目开发中,要不要提交到版本库中?有十几位小伙伴的答案都是不要。下面就来说说这个锁文件的作用,以及为什么需要将composer.lock提交到版本库中;在安装依赖后,Composer 将把安装时确切的版本号列表写入 composer.lock 文件。这将锁定改项目的特定版本。请提交你应用程序的 composer.lock (包括 composer.json)到你的版本库中这是非常重要的,因为 install 命令将会检查锁文件是.

2020-11-26 14:38:20 6165 4

原创 PHP8所有新特性

PHP 8 正式版即将发布,是时候来看看 PHP 8 即将推出的新特性了首先来安装PHP8下载地址本地编译安装 PHP 8 RC2 版本(MAC操作系统)# 0、下载解压源码wget https://downloads.php.net/~pollita/php-8.0.0RC2.tar.gztar zxvf php-8.0.0RC2.tar.gzcd php-8.0.0RC2# 1、生成 configure 文件./buildconf --force# 2、配置构建流程(最小化.

2020-11-11 13:58:07 5638

原创 Redis中,必须知道的那些事(Redis面试必问)

提到Redis,相信大多数开发者在面试或者实际开发过程中对缓存雪崩,穿透,击穿并不陌生吧;下面就来看看这三者到底有什么区别?又如何防止这种情况发生呢?先来看看什么是缓存雪崩开发中,针对系统中的热点数据都会去做缓存 ,一般缓存都是定时任务去刷新,或者是查不到之后去更新的,定时任务刷新就有一个问题:举个简单的例子:如果所有热点数据的Key失效时间都是12小时,中午12点刷新的,零点的时候(距离中午刷新点刚好过了12个小时)因某种原因(活动,促销等)有大量用户涌入,假设当时每秒 6000 个请求,本.

2020-09-01 22:07:31 4468 1

原创 TTF字体文件内容获取

项目开中,在等级证书打印的模块中,规定使用指定的字体,但是涉及到了广大考生的姓名就出现了问题.因中国文化博大精深,考生的名字也是丰富多彩的,在打印证书的过程中,发现规定使用的字体根本不够用,总有一些考生的姓名中包含有生僻字,结果就会出现PDF证书上面名字打印不出来.总结:在使用字体渲染某些字符时,有可能渲染出空白或者“口”字形,原因在于该字体文件中不包含该字符的字形。出现这个问题后,首先想到的是在生成证书之前,对广大考生的姓名进行扫描检测,事先知道哪些考生姓名中的字在规定使用的字体中不存在,这时候.

2020-08-17 23:59:35 9481 8

原创 解决Laravel7.* 模型返回时间格式及时区不正确

开发新项目的时候用了Laravel 7.* 版本,记录下此版本中对日期序列化的变化.首先,配置了框架中的时区[‘timezone’ => ‘PRC’],数据库中存储的时间戳也正确。但是当使用 Model 查询时,返回的时间仍然为 UTC 时间(世界协调时间);尝试了使用:protected $casts = [ 'created_at' => 'datetime:Y-m-d H:i:s', 'updated_at' => 'datetime:Y-m.

2020-06-30 16:34:32 10327 4

原创 convert: no images defined

问题描述:一次开发中,我需要将PDF文件中的照片裁剪下来,并转换为image文件.但是当我尝试通过以下方式进行转换时:convert -density 72 -crop 93x121+75+247 "/Users/zhouqinghe/Desktop/证书文件_8080782019-10-25_15_47_03.pdf[1]" "/Users/zhouqinghe/Desktop/photo_1.jpg"遇到了以下错误:convert: no images defined `/Users/

2020-06-05 16:22:55 6464

转载 ssh技巧之跳板机

在管理外网服务器时,出于安全等因素的考虑,我们一般不会把所有服务器都设置成可ssh直连,而是会从中挑选出一台机器作为跳板机,当我们想要连接外网服务器时,我们要先通过ssh登录到跳板机,再从跳板机登录到目标服务器。下面我们用实验来展示一下跳板机的登录流程。在该实验中,我们用机器192.168.57.3来代表目标服务器,该服务器不能ssh直连,只能通过跳板机连接,用机器192.168.56.5来代表跳板机,该跳板机可以用ssh直接连接。为了方便测测试,我们先把我们自己电脑上的ssh的public key拷

2020-05-27 18:02:49 7349

转载 解决SSH免密登录配置成功后不生效问题

问题描述今天配置SSH免密登录时,使用 ssh-keygen 命令成功生成了公钥和私钥,并且也执行了 ssh-copy-id 机器地址 将公钥添加到了服务器的authorized_keys文件中。紧接着用 service sshd restart 命令重启了SSH服务,但当执行 ssh 登录命令时仍然需要密码。解决方案一、查看系统安全日志,定位问题执行 sudo cat /var/log/secure 查看系统的安全日志,然后再安全日志中看到SSH登录过程中提示了如下错误:二、解决SSH Au

2020-05-20 16:35:56 5616

原创 MySQL针对某一字段出现多次重复值处理(删除多余,只保留一条)

解决思路: 删除表中多余的重复记录,重复记录是根据单个字段 (字段1) 来判断,只保留id最小的记录.根据以上思路有了下面SQL语句:DELETE FROM table_name WHERE 字段1 IN ( SELECT 字段1 FROM table_name GROUP BY 字段1 HAVING count( 字段1 ) &g...

2020-04-27 12:01:36 5535

原创 一位有着12年经验技术经理给的性能优化建议

来不及了,快上车????:导入时间做聚集索引所有查询语句的where中导入时间做为第一查询条件默认为近3个月,其他时间可以增加选择。排序字段也需要用到索引。除了以上导入时间做聚集之外,在我认为所有查询条件中肯定有不常用的,就对常用搜索条件就做非聚集索引。默认不要显示100条,显示20~30足以,如果对方强求显示多条的话,可以考虑增加鼠标滚动事件,动态加载数据。所有统计数据,可以考虑每天...

2020-04-20 14:39:47 4393

原创 关于MySQL,你应该掌握哪些?

1、先来了解下MySQLMySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。MySQL是一种关系型数据库管理系统,关系数据库将数据...

2020-04-20 14:28:32 4727

原创 一个简单的Mysql备份(可排除指定的表) Shell脚本

???? 身为开发者,在开发过程中做好数据备份是非常重要的,一般情况下就是写个shell脚本定时跑,下面就是一个简单的备份脚本:#!/bin/bash#用户名USER=your_db_username#密码PASSWORD=your_db_passwd#数据库名DATABASE=your_db_name#mysqldump# --ignore-table : 备份中需要排除的表的表名...

2020-04-17 18:36:02 4908

转载 常用的 PHP 类库 , 资源

学习资源原文作者:AR414原文链接:https://learnku.com/articles/40507许可协议链接:https://learnku.com/docs/guide/cc4.0/6589PHP相关的有参考价值的社区,博客,网站,文章,书籍,视频等资源PHP网站(PHP Websites)PHP The Right Way - 一个PHP实践的快速参考指导...

2020-04-02 16:22:45 5713

原创 Laravel中针对集合进行分页

在开发的过程中,遇到过一些需求;需要在分页之前对数据进行一些调整(如:为每条数据增加一个属性「可根据此属性进行查询或筛选」),此时我想到的一个方案就是手动对查询出来的集合进行分页。代码示例:public function index(Request $request){ //获取学生数据 并 为每一个学生数据增加一个自定义属性 $students = Student::all() ...

2020-03-03 16:39:09 6537

原创 Redis基础的问与答

1⃣️、为什么要用Redis因为传统的关系型数据库如MySQL已经不能适用所有的场景了,比如秒杀的库存扣减,访问流量高峰等等,这些都很容易使数据库崩溃掉,所以引入了缓存中间件,目前比较常见的缓存中间件有Reids和Memcached,中和考虑它们的优缺点,最终选择了Redis来作为缓存中间件。2⃣️、Redis有哪些数据库结构?常用的五种基本数据类型:String(字符串)、Hash(字典...

2020-02-15 14:52:41 6552

转载 如何撤销Git操作?(阮一峰)

Git 版本管理时,往往需要撤销某些操作。本文介绍几种最主要的情况,给出详细的解释。更多的命令可以参考《常用 Git 命令清单》一文。一、撤销提交一种常见的场景是,提交代码以后,你突然意识到这个提交有问题,应该撤销掉,这时执行下面的命令就可以了。$ git revert HEAD上面命令的原理是,在当前提交后面,新增一次提交,抵消掉上一次提交导致的所有变化。它不会改变过去的历史,所以...

2020-02-12 12:16:42 4638

转载 常用 Git 命令清单(阮一峰)

我每天使用 Git ,但是很多命令记不住。一般来说,日常使用只要记住下图6个命令,就可以了。但是熟练使用,恐怕要记住60~100个命令。下面是我整理的常用 Git 命令清单。几个专用名词的译名如下。???? Workspace:工作区????Index / Stage:暂存区????Repository:仓库区(或本地仓库)????Remote:远程仓库一、新建代码库# 在当前目录新建一个Git代码...

2020-02-12 12:14:39 4817

原创 记一次使用WebHook实现Coding上面的代码自动部署

1. 打开宝塔面板=>软件管理=>下载WebHook2.点击设置=>添加Hook3.Shell脚本#!/bin/bash#输出当前时间date --date='0 days ago' "%Y-%m-%d %H:%M:%S"echo "=====开始====="#判断宝塔WebHook参数是否存在if [ ! -n "$1" ];then ...

2020-01-04 23:33:47 5163 3

原创 Laravel队列任务过期 & 超时

任务过期 & 超时任务过期 在配置文件 config/queue.php 中,每个连接都定义了 retry_after 项。该配置项的目的是定义任务在执行以后多少秒后释放回队列。如果retry_after 设定的值为 90, 任务在运行 90 秒后还未完成,那么将被释放回队列而不是删除掉。毫无疑问,你需要把 retry_after 的值设定为任务执行时间的最大可能值。注:只有 Ama...

2019-12-25 14:33:27 9516 1

原创 Docker搭建Mysql主从复制、读写分离

拉取MySQL容器镜像???? 这里我指定了MySQL的版本为5.7; 如果想要拉取最新版本的MySQL,使用命令docker pull mysql:latestdocker pull mysql:5.7查看MySQL镜像是否拉取成功docker images创建MySQL容器创建主数据库容器docker run --name mskj-test-master -p 13...

2019-12-23 19:30:34 4917

原创 Centos7中Docker的安装

卸载旧版本较旧的Docker版本称为docker或docker-engine。如果已安装这些程序,请卸载它们以及相关的依赖项。$ sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \...

2019-12-19 18:59:20 4312

转载 curl的用法指南(阮一峰)

简介curl是常用的命令行工具,用来请求Web服务器,它的名字就是客户端(client)的URL工具的意思。它的功能非常强大,命令行参数多达几十种。如果熟练的话,完全可以取代Postman这一类的图形界面工具。不带有任何参数时,curl就是发出GET请求。$ curl https://www.example.com上面命令向www.example.com发出GET请求,服务器返回的内...

2019-12-15 19:52:32 4637

转载 RESTful API 最佳实践(阮一峰)

RESTful 是目前最流行的 API 设计规范,用于 Web 数据接口的设计。它的大原则容易把握,但是细节不容易做对。本文总结 RESTful 的设计细节,介绍如何设计出易于理解和使用的 API。一、URL 设计1.1 动词 + 宾语RESTful 的核心思想就是,客户端发出的数据操作指令都是"动词 + 宾语"的结构。比如,GET /articles这个命令,GET是动词,/articl...

2019-12-12 21:24:28 4499

转载 SSH原理与运用(二):远程操作与端口转发

记录一下,方便日后查看SSH原理与运用(二):远程操作与端口转发

2019-12-06 22:24:36 4329

转载 SSH原理与运用(一):远程登录

记录一下,方便日后查看SSH原理与运用(一):远程登录

2019-12-06 22:20:04 4339

原创 Composer 全量镜像

记录一下,方便日后使用。阿里云 Composer 全量镜像:https://developer.aliyun.com/composer

2019-12-06 22:07:59 4366 1

原创 Mac 查看并关闭进程

查看进程:sudo lsof -i:9000关闭进程:sudo kill -9 PID

2019-12-06 11:00:15 5161

原创 Mac下配置phpStorm+Postman+Xdebug调试

安装 Xdebugxdebug 版本需要与php匹配;匹配地址 :???? 匹配地址???? 查看所有版本注: 不确定xdebug版本的,把**phpinfo()**的网页源代码全部复制到 https://xdebug.org/wizard 页面的文本框中,点击Analyse my phpinfo() output 跳转到下载配置页面,按页面提示流程安装即可。如下图:...

2019-12-05 16:18:20 5156

原创 HTTP响应状态码

HTTP 响应状态码 ????状态码说明100表示目前为止一切正常, 客户端应该继续请求, 如果已完成请求则忽略.101表示服务器应客户端升级协议的请求(Upgrade请求头)正在进行协议切换。103一般和 Link header(首部)一起使用,来允许用户在服务器还在准备响应数据的时候预加载一些资源。200表明请求已经成功. 默认情况下状态码为200的响...

2019-12-04 23:02:00 4706

原创 Laravel 5.6模型中常用属性

为了方便以后查询使用,在此整理Laravel模型的常用属性。 $fillable = [ //可批量填充的字段 ] $guarded = [ //不可批量填充的字段 (与上相反) ] $hidden = [ //模型转换为数组时应当隐藏的字段 ] $visable = [ //与 $hidden 相反 ] $appends = [ //模...

2019-12-04 22:02:53 4479

原创 Centos7部署Minio

GNU/Linux 安装 Minio下载二进制文件:wget https://dl.min.io/server/minio/release/linux-ppc64le/miniochmod +x miniomv minio /usr/local/mkdir -p /home/minio/data启动minio服务:/usr/local/minio server /home/m...

2019-11-27 10:02:02 7739

空空如也

空空如也

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

TA关注的人

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