自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

壹小俊

面试造火箭,工作拧螺丝

原创 php适配器模式

把实现了不同接口的对象通过适配器的方式组合起来放在一个新的环境 <?php namespace adapter; /** * 高级媒体接口 */ interface MediaAdvanceInterface { public function playMp4($file=&#...

2020-12-02 17:17:11 8 0

原创 php外观模式

把系统中类的调用委托给一个单独的类,对外隐藏了内部的复杂性,很有依赖注入容器的感觉哦 <?php namespace facade; /** * 动物接口 */ interface AnimalInterface { /** * 生产方法 * * @retur...

2020-12-02 15:59:23 8 0

原创 php享元(轻量级)模式

结构型模式 php享元(轻量级)模式 就是缓存了创建型模式创建的对象,不知道为什么会归在结构型模式中,个人觉得创建型模式更合适,哈哈~ 其次,享元强调的缓存对象,外观模式强调的对外保持简单易用,是不是就大体构成了目前牛逼哄哄且满大 的街【依赖注入容器】 下面我们借助最简单的’工厂模式‘来实现享元...

2020-12-02 15:37:26 8 0

原创 php桥接模式

结构型模式 php桥接模式 基础的结构型设计模式:将抽象和实现解耦,对抽象的实现是实体行为对接口的实现 例如:人 => 抽象为属性:性别 动作:吃 => 人吃的动作抽象为interface => 实现不同的吃法 <?php namespace bridge; /** ...

2020-12-02 14:57:04 5 0

原创 建造者模式

创建型模式 php建造者模式 简单对象构建复杂对象 基本组件不变,但是组件之间的组合方式善变 下面我们来构建手机和mp3 手机简单由以下构成 手机 => 名称,硬件, 软件 硬件又由以下硬件构成 硬件 => 屏幕,cpu, 内存, 储存, 摄像头 软件又由以下构成 软件 =...

2020-12-02 14:15:55 8 0

原创 原型模式

php原型模式 用于创建对象成本过高时 1.原型模式与工厂模式作用类似,都是用来创建对象 2.与工厂模式的实现不同,原型模式是先创建好一个原型对象,然后通过clone原型对象来创建新的对象,这样就免去了类创建时重复的初始化操作 3.原型模式适用于大对象的创建,创建一个大对象需要很大的开销,如果每...

2020-12-02 11:56:52 7 0

原创 抽象工厂模式

php抽象工厂模式 说说我理解的工厂模式和抽象工厂模式的区别: 工厂就是一个独立公司,负责生产对象; 抽象工厂就是集团,负责生产子公司(工厂); <?php namespace factoryAbstract; interface Factory { public functi...

2020-12-02 11:25:27 7 0

原创 工厂模式

创建型模式 工厂方法模式和抽象工厂模式的核心区别 工厂方法模式利用继承,抽象工厂模式利用组合 工厂方法模式产生一个对象,抽象工厂模式产生一族对象 工厂方法模式利用子类创造对象,抽象工厂模式利用接口的实现创造对象 工厂方法模式可以退化为简单工厂模式(非23中GOF) <?php names...

2020-12-02 10:50:47 15 0

原创 单例模式

<?php namespace singleton; /** * 单例 */ class Singleton { /** * 自身实例 * * @var object */ private static $_instance; /** * ...

2020-11-24 10:50:44 16 0

原创 php二维数组中插入一个元素

$arr['uid'] = $uid; array_walk($address, function (&$value, $key, $arr) { $value = array_merge($value, $arr...

2020-11-23 14:06:23 37 0

原创 mac安装Kafka

在自己的mac上安装Kafka,直接执行命令brew install kafka,结果报了如下提示: kafka: Java 1.8 is required to install this formula. JavaRequirement unsatisfied! You can instal...

2020-10-15 09:52:36 35 0

原创 brew安装RabbitMQ

brew install rabbitmq MQ的安装目录在/usr/local/Cellar/rabbitmq 安装RabiitMQ的可视化监控插件 // 切换到MQ目录,注意你的安装版本可能不是3.7.4 cd /usr/local/Cellar/rabbitmq/3.7...

2020-10-14 18:42:22 25 0

原创 git commit之后,想撤销commit

写完代码后,我们一般这样 git add . //添加所有文件 git commit -m "本功能全部完成" 执行完commit后,想撤回commit,怎么办? 这样凉拌: git reset --soft HEAD^ 这样就成功的撤销了你的commi...

2020-10-14 12:47:40 37 0

原创 git add后撤销

所有文件 git reset HEAD . 单个文件 git reset HEAD -filename git add * 多个文件可以 git reset HEAD . 单个文件 git reset HEAD 文件名

2020-10-14 12:27:59 18 0

原创 php数组函数array_column用法

一般array_column是获取二维数组的制定列,组成新的数组输出。今天看到有可以制定第三个参数,制定输出数组的key。 <?php $arr = [ [ 'id' => 1, 'name' =&g...

2020-10-13 20:31:37 29 0

原创 MacOS 的 zsh 和 bash 切换

zsh、bash 都是 shell,zsh 比 bash 更加强大,功能也更加完善,此篇文章说明 zsh 和 bash 之间的切换。Linux/Unix 产品一般默认的都是使用 bash。 1. 从 bash 切换到 zsh 1.1 使用系统自带的 zsh chsh -s /bin/zsh...

2020-10-13 19:55:55 32 0

原创 git如何新建分支,提交分支到远程服务器

1) 切换到基础分支,如主干 git checkout master 2)创建并切换到新分支 git checkout -b panda git branch可以看到已经在panda分支上 3)更新分支代码并提交 git add . git commit -m "init ...

2020-10-13 19:44:47 84 0

原创 please install the ext-async extension, using SwooleAsyncClient报错?

swoole版本在4.0以上后,swoole不在支持$client = new Swoole\Client(SWOOLE_SOCK_TCP,SWOOLE_SOCK_ASYNC);这种写法,需要安装另一个异步扩展。 swoole_async.so 这个扩展依赖swoole,比如说,swoole...

2020-10-05 09:00:25 157 0

原创 Kafka使用Connect来导入/导出数据

首先看官方文档: 从控制台读出数据并将其写回是十分方便操作的,但你可能需要使用其他来源的数据或将数据从Kafka导出到其他系统。针对这些系统, 你可以使用Kafka Connect来导入或导出数据,而不是写自定义的集成代码。 Kafka Connect是Kafka的一个工具,它可以将数据导入和...

2020-09-29 14:17:47 75 0

原创 MQ理解……消息队列的使用场景是怎样的?

个人认为消息队列的主要特点是异步处理,主要目的是减少请求响应时间和解耦。所以主要的使用场景就是将比较耗时而且不需要即时(同步)返回结果的操作作为消息放入消息队列。同时由于使用了消息队列,只要保证消息格式不变,消息的发送方和接收方并不需要彼此联系,也不需要受对方的影响,即解耦和。 使用场景的话,举...

2020-09-29 10:06:25 26 0

原创 消息队列的使用场景是怎样的?

小红是小明的姐姐。 小红希望小明多读书,常寻找好书给小明看,之前的方式是这样:小红问小明什么时候有空,把书 给小明送去,并亲眼监督小明读完书才走。久而久之,两人都觉得麻烦。 后来的方式改成了:小红对小明说「我放到书架上的书你都要看」,然后小红每次发现不错的书都 放到书架上,小明则看到书架上有书就...

2020-09-29 09:45:05 80 0

原创 kafka设置多代理集群

到目前为止,我们一直在使用单个代理,这并不好玩。对 Kafka来说,单个代理只是一个大小为一的集群,除了启动更多的代理实例外,没有什么变化。 为了深入了解它,让我们把集群扩展到三个节点(仍然在本地机器上)。 首先,为每个代理创建一个配置文件 (在Windows上使用copy命令来代替): ...

2020-09-28 17:57:58 84 0

原创 laravel 请求request 接收参数

今天在二次开发得时候看到$request->has(),发现了一个修改方法解耦得操作,于是,查询了关于laravel这方面得资料。如下: 获取所有输入值 $input = $request->all(); 获取单个输入值 使用一些简单的方法,就可以从Illuminate\H...

2020-09-28 14:23:00 134 0

原创 HTTP提交方式之PATCH

在使用postman请求接口得时候,使用get,post得时候我们是使用body下form-data来传输数据得,但是使用patch时候就不是了,默认是以x-www-form-urlencoded的contentType来发送信息,并且信息内容是放在request的body里。 PUT方法和PA...

2020-09-28 14:18:35 302 0

原创 kafka生产/消费消息

发送一些消息 Kafka自带一个命令行客户端,它从文件或标准输入中获取输入,并将其作为message(消息)发送到Kafka集群。默认情况下,每行将作为单独的message发送。 运行 producer,然后在控制台输入一些消息以发送到服务器。 1 2 3 ...

2020-09-27 17:30:43 39 0

原创 kafka创建一个 topic(主题/分片)

让我们创建一个名为“test”的topic,它有一个分区和一个副本: 1 > ./kafka-topics.bat--create --zookeeper localhost:2181 --replication-factor 1 --partitions 1...

2020-09-27 17:14:58 139 0

原创 laravel 软链接创建

当你想在laravel下使用软链接来访问静态资源时,不需要跳转目录,应为laravel支持软链接。如下 微软电脑得软链接更像快捷方式:但是呢,使用命令比较好一点,运行cmd(管理员身份运行): windows命令: mklink /d C:\phpstudy_pro\WWW\zp.doitba...

2020-09-27 16:35:41 102 0

原创 win下kafka启动服务器

Kafka 使用ZooKeeper如果你还没有ZooKeeper服务器,你需要先启动一个ZooKeeper服务器。 您可以通过与kafka打包在一起的便捷脚本来快速简单地创建一个单节点ZooKeeper实例。 1 2 3 >./zookeepe...

2020-09-27 14:21:29 34 0

原创 win下kafka安装

安装kafka 下载需要的软件并解压,下载地址: http://kafka.apache.org/downloads.html 进入kafka安装目录的config目录,修改server.properties文件,如修改的地方如下:把log.dirs改成自己的目录,一般在kafka安装目录下新建文...

2020-09-27 14:16:18 27 0

原创 kafka启动,文件被使用或者无法访问

清除C:\Users\86152\phpstudy_prokafka_2.12-1.0.0log 目录下日志,然后再次启动,可能目录不一样,根据上图返回得不可访问得路径来清理

2020-09-27 14:13:48 29 0

原创 Target [Medz\Cors\CorsInterface] is not instantiable while building [Medz\Cors\Laravel\Middleware\Co

laravel框架更新项目后,报错如标题 Target [Medz\Cors\CorsInterface] is not instantiable while building [Medz\Cors\Laravel\Middleware\Cors]. (目标[Medz\Cors\CorsInt...

2020-09-25 16:24:05 101 0

原创 Laravel错误:用于反序列化‘Symfony \ Component \ Routing \ CompiledRoute‘的错误数据格式

项目二次开发时,第一次运行报错,如标题,请看下面解决方式 在与Laravel Envoy进行实验时,我遇到了同样的错误。我认为我将7.0版的Envoy拉到了我的Laravel 5.8版应用程序中。为我解决此问题的方法是rm -fr bootstrap/cache/*使用根Laravel目录中的命...

2020-09-25 15:41:21 100 0

原创 Windows里正确安装Zookeeper以服务运行

1.zookeeper下载地址: http://archive.apache.org/dist/zookeeper/zookeeper-3.4.8/ 2.修改zookeeper-3.4.8\conf下的:zoo_sample.cfg文件名,改为:zoo.cfg 3.主要修改配置中的 dat...

2020-09-24 15:32:13 79 0

原创 tp6中kafka使用

<?php namespace app\util; use \RdKafka\Conf; use \RdKafka\Producer; class Kafka{ public $kafkaConfig; public $kafkaResource; //初始化...

2020-09-24 15:03:46 76 0

原创 easywechat报错:Failed to cache access token

overtrue/wechat 默认使用的是 symfony/cache 来进行缓存操作,ubuntu中,symfony/cache会在/tmp目录下建立symfony_cache来储存临时缓存。 ps:如果不是/tmp目录,可以使用 sys_get_temp_dir() 方法获取你的临时文件目录...

2020-08-20 09:56:14 445 0

原创 登录接口的安全

前言 大家学写程序时,第一行代码都是hello world。但是当你开始学习WEB后台技术时,很多人的第一个功能就是写的登录 但是我在和很多工作经验较短的同学面试或沟通的时候,发现很多同学虽然都有在简历上写:负责项目的登录/注册功能模块的开发和设计工作,但是都只是简单的实现了功能逻辑,在安全方面...

2020-08-12 10:14:53 107 0

原创 mysql隐蔽的索引规则导致数据全表扫描

索引是为了加速数据的检索,但是不合理的表结构或适应不当则会起到反作用。我们在项目中就遇到过类似的问题,两个十万级别的数据表,在做连接查询的时候,查询时间达到了7000多秒还没有查出结果。   首先说明,关联的字段都已经建立了相对应的索引,在执行计划的时候发现另外一张表没有走索引,结果如下图: ...

2020-08-10 14:29:04 150 0

原创 php开发项目运行报错division by zero或者Warning: Division by zero

Division by zero 在百度翻译中是除以0,实际情况是在代码运行中,有运算,但是除数为0,我们知道,除数是不能为0得,所以这个地方得做判断。看代码: 处理错误得方式有2中,上图代码是处理问题得一种,第二种是直接用@屏蔽掉错误,不建议这样处理。 ...

2020-08-06 10:05:43 223 0

原创 解决跨域携带Cookie问题(如tp6验证码)

php接口,解决跨域的构造函数 /* * 解决跨域,并统一接收参数--析构方法 */ protected function _initialize() { //比其他跨域多了Access-Control-Allow-Credentials,允...

2020-07-28 11:33:26 251 0

原创 微信pc网页登录

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport"...

2020-07-23 16:27:19 78 0

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