计算机网络基础(7)中科大郑铨老师笔记
应用层
目标: 网络应用的 原理:网络应用协议的概念和实现方面传输层的服务模型客户-服务器模式对等模式(peerto-peer)内容分发网络 网络应用的 实例:互联网流行的应用层协 议 HTTP FTP SMTP / POP3 / IMAP DNS 编程:网络应用程序 Socket API
一些网络应用的例子
Web 文本消息 远程登录 P2P文件共享 即时通信 多用户网络游戏 流媒体(YouTube, Hulu, Netflix) Internet 电话 实时电视会议 社交网络 搜索
创建一个新的网络应用
编程 在不同的端系统上运行 通过网络基础设施提供的服务,应用进程彼此通信如Web: Web 服务器软件与浏览器软件通信网络核心中没有应用层软件 网络核心没有应用层功能 网络应用只在端系统上存在 ,快速网络应用开发和部署
网络应用的体系结构
可能的应用架构: 客户-服务器模式(C/S:client/server) 对等模式(P2P:Peer To Peer) 混合体:客户-服务器和对等体系结构
客户-服务器(C/S)体系结构
服务器: 一直运行 固定的IP地址和周知的端 口号(约定) 扩展性:服务器场 数据中心进行扩展 扩展性差 客户端: 主动与服务器通信 与互联网有间歇性的连接可能是动态IP 地址 不直接与其它客户端通信
对等体(P2P)体系结构
(几乎)没有一直运行的服务器 任意端系统之间可以进行通信 每一个节点既是客户端又是服 务器 自扩展性-新peer节点带来新的 服务能力,当然也带来新的服 务请求 参与的主机间歇性连接且可以 改变IP 地址 难以管理 例子: Gnutella,迅雷
C/S和P2P体系结构的混合体
Napster文件搜索:集中 主机在中心服务器上注册其资源 主机向中心服务器查询资源位置文件传输:P2P 任意Peer节点之间 即时通信在线检测:集中当用户上线时,向中心服务器注册其IP地址用户与中心服务器联系,以找到其在线好友的位置两个用户之间聊天:P2P
一、互联网应用层
- 创新与发展的深度剖析:
- 互联网应用层的创新宛如一股强劲的动力,持续推动着全球经济的蓬勃发展。它不仅催生了众多新兴的商业模式和产业形态,还深刻改变了人们的生活方式和消费习惯。例如,电子商务的兴起让购物变得更加便捷,在线教育打破了地域限制,为人们提供了丰富的学习资源。
- CS(客户端 - 服务器)模式在早期互联网应用中发挥了重要作用,其结构简单,易于实现和管理。然而,随着用户数量的急剧增加和业务需求的日益复杂,CS 模式的可扩展性差的问题逐渐凸显。当服务器面临大量并发请求时,容易出现性能瓶颈,甚至导致系统崩溃。相比之下,一些新型的架构模式如微服务架构等,通过将应用拆分成多个小型服务,能够更好地应对高并发和复杂业务场景,提高了系统的可扩展性和灵活性。
- 互联网协议在企业应用中的广泛应用得益于其强大的通用性和灵活性。这些协议为各种应用层功能的实现提供了坚实的基础,使得企业能够快速部署新的应用系统,以适应市场变化和业务发展的需求。例如,企业可以利用 HTTP 协议构建 Web 应用,通过 SMTP 协议实现邮件服务等。同时,丰富的开源框架和工具也进一步降低了企业应用开发和部署的门槛,加速了数字化转型的进程。
- 我国在网络应用创新方面取得了令人瞩目的成就,走在了世界的前沿。共享单车的出现解决了城市居民 “最后一公里” 的出行难题,同时也推动了共享经济的发展;网约车平台通过整合闲置的车辆资源,为人们提供了更加便捷、高效的出行方式。这些创新应用的背后,离不开高等教育和职业教育对大量工科人才的培养。高校和职业院校不断优化课程设置,加强实践教学,培养了具备扎实专业知识和创新能力的人才队伍,为网络应用创新提供了源源不断的智力支持和人才保障。
二、网络应用进程间通信
- 通信方式的详细解读:
- CS 模式是一种传统的通信方式,其中客户端向服务器发送请求,服务器处理请求并返回响应。这种模式在许多场景中仍然广泛使用,如 Web 服务器、数据库服务器等。服务器通常具有强大的计算和存储能力,能够集中管理和处理大量客户端的请求,保证数据的一致性和安全性。然而,随着网络规模的扩大和应用需求的多样化,CS 模式的单点故障问题和性能瓶颈逐渐成为制约其发展的因素。
- P2P 模式则打破了传统的中心化架构,每个节点既可以作为客户端请求服务,也可以作为服务器提供服务。这种模式具有去中心化、可扩展性强、资源利用率高等优点,在文件共享、流媒体传输等领域得到了广泛应用。例如,在 P2P 文件共享系统中,用户可以直接从其他节点下载文件,而不需要通过中央服务器,大大提高了下载速度和效率。但是,P2P 模式也面临着一些挑战,如网络拓扑结构复杂、安全性难以保障、版权问题等。
- 混合模式结合了 CS 和 P2P 的优点,根据具体的应用场景和需求,灵活地选择合适的通信方式。例如,在一些在线游戏中,服务器负责游戏逻辑的处理和玩家状态的管理,而玩家之间的实时交互则采用 P2P 方式,这样既保证了游戏的稳定性和公平性,又提高了玩家之间的交互效率。
- 基本要求与本质的深入理解:
- 进程间通信必须严格遵守网络规范,这是确保通信顺利进行的基础。网络规范包括一系列的协议、标准和规则,如 TCP/IP 协议栈、网络拓扑结构、数据包格式等。操作系统提供了丰富的网络通信协议和接口,供应用程序使用。这些协议封装了底层的网络细节,使得应用程序能够方便地进行远程通信,而无需关心网络的物理连接和数据传输的具体过程。
- 远程通信的本质是在不同端系统上的两个应用进程之间建立起有效的信息交换通道。为了实现这一目标,需要解决多个关键问题,如进程的标识与定位、数据的可靠传输、流量控制、拥塞控制等。不同的通信协议和机制在这些方面各有特点和优势,应用程序需要根据自身的需求选择合适的通信方式和协议。
三、应用进程标识与传输层服务
- 标识与通信的全面阐述:
- 应用进程的端点标识是实现进程间通信的关键要素之一。端点标识通常由主机的 IP 地址和端口号组成,形成一个唯一的标识符,用于区分网络中的不同进程。例如,在一台服务器上,可能同时运行着多个 Web 服务进程,每个进程通过不同的端口号来接收客户端的请求。端口号的范围是 0 - 65535,其中一些端口号被系统保留用于特定的服务,如 HTTP 服务通常使用 80 端口,HTTPS 服务使用 443 端口等。
- 任意两个进程间的通信可以用两个端点标识来表示,这类似于现实生活中两个地址之间的通信。发送方进程将数据封装成数据包,并在数据包中添加源端点标识和目标端点标识,然后通过网络传输到目标进程。传输层负责将数据包从源端传输到目标端,并确保数据的可靠传输或提供尽力而为的传输服务,具体取决于所使用的传输层协议(如 TCP 或 UDP)。
- 传输层在传递数据时,不仅要传输应用层的消息(货物),还需要包含发送方的信息,如端口号等。这些信息对于接收方正确处理数据至关重要。例如,当接收方收到一个数据包时,它可以根据数据包中的源端口号将响应数据发送回发送方的相应进程,从而实现双向通信。此外,传输层还可能提供一些其他的服务,如流量控制、拥塞控制、错误检测和恢复等,以保证数据传输的质量和效率。
四、TCP Socket 相关内容
- 概念与作用的深入解析:
- TCP Socket 是传输控制协议(TCP)在应用层的接口,它是一个本地标识,为应用程序提供了一种方便、高效的方式来与网络进行交互。通过 TCP Socket,应用程序可以创建、连接、发送和接收数据,而无需关心底层 TCP 协议的复杂细节。TCP Socket 的设计旨在便于操作系统管理网络连接和数据传输,同时减少应用程序与网络层之间的信息量交互。
- 在讨论应用进程的标识时,主机 IP 地址和 TCP 或 UDP 端口号是不可或缺的组成部分。IP 地址用于标识网络中的主机,而端口号则用于标识主机上的特定进程。TCP Socket 将这两个要素结合起来,形成一个唯一的标识符,使得操作系统能够准确地将网络数据包路由到正确的应用进程。例如,当一个客户端应用程序想要与服务器上的某个服务进行通信时,它需要知道服务器的 IP 地址和服务所监听的端口号,然后创建一个 TCP Socket 并连接到该服务器的指定端口,从而建立起通信连接。
- Socket 的概念不仅仅局限于 TCP,它是一种通用的网络编程接口,可以用于多种传输层协议,如 UDP 等。通过使用整数来代表 IP 地址和端口号,Socket 简化了网络编程的复杂性,提高了程序的可读性和可维护性。同时,操作系统对 Socket 进行了高效的管理,包括连接的建立、数据的缓存、错误处理等,为应用程序提供了可靠的网络通信支持。
五、TCP 和 UDP 的 Socket 值及相关内容
- Socket 值代表意义的详细说明:
- TCP 的 Socket 值所代表的绘画关系可以理解为一种可靠的、面向连接的通信会话。在 TCP 通信中,客户端和服务器之间需要先建立连接,然后才能进行数据传输。这个连接就像是一条虚拟的管道,保证了数据的有序、可靠传输,并且能够进行流量控制和拥塞控制,确保数据不会丢失或损坏。TCP Socket 的值包含了源 IP 地址、源端口号、目标 IP 地址和目标端口号等信息,这些信息共同标识了一个唯一的 TCP 连接。例如,当一个 Web 浏览器与 Web 服务器建立连接时,浏览器会创建一个 TCP Socket,并通过该 Socket 与服务器进行 HTTP 通信,传输网页内容等数据。
- UDP 的 Socket 值则代表了本地 IP 和端口的映射关系,它是一种无连接的传输协议。UDP 不需要在发送数据之前建立连接,因此具有较低的延迟和较高的传输效率,适合于对实时性要求较高的应用场景,如实时多媒体应用、在线游戏等。UDP Socket 的值主要由本地 IP 地址和端口号组成,当应用程序通过 UDP Socket 发送数据时,操作系统会根据 Socket 值将数据包发送到网络中,但并不保证数据的可靠传输,也不提供流量控制和拥塞控制等功能。这意味着 UDP 数据包可能会丢失、重复或乱序到达接收方,因此应用程序需要在应用层自行处理这些问题。
- 在封装 TCP 段时,源端口号和目标端口号是非常重要的字段。源端口号用于标识发送方的进程,目标端口号用于标识接收方的进程。当 TCP 段到达目标主机时,操作系统会根据目标端口号将数据交付给相应的应用进程。同样,IP 协议在封装 IP 分组时,源 IP 地址和目标 IP 地址用于标识数据包的发送方和接收方主机,确保数据包能够在网络中正确路由和传输。应用进程通过 Socket 值找到相应的进程接收数据,这是网络通信中数据传输的最后一步,也是应用程序与网络交互的关键环节。
六、应用协议与 UDP 相关内容
- 应用协议的全面解读:
- 应用协议是应用层遵循的一系列规则和约定,它涵盖了数据的格式、语法、语义和动作次序等多个方面。这些规则确保了不同应用程序之间能够进行有效的通信和交互。例如,HTTP 协议规定了 Web 浏览器与 Web 服务器之间请求和响应的格式,包括请求方法(如 GET、POST 等)、URL、头部信息、消息体等。应用程序必须严格按照 HTTP 协议的规范来构建和解析请求和响应,才能实现正确的 Web 通信。
- UDP 发送和接收的基本原理相对简单。发送方应用程序将数据封装成 UDP 数据包,在数据包中指明对方的 IP 地址和端口号,然后通过操作系统的网络接口将数据包发送到网络中。接收方应用程序则需要在指定的端口上监听 UDP 数据包,当收到数据包时,根据数据包中的源 IP 地址和端口号以及数据内容进行相应的处理。由于 UDP 不提供连接的建立和维护,因此发送方可以随时向接收方发送数据,而不需要事先进行连接协商。
- UDP Socket 作为一个具有本地意义上的二元组的映射关系,为应用程序提供了发送和接收 UDP 数据的接口。应用程序通过创建 UDP Socket 并绑定到本地的 IP 地址和端口号,就可以开始进行 UDP 通信。例如,在一个实时视频流应用中,视频服务器可以使用 UDP Socket 将视频数据快速地发送到多个客户端,客户端通过 UDP Socket 接收视频数据并进行播放。虽然 UDP 本身不保证数据的可靠性和顺序性,但在一些实时性要求较高的场景中,应用程序可以通过一些机制来弥补这些不足,如增加冗余数据、使用序列号等。
- 传输层提供的服务是应用层进行网络通信的基础。应用层可以借助传输层提供的服务,如 TCP 的可靠传输服务或 UDP 的快速传输服务,来建立 Socket 并进行数据的发送和接收。应用程序根据自身的需求选择合适的传输层协议和服务,例如,对于文件传输等对数据可靠性要求较高的应用,通常选择 TCP;而对于实时语音通话等对实时性要求较高的应用,UDP 可能是更好的选择。
七、TCP 与 UDP 的特性及应用场景
- 特性与场景的深入探讨:
- TCP 的特性与应用场景:
- 可靠性:TCP 通过序列号、确认应答、重传机制等确保数据的可靠传输。发送方发送的数据如果没有收到接收方的确认,会自动重传,直到数据被正确接收。这种可靠性使得 TCP 适用于对数据准确性要求极高的应用场景,如文件传输、电子邮件等。例如,在企业内部网络中,员工通过 FTP(文件传输协议)传输重要的业务文件时,TCP 能够保证文件的完整性和准确性,避免因数据丢失或损坏而导致的业务问题。
- 面向连接:TCP 在数据传输之前需要建立连接,这个连接过程包括三次握手,确保双方都准备好进行通信。连接建立后,双方可以进行全双工通信,即同时发送和接收数据。这种面向连接的特性使得 TCP 适合于需要长时间、稳定通信的场景,如远程登录(SSH)、数据库连接等。例如,数据库服务器与客户端应用程序之间通常使用 TCP 连接,以保证数据的一致性和事务的完整性。
- 流量控制和拥塞控制:TCP 通过滑动窗口机制进行流量控制,根据接收方的接收能力动态调整发送方的发送速率,避免接收方缓冲区溢出。同时,TCP 还具有拥塞控制机制,通过监测网络拥塞状况,自动调整发送窗口大小,避免网络拥塞。这些机制使得 TCP 能够在复杂的网络环境中有效地利用网络资源,保证数据传输的效率和稳定性。例如,在广域网环境中,由于网络带宽和延迟等因素的影响,TCP 的流量控制和拥塞控制机制能够确保数据传输的平稳进行,避免因网络拥塞而导致的数据传输延迟或丢失。
- UDP 的特性与应用场景:
- 实时性:UDP 没有复杂的连接建立和维护过程,数据可以立即发送,因此具有较低的延迟,适合于对实时性要求较高的应用,如实时多媒体应用(视频会议、在线直播等)、实时游戏等。例如,在视频会议中,UDP 能够快速地传输视频和音频数据,减少延迟,保证参会者之间的实时交流和互动。
- 无连接性:UDP 是无连接的协议,发送方可以随时向任意目标发送数据,不需要事先建立连接。这使得 UDP 在一些广播和多播场景中非常适用,如网络视频广播、实时股票行情推送等。例如,股票交易系统可以使用 UDP 将实时的股票价格信息推送给多个客户端,客户端无需与服务器建立连接即可接收数据。
- 资源消耗低:由于 UDP 不需要维护连接状态和进行复杂的流量控制、拥塞控制等操作,因此它对系统资源的消耗相对较低。这使得 UDP 在一些资源受限的设备或网络环境中具有优势,如物联网设备、移动网络等。例如,一些智能家居设备通过 UDP 将传感器数据发送到云端服务器,以节省设备的计算和存储资源。
- 安全性问题与解决方案:
- TCP 和 UDP 本身都不提供数据的加密和完整性保护,数据在网络中是以明文形式传输的,这可能会导致数据泄露和篡改等安全问题。为了增加安全性,可以使用 SSL(安全套接层)协议或其后续版本 TLS(传输层安全)协议。HTTPS 协议就是 HTTP 协议与 SSL/TLS 协议的结合,用于提供 Web 应用之间的安全通信。在 HTTPS 通信中,客户端和服务器之间通过 SSL/TLS 协议建立安全连接,对数据进行加密和完整性验证,保护用户密码、信用卡信息等敏感数据的安全。例如,在网上银行、电子商务网站等场景中,HTTPS 协议是保障用户信息安全的重要手段。
相关文章:
计算机网络基础(7)中科大郑铨老师笔记
应用层 目标: 网络应用的 原理:网络应用协议的概念和实现方面 传输层的服务模型 客户-服务器模式 对等模式(peerto-peer) 内容分发网络 网络应用的 实例:互联网流行的应用层协 议 HTTP FTP SMTP / POP3 / IMAP DNS…...
CSS 之 响应式设计 前世今生
CSS系列文章目录 CSS 之 display 布局属性详解 CSS 之 position 定位属性详解一文搞懂flex布局 【弹性盒布局】 文章目录 CSS系列文章目录一、前言二、历史上的网站布局三、响应式设计之前的灵活布局四、响应式设计五、媒介查询六、灵活网格七、现代布局技术7.1 多栏布局7.2 伸…...
前端,npm install安装依赖卡在sill idealTree buildDeps(设置淘宝依赖)
输入npm i后,一直卡在sill idealTree buildDeps,一动不动 cnpm可以安装成功,但使用cnpm不会生成package-lock.json文件 设置淘宝依赖,依然卡住,挂梯子也不行 解决方法: // 取消ssl验证 set strict-ssl …...
【Rust自学】9.2. Result枚举与可恢复的错误 Pt.1:match、expect和unwrap处理错误
喜欢的话别忘了点赞、收藏加关注哦,对接下来的教程有兴趣的可以关注专栏。谢谢喵!(・ω・) 9.2.1. Result枚举 通常情况下,错误都没有严重到需要停止整个程序的地步。某个函数之所以运行失败或者是遇到错误通常是由一些…...
[241231] CachyOS 2024 年终总结:性能飞跃与社区繁荣 | ScyllaDB 宣布转向开源可用许可证
目录 CachyOS 2024 年终总结:性能飞跃与社区繁荣ScyllaDB 宣布转向开源可用许可证 CachyOS 2024 年终总结:性能飞跃与社区繁荣 CachyOS 2024 年的最后一个版本 (也是第 13 个版本) 已经发布,同时也迎来了辞旧迎新之际。让我们一起回顾 Cachy…...
9.系统学习-卷积神经网络
9.系统学习-卷积神经网络 简介输入层卷积层感受野池化层全连接层代码实现 简介 卷积神经网络是一种用来处理局部和整体相关性的计算网络结构,被应用在图像识别、自然语言处理甚至是语音识别领域,因为图像数据具有显著的局部与整体关系,其在图…...
java并发之AQS
一、简介 AQS,全称:AbstractQueuedSynchronizer,是一个JDK提供的用于构建锁、同步器等线程协作工具类的框架,内部维护FIFO双向队列(双向链表实现)。 AQS重要属性: // 表示同步状态。它既可以表…...
Synthesia技术浅析(一)
Synthesia 是一款利用人工智能技术生成视频内容的产品,其中变分自编码器(Variational Autoencoder, VAE)技术在视频生成过程中起到了关键作用。 1. 变分自编码器(VAE)概述 变分自编码器(VAE)是…...
SQL偏移类窗口函数—— LAG()、LEAD()用法详解
SQL偏移类窗口函数:LAG() 和 LEAD() 用法详解 在 SQL 中,偏移类窗口函数 LAG() 和 LEAD() 用于访问当前行的前几行或后几行的值。 1. LAG() 函数 LAG() 函数返回当前行的前几行的数据。 LAG(Expression, OffSetValue, DefaultVar) OVER (PARTITION BY …...
PHP语言的计算机基础
计算机基础与PHP语言入门 在当今信息技术高速发展的时代,计算机已经成为我们日常生活中不可或缺的重要工具。学习计算机基础知识,不仅能增强我们对信息技术的理解,还会为我们后续学习编程语言打下良好的基础。本文将以PHP语言为切入点&#…...
39. 解压报文
题目描述 为了提升数据传输的效率,会对传输的报文进行压缩处理输入一个压缩后的报文,请返回它解压后的原始报文.压缩规则:n[str],表示方括号内部的str正好重复n次。注意n为正整数(0<n<100),str只包含小写英文字母࿰…...
SpringBoot日志快速集成详解-生产实战
SpringBoot日志快速集成详解 1. 添加依赖2. 创建 logback-spring.xml 配置文件示例 logback-spring.xml 配置: 3. 启用 Spring Boot 自动配置4. 配置 Spring Boot 启动日志级别5. 运行与验证 博文专注于最快速的实战,没有那么多逼逼叨叨的理论࿰…...
基于 Node.js 的 ORM(对象关系映射)工具——Sequelize介绍与使用,并举案例分析
便捷性介绍 支持多种数据库,包括 PostgreSQL、MySQL、MariaDB、SQLite 和 Microsoft SQL Server。Sequelize 提供了丰富的功能,帮助开发者用 JavaScript(或 TypeScript)代码操作数据库,而无需直接书写 SQL 语句。 Se…...
电子应用设计方案85:智能 AI门前柜系统设计
智能 AI 门前柜系统设计 一、引言 智能 AI 门前柜系统旨在提供便捷、安全和智能的物品存储与管理解决方案,适用于家庭、公寓或办公场所的入口区域。 二、系统概述 1. 系统目标 - 实现无接触式物品存取,减少交叉感染风险。 - 具备智能识别和分类功能&am…...
ts是什么、tsc是什么、tsx是什么、jsx是什么、scss是什么
一、TS (TypeScript): TypeScript 是一种由微软开发的开源编程语言,它是 JavaScript 的一个超集,增加了类型系统和对ES6及以后版本新特性的支持。TypeScript 旨在解决 JavaScript 开发中的可维护性、可扩展性和大型项目中的复杂性问题。它允许开发者在编…...
【虚拟机】VMware 16图文安装和配置 AlmaLinux OS 9.5 教程
准备工作 下载AlmaLinux ISO文件:从AlmaLinux官方网站(https://almalinux.org/)下载最新版本的ISO文件。 安装VMware Workstation:确保您的计算机上已安装VMware Workstation。(注:我这边使用的是VMware16…...
使用MySQL SLES存储库安装MYSQL
MySQL SLES存储库提供RPM包,用于在SUSE EnterpriseLinuxServer上安装和管理MySQL服务器、客户端和其他组件。 添加MySQLSLES存储库 为系统的存储库列表添加或更新官方MySQLSLES存储库: 配置文件名的开头部分,如mysql84,描述了为…...
30分钟学会HTML
HTML 基本语法 HTML(HyperText Markup Language)是构成网页内容的基础。它使用一系列的标签来描述网页的结构,包括文本、图片、链接等元素。浏览器会解析这些标签并渲染成我们看到的网页。 在线体验一下 CodePen (在线 HTML 编辑器)。 千万不…...
vue——滑块验证
1. 介绍 1.1 简介 基于滑动式的验证码,免于字母验证码的繁琐输入 用于网页注册或者登录 1.2 来源说明 vue使用滑块验证功能,是基于vue-monoplasty-slide-verify这样的一个开源项目,进行实现的,这是这个开源项目的网址传送阵&#…...
编程入门(2)-2024年 RAD Studio version 12发布综述
随着2024年即将画上句号,我想借此机会回顾一下我们在这一年中发布的一些Embarcadero产品、行业趋势,并感谢我们尊贵的客户们对我们的产品一如既往的支持。这一年对我们来说充满了激动人心的变化和发展,我们非常高兴能与您一起踏上这段旅程。 …...
2025年1月4日蜻蜓q旗舰版st完整开源·包含前后端所有源文件·开源可商用可二开·优雅草科技·优雅草kir|优雅草星星|优雅草银满|优雅草undefined
2025年1月4日蜻蜓q旗舰版st完整开源包含前后端所有源文件开源可商用可二开优雅草科技优雅草kir|优雅草星星|优雅草银满|优雅草undefined 产品介绍: 本产品主要贡献者优雅草科技优雅草kir|优雅草星星|优雅草银满|优雅草undefined-青史留名,时光如川浪淘…...
米哈游可切换角色背景动态壁纸
米哈游可切换角色背景动态壁纸 0. 视频 B站演示: 米哈游可切换角色背景动态壁纸-wallpaper 1. 基本信息 作者: 啊是特嗷桃系列: 复刻系列 (衍生 wallpaper壁纸引擎 用)网站: 网页版在线预览 (没有搞大小适配, 建议横屏看; 这个不能切角色, 只能在wallpaper中切)仓库: GitHub…...
框架Tensorflow2
深度学习框架之Tensorflow2 Tensorflow2版本的介绍 Tensorflow(简称tf)是深度学习框架,大大简化了建模的方法和步骤,把Keras Api当作核心,使用非常简单,跨平台,集成各种现成模型,eager mode使得调试起来不…...
急需升级,D-Link 路由器漏洞被僵尸网络广泛用于 DDoS 攻击
僵尸网络活动增加 :新的“FICORA”和“CAPSAICIN”僵尸网络(Mirai 和 Kaiten 的变体)的活动激增。 被利用的漏洞 :攻击者利用已知的 D-Link 路由器漏洞(例如 CVE-2015-2051、CVE-2024-33112)来执行恶意命…...
银行大数据平台管理系统的设计与实现
标题:银行大数据平台管理系统的设计与实现 内容:1.摘要 摘要:本文介绍了银行大数据平台管理系统的设计与实现。该系统旨在解决银行数据管理中的数据量大、数据类型多、数据处理复杂等问题。通过采用大数据技术,如 Hadoop、Spark 等,实现了数…...
leetcode 732. 我的日程安排表 III
题目:732. 我的日程安排表 III - 力扣(LeetCode) 这个数据规模,暴力就够了 struct Book {int begin;int end;Book(int b, int e) {begin b;end e;} }; class MyCalendarThree { public:MyCalendarThree() {}int book(int star…...
公共数据授权运营系统建设手册(附下载)
在全球范围内,许多国家和地区已经开始探索公共数据授权运营的路径和模式。通过建立公共数据平台,推动数据的开放共享,促进数据的创新应用,不仅能够提高政府决策的科学性和公共服务的效率,还能够激发市场活力࿰…...
现代光学基础6
总结自老师的ppt yt6 半导体激光器开卷考试学习资料 目录 半导体激光器边发射半导体激光器垂直腔面发射激光器(VCSEL)激光产生条件(激光原理)半导体激光器的水容器模型有源半导体区域类型和载流子注入发光二极管(L…...
利用ChatGPT API构建智能应用的最佳实践
随着自然语言处理(NLP)技术的飞速发展,基于大型语言模型(LLM)的应用程序逐渐成为开发者的关注焦点。OpenAI 提供的 ChatGPT API 是当前流行的一项服务,开发者可以利用它来构建多种智能化应用,如…...
源代码编译安装X11及相关库、vim,配置vim(1)
一、目录结构 如下。 所有X11及相关库装到mybuild,源代码下载到src下,解压,进入,编译安装。编译时指定--prefix到相同的目录,即上图中mybuild。 ./configure --prefixpwd/../../mybuild [CFLAGS"-I/path/to/X11…...
Java.函数-acwing
题目一: n的阶乘 804. n的阶乘 - AcWing题库 代码 import java.util.Scanner;public class Main {private static int fact(int n) {int res 1;for(int i 1; i < n; i ) res * i;return res;}public static void main(String[] args) {Scanner sc new Scann…...
文档 | Rstudio下的轻量级单页面markdown阅读器 markdownReader
需求:在写R数据分析项目的时候,代码及结果的关键变化怎么记录下来?最好git能很容易的跟踪版本变化。 markdown 是最理想的选择,本文给出一种Rstuidio下的轻量级md阅读器实现:markdownReader。书写md还是在Rstudio。更…...
termux配置nginx+php
只能以默认用户u0_axx运行,修改用户会报错An error occurred.或者file no found 安装nginx pkg install nginx安装php-fpm pkg install nginx修改nginx配置文件, nano ../usr/etc/nginx/nginx.conf#端口必须设置在1024以上(1024以下需要root,但php-fpm不能以root用户运行,n…...
【顶刊TPAMI 2025】多头编码(MHE)之极限分类 Part 3:算法实现
目录 1 三种多头编码(MHE)实现1.1 多头乘积(MHP)1.2 多头级联(MHC)1.3 多头采样(MHS)1.4 标签分解策略 论文:Multi-Head Encoding for Extreme Label Classification 作者…...
Spring Boot自动装配代码详解
概述 Spring Boot自动装配是其核心特性之一,它能够根据项目中添加的依赖自动配置Spring应用程序。通过自动装配,开发人员可以减少大量的配置工作,快速搭建起一个可用的Spring应用。 关键组件和注解 SpringBootApplication注解 这是Spring Bo…...
H7-TOOL固件2.27发布,新增加40多款芯片脱机烧录,含多款车轨芯片,发布LUA API手册,CAN助手增加负载率,错误状态信息检测
H7-TOOL详细介绍(含操作手册):H7-TOOL开发工具,1拖4/16脱机烧录,高速DAPLINK,RTOS Trace,CAN/串口助手, 示波器, RTT等,支持WiFi,以太网,高速USB和手持 - H7-…...
Socket套接字
Socket工作原理。服务器端通过bind绑定socket,一直监听端口。 当客户端通过conncet方法连接指定计算机的端口,并使用send()向socket中写入信息。 生成套接字,主要有3个参数:通信的目的IP地址、使用的传输层协议(TCP或…...
《学校一卡通管理系统》数据库MySQL的设计与实现
引言:学校一卡通管理系统旨在为学校提供一个高效的数字化管理平台,集中管理学生和教职工的账户、充值、消费、查询等日常事务。通过该系统,学生可以便捷地进行充值、消费及查看余额,管理员则可以高效地管理用户账户、充值记录、消费记录等数据。系统采用MySQL数据库,通过视…...
windows C#-接口中的索引器
可以在接口上声明索引器。 接口索引器的访问器与类索引器的访问器有所不同,差异如下: 接口访问器不使用修饰符。接口访问器通常没有正文。 访问器的用途是指示索引器为读写、只读还是只写。 可以为接口中定义的索引器提供实现,但这种情况非…...
element-plus大版本一样,但是小版本不一样导致页面出bug
npm 的版本 node的版本 npm的源这些都一样,但是效果不一样 发现是element的包版本不一样导致的 2.9.1与2.8.1的源是不一样的,导致页面出bug;...
三甲医院等级评审八维数据分析应用(五)--数据集成与共享篇
一、引言 1.1 研究背景与意义 随着医疗卫生体制改革的不断深化以及信息技术的飞速发展,三甲医院评审作为衡量医院综合实力与服务水平的重要标准,对数据集成与共享提出了更为严苛的要求。在传统医疗模式下,医院内部各业务系统往往各自为政,形成诸多“信息孤岛”,使得数据…...
关于数组的一些应用--------数组作函数的返回值(斐波那契数列数列的实现)
数组在作为函数的返回值,一个很经典的例子就是获取斐波那契数列的前N项 代码思路: 设计思路 输入: 输入一个整数 n,表示要生成斐波那契数列的长度。 输出: 输出一个长度为 n 的整数数组,其中每个元素为斐…...
PWN的知识之栈溢出
栈溢出 什么是栈溢出? 栈溢出(Stack Overflow)是指在程序运行过程中,向栈中存放的数据量超过了栈的最大容量,从而导致程序出现异常行为的情况。可以比作一个箱子原本只能容纳一定数量的物品,如果强行往里…...
智能客户服务:科技如何重塑客户服务体验
在数字化时代,客户对于服务的需求和期望在不断演变。传统的客户服务模式已经难以满足现代消费者对于即时性、个性化和高效性的追求。随着人工智能、大数据、云计算等先进技术的蓬勃发展,智能客户服务应运而生,不仅重塑了客户服务的体验&#…...
HarmonyOS鸿蒙开发 应用开发常见问题总结(持续更新...)
HarmonyOS鸿蒙开发 应用开发常见问题总结(持续更新…) 在学习鸿蒙开发过程中,也是遇到了不少问题,在代码编写过程中,遇到了一些问题,由于是学习阶段,需要时刻记录一下。 If a component attribute supports local in…...
数据结构-单链表(C语言版)
创建一个链表,实现:1.以头结点开始插入数据(头插法)2.以尾节点开始插入数据(尾插法)3.输出链表所存入数据 4.指定位置插入数据 5.指定位置删除数据 #include<stdio.h> #include<stdlib.h> type…...
View Shadcn UI 正式版本 v2024.5.4 发布
亲爱的开发者社区: 我们很高兴地宣布 View Shadcn UI 的正式版本 v2024.5.4 已于 2024 年 12 月 30 日正式发布!View Shadcn UI 是一个基于 Tailwind CSS 构建的 Vue3 组件库,旨在为 Vue3 开发者提供优雅、可定制且易用的 UI 组件。 &#…...
RocketMQ使用场景问题
1.消息丢失 有这么一个场景,就是订单支付完成之后,订单系统会进行发送消息给RocketMQ集群,下游会有积分系统进行监听这个消息,进行消费然后给用户发放积分。在下面的这个场景中,通过查询日志发现了订单系统发送订单支付…...
医院机房运维:所有IT资源运行状态同一平台实时呈现
在当今数字化医疗高速发展的时代,医院的信息化系统已然成为保障医疗服务顺畅开展、守护患者生命健康的关键基础设施。以郑州人民医院为例,随着医疗业务不断拓展,其背后支撑的机房运维面临着诸多棘手难题。 传统的分散式人工维护模式ÿ…...
windows远程桌面无法连接,报错:“由于没有远程桌面授权服务器可以提供许可证,远程会话被中断。请跟服务器管理员联系”
windows远程桌面无法连接,报错:“由于没有远程桌面授权服务器可以提供许可证,远程会话被中断。请跟服务器管理员联系” 问题描述:解决方法:无法删除条目解决如下:正常激活详见:[RDS远程服务激活…...