(一)云计算技术学习--基础概念

2023-11-04

目录

Linux的用户管理

Yum 命令

Python

SELinux

vsftpd

etcd

Session、Cookie、Token

LNMP

VMware

Docker

Kubernetes(K8S)


Centos

CentOS(Community Enterprise Operating System,中文意思是社区企业操作系统)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux使用。两者的不同,在于CentOS完全开源

我本地是在VM里安装的Centos,安装的时候最常用的有三种安装方式的选择,最小化安装是不带有任何界面的,但是可以选择配套安装的软件。对于GUI和GNOME,貌似只选择父目录是没什么区别,但是每个父目录下的子目录程序是不一样的。我选择是仅GNOME安装。

最小化安装

 最小化安装了,开机启动是命令行模式,也没关系,可以做如下修改:

1.在命令行下输入下面的命令来安装 Gnome 包

sudo  yum groupinstall "GNOME Desktop" "Graphical Administration Tools"

 2.更新系统的运行级别

自动进入图形界面,那么我们需要更改系统的运行级别,输入下面的命令来启用图形界面。

sudo ln -sf /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target

3.重启系统

当系统再次启动的时候,就会默认进入图形界面

这里注意:如果是最小化安装,那么默认登陆的时候直接可以选择是root登录还是非root登录,只要输入账号就行,但是带有图形化界面的安装,默认登录用户是非root,所以需要切换账号。切换方法:输入英文 su -以及root的密码即可切换为root用户

 Server with GUI

 GNOME

CentOS独有的yum命令支持在线升级,可以即时更新系统,我安装的是CentOS-7-x86_64-DVD-1804,CentOS在在线安装VM Tools的时候遇到一些问题:

1.首先是在现在下,通过虚拟光驱找到VMTools的iso文件位置,双击打开后可以看到

2.将这个压缩包有xftp工具拷贝到虚拟机中的某个目录下,然后运行tar,命令解压

3.如果进入到解压后的路径中,直接运行./vmware-install.pl会遇到各种问题:

bash:./vmware-install.pl :/usr/bin/perl:bad interpreter:No such file or directory

解决办法安装perl

yum -y install perl

What is the location of the “ifconfig” program on your machine?
解决办法,请安装ifconfig,重新执行vmware-install.pl

yum search ifconfig
yum install net-tools.x86_64

The path “” is not a valid path to the 3.10.0-957.el7.x86_64 kernel headers.
Would you like to change it? [yes]
INPUT: [yes] default
运行以下两条命令

yum -y install perl gcc make kernel-headers kernel-devel

yum -y install kernel-devel-$(uname -r)

VMware的网络连接模式有三种:
1、仅主机模式:也就是host_only,这种模式仅仅只让虚拟机与本地物理机通信,不可以上网;


2、NAT模式:这种模式保留仅主机模式的功能下,还能让虚拟机上网;

虚拟机在物理机的一个子网中,虚拟机的地址是内网地址,虚拟机所有上网都是借助物理机NAT功能把内网IP转换成外网IP,因此对外面网络上花花绿绿的机器来说,看到的永远只是外网IP。

类似于我现在一个笔记本、一个手机都是通过家用路由器上网,一个192.168.1.2,一个192.168.1.3,但是对百度来说,它所看到的源IP绝对不是这个,而是经过路由器转换后的电信提供的公网IP。百度无法从这一个IP判断是我的笔记本还是手机在上网。

NAT模式下注意问题:

  • 虚拟机和电脑主机是可以互相ping通的,如果电脑主机可以ping通虚拟机,但是虚拟机不可以ping通电脑主机,那么多数情况是电脑主机的防火墙打开了,进行关闭即可。

  • 虚拟机不能ping通互联网外网的ip。

设置虚拟NAT网卡的网关地址和本机虚拟网卡的网关地址一样,设置虚拟机的网络配置

 

  • 可以ping通外网的ip但是ping不通域名

在/etc/resolv.conf文件里追加以下内容:


3、桥接模式:直接让虚拟机使用本地主机的网卡上网。

