自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(202)
  • 资源 (1)
  • 问答 (2)
  • 收藏
  • 关注

原创 PHP代码实现装饰模式

【代码】PHP代码实现装饰模式。

2023-02-28 20:17:26 135

原创 PHP代码实现合成模式

【代码】PHP代码实现合成模式。

2023-02-28 19:52:34 140

原创 PHP代码实现桥梁模式

【代码】PHP代码实现桥梁模式。

2023-02-28 19:46:41 140

原创 PHP代码实现适配器模式

PHP代码实现适配器模式

2023-02-28 19:45:14 105

原创 PHP代码实现单例模式

单例模式

2023-02-28 19:42:05 119

原创 PHP代码实现原型模式

PHP代码实现原型模式

2023-02-28 18:25:16 38

原创 PHP代码实现抽象工厂模式

PHP代码实现抽象工厂模式

2023-02-28 18:15:11 70

原创 PHP代码实现建造者模式

PHP实现设计模式

2023-02-28 18:04:10 58

原创 PHP代码实现工厂模式

php设计模式基本实现

2023-02-28 17:56:19 109

原创 PHP的多线程和多进程存在的问题

php多线程,多进程的劣势。

2023-02-28 10:56:17 399

原创 Error creating bean with name问题的可能原因

IDEA出现代码不能运行的情况

2022-07-08 16:30:11 7516

原创 平级两个pom项目一个依赖另一个时出现程序包找不到,找不到符号的问题

java引入程序包不存在,找不到符号问题

2022-06-29 10:53:17 244

转载 java基础-map操作

Map<String, String> map = new HashMap<String, String>(); map.put("1", "value1"); map.put("2", "value2"); map.put("3", "value3"); //第一种:普遍使用,由于二次取值,效率会比第二种和第三种慢一倍 System.out.println("通过Map.keySet遍历key和value:...

2022-02-09 14:23:11 1103

转载 8.rabbitmq-死信交换机和死信队列

前面我们看到,如果使用消息拒绝机制,同时 requeue 参数设置为 false时,消息丢失了,这点作为程序员我们不能忍。所以 RabbitMQ作为一个高级消息中间件,提出了死信交换器的概念,死信,意思就是死了的信息。这种交换器专门处理死了的信息(被拒绝可以重新投递的信息不能算死的)。死信交换器是 RabbitMQ 对 AMQP 规范的一个扩展,往往用在对问题消息的诊断上(主要针对消费者),还有延时队列的功能。消息变成死信一般是以下三种情况:消息被拒绝,并且设置 requeue 参数为 fals

2022-01-17 19:50:58 257

转载 7.rabbitmq-消息的拒绝

消息确认可以让 RabbitMQ 知道消费者已经接受并处理完消息。但是如果消息本身或者消息的处理过程出现问题怎么办?需要一种机制,通知RabbitMQ,这个消息,我无法处理,请让别的消费者处理。这里就有两种机制,Reject 和 Nack。rejectreject在拒绝消息时,可以使用requeue标识。1.requeue为true,消息会重新回到队列中,并通过轮循机制推送给消费者(可能是多个)。这里需要注意的是,拒绝这条消息的消费者同样会在再次推送的消费者列表中。这个下面会再演示下。

2022-01-17 19:48:53 836

转载 6.rabbitmq-消息消费时的可靠性保障

既然消息在发布时可以执行一些保证可靠性的机制,那么消费者在消费消息时是否也同样的有类似的机制来通知队列消息的消费成功以否。答案是肯定的。在实际业务场景中,一般消息的业务处理都集中在消费端.所以消费时消息的可靠性尤为重要。我们先了解一下消费者拉取队列的两种方式1. get主动拉取2. consumer接受推送1.Get方式 // 省略获取连接,声明队列,并绑定交换机代码 while (true) { //主动去 "lb-queue" 这个队列拉取..

2022-01-17 19:47:19 653

转载 5.rabbitmq-消息发布时的可靠性保障

在 RabbitMQ 在设计的时候,特意让生产者和消费者“脱钩”,也就是消息的发布和消息的消费之间是解耦的。在 RabbitMQ 中,有不同的投递机制(生产者),但是每一种机制都对性能有一定的影响。一般来讲速度快的可靠性低,可靠性好的性能差,具体怎么使用需要根据你的应用程序来定,所以说没有最好的方式,只有最合适的方式。各种可靠性机制对性能的影响接下来我们分别介绍下这几种投递机制1. 无保障模式通过 basicPublish 发布你的消息并使用正确的交换器和路由信息,你...

2022-01-17 19:43:20 216

转载 4. rabbitmq-消息详解

消息的属性消息标准化可以减少开发人员重复使用的痛苦,所以 RabbitMQ 对消息进行了如下标准化:按照 AMQP 的协议单个最大的消息大小为 16EB(2 的 64 次方),但是 RabbitMQ 将消息大小限定为 2GB(2 的 31 次方)。在发送消息时,我们还可以对消息的属性做更细微的控制,比如利用reply-to属性构建 Request-Response 模式,消息存活时间当队列消息的 TTL 和消息 TTL 都被设置,时间短的 TTL 设置生效。如果将..

