linux安装

news2024/11/23 15:05:16

我们在部暑的时候 总要用到linux 所以我们可以提前把linux安装好 准备一个安装好的linux 到时直接克隆出来用就可以

一 安装linux

1). 选择创建新的虚拟机

2). 选择"典型"配置

3). 选择"稍后安装操作系统(S)"

4). 选择"Linux"操作系统,"CentOS7 64位"版本

5). 设置虚拟机的名称及系统文件存放路径

6). 设置磁盘容量

7). 自定义硬件信息

8). 启动上述创建的新虚拟机

9). 选择"Install CentOS7"

进入到Linux系统里面, 我们发现光标无法移动到windows操作系统中了, 这个时候, 我们可以通过快捷键 "Ctrl+Alt" 切换光标到windows系统中。

10). 选择语言为 "简体中文"

11). 选择"自动配置分区"

12). 选择"基础设施服务器"

最小安装: 在安装Linux时占用最少空间,有很多功能都被忽略了
建议安装: 基础设施服务器

13). 设置"root"用户密码

安装完毕后,点击窗口中的蓝色的 "重启" 按钮,重启Linux系统。

14). 登录系统

注意 : 在Linux系统中,在命令行中输入密码信息,为了保证安全性,密码是不显示的(看似没有输入,实际已经输入了);

15) 网卡设置

服务器重启完成之后,我们可以通过linux的指令 ip addr 来查询Linux系统的IP地址,具体信息如下:

从图中我们可以看到,并没有获取到linux系统的IP地址,这是为什么呢?这是由于启动服务器时未加载网卡,导致IP地址初始化失败而造成的。那么接下来我们就需要来修改网络初始化配置,设定网卡在系统启动时初始化。

具体操作步骤如下:

1). 修改网卡的配置项

cd /                进入根目录
cd etc                进入etc目录
cd sysconfig        进入sysconfig目录
cd network-scripts    进入network-scripts
vi ifcfg-ens33        编辑ifcfg-ens33文件

进入文件后执行如下操作: 
①. 按 i 键          进入编辑状态
②. 按↑↓键来移动光标, 删除no,输入yes 
③. 按 ESC 键
④. 输入 :wq
vi  /etc/sysconfig/network-scripts/ifcfg-ens33

备注: 在上述的操作中用到了Linux中的相关指令, 目前大家不用深究, 后面会详细讲解, 目前大家只需要把这个文件的配置项ONBOOT的值有no改为yes即可。

查看是否修改成功

cat  ifcfg-ens33

2). 重新启动虚拟机

重启之后, 再次输入root的用户名密码,登录到Linux系统之后,可以通过指令 ip addr 来查看IP地址。

注意事项:

这里面如果设置好之后 还是无法显示Ip 要去看以下二个位置是否匹配

文本编辑命令

文本编辑的命令,主要包含两个: vi 和 vim,两个命令的用法类似,我们课程中主要讲解vim的使用。

1) vi&vim介绍

作用: vi命令是Linux系统提供的一个文本编辑工具,可以对文件内容进行编辑,类似于Windows中的记事本

语法: vi fileName

说明: 1). vim是从vi发展来的一个功能更加强大的文本编辑工具,编辑文件时可以对文本内容进行着色,方便我们对文件进行编辑处理,所以实际工作中vim更加常用。 2). 要使用vim命令,需要我们自己完成安装。可以使用下面的命令来完成安装:yum install vim

2) vim安装

命令: yum install vim

安装过程中,会有确认提示,此时输入 y,然后回车,继续安装:

3) vim使用

作用: 对文件内容进行编辑,vim其实就是一个文本编辑器语法: vim fileName说明: 1). 在使用vim命令编辑文件时,如果指定的文件存在则直接打开此文件。如果指定的文件不存在则新建文件。 2). vim在进行文本编辑时共分为三种模式,分别是 命令模式(Command mode),插入模式(Insert mode)和底行模式(Last line mode)。这三种模式之间可以相互切换。我们在使用vim时一定要注意我们当前所处的是哪种模式。

三种模式:

命令模式(默认)

