自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 VSCode使用技巧

VSCODE

2023-01-11 15:09:46 169

原创 windows 常用命令

windows 命令

2022-10-07 16:11:26 192

原创 ‘chromedriver‘ executable needs to be in PATH的问题

下载对应的Chromedriver版本下面有两个下载地址:1.https://npm.taobao.org/mirrors/chromedriver/2.http://chromedriver.storage.googleapis.com/index.html我个人比较喜欢第一个链接下载,打开链接,如下图所示,找到与你电脑上谷歌对应的版本。比如我的谷歌版本是91.0.4472.77,我下载对应的chromedriver的版本是91.0.4472.19,点击进去之后,如果你是windows系.

2022-05-26 13:29:21 219

原创 延时双删(redis-mysql)数据一致性思考

2022-05-12 12:03:32 1134

原创 php如何实现多继承

php是个单继承的语言,可以用interface或trait实现多继承。trait我用的比较多,就是代码片段,比如某个trait定义了几个function,在类引用该trait后,该类也会有这几个成员函数。trait的使用场景:试想这样一种情况,当有一个方法需要在很多的类中使用时,该怎么处理?通常一般的处理方式会是,写一个基础类,在基类中实现这个方法,然后所有类都继承这个基类这是一种处理方法,但不是最好的处理方式。通常采用继承的情况是:几个类具有很大的相似性。比如人作为一个基类,学生、工人、等继承

2022-05-11 19:39:56 1233

原创 开发时如何测试指定时间

1.0 设置服务器时间为本地时间date_default_timezone_set(‘PRC’);2.0 设置本地时间为指定时间i) 按WIN+R打开运行窗口,输入timedate.cpl按回车键确认打开。ii)点击更改日期和时间调试

2022-03-01 14:20:13 266

原创 xshell 免费版

下载地址:https://www.netsarang.com/en/xshell/

2021-07-02 15:18:19 219

原创 git 密码问题

一、git 安装后 pull/push 等命令需要输入密码1.0 进入.ssh目录2.0 生成ssh 密钥 ssh-keygen -t rsa -C "xxxxx@xxxxx.com"3.0 将公钥添加到gitlab 中二、tortoiseGit pull/push 等需要输入密码1.0 puttyGenerator 点击import key ,选择在刚刚生成的id_rsa[私钥],点击Save private key按钮,保存即可将私钥转换为ppk格式2.0 点击pageant工具,

2021-06-24 18:38:12 973

原创 IoC模式(依赖、依赖倒置、依赖注入、控制反转

设计模式

2021-06-06 15:28:48 151

原创 设计模式-依赖倒置

高层模块不应该依赖低层模块,两者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。

2021-06-06 15:20:54 70

原创 RabbitMQ消息丢失问题和保证消息可靠性

工作中经常用到消息中间件来解决系统间的解耦问题或者高并发消峰问题,但是消息的可靠性如何保证一直是个很大的问题,什么情况下消息就不见了?如何防止消息丢失?

2021-06-02 11:20:57 87

原创 rabbitmq 理论知识

Queue消息队列,提供了FIFO的处理机制,具有缓存消息的能力。rabbitmq中,队列消息可以设置为持久化/临时/自动删除。设置为持久化的队列,queue中的消息会在server本地硬盘存储一份,防止系统crash,数据丢失设置为临时队列,queue中的数据在系统重启之后就会丢失设置为自动删除的队列,当不存在用户连接到server,队列中的数据会被自动删除...

2021-06-01 09:43:14 189

原创 PHP Rabbitmq demo示例

在RabbitMQ中消费者有2种方式获取队列中的消息:a) 一种是通过basic.consume命令,订阅某一个队列中的消息,channel会自动在处理完上一条消息之后,接收下一条消息。(同一个channel消息处理是串行的)。除非关闭channel或者取消订阅,否则客户端将会一直接收队列的消息。b) 另外一种方式是通过basic.get命令主动获取队列中的消息,但是绝对不可以通过循环调用basic.get来代替basic.consume,这是因为basic.get RabbitMQ在实际执行的时候

2021-05-28 17:12:27 337

原创 windows 安装amqp 扩展

下载 amqp 扩展需要根据当前php版本决定扩展下载地址:http://pecl.php.net/package/amqpphp 安装 扩展注:一定要下载php 对应版本扩展,否则会报错

