This commit is contained in:
fanxb 2022-01-19 10:47:44 +08:00
parent c4f6b99425
commit 36a0b44502
53 changed files with 89 additions and 97 deletions

View File

@ -55,5 +55,3 @@ try (FileInputStream inputStream = new FileInputStream("./pom.xml")) {
``` ```
无需在 finally 中手动关闭 inputStream凡是实现了 AutoCloseable 接口的,且在 try 后面的括号中创建的,都会在 try/catch 执行完毕后确保调用 close 方法。这么写是不是优雅多了?? 无需在 finally 中手动关闭 inputStream凡是实现了 AutoCloseable 接口的,且在 try 后面的括号中创建的,都会在 try/catch 执行完毕后确保调用 close 方法。这么写是不是优雅多了??
**本文原创发布于:**[http://www.tapme.top/blog/detail/2019-03-25-20-52](http://www.tapme.top/blog/detail/2019-03-25-20-52)

View File

@ -192,4 +192,3 @@ public class CustomExceptionHandler implements Thread.UncaughtExceptionHandler {
本篇所用全部代码:[github](https://github.com/FleyX/demo-project/tree/master/2.javaThreadDemo) 本篇所用全部代码:[github](https://github.com/FleyX/demo-project/tree/master/2.javaThreadDemo)
**本篇原创发布于:**[https://www.tapme.top/blog/detail/2019-04-08-20-52](https://www.tapme.top/blog/detail/2019-04-08-20-52)

View File

@ -270,4 +270,3 @@ class Bank {
本篇所用全部代码:[github](https://github.com/FleyX/demo-project/tree/master/2.javaThreadDemo) 本篇所用全部代码:[github](https://github.com/FleyX/demo-project/tree/master/2.javaThreadDemo)
**本文原创发布于:**[https://www.tapme.top/blog/detail/2019-04-10-20-52](https://www.tapme.top/blog/detail/2019-04-10-20-52)

View File

@ -176,4 +176,4 @@ Arrays.parallelPrefix(arr,(x,y)->x*y);
// arr变成[1,1*2,1*2*3,1*2*3*4] // arr变成[1,1*2,1*2*3,1*2*3*4]
``` ```
**本文原创发布与:**:[https://www.tapme.top/blog/detail/2019-04-10](https://www.tapme.top/blog/detail/2019-04-11) **本文原创发布与:**:[https://blog.fleyx.com/blog/detail/2019-04-10](https://blog.fleyx.com/blog/detail/2019-04-11)

View File

@ -261,4 +261,4 @@ appender 也是子节点之一,将会在后面说明。
  日志打印可以很复杂, 这里只是说明了常用的 logback 配置,代码详见:[github](https://github.com/FleyX/demo-project/tree/master/spring-boot/log-demo)   日志打印可以很复杂, 这里只是说明了常用的 logback 配置,代码详见:[github](https://github.com/FleyX/demo-project/tree/master/spring-boot/log-demo)
**本文原创发布于:**[http://www.tapme.top/blog/detail/2019-03-21-10-38](http://www.tapme.top/blog/detail/2019-03-20-10-38) **本文原创发布于:**[http://blog.fleyx.com/blog/detail/2019-03-21-10-38](http://blog.fleyx.com/blog/detail/2019-03-20-10-38)

View File

@ -127,4 +127,4 @@ public void saveAll(){
OK! OK!
本文原创发布于:[www.tapme.top/blog/detail/20190619](https://www.tapme.top/blog/detail/20190619) 本文原创发布于:[blog.fleyx.com/blog/detail/20190619](https://blog.fleyx.com/blog/detail/20190619)

View File

@ -12,9 +12,9 @@ categories:
**系列** **系列**
- [springboot+security 整合1](https://www.tapme.top/blog/detail/2018-08-20-10-37) - [springboot+security 整合1](https://blog.fleyx.com/blog/detail/2018-08-20-10-37)
- [springboot+security 整合2](https://www.tapme.top/blog/detail/2018-08-21-10-38) - [springboot+security 整合2](https://blog.fleyx.com/blog/detail/2018-08-21-10-38)
- [springboot+security 整合3](https://www.tapme.top/blog/detail/2018-08-22-10-38) - [springboot+security 整合3](https://blog.fleyx.com/blog/detail/2018-08-22-10-38)
## 一、 介绍 ## 一、 介绍
@ -295,4 +295,4 @@ dataSource 为@Autowired 引入
在登录表单中设置 remember-me 即可实现记住我功能。 在登录表单中设置 remember-me 即可实现记住我功能。
**本文原创发布于:**[https://www.tapme.top/blog/detail/2018-08-20-10-38](https://www.tapme.top/blog/detail/2018-08-20-10-37) **本文原创发布于:**[https://blog.fleyx.com/blog/detail/2018-08-20-10-38](https://blog.fleyx.com/blog/detail/2018-08-20-10-37)

View File

@ -12,9 +12,9 @@ categories:
**系列** **系列**
- [springboot+security 整合1](https://www.tapme.top/blog/detail/2018-08-20-10-37) - [springboot+security 整合1](https://blog.fleyx.com/blog/detail/2018-08-20-10-37)
- [springboot+security 整合2](https://www.tapme.top/blog/detail/2018-08-21-10-38) - [springboot+security 整合2](https://blog.fleyx.com/blog/detail/2018-08-21-10-38)
- [springboot+security 整合3](https://www.tapme.top/blog/detail/2018-08-22-10-38) - [springboot+security 整合3](https://blog.fleyx.com/blog/detail/2018-08-22-10-38)
  紧接着上一篇,上一篇中登录验证都由 security 帮助我们完成了,如果我们想要增加一个验证码登录或者其它的自定义校验就没办法了,因此这一篇讲解如何实现这个功能。   紧接着上一篇,上一篇中登录验证都由 security 帮助我们完成了,如果我们想要增加一个验证码登录或者其它的自定义校验就没办法了,因此这一篇讲解如何实现这个功能。
@ -114,4 +114,4 @@ public MyUsernamePasswordAuthentication myUsernamePasswordAuthentication(){
完成。 完成。
**本文原创发布于:**[https://www.tapme.top/blog/detail/2018-08-21-10-38](https://www.tapme.top/blog/detail/2018-08-21-10-38) **本文原创发布于:**[https://blog.fleyx.com/blog/detail/2018-08-21-10-38](https://blog.fleyx.com/blog/detail/2018-08-21-10-38)

View File

@ -12,9 +12,9 @@ categories:
**系列** **系列**
- [springboot+security 整合1](https://www.tapme.top/blog/detail/2018-08-20-10-37) - [springboot+security 整合1](https://blog.fleyx.com/blog/detail/2018-08-20-10-37)
- [springboot+security 整合2](https://www.tapme.top/blog/detail/2018-08-21-10-38) - [springboot+security 整合2](https://blog.fleyx.com/blog/detail/2018-08-21-10-38)
- [springboot+security 整合3](https://www.tapme.top/blog/detail/2018-08-22-10-38) - [springboot+security 整合3](https://blog.fleyx.com/blog/detail/2018-08-22-10-38)
  这篇讲解如何自定义鉴权过程,实现根据数据库查询出的 url 和 method 是否匹配当前请求的 url 和 method 来决定有没有权限。security 鉴权过程如下:   这篇讲解如何自定义鉴权过程,实现根据数据库查询出的 url 和 method 是否匹配当前请求的 url 和 method 来决定有没有权限。security 鉴权过程如下:
@ -246,4 +246,4 @@ public class MyFilterSecurityInterceptor extends AbstractSecurityInterceptor imp
完成 完成
**本篇原创发布于:**[https://www.tapme.top/blog/detail/2018-08-22-10-38](https://www.tapme.top/blog/detail/2018-08-22-10-38) **本篇原创发布于:**[https://blog.fleyx.com/blog/detail/2018-08-22-10-38](https://blog.fleyx.com/blog/detail/2018-08-22-10-38)

View File

@ -224,4 +224,4 @@ MessageEvent {isTrusted: true, data: "这是一条测试广播", origin: "ws://
  源码可在 [github 下载](https://github.com/FleyX/demo-project/tree/master/h5websocket) 上下载记得点赞star 哦   源码可在 [github 下载](https://github.com/FleyX/demo-project/tree/master/h5websocket) 上下载记得点赞star 哦
**本文原创发布于:**[https://www.tapme.top/blog/detail/2018-08-25-10-38](https://www.tapme.top/blog/detail/2018-08-25-10-38) **本文原创发布于:**[https://blog.fleyx.com/blog/detail/2018-08-25-10-38](https://blog.fleyx.com/blog/detail/2018-08-25-10-38)

View File

@ -93,7 +93,7 @@ categories:
## 1.创建项目 ## 1.创建项目
使用 idea 中的 spring initializr 生成 maven 项目,项目命令为 mybatis-test选择 webmysqlmybatis 依赖,即可成功。(详细过程不赘述,如有需要学习 springboot 创建过程,可参考[这篇文章](http://tapme.top/blog/detail/2018-08-13-10-38)。 使用 idea 中的 spring initializr 生成 maven 项目,项目命令为 mybatis-test选择 webmysqlmybatis 依赖,即可成功。(详细过程不赘述,如有需要学习 springboot 创建过程,可参考[这篇文章](https://blog.fleyx.com/blog/detail/2018-08-13-10-38)。
然后依照上面的 pom 文件,补齐缺少的依赖。接着创建包 entityservice 和 mybatis 映射文件夹 mapper创建。为了方便配置将 application.properties 改成 application.yml。由于我们时 REST 接口,故不需要 static 和 templates 目录。修改完毕后的项目结构如下: 然后依照上面的 pom 文件,补齐缺少的依赖。接着创建包 entityservice 和 mybatis 映射文件夹 mapper创建。为了方便配置将 application.properties 改成 application.yml。由于我们时 REST 接口,故不需要 static 和 templates 目录。修改完毕后的项目结构如下:
@ -363,6 +363,6 @@ public interface UserDao {
然后重新启动项目测试,测试结果跟上面完全一样。 然后重新启动项目测试,测试结果跟上面完全一样。
**本文原创发布于:**[https://www.tapme.top/blog/detail/2018-09-01-10-38](https://www.tapme.top/blog/detail/2018-09-01-10-38) **本文原创发布于:**[https://blog.fleyx.com/blog/detail/2018-09-01-10-38](https://blog.fleyx.com/blog/detail/2018-09-01-10-38)
**源码地址:**[https://github.com/FleyX/demo-project/tree/master/mybatis-test](https://github.com/FleyX/demo-project/tree/master/mybatis-test). **源码地址:**[https://github.com/FleyX/demo-project/tree/master/mybatis-test](https://github.com/FleyX/demo-project/tree/master/mybatis-test).

View File

@ -280,6 +280,6 @@ public class RedisService {
  使用方法参见 util/RedisUtil 中的方法。`redisTemplate`基本可以实现所有的 redis 操作。   使用方法参见 util/RedisUtil 中的方法。`redisTemplate`基本可以实现所有的 redis 操作。
**本篇原创发布于:**[springboot 整合 redis](https://www.tapme.top/blog/detail/2019-02-22-14-59) **本篇原创发布于:**[springboot 整合 redis](https://blog.fleyx.com/blog/detail/2019-02-22-14-59)
**项目源码:**[github](https://github.com/FleyX/demo-project/tree/master/1.SSO%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95/sso) **项目源码:**[github](https://github.com/FleyX/demo-project/tree/master/1.SSO%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95/sso)

View File

@ -10,7 +10,7 @@ categories:
# 前言 # 前言
最近写的一个个人项目(传送门:[全终端云书签](https://github.com/FleyX/bookmark))中需要用到全文检索功能,目前 mysqles 都可以做全文检索mysql 胜在配置方便很快就能搞定上线([参考这里](https://www.tapme.top/blog/detail/2019-03-27-09-48)),不考虑上手难度es 在全文检索方面是完胜 mysql 的。 最近写的一个个人项目(传送门:[全终端云书签](https://github.com/FleyX/bookmark))中需要用到全文检索功能,目前 mysqles 都可以做全文检索mysql 胜在配置方便很快就能搞定上线([参考这里](https://blog.fleyx.com/blog/detail/2019-03-27-09-48)),不考虑上手难度es 在全文检索方面是完胜 mysql 的。
最后决定使用 es。使用最新的 7.2 版本。java 客户端使用 es 官方的 high level client([官方文档](https://www.elastic.co/guide/en/elasticsearch/client/java-rest/current/java-rest-high-getting-started.html)),为什么用这个有以下几点原因: 最后决定使用 es。使用最新的 7.2 版本。java 客户端使用 es 官方的 high level client([官方文档](https://www.elastic.co/guide/en/elasticsearch/client/java-rest/current/java-rest-high-getting-started.html)),为什么用这个有以下几点原因:
@ -313,4 +313,4 @@ public void deleteByQuery(String index, QueryBuilder builder) {
源码地址:[github](https://github.com/FleyX/demo-project/tree/master/es-demo) 源码地址:[github](https://github.com/FleyX/demo-project/tree/master/es-demo)
**本文原创发布于:**[https://www.tapme.top/blog/detail/2019-07-29-14-59](https://www.tapme.top/blog/detail/2019-07-29-14-59) **本文原创发布于:**[https://blog.fleyx.com/blog/detail/2019-07-29-14-59](https://blog.fleyx.com/blog/detail/2019-07-29-14-59)

View File

@ -8,8 +8,8 @@ categories:
- "spring boot学习" - "spring boot学习"
--- ---
- 基本使用,[https://www.tapme.top/blog/detail/2018-09-05-10-38](https://www.tapme.top/blog/detail/2018-09-05-10-38) - 基本使用,[https://blog.fleyx.com/blog/detail/2018-09-05-10-38](https://blog.fleyx.com/blog/detail/2018-09-05-10-38)
- 主备模式,[https://www.tapme.top/blog/detail/2018-09-06-10-38](https://www.tapme.top/blog/detail/2018-09-06-10-38) - 主备模式,[https://blog.fleyx.com/blog/detail/2018-09-06-10-38](https://blog.fleyx.com/blog/detail/2018-09-06-10-38)
**说明**acitveMQ 版本为5.9.1springboot 版本为 2.0.3 **说明**acitveMQ 版本为5.9.1springboot 版本为 2.0.3
@ -146,6 +146,6 @@ public class Comsumer {
每个消息队列有两个消费者,队列进入了三个消息,出了三个消息,说明消息都被消费掉了,如果注释掉消费者代码,再次运行,然后发送消息就会发现 MessagesEnqueued 数量大于 MessagesDequeued然后再让消费者上线会立即消费掉队列中的消息。 每个消息队列有两个消费者,队列进入了三个消息,出了三个消息,说明消息都被消费掉了,如果注释掉消费者代码,再次运行,然后发送消息就会发现 MessagesEnqueued 数量大于 MessagesDequeued然后再让消费者上线会立即消费掉队列中的消息。
**本文原创发布于:**[https://www.tapme.top/blog/detail/2018-09-05-10-38](https://www.tapme.top/blog/detail/2018-09-05-10-38) **本文原创发布于:**[https://blog.fleyx.com/blog/detail/2018-09-05-10-38](https://blog.fleyx.com/blog/detail/2018-09-05-10-38)
源码:[https://github.com/FleyX/demo-project/tree/master/jms_demo](https://github.com/FleyX/demo-project/tree/master/jms_demo) 源码:[https://github.com/FleyX/demo-project/tree/master/jms_demo](https://github.com/FleyX/demo-project/tree/master/jms_demo)

View File

@ -9,8 +9,8 @@ categories:
--- ---
- 基本使用,[https://www.tapme.top/blog/detail/2018-09-05-10-38](https://www.tapme.top/blog/detail/2018-09-05-10-38) - 基本使用,[https://blog.fleyx.com/blog/detail/2018-09-05-10-38](https://blog.fleyx.com/blog/detail/2018-09-05-10-38)
- 主备模式,[https://www.tapme.top/blog/detail/2018-09-06-10-38](https://www.tapme.top/blog/detail/2018-09-06-10-38) - 主备模式,[https://blog.fleyx.com/blog/detail/2018-09-06-10-38](https://blog.fleyx.com/blog/detail/2018-09-06-10-38)
  单个 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。
@ -166,4 +166,4 @@ brokerA 和 brokerB 都要设置该配置,以连上对方。
证明负载均衡成功。 证明负载均衡成功。
本文原创发布于:[https://www.tapme.top/blog/detail/2018-09-06-10-38](https://www.tapme.top/blog/detail/2018-09-06-10-38) 本文原创发布于:[https://blog.fleyx.com/blog/detail/2018-09-06-10-38](https://blog.fleyx.com/blog/detail/2018-09-06-10-38)

View File

@ -320,6 +320,6 @@ public class ReadOnlyInterceptor implements Ordered {
![测试结果](https://raw.githubusercontent.com/FleyX/files/master/blogImg/%E8%AF%BB%E5%86%99%E5%88%86%E7%A6%BB/20190107102056.png) ![测试结果](https://raw.githubusercontent.com/FleyX/files/master/blogImg/%E8%AF%BB%E5%86%99%E5%88%86%E7%A6%BB/20190107102056.png)
读写分离只是数据库扩展的一个临时解决办法并不能一劳永逸随着负载进一步增大只有一个库用于写入肯定是不够的而且单表的数据库是有上限的mysql 最多千万级别的数据能保持较好的查询性能。最终还是会变成--**分库分表**架构的。分库分表可以看看这一篇:[https://www.tapme.top/blog/detail/2019-03-20-10-38](https://www.tapme.top/blog/detail/2019-03-20-10-38) 读写分离只是数据库扩展的一个临时解决办法并不能一劳永逸随着负载进一步增大只有一个库用于写入肯定是不够的而且单表的数据库是有上限的mysql 最多千万级别的数据能保持较好的查询性能。最终还是会变成--**分库分表**架构的。分库分表可以看看这一篇:[https://blog.fleyx.com/blog/detail/2019-03-20-10-38](https://blog.fleyx.com/blog/detail/2019-03-20-10-38)
**本文原创发布于:**[www.tapme.top/blog/detail/2018-09-10-10-38](www.tapme.top/blog/detail/2018-09-10-10-38) **本文原创发布于:**[blog.fleyx.com/blog/detail/2018-09-10-10-38](blog.fleyx.com/blog/detail/2018-09-10-10-38)

View File

@ -15,12 +15,12 @@ categories:
  共计产生了如下 6 篇学习笔记:   共计产生了如下 6 篇学习笔记:
- [springCloud 学习 1(集中式配置管理)](http://tapme.top/blog/detail/2018-11-19-15-57-00/) - [springCloud 学习 1(集中式配置管理)](https://blog.fleyx.com/blog/detail/2018-11-19-15-57-00/)
- [springCloud 学习 2(服务发现)](http://tapme.top/blog/detail/2018-11-22-15-57/) - [springCloud 学习 2(服务发现)](https://blog.fleyx.com/blog/detail/2018-11-22-15-57/)
- [springCloud 学习 3Netflix Hystrix 弹性客户端)](http://tapme.top/blog/detail/2018-11-28-15-57-00) - [springCloud 学习 3Netflix Hystrix 弹性客户端)](https://blog.fleyx.com/blog/detail/2018-11-28-15-57-00)
- [springCloud 学习 4Zuul 服务路由)](http://tapme.top/blog/detail/2019-01-03-19-18) - [springCloud 学习 4Zuul 服务路由)](https://blog.fleyx.com/blog/detail/2019-01-03-19-18)
- [springCloud 学习 5Spring-Cloud-Stream 事件驱动)](http://tapme.top/blog/detail/2019-01-03-19-19) - [springCloud 学习 5Spring-Cloud-Stream 事件驱动)](https://blog.fleyx.com/blog/detail/2019-01-03-19-19)
- [springCloud 学习 6(Spring Cloud Sleuth 分布式跟踪)](http://tapme.top/blog/detail/2019-01-03-19-19) - [springCloud 学习 6(Spring Cloud Sleuth 分布式跟踪)](https://blog.fleyx.com/blog/detail/2019-01-03-19-19)
  总的来说这本书还是不错滴,虽然有些许错误(不确定是印刷错误还是排版),但是问题都不大。除了内容有点老:书中代码所有 spring boot 版本为`1.4.4`spring cloud 版本为`Camden.SR5`。但是理念都是那些,新版本只有有更好的诠释方式,无需过分关注这个问题。   总的来说这本书还是不错滴,虽然有些许错误(不确定是印刷错误还是排版),但是问题都不大。除了内容有点老:书中代码所有 spring boot 版本为`1.4.4`spring cloud 版本为`Camden.SR5`。但是理念都是那些,新版本只有有更好的诠释方式,无需过分关注这个问题。
@ -28,4 +28,4 @@ categories:
_2019,Fighting!_ _2019,Fighting!_
**本篇原创发布于:**[FleyX 的个人博客](https://www.tapme.top/blog/detail/2019-02-28-11-33) **本篇原创发布于:**[FleyX 的个人博客](https://blog.fleyx.com/blog/detail/2019-02-28-11-33)

View File

@ -8,7 +8,7 @@ categories:
- "springCloud实战" - "springCloud实战"
--- ---
**springcloud 总集:**[https://www.tapme.top/blog/detail/2019-02-28-11-33](https://www.tapme.top/blog/detail/2019-02-28-11-33) **springcloud 总集:**[https://blog.fleyx.com/blog/detail/2019-02-28-11-33](https://blog.fleyx.com/blog/detail/2019-02-28-11-33)
## 一、前言 ## 一、前言
@ -289,4 +289,4 @@ spring:
  本篇只是用到了 spring-cloud-config 这个来进行配置集中管理,并没有涉及到微服务,在下一篇将开始微服务的学习。   本篇只是用到了 spring-cloud-config 这个来进行配置集中管理,并没有涉及到微服务,在下一篇将开始微服务的学习。
  本篇两个项目代码存放于:[点击跳转](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)
本文原创发布于:[www.tapme.top/blog/detail/2018-11-19-15-57-00](www.tapme.top/blog/detail/2018-11-19-15-57-00) 本文原创发布于:[blog.fleyx.com/blog/detail/2018-11-19-15-57-00](blog.fleyx.com/blog/detail/2018-11-19-15-57-00)

View File

@ -9,7 +9,7 @@ categories:
--- ---
**springcloud 总集:**[https://www.tapme.top/blog/detail/2019-02-28-11-33](https://www.tapme.top/blog/detail/2019-02-28-11-33) **springcloud 总集:**[https://blog.fleyx.com/blog/detail/2019-02-28-11-33](https://blog.fleyx.com/blog/detail/2019-02-28-11-33)
本篇代码存放于:[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)
@ -450,5 +450,5 @@ public Licensing getLicensingByFeign(@PathVariable("orgId") String orgId) {
  这一节磨磨蹭蹭写了好几天,虽然例子很简单,但是相信应该是能够看懂的。由于篇幅原因代码没有全部贴上,想要查看完整代码,可以访问这个链接:[点击跳转](https://github.com/FleyX/demo-project/tree/master/springcloud/spring-cloud%E6%9C%8D%E5%8A%A1%E5%8F%91%E7%8E%B0)。   这一节磨磨蹭蹭写了好几天,虽然例子很简单,但是相信应该是能够看懂的。由于篇幅原因代码没有全部贴上,想要查看完整代码,可以访问这个链接:[点击跳转](https://github.com/FleyX/demo-project/tree/master/springcloud/spring-cloud%E6%9C%8D%E5%8A%A1%E5%8F%91%E7%8E%B0)。
**本篇原创发布于:**[http://tapme.top/blog/detail/2018-11-22-15-57](http://tapme.top/blog/detail/2018-11-22-15-57) **本篇原创发布于:**[https://blog.fleyx.com/blog/detail/2018-11-22-15-57](https://blog.fleyx.com/blog/detail/2018-11-22-15-57)

View File

@ -9,7 +9,7 @@ categories:
--- ---
**springcloud 总集:**[https://www.tapme.top/blog/detail/2019-02-28-11-33](https://www.tapme.top/blog/detail/2019-02-28-11-33) **springcloud 总集:**[https://blog.fleyx.com/blog/detail/2019-02-28-11-33](https://blog.fleyx.com/blog/detail/2019-02-28-11-33)
本次用到全部代码:[github](https://github.com/FleyX/demo-project/tree/master/springcloud/spring-cloud%E5%BC%B9%E6%80%A7%E5%AE%A2%E6%88%B7%E7%AB%AF) 本次用到全部代码:[github](https://github.com/FleyX/demo-project/tree/master/springcloud/spring-cloud%E5%BC%B9%E6%80%A7%E5%AE%A2%E6%88%B7%E7%AB%AF)
@ -226,4 +226,4 @@ public class OrganizationFeignClientImpl implements OrganizationFeignClient{
本次用到全部代码:[点击跳转](https://github.com/FleyX/demo-project/tree/master/springcloud/spring-cloud%E5%BC%B9%E6%80%A7%E5%AE%A2%E6%88%B7%E7%AB%AF) 本次用到全部代码:[点击跳转](https://github.com/FleyX/demo-project/tree/master/springcloud/spring-cloud%E5%BC%B9%E6%80%A7%E5%AE%A2%E6%88%B7%E7%AB%AF)
**本篇原创发布于:**[FleyX 的个人博客](tapme.top/blog/detail/2018-11-28-15-57-00) **本篇原创发布于:**[FleyX 的个人博客](blog.fleyx.com/blog/detail/2018-11-28-15-57-00)

View File

@ -10,7 +10,7 @@ categories:
![三笠](https://raw.githubusercontent.com/FleyX/files/master/blogImg/springcloud%E5%AE%9E%E6%88%98/20190108162523.jpeg) ![三笠](https://raw.githubusercontent.com/FleyX/files/master/blogImg/springcloud%E5%AE%9E%E6%88%98/20190108162523.jpeg)
**springcloud 总集:**[https://www.tapme.top/blog/detail/2019-02-28-11-33](https://www.tapme.top/blog/detail/2019-02-28-11-33) **springcloud 总集:**[https://blog.fleyx.com/blog/detail/2019-02-28-11-33](https://blog.fleyx.com/blog/detail/2019-02-28-11-33)
**本篇中 Zuul 版本为 1.x目前最新的是 2.x二者在过滤器的使用上有较大区别** **本篇中 Zuul 版本为 1.x目前最新的是 2.x二者在过滤器的使用上有较大区别**
@ -441,4 +441,3 @@ public class ResponseFilter extends ZuulFilter {
**本篇代码存放于:**[github](https://github.com/FleyX/demo-project/tree/master/springcloud/spring-cloud%E6%9C%8D%E5%8A%A1%E8%B7%AF%E7%94%B1) **本篇代码存放于:**[github](https://github.com/FleyX/demo-project/tree/master/springcloud/spring-cloud%E6%9C%8D%E5%8A%A1%E8%B7%AF%E7%94%B1)
**本篇原创发布于:**[https://tapme.top/blog/detail/2019-01-03-19-19](https://tapme.top/blog/detail/2019-01-03-19-18)

View File

@ -13,7 +13,7 @@ categories:
**springcloud 总集:**[https://www.tapme.top/blog/detail/2019-02-28-11-33](https://www.tapme.top/blog/detail/2019-02-28-11-33) **springcloud 总集:**[https://blog.fleyx.com/blog/detail/2019-02-28-11-33](https://blog.fleyx.com/blog/detail/2019-02-28-11-33)
**代码见文章结尾** **代码见文章结尾**
@ -350,6 +350,6 @@ public interface CustomInput {
_2019,Fighting!_ _2019,Fighting!_
**本篇原创发布于:**[FleyX 的个人博客](http://tapme.top/blog/detail/2019-01-03-19-19) **本篇原创发布于:**[FleyX 的个人博客](https://blog.fleyx.com/blog/detail/2019-01-03-19-19)
**本篇所用全部代码:**[FleyX 的 github](https://github.com/FleyX/demo-project/tree/master/springcloud/spring-cloud-stream%E6%B6%88%E6%81%AF%E9%98%9F%E5%88%97) **本篇所用全部代码:**[FleyX 的 github](https://github.com/FleyX/demo-project/tree/master/springcloud/spring-cloud-stream%E6%B6%88%E6%81%AF%E9%98%9F%E5%88%97)

View File

@ -8,7 +8,7 @@ categories:
- "springCloud实战" - "springCloud实战"
--- ---
**springcloud 总集:**[https://www.tapme.top/blog/detail/2019-02-28-11-33](https://www.tapme.top/blog/detail/2019-02-28-11-33) **springcloud 总集:**[https://blog.fleyx.com/blog/detail/2019-02-28-11-33](https://blog.fleyx.com/blog/detail/2019-02-28-11-33)
# 前言 # 前言
@ -62,4 +62,4 @@ categories:
_2019,Fighting!_ _2019,Fighting!_
**本篇原创发布于:**[FleyX 的个人博客](http://tapme.top/blog/detail/2019-02-03-19-19) **本篇原创发布于:**[FleyX 的个人博客](https://blog.fleyx.com/blog/detail/2019-02-03-19-19)

View File

@ -109,4 +109,4 @@ server {
**注意**:在跨域请求中,即时目标地址有 cookie 且发起请求的页面也能读取到该 cookie浏览器也不会将 cookie 自动设置到该跨域请求中。比如在http://localhost:8082/a页面中请求http://localhost:8081/abc,这两个地址下拥有共享cookiehttp请求也不会携带cookie。 **注意**:在跨域请求中,即时目标地址有 cookie 且发起请求的页面也能读取到该 cookie浏览器也不会将 cookie 自动设置到该跨域请求中。比如在http://localhost:8082/a页面中请求http://localhost:8081/abc,这两个地址下拥有共享cookiehttp请求也不会携带cookie。
**本篇原创发布于:**[FleyX 的个人博客](http://tapme.top/blog/detail/2019-03-05-13-41) **本篇原创发布于:**[FleyX 的个人博客](https://blog.fleyx.com/blog/detail/2019-03-05-13-41)

View File

@ -35,7 +35,7 @@ categories:
## 方案一 共享 cookie ## 方案一 共享 cookie
  基于 cookie-session 机制的系统中,登录系统后会返回一个 sessionId 存储在 cookie 中,如果我们能够让另外一个系统也能获取到这个 cookie不就获取到凭证信息了无需再次登录。刚好浏览器的 cookie 可以实现这样的效果(详见[web 跨域及 cookie 学习](http://tapme.top/blog/detail/2019-03-05-13-41))。   基于 cookie-session 机制的系统中,登录系统后会返回一个 sessionId 存储在 cookie 中,如果我们能够让另外一个系统也能获取到这个 cookie不就获取到凭证信息了无需再次登录。刚好浏览器的 cookie 可以实现这样的效果(详见[web 跨域及 cookie 学习](https://blog.fleyx.com/blog/detail/2019-03-05-13-41))。
  cookie 允许同域名(或者父子域名)的不同端口中共享 cookie,这点和 http 的同域策略不一样http 请求只要协议、域名、端口不完全相同便认为跨域)。因此只需将多个应用前台页面部署到相同的域名(或者父子域名),然后共享 session 便能够实现单点登录。架构如下:   cookie 允许同域名(或者父子域名)的不同端口中共享 cookie,这点和 http 的同域策略不一样http 请求只要协议、域名、端口不完全相同便认为跨域)。因此只需将多个应用前台页面部署到相同的域名(或者父子域名),然后共享 session 便能够实现单点登录。架构如下:
@ -45,7 +45,7 @@ categories:
## 方案二 基于回调实现 ## 方案二 基于回调实现
  通过上文可以知道,要实现单点登录只需将用户的身份凭证共享给各个系统,让后台知道现在是`谁`在访问。就能实现一次登录,到处访问的效果,实在是非常方便的。在 session 机制中是共享 sessionId然后多个后台使用同一个 session 源即可。这里我们用一种新的基于 JWT 的 token 方式来实现,不了解 JWT 的可以看这篇:[java-jwt 生成与校验](http://www.tapme.top/blog/detail/2019-02-28-15-50),简单来说 jwt 可以携带无法篡改的信息(一段篡改就会校验失败),所以我们可以将用户 id 等非敏感信息直接放到 jwt 中,干掉了后台的 session。然后我们要做的就是将 jwt 共享给各个平台页面即可。系统架构如下:   通过上文可以知道,要实现单点登录只需将用户的身份凭证共享给各个系统,让后台知道现在是`谁`在访问。就能实现一次登录,到处访问的效果,实在是非常方便的。在 session 机制中是共享 sessionId然后多个后台使用同一个 session 源即可。这里我们用一种新的基于 JWT 的 token 方式来实现,不了解 JWT 的可以看这篇:[java-jwt 生成与校验](http://blog.fleyx.com/blog/detail/2019-02-28-15-50),简单来说 jwt 可以携带无法篡改的信息(一段篡改就会校验失败),所以我们可以将用户 id 等非敏感信息直接放到 jwt 中,干掉了后台的 session。然后我们要做的就是将 jwt 共享给各个平台页面即可。系统架构如下:
![基于jwt的回调](http://sqiniupic.fleyx.com/blog/20201027204300.png) ![基于jwt的回调](http://sqiniupic.fleyx.com/blog/20201027204300.png)
@ -138,4 +138,4 @@ SSO 说:好嘞,这个地址是合法的可以送 jwt 过去,这就跳转
**源码:**[github](https://github.com/FleyX/demo-project/tree/master/1.SSO%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95) **源码:**[github](https://github.com/FleyX/demo-project/tree/master/1.SSO%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95)
**本篇原创发布于:**[www.tapme.top/blog/detail/2019-03-01-18-52](https://www.tapme.top/blog/detail/2019-03-01-18-52) **本篇原创发布于:**[blog.fleyx.com/blog/detail/2019-03-01-18-52](https://blog.fleyx.com/blog/detail/2019-03-01-18-52)

View File

@ -8,7 +8,7 @@ categories:
- "java工具集" - "java工具集"
--- ---
**本篇原创发布于:**[FleyX 的个人博客](tapme.top/blog/detail/2018-09-22-15-57) **本篇原创发布于:**[FleyX 的个人博客](blog.fleyx.com/blog/detail/2018-09-22-15-57)
**本篇所用到代码**[github](https://github.com/FleyX/demo-project/blob/master/%E6%9D%82%E9%A1%B9/excel%E5%AF%BC%E5%87%BA.java) **本篇所用到代码**[github](https://github.com/FleyX/demo-project/blob/master/%E6%9D%82%E9%A1%B9/excel%E5%AF%BC%E5%87%BA.java)
@ -211,4 +211,4 @@ github 地址:
**本篇所用到代码**[github](https://github.com/FleyX/demo-project/blob/master/%E6%9D%82%E9%A1%B9/excel%E5%AF%BC%E5%87%BA.java) **本篇所用到代码**[github](https://github.com/FleyX/demo-project/blob/master/%E6%9D%82%E9%A1%B9/excel%E5%AF%BC%E5%87%BA.java)
**本篇原创发布于:**[FleyX 的个人博客](tapme.top/blog/detail/2018-09-22-15-57) **本篇原创发布于:**[FleyX 的个人博客](blog.fleyx.com/blog/detail/2018-09-22-15-57)

View File

@ -8,7 +8,7 @@ categories:
- "java基础" - "java基础"
--- ---
**_本篇原创发布于_** [java 线程池使用后到底要不要关闭](http://tapme.top/blog/detail/2019-01-09-20-52) **_本篇原创发布于_** [java 线程池使用后到底要不要关闭](https://blog.fleyx.com/blog/detail/2019-01-09-20-52)
最近在开发中用到了 java 的线程池然后就很疑惑这个线程池到底要不要手动关闭感觉是要关闭的但是没人强调线程池用完要关闭。so 今天来试验下到底线程池用完要不要关闭。 最近在开发中用到了 java 的线程池然后就很疑惑这个线程池到底要不要手动关闭感觉是要关闭的但是没人强调线程池用完要关闭。so 今天来试验下到底线程池用完要不要关闭。
@ -66,4 +66,4 @@ executor.shutdownNow();
``` ```
**_本篇原创发布于_** [java 线程池使用后到底要不要关闭](http://tapme.top/blog/detail/2019-01-09-20-52) **_本篇原创发布于_** [java 线程池使用后到底要不要关闭](https://blog.fleyx.com/blog/detail/2019-01-09-20-52)

View File

@ -8,7 +8,7 @@ categories:
- 'java工具集' - 'java工具集'
--- ---
**本篇原创发布于:**[FleyX 的个人博客](http://www.tapme.top/blog/detail/2019-02-28-15-50) **本篇原创发布于:**[FleyX 的个人博客](http://blog.fleyx.com/blog/detail/2019-02-28-15-50)
# 什么是 JWT # 什么是 JWT

View File

@ -157,4 +157,4 @@ loop 方法无限循环根据 topic 从 redis 中取数据,如果取到数据
完整代码:[github](https://github.com/FleyX/demo-project/tree/master/4.redis-mq) 完整代码:[github](https://github.com/FleyX/demo-project/tree/master/4.redis-mq)
本文原创发布于:[手把手教你用 redis 实现一个简单的 mq 消息队列](http://www.tapme.top/blog/detail/20200605) 本文原创发布于:[手把手教你用 redis 实现一个简单的 mq 消息队列](http://blog.fleyx.com/blog/detail/20200605)

View File

@ -46,7 +46,7 @@ categories:
# 实战 # 实战
  在此默认已经会安装 docker且了解基本操作。如不了解的先看这两篇[安装](http://tapme.top/blog/detail/2018-11-20-10-38-05)[基本使用](http://tapme.top/blog/detail/2018-12-26-13-18)   在此默认已经会安装 docker且了解基本操作。如不了解的先看这两篇[安装](https://blog.fleyx.com/blog/detail/2018-11-20-10-38-05)[基本使用](https://blog.fleyx.com/blog/detail/2018-12-26-13-18)
## 部署 ENV 环境包 ## 部署 ENV 环境包
@ -209,4 +209,4 @@ docker run -itd --name=das -p 8083:9099 -v /etc/localtime:/etc/localtime -v /etc
**PS:不推荐这么直接手撸命令,建议使用 docker-compose** **PS:不推荐这么直接手撸命令,建议使用 docker-compose**
**本篇原创发布于 Flex 的个人博客**:[点击跳转](https://www.tapme.top/blog/detail/2019-02-01-14-05) **本篇原创发布于 Flex 的个人博客**:[点击跳转](https://blog.fleyx.com/blog/detail/2019-02-01-14-05)

View File

@ -58,4 +58,4 @@ qbittorrent-nox --webui-port=8088 &
![webui 修改用户名密码](https://raw.githubusercontent.com/FleyX/files/master/blogImg/20190415114134.png) ![webui 修改用户名密码](https://raw.githubusercontent.com/FleyX/files/master/blogImg/20190415114134.png)
修改完毕一定要拉下去保存,才会生效 修改完毕一定要拉下去保存,才会生效
**本文原创发布于:**:[http://tapme.top/blog/detail/2019-04-15](http://tapme.top/blog/detail/2019-04-15) **本文原创发布于:**:[https://blog.fleyx.com/blog/detail/2019-04-15](https://blog.fleyx.com/blog/detail/2019-04-15)

View File

@ -70,4 +70,4 @@ sudo make install
输入`source /etc/environment`让环境变量生效,即安装完成。 输入`source /etc/environment`让环境变量生效,即安装完成。
**本文原创发布于:**[https://www.tapme.top/blog/detail/20190503](https://www.tapme.top/blog/detail/20190503) **本文原创发布于:**[https://blog.fleyx.com/blog/detail/20190503](https://blog.fleyx.com/blog/detail/20190503)

View File

@ -54,7 +54,7 @@ nginx -V
默认情况下是不支持的,下面我们来一步一步让它支持 SNI 默认情况下是不支持的,下面我们来一步一步让它支持 SNI
1. 首先要重新编译安装 openssl详情参考我之前的博文[https://blog.tapme.top/blog/detail/20190503](https://blog.tapme.top/blog/detail/20190503) 1. 首先要重新编译安装 openssl详情参考我之前的博文[https://blog.fleyx.com/blog/detail/20190503](https://blog.fleyx.com/blog/detail/20190503)
2. openssl 支持 SNI 后,重装一次 nginx 理论上就可以了(至少我是这样的): 2. openssl 支持 SNI 后,重装一次 nginx 理论上就可以了(至少我是这样的):
@ -64,5 +64,3 @@ apt install nginx
``` ```
然后就可以在一个 IP 上使用多个不同的 https 证书了. 然后就可以在一个 IP 上使用多个不同的 https 证书了.
**本文原创发布于:**[https://www.tapme.top/blog/detail/20190504](https://www.tapme.top/blog/detail/20190504)

View File

@ -31,7 +31,7 @@ categories:
推荐使用 docker 来搭建环境,非常方便。 推荐使用 docker 来搭建环境,非常方便。
1. 首先安装 docker 环境,参考这篇:[docker 安装](https://www.tapme.top/blog/detail/1.linux下mongodb的配置与安装) 1. 首先安装 docker 环境,参考这篇:[docker 安装](https://blog.fleyx.com/blog/detail/1.linux下mongodb的配置与安装)
2. 安装 docker-compose 2. 安装 docker-compose
@ -57,8 +57,8 @@ services:
docker-compose.yml 文件所在目录执行`docker-compose up -d`。便能够通过访问 ip+端口,进入 web 端界面。在设置界面可以调成中文。默认进入是英文。 docker-compose.yml 文件所在目录执行`docker-compose up -d`。便能够通过访问 ip+端口,进入 web 端界面。在设置界面可以调成中文。默认进入是英文。
提供一个测试账号ali.tapme.top:8007 test/testgggg ~~提供一个测试账号ali.tapme.top:8007 test/testgggg~~(已失效)
请勿恶意大量上传下载哦! 请勿恶意大量上传下载哦!
**本文原创发布于:**[https://www.tapme.top/blog/detail/20190516](https://www.tapme.top/blog/detail/20190516) **本文原创发布于:**[https://blog.fleyx.com/blog/detail/20190516](https://blog.fleyx.com/blog/detail/20190516)

View File

@ -57,4 +57,3 @@ npm config delete proxy
npm config delete https-proxy npm config delete https-proxy
``` ```
本文原创发布于[tapme.top/blog/detail/20191010](https://www.tapme.top/blog/detail/20191010)

View File

@ -16,7 +16,7 @@ categories:
代码已开源:[https://github.com/FleyX/teach_system](https://github.com/FleyX/teach_system) 代码已开源:[https://github.com/FleyX/teach_system](https://github.com/FleyX/teach_system)
demo 地址:[ali.tapme.top:8008](http://ali.tapme.top:8008) 123456/123456 ~~demo 地址:[ali.tapme.top:8008](http://ali.tapme.top:8008) 123456/123456~~(已失效)
## 1、需求分析 ## 1、需求分析
@ -484,4 +484,4 @@ request = (url, method, params, form, isFormData, type) => {
- 未控制代码判题速度,如果大量判题同时进行会导致判题核心崩溃.应该使用消息队列处理。 - 未控制代码判题速度,如果大量判题同时进行会导致判题核心崩溃.应该使用消息队列处理。
本文原创发布于:[www.tapme.top/blog/detail/2018-10-01-13-58](https://www.tapme.top/blog/detail/2018-10-01-13-58) 本文原创发布于:[blog.fleyx.com/blog/detail/2018-10-01-13-58](https://blog.fleyx.com/blog/detail/2018-10-01-13-58)

View File

@ -89,4 +89,4 @@ httpd -k start/stop/restart
![php info](https://raw.githubusercontent.com/FleyX/files/master/blogImg/20190521201347.png) ![php info](https://raw.githubusercontent.com/FleyX/files/master/blogImg/20190521201347.png)
**本文原创发布于:**[https://www.tapme.top/blog/detail/20190520](https://www.tapme.top/blog/detail/20190520) **本文原创发布于:**[https://blog.fleyx.com/blog/detail/20190520](https://blog.fleyx.com/blog/detail/20190520)

View File

@ -138,4 +138,4 @@ php -S localhost:8888 -t public
详细可查看官方文档:[点击跳转](https://www.php.net/manual/zh/features.commandline.webserver.php) 详细可查看官方文档:[点击跳转](https://www.php.net/manual/zh/features.commandline.webserver.php)
**本文原创发布于:**[https://www.tapme.top/blog/detail/20190521](https://www.tapme.top/blog/detail/20190521) **本文原创发布于:**[https://blog.fleyx.com/blog/detail/20190521](https://blog.fleyx.com/blog/detail/20190521)

View File

@ -7,7 +7,7 @@ categories:
- '其他' - '其他'
--- ---
**本文原创发布于:**[www.tapme.top/blog/detail/2019-03-19-15-42](www.tapme.top/blog/detail/2019-03-19-15-42) **本文原创发布于:**[blog.fleyx.com/blog/detail/2019-03-19-15-42](blog.fleyx.com/blog/detail/2019-03-19-15-42)
**源码存放于:**[github](https://github.com/FleyX/demo-project/blob/master/%E6%9D%82%E9%A1%B9/1.svg%E8%BD%ACpng%E3%80%81jpg.html) **源码存放于:**[github](https://github.com/FleyX/demo-project/blob/master/%E6%9D%82%E9%A1%B9/1.svg%E8%BD%ACpng%E3%80%81jpg.html)

View File

@ -401,4 +401,4 @@ service dovecot restart
  目前很多主机厂商都不支持和其他服务器的 25 端口通信,已知的有(谷歌云,阿里云),这样就导致在这些机器上搭建的 postfix 邮件服务器,无法向其他的外网邮箱发送邮件,因为无法和其他 smtp 服务器的 25 端口建立连接。貌似是为了避免有人恶意搭建邮件服务器向其他的邮件服务器发送大量的垃圾邮件,从而导致此服务器 IP 被反垃圾邮件组织列入 SML。   目前很多主机厂商都不支持和其他服务器的 25 端口通信,已知的有(谷歌云,阿里云),这样就导致在这些机器上搭建的 postfix 邮件服务器,无法向其他的外网邮箱发送邮件,因为无法和其他 smtp 服务器的 25 端口建立连接。貌似是为了避免有人恶意搭建邮件服务器向其他的邮件服务器发送大量的垃圾邮件,从而导致此服务器 IP 被反垃圾邮件组织列入 SML。
**本博客原创发布于:**[http://tapme.top/blog/detail/2019-04-05](http://tapme.top/blog/detail/2019-04-05) **本博客原创发布于:**[https://blog.fleyx.com/blog/detail/2019-04-05](https://blog.fleyx.com/blog/detail/2019-04-05)

View File

@ -19,6 +19,6 @@ categories:
在学习过程中输出了如下的笔记: 在学习过程中输出了如下的笔记:
- [1.react 环境搭建](https://www.tapme.top/blog/detail/20190626) - [1.react 环境搭建](https://blog.fleyx.com/blog/detail/20190626)
-[2.登录注册重置密码前后端实现](https://www.tapme.top/blog/detail/20190628) -[2.登录注册重置密码前后端实现](https://blog.fleyx.com/blog/detail/20190628)

View File

@ -8,7 +8,7 @@ categories:
- "react" - "react"
--- ---
总览篇:[react 实战之云书签](https://www.tapme.top/blog/detail/20190625) 总览篇:[react 实战之云书签](https://blog.fleyx.com/blog/detail/20190625)
本篇是实战系列的第一篇,主要是搭建 react 开发环境,在`create-react-app`的基础上加上如下功能: 本篇是实战系列的第一篇,主要是搭建 react 开发环境,在`create-react-app`的基础上加上如下功能:
@ -472,4 +472,4 @@ export default connect(
源码:[github](https://github.com/FleyX/ChatRoom),切换到 tag:`第一篇:环境搭建`,便可以看到截止到本篇的源码。 源码:[github](https://github.com/FleyX/ChatRoom),切换到 tag:`第一篇:环境搭建`,便可以看到截止到本篇的源码。
**本文原创发布于:**[www.tapme.top/blog/detail/20190626](https://www.tapme.top/blog/detail/20190626) **本文原创发布于:**[blog.fleyx.com/blog/detail/20190626](https://blog.fleyx.com/blog/detail/20190626)

View File

@ -8,7 +8,7 @@ categories:
- "react" - "react"
--- ---
总集篇:[react 实战之多人聊天室](https://www.tapme.top/blog/detail/20190625) 总集篇:[react 实战之多人聊天室](https://blog.fleyx.com/blog/detail/20190625)
上一篇搭建了 reat 的环境,本篇正式开始编码了。先实现以下三个通用功能: 上一篇搭建了 reat 的环境,本篇正式开始编码了。先实现以下三个通用功能:
@ -53,7 +53,7 @@ categories:
- redux 初始化时从 localeStore 中读取 token 和用户信息放到 redux 中 - redux 初始化时从 localeStore 中读取 token 和用户信息放到 redux 中
![](https://raw.githubusercontent.com/FleyX/files/master/blogImg/20190711143131.png) ![](https://raw.githubusercontent.com/FleyX/files/master/blogImg/20190711143131.png)
如何在组件中使用 redux 的方法已经[上一篇](https://www.tapme.top/blog/detail/20190626)中说明. 如何在组件中使用 redux 的方法已经[上一篇](https://blog.fleyx.com/blog/detail/20190626)中说明.
## 将页面组件加入到路由中 ## 将页面组件加入到路由中
@ -92,4 +92,4 @@ import RegisterOrReset from "./pages/public/RegisterOrReset";
源码:[github](https://github.com/FleyX/ChatRoom),切换到 tag:`第二篇:第二篇:注册登录重置密码完成`,便可以看到截止到本篇的源码。 源码:[github](https://github.com/FleyX/ChatRoom),切换到 tag:`第二篇:第二篇:注册登录重置密码完成`,便可以看到截止到本篇的源码。
**本文原创发布于:**[www.tapme.top/blog/detail/20190628](https://www.tapme.top/blog/detail/20190628) **本文原创发布于:**[blog.fleyx.com/blog/detail/20190628](https://blog.fleyx.com/blog/detail/20190628)

View File

@ -178,4 +178,4 @@ categories:
![小程序](https://raw.githubusercontent.com/FleyX/files/master/blogImg/20190430103928.png) ![小程序](https://raw.githubusercontent.com/FleyX/files/master/blogImg/20190430103928.png)
**本文原创发布于:**[https://www.tapme.top/blog/detail/20190507](https://www.tapme.top/blog/detail/20190507) **本文原创发布于:**[https://blog.fleyx.com/blog/detail/20190507](https://blog.fleyx.com/blog/detail/20190507)

View File

@ -404,4 +404,4 @@ cluster-node-timeout 的默认值为 15000ms(15s),因此故障转移时间会
写了好久,终于终于写完了。。。 写了好久,终于终于写完了。。。
**本文原创发布于:**[https://www.tapme.top/blog/detail/20210719](https://www.tapme.top/blog/detail/20210719) **本文原创发布于:**[https://blog.fleyx.com/blog/detail/20210719](https://blog.fleyx.com/blog/detail/20210719)

View File

@ -229,4 +229,4 @@ sharding:
  运行`com.fanxb.sjdemo.MainTest`查看测试结果。   运行`com.fanxb.sjdemo.MainTest`查看测试结果。
**本文原创发布于:**[https://www.tapme.top/blog/detail/2019-03-20-10-38](https://www.tapme.top/blog/detail/2019-03-20-10-38) **本文原创发布于:**[https://blog.fleyx.com/blog/detail/2019-03-20-10-38](https://blog.fleyx.com/blog/detail/2019-03-20-10-38)

View File

@ -8,7 +8,7 @@ categories:
- "分布式事务" - "分布式事务"
--- ---
**本篇原创发布于:**[FleyX 的个人博客](tapme.top/blog/detail/2019-01-25-09-48) **本篇原创发布于:**[FleyX 的个人博客](blog.fleyx.com/blog/detail/2019-01-25-09-48)
  经常在使用 mysql 的过程中想要从一张表中查出一些数据插入到另一张表中,操作如下。   经常在使用 mysql 的过程中想要从一张表中查出一些数据插入到另一张表中,操作如下。
@ -89,4 +89,4 @@ insert into A(a,b) select (cast a as SIGNED),b from B
  使用类型转换将参数类型转换为一致即可。   使用类型转换将参数类型转换为一致即可。
**本篇原创发布于:**[FleyX 的个人博客](tapme.top/blog/detail/2019-01-25-09-48) **本篇原创发布于:**[FleyX 的个人博客](blog.fleyx.com/blog/detail/2019-01-25-09-48)

View File

@ -48,4 +48,4 @@ select id,name,description from game where match(`name`) against('小明' IN boo
查询语法详见: 查询语法详见:
[https://blog.csdn.net/zwrj1130/article/details/55506179](https://blog.csdn.net/zwrj1130/article/details/55506179) [https://blog.csdn.net/zwrj1130/article/details/55506179](https://blog.csdn.net/zwrj1130/article/details/55506179)
**本篇原创发布于:**[FleyX 的个人博客](https://www.tapme.top/blog/detail/2019-03-27-09-48) **本篇原创发布于:**[FleyX 的个人博客](https://blog.fleyx.com/blog/detail/2019-03-27-09-48)

View File

@ -185,4 +185,4 @@ select ... order by name desc,age asc
  本篇基于 mysql 5.5 的版本,更新的版本可能会有不一样的策略。   本篇基于 mysql 5.5 的版本,更新的版本可能会有不一样的策略。
**本文原创发布于:**[https://www.tapme.top/blog/detail/20190422](https://www.tapme.top/blog/detail/20190422) **本文原创发布于:**[https://blog.fleyx.com/blog/detail/20190422](https://blog.fleyx.com/blog/detail/20190422)

View File

@ -560,6 +560,6 @@ public class RadixSort {
} }
``` ```
**本文原创发布于:**[www.tapme.top/blog/detail/20190806](https://www.tapme.top/blog/detail/20190806) **本文原创发布于:**[blog.fleyx.com/blog/detail/20190806](https://blog.fleyx.com/blog/detail/20190806)
**源码:**[github](https://github.com/FleyX/demo-project/tree/master/3.%E6%8E%92%E5%BA%8F%E7%AE%97%E6%B3%95/src) **源码:**[github](https://github.com/FleyX/demo-project/tree/master/3.%E6%8E%92%E5%BA%8F%E7%AE%97%E6%B3%95/src)

View File

@ -108,4 +108,4 @@ public class Q142 {
比如找到开始节点前的第n个节点一样的找到头后再遍历一遍环得到环长度再计算出需要遍历的次数得到距离开始节点前的第n个节点 比如找到开始节点前的第n个节点一样的找到头后再遍历一遍环得到环长度再计算出需要遍历的次数得到距离开始节点前的第n个节点
本文原创发布于:[www.tapme.top/blog/detail/20210402](https://www.tapme.top/blog/detail/20210402) 本文原创发布于:[blog.fleyx.com/blog/detail/20210402](https://blog.fleyx.com/blog/detail/20210402)

View File

@ -43,4 +43,4 @@ java代码见[点击这里](https://github.com/FleyX/demo-project/blob/master
*** ***
本文原创发布于:[www.tapme.top/blog/detail/20210326](https://www.tapme.top/blog/detail/20210326) 本文原创发布于:[blog.fleyx.com/blog/detail/20210326](https://blog.fleyx.com/blog/detail/20210326)

View File

@ -78,4 +78,4 @@ public class Q46 {
} }
``` ```
本文原创发布于:[www.tapme.top/blog/detail/20190806](www.tapme.top/blog/detail/20200609) 本文原创发布于:[blog.fleyx.com/blog/detail/20190806](blog.fleyx.com/blog/detail/20200609)