Linux运维面试题(四)之Linux服务管理
Linux运维面试题(四)之Linux服务管理
- 4.1 SSH
- SSH的登录验证方式
- SSH的登陆端口(默认22)和监听设置(/etc/ssh/sshd_config)
- SSH的登录用户限制(/etc/ssh/sshd_config PermitRootLogin)
- SSH的登录超时设置(/etc/profile export TMOUT=300 设置客户端无操作5分钟 unset TMOUT)
- SSH登录失败尝试次数(/etc/ssh/sshd_config MaxAuthTries 6)
- 答案
- ssh连接时认证时间过长如何解决?
- scp和rsync进行远程文件复制有什么区别?
- 4.2DHCP+FTP
- DHCP租约过程
- DCHP续租
- FTP的主被动模式
- 主动模式
- 被动模式
- 集群环境中,如何保证所有服务器之间的时间误差较小
- 4.3DNS服务(域名解析服务)
- 域名
- DNS原理及解析流程
- 4.4Apache配置及优化
- 问题
- 考查知识点1——虚拟主机:解决同一主机部署多个服务器(网站)
- 考查知识点2——地址重写
- apache的工作模式
- Apache优化
- 请写出工作中常见的Apache优化策略
- 有哪些技术可以提高网站的安全和效率?
- CDN内容分发网络
- 4.5Nginx配置和进阶
- Apache和nginx(web服务器)的优缺点,怎么选择?
- apache的优缺点
- Nginx(高性能、轻量级、反向代理服务器)的优缺点:
- apache和nginx的选择
- nginx处理过程
- nginx反向代理和负载均衡
- 为什么nginx的并发能力强,资源消耗低?
- 同步与异步
- 阻塞和非阻塞
- Nginx常用模块及功能
- Nginx如何连接PHP进行页面解析的
- Nginx和Tomcat之间的数据传输过程
- 4.6http状态码
- 网络服务分为:经验类;服务优化类;程序优化;架构优化。
4.1 SSH
- (1)哪些设置能够提升SSH远程管理的安全等级?
SSH的登录验证方式
- 口令登陆,密钥对登陆
SSH的登陆端口(默认22)和监听设置(/etc/ssh/sshd_config)
- (生产中绝大部分,防止敌手通过暴力破解登陆服务器)
- 质疑码
- 修改为上万的端口;只允许内网的远程登录,而不允许公网的。
SSH的登录用户限制(/etc/ssh/sshd_config PermitRootLogin)
- 普通用户对服务器的权限是有限的。
- 默认是允许,改为no。
SSH的登录超时设置(/etc/profile export TMOUT=300 设置客户端无操作5分钟 unset TMOUT)
SSH登录失败尝试次数(/etc/ssh/sshd_config MaxAuthTries 6)
答案
- 答:登录验证模式修改为密钥登录
登录端口修改为非22端口以及指定监听IP
禁止root用户远程登录
设置无操作时自动断开连接
设置登录失败后登录尝试次数为6次
编写防火墙规则,使用白名单机制放行ssh服务监听端口
ssh连接时认证时间过长如何解决?
/etc/ssh/sshd_config UseDns no
取消ssh登录时的dns反向解析请求功能
scp和rsync进行远程文件复制有什么区别?
- scp借助ssh服务进行操作
4.2DHCP+FTP
- (1)请简述通过DHCP服务器获取IP地址的过程
- 实现搭建服务和资源池。位于局域网内的服务。
- /etc/dhcp/dhcpd.conf
- 资源池范围,DNS地址,网关地址。
DHCP租约过程
- 首先,客户端无IP,而是进行广播(自身MAC地址);
- 是DHCP的服务器响应,找合理可用的IP地址将OFFER包发送出去,再次在局域网内进行广播(通过指定MAC地址);
- 广播回复Request包,声明服务器,告知其要用资源。
- 服务器回复ACK、NAK(资源已分配)、NACK。
DCHP续租
-
-
直连而不是广播
租约是广播,续租是直连 -
DHCP租用失败:
1.如果DHCP客户机无法找到DHCP服务器,他将从TCP/IP的B类网段169.254.0.0/16中挑选一个IP地址作为自己的临时IP地址,继续每隔5分钟尝试与DHCP服务器进行通讯,一旦与DHCP服务器取得联系,则客户机放弃自动配置的临时IP地址,而使用DHCP服务器分配的IP地址。
2.DHCP客户机收到DHCP服务器回应的ACK报文后,通过地址冲突检测(ARP协议)发现服务器分配的地址冲突或者由于其他原因导致不能使用,则发送DECLINE报文,通知服务器所分配的IP地址不可用。 -
答:
1.客户机请求IP(客户机发DHCPDISCOVER广播包)
2.服务器响应(服务器发DHCPOFFER广播包)
3.客户机选择IP(客户机发DHCPEQUEST广播包)
4.服务器确定租约(服务器发DHCPACK/DHCPNAK广播包)
FTP的主被动模式
主动模式
- 先建立登陆请求,再建立数据传输请求。
- 21一直监听,20默认关闭(只有数据传输时才开启)
被动模式
- 只有指定的服务器才知道该开放端口是多少。(客户端给每个服务器建立的端口不一样)
集群环境中,如何保证所有服务器之间的时间误差较小
- 手动测试同步:
ntpdate 时间服务器IP地址 - 自动同步:
可以将命令写入计划任务
4.3DNS服务(域名解析服务)
域名
- 二级域(又称注册域)
- 三级域(二级域的子域)
- 个人电脑并不知道网站的IP
DNS原理及解析流程
- 1、/etc/hosts 用来做解析 保存即生效
- 只有IPV4和IPV6的地址。
ping通来验证。- 2、网卡配置文件 /etc/sysconfig/network-script/ifcfg-eth0
- DNS:解决新增和维护
答:
- 客户机首先查看本地hosts文件是否有解析记录。有则直接用来访问web server
没有则向网卡中记录的首选DNS(本地DNS)发起查询请求
本地DNS若有记录则返回给客户端,客户端接收到后直接访问web server
………………………………………………………………………………………………
若没有,则本地DNS向根域服务器发起请求,请求解析对应顶级域的IP地址(开始迭代查询)
本地DNS得到顶级域服务器IP后,再向顶级域服务器发起请求,请求解析权威DNS服务器的IP地址
本地DNS服务器获取到权威DNS服务器IP地址后,再向其查询具体的完整域名的对应解析记录
最终本地DNS将查询到的对应域名的解析记录发送给客户端,并在本地记录一份 - 迭代查询,根-顶级域-二级域-三级域
- (2)权威DNS和(本地)递归DNS的含义
权威DNS是经上一级授权对域名进行解析的DNS服务器,同时它可以把解析授权转授给其他服务器
递归DNS负责接受用户对任何域名的查询,并返回结果给用户,它可以缓存结果避免用户再向上查询 - (3)智能DNS
将对用户发起的查询进行判断出是哪个运营商的用户查询,然后将请求转发给相应的运营商IP处理,减少跨运营商访问的时间,提高访问速度。
4.4Apache配置及优化
问题
- 公司里有一台服务器,需要在上面跑两个网站(虚拟主机的功能),并且其中一个网站需要更换新域名(生产环境中,新旧域名同时用,旧域名向新域名跳转),请问如何处理?
网站1:www.a.com
网站2:www.b.com > www.d.com
考查知识点1——虚拟主机:解决同一主机部署多个服务器(网站)
- 基于IP的虚拟主机
基于IP+端口的虚拟主机
基于域名的虚拟主机 - 1、用IP区分网站
ifconfig eth0:0 设置网卡子接口 临时生效;永久:扩展插头/虚拟机 新增网卡接口+配置文件
httpd.conf: - 临时生效,重启后不存在
- 关机并添加网卡,添加配置文件
- 域名配置文件
- 安装apache软件,修改配置文件
- 备份
- 拷贝,删除日志和管理员信息
- 在标签的标签里面去声明IP,作为两个网站的IP
- 为网站创建目录和文件
重启服务
- 测试访问
- 2、用端口区分网站
httpd.conf LISTEN要监听新增的端口 - 解析成相同IP
- 重启网卡服务,取消21端口IP地址
- 使apache既监听80又监听8080(同时修改设置)
- 重启服务
- 3、数据包的关键词
- 拆分数据包
- b和d新旧域名跳转
- host1
- apache
- b和d网页目录一样
- 开启基于域名的开关,否则可能出现报错
-跳转规则:.*任意内容,当有用户访问b则跳转到d
考查知识点2——地址重写
- apache将所有功能模块化
httpd.conf :
NameVirtualHost *:80 开关
apache的工作模式
- 1、prefork模式:事先开启子进程,单进程单线程处理单个请求
- 成熟稳定
2、worker模式:一对多线程,并发能力强点,但不安全(线程安全问题)
3、event模式:+分配管理线程 更擅长高并发- 查看工作模式:httpd -V | grep -i “server mpm”
- 线程频繁与客户端建立连接,额外消耗系统资源
- 不需要建立新的三次握手,直接发送页面。——》处理更多用户的请求。
- 有部分线程处理完了但是在等待,出现新问题
- 管理用户和线程的连接(新增管理线程的模式)
Apache优化
请写出工作中常见的Apache优化策略
- Apache服务器的安全、效率
- (1)日志的轮替(防止日志过大)
access.log(访问日志)/error.log(报错信息)(/var/log)
利用apache自带的rotatelogs工具进行日志切割,保证单个日志文件不过大 - 分割日志文件名,用年月日命名保存
- CustomLog “| /bin/rotatelogs -l /wwwlogs/access_%Y%m%d.log 86400” combined
- 将apache日志保存到指定位置
- 对应秒数24小时,保留当天
- (2)美化错误页面
可以将404 500等错误信息页面重定向到网站首页或其他页面,提升用户体验。
vim httpd.conf
ErrorDocument 404 http://www.a.com
- (3)屏蔽apache版本等敏感信息
- 修改版本信息,以免版本对应漏洞
- (4)配置静态缓存(特定文件,减少服务器的访问压力)
- 缓存周期可以人为修改和调整
- (5)禁止解析PHP
- 如:uploads目录 上传了非法代码 禁止它的解析
- 最后一条,禁止php解析该目录,利用上传漏洞上传但仍无法解析与提权。
有哪些技术可以提高网站的安全和效率?
CDN内容分发网络
- 所有的客户请求都扔给了当地的CDN机房,资源同步的大规模缓存,减轻压力,且保护了真正的服务器(身份)
- 中间:CDN服务器集合
- 服务器把相对变化频率较低如图片,通过Control Server分发到各个城市的网站服务器上。各个城市对网站访问时,首先会通过自身途径找到DNS服务器或者自己的Hosts文件找到对应服务器的域名解析答案,智能DNS首先把用户请求解析到另一个DNS服务器上,交由另一个DNS服务器来进行二次处理。
- 新DNS(CDN内部的DNS)将深圳用户请求解析成深圳DNS(机房IP)
- 保证不同城市的用户访问的网络资源都是就近从自己本地城市的CDN机房里拿到的资源,而不是直接找的web服务器取到的资源。
- 不同城市访问同一个网络资源时都很快,在各个城市部署了CDN,CDN资源都是一样的。
- 提高效率和用户体验度。保护服务器,即使受到攻击也是CDN机房,不是web服务器。
4.5Nginx配置和进阶
Apache和nginx(web服务器)的优缺点,怎么选择?
apache的优缺点
优点:
Apache的rewrite功能比nginx的要强大
模块非常多,基本想要的功能都能找到模块
存在时间较长,文献较全,bug也相对较少
动静态解析都超稳定(静态解析:html+css,动态解析:解析需要连接数据库的页面:PHP-》sql)
缺点:
由于工作模式是同步阻塞型,导致资源消耗较高,并发能力较差(相较于其他web服务器)
Nginx(高性能、轻量级、反向代理服务器)的优缺点:
优点:
轻量级服务,比Apache占用更少的内存及资源
并发能力强,nginx处理请求是异步非阻塞的,而apache则是阻塞型的,在高并发下nginx能保持低资源低消耗(远高)高性能
高度模块化的设计,编写模块相对简单
社区活跃,各种高性能模块产出迅速
缺点:
动态处理上需要使用fastcgi连接PHP的FPM服务,相比Apache不占优势
apache和nginx的选择
nginx适合做静态处理,简单,效率高
apache适合做动态处理,稳定,功能强
并发较高的情况下优先选择nginx,并发要求不高的时候两者都可以,规模稍大的可以使用nginx作为反向代理,然后将动态请求 负载均衡到后端apache上
nginx处理过程
- 接受动态请求时,交付给fastcgi
nginx反向代理和负载均衡
- 当用户量非常大,既有静态又有动态请求的时候,让Nginx充当所有用户的请求服务器(提供一个80端口),动态请求是不会做请求处理的,而是通过自身的反向代理模块代理到后端的Apache服务器。如轮询算法:来一个分一个。
- 并发性高,页面处理效率和稳定性也很强。
为什么nginx的并发能力强,资源消耗低?
- 同步/异步 + 阻塞/非阻塞 nginx以异步非阻塞方式工作
客户端发送request,服务器分配work进程来处理
能立即处理完的,处理后work进程释放资源,进行下一个request的处理
不能立即处理完的work进程注册返回事件,然后接着去处理其他request
当之前的request结束返回后,触发返回事件,由空闲work进程接着
通过这种快速处理,快速释放请求的方式,达到同样的配置可以处理更大并发量的目的
同步与异步
阻塞和非阻塞
- 同步阻塞,当Apache工作之后,有用户请求过来,Apache会分配一个线程处理请求,Apache会等待请求处理完毕,才会断开连接请求。用户请求等待,进程什么都不干。
- 异步非阻塞,nginx:有用户请求发送过来时,nginx发送一个线程来处理,如果该线程需要等待,则nginx这个线程会临时将事务挂起,接收新用户请求。
Nginx常用模块及功能
- https:443,http:80(默认);要求用户rewrite。nginx虚拟主机
- 图片裁剪模块
- 地址重写模块
- 反向代理功能
- 默认开启,需要编写规则
- 借助另外的模块对后台服务器进行任务的分配和管理
- RR算法,轮询算法
- php环境下高并发、java环境下
- LAMP
- Apache和php模块直连
- 而LNMP,动态请求时
- 静态无区别,中间。
- L(N)TMJ:nginx并发能力强。动态找Tomcat,静态不找。
- 重要的是nginx做反向代理。
- 这里既可以是一堆Apache服务器,也可以是一堆tomcat服务器。
Nginx如何连接PHP进行页面解析的
- php无服务,是一个解析翻译器,被调用。(默认不安装)中间连接点——连接端、接口——9000;
- CGI(Common Gateway Interface)公共网关接口,是外部扩展应用程序与 Web 服务器交互的一个标准接口。服务器端与客户端进行交互的常见方式多,CGI 技术就是其中之一。根据CGI标准,编写外部扩展应用程序,可以对客户端浏览器输入的数据进行处理,完成客户端与服务器的交互操作。
FastCGI是语言无关的、可伸缩架构的CGI开放扩展,其主要 行为是将CGI解释器进程保持在内存中并因此获得较高的性能。
Nginx和Tomcat之间的数据传输过程
- 由nginx代为处理静态页面请求,直接返回。动态请求由nginx代理到tomcat(两个负载均衡),处理后返回用户。
4.6http状态码
1**:信息,服务器收到请求,需要请求者继续执行操作
2**:成功,操作被成功接收并处理
3**:重定向,需要进一步的操作已完成请求
4**:客户端错误,请求包含语法错误或无法完成请求
5**:服务器错误,服务器在处理请求的过程中发生了错误
- 1.2.3客户端看不到,服务器端日志。
http1.0->http2.0- 203副本信息、204网页无更新、205用户重置展现新页面——页面更新、206用户处理资源只有某些成功。
- 301用于选择用户客户端浏览器、R=301永久重定向、302临时替换、303与上面不一样、304用户请求到的是缓存信息而不是服务器上的资源、305用户被迫使用代理、307和302类似
- 400请求的url地址错误或者内容错误、401提示客户端身份认证才能对对应资源进行访问、402暂停对应信息、403(特别常见)服务器理解请求但拒绝解析、404服务器找不到对应资源、405请求方法被禁用(POST、GET)、406服务器无法对客户端不合理的请求进行处理、407请求代理服务器进行授权或身份认证
- 相对常见的状态码
相关文章:

