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

深入理解 Web 架构:从基础到实践

文章目录

    • 引言
    • 一、Web 架构基础概念
      • 客户端 - 服务器模型
      • HTTP 协议
    • 二、常见 Web 架构模式
      • 单体架构
      • 微服务架构
    • 三、Web 架构常见问题及解决方法
      • 性能问题
      • 安全问题
    • 四、Web 架构思维导图
    • 五、总结

引言

在当今数字化的时代,Web 应用无处不在。无论是社交媒体平台、电子商务网站还是在线办公工具,背后都离不开精心设计的 Web 架构。了解Web 架构不仅有助于开发者构建高效、稳定的应用,还能让我们更好地理解互联网的运行机制。本文将深入探讨 Web 架构的各个方面,包括基础概念、常见架构模式、问题解决以及相关思维导图。

一、Web 架构基础概念

客户端 - 服务器模型

客户端 - 服务器模型是 Web 架构的基础。客户端通常是用户使用的浏览器或移动应用,负责向服务器发送请求并显示服务器返回的响应。服务器则是提供服务的计算机,接收客户端的请求,处理请求并返回相应的数据。

# 简单的 Python 服务器示例
import http.server
import socketserverPORT = 8000Handler = http.server.SimpleHTTPRequestHandlerwith socketserver.TCPServer(("", PORT), Handler) as httpd:print(f"Serving at port {PORT}")httpd.serve_forever()

注释

  • http.serversocketserver 是 Python 内置的模块,用于创建简单的 HTTP 服务器。
  • SimpleHTTPRequestHandler 是一个处理 HTTP 请求的类,它会将请求的文件返回给客户端。
  • TCPServer 是一个 TCP 服务器类,用于监听指定的端口并处理客户端的连接。

HTTP 协议

HTTP(Hypertext Transfer Protocol)是 Web 应用中最常用的协议,用于在客户端和服务器之间传输数据。HTTP 是一种无状态的协议,每次请求都是独立的,服务器不会保留客户端的状态信息。

