计算机网络 八股青春版
什么是HTTP?HTTP和HTTPS的区别
- HTTP
HTTP
是超文本运输协议,是一种无状态(每次请求都是独立的)的应用层协议。- 用于在客户端和服务器之间传输超文本数据(如HTML文件)。
- 默认端口是
80
- 数据以明文形式传输,没有加密功能,安全性差,但性能好。
- HTTPS
HTTPS
是HTTP
+安全层(TLS/SSL)
,是一种加密的超文本传输协议。- 数据在传输过程中经过加密,防止被窃听、篡改或伪造。
- 默认端口是
443
- 需要依赖证书(
SSL/TLS证书
)来建立安全连接。性能相比HTTP
要差一些。
HTTP请求头中有哪些常见的信息?
Cache-Control
:缓存控制(no-cache
、max-age
等)。Connection
:控制是否保持连接(keep-alive
、close
)。Host
:指定请求的目标主机和端口(必须字段)。User-Agent
:客户端信息(如浏览器名称、版本、操作系统等)。Accept
:客户端可接收的媒体类型(如text/html
、application/json
)。Authorization
:客户端提供的身份认证凭证。Cookie
:客户端发送的Cookie数据,用于会话管理。Referer
:指定请求的来源页面URL。Origin
:知名跨域请求的来源,用于CORS(跨域资源共享)。Content-Type
:请求体的MIME类型(application/json
、application/x-www-form-urlencoded
、multipart/form-data
)。
HTTPS 如何保证安全性?
- 对称加密:采用协商的密钥对数据加密。
- 对称加密指的是加密和解密使用的密钥都是同一个,是对称的。
- 非对称加密:实现身份认证和密钥协商。
- 非对称加密分为公钥和私钥,公钥是公开可以获取的,而私钥是只有服务器有。
HTTPS
通过非对称加密来交换用于对称加密的密钥,然后通过对称密钥来加密通信。- 在加密对称密钥的过程中,公钥用来加密对称密钥(客户端),而私钥用来解密(服务端)。
- 而在验证数字签名/证书时,私钥用来生成数字证书(服务端),而公钥用来验证数字证书(客户端)。
- 摘要算法:验证信息的完整性。
- 数字签名:身份验证。
- 证书颁发机构(CA):CA使用自己的私钥对服务器提交的证书进行签名,CA的公钥会内置在浏览器中。
HTTPS
工作流程:- 客户端发起请求,发送支持的
TLS
和加密算法版本等信息。 - 客户端回应请求,发送确定的
TLS
和加密算法版本,还有服务器的数字证书。 - 客户端通过CA的公钥,验证服务器的数字证书,并获取到服务器的公钥。
- 客户端通过服务器的公钥加密对称密钥并发送给服务器。
- 服务器通过私钥解密,获取对称密钥,然后使用对称密钥进行加密通信。
- 客户端发起请求,发送支持的
UDP和TCP的区别,以及各自的应用场景?
一、UDP
UDP
,用户数据报协议,是一种简单的传输层协议,提供了无连接、不可靠的数据传输服务。- 无连接意味着数据传输前,发送方和接收放不需要建立专门的连接。
UDP
只是简单地将数据封装成UDP
数据报,然后通过网络层发送出去。
二、TCP
TCP
,传输控制协议,是一种面向连接的、可靠的传输层协议。- 面向连接:三次握手建立连接。
TCP
通过序列号、确认应答、重传机制、拥塞控制等一系列复杂的机制来确保数据的可靠传输。
三、TCP和UDP的对比
- 连接方式:
UDP
无连接,TCP
面向连接,三次握手。 - 可靠性:
UDP
是不可靠传输协议,不保证数据一定到达目的地,也不保证数据的顺序和完整性。而TCP
是可靠传输。通过序列号、确认应答和重传机制等确保数据准确无误地传输,并能保证数据的顺序。 - 传输效率:
UDP
比TCP
高。 - 数据量和应用场景:
UDP
通常用于数据量较小,实时性要求高的应用。比如:DNS(域名解析)、DHCP(动态主机配置)、VoIP(语音通信)、视频直播、在线游戏。TCP
则适用于数据量大、对数据准确性要求高的应用。比如:HTTP/HTTPS(网页浏览)、FTP(文件传输)、SMTP(邮件传输)、SSH(远程登录)。
- 数据流方式:
TCP
面向字节流,而UDP
面向数据报。 - 头部开销:
TCP
头部最少20字节,UDP
头部固定为8字节。
OSI 七层模型
- 应用层:提供应用程序接口。
DNS
、HTTP
、SMTP
等 - 表示层:负责数据的格式转换和加密解密。
- 会话层:建立、管理和终止会话。
- 传输层:负责端到端传输。
TCP
和UDP
- 网络层:负责路由和寻址。
IP
层 - 数据链路层:数据帧传输。
- 物理层:比特流传输。
TCP/IP 五/四层模型
- 五层模型
- 应用层
- 传输层
- 网络层
- 数据链路层
- 物理层
- 四层模型
- 应用层
- 单位:消息/报文。
- 功能:负责实现一切与应用程序相关的功能,属于用户态,对用
OSI
的上三层。 - 代表协议:FTP(文件传输协议)、HTTP(超文本传输协议)、DNS(域名服务器协议)、SMTP(简单邮件传输协议)、NFS(网络文件系统协议)等。
- 传输层
- 单位:报文段。
- 功能:负责提供可靠的传输服务,为应用层提供网络支持,可用于不同应用间的传输。
- 代表协议:TCP(传输控制协议)、UDP(用户数据报协议)。
- 网络层
- 单位:数据包。
- 功能:负责网络间的寻址数据传输。
- 代表协议:IP(网际协议)、ICMP(网际控制消息协议)、ARP(地址解析协议)、RARP(反向地址解析协议)。
- 网络接口层(即将5层模型的数据链路层和物理层合并为了网络接口层)
- 单位:帧。
- 功能:负责时间数据的传输。
- 代表协议:HDLC(高级链路控制协议)、PPP(点对点协议)、SLIP(串行线路接口协议)。
- 应用层
DNS协议是什么?完整的DNS查询是怎么样的?
- DNS(Domain Name System)协议 是用于将域名解析为IP地址的协议,它运行在 应用层
- DNS查询类型:
- 递归查询:一查到底,直到获取解析结果。
- 迭代查询:DNS服务器只会返回下一步查询的地址,不会主动查。
- DNS查询完整流程:
- 依次查询以下的缓存,如果命中,则返回结果。
- 浏览器缓存
- 操作系统缓存(本地缓存)
- 本地域名服务器缓存
- 如果以上的缓存全部没有命中,那么将会依次访问如下服务器,进行查询
- 根域名服务器
- 顶级域名服务器
- 权威域名服务器
- 返回结果并在各级缓存中进行缓存
- 依次查询以下的缓存,如果命中,则返回结果。
什么是CDN,实现原理是什么?
CDN
,内容分发网络,是一种通过分布式部署的服务器将内容快速的传输给用户的网络架构。CDN
的主要目的是为了加速内容分发,提高用户访问速度,减少服务器压力,增强网络的稳定性和可靠性。- 简略实现原理:不同位置部署很多缓存服务器,用户访问时,就近获取可用资源,而不是直接从源服务器获取。
- 详细实现原理:
- 分布式缓存部署:大范围部署边缘节点服务器,就近访问缓存内容。
- DNS解析与就近原则:DNS重定向到CDN网络,调度到最优边缘服务器。
- 内容分发与缓存:
- 主动缓存:CDN主要从源服务器拉取内容,预先存储到边缘节点。
- 被动缓存:用户首次访问此资源时进行缓存,并遵循一定的过期策略。
- 负载均衡与调度:在某边缘节点繁忙或不可用时,自动调度到其他可用节点。
HTTP 1.0/1.1/2.0/3.0 的区别
一、HTTP/1.0
HTTP/1.0
是早期版本,每次请求都需要建立一个新的TCP
连接。
二、HTTP/1.1
HTTP/1.1
是目前广泛使用的版本。- 相比1.0,主要优化有
- 持久连接:无需为每个请求重新建立连接。
Connection:keep-alive
- 管道化:在同一个TCP连接中,客户端可以并行发送多个请求,无需等待前一个请求响应。但可能会队头阻塞。
- 分块传输编码:服务器可以将响应数据分块传输,适用于动态生成的内容,
Transfer-Encoding:chunked
- 缓存机制:
Cache-Control
、ETag
、If-Modified-Since
Host
头:HTTP/1.1
要求每个请求必须包含Host
字段,用于支持虚拟主机。- 支持断点续传:使用
Range
头部实现,允许客户端只请求部分资源。
- 持久连接:无需为每个请求重新建立连接。
三、HTTP/2.0
HTTP/2.0
主要解决了HTTP/1.1
的性能瓶颈,通过引入二进制分帧和多路复用等机制,显著提升传输性能。- 二进制分帧:
HTTP/2.0
将数据分为二进制帧进行传输,而非文本格式。更高效且易于解析。 - 多路复用:在同一TCP连接中,可互不影响地并行发送多个请求和响应,解决了队头阻塞的问题。
- 头部压缩:减少了数据传输体积。
- 服务器推送:服务可以在客户端请求某资源时,主动将相关资源(如CSS和JS文件)推送给客户端,减少延迟。
- 流优先级:支持对不同流设置优先级,优化资源分配,提升用户体验。
四、HTTP/3
- 最新的HTTP版本,基于
QUIC
协议,使用UDP
。 - 减少了握手延迟。
- 无队头阻塞问题,因为
QUIC
在UDP
上实现了流的独立传输。 - 更快的重传机制,适用于移动网络等不稳定环境。
HTTP常见状态码,相应的适用场景是什么?
1XX(信息类)
100 Continue
:表示可以继续发送,用于上传大文件前先验证请求头。101 Switching Protocols
:服务器同意切换协议。
2XX(成功类)
200 OK
:请求成功,常见于GET
和POST
请求的正常返回。201 Created
:资源已成功创建,通常用于POST
请求。202 Accepted
:请求已接收,但尚未处理,通常用于异步任务。204 No Content
:请求成功,但无返回内容。比如删除资源时。
3XX(重定向类)
301 Moved Permanently
:资源永久移动到新位置。比如旧网址重定向到新网址。302 Found
:资源暂时移动到其他位置。比如重定向到登录页面。304 Not Modified
:资源未修改,可使用缓存版本。
4XX(客户端错误类)
400 Bad Request
:请求无效或参数错误。401 Unauthorized
:未授权,需要身份验证。403 Forbiden
:服务器拒绝执行请求。比如一些越权操作。404 Not Found
:资源不存在或路径错误。405 Method Not Allowed
:请求方法不被允许。429 Too Many Requests
:客户端请求过多,被限制访问。
5XX(服务器错误类)
500 Internal Server Error
:服务器内部出现未预期的错误。比如数据库连接失败或代码逻辑错误。502 Bad Gateway
:网关或代理服务器从上游服务器接收到无效响应。比如反向代理连接到服务不可用的后端。503 Service Unavailable
:服务器因超载或维护暂时无法处理请求。504 Gateway Timeout
:网关或代理服务器等待上游服务器超时。
HTTP中GET和POST的区别
- 用途
GET
方法用于请求数据,通常用于获取资源或内容。POST
方法用于发送数据,通常用于创建资源或提交表单。
- 数据传输方式:
GET
:参数通过URL查询字符串传递,数据量受URL长度限制,数据以明文形式暴露在URL中。POST
:参数通过HTTP请求体传递,数据量较大,受限于服务器和客户端配置。
- 安全性
GET
参数暴露在URL中,可能被浏览器记录、缓存,或在访问历史中暴露。不适合传递敏感信息。POST
参数在请求体中传输,适合传输敏感信息,但仍需依赖HTTPS
来加密传输数据。
- 幂等性:
GET
是幂等的。POST
不是幂等的。
浏览器地址栏输入URL敲下回车后发生了什么?
- URL解析,将URL拆分
- 协议:如
http
或https
- 主机名(域名/ip)
- 端口:浏览器使用
URL
指定端口,若无指定,则http
默认80
,https
默认443
。 - 路径
- 查询字符串
- 片段标识符
- 协议:如
- DNS解析:将域名解析为
ip
地址 - 建立
TCP
连接 - 发送
HTTP
请求 - 服务器处理请求
- 服务器返回响应
- 浏览器解析并渲染页面
- 解析
HTML
,构建DOM
树。 - 解析
CSS
,生成CSS
规则树。 - 合成
DOM
树和CSS
规则树,生成Render
树。 - 绘制
Render
树,绘制页面像素信息。 - 浏览器将各层信息发给GPU,GPU将各层合成,显示在屏幕上。
- 解析
- 加载额外资源(JS、CSS、图片等)
- 执行JavaScript
TCP为什么需要三次握手和四次挥手
- 三次握手:三次握手用于建立 TCP 连接,主要作用是确认双方的接收能力和发送能力是否正常、指定自己的初始化序列号为后面的可靠性传输做准备。
- 客户端发送SYN(同步)包,该数据包中 SYN = 1,并且客户端会随机选择一个序列号 Seq = x。
SYN, Seq = x
- 服务器回应SYN-ACK包:
SYN, Ack = x + 1, Seq = y
- 客户端确认ACK包:
Ack = y + 1, Seq = x + 1
- 客户端发送SYN(同步)包,该数据包中 SYN = 1,并且客户端会随机选择一个序列号 Seq = x。
- 四次挥手:四次挥手用于断开 TCP 连接。由于 TCP 是全双工的(即通信双方都可以独立发送和接收数据),因此关闭连接时需要双方独立关闭发送和接收通道。
- 主动关闭方发送FIN标志的数据包,表示无数据需要发送,但仍可接收数据。
FIN, Seq = u
- 被动关闭方回应ACK包,确认客户端的关闭请求,但自己可能仍然有数据要发送。。
Ack = u + 1, Seq = v
- 被动关闭方发送FIN包,表示服务器也不再发送数据。
FIN, Seq = v + 1
- 主动关闭方回应ACK包,确认服务器的关闭请求,连接正式关闭。
Ack = v + 2
- 主动关闭方发送FIN标志的数据包,表示无数据需要发送,但仍可接收数据。
- 为什么需要三次握手?而不是两次?
- 三次握手是为了确保双方能够同步序列号,并确认双方都准备好开始数据传输。
- 第一次握手时,确认了客户端的发送能力,
- 第二次握手时,确认了服务端的接收能力和发送能力。
- 第三次握手时,确认了客户端的接收能力。
- 为什么需要四次挥手,而不是三次?
- 四次挥手是为了保证双方都能独立关闭发送和接收通道,避免丢失数据,并确保连接完全关闭。
- 第一次挥手,意味着客户端没有数据需要发送了,但如果服务端还有数据,它是可以接收的。
- 第二次挥手,只是回复客户端,意味着服务器收到消息了,后面可以继续发送文件或决定不再发送。
- 第三次挥手,服务端确定自己也要关闭发送了。
- 第四次挥手,客户端收到了服务端关闭请求,等待2*MSL,以防一些延迟的请求或消息接收不到,然后应答服务端的请求。
WebSocket是什么?有什么应用场景?
WebSocket
,是一种网络传输协议。位于应用层。可以在单个TCP
连接上进行全双工通信,能更好的节省服务器资源并达到实时通讯。客户端和服务器只需要完成一次握手,二者就可以创建持久性的连接,并进行双向数据传输。- 优点:
- 低延迟
- 全双工通信
- 节省带宽
- 实时性强
- 应用场景:
- 实时聊天应用
- 在线游戏
- 金融交易平台
- 协作编辑工具
- 实时监控
- 直播
WebSocket
与HTTP
和UDP
WebSocket
:适合实时、双向通信的场景(如聊天应用、实时推送通知)。相比 HTTP 更高效,但相比 UDP 性能稍逊。HTTP
:适合请求-响应模型,内容加载较简单的应用,但不适合实时通信。UDP
:适合低延迟、大规模实时数据传输的场景(如视频直播、在线游戏),但缺乏可靠性和顺序保证。
相关文章:
计算机网络 八股青春版
什么是HTTP?HTTP和HTTPS的区别 HTTP HTTP是超文本运输协议,是一种无状态(每次请求都是独立的)的应用层协议。用于在客户端和服务器之间传输超文本数据(如HTML文件)。默认端口是80数据以明文形式传输&#…...