虚拟机和物理机同等地位,相当于你同事和你的电脑,物理机上虚拟网卡VM0相当于交换机(集线器),一头连到了家用路由器,另外N头接所有需要上网的电脑。所以虚拟机的网络配置和物理机保持一模一样。

Linux的用户管理

配置文件:

用户信息文件:/etc/passwd
密码文件:/etc/shadow
用户组文件:/etc/group
用户组密码文件:/etc/gshadow

/etc/passwd   文件格式解析(7个字段)

root:x:0:0:root:/root:/bin/bash

用户名:密码位:UID(用户标识号):GID(缺省组标识号):描述信息:宿主目录:命令解释器(使用的 shell,默认为bash)

Linux用户的分类:

  • 超级用户:(root,UID=0)
  • 普通用户:(UID在500到60000)
  • 伪用户:(UID在1到499)

伪用户:

1、伪用户与系统和程序服务相关

    bin、daemon、shutdown、halt等,任何Linux系统默认都有这些伪用户

    mail、news、games、apache、ftp、mysql及sshd等,与Linux 系统的进程相关

2、伪用户通常不需要或无法登录系统

3、可以没有宿主目录

/etc/group 文件格式  共4个字段

root:x:0:root

sys:x:3:root,bin,adm

组名:组密码位:GID:组成员(组内所有用户列表,用逗号隔开)

用户和组管理的命令详解

RPM命令

在 Linux 操作系统下,几乎所有的软件均通过RPM 进行安装、卸载及管理等操作。RPM 的全称为Redhat Package Manager ,是由Redhat 公司提出的,用于管理Linux 下软件包的软件。Linux 安装时,除了几个核心模块以外,其余几乎所有的模块均通过RPM 完成安装。RPM 有五种操作模式,分别为:安装、卸载、升级、查询和验证。

rpm -qa | grep tomcat4 查看 tomcat4 是否被安装;
rpm -i example.rpm 安装 example.rpm 包;

rpm -e 需要卸载的安装包
在卸载之前,通常需要使用rpm -q …命令查出需要卸载的安装包名称。
举例如下:
rpm -e tomcat4 卸载 tomcat4 软件包

Yum 命令

yum( Yellow dog Updater, Modified)是一个在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端软件包管理器。基于 RPM ( Red-Hat Package Manager 红帽软件包管理器 )包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装,可以是在线版,也可以是本地版。

yum 提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

yum 语法

yum [options] [command] [package ...]
  • options:可选,选项包括-h(帮助),-y(当安装过程提示选择全部为 "yes"),-q(不显示安装的过程)等等。
  • command:要进行的操作。
  • package:安装的包名。

Python

Linux下源码的安装一般由3个步骤组成:配置(configure)、编译(make)、安装(make install),具体的安装方法一般都会给出文档,这里主要讨论配置(configure)。Configure是一个可执行脚本,它有很多选项,在源码路径下使用命令./configure –help输出详细的选项列表,如下:


很多的选项,你可以忽略其他的一切,但请把--prefix加上。这里以安装python3为例,我们打算把它安装到目录/usr/local/python3,于是在python3目录执行带选项的脚本./configure --prefix=/usr/local/python3执行成功后再编译、安装(make,make install);安装完成将自动生成目录python3而且该软件所有的文件都被复制到这个目录。

./configure --prefix=/usr/local/python3

为什么要指定这个安装目录?是为了以后的维护方便,如果没有用这个选项,安装过程结束后,该软件所需的软件被复制到不同的系统目录下,很难弄清楚到底复制了那些文件、都复制到哪里去了—基本上是一塌糊涂。

用了--prefix选项的另一个好处是卸载软件或移植软件。当某个安装的软件不再需要时,只须简单的删除该安装目录,就可以把软件卸载得干干净净;移植软件只需拷贝整个目录到另外一个机器即可(相同的操作系统)。

SELinux

安全增强型 Linux(Security-Enhanced Linux)简称 SELinux,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统 。SELinux 主要作用就是最大限度地减小系统中服务进程可访问的资源(最小权限原则)。可以看看这篇文章介绍:一文彻底明白linux中的selinux到底是什么

vsftpd