2021-05-27 15:04:46 166

原创 CentOS 7.0 安装 rabbitmq

安装erlang由于rabbitmq是基于erlang语言开发的,所以必须先安装erlang安装依赖yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget gtk2-devel binutils-devel安装RabbitMQ启动命令WEB管理用户管理登陆参考资料:https://www.cnblogs.com/fengyumeng/p/11133924.html...

2021-05-25 16:10:37 106

原创 HTTP请求中 request payload 和 formData 区别

FormData和Payload是浏览器传输给接口的两种格式,这两种方式浏览器是通过Content-Type来进行区分的(了解Content-Type),如果是 application/x-www-form-urlencoded的话,则为formdata方式,如果是application/json或multipart/form-data的话,则为 request payload...

2021-05-11 16:10:39 3263

原创 Google 浏览器 安装 postman

一、 下载postman 插件地址: 百度网盘 提取码:uuyo二、保存本地下载后,将压缩包保存在本地并解压三、打开谷歌浏览器加载扩展程序四、如下图,将postman固定在导航栏

2021-05-11 13:58:03 367

原创 git 命令

查看git 所有分支:git branch -agit checkout v1.0-20210419

2021-04-20 16:21:35 90

原创 Laravel命令

创建文件:php artisan make:controller TestController php artisanmake:controller Admin\GoodsController

2021-04-20 12:39:48 111

原创 基理科技

2021-04-11 17:01:27 186

原创 米居

2021-04-11 16:52:52 80

原创 韩创科技

2021-04-11 16:48:21 231

原创 黑玥科技

2021-04-11 16:37:36 107

原创 阿拉丁生化

2021-04-11 16:27:51 105

原创 上汽大通

2021-04-11 16:14:34 117

原创 Redis分布式锁

什么是分布式锁当多个系统对同一数据进行修改时,并且要求这个修改是原子性的,那么就要应用到分布式锁。分布式锁的应用场景秒杀时解决库存超卖问题分布式锁的特点i)互斥性任意时刻,只有一个客户端能够持有锁ii)不会发生死锁即使有一个客户端在持有锁的期间崩溃而没有主动解锁,也能保证后续其他客户端加锁成功iii)容错性只要大部人的redis节点正常运行,客户端就可以加锁和解锁iiii)解锁加锁和解锁必须为同一个客户端,客户端不能解锁他人的锁常用redis命令setnx: key不存在时,为k

2021-04-06 19:57:45 84

原创 Mysql联合索引原理 之 最左匹配原则

https://blog.csdn.net/qq_27559331/article/details/89632566?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161708510916780255216542%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=161708510916780255216542&biz_id=0&a

2021-03-30 14:26:43 246 1

原创 Linux 三剑客 grep sed awk

十四、查看日志1.0 cat -n xxx.log 查看文件并显示行号2.0 head -n 10 xxx.log 查看文件前10行3.0 head -n -10 xxx.log 查看文件至倒数第十行(最后10不显示)4.0 tail -n 10 xxx.log 查看文件最后10行5.0 tail -n +10 xxx.log 查看文件前10行i) 根据关键词过滤cat -n test.log |grep “关键词” ,获取到关键词所在行行信息及行号,假设行号为100cat -n test

2021-03-30 11:01:57 122

原创 Session 和 Cookie 和 token 的前世今生

引入:我们都知道 http 协议本身是一种无状态的协议,一个普通的http请求简单分为三步:客户端发送请求request服务端收到请求并进行处理服务端将结果respond给客户端对于服务端来说服务端如何知道当前请求的客户端是哪个用户如何保证每次请求,服务器都知道是哪个用户一、cookie什么是cookiecookie 就是存储在客户端的一段数据,采用的是在客户端保持 HTTP 状态信息。cookie 的产生背景随着互联网的发展,已经不仅仅是浏览网页了,越来越多的交互式网站兴起,如在线购

2021-03-26 16:13:15 227

原创 关系型数据库表结构设计-三大范式

关系型数据库可以看作一个大的集合,数据库中每张表可以认为是这个集合中的每个元素。每个数据表又可以看作一个小的集合,表中的数据为该集合的元素。如果让我们根据项目设计一个关系数据库,来存储项目数据,我们该如何设计一个冗余小,结构合理的数据库呢?为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式