java全栈day18--Web后端实战(java操作数据库2)
前言:在上节入门程序当中我们见到了JDBC所提供的API,本节来详细说明一下。 一、JDBC--API详解 1.1DriverManager(驱动管理器) 回顾:作用获取连接,调用它里面的getConnection。即如下 作用 1.注册驱动解…...

electron-vite【实战】自定义标题栏【组件封装】(含异形标题栏,指定区域拖拽,窗口置顶,窗口最小化,窗口最大化,取消最大化,隐藏窗口到托盘等)
效果预览 技术要点 透明背景 src/main/index.ts 的 new BrowserWindow 中添加 transparent: true, // 设置窗口背景透明frame: false, // 隐藏窗口边框仅图标和标题部分可拖拽 仅图标和标题部分添加样式 drag .drag {-webkit-app-region: drag; }图标与标题栏的融合 标题栏的…...
vue2 项目webpack 4升5
项目背景 公司项目需要将进行微前端改造.主应用和子应用会需要共享依赖,考虑使用模块联邦进行依赖共享. 由于模块联邦要升级到webpack 5才能用,所以老项目要从webpack 4升级到webpack 5 实现思路 原来的项目用的是vue-cli 3,查了一下可以vue-cli 5用的就是webpack 5,所以可以…...
前端开发性能监控中的数据采集与性能调优方法
🌟 前端开发性能监控中的数据采集与性能调优方法 📖 前言 在现代 Web 应用中,性能是用户体验的关键因素之一。性能问题不仅会影响用户满意度,还可能导致业务损失。如何高效地监控前端性能并进行性能调优,成为每个开发…...