A. 命令模式下可以查看文件内容、移动光标(上下左右箭头、gg、G)
B. 通过vim命令打开文件后,默认进入命令模式
C. 另外两种模式需要首先进入命令模式,才能进入彼此

| 命令模式指令 | 含义                              |
| ------------ | --------------------------------- |
| gg           | 定位到文本内容的第一行            |
| G            | 定位到文本内容的最后一行          |
| dd           | 删除光标所在行的数据              |
| ndd          | 删除当前光标所在行及之后的n行数据 |
| u            | 撤销操作                          |
| shift+zz     | 保存并退出                        |
| i 或 a 或 o  | 进入插入模式                      |
  • 插入模式A. 插入模式下可以对文件内容进行编辑B. 在命令模式下按下[i,a,o]任意一个,可以进入插入模式。进入插入模式后,下方会出现【insert】字样C. 在插入模式下按下ESC键,回到命令模式

  • 底行模式A. 底行模式下可以通过命令对文件内容进行查找、显示行号、退出等操作B. 在命令模式下按下[:,/]任意一个,可以进入底行模式C. 通过/方式进入底行模式后,可以对文件内容进行查找D. 通过:方式进入底行模式后,可以输入wq(保存并退出)、q!(不保存退出)、set nu(显示行号)

底行模式命令

含义

:wq

保存并退出

:q!

不保存退出

:set nu

显示行号

:set nonu

取消行号显示

:n

定位到第n行, 如 :10 就是定位到第10行

操作示例:

设置静态IP

我们目前安装的Linux操作系统,安装完毕之后并没有配置IP地址,默认IP地址是动态获取的,那如果我们使用该Linux服务器部署项目,IP动态获取的话,也就意味着,IP地址可能会发生变动,那我们访问项目的话就会非常繁琐,所以作为服务器,我们一般还需要把IP地址设置为静态的。

1). 设置静态IP

设置静态ip,我们就需要修改 /etc/sysconfig/network-scripts/ifcfg-ens33 配置文件,内容如下:

vim   /etc/sysconfig/network-scripts/ifcfg-ens33 
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
IPADDR="192.168.138.100"        # 设置的静态IP地址
NETMASK="255.255.255.0"         # 子网掩码
GATEWAY="192.168.138.2"         # 网关地址
DNS1="192.168.138.2"            # DNS服务器 
DNS2="8.8.8.8"                  # DNS服务器 这个写不写都可以
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=afd0baa3-8bf4-4e26-8d20-5bc426b75fd6
DEVICE=ens33
ONBOOT=yes
ZONE=public

上述我们所设置的网段为138,并不是随意指定的,需要和我们虚拟机中的虚拟网络编辑器中的NAT模式配置的网关保持一致。

2). 重启网络服务

ip地址修改完毕之后,需要重启网络服务,执行如下指令:

systemctl restart network

==注意:重启完网络服务后ip地址已经发生了改变,此时FinalShell已经连接不上Linux系统,需要创建一个新连接才能连接到Linux。==

再次连接上Linux之后,我们再次查看IP地址,就可以看到我们所设置的静态IP:

四 软件的安装

1 安装JDK

上述我们介绍了Linux系统软件安装的四种形式,接下来我们就通过第一种(二进制发布包)形式来安装JDK。 JDK对应的二进制发布包,在课程资料中已经提供,如下:

JDK具体安装步骤如下:

1). 上传安装包

使用FinalShell自带的上传工具将jdk的二进制发布包上传到Linux

由于上述在进行文件上传时,选择的上传目录为根目录 /,上传完毕后,我们执行指令 cd / 切换到根目录下,查看上传的安装包。

2). 解压安装包

执行如下指令,将上传上来的压缩包进行解压,并通过-C参数指定解压文件存放目录为 /usr/local。

tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/local

查看  cd /usr/local/
ls

3). 配置环境变量

使用vim命令修改/etc/profile文件,在文件末尾加入如下配置

进入/etc/profile文件

vim /etc/profile

JAVA_HOME=/usr/local/jdk1.8.0_171
PATH=$JAVA_HOME/bin:$PATH

具体操作指令如下:

1). 编辑/etc/profile文件,进入命令模式
    vim /etc/profile

2). 在命令模式中,输入指令 G , 切换到文件最后
    G