2021-03-17 15:39:22 1861

原创 PHP 面试-redis

什么是缓存穿透什么是缓存击穿单机redis 与 集群redisredis数据过期策略是什么

2021-01-07 09:37:56 109

原创 Mysql 数据库系列

Mysql 中 MyISAM 和 InnoDB 的区别InnoDB所有的表都保存在同一个数据文件中。 MyISAM每张表被存放在三个文件:frm-表格定义、MYD(MYData)-数据文件、MYI(MYIndex)-索引文件;InnoDB 支持外键,而 MyISAM 不支持。InnoDB 是聚簇索引,MyISAM 是非聚簇索引。InnoDB 支持事务,MyISAM 不支持事务。InnoDB 最小的锁粒度是行锁,MyISAM 最小的锁粒度是表锁。一个更新语句会锁住整张表,导致其他查询和更新都会被阻

2021-01-07 09:33:44 142

原创 PHP: Redis 常用命令整理

Redis 连接 $Redis = new \Redis(); // 1.0 连接 $Redis ->connect('127.0.0.1', 6379); //2.0 密码登陆 $Redis ->auth(['pass' => '123456']); //3.0 选择数据库 $Redis ->select(1);注:Redis命令(不区分大小写), 均可:sadd/sAdd/Sadd……/********************************通用**

2020-11-12 20:00:55 183

原创 PHP 面向对象之魔术方法

2020-11-12 18:31:48 100

原创 Linux 安装编译扩展中 ./configure: No such file or directory

本人是在虚拟机中重装了新的Linux系统,测试安装redis遇到这个情况,记录下解决步骤1.0 安装make 命令,后续编译要用#安装: yum -y install gcc automake autoconf libtool make#查看: make -v2.0 安装 autoconf,生成configure文件要用#下载安装包 wget http://mirrors.kernel.org/gnu/autoconf/autoconf-2.69.tar.gz#解压安装包 tar -xzv

2020-11-11 16:21:43 8891

原创 存储过程捕捉异常

BEGIN TRY---------开始捕捉异常 BEGIN TRANSACTION----------------------开始事务 EXEC ProcName @ProcParam-----------执行存储过程[报错,则错误信息会被捕捉] COMMIT --------------------------------提交事务END TRY-----------结束捕捉异常BEGIN CATCH------有异常被捕获 IF @@TRANCOUNT > 0-

2020-11-10 14:57:23 1359

原创 三方平台管理公众号----公众号授权

三方平台创建成功,并且解密获取到验证票据(component_verify_ticket)即可开始公众号/小程序授权流程

2020-11-07 12:24:08 660

原创 PHP exception 分析

PHP 中将代码自身异常(一般是环境或者语法所致)称作错误 Error,将现运行的逻辑错误称为异常 Exceptionphp中的错误: 总共有16错误级别, 主要的错误等级如下: 1. deprecated: 最低级别的错误,表示"不推荐, 不建议"。这类错误一般由于使用了不推荐的、过时的函数或语法造成。不影响程序正常运行,但建议修正。 2. notice: 一般指语法中存在不恰当的地方。如使用变量但是未定义就会报此错误。不影响程序正常流程。 3. warning: 较高级别的错误,在语法.

2020-11-06 19:36:36 283

原创 三方平台管理公众号----component_verify_ticket

三方平台创建成功后,微信会每隔10min 发送一次component_verify_ticket,地址:授权事件接收ULR

2020-10-28 11:55:17 720

原创 三方平台管理公众号----创建第三方平台

由于公司接的客户越来越多,关于营销推广方面的公众号和小程序由客户自己配置和管理很不方便,故采用三方平台通过授权,授权后统一由我们自己管理。下面说一下三方平台的创建过程注:下面相关配置,需结合后面授权流程和授权成功后,运行三方公众号和小程序,更能清楚每个配置具体意义。1.0 登录微信开放平台—>管理中心---->第三方平台—>创建第三方平台2.0 基本信息按照如下图填写即可3.0 权限根据实际需求进行勾选即可4.0 授权相关配置5.0 授权后,三方公众号、小程序相关

2020-10-28 10:51:16 920

空空如也

空空如也

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

TA关注的人

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