S32K324 Stack异常分析及解决方案
文章目录 前言正向排查尝试反向排查问题原因分析问题解决处理总结前言 在项目开发过程中,在一次软件变更时,调整了task优先级之后导致应用层软件中的float数据经常性的变为NAN,导致应用层功能失效。本文记录下这个bug的分析及解决过程。 正向排查尝试 由于问题复现的概率…...
[创业之路-202]:任正非管理华为的思想与毛泽东管理党、军队、国家的思想的相似性与差异性
目录 一、相似性 1、指导思想 2、管理策略 3、危机意识与自我否定 4、理想主义与奋斗精神 二、差异性 1、哲学基础与思想倾向 2、管理方法与策略 3、组织文化与价值观 一、相似性 任正非管理华为的思想与毛泽东管理党、军队、国家的思想在多个方面存在相似性。 以下…...

SAP PP ECN CSAP_MAT_BOM_MAINTAIN
刚开始的时候ECN总是加不上, 参考kimi给出的案例 点击链接查看和 Kimi 智能助手的对话 https://kimi.moonshot.cn/share/cth1ipmqvl7f04qkggdg 效果 加上了 FUNCTION ZPBOM_PLM2SAP. *"------------------------------------------------------------------…...

html中实用标签dl dt dd(有些小众的标签 但是很好用)
背景描述 html <dl> <dt> <dd>是一组合标签,他们与ol li、ul li标签很相似 但是他却是没有默认前缀并且有缩进的标签 使用方式与table表格的标签一致 使用方式 dt和dd是放于dl标签内,dt与dd处于dl下相同级。就是dt不能放入dd内&am…...