3). 在命令模式中输入 i/a/o 进入插入模式,然后切换到文件最后一行
    i

4). 将上述的配置拷贝到文件中
    JAVA_HOME=/usr/local/jdk1.8.0_171
    PATH=$JAVA_HOME/bin:$PATH
    
5). 从插入模式,切换到指令模式
    ESC
    
6). 按:进入底行模式,然后输入wq,回车保存
    :wq

4). 重新加载profile文件

为了使更改的配置立即生效,需要重新加载profile文件,执行命令:

source /etc/profile

5). 检查安装是否成功

java -version

2 安装Tomcat

2.1 Tomcat安装

Tomcat的安装和上述JDK的安装采用相同的方式,都是使用二进制发布包的形式进行安装,在我们的资料目录下,也已经准备了Tomcat的安装包:

具体安装步骤如下:

1). 上传安装包

使用FinalShell自带的上传工具将Tomcat的二进制发布包上传到Linux(与前面上传JDK安装包步骤一致)。

2). 解压安装包

将上传上来的安装包解压到指定目录/usr/local下,执行命令为

tar -zxvf apache-tomcat-7.0.57.tar.gz -C /usr/local

查看  cd /usr/local/
ls

3). 启动Tomcat

进入Tomcat的bin目录启动服务。执行命令为:

cd /usr/local/apache-tomcat-7.0.57/

cd bin

启动Tomcat服务
sh startup.sh或者./startup.sh

2.2 Tomcat进程查看

上述我们将Tomcat启动完成之后,并不能知道Tomcat是否正常运行,那么我们验证Tomcat启动是否成功,有多种方式,我们这里主要介绍常见的两种方式:

1). 查看启动日志

Tomcat的启动日志输出在Tomcat的安装目录下的logs目录中,Tomcat的启动及运行日志文件名为 catalina.out,所以我们查看Tomcat启动日志,主要可以通过两条指令,如下:

1). 分页查询Tomcat的日志信息
more /usr/local/apache-tomcat-7.0.57/logs/catalina.out

2). 查询日志文件尾部的50行记录
tail -50 /usr/local/apache-tomcat-7.0.57/logs/catalina.out

只要Tomcat在启动的过程中,日志输出没有报错,基本可以判定Tomcat启动成功了。

2). 查询系统进程

我们也可以通过Linux系统的查看系统进程的指令,来判定Tomcat进程是否存在,从而判定Tomcat是否启动。执行如下指令:

ps -ef|grep tomcat

说明:

  • ==ps==命令是linux下非常强大的进程查看命令,通过ps -ef可以查看当前运行的所有进程的详细信息

  • =="|"== 在Linux中称为管道符,可以将前一个命令的结果输出给后一个命令作为输入

  • 使用ps命令查看进程时,经常配合管道符和查找命令 grep 一起使用,来查看特定进程

2.3 防火墙操作

前面我们已经通过日志的方式及查看系统进程的方式,验证了Tomcat服务已经正常启动,接下来我们就可以尝试访问一下。访问地址:http://192.168.138.130:8080,我们发现是访问不到的。

那为什么tomcat启动成功了,但就是访问不到呢?原因就在于Linux系统的防火墙,系统安装完毕后,系统启动时,防火墙自动启动,防火墙拦截了所有端口的访问。接下来我们就需要学习一下,如何操作防火墙,具体指令如下:

操作

指令

备注

查看防火墙状态

systemctl status firewalld / firewall-cmd --state

暂时关闭防火墙

systemctl stop firewalld

永久关闭防火墙(禁用开机自启)

systemctl disable firewalld

==下次启动,才生效==

暂时开启防火墙

systemctl start firewalld

永久开启防火墙(启用开机自启)

systemctl enable firewalld

==下次启动,才生效==

重启防火墙

systemctl restart firewalld

开放指定端口

firewall-cmd --zone=public --add-port=8080/tcp --permanent

==需要重新加载生效==

关闭指定端口

firewall-cmd --zone=public --remove-port=8080/tcp --permanent

==需要重新加载生效==

立即生效(重新加载)

firewall-cmd --reload

查看开放端口

firewall-cmd --zone=public --list-ports

注意:

