- 博客(216)
- 资源 (6)
- 收藏
- 关注
转载 设计模式之装饰器(Decorator)
此处生成了两个,一个是加奶的装饰者,另一个是加糖的装饰者。第三步:构建装饰者抽象基类,它要实现与原始对象相同的接口ICoffee,其内部持有一个ICoffee类型的引用,用来接收被装饰的对象。原味咖啡是本质,而加奶,加糖都是在装饰这个本质的东西,再怎么加东西咖啡还是咖啡。当你你需要原味咖啡时那就生成原味咖啡的对象,而当你需要加奶咖啡时,仅仅需要将原味咖啡对象传递到加奶装饰者中去装饰一下就好了。如果你加了奶还想加糖,那就把加了奶的咖啡对象丢到加糖装饰者类中去装饰一下,一个先加奶后加糖的咖啡对象就出来了。
2023-11-07 22:06:50
68
转载 微服务概念
https://martinfowler.com/articles/microservices.htmlhttps://blog.cuicc.com/blog/2015/07/22/microservices/
2023-10-23 16:51:42
67
原创 7.Ansible Modules介绍
Ansible Modules介绍,什么是Modules,常用的Modules有哪些,以及相关Modules的用法例子
2023-05-30 17:08:06
799
原创 4.Ansible Inventory介绍及实战 - A list or group of lists nodes
Ansible Inventory介绍以及用法
2023-05-26 15:46:12
897
原创 3.复制Centos虚拟机并且安装Ansible
VirtualBox复制CentOS虚拟机、修改hostname、hosts文件、安装Ansible
2023-05-26 11:51:50
939
原创 1. Ansible介绍,什么是Ansible?Ansible能用来做什么?
Ansibke介绍,什么是Ansible?Ansible能用来做什么?
2023-05-25 16:02:55
1903
原创 使用ChatGPT学习 - cer和pem的区别、pem转换成cer方法、PEM (cert) 和 PEM (chain)下载方式的区别、检查cer文件的format
使用ChatGPT快速了解自己从来没有了解过的相关概念,真的大大提高工作效率。
2023-04-07 17:18:41
1864
1
原创 text/plain 和application/json区别、Get参数带有特殊字符,需要encode、encodeURIComponent和encodeURI的区别
如果用text/plain返回: 每个反斜杠/之前都会自动给加上一个正斜杠。As application/json: 不会自动加。
2023-03-31 15:55:47
4790
原创 package.josn中^和~的区别
npm包的版本格式:比如1.2.2,遵循“大版本.次要版本.小版本“的格式规定,安装时只安装指定版本。^ 大版本保持不变,次要版本.小版本保持最新。例如:^1.2.2,每次npm install的时候,会保持1版本不变,但是会安装当前1版本里面最新的次版本和小版本。~ 大版本和次要版本保持不变,小版本保持最新。例如:~1.2.2,每次npm install的时候,会保持1.2版本不变,但是会安装当前当前1.2版本里面最新的小版本。......
2022-04-15 17:59:36
332
原创 FTP主动模式(passive)和被动模式(port)的区别
FTP协议会在客户端和服务端创建两个连接,一个用于命令传输,一个用于数据传输。主动模式和被动模式是面向服务端和数据传输来讲的。对于命令传输,都是客户端主动连接服务端。主动模式:客户端创建一个listen端口,服务端主动连接,建立数据传输通道被动模式:服务创建一个listen端口,客户端主动链接,建立数据传输通道。站在服务端的角度:主动:客户端你来建立端口,我来链接。被动:我建立好端口了,你来连接我。...
2022-03-09 10:34:39
3662
1
原创 ReentrantLock源码阅读、AQS核心原理
1. ReentrantLock源码阅读JDK版本1.8.0_191。2. AQS核心原理3. VarHandler将最新的线程加入等待队列,设置它的前一个节点的时候,会用到VarHandler。JDK1.8没有用,这个是1.9之后才有。1.8是直接使用node.prev = pred;1.8中将当前线程加入等待队列的源码如下:if (pred != null) { node.prev = pred; if (compareAndSetTai
2021-06-19 21:58:53
249
原创 单例模式以及其中的线程安全问题
有一些类,在内存中没有必要存在多个对象。这时候就出现了单例模式。1. 饿汉式使用static保证现成安全,在类加载到内存的时候,进行实例化。/** * 饿汉式 * 类加载到内存后,就实例化一个单例,JVM保证线程安全 * 简单实用,推荐使用! * 唯一缺点:不管用到与否,类装载时就完成实例化 * Class.forName("") * (话说你不用的,你装载它干啥) */public class Mgr01 { private static final Mgr01 INSTAN
2021-06-09 18:16:33
566
3
原创 理解Https
一次网络的请求,会经过很多的中间人,比如路由器,猫,网络运营商的基站等等。如果使用HTTP这些中间人,是可以直接查看浏览器和服务器之间的数据的,相当于在裸奔。以前在网络监管没有那么严格的时候,xx公司就会在服务器返回给客户端的数据上面添油加醋,比如说返回的网页上面加入广告,让你冲话费啥的。。。思考:怎么保证这些中间人不能查看客户端和服务器之间的数据?加密。用一个只有客户端和服务器知道的密码对数据进行加解密。中间人不知道密码,即使截获到了数据,也是一堆乱码,也不能进行查看修改。记得上大学的时候,到银行
2021-05-23 19:59:07
249
1
转载 SSL Certificates – Standards, formats and file extensions: PEM, CER, CRT, DER, P7B, PFX, P12
https://www.ryadel.com/en/ssl-certificates-standards-formats-extensions-cer-crt-key-pfx-pem-p7b-p7c-pfx-p12/
2021-05-21 16:33:23
121
原创 记一次CA证书的申请、服务器上的部署过程
1.简介最近用docker在liberity服务器上部署了一个应用。由于安全方面的考虑,服务器管理员需要我们启用https连接。这就需要我们去给liberity配置ssl证书。2.步骤1.申请CA证书申请CA证书需要证书请求文件,需要在Server端生成。可以在server端用openssl命令生成。证书请求文件里面包含的是server的public key。下面的命令生成了一个glz7plpsc.pok.ibm.com.key,这个就是服务器的私钥。glz7plpsc.pok.ibm.com.
2021-05-21 14:18:43
2711
转载 OpenSSL – How to convert SSL Certificates to various formats – PEM CRT CER PFX P12 & more
https://www.ryadel.com/en/openssl-convert-ssl-certificates-pem-crt-cer-pfx-p12-linux-windows/
2021-05-21 10:56:35
172
原创 记一次docker部署web应用实战(Docker + MongoDB + Liberity)
最近项目中有一个搜集用户feedback的功能,用户通过回答一些问题给我们提供feedback。feedback的数据会以json文件的格式通过邮件发送给我们。但是这些json文件如何进行保存是一个问题。于是后面我们又单独基于MongoDB和liberity(Web应用服务器,相当于Tomcat)开发了一个简单的应用,提供了文件的上传、导出、查看等功能。当我们收到这些json文件后,通过上传功能,将json文件中的数据,存储在MongoDB中。同时可以从mongodb中以文件的形式导出feedback数据
2021-05-12 20:46:27
1046
原创 SSH key的生成,到底是在客户端生成还是在服务端生成?
SSH key是一对公钥和私钥。大部分情况下,都是在客户端生成这对key,然后将public key放到服务端。然后客户端就可以免密登录服务器了。(大多数情况都是使用的这种方法)但是,其实也是可以在服务端生成这对key的,然后将private key放到客户端。这样客户端也可以直接连接服务端。其实这两种方法没什么区别。在进行验证的时候,客户端拿着的都是私钥,服务端拿着的是公钥。ssh key只不过是两个文件而已,在哪生成没什么区别。只要保证客户端拿着的都是私钥,服务端拿着的是公钥就行。...
2021-05-12 10:29:06
2946
3
原创 Docker常用命令、Docker数据卷、Dockerfile
容器命令:========容器操作相关=========docker run -d --name nginx01 -p 3344:80 nginx // -d表示后台启动nginx,--name表示命名为nginx01,-p容器内部端口80映射到主机端口3344(这样通过3344就能够访问容器里面的nginx服务)docker run -it -rm tomcat // (启动一个tomcat,-rm参数表示的是容器停止之后,容器数据以及镜像都会被自动全部删掉,不建议使用这种方式) docke
2021-03-13 17:44:57
244
原创 16.控制转移指令(条件跳转指令、比较条件跳转指令、多条件分支跳转指令、无条件跳转指令)
目录1.控制转移指令1.1 条件跳转指令1.2 比较条件跳转指令1.3 多条件分支跳转指令1.4 无条件跳转指令1.控制转移指令控制转移指令分为如下图所示的5种,其中比较指令在算术指令中描述过。1.1 条件跳转指令条件跳转指令一般和比较指令结合使用。在条件跳转指令执行前,一般先用比较指令进行栈顶元素的准备,然后进行条件跳转。条件跳转指令:弹出栈顶元素,测试它是否满足某一条件,如果满足,则跳转到指定位置。如下图表中所示,是条件跳转指令包括的指令。注意:a) byte、short、ch
2021-01-05 20:40:57
4005
原创 15.操作数栈管理指令
目录1.操作数栈管理指令1.操作数栈管理指令用于直接操作操作数栈中的元素。包括pop、dup、swap、nop四种。详细说明:例子:如下图所示,foo函数调用了bar函数,在bar函数返回的时候,返回值会被放入foo函数的栈帧的操作数栈中(需要注意的是:被调用函数的返回值会被放入调用函数的栈帧的操作数栈中),由于函数的返回值0是long类型,所以占用操作数栈的两个solt。foo函数中并没有使用bar的返回值,所以使用的是pop2指令,直接弹出foo操作数栈的两个solt,也就是0。更
2021-01-04 18:38:08
338
JAVA超市收银系统
2015-01-19
学生信息管理系统C++课程设计,适合新手
2014-12-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