Merge branch 'master' of https://github.com/FleyX/technology-note
This commit is contained in:
commit
2d3a5e4fe9
@ -1,10 +1,11 @@
|
|||||||
---
|
---
|
||||||
id="2018-10-20-10-38-05"
|
id: "2018-10-20-10-38-05"
|
||||||
title="spring基础"
|
title: "spring基础"
|
||||||
headWord="spring是为了解决企业级应用开发的复杂性而创建的,spring最根本的使命是:简化Java开发。为降低开发复杂性有以下四种关键策略。 "
|
headWord: "spring是为了解决企业级应用开发的复杂性而创建的,spring最根本的使命是:简化Java开发。为降低开发复杂性有以下四种关键策略。 "
|
||||||
tags=["java", "spring"]
|
tags: ["java", "spring"]
|
||||||
category="java"
|
categories:
|
||||||
serie="spring学习"
|
- "java"
|
||||||
|
- "spring学习"
|
||||||
---
|
---
|
||||||
|
|
||||||
  spring 是为了解决企业级应用开发的复杂性而创建的,spring 最根本的使命是:简化 Java 开发。为降低开发复杂性有以下四种关键策略。
|
  spring 是为了解决企业级应用开发的复杂性而创建的,spring 最根本的使命是:简化 Java 开发。为降低开发复杂性有以下四种关键策略。
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
---
|
---
|
||||||
id="2018-10-21-10-38-05"
|
id: "2018-10-21-10-38-05"
|
||||||
title="spring之最小化XML配置"
|
title: "spring之最小化XML配置"
|
||||||
headWord="spring是为了解决企业级应用开发的复杂性而创建的,但是最初的Spring在随着应用程序的规模越来越大的情况下,xml配置文件也随之膨胀,变得不便于阅读与管理,随后就有了一系列的手段来减少xml配置,直到一行都没有"
|
headWord: "spring是为了解决企业级应用开发的复杂性而创建的,但是最初的Spring在随着应用程序的规模越来越大的情况下,xml配置文件也随之膨胀,变得不便于阅读与管理,随后就有了一系列的手段来减少xml配置,直到一行都没有"
|
||||||
tags=["java", "spring"]
|
tags: ["java", "spring"]
|
||||||
category="java"
|
categories:
|
||||||
serie="spring学习"
|
- "java"
|
||||||
|
- "spring学习"
|
||||||
---
|
---
|
||||||
|
|
||||||
## 一、自动装配
|
## 一、自动装配
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
---
|
---
|
||||||
id="2018-10-22-10-38-05"
|
id: "2018-10-22-10-38-05"
|
||||||
title="spring之面向切面"
|
title: "spring之面向切面"
|
||||||
headWord="Spring的基础是IOC和AOP,前面两节对IOC和DI做了简单总结,这里再对AOP进行一个学习总结,Spring基础就算有一个初步了解了。"
|
headWord: "Spring的基础是IOC和AOP,前面两节对IOC和DI做了简单总结,这里再对AOP进行一个学习总结,Spring基础就算有一个初步了解了。"
|
||||||
tags=["java", "spring"]
|
tags: ["java", "spring"]
|
||||||
category="java"
|
categories:
|
||||||
serie="spring学习"
|
- "java"
|
||||||
|
- spring学习"
|
||||||
---
|
---
|
||||||
|
|
||||||
  Spring 的基础是 IOC 和 AOP,前面两节对 IOC 和 DI 做了简单总结,这里再对 AOP 进行一个学习总结,Spring 基础就算有一个初步了解了。
|
  Spring 的基础是 IOC 和 AOP,前面两节对 IOC 和 DI 做了简单总结,这里再对 AOP 进行一个学习总结,Spring 基础就算有一个初步了解了。
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
---
|
---
|
||||||
id="2018-08-13-10-38"
|
id: "2018-08-13-10-38"
|
||||||
title="springboot搭建"
|
title: "springboot搭建"
|
||||||
headWord="前面的博客有说到spring boot搭建见另一篇博文,其实那篇博文还没写,现在来填个坑。我们使用spring initializr来构建,idea和eclipse都支持这种方式,构建过程类似,这里以idea为例,详细记录构建过程。"
|
headWord: "前面的博客有说到spring boot搭建见另一篇博文,其实那篇博文还没写,现在来填个坑。我们使用spring initializr来构建,idea和eclipse都支持这种方式,构建过程类似,这里以idea为例,详细记录构建过程。"
|
||||||
tags=["java", "spring","springboot","idea"]
|
tags: ["java", "spring","springboot","idea"]
|
||||||
category="java"
|
categories:
|
||||||
serie="spring boot学习"
|
- "java"
|
||||||
|
- "spring boot学习"
|
||||||
---
|
---
|
||||||
|
|
||||||
  前面的博客有说到 spring boot 搭建见另一篇博文,其实那篇博文还没写,现在来填个坑。我们使用 spring initializr 来构建,idea 和 eclipse 都支持这种方式,构建过程类似,这里以 idea 为例,详细记录构建过程。
