学习周报-20230203

news2024/11/22 19:05:11

文章目录

  • 一 在rhel7系统使用Mariadb
    • 一 联系和区别
    • 二 需求
    • 三 部署安装
      • 3.1 环境准备
      • 3.2 安装软件包
      • 3.3 启动服务
      • 3.4 设置防火墙策略
    • 四 创建用户和库表
      • 4.1 登录数据库
      • 4.2 创建用户
      • 4.3 创建数据库和表
    • 五 备份和恢复
      • 5.1 备份 com 数据库
      • 5.2 模拟误删除操作
      • 5.3 恢复表
  • 二 使用grep忽略大小写匹配
  • 三 在CentOS-6.9部署apache服务
    • 一 系统环境
    • 二 部署服务
      • 2.1 yum安装软件
      • 2.2 修改主配置文件
      • 2.3 修改防火墙规则
      • 2.4 访问测试
    • 三 主配置文件参数
      • 3.1 主配置文件常规语句
      • 3.2 主配置文件日志控制语句
      • 3.3 主配置文件的性能控制语句
  • 四 在CentOS-6.9配置apache服务(1)---基于个人主页的身份验证
    • 一 系统环境
    • 二 用户身份验证
      • 2.1 编写主配置文件
      • 2.2 编写用户身份验证的配置文件
      • 2.3 创建用户密码文件
      • 2.4 创建测试页面
      • 2.5 重启服务和测试
    • 三 基于个人主页的身份验证
      • 3.1 修改主配置文件
      • 3.2 创建测试用户
      • 3.3 创建测试的个人主页
      • 3.4 设置防火墙和selinux
      • 3.5 测试
  • 五 在CentOS-6.9配置apache服务(2)---虚拟目录配置
    • 一 需求
    • 二 系统环境
    • 三 基于Alias普通别名
      • 3.1 配置个人主页
      • 3.2 编写虚拟目录配置文件
      • 3.3 测试
    • 四 基于ScriptAlias脚本别名
      • 4.1 编写主配置文件
      • 4.2 创建测试主页
      • 4.3 测试

一 在rhel7系统使用Mariadb

一 联系和区别

Mariadb是由社区开发的一个MySQL分支,由MySQL的部分原作者构建。它提供了一系列包括备用存储引擎、服务器优化和补丁等的增强功能,是在MySQL对应版本发布后的性能优化。

MariadbMySQL
纯开源双重许可授权
不提供密码复杂度插件功能提供密码复杂度插件功能
没有memcached接口有memcached接口
支持更多的存储引擎支持的存储引擎相对较少
主要由社区开发主要由甲骨文开发
默认的二进制日志格式是混合式默认二进制日志格式是基于行

二 需求

1)安装部署Mariadb数据库。
2)根据下列要求创建用户。

用户密码特权
dickdick123对传统数据库所有表进行选择(查询)操作,且只能本地登录
jamesjames123对传统数据库所有表进行选择(查询)操作,只能通过10.0.0.10登录
legacylegacy123对传统数据库所有表进行查询、插入、更新和删除操作,可从任意网段登录

3)向 com 数据库的 sale 表中插入下列数据。

名称销售人员电话号码
HPJoe111111
DellLuke222222
LenovoDave333333

4)插入数据后对 com 数据库进行备份,且误删除该库,需要还原该库下的 sale 表。

三 部署安装

3.1 环境准备

[root@mariadb ~]# cat /etc/redhat-release 
Red Hat Enterprise Linux Server release 7.6 (Maipo)
[root@mariadb ~]# uname -r
3.10.0-957.el7.x86_64

本机使用rhel7的操作系统。

在这里插入图片描述

3.2 安装软件包

此处我们使用了groupinstall,而不是install

yum groupinstall -y mariadb mariadb-client

yum install 它安装单个软件,以及这个软件的依赖关系。

yum groupinstall 它安装一个安装包,这个安装包包涵了很多单个软件,以及单个软件的依赖关系。

在安装 mariadb 时,我们安装了这个组下面的软件包。
在这里插入图片描述

在安装 mariadb-client 时,我们安装了这个组下面的软件包。
在这里插入图片描述

安装完成后,显示结果如下:

在这里插入图片描述

3.3 启动服务

systemctl start mariadb.service 
systemctl enable mariadb.service 
systemctl status mariadb.service 