Linux运维面试题(四)之Linux服务管理
Linux运维面试题(四)之Linux服务管理 4.1 SSHSSH的登录验证方式SSH的登陆端口(默认22)和监听设置(/etc/ssh/sshd_config)SSH的登录用户限制(/etc/ssh/sshd_config PermitRootLogin)SSH的登录超时设置(/etc/…...

ChatGPT能否撰写科研论文?
ChatGPT,这款被许多人誉为语言处理领域的“黑马”,究竟能否应用于撰写科研论文?近期,以色列理工学院生物学家兼数据科学家Roy Kishony带领的团队,针对这一问题进行了系列研究,其结果已在《Nature》杂志上发…...

2023 电赛 E 题 K210方案
第一章:K210 介绍 K210芯片是一款基于RISC-V架构的嵌入式人工智能芯片,具备低功耗、高性能的特点。它拥有强大的图像处理和机器学习能力,适用于边缘计算设备和物联网应用。为了方便开发者,K210芯片提供了丰富的外设接口ÿ…...

网络知识介绍
一、TCP 传输控制协议,Transmission Control Protocol。 面向广域网的通信协议,跨域多个网络通信时,为两个通信端点之间提供一条具有如下特点的通信方式: 基于流、面向连接、可靠通信方式、网络状况不佳时尽量降低系统由于重传带…...

MapStruct设置全局的ComponentModel
在mapStruct上边,如果我们要切换成非默认的组件模式,常常要在Mapper注释中添加componentModel "spring",如果类太多的了的话,非常麻烦,有没有更好的方式呢,有的,可以在pom中添加一个…...

LinearAlgebraMIT_6_ColumnSpaceAndNullSpace
这节课的两个重点是column space列空间和null space零空间。 x.1 pre-multiply/left multiply and post-multiply/right multiply 对于pre-multiply/left multiply左乘和post-multiply/right multiply右乘,如果用英文的pre-和post-是比较容易理解的, A…...

出版物经营许可办理 出版物许可地址变更 出版物零售延期
一、出版物零售单位设立所需材料 1、申请书 2、营业执照 3、租赁合同 4、主要负责人身 份证 5、出版物经营许可申请表 二、办理出版物经营许可证所要符合的条件 1、有确定的企业名称和经营范围; 2、有出版物业务的经营场地; 3、有出版物业务的组织机构和发行人员。 三、…...

【LeetCode每日一题】——807.保持城市天际线
文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【解题思路】八【时间频度】九【代码实现】十【提交结果】 一【题目类别】 矩阵 二【题目难度】 中等 三【题目编号】 1572.矩阵对角线元素的和 四【题目描述】 给你一…...

JavaScript--Date(日期)对象
介绍和说明 创建一个Date对象并获取当前日期和时间: 使用new Date()语句可以创建一个表示当前日期和时间的Date对象。它将使用客户端设备上的当前日期和时间。例如:const currentDate new Date(); 获取特定日期的年、月、日、小时、分钟、秒࿱…...

一文讲清多线程与多线程同步
1 多线程 1.1 线程的概念 十多年前,主流观点主张在可能的情况下优先选择多进程而非多线程,如今,多线程编程已经成为编程领域的事实标准。多线程技术在很大程度上改善了程序的性能和响应能力,使其能够更加高效地利用系统资源&…...

《Java-SE-第二十六章》之线程池
前言 在你立足处深挖下去,就会有泉水涌出!别管蒙昧者们叫嚷:“下边永远是地狱!” 博客主页:KC老衲爱尼姑的博客主页 博主的github,平常所写代码皆在于此 共勉:talk is cheap, show me the code 作者是爪哇岛的新手,水平很有限&…...

【数据库】将excel数据导入mysql数据库
环境:Windows10 mysql8以上 将你要导入的excel表另存为txt格式 打开txt格式文件,删除表头行并另存为并更改编码方式(由于与数据库的编码不同,会导致导入报错) 通过命令行登录数据库 winr cmd进入 进入装mysql的目录位…...

无涯教程-Lua - repeat...until 语句函数
与 for 和 while 循环(它们在循环顶部测试循环条件)不同,Lua编程中的 repeat ... until 循环语言在循环的底部检查其条件。 repeat ... until 循环与while循环相似,不同之处在于,保证do ... while循环至少执行一次。 repeat...until loop - …...

环形链表 LeetCode热题100
题目 给你一个链表的头节点 head ,判断链表中是否有环。 思路 快慢指针。开始快指针在慢指针前面,当快指针等于慢指针时说明有环,如果快指针指向null时说明无环。 代码 /*** Definition for singly-linked list.* struct ListNode {* …...

使用python将每组两行数据合并一行
1、使用场景 将有规律的每组(一组2行)的单数行和双数行合并为一行,以空格分割。 比如使用pssh批量得出的结果,想让ip行和结果行合并为一行(前提如上所述) [rootk8s-master1 tmp]# pssh -h iplist -i hostname [1] 18:12:42 [SU…...

14-1_Qt 5.9 C++开发指南_网络编程及主机信息查询_HostInfo
Qt 网络模块提供了用于编写 TCP/IP 客户端和服务器端程序的各种类,如用于 TCP 通信的QTcpSocket 和 QTcpServer,用于 UDP 通信的 QUdpSocket,还有用于实现 HTTP、FTP 等普通网络协议的高级类如 QNetworkRequest,QNetworkReply 和Q…...

【iOS】通知原理
我们可以通过看通知的实现机制来了解通知中心是怎么实现对观察者的引用的。由于苹果对Foundation源码是不开源的,我们具体就参考一下GNUStep的源码实现。GNUStep的源码地址为:GNUStep源码GitHub下载地址, 具体源码可以进行查看。 通知的主要流程 通知全…...
创建邮件服务器(小微企业)
这里写自定义目录标题 目的硬件选型:软件选型:coremail (商业版本)postfixumail免费开源版本新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适…...

android app控制ros机器人四(调整界面布局)
半吊子改安卓,记录页面布局调整: 在ros-mobile基础上顶端增加一行,用于显示app名称和logo图像;修改标签页。 添加文字简单,但是替换图标长知识了,开始只是简单的把mipmap各个文件夹下的图片进行替换&…...

稍微深度踩坑haystack + whoosh + jieba
说到django的全文检索,网上基本推荐的都是 haystack whoosh jieba 的方案。 由于我的需求对搜索时间敏感度较低,但是要求不能有数据的错漏。 但是没有调试的情况下,搜索质量真的很差,搞得我都想直接用Like搜索数据库算了。 但是…...

微信小程序(van-tabs) 去除横向滚动条样式(附加源码解决方案+报错图)
问题描述 今天第一次接触vant组件库。 ant官网地址适用于Vue3 支持Vue2、Vue3、微信小程序等 我在使用van-tabs组件时遇到了一个问题,如下图所示: 从图片上可以看到有个灰色的横向滚动条,一开始领导给我说这个问题,我反反复复都…...

激光切割机所发出的辐射是否会对人体产生危害呢
激光切割设备所发出的激光作为一种特殊的能量光源,在一定程度上是存在辐射的。由于光纤激光器的功率通常大于半导体激光器,因此其辐射安全性也受到我们的关注。那么这种辐射的危害究竟有多大呢? 第一级:在正常操作下,不会发出对人…...

Redis 高可用:主从复制、哨兵模式、集群模式
文章目录 一、redis高可用性概述二、主从复制2.1 主从复制2.2 数据同步的方式2.2.1 全量数据同步2.2.2 增量数据同步 2.3 实现原理2.3.1 服务器 RUN ID2.3.2 复制偏移量 offset2.3.3 环形缓冲区 三、哨兵模式3.1 原理3.2 配置3.3 流程3.4 使用3.5 缺点 四、cluster集群4.1 原理…...

在GitHub上管理和协作的完全指南
介绍 GitHub 是一个强大的版本控制和协作平台,它不仅可以帮助你管理和跟踪项目的变化,还可以与他人进行协作。本文将详细介绍如何使用 GitHub 的各种功能来管理和协作项目。 目录 注册GitHub账号创建和管理仓库 创建仓库添加和管理文件分支管理合并请…...

git管理工具学习(图解使用git工作流程)
目录 GIT 简介一个最简单的GIT操作流程git的工作流程&命令 GIT 简介 git是什么,在维基百科上是这么介绍的:git是一个分布式的版本控制软件 分布式是相对于集中式而言的,分布式即每一个git库都是一个完整的库。 每个库的地位都是平等的&am…...

单例模式(Singleton)
单例模式保证一个类仅有一个实例,并提供一个全局访问点来访问它,这个类称为单例类。可见,在实现单例模式时,除了保证一个类只能创建一个实例外,还需提供一个全局访问点。 Singleton is a creational design pattern t…...

2023-08-02 LeetCode每日一题(翻转卡片游戏)
2023-08-02每日一题 一、题目编号 822. 翻转卡片游戏二、题目链接 点击跳转到题目位置 三、题目描述 在桌子上有 N 张卡片,每张卡片的正面和背面都写着一个正数(正面与背面上的数有可能不一样)。 我们可以先翻转任意张卡片,…...

JAVAWEB项目--POST完整交互(servlet,axios,JavaScript)
post交互 js: axios.post("/mycsdn/blog/pageSer", {currentPage:currentPage,}).then(function (response) {window.location.href url;}).catch(function (error) {console.error("分页未遂", error);}); 后端servlet: public…...

统一观测|借助 Prometheus 监控 ClickHouse 数据库
引言 ClickHouse 作为用于联机分析(OLAP)的列式数据库管理系统(DBMS), 最核心的特点是极致压缩率和极速查询性能。同时,ClickHouse 支持 SQL 查询,在基于大宽表的聚合分析查询场景下展现出优异的性能。因此,获得了广泛的应用。本文旨在分享阿…...

【Golang】基于录制,自动生成go test接口自动化用例
目录 背景 框架 ginkgo初始化 抓包&运行脚本 目录说明 ∮./business ∮./conf ∮./utils ∮./testcase testcase 用例目录结构规则 示例 实现思路 解析Har数据 定义结构体 解析到json 转换请求数据 转换请求 转换请求参数 写业务请求数据 写gotest测试…...