- 博客(130)
- 资源 (1)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 设计模式总结(集合)
总结了常用的设计模式,这里做一个分类和集合。创建型工厂模式单例模式原型模式结构型适配器模式桥接模式组合模式装饰者模式外观模式享元模式代理模式行为型模式责任链模式命令模式迭代器模式中介者模式备忘录模式观察者模式状态模式策略模式模板方法模式访问者模式...
2018-08-08 13:44:34
143
原创 Java8特性之Lambda、方法引用和Streams
Java8特性之Lambda、方法引用和StreamsJava8已经推出了好一段时间了,而掌握Java8的新特性也是必要的,如果要进行Spring开发,那么可以发现 Spring的官网已经全部使用Java8来编写示例代码了,所以,不学就看不懂。这里涉及三个重要特性:Lambda方法引用StreamsLambda最早了解Lambda是在C#中,而从Java8开始,Lambda也...
2019-11-27 15:03:14
997
1
原创 nginx配置二级域名(多级域名)
nginx配置二级域名(多级域名)起因之前在v2看到毒鸡汤,很是喜欢,想着也部署到我的博客上来,域名就用二级域名dujitang.flywill.cn,由于我的服务器是Nginx,于是就有了这篇配置二级域名的文章。过程先谷歌了一下,得到的结果单文件配置#运行用户,默认为nginx,一般这里不用设置#user nginx;#进程数,设置为自己cup核心数一致即可worker_...
2019-11-26 17:20:06
4371
原创 Nginx下HTTP强制重定向至HTTPS
Nginx下HTTP强制重定向至HTTPS对于nginx来说,配置http强制重定向至https有多种多样的写法。可以直接rewrite,也可以用301重定向。但是直接拷贝网上的配置往往会出现问题,所以应该考虑网站具体的配置情况。首先,从官方文档来看,对整个域名通过正则匹配进行rewrite,然后以此来重定向至https的链接的方法官方是不推荐的。那么首先重定向的语句就应该写成:return...
2019-11-25 16:02:15
1793
1
原创 Wordpress开启全站HTTPS需要做的事
Wordpress开启全站HTTPS需要做的事需要准备什么SSL证书,可以通过 Let’s Encrypt 的免费SSL证书获取。获取CertbotCertbot 是一个简单易用的 SSL 证书部署工具,由 EFF 开发,前身即 Let’s Encrypt 官方(Python)客户端。简单来说,certbot 就是一个简化 Let’s Encrypt 部署,和管理 Let’s Encry...
2019-11-25 11:15:33
1015
原创 CentOS7 LNMP环境安装wordpress
CentOS7LNMP环境安装wordpress前言上一篇文章配置好了LNMP环境,现在开始安装wordpress并且迁移之前的数据。需要使用到的工具有xshell6,xftp。建立数据库mysql -uroot -p # 用之前设置的密码登陆mysqlmysql>create database wordpress; # 创建wordpress数据库mysql...
2019-11-21 17:40:39
1256
原创 手动部署LNMP环境(CentOS 7)
手动部署LNMP环境(CentOS 7)一、修改 yum 源[root@localhost ~]# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm[root@localhost ~]# rpm -Uvh https://mirror.webtatic.com/yum/el7/w...
2019-11-21 10:53:55
1431
原创 深入理解 DNS
深入理解 DNS简介DNS(Domain Name System)域名系统,它是一个将域名和 IP 地址相互映射的一个分布式数据库,把容易记忆的主机名转换成主机 IP 地址。DNS使用 TCP 和 UDP 端口 53。当前,对于每一级域名长度的限制是 63 个字符,域名总长度则不能超过 253 个字符。DNS备份为防止服务中断和网络攻击,全球共有13台根DNS服务器,严格意义上来说不是...
2019-11-19 09:43:21
567
原创 初探 CDN
初探 CDN简介CDN,全称 Content Delivery Network,根本的作用是将网站的内容发布到最接近用户的网络「边缘」,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。它有别于镜像,它比镜像更智能,可以这样做一个比喻:CDN = 镜像(Mirror) 缓存(cache) 整体负载均衡(GSLB),因而,CDN 可以明显提高 Internet 中信息流动的效...
2019-11-18 16:13:17
889
原创 谷歌搜索技巧:搜索语法 隐藏彩蛋 高级设置
谷歌搜索技巧:搜索语法 隐藏彩蛋 高级设置Google是一个非常精密成熟的搜索引擎,其搜索结果的丰富性和准确度较其他搜索引擎都要好,但大多数用户都还只是停留在搜索框中输入一两个关键字,然后点击“搜索”按钮的阶段,这一过程是非常低效和无谓的。学习一些搜索引擎常用的搜索语法是一件低投入高回报,受益终身的事情。搜索运算符site:仅从特定网站或网域获得搜索结果site:chongb...
2019-11-18 16:08:22
1627
原创 Java 5到Java8 的发展
Java 5到Java8 的发展JDK 5自动装箱与拆箱JDK1.5 为每一个基本数据类型定义了一个封装类。使 java 中的基本数据类型也有自己的对象int -->Integerdouble --> Doublelong --> Longchar --> Characterfloat --> Floatboolean --> Boolea...
2019-11-14 15:12:22
1051
原创 IDEA怎么生成UML类图
IDEA怎么生成UML类图我们看源码的时候,总会看了这个又忘了之前看的,看得头很大,也很晕。这是因为没有对类图有整体的认识,所以有了这个问题,怎么使用IDEA生成UML类图?步骤方法很简单,ctrl alt s快捷键打开设置,搜索diagram选择要查看的类,按住ctrl键多选,然后右键搞定!全文完,更多资讯欢迎关注...
2019-11-14 14:17:44
2590
原创 动态规划套路详解
动态规划套路详解前言前一篇博客总结了动态规划,但是对于我这初学者,还是很多地方不能理解,所以我就在网上找到了一个大神的讲解,确实很棒。转载过来。原文链接在下面参考资料。动态规划套路详解下面通过对斐波那契数列和这道凑零钱问题详解动态规划。动态规划算法似乎是一种很高深莫测的算法,你会在一些面试或算法书籍的高级技巧部分看到相关内容,什么状态转移方程,重叠子问题,最优子结构等高大上的词汇也可...
2019-11-13 16:53:53
935
原创 一文读懂JAVA内部类
一个简单的内部类public class OuterClazz { class InnerClazz{//inner class }}为什么要使用内部类提供一种方法把只在一个地方用的类逻辑分组增强封装(可以理解一种类似“多重继承”)容易维护为什么说内部类可以实现类似的多重继承,Java是不需要class多重继承的,想要实现类似多重继承的效果...
2019-07-16 16:43:15
119
原创 八种排序算法原理及Java实现
八种排序算法原理及Java实现概述排序算法分为内部排序和外部排序,内部排序把数据记录放在内存中进行排序,而外部排序因排序的数据量大,内存不能一次容纳全部的排序记录,所以在排序过程中需要访问外存。经常提及的八大排序算法指的就是内部排序的八种算法,分别是冒泡排序、快速排序、直接插入排序、希尔排序、简单选择排序、堆排序、归并排序和基数排序,如果按原理划分,冒泡排序和快速排序都属于交换排序,直接插...
2019-07-16 16:42:08
296
1
原创 HashMap实现原理及源码分析
HashMap实现原理及源码分析哈希表(hash table)也叫散列表,是一种非常重要的数据结构,应用场景及其丰富,许多缓存技术(比如memcached)的核心其实就是在内存中维护一张大的哈希表,而HashMap的实现原理也常常出现在各类的面试题中,重要性可见一斑。本文会对java集合框架中的对应实现HashMap的实现原理进行讲解,然后会对JDK7的HashMap源码进行分析。什么是哈希表...
2019-07-16 16:41:15
125
原创 Linux操作系统简介
什么是Linux操作系统每次打开计算机时,都会看到一个屏幕,可以在其中执行不同的活动,如写入,浏览互联网或观看视频。是什么让计算机硬件像那样工作?你的计算机上的处理器如何知道你要求它运行mp3文件?嗯,正是这个工作的操作系统或内核。内核是任何操作系统核心的程序,它负责处理基本内容,例如让硬件与软件通信。因此,要在你的计算机上工作,你需要一个操作系统(OS)。事实上,当你在计算机上阅读本文时,...
2019-07-16 16:39:34
182
原创 Linux基本命令
什么是LinuxLinux是操作系统的核心。您可能听说过UNIX。好吧,Linux是一个UNIX克隆。但它实际上是由Scratch的Linus Torvalds创建的。Linux是免费的开源软件,有几个Linux发行版,通常称为“发行版”。Ubuntu Linux红帽企业LinuxLinux MintDebianFedoraLinux主要用于服务器,因为Linux快速,安全且免费...
2019-07-16 16:36:25
158
原创 常见Web安全漏洞及防范
分享三种常见的安全漏洞输入输出验证不充分SQL注入定义SQL注入是SQL语句插入到传入参数的攻击,之后再将这些参数传递给SQL服务器加以解析并执行。成因代码中有拼接的SQL或HQL语句危害拖库:导致数据丢失、数据窃取、数据破坏或拒绝服务提权:完全接管操作系统防范思路:预处理和参数化查询预处理和参数化查询PreparedStatement使用相关的框架如Strut...
2019-06-20 18:47:37
1194
原创 一个故事读懂HTTPS
情窦初开李雷想告诉韩梅梅:“I LOVE U”,于是李雷写好情书,绑在 Polly 的腿上,让 Polly 去韩梅梅家,韩梅梅拿到情书,呵呵一笑,哦不,娇羞一笑,OK,一次信息传递成功。有人使坏然而,喜欢韩梅梅的不止李雷,还有 Jim Green,他半路截取了 Polly,看到“ I LOVE U”,顿生醋意,愤而把消息改成 “F**K OFF” … 当韩梅梅收到信时,爱情的萌芽必然就被扼杀...
2019-06-19 17:02:33
185
原创 高性能MySQL读书笔记一MySQL架构与历史
MySQL服务器逻辑架构MySQL的存储引擎架构将查询处理与数据的存储/提取相分离。下面是MySQL的逻辑架构图:第一层负责连接管理、授权认证、安全等等。每个客户端的连接都对应着服务器上的一个线程。服务器上维护了一个线程池,避免为每个连接都创建销毁一个线程。当客户端连接到MySQL服务器时,服务器对其进行认证。可以通过用户名和密码的方式进行认证,也可以通过SSL证书进行认证。登录认证通过后...
2019-06-18 13:42:08
182
原创 《图解HTTP》读书笔记 总结
《图解HTTP》读书笔记 总结篇第一章 了解Web及网络基础第二章 简单的HTTP协议第三章 HTTP报文内的HTTP信息第四章 返回结果的HTTP状态码第五章 与HTTP协作的Web服务器第六章 HTTP首部第七章 确保Web安全的HTTPS第八章 确认访问用户身份的认证第九章 基于HTTP的功能追加协议第十一章 Web的攻击技术...
2018-08-15 11:37:35
439
原创 《图解HTTP》读书笔记(第十一章)
Web攻击技术简单的HTTP协议本身并不存在安全性问题,因此协议本身几乎不会成为攻击的对象。应用HTTP协议的服务器和客户端,以及运行在服务器上的Web应用等资源才是攻击目标。HTTP不具备必要的安全功能,就拿远程登录时会用到的SSH协议来说,SSH具备协议级别的认证及会话管理等功能,HTTP协议则没有。另外在架设SSH服务方面,任何人都可以轻易地创建安全等级高的服务。而HTTP即使已...
2018-08-15 11:30:54
256
原创 《图解HTTP》读书笔记(第九章)
基于HTTP的功能追加协议HTTP的瓶颈使用HTTP协议探知服务器上是否有内容更新,就必须频繁地从客户端到服务器端进行确认。如果服务器上没有内容更新,那么就会产生徒劳的通信。 若想在现有Web实现所需的功能,以下这些HTTP标准就会成为瓶颈:一条连接上只可发送一个请求(前面讲到,持久化可保持TCP连接状态,但仍完成一次请求/响应后才能进- 行下一次请求/响应,而管线化方式可让一个...
2018-08-15 10:47:56
240
原创 《图解HTTP》读书笔记(第八章)
确认访问用户身份的认证核对的信息通常是指以下这些:密码:只有本人才会知道的字符串信息动态令牌:仅限本人持有的设备内显示的一次性密码数字证书:仅限本人(终端)持有的信息生物认证:指纹和虹膜等本人的生理信息IC卡等:仅限本人持有的信息HTTP/1.1 使用的认证方式如下所示:BASIC认证(基本认证)DIGEST 认证(摘要认证)SSL 客户端认证FormBase认...
2018-08-14 18:46:59
279
原创 《图解HTTP》读书笔记(第七章)
确保Web安全的HTTPSHTTP的缺点通信使用明文可能会被窃听(SSL)不验证通信方的身份就可能遭受伪装(数字证书)无法验证报文完整性,可能已遭篡改(数字签名和加密)下面就针对HTTP这几个缺点,提出了一系列的改进方案。加密处理防止窃听通信的加密HTTP协议中没有加密机制,但可以通过和SSL(Secure Socket Layer,安全套接层)或TLS(Trans...
2018-08-14 16:18:53
370
原创 《图解HTTP》读书笔记(第六章)
HTTP首部HTTP协议的请求和响应报文中必定包含HTTP首部。首部内容为客户端和服务器端分别处理请求和响应提供所需要的信息。HTTP请求报文:由方法、URI、HTTP版本、HTTP首部字段等构成。 HTTP响应报文:由HTTP版本、状态码(数字和原因短语)、HTTP首部字段 3 部分组成。HTTP首部字段使用首部字段是为了给浏览器和服务器提供报文主体大小、所使用的语言、认证信...
2018-08-09 17:43:24
211
原创 《图解HTTP》读书笔记(第五章)
与HTTP协作的Web服务器用单台虚拟主机实现多个域名HTTP/1.1 规范允许一台HTTP服务器搭建多个Web站点。这是利用虚拟主机(Virtual Host,又称虚拟服务器)的功能。在互联网上,域名通过DNS服务映射到IP地址之后访问目标网站。可见,当请求发送到服务器时,已经是以IP地址形式访问了。所以,当一台托管了两个域名的服务器接收到请求时就需要弄清楚究竟要访问哪个域名。 ...
2018-08-09 15:49:41
207
原创 《图解HTTP》读书笔记(第四章)
返回结果的HTTP状态码状态码的职责是当客户端向服务器端发送请求时,描述返回的请求结果。 状态码如200 OK,以3为数字和原因短语组成。 数字中的第一位定义了响应类别,后两位无分类。响应类别有以下五种: 类别 原因 短语 1XX Informational(信息性状态码) 接收的请求正在处理 2XX Success(成功状态码) 请求正常...
2018-08-09 15:41:39
190
原创 《图解HTTP》读书笔记(第三章)
HTTP报文内的信息用于HTTP协议交互的信息被称为HTTP报文。请求端的HTTP报文叫做请求报文,响应端的叫做响应报文。HTTP报文本身是由多行(用CR+LF做换行符)数据构成的字符串文本。HTTP报文大致可分为报文首部和报文主体两部块。两者由最初出现的空行(CR+LF、回车符+换行符)来划分。通常,并不一定要有报文主体。编码提升传输速率HTTP在传输数据时可以按照数据原貌直接传...
2018-08-09 13:42:32
553
原创 《图解HTTP》读书笔记(第二章)
简单的HTTP协议HTTP协议规定,先从客户端开始建立通信,服务端在没有接收到请求之前不会发送响应。请求报文由请求方法、请求URI、协议版本、可选的请求首部字段和内容实体构成的。响应报文基本上由协议版本、状态码、用以解释状态码的原因短语、可选的响应首部字段以及实体主体构成。HTTP是不保存状态的协议HTTP是无状态协议。自身不对请求和响应之间通信状态进行保存(即不做...
2018-08-09 13:32:58
393
原创 《图解HTTP》读书笔记(第一章)
产生 HTTP/1.0标准公布于1996年5月,并记载于RFC1945;HTTP/1.1 是目前主流的标准,记载于RFC2616。 新一代HTTP/2.0正在制定当中,但要达到较高的使用覆盖率,仍需假以时日。 网络基础TCP/IPTCP/IP 协议族TCP/IP 协议族是互联网相关联的协议的集合。从电缆的规格到IP地址的选定方法、寻找异地用户的方法、双方建立...
2018-08-08 17:13:21
417
转载 设计模式之访问者模式
原文定义表示一个作用于其对象结构中的各元素的操作,它使你可以在不改变各元素类的前提下定义作用于这些元素的新操作。主要解决稳定的数据结构和易变的操作耦合问题。就是把数据结构和作用于结构上的操作解耦合,使得操作集合可相对自由地演化。其本质是预留通路,回调实现。它的实现主要就是通过预先定义好调用的通路,在被访问的对象上定义accept方法,在访问者的对象上定义visit方法;然后在调...
2018-08-08 09:44:42
142
转载 设计模式之原型模式
原文来自battcn定义原型模式(Prototype Pattern)是创建模式的一种,其作用是提高创建效率,减少计算机资源开销,与工厂模式类似的是,都屏蔽了对象实例化的过程…UML类图从上面的UML图可以看出,原型模式涉及到的角色有如下三个:客户端角色:负责创建对象的请求。抽象原型角色:该角色是一个抽象类或者是接口,提供拷贝的方法。具体原型角色:该角色是拷贝的对象,...
2018-08-07 17:07:46
131
转载 设计模式之备忘录模式
原文来自battcn定义备忘录模式(Memento Pattern)属于行为型模式的一种,在不破坏封装特性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样就可以将该对象恢复到原先保存的状态。UML类图角色组成Memento(备忘录角色): 负责存储原发器对象的内部状态,但是具体需要存储哪些数据是由原发器对象来决定的,在需要的时候提供原发器...
2018-08-07 12:18:26
205
原创 设计模式之中介者模式
定义用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显示地相互引用,从而使其耦合松散,而且可以独立地改变他们之间的交互。 通过中介者模式,我们可以将复杂关系的网状结构变成结构简单的以中介者为核心的星形结构,每个对象不再和它与之关联的对象直接发生相互作用,而是通过中介者对象来另一个对象发生相互作用。UML结构图模式结构Mediator(抽象中介者): 定义了同...
2018-08-06 19:02:49
173
转载 设计模式之蝇量(享元)模式
定义通过共享的方式高效地支持大量细粒度的对象。例子景观设计软件项目:现在有一个设计景观展示的项目,项目内部已经有的对象有树,树的属性有年龄,x、y的坐标。现在要表示成一个森林,则需要通过大量的树模拟成森林每一颗树的属性和方法都是相同的,只是值不同传统方法就是定义大量的树对象,当成森林使用时则循环遍历每一颗树的内部方法就行。/** * 传统模式,树的对象,包含树的x,y坐标...
2018-08-06 11:33:23
211
原创 设计模式之职责链模式
定义职责链( Chain of Responsibility )模式也被叫做责任链模式,在《设计模式》属于行为型模式,是一个请求有多个对象来处理,这些对象是一条链,但具体由哪个对象来处理,根据条件判断来确定,如果不能处理会传递给该链中的下一个对象,直到有对象处理它为止。责任链模式将请求和处理分离开来,进行解耦。UML类图具体角色1、抽象处理者( Handler )角色:定义一个...
2018-08-06 10:19:11
182
原创 设计模式之生成器模式
定义 使用生成器模式封装一个产品的构造过程,并允许按步骤构造。举个例子,我们如果构建生成一台电脑,那么我们可能需要这么几个步骤:需要一个主机需要一个显示器需要一个键盘需要一个鼠标需要音响等虽然我们具体在构建一台主机的时候,每个对象的实际步骤是不一样的,比如,有的对象构建了i7cpu的主机,有的对象构建了i5cpu的主机,有的对象构建了普通键盘,有的对象构建了机械键...
2018-08-03 16:56:39
142
转载 设计模式之桥接模式
原文hydraWindy桥接模式定义桥接模式(Bridge Pattern),将抽象部分与它的实现部分分离,使它们都可以独立地变化。更容易理解的表述是:实现系统可从多种维度分类,桥接模式将各维度抽象出来,各维度独立变化,之后可通过聚合,将各维度组合起来,减少了各维度间的耦合。举例理解手机,不同品牌的手机有着类似的功能,假设现在都具有通讯录和游戏功能。或许我们会这样设计实现这...
2018-08-01 18:31:38
335
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人