启动服务,开机自动启动服务,查看服务运行状态。

在这里插入图片描述

3.4 设置防火墙策略

设置防火墙接受远程连接。(如果防火墙本身是关闭的,则不需要设置)

[root@mariadb ~]# firewall-cmd --permanent --add-service=mysql
success
[root@mariadb ~]# firewall-cmd --reload 
success

四 创建用户和库表

4.1 登录数据库

在这里插入图片描述

4.2 创建用户

创建用户dick并授权。

在这里插入图片描述

创建用户james并授权。

在这里插入图片描述

创建用户legacy并授权。

在这里插入图片描述

最后刷新特权,并检查。

在这里插入图片描述

4.3 创建数据库和表

首先查看有哪些数据库
在这里插入图片描述

接着创建数据库 com

在这里插入图片描述

然后使用这个数据库

在这里插入图片描述

首先创建这个表,并检查属性的设置。

在这里插入图片描述

接着向表中插入数据,并检查结果。

在这里插入图片描述

五 备份和恢复

5.1 备份 com 数据库

此处使用 mysqldump 进行逻辑备份。

mysqldump -u root com > /tmp/com.dump

将备份结果放至/tmp目录下,形成com.dump文件。

在这里插入图片描述

5.2 模拟误删除操作

进入数据库,删除 com 数据库,并检查操作结果。

在这里插入图片描述

5.3 恢复表

利用逻辑备份的文件,恢复 com 数据库下的 sale 表。

虽然原本的 sale 表是在 com 数据库下的,但恢复时我们可以创建一个名称不同的新的数据库,例如数据库 abc ,在这个库下恢复 sale 表的内容。因此虽然我们在 mysqldump 时备份的对象是数据库 com ,但实际上备份的只有 sale 表。

在这里插入图片描述

创建好数据库后,就可以使用 mysql 命令恢复表。

在这里插入图片描述

经过检查确认,数据库 abc 下面的 sale 表数据成功恢复。

二 使用grep忽略大小写匹配

需求:在当前目录下有一个后缀为 .cpp 的文件,当前目录下有一个子目录,子目录中也有一个后缀为 .cpp 的文件。这两个文件中含有 字母是随机大小写的 example数据,现要求精确匹配这些内容。

测试环境部署:

在这里插入图片描述

此时检查一下文件的内容:

在这里插入图片描述

命令实现:

在这里插入图片描述

参数 -r:递归查询目录下面的子目录。
参数 -i:忽略大小写进行匹配。

在这里插入图片描述

