自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

风灵Erick的博客

一直在路上.....

  • 博客(44)
  • 收藏
  • 关注

原创 Python中字符串与列表转换,为何长度大不同?

关键就在这里,转字符串实际是将列表内容转了,我们都知道字符串表示用单/双引号表示:“我是张三”,而列表->字符串是:“[‘我’, ‘是’, ‘张’, ‘三’]”,会比原来的字符串多一些符号。我们注意到最后输出的长度是20,不是4,这中间就做2次转换,最后也是一个字符串并没有增加其他字符,为什么会这样呢,让我们分析下原因。在字符串和列表互相转换后长度是否一样呢?首先,定义了一个字符串“我是张三”,长度是4,没有问题。3个空格:是,张,三前边位置。4个汉字:我,是,张,三。2个中括号:[ ]

2024-03-31 21:14:37 158

原创 超实用!免费软件站大盘点,总有一款适合你

软件站大盘点,总有一款适合你

2024-03-18 22:17:51 230

原创 统信UOS通过源码安装软件提示“configure: error: cannot run C compiled programs.”错误

使用源码的方式安装git软件,安装过程中出现两个错误。至此安装git遇到的两个问题解决,能够正常使用了。

2023-11-19 10:39:32 685

原创 git安装后报git: ‘remote-https‘ is not a git command. See ‘git --help‘.

使用的是linux系统,采用编译安装的方式进行安装,安装完成clone项目后提示“git: ‘remote-https’ is not a git command. See ‘git --help’.”安装完成后再将git重新编译安装,然后再Clone项目,搞定!需要安装1个额外的库:libcurl4-openssl-de。若以上方式还是不行,尝试安装curl。

2023-11-19 08:50:58 1831

原创 一个由http请求引发的问题

不同的实现方式展现出来的性能大不相同

2023-09-05 13:37:58 117

原创 推荐!免费的AI绘画工具-leonardo.ai

随着chatGPT的爆火,AI绘画工具-midjourney也让人们见识到AI的强大,但是随着用户的增多,midjourney也不再免费开放,需要付费才能够使用。在一次闲逛中无意发现一款可以代替但仍免费的工具-Leonardo.Ai

2023-06-03 11:46:08 686

原创 最新社区版idea插件“intellij-spring-assistant”

社区版idea插件intellij-spring-assistant

2023-01-29 23:28:48 5624 13

原创 xxl-job执行器在容器中部署无法访问的处理方式

解决xxl-job执行器,容器外无法注册访问的问题。

2023-01-28 10:33:46 2161

原创 常用工具类整合

常用工具类整合1. 简介2. 如何使用3. 包含的内容3.1 工具类总览3.2 api接口4. 总结1. 简介整合工具类的初衷其实比较简单,做了这么多年的项目每次新创建项目的时候总是会用到各种工具类,然后重新写或者从其他项目中拷贝过来,如此反反复复的进行着,如果将这些常用的工具类方法整合起来在新项目中直接引用不用关心如何去实现,想用的时候可以直接使用简单方面,于是这个简单、不复杂的工具包就产生了,也是希望能够带来方便。2. 如何使用工具包已经发布到maven仓库了,maven项目可以直接在pom.x

2021-08-16 12:15:59 232

原创 RabbitMQ集群搭建

接着上一篇文章“RabbitMQ非root用户安装”继续谈一谈集群是如何搭建的,直接开始。准备3台机器192.168.10.1192.168.10.2192.168.10.3配置hosts文件采用的是主机名来通信所以将ip绑定别名。# Rabbitmq192.168.10.1 Host10-1192.168.10.2 Host10-2192.168.10...

2019-08-19 22:26:43 213

原创 RabbitMQ非root用户安装

背景最近公司一直在做一件事,那就是将老的消息队列方式迁移到RabbitMQ上,正好借此机会学习研究下RabbitMQ是一种什么样的消息队列,都有那些优势,通过理解自己整理总结下,从最开始的安装开始整理。使用版本Erlang:otp_src_22.0.tar.gzRabbitMQ:rabbitmq-server-generic-unix-3.7.15.tar.xz安装依赖库这些库都是需要...

2019-06-19 14:49:19 3013 7

原创 如何正确的暂停线程

背景在一些特定的场景是当一个线程运行时,希望将线程暂停但是也不需要退出。

