10 一灰灰blog

尚未进行身份认证

我要认证

Java后端资深搬运工 Python爬虫新手 React前端客串开发 兼职IT/DBA

等级
TA的排名 1w+

acme.sh 快速实现 https 证书颁发与自动续期

acme.sh 快速实现 https 证书颁发与自动续期借助acem.sh来迅速实现 let’s encrypt 的泛域名 ssl 证书颁发与续期,基本上五分钟就可以解决战斗本文主要内容来自 acme.sh 的官方 wiki,一切以官方说明为准: acme wikiI. 安装步骤1. 登录服务器登录到某台 linux 服务器,我这里以 Centos 举例说明ssh xxx@xxx# 切换root账号su2. 安装acme.shyum install socat -ycur.

2020-08-10 09:05:36

线上故障实录-一大早服务就不可用了?

线上故障实录-一大早服务就不可用了?难得一个周末,一大早还没有睡醒就接到另外一个团队的电话,app 打不开了,所有的数据都没有了,睡意全无,赶紧起来看能不能紧急抢救一下,最终发现是一个关键链路的 nginx 配置错误,导致 nginx 无法启动,接下来完整的记录下愉快的周末中,这个不愉快的早晨1. 项目环境首先说一下背景,出问题的这个项目是我之前参与的,现在由另外的小伙伴负责。这个项目使用 nginx 作为反向代理,因为某些业务上的原因,搞了一个香港和大陆之间的专线,下面又有一层的 nginx .

2020-07-28 09:08:41

Quick-Media 中文二维码支持

Quick-Media 中文二维码支持Quick-Media 项目提供了一些列多媒体操作的开箱即用工具类,比如图片编辑合成,markdown/html/svg渲染,音频处理;当然还有本文重点说明的二维码生成解析QrCode-Plugin支持丰富的酷炫二维码生成,大概十来天前有个小伙伴提了一个非常有意思的方向,能否将二维码中的黑白方块换成中文趁着端午放假前夕的空闲时间,把这个集成在QrCode插件中,生成效果如下(从左往右,从上往下读,千字文????)I. 使用说明1. maven导入对于

2020-06-30 08:49:15

【SpringBoot WEB 系列】RestTemplate 之自定义请求头

【WEB 系列】RestTemplate 之自定义请求头上一篇介绍了 RestTemplate 的基本使用姿势,在文末提出了一些扩展的高级使用姿势,本篇将主要集中在如何携带自定义的请求头,如设置 User-Agent,携带 CookieGet 携带请求头Post 携带请求头拦截器方式设置统一请求头I. 项目搭建1. 配置借助 SpringBoot 搭建一个 SpringWEB 项目,提供一些用于测试的 REST 服务SpringBoot 版本: 2.2.1.RELEASE核心..

2020-06-30 08:38:30

【SpringBoot WEB系列】WebFlux静态资源配置与访问

【SpringBoot WEB系列】WebFlux静态资源配置与访问上一篇博文介绍SpringMVC的静态资源访问,那么在WebFlux中,静态资源的访问姿势是否一致呢I. 默认配置与SpringBoot的默认配置一样,WebFlux同样是classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/即,将静态文件放在这四个目录下,可以直接访问1. 项目演示创建一个Spr..

2020-06-18 08:56:27

【SpringBoot WEB系列】静态资源配置与读取

【WEB系列】静态资源配置与读取SpringWeb项目除了我们常见的返回json串之外,还可以直接返回静态资源(当然在现如今前后端分离比较普遍的情况下,不太常见了),一些简单的web项目中,前后端可能就一个人包圆了,前端页面,js/css文件也都直接放在Spring项目中,那么你知道这些静态资源文件放哪里么I. 默认配置1. 配置静态资源路径,SpringBoot默认从属性spring.resources.static-locations中获取默认值可以从org.springframewo..

2020-06-18 08:40:32

【SpringBoot 基础系列】SpEL 语法扫盲与查询手册

【SpringBoot 基础系列】SpEL 语法扫盲与查询手册Spring 表达式语言简称为 SpEL,一种类似 Ognl 的对象图导航语言(对于 ognl 不熟悉的同学可以参考一下: Ognl 系列博文)SeEL 为 Spring 提供了丰富的想象空间,除了一些基本的表达式操作之外,还支持访问 bean 对象调用方法,访问(修改)类(对象)属性计算表达式正则匹配…I. 语法百科以下内容均来自官方文档: https://docs.spring.io/spring-framew..

2020-05-21 08:58:37

【SpringCloud 系列】Eureka 注册中心初体验

【SpringCloud 系列】Eureka 注册中心初体验在 SpringCloud 微服务体系中,有几个比较重要的组件,如注册中心,配置中心,网关,安全、负载均衡、监控等等,接下来我们将来看一下这些常用的组件有什么用,在微服务架构下的该怎么用。本文为为第一篇,注册中心 Eureka 的使用说明I. 基本介绍1. 注册中心注册中心,主要的核心点是服务的注册与发现。简单来讲,就是我们的所有服务都会在注册中心上标识自己,注册中心统一管理所有的服务名与具体的应用之间的映射关系,这样微服务之间..

2020-05-19 08:27:31

【SpringBoot 基础系列】实现一个自定义配置加载器(应用篇)

【SpringBoot 基础系列】实现一个自定义配置加载器(应用篇)Spring 中提供了@Value注解,用来绑定配置,可以实现从配置文件中,读取对应的配置并赋值给成员变量;某些时候,我们的配置可能并不是在配置文件中,如存在 db/redis/其他文件/第三方配置服务,本文将手把手教你实现一个自定义的配置加载器,并支持@Value的使用姿势I. 环境 & 方案设计1. 环境...

