- 博客(48)
- 收藏
- 关注
原创 如何利用Github Action实现自动Merge PR
GitHub Actions 是 GitHub 提供的一种强大而灵活的自动化工具,它允许开发者在软件开发生命周期的各个阶段构建、测试和部署代码。借助 GitHub Actions,开发者可以创建自定义的工作流来自动执行一系列任务,从而提高开发效率、减少人为错误并确保代码质量。实现自动Merge PR
2024-07-07 17:26:41
1549
原创 SyncUnsafeCell替换Mutex提高性能
title: “SyncUnsafeCell替换Mutex提高性能”linkTitle: “SyncUnsafeCell替换Mutex提高性能”sidebar_label: SyncUnsafeCell替换Mutex提高性能description: SyncUnsafeCell替换Mutex提高性能。
2024-06-30 17:18:50
429
原创 我用Rust开发Rocketmq name server
ocketmq-rust namesrv 经过一个多月的开发,终于开发出来了一个Rust版本的Rocketmq name server组件。这个组件和Rocketmq Java版本完全兼容
2024-01-29 00:17:32
1193
原创 Rocketmq rust版本-开篇
Rocketmq-rust是基于Apache Rocketmq Java版本的Rust实现,最终的目标是用Rust的完全实现一个和现有Rocketmq一样的Rust的版本的Rocketmq。两者可互通功能完全一致。
2024-01-15 15:23:06
1508
原创 分布式ID生成器-rain
分布式全局ID生成服务,ID生成分为两个模式:如何使用看如下介绍。安装好相关的依赖。运行一下sql脚本创建对应的数据库和表,脚本如下:3. rain部署启动3.1 通过提供的Package第一步:下载 binary package可以从最新的最新的稳定版本页面下载。获取 第二步:修改conf/application.properties修改application.properties配置中数据库相关配置:第三步:启动服务[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(
2022-06-25 18:16:30
427
原创 RPC的底层原理-浅显易懂
1. 什么是RPC?RPC(Remote Procedure Call)–远程过程调用,通过网络通信调用不同的服务,共同支撑一个软件系统,微服务实现的基石技术。从本质上来说Web项目+JSON的数据格式也是一种RPC。2.通过现象看本质不管是 Spring Cloud还是Dubbo,你使用的时候可能都会发现调用方只是使用了接口。Spring Cloud的调用:@FeignClient(name = "服务名称",path = "路径")public interface CgChannelApi
2022-04-18 19:33:55
1699
原创 排序算法-冒泡排序
1. 冒泡排序(Bubble Sort)冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。算法描述比较相邻的两个元素。如果第一个比第二个大,就交换两个的位置。对每一个相邻元素进行同样的工作,从开始第一对到结尾最后一对。这样在最后的元素应该会是最大数。针对所有的元素重复以上的步骤,除了最后一个
2022-04-17 15:57:44
634
原创 JMeter+Faker让测试数据生成自动化
Faker主要用来生成开发测试过程中的的模拟真实数据。JMeter主要用于测试,在测试的过程中造数据是一个很头疼的问题。今天笔者就来介绍一下如何将Faker和JMeter进行组合来实现。模拟数据创建,通过Faker创建的模拟数据更加真实。1. 环境准备JMeter, 版本:5.4.3javafaker,版本:1.0.2下载javafaker的jar包,然后把jar包放到JMeter的lib目录中。这里就已经准备好了。接下来就是启动JMeter服务。Tips: 由于javafaker还有依
2022-04-16 16:30:16
4456
原创 Faker让生成测试数据事半功倍
作为一个开发,平时开发完成一个接口免不了进行测试。这就需要用到测试数据,少量的数据还可以通过开发手动造。但是如果需要用到大量的批量数据写代码和手动造就很麻烦。如果需要造出来的数据符合实际就很麻烦和复杂。今天就介绍一个造数据的框架Faker, 这个框架可以帮助我们构造出来各式各样的假数据用于测试。同时生产的数据更趋向于真实。Faker有多种实现:python、Java、js等等。下面介绍Java版本的使用1.引入依赖Maven依赖:<dependency> <groupId&g
2022-04-15 17:47:43
3964
原创 Maven-自定义archetype
title: Maven-自定义archetypecategories:开发工具Maventags:Mavenarchetypeabbrlink: ee66def9date: 2020-05-16 09:34:56基于Maven 3.6.3版本什么是archetype简单一点说archetype就是一个创建工程的模板。这样的好处在哪里呢?就是不用每次新建一个项目就要去把maven中的配置pom配置一遍我们需要的一些通用的东西。这里举个栗子:比如你搭建spring-boot.
2020-05-16 14:43:42
445
原创 Spring Boot -- 启动源码分析
1 启动代码@SpringBootApplicationpublic class MyApplication { public static void main(String[] args) { SpringApplication.run(MyApplication.class, args); }}通过以Java Application 的方式就能运...
2018-08-12 20:26:37
376
原创 Windows10系统 DEPRECATION: The default format will switch to columns in the future解决!
1 查下当前系统的HOME 2 在目录下面建立pip文件夹,在文件夹下面建立一个pip.ini文件。 3 运行 pip list完美解决
2017-11-20 22:00:56
1716
原创 Java的日志框架
1 java中常听到的日志框架最常听到的:Log4j, Log4j2 ,SLF4J,logback. 其他日志框架:Apache Common-Logging ,java.util.Logging 等等2 日志之间的关系SLF4J 框架不是一个真正的日志框架,而是一个日志的抽象。这样允许你在你的编程过程中使用任意一个日志类库。通俗的讲SLF4J就像是一个接口而Log4j, Log4j2 这些就像是
2017-10-22 18:49:23
339
原创 Spring5.0 集成Fastjson
1 Spring Boot2.0 集成fasterJSON编程方式: 编写这样一段代码就可以了 网上还有这种下面一种方式: 但是这种方式在Spring5.0中 WebMvcConfigurerAdapter 被定义为@Deprecated 也就是不建议使用。 下图是Spring源码 Spring MVC 整合和这个类似可以采用一样的方式。如果要采用xml进行整合。
2017-10-01 11:09:58
1383
原创 发布jar包到Maven中央仓库
平时自己开发的工具类或者其他的框架的jar包一般都是放在本地。或者把代码上传到github让别人去下载然后自己打包。今天就说说如何把自己的jar包发布到Maven的中央仓库。让其他使用你的jar包的直接去中央仓库下载。如果你用的是阿里云的maven中央仓库。同样阿里云的中央仓库也会同步你的jar包。 1 注册JIRA账号 注册地址:https://issues.sonatype.org/
2017-09-17 11:42:56
8044
4
原创 Redis4.0.X 官方集群方案搭建
1 下载编译Reids wget http://download.redis.io/releases/redis-4.0.1.tar.gz tar xzf redis-4.0.1.tar.gz cd redis-4.0.1 make注意:在执行make的是时候确保包含了编译所需的工具包。阿里云Centos7.0 编译没有问题直接通过2修改配置文件port 7000cluster-enable
2017-08-02 21:04:52
18711
原创 Linux Mysql基本命令
1 登录mysqlmysql -uroot -hlocalhost -psys123 -P3306介绍:mysql -u[用户名] -h[数据库地址] -p[密码] -P[端口]mysql -uroot -hlocalhost -psys123 -P3306 --default-character-set=utf8介绍:mysql -u[用户名] -h[数据库地址] -p[密码] -P[端口]
2016-09-16 09:49:29
580
原创 Spring+Tomcat+Atomikos + Druid 实现JTA
1 下载Atomikos所需的包 下载地址:http://www.atomikos.com/Main/InstallingExtremeTransactions 下载后如下: 下载的其实是一个Maven的库 2 将com下面的文件移动到自己的maven库里面,如果不是用maven进行搭建就拷贝相应的jar包 移到本地maven库中如下: 3 pom文件添加的 atomiko
2016-09-13 22:41:39
4419
原创 Hadoop 2.7.2 集群搭建
1 安装前的准备VPS服务器三台(三台2台内存6G硬盘150G,一台4G硬盘30G)VPS安装的系统(CentOS 6.0)Hadoop2.7.22 准备系统环境1 安装JDK linux下载方法:wget –no-check-certificate –no-cookies –header “Cookie: oraclelicense=accept-securebackup-cooki
2016-09-04 23:03:39
1756
原创 修改SSH的端口
1、修改配置文件:vi /etc/ssh/sshd_config ,找到#port 22如图2 在#port 22添加你想要的端口 如图3 保存重启服务4 修改客户端端口重新登录
2016-09-03 17:30:39
761
原创 CSS ToolTip 实现方法1
CSSbody{ font-size: 16px; background-color: #48B379; max-width: 1200px; margin: 10px auto; padding: 10px 20px; color: #EEE9DC;}.content{ margin: 30px 0px;}.tooltip{ po
2016-05-15 16:44:51
787
原创 基于FileReader实现的图片网页本地浏览
<!DOCTYPE html><html><head> <meta charset="utf-8"> <title>图片本地浏览</title> <script type="text/javascript"> fileReader = new FileReader(); fileReader.addEventListener('load',
2016-04-20 22:03:40
450
原创 微信开发环境搭建
1 申请微信测试号 申请微信测试号地址:http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login 扫描二维码进去就能获得微信测试的号 这样就获得了测试账号 2 搭建本地测试环境 http://blog.qqbrowser.cc/wei-xin-gong-zhong-hao-ben-di-diao-shi/ 官方给的
2016-03-19 21:20:21
520
原创 CSS padding margin输入不同值个数的效果详解
margin padding 所表示的位置为从top开始的顺时针,也就是top-right-bottom-left。 以margin为例子:margin:1px; //等价于:margin:1px 1px 1px 1px;margin:1px 3px; //等价于:margin:1px 3px 1px 3px;margin:1px 3px 4px; //等价于:margin:1px 3px
2016-02-20 20:31:54
762
原创 CSS选择器
CSS的选择器大致可以分为五类:标签选择器类选择器ID选择器伪类选择器基于关系的选择器标签选择器 以html标签作为规则的一类选择器。标签选择器在CSS的规范中也叫作:类型选择器(区别于类选择器)div{color:red;} /*标签选择器*/类选择器 html代码<div class="class-selector"></div>CSS代码.class-selector{col
2016-02-14 17:01:15
405
原创 CSS的层叠和继承
一个元素的样式,可以通过多种方式来定义,而多种定义方式之间通过复杂的影响关系决定了元素的最终样式。这种复杂既造就了CSS的强大,也导致CSS显得如此“混乱”而且难以调试。对于层叠来说,共有三种主要的样式来源:浏览器对HTML定义的默认样式用户定义的样式开发者定义的样式,可以有三种形式: 定义在外部文件(外链样式:CSS文件)在页面的头部定义(内联样式:style标签里面的CSS)定义在
2016-02-13 17:22:57
733
原创 Linux查看端口占用情况和开启端口命令
查看端口的使用的情况lsof 命令比如查看80端口的使用的情况。lsof -i tcp:80列出所有的端口netstat -ntlp查看端口的状态 /etc/init.d/iptables status开启端口 开启端口以开启端口80为例。 1 用命令开启端口:iptables -I INPUT -p tcp --dport 80 -j accpet --写入要开放的端口/etc/init.d
2016-02-10 17:24:47
71503
1
原创 Linux开启mysql远程连接的设置步骤
1 测试是否能远程登录 用本机登录VPS服务器上刚刚安装好的mysql. 2 登录VPS服务器的mysql 主要选择的mysql这个数据库。 3 设置远程登录 这里设置的root用户可以以任何IP登录到远程的mysql 4 重新再本机测试远程登录 成功登录注意:确保mysql的服务端口是保持开放的,默认的端口:3306
2016-02-01 10:12:08
573
原创 Linux Mysql5.7.10修改root初始密码
在mysql5.7.10的版本安装好启动程序并没有在操作系统root用户的根目录下面看到一个以点为前缀的带有mysql的文件。 当用命令:mysql -uroot登录时会抛错提示要输入密码。接下来就开始修改root的初始密码。编辑 /etc/my.cnf的mysql配置文件 加入skip-grant-tables保存好配置文件 重启mysql服务命令:service mysqld
2016-01-30 22:52:26
11597
原创 Linux SSH远程连接超时断开解决
用putty或者SecureCRT远程连接Linux出现一段时间不操作会出现远程连接自动断开的情况。通过修改SSH服务端的配置来解决。 后端SSH服务配置文件的位置:/etc/ssh/sshd_config 找到ClientAliveInterval 设置一个大于0的整数 然后保存。重启系统或者重启SSH服务就可以。 (测试的系统为Centos6 VPS主机)
2016-01-29 14:24:05
5770
原创 EL1041E:(pos 2): After parsing a valid expression
org.springframework.expression.spel.SpelParseException: EL1041E:(pos 2): After parsing a valid expression, there is still more data in the expression
2015-12-30 20:07:58
15266
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人