架构师修炼之道

知识日新月异,唯有保持同步迭代,才能适应美好的未来!

0%

在phpstorm中发现项目打开之后找不到引入的第三方库,尝试过重新打开并引入项目仍然不能解决,最后采用下面方法解决了问题。

由于phpstorm编辑器在初次引入项目时会缓存项目文件,并为这些文件建立索引,以满足全文查询和方法间的跳转要求。如果这些索引出现损坏那势必影响前述的要求,我遇到的问题就在这里,只要让它清理这些缓存文件并重新加载就好。

阅读全文 »

简介

正则表达式又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),正则表达式通常被用来检索、替换那些符合某个模式(或规则)的文本。

许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(sed和grep)普及开来的。

概念

正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个规则字符串,这个规则字符串用来表达对字符串的一种过滤逻辑

阅读全文 »

背景

消息队列是实际项目中经常用到的中间件,目前也有很多开源并广泛应用的消息队列,今天拿ActiveMQ来聊一聊,怎样保证它的高可用。

现状

目前ActiveMQ提供了三种主从方案,分别是共享文件系统(Shared File System Master Slave)、数据库(JDBC Master Slave)和LevelDB(Replicated LevelDB Store)。需要注意的是LevelDB存储已被弃用,官方不再支持或建议使用,推荐使用KahaDB来代替。

  • 第一种方式需要直接共享文件系统,在实际操作上比较少见。
  • 而第三种方案已经被弃用
  • 关于第二个方案的性能官方有一段描述:共享数据库不会太快,因为它不能使用高性能日志。但即便如此这也是目前最可靠、可行的一种方案。所以下面主要对基于JDBC的主从配置方式展开介绍。
    阅读全文 »

背景

在启用HTTPS协议的网站上,通常会让用户始终以 https:// 访问,那怎样来实现这个需求呢?首次想到的是在应用代码中实现,但如果后端应用比较多时添加会比较繁琐,另外应用层应该专注业务实现,所以这并不是最合理的方案。试想如果能够将请求流量阻挡的越早肯定会越合理,所以可以在Nginx中配置转发逻辑。

前提

在做这件事情的前提是你已经完成证书安装,通过 https:// 协议能够正常访问网站。

阅读全文 »

背景

众所周知maven中央仓库位于国外服务器,国内朋友在下载时比较缓慢,常常在构建一个新项目时要等待比较长的时间。如果能够直接从国内服务器下载,那将大幅缩短项目构建时间,下面介绍一下切换源的方法。

阿里云代理仓库

maven.aliyun.com 代理了很多公共的maven仓库。使用maven.aliyun.com中的仓库地址作为下载源,速度更快更稳定。

代理的仓库列表

仓库名称 代理源地址 使用地址
central https://repo1.maven.org/maven2/ https://maven.aliyun.com/repository/centralhttps://maven.aliyun.com/nexus/content/repositories/central
jcenter http://jcenter.bintray.com/ https://maven.aliyun.com/repository/jcenterhttps://maven.aliyun.com/nexus/content/repositories/jcenter
public central仓和jcenter仓的聚合仓 https://maven.aliyun.com/repository/publichttps://maven.aliyun.com/nexus/content/groups/public
google https://maven.google.com/ https://maven.aliyun.com/repository/googlehttps://maven.aliyun.com/nexus/content/repositories/google
gradle-plugin https://plugins.gradle.org/m2/ https://maven.aliyun.com/repository/gradle-pluginhttps://maven.aliyun.com/nexus/content/repositories/gradle-plugin
spring http://repo.spring.io/libs-milestone/ https://maven.aliyun.com/repository/springhttps://maven.aliyun.com/nexus/content/repositories/spring
spring-plugin http://repo.spring.io/plugins-release/ https://maven.aliyun.com/repository/spring-pluginhttps://maven.aliyun.com/nexus/content/repositories/spring-plugin
grails-core https://repo.grails.org/grails/core https://maven.aliyun.com/repository/grails-corehttps://maven.aliyun.com/nexus/content/repositories/grails-core
apache snapshots https://repository.apache.org/snapshots/ https://maven.aliyun.com/repository/apache-snapshotshttps://maven.aliyun.com/nexus/content/repositories/apache-snapshots
阅读全文 »