Q&A(Constantly Updating)

linux、Centos和Ubuntu有什么关系?

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用62616964757a686964616fe4b893e5b19e31333366306532户、多任务、支持多线程和多CPU的操作系统。

而严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。

Linux是开放源代码的,所以网上会出现各种各样的发行版本,Ubuntu Linux就是其中一种。Ubuntu采用Linux内核,图形界面采用GNOME(Kubuntu使用KDE)。

简而言之,Linux系统是个统称,它有Red Hat、Debian、Suse、Ubuntu等发行版本,它们都是用的Linux内核,都是Linux系统。

对于ubuntu而言,就是linux操作系统的具体,而linux对于ubuntu来说就是他的抽象;在linux操作系统中,因为应用程序和管理策略的不同,有多个版本,例如:ubuntu,fedora,redhat,centos等

VPN是什么

虚拟专用网络(VPN)的功能是:在公用网络上建立专用网络,进行加密通讯。在企业网络中有广泛应用。VPN网关通过对数据包的加密和数据包目标地址的转换实现远程访问。VPN可通过服务器、硬件、软件等多种方式实现。

VPN属于远程访问技术,简单地说就是利用公用网络架设专用网络。例如某公司员工出差到外地,他想访问企业内网服务器资源,这种访问就属于远程访问。

在传统的企业网络配置中,要进行远程访问,传统的方法是租用DDN数字数据网)专线或帧中继,这样的通讯方案必然导致高昂的网络通讯和维护费用。对于移动用户(移动办公人员)与远端个人用户而言,一般会通过拨号线路(Internet)进入企业的局域网,但这样必然带来安全上的隐患。

让外地员工访问到内网资源,利用VPN的解决方法就是在内网中架设一台VPN服务器。外地员工在当地连上互联网后,通过互联网连接VPN服务器,然后通过VPN服务器进入企业内网。为了保证数据安全,VPN服务器和客户机之间的通讯数据都进行了加密处理。有了数据加密,就可以认为数据是在一条专用的数据链路上进行安全传输,就如同专门架设了一个专用网络一样,但实际上VPN使用的是互联网上的公用链路,因此VPN称为虚拟专用网络,其实质上就是利用加密技术在公网上封装出一个数据通讯隧道。有了VPN技术,用户无论是在外地出差还是在家中办公,只要能上互联网就能利用VPN访问内网资源,这就是VPN在企业中应用得如此广泛的原因。

转载于:https://baike.baidu.com/item/%E8%99%9A%E6%8B%9F%E4%B8%93%E7%94%A8%E7%BD%91%E7%BB%9C/8747869?fr=aladdin

序列化和反序列化

序列化是指把一个Java对象变成二进制内容,本质上就是一个byte[]数组。 为什么要把Java对象序列化呢?因为序列化后可以把byte[]保存到文件中,或者把byte[]通过网络传输到远程,这样,就相当于把Java对象存储到文件或者通过网络传输出去了。 有序列化,就有反序列化,即把一个二进制内容(也就是byte[]数组)变回Java对象。有了反序列化,保存到文件中的byte[]数组又可以“变回”Java对象,或者从网络上读取byte[]并把它“变回”Java对象。

云计算中的Docker是什么

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发 布到任何流行的 Linux 机器上,也可以实现虚拟化。

首先我们先了解一下什么是容器。如果需要通俗的描述容器的话,我觉得容器就是一个存放东西的地方,就像书包可以装各种文具、衣柜可以放各种衣服、鞋架可以放各种鞋子一样。我们现在所说的容器存放的东西可能更偏向于应用比如网站、程序甚至是系统环境。

假如以现实举例,真实的物理机相当于一栋楼的一户人家有独立花园有独立地基,虚拟机相当于一栋楼包含多套房,一套房一户人家,共享地基,共享花园但有独立卫生间、厨房和宽带,容器相当于一套房隔成多个小隔间,每个小隔间住一个租户,共享花园、地基还共享卫生间、厨房和宽带。

在传统的部署模式下,如果有非常多的服务器,运维工程师需要在每一台服务器上进行相当复杂的操作才能够完成部署。安装->配置->部署。但是Docker的出现颠覆了这种传统的模式。

因为Docker镜像包含了所有的环境依赖关系,可以保证开发与生产环境一致,对于开发和运维工作,Docker技术可以让开发和运维豁免很多预想之外的工作和相互推脱。此外,容器可以重复运行在任何地方,简单化了运维人员的工作 。