2019-06-13 23:16:50 1964

原创 Lua新手入门教程

最开始接触Lua语言还是在学习Nginx限流时,查询资料关注一个开源的社区openResty这个是一整套的关于Nginx方面的解决方案,由于条件限制而没有安装,采用的是自行在Nginx上安装需要的模块,然后慢慢的研究如何在Nginx上进行开发。关于Lua的教程也写了一些,在这里整合下方便学习。(一) Lua教程-开发环境安装配置(二) Lua教程-基本数据类型(三) Lua教程-流程控制...

2019-04-21 10:15:45 1203 3

原创 Lua教程-面向对象

Lua教程已接近尾声预计再有两章,从最开始对Lua的不熟悉到现在把所有Lua的基础知识都讲解出来,其实最开始在做与nginx结合限流才有这个想法,如果想着实现比较复杂的逻辑,还是要代码的,所以就想着把Lua教程分享出来。面向对象特征封装:把一个实体的信息封装到一个对象中。继承:在不改变原有程序的基础上进行扩展,有利于减少代码重复提高开发效率。多态:同一操作作用在不同的对象上,产生不同的结...

2019-04-21 09:59:03 316

原创 Spring Cloud Config(二)内容加密

接着上一篇文章“Spring Cloud Config(一)访问加密”,本文主要是说下内容加密,很多情况下的信息是不希望明文展示的,例如数据库用户、密码,关键信息等。...

2019-02-26 11:13:50 605

原创 Lua教程-I/O文件操作

Lua语言也跟其他语言一样提供了对文件的操作,来看看Lua提供了那些对文件进行操作方法。文件操作方法操作方法说明io.open (filename [, mode])按照指定的mode打开一个文件io.close ([file])关闭文件,若无参数,关闭默认输出文件io.flush ()把缓冲区的数据写入到文件中io.input ([file])打...

2019-01-30 17:38:45 695

原创 Lua教程-元表

在Lua中我们可以对table表进行赋值和获取,但是无法对两个table表进行操作,Lua中提供了元表可以对table表进行一些操作,并且提供了两个重要的方法:setmetatable(table,metatable)getmetatable(table)方法说明setmetatable(table,metatable)对指定的table表设置元表metatable...

2019-01-29 17:29:05 678

原创 Lua教程-泛型for迭代器

Lua中for循环提供了对数字型和非数字型(泛型)的支持,其中对数字型的支持已经在之前的文章“Lua教程-流程控制”中进行说明,在这主要讲解下泛型for迭代器,依据table的结构分为两种:数字型table索引key全部为数字。非数字型table索引可以为数字或字母而针对这两种不通类型的table可以使用的函数有ipairs(t)和pairs(t),接下来看看这两个函数使用和区别:...

2019-01-26 15:18:22 522

原创 Lua教程-模块

