自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(409)
  • 问答 (2)
  • 收藏
  • 关注

原创 深入理解Dockerfile

理解DockerFileDockerFile是用来构件docker镜像的文件,命令参数脚本,定义了镜像创建的一切步骤构件步骤编写一个dockerFile文件docker build 构件为一个镜像docker run 运行镜像docker push 发布镜像(DockerHub,阿里云)DockerFile的指令FROM #基础镜像,一些从这里开始构建MAINTAINER #镜像是谁写的,姓名+邮箱RUN #镜像构建的时候需要运行的命令ADD #步骤:tomc

2020-11-23 11:35:13 322

原创 Docker数据卷容器--实现两个或多个容器之间的数据同步

文章目录什么是容器数据卷实现三个容器之间的数据共享启动一个叫docker1容器依次启动docker2和docker3并用---volumes-from挂载即使删除容器docker1,其他容器的数据还是存在的实现mysql数据共享的方法结论什么是容器数据卷先看下面一副图自己先创造了一个叫centos1的容器,再用–volumes-from命令创建一个叫centos2的容器centos1和centos2实现了数据共享,centos1被称作是数据卷容器,还可以称作父容器==通过volumes fr

2020-11-23 10:51:46 2181

原创 Docker匿名挂载,具名挂载,指定路径挂载,生成镜像挂载

文章目录匿名挂载具名挂载指定路径挂载匿名挂载在-v只写了容器内的路径,没有写容器外的路径。-v 容器内路径 # 匿名挂载docker run -d -P --name=nginx01 -v /etc/nginx nginx# 查看多有的volume 情况docker volume ls具名挂载·所有的docker容器内的卷,没有指定目录的情况下都是在/var/lib/docker/volumes/xxxx/_data下 通过具名挂载可以方便地找到一个卷,大多数情况在使用具名挂载

2020-11-20 14:42:54 1080

原创 Docker容器数据卷

文章目录容器数据卷的产生与含义操作容器卷实战:安装mysql容器数据卷的产生与含义容器数据卷的产生是为了解决:数据都在容器你,如果容器删除,数据就会丢失的问题。所以这里我们使用容器数据卷是为了将数据可持久化。数据就放在容器中的风险是非常大的,删除容器,相当于把数据都删除了,删库跑路。我们希望是mysql数据是可以存储在本地的,而且容器之间需要有一个数据共享的功能。Docker容器产生的数据,同步到本地。所以容器卷技术就相当于目录的挂载,将我们容器内的目录,挂载到liunx上面容器卷增强了容器

2020-11-20 14:07:19 301

转载 docker: Error response from daemon: driver failed programming external connectivity on endpoint lamp

docker: Error response from daemon: driver failed programming external connectivity on endpoint lamp

2020-11-19 19:41:22 861

原创 Docker提交(commit)镜像

文章目录对容器概念的理解Docker提交镜像的基本命令案例:提交一个tomcat镜像容器1、启动一个默认的tomcat2、发现这个默认的tomcat 是没有webapps应用,官方的镜像默认webapps下面是没有文件的!3、从webapps.dist拷贝文件进去webapp4、将操作过的容器通过commit提交为一个镜像!我们以后就使用我们修改过的镜像即可,而不需要每次都重新拷贝webapps.dist下的文件到webapps了,这就是我们自己的一个修改的镜像。对容器概念的理解Docker利用容器技

2020-11-19 17:34:14 931

原创 深入理解Docker镜像