A. systemctl是管理Linux中服务的命令,可以对服务进行启动、停止、重启、查看状态等操作

B. firewall-cmd是Linux中专门用于控制防火墙的命令

C. 为了保证系统安全,服务器的防火墙不建议关闭

那么我们要想访问到Tomcat,就可以采取两种类型的操作:

A. 关闭防火墙

执行指令 :

systemctl stop firewalld

关闭之后,再次访问Tomcat,就可以访问到了。

注意: 上面我们也提到了,直接关闭系统的防火墙,是不建议的,因为这样会造成系统不安全。

B. 开放Tomcat的端口号8080

执行指令:

①. 先开启系统防火墙
systemctl start firewalld
②. 再开放8080端口号
firewall-cmd --zone=public --add-port=8080/tcp --permanent
③. 重新加载防火墙
firewall-cmd --reload

执行上述的操作之后,就开放了当前系统中的8080端口号,再次访问Tomcat。

2.4 停止Tomcat

在Linux系统中,停止Tomcat服务的方式主要有两种:

1). 运行Tomcat提供的脚本文件

在Tomcat安装目录下有一个bin目录,这个目录中存放的是tomcat的运行脚本文件,其中有一个脚本就是用于停止tomcat服务的。

我们可以切换到bin目录,并执行如下指令,来停止Tomcat服务:

cd /usr/local/apache-tomcat-7.0.57/
cd bin 

关闭/停止Tomcat服务
sh shutdown.sh
./shutdown.sh

2). 结束Tomcat进程

我们可以先通过 ps -ef|grep tomcat 指令查看tomcat进程的信息,从进程信息中获取tomcat服务的进程号。然后通过kill -9 的形式,来杀死系统进程。

通过上述的指令,我们可以获取到tomcat的进程号为 79947。接下来,我们就可以通过指令 ,来杀死tomcat的进程 :

 kill -9 79947 

执行完上述指令之后,我们再访问Linux系统中的Tomcat,就访问不到了。

注意:
kill命令是Linux提供的用于结束进程的命令,-9表示强制结束

注意 :
虽然上述讲解的两种方式,都可以停止Tomcat服务,但是推荐使用第一种方式(./shutdown.sh)执行脚本来关闭tomcat服务,如果通过第一种方式停止不了tomcat了,这个时候,我们可以考虑使用第二种方式,强制杀死进程。

3 安装MySQL

3.1 MySQL安装

对于MySQL数据库的安装,我们将要使用前面讲解的第二种安装方式rpm进行安装。那么首先我们先了解一下什么rpm?

RPM:全称为 Red-Hat Package Manager,RPM软件包管理器,是红帽Linux用于管理和安装软件的工具。

我们要通过rpm,进行MySQL数据库的安装,主要的步骤如下:

1). 检测当前系统是否安装过MySQL相关数据库

需要通过rpm相关指令,来查询当前系统中是否存在已安装的mysql软件包,执行指令如下:

rpm -qa查询当前系统中安装的所有软件
rpm -qa | grep mysql查询当前系统中安装的名称带mysql的软件
rpm -qa | grep mariadb查询当前系统中安装的名称带mariadb的软件

通过rpm -qa 查询到系统通过rpm安装的所有软件,太多了,不方便查看,所以我们可以通过管道符 | 配合着grep进行过滤查询。

通过查询,我们发现在当前系统中存在mariadb数据库,是CentOS7中自带的,而这个数据库和MySQL数据库是冲突的,所以要想保证MySQL成功安装,需要卸载mariadb数据库。

2). 卸载现有的MySQL数据库

在rpm中,卸载软件的语法为:

 rpm -e --nodeps  软件名称

那么,我们就可以通过指令,卸载 mariadb,具体指令为:

 rpm -e --nodeps  mariadb-libs-5.5.60-1.el7_5.x86_64

我们看到执行完毕之后, 再次查询 mariadb,就查不到了,因为已经被成功卸载了。

3). 将资料中提供的MySQL安装包上传到Linux并解压

A. 上传MySQL安装包

在课程资料中,提供的有MySQL的安装包 ,我们需要将该安装包上传到Linux系统的根目录 / 下面。

B. 解压到/usr/local/mysql