ONES 功能上新|ONES Copilot、ONES Wiki 新功能一览
ONES Copilot 可基于工作项的标题、描述、属性信息,对工作项产生的动态和评论生成总结。 针对不同类型的工作项,总结输出的内容有对应的侧重点。 应用场景: 在一些流程步骤复杂、上下游参与成员角色丰富的场景中,工作项动态往往会…...

实现Python将csv数据导入到Neo4j
目录 一、获取数据集 1.1 获取数据集 1.2 以“记事本”方式打开文件 1.3 另存为“UTF-8”格式文件 1.4 选择“是” 二、 打开Neo4j并运行 2.1 创建新的Neo4j数据库 2.2 分别设置数据库名和密码 编辑 2.3 启动Neo4j数据库 2.4 打开Neo4j数据库 2.5 运行查看该数据库…...
QML Rectangle组件
文章目录 前言主体**简单的矩形****渐变的矩形****带边框的矩形****圆角矩形****圆形 & 圆环** 总结 前言 在 QML 中,Rectangle 是一个常见且非常实用的元素,它允许开发者轻松创建矩形形状的图形。通过调整 Rectangle 的多种属性,我们不…...

uniapp开发app,cover-view不能隐藏,使用v-if,v-show都不行的解决办法
先上解决方案 在最后多写一个v-else <cover-view class"point-info" v-if"selectedPoint"><cover-view class"info-content"><cover-view class"info-item">。。。</cover-view><cover-view class"i…...

