• Docker安装RabbitMQ的超详细步骤

    目录 1.下载 RabbitMQ 镜像 2.创建并运行 RabbitMQ 容器 3.启动 rabbitmq_management 4.访问 RabbitMQ 后台管理 补充:docker此文相关常用命令 总结 1.下载 RabbitMQ 镜像 下载最新版本的镜像: docker pull rabbitmq 更多版本的镜像可以访问 Docker 官网:https://hub.docker.com/_/rabbitmq?tab=tags 2.创建并运行 RabbitMQ 容器 启动命令: docke

    2022-08-15
  • 10分钟在服务器部署好Jenkins的详细过程

    目录 Linux安装Jenkins 1.下载安装 2.修改端口配置 3.启动 4.解决首页加载过慢问题 5.安装插件 6.设置管理员用户 7.一切准备就绪 8.新建任务,下回再续 总结 Linux安装Jenkins 哈喽,大家好,我是一条. 这是 DevOps 相关的第一篇文章,准确是第二篇,之前有一篇<Docker从入门到干事>. 本文主要是 Jenkins 的安装部署,那前提我们应该装好 Git Maven JDK.这些准备工作就简单过一下. Git Maven 非必需 Git 安装很简单

    2022-08-15
  • SpringBoot AOP Redis实现延时双删功能实战

    目录 一.业务场景 1.此时存在的问题 2.解决方案 3.为何要延时500毫秒? 4.为何要两次删除缓存? 二.代码实践 1.引入Redis和SpringBoot AOP依赖 2.编写自定义aop注解和切面 3.application.yml 4.user_db.sql脚本 5.UserController 6.UserService 三.测试验证 四.代码工程及地址 一.业务场景 在多线程并发情况下,假设有两个数据库修改请求,为保证数据库与redis的数据一致性,修改请求的实现中需要修改数据库

    2022-08-15
  • ASP.NET MVC使用jQuery ui的progressbar实现进度条

    在电商网站中,有时候通过进度条来直观地显示用户是否到期以及用户当前的状态. 设计这样的一个Model. public class User { public int Id { get; set; } public string Name { get; set; } public int CoopTime { get; set; } public DateTime JoinTime { get; set; } } 以上,合作时长属性CoopTime,和加入时间属性JoinTime是和进度密切相关的

    2022-08-15
  • Vue如何根据id在数组中取出数据

    目录 如何根据id在数组中取出数据 Vue获取数组的数组数据 如何根据id在数组中取出数据 这是一个非常实用的操作,尤其是编辑数据的时候.点击编辑数据,通常会将编辑的这条数据发送给后端,然后后端在根据这个编号查询出相应的数据在返回给前端. 那么请问,后端都将数据给你了,你直接在数组中取出来不是很好吗? 这样简单快捷.可以给后端避免没有必要的负担,万一网络不好还会获取失败,尤其现在带宽这么贵. JS中有一个 findIndex()方法就是获取对应数据在数组中的索引,然后就可以根据这个索引在数组中取

    2022-08-15
  • Xshell连接centOS7并与CentOS7联网

    就像引出“3+4”重构那样,我们也可以直接将配置前与配置后的对比状态列举出来,这样更省事. 0.对于如下配置的宿主机(此处即为windows主机) 1.编辑→虚拟网络编辑器 配置完毕后的状态如下: 注:(1)其中的子网IP就是根据宿主机的IP修改得来的,即修改第三位. (2)其“NAT设置”配置如右图,是根据子网IP修改最后一位得到的. 2.虚拟机→设置→网卡适配器的配置如下图 3. cd /etc/sysconfig/network-scripts vi ifcfg-eno16777736 的

    2022-08-15
  • 详解pandas df.iloc[]的典型用法

    与df.loc[] 根据行标或者列标获取数据不同的是df.iloc[]则根据数据的坐标(position)获取,如下图红色数字所标识: iloc[] 同样接受两个参数,分别代表行坐标,列坐标.可以接受的参数 类型为数字,数字类型的列表以及切片 下面举例说明:      name  score grade id                     a     bog     45     A c   jiken     67     B d     bob     23     A b   j

    2022-08-15
  • Spring Boot快速实现 IP地址解析的示例详解

    目录 前言 引入: 开发: 在线解析: 场景: 大家好! 我是慕歌,一只想教你学习 Spring Boot的野生coder! 欢迎来到慕歌的 Sping boot系列教程,希望通过这个教程带大家搭建基础的 Spring Boot项目,该教程所有知识点均来源于本人的真实开发! 前言 在前一节的学习中,慕歌分享了如何构建自己的小型日志用于记录一些关键性的信息,监测用户的登录状态等... 在这一节中慕歌将就上一节中关于ip 的点进行详细的讲解,带大家在spring boot 项目中获取请求的ip与详细

    2022-08-15
  • redis缓存延时双删的原因分析

    缓存为啥是删除,而不是更新? 如果是更新,存在分布式事务问题,可能出现修改了缓存,数据库修改失败的情况.只是删除缓存的话,就算数据库修改失败,下次查询会直接取数据库的数据,也不会出现脏数据. 延时双删是什么? 就是在增删改某实体类的时候,要对该实体类的缓存进行清空,清空的位置在数据库操作方法的前后. 采用反证法 只先删  只后删 结论 从而得出 前删和后删都有问题.所以采用延时双删的策略 思考2:为啥是延时 依然是反证法.下图这情况是双删依然存在旧缓存的情况,延时是确保 修改数据库->清

    2022-08-15
  • 深入剖析Java ArrayQueue(JDK)的源码

    目录 前言 ArrayQueue内部实现 ArrayQueue源码剖析 构造函数 add函数 remove函数 get函数 resize函数 总结 前言 在本篇文章当中主要给大家介绍一个比较简单的JDK为我们提供的容器ArrayQueue,这个容器主要是用数组实现的一个单向队列,整体的结构相对其他容器来说就比较简单了. ArrayQueue内部实现 在谈ArrayQueue的内部实现之前我们先来看一个ArrayQueue的使用例子: public void testQueue() {     A

    2022-08-15
  • Go 语言前缀树实现敏感词检测

    目录 一.前言 二.敏感词检测 暴力匹配 正则匹配 三.Go 语言实现敏感词前缀树 前缀树结构 添加敏感词 匹配敏感词 过滤特殊字符 添加拼音检测 四.源代码 一.前言 大家都知道游戏文字.文章等一些风控场景都实现了敏感词检测,一些敏感词会被屏蔽掉或者文章无法发布.今天我就分享用Go实现敏感词前缀树来达到文本的敏感词检测,让我们一探究竟! 二.敏感词检测 实现敏感词检测都很多种方法,例如暴力.正则.前缀树等.例如一个游戏的文字交流的场景,敏感词会被和谐成 * ,该如何实现呢?首先我们先准备一些敏

    2022-08-15
  • Studio 3T无限试用的问题及解决方法

    Studio 3T是一款非常不错的MongoDB数据库GUI连接工具,由原MongoChef改名升级,可以为大家更优质的网页设计.代码输入.编程管理等功能. 编写bat文件 @echo off ECHO 重置Studio 3T的使用日期...... REG DELETE "HKEY_CURRENT_USER\Software\JavaSoft\Prefs\3t\mongochef\enterprise" /f RMDIR /s /q %USERPROFILE%\.3T\studio-3

    2022-08-15
  • Xshell连接不上虚拟机的解决办法汇总

    目录 一:关于ping的问题 1.虚拟机ping百度 2.windows下ping linux的ip地址 3.linux下ping windows 二:防火墙的问题 三:ssh服务 四:VM中的还原默认设置 还原后的更改设置 五:点击此电脑–>管理–>服务和应用程序–>服务 六:卸载VM软件重装 一:关于ping的问题 1.虚拟机ping百度 在虚拟机中ping百度看能不能先ping通,如果虚拟机连接不上网络的话Xshell肯定是连接不上的. 解决办法:点击虚拟机中的编辑–>虚拟网

    2022-08-15
  • SpringBoot自动配置深入探究实现原理

    目录 一.什么是springboot自动配置 二.Starter组件 三.三大注解 四.@EnableAutoConfiguration 五.SpringFactoriesLoader 说明:在阅读本篇文章之前建议大家先详细学习一下spring的相关知识,有助于更深刻的理解spirngboot的配置原理. 一.什么是springboot自动配置 SpringBoot通过@EnableAutoConfiguration注解开启自动配置,对jar包下的spring.factories文件进行扫描,这

    2022-08-15
  • Python实现将图片转换为ASCII字符画

    目录 前言 字符画图片生成 字符画文字的生成 前言 要将图片转换为字符图其实很简单,我们首先将图片转换为灰度图像,这样图片的每个像素点的颜色值都是0到255,然后我们选用一些在文字矩形框内占用面积从大到小的ASCII码字符,我经过一番观察选择了如下字符: ascii_chars = "MNHQ$OC67+>!:-. " 很明显M的笔画比N多,缩小到足够小之后就会体现出M的颜色比N更深,大家若能够找到更能够体现这种特征的字符,也可以替换. 然后我们只需要将图片的目标像素点映射到这批

    2022-08-15
  • Java中this的用法实例总结

    目录 一.this关键字 二.用法总结 三.解释用法 1.this.data 2.this.func() 总结 一.this关键字 1.this的类型:哪个对象调用就是哪个对象的引用类型 二.用法总结 1.this.data; //访问属性 2.this.func(); //访问方法 3.this(); //调用本类中其他构造方法 三.解释用法 1.this.data 这种是在成员方法中使用 让我们来看看不加this会出现什么样的状况 class MyDate{ public int year;

    2022-08-15
  • no-bundle 构建原理浅析

    目录 为什么需要构建工具? 什么是无包构建 基于浏览器的 JS 模块加载功能 HTML 中的 Script 引用注意点: 模块内依赖的引用 无包构建工具的介绍: Vite Vite对导入模块的解析 对 HTML 文件的预处理 对外部依赖包的解析 对 CSS 文件的解析 Vite 中的其他辅助功能 Vite 的使用限制 Snowpack 与 Vite 相同的功能点 与 Vite 的差异点 无包构建 VS 打包构建 无包构建的优点 无包构建的缺点 为什么需要构建工具? 处理其他类型文件使其能被浏览器

    2022-08-15
  • MySQL视图的概念、创建、查看、删除和修改详解

    目录 一.什么是视图 二.创建视图 1.在单表上创建视图 2.在多表上创建视图 三.查看视图 四.更新视图数据 五.修改视图 六.删除视图 总结 一.什么是视图 小学的时候,每年都会举办一次抽考活动,意思是从每一个班级里面筛选出几个优秀的同学去参加考试.这时候很多班级筛选出来的这些同学就可以临时组成一个班级,如果我们把每一个班级都当做是一张真实的表,这个临时的班级在数据库里就可以当做一个视图,也就是说,这个临时的班级其实不是真实存在的,当考试过后,这些学生还是各回各家各找各妈.... 视图是从一

    2022-08-15
  • 基于 Spring Aop 环绕通知实现 Redis 缓存双删功能(示例代码)

    基于 spring aop 常规应用场景多是用于日志记录以及实现 redis 分布式锁,在 github 中也有项目是把它拿来当作缓存的异常捕捉.从而避免影响实际业务的开发:在某天,笔者有个业务开发是给某个服务模块增加 redis 缓存.增加缓存就会涉及 redis 删除.所以笔者就在思考是不是可以用环绕通知的方式来进行实现 代码实现 结构示意图: 自定义注解 RedisDelByDbUpdate @Repeatable 表示允许在同一个地方上使用相同的注解,没有该注解时贴相同注解会报错 @Ta

    2022-08-15
  • C++函数模板与类模板相同与不同介绍

    目录 1.模板 1.1何为模板 1.2C++的模板的形式有两种 1.3如何定义一个函数模板 1.4语法形式 1.5模板的编译机制 2.函数模板 2.1调用方式 2.2函数模板的特化与调用优先级 3.可变参函数模板 3.1概念 3.2代码实现(实现一个c中的printf的函数) 4.类模板 4.1类模板的定义形式 4.2代码实例 5.类模板中的特殊属性的初始化方式及继承与多态 5.1代码实例 5.2使用类模板去实现一个数据结构 5.3类模板的特化 5.4C++中类模板中的内嵌类 1.模板 1.1何

    2022-08-15