自定义博客皮肤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,java,python,go,开源项目技术栈相关技术分享,问题总结记录

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

原创 YDoc一款低侵入性、简洁并同时支持原生Swagger和YApi的文档生成器

点个star行不行。

2021-04-29 10:49:12 906

原创 Java内网穿透

基于netty实现的内网穿透由于本地无法被公网访问,如果想通过请求公网服务器将流量转发给本地就实现了内网穿透jar包下载地址服务端:EasyProxyServer客户端:EasyProxyClient源代码(点个star谢谢):Github大致流程图整体设计大概设计思路就是,在公网服务器上部署一个server端,在本地部署多个client端,client与server建立tcp长连接,进行流量转发,client与server已经建立连接,并且使用自定义协议通信,由于客户端的请求可能

2021-02-03 16:54:09 1125

原创 ETrace(1.2.4稳定版,优先使用该版本)

Javaagent实践引言在使用Arthas的过程中,感觉有些功能很好用,但是有些不敢敲命令行的用起来会比较麻烦,,本着学习的态度,自己设计了一套类似的程序提供了WEB页面进行操作,并且会不断集成一些常用的功能 。在日常的工作中,经常会遇到一些让人头疼的问题,比如在上线前测试量不够,导致生产环境出现了一个小bug,影响了功能的正常使用(对于小公司来讲,应该属于基操吧),这个时候可能就是因为一小行代码所导致,但是为了修复bug不得不重启程序(没办法),这时候客户和老板可能就不满意了(用户量小还好)

2020-10-30 15:32:00 586

原创 Idea通过Docker插件部署java应用(看这一篇就够了)

Idea通过Docker插件部署Java应用这里挺多内容其实在其他人的博客中都安装步骤和简单介绍(说一不说二,估计都是复制粘贴),我这里就简单说一下,主要说其中的问题和解决方案主要的流程,步骤安装docker不多赘述了开启docker远程端口网上绝大部分介绍就是直接加上 -H tcp:0.0.0.0:2376 就完事了,确实好用,也确实有问题,分分钟成为别人矿机,就算你启...

2020-04-22 09:39:48 753 2

原创 Springboot如何实现异步非阻塞数据响应

theme: channing-cyanSpringboot如何实现异步非阻塞数据响应1. 什么是异步响应?通俗一点讲就是不是同一个线程完成请求到响应的流程就是异步响应(话外音:其实也不一定如果使用同一个线程池也可能是同一个线程),当请求进入web容器后,tomcat会select到请求io就绪状态,随后由Poller线程交给tomcat线程池中的线程去完成,但是如果整个流程均由t...

2022-07-03 19:53:42 155

原创 Drone统一管理.drone.yaml文件

theme: scrolls-lightDrone统一管理.drone.yaml文件在赞叹drone的简洁与效率的同时,我们会发出疑问.drone.yaml文件难道必须要和工程放在一起才能触发吗,这样管理很不方便,而且与开发无关,ci的流程应该对开发透明才对,于是我去查了一些文档最终找到了这样一个参数yamlDRONE_YAML_ENDPOINT官方文档对于该参数的描述: ...

2022-01-13 11:53:06 124

原创 基于vue3实现的SwaggerUI(更新了下)

基于vue3实现的SwaggerUI 这只是一个试用版,还会继续调整ui样式,目前只提供源码包需要install到本地使用,未来会release到maven中央仓库,ui的源代码也会发布。它目前仅仅是一个皮肤,但是未来会走两条路线,第一条是单纯的ui,另外就是与 YDoc一款支持Swagger和YApi的文档生成器 集成实现更多实用的功能。不要拦截资源:/doc.html/a...

2021-12-09 18:12:11 105

原创 kubectl常用工具集(开源 持续更新)

kubectl-tools这是一款kubectl的工具集合,未来会集成一些好用的功能源代码https://github.com/NoBugBoy/kubectl-tools 点个star不过分使用方法kubernetes版本 > 1.12 + 直接从release中下载https://github.com/NoBugBoy/kubectl-tools/releas...

