0%

Knuth-Morris-Pratt 字符串查找算法,简称为 KMP算法,KMP是我们经常听到的一种字符串匹配算法。KMP算法听起来很难,但是如果真正明白它的匹配过程其实不难,接下来看看KMP究竟是如何匹配字符串的?

假设现在有如图所示两个字符串, 图表所列的是匹配串的所有子串,这个不难理解

说实话,我的写作平台换过好几次。最开始我的写作平台是CSDN,后台由于CSDN的种种行为,随便列几条大家感受感受,足以令人感觉这是个散发着恶臭的垃圾堆,又时看到一些早期的大佬在CSDN上发表的文章,真的非常精彩(有种在垃圾堆里捡黄金的感觉),不过我还是尽量订阅RSS的方式去访问他们自己的站点。

事先确保服务器上有Java环境与Maven环境和 Git

安装Jenkins

这里是Jenkins的文档 https://jenkins.io/zh/doc/

这里是Jenkins的下载地址https://jenkins.io/zh/download/

最好的方式应该是自己去下载Jenkins的Jar包,直接像运行jar包即可

nohup java -jar jenkins.war --httpPort=80

这样直接访问172.16.45.112:8080 即可!

成功开启服务后应该是下面这个样子:

沙箱环境

沙箱环境也就是特意为开发者准备的环境,从而避免去注册公司、审核之类的问题! 这个是沙箱环境的 链接

先要下载这两个工具

环境一定要配置正确,尤其是秘钥之类的,至于回调地址先不考虑,如果要测试的话首先要保证你本机的服务可以映射到公网,内网穿透就是一种解决方案,而且域名还便宜!

问题

最近好久没连接过自己的云服务器了,但是的时候使用ssh访问服务器时出现:ssh_exchange_identification: read: Connection reset by peer这样的连接错误

原因

  • 服务器防火墙限定
  • 是否达到ssh的最大连接数,超过之后会服务器端会拒绝新的连接,直到有新的连接释放出来
  • /etc/hosts.allow和/etc/hosts.deny配置文件限定ip登录

解决

先关闭防火墙,尤其是云服务厂商为你设定的防火墙,具体解决方式要参考云服务器厂商。看看网络状态,看看Linux是否运行着shhd服务,如果没有那么有可能是连ssh服务程序都没有安装,应该先安装ssh服务器才可以。接着如果还是不行的话:

vim /etc/hosts.allow

追加上:

sshd: ALL

接着重启shh服务

service sshd restart

Nginx的应用场景

Nginx常见的应用场景如下图所示,下面这张图可以说是很详细了:

静态资源服务

曾经的Web开发并不是完全的前后端分离,最明显的例子就是JSP,基本是前后端不分离,直到后来Spring生态体系和前端框架的发展,Web应用程序成了单纯的提供应用接口服务的程序,因此静态资源就没必要交给应用服务器去处理,而是交给Nginx

在之前我从来没有通过AsyncHttp这个请求框架去保存Session,但是今天不得不用呀!接口设计有限,我也只好用专门给浏览器用的接口了,这次我把AsyncHttpClient封装成了一个单例,通过这样的方式来保存Session,暂时先这么用吧,等到找到其他解决方案了再更新此文!