vsftpd 是“very secure FTP daemon”的缩写,如果你只想搭建一个性质简单的FTP,——尤其是匿名下载FTP——我认为是vsftpd是Linux平台下最好的选择。安全性是vsftpd的一个最大的特点它可以运行在诸如 Linux、BSD、Solaris、 HP-UNIX 等系统上面,是一个完全免费的、开放源代码的 ftp 服务器软件,支持很多其他的FTP 服务器所不支持的特征。

etcd

在云计算时代,如何让服务快速透明地接入到计算集群中,如何让共享配置信息快速被集群中的所有机器发现,更为重要的是,如何构建这样一套高可用、安全、易于部署以及响应快速的服务集群,已经成为了迫切需要解决的问题。etcd为解决这类问题带来了福音。

etcd是一个高可用的键值存储系统,使用一致性哈希算法(Raft)在分布式环境下的 key/value 存储服务,主要用于共享配置和服务发现。具有以下特点:

  • 简单:基于HTTP+JSON的API让你用curl就可以轻松使用。
  • 安全:可选SSL客户认证机制。
  • 快速:每个实例每秒支持一千次写操作。
  • 可信:使用Raft算法充分实现了分布式。

Session、Cookie、Token

很久很久以前,Web 基本上就是文档的浏览而已, 既然是浏览,作为服务器, 不需要记录谁在某一段时间里都浏览了什么文档,每次请求都是一个新的HTTP协议, 就是请求加响应, 尤其是我不用记住是谁刚刚发了HTTP请求, 每个请求对我来说都是全新的。这段时间很嗨皮。

但是随着交互式Web应用的兴起,像在线购物网站,需要登录的网站等等,马上就面临一个问题,那就是要管理会话,必须记住哪些人登录系统, 哪些人往自己的购物车中放商品, 也就是说我必须把每个人区分开,这就是一个不小的挑战,因为HTTP请求是无状态的,所以想出的办法就是给大家发一个会话标识(session id), 说白了就是一个随机的字串,每个人收到的都不一样, 每次大家向我发起HTTP请求的时候,把这个字符串给一并捎过来, 这样我就能区分开谁是谁了!

当用户第一次通过浏览器使用用户名和密码访问服务器时,服务器会验证用户数据,验证成功后在服务器端写入session数据,向客户端浏览器返回sessionid,浏览器将sessionid保存在cookie中,当用户再次访问服务器时,会携带sessionid,服务器会拿着sessionid从服务器获取session数据,然后进行用户信息查询,查询到,就会将查询到的用户信息返回,从而实现状态保持。

 这样大家很嗨皮了,可是服务器就不嗨皮了,每个人只需要保存自己的session id,而服务器要保存所有人的session id !如果访问服务器多了, 就得由成千上万,甚至几十万个,这对服务器说是一个巨大的开销 , 严重的限制了服务器扩展能力, 比如说我用两个机器组成了一个集群, 小F通过机器A登录了系统, 那session id会保存在机器A上, 假设小F的下一次请求被转发到机器B怎么办?机器B可没有小F的 session id啊。

有时候会采用一点小伎俩: session sticky , 就是让小F的请求一直粘连在机器A上, 但是这也不管用, 要是机器A挂掉了, 还得转到机器B去。那只好做session 的复制了, 把session id 在两个机器之间搬来搬去, 快累死了。

后来有个叫Memcached的支了招:把session id 集中存储到一个地方,也就是cookie中, 所有的机器都来访问这个地方的数据, 这样一来,就不用复制了, 但是增加了单点失败的可能性, 要是那个负责session 的机器挂了, 所有人都得重新登录一遍, 估计得被人骂死!

也尝试把这个单点的机器也搞出集群,增加可靠性, 但不管如何, 这小小的session 对我来说是一个沉重的负担,于是有人就一直在思考, 我为什么要保存这可恶的session呢, 只让每个客户端去保存该多好?

可是如果不保存这些session id , 怎么验证客户端发给我的session id 的确是我生成的呢? 如果不去验证,我们都不知道他们是不是合法登录的用户, 那些不怀好意的家伙们就可以伪造session id , 为所欲为了。

嗯,对了,关键点就是验证 !