2021-09-03 17:14:24 44

原创 快速回滚mysql数据

theme: awesome-green这是我参与8月更文挑战的第5天,活动详情查看:8月更文挑战使用binlog快速回滚mysql数据 在日常使用mysql时,特殊是在开发环境,经常会有一些憨憨操作,手动去操作数据库,或者又删表导入等操作,除了运维备份mysql,也可以记录binlog的的一些信息,比如在手动操作前记录一下时间点和position,操作结束之后也分别记录一下,...

2021-08-13 18:04:39 30

原创 ydoc-spring-boot-starter-1.0.7版本

theme: jzman这是我参与8月更文挑战的第4天,活动详情查看:8月更文挑战ydoc-spring-boot-starter-1.0.7版本升级 坚持初心,做自己想做的。欢迎各位小伙伴尝试使用,有建议或问题可以提到这里issues,欢迎志同道合的朋友一起贡献代码,让api文档更加简单,减少对业务的侵入提高工作效率,未来希望在兼容主流的swagger和yapi格式的同...

2021-08-10 11:38:02 27

原创 SpringCloudGateway统一管理swagger

theme: channing-cyanSpringCloud 统一管理swagger这是我参与8月更文挑战的第3天,活动详情查看:8月更文挑战所有的业务服务正常配置swagger即可,不需要引入swagger-ui,统一在gateway上配置。从这开始就是gateway的配置,其余的eurekaclient和正常的单机项目一样配置即可首先在已经创建好的gateway微服务...

2021-08-04 18:05:13 32

原创 CICD-Drone整合sonar扫描bug并推送钉钉| 8月更文挑战

Drone-Sonar扫描bug推送钉钉,以及DroneSecret使用紧接着上一篇文章 DroneCi安装和Nexus3私有仓库搭建整合 本章内容介绍安装sonar和drone整合以及推送钉钉1. 安装Sonar我这里快速安装,就不挂载配置和安装数据库了docker run -d --name sonar -p 9000:9000 -p 9092:9092 sonar...

2021-08-03 09:51:29 54

原创 Flutter基金管理App| 8月更文挑战

基于Flutter写的基金管理app整体只有三个页面,首页的收藏列表,点击列表进入的详情页,和搜索页面,整个项目没有使用StatefulWidget,所有状态均使用Provider进行管理(其实是不会用statefulwidget,这种设计使用起来很难受,很难想象是google设计的)基于iphone11pro做的适配,如果需要打包Android或其他可能需要简单的调整仅供学习使用,源...

2021-08-02 10:14:27 32

原创 实现Python压力测试工具|Python 主题月

Python压力测试工具写这个东西的初衷是因为,马上就要压力测试,想要写一个工具并可以根据结果生成图表,在该项目基础上可以定制化开发,喜欢或对你有帮助给个start谢谢啦完整代码github地址 用到的技术和依赖包多线程锁requestspyecharts配置了两种发起请求方式(这里如果数量过多还可以再优化多线程循环)快速请求,将请求池中的请求全部发送慢速请求,在指...

2021-07-13 10:02:32 23

原创 内网穿透(EasyProxyPlus)

theme: channing-cyanEasyProxyPlus(支持多客户端多端口) EasyPorxyPlus由三端组成,Web端使用Vue+Antd编写,通过调用Server的Api,对Nat端口(代理端口)进行配置,关闭,查看连接状态、字节流量等信息,Server端使用Java+netty编写,用来与client通信,发送心跳,Client端使用Golang编写,用来穿透...

2021-07-11 20:16:03 27

原创 Python简单版Ansible批量操作linux主机

theme: fancy这是我参与更文挑战的第12天,活动详情查看: 更文挑战batchcmd批量操作linux主机支持持续交互对多个主机操作Shell,支持口令和私钥模式,支持文件上传和下载,整体实现了常用的批量操作,轻量级Ansible。对于持续输出命令,例如top等命令,需要-c指定输出次数,否则会无限输出不会结束。喜欢记得点个关注哦。GithubbatchCmd源码...

2021-06-29 11:05:18 29

