计算机网络八股整理(二)
计算机网络八股整理(二)
应用层
1:dns的全称了解过吗?
dns全称domain-name-system,翻译过来就是域名系统,是在计算机网络中将域名转换成ip地址的分布式数据库系统;
域名服务器的层级类似一个树状结构:从上到下分别是根dns服务器,顶级域dns服务器和权威dns服务器;因为是一个树状结构,所以任意一个服务器可以找到根dns服务器从而找到任意目标dns服务器;
2:dns域名解析的工作流程?
首先客户端获取域名后去访问本地dns服务器,查看本地dns服务器缓存的表格中有没有对应的域名,没有的话
本地dns服务器就会去问根dns服务器,根dns服务器不会进行域名解析,而是指路,根dns服务器告诉本地dns服务器域名的顶级域dns服务器的地址,然后本地dns服务器去访问顶级域dns服务器,顶级域dns服务器就会指路给权威dns服务器,再去访问权威dns服务器,权威dns服务器会告诉本地dns服务器对应的ip地址,然后本地dns服务器就会将IP地址返回给客户端,客户端就能与服务器建立连接;
3:dns默认的端口是多少
dns默认的端口是53;
4:dns底层使用了udp还是tcp;
dns底层使用了udp传输协议,因为udp低延迟,简单快速,轻量级更适合dns这种需要快速响应的域名解析服务;
1:低延迟:因为udp是一种无连接的传输协议,不需要在传输前建立连接,延迟更低;
2:简单快速:因为udp不需要做连接管理和流量控制所以传输速度快;
3:轻量级:是因为udp头部较小;
虽然使用udp可能会造成丢包或者数据不完整,但是对于dns来说这些风险可以容忍,dns通过一些机制来保证数据的可靠性,比如超时重发,请求重试,缓存等;
5:http是不是无状态的?
http是无状态的,每次请求都是独立,且多次请求之间不会共享数据;
可以使用会话跟踪技术,如cookie,和session来跟踪用户状态,从而实现一定程度上的状态保持;
6:携带cookie的http请求是有状态的还是无状态的?cookie是http协议族的一部分,那为啥还说http是无状态的?
携带cookie的http请求可以实现在一定程度上的状态保持,因为cookie是在客户端保存会话信息和状态信息的一种机制。在发送http请求的时候携带上cookie,服务端读取cookie中的信息可以用来保持用户特定状态。所以虽然http是无状态的,但是可以通过cookie来实现一定程度上的状态保持;
cookie是http协议族的一部分,但是http协议设计的初衷就是无状态的请求,每个请求都是相互独立的,而cookie是一种补充机制,可以使用cookie来实现一定程度上的状态保持;
7:cookie和session有什么区别?
cookie和session在存储位置,数据容量,安全性,生命周期等方面有一定的区别:
1:存储位置:cookie存储在客户端,每次请求时都会携带cookie到服务端。session存储在服务端,由服务端分发session ID,通过cookie或者是url重写将session ID发送给客户端,客户端在访问时就携带上session ID,服务器根据sessionID找到对应的session;
2:数据容量:cookie存储在客户端,容量一般是4kb,而且浏览器不允许同一个域名有过多的cookie;而session存储在服务端,理论上没有容量限制,主要取决于服务器的内存;
3:安全性:cookie存储在客户端,可能会收到xss攻击;session存储在客户端,比cookie安全性强一些,但也可能受到session劫持和会话固定攻击;
4:生命周期:cookie可以设置过期时间,超过过期时间cookie会失效,也可以设置会话cookie,即浏览器关闭时,cookie失效;
session在客户端关闭浏览器时失效,也可以设置过期时间;
拓展1:cookie和session的优缺点?
cookie的优点:是http中支持的;
cookie的缺点:1:只有在浏览器中可用,移动设备等不可用;2:不安全,用户可以禁用cookie;3:不支持跨域;
session的优点:存储在服务器中,安全;
session的缺点:1:只存储在单台服务器中,在集群环境下,进行负载均衡后可能会不可用。2:cookie的缺点;
8:cookie,session,token的区别:
1:session存储在服务端,可以理解为一个状态列表,拥有唯一的标识符sessionID,通常存储在cookie。客户端发送请求时在cookie中携带sessionID, 服务端根据列表查询对应的session数据,依赖于cookie;
2:cookie类似于令牌,携带sessionID,存储于客户端,由浏览器自动添加;
3:token也是一种令牌,将用户的信息进行加密后,发送给用户,用户下次请求需要在cookie或者其他位置携带token,服务端进行解密后就能获取用户信息,通常由开发者手动添加;
9:如果客户端禁用了cookie,session还能使用吗?
默认情况下,禁用了cookie之后session是无法正常使用的,因为sessionID的传递依赖于cookie;
但是可用使用别的方法传递sessionID:
1:url重写:将sessionID拼接在url中,服务端通过解析url获取sessionID,但是这样使url不是那么整洁;而且如果用户分享连接可能会泄露sessionID;
2:隐藏表单字段:将sessionID存储在html表单的隐藏字段中,服务端通过解析表单字段获取sessionID,但是这种情况只能用于表单提交的情况,不能用于链接点击和ajax请求;
10:如果我把数据存储到localstorage中或者是cookie中有什么区别?
数据容量:cookie存储在客户端,一般容量大小在4kb,而localstorage的容量更大可以达到几MB;
数据发送:发送请求时,会携带cookie从而实现多次请求之间的数据共享。而localstrorage只会存储在客户端浏览器中,不会自动发送出去,一般可以用来同一域名多个页面的数据共享;
安全性:cookie会发送到服务端,有被窃听的风险,安全性不高,而localstotage存储在服务器端一般较安全;
生命周期:cookie可以设置过期时间,超过过期时间就会失效,而localstorage持久化存储在服务端,一般需要手动删除或者使用代码删除;
11:什么数据应该存储在cookie中,什么数据应该存储在localstorage?
cookie适用于服务端和客户端传递数据,跨域访问,设置过期时间,localstorage适合存储大量数据,相同域名下的不同页面共享数据,永久存储数据;
12:jwt令牌和传统令牌有什么区别?
1:无状态性:jwt令牌是无状态的,它不会存储在服务端中。jwt包含了一些必要信息,如用户身份,权限信息;
2:安全性:jwt通过密钥对令牌进行签名,保证了密钥的完整和真实性,只有持有密钥才能对令牌进行解析;
3:跨域访问:jwt存储在请求头或者参数中,无需cookie就能进行跨域访问;
13:jwt令牌包含哪些部分?
jwt令牌包含头部,载荷,和签名:
头部由签名算法和令牌类型组成;
有效载荷为自定义信息;
签名是将头部,载荷和密钥通过算法进行计算而来的字符串;
其中头部和载荷都是JSON格式通过base64编码成字符串;
14:jwt为什么能解决集群部署?什么是集群部署?
在传统的令牌和cookie中,请求将令牌或者cookie保存在服务器内存或者数据库中,如果是集群部署,每次访问的服务器不同,cookie和令牌都要重新获取,比如要用户重新登录,这带来了额外的开销;
而jwt是无状态的,服务端无需存储jwt相关信息,jwt存储了一些必要信息如用户身份和权限,集群中的服务器只要解析jwt的内容就能获取相关信息用来维持特定状态;解决了集群部署的问题;
15:jwt的缺点是什么?
jwt一旦派发出去在失效之前都是有效,无法进行撤销;
如果解决这个问题,我们可以使用内存数据库比如redis,创建一个黑名单,将想要其失效的jwt加入到黑名单中,这样每次在使用jwt之前都会判断jwt是否在黑名单中;
16:jwt如果泄露了怎么办,如何解决?
1:及时失效令牌:让旧的令牌失效无法使用;
2:刷新令牌:刷新令牌获取新的令牌,让旧的失效;
3:黑名单:服务端维护黑名单,将旧的令牌加入黑名单;
17:前端是如何存储jwt的?
jwt存储在客户端,可以存储在localstotrage中,也可以存储在cookie,sessionstotrage中;
各自的优缺点:
1:localstotrage:
优点:存储空间大,一般都有几MB,而且不随着请求发送到服务端,所以不会出现在http缓存和日志中;
缺点:可能会受到xss攻击,恶意的javascpirt可以盗取jwt;
2:sessionstotrage:
优点:和localstotrage一样存储空间大,窗口关闭会清除缓存,一定程度上降低了泄露的风险;
缺点:每次刷新和打开新标签页使用同样的应用都要重新登录影响用户体验;
3:cookie:
优点:可以使用httponly来防止javaspript的访问,降低xss的风险。也可以设置secure标志来使用https发送请求,提高了安全性;
缺点:存储空间小只有4kb,而且每次访问会携带,增加性能负担;
18:都有http协议了为什么还会有rpc?
1:首先rpc本质上不是一种协议,是一种调用方式,像grpc,thrift才算是协议,他们是实现了rpc调用的协议。一般用于程序员像调用本地方法一样调用远程方法;
2:对于有多端服务的软件来说,对外一般用http,rpc用于集群不同服务之间的调用;
3:rpc出现的比http早,且性能要比http1.1要强;
4:虽然http2.0的性能对http1.1有提升,可能比rpc性能还有还要好,但是是近几年才推出,不太可能替代rpc;
19:http长连接和websocket的区别?
1:全双工和半双工:tcp是全双工的协议,虽然http1.1是基于tcp协议,但是http1.1是半双工协议,对于服务端主动推送服务端的场景不太友好,所以需要使用全双工协议websocket;
2:应用场景:http1.1是基于请求应答的协议,由客户端主动发送请求,服务端响应,服务端不能主动发送数据。对于一些简单场景可用通过定时轮询或者长轮询来实现服务器主动推送;对于需要频繁进行通信的场景可以使用websocket双向通讯协议;
20:nginx负载均衡的算法有哪些?
1:轮询:按照顺序依次将请求分配给后端服务器;这个算法最简单,但是无法处理服务器访问速度突然变慢或者客户端有连续访问需求的场景;
2:ip哈希:通过ip的哈希结果来分配后端服务器,同一个IP始终分配给同一台服务器;适用于保持同一个客户端的请求一直方式给同一个服务器的场景如会话保持。
3:url哈希:根据url的哈希结果来分配后端服务器,一个url定向发送给后端的一个服务器;
4:最短响应时间:根据响应时间来分配请求,优先分配给响应时间最短的后端服务器。
5:加权轮询:根据权重将请求分配给后端服务器,权重越大的分配的请求越多,适用于后端服务器性能不同的场景,可以提高高性能服务器的利用率;
21:nginx位于七层网络结构的那一层?
nginx位于应用层,因为主要处理http请求和响应;
实现负载均衡和反向代理;
相关文章:
计算机网络八股整理(二)
计算机网络八股整理(二) 应用层 1:dns的全称了解过吗? dns全称domain-name-system,翻译过来就是域名系统,是在计算机网络中将域名转换成ip地址的分布式数据库系统; 域名服务器的层级类似一个树…...
华财术_号卡分销平台讲解(四大运营商+手机卡)
【号卡分销平台对比讲解稿】 大家好,今天我们来详细对比几款热门的号卡分销平台,帮助您找到最适合自己的合作伙伴。我们将从佣金结算、数据安全、功能特性、用户体验以及适用人群等多个维度进行剖析,让您一目了然各平台的优劣。 一、号易号…...
fatal error in include chain (rtthread.h):rtconfig.h file not found
项目搜索这个文件 rtconfig 找到后将其复制粘贴到 你的目录\Keil\ARM\ARMCC\include 应该还有cJSON,rtthread.h和 等也复制粘贴下...
服务器记录所有用户docker操作,监控删除容器/镜像的人
文章目录 使用场景安装auditd添加docker审计规则设置监控日志大小与定期清除查询 Docker 操作日志查看所有用户,所有操作日志查看特定用户的 Docker 操作查看所有用户删除容器/镜像日志过滤特定时间范围内日志 使用场景 多人使用的服务器,使用的docker …...
电磁继电器
它的控制原理很简单,当我们给它的线圈接电,这个线圈就有了磁性,它上面的衔铁就会被吸引,这样小灯泡就会点亮 继电器于MOS管的差别在于,继电器可以很轻松的胜任高电压、大电流的场合 我们从外壳上可以看到 30VDC&#x…...
Hadoop生态圈框架部署(九)- Hive部署
文章目录 前言一、Hive部署(手动部署)下载Hive1. 上传安装包2. 解压Hive安装包2.1 解压2.2 重命名2.3 解决guava冲突 3. 配置Hive3.1 配置Hive环境变量3.2 修改 hive-site.xml 配置文件3.3 配置MySQL驱动包3.3.1 下在MySQL驱动包3.3.2 上传MySQL驱动包3.…...
thread_id_key != 0x7777(`fibers` 包与 Node.js 16 及以上版本存在兼容性问题)
文章目录 fibers4.0.3 与 node-v16.13.2-win-x64 的兼容性1. Node.js 版本兼容性2. 特定包版本 (fibers4.0.3)3. 解决方案和替代方案 结论解决方案 运行yarn serve 启动项目,就会弹出上述错误。 fibers4.0.3 与 node-v16.13.2-win-x64 的兼容性 要判断 fibers4.0.3…...
LabVIEW实现UDP通信
目录 1、UDP通信原理 2、硬件环境部署 3、云端环境部署 4、UDP通信函数 5、程序架构 6、前面板设计 7、程序框图设计 8、测试验证 本专栏以LabVIEW为开发平台,讲解物联网通信组网原理与开发方法,覆盖RS232、TCP、MQTT、蓝牙、Wi-Fi、NB-IoT等协议。 结合…...
hive的存储格式
1) 四种存储格式 hive的存储格式分为两大类:一类纯文本文件,一类是二进制文件存储。 Hive支持的存储数据的格式主要有:TEXTFILE、SEQUENCEFILE、ORC、PARQUET 第一类:纯文本文件存储 textfile: 纯文本文件存储格式…...
设置Mysql5.6允许外网访问
设置mysql用户支持外网访问步骤: 需要使用root权限登录mysql,更新mysql.user表,设置指定用户的Host字段为%,默认一般为127.0.0.1或者localhost。 1.登录数据库 1 mysql -u root -p 输入密码 1 mysql> use mysql; 2.查询hos…...
【智能制造-44】装配仿真
装配仿真包含以下功能模块: 零件建模与导入模块 功能描述: 能够创建简单的几何零件,如立方体、圆柱体、球体等基本形状。这对于一些标准件或者形状规则的零件来说,可以直接在装配仿真软件中生成,方便快捷。 支持多种…...
如何借助AI生成PPT,让创作轻松又高效
PPT是现代职场中不可或缺的表达工具,但同时也可能是令人抓狂的时间杀手。几页幻灯片的制作,常常需要花费数小时调整字体、配色与排版。AI的飞速发展为我们带来了革新——AI生成PPT的技术不仅让制作流程大大简化,还重新定义了效率与创意的关系…...
【工具变量】城市供应链创新试点数据(2007-2023年)
一、测算方式:参考C刊《经济管理》沈坤荣和乔刚老师(2024)的做法,使用“供应链创新与应用试点”的政策虚拟变量(TreatPost)表征。若样本城市为试点城市,则赋值为 1,否则为 0…...
线程的生命周期
计时等待(Timed Waiting)状态:这是等待状态的一种特殊情况,当线程调用带有超时参数的等待方法(如Thread.sleep(long millis)、Object.wait(long timeout)等)时会进入计时等待状态。例如,Thread.…...
Python入门(18)--实战项目
机器学习实战项目指南 🤖 项目概览 🌐 本项目是一个综合性的机器学习入门实战指南,通过实际案例展示机器学习项目的完整生命周期,包括数据处理、模型训练、评估和部署等关键环节。 1. 系统架构 🏗️ 1.1 核心组件 …...
DRM(数字权限管理技术)防截屏录屏----视频转hls流加密、web解密播放
提示:视频转hls流加密、web解密播放 需求:研究视频截屏时,播放器变黑,所以先研究的视频转hls流加密 文章目录 [TOC](文章目录) 前言一、工具ffmpeg、openssl二、后端nodeexpress三、web播放四、文档总结 前言 HLS流媒体协议&a…...
在linux上部署Tomcat方法
上传jdk,配置运行环境 解压jdk安装包 将jdk文件夹移动到/usr/local/jdk目录下 配置java环境变量vim /etc/profile 使环境变量生效,并且查看是否配置成功 安装tomcat,上传tomcat软件包 解压tomcat软件包 将tomcat解压文件移动到/usr/local/tomcat/下 启动…...
Git 使用问题与解决方案
Git 使用问题与解决方案 目录 常见错误及原因分析检查当前使用 HTTPS 或 SSH如何切换远程仓库到 SSHSSH 密钥的配置与验证错误解决步骤总结与参考 1. 常见错误及原因分析 错误提示 fatal: unable to access https://github.com/username/repository.git/: Failed to connect…...
LeetCode 热题 100_最大子数组和(13_53)(贪心算法 ||动态规划)
LeetCode 热题 100_最大子数组和(13_53) 题目描述:输入输出样例:题解:解题思路:代码实现(思路二(贪心算法 ||动态规划)): 题目描述: …...
Z2400023基于Java+Servlet+jsp+mysql的酒店管理系统的设计与实现 源码 调试 文档
酒店管理系统的设计与实现 1.摘要2.主要功能3. 项目技术栈运行环境 4.系统界面截图5.源码获取 1.摘要 本文介绍了一个基于Java的酒店管理系统,该系统采用Servlet、JSP、JDBC以及c3p0等技术构建,为酒店提供了一个全面的管理平台。该系统不仅适合酒店进行…...
T3 TensorFlow入门实战——天气识别
🍨 本文為🔗365天深度學習訓練營 中的學習紀錄博客🍖 原作者:K同学啊 | 接輔導、項目定制 一、前期准备 1. 导入数据 # Import the required libraries import numpy as np import os,PIL,pathlib import matplotlib.pyplot as …...
vue3 多种方式接受props,定义ref,reactive
定义props 1 第一种 interface AddType { dialogStudyVisible: boolean; } const props defineProps<AddType>(); 第二种 // const props defineProps({ // dialogStudyVisible:{ // type:Boolean, // default:false // } // }) 第三种 // const …...
15:00面试,15:06就出来了,问的问题有点变态。。。
从小厂出来,没想到在另一家公司又寄了。 到这家公司开始上班,加班是每天必不可少的,看在钱给的比较多的份上,就不太计较了。没想到9月一纸通知,所有人不准加班,加班费不仅没有了,薪资还要降40%…...
vue3 数字滚动插件vue3-count-to
安装 npm i vue3-count-to -S 引入 import { CountTo } from vue3-count-to 使用 <countTo :startVal"0" :endVal"57.63" :decimals"0" :duration"3000"></countTo> 所有配置...
Android 手写签名板
文章目录 Android 手写签名板概述效果代码实现源码下载 Android 手写签名板 概述 手写签名板功能,支持图片保存、支持去除空白区域。 效果 生成图片效果: 代码实现 定义属性: <declare-styleable name"SignatureView">&…...
Java基础夯实——2.9 多线程如何共享数据
在 Java 多线程编程中,共享数据通过以下几种方式实现: 1. 使用共享对象 多个线程可以通过引用同一个对象来实现数据共享。例如: class SharedData {private int count;public synchronized void increment() {count;}public synchronized …...
京准电钟:NTP网络校时服务器从入门到精准
京准电钟:NTP网络校时服务器从入门到精准 京准电钟:NTP网络校时服务器从入门到精准 1.前言 由计算机网络系统组成的分布式系统,若想协调一致进行:IT行业的“整点开拍”、“秒杀”、“Leader选举”,通信行业的“同步…...
【C++习题】15.滑动窗口_串联所有单词的子串
文章目录 题目链接:题目描述:解法C 算法代码:图解 题目链接: 30. 串联所有单词的子串 题目描述: 解法 滑动窗口哈希表 这题和第14题不同的是: 哈希表不同:hash<string,int>left与right指…...
【好玩的经典游戏】Docker环境下部署贪吃蛇网页小游戏(二)
【好玩的经典游戏】Docker环境下部署贪吃蛇网页小游戏(二) 一、贪吃蛇小游戏介绍1.1 小游戏简介1.2 项目预览二、本次实践介绍2.1 本地环境规划2.2 本次实践介绍三、本地环境检查3.1 检查Docker服务状态3.3 检查Docker版本3.4 检查docker compose 版本四、下载容器镜像五、部…...
《Python Web 抓取实战:豆瓣电影 Top 250 数据抓取与分析》
引言 在信息爆炸的时代,掌握数据获取的能力显得尤为重要。通过数据抓取,我们可以从互联网上获取大量有价值的信息,并进行深入分析。本文将介绍如何使用 Python 进行 Web 抓取,以豆瓣电影 Top 250 为例,展示数据抓取的…...
Qt-系统相关(2)多线程网络
Qt多线程 在 Qt 中,多线程的处理⼀般是通过 QThread类 来实现。 QThread 代表⼀个在应⽤程序中可以独⽴控制的线程,也可以和进程中的其他线程共享数据。 QThread 对象管理程序中的⼀个控制线程。 QThread 常⽤ API: 使用线程 关于创建线程…...
代码随想录算法训练营第五十九天|Day59 图论
Bellman_ford 算法精讲 https://www.programmercarl.com/kamacoder/0094.%E5%9F%8E%E5%B8%82%E9%97%B4%E8%B4%A7%E7%89%A9%E8%BF%90%E8%BE%93I.html 思路 #include <stdio.h> #include <stdlib.h> #include <limits.h>#define MAXM 10000 // 假设最大边数为1…...
SpringBoot集成ESAPI
官网地址:https://github.com/ESAPI/esapi-java-legacy 一、POM依赖 <dependency><groupId>org.owasp.esapi</groupId><artifactId>esapi</artifactId><version>2.6.0.0</version> <!-- Preferably the latest ver…...
Git 进程占用报错-解决方案
背景 大仓库,由于开发者分支较多,我们在使用 git pull 或 git push 等命令时(与远端仓库交互的命令),不知之前配置了什么,我的电脑会必现以下报错(有非常长一大串报错-不同分支的git进程占用报…...
python怎么设置静态变量
众所周知,Python语言并不支持静态变量,比如下面这样一个应用场景: void foo() {static int count 0;count ; } 在Python中无法自然实现这个功能。换个角度来看这个问题,函数中的静态变量其实可以看做是函数的一个内部变量&#x…...
【H2O2|全栈】Node.js(1)
目录 前言 开篇语 准备工作 ES6导入导出 导入 有名导出 匿名导出 Node概念 Node导入导出 导入 有名导出 匿名导出 Node常用模块 path模块 和路径有关的全局变量 常见方法 导入方法 fs模块 常见方法 导入方法 结束语 前言 开篇语 本系列博客主要分享Java…...
SJYP 24冬季系列 FROZEN CHARISMA发布
近日,女装品牌SJYP 2024年冬季系列——FROZEN CHARISMA已正式发布,展现了更加干练的法式风格。此次新品发布不仅延续了SJYP一贯的强烈设计风格和个性时尚,更融入了法式风情的干练元素,为消费者带来了一场视觉与穿着的双重盛宴。 …...
嵌入式硬件实战基础篇(四)多路直流稳压电源
设计一个多路直流稳压电源 要求设计制作一个多路输出直流稳压电源,可将220 V / 5 0HZ交流电转换为5路直流稳压输出。具体要求: 输出直流电压 12V, 5V;和一路输出3- 15V连续可调直流稳压电源: 输出电流Iom500mA; 稳压系数 Sr≤0.05;...
力扣_876. 链表的中间结点
力扣_876. 链表的中间结点 给你单链表的头结点 head ,请你找出并返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。 输入:head [1,2,3,4,5] 输出:[3,4,5] 解释:链表只有一个中间结点,值为…...
shell脚本命令(一)
shell脚本命令(一) 一、Shell 基础知识 Shell的基本概念 定义: Shell 是操作系统中的命令解释器,位于用户与操作系统内核之间。它接收并解释用户输入的命令,将任务传递给操作系统内核执行,然后将执行结果…...
一文理解多模态大语言模型——上
作者:Sebastian Raschka 博士, 翻译:张晶,Linux Fundation APAC Open Source Evangelist 编者按:本文并不是逐字逐句翻译,而是以更有利于中文读者理解的目标,做了删减、重构和意译,…...
[代码随想录Day24打卡] 93.复原IP地址 78.子集 90.子集II
93.复原IP地址 一个合法的IP地址是什么样的: 有3个’.分割得到4个数,每个数第一个数不能是0,不能含有非法字符,不能大于255。 这个是否属于合法IP相当于一个分割问题,把一串字符串分割成4部分,分别判断每…...
去哪儿大数据面试题及参考答案
Hadoop 工作原理是什么? Hadoop 是一个开源的分布式计算框架,主要由 HDFS(Hadoop 分布式文件系统)和 MapReduce 计算模型两部分组成 。 HDFS 工作原理 HDFS 采用主从架构,有一个 NameNode 和多个 DataNode。NameNode 负责管理文件系统的命名空间,维护文件和目录的元数据信…...
controller中的参数注解@Param @RequestParam和@RequestBody的不同
现在controller中有个方法:(LoginUserRequest是一个用户类对象) PostMapping("/test/phone")public Result validPhone(LoginUserRequest loginUserRequest) {return Result.success(loginUserRequest);}现在讨论Param("login…...
排序算法思维导图
冒泡排序 def bubble_sort(alist):j 0while j < len(alist):i 0while i < len(alist) - 1:if alist[i] > alist[i1]:alist[i], alist[i1] alist[i1], alist[i]i 1j 1li [34,556,235,7,56,45,63,35,23,4,875] bubble_sort(li) print(li) 选择排序 def select_s…...
ZYNQ试用于哪些场景
ZYNQ系列SoC(System on Chip)由于其独特的处理器与FPGA(可编程逻辑)集成设计,非常适合应用于多种需要高性能、灵活性和低功耗的场景。 以下是一些ZYNQ特别适用的场景: 嵌入式系统:ZYNQ的ARM处理…...
【03】Selenium+Python 八种定位元素方法
操作元素,需要先查找定位到对应的元素。 查找单个元素:driver.find_element() 返回是一个web element 对象 查找多个元素:driver.find_elements() 返回是一个list对象 By 是 Selenium 中一个非常重要的类,用于定位网页元素。 使…...
Java 自动资源管理(Auto Resource Management)详解
Java 自动资源管理(Auto Resource Management)详解 在Java编程中,资源的正确管理是开发过程中一个非常重要的环节。如果资源(如文件、数据库连接、网络连接等)未被正确释放,可能会导致资源泄漏,…...
IT运维专家给年轻人一些职业上的建议
运维工作在现代企业中是非常重要的一环,保证系统的稳定性、可用性以及安全性对企业的正常运营至关重要。以下是我给年轻人的一些职业发展建议,希望能够帮助你们在运维领域找到方向并取得成功。 1. 夯实基础,扎实技术功底 精通操作系统与网络:运维工作需要深入理解操作系统…...
视图查询中投影裁剪规则的原理和解析 | OceanBase 查询优化
背景 在SQL查询中使用视图查询时,执行中可能会产生的较多的中间结果集。为了优化这类查询的执行,OceanBase 引入了投影裁剪规则。能够识别出父查询中未实际使用的列,并将这些列从视图查询的select列表中剔除,进而提升整体查询的性…...