自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

水中加点糖

https://github.com/puhaiyang

  • 博客(164)
  • 资源 (1)
  • 收藏
  • 关注

原创 SDN控制器-ONOS源码编译与mininet快速入门

sdn快速入门,使用ONOS源码方式编译。ONOS-2.7.0+Bazel+Mininet快速入门。

2022-11-21 13:28:09 118

原创 docker下快速部署openldap与self-service-password

通过docker部署slf-service-password,实现ldap下的用户密码自助修改功能

2022-11-01 22:32:02 259

原创 docker下快速部署openldap与PHPLdapAdmin

在一个组织中,为了简化各种内部系统的账号和密码的管理,往往就需要ldap来进行管理了。对于ldap的实现方式也非常多,但在免费的开源系统中,openldap是ldap的首选系统。同时,在这一切讲究快速的时代,采用docker来进行openldap的部署,也是一个很好的选择。在这里,我们来一起学习体验一下。

2022-10-31 23:44:40 163

原创 coding上的免费的编译、打包、推镜像工具(cicd)太强了,必须分享一下

免费的持续集成工具,YYDS

2022-09-11 16:28:16 574

原创 疫情宅在家,研究一下fastjson中字段智能匹配的原理

fastjson智能匹配的原理。fastjson中下划线是如何自动转驼峰的。

2022-09-08 22:32:15 515

原创 优雅编码之——传统项目中,使用openfeign替换掉项目中的httpclient

用feign来替换到项目中的http工具类,让代码更简单

2022-09-04 20:57:33 1196

原创 花了大半天,写了个springdoc/springfox/swagger文档转word的工具

swagger/springfox/springdoc接口文档导出word,附源码

2022-08-22 16:41:50 452 2

原创 快速掌握jmeter(二)——控制器与beanshell实现csv自动化测试模板

在我看来,如果代码有了设计模式可以变得美而优雅那么jmeter有了logic controller之后,jmeter就不单单仅是一款性能测试工具

2022-08-08 22:35:02 1868 1

原创 快速掌握jmeter(一)——实现自动登录与动态变量

快速实现jmeter自动登录与动态变量使用。后置处理器,动态变量与函数。

2022-07-31 22:40:52 422

原创 opencv快速实现任意角度二维码矫正

任意角度二维码图片快速矫正。

2022-05-29 17:06:55 1526 5

原创 为什么不建议使用ON DUPLICATE KEY UPDATE

昨天评审代码时,大佬同事看到我代码里使用了mysql的on duplicate key update语法实现了对数据的save or update,说这个语法有严重的性能和其他隐患问题,让我必须改成先查询一次分出新增集合和修改集合,再分别进行批量新增和批量修改的方式进行,并对批量修改时使用case when的方式实现。对于批量修改,在mybatis中也就是类似这种的xml: <update id="updateByIds"> update tb_user

2022-03-27 13:26:34 2529 1

原创 idea中analysis之analyze data flow功能体验

周末没啥事,就看了看idea的文档,其中发现了一个感觉挺不错的功能,可以用来分析代码的影响范围,在这里分享记录一下官方文档说明地址https://www.jetbrains.com/help/idea/analyzing-data-flow.html其中对于这个功能的描述为:When working with large codebases, it is sometimes difficult to figure out how data is processed and how the work

2022-02-28 20:00:17 995

原创 春节期间必学算法之-洗牌算法

春节期间免不了聚会,为了打发无聊的时间,免不了和亲朋好友一起打牌。想到这个问题,联想到如果亲朋好友让我这个程序员设计一个发牌的程序,我会怎么做呢?身为一名参加工作4年多的程序员的我,为了不出洋相,决定还是先来提前学习一下。目标先将此问题转为一个面试时很容易被问到的一个面试题:设计一个方法,每次调用时从1-100中返回一个不重复的随机数。常规思路对于上面这个问题,我能想到的最常规最简单的思路便是:每次进行获取一个随机数时先判断是否已经返回过,如果已经返回过则进行重试,重新返回一个新的随机数。这种

2022-01-31 23:04:36 1221

原创 使用antlr快速解析SQL

使用antlr快速解析SQL

2021-12-26 22:04:27 3983 3

原创 spring cloud kubernetes在pod模式下服务调用源码解析

