自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

DevOps海洋的渔夫@专栏

最新篇章尽在微信公众号:海洋的渔夫

  • 博客(863)
  • 资源 (2)
  • 收藏
  • 关注

原创 6.Gin 路由详解 - GET POST 请求以及参数获取示例

6.Gin 路由详解 - GET POST 请求以及参数获取示例GET POST 请求以及参数获取示例Get 请求:获取 Quary 参数//获取query参数示例:GET/user?uid=20&name=jack&page=1r.GET("/user",func(c*gin.Context){//获取参数//Query获取参数uid...

2023-11-20 00:45:32 512

原创 2.Golang 热加载开发

2.Golang 热加载开发Golang 热加载开发在开发项目的过程中,如果总是要去重启服务,编译代码,总使一个繁琐的过程。当然,我们可以利用一些库协助我们热加载开发,不需要重复去重启服务了。热加载的工具工具 1(推荐):https://github.com/gravityblast/fresh#下载依赖库gogetgithub.com/pilu/fresh#使用热加载启动服务$...

2023-11-20 00:45:32 207

原创 4.Gin HTML 模板渲染

4.Gin HTML 模板渲染Gin HTML 模板渲染1. 全部模板放在一个目录里面的配置方法创建用于渲染的模板htmltemplates/index.html<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Title</t...

2023-11-20 00:45:32 376

原创 7.Gin 路由详解 - 路由分组 - 路由文件抽离

7.Gin 路由详解 - 路由分组 - 路由文件抽离前言在前面的示例中,我们直接将路由的定义全部写在 main.go 文件中,如果后面 路由越来越多,那将会越来越不好管理。所以,下一步我们应该考虑将路由进行分组管理,并且将其抽离 main.go的文件。1696330394289路由分组我们可以将相同模块路径的作为一组,将路由进行分组处理。1696330862506//2.1路由分组//设置...

2023-11-20 00:45:32 272

原创 8.Gin 自定义控制器

8.Gin 自定义控制器前言在上一篇路由文件抽离的过程中,我们发现接口的业务逻辑还写在路由配置中,如下:1696385129126但是如果业务逻辑比较多,如果写在路由之中,肯定不合适。我们可以将业务逻辑抽离,单独再写一个Controller的模块。自定义控制器下面我们自定义一个 AdminController 模块来作为示例。新增 controller/admin/AdminController....

2023-11-20 00:45:32 286

转载 5.Gin 静态文件服务

5.Gin 静态文件服务静态文件服务当我们渲染的 HTML 文件中引用了静态文件时, 我们需要配置静态 web 服务。代码示例准备静态文件1696178698221h1{color:red;}配置静态文件的加载1696178751358//定义静态文件路径r.Static("/static","static")“前面的/static 表示路由 后面的./static 表示路径”...

2023-11-20 00:45:32 2513

原创 1.Gin 介绍

1.Gin 介绍介绍Gin 是一个 Go (Golang) 编写的轻量级 http web 框架,运行速度非常快,如果你是性能和高效的追求者,我们推荐你使用 Gin 框架。Gin 最擅长的就是 Api 接口的高并发,如果项目的规模不大,业务相对简单,这个时候我们 也推荐您使用 Gin。当某个接口的性能遭到较大挑战的时候,这个还是可以考虑使用 Gin 重写接口。Gin 也是一个流行的 golang ...

2023-11-20 00:45:32 2831

原创 3.Gin 框架中的路由简要说明

3.Gin 框架中的路由简要说明Gin 框架中的路由路由概述路由(Routing)是由一个 URI(或者叫路径)和一个特定的 HTTP 方法(GET、POST 等)组成的,涉及到应用如何响应客户端对某个网站节点的访问。RESTful API 是目前比较成熟的一套互联网应用程序的 API 设计理论,所以我们设计我们的路由的时候建议参考 RESTful API 指南。在 RESTful 架构中,每个网...

2023-11-20 00:45:32 2735

原创 12--Gradle进阶 - Gradle任务的类型