原创 第一次录制B站视频,讲解自己的开源项目

theme: channing-cyan第一次录制B站视频,讲解自己的开源项目 录制视频使用QuickTimePlayer,剪辑使用Imovie视频中使用1.0.5版本是未修复的,需要使用1.0.6稳定版本如果只想使用YApi不使用swagger可不加@EnableSwagger2注解配置即可1.0.6依赖地址传送门B站视频传送门,1080P清晰度Ydoc替代...

2021-06-26 10:53:57 32

原创 Ydoc1.0.5支持swagger页面和邮件和web报告

theme: mk-cute这是我参与更文挑战的第11天,活动详情查看: 更文挑战Ydoc1.0.5支持swagger页面和邮件和web报告 在1.0.3的时候只有在开启了swagger-native时才能显示swagger页面,在1.0.5,我们可以使用YDoc方式的注解来生成swagger文档的内容了。如何生成?源码已经开源到github欢迎一起贡献源码,喜欢点个...

2021-06-25 12:10:06 47

原创 浅谈DockerOverlay网络

theme: mk-cute这是我参与更文挑战的第10天,活动详情查看: 更文挑战DockerOverlay网络Overlay是一种覆盖在主机上的虚拟网络,我理解的overlay他需要借助插件或工具完成对数据的保存和转发。我们这里使用etcd来完成overlay的跨主机容器通信1. 安装etcd(这里我只启动两个节点的etcd,也可单机模式)我这里选择用安装包方式,你也可以...

2021-06-24 15:35:20 19

原创 Docker网络模型介绍

theme: geek-black这是我参与更文挑战的第9天,活动详情查看: 更文挑战Docker网络介绍引言本文简单介绍Docker每种网络类型是如何进行网络交换的,Docker内容器在被NetworkNamespace隔离的情况下如何进行网络通信,跨主机容器间是如何进行网络通信预准备我这里创建了两台centos7的虚拟机,分别关闭了selinux和swap,file...

2021-06-23 16:55:15 28

原创 YDoc1.0.4支持微服务、自动化测试以及钉钉通知

theme: geek-black这是我参与更文挑战的第8天,活动详情查看: 更文挑战YDoc1.0.4支持微服务、自动化测试以及通知更新内容修复1.0.3 不同步的bug支持微服务,多个服务在一个YApi项目内使用支持启动时触发自动化测试,并打印报告支持自动化测试钉钉通知 请使用1.0.6版本 maven地址 源码已经开源到github欢迎一...

2021-06-22 16:55:59 30

原创 Java不停机监控&热操作

theme: geek-black这是我参与更文挑战的第7天,活动详情查看: 更文挑战Java不停机监控&热操作引言在使用Arthas的过程中,感觉有些功能很好用,但是命令行的用起来会比较麻烦,,本着学习的态度,自己设计了一套无需停机,埋点,热修复,监控等功能的应用,并提供了WEB页面进行操作,并且会不断集成一些常用的功能 .### 1. 已经支持的操作- 监控J...

2021-06-21 17:38:11 28

原创 AlertManager报警组件

theme: geek-black这是我参与更文挑战的第5天,活动详情查看: 更文挑战AlertManager紧接着上一篇自定义Prometheus前言搭建好了一套监控后,必不可少的就是报警机制了,以各种各样的方式推送消息,比如邮件、短信、钉钉、企业微信等方式,帮助运维人员尽快发现并修复问题1. 创建AlertManager老规矩开局直接偷配置文件docker ...

2021-06-19 11:39:37 24

原创 自定义Prometheus监控&Grafana画图

theme: geek-black这是我参与更文挑战的第4天,活动详情查看: 更文挑战自定义Prometheus监控前言不使用别人提供好的Exporter,和Grafana视图,自己实现一个Exporter来收集系统的时序数据(该文使用Go语言实现Exporter),并使用这些数据画图,更好的了解Prometheus如何收集数据和Grafana怎么配置数据图表展示成果图...

2021-06-18 15:21:04 60

原创 比德芙还丝滑的DevOps、CiCD工具