之所以只看pod模式下的服务调用链路,是因为在service模式下不会走缓存,效率低,并且负载均衡模式不能由spring cloud框架所控制,不太灵活需要关注的几个类:DiscoveryClientorg.springframework.cloud.loadbalancer.blocking.client.BlockingLoadBalancerClientorg.springframework.cloud.loadbalancer.blocking.client.BlockingLoadBal

2021-11-30 20:38:25 573

原创 快速实现leader选举之Spring Cloud Kubernetes Leader Election

说起节点选举,一般最先想到的就是使用zookeeper或redis来进行实现。但有时因为项目的原因,如果不方便引入其它的中间件,又正好使用了spring cloud kubernetes框架,那么就可以直接使用spring cloud kubernetes leader election来实现节点选举了。The Spring Cloud Kubernetes leader election mechanism implements the leader election API of Spring I

2021-10-23 17:40:09 498

原创 spring cloud kubernetes源码解析之feign与loadbalancer

现在是2021年8月的一个星期四,窗外是刚下过大雨的夜色,伴着几点稀零的灯光。我戴着耳机,在客厅阳台上的书桌前吹着安静的风,耳机中正好播放“夜风凛凛 独回望旧事前尘”张国荣的歌。不知道不觉间,我来公司也已经二年了。二年间匆匆过去,同样也预示着我也从大学毕业正好四年了。在公司这二年间,我见证了公司的微服务从docker->docker swarm->kubernetes迁移的一路历程。同时变化的也还有青涩的自己,从中级JAVA->项目技术负责人->team leade

2021-09-30 20:39:17 1126

原创 快速入门JAVA单元测试——mock

背景为了确保代码的质量,对编写的代码进行单元测试是非常有必要的。在JAVA项目中,一般的项目结构比较复杂、依赖众多。在微服务与spring boot大行其道的今天,单纯靠junit来进行单元测试一般很难完成对模块的单元测试。为了让JAVA项目中的单元测试更加灵活便于编写,各种mock框架应运而生,其中最为常用和经典的mock框架非mockito与powermock莫属。为了快速入门,本文将通过几个实例让大家快速了解mokito与powermock的使用方法。同时将对mokito与powermock

2021-08-28 14:26:29 1612

原创 spring cloud kubernetes项目负载均衡pod模式下,如何实现平滑访问?

如果再回到从前所有一切重演我是否会明白生活重点简介如果spring cloud项目使用kubernetes作为服务的注册中心,最方便快捷的办法就是直接引入spring cloud kubernetes组件,具体的操作办法可以看下以前的文章:spring cloud项目改造为spring-cloud-kubernetes项目spring cloud kubernetes负载均衡方式对说spring cloud kubernetes项目来说,它支持两种负载均衡模式,详情可看loadbalanc

2021-08-08 23:34:55 548 1

原创 使用spring-integration快速实现mysql分布锁

正如上篇文章spring自带分布式锁-[jdbc-lock-registry]源码解析所说的那样:对于并发不是很高,并对性能追求不是很迫切,又不想引入其他第三方组件的情况下,使用数据库来实现分布式锁也是一种很不错的实现方式。这里将快速演示如何在常见的spring boot项目中,通过引入spring-integration来快速实现一个mysql的分布式锁。依赖引入首先在maven中引入所需要的依赖 <!--mysql数据库驱动--> <depend

2021-07-30 21:01:42 771

原创 spring自带分布式锁-[jdbc-lock-registry]源码解析

在查看spring cloud task源码的时候发现它是通过使用spring自带的分布式锁实现的。分布式锁一直以来都是分布式系统中很重要的一种技术,最常见的主要还是基于redis或zookeeper实现的分布式锁。spring自带的常用分布式锁介绍文档如下:jdbc-lock-registryredis-lock-registryzk-lock-registry对于并发不是很高,并对性能追求不是很迫切,又不想引入其他第三方组件的情况下,使用数据库来实现分布式锁也是一种很不错的实

2021-06-30 15:22:31 1077 1

原创 [源码解析]之-ElasticJob如何做到单分片任务只在一个节点运行的?

这篇文章是之前体验elastic-job时搭了一个elasticjob多节点环境,当时对elasticjob是如何做到多节点中只运行一个定时任务挺疑惑的,所以就跟着源码看了看并做了一个简单的记录。在了解与体验了spring cloud data flow后觉得elasticjob优秀是优秀,但与spring cloud data flow相比能更好地运行在kuernetes上总觉得不怎么适用于当时公司的定时任务场景,于是这篇文章也就没有发出来。但最近由于公司项目由于数据存储那块原有架构感觉快扛不住了,于