如果将最后的 ./* 替换成 ./ ,那么当前目录以及子目录下面的隐藏文件也是查找的范围。

在这里插入图片描述

如果不添加递归查询的参数 -r ,由于 grep 最终作用的对象是文件而不是目录,所以它无法识别子目录下一级别的文件,只能识别子目录,并提示用户 这是一个目录

三 在CentOS-6.9部署apache服务

一 系统环境

参数
主机IP10.0.0.100
主机名test
操作系统版本CentOS release 6.9 (Final)
操作系统内核2.6.32-696.el6.x86_64

二 部署服务

2.1 yum安装软件

最简单的方式是 yum 安装,它会自动安装依赖的软件

yum install -y httpd

安装结束后可以发现,此处会自动检查依赖的软件并将其安装。

在这里插入图片描述

2.2 修改主配置文件

安装结束后,修改 /etc/httpd/conf/httpd.conf 配置文件,将 ServerName 修改为主机的IP

在这里插入图片描述

在命令模式下搜索 ServerName ,找到对应行,删除注释符号,并改成 本机IP:80 的形式
本机的IP是10.0.0.100,因此修改为 10.0.0.100:80
最后保存退出。

在这里插入图片描述

2.3 修改防火墙规则

接着在配置文件 /etc/sysconfig/iptables 修改防火墙规则,由于 apache 服务默认是 80 端口,所以允许80端口访问。
添加的内容如下:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

在这里插入图片描述

需要注意的是,添加的新规则必须是在末尾的两条规则的前面,否则无法访问网页内容。
最后依次重启防火墙,启动 httpd 并检查服务状态。

在这里插入图片描述

2.4 访问测试

最后打开浏览器,输入本机的IP,可以看到下面的界面,Apache服务部署成功

在这里插入图片描述

三 主配置文件参数

首先过滤掉空行内容与注释部分内容,将生效的配置参数放入一个新文件 a.txt 中

egrep -v '^$|^#' /etc/httpd/conf/httpd.conf > a.txt

由于参数过多,此处只列举常用的参数与对应的含义。

3.1 主配置文件常规语句

参数数值解释
ServerRoot“/etc/httpd”httpd服务器配置文件的根目录
Timeout120服务器在断开请求失败前等待120秒
KeepAliveon提供长久的HTTP会话,可以在一个TCP连接中进行多次请求 ,开启apache服务器的持久连接特性
StartServers8服务器启动时创建8个子进程
Listen80服务器监听的端口号是80
LoadModulemodules/mod_auth_basic.so加载目标文件或模块,并添加到活动模块列表
Includeconf.d/*.conf/etc/httpd/conf.d/目录下的所有 *.conf 文件会在服务器启动时被调用,分解主配置文件
Userapache启动apache服务器子进程的用户名
Groupapache启动apache服务器子进程的工作组
ServerAdminroot@localhost页面出现错误码时,显示这个管理员的邮箱地址
DocumentRoot“/var/www/html”主域名服务器的根目录,网站主页存放的地方
Alias/icons/ “/var/www/icons/”设置虚拟目录,用户访问 http://ip/icons 时,实际访问 /var/www/icons/
ScriptAlias/icons/ “/var/www/icons/”与Alias相比,增加了执行脚本的权限
AddDefaultCharsetUTF-8设置默认字符格式为UTF-8
ServerNamewww.oldboy.com设置主服务器的主机名为 www.oldboy.com

3.2 主配置文件日志控制语句

参数数值解释
ErrorLoglogs/error_log设置 /etc/httpd/logs/error_log为错误日志文件
LogLevelwarn设置日志记录级别,记录warn以及以上的级别
LogFormat“%h %l %u %t “%r” %>s %b “%{Referer}i” “%{User-Agent}i”” combined设置访问日志文件的格式,标识为combined
CustomLodlogs/access_log combined设置访问日志的文件,采用combined标识格式的日志记录到/etc/httpd/logs/access_log文件中

日志文件格式参数列表

格式字符串描述
%%百分号
%a远端IP地址
%A本机IP地址
%b以CLF格式显示除了HTTP头以外传送的字节数,无字节传送时显示 -
%f文件名
%h远端主机
%H请求使用的协议
%l远端登录名
%r请求的第一行
%s原始请求的状态
%>s最后请求的状态
%t普通日志格式的时间
%u远程用户名
%U请求的URL路径

3.3 主配置文件的性能控制语句

参数数值解释
MaxClients150服务器同时在线的并发请求数目
MaxRequestsPerChild0每个进程能响应的最大请求数,0表示不限制
MaxSpareServers10最大空闲服务进程数
MinSpareServers3最小空闲服务进程数
MaxKeepAliveRequests100持续连接时每个连接的最大请求数
KeepAliveTimeout5服务器关闭TCP连接时等待的时间
ThreadsPerChild50服务器使用的线程数

四 在CentOS-6.9配置apache服务(1)—基于个人主页的身份验证

一 系统环境

参数
主机IP10.0.0.100
主机名test
操作系统版本CentOS release 6.9 (Final)
操作系统内核2.6.32-696.el6.x86_64
防火墙规则允许80端口

二 用户身份验证

2.1 编写主配置文件

/etc/httpd/conf.d/ 目录下创建身份验证的配置文件

[root@test auth]# cat /etc/httpd/conf.d/user_auth.conf 
<Directory "/var/www/html/auth">
  Options Indexes
  AllowOverride AuthConfig
  Order allow,deny
  Allow from all
</Directory>

此处参数 AllowOverride 后面的值 AuthConfig 表示 允许 /var/www/html/auth 目录下的 .htaccesss文件生效,如果改成 AllowOverride None,即使 /var/www/html/auth 目录下存在 .htaccesss文件,也不会生效。

参数值含义
AllowOverride AuthConfig/var/www/html/auth 目录下的 .htaccesss 文件会生效
AllowOverride None/var/www/html/auth 目录下的 .htaccesss 文件不会生效

2.2 编写用户身份验证的配置文件

[root@test ~]# cd /var/www/html/auth/
[root@test auth]# cat .htaccess 
AuthType Basic
AuthName "请输入用户名和密码"
AuthUserFile "/var/www/html/auth/.htpasswd"
Require user oldboy
参数说明
AuthType表示验证类型
AuthName表示验证时显示的信息
AuthUserFile表示验证时的用户密码存储文件
Require user oldboy表示允许用户oldboy访问(虚拟用户,在apache服务器不存在)

如果想要允许 /var/www/html/auth/.htpasswd 的所有有效用户访问,第四个参数应是Require valid-user

2.3 创建用户密码文件

htpasswd -c /var/www/html/auth/.htpasswd oldboy

使用上述命令,创建 oldboy 的登录密码,本机创建密码为 123456

在这里插入图片描述

2.4 创建测试页面

创建测试文件,放在身份验证的站点目录下

[root@test auth]# echo "welcome to oldboy auth page" > /var/www/html/auth/index.html

2.5 重启服务和测试

重启 apache 服务,并访问浏览器

在这里插入图片描述

此处需要注意的是,浏览器访问的是 10.0.0.100/auth,再输入用户名和密码

在这里插入图片描述

并得到下方结果,表示成功

在这里插入图片描述

三 基于个人主页的身份验证

中,操作了基本的身份验证配置方法,接下来需要创建一个个人主页服务器,禁止root用户创建个人主页,而其余所有普通用户都可以创建个人主页。

3.1 修改主配置文件

首先进行配置文件的备份

[root@test ~]# cd /etc/httpd/conf
[root@test conf]# cp httpd.conf httpd.conf.bak

其次进行过滤,去掉所有的注释和空行内容

[root@test conf]# egrep -vn '#|^$' /etc/httpd/conf/httpd.conf

修改成下列的内容。
其中 disable root 表示禁止root用户创建个人主页,也就是允许所有普通用户创建个人主页。
其中 html 表示设置个人主页的目录。
其中 /home/*/html 表示针对所有普通用户的主页,例如 oldboy 用户的个人主页为 /home/oldboy/html 目录。
剩下的语句是允许客户端通过任何IP地址使用 GET POST OPTIONS 方法进行操作。