用adb命令给APP做压力测试,有什么不同?
压力测试 app做压力测试目的是模拟用户在使用软件时随意向软件发出指令,例如操作app的点击,滑动,返回等一系列随机事件,来检测app的承受能力 第一步:手机安装包需要待测的app 第二步:输入adb start-ser…...

netcore 集成Prometheus
一、安装包 <ItemGroup><PackageReference Include"prometheus-net" Version"8.2.1" /><PackageReference Include"prometheus-net.AspNetCore" Version"8.2.1" /> </ItemGroup> 二、添加代码 #region Pro…...

同城外卖系统源码扩展指南:搭建海外外卖APP平台详解
本篇文章,笔者将探讨如何基于同城外卖系统源码,搭建适合不同国家的海外外卖APP平台,涵盖多语言支持、支付接口对接、本地化适配等方面的实践经验和技术要点。 一、确定目标市场与用户需求 在开发海外外卖APP平台之前,首先需要深…...
JavaScript 中常见内置对象的知识点及示例总结
一、String(字符串)对象 知识点: 用于处理文本数据,它有许多内置的属性和方法来操作字符串,比如获取字符串长度、提取子字符串、替换字符等。字符串在 JavaScript 中是不可变的,即一旦创建,就不…...
CSSmodule的作用是什么
CSS Modules的作用主要体现在以下几个方面: 1. 解决全局样式污染问题 在传统的CSS管理方式中,样式定义通常是全局的,这很容易导致全局样式污染。当多个组件或页面共享同一个样式时,可能会出现样式冲突和覆盖的情况,从…...
python\shell\c++语法对比
语法区别举例: itempythonshellc变量定义a 10a10int a 10数组定义arr[1, add, 3]arr(1 a hello) declare -A arr([a]1 [b]2)int arr[] {1, 2, 3}if条件判断 if xxx: xxx elif xxx: xxx else: xxx if [ expressions ];then xxx e…...
优先队列【东北大学oj数据结构9-3】C++
优先队列 优先级队列是一种数据结构,其中保存了一组数据 S,其中每个元素都有一个键,并执行以下操作: insert(S, k):将元素k插入集合S extractMax(S):从S中取出S中key最大的元素并返回其值 创建一个程序&am…...

