当前位置: 首页 > news >正文

【计网】网络交换技术之报文交换(复习自用,了解,重要3)

复习自用的,处理得比较草率,复习的同学或者想看基础的同学可以看看,大佬的话可以不用浪费时间在我的水文上了

另外两种交换技术可以直接点击链接访问相关笔记:

电路交换

分组交换

一、报文交换的定义

报文交换(Message Switching) 是一种网络通信方式,在这种方式下,整个消息在传输过程中会被视为一个整体,而不是分割成小的分组。报文交换技术最早应用于电报、传真等通信系统。在报文交换中,整个报文作为一个单元被传输,在每一个交换节点(如路由器)进行存储,然后转发给下一个节点,直到到达目标主机。


二、报文交换的工作原理

1. 整体传输
  • 与分组交换不同,报文交换将发送的整个报文作为一个单独的数据单元。这意味着,报文在发送之前不会被拆分成更小的单元,而是保持为一个完整的消息。报文的大小可以非常大,因此报文交换的网络通常会面临较高的传输延迟和带宽占用。

2. 存储转发机制
  • 报文交换的工作流程基于存储转发机制。每当一个交换节点接收到一个报文时,它会将整个报文存储在缓冲区中,直到它的下一跳(即下一个交换节点)准备好接收报文。这就意味着在每个交换节点上,报文会被暂存(存储)并检查,然后根据目标地址决定是否转发到下一个节点。

  • 报文在每一个交换节点的存储时间取决于当前网络的负载和节点的处理能力,通常会造成较长的延迟。

3. 路径选择
  • 路由器在报文交换中不需要事先建立连接。每当一个报文到达交换节点时,路由器会查看目标地址,并选择一条路径将其转发到下一节点。这种路径选择通常是基于静态路由表,但它也可以动态调整,尤其是在复杂的网络中。

4. 顺序处理
  • 报文交换的特点之一是先到先发,即先到达交换节点的报文会先被处理和转发。交换节点不立即转发所有报文,而是将它们存储在缓冲区,按顺序逐个转发。


三、报文交换的工作过程

我们可以通过一个例子来更具体地理解报文交换的工作过程。假设有一个从主机A发送到主机B的通信过程,传输的单元是报文

步骤1:用户A发起通信

用户A将一条完整的消息(即报文)准备好并发送给它连接的第一个交换节点。报文大小可能非常大,比如1MB。此时,整个报文作为一个整体被发送,而不会被分割成多个小块。

步骤2:交换节点1存储并转发

交换节点1接收到报文后,将其存储在自己的缓冲区中。然后,交换节点1查看报文中的目标地址信息,决定将该报文转发到下一个交换节点(交换节点2)。这时,报文仍然保持完整,不会拆分成小的数据包。

步骤3:交换节点2继续存储转发

当交换节点2接收到报文时,它再次存储检查该报文,确认没有错误后,再决定是否将其转发给最终目的地(目标主机B)。如果目标主机B就在交换节点2上,报文直接送达目标;如果目标主机B不在此节点,报文继续通过其他交换节点转发,直到最终到达目标。

步骤4:目标主机接收

最终,报文到达目标主机B时,主机B接收到完整的报文,可以立即开始处理该信息。整个过程中,报文没有被拆分或重组,而是作为一个单独的单位经过每一个节点转发。


四、报文交换的特点

  1. 简单但效率低
    报文交换的设计较为简单,每个报文在交换节点间传输时都保持完整。然而,由于没有将报文分成更小的分组,报文交换的传输效率不高。特别是在面对大量并发通信时,报文交换容易造成网络拥塞,因为每个节点必须等待整个报文传输完毕才能处理下一个报文。

  2. 存储时间较长
    由于交换节点必须存储整个报文并等待下一跳节点准备好接收,因此报文交换的延迟较大。在网络负载高时,报文在每个节点的存储时间会进一步增加,导致整体传输时延增加。

  3. 路径选择灵活
    每个交换节点可以根据目标地址选择最佳路径来转发报文,而不需要事先建立一个固定的连接路径。这使得报文交换具有一定的灵活性。

  4. 不适合实时通信
    报文交换不适合像语音通话、视频会议等对时延要求严格的实时通信应用,因为报文的存储转发机制可能引入较长的延迟。

  5. 容错性差
    如果在报文传输过程中出现任何故障或丢失,整个报文都会丢失,而不是丢失其中的一部分数据。缺乏分割和独立传输的机制,导致网络出现问题时恢复较慢。