12--Gradle进阶 - Gradle任务的类型任务类型前面我们定义的task 都是DefaultTask 类型的,如果要完成某些具体的操作完全需要我们自己去编写gradle 脚本,势必有些麻烦,那有没有一些现成的任务类型可以使用呢?有的,Gradle 官网给出了一些现成的任务类型帮助我们快速完成想要的任务,我们只需要在创建任务的时候,指定当前任务的类型即可,然后即可使用这种类型中的属性和AP...

2023-06-25 09:01:26 609 1

原创 8--Gradle进阶 - Gradle任务的入门、任务行为

8--Gradle进阶 - Gradle任务的入门、任务行为Gradle TaskGradle 项目工程的管理 实质上是 Task 对象的集合。一个 Task 表示一个逻辑上较为独立的执行过程,比如编译Java 源代码,拷贝文件, 打包Jar 文件,甚至可以是执行一个系统命令。另外,一个 Task 可以读取和设置Project 的Property 以完成特定的操作。下面我们来看看如何编写 Grad...

2023-06-25 09:01:26 553

原创 11--Gradle进阶 - Gradle任务的定义方式、指定任务的属性

11--Gradle进阶 - Gradle任务的定义方式、指定任务的属性前言在前面的篇章中,我们写了不少 task 任务,但是任务完整的定义方式,指定哪些任务属性 没有一个归纳的总结。本篇章我们来熟悉一下。任务定义方式任务定义方式,总体分为两大类:一种是通过 Project 中的task()方法另一种是通过tasks 对象的 create 或者register 方法。// 1.通过 Project...

2023-06-25 09:01:26 1289

原创 9--Gradle进阶 - Gradle任务的依赖方式

9--Gradle进阶 - Gradle任务的依赖方式前言Gradle Task 任务之间是可以配置依赖的,那么为什么要配置依赖?因为任务有可能依赖其他任务执行完毕之后,才可以开始执行。对于这种情况,我们就可以通过任务的依赖来控制。下面来介绍一下任务的依赖方式。任务的依赖方式Task 之间的依赖关系可以在以下几部分设置:参数依赖内部依赖外部依赖方式一:参数方式依赖下面我们定义 task A、tas...

2023-06-25 09:01:26 1645

原创 10--Gradle进阶 - Gradle任务的执行

10--Gradle进阶 - Gradle任务的执行前言在前面的篇章中,我们尝试执行了 gradle 的 task,但是不清楚有哪些语法,下面来介绍一下。任务执行任务执行语法:gradle [taskName...] [--option-name...]。分类解释常见的任务(*)gradle build: 构建项目:编译、测试、打包等操作gradle run :运行一个服务,需要applicati...

2023-06-25 09:01:26 2359

原创 2--Gradle入门 - Groovy简介、基本语法

2--Gradle入门 - Groovy简介、基本语法Gradle 需要 Groovy 语言的支持,所以本章节主要来介绍 Groovy 的基本语法。1.Groovy 简介在某种程度上,Groovy 可以被视为Java 的一种脚本化改良版,Groovy 也是运行在 JVM 上,它可以很好地与 Java 代码及其相关库进行交互操作。它是一种成熟的面向对象编程语言,既可以面向对象编程,又可以用作纯粹的脚...

2023-06-12 08:41:33 2522

原创 4--Gradle入门 - 创建普通的web工程

4--Gradle入门 - 创建普通的web工程前言上一篇,我们已经创建了java工程,本篇章再来创建web工程。“其实没啥用,还是研究如何部署 Springboot 环境就好了”创建普通的web工程1. 新建 gradle 管理的工程项目16858628472242. 设置项目使用本地的 gradle设置 Gradle user home:默认会设置 GRADLE_USER_HOME 的缓存仓库...

2023-06-12 08:41:33 643

原创 5--Gradle入门 - junit 的使用