Docker的这种在安全、可重复的环境中可移植,跨平台的快速部署软件的方式也方便做持续集成,所以说Docker出现拉开了基于云计算平台发布产品方式的变革序幕,是运维人员的解放,广受开发者和运维人员的欢迎。

目前主流的云服务器平台亚马逊AWS、微软Azure 、阿里云、腾讯云都支持Docker容器服务。

Docker 包括三个基本概念:

镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。

容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设 计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启 动、停止、删除、暂停等。

仓库(Repository):仓库可看着一个代码控制中心,用来保存镜像。 Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。

Docker 容器通过 Docker 镜像来创建。

容器与镜像的关系类似于面向对象编程中的对象与类。

576507-docker1

Docker 镜像(Images)

Docker 镜像是用于创建 Docker 容器的模板,比如 Ubuntu 系统。

Docker 容器(Container)

容器是独立运行的一个或一组应用,是镜像运行时的实体。

Docker 客户端(Client)

Docker 客户端通过命令行或者其他工具使用 Docker SDK 与 Docker 的守护进程通信。

Docker 主机(Host)

一个物理或者虚拟的机器用于执行 Docker 守护进程和容器。

Docker Registry

Docker 仓库用来保存镜像,可以理解为代码控制中的代码仓库。提供了庞大的镜像集合供使用。一个 Docker Registry 中可以包含多个仓库(Repository);每个仓库可以包含多个标签(Tag);每个标签对应一个镜像。通常,一个仓库会包含同一个软件不同版本的镜 像,而标签就常用于对应该软件的各个版本。我们可以通过 <仓库名>:<标签> 的格式来指 定具体是这个软件哪个版本的镜像。如果不给出标签,将以 latest 作为默认标签。

Docker Machine

Docker Machine是一个简化Docker安装的命令行工具,通过一个简单的命令行即可在相应的平台上安装Docker,比如VirtualBox、 Digital Ocean、Microsoft Azure。

转载于:https://xueqiu.com/1097649362/150373215

微服务是什么

转载于:https://www.jianshu.com/p/39c1e4ec0d63

python的网络爬虫框架:flask

为什么网页都可以看到源代码

只是你以为你看到的是源代码而已!

你现在从钱包里掏出一张人民币,现在这张人民币的各种信息你都可以想办法检查出来。但是,你能造得出一张人民币么?你不能!

除非你有专门的机器,专门的纸张油墨,专门的技术流程。这些才是源代码,那一张人民币本身并不是。所以我们从网页看到的源代码并不能修改。

转载于:https://www.zhihu.com/question/359495945/answer/1021670259?utm_source=wechat_session&utm_medium=social&utm_oi=1010838166646865920&utm_content=group3_Answer&utm_campaign=shareopn

树莓派可以做什么

树莓派是尺寸仅有信用卡大小的一个小型电脑,您可以将树莓派连接电视、显示器、键盘鼠标等设备使用。

树莓派能替代日常桌面计算机的多种用途,包括文字处理、电子表格、媒体中心甚至是游戏。并且树莓派还可以播放高至1080p的高清视频。

我们希望将树莓派推广给全世界的青少年电脑爱好者,用于培养计算机程序设计的兴趣和能力。

 脚本是什么

“脚本”其实就是一段代码,一个程序。这与我们学习C语言时,写的第一个“hello world”显示程序没有太大的区别,那为什么这个向程序之神打招呼的“hello world”程序我们不称其为脚本呢?

因为“脚本”有这些特别之处:

1、脚本语法比较简单,比较容易掌握。

2、脚本与应用程序密切相关,所以包括相对应用程序自身的功能。

3、脚本一般不具备通用性,所能处理的问题范围有限。

编写脚本的语言被称之为脚本语言,是解释型语言,常见的脚本语言有PHP、Python、Javascript等。

脚本语言是由应用程序提供,例如浏览器的脚本语言“Javascript”。

总之,脚本就是应用于某个应用程序的一段通俗易懂的解释型代码,运行脚本能实现对应用程序的一些操作。

其他参考链接:(23 封私信 / 69 条消息) 如何用通俗易懂的语言解释脚本(script)是什么? - 知乎 (zhihu.com)

maven仓库作用?

maven的工作需要从仓库下载一些jar包,如下图所示,本地的项目A、项目B等都会通过maven软件从远程仓库(可以理解为互联网上的仓库)下载jar包并存在本地仓库,本地仓库 就是本地文件夹,当第二次需要此jar包时则不再从远程仓库下载,因为本地仓库已经存在了,可以将本地仓库理解为缓存,有了本地仓库就不用每次从远程仓库下载了。