2022-01-17 19:34:46 878

转载 3.rabbitmq-队列详解

RabbitMQ 中消费行为主要跟队列有直接关系,有这几种类型。1. 临时队列2. 自动删除队列3. 单消费者队列4. 自动过期队列5. 永久队列接下来我们来详细的介绍下这几种类型的队列。1.临时队列临时队列对应的是没有持久化的队列,存在于内存中。如果rabbitmq服务器重启,那么这些队列就不会存在。//将第二个参数,表示是否是持久化的,设置为非持久化的,那么他就是一条默认队列channel.queueDeclare("temporary-queue", fal

2022-01-17 19:27:47 1940

转载 2.rabbitmq-交换机详解

在rabbitmq的消息模型中,消息的生产都是面向交换机的,并会指定一个路由键。由交换机根据路由键去匹配绑定在此交换机的队列上。匹配的规则则是根据交换机的类型来决定如何匹配队列绑定交换机时的绑定键。匹配成功,则交换机会把消息发送到相应队列上。接下来我们介绍下这几种主要的交换机类型。1. direct 直连交换机2. fanout 广播交换机3. topic 主题4. header 这个不咋用,这里暂时就不介绍了,啊哈哈1. Direct路由键完全匹配,消息被投递到对应的队列,

2022-01-17 18:28:00 140

转载 rabbitmq

二、工作模型  当producer(consumer)要生产(消费)消息时,需要与服务器建立一个长连接,在RabbitMQ中称为Connection,为解决客户端与服务端所产生频繁连接的问题,由于会大量的消耗服务器内存,这里引入消息通道的概念,在保持长连接的情况下,可以通过建立Channel的方式与服务器通讯,当有请求时就会建立通道,结束则关闭通道。在RabbitMQ中,一般的做法不会让消息直接发送到消息队列中,这里引入了Exchange(交换机)的概念,通过交换机来实现消息更加灵活的分发,交换机没

2022-01-17 18:26:04 339

转载 1. rabbitmq的安装及基本概念

转载1. rabbitmq的安装及基本概念 - 简书安装centos看这个老哥的吧,https://www.cnblogs.com/rmxd/p/11583932.html基本概念连接首先作为客户端(无论是生产者还是消费者),你如果要与 RabbitMQ 通讯的话,你们之间必须创建一条 TCP 连接,当然同时建立连接后,客户端还必须发送一条“问候语”让彼此知道我们都是符合AMQP的语言的,比如你跟别人打招呼一般会说“你好!”,你跟国外的美女一般会说“hello!”一样。你们确认好“语

2022-01-17 18:24:19 85

转载 php代码应该这样写

php代码规范,laravel框架代码

2021-12-29 11:47:01 305

原创 新硬盘通过U盘安装centos7

https://www.linuxidc.com/Linux/2014-10/108014.htm1.先使用UltraISO刻录镜像至U盘内(PS:刻录的时候隐藏启动分区可以选成无,里面的packages文件夹可以删除,这个文件夹是没什么用的,而且大小挺大的,因为安装的时候有镜像在U盘内)把iso系统写进入后,就去BIOS设置U盘启动就好了,自然就会出来安装centos了,不用做其他的。如果出现镜像找不到的情况。选择安装centos的时候,按e,编辑一下。sda、sd

2021-05-12 14:28:35 294

原创 goland的断点调试,框架GIN调试

然后点击最后postman请求对应的本地端口,就能断点了。

2021-03-19 20:36:41 2806

原创 go的Beego框架搭建以及运行

1.安装好go环境,1.16 下一步下一步,自动会把环境变量都配资好。2.这里用Beego 逼格 框架,go 加载扩展都是 go get xxxgo get github.com/astaxie/beegobee工具安装bee 工具是一个为了协助快速开发 beego 项目而创建的项目,通过 bee 您可以很容易的进行 beego 项目的创建、热编译、开发、测试、和部署。go get github.com/beego/beepkg自己默认会下载到c盘的对应go的pkg目录下3.bee

2021-03-01 17:38:54 5236

原创 关于使用laravel时的Many To Many belongsToMany的问题