Lua从5.1添加了对模块和包的支持,Lua模块的机构是一个表或者是函数,可以将公共的代码放在一个文件中,有利于代码的重用和降低耦合度。可以采用require函数引入模块。require函数格式require ("模块名")或require "模块名"采用之前一篇文档“Nginx结合Lua实现限流”中的示例来说明模块的引用。新创建一个文件splitutil.lua(字符串...

2019-01-24 22:04:06 314

原创 Lua教程-table表

Lua语言中的table可以用来解决模块、包和对象,相对于其他语言table的索引下标是从1开始的,而不是0。table(表)构造最简单的构造函数是{},可以用来创建一个空表,可以直接初始化一个数组:---创建空的表local mytable = {}---指定值mytable[1] = "Hello Lua"---清空mytable = niltable 函数操作方...

2019-01-21 15:08:51 860

原创 Lua教程-字符串

字符串表示方式Lua提供了3种表示字符串的方式:使用单引号使用双引号使用[[]]以上三种方式实例:local str1 = 'hello Lua'local str2 = "hello Lua"local str3 = [[hello Lua]]print(str1)print(str2)print(str3)--------输出结果---------hello Lu...

2019-01-18 10:25:28 564

原创 Lua教程-运算符与函数

运算符Lua语言提供了集中基本的运算符类型

2019-01-16 23:27:09 448

原创 Lua教程-流程控制

流程控制对于程序来说比较重要,可以对特定的流程进行处理,一般情况下需要与判断语句配合使用,Lua语言中提供的控制结构有if、while、repeat、for,并且也提供break关键字,在开始讲解控制语句前先介绍下Lua中的变量。变量在Lua中的变量:全局变量、局部变量。类型说明全局变量默认情况Lua中所有均为全局变量局部变量使用local关键字声名的变量,范围...

2019-01-15 23:05:34 457

原创 Lua教程-基本数据类型

配置开发环境可以参考安装配置进行配置。数据类型Lua语音有8种数据类型:nil,boolean,number,string,function,userdata,thread,table数据类型说明nil表示无效值boolean包括两个值true和falsenumber表示双精度浮点数string字符串function函数定义user...

2019-01-14 15:35:04 710

原创 Lua教程-开发环境安装配置

最近一直在学习nginx+lua实现对请求的限流以及一些其他信息的记录还有告警等,所以整理下关于Lua语言的使用,也算是一种总结吧,下面说说我使用的开发环境。环境介绍idea、luaforwindows、idea插件EmmyLua。idea 可以去官网下载或者安装破解版。luaforwindows在使用之前需要安装执行环境,可以点击进行下载,本文及之后的教程中均使用最新版本5.1.4-...

2019-01-14 14:02:17 805

原创 Nginx结合Lua实现限流

最近的工作变动比较大,所以很长时间没有写关于nginx+lua的文章了,现在总算是有时间重新开始研究nginx+lua这个使nginx变的更加灵活的技术了。在学习过程中的经验和遇到的问题记录下来。安装过程可以结合之前的文章“nginx服务治理安装篇”,目前采用的是在nginx基础上安装一些模块,进行学习而没有选择使用openresty,是因为基于公司网络架构及部署架构限制。背景之前一直在负责一...

2019-01-10 14:02:45 8432 5

原创 Maven导入三方jar包到仓库中

使用maven管理jar包,确实是比较方便,但是在实际工作中往往会用到公司或者三方提供的jar包,就要导入到仓库中才能使用。mvn install:install-file -Dfile=*jar包的路径* -DgroupId=*gruopId中的内容* -DartifactId=*actifactId的内容* -Dversion=*version的内容* -Dpackaging=jarja...

2019-01-09 10:16:40 249

原创 Spring Cloud Sleuth在WildFly10容器使用

最近一直在学习Spring Cloud,学习过程中也越发现它的强大,有很多功能都集成了,只是简单的引入对应的jar和简单的配置就能实现,但是在使用Sleuth时也产生了一些问题,最后在同事的帮助下终于解决了,作为辛苦排查了好长时间的问题记录下来。背景最近做的项目是在微服务基于Eureka注册发现的基础上开发的,但是领导想着能够在请求中增加一个标识用于贯穿整个交易过程,这样在排错过程中可以快速定...

2018-12-24 23:09:23 186

原创 Spring Cloud Gateway 自定义限流

在使用Spring Cloud Gateway限流功能时官网提供的限流中的流速以及桶容量是针对所有策略的,意思是只要配置上那么所有的都是一样的,不能根据不同的类型配置不同的参数,例如:A渠道、B渠道,若配置上replenishRate(流速)和burstCapacity(令牌桶容量),那么不管是A渠道还是B渠道都是这个值,如果修改那么对应的其他渠道也会修改,如何能做到分为不同渠道进行限流呢,A渠道...

2018-12-02 00:06:56 6787

原创 Spring Cloud Config基于服务发现引用公共文件

Spring Cloud 的配置文件是bootstrap或者application两个,如果服务配置过多那么文件内容肯定较多,在普通的spring 项目中都是独立出来一个文件用于标注不同的需求内容,例如数据库,redis等,然后再import导入进来就可以使用,在Spring Cloud中要如何引用呢,在使用过程中发现了几种方式都记录下来,希望对正在学习spring Cloud的“学友”有所帮助...

2018-12-01 22:47:00 889

原创 Spring Cloud Consul 多实例注册问题

最近使用consul注册实例时发现一个问题,困扰了两天,终于解决记录下,同时也希望能对其他学习Spring Cloud有此类问题的“学友”有所帮助。问题描述例如两台服务器同一个应用config,端口8080,注册到consul上,就会出现后注册覆盖前一个注册的情况,产生这个问题的原因是consul在注册时的instanceid采用的是“服务名+端口”的方式,默认情况下是"spring.appl...

2018-11-26 23:02:13 3266 1

原创 Spring Cloud Config(一)访问加密

最近一直在学习Spring Cloud ,记录下学习过程中需要用到的相关知识,便于以后查阅,同时也希望能对其他人带来一些帮助。Spring Cloud Config 配置中心集中管理相关配置,但是这些配置也同时暴露在外部,通过http请求就可以拿到这无疑会有很大的风险,下面说一说如何能够进行加密。版本本例使用的Spring boot 是2.0.5,Spring Cloud Finchley....

2018-11-25 15:29:35 1144

原创 ConcurrentHashMap源码浅析

前两篇文件对ReentrantLock、CAS做了简单的介绍,现在开始分析下作为线程安全的集合ConcurrentHashMap是如何保证线程安全的,内容均为个人理解,如有理解有误的地方也请看到的大神指出,进入正题。结构常量static final int DEFAULT_INITIAL_CAPACITY = 16; :默认初始大小static final float DEFAULT_LO...

2018-10-14 15:26:37 265

原创 ReentrantLock分析Lock与tryLock

ReentrantLock锁的底层实现已经阐述过了,那么如何使用,本文进行下样例展示,主要说两个功能:1. lock及中断,2. 申请等待时间;lock锁/** * @Description : * @author : Erick * @version : 1.0 * @time :2018-9-25 */public class ReentrantLockThread imple...

2018-09-30 17:03:03 2229

原创 ReentrantLock与CAS

继续之前文章。无论是HashMap,LinkedHashMap,ArrayList等都是非线程安全的,在并发情况下会出现问题,而Jdk也提供了concurrent包,该包下边主要是关于线程安全相关的类,例如ConcurrentHashMap,ConcurrentHashMap的实现原理不在这里阐述了,这里主要讲解跟它有关的锁问题ReentrantLock(重入锁),CAS(比较与交换)Reen...

2018-09-26 22:49:13 3438

原创 LinkedList浅析

本章分析LinkedList的数据结构,常用方法的实现及总结与ArrayList的区别和优缺点

2018-09-19 23:07:15 223

原创 LinkedHashMap浅析

LinkedHashMap是数组+双向链表的数据结构,继承HashMap并重写部分方法来达到双向链表的特性。 LindedHashMap重写了HashMap的Entry,使其具有双向链表的特性,自身维护的属性只有两个属性,其他均继承自HashMap。/** * The head of the doubly linked list. */ private tra...

2018-09-19 00:05:10 1019

原创 ArrayList浅析

前一篇分析了HashMap,这篇分析ArrayList的机构和常用的方法,有不对的地方也希望大咖指正。 ArrayList是一个数组,一个可以动态扩容的数组,进入正题。构造浅析ArrayList中有自定义属性:DEFAULT_CAPACITY:默认数组大小EMPTY_ELEMENTDATA:一个空数组elementData:存放数据的数组对象size:数组大小Arr...

2018-09-13 19:50:21 453

原创 HashMap浅析

HashMap比较常用,但是具体是如何实现的,通过学习底层逻辑有了一定的了解,主要是由数组和链表实现,在这里针对HashMap做个浅析。 结构: 主要是HashMap中是一个数组,而每个数组里边是一个链表即Entry,包括:key、value、next、hash。 几个主要参数:threshold:阀值是表示达到该值时需要扩容;loadFactor:扩容因子用于计划阀值,默认是0...

2018-09-12 22:40:52 166

原创 nginx服务治理-安装篇

最近学习下关于使用nginx用作服务治理,在此做下记录供以后回顾使用。一、关联软件和模块Nginx1.13.8,下载地址:http://nginx.org/LuaJIT-2.0.5,下载地址:http://luajit.org/download.htmlngx_devel_kit,下载地址: https://github.com/simpl/ngx_devel_kit/rele

2018-02-02 11:35:59 752

intellij-spring-helper-2023.3

适配2023.3版本的intellij-spring-helper-2023.3,如果有需要的可以进行下载使用

2023-12-10

最新版intellij IDEA插件intellij-spring-helper

最新版intellij IDEA插件,intellij-spring-helper,可以帮助社区版idea快速创建springboot应用,同时支持yaml文件的提示功能,下载包后从本地安装即可。

2023-09-25

空空如也

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

TA关注的人

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