在这里插入图片描述

3.2 创建测试用户

创建用户a,禁止其shell登录,属组为a
创建用户b,禁止其shell登录,属组为a
创建用户c,禁止其shell登录,属组为c

useradd a -s /sbin/nologin 
useradd b -s /sbin/nologin -g a
useradd c -s /sbin/nologin 

3.3 创建测试的个人主页

先创建个人主页的目录,再创建测试文件

[root@test ~]# mkdir /home/{a,b,c}/html -p
[root@test conf]# echo "---welcome to a home page---" > /home/a/html/index.html
[root@test conf]# echo "---welcome to b home page---" > /home/b/html/index.html
[root@test conf]# echo "---welcome to c home page---" > /home/c/html/index.html

接着在每个用户的 html 目录下创建 .htaccess 文件。

[root@test conf]# touch /home/a/html/.htaccess
[root@test conf]# touch /home/b/html/.htaccess
[root@test conf]# touch /home/c/html/.htaccess

再分别给3个用户的 .htaccess 文件中添加内容。

[root@test conf]# cat /home/a/html/.htaccess 
AuthType Basic
AuthName "请输入用户名和密码"
AuthUserFile "/home/a/html/.htpasswd"
AuthGroupFile "/home/a/html/.htgroup"
Require user user_a
Require group group_a_b
[root@test conf]#
[root@test conf]# cat /home/b/html/.htaccess 
AuthType Basic
AuthName "请输入用户名和密码"
AuthUserFile "/home/a/html/.htpasswd"
AuthGroupFile "/home/a/html/.htgroup"
Require user user_b
Require group group_a_b
[root@test conf]#
[root@test conf]# cat /home/c/html/.htaccess 
AuthType Basic
AuthName "请输入用户名和密码"
AuthUserFile "/home/c/html/.htpasswd"
Require user user_c

然后创建身份验证用户,密码分别是12345a 、12345b 、12345c

htpasswd -c /home/a/html/.htpasswd user_a
htpasswd /home/a/html/.htpasswd user_b
htpasswd -c /home/a/html/.htpasswd user_c

在这里插入图片描述

接着创建身份验证组。

echo "group_a_b: user_a user_b" > /home/a/html/.htgroup