从WWDC看苹果产品发展的规律
WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...

2025年能源电力系统与流体力学国际会议 (EPSFD 2025)
2025年能源电力系统与流体力学国际会议(EPSFD 2025)将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会,EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...

中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试
作者:Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位:中南大学地球科学与信息物理学院论文标题:BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接:https://arxiv.…...

Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)
目录 1.TCP的连接管理机制(1)三次握手①握手过程②对握手过程的理解 (2)四次挥手(3)握手和挥手的触发(4)状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...

基于Docker Compose部署Java微服务项目
一. 创建根项目 根项目(父项目)主要用于依赖管理 一些需要注意的点: 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件,否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...
Linux离线(zip方式)安装docker
目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1:修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本:CentOS 7 64位 内核版本:3.10.0 相关命令: uname -rcat /etc/os-rele…...
iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈
在日常iOS开发过程中,性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期,开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发,但背后往往隐藏着系统资源调度不当…...

GruntJS-前端自动化任务运行器从入门到实战
Grunt 完全指南:从入门到实战 一、Grunt 是什么? Grunt是一个基于 Node.js 的前端自动化任务运行器,主要用于自动化执行项目开发中重复性高的任务,例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...

【Linux】Linux 系统默认的目录及作用说明
博主介绍:✌全网粉丝23W,CSDN博客专家、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…...
CRMEB 中 PHP 短信扩展开发:涵盖一号通、阿里云、腾讯云、创蓝
目前已有一号通短信、阿里云短信、腾讯云短信扩展 扩展入口文件 文件目录 crmeb\services\sms\Sms.php 默认驱动类型为:一号通 namespace crmeb\services\sms;use crmeb\basic\BaseManager; use crmeb\services\AccessTokenServeService; use crmeb\services\sms\…...