比如说, 小F已经登录了系统, 我给他发一个令牌(token), 里边包含了小F的 user id, 下一次小F 再次通过Http 请求访问我的时候, 把这个token 通过Http header 带过来不就可以了。不过这和session id没有本质区别啊, 任何人都可以可以伪造, 所以我得想点儿办法, 让别人伪造不了。

那就对数据做一个签名吧, 比如说我用HMAC-SHA256 算法,加上一个只有我才知道的密钥, 对数据做一个签名, 把这个签名和数据一起作为token , 由于密钥别人不知道, 就无法伪造token了。

这个token 我不保存, 当小F把这个token 给我发过来的时候,我再用同样的HMAC-SHA256 算法和同样的密钥,对数据再计算一次签名, 和token 中的签名做个比较, 如果相同, 我就知道小F已经登录过了,并且可以直接取到小F的user id , 如果不相同, 数据部分肯定被人篡改过, 我就告诉发送者:对不起,没有认证。

Token 中的数据是明文保存的(虽然我会用Base64做下编码, 但那不是加密), 还是可以被别人看到的, 所以我不能在其中保存像密码这样的敏感信息。当然, 如果一个人的token 被别人偷走了, 那我也没办法, 我也会认为小偷就是合法用户, 这其实和一个人的session id 被别人偷走是一样的。

这样一来, 我就不保存session id 了, 我只是生成token , 然后验证token , 我用我的CPU计算时间获取了我的session 存储空间 !解除了session id这个负担, 可以说是无事一身轻, 我的机器集群现在可以轻松地做水平扩展, 用户访问量增大, 直接加机器就行。这种无状态的感觉实在是太好了!

基于Token的身份验证的过程如下:

  1. 用户通过用户名和密码发送请求。
  2. 程序验证。
  3. 程序返回一个签名的token 给客户端。
  4. 客户端储存token,并且每次用于每次发送请求。
  5. 服务端验证token并返回数据。

每一次请求都需要token。token应该在HTTP的头部发送从而保证了Http请求无状态。我们同样通过设置服务器属性Access-Control-Allow-Origin:* ,让服务器能接受到来自所有域的请求。

Cookie
cookie 是一个非常具体的东西,指的就是浏览器里面能永久存储的一种数据,仅仅是浏览器实现的一种数据存储功能。cookie由服务器生成,发送给浏览器,浏览器把cookie以kv形式保存到某个目录下的文本文件内,下一次请求同一网站时会把该cookie发送给服务器。由于cookie是存在客户端上的,所以浏览器加入了一些限制确保cookie不会被恶意使用,同时不会占据太多磁盘空间,所以每个域的cookie数量是有限的。
 

LNMP

Linux+Nginx+Mysql/MariaDB+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。

LNMP是一个CS架构的平台(Client/Server架构, 即客户端/服务器架构),web客户端基于TCP/IP通过http协议发起传送这个请求可能是动态的也可能是静态的,所有的服务器通过发起请求的后缀来判断,如果是静态的就由web服务器自己处理,然后将资源发给客户端。如果请求是动态的这时web服务器会通过FastCGI协议发给php,通过php模块去MySQL拿数据在通过Nginx交给客户端。

WordPress是使用PHP语言开发的内容管理系统

  • 内容管理系统,英文叫做 Content Management System(CMS)。
  • WordPress是全球最多人使用的,免费开源的建站程序

VMware

VMware Workstation是基于OS的虚拟OS资源的虚拟化工具,它能将OS闲置的资源加以充分利用,如果你的这台OS机器性能足够好,可以通过VMware Workstation创建DNS,DHCP,Apache等许多服务器,一个机子运行多个服务,节省了许多开支,这个作用是虚拟化所共有的特点。

因为生活中我们常常用它来虚拟实验环境,我们大多数的人就把它当做一种用于玩操作系统的工具,这么理解是有偏差的。

VMware vSphere则是一种虚拟化方案包括很多东西,其核心是ESXi,ESXi独立安装在裸机上的操作系统(注意它不基于任何OS,它本身就是OS),通过它物理机的硬件资源被虚拟化为虚拟资源,之后再通过vCenter就能将安装了ESXi操作系统的物理机的资源进行整合,化为一个总的资源池,在这个资源池里面我们为各个部门划分不同大小的资源池方便其使用。