最后也是非常重要的一步,给目录和文件授权,配置文件注释部分的原文如下:

在这里插入图片描述

这段英文的意思我们举例说明:
如果我们创建了 oldboy 用户的个人主页,主页文件是 /home/oldboy/html/index.html
那么目录 /home/oldboy 的权限必须至少是 711
目录 /home/oldboy/html 的权限必须至少是 755
目录 /home/oldboy/html 下面的文件 index.html 权限至少是全员可读的。
否则在浏览器访问时会得到 403 无权访问的提示。

chmod 711 /home/{a,b,c}
chmod 755 /home/{a,b,c}/html
chmod a+r /home/{a,b,c}/html/*

最后检查一遍权限。

在这里插入图片描述

3.4 设置防火墙和selinux

使用命令临时关闭 SELinux

setenforce 0

接着在配置文件永久关闭SELinux,并添加防火墙规则,允许 80 端口。

在这里插入图片描述

3.5 测试

重启防火墙和apache服务。

在这里插入图片描述

在浏览器输入本机的IP以及对应的用户。

10.0.0.100/~a
10.0.0.100/~b
10.0.0.100/~c

在这里插入图片描述

登陆成功后,得到的结果如下图:

在这里插入图片描述

其他用户主页的登陆方式同理。

五 在CentOS-6.9配置apache服务(2)—虚拟目录配置

一 需求

基于用户个人主页的身份验证,在浏览器输入 10.0.0.100/~a 可以得到用户a的个人网页信息,但为了提高系统的安全性,一般需要将 ~a ~b ~c 隐藏起来,所以需要设置一个虚拟目录,也叫目录别名。

当我们搜索 10.0.0.100/a 时,实际访问的是 /home/a/html 目录下的内容。

二 系统环境

参数
主机IP10.0.0.100
主机名test
操作系统版本CentOS release 6.9 (Final)
操作系统内核2.6.32-696.el6.x86_64
防火墙规则允许80端口

三 基于Alias普通别名

3.1 配置个人主页

编写apache主配置文件,创建a、b、c用户的测试文件,创建相关.htaccess.htpasswd文件,给用户家目录以及下面的子目录授予对应的权限,设置SELinux和iptables。

3.2 编写虚拟目录配置文件

进入 /etc/httpd/conf.d/ 目录,编写可被识别的apache附加的虚拟目录的配置文件。

当输入 10.0.0.100/a 时,可以访问 /home/a/html 站点目录下的内容;
当输入 10.0.0.100/b 时,可以访问 /home/b/html 站点目录下的内容;
当输入 10.0.0.100/c 时,可以访问 /home/c/html 站点目录下的内容;

[root@test ~]# cd /etc/httpd/conf.d/
[root@test conf.d]# cat vir_dir.conf 
Alias  "/a"  "/home/a/html"
Alias  "/b"  "/home/b/html"
Alias  "/c"  "/home/c/html"

3.3 测试

添加,修改,删除配置文件,都应重启 httpd 服务。

service httpd restart

在浏览器输入 10.0.0.100/b

在这里插入图片描述

此外,也可以在Linux命令行中用 curl 命令测试:

curl -L 10.0.0.100/c -u user_c

其中参数-u,指定登陆的用户名;
参数-L,自动重定向到指定页面。

在这里插入图片描述

由此可见,虚拟目录配置成功。

四 基于ScriptAlias脚本别名

4.1 编写主配置文件

打开 /etc/httpd/conf/httpd.conf 配置文件,将下列内容前面的注释符号去掉,使其生效

在这里插入图片描述

4.2 创建测试主页

首先创建测试文件

[root@test conf]# touch /var/www/cgi-bin/index.cgi
[root@test conf]# cat /var/www/cgi-bin/index.cgi 
#!/usr/bin/perl
print "Content-type:text/plain \n\n";
print "-----welcome to cgi page-----\n";

接着赋予该文件执行权限

[root@test conf]# chmod +x /var/www/cgi-bin/index.cgi 
[root@test conf]# ll  /var/www/cgi-bin/index.cgi 
-rwxr-xr-x 1 root root 54 131 11:55 /var/www/cgi-bin/index.cgi

4.3 测试

先重启httpd服务

[root@test conf]# service httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd:                                            [  OK  ]

接着在命令行输入 curl 10.0.0.100/cgi-bin/index.cgi

在这里插入图片描述

也可以在浏览器输入 10.0.0.100/cgi-bin/index.cgi

在这里插入图片描述

ScriptAlias脚本别名配置成功。

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

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

相关文章

如何建立异形板框的内缩和外扩

如何建立异形板框的内缩和外扩 首先把需要内缩和外扩的外形图设置在信号层&#xff08;比如TOP&#xff09;&#xff0c;把线宽改为0mil&#xff08;方便计算&#xff09;。然后选择外形图&#xff0c;执行命令TJ&#xff0c;就可以得到内缩和外扩图形。然后把生成的图形修改到…

Linux-查找文件、软链接、打包压缩和软件安装

查找文件find软链接ln打包和压缩tar软件安装apt-get1.查找文件find命令功能强大&#xff0c;通常用来在特定的目录下搜索符合条件的文件序号命令作用01find[路径] -name"*.py"查找指定路径下扩展名是.py的文件&#xff0c;包括子目录如果省略路径&#xff0c;表示在当…

最新整理Spring面试题2023

Spring面试专题 1.Spring应该很熟悉吧&#xff1f;来介绍下你的Spring的理解 有些同学可能会抢答&#xff0c;不熟悉!!! 好了&#xff0c;不开玩笑&#xff0c;面对这个问题我们应该怎么来回答呢&#xff1f;我们给大家梳理这个几个维度来回答 1.1 Spring的发展历程 先介绍…

【C++入门】引用详解(引用的特性、引用的使用、引用与指针的区别)

文章目录1 引用概念2 引用特性3 使用场景4 常引用5 传值与传引用的效率比较5.1 值和引用作为函数参数的性能比较5.2 值和引用作为返回值类型的性能比较6 引用和指针的区别1 引用概念 引用不是新定义一个变量&#xff0c;而是给已存在的变量取了一个别名&#xff0c;编译器不会为…

浅谈网络流

网络 网络是一张单向图 , 每条边都有一个权值 c(u,v)c(u,v)c(u,v) 表示边 (u,v)(u,v)(u,v) 的容量. 特别的 , 图上有源点 (s)(s)(s) 和汇点 (t)(t)(t). 网络流 在一张网络上 , 从源点流出 , 最终流入汇点的流. f(u,v)f(u,v)f(u,v) 表示 (u,v)(u,v)(u,v) 的流量. 满足 : 容…

【测试总结系列-1】质量保障之测试左移和右移

在开发一个系统或者说软件&#xff0c;需求分析、软件设计、程序编码、软件测试、运行维护&#xff0c;这些阶段必不可少。整个周期中&#xff0c;作为测试人员&#xff0c;不是只在测试阶段才能发挥作用&#xff0c;也不是仅有测试对软件质量负责&#xff0c;一个项目团队&…

关于图片上传和在页面显示问题

最近在工作中遇到一个关于图片上传的问题。根据之前项目的经验&#xff0c;我知道目前这个公司上传图片有两种方式&#xff0c; 一种是把图片上传到公司服务器上&#xff0c;然后把图片放在服务器上的地址存在数据库中&#xff0c;要获得图片的时候直接从库中拿地址就行了另一…

分析网络抓包用 python 更高效

Abstract分析网络抓包用 python 更高效AuthorsWalter FanCategorylearning noteStatusv1.0Updated2023-01-10LicenseCC-BY-NC-ND 4.0 网络抓包分析用的最多的两大工具是 tcpdump 和 wireshark. 一般我们通过 tcpdump 或者 wireshark 来捕获网络包为 *.pcap 或者 *.pcapng 文件 …

Elasticsearch:在 Elasticsearch 中按距离有效地对地理点进行排序

计算搜索中两点之间的距离有很多用例。 如果你正在处理地理数据&#xff0c;那么无论你从事何种业务&#xff0c;这都必然会出现。 然后&#xff0c;在对这些点进行排序时&#xff0c;你可能需要考虑距离&#xff0c;因为……好吧&#xff0c;为什么不呢&#xff1f; 所以这里…

算法训练营DAY48|121. 买卖股票的最佳时机、122.买卖股票的最佳时机II

这一期到了买卖股票专题&#xff0c;买卖股票的有一些题型&#xff0c;可以使用贪心算法来求解&#xff0c;甚至有时候比动态规划更简单一些&#xff0c;但是本期是讲动态规划的运用&#xff0c;所以不做对于贪心的分析。今天只讲两道例题&#xff0c;其中第二题是第一题的变种…

[NeurIPS 2017] Poincaré Embeddings for Learning Hierarchical Representations

ContentsIntroductionPoincar EmbeddingsThe Limitations of Euclidean Space for Hierarchical DataEmbedding Hierarchies in Hyperbolic SpaceEvaluationReferencesIntroduction 如今&#xff0c;表征学习变得越来越重要 (e.g. word embedding, embeddings of graphs, embe…

如何在电脑上安装 Windows 版桌面编辑器 v7.3

线上编辑器的桌面端版本不需要持续的互联网连接&#xff0c;还可在计算机上处理脱机文件。因此&#xff0c;如果您需要此类功能&#xff0c;可从我们的网站中下载并安装桌面编辑器。 ONLYOFFICE桌面编辑器最新版 最近 ONLYOFFICE 发布了 v7.3&#xff0c;最新版本的桌面编辑器…

SpringBoot+Vue点餐系统

简介&#xff1a;本项目采用了基本的springbootvue设计的点餐。系统。详情请看截图。经测试&#xff0c;本项目正常运行。本项目适用于Java毕业设计、课程设计学习参考等用途。 项目描述 项目名称SpringBootVue点餐系统源码作者LHL项目类型Java EE项目 &#xff08;前后分离&a…

ESP-IDF:命令模式测试

ESP-IDF:命令模式 /命令模式/ /设计模式之开闭原则&#xff0c;对增加开放对修改关闭/ #include #include class ClientCommands{ //统一管理命令&#xff0c;这是比观察者模式多出来的地方 public: void AddMoney(){ cout<<“add money”<<endl; } void AddEqu…

图解LeetCode——1145. 二叉树着色游戏(难道:中等)

一、题目 有两位极客玩家参与了一场「二叉树着色」的游戏。游戏中&#xff0c;给出二叉树的根节点 root&#xff0c;树上总共有 n 个节点&#xff0c;且 n 为奇数&#xff0c;其中每个节点上的值从 1 到 n 各不相同。 最开始时&#xff1a; 「一号」玩家从 [1, n] 中取一个值…

Ubuntu22.04安装nvidia显卡驱动

Ubuntu22.04安装nvidia显卡驱动 目录 方法一&#xff1a;使用官方的NVIDIA驱动进行手动安装&#xff08;稳定、靠谱&#xff09; 方法二&#xff1a;使用系统自带的“软件和更新”程序-附加驱动更新&#xff08;需要联网&#xff0c;稳定性无法验证&#xff09; 浓缩极简方法…

MySQL入门篇-视图简介

备注:测试数据库版本为MySQL 8.0 这个blog我们来聊聊MySQL视图。 前言: 视图是从一个或几个基本表导出的表。视图本身不独立存储在数据库中&#xff0c;是一个虚表。 即数据库中只存放视图的定义而不存放视图对应的数据&#xff0c;这些数据仍存放在导出视图的基本表中。 视…

[Windows] 微信超级管家,自动好友回复、计数、自动同意、群发、好友导出、消息日志、无限多开

简介 微信超级管家是一款大神针对微信制作的工具&#xff0c;它的主要功能包括了自动回复、好友计数、自动同意、群发、好友导出、消息日志、无限多开等等&#xff0c;让你拥有无限潜力哈&#xff0c;经常使用微信电脑版的朋友一定会用的上。 下载 微信超级管家 软件功能 1…

安全测试之浅析静态应用

SAST&#xff0c;Static Application Security Testing&#xff0c;即静态应用安全测试&#xff0c;也叫静态分析&#xff0c;是一种测试方法&#xff0c;一直是应用程序安全性工作的核心部分。根据Forrester的 The State Of Application Security, 2022一文的预测&#xff0c;…

云计算|OpenStack|社区版OpenStack安装部署文档(七--- 仪表盘服务dashboard的安装部署---Rocky版)

前言&#xff1a; 仪表盘是一般项目的标配&#xff0c;有了仪表盘可以降低运维工作&#xff0c;并且很多的管理工作是可以可视化的。本节计划在控制节点安装openstack官网的仪表盘项目 openstack由于是一个开源的社区版本云计算项目&#xff0c;因此&#xff0c;它的web仪表盘…