|
  前面的博客有说到 spring boot 搭建见另一篇博文,其实那篇博文还没写,现在来填个坑。我们使用 spring initializr 来构建,idea 和 eclipse 都支持这种方式,构建过程类似,这里以 idea 为例,详细记录构建过程。
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
---
|
---
|
||||||
id="2018-08-20-10-38"
|
id: "2018-08-20-10-38"
|
||||||
title="springboot+security整合(1)"
|
title: "springboot+security整合(1)"
|
||||||
headWord="javaee中的非常重要的一个安全认证框架,但是略微重量级,但是既然领导交代要学,那就学吧。。。"
|
headWord: "javaee中的非常重要的一个安全认证框架,但是略微重量级,但是既然领导交代要学,那就学吧。。。"
|
||||||
tags=["java", "spring","springboot","spring-security","security"]
|
tags: ["java", "spring","springboot","spring-security","security"]
|
||||||
category="java"
|
categories:
|
||||||
serie="spring boot学习"
|
- "java"
|
||||||
|
- "spring boot学习"
|
||||||
---
|
---
|
||||||
|
|
||||||
**说明 springboot 版本 2.0.3<br/>源码地址:[点击跳转](https://github.com/FleyX/demo-project/tree/master/springboot_spirngsecurity_demo)**
|
**说明 springboot 版本 2.0.3<br/>源码地址:[点击跳转](https://github.com/FleyX/demo-project/tree/master/springboot_spirngsecurity_demo)**
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
---
|
---
|
||||||
id="2018-08-21-10-38"
|
id: "2018-08-21-10-38"
|
||||||
title="springboot+security整合(2)"
|
title: "springboot+security整合(2)"
|
||||||
headWord="文接上篇,上一篇中登录验证都由security帮助我们完成了,如果我们想要增加一个验证码登录或者其它的自定义校验就没办法了,因此这一篇讲解如何实现这个功能。"
|
headWord: "文接上篇,上一篇中登录验证都由security帮助我们完成了,如果我们想要增加一个验证码登录或者其它的自定义校验就没办法了,因此这一篇讲解如何实现这个功能。"
|
||||||
tags=["java", "spring","springboot","spring-security","security"]
|
tags: ["java", "spring","springboot","spring-security","security"]
|
||||||
category="java"
|
categories:
|
||||||
serie="spring boot学习"
|
- "java"
|
||||||
|
- spring boot学习"
|
||||||
---
|
---
|
||||||
|
|
||||||
  紧接着上一篇,上一篇中登录验证都由 security 帮助我们完成了,如果我们想要增加一个验证码登录或者其它的自定义校验就没办法了,因此这一篇讲解如何实现这个功能。
|
  紧接着上一篇,上一篇中登录验证都由 security 帮助我们完成了,如果我们想要增加一个验证码登录或者其它的自定义校验就没办法了,因此这一篇讲解如何实现这个功能。
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
---
|
---
|
||||||
id="2018-08-22-10-38"
|
id: "2018-08-22-10-38"
|
||||||
title="springboot+security整合(3)"
|
title: "springboot+security整合(3)"
|
||||||
headWord="文接上篇,上篇说了那个啥自定义校验的功能,这篇来学学如何自定义鉴权。感觉都定义到这个地步,都不太需要security框架了,再自己整整缓存方面的功能就是一个功能完成的鉴权模块了。"
|
headWord: "文接上篇,上篇说了那个啥自定义校验的功能,这篇来学学如何自定义鉴权。感觉都定义到这个地步,都不太需要security框架了,再自己整整缓存方面的功能就是一个功能完成的鉴权模块了。"
|
||||||
tags=["java", "spring","springboot","spring-security","security"]
|
tags: ["java", "spring","springboot","spring-security","security"]
|
||||||
category="java"
|
categories:
|
||||||
serie="spring boot学习"
|
- "java"
|
||||||
|
- "spring boot学习"
|
||||||
---
|
---
|
||||||
|
|
||||||
  这篇讲解如何自定义鉴权过程,实现根据数据库查询出的 url 和 method 是否匹配当前请求的 url 和 method 来决定有没有权限。security 鉴权过程如下:
|
  这篇讲解如何自定义鉴权过程,实现根据数据库查询出的 url 和 method 是否匹配当前请求的 url 和 method 来决定有没有权限。security 鉴权过程如下:
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
---
|
---
|
||||||
id="2018-08-25-10-38"
|
id: "2018-08-25-10-38"
|
||||||
title="springboot整合WebSocket"
|
title: "springboot整合WebSocket"
|
||||||
headWord="webSocket作为http单向连接的补充,实现了服务端,浏览器端的双向通信,还是有必要了解了解"
|
headWord: "webSocket作为http单向连接的补充,实现了服务端,浏览器端的双向通信,还是有必要了解了解"
|
||||||
tags=["java", "spring","springboot","WebSocket"]
|
tags: ["java", "spring","springboot","WebSocket"]
|
||||||
category="java"
|
categories:
|
||||||
serie="spring boot学习"
|
- "java"
|
||||||
|
- "spring boot学习"
|
||||||
---
|
---
|
||||||
|
|
||||||
### 一、背景
|
### 一、背景
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
---
|
---
|
||||||
id="2018-09-01-10-38"
|
id: "2018-09-01-10-38"
|
||||||
title="springboot整合Mybatis(xml和注解)"
|
title: "springboot整合Mybatis(xml和注解)"
|
||||||
headWord="写的一手好sql就能玩转mybatis,入门难度相较于hibernate小得多。"
|
headWord: "写的一手好sql就能玩转mybatis,入门难度相较于hibernate小得多。"
|
||||||
tags=["java", "spring","springboot","mysql","mybatis","xml","注解"]
|
tag: ["java", "spring","springboot","mysql","mybatis","xml","注解"]
|
||||||
category="java"
|
categories:
|
||||||
serie="spring boot学习"
|
- "java"
|
||||||
|
- "spring boot学习"
|
||||||
---
|
---
|
||||||
|
|
||||||
## 写在前面
|
## 写在前面
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
---
|
---
|
||||||
id="2018-09-05-10-38"
|
id: "2018-09-05-10-38"
|
||||||
title="springboot整合ActiveMQ(1)"
|
title: "springboot整合ActiveMQ(1)"
|
||||||
headWord="稍大的项目中都会用到mq消息队列,so这个自然也是要学的,为啥是activeMQ呢?刚好目前的项目中用的就是这个拉。"
|
headWord: "稍大的项目中都会用到mq消息队列,so这个自然也是要学的,为啥是activeMQ呢?刚好目前的项目中用的就是这个拉。"
|
||||||
tags=["java", "spring","springboot","消息队列","activeMQ"]
|
tags: ["java", "spring","springboot","消息队列","activeMQ"]
|
||||||
category="java"
|
categories:
|
||||||
serie="spring boot学习"
|
- "java"
|
||||||
|
- "spring boot学习"
|
||||||
---
|
---
|
||||||
|
|
||||||
**说明:acitveMQ 版本为:5.9.1,springboot 版本为 2.0.3,项目地址:[点击跳转](https://github.com/FleyX/demo-project/tree/master/jms_demo)**<br/>
|
**说明:acitveMQ 版本为:5.9.1,springboot 版本为 2.0.3,项目地址:[点击跳转](https://github.com/FleyX/demo-project/tree/master/jms_demo)**<br/>
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
---
|
---
|
||||||
id="2018-09-06-10-38"
|
id: "2018-09-06-10-38"
|
||||||
title="springboot整合ActiveMQ(2)"
|
title: "springboot整合ActiveMQ(2)"
|
||||||
headWord="接着上文来说,这里来说如何实现activemq的主从备份"
|
headWord: "接着上文来说,这里来说如何实现activemq的主从备份"
|
||||||
tags=["java", "spring","springboot","消息队列","activeMQ"]
|
tags: ["java", "spring","springboot","消息队列","activeMQ"]
|
||||||
category="java"
|
categories:
|
||||||
serie="spring boot学习"
|
- "java"
|
||||||
|
- "spring boot学习"
|
||||||
---
|
---
|
||||||
|
|
||||||
  单个 MQ 节点总是不可靠的,一旦该节点出现故障,MQ 服务就不可用了,势必会产生较大的损失。这里记录 activeMQ 如何开启主从备份,一旦 master(主节点故障),slave(从节点)立即提供服务,实现原理是运行多个 MQ 使用同一个持久化数据源,这里以 jdbc 数据源为例。同一时间只有一个节点(节点 A)能够抢到数据库的表锁,其他节点进入阻塞状态,一旦 A 发生错误崩溃,其他节点就会重新获取表锁,获取到锁的节点成为 master,其他节点为 slave,如果节点 A 重新启动,也将成为 slave。
|
  单个 MQ 节点总是不可靠的,一旦该节点出现故障,MQ 服务就不可用了,势必会产生较大的损失。这里记录 activeMQ 如何开启主从备份,一旦 master(主节点故障),slave(从节点)立即提供服务,实现原理是运行多个 MQ 使用同一个持久化数据源,这里以 jdbc 数据源为例。同一时间只有一个节点(节点 A)能够抢到数据库的表锁,其他节点进入阻塞状态,一旦 A 发生错误崩溃,其他节点就会重新获取表锁,获取到锁的节点成为 master,其他节点为 slave,如果节点 A 重新启动,也将成为 slave。
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
---
|
---
|
||||||
id="2018-09-10-10-38"
|
id: "2018-09-10-10-38"
|
||||||
title="springboot配置读写分离(Mybatis)"
|
title: "springboot配置读写分离(Mybatis)"
|
||||||
headWord="近日工作任务较轻,有空学习学习技术,遂来研究如果实现读写分离。这里用博客记录下过程,一方面可备日后查看,同时也能分享给大家(网上的资料真的大都是抄来抄去,,还不带格式的,看的真心难受)。"
|
headWord: "近日工作任务较轻,有空学习学习技术,遂来研究如果实现读写分离。这里用博客记录下过程,一方面可备日后查看,同时也能分享给大家(网上的资料真的大都是抄来抄去,,还不带格式的,看的真心难受)。"
|
||||||
tags=["java", "spring","springboot","mysql","主从备份","读写分离"]
|
tags: ["java", "spring","springboot","mysql","主从备份","读写分离"]
|
||||||
category="java"
|
categories:
|
||||||
serie="spring boot学习"
|
- "java"
|
||||||
|
- "spring boot学习"
|
||||||
---
|
---
|
||||||
|
|
||||||
  近日工作任务较轻,有空学习学习技术,遂来研究如果实现读写分离。这里用博客记录下过程,一方面可备日后查看,同时也能分享给大家(网上的资料真的大都是抄来抄去,,还不带格式的,看的真心难受)。
|
  近日工作任务较轻,有空学习学习技术,遂来研究如果实现读写分离。这里用博客记录下过程,一方面可备日后查看,同时也能分享给大家(网上的资料真的大都是抄来抄去,,还不带格式的,看的真心难受)。
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
---
|
---
|
||||||
id="2018-11-19-15-57-00"
|
id: "2018-11-19-15-57-00"
|
||||||
title="springCloud学习1(集中式配置管理)"
|
title: "springCloud学习1(集中式配置管理)"
|
||||||
headWord="本篇主要用于记录如何在spring cloud中将服务配置与服务代码分离开来,通过向集中的配置服务请求获取某个微服务需要的配置。"
|
headWord: "本篇主要用于记录如何在spring cloud中将服务配置与服务代码分离开来,通过向集中的配置服务请求获取某个微服务需要的配置。"
|
||||||
tags=["spring-boot", "spring-cloud-config","git"]
|
tags: ["spring-boot", "spring-cloud-config","git"]
|
||||||
category="java"
|
categories:
|
||||||
serie="springCloud实战"
|
- "java"
|
||||||
|
- "springCloud实战"
|
||||||
---
|
---
|
||||||
|
|
||||||
  本篇项目代码存放于:[点击跳转](https://github.com/FleyX/demo-project/tree/master/springcloud/spring-cloud-config%E9%85%8D%E7%BD%AE%E4%B8%AD%E5%BF%83)
|
  本篇项目代码存放于:[点击跳转](https://github.com/FleyX/demo-project/tree/master/springcloud/spring-cloud-config%E9%85%8D%E7%BD%AE%E4%B8%AD%E5%BF%83)
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
---
|
---
|
||||||
id="2018-11-22-15-57"
|
id: "2018-11-22-15-57"
|
||||||
title="springCloud学习2(服务发现)"
|
title: "springCloud学习2(服务发现)"
|
||||||
headWord="在任何分布式架构中,都需要找到机器所在的物理地址,这个概念自分布式计算开始就已经存在,并且被正式称为服务发现,本篇是对服务发现的一个学习总结"
|
headWord: "在任何分布式架构中,都需要找到机器所在的物理地址,这个概念自分布式计算开始就已经存在,并且被正式称为服务发现,本篇是对服务发现的一个学习总结"
|
||||||
tags=["spring-boot", "spring-cloud","eureka"]
|
tags: ["spring-boot", "spring-cloud","eureka"]
|
||||||
category="java"
|
categories:
|
||||||
serie="springCloud实战"
|
- "java"
|
||||||
|
- "springCloud实战"
|
||||||
---
|
---
|
||||||
|
|
||||||
本篇代码存放于:[github](https://github.com/FleyX/demo-project/tree/master/springcloud/spring-cloud%E6%9C%8D%E5%8A%A1%E5%8F%91%E7%8E%B0)
|
本篇代码存放于:[github](https://github.com/FleyX/demo-project/tree/master/springcloud/spring-cloud%E6%9C%8D%E5%8A%A1%E5%8F%91%E7%8E%B0)
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
---
|
---
|
||||||
id="2018-11-28-15-57-00"
|
id: "2018-11-28-15-57-00"
|
||||||
title="springCloud学习3(Netflix Hystrix弹性客户端)"
|
title: "springCloud学习3(Netflix Hystrix弹性客户端)"
|
||||||
headWord="系统故障是不可避免的,分布式系统故障概率相比于单机系统更高,如何来应对故障是无法回避的一个难题,本篇是对客户端弹性模式的一个学习总结。"
|
headWord: "系统故障是不可避免的,分布式系统故障概率相比于单机系统更高,如何来应对故障是无法回避的一个难题,本篇是对客户端弹性模式的一个学习总结。"
|
||||||
tags=["spring-boot", "spring-cloud","netflix-hystrix","熔断"]
|
tags: ["spring-boot", "spring-cloud","netflix-hystrix","熔断"]
|
||||||
category="java"
|
categories:
|
||||||
serie="springCloud实战"
|
- "java"
|
||||||
|
- "springCloud实战"
|
||||||
---
|
---
|
||||||
|
|
||||||
**本篇原创发布于:**[FleyX 的个人博客](tapme.top/blog/detail/2018-11-28-15-57-00)
|
**本篇原创发布于:**[FleyX 的个人博客](tapme.top/blog/detail/2018-11-28-15-57-00)
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
---
|
---
|
||||||
id="2019-01-03-19-19"
|
id: "2019-01-03-19-19"
|
||||||
title="springCloud学习4(Zuul服务路由)"
|
title: "springCloud学习4(Zuul服务路由)"
|
||||||
headWord="像微服务这样的分布式架构中,需要确保跨多个服务调用的关键行为(如安全、日志记录、用户跟踪等)能够正常运行,这就需要一个服务网关来统一处理。"
|
headWord: "像微服务这样的分布式架构中,需要确保跨多个服务调用的关键行为(如安全、日志记录、用户跟踪等)能够正常运行,这就需要一个服务网关来统一处理。"
|
||||||
tags=["spring-boot", "spring-cloud","netflix-zuul","service-gateway"]
|
tags: ["spring-boot", "spring-cloud","netflix-zuul","service-gateway"]
|
||||||
category="java"
|
categories:
|
||||||
serie="springCloud实战"
|
- "java"
|
||||||
|
- "springCloud实战"
|
||||||
---
|
---
|
||||||
|
|
||||||
镇博图
|
镇博图
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
---
|
---
|
||||||
id="2019-01-03-19-19"
|
id: "2019-01-03-19-19"
|
||||||
title="springCloud学习4(Spring-Cloud-Stream事件驱动)"
|
title: "springCloud学习4(Spring-Cloud-Stream事件驱动)"
|
||||||
headWord="像微服务这样的分布式架构中,需要确保跨多个服务调用的关键行为(如安全、日志记录、用户跟踪等)能够正常运行,这就需要一个服务网关来统一处理。"
|
headWord: "像微服务这样的分布式架构中,需要确保跨多个服务调用的关键行为(如安全、日志记录、用户跟踪等)能够正常运行,这就需要一个服务网关来统一处理。"
|
||||||
tags=["spring-boot", "spring-cloud","spring-cloud-stream","kafka","事件驱动"]
|
tags: ["spring-boot", "spring-cloud","spring-cloud-stream","kafka","事件驱动"]
|
||||||
category="java"
|
categories:
|
||||||
serie="springCloud实战"
|
- "java"
|
||||||
|
- "springCloud实战"
|
||||||
---
|
---
|
||||||
|
|
||||||
  想想平常生活中做饭的场景,在用电饭锅做饭的同时,我们可以洗菜、切菜,等待电饭锅发出饭做好的提示我们回去拔下电饭锅电源(或者什么也不知让它处于保温状态),反正这个时候我们知道饭做好了,接下来可以炒菜了。从这里可以看出我们在日常生活中与世界的互动并不是同步的、线性的,不是简单的请求--响应模型。它是事件驱动的,我们不断的发送消息、接受消息、处理消息。
|
  想想平常生活中做饭的场景,在用电饭锅做饭的同时,我们可以洗菜、切菜,等待电饭锅发出饭做好的提示我们回去拔下电饭锅电源(或者什么也不知让它处于保温状态),反正这个时候我们知道饭做好了,接下来可以炒菜了。从这里可以看出我们在日常生活中与世界的互动并不是同步的、线性的,不是简单的请求--响应模型。它是事件驱动的,我们不断的发送消息、接受消息、处理消息。
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
---
|
---
|
||||||
id="2019-01-09-20-52"
|
id: "2019-01-09-20-52"
|
||||||
title="java线程池使用后到底要不要关闭"
|
title: "java线程池使用后到底要不要关闭"
|
||||||
headWord="最近在开发中用到了java的线程池,然后就很疑惑这个线程池到底要不要手动关闭,感觉是要关闭的,但是没人强调线程池用完要关闭。so今天来试验下到底线程池用完要不要关闭"
|
headWord: "最近在开发中用到了java的线程池,然后就很疑惑这个线程池到底要不要手动关闭,感觉是要关闭的,但是没人强调线程池用完要关闭。so今天来试验下到底线程池用完要不要关闭"
|
||||||
tags=["java","线程池","ThreadPoolExecutor"]
|
tags: ["java","线程池","ThreadPoolExecutor"]
|
||||||
category="java"
|
categories:
|
||||||
serie="java基础"
|
- "java"
|
||||||
|
- "java基础"
|
||||||
---
|
---
|
||||||
|
|
||||||
**_本篇原创发布于:_** [java 线程池使用后到底要不要关闭](http://tapme.top/blog/detail/2019-01-09-20-52)
|
**_本篇原创发布于:_** [java 线程池使用后到底要不要关闭](http://tapme.top/blog/detail/2019-01-09-20-52)
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
---
|
---
|
||||||
id="2018-09-22-15-57"
|
id: "2018-09-22-15-57"
|
||||||
title="java导出EXCEL文件"
|
title: "java导出EXCEL文件"
|
||||||
headWord="最近在java上做了一个EXCEL的导出功能,写了一个通用类,在这里分享分享,该类支持多sheet,且无需手动进行复杂的类型转换."
|
headWord: "最近在java上做了一个EXCEL的导出功能,写了一个通用类,在这里分享分享,该类支持多sheet,且无需手动进行复杂的类型转换."
|
||||||
tags=["reflex", "java","excel","SXSSFWorksheet"]
|
tags: ["reflex", "java","excel","SXSSFWorksheet"]
|
||||||
category="java"
|
categories:
|
||||||
serie="java工具集"
|
- "java"
|
||||||
|
- "java工具集"
|
||||||
---
|
---
|
||||||
|
|
||||||
**本篇原创发布于:**[FleyX 的个人博客](tapme.top/blog/detail/2018-09-22-15-57)
|
**本篇原创发布于:**[FleyX 的个人博客](tapme.top/blog/detail/2018-09-22-15-57)
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
---
|
---
|
||||||
id="2018-11-20-10-38-05"
|
id: "2018-11-20-10-38-05"
|
||||||
title="1.linux下mongodb的配置与安装"
|
title: "1.linux下mongodb的配置与安装"
|
||||||
headWord="linux下docker的安装与配置"
|
headWord: "linux下docker的安装与配置"
|
||||||
tags=["docker", "linux","ubuntu"]
|
tags: ["docker", "linux","ubuntu"]
|
||||||
category="linux"
|
categories:
|
||||||
serie="docker教程"
|
- "linux"
|
||||||
|
- "docker教程"
|
||||||
---
|
---
|
||||||
|
|
||||||
# 一、安装
|
# 一、安装
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
---
|
---
|
||||||
id="2018-12-26-13-18"
|
id: "2018-12-26-13-18"
|
||||||
title="2.docker简单使用教程"
|
title: "2.docker简单使用教程"
|
||||||
headWord="本篇用来记录一些在docker中经常用到的命令,慢慢补充中。"
|
headWord: "本篇用来记录一些在docker中经常用到的命令,慢慢补充中。"
|
||||||
tags=["docker","mysql"]
|
tags: ["docker","mysql"]
|
||||||
category="linux"
|
categories:
|
||||||
serie="docker教程"
|
- "linux"
|
||||||
|
- "docker教程"
|
||||||
---
|
---
|
||||||
|
|
||||||
### 1、镜像操作
|
### 1、镜像操作
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
---
|
---
|
||||||
id="2019-02-01-14-05"
|
id: "2019-02-01-14-05"
|
||||||
title="3.从零开始在docker中部署java应用"
|
title: "3.从零开始在docker中部署java应用"
|
||||||
headWord="  在没有 docker 前,项目转测试是比较麻烦的一件事。首先会化较长的时间搭建测试环境,然后在测试过程中又经常出现测试说是 bug,开发说无法复现的情况,导致撕逼。<br/>  本篇记录了如何将一个 java 应用部署到 docker 中。"
|
headWord: "  在没有 docker 前,项目转测试是比较麻烦的一件事。首先会化较长的时间搭建测试环境,然后在测试过程中又经常出现测试说是 bug,开发说无法复现的情况,导致撕逼。<br/>  本篇记录了如何将一个 java 应用部署到 docker 中。"
|
||||||
tags=["docker","springboot","jar","war","elastricsearch","activemq"]
|
tags: ["docker","springboot","jar","war","elastricsearch","activemq"]
|
||||||
category="linux"
|
categories:
|
||||||
serie="docker教程"
|
- "linux"
|
||||||
|
- "docker教程"
|
||||||
---
|
---
|
||||||
|
|
||||||
**本篇原创发布于 Flex 的个人博客**:[点击跳转](http://tapme.top/blog/detail/2019-02-01-14-05)
|
**本篇原创发布于 Flex 的个人博客**:[点击跳转](http://tapme.top/blog/detail/2019-02-01-14-05)
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
---
|
---
|
||||||
id="2018-12-26-11-50"
|
id: "2018-12-26-11-50"
|
||||||
title="docker下mysql启动报错"
|
title: "docker下mysql启动报错"
|
||||||
headWord="报错是这么产生的,使用装有mysql的镜像创业一个容器,然后在容器中启动mysql就会报错,启动失败。"
|
headWord: "报错是这么产生的,使用装有mysql的镜像创业一个容器,然后在容器中启动mysql就会报错,启动失败。"
|
||||||
tags=["docker","mysql"]
|
tags: ["docker","mysql"]
|
||||||
category="linux"
|
categories:
|
||||||
serie="踩坑"
|
- "linux"
|
||||||
|
- "踩坑"
|
||||||
---
|
---
|
||||||
|
|
||||||
# 1、报错过程
|
# 1、报错过程
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
---
|
---
|
||||||
id="2018-11-20-10-38-05"
|
id: "2018-11-20-10-38-05"
|
||||||
title="linux下mongodb的配置与安装"
|
title: "linux下mongodb的配置与安装"
|
||||||
headWord="记录linux下如何安装与配置mongodb"
|
headWord: "记录linux下如何安装与配置mongodb"
|
||||||
tags=["mongodb", "linux"]
|
tags: ["mongodb", "linux"]
|
||||||
category="linux"
|
categories:
|
||||||
serie="软件相关"
|
- "linux"
|
||||||
|
- "软件相关"
|
||||||
---
|
---
|
||||||
|
|
||||||
  首先到官网下载安装包,官网地址如下:[点击跳转](https://www.mongodb.com/download-center/community),选中合适的版本,下面会出现下载链接,然后使用 wget url 下载到当前文件夹下。mongodb 4.04 ubuntu18.04 64 下载命令如下:
|
  首先到官网下载安装包,官网地址如下:[点击跳转](https://www.mongodb.com/download-center/community),选中合适的版本,下面会出现下载链接,然后使用 wget url 下载到当前文件夹下。mongodb 4.04 ubuntu18.04 64 下载命令如下:
|
||||||
|
@ -1 +1 @@
|
|||||||
{"2018-11-22-15-57-00":14,"2018-11-20-10-38-05":18,"2018-11-19-15-57-00":3,"2018-10-22-10-38-05":14,"2018-10-21-10-38-05":3,"2018-10-20-10-38-05":20}
|
{}
|
@ -1,10 +1,11 @@
|
|||||||
---
|
---
|
||||||
id="2018-12-17-13-58"
|
id: "2018-12-17-13-58"
|
||||||
title="vscode开发调试typescript"
|
title: "vscode开发调试typescript"
|
||||||
headWord="本篇用于记录如何在vscode下开发typescript以及端点调试ts代码"
|
headWord: "本篇用于记录如何在vscode下开发typescript以及端点调试ts代码"
|
||||||
tags=["vscode", "node","typescript","ts"]
|
tags: ["vscode", "node","typescript","ts"]
|
||||||
category="node"
|
categories:
|
||||||
serie="node开发配置"
|
- "node"
|
||||||
|
- node开发配置"
|
||||||
---
|
---
|
||||||
|
|
||||||
### 1、安装 typescript
|
### 1、安装 typescript
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
---
|
---
|
||||||
id="2018-10-01-13-58"
|
id: "2018-10-01-13-58"
|
||||||
title="node,vue开发教学管理系统"
|
title: "node,vue开发教学管理系统"
|
||||||
headWord="毕业才刚刚两个多月而已,现在想想大学生活是已经是那么的遥不可及,感觉已经过了好久好久,社会了两个月才明白学校的好啊。。。"
|
headWord: "毕业才刚刚两个多月而已,现在想想大学生活是已经是那么的遥不可及,感觉已经过了好久好久,社会了两个月才明白学校的好啊。。。"
|
||||||
tags=["node", "vue","element-ui","axios","koa","redis","mysql","jwt"]
|
tags: ["node", "vue","element-ui","axios","koa","redis","mysql","jwt"]
|
||||||
category="node"
|
categories:
|
||||||
serie="项目"
|
- "node"
|
||||||
|
- "项目"
|
||||||
---
|
---
|
||||||
|
|
||||||
  毕业才刚刚两个多月而已,现在想想大学生活是已经是那么的遥不可及,感觉已经过了好久好久,社会了两个月才明白学校的好啊。。。额,扯远了,自从毕业开始就想找个时间写下毕设的记录总结,结果找了好久好久到今天才开始动笔。
|
  毕业才刚刚两个多月而已,现在想想大学生活是已经是那么的遥不可及,感觉已经过了好久好久,社会了两个月才明白学校的好啊。。。额,扯远了,自从毕业开始就想找个时间写下毕设的记录总结,结果找了好久好久到今天才开始动笔。
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
---
|
---
|
||||||
id="2018-09-20-10-58"
|
id: "2018-09-20-10-58"
|
||||||
title="git crlf、lf自动转换问题"
|
title: "git crlf、lf自动转换问题"
|
||||||
headWord="踩坑,都是从git拉下来的,就我老是报错,怎么都跑不起来,,花了半天时间排查原因。。。"
|
headWord: "踩坑,都是从git拉下来的,就我老是报错,怎么都跑不起来,,花了半天时间排查原因。。。"
|
||||||
tags=["git","crlf","lf","flyway"]
|
tags: ["git","crlf","lf","flyway"]
|
||||||
category="其他"
|
categories:
|
||||||
serie="踩坑"
|
- "其他"
|
||||||
|
- "踩坑"
|
||||||
---
|
---
|
||||||
|
|
||||||
  项目组最近加了一个新功能到代码中,使用 flyway 记录数据库版本变更,该工具会记录每次数据库结构的修改并生成 sql 文件存在指定目录上(当然必须用它来变更数据库,外部的变更它是无法感知的),然后每次启动时 flyway 会检查使用的数据库和当前项目代码中的 sql 变更版本是否一致,一致正常启动,不一致中如果是数据库落后将会更新数据库(这样能够保证代码在任何地方运行数据库都是一致的),否则就报错了。数据库中有一张表记录版本信息,如下图:
|
  项目组最近加了一个新功能到代码中,使用 flyway 记录数据库版本变更,该工具会记录每次数据库结构的修改并生成 sql 文件存在指定目录上(当然必须用它来变更数据库,外部的变更它是无法感知的),然后每次启动时 flyway 会检查使用的数据库和当前项目代码中的 sql 变更版本是否一致,一致正常启动,不一致中如果是数据库落后将会更新数据库(这样能够保证代码在任何地方运行数据库都是一致的),否则就报错了。数据库中有一张表记录版本信息,如下图:
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
---
|
---
|
||||||
id="2018-09-30-10-58"
|
id: "2018-09-30-10-58"
|
||||||
title="正则匹配之正向/反向预测先行搜索"
|
title: "正则匹配之正向/反向预测先行搜索"
|
||||||
headWord="今天领导让我写几个正则表达式来对密码做强度验证,听到写正则表达式内心是这样的感觉(哈哈,三分钟搞定,今天又可以打鱼了)..但是显然不会这么简单."
|
headWord: "今天领导让我写几个正则表达式来对密码做强度验证,听到写正则表达式内心是这样的感觉(哈哈,三分钟搞定,今天又可以打鱼了)..但是显然不会这么简单."
|
||||||
tags=["java","正则匹配","pattern","预测先行搜索"]
|
tags: ["java","正则匹配","pattern","预测先行搜索"]
|
||||||
category="java"
|
categories:
|
||||||
serie="正则匹配"
|
- "java"
|
||||||
|
- "正则匹配"
|
||||||
---
|
---
|
||||||
|
|
||||||
## 一、背景
|
## 一、背景
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
---
|
---
|
||||||
id="2018-10-03-10-58"
|
id: "2018-10-03-10-58"
|
||||||
title="分布式事务"
|
title: "分布式事务"
|
||||||
headWord="分布式听说很火,但是分布式事务有很难解决,so来了解了解"
|
headWord: "分布式听说很火,但是分布式事务有很难解决,so来了解了解"
|
||||||
tags=["分布式","sql","2PC","TCC","异步补偿"]
|
tags: ["分布式","sql","2PC","TCC","异步补偿"]
|
||||||
category="数据库"
|
categories:
|
||||||
serie="分布式事务"
|
- "数据库"
|
||||||
|
- "分布式事务"
|
||||||
---
|
---
|
||||||
|
|
||||||
## 前言
|
## 前言
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
---
|
---
|
||||||
id="2018-10-02-10-58"
|
id: "2018-10-02-10-58"
|
||||||
title="数据库4个特性及隔离级别"
|
title: "数据库4个特性及隔离级别"
|
||||||
headWord="了解,了解。"
|
headWord: "了解,了解。"
|
||||||
tags=["acid","sql","事务"]
|
tags: ["acid","sql","事务"]
|
||||||
category="数据库"
|
categories:
|
||||||
serie="分布式事务"
|
- "数据库"
|
||||||
|
- "分布式事务"
|
||||||
---
|
---
|
||||||
|
|
||||||
## 一、 数据库事务四大特性 ACID
|
## 一、 数据库事务四大特性 ACID
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
---
|
---
|
||||||
id="2019-01-25-09-48"
|
id: "2019-01-25-09-48"
|
||||||
title="mysql使用查询结果进行插入操作"
|
title: "mysql使用查询结果进行插入操作"
|
||||||
headWord="经常在使用mysql的过程中想要从一张表中查出一些数据插入到另一张表中,操作如下。"
|
headWord: "经常在使用mysql的过程中想要从一张表中查出一些数据插入到另一张表中,操作如下。"
|
||||||
tags=["mysql","select","insert"]
|
tags: ["mysql","select","insert"]
|
||||||
category="数据库"
|
categories:
|
||||||
serie="分布式事务"
|
- "数据库"
|
||||||
|
- "分布式事务"
|
||||||
---
|
---
|
||||||
|
|
||||||
**本篇原创发布于:**[FleyX 的个人博客](tapme.top/blog/detail/2019-01-25-09-48)
|
**本篇原创发布于:**[FleyX 的个人博客](tapme.top/blog/detail/2019-01-25-09-48)
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
---
|
---
|
||||||
id="2019-01-02-17-15"
|
id: "2019-01-02-17-15"
|
||||||
title="Q807 保持城市天际线(Max Increase to Keep City Skyline)"
|
title: "Q807 保持城市天际线(Max Increase to Keep City Skyline)"
|
||||||
headWord="leetcode刷题,题目详情见<a href='https://leetcode-cn.com/problems/max-increase-to-keep-city-skyline/'>点击跳转</a>"
|
headWord: "leetcode刷题,题目详情见<a href='https://leetcode-cn.com/problems/max-increase-to-keep-city-skyline/'>点击跳转</a>"
|
||||||
tags=["java", "leetcode","array",'leetcode']
|
tags: ["java", "leetcode","array",'leetcode']
|
||||||
category="算法"
|
categories:
|
||||||
serie="leetcode刷题"
|
- "算法"
|
||||||
|
- "leetcode刷题"
|
||||||
---
|
---
|
||||||
|
|
||||||
### 解析思路
|
### 解析思路
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
---
|
---
|
||||||
id="2018-08-04-10-58"
|
id: "2018-08-04-10-58"
|
||||||
title="nat模式虚拟机主机相互ping通"
|
title: "nat模式虚拟机主机相互ping通"
|
||||||
headWord="如题。"
|
headWord: "如题。"
|
||||||
tags=["vmware","nat","ping","ubuntu"]
|
tags: ["vmware","nat","ping","ubuntu"]
|
||||||
category="java"
|
categories:
|
||||||
serie="正则匹配"
|
- "java"
|
||||||
|
- "正则匹配"
|
||||||
---
|
---
|
||||||
|
|
||||||
## 1、wmware 设置
|
## 1、wmware 设置
|
||||||
|
Loading…
x
Reference in New Issue
Block a user