theme: geek-black这是我参与更文挑战的第3天,活动详情查看: 更文挑战GiteaDroneCi以下安装和操作均为Docker方式1.安装gitea1.安装giteashelldocker run -d --privileged=true --name=gitea -p 10022:22 -p 10080:3000 gitea/gitea访问local...

2021-06-17 09:38:59 25

原创 轻量好用的go、http库

theme: awesome-green这是我参与更文挑战的第2天,活动详情查看: 更文挑战HttpGo工具(golang封装httpclient) 封装httpclient简化开发,使用起来挺方便的,其他项目或爬虫等工具也在依赖这个库依赖库goimport . "github.com/NoBugBoy/httpgo/http"使用方法```goreq :=...

2021-06-16 11:02:14 31

原创 CanalAdapter同步ES7

CanalAdapter同步ES7 预准备Mysql5.7ElasticSearch7.12.1集群或单击(7.x +)一个数据库和一个表结构1.下载下载Canal1.1.5,支持es7canal.deployer-1.1.5.tar.gz对应的是canal的server端,负责订阅并解析Mysql-Binlogcanal.adapter-1.1.5.tar.g...

2021-06-15 18:20:03 23

原创 YDoc文档生成器图文使用教程

YDoc使用图文攻略 请使用1.0.8版本 已经开始发布到maven仓库,预计23号可以直接依赖,目前想要使用需要clone源码安装到本地 源码已经开源到github欢迎一起贡献源码,喜欢点个Star支持下通用步骤1. 创建一个springboot的web工程 2. 创建一个controller和一个pojo对象 ```java//省略了get set 。。...

2021-06-15 18:18:25 58

原创 [已开源]一款低侵入性、简洁并同时支持原生Swagger和YApi的文档生成器

theme: fancy这是我参与更文挑战的第1天,活动详情查看: 更文挑战YDoc一款低侵入性、简洁并同时支持原生Swagger和YApi的文档生成器 充分利用springboot自有注解来对文档进行描述的一款文档生成器。 让我们抛弃大量注解和配置一起拥抱简洁。 1.0.3有些问题,请使用1.0.4版本 已经开始发布到maven仓库,预计23号可以直接依赖,...

2021-06-15 18:15:16 18

原创 YDoc使用图文攻略(基于YDoc1.0.3)

YDoc使用图文攻略通用步骤创建一个springboot的web工程创建一个controller和一个pojo对象//省略了get set 。。。public class User { private Long id; private String name; private List<Order> us; private UserType type; public static class Order { private String

2021-06-03 11:44:19 1022 6

原创 HttpGo工具(golang封装httpclient)

HttpGo工具(golang封装httpclient)封装httpclient简化开发依赖库import . "github.com/NoBugBoy/httpgo/http"使用方法req := &Req{} body, err := req.Url("https://www.baidu.com"). Method(http.MethodGet). //请求方式 Header("user-agent", "Mozilla/5.0..."). //请求头 Header

2021-06-02 14:10:45 1732

原创 Drone-Sonar推送钉钉,以及DroneSecret使用 (2)

Drone-Sonar推送钉钉,以及DroneSecret使用 (2)紧接着上一篇文章 DroneCi安装和Nexus3私有仓库搭建整合本章内容介绍安装sonar和drone整合以及推送钉钉1. 安装Sonar我这里快速安装,就不挂载配置和安装数据库了docker run -d --name sonar -p 9000:9000 -p 9092:9092 sonarqub2. 生成令牌访问ip:9000登录sonar,点击头像MyAccout->Security Generate

2021-05-20 18:39:38 786

原创 GiteaDroneCi(1)

GiteaDroneCi以下安装和操作均为Docker方式1.安装gitea1.安装giteadocker run -d --privileged=true --name=gitea -p 10022:22 -p 10080:3000 gitea/gitea访问localhost:10080弹出交互安装页面修改项值基础URL宿主机ip:10080SSH服务域名宿主机ip其余选项可以默认,可以自行修改。2.创建一个测试项目,并通过http方式push到仓库。

2021-05-18 18:29:41 623 1