执行如下指令:

原本的笔记

 mkdir /usr/local/mysql    
 tar -zxvf mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar.gz -C /usr/local/mysql

视频

  mkdir /usr/local/mysql5.7  
  tar -zxvf mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar.gz -C /usr/local/mysql5.7

 查看  cd /usr/local/mysql5.7/
 查看  cd /usr/local/mysql/

4). 安装顺序安装rpm安装包

 rpm -ivh mysql-community-common-5.7.25-1.el7.x86_64.rpm
 rpm -ivh mysql-community-libs-5.7.25-1.el7.x86_64.rpm
 rpm -ivh mysql-community-devel-5.7.25-1.el7.x86_64.rpm
 rpm -ivh mysql-community-libs-compat-5.7.25-1.el7.x86_64.rpm
 rpm -ivh mysql-community-client-5.7.25-1.el7.x86_64.rpm
 yum install net-tools
 rpm -ivh mysql-community-server-5.7.25-1.el7.x86_64.rpm

说明:
因为rpm安装方式,是不会自动处理依赖关系的,需要我们自己处理,所以对于上面的rpm包的安装顺序不能随意修改。
安装过程中提示缺少net-tools依赖,使用yum安装(yum是一种在线安装方式,需要保证联网)
可以通过指令(yum update)升级现有软件及系统内核

3.2 MySQL启动

MySQL安装完成之后,会自动注册为系统的服务,服务名为mysqld。那么,我们就可以通过systemctl指令来查看mysql的状态、启动mysql、停止mysql。

 systemctl status mysqld     查看mysql服务状态
 systemctl start mysqld      启动mysql服务
 systemctl stop mysqld       停止mysql服务

说明:
可以设置开机时启动mysql服务,避免每次开机启动mysql。执行如下指令:
systemctl enable mysqld

我们可以通过如下两种方式,来判定mysql是否启动:

 netstat -tunlp                  查看已经启动的服务
 netstat -tunlp | grep mysql     查看mysql的服务信息
 ​
 ps –ef | grep mysql             查看mysql进程






备注:
A. netstat命令用来打印Linux中网络系统的状态信息,可让你得知整个Linux系统的网络情况。
参数说明:
-l或--listening:显示监控中的服务器的Socket; -n或--numeric:直接使用ip地址,而不通过域名服务器; -p或--programs:显示正在使用Socket的程序识别码和程序名称; -t或--tcp:显示TCP传输协议的连线状况; -u或--udp:显示UDP传输协议的连线状况;
B. ps命令用于查看Linux中的进程数据。

3.3 MySQL登录

1) 查阅临时密码

MySQL启动起来之后,我们就可以测试一下登录操作,但是我们要想登录MySQL,需要一个访问密码,而刚才在安装MySQL的过程中,并没有看到让我们设置访问密码,那这个访问密码是多少呢? 那实际上,对于rpm安装的mysql,在mysql第一次启动时,会自动帮我们生成root用户的访问密码,并且输出在mysql的日志文件 /var/log/mysqld.log中,我们可以查看这份日志文件,从而获取到访问密码。

可以执行如下指令:

  1. . cat /var/log/mysqld.log

这种方式,可以看到所有的日志数据,文件比较大时,很不方便查看数据。我们可以通过管道符 | 配合grep来对数据进行过滤。

2). cat /var/log/mysqld.log | grep password

我们可以通过上述指令,查询日志文件内容中包含password的行信息。

2) 登录MySQL

获取到root用户的临时密码之后,我们就可以登录mysql数据库,修改root的密码,为root设置一个新的密码。并且我们还需要开启root用户远程访问该数据库的权限,这样的话,我们就可以在windows上来访问这台MySQL数据库。

执行如下指令:

 ①. 登录mysql(复制日志中的临时密码登录)
     mysql -uroot -p                             
 ​
 ②. 修改密码
     set global validate_password_length=4;          设置密码长度最低位数
     set global validate_password_policy=LOW;        设置密码安全等级低,便于密码可以修改成root
     set password = password('root');                设置密码为root
     
 ③. 开启访问权限
     grant all on *.* to 'root'@'%' identified by 'root';
     flush privileges;