下图描述了maven中仓库的类型:

  •  本地仓库 :用来存储从远程仓库或中央仓库下载的插件和jar包,项目使用一些插件或jar包,优先从本地仓库查找默认本地仓库位置在 ${user.dir}/.m2/repository,${user.dir}表示windows用户目录。

   

  • 远程仓库:如果本地需要插件或者jar包,本地仓库没有,默认去远程仓库下载。

    远程仓库可以在互联网内也可以在局域网内。

  • 中央仓库 :在maven软件中内置一个远程仓库地址http://repo1.maven.org/maven2 ,它是中央仓库,服务于整个互联网,它是由Maven团队自己维护,里面存储了非常全的jar包,它包含了世界上大部分流行的开源项目构件。

 

首先要了解,配置maven项目的方便之处在于不需要导入多个jar包,它是将jar包放在统一的库中,有中央仓库和本地仓库,中央仓库就是从网站上根据架包的坐标来导入相应的架包,这个要需要网来下载,那么在无网的情况下我们就要导入一个本地仓库,本地仓库就是放入所需架包的仓库文件。

本地仓库 :用来存储从远程仓库或中央仓库下载的插件和jar包,项目使用一些插件或jar包,优先从本地仓库查找
默认本地仓库位置在 ${user.dir}/.m2/repository,${user.dir}表示windows用户目录。

远程仓库:如果本地需要插件或者jar包,本地仓库没有,默认去远程仓库下载。
远程仓库可以在互联网内也可以在局域网内。

中央仓库 :在maven软件中内置一个远程仓库地址 http://repo1.maven.org/maven2 ,它是中央仓库,服务于整个互联网,它是由Maven团队自己维护,里面存储了非常全的jar包,它包含了世界上大部分流行的开源项目构件。

本地仓库的配置
1.从仓库中下载jar包,将 “repository.rar”解压至自己的电脑上,解压在F:\develop\maven\repository
在这里插入图片描述
2.在MAVE_HOME/conf/settings.xml文件中配置本地仓库位置:
在这里插入图片描述

转载于:maven仓库的作用以及仓库的分类 - wyhluckydog - 博客园 (cnblogs.com)

Maven仓库的作用及本地仓库的配置_咖喱辣椒-CSDN博客

Tomcat作用

tomcat是一个中间件,在B/S架构中,浏览器发出的http请求经过tomcat中间件,转发到最终的目的服务器上,响应消息再通过tomcat返回给浏览器。

tomcat所做的事情主要有:开启监听端口监听用户的请求,解析用户发来的http请求然后访问到你指定的应用系统,然后你返回的页面经过tomcat返回给用户。

Apache,Nginx和Tomcat的区别:

Apache全称是 Apache Http Server Project, Tomcat全称是 Apache Tomcat。

Apache和 Nginx用于处理静态资源, tomcat用来处理动态资源。

Apache和Nginx相比,Nginx适合做前端服务器,适合做负载均衡。

一般情况下,使用的时候,都是 Apache+Tomcat一起使用或者 Nginx+tomcat一起使用。

Tomcat:一种web服务器

Tomacat是由Apache推出的一款免费开源的Servlet容器,可实现JavaWeb程序的装载,是配置JSP(Java Server Page)和JAVA系统必备的一款环境。

Tomcat不仅仅是一个Servlet容器,它也具有传统的Web服务器的功能:处理Html页面。但是与Apache相比,在处理静态Html上的能力略逊一筹。

  • Apache是Web服务器,侧重于HTTP Server,但本身只支持Html静态网页,对ASP、PHP、JSP等动态网页就不行。
  • Tomcat是应用(Java)服务器,可以认为是Apache的扩展,但它可以独立于Apache运行,支持JSP和Servlet。
  • Apache可以单向连接Tomcat,访问Tomcat资源,反之则不行,但它们可在一台服务器上进行集成。

打个比方:Apache是一辆卡车,上面可以装一些东西如html,但是不能装水,要装水必须要有容器(桶),Tomcat就是一个桶(装像Java这样的水),而这个桶也可以不放在卡车上。

参考链接:Tomcat是什么?它有什么作用? - 西部数码资讯门户 (west.cn)

 

posted @ 2020-11-17 13:06  wanpi  阅读(256)  评论(0编辑  收藏  举报