自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

万万没想到的博客

学习进化ing.....

原创 mac iterm2 sz rz 失效问题解决

这里我就不写如何安装和配置了,相信翻到这里的时候应该已经看过很多个一样的教程了= =我遇到的失效的问题是,根据网上的配置完成后,在本地使用是正常的,而一旦使用了expect就会失效,这里提到了一个解决方案:https://blog.csdn.net/lovewebeye/article/details/85049423 照着弄了下就可以了。(不过这篇博客的标题导致搜索困难,我还是再写一个吧= =)新建的expect.sh脚本如下#!/bin/sh#basepath=$(cd `dirname $0

2020-06-03 17:29:50 364 2

原创 k8s状态上报及调度实现分析

1. 概述下面的实现分析中会涉及到k8s三个组件,分别为:scheduler: k8s的调度组件,这里负责筛选node来创建podapi-server: 这里负责对etcd的增删改查,在k8s中只有该组件可以对etcd进行操作kubelet: 是启动在node节点上的组件,负责pod的管理,监控,状态上报,pod的创建,删除等具体操作注:scheduler,kubelet的资源数据的获取以及更新cache都是依赖api-server来实现的,具体的实现是通过list-watch机制来实现的(K

2020-06-01 15:18:23 150

原创 java支持分版本校验java bean开源项目

项目地址lwydyby/valid-version简介java bean基于注解的校验框架,由于要使用openstack java sdk,而openstack本身是支持多个版本的,所以需要同一个实体类按版本号进行不同的校验,所以java/spring自带的校验工具并不能满足需求,所以手撸了一个简易的可以分版本校验的通用框架。(目前只支持了notNull注解,后续根据工作需求会同步更新...

2020-01-03 10:56:23 59

原创 github actions初体验(二) ----如何自动化构建vue项目并打包上传docker镜像

前言这里不赘述了,不懂得去看github actions初体验(一)配置name: web-CIon: push: branches: - masterjobs: build: runs-on: ubuntu-latest strategy: matrix: node-version: [8.x, 10.x,...

2019-12-26 09:50:55 197

原创 github actions初体验(一) ----如何自动化构建maven项目并打包上传docker镜像

前言本文是一个简单教程,演示如何构建maven项目并打包上传docker镜像这里我就不再写基本教程和简介了,不太清楚的可以看大佬的博客:GitHub Actions 入门教程成功的截图构建配置jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - name: ...

2019-12-26 09:49:32 499

原创 openapi 3.0 规范说明

前言任何项目在开发完成后都需要编写接口文档,而手动编写文档即消耗人力又可能由于维护不及时导致文档和项目版本不一致,反之如果使用swagger在项目更新的同时自动生成相应的接口文档则可以避免上述问题。由于swagger2.0的规范依赖于openapi 3.0版本的规范,所以在使用swagger生成文档前,了解和掌握openapi的规范是必要的,所以我下边列出了openapi文档的常用示例并赋予中文...

2019-12-16 16:45:16 3496

原创 如何使用vertx反向代理处理大文件的下载

前言由于我们的api-gateway使用vertx web开发,而大文件的下载在通过网关处理时,会超时并且严重拖慢网关的处理。所以需要单独优化处理了下载接口,让网关可以将后端传过来的buffer直接发送给客户端,而不需要等待网关下载到网关的服务器上,再转发给客户端(这也是大文件下载客户端会超时的一部分原因)问题所在webclient对body的处理:vertx webclient默认下载文...

2019-11-22 16:48:07 237 3

原创 vertx源码分析(二)---------------vertx-web router如何部署到vertx中

在分析一中,我们已经知道了verticle是如何部署的而route就是实现了AbstractVerticle的一种routepackage cn.ctyun.moho.router.verticle;import cn.ctyun.moho.router.config.AppConfig;import cn.ctyun.moho.router.handler.*;import cn....

2019-11-12 18:45:41 271 1

原创 vertx源码分析(附录)--------------------VertxOptions包含的配置

/** * 设置Vert.x实例使用的Event Loop线程的数量,默认值为:2 * Runtime.getRuntime().availableProcessors()(可用的处理器个数); * The default number of event loop threads to be used = 2 * number of cores on the machine *...

2019-11-12 18:44:50 58

原创 vertx源码分析(一)---------------vertx启动流程分析

环境准备源码下载国内:https://gitee.com/mirrors/vertxgithub: https://github.com/eclipse-vertx/vert.x解决依赖报错本系列以3.8为基础进行分析,所以请讲源码调整到3.8分支,并修改pom.xml:<stack.version>3.8.0</stack.version>由于maven...

2019-11-12 18:43:54 591

原创 根据模板生成代码的命令行工具(GoLang开发)

项目地址: https://github.com/lwydyby/generator-cli前言一切为了简化开(偷)发(懒)!开发的目的是减少业务开发中重复的复制粘贴工作,这里我写的example是针对spring boot + vue项目,其实对于其他项目,甚至其他语言,只要是可以归纳为一个模板,只是修改部分数据名称的需求都可以通过这个工具生成。简介$ genratorv1 --help...

2019-10-31 13:37:59 433

原创 Docker原理浅析(2)

namespace前言首先我们先运行一个docker项目,来感受一个pid namespace的例子docker run -it busybox /bin/sh/ # psPID USER TIME COMMAND 1 root 0:00 /bin/sh 7 root 0:00 ps根据上面的命令,可以看出容器内部的进程是从1号开始...

2019-10-29 15:46:49 54

原创 如何基于elementui table实现自己的表格组件

前两篇博客已经讲过如何实现,这里我把功能抽成了一个组件,这样如果有多个需要该功能的表格就可以复用了:首先先是组件的代码:<template> <el-table v-loading="listLoading" :data="tableData" border fit ...

2019-10-29 15:39:08 223

原创 elementui table实现动态将列固定到左侧(fixed)

前言这个功能是是在elementui表格的列拖拽及动态显示列实现基础上进行的功能增强在开始之前请自行查询v-contextmenu 组件的安装以及全局引用注:后端开发前端实现并不规范,主要讲个思路,代码优化看你了(如果有可以私信或者评论告诉我,跪谢)...

2019-10-28 17:57:26 2949

原创 Docker原理浅析

前言上图分别画出了虚拟机和docker的工作原理(docker部分是不准确的),其中名为Hypervisor的软件是虚拟机最重要的部分,他通过硬件的虚拟化功能,模拟出了运行一个操作系统需要的各种硬件,然后,它在这些虚拟硬件上安装了一个新的操作系统。而右边的图,则用一个名为Docker Engine的软件替换了Hypervisor,这样看起来Docker更像一个轻量级的虚拟化技术,然而实际上这...

2019-10-25 10:23:03 36

原创 l2-admin 后台管理系统

背景之前做过一个spring cloud的脚手架,最近要做一个内部系统,所以又做了个简单的基于springboot2.0+shiro+jwt+jpa的权限系统脚手架项目预览[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-i4FZStvN-1571825008517)(https://github.com/lwydyby/springboot-cli-web/im...

2019-10-23 18:31:24 296

原创 elementui表格的列拖拽及动态显示列实现

安装Sortablenpm install sortablejs --save引入Sortableimport Sortable from 'sortablejs'添加列拖拽方法//列拖拽columnDrop() { const wrapperTr = document.querySelector('.el-table__header-wrapper tr')...

2019-10-14 17:36:01 1949 3

原创 nova-scheduler select-destination源码梳理

scheduler的调度流程注: 源码可以从~/nava/scheduler/managert.py (select_destinations)开始scheduler从接受到rpc调用开始,所经历的流程大概如下图所示:对rpc传过来的request_spec参数进行优化(这一步是S版后才有的,为了配合nova-api表中的聚合关系,进行预先的筛选,减少后边查找的范围) ...

2019-09-17 14:39:35 116

原创 博客迁移

鉴于csdn广告太多了,我把博客迁到github上了,地址为:lwydyby.cn

2019-08-20 16:58:49 61

原创 CoreDns源码解析

首先main方法在coredns.go内,因为这个文件导入了core/plugin.go,而core/plugin.go内导入了所有插件,所以会执行所有插件的init方法,每个插件的init方法功能都一样,就是把自己注册为caddy中名为"dns" 的server的plugincoredns.goimport ( "github.com/coredns/coredns/coremain...

2019-08-11 09:33:02 424

原创 spring cloud 网卡选择

spring-cloud-commons项目为Spring Cloud生态提供了顶层的抽象和基础设施的实现。网络这个最基本的基础设施也是在这里有对应的实现:InetUtils、InetUtilsProperties和UtilAutoConfiguration提供了网络配置相关的功能。相关配置的spring cloud官方文档springcloud 中选择网卡的源码(可以从 HostInfoE...

2019-06-21 13:48:28 615

原创 整合了阿里巴巴JAVA编码规范的PMD包配合GitLab提升团队代码质量

如果gitlab是直接部署到服务器上的,可以直接参考这篇博客:https://www.jianshu.com/p/b87ca8615c9c我打包好的jar包。和增加了注释的与pmd的xml相对应的pdf文档:链接:https://pan.baidu.com/s/14gj1mgH9kYrihM1QbsrJTw提取码:ruro(我的csdn也上传了,有积分的兄弟要不送我点= =)https:...

2019-06-12 13:44:41 672 3

原创 优雅的关闭vertx

Runtime.getRuntime().addShutdownHook(new Thread(() -> { log.info("start stop vertx"); Vertx vertx= SpringContextUtils.getBean(Vertx.class); CountDownLatch count...

2019-05-30 17:55:40 956

原创 为spring get请求添加自定义的参数处理(如下划线转驼峰)

1.生成自己的注解(为了确定在哪些位置使用)/** * 关闭patch delete的model处理,否则会报错 */@Target({ElementType.METHOD})@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface AliasProcessor {}2.实现自己的ServletModelAt...

2019-05-29 09:37:46 3451 2

原创 使用MongoTemplate实现动态拼装查询条件

/** * mongodb拼装查询条件工具类 * @author lw */@Componentpublic class MongoUtils { @Autowired MongoTemplate mongoTemplate; /** * 由于需要获得Field信息,请将Field设为public,不要设置为私有 * @param sea...

2019-05-29 09:32:47 2706

原创 vertx web记录route 每个handler的执行时长

事先说明:为了满足这个需求,尝试很多种方法,暂定的方法仍然有缺陷,希望有更好的办法评论能告诉我,甚至研究了几天vertx的源码。首先先大致说下vertx web server的运行流程:1.配置route,将route模块加载到vertx中,vertx通过调用listen方法绑定监听2.请求到来之后,调用 listenContext.runOnContext将请求交给route模块处理3....

2019-05-07 17:40:55 868 2

原创 gitlab ci配合rancher2实现自动重新部署

之前都是通过gitlab ci去构建项目,生成镜像上传到docker仓库,然后手动去重新部署rancher上的项目。最近研究了下通过调用rancher的api来自动重新部署。rancher2和1.6又很大区别,没有官方的api来实现,所以我谷歌了很久,基本现在有2种实现实现方法:1.通过diemscott/rancher-cli-k8s:v2.0.2镜像,使用kubectl来实现更新RANC...

2019-04-29 11:35:21 1692 2

原创 win10 docker拉取私有仓库 http: server gave HTTP response to HTTPS client

之前查了一下都是linux上的解决方式,后边查了下官网的文档,找到了解决办法:按照下图的方式依次操作,后边就和linux上的解决方式一样了。文档地址:https://docs.docker.com/docker-for-windows/?utm_source=docker4win_2.0.0.3&utm_medium=docs&utm_campaign=referral...

2019-04-25 09:27:17 657

原创 rancher+gitlab+gitlab runner 上传artifacts出现413错误

之前改了gitlab上的配置,还是不行,查了几个小时找到了rancher的ingress也需要配置才可以正常上传nginx.ingress.kubernetes.io/proxy-body-size:50m

2019-04-10 10:45:32 611

原创 VUE配合gitlab ci自动化部署时,实现配置runner环境变量来动态配置后端api地址

目标:由于后端的地址会变化,为了方便修改,需要通过修改gitlab上的ci的环境变量来动态修改axios的baseURL注:前端的初始配置模版为vue-admin-template首先是修改prod.env.jslet args = process.argvlet host=process.argv[args.length-1]let result={ NODE_ENV: "prod...

2019-04-08 16:46:02 2213

原创 自定义archetype(更快捷的创建基础项目)

注:仅在本地使用,上传至私库上请自行查阅资料1.mvn archetype:create-from-project2.cd target/generated-sources/archetype3.mvn install

2018-12-25 18:05:59 213

原创 Leetcode 239 滑动窗口最大值

给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口 k 内的数字。滑动窗口每次只向右移动一位。返回滑动窗口最大值。示例:输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3输出: [3,3,5,5,6,7]解释:滑动窗口的位置 最大值[1 3 -1] -3 5 ...

2018-11-05 11:02:43 895

原创 Leetcode---k个一组翻转链表

初步代码,有时间优化下= =/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Solution { public ListN...

2018-11-01 16:36:52 269

原创 重读spring coud --------Ribbon

7种负载均衡策略:1).随机策略2).轮询策略3).重试策略 在配置时间段内如果访问不成功,会不断尝试访问一个可用服务4).最低并发策略5).可用过滤策略 (过滤掉高并发和连接失败的服务)6)响应时间加权策略7)区域权衡策略配置全局策略@Configurationpublic class RibbonConfig { @Bean public I...

2018-10-24 11:16:13 143

原创 重读springcloud---spring cloud feign

1.实现原理。通过引入@EnableFeignClient注解开启对Feign Client扫描,通过jdk代理的方式生成真正的RestTemplate类2.注解剖析:name: 微服务的名称,用于服务发现url: 手动指定服务地址(用于调试,或者非微服务调用= =)decode404: true --404时触发decode解码configuration: 自定义配置feign(如lo...

2018-10-23 16:12:58 164

原创 重读spring cloud----------eureka

1.Eureka主要信息类:InstanceInfo(注册服务类信息类) LeaseInfo (租约信息类)serviceInstance(通用服务信息 如端口号 服务id等 eureka中EurekaRegistration类实现了该接口)InstanceStatus实例状态枚举2.服务发现操作:服务注册-下线-租约-剔除Eureka主要接口和实现类:LeaseManagee :定...

2018-10-22 14:21:20 82

原创 spring boot jpa动态切换数据库

项目上有两个数据库需要切换使用jpa,查阅了网上的资料都是xml进行的配置,所以自己研究了稍加改动。1.配置数据库信息(application.properties):spring.datasource.url:spring.datasource.username:spring.datasource.password:spring.datasource.initialize=false ...

2018-09-25 10:24:11 5932

原创 linux学习笔记

1。所有的硬件装置文件都在/dev 2.主要分区和延伸分区最多为4个 3.延伸分区最多只有一个 4.主分区和逻辑分区的分区槽不能整合 5以上为MBR,GPT无此限制开机流程: BIOS->MBR(第一个扇区的启动记录模块)->开机管理工具->核心文件...

2018-09-17 10:47:36 62

原创 layui提示框改造右下通知框(参考svg)

实现后样式: 1.首先创建CSS样式:@import url('https://fonts.googleapis.com/css?family=Raleway:300,300i,400,400i,500,500i,600,600i,700,700i,800,800i');.toast__container { display: table-cell; v...

2018-08-08 17:55:51 3603

原创 juc同时起跑问题

之前面试遇到的问题: 如何保证多个线程同时起跑问题,并统计最后结束比赛用时public static void dealByCircle() throws Exception { CyclicBarrier barrier=new CyclicBarrier(3); CountDownLatch latch=new CountDownLatch(2); ...

2018-07-20 10:27:41 99

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