操作完上述的指令之后,数据库root用户的密码以及远程访问我们就配置好了,接下来,可以执行exit退出mysql,再次通过新的密码进行登录。

当然我们也可以使用安装在windows系统中的sqlyog或者Navicat来远程连接linux上的MySQL。

==注意: 要想在windows上能够访问MySQL,还需要开放防火墙的3306端口,执行如下指令:==

 firewall-cmd --zone=public --add-port=3306/tcp --permanent
 firewall-cmd --reload

3) 修改MySQL默认编码

 vim/etc/my.cnf
 #修改/etc/my.cnf文件
 [mysqld]
 init_connect='SET NAMES utf8'
 character-set-server=utf8
 collation-server=utf8_general_ci

4 安装lrzsz

lrzsz 是用于在Linux系统中文件上传下载的软件。大家可能会存在疑问,我们用finalShell图形化界面就可以很方便的完成上传下载,为什么还要使用这个软件来完成上传下载呢?实际上是这样的,Linux的远程连接工具有很多,而finalShell只是其中的一种,而还有很多的远程连接工具并没有上传下载的功能,这个时候就需要依赖于lrzsz这个软件了。

对于lrzsz的安装,我们需要通过第三种软件安装方式yum来进行安装。这里,我们先对yum做一个简单介绍。

Yum: (Yellow dog Updater,Modified),是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

安装lrzsz的步骤如下:

1). 搜索lrzsz安装包

yum list lrzsz

2). 在线安装lrzsz

yum install lrzsz.x86_64

3). 测试

在命令行中输入 rz , 就会自动打开一个文件选择的窗口,然后选择要上传的文件。

五 yum源

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/346843.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

IAR警告抑制及还原