五、报文交换的作用与好处

  1. 适合低流量通信
    报文交换适用于通信流量较低或不需要实时交互的场景。比如,一些传统的电报和传真系统使用报文交换技术,能够在保证数据传输完整性的同时,传输较为静态的数据(如文件)。

  2. 无须建立连接
    报文交换不需要事先建立一条专用的通信线路,较为灵活。每个报文可以根据网络状况选择不同的路径转发。

  3. 可靠性相对较高
    由于报文交换中的每个报文都是完整传输,交换节点会进行完整的错误检测,确保报文传输过程中没有数据丢失或损坏。


六、报文交换的应用

报文交换在现代网络中已经逐渐被分组交换所取代,但在一些传统的或特定的场合,仍然有其应用:

  1. 电报通信系统
    在20世纪,电报通信使用的就是报文交换技术。它允许人们通过长距离网络传输书面消息。

  2. 传真
    早期的传真技术也采用了报文交换,传输完整的图像文件作为报文。

  3. 传统的邮件系统
    在早期,传统邮件系统也使用报文交换的方式来传输整封邮件或包裹。每个邮件的内容会被作为一个完整的消息进行传输,直至最终到达目的地。

  4. 一些特定的文件传输应用
    在一些小规模或低延迟要求的网络环境中,报文交换技术仍然可用于一些简单的文件传输任务。


七、报文交换的局限性与缺点

  1. 低效率
    当网络负载增加时,报文交换的低效率会变得更加明显。因为每个报文都需要占用整个路径的带宽,而其他流量无法共享同一带宽资源。

  2. 延迟高
    在每个交换节点都需要存储报文并等待下一个节点处理,因此整体的通信延迟较高,不适合实时性要求强的应用(如视频、语音等)。

  3. 不适用于大规模网络
    对于大规模的网络,特别是互联网,报文交换难以应对海量的流量和高频的并发请求。相比之下,分组交换能更好地支持大规模、高频率的数据传输。


八、电路交换、分组交换、报文交换的对比

特性电路交换分组交换报文交换
定义在通信开始前,源和目的地之间建立一条专用的物理路径(电路),并在通信期间保持不变。数据被拆分成多个小分组,通过网络传输,每个分组独立传输,路径动态选择。整个消息作为一个单元传输,在每个节点存储并转发,路径选择动态。
路径预先建立并保持,通信期间不可更改。每个分组独立选择路径,路径动态。每个报文独立选择路径,路径动态。
连接方式需要建立一个专用连接。不需要事先建立连接。不需要事先建立连接。
数据单位比特流或连续数据。分组(Packet),每个分组携带控制信息和数据部分。整个报文,传输过程中报文作为一个完整的单元传输。
资源利用率低,通信期间专用路径不能共享。高,网络资源按需分配,网络带宽可动态使用。较低,整个报文占用带宽,其他流量不能共享。
延迟低,一旦建立连接,数据传输延迟很小。延迟较高,分组需要通过多个节点,且可能出现排队。延迟较高,报文在每个节点都需要存储并转发。
适用场景实时通信(如电话)。适用于大规模的通信,特别是互联网、电子邮件、网页浏览等。适用于低流量通信、早期的电报和传真系统。
可靠性高,通信过程中路径固定,不易出现丢包。高,采用重传机制确保数据可靠到达。可靠性较低,因每个节点都需要存储转发,丢包后可能无法恢复。
拥塞情况容易拥塞,若通信期间链路出现问题,其他用户无法使用该路径。可以动态选择路径,避免单一路径的拥塞。容易拥塞,尤其是在传输大报文时,节点缓冲区容易满。
带宽利用低,路径的带宽被独占,即使没有数据传输。高,网络带宽按需分配,不会因闲置时空闲带宽浪费。较低,传输时整个报文占用带宽,无法进行带宽共享。
应用示例传统电话、专用线路通信。互联网(网页浏览、视频流、文件传输等)、电子邮件。传统电报、传真、早期的邮件传输等。
  1. 路径和连接

    • 电路交换要求在通信开始前为通信双方预设一条固定的路径,并在通信过程中保持不变,这意味着网络中的这条路径在通信期间专属于通信双方,其他流量无法使用这条路径。

    • 分组交换报文交换的路径是动态选择的,不需要在通信开始时预先建立连接,每个数据单位(分组或报文)都可以根据网络的实时状况选择路径进行传输。

  2. 数据单位

    • 电路交换通常是连续的比特流,不会进行拆分,而分组交换将数据拆分为小的分组,每个分组有自己的头部和数据部分。报文交换则将整个报文作为一个单元进行传输,不会进行拆分。

  3. 延迟

    • 电路交换一旦建立连接,延迟较低,因为通信过程中路径已经固定,不需要经过中间处理。

    • 分组交换报文交换由于涉及多个中转节点,每个节点需要存储并转发数据,因此延迟较高。

  4. 带宽利用和资源利用

    • 电路交换的资源利用率较低,因为在通信过程中这条固定路径的带宽是专用的,即使没有数据传输,带宽也被占用。

    • 分组交换报文交换的资源利用效率较高,因为它们采用按需分配的机制,可以动态选择路径和带宽。

  5. 适用场景和应用

    • 电路交换最适合需要低延迟和高可靠性的实时通信场景,如传统的电话通信。

    • 分组交换适用于大规模网络通信,特别是互联网通信,它支持大量并发的、非实时的数据流。

    • 报文交换由于存在较大的传输延迟和低效率,主要用于早期的电报、传真等系统。