原创 CanalAdapter同步ES7(全量&增量)

CanalAdapter同步ES7预准备Mysql5.7ElasticSearch7.12.1集群或单击(7.x +)一个数据库和一个表结构1.下载下载Canal1.1.5,支持es7canal.deployer-1.1.5.tar.gz对应的是canal的server端,负责订阅并解析Mysql-Binlogcanal.adapter-1.1.5.tar.gz对应的是适配器,负责将server的binlog转换并发送给对应的应用canal.admin-1.1.5.tar.gz一个

2021-05-13 14:26:48 2488 8

原创 batchcmd批量操作linux主机

batchcmd批量操作linux主机GithubbatchCmd源码 欢迎star~运行环境需要python3.0+,如需要二进制运行还需要安装pyinstaller安装clone到本地,修改根目录.cfg配置文件,运行batchCMD.pyclone到本地,安装pyinstaller,执行 pyinstaller -f batchCMD.py ,会生成二进制文件在同级目录下放入.cfg配置文件即可配置文件支持口令和秘钥两种方式密码格式:172.16.3.131 -p 密码

2021-03-03 18:00:32 147 2

原创 编写flutter程序遇到的问题总结

编写flutter程序遇到的问题总结状态管理器provider在使用provider时,发现一个问题,当provider需要再多个页面进行使用时,会不断的调用空构造函数,生成新的provider,导致数据无法共享解决办法:在runApp时在根节点初始化provider,子组件会自动获取到根节点的provider,进行共享数据 runApp(ChangeNotifierProvider.value(value: new DataProvider(),child: MyApp(),)); /

2021-01-15 20:46:18 164

原创 JUC·AQS·ReentrantLock独占模式源码解析

Aqs源码解析从ReentrantLock入手看AQS独占模式实例化ReentrantLock在实例化ReentrantLock时,同时实例化了内部的非公平Aqs的类NonfairSync(默认实现为非公平同步类)lock方法当我们想要进行同步操作时,会调用lock方法,lock方法实际调用的为Aqs中的抽象方法Lock,这里的具体实现为NonfairSync的lock方法接下来我们来看一下,非公平的lock方法具体做了什么,如下图当我们尝试调用NonfairSync的lock时

2021-01-11 15:18:27 105 1

原创 高可用kubeadm部署calico

kubeadm部署calico如果已经安装flannel请先卸载掉,并确保pod之间无法通信下载ymlhttps://docs.projectcalico.org/manifests/calico.yaml修改配置,首先找到CALICO_IPV4POOL_IPIP修改为Never使用BGP模式 #CALICO_IPV4POOL_IPIP:是否启用IPIP模式。启用IPIP模式 - name: CALICO_IPV4POOL_IPIP

2020-12-17 16:40:12 519

原创 kubeadm1.19高可用kubernetes部署

kubeadm1.19高可用kubernetes部署预准备3台2核2G服务器(虚拟机),电脑性能好推荐虚拟机省不少钱前置的配置,源,docker安装等请参考之前的博客 -> 安装教程配置好后不要执行kubeadm init 就可回到这篇文章继续看开始安装1.Etcd集群安装etcd是一个高可用的分布式键值(key-value)数据库,kubernetes将服务和数据信息保存在etcd中,如果etcd挂掉集群不可用,数据如果丢失集群将变为初始状态,所以etcd的高可用必须要保证

2020-11-24 11:43:17 1372 1

原创 Traefik2.x IngressController

关于Traefik2.x IngressController引言主要想了解,外部流量如何请求到内部,并且做反向代理正文1. k8s外部流量如何请求到内部?第一种方式比较容易想到,只要将service绑定好pod,并且将service的nodeport暴露出来,提供入口和负载均衡,流量就可以从外部请求到对应的服务,此时就可以按照以前的经验,在最外层部署nginx,由nginx代理这些暴露的nodeport,这样就可以达到反向代理的效果,但是这种方式是静态的,也就是说如果有新的服务需要修改

2020-11-19 18:17:42 573

空空如也

空空如也

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

TA关注的人

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