工作中需要临时抑制 警告 Pa084,源代码如下: sy_errno_t sy_memset_s(void *dest, sy_rsize_t dmax, int value, sy_rsize_t n) { sy_errno_t err; if (dest NULL) { return SY_ESNULLP; } if (dmax > SY_RSIZE…

「C语言进阶」数据内存的存储

🚀🚀🚀大家觉不错的话,就恳求大家点点关注,点点小爱心,指点指点🚀🚀🚀 目录 🐰数据类型的介绍 🐰类型的意义 🐰数据类型的基本归类…

引入短信服务发送手机验证码进行安全校验

其他方案>引入QQ邮箱发送验证码进行安全校验 相对短信验证码,操作更简单而且免费 最近想给自己的项目在注册时加点安全校验,准备使用免费的邮箱验证来着,在上一篇引入QQ邮箱进行安全校验时,看有朋友说阿里云会送一些短信服务免…

论文阅读 | Video Super-Resolution Transformer

引言:2021年用Transformer实现视频超分VSR的文章,改进了SA并在FFN中加入了光流引导 论文:【here】 代码:【here】 Video Super-Resolution Transformer 引言 视频超分中有一组待超分的图片,因此视频超分也经常被看做…

【网络原理4】TCP特性篇

目录 一、滑动窗口 传统发送接收机制的缺点 滑动窗口的特性 发送方什么时候会接着发送下一条报文 如果在滑动窗口的机制下面发生了丢包会怎样处理 情况1:ack丢了 情况2:主动发送的syn丢包了 滑动窗口的应用场景 二、TCP流量控制:根据接…

大数据下Flink on YarnSession 高可用集群环境部署开辟资源发布任务

前言:搭建大数据环境集群环境算是比较麻烦的一个事情,并且对硬件要求也比较高其中搭建大数据环境需要准备jdk环境和zk环境,还有hdfs,还有ssh之间的免密操作,还有主机别名访问不通的问题 等。必然会出现的问题&#xff…

拆个微波炉,分析一下电路

微波炉是用2450MHz的超高频电磁波来加热食品,它能无损穿越塑料,陶瓷,不能穿越金属,碰到金属会反射,但穿过含水食物,食物内的分子会高速摩擦,产生热量,使食物变熟。在厨房电器中&…

自学180天,我从功能测试进阶到自动化测试了...

大家好,我是彭于晏,一个7年测试工作的老司机。因为我一直在分享自动化测试技术,所以时常会被问到这个问题:“靓仔,功能测试想转自动化测试,请问要怎么入手?” 那么,接下来我就结合自…

不愧是GitHub点赞飙升的Java10W字面经,面面俱到,太全了!

最新的喜报啊,话不多说,先看图!(为了保护朋友的隐私,同时还有我自己的隐私,楼主就都打码了~!) 朋友说到这儿时候我就跟他说,不要只看眼前,要看长远一些&#…

前端开发之防抖与节流

前端开发中我们经常会通过监听某些事件来完成项目需求 1.通过监听 scroll 事件,检测滚动位置,根据滚动位置显示返回顶部按钮 2.通过监听 resize 事件,对某些自适应页面调整DOM的渲染(通过CSS实现的自适应不再此范围内)…

动态库和静态库的区别

什么是库文件 一般来说,一个程序,通常都会包含目标文件和若干个库文件。经过汇编得到的目标文件再经过和库文件的链接,就能构成可执行文件。库文件像是一个代码仓库或代码组件的集合,为目标文件提供可直接使用的变量、函数、类等…

Hadoop3.3.0--Linux编译安装

Hadoop3.3.0–Linux编译安装 基础环境:Centos 7.7 编译环境软件安装目录 mkdir -p /export/server一、Hadoop编译安装(选做) 可以直接使用课程提供已经编译好的安装包。 安装编译相关的依赖 yum install gcc gcc-c make autoconf automake…

leaflet 上传CSV文件,导出geojson格式文件(064)

第064个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+leaflet中加载CSV文件,将图形显示在地图上。点击导出geojson,下载成geojson文件。 直接复制下面的 vue+openlayers源代码,操作2分钟即可运行实现效果. 文章目录 示例效果配置方式示例源代码(共114行)安装插件…

如何判断是否ChatGPT回答出来的问题?解决方法详解

目录 前言 一、人工智能(“ChatGPT”等)能淘汰人类吗? 二、完全禁止或严格限制使用ChatGPT,是利大于弊还是? 1、ChatGPT与造纸术优点 2、人有悲欢离合,月有阴晴圆缺,此事古难全&#xff01…

Python基础-数据类型之序列

序列:一种数据结构,序列中的每个元素都会被分配到一个序号(元素的位置)。 常用的序列有:列表、元组、字符串。 一、序列的操作: 1:通过索引取值 nums_list [1,2,3,4] print(nums_list[0]) …

消息队列的特点

一、背景:在分布式系统中是如何处理高并发的由于在高并发的环境下,来不及同步处理用户发送的请求,则会导致请求发送阻塞。比如说,大量的insert、update之类的请求同时到达数据库MYSQL,直接导致无数的行锁表锁&#xff…

零基础机器学习做游戏辅助第十一课--原神自动钓鱼(一)

一、序言 前面我们已经学习了神经网络,卷积神经网络和强化学习等内容,也都做了对应的实例。但是我们的课是做游戏辅助,那么肯定要去游戏里实战一番。 今天就带领大家用我们所学的知识对近两年非常火爆的游戏《原神》进行实战。我们以自动钓鱼为例。 二、观察游戏玩法制定方案…

Seata源码学习(五)- Seata服务端(TC)源码解读

Seata源码分析- Seata服务端(TC)源码解读 上节课我们已经分析到了SQL语句最终的执行器,但是再往下分析之前,我们需要先来分析一下TM客户端与TC端通讯以后,TC端的具体操作 服务端表解释 我们的Seata服务端在应用的时…

RabbitMq及其他消息队列

消息队列中间价都有哪些 先进先出 Kafka、Pulsar、RocketMQ、RabbitMQ、NSQ、ActiveMQ 架构 消费推拉模式 客户端消费者获取消息的方式,Kafka和RocketMQ是通过长轮询Pull的方式拉取消息,RabbitMQ、Pulsar、NSQ都是通过Push的方式。 pull类型的消息队…

OpenCV制作Mask图像掩码

一、掩膜(mask) 在有些图像处理的函数中有的参数里面会有mask参数,即此函数支持掩膜操作,首先何为掩膜以及有什么用,如下: 数字图像处理中的掩膜的概念是借鉴于PCB制版的过程,在半导体制造中&am…