自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 Spring Security 文章目录

spring boot security(一)、spring boot security 认证–自定义登录实现(二)、spring boot security 授权–自定义授权实现(三)、spring boot security 加载流程简介(四)、spring boot security 请求流程 和 filter 说明(五)、spring boot security Security...

2019-01-31 11:10:27 647

原创 https协议说明和自签证书使用

1、https交互说明HTTPS 协议是“HTTP 协议”和“SSL/TLS 协议”的组合,又叫HTTP over SSL”或“HTTP over TLS”。会对http协议的文本数据进行加密处理,以二进制形式传输。这里的https是基于TSL1.2协议(TLS1.2交互说明见 https://blog.csdn.net/qq_30062125/article/details/8456...

2018-11-28 18:25:45 1830

原创 记:一次 spring cloud @PostConstruct 执行两次的分析

1、前言最近遇到一个情况,@PostConstruct 方法会被执行两次,感觉有点奇怪,跟踪代码简单分析了下,场景有点特殊,这里记录下。@PostConstruct属于JSR250规范,在bean创建完成并且属性赋值完成之后会执行该初始化方法。内部通过InitDestroyAnnotationBeanPostProcessor实现逻辑。2、@PostConstruct 出问题写法说...

2018-11-19 15:20:21 1290 1

原创 spring cloud EurekaClient 多网卡 ip 配置 和 源码分析

1、前言对于spring cloud,各个服务需要注册到Eureka注册中心。一般会配置ip注册,即eureka.instance.prefer-ip-address=true。但是,如果服务所在的环境存在多个网卡,经常会出现注册过去的ip不是我们想要的ip。2、配置解决说明针对上面的情况,我们一般有几种不同的解决思路。2.1、方法一:直接配置eureka.instance.i...

2018-11-08 10:09:56 1953

原创 JVM (2) : 浮点数

一、说明实际编程中,经常会遇到浮点数,这里以float为例,简单介绍下浮点数的一些基本知识。二、存储规范2.1 概念IEEE754标准规定,浮点数包含“符号Sign”、“指数Exponent ”和“尾数Mantissa”三部分。java数据类型符号位指数位尾数位长度float182332double1115264float和...

2019-11-20 21:30:05 42

原创 JVM (1) :原码、反码、补码.md

概念原码:将一个整数,转换成二进制,就是其原码。如单字节的3的原码为:0000 0011;-3的原码为1000 0011。反码:正数的反码就是原码;负数的反码是将原码中,除符号位以外,每一位都取反。如单字节的3的反码为:0000 0011;-3的反码为1111 1100。补码:正数的补码就是原码;负数的补码为反码+1。如单字节的3的补码为:0000 0011;-3的原码为11...

2019-11-20 21:28:56 35

原创 spring redis cluster Lettuce 拓扑刷新

一、背景最近项目中 3主3从 redis集群出现单节点宕机,造成master迁移,但是发现应用无法正常连接redis,使用的是Lettuce连接方式。二、原因分析分析了代码,发现默认Lettuce是不会刷新拓扑io.lettuce.core.cluster.models.partitions.Partitions#slotCache,最终造成槽点查找节点依旧找到老的节点,自然访问不了了...

2019-11-18 21:38:31 966

原创 mongo支持表达式条件查询

前言通过相关表达式,如 concat, substr, toLower, toUpper 等,对mongo进行操作;并且可以根据操作结果进行条件判断。相关聚合表达式10.11.2. Supported Aggregation Operations代码编写此处以 substr为例。1、输入类 Input@Document(collection = "test")publi...

2019-08-19 17:04:03 50

原创 mongo 批量替换字符串

将字段mp4_filepath中的http://188.192.162.12:8904批量替换成http://188.192.162.12:81db.getCollection('test').find({'mp4_filepath':{'$ne':null}, 'mp4_filepath':/^http:\/\/188.192.162.12:8904/}).forEach( f...

2019-08-19 17:03:05 701

转载 spring cache 入门

转自:https://www.cnblogs.com/yueshutong/p/9381540.html 作者:像风一样一:Spring缓存抽象Spring从3.1开始定义了org.springframework.cache.Cache和org.springframework.cache.CacheManager接口来统一不同的缓存技术;并支持使用JCache(JSR-107)注...

2019-05-09 14:20:58 111

原创 (四)、jave2加工视频

准备:官网地址:https://github.com/a-schild/jave2步骤添加依赖<dependency> <groupId>ws.schild</groupId> <artifactId>jave-all-deps</artifactId> <version>2.4.6</versio...

2019-04-08 17:58:42 379

原创 (三)、ffmpeg 常用命令

目录一、准备:二、简单尝试三、常用语法1、帮助查询2、过滤链3、map用法4、覆盖5、叠加水印6、设置帧率7、设置码率8、控制输出文件大小9、设置分辨率10、裁剪11、填充12、翻转13、旋转14、模糊15、锐化16、添加Logo17、添加文本18、图片支持19、添加字幕subtitles20、视频颤抖、色...

2019-04-08 17:57:58 340

原创 (二)、FFmpeg 表达式(Expression Evaluation)

目录简介一元表达式二元表达式函数常量表达式其他示例简介FFmpeg可以对算术表达式求值,大多结合filter过滤进行使用,如控制显示时间,通过libavutil/eval.h实现。两个表达式expr1、expr2可以通过分号组合成为一个新的表达式"expr1;expr2",新的表达式将会分别对expr1,expr2求值,并将expr2的结果作为新表达式...

2019-04-08 17:57:47 285

原创 (一)、音视频相关名词

目录音频采样率(Sampling Rate):声音频率:视频帧率(Frame Rate):码率(bitrate):分辨率:帧率、码率、分辨率三者关系:音频采样率(Sampling Rate):音频采样率是指录音设备在一秒钟内对声音信号的采样次数,采样频率越高声音的还原就越真实越自然。在当今的主流采集卡上,采样频率一般共分为11025Hz、22050Hz、240...

2019-04-08 17:57:35 8222

原创 keytool常用操作

1、JDK中keytool常用参数说明(不同版本有差异):-genkey 在用户主目录-genkey 在用户主目录中创建一个默认文件”.keystore”,还会产生一个mykey的别名,mykey中包含用户的公钥、私钥和证书(在没有指定生成位置的情况下,keystore会存在用户系统默认目录)-alias 产生别名 每个keystore都关联这一个独一无二的alias,这个alias通常不区...

2019-01-31 17:16:44 333

原创 (三)、基于Spring Security OAuth2 实现 implicit + jwt 方式的单点登录

更多相关文章请见:Spring Security文章目录1、简介某些场景下 单点登录系统sso 和 应用系统sso-client直接网络无法联通,可以考虑直接使用implicit方式的oauth2 + jwt 进行实现。实现目标:多应用系统单点登录功能(一次登录,访问多个系统,默认通过sso会话实现登录保持,集群环境可以考虑将session也转成token)。应用系统 to...

2019-01-31 15:21:24 1159

原创 (二)、Spring Security OAuth2 四个常用注解说明

更多相关文章请见:Spring Security文章目录 1、模块说明:资源服务:提供资源访问 认证授权服务:提供认证和授权服务 客户端:请求资源服务的OAuth2 客户端 应用系统:提供应用能力的系统,在单点登录sso场景下,每一个需要认证授权服务认证授权的系统,就是一个应用系统。2、常用注解:spring security oauth2 提供了四个常用注解,来辅助oau...

2019-01-31 15:08:09 1033

原创 (一)、Spring Security OAuth2 五种授权方式介绍

1、简介OAuth 2.0定义了五种授权方式。authorization_code:授权码类型,授权系统针对登录用户下发code,应用系统拿着code去授权系统换取token。implicit:隐式授权类型。authorization_code的简化类型,授权系统针对登录系统直接下发token,302 跳转到应用系统url。password:资源所有者(即用户)密码类型。应用系统采集...

2019-01-31 11:24:29 2376

原创 (五)、spring boot security SecurityProperties 配置说明

Spring Security文章目录  类路径:org.springframework.boot.autoconfigure.security.SecurityProperties配置: {"name": "security.basic.authorize-mode","type": "org.springframework.boot.autoconfigure....

2019-01-08 10:08:46 1919

原创 (四)、spring boot security 请求流程 和 filter 说明

Spring Security文章目录简介:此处以我们前面demo中的用户名密码登录作为例子进行说明。 登入 登出流程如下: filters逻辑如下: 1、MethodSecurityInterceptor 流程与 FilterSecurityInterceptor 类似。2、demo中的自定义AuthenticationProcessingFilt...

2019-01-08 10:05:18 270

原创 (三)、spring boot security 加载流程简介

流程图说明:核心关注FilterChainProxy的生成。部分注释点说明:1、为webSecurity设置webSecurityConfigurersorg.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration#setFilterChainProxySec...

2019-01-08 09:59:48 621

原创 (二)、spring boot security 授权--自定义授权实现

1、简介spring security主要分为两部分,认证(authentication)和授权(authority)。这一篇主要是授权部分,它由FilterSecurityInterceptor逻辑拦截处理,具体通过AccessDecisionManager实现。1.1 系统授权实现说明系统提供了三种实现方式:AffirmativeBased(spring securit...

2019-01-07 22:21:40 995

原创 (一)、spring boot security 认证--自定义登录实现

简介spring security主要分为两部分,认证(authentication)和授权(authority)。这一篇主要是认证部分,它由 ProviderManager(AuthenticationManager)实现。具体层次结构如下:认证的核心就是登录,这里简单介绍下security自定义token登录的实现逻辑,同时兼容用户名密码登录。大体分为以下几个步骤:...

2019-01-07 22:19:13 1455

原创 cas 单点登录 登出流程说明

名词说明:TGT:Ticket Granted Ticket(票根,可以签发ST) TGC:Ticket Granted Cookie(cookie中CASTGC的value),存在Cookie中,可以通过他找到TGT。 ST:Service Ticket,是TGT生成的,是每个应用的票据,就是流程中的ticket。 单点登入流程:    单点登出流程: ...

2018-12-13 10:41:04 1118

原创 申请Let's Encrypt泛域名免费证书(无需域名80端口)

  1、前言最近有个外网域名需要申请证书,准备用Let's Encrypt证书,毕竟免费吗。可惜脚本中会验证域名的80端口,很不幸80端口因为某些原因无法开放,后来无意中发现一个方法,结合Neilpang/acme.sh和泛域名,这里记录下。 Neilpang/acme.sh参考:https://github.com/Neilpang/acme.sh/wiki/%E8%AF%B...

2018-12-10 12:03:39 4072

原创 SSL/TLS 交互说明

一、SSL/TLS说明1.1、说明:安全传输层协议(TLS)用于在两个通信应用程序之间提供保密性和数据完整性,是ssl的后续版本。该协议由两层组成: TLS 记录协议(TLS Record)和 TLS 握手协议(TLS Handshake)。Record协议:包括对消息的分段、压缩、消息认证和完整性保护、加密等 。Handshake协议:包括协商安全参数和密码套件、服务器...

2018-11-27 09:54:11 274

原创 加密算法分类

1、对称加密算法1.1 说明对称加密算法中,发信方利用加密密钥和特定的加密算法将明文运算处理,生成加密密文发送出去。收信方收到密文后,使用加密用过的密钥及相同算法的逆算法对密文进行解密,得到可读明文。在对称加密算法中,加密和解密使用同一个密钥。基于“对称密钥”的加密算法主要有DES、AES、TripleDES、RC2、RC4、RC5和Blowfish等。1.2 DES加密算法...

2018-11-22 09:58:19 245

转载 RSA算法原理

转载自:http://www.ruanyifeng.com/blog/2013/06/rsa_algorithm_part_one.htmlhttp://www.ruanyifeng.com/blog/2013/07/rsa_algorithm_part_two.html添加部分备注 RSA算法原理如果你问我,哪一种算法最重要?我可能会回答"公钥加密算法"。因为它是...

2018-11-21 17:30:04 70

原创 spring cloud eureka client源码解析

前言eureka是springcloud 常用的注册中心,这里简单介绍下,eureka client注册逻辑的实现。eureka-client是1.6.2版本。eureka server api参考 https://blog.csdn.net/qq_30062125/article/details/83829357。这里,eureka client分析主要分三个步骤:eure...

2018-11-07 22:14:00 300 1

原创 eureka server 常用api说明

常用api枚举请求方式url说明GEThttp://localhost:8761/eureka/apps查询所有应用实例GEThttp://localhost:8761/eureka/apps/SERVICES2根据 AppId 查询GEThttp://localhost:8761/eureka/apps/SERVICES2/services2:7f4...

2018-11-07 18:25:58 1651

原创 支持端口转发的tomcat docker镜像

描述某些场景下,需要访问容器自己的端口中转到其他地址。这里记录一下,备用镜像hub.c.163.com/muxiyue/tomcat:8.5.14-jre8-rinetddockerfile文件# 拉取基础镜像#FROM hub.c.163.com/library/java:8-jdkFROM hub.c.163.com/library/tomcat:8.5.14-jre...

2018-11-07 17:09:54 85

原创 jersey子资源api使用和源码分析

javax.ws.rs.Path1、前言1.1 描述查看eureka server源码时候,用到了jersey实现api功能,其中包含了子资源路由api功能。这里主要分析下子资源的实现逻辑。1.2 jersey简介jersey Jersey RESTful 框架是开源的RESTful框架, 实现了JAX-RS (JSR 311 & JSR 339) 规范。它扩展了JAX...

2018-11-05 22:44:06 481

原创 安装phantomjs报错解决

前言最近有个项目要搞下jenkins自构建,微服务中注册中心用了jhipster registry,需要编译前端代码。yarn运行过程中 PhantomJS压缩包解压安装报错。找度娘问了下,提供包的很少,要么速度贼慢;要么藏着掖着,要积分;要么方法不行,吐槽下o(╯□╰)o。后来重新看了下包,其实是解压方式有问题,这个bz2后缀其实是假的,总结了下方法。1. 下载包htt...

2018-11-01 17:57:48 364

原创 spring boot kafka 支持批量操作

前言最近有个项目存在kafka积压情况,上去看了下,的确积压挺厉害。看了下代码,spring boot 是1.5.13.RELEASE版本,kafka使用的是spring boot的自动配置,@KafkaListener每次处理一条数据,每次逻辑中存在多次数据库操作。准备修改下逻辑,@KafkaListener批量处理数据,合并逻辑,并且批量操作数据库,提高处理速度。原有逻辑1.po...

2018-10-16 18:11:17 4753

原创 记:一次kafka内外网访问设置

前言公司的网络是隔离的,服务器网络与工作网络相互隔离,只能通过端口转发(Port Forwarding)功能中转到本地端口。这会造成服务器的ip无法在本地直接连通。这里记录下相关配置,便于后续查找。环境描述这里为了展现场景,直接使用docker模拟一个单节点环境。zookeeper 搭建docker run -d --name zookeeper --publish 22...

2018-10-13 17:23:10 4833 1

原创 maven插件开发和调试

maven插件开发官方文档 http://maven.apache.org/plugin-developers/index.html1.新建maven工程pom.xml参考:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache

2018-10-09 16:18:22 1174

转载 TCP协议中的三次握手和四次挥手

转自https://blog.csdn.net/whuslei/article/details/6667471/建立TCP需要三次握手才能建立,而断开连接则需要四次握手。整个过程如下图所示:先来看看如何建立连接的。 【更新于2017.01.04 】该部分内容配图有误,请大家见谅,正确的配图如下,错误配图也不删了,大家可以比较下,对比理解效果更好。这么久才来更新,抱歉!!...

2018-10-08 14:05:40 51

转载 二、go语言入门

具体见:go语言入门文档

2018-09-30 15:15:02 68

原创 一、go 简要说明

go 环境变量GOROOT该环境变量的值为Go语言的安装目录。如:export GOROOT=/usr/local/goGOPATHGo语言工作区间集合。如:export GOPATH=~/golib:~/goprojectGOBIN存放Go程序可执行文件的目录。如:export GOBIN=~/gobinPATH为了方便使用Go语言命令和Go程序的可执行文件,...

2018-09-30 09:21:53 157

原创 (十):日志采集log-pilot+ELK

集群方式安装内部服务 3个elasticsearch 1个logstash 1个kibana N个log-pilot(每个需要采集日志的swarm节点一个)安装log-pilot官网参考https://github.com/AliyunContainerService/log-pilot启动容器 目前swarm不提供privileged权限,无法使用swarm集群创建 ...

2018-09-19 14:57:14 1621

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