# HTTP 请求示例
GET /index.html HTTP/1.1
Host: example.com
User - Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q = 0.9,image/avif,image/webp,image/apng,*/*;q = 0.8,application/signed - exchange;v = b3;q = 0.9# HTTP 响应示例
HTTP/1.1 200 OK
Content - Type: text/html; charset=UTF - 8
Content - Length: 1234<!DOCTYPE html>
<html>
<head><title>Example Page</title>
</head>
<body><h1>Hello, World!</h1>
</body>
</html>

注释

  • HTTP 请求由请求行、请求头和请求体组成。请求行包含请求方法(如 GET、POST)、请求的资源路径和 HTTP 版本。
  • HTTP 响应由状态行、响应头和响应体组成。状态行包含 HTTP 版本、状态码(如 200 表示成功,404 表示未找到资源)和状态消息。

二、常见 Web 架构模式

单体架构

单体架构是最简单的 Web 架构模式,整个应用作为一个单一的单元进行开发、部署和运行。所有的功能模块都集成在一个项目中,共享同一个数据库。

优点

  • 开发简单,易于理解和维护。
  • 部署方便,只需要部署一个应用程序。

缺点

  • 可扩展性差,随着业务的增长,代码会变得越来越复杂,难以维护。
  • 容错性低,一个模块出现问题可能会影响整个应用的运行。

微服务架构

微服务架构将应用拆分成多个小型、自治的服务,每个服务都可以独立开发、部署和运行。这些服务通过轻量级的通信机制(如 HTTP、消息队列)进行交互。

// 简单的 Node.js 微服务示例
const express = require('express');
const app = express();
const port = 3000;app.get('/', (req, res) => {res.send('Hello from Microservice!');
});app.listen(port, () => {console.log(`Microservice running on port ${port}`);
});

注释

  • 使用 Express 框架创建一个简单的 Node.js 微服务。
  • 该微服务监听 3000 端口,当接收到根路径的 GET 请求时,返回一个简单的消息。

优点

  • 可扩展性强,可以根据业务需求独立扩展各个服务。
  • 容错性高,一个服务出现问题不会影响其他服务的运行。
  • 开发效率高,不同的团队可以并行开发不同的服务。

缺点

  • 系统复杂度高,需要处理服务之间的通信、协调和管理。
  • 部署和运维成本高,需要管理多个服务的部署和监控。

三、Web 架构常见问题及解决方法

性能问题

问题描述:Web 应用响应缓慢,用户体验差。

解决方法

  • 缓存:使用缓存技术(如浏览器缓存、服务器端缓存)减少重复请求,提高响应速度。
  • 负载均衡:通过负载均衡器将请求分发到多个服务器上,避免单个服务器负载过高。
  • 优化数据库查询:优化数据库查询语句,创建合适的索引,减少数据库的响应时间。

安全问题

问题描述:Web 应用存在安全漏洞,如 SQL 注入、跨站脚本攻击(XSS)等。

解决方法

  • 输入验证:对用户输入进行严格的验证和过滤,防止 SQL 注入和 XSS 攻击。
  • 加密:对敏感数据进行加密处理,如用户密码、支付信息等。
  • 安全头信息:设置合适的 HTTP 安全头信息,如 Content - Security - PolicyX - Frame - Options 等,增强应用的安全性。

四、Web 架构思维导图

Web 架构
基础概念
常见架构模式
常见问题及解决方法
客户端 - 服务器模型
HTTP 协议
单体架构
微服务架构
性能问题
安全问题
缓存
负载均衡
优化数据库查询
输入验证
加密
安全头信息

五、总结

Web 架构是一个复杂而又重要的领域,它涉及到多个方面的知识和技术。通过本文的介绍,我们了解了 Web架构的基础概念、常见架构模式以及常见问题的解决方法。同时,通过思维导图的形式,我们对 Web架构有了一个更清晰的整体认识。在实际开发中,我们需要根据具体的业务需求和场景选择合适的架构模式,并不断优化和改进,以构建高效、稳定、安全的Web 应用。

希望本文对您理解 Web 架构有所帮助,欢迎在评论区分享您的看法和经验!

相关文章:

深入理解 Web 架构:从基础到实践

文章目录 引言一、Web 架构基础概念客户端 - 服务器模型HTTP 协议 二、常见 Web 架构模式单体架构微服务架构 三、Web 架构常见问题及解决方法性能问题安全问题 四、Web 架构思维导图五、总结 引言 在当今数字化的时代&#xff0c;Web 应用无处不在。无论是社交媒体平台、电子商…...

蓝桥杯-通电(最小生成树java)

题目 思路 这道题其实也挺容易看出来是最小生成树的。我当时做的时候确实是能看出来是考的最小生成树&#xff0c;union()&#xff0c;find()那些方法我也能写出来&#xff0c;但是&#xff0c;我完全不知道怎么去利用给你的输入数据&#xff0c;去求解题目&#xff0c;也就是知…...

代码随想录算法训练营第60期第二十八天打卡

今天我们继续回溯算法章节&#xff0c;昨天我们重点讲的是组合问题&#xff0c;我们完美使用递归三部曲以及递归回溯相结合的方法来解决&#xff0c;当然昨天最有难度的还是去重操作&#xff0c;那个大家要多思考一下&#xff0c;那么今天我们就继续探讨回溯算法。 第一题对应…...

vscode远程服务器连接----过程尝试写入的管道不存在

通过跳板机连接远程服务器时&#xff0c;报错---过程尝试写入的管道不存在 过程尝试写入的管道不存在报错解决报错内容解决方法1. 测试网络连接连接是否正常2. 检查跳板机并打开权限3. 通过跳板机登录到目标服务器4.配置文件范例 注&#xff1a;校外连接学校内网服务器报错 过程…...

C++ - 仿 RabbitMQ 实现消息队列(1)(环境搭建)

C - 仿 RabbitMQ 实现消息队列&#xff08;1&#xff09;&#xff08;环境搭建&#xff09; 什么是消息队列核心特点核心组件工作原理常见消息队列实现应用场景优缺点 项目配置开发环境技术选型 更换软件源安装一些工具安装epel 软件源安装 lrzsz 传输工具安装git安装 cmake安装…...

多模态核心模型

1.BLIP的原理? BLIP是一种统一视觉语言理解和生成的预训练模型。BLIP的特点在于它采用了一种编码器-解码器混合架构&#xff08;MED)&#xff0c;并且引入了CapFilt机制来提高数据质量和模型性能。BLIP的主要组成部分包括&#xff1a; MED架构&#xff1a;包括单模态编码器、…...

Kubernetes笔记(1)Kubernetes入门

Kubernetes入门 一、容器技术二、Kubernetes介绍1. Kubernetes核心资源2. Kubernetes集群架构2.1 Master2.2 Node 一、容器技术 随着技术发展&#xff0c;应用程序的部署经历了从物理机到虚拟机&#xff0c;再到容器的转变。 物理机&#xff1a;物理机会运行多个程序&#xf…...

【coze】意图识别(售前售后问题、搜索引擎去广告)

【coze】&#xff08;售前售后问题、搜索引擎去广告&#xff09; 1、创建意图识别工作流&#xff08;1&#xff09;创建工作流&#xff08;2&#xff09;添加意图识别节点&#xff08;3&#xff09;配置意图识别节点&#xff08;4&#xff09;运行看效果&#xff08;5&#xff…...

Vue3 中用 canvas 封装抽奖转盘组件:设定中奖概率及奖项图标和名称

在 Web 应用开发中&#xff0c;抽奖功能是提升用户参与度的常用手段。使用 Vue3 结合 canvas 技术&#xff0c;我们可以轻松实现一个高度自定义的抽奖转盘组件&#xff0c;不仅能设定中奖概率&#xff0c;还能灵活配置奖项图标和名称。本文将详细介绍该组件的实现原理、步骤&am…...

vue3+vite+AI大模型实现谷歌插件-web诊断

vue3viteAI大模型实现谷歌插件-web诊断 一、前言二、实现思路1、功模块构图2、数据交互图 三、技术栈简介1、Web端2、服务端 四、主要功能实现1、Web端【1】谷歌插件vue全局配置文件【2】加载web诊断工具至当前页面【3】全局捕获异常错误 2、Server端【1】websock管理模块【2】…...

高频PCB设计如何选择PCB层数?

以四层板为例&#xff0c;可以第一层和第二层画信号&#xff0c;作为信号层。 第三层可以走电源&#xff0c;然后第四层走GND 但是更可以第一层和第三层画信号。第二层可以走电源&#xff0c;然后第四层走GND 用中间的电源层以及地层可以起到屏蔽的作用&#xff0c;有效降低寄…...

第100+40步 ChatGPT学习:R语言实现多轮建模

回顾一下什么叫多轮建模&#xff1a; 要综合判断一个模型好不好&#xff0c;一次随机抽样是不行的&#xff0c;得多次抽样建模&#xff0c;看看整体的性能如何才行&#xff08;特别是对于这种小训练集&#xff09;。 所以我的思路是&#xff0c;随机抽取训练集和验证集2000次…...

DolphinScheduler-3.2.0集群部署教程

详见&#xff1a; DolphinScheduler-3.2.0集群部署教程Centos7 DolphinScheduler集群部署...

如何设计Kafka的高可用跨机房容灾方案?(需要实战,未实战,纯理论)

1. 双活多中心架构设计 startuml 机房A <--> [Kafka Cluster A] : 万兆光纤 机房B <--> [Kafka Cluster B] : 专线网络 机房C <--> [Kafka Cluster C] : VPN隧道[Kafka Cluster A] <-.-> [Kafka Cluster B] : MirrorMaker2双向镜像 [Kafka Cluster B]…...

[人机交互]协作与通信的设计

零.要点 – 解释协作与通信的含义 – 描述人们在协作与通信中使用的社会机制的主要类型 – 概述存在的各种群件系统 – 讨论学科研究和与社交相关的理论&#xff0c;对设计的启示 一.解释协作与通信的含义 1.1什么是通信 通信是个体之间的信息交换的过程 – 按照所 交换信息的…...

LXwhat-嘉立创

一 电路板简介 什么是PCB? 印刷电路板 什么是SMT? 表面贴装技术 有关电路板的几个专业名词 覆铜腐蚀走线多层板 为什么要画电路板? 杜邦线:接线杂乱、虚接、有可能短路洞洞板:考验焊功(虚焊)、异型元器件不适配自己画板:整齐有序、适配异型元器件、紧凑优雅、有成就感(输…...

决 策 树

1 决策树模型 假如你正在运营一家猫咪领养中心&#xff0c;并拥有一些特征数据&#xff0c;你想训练一个分类器来快速判断一只动物是否为猫。这里有十个训练样本&#xff0c;有关于动物耳朵形状、面部形状、是否有胡须的特征&#xff0c;你想要预测这种动物是否为猫&#xff1…...

ts axios中报 Property ‘code‘ does not exist on type ‘AxiosResponse<any, any>‘

ts语法有严格的格式&#xff0c;如果我们在处理响应数据时&#xff0c;出现了axios响应中非默认字段&#xff0c;就会出现标题那样的警告&#xff0c;我们可以通过创建axios.dt.ts解决这个问题 下面是我在开发中遇到的警告&#xff0c;code并不是axios默认返回的字段&#xff0…...

【AI】用AI将文档、文字一键生成PPT的方法(百度的自由画布版)

前提&#xff1a; 最近看了个书&#xff0c;周末要参加读书会&#xff0c;要分享这本书的内容。一般来说&#xff0c;我都是写好了内容文档&#xff0c;然后在网上找一些模板套上去。 最近发现&#xff0c;有些网站已经可以按照文档&#xff0c;自动生成PPT模板了&#xff0c;里…...

爬虫技术-利用Python和Selenium批量下载动态渲染网页中的标准文本文件

近日工作需要整理信息安全的各项标准文件&#xff0c;这些文件通常发布在在官方网站&#xff0c;供社会各界下载和参考。 这些页面中&#xff0c;标准文本文件常以Word&#xff08;.doc/.docx&#xff09;或PDF格式提供下载。由于文件数量庞大&#xff0c;手动逐条点击下载效率…...

CUDA编程 - 如何在 GPU 上使用 C++ 函数重载 - cppOverload

这里写目录标题 一、完整代码与例程目的二、代码拆解与复用​ 2.1、函数重载​​&#xff1a;​ 2.2、函数指针声明​​&#xff1a;​ 2.3、函数指针赋值与内核启动​​&#xff1a;​ 2.4、CUDA API调用​​&#xff1a;2.4.1、cudaFuncSetCacheConfig&#xff1a;2.4.2、cud…...

AI教你学VUE——Gemini版

前端开发学习路线图 (针对编程新手&#xff0c;主攻 Vue 框架) 总原则&#xff1a;先夯实基础&#xff0c;再深入框架。 想象一下建房子&#xff0c;地基不牢&#xff0c;上面的高楼&#xff08;框架&#xff09;是盖不起来的。HTML、CSS、JavaScript 就是前端的地基。 阶段一…...

力扣热题100,力扣49.字母异位词分组力扣128.最长连续序列力扣.盛水最多的容器力扣42.接雨水(单调栈)

目录 力扣49.字母异位词分组 力扣128.最长连续序列 力扣.盛水最多的容器 力扣42.接雨水(单调栈) 1.包的命名规范: java的命名规范 全部采用小写 结尾不能加负数 声明包: 位置必须在首行 类: 字母数字下划线&#xff0c;美元符号 不能数字开头 不能有中文 不能以关键字命名 区…...

react naive 网络框架源码解析

本文取 react native 两个区别很大的版本做分析&#xff08;0.76.5、0.53.3&#xff09; 一、0.76.5 版fetch 全流程排查 1、JS 端的实现 随手写一个fetch&#xff0c;点开。 我们这里常用的还是手机端&#xff0c;因此选择 react-native&#xff0c;react-native-windows …...

DID在元宇宙的应用爆发:数字身份资产化与跨平台迁移——解析Decentraland等项目的虚拟身份全链路实现

元宇宙的兴起催生了多维度的数字身份需求&#xff0c;但传统虚拟身份系统受限于中心化架构&#xff0c;面临数据孤岛、身份碎片化、资产归属模糊等核心挑战。本文以Decentraland、The Sandbox、Somnium Space等顶级元宇宙平台为研究对象&#xff0c;探讨去中心化身份&#xff0…...

MySQL的内置函数与复杂查询

目录 前言 一、聚合函数 1.1日期函数 1.2字符串函数 1.3数学函数 1.4其它函数 二、关键字周边 2.1关键字的生效顺序 2.2数据源 2.3可以使用聚合函数的关键字 前言 在前面几篇文章中&#xff0c;讲解了有关MySQL数据库、数据库表的创建、数据库表的数据操作等等。本文我…...

mysql中select 1 from的作用

在MySQL中&#xff0c;SELECT 1 FROM ... 是一个常见的SQL写法&#xff0c;通常用于以下场景&#xff1a; 1. 作用与原理 SELECT 1 的本质是返回一个常数值&#xff08;即数字1&#xff09;&#xff0c;且不依赖表中的实际数据。 它的核心作用是快速验证逻辑条件是否成立&…...

Linux中 du (详解)、 df (详解)和 free(详解)以及它们的区别

目录 du命令 df命令 free命令 du/df/free区别 Tree du命令 功能&#xff1a;用于计算文件或目录所占用的磁盘空间大小。它会递归地遍历指定目录下的所有文件和子目录&#xff0c;统计它们占用的磁盘块数&#xff0c;从而得出占用的空间大小。常用选项&#xff1a; -h&…...

ETL交通行业案例丨某大型铁路运输集团ETL数据集成实践

在广袤的祖国边疆&#xff0c;一条条钢铁动脉承载着区域经济发展的重要使命。某大型铁路运输集团作为区域交通枢纽的运营主体&#xff0c;管辖着横跨多个省、区的铁路网络&#xff0c;运营里程超3000公里&#xff0c;每日承载着数以万计的客货运输任务。随着"数字中国&quo…...

【数据挖掘】Apriori算法

Apriori算法是经典的关联规则挖掘算法&#xff0c;用于从事务型数据库中发现频繁项集和强关联规则&#xff0c;特别常用于购物篮分析等场景。 &#x1f9e0; 核心思想&#xff08;Apriori原则&#xff09; 一个项集是频繁的&#xff0c;前提是它的所有子集也必须是频繁的。 即&…...

7.9/Q1,Charls最新文章解读

文章题目&#xff1a;Association between urbanization levels and frailty among middle-aged and older adults in China: evidence from the CHARLS DOI&#xff1a;10.1186/s12916-025-03961-y 中文标题&#xff1a;中国中老年人城市化水平与虚弱程度之间的关联&#xff1…...

从入门到登峰-嵌入式Tracker定位算法全景之旅 Part 7 |TinyML 定位:深度模型在 MCU 上的部署

Part 7 |TinyML 定位:深度模型在 MCU 上的部署 本章聚焦如何在 ESP32-S3 平台上,通过 TinyML 将深度学习模型应用到定位场景,包括特征提取、模型剪枝与量化、TensorFlow Lite for Microcontrollers 部署,以及在线微调与自适应策略。 一、为什么要用 TinyML? 非线性特征挖…...

Codeforces Round 1023 (Div. 2) ABC

链接 Dashboard - Codeforces Round 1023 (Div. 2) - Codeforces A 将数组a分成两组&#xff0c;使得gcd(b) ! gcd(c) 思路 gcd(a,b) < min(a,b) 求数组a的max&#xff0c;min 如果数组a都一样无解 &#xff08;即max min 否则有解&#xff1a;让是max的一组&…...

56. 合并区间

给定若干个区间的集合&#xff0c;将重叠的区间合并后&#xff0c;放入一个数组中返回。 具体思路就是按左端点排序后合并区间&#xff0c;因为按左端点排序后&#xff0c;可以确保每次合并都是以最小元素为合并后区间的起始&#xff0c;并且按左端点排序可以方便合并&#xff…...

Docker安装使用

1.Docker简介 Docker是一个开源的应用容器引擎&#xff1b;是一个轻量级容器技术&#xff1b; Docker支持将软件编译成一个镜像&#xff1b;然后在镜像中各种软件做好配置&#xff0c;将镜像发布出去&#xff0c;其他使用者可以直接使用这个镜像&#xff1b; 运行中的这个镜…...

Linux/AndroidOS中进程间的通信线程间的同步 - POSIX IPC

1 什么是POSIX&#xff1f; POSIX&#xff08;Portable Operating System Interface&#xff09;即可移植操作系统接口&#xff0c;它是IEEE为要在各种UNIX操作系统上运行软件&#xff0c;而定义API的一系列标准的总称。以下为你展开介绍&#xff1a; 产生背景&#xff1a;在…...

5.2创新架构

一、MoE&#xff08;Mixture of Experts&#xff0c;混合专家模型&#xff09; 了解混合专家模型架构&#xff0c;与 Dense 架构相比有什么优劣 是一种提升大模型推理效率和参数利用率的关键技术 核心思想&#xff1a;在模型中增加多个“专家模块”&#xff08;Experts&#x…...

驱动开发系列57 - Linux Graphics QXL显卡驱动代码分析(四)显示区域更新

一&#xff1a;概述 前面在介绍了显示模式设置&#xff08;分辨率&#xff0c;刷新率&#xff09;之后&#xff0c;本文继续分析下&#xff0c;显示区域的绘制&#xff0c;详细看看虚拟机的画面是如何由QXL显卡绘制出来的。 二&#xff1a;相关数据结构介绍 struct qxl_moni…...

疗愈服务预约小程序源码介绍

基于ThinkPHP、FastAdmin和UniApp开发的疗愈服务预约小程序源码&#xff0c;这款小程序在功能设计和用户体验上都表现出色&#xff0c;为疗愈行业提供了一种全新的服务模式。 该小程序源码采用了ThinkPHP作为后端框架&#xff0c;保证了系统的稳定性和高效性。同时&#xff0c…...

力扣118,1920题解

记录 2525.5.6 题目&#xff1a; 思路&#xff1a; 用一个二维数组dp[numRows][numRows]保存每一次动态规划的结果 1.令dp[0][0]1(第一列) 2.找规律 3.得到如下规律(以下情况均为列数大于1) if(col0){ dp[row][col]1 } else { dp[row][col]dp[row-1][col-1]dp[row-1][col] }…...

电池热管理CFD解决方案,为新能源汽车筑安全防线

在全球能源结构加速转型的大背景下&#xff0c;新能源汽车产业异军突起&#xff0c;成为可持续发展的重要驱动力。而作为新能源汽车 “心脏” 的电池系统&#xff0c;其热管理技术的优劣&#xff0c;直接决定了车辆的安全性、续航里程和使用寿命。电池在充放电过程中会产生大量…...

(一)毛子整洁架构(Domain Layer/Repository Pattern/Result Pattern/Error Pattern)

文章目录 项目地址一、整洁架构概念1.1 各个分层的功能1. Domain核心部件2. Application Layer3. Infrastructure layer3. Presenetation layer1.2 项目数据库二、Domain Layer2.1 Apartments 实体1. Current Value Obj2. Money Value Obj3. Apartment 类2.2 User 实体1. User类…...

XSS ..

Web安全中的XSS攻击详细教学&#xff0c;Xss-Labs靶场通关全教程&#xff08;建议收藏&#xff09; - 白小雨 - 博客园跨站脚本攻击&#xff08;XSS&#xff09;主要是攻击者通过注入恶意脚本到网页中&#xff0c;当用户访问该页面时&#xff0c;恶意脚本会在用户的浏览器中执行…...

Github Action部署node项目

Github Action部署node项目 个人学习的时候&#xff0c;作为前端感觉这个CICD基本流程还是有必要了解的&#xff0c;这里记录一下Github Action部署node项目的流程&#xff0c;也算是一个学习的过程 首先肯定是要有一个可运行的node项目 编写部署文件 部署文件放置在.githu…...

高频面试题:设计秒杀系统,用Redis+Lua解决超卖

高频面试题&#xff1a;设计秒杀系统&#xff0c;用RedisLua解决超卖 **1. 问题背景****2. 解决方案&#xff1a;Redis Lua****为什么选择Redis Lua&#xff1f;****核心代码逻辑****Java调用示例&#xff08;Spring Boot&#xff09;** **3. 方案优势****4. 面试回答话术***…...

2、Kafka Replica机制与ISR、HW、LEO、AR、OSR详解

Kafka 作为分布式高可用消息队列&#xff0c;其副本&#xff08;Replica&#xff09;机制是实现高可靠性和数据一致性的核心。本文将系统介绍 Kafka 的 Replica 机制&#xff0c;并详细解释 ISR、HW、LEO、AR、OSR 等关键概念。 一、Kafka Replica机制概述 在分布式系统中&am…...

生成式 AI:从工具革命到智能体觉醒,2025 年的质变与突破

在上海胸科医院的手术室里&#xff0c;一束全息投影正精准勾勒出患者肺部的三维血管模型。主刀医生手持机械臂的瞬间&#xff0c;AI 导航系统已同步完成 200 次路径演算&#xff0c;将毫米级误差控制在 0.3 毫米以内 —— 这个真实发生在 2025 年的临床场景&#xff0c;标志着生…...

安卓基础(拖拽)

当用户长按或拖拽某个视图&#xff08;如按钮、图片&#xff09;时&#xff0c;需要提供视觉反馈&#xff08;即阴影&#xff09;。这行代码通常在拖拽事件的处理逻辑中&#xff0c;例如&#xff1a; view.setOnLongClickListener(v -> {// 创建拖拽阴影DragShadowBuilder …...

IoTDB磁盘I/O性能监控与优化指南

一、磁盘I/O性能观测核心指标 在现代计算机系统中&#xff0c;磁盘I/O性能对整体系统表现至关重要。为有效监控和优化磁盘I/O性能&#xff0c;需关注以下核心指标&#xff1a; ‌I/O读写延迟‌&#xff1a;衡量从发起I/O请求到接收响应的时间间隔。‌IOPS&#xff08;Input/O…...

java每日精进 5.06【框架之功能权限】

0.概述 0.1 整体架构概述 这个RBAC权限系统基于Spring Security和Token认证机制&#xff0c;主要包含以下核心组件&#xff1a; 用户-角色-菜单的多对多关系模型 基于Token的认证流程 细粒度的权限控制&#xff08;菜单权限、按钮权限&#xff09; 灵活的权限配置方式 1…...