5--Gradle入门 - junit 的使用Gradle 对测试支持测试任务自动检测并执行测试源集中的所有单元测试。测试执行完成后会生成一个报告。支持JUnit 和 TestNG 测试。默认测试目录及标准输出imgJunit 使用Gradle 对于Junit4.x 支持dependencies{testImplementationgroup:'junit',name:'jun...

2023-06-12 08:41:33 1813

原创 1--Gradle入门 - 简介、安装、目录结构、创建项目

1--Gradle入门 - 简介、安装、目录结构、创建项目Gradle 官网Gradle官网地址:Gradle Build ToolGradle官方下载安装教程页面:https://gradle.org/install/Gradle官方用户手册:https://docs.gradle.org/current/userguide/userguide.html1. Gradle入门1.1 简介Grad...

2023-06-12 08:41:33 6927 2

原创 7--Gradle进阶 - settings.gradle的文件说明

7--Gradle进阶 - settings.gradle的文件说明前言介绍 settings.gradle 文件之前,先来说明一下,settings.gradle 主要是用来多模块工程使用的。所以我们先来创建一个多模块的工程。多模块工程创建1. 创建 root 工程16858777561761.1 配置本地 Gradle16858780537281.2 配置依赖1685878091474plug...

2023-06-12 08:41:33 1602

原创 6--Gradle进阶 - 项目的生命周期

6--Gradle进阶 - 项目的生命周期项目的生命周期Gradle 项目的生命周期分为三大阶段: Initialization -> Configuration -> Execution. 每个阶段都有自己的职责,具体如下图所示:imgInitialization 阶段主要目的是初始化构建, 它又分为两个子过程,一个是执行 Init Script,另一个是执行 Setting Scr...

2023-06-12 08:41:33 461

原创 3--Gradle入门 - 创建普通的Java工程

3--Gradle入门 - 创建普通的Java工程前言前面我们以及尝试过使用 Gradle 创建项目,下面我们使用 Idea 来创建普通的Java工程创建普通的Java工程1. 创建 Gradle 管理依赖的项目1685795605292语言设置 Java依赖设置 GradleDSL 使用 Groovy2. 设置项目使用本地的 gradle1685795743303设置 Gradle user h...

2023-06-12 08:41:33 1355

原创 17-RabbitMQ高级特性-日志与监控

17-RabbitMQ高级特性-日志与监控RabbitMQ日志RabbitMQ默认日志存放路径: /var/log/rabbitmq/[email protected]日志包含了RabbitMQ的版本号、Erlang的版本号、RabbitMQ服务节点名称、cookie的hash值、RabbitMQ配置文件地址、内存限制、磁盘限制、默认账户guest的创建以及权限配置等等。我们登录服务器,查看一下日志如下...

2023-01-27 23:00:13 501

原创 18-RabbitMQ高级特性-消息追踪

18-RabbitMQ高级特性-消息追踪消息追踪在使用任何消息中间件的过程中,难免会出现某条消息异常丢失的情况。对于 RabbitMQ 而言,可能是因为生产者或消费者与RabbitMQ 断开了连接,而它们与 RabbitMQ 又采用了不同的确认机制;也有可能是因为交换器与队列之间不同的转发策略;甚至是交换器并没有与任何队列进行绑定,生产者又不感知或者没有采取相应的措施;另外 RabbitMQ 本身...

2023-01-27 23:00:13 167

原创 15-RabbitMQ高级特性-死信队列

15-RabbitMQ高级特性-死信队列死信队列死信队列,英文缩写:DLX 。Dead Letter Exchange(死信交换机),当消息成为Dead message后,可以被重新发送到另一个交换机,这个交换机就是DLX。消息成为死信的三种情况:队列消息长度到达限制;消费者拒接消费消息,basicNack/basicReject,并且不把消息重新放入原目标队列,requeue=false;原队...

2023-01-27 23:00:13 332

原创 14-RabbitMQ高级特性-TTL

14-RabbitMQ高级特性-TTL前言在业务开发中有时候会有这样的需求,例如 12306 购买车票,我们必须在30分钟内进行付款,如果超过30分钟,则该订单将会被自动取消。要满足这个需求,可以采用 TTL 的这个特性功能。TTLTTL 全称 Time To Live(存活时间/过期时间)。当消息到达存活时间后,还没有被消费,会被自动清除。RabbitMQ可以对消息设置过期时间,也可以对整个队列...

2023-01-27 23:00:13 620

原创 19-RabbitMQ应用问题-消息补偿

19-RabbitMQ应用问题-消息补偿RabbitMQ应用问题消息可靠性保障消息补偿机制消息幂等性保障乐观锁解决方案消息可靠性保障需求:100%确保消息发送成功消息可靠性保障--消息补偿Producer1.业务数据入库DB,保证消息持久化2.发送消息至消费队列Q1(中间有交换机就不写了)3.延迟发送消息队列Q3(用于后续校验 2.发送的消息)Consumer4.监听队列Q1:如果消费成功,则将消...

2023-01-27 23:00:13 473

原创 20-RabbitMQ应用问题-消息幂等性保障

20-RabbitMQ应用问题-消息幂等性保障RabbitMQ应用问题消息可靠性保障消息补偿机制消息幂等性保障乐观锁解决方案消息幂等性保障幂等性指一次和多次请求某一个资源,对于资源本身应该具有同样的结果。也就是说,其任意多次执行对资源本身所产生的影响均与一次执行的影响相同。在MQ中指,消费多条相同的消息,得到与消费该消息一次相同的结果。消息幂等性保障--乐观锁机制消息发送还是之前的消息补偿流程图,...

2023-01-27 23:00:13 357

原创 16-RabbitMQ高级特性-延迟队列

16-RabbitMQ高级特性-延迟队列延迟队列延迟队列,即消息进入队列后不会立即被消费,只有到达指定时间后,才会被消费。需求:下单后,30分钟未支付,取消订单,回滚库存。新用户注册成功7天后,发送短信问候。实现方式:对于上面两种需求,一般有两种实现方式:定时器延迟队列定时器:设置一个轮询时间,间隔一段时间对数据库进行扫描对比,当符合定时的数据则进行处理;缺点:不优雅,因为不管设置多少间隔时间,都...

2023-01-27 23:00:13 463 1

原创 8-RabbitMQ工作模式总结

8-RabbitMQ工作模式总结模式总结RabbitMQ工作模式:1、简单模式 HelloWorld一个生产者、一个消费者,不需要设置交换机(使用默认的交换机)2、工作队列模式 Work Queue一个生产者、多个消费者(竞争关系),不需要设置交换机(使用默认的交换机)3、发布订阅模式 Publish/subscribe需要设置类型为fanout的交换机,并且交换机和队列进行绑定,当发送消息到交换...

2022-10-05 18:14:31 392

原创 10-Spring Boot整合RabbitMQ

10-Spring Boot整合RabbitMQ简介在Spring项目中,可以使用Spring-Rabbit去操作RabbitMQhttps://github.com/spring-projects/spring-amqp尤其是在spring boot项目中只需要引入对应的amqp启动器依赖即可,方便的使用RabbitTemplate发送消息,使用注解接收消息。一般在开发过程中:生产者工程:ap...

2022-10-05 18:14:31 573

原创 11-RabbitMQ高级特性-消息可靠性投递

11-RabbitMQ高级特性-消息可靠性投递消息的可靠投递在使用 RabbitMQ 的时候,作为消息发送方希望杜绝任何消息丢失或者投递失败场景。RabbitMQ 为我们提供了两种方式用来控制消息的投递可靠性模式。confirm 确认模式return 退回模式rabbitmq 整个消息投递的路径为:producer--->rabbitmq broker--->exchange---&...

2022-10-05 18:14:31 425

原创 9-Spring 整合 RabbitMQ

9-Spring 整合 RabbitMQ1. 搭建生产者工程1.1 创建工程创建一个空的 maven 工程 spring-rabbitmq-producer:1.2. 添加依赖修改pom.xml文件内容为如下:<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0...

2022-10-05 18:14:31 361

原创 13-RabbitMQ高级特性-消费端限流

13-RabbitMQ高级特性-消费端限流消费端限流当用户的请求突然增多,MQ可以配置消费端限流,让消息按照限制的数量进行消费,达到限流的效果。下面我们来代码案例演示。案例我们接着在前面篇章的工程来进行代码演示即可。1.配置 消费端限流首先需要确保ack机制为手动确认 acknowledge="manual"配置消费端每次消费的数量 prefetch="1"<!--定义监听器与队列的绑定...

2022-10-05 18:14:31 1052

原创 12-RabbitMQ高级特性-Consumer ACK

12-RabbitMQ高级特性-Consumer ACKConsumer Ackack指Acknowledge,确认。 表示消费端收到消息后的确认方式。有三种确认方式:自动确认:acknowledge="none"手动确认:acknowledge="manual"根据异常情况确认:acknowledge="auto",(这种方式使用麻烦,不作讲解)“其中自动确认是指,当消息一旦被Consumer接...

2022-10-05 18:14:31 1100

转载 RabbitMQ系列

1-消息中间件概述2-Centos7下安装部署RabbitMQ3-RabbitMQ入门-生产者-消费者4-RabbitMQ工作模式-Work queues工作队列模式5-RabbitMQ工作模式-Publish/Subscribe发布与订阅模式6-RabbitMQ工作模式-Routing路由模式7-RabbitMQ工作模式-Topics通配符模式...

2022-10-05 18:14:31 196

转载 SpringBoot系列

1-SpringBoot概述2-SpringBoot快速入门3-使用 IDEA 快速构建 SpringBoot 工程4-SpringBoot 起步依赖原理分析5-SpringBoot 配置-配置文件分类6-SpringBoot配置-yaml基本语法-yaml数据格式7-SpringBoot配置-获取数据8-SpringBoot配置-profile9-SpringBoot配...

2022-08-08 22:45:42 137

原创 4-RabbitMQ工作模式-Work queues工作队列模式

4-RabbitMQ工作模式-Work queues工作队列模式Work queues工作队列模式1. 模式说明Work Queues与入门程序的简单模式相比,多了一个或一些消费端,多个消费端共同消费同一个队列中的消息。应用场景:对于 任务过重或任务较多情况使用工作队列可以提高任务处理的速度。2. 案例Work Queues与入门程序的简单模式的代码是几乎一样的;可以完全...

2022-08-08 22:45:42 447

原创 5-RabbitMQ工作模式-Publish/Subscribe发布与订阅模式

5-RabbitMQ工作模式-Publish/Subscribe发布与订阅模式订阅模式类型订阅模式示例图:1556014499573前面2个案例中,只有3个角色:P:生产者,也就是要发送消息的程序C:消费者:消息的接受者,会一直等待消息到来。queue:消息队列,图中红色部分而在订阅模型中,多了一个exchange角色,而且过程略有变化:P:生产者,也就是要发送消息的程序...

2022-08-08 22:45:42 454

原创 7-RabbitMQ工作模式-Topics通配符模式

7-RabbitMQ工作模式-Topics通配符模式Topics通配符模式1. 模式说明Topic类型与Direct相比,都是可以根据RoutingKey把消息路由到不同的队列。只不过Topic类型Exchange可以让队列在绑定Routing key 的时候使用通配符!Routingkey 一般都是有一个或多个单词组成,多个单词之间以”.”分割,例如:item.inse......

2022-08-08 22:45:42 467

原创 6-RabbitMQ工作模式-Routing路由模式

6-RabbitMQ工作模式-Routing路由模式Routing路由模式1. 模式说明路由模式特点:队列与交换机的绑定,不能是任意绑定了,而是要指定一个RoutingKey(路由key)消息的发送方在 向 Exchange发送消息时,也必须指定消息的 RoutingKey。Exchange不再把消息交给每一个绑定的队列,而是根据消息的Routing Key进行判断,只有......

2022-08-08 22:45:42 161

原创 3-RabbitMQ入门-生产者-消费者

3-RabbitMQ入门-生产者-消费者需求:使用简单模式完成消息传递官网的工作模式介绍那么下面呢,我们可以参考一下步骤进行案例演示:步骤:创建工程(生产者、消费者)分别添加依赖编写生产者发送消息编写消费者接收消息搭建示例工程1.创建工程创建两个空的maven工程:生产者 rabbitmq-producer消费者 rabbitmq-consumer2. 添加依赖两个工程的.........

2022-08-08 22:45:42 1331

多份同样格式标题execl合并的工具

多份同样格式标题execl合并的工具,要注意检查好每份execl文件的标题要求是一致的,避免出错。

2017-11-09

Dell R720 安装Win2003 64位 sp2 的工具、安装文档

r720安装win2003的驱动程序、软件制作工具、网卡驱动等,全部都有。下载了,就可以装上去。 具体安装流程在我的博文里: http://blog.csdn.net/u012887259/article/details/17839665

2014-01-04

空空如也

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

TA关注的人

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