2021-04-19 20:47:33 1063

原创 es实现多字段聚合后再分页-附JAVA工具类

因为产品功能需要,需要实现很多数据的统计功能。产品经理在统计某些数据时为了不失用户体验,对于数据量可能大于几十条的数据都设计为了分页查询好巧不巧,上面描述的这个需求的后端开发正好就落在了我的头上刚开始没怎么注意,想着不就是从es提取数据嘛,看看官方API定能分分钟搞定,而且肯定有现成的聚合后再分页的api产品说10天时间让开发完,我想着10天是不是瞧不起我。3天,就3天完全够了,第1天开发接口,还不能下班后在公司逗留、第2天让前端对接接口、第3天走测试。好在产品也是很给我面子,我说3天就3天(此段纯属

2021-04-06 22:24:18 2589 7

原创 [源码解析]之-spring cloud task启动执行流程详解

前言在采用spring cloud task实现定时任务默认是允许并发执行的,也就是同一时刻运行同时运行多个同一task实例但是task的一般业务场景都是不允许并发执行的,为此spring cloud task官方的文档中也有对此的说明并提供了配置详情点此链接进行查看Restricting Spring Cloud Task Instances其主要内容如下:Spring Cloud Task lets you establish that only one task with a given

2021-04-03 12:03:08 630

原创 使用kube-state-metrics监控kubernetes并告警

对于自己搭建的kubernetes集群,能做到实时监控pod的状态并及时发送告警是非常有必要的通过翻阅kubernetes官方的各种文档后,我决定采用kube-state-metrics来实现对kubenetes进行监控,并配合promethues进行数据存储、grafana进行数据渲染与告警,从而实现一套比较完整的监控方案安装过程如下:数据收集部署kube-state-metrics将kube-state-metrics组件的yaml克隆下来git clone https://github.

2021-03-28 18:58:08 1640

原创 成都软考-技术技能提升补贴领取指南

此文与技术无关,算是一个踩坑记官方政策说明技术技能提升补贴政策解读因为我工作的公司所在地在高新区,根据上面的政策对应的地区我就应该要去以下地点办理技能领取补贴高新区人社局就业处 成都高新区天府大道北段18号高新国际广场A座509在去之前为了确保自己跑少走弯路,就先打了官网留来下的电话咨询了下高新区人社局就业处然后对方告诉我是去街道办办理技术技能提升补贴然后我根据官方的准备资料准备以下材料:下载并填写了《技术技能提升补贴个人申请表》一份,并打印了出来身份证原件复印件一份社保卡原件和

2021-03-19 13:01:03 1838 5

原创 介绍一下,spring cloud下的另一种定时任务解决方案

曾经天真的我以为在JAVA中做定时任务只有quartz、xxl-job、elastic-job直到那天公司领导向我推荐了spring cloud data flow和kubernetes cronjob随后我快速去体验了一把它们的特点,而当再回过头来看我之前所了解的定时任务框架,便感觉很难再爱了废话不多说,趁着激情还未褪去,带大家一共快速领略一下吧spring cloud data flow安装对于spring cloud data flow的安装这里就不记录和演示了,因为官网比我写的好上很多安

2021-03-16 22:46:14 923

原创 定时任务框架elastic-job快速体验与思考

前言一个业务系统中很容易会遇到需要定时任务来执行某一操作的需求。如果刚开始时系统足够简单,为了开发快速与便捷,用spring中的schedule注解来实现定时任务也完全够了随着业务功能的增加,如果需要定时任务的高可用,则可以使用quartz,但如果希望有job的管理界面并支持分布式,那么quartz目前还不能满足。也正因为quartz不能满足分布式处理定时任务的原因,于是便有了众多的定时任务框架,如xxl-job、elastic-job等尽管xxl-job和elastic-job都是由国人开发的两款开

2021-02-21 22:53:55 891

原创 leetcode.44.通配符匹配问题-动态规划的两种写法

题目描述https://leetcode-cn.com/problems/wildcard-matching/给定一个字符串 (s) 和一个字符模式 § ,实现一个支持 ‘?’ 和 ‘*’ 的通配符匹配。'?' 可以匹配任何单个字符。'*' 可以匹配任意字符串(包括空字符串)。两个字符串完全匹配才算匹配成功。dp写法一class Solution { public boolean isMatch(String str, String pattern) { //定义s

2021-01-31 21:44:24 250

原创 JAVA项目中常用LRU缓存过期策略实现方式对比

JAVA项目中常用LRU缓存过期策略实现方式对比

2020-12-31 22:32:55 493 1

原创 大话常用限流算法与应用场景

计数器限流算法模拟需求描述公司产品老大让做一个抢金币的活动,规定一个用户5秒内最多抢10个金币解决办法初级工程师小J(junior)同学拿到这个需求后立马就开干,直接用userid为key在redis中存储,来一个请求就让计数器自增一下再拿到自增后的结果,判断结果值是否超过了规定的阀值,再来个将key设为5秒过期小A然后快速写出代码: /** * 限制为5秒10次 */ private Long rangeSeconds = 5L; private In

2020-11-30 20:13:53 533 4

原创 常见设计模式对应类图汇总

设计模式对应类图汇总

2020-10-27 13:36:20 1518

原创 sentinel源码解析之-sentinel dashboard与客户端连接建立过程

sentinel 源码解析之sentinel dashboard与sentinel客户端连接过程

2020-10-15 11:19:13 2429 1

原创 java基于word模板动态生成word及转pdf实践

java基于word模板分分钟动态生成word及输出pdf

2020-10-11 12:41:47 2605 6

原创 通过java的nio实例分析tcp握手与SYN泛洪攻击

好吧,对于工作这事我又冲动了.我总是这样一次次的犹豫,失去了一次次的机会.也总是一次次的冲动,让原来可以挽回的事情就这样被我搞砸了.我何时才能不再优柔寡断,成为那个刚毅果决爷们.一定要加油,改变!我还记得对于tcp三次握手和四次挥手的概念和主要过程还是大一时计算机网络课上学过,但是一直没有实际分析过。今天周末,闲来无事,决定来研究一下tcp握手和挥手的过程。实践环境物理机(windows),ip:192.168.85.1虚拟机(ubuntu),ip:192.168.85.136w

2020-09-23 21:04:19 598 1

原创 DelayQueue浮光掠影

现在是2020年8月,正式从大学毕业也已经第三个年头了,现在想想还是挺快。通过最近这段时间对公司项目的改造,在使用spring cloud、spring cloud kuberntes、kubernetes、istio、skywalking、helm这些技术与框架后,个人感觉对于上面这些技术虽然精通远远谈不上,但对于上面这些框架的基本使用和操作还是达到了的,也很感谢公司和领导能让我有机会去进行尝试。由于最近的项目有时忙有时不忙,所以在空余时间又看了关于分布式事务的常用解决方案和同事分享给我的《MySQL

2020-08-09 14:05:40 308

原创 使用istio对spring cloud kubernetes项目进行金丝雀发布

用istio来部署spring cloud kubernetes果然名不虚传.istio对spring cloud实现灰度发布、蓝绿部署、金丝雀部署

2020-07-08 15:42:21 2709 4

原创 spring cloud项目改造为spring-cloud-kubernetes项目

spring cloud去掉eureka注册中心spring cloud使用etcd作为注册中心spring cloud改造成spring cloud kubernetes

2020-07-07 17:57:41 5468 6

原创 spring-cloud-kubernetes之开发环境搭建

前言为了能让spring cloud更好的部署在kubernetes中,为此我决定将原来的spring cloud进行改造,改造为spring cloud官方提供的spring-cloud-kubernetes在技术选型时,对于要不要将原生的spring cloud改造为spring-cloud-kubernetes可能也是许多人思考的一个问题,因为毕竟spring-cloud-kubernetes的运行是需要依赖于k8s环境的,spring-cloud-kubernetes本地调试这个应该如何解决呢?

2020-07-02 14:17:43 2993 2

原创 采用rancher2+kubernetes+skywalking部署springcloud项目(五[istio蓝绿部署]-错误演示)

本系列文章目录(一)基础k8s yaml脚本发布(二)helm+shell脚本优化大量冗余配置发布(三)jenkins用户审核的流水化方式部署(四)service mesh(istio)服务网格化发布(五)istio对项目进行金丝雀部署(待完成)在有了上一篇采用rancher2+kubernetes+skywalking部署springcloud项目(四[istio服务网格化版本])的实战后,对istio有了一个初步简单的认识。这一次我决定来把spring-boot-cloud项目中的svca

2020-07-01 18:05:06 908

系统架构设计师-真题附答案(2013-2018).zip

此资源为软考系统架构设计师考试2013年至2018年的真题,内附答案。

2019-09-10

空空如也

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

TA关注的人

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