适用于写权限5表的操作,用户A 主键 id,角色B 主键 id,权限C 主键 id关系表1D,关系表2E用户,角色声明好关系$this->belongsToMany(B, D,B.id,D.role_id(非主键));角色,权限声明好关系$this->belongsToMany(C,E,E.role_id,E.permission_id,B.id);(B.id由于命名冲突了,弄个别名顶着)$this->belongsToMany(关联的模型类名, 中间表表名..

2021-02-02 15:37:54 690

原创 关于laravel和maatwebsite/excel的一些问题处理

原因:由于导出用到这个maatwebsite/excel包,然后导致前端那边处理有一些问题,但是自己本地用postman测试没有问题。步骤:下载方法,Excel::download 调用这个方法后,返回的是ResponseHeaderBag对象,只是上传到了服务器本地。如果再return返回上传的结果,就被框架自动接管了,然后就返回内容直接输出到response里面,导致前端不好做处理。解决方法:用框架自带response()->streamDownload()流下载的方式,框架就会自动组装成更便

2021-01-04 18:48:01 1774

原创 Mailchimp Transactional的简单使用

仅有PHP版本1.官方的包 mailchimp/transactional2.去他们官网申请账号mailchimp,然后进去各种验证,去另外一个mandrillapp的后台配置,配置好Sending Domains,并且验证通过。3*.他们的服务要买了才能用,这点比较坑,不然调用接口返回就是收件邮箱的域不对。(这是个大坑)4.买了套餐你就能使用了,成功返回截图如下status 为sent就是成功了reject_reason 为null(资料少,看到说明你有缘,可以少走弯路了)...

2020-12-11 17:36:22 419

原创 用用APIDOC这个东西

安装node.js 安装apiDocnpm install apidoc -g会比较慢,切换一下源。新建apidoc.json如下内容{ "name": "接口文档名字", "version": "1.0.0", "description": "apiDoc for xxx 1.0.0", "title": "接口文档1.0.0", "url" : "拼接接口文档的默认路径url/api/b/"}一些其他标签的解释https://apidocjs.com/#i

2020-09-02 10:46:49 124

原创 Postman自动获取token,Postman自动设置token,用于bearer token

在眼睛那里添加一个全局变量。token不填值然后在登录接口中,Tests里面新增js代码pm.test("Status code is 200", function () { pm.response.to.have.status(200);}); // 把responseBody转为json字符串var data = JSON.parse(responseBody);// 设置环境变量token,供后面的接口引用,位置就是上一步获取的位置pm.environment.set("

2020-08-24 10:10:57 1267

原创 第一次搭magento2

由于需求的php版本比较高,本地 php 7.1.3composer缺少一些扩展,打开php_intl.dll,soap,xslcomposer版本1.8.5

2020-08-15 18:21:34 130

原创 我第一次用laravel碰到的坑。

(总体感觉还是挺顺手的,没遇到什么大困难,社区的中文文档对小白很友好,不过内容过少)1.老规矩git拉最新的代码2.加载扩展3.修改env3.1这时有个问题。Laravel 5.5 .Noapplicationencryptionkeyhas beenspecified出现此问题的原因是:没有设置应用程序加密密钥phpstorm终端中执行:php artisan key:generate原因是:如果应用密钥还没有设置,你的用户会话和其他的加密数据将会不安全!3...

2020-08-15 17:38:58 168

原创 最近重装php遇到的问题。

Unable to find the wrapper "https" - did you forget to ena ble it when you configured PHP? in Command line code on line 1打开php_openssl扩展。

2020-08-08 18:30:05 216

原创 php常见算法代码合集

1.冒泡排序2.选择排序3.插入排序4.快速排序5.归并排序6.7.

2020-08-03 23:46:10 152

原创 关于hyperf的DEMO在docker下绑定phpstorm出现的问题。

手动重启hyperf比较麻烦,想办法绑定phpstorm,实现编辑器控制docker中的hyperf停启行为。先要把docker与phpstorm绑定在windows下面:鼠标右键选择docker的Settings 勾选 "Expose daemon on tcp://localhost:2375" 就是暴露守护进程。然后在phpstorm中设置docker配置下面的successful就是成功了。就能看到你的容器了配置phpstorm和docker中hyperf.

2020-05-21 11:30:00 804

原创 PHP引用传值的坑

指针竟然没释放,第二次使用同个变量,还能找到指针并赋值。。。

2020-04-29 15:45:29 253

转载 Yii2 资源大全

yiifeed:Yii 最新动态都在这里

2020-04-28 16:02:03 490

原创 php框架YII2的swagger踩坑记录

light/yii2-swagger使用的YII框架这个包。(能不能拉下来,就得看你了,反正我是拉了很久) 开始可以先试用一下文档下面的demo搭成功后,他有个demo.gif,用cli启动命令,然后然后在浏览器中输入:http://127.0.0.1:8080就可以访问demo里面的接口对应的文档了。(如果页面显示你要auth验证的话,你就把SiteControll...

2020-04-13 17:20:41 634 1

原创 composer a token.It will be stored in ".../Composer/auth.json" for future use by Composer.Token(hidd

to retrieve a token. It will be stored in "C:/Users/xxx/AppData/Roaming/Composer/auth.json" for future use by Composer. Token (hidden):打开你的github帐号,点头像找到setting-》Developer settings-》genernewtoken...

2020-04-08 15:14:13 1277

emeditor php5.esy 配制文件,涵括大量

需要的可以自己下载用用,这个emeditor软件还是挺好用的。。

2016-06-10

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

TA关注的人

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