相关文章:

【计网】网络交换技术之报文交换(复习自用,了解,重要3)

复习自用的,处理得比较草率,复习的同学或者想看基础的同学可以看看,大佬的话可以不用浪费时间在我的水文上了 另外两种交换技术可以直接点击链接访问相关笔记: 电路交换 分组交换 一、报文交换的定义 报文交换(Me…...

GitLab 17.x 配置 https

文章目录 使用外部 nginx 参考:https://docs.gitlab.com/omnibus/settings/nginx.html 使用内置 nginx 参考:https://docs.gitlab.com/omnibus/settings/ssl/index.html#configure-https-manually // 使用自己手工申请证书 $ mkdir /etc/gitlab/ssl $ m…...

中间件--ClickHouse-1--基础介绍(列式存储,MPP架构,分布式计算,SQL支持,向量化执行,亿万级数据秒级查询)

1、概述 ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。它由俄罗斯的互联网巨头Yandex为解决其内部数据分析需求而开发,并于2016年开源。专为大规模数据分析,实时数据分析和复杂查询设计,具有高性能、实时数据和可扩展性等…...

【编写Node接口;接口动态获取VUE文件并异步加载, 并渲染impoort插件使用】

编写Node接口;接口动态获取VUE文件并异步加载, 并渲染impoort插件使用; vue3-sfc-loader主要特征: 编写Node接口:Vue2项目使用:Vue3项目使用:(页面按需加载插件、图片等)主要使用&am…...

vue入门:template 和 JSX

temlplate 和 jsx 最终渲染时都是创建 dom 节点 template 和 JSX 混合使用 <template><div><span>Message: {{ msg }}</span><br/><VNodes :vnodes"getJSXSpan()"/><VNodes :vnodes"getAnchoredHeading(4)"/>…...

[Dify] Dify 本地部署及连接 Ollama 模型全流程指南

在构建私有化智能应用时,Dify 作为一款开源的大模型应用开发平台,具备强大的插件体系和可扩展能力。本文将详细介绍如何在本地环境中部署 Dify,并成功连接本地的 Ollama 模型,解决实际部署过程中常见的问题与错误。 一、本地部署 Dify 步骤详解 1. 安装 Docker 环境(以 W…...

基于PyQt5的Jupyter Notebook转Python工具

一、项目背景与核心价值 在数据科学领域,Jupyter Notebook因其交互特性广受欢迎,但在生产环境中通常需要将其转换为标准Python文件。本文介绍一款基于PyQt5开发的桌面级转换工具,具有以下核心价值: 可视化操作:提供友好的GUI界面,告别命令行操作 批量处理:支持目录递归…...

从自然语言到 JSON 数据交互:探索 MCP 协议的自动化任务实现

好的&#xff01;以下是基于我们讨论的关于 MCP 协议、JSON 数据交互以及自然语言到 JSON 转换的实现过程的总结&#xff0c;格式化为一篇 CSDN 风格的博客记录。这篇文章将记录你的发现&#xff0c;适合分享给技术社区。 从自然语言到 JSON 数据交互&#xff1a;探索 MCP 协议…...

n8n 本地部署及实践应用,实现零成本自动化运营 Telegram 频道(保证好使)

n8n 本地部署及实践应用&#xff0c;实现零成本自动化运营 Telegram 频道&#xff08;保证好使&#xff09; 简介 n8n 介绍 一、高度可定制性 二、丰富的连接器生态 三、自托管部署&#xff08;本地部署&#xff09; 四、社区驱动 n8n 的部署 一、前期准备 二、部署步…...

嵌入式学习(37)-STM32串口发送中断的实现

一、概述 项目中需要用到发送中断&#xff0c;所以了解了发送中断的一些知识。 二、应用 状态寄存器USART_SR的复位值为0x00C0H, 也就是第七位TXE和第六位TC复位值为1&#xff0c;而TXE1,表明发送数据寄存器为空&#xff0c; TC1表明发送已完成。 USART_ITConfig(USART1, USA…...

Android envsetup与Python venv使用指南

Android envsetup 和 Python venv 是两种完全不同的环境配置工具&#xff0c;分别服务于不同的开发场景。以下是对它们的详细解释及使用方法&#xff1a; 1. Android envsetup 用途&#xff1a; Android envsetup 是 Android 源码开发中的环境配置脚本&#xff08;envsetup.sh…...

安卓关机和重启源码流程

// systemui关机 frameworks/base/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsComponent.java Overridepublic void shutdown() {try {mBarService.shutdown();} catch (RemoteException e) {}}frameworks/base/services/core/java/com/android…...

解决单设备号双目摄像头调用难题:经验分享与总结

解决单设备号双目摄像头调用难题:经验分享与总结 在计算机视觉项目中,双目摄像头的调用是常见需求,但过程中往往会遇到各种挑战。最近,我就经历了一段曲折但最终成功解决问题的历程,现在将这段宝贵经验分享给大家。 一、问题背景 我手头的双目摄像头仅有一个设备号(设…...

【RL系列】DAPO: An Open-Source LLM Reinforcement Learning System at Scale

1. 简介 尽管RL对complex reasoning效果提升有重要作用&#xff0c;但是在openAI o1和DeepSeek R1 technical report上都没有详细的实验细节。本文主要提出了DAPO算法&#xff0c;提出了4个关键技术点并开源参数和代码。在AIME 2024验证了DAPO算法的有效性。 2. Tricks Exc…...

五子棋(测试报告)

文章目录 一、项目介绍二、测试用例三、自动化测试用例的部分展示注册登录游戏大厅游戏匹配 总结 一、项目介绍 本项目是一款基于Spring、SpringMVC、MyBatis、WebSocket的双人实时对战五子棋游戏,游戏操作便捷&#xff0c;功能清晰明了。 二、测试用例 三、自动化测试用例的…...

【小工具】定时任务执行器

定时任务执行器 背景版本代码JobJob执行机 背景 有时我们的项目内需要一个定时执行器来执行某些任务&#xff0c;就需要一个简单好用的定时任务机。 注意&#xff0c;这个定时任务机并不原生支持分布式&#xff0c;如果需要分布式的功能请自己实现。 版本 jdk21 代码 Job …...

LVGL源码(7):渲染

在LVGL源码(4):LVGL关于EVENT事件的响应逻辑_lvgl实现显示打车-CSDN博客这篇文章中&#xff0c;我们提到了LVGL的三大步骤&#xff1a;检测用户输入操作、调用我们编写的逻辑、在屏幕上显示对应的画面&#xff1b;而在学习完“样式”之后&#xff0c;我们或许可以将上述步骤说明…...

02_通过调用硅基流动平台deepseekapi按输入的标题生成文章

from openai import OpenAIclient OpenAI(base_urlhttps://api.siliconflow.cn/v1,api_keyyou api-key )# 定义关键词变量 keyword "人性的弱点都有哪些&#xff1f;"# 发送带有流式输出的请求 response client.chat.completions.create(model"deepseek-ai/D…...

三、Virtual Device Manager

一、创建AVD AVD是Android Virtual Device&#xff08;安卓虚拟设备&#xff09;,我们可以启动Android Studio 选择 Virtual Device Manager 创建并启动一个模拟器。 二、设置屏幕大小 上面直接创建的镜像是不能设置屏幕大小的&#xff0c;启动后笔记本屏幕都放不下&#xff…...

MATLAB2022b安装

1 从百度网盘下载MATLAB2022b&#xff0c;下载完成后解压到某个文件夹&#xff1b; 链接: MATLAB2022b 提取码: 6666 2 打开解压后的文件夹&#xff0c;进入setup文件夹&#xff0c;双击打开“setup.exe”文件&#xff1b; 3 在弹出窗口中选择“高级选项”-->“我有文件安…...

计算机编码

计算机&#xff0c;不能直接存储文字&#xff0c;存储的是编码。 计算机只能处理二进制的数据&#xff0c;其它数据&#xff0c;比如&#xff1a;0-9、a-z、A-Z&#xff0c;这些字符&#xff0c;我们可以定义一套规则来表示。假如&#xff1a;A用110表示&#xff0c;B用111表示…...

Dell EMC Unity NAS 认证方式介绍

近日有个客户要配置EMC Unity的NAS访问&#xff0c;我们知道NAS有Linux环境下的NFS和Windows环境下的SMB&#xff08;也叫做CIFS&#xff09;。单独配置其中的一种访问协议相对简单&#xff0c;但是客户提出的要求是要对文件系统同时NFS和SMB访问&#xff0c;这就有些复杂&…...

SpringAi 会话记忆功能

在使用chatGPT&#xff0c;豆包等产品后&#xff0c;就会发现他们的会话有“记忆”功能。 那么我们用API接口的话&#xff0c;这个是怎么实现的呢&#xff1f; 属于比较粗暴的方式&#xff0c;把之前的内容与新的提示词一起再次发给大模型。让我们看到他们有记忆功能。 下面介绍…...

BUUCTF-web刷题篇(25)

34.the mystery of ip 给出链接&#xff0c;输入得到首页&#xff1a; 有三个按钮&#xff0c;flag点击后发现页面窃取客户端的IP地址&#xff0c;通过给出的github代码中的php文件发现可以通过XFF或Client-IP传入值。使用hackbar或BP 使用XSS&#xff0c;通过github给出的目录…...

Elasticsearch 性能优化:从原理到实践的全面指南

Elasticsearch&#xff08;ES&#xff09;作为一款基于 Lucene 的分布式搜索和分析引擎&#xff0c;广泛应用于日志分析、搜索引擎和实时数据处理等场景。然而&#xff0c;在高并发、大数据量环境下&#xff0c;Elasticsearch 的性能可能面临瓶颈&#xff0c;如查询延迟高、索引…...

UITableVIew性能优化概述

UITableVIew性能优化概述 文章目录 UITableVIew性能优化概述前言如何优化优化的本质卡顿的原因 CPU层级cell复用UITableVIew尽量采用复用 定义cell的种类尽量少&#xff0c;可以多用hidden缓存cell高度基础设置预先设置高度设置一个预先缓存 异步绘制滑动按照需加载尽量显示大小…...

【Linux网络与网络编程】09.传输层协议TCP

前言 TCP 即 传输控制协议 (Transmission Control Protocol)&#xff0c;该协议要对数据的传输进行一个详细的控制&#xff08;数据传输时什么时候传输&#xff0c;一次发多少&#xff0c;怎么发&#xff0c;出错了怎么办……&#xff09; 本篇博客将从下面这张TCP协议格式图…...

08.unity 游戏开发-unity编辑器资源的导入导出分享

08.unity 游戏开发-unity编辑器资源的导入导出分享 提示&#xff1a;帮帮志会陆续更新非常多的IT技术知识&#xff0c;希望分享的内容对您有用。本章分享的是Python基础语法。前后每一小节的内容是存在的有&#xff1a;学习and理解的关联性&#xff0c;希望对您有用~ unity简介…...

Docker Swarm 集群

Docker Swarm 集群 本文档介绍了 Docker Swarm 集群的基本概念、工作原理以及相关命令使用示例&#xff0c;包括如何在服务调度中使用自定义标签。本文档适用于需要管理和扩展 Docker 容器化应用程序的生产环境场景。 1. 什么是 Docker Swarm Docker Swarm 是用于管理 Docker…...

数据中台、数据湖和数据仓库 区别

1. 核心定义与定位 数据仓库&#xff08;Data Warehouse&#xff09; 定义&#xff1a;面向主题的、集成的、历史性且稳定的结构化数据集合&#xff0c;主要用于支持管理决策和深度分析。定位&#xff1a;服务于管理层和数据分析师&#xff0c;通过历史数据生成报表和商业智能…...

【CodeMirror】系列(二)官网示例(五)可撤销操作、拆分视图、斑马条纹

一、可撤销操作 默认情况下&#xff0c;history 历史记录扩展仅跟踪文档和选择的更改&#xff0c;撤销操作只会回滚这些更改&#xff0c;而不会影响编辑器状态的其他部分。 不过你也可以将其他的操作定义成可撤销的。如果把这些操作看作状态效果&#xff0c;就可以把相关功能整…...

SpringBoot 动态路由菜单 权限系统开发 菜单权限 数据库设计 不同角色对应不同权限

介绍 系统中的路由配置可以根据用户的身份、角色或其他权限信息动态生成&#xff0c;而不是固定在系统中。不同的用户根据其权限会看到不同的路由&#xff0c;访问不同的页面。对应各部门不同的权限。 效果 [{"id": 1,"menuName": "用户管理"…...

scikit-learn 开源框架在机器学习中的应用

文章目录 scikit-learn 开源框架介绍1. 框架概述1.1 基本介绍1.2 版本信息 2. 核心功能模块2.1 监督学习2.2 无监督学习2.3 数据处理 3. 关键设计理念3.1 统一API设计3.2 流水线(Pipeline) 4. 重要辅助功能4.1 模型选择4.2 评估指标 5. 性能优化技巧5.1 并行计算5.2 内存优化 6…...

GPT-4、Grok 3与Gemini 2.0 Pro:三大AI模型的语气、风格与能力深度对比

更新后的完整CSDN博客文章 以下是基于您的要求&#xff0c;包含修正后的幻觉率部分并保留原始信息的完整CSDN博客风格文章。幻觉率已调整为更符合逻辑的描述&#xff0c;其他部分保持不变。 GPT-4、Grok 3与Gemini 2.0 Pro&#xff1a;三大AI模型的语气、风格与能力深度对比 …...

Cyber Weekly #51

赛博新闻 1、英伟达开源新模型&#xff0c;性能直逼DeepSeek-R1 本周&#xff0c;英伟达开源了基于Meta早期Llama-3.1-405B-Instruct模型开发的Llama-3.1-Nemotron-Ultra-253B-v1大语言模型&#xff0c;该模型拥有2530亿参数&#xff0c;在多项基准测试中展现出与6710亿参数的…...

QT聊天项目开发DAY02

1.添加输入密码的保密性 LoginWidget::LoginWidget(QDialog*parent): QDialog(parent) {ui.setupUi(this);ui.PassWord_Edit->setEchoMode(QLineEdit::Password);BindSlots(); }2.添加密码的验证提示 3.修复内存泄漏&#xff0c;并嵌套UI子窗口到主窗口里面 之前并没有设置…...

Spring AI高级RAG功能查询重写和查询翻译

1、创建查询重写转换器 // 创建查询重写转换器queryTransformer RewriteQueryTransformer.builder().chatClientBuilder(openAiChatClient.mutate()).build(); 查询重写是RAG系统中的一个重要优化技术&#xff0c;它能够将用户的原始查询转换成更加结构化和明确的形式。这种转…...

速盾:高防CDN的原理和高防IP一样吗?

随着互联网的发展&#xff0c;网络安全威胁日益严重&#xff0c;尤其是DDoS攻击、CC攻击等恶意行为&#xff0c;给企业带来了巨大的风险。为了应对这些挑战&#xff0c;许多企业开始采用高防CDN&#xff08;内容分发网络&#xff09;和高防IP作为防御措施。尽管两者都能提供一定…...

SQLite-Web:一个轻量级的SQLite数据库管理工具

SQLite-Web 是一个基于 Web 浏览器的轻量级 SQLite 数据库管理工具。它基于 Python 开发&#xff0c;免费开源&#xff0c;无需复杂的安装或配置&#xff0c;适合快速搭建本地或内网的 SQLite 管理和开发环境。 SQLite-Web 支持常见的 SQLite 数据库管理和开发任务&#xff0c;…...

数智读书笔记系列028 《奇点更近》

一、引言 在科技飞速发展的今天&#xff0c;我们对未来的好奇与日俱增。科技将如何改变我们的生活、社会乃至人类本身&#xff1f;雷・库兹韦尔的《奇点更近》为我们提供了深刻的见解和大胆的预测&#xff0c;让我们得以一窥未来几十年的科技蓝图。这本书不仅是对未来科技趋势…...

深入理解linux操作系统---第4讲 用户、组和密码管理

4.1 UNIX系统的用户和组 4.1.1 用户与UID UID定义&#xff1a;用户身份唯一标识符&#xff0c;16位或32位整数&#xff0c;范围0-65535。系统用户UID为0&#xff08;root&#xff09;、1-999&#xff08;系统服务&#xff09;&#xff0c;普通用户从1000开始分配特殊UID&…...

系统设计模块之安全架构设计(常见攻击防御(SQL注入、XSS、CSRF、DDoS))

一、SQL注入攻击防御 SQL注入是通过恶意输入篡改数据库查询逻辑的攻击方式&#xff0c;可能导致数据泄露或数据库破坏。防御核心在于隔离用户输入与SQL代码&#xff0c;具体措施包括&#xff1a; 参数化查询&#xff08;预编译语句&#xff09; 原理&#xff1a;将SQL语句与用…...

redission锁释放失败处理

redission锁释放失败处理 https://www.jianshu.com/p/055ae798547a 就是可以删除 锁的key 这样锁就释放了&#xff0c;但是 还是要结合业务&#xff0c;这种是 非正规的处理方式&#xff0c;还是要在代码层面进行处理。...

Visual Studio Code 在.S汇编文件中添加调试断点及功能简介

目录 一、VS Code汇编文件添加断点二、VS Code断点调试功能简介1. 设置断点(1) 单行断点(2) 条件断点(3) 日志断点 2. 查看断点列表3. 调试时的断点控制4. 禁用/启用断点5. 删除断点6. 条件断点的使用7. 多线程调试8. 远程调试9. 调试配置文件 一、VS Code汇编文件添加断点 最…...

计算视觉与数学结构及AI拓展

在快速发展的计算视觉领域&#xff0c;算法、图像处理、神经网络和数学结构的交叉融合&#xff0c;在提升我们对视觉感知和分析的理解与能力方面发挥着关键作用。本文探讨了支撑计算视觉的基本概念和框架&#xff0c;强调了数学结构在开发鲁棒的算法和模型中的重要性。 AI拓展…...

Vue2 老项目升级 Vue3 深度解析教程

Vue2 老项目升级 Vue3 深度解析教程 摘要 Vue3 带来了诸多改进和新特性&#xff0c;如性能提升、组合式 API、更好的 TypeScript 支持等&#xff0c;将 Vue2 老项目升级到 Vue3 可以让项目获得这些优势。本文将深入解析升级过程&#xff0c;涵盖升级前的准备工作、具体升级步骤…...

器件封装-2025.4.13

1.器件网格设置要与原理图一致&#xff0c;同时器件符号要与数据手册一致 2.或者通过向导进行编辑&#xff0c;同时电机高级符号向导进行修改符号名称 2.封装一般尺寸大小要比数据手册大2倍到1.5倍 焊盘是在顶层绘制&#xff0c;每个焊盘距离要用智能尺子测量是否跟数据手册一…...

Python 基础语法汇总

Python 语法 │ ├── 基本结构 │ ├── 语句&#xff08;Statements&#xff09; │ │ ├── 表达式语句&#xff08;如赋值、算术运算&#xff09; │ │ ├── 控制流语句&#xff08;if, for, while&#xff09; │ │ ├── 定义语句&#xff08;def…...

Java函数式编程魔法:Stream API的10种妙用

在Java 8中引入的Stream API为函数式编程提供了一种全新的方式。它允许我们以声明式的方式处理数据集合&#xff0c;使代码更加简洁、易读且易于维护。本文将介绍Stream API的10种妙用&#xff0c;帮助你更好地理解和应用这一强大的工具。 1. 过滤操作&#xff1a;筛选符合条件…...

【力扣hot100题】(094)编辑距离

记得最初做这题完全没思路&#xff0c;这次凭印象随便写了一版居然对了。 感觉这题真的有点为出题而出题的意思&#xff0c;谁拿到这题会往动态规划方向想啊jpg 也算是总结出规律了&#xff0c;凡是遇到这种比较俩字符串的十有八九是动态规划&#xff0c;而且是二维动态规划&…...