镜像是什么镜像是一种轻量级,可执行的独立的软件包,用来打包软件运行环境和基于运行环境开发的软件,他包含某个软件 所需的所有内容,包括代码,运行时的库和环境变量和配置文件所有的应用直接打包docker镜像,可以直接跑起来得到镜像的方法从远程仓库下载(常用)别人拷贝给你自定义一个镜像DockerFile镜像的特点:Docker镜像都是只读的,当容器启动时,一个新的可写层被加载到镜像的顶部!这一层就是我们通常说的容器层,容器下的都叫镜像!Docker镜像的加载原理联合文件系统(u

2020-11-19 16:07:24 330

转载 docker: invalid reference format.

docker: invalid reference format.

2020-11-19 15:14:19 521

原创 怎么用docker安装nginx

搜索镜像docker search nginx下载镜像docker pull nginx运行测试 docker run -d --name nginx01 -p 3344:80-d 后台运行–name 为容器命名-p 宿主机端口,容器内部端口curl localhost:3344测试成功

2020-11-17 21:39:18 141

原创 必须知道的Docker的常用命令

文章目录帮助命令docker versiondocker infodocker 命令 --help镜像命令docker images(查看所有本地的主机上的镜像)docker search (搜索镜像)docker pull(拉取镜像)docker rm ( 删除镜像)容器命令docker runexit(容器停止并退出到主机)Ctrl + p +q(容器不停止退出)docker ps(查看有哪些容器正在运行)docker rm( 删除容器)其他容器命令常用的其他命令docker run -d 镜像名(后台

2020-11-17 18:34:14 559

原创 Docker的理解和安装详细过程

Docker的理解总结一下就这三点不同的应用程序会有不同的应用环境,会造成一些冲突,需要彼此之间的隔离,如果用虚拟机来隔离,开销较大,于是产生了docker容器docker可以把开发环境之间封装给运维,直接省去了跨平台的问题docker比虚拟机更加能充分利用内存镜像(image)docker镜像好比是一个模板,可以通过这个模板来创建容器服务,tomcat镜像 可以创建tomcat1 ,tomcat2…可以创建多个容器(最终服务器运行或者项目运行就是在这个创建的容器中)容器(count

2020-11-17 16:02:20 165

原创 观察者模式的理解以及在前端的广泛应用

文章目录观察者模式的理解js代码应用场景事件绑定Promise观察者模式的理解观察者模式(Observer):定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动更新发布 订阅一对多关系(1:n)//n可以是1左侧是观察者,被定义好后等待被触发,触发就执行update(),右侧的subject是一个被观察者,他可以被多个观察者观察,当它的状态改变时,所有观察它的观察者都会触发update()方法,知道它的状态已经改变js代码// 被观察者

2020-11-03 18:47:17 706

原创 js代理模式理解和应用场景

文章目录代理模式的理解类图传统类图简化js类图js代码代理模式在前端的使用场景网页事件代理jQuery的$.proxyES6的Proxy语法总结代理模式的理解Proxy(代理模式):为其他对象提供一种代理以控制这个对象的访问使用者无权访问目标对象中间加代理,通过哦代理做授权和控制比方:比如买火车票这件小事:黄牛相当于是我们本人的的代理,我们可以通过黄牛买票。通过黄牛买票,我们可以避免与火车站的直接交互,可以省很多事,并且还能享受到黄牛更好的服务(如果钱给够的话)类图传统类图顶层有

2020-11-02 11:38:57 732

原创 ES7装饰器语法

文章目录装饰类初识简单用lol皮肤概念于装饰器模式装饰方法案例1:修改方法的特性案例二:为添加日志装饰类ES7的装饰器完全是在装饰器模式的基础上产生的,关于装饰器模式,可以点击这里先理解一波。初识下面直接看Demo装饰Demo@testDec // testDec是一个函数class Demo{}function testDec(target){ //这里的target就是Demo target.isDec = true //添加一个装饰的属性}alert(Demo.

2020-10-30 13:10:15 1097

原创 装饰器模式-从java代码到javascript的深入理解

装饰器模式的理解动态地给一个对象添加一些额外的职责,他提供了用子类扩展功能的一个灵活的替代,比派生一个子类更加灵活(附加职责)总结下来就下面两点:为对象添加新功能不改变其原有的结构和功能打一个比方就更好理解了:你的手机和手机壳的关系在java中的实现传统UML类图对类图的理解:构件作用Component,抽象构件Component是一个接口或者抽象类,是定义我们最核心的对象,也可以说是最原始的对象,比如上面的肉夹馍。ConcreteComponent

2020-10-29 11:35:34 243

原创 计算机组成原理-深入了解计算机的指令

文章目录指令的基本概念寻址方式指令系统的分类CISC,RISC指令的基本概念一条指令就是机器语言的一个语句,它是一组有意义的二进制代码,指令的基本格式如下;操作码部分指出了计算机要执行什么性质的操作,如加法,减法,取数,存数等。地址码字段需要包含个操作数的地址及操作结果的存放地址等,从其地址结构的角度可以分为三地址指令,二地址指令和零地址指令如果是要运算a+b,可以用三地址指令:op存放加法号,其余的三个地址存放a b c(放结果)。也可以用只用两个地址,结果直接放在a,不要c寻址方

2020-10-28 16:45:31 795

原创 计算机组成原理-计算机的结构及体系结构的分类

文章目录计算机的组成运算器控制器计算机体系结构的分类 -- Flynn计算机的组成计算机的五大部件:存储器,运算器,控制器,输入输出设备,存储器又分为主存(我们通常将的内存)和辅存(外存储器)。我们通常所说的主机是由运算器,控制器,主存储器组成,通常所说的cpu是由控制器和运算器组成的运算器运算器的主要功能是算术运算和逻辑运算运算器又由以下四个部分组成|:算术逻辑单元ALU:负责主要的运算累加寄存器AC:它的主要功能是给ALU提供一个工作区,临时计算的结果存储数据缓冲寄存器DR:

2020-10-27 17:02:23 802

原创 计算机组成原理-数值所能表示的范围和浮点数的运算

文章目录数值范围表定点整数定点小数浮点数浮点数的表示运算过程浮点数的特点浮点数的范围数值范围表上面这张表是不用硬记的,下面方法告诉你这么记定点整数小数点是固定的,固定小数点在数的最右边,小数点不站位数以4位机器字长的二进制表示为例最大的整数为:0111最小的负数为:1111所以它的原码的表示范围为注意:补码和移码比原码和反码少一个数 负0所以补码和移码范围相对大一定点小数小数点在符号为的右边,小数点不占位数浮点数浮点数的表示贼好理解,就是和数学学的科学计数法

2020-10-27 16:39:26 1217

原创 js适配器模式从java代码到js的简化及在前端编程中应用

适配器模式的定义与理解将一个接口转换成客户希望的另一个接口,使接口不兼容的那些类可以一起工作,其别名为包装器(Wrapper)。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。在适配器模式中,我们通过增加一个新的适配器类来解决接口不兼容的问题,使得原本没有任何关系的类可以协同工作。适配器经典的一个理解例子如下:旧的插座接口不兼容,加一个适配器适配,使得能供电传统类图和java代码理解目标接口(Target):客户所期待的接口。目标可以是具体的或抽象的类,也可以是接口。需要适

2020-10-27 15:45:49 197

原创 策略模式-js和java代码深刻理解

策略模式的定义策略模式(Strategy):定义一系列的算法,把它们一个个封装起来,并且使它们之间可互相替换,从而让算法可以独立于使用它的用户而变化(多方案切换),对于不同策略的分开处理策略对于实际情况:可以避免出现大量的if…else或者switch…case策略模式的java代码理解抽象策略角色这个是一个抽象的角色,通常情况下使用接口或者抽象类去实现。对比来说,就是我们的Comparator接口。具体策略角色包装了具体的算法和行为。对比来说,就是实现了Comparator接口的实现一组实

2020-10-26 22:40:45 116

原创 软考-程序设计语言与语言处理基础

编译过程对于高级程序的处理,往往有两种方式,解释型和编译型。解释型:你敲一行代码回车,后台直接帮你运行了,编译就是将所有的程序代码写完后,再一整个编译编译型编译流程词法分析,看你的程序关键字有没有写对语法分析,你的每个词是对的,但是词连起来所表示的意思不对,或缺符号语义分析:你的循环是不是死循环,或者除法的分母是零,只能分析一部分的错误中间代码生成代码优化目标代码生成文法定义有限自动机与正规式(重点)有限自动机正规式D C表达式主要是结合树的遍历D

2020-10-25 13:39:10 287

原创 软考-计算机网络的七层模型和网络协议

OSI/RM七层模型物理层的中继器,主要作用是延长信息的传送,相当于以前的烽火台数据链路层的网桥是链接两个同类型的网络设备,交换机也是连接多个设备网络层的路由选择这一步相当重要,没有路径选择性能会降低传输层的量大协议 TCP , UDP这题主要考察局域网只能达到数据链路层,它的主要设备是交换机,网桥等。只要跨越网络层就不是同一个局域网了网络技术标准与协议TCP/IP协议族ICMP协议:称为英特网的控制协议,ping命令来自于此ARP和RAP:地址解析和反向地址解析协议TCP:

2020-10-25 12:49:59 676 2

原创 软考-UML建模的几大建模图形总结

文章目录用例图类图与对象图顺序图活动图带泳道的活动图状态图(动态图)通信图(协作图)用例图包含关系是一个用例的使用必须在另一个用例的基础上产生,此用例不能独立存在扩展关系和包含关系的区别就是扩展关系的用例能够独立存在,还可以扩展其他用例类图与对象图多重度关系顺序图写在顶端的三个是对象,对象一般会引出一条生命线,用虚线表示。对象之间的调用时以发送信息的形式表示,用箭头表示,一个箭头代表一个消息顺序图最大的特点是表现出了处理事务时候的时间顺序如何,考察的时候最喜欢考察消息的情况

2020-10-25 12:12:38 850

原创 软考-数据流图(DFD)

文章目录数据流图的基本概念数据流图的分层数据字典数据流图平衡原则父图与子图之间的平衡子图内的平衡数据流图的答题技巧数据流图的基本概念在需求分析阶段必须要用到的工作,又被称为分层数据流图,在软考中下午大题占15分元素说明图元数据流由一组固定成分的数据组成 表示数据的流向加工加工描述了输入数据流到输出数据流之间的变换,也就是输入数据流做了什么处理后变成了输出数据流数据存储 (文件)用来表示暂时存储的数据,每个文件都有名字 ,流向文件的数据

2020-10-25 11:22:22 2187

原创 软考-数据结构所有知识点总结

数组是个程序员就不用多啰嗦了稀疏矩阵所谓的稀疏矩阵,就是当前矩阵中的大量元素是0或者是大量元素是同一个值,这时候我们只用存储一少部分不同的值。节省了空间例题用代入法代入排除选项线性表顺序表开辟连续的存储空间,采用一维数组的形式存链表开辟离散的空间,每一个节点分为数据域和指针域单链表删除节点p->next = q->next插入节点s-next = p->next;p->next =s;单链表有头结点的有优点有头节点可

2020-10-24 12:25:17 996 1

原创 软考-面向对象基本概念和23种设计模式的理解

面向对象的基本概念关键词解析对象属性(数据)+方法(操作)+对象ID类实体类ER/控制类MVC的控制器、边界类,对对象的抽象,具有相同属性对象的集合继承与泛化复用机制封装隐藏对象的属性和实现细节,仅对外开放接口多态不同对象收到同样的消息产生不同的结果(离不开继承,一般呈现在运行时接口一种特殊的类,他只有方法定义没有实现重载一个类可以有多个同名而参数类型不同重写子类对父类的方法进行重写模板类提供一个产类的模型消息和消

2020-10-22 17:29:45 1150

原创 单例模式java代码和js代码对比,以及应用

文章目录单例模式含义单例模式的UML类图及解析代码先用java代码理解一下单例模式的ES6写法应用场景登录框逻辑单例模式含义所谓的单例,就是一个类智能初始化一个实例,而且在系统中被唯一使用,比如一个网站再怎么复杂也只有一个登录框单例模式的UML类图及解析instance前面的减号代表是不能被外部访问的是私有的,-SingleObject是一个私有的构造函数,也是不能被外部访问的。满足了一个类只有一个实例的要求。下面的+getInstance就是返回实例了,+号代表public所以单例模式需要

2020-10-22 14:13:16 247

原创 软考-软件维护

文章目录软件维护可维护性的因素软件的维护类型软件文档的管理软件质量保证软件过程改进十大知识领域时间管理-横道图时间管理-关键路径法时间管理- 箭线图法风险管理软件维护软件维护是生命周期的一个完整的部分,可以将软件维护定义为需要提供软件支持的全部活动,这些活动包括在交付前完成的活动,以及交付后完成的活动,交付前完成的活动包括交付后运行的计划和维护计划等;交付后的活动包括软件修改,培训,帮助资料等可维护性的因素可理解性可测试性可修改性软件的维护类型适应性维护:指使应用软件适应信息技术

2020-10-21 22:52:57 1159

原创 js工厂模式在jquery,vue,react中的应用

工厂模式定义工厂模式是我们最常用的实例化对象模式了,是用工厂方法代替new操作的一种模式,工厂模式就相当于创建实例对象的new工厂模式的UML类图上面的Creatot类就相当于工厂,Product相当于工厂中的产品上图中Profuct类是产品,有name属性,还有三个方法,Creator是工厂类,里面有一个create方法,注意它的返回类型是Product类型代码// 工厂模式class Creator{ create(name){ return new

2020-10-21 20:48:15 737

转载 Error: Cannot find module ‘webpack/bin/config-yargs‘ 报错原因, webpack@4.X踩的坑~

转载地址

2020-10-21 16:35:10 130

原创 软考-系统开发基础-软件测试

文章目录软件测试黑盒测试等价类划分边界值分析白盒测试软件测试的阶段单元测试集成测试确认测试系统测试McCabe复杂度(环路复杂度)软件测试测试的原则软件测试分为静态测试和动态测试动态测试:需要将被测试的系统在计算机上跑起来静态测试:不需要测试系统跑起来具体如下黑盒测试黑盒测试法就是将一个软件模块看做一个黑盒子,我们看不到黑盒子里面有什么东西,我们只知道输入输出,和它的功能等价类划分看看程序模块的功能是什么,程序的那种数据是可以划分为一类的比如一个程序模块是要将90分以

2020-10-20 20:09:12 571

原创 软考-系统开发基础(软件的开发方法)

文章目录软件的开发方法结构化方法面向对象的方法面向服务的开发方法原型化的开发方法需求分析需求的任务需求的过程需求的分类应用的工具软件设计软件设计的任务与活动模块的设计原则应用的工具软件的开发方法结构化方法是一种面向数据流的方法,基于分解和抽象的原则,形成数据流图,自顶向下,逐布分解,不适合开发大型的复杂的方法。用户至上,严格区分工作阶段结构化方法用的越来越少,最大的问题就是他的流程是不灵活的面向对象的方法主要考虑的是复用性,关键在于建立一个全面合理统一的模型面向服务的开发方法主要

2020-10-20 17:27:25 789 2

原创 软考-系统开发基础(九大模型和敏捷化开发)

文章目录软件开发模型瀑布模型V模型喷泉模型原型化模型,演化模型,增量模型螺旋模型RAD快速开发模型构件组装模型(CBSD)敏捷化的开发方法软件开发模型瀑布模型瀑布模型把软件开发分成了三个阶段,定义阶段,开发阶段,维护阶段。各个阶段又有具体步骤,每个步骤都会有产出成果。比如需求分析步骤会产生需求规格说明书。适用于需求比较没明确的项目。瀑布模型最大的缺点就是对需求的变化无法做出应对V模型v模型很注重测试。单元测试主要测试编码,以详细设计为依据,集成测试测试的是详细设计,以概要设计为依据,系统

2020-10-20 17:20:46 693

原创 软考数据库-所有知识复习总结

个人博客文章目录三级模式-两层映射数据库的设计过程ER模型ER模型-1对1的联系ER模型-1对n(多)的联系ER模型-m(多)对n(多)的联系E-R模型特点总结关系代数并,交,差运算笛卡尔集投影选择自然连接规范化理论规范化理论的产生规范化理论-依赖规划化理论-键求候选键规范化理论的主属性和非主属性规范化理论-范式规范化理论模式分解无损分解sql语句插入,修改并发控制数据库完整性约束三级模式-两层映射所谓的三级模式为外模式,概念模式,内模式。外模式又被称为用户模式,让用户和引用程序打交道,.

2020-10-19 21:46:49 3749

原创 用nodejs-websocket开发一个极简聊天室

前言前面我学习怎么用nodejs-websoket开发一个服务,接下来承接前面的学习,我们一起用其搭建一个简单的聊天室实现聊天室先创建一个文件夹,并用npm 安装nodejs-websocketnpm install nodejs-websocket在文件下创建app.js文件// 导入nodejs-websocket包// const { conn } = require('http2')const ws = require('nodejs-websocket')const PO

2020-10-18 09:17:40 333 3

原创 用nodejs-websocket开发一个websoket服务

再一次理解WebSoketwebsoket协议含有websoket API接口,通过它来建立全双工通道来收发消息,连接远程服务器,只需要创建一个WebSocket对象实体,并传入一个服务端的URL。在客户端和服务端一开始握手的期间,http协议升级到WebSocket协议就建立了连接,底层都是TCP协议。一旦建立连接,通过WebSocket接口可以反复的发送消息。在你的代码里面,你可以使用异步事件监听连接生命周期的每个阶段。这里的nodejs-websoket是对websoket API的再一次封装

2020-10-18 08:56:45 381

原创 GET file:///socket.io/socket.io.js net::ERR_FILE_NOT_FOUND

<script src="/socket.io/socket.io.js"></script>

2020-10-15 21:04:46 1190

原创 什么是WebSocket,以及H5中websocket的简单应用

WebSocketWebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket通信协议于2011年被IETF定为标准RFC 6455,并由RFC7936补充规范。WebSocket API也被W3C定为标准。WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。HTML5定义了WebSocket协议,能更好的节省服

2020-10-15 14:43:16 455

原创 理解BFC,以及学会BFC的三大应用

什么是BFCBFC的目的就是形成一个完全独立的空间,让空间中的子元素不会影响外面的元素。如何形成BFC(触发规则)为元素设置一些css属性float 不为 boeposition 不为 relative 和staticoverflow 为 autodisplay 的值为table-cell 或 inline - blockBFC的应用解决浮动元素令元素高度塌陷的问题假设一个页面有四个子元素,他们的高度本来是撑开父元素的高度的。当他们都设置为浮动时,会呈现高度塌陷问题如下:原因

2020-10-15 10:38:50 194

原创 操作系统-存储管理所有知识点整理复习

个人博客文章目录页式存储组织如何通过逻辑地址求物理地址段式存储段页式存储快表页面置换算法最优算法(opt)随机算法(RAND)先进先出算法(FIFO)最近最少使用算法(LRU)经典例题磁盘管理磁盘的调度算法先来先服务(FCFS)最短寻道时间优先(SSTF)扫描算法(SCAN)循环扫描算法(CSCAN)例题页式存储组织页式存储:将程序与内存划分为同样大小的块,以页为单位将程序调入内存、如上图:页式存储管理将程序和内存都划分成了同样大小的块之后,就需要页表来记录他们的对应关系了逻辑地址 = .

2020-10-14 21:27:14 1085

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除