2020-05-07 09:11:55

Java实现AES ECP PKCS5Padding加解密工具类

Java 实现一个AES/ECB/PKCS5Padding 加解密算法工具类加密算法: AES模式: ECB补码方式: PKCS5Padding1. 工具类import lombok.Getter;import lombok.Setter;import lombok.extern.slf4j.Slf4j;import org.springframework.util.Base...

2020-05-01 08:15:40

【SpringBoot DB系列】Mybatis-Plus 代码自动生成

【SpringBoot DB系列】Mybatis-Plus 代码自动生成一个简单的实例工程,介绍利用 mybatis-plus 的代码自动生成插件,根据表结构来生成对应的类和 xml 配置文件I. 代码生成本文主要内容来自官方教程,通过实例方式介绍代码生成过程1. 准备准备两张表,用于测试CREATE TABLE `userT0` ( `id` int(11) unsign...

2020-04-10 09:45:06

徒手撸一个扫码登录示例工程

徒手撸一个扫码登录示例工程不知道是不是微信的原因,现在出现扫码登录的场景越来越多了,作为一个有追求、有理想新四好码农,当然得紧跟时代的潮流,得徒手撸一个以儆效尤本篇示例工程,主要用到以下技术栈qrcode-plugin:开源二维码生成工具包,项目链接: https://github.com/liuyueyi/quick-mediaSpringBoot:项目基本环境thymelea...

2020-04-03 09:55:55

【SpringBoot WEB 系列】SSE 服务器发送事件详解

【SpringBoot WEB系列】SSE 服务器发送事件详解SSE 全称Server Sent Event,直译一下就是服务器发送事件,一般的项目开发中,用到的机会不多,可能很多小伙伴不太清楚这个东西,到底是干啥的,有啥用本文主要知识点如下:SSE 扫盲,应用场景分析借助异步请求实现 sse 功能,加深概念理解使用SseEmitter实现一个简单的推送示例I. SSE 扫...

2020-04-02 20:20:06

【SpringBoot 搜索系列】Solr 身份认证与授权更新异常解决方案

【搜索系列】Solr 身份认证与授权更新异常解决方案之前介绍 solr 的教程中,solr 没有开启权限校验,所有的操作都是无需鉴权;当时提到,如果 solr 开启了权限校验,改一下 solr 的 host,带上用户名/密码即可,然而真实情况却并不太一样,查询 ok,涉及到修改的操作,则会抛异常本文将带你了解一下,这到底是个什么鬼畜现象I. Solr 配置用户登录1. 安装之前的...

2020-04-01 20:02:11

【SpringBoot WEB系列】异步请求知识点与使用姿势小结

【SpringBoot WEB系列】异步请求知识点与使用姿势小结在 Servlet3.0 就引入了异步请求的支持,但是在实际的业务开发中,可能用过这个特性的童鞋并不多?本篇博文作为异步请求的扫盲和使用教程,将包含以下知识点什么是异步请求,有什么特点,适用场景四种使用姿势:AsyncContext 方式CallableWebAsyncTaskDeferredResult...

2020-03-31 21:19:53

【SpringBoot MQ 系列】RabbitListener 消费基本使用姿势介绍

【MQ 系列】RabbitListener 消费基本使用姿势介绍之前介绍了 rabbitmq 的消息发送姿势,既然有发送,当然就得有消费者,在 SpringBoot 环境下,消费可以说比较简单了,借助@RabbitListener注解,基本上可以满足你 90%以上的业务开发需求下面我们来看一下@RabbitListener的最最常用使用姿势I. 配置首先创建一个 SpringBoo...

2020-03-30 20:07:30

【SpringBoot基础系列-实战】如何指定 bean 最先加载(应用篇)

【基础系列-实战】如何指定 bean 最先加载(应用篇)在日常的业务开发中,绝大多数我们都是不关注 bean 的加载顺序,然而如果在某些场景下,当我们希望某个 bean 优于其他的 bean 被实例化时,往往并没有我们想象中的那么简单I. 启动类指定方式在实际的 SpringBoot 开发中,我们知道都会有一个启动类,如果希望某个类被优先加载,一个成本最低的简单实现,就是在启动类里添...

2020-03-19 16:27:07

手把手教你实现一个方法耗时统计的 java agent

手把手教你实现一个方法耗时统计的 java agent前面有两篇铺垫博文,在博文《200303-如何优雅的在 java 中统计代码块耗时》,其最后提到了根据利用 java agent 来统计方法耗时博文《200316-IDEA + maven 零基础构建 java agent 项目》中则详细描述了搭建一个 java agent 开发测试项目的全过程本篇博文将进入 java agent ...

2020-03-18 14:50:56

IDEA + maven 零基础构建 java agent 项目

200316-IDEA + maven 零基础构建 java agent 项目Java Agent(java 探针)虽说在 jdk1.5 之后就有了,但是对于绝大多数的业务开发 javaer 来说,这个东西还是比较神奇和陌生的;虽说在实际的业务开发中,很少会涉及到 agent 开发,但是每个 java 开发都用过,比如使用 idea 写了个 HelloWorld.java,并运行一下, 仔...

2020-03-16 12:19:22

如何优雅的在java中统计代码块耗时

如何优雅的在java中统计代码块耗时在我们的实际开发中,多多少少会遇到统计一段代码片段的耗时的情况,我们一般的写法如下long start = System.currentTimeMillis();try { // .... 具体的代码段} finally { System.out.println("cost: " + (System.currentTimeMillis...

2020-03-03 20:33:26

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。