准确来说这两个不属于一个概念

VMware Workstation是一个基于OS的软件,而VMware vSphere则是根据企业的实际情况设计的一个虚拟化方案,它设计的软件,技术和要考虑的问题都要比VMware Workstation要多,要详细,要具体。

简单来说

VMware Workstation是一款基于OS的虚拟化软件

VMware vSphere则是一个具体的虚拟化方案

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

(一)云计算技术学习--基础概念 的相关文章

  • Web 应用程序的带宽和流量模拟器?

    您能否建议如何创建一个测试环境来模拟 Web 应用程序中的各种类型的带宽和流量 或者也许是一个针对本地主机执行此操作的开源程序 我认为在编写网络应用程序时这是一个非常重要的主题 但这不是一个常见的主题 我能想象创建这种环境的唯一方法是在本地
  • 无法在 64 位 Linux 上从汇编 (yasm) 代码调用 C 标准库函数

    我有一个函数foo以汇编语言编写 并在 Linux Ubuntu 64 位上使用 yasm 和 GCC 编译 它只是使用以下命令将消息打印到标准输出puts 如下所示 bits 64 extern puts global foo secti
  • 使用 inotify 的正确方法是什么?

    我想使用inotifyLinux 上的机制 我希望我的应用程序知道文件何时aaa被改变了 您能给我提供一个如何做到这一点的示例吗 文档 来自监视文件系统活动 inotify https developer ibm com tutorials
  • 配置:错误:无法运行C编译的程序

    我正在尝试使用 Debian Wheezy 操作系统在我的 Raspberry Pi 上安装不同的软件 当我运行尝试配置软件时 我尝试安装我得到此输出 checking for C compiler default output file
  • linux下写入后崩溃

    如果我使用 write 将一些数据写入磁盘上的文件会发生什么 但我的应用程序在刷新之前崩溃了 如果没有系统故障 是否可以保证我的数据最终会刷新到磁盘 如果您正在使用write 并不是fwrite or std ostream write 那
  • 在 Linux 上访问 main 之外的主要参数

    是否可以访问参数main在外面main 即在共享库构造函数中 在 Linux 上除了通过解析之外 proc self cmdline 您可以通过将构造函数放入 init array部分 功能在 init array 不像 init 使用相同
  • 如何访问 mmaped /dev/mem 而不导致 Linux 内核崩溃?

    我有一个简单的程序 尝试访问用户空间中的物理内存 其中内核存储第一个结构页 在 64 位机器上 该地址是 内核虚拟地址 ffffea0000000000 物理地址 0000620000000000 我正在尝试通过用户空间中的 mmap 访问
  • 推荐用于小型站点的 IRC 服务器 (ircd)? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 情况 我想使用 IRC 机器人作为我正在研究的其他代码的通用通信接口 服务器硬件陈旧且内存不足 但运行在相对最新的 Debian GNU
  • 这种 bash 文件名提取技术有何用途?

    我有一部分 bash 脚本正在获取不带扩展名的文件名 但我试图了解这里到底发生了什么 是做什么用的 有人可以详细说明 bash 在幕后做了什么吗 如何在一般基础上使用该技术 bin bash for src in tif do txt sr
  • 从 Python 访问 802.11 无线管理帧

    我想从 Linux 上的 Python 嗅探 802 11 管理 探测请求 帧 这可以从 Scapy 中实现 如下所示 coding utf 8 from scapy all import def proc p if p haslayer
  • 未找到 Gem 命令

    我已经在 Ubuntu 10 10 32 位上安装了 gem apt get install gem y 但当我尝试跑步时 gem install something gem 我收到未找到命令的错误 bash gem command not
  • 如何从 Linux 内核模块获取使用计数?

    我对正在开发的内核模块的使用计数有疑问 我想打印它以进行调试 如何从模块代码中获取它 有问题的内核版本 Linux 2 6 32 module refcount http lxr linux no linux v2 6 34 1 inclu
  • 如何设置Java线程的CPU核心亲和力?

    我搜索了以前关于类似主题的帖子 但找不到合适的答案 因此提出这个问题 非常感谢您帮助回答 我知道在 Linux 中通过任务集命令设置进程与特定 CPU 核心的关联性 但我想设置 Java 线程与特定 cpu 核心的亲和力 以便属于同一进程的
  • 运行此处编译的 C 程序会导致在另一台服务器上找不到 GLIBC 库错误 - 是我的错还是他们的错?

    此处编译的 C 程序在我们的 Ubuntu 服务器上运行良好 但是当其他人尝试在他们的特定 Linux 服务器上运行它时 他们会收到以下错误 myprog install lib tls libc so 6 version GLIBC 2
  • 使用 ProcessBuilder 运行 shell 脚本

    我正在尝试使用 Java 和 ProcessBuilder 运行脚本 当我尝试运行时 我收到以下消息 error 2 没有这样的文件或目录 我不知道我做错了什么 但这是我的代码 ps 我尝试只执行不带参数的脚本 错误是相同的 String
  • 如何在 Linux/OS X 上温和地终止 Firefox 进程

    我正在使用 Firefox 进行一些自动化操作 尽管我可以从 shell 打开 Firefox 窗口 但我无法正确终止它 如果我kill火狐进程与kill 3 or kill 2当我下次打开新的 Firefox 窗口时 命令会询问我是否要在
  • 使用c在linux上分块读写

    我有一个 ASCII 文件 其中每一行都包含一个可变长度的记录 例如 Record 1 15 characters Record 2 200 characters Record 3 500 characters Record n X cha
  • Bash - 比较 2 个文件列表及其 md5 校验和

    我有 2 个列表 其中包含带有 md5sum 检查的文件 即使文件相同 列表也具有不同的路径 我想检查每个文件的 md5 和 我们正在讨论数千个文件 这就是为什么我需要脚本来仅显示差异 第一个列表是普通列表 第二个列表是文件的当前状态 我想
  • Ctrl-p 和 Ctrl-n 在 Docker 下表现异常

    For the life of me I can t seem to figure out why ctrl p and ctrl n don t work like they re supposed to under the Docker
  • 如何通过不同的接口路由 TCP/IP 响应?

    我有两台机器 每台机器都有两个有效的网络接口 一个以太网接口eth0和 tun tap 接口gr0 目标是使用接口在机器 A 上启动 TCP 连接gr0但然后让机器 B 的响应 ACK 等 通过以太网接口返回 eth0 因此 机器 A 发出

