3.8k 3 分钟

# 正则表达式的学习 正则表达式是计算机科学的一个概念,其表现形式是使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串,在很多文本编辑器里,正则表达式通常被用来检索、替换那些匹配某个模式的文本。 # 熟知正则表达式一些细节知识 绝大部分编程语言都支持正则表达式,原因之一是正则表达式被广泛地应用于各种 Unix 或类 Unix 系统的工具中,而现在的 Linux 系统是 Unix 系统的一个分支,所以可以在 Linux 上跑的语言都可以实现正则。当然还有其他原因 正则表达式的功能本质只有一种:B 字符串在 A...
3.7k 3 分钟

# Spring MVC 入参枚举细节 在写网关接口的时候,不由的想到当枚举作为入参时,那前端传入的参数是什么?枚举本质是一个什么数据格式?字符串是 "",对象是 {},集合或数组是 [],那枚举是什么,是 {}?还是 []。 # 入参对象有枚举时传参 准备一个 MatchModeEnum.java 枚举类 @RequiredArgsConstructor@Getterpublic enum MatchModeEnum { AND(0, "and"), OR(1, "or"); private...
4.1k 4 分钟

# el-popover 在 el-table 中使用问题记录 记录一下在使用 element UI 中 el-popover 组件在 el-table 中使用出现的问题 在使用 element UI 中 el-popover 遇到了下图的确定按钮点击时无法关闭 el-popover。对于这个问题如何解决实现下图点击取消时的关闭 el-popover 效果特定记录下。 # 起因 & 原因 因为对前端 node,vue 并不精通,所以本章将用肤浅的表现来说明这个事件 官方的 el-popover 的使用例子。本质是通过 v-model 绑定一个 boolean...
11k 10 分钟

# Java 实现上传 Nexus 库 因为有部分开发人不懂 maven 配置,上传私库 jar 包混乱。多模块开发只要某个 jar 包上传缺因不懂配置,将所有 jar 包上传等其它非功能性因素,需要我这个系统开发这个功能(编不下去了,我只知道有这个需求,并且我得干┭┮﹏┭┮) # 前言 这需求看起来真简单,用起来也简单,idea 打开 maven 点击 deploy 即可。所以我将使用和 idea 一样的方式通过 mvn 命令上传 Nexus 私库。而不是使用 Nexus 的 Api 。且使用上肯定无法达到 idea 那样方便。 # Maven 上传 Nexus 库命令 上传 jar...
8.1k 7 分钟

# WebFlux 之动态路由 因为想基于 WebFlux 实现一个网关的路由转发功能,且 Gateway 也是基于 WebFlux 实现的网关,网上也有许多 Gateway 的动态路由教程,而本章主要将单纯基于 WebFlux 如何实现动态路由 # WebFlux 接口实现 首先是最底层 HttpHandler 接口,该接口是对 HTTP 请求处理的最底层抽象,通过这个接口将不同 “接口” 实现方式统一起来。所以不管是注解控制器方式的编程还是函数式的编程,在初始化环境时,都需要初始化这么一个类的实例,HttpHandler 的定义如下所示 package...
5k 5 分钟

# WebFlux 之 WebClient 的使用记录 WebFlux 是一款基于 Netty 和 Reactive 技术栈构开发的一款 Spring 框架。该框架相比原来 Web 框架能有效提高 TPS 。其原理是基于 Netty 实现的事件驱动达到对线程的高可用,也实现了非阻塞。通过 Reactor 设计模式,使原有请求 (线程) 不需要通过等待过程实现 (如:方法内的处理过程或远程调用或者数据库调用) 导致系统资源的损耗。而 WebFlux 则是请求调用后则高高挂起,等待程序通知返回响应结果,然后它再离开。这个过程就是一种观察者模式。观察是否有处理结果了再做反应。而这也是...
18k 17 分钟

# Apollo 源码更改实现多灰度 因项目线需求多人迭代开发时,环境区分,以及为以后的灰度发布做准备,Apollo 单灰度配置已经不满足当前快速开发业务需求,所以需要对其调整。特此记录。本文将在本地重新拉一套全新的源码进行实现讲解 # 部署并启动 Apollo 目标:部署并运行至少拥有一个环境的 Apollo 服务 需要:拥有 apolloconfigdb 、apolloportaldb 两个数据库。启动 一个 apollo-configservice 和一个 apollo-adminservice 应用组成一个 环境,再启动一个 apollo-portal...
4.7k 4 分钟

# Maven 如何自定义脚手架 # 引言 在项目越来越多的背景下要保证开发效率保证系统稳定,项目标准化将不可避免,其中最开始的就是要有一个或多个骨架工程。 使用这些骨架工程开发实现统一的设计理念,技术栈,功能组件,架构风格,开发规范等一致的约束。 # Maven 的脚手架是什么 在 idea 的创建项目中这些选择就是离我们最近的 maven 脚手架。 脚手架的工程目录结构与常见 maven 开发工程差异体具体如下(红色代表定死的,蓝色代表可更改的) 最外层的 archetype 文件夹下的 pom.xml 文件 <build>...
521 1 分钟

# Axios 获取响应头问题 # 起因 ​ 在使用 Axios 中遇到响应拦截器获取不到 token 问题,估计是浏览器机制原因。 ​ 复现问题:打印 Axios 的响应拦截方法中响应体 —> 对比浏览器的响应体。响应头内仅 content-type 出现 # 解决方案 ​ 后端往响应头内添加 key 为 Access-Control-Expose-Headers ,value 为你想要拿到的 key 名。如上面 //...
3.3k 3 分钟

# 如何写好一篇技术文档 本篇对网上技术文档写法整理,加自我理解,希望能让自己写的文章越来越好 # 前言 ​ 写技术文档需要明白技术是很抽象的东西,理解起来也是理解起来很有难度的东西。想要靠纯文字进行内容转述,是很困难的。所以,应该更多地借助表格和图片,甚至 gif 动图,帮助读者理解。所谓 “字不如表、表不如图” # 技术文档分类 ​ 软件领域内文档可分为:教程、操作指南、解释、技术参考 它们有不同目的、功能,且编写也有不同方式。 ​ 关系如下图: ​ 教程和操作指南类似,因为它们都关注描述实际步骤,而操作指南与技术参考交集是我们在工作层面,编码,...