随机推荐

  • rabbitmq初学之连接测试

    最近在搞接口 需要用到rabbitmq 在公司搞了一个下午还是连接不上 后来细看了英文说明 测试连接成功 得出如下报错几点 我用的安装包 otp win64 17 0 exe erlang vm 和rabbitmq server 3 3 1
  • 消息队列-kafka入门详解

    本文适用于初学者 学习kafka之前 应该都知道它是消息队列 但是和我们印象中数据结构的队列不同的是 它持久化到磁盘上 1 我们首先从定义来看 Kafka 一个分布式的 分区化 可复制提交的日志服务 我们先来想想什么是分区 好比图书馆的书
  • pcb过孔与电流对照一览表_PCB设计项目能不能成功,这个因素占了30%

    电源平面的处理 在PCB设计中占有很重要的地位 在一个完整的设计项目中 通常电源的处理决定项目的30 50 的成功率 本次给大家介绍在PCB设计过程中电源平面处理应该考虑的基本要素 1 做电源处理时 首先应该考虑其载流能力 其中包含2个方面
  • QT-通用的软件界面框架,好看且实用

    QT 通用的软件界面框架 好看且实用 前言 一 演示效果 二 配置说明 三 关键程序 四 程序下载 前言 常规软件开发 使用这种界面框架 基本是可以做很多个常规项目 比较有参考意义 本次软件使用开发的环境是QT5 13 2 VS2017 不
  • House Man 【HDU - 3440】【差分约束】

    题目链接 就是我们必须跳N 1次 从最小的房子跳到最高的房子 然后呢 求最小的房子和最高的房子之间的最长的可能距离 那么就是差分约束咯 我们可以这么推 首先 对于所有的点 a i a i 1 gt 1 那么转换一下 就是a i 1 a i
  • vue 从后端取图片返回发现是两张,但自己只要一张图片 怎么操作

    1 用JavaScript里边常用的分隔符去操作 item original status user profile image url split 0
  • Redis的hyperloglog

    互联网名词 什么是UV Unique Visitor 独立访客 一般理解为客户端IP 需要去重考虑 什么是PV Page View 页面浏览量 不用去重 什么是DAU Daily Active User 日活跃用户量 登录或者使用了某个产品
  • 【7】Docker中部署RabbitMQ

    1 拉取镜像 docker pull rabbitmq 3 8 5 根据我之前在VMware的Centos中装过的 rabbitmq 版本来拉取 3 8 5 的版本 拉取指定版本 3 8 5 的 rabbitmq 镜像 2 守护方式 创建容
  • 最大化参数 火车头_火车头多少吨

    展开全部 火车头的重量一般是126 132吨 最重的是韶山4型改进型车头 重量为184吨 车型62616964757a686964616fe58685e5aeb931333433623735不同而所用的火车头型号也不尽相同 重量也有所差异
  • 代码随想录算法训练营打卡第一天

    代码随想录算法训练营第1天 Leetcode704 二分查找 27 移除元素 704 二分查找 视频链接 https www bilibili com video BV1fA4y1o715 第一遍读题思考 五分钟内 如果没有思路就写暴力解法
  • [C++11]独占的智能指针unique_ptr的初始化和使用

    std unique ptr 是一个独占型的智能指针 它不允许其他的智能指针共享其内部的指针 可以通过它的构造函数初始化一个独占智能指针对象 但是不允许通过赋值将一个 unique ptr 赋值给另一个 unique ptr std uni
  • C++小作业——简单通讯录设计

    界面展示 1 菜单界面 2 添加联系人 选择按钮1 3 显示联系人 选择按钮2 会显示当前通讯录里面的所有联系人信息 include
  • 知识蒸馏算法汇总

    知识蒸馏有两大类 一类是logits蒸馏 另一类是特征蒸馏 logits蒸馏指的是在softmax时使用较高的温度系数 提升负标签的信息 然后使用Student和Teacher在高温softmax下logits的KL散度作为loss 中间特
  • 为什么musql数据库root不需要密码就能登录

    MySQL 数据库的 root 用户是超级用户 它可以访问和修改数据库中的所有内容 所以为了保证数据库的安全性 必须为 root 用户设置密码才能登录 但是 如果当初安装数据库的时候没有设置 root 密码 那么就不需要密码就可以登录
  • select、poll、epoll之间的区别总结[整理]

    http www cnblogs com Anker p 3265058 html 随笔 141 文章 2 评论 298 select poll epoll之间的区别总结 整理 select poll epoll都是IO多路复用的机制 I
  • 办公室里秀一把!用Python控制Excel实现自动化办公!附学习教程

    1 安装 2 操作一个简单的Excel文档 操作注释及代码 操作完成后 数据存储结果如下 3 操作简单Excel文档并添加数据格式 操作代码如下 附带数据格式的定义 操作效果如图所示
  • 【Rust】用libc实现文件拷贝

    macro export macro rules c string s expr gt use std ffi CString CString new s unwrap as ptr macro export macro rules che
  • office表格标题和表格距离过大怎么解决

    设置 表格 布局 属性 文字环绕 环绕 定位 然后修改成如下 垂直 位置 数据为0厘米
  • 如何使用Hyperledger Fabric和Composer构建区块链网络

    如何使用Hyperledger Fabric和Composer构建区块链网络 这是一个区块链开发入门人员的教程 在开始之前要说明Hyperledger Fabric仅在基于Unix的操作系统上运行 因此 它将无法在Windows上运行 这将
  • (一)云计算技术学习--基础概念

    目录 Linux的用户管理 Yum 命令 Python SELinux vsftpd etcd Session Cookie Token LNMP VMware Docker Kubernetes K8S Centos CentOS Com