Python——计算机网络
一.ip
1.ip的定义
IP是“Internet Protocol”的缩写,即“互联网协议”。它是用于计算机网络通信的基础协议之一,属于TCP/IP协议族中的网络层协议。IP协议的主要功能是负责将数据包从源主机传输到目标主机,并确保数据能够在复杂的网络环境中正确地路由和转发。
2.ip地址
IP地址是IP协议的核心组成部分,它是一个用于唯一标识网络设备(如计算机、服务器、路由器等)的地址。IP地址分为两种主要版本:
(1)IPv4(Internet Protocol version 4)
-
格式:IPv4地址是一个32位的二进制数,通常以点分十进制格式表示,例如:
192.168.1.1
。 -
地址范围:IPv4地址的范围是从
0.0.0.0
到255.255.255.255
。 -
分类:
-
A类地址:范围是
1.0.0.0
到126.0.0.0
,默认子网掩码为255.0.0.0
。 -
B类地址:范围是
128.0.0.0
到191.255.0.0
,默认子网掩码为255.255.0.0
。 -
C类地址:范围是
192.0.0.0
到223.255.255.0
,默认子网掩码为255.255.255.0
。 -
D类地址:范围是
224.0.0.0
到239.255.255.255
,用于多播(组播)。 -
E类地址:范围是
240.0.0.0
到255.255.255.255
,目前保留未使用。
-
-
特点:IPv4地址数量有限(约43亿个),随着互联网的快速发展,IPv4地址逐渐耗尽。
ip4里面的子网掩码是什么?
子网掩码将ip地址划分为网络部分和本地部分,帮网络设备确定ip地址所属的子网。子网通过其二进制形式中的“1”和“0”来区分这两个部分。
-
网络部分:子网掩码中为“1”的部分表示IP地址的网络部分,用于标识网络。
-
主机部分:子网掩码中为“0”的部分表示IP地址的主机部分,用于标识网络中的设备。
子网掩码的分类
根据IPv4地址的分类(A、B、C类),默认子网掩码如下:
A类地址:默认子网掩码为
255.0.0.0
,表示前8位为网络部分,后24位为主机部分。B类地址:默认子网掩码为
255.255.0.0
,表示前16位为网络部分,后16位为主机部分。C类地址:默认子网掩码为
255.255.255.0
,表示前24位为网络部分,后8位为主机部分。
(2)IPv6(Internet Protocol version 6)
-
格式:IPv6地址是一个128位的二进制数,通常以冒号分隔的十六进制格式表示,例如:
2001:0db8:85a3:0000:0000:8a2e:0370:7334
。 -
特点:
-
提供了几乎无限的地址空间(约3.4×10³⁸个地址),解决了IPv4地址不足的问题。
-
支持更高效的路由和自动配置功能。
-
内置了更好的安全性(如IPsec)。
-
-
推广现状:尽管IPv6已经存在多年,但由于兼容性和成本问题,目前全球范围内的IPv6普及率仍在逐步提高。
(3)特殊的地址 127.0.0.01
127.0.0.1
是IPv4协议中保留的本地回环地址(Loopback Address)。它被用于标识本机上的网络服务,主要用于测试和调试网络程序。
那么为什么我一定要用这个ip地址呢?用别的地址不行吗?
使用127.0.0.1
有其特定的优势和必要性。127.0.0.1
是一个特殊的回环地址,用于本地通信,可以避免网络冲突和配置问题,确保测试环境的一致性和隔离性。因此,推荐使用127.0.0.1
进行本地调试和测试。
二. 端口
1.端口的定义
端口是一个16位的数字,范围从0到65535。它用于标识应用程序或服务在某个IP地址上的具体位置。每个IP地址可以有多个端口,每个端口可以运行不同的应用程序或服务。
2.端口的分类
端口可以分为以下几类:
(1)系统端口(0-1023)
这些端口通常由系统或操作系统保留,用于运行系统服务和关键应用程序。例如:
-
端口80:用于HTTP协议,提供网页访问服务。
-
端口443:用于HTTPS协议,提供安全的网页访问服务。
-
端口21:用于FTP协议,提供文件传输服务。
-
端口25:用于SMTP协议,提供电子邮件服务。
(2) 用户端口(1024-49151)
这些端口可以由用户自定义或由应用程序使用。许多应用程序会使用这些端口进行网络通信。例如:
-
端口3306:用于MySQL数据库服务。
-
端口5432:用于PostgreSQL数据库服务。
(3)动态端口(49152-65535)
这些端口通常由操作系统动态分配,用于临时通信。例如,当你使用浏览器访问一个网页时,浏览器会从这些端口中选择一个临时端口作为通信的源端口。
三.通讯接口
1.通讯接口的定义
-
通讯接口是一个实现通讯协议的接口,使得不同设备或应用程序能够按照协议的规定进行通信。
-
通讯接口可以是软件接口(如API、库)或硬件接口(如USB、RS-232)。
软件接口和硬件接口之间有什么关系呢?
为什么会有软件接口和硬件接口?-CSDN博客
2.通讯接口分类
-
软件接口:如Socket、Snap7、Modbus-TCP等。
-
硬件接口:如USB、RS-232、RS-485等。
3.接口Snap7和Socket
(1)Snap7
-
定义:
-
Snap7 是一个用于与西门子 S7 系列 PLC(可编程逻辑控制器)进行通信的开源库。它提供了与 PLC 设备进行数据交换的接口。
-
-
接口类型:
-
PLC 接口:Snap7 主要用于与 PLC 设备进行通信,因此可以被视为一种 PLC 接口。
-
软件接口:Snap7 提供了软件接口,允许开发者通过编程与 PLC 设备进行通信。
-
-
作用:
-
提供了与西门子 PLC 设备进行高效、可靠通信的接口,适用于工业自动化领域。
-
(2)Socket
-
定义:
-
Socket 是计算机网络中的一种通用通信接口,可以用于实现网络通信。它提供了与网络中其他设备或应用程序进行数据交换的接口。
-
-
接口类型:
-
计算机软件接口:Socket 是计算机网络中的一种通用接口,适用于各种网络应用。
-
-
作用:
-
提供了网络通信的接口,使得不同设备或应用程序之间可以进行数据传输,适用于多种网络通信场景。
-
四.通讯协议
1.通讯协议的定义
-
通讯协议是一组规则和标准,用于定义两个或多个通信实体(如设备、应用程序)之间如何进行信息交换。
-
协议规定了通信的内容、格式、顺序以及错误处理等细节。
2.通讯协议分类
-
网络协议:如TCP/IP、UDP、HTTP、FTP等。
-
工业协议:如Modbus、Profibus、Profinet、S7等。
-
应用层协议:如HTTP、HTTPS、SMTP、POP3等。
可是为什么会有这么多通讯协议的分类呢?
因为通讯协议的多样性是由于不同的应用场景、历史背景和技术发展导致的。
通讯协议的分类及原因-CSDN博客
五.UDP和TCP
-
UDP
-
定义:UDP是一种无连接的传输层协议,它不提供可靠的数据传输服务,也不保证数据能够成功到达接收方。它在发送数据前不需要与接收方建立连接,发送数据后也不会等待接收方的确认。
-
特点:UDP协议简单高效,适用于实时性要求较高的应用场景,如视频会议、在线游戏等。
-
-
TCP
-
定义:TCP是一种面向连接的传输层协议,它在发送数据前需要与接收方建立可靠的连接。TCP通过三次握手(SYN、ACK、SYN-ACK)来建立连接,通过四次挥手(FIN、ACK、FIN-ACK)来断开连接。
-
特点:TCP提供可靠的数据传输服务,能够保证数据的按序到达和完整性。它适用于对数据可靠性要求较高的场景,如文件传输、电子邮件等。
-
协议的比较与区别
协议 | UDP | TCP |
---|---|---|
连接类型 | 无连接 | 面向连接 |
可靠性 | 不可靠,不保证数据到达 | 可靠,保证数据按序到达 |
速度 | 较快,无连接开销 | 较慢,有连接和确认开销 |
头部开销 | 较小,8字节 | 较大,通常20-60字节 |
应用场景 | 实时性要求高的场景(如视频会议、在线游戏) | 数据可靠性要求高的场景(如文件传输、电子邮件) |
传输方式 | 以数据报为单位,无连接 | 以字节流为单位,面向连接 |
拥塞控制 | 无拥塞控制 | 有拥塞控制 |
协议的报文格式和字段含义
-
UDP 报文格式
-
首部:8字节,包含以下字段:
-
源端口:2字节,发送方的端口号。
-
目的端口:2字节,接收方的端口号。
-
长度:2字节,UDP用户数据报的总长度(包括首部和数据)。
-
校验和:2字节,用于检测UDP用户数据报在传输过程中是否有错误。
-
-
数据区:存放实际要传输的数据。
-
-
TCP 报文格式
-
首部:通常20-60字节,包含以下字段:
-
源端口:2字节,发送方的端口号。
-
目的端口:2字节,接收方的端口号。
-
序号:4字节,用于标识TCP报文段的顺序。
-
确认号:4字节,用于确认接收到的报文段。
-
首部长度:1字节,标识TCP首部的长度。
-
标志位:6位,用于控制TCP连接的状态(如SYN、ACK、FIN等)。
-
窗口大小:2字节,用于流量控制。
-
校验和:2字节,用于检测TCP报文段在传输过程中是否有错误。
-
紧急指针:2字节,用于紧急数据的传输。
-
-
数据区:存放实际要传输的数据。
-
协议的使用方式和编程示例
-
UDP 编程示例
Python复制
import socket# 创建UDP套接字 udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)# 绑定端口 udp_socket.bind(('localhost', 12345))# 发送数据 udp_socket.sendto(b'Hello, UDP!', ('localhost', 12346))# 接收数据 data, addr = udp_socket.recvfrom(1024) print(f"Received from {addr}: {data.decode()}")# 关闭套接字 udp_socket.close()
-
TCP 编程示例
Python复制
import socket# 创建TCP套接字 tcp_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 绑定端口 tcp_socket.bind(('localhost', 12345))# 监听连接 tcp_socket.listen(5)# 接受连接 conn, addr = tcp_socket.accept() print(f"Connected by {addr}")# 发送数据 conn.sendall(b'Hello, TCP!')# 接收数据 data = conn.recv(1024) print(f"Received from {addr}: {data.decode()}")# 关闭连接 conn.close() tcp_socket.close()
相关文章:
Python——计算机网络
一.ip 1.ip的定义 IP是“Internet Protocol”的缩写,即“互联网协议”。它是用于计算机网络通信的基础协议之一,属于TCP/IP协议族中的网络层协议。IP协议的主要功能是负责将数据包从源主机传输到目标主机,并确保数据能够在复杂的网络环境中正…...
【并发编程】聊聊定时任务ScheduledThreadPool的实现原理和源码解析
ScheduledThreadPoolExecutor 是在线程池的基础上 拓展的定时功能的线程池,主要有四种方式,具体可以看代码, 这里主要描述下 scheduleAtFixedRate : 除了第一次执行的时间,后面任务执行的时间 为 time MAX(任务执行时…...
nginx-静态资源部署
目录 静态资源概述 静态资源配置指令 listen指令 server_name指令 精确匹配 ?编辑 ?编辑 使用通配符匹配 使用正则表达式匹配 匹配执行顺序 default_server属性 location指令 root指令 alias指令 root与alisa指令的区别 index指令 error_page指令 直接使用…...
WebGPT: 基于浏览器辅助的问答系统,结合人类反馈优化答案质量
【摘要】 本论文介绍了WebGPT,这是一种通过浏览器辅助问答系统来使用人类反馈进行训练和优化的模型。具体来说,该系统通过与基于文本的网络浏览环境互动,使模型能够搜索和导航网络,从而提高其回答长文本问题的能力。通过将任务设计为人类可以完成的任务,研究人员能够利用…...
C# 异步任务队列封装
在 C# 中,可以使用 Task 和 ConcurrentQueue 来构建一个 异步任务队列,确保任务按照 FIFO(先进先出)顺序执行,并支持并发安全。 设计方案 任务队列 (ConcurrentQueue<Func>) 存储异步任务(每个任务都…...
安装并运行hadoop程序
1.在虚拟机上安装javaJDK (1)把javaJDK文件上传到服务器 在opt文件夹下新建一个software文件夹,将jdk拖入software (2)解压文件 在opt文件夹下新建一个module文件夹,确认上传成功之后,在softwa…...
第TR3周:Pytorch复现Transformer
🍨 本文为🔗365天深度学习训练营中的学习记录博客 🍖 原作者:K同学啊 Transformer通过自注意力机制,改变了序列建模的方式,成为AI领域的基础架构 编码器:理解输入,提取上下文特征…...
51c视觉~3D~合集2
我自己的原文哦~ https://blog.51cto.com/whaosoft/13422809 #中科大统一内外参估计和3DGS训练 这下真的不用相机标定了? 同时优化相机的内外参和无序图像数据 在给定一组来自3D场景的图像及其相应的相机内参和外参的情况下,3D高斯喷溅ÿ…...
dify在腾讯云服务器上部署
Dify 是一个开源的 LLM 应用开发平台。提供从 Agent 构建到 AI workflow 编排、RAG 检索、模型管理等能力,轻松构建和运营生成式 AI 原生应用,比 LangChain 更易用。 首先到dify官方网站上有详细介绍 https://docs.dify.ai/zh-hans/getting-started/ins…...
Redis——缓存穿透、击穿、雪崩
缓存穿透 什么是缓存穿透 缓存穿透说简单点就是大量请求的 key 根本不存在于缓存中,导致请求直接到了数据库上,根本没有经过缓存这一层。举个例子:某个黑客故意制造我们缓存中不存在的 key 发起大量请求,导致大量请求落到数据库…...
Java 并发编程:synchronized 与 Lock 的区别
精心整理了最新的面试资料和简历模板,有需要的可以自行获取 点击前往百度网盘获取 点击前往夸克网盘获取 Java 并发编程:synchronized 与 Lock 的深度对比 在 Java 多线程编程中,同步机制是保证线程安全的核心手段。synchronized 关键字和 …...
12组复古暖色调旅行电影摄影照片调色Lightroom预设 12 Warm Vintage Film Lightroom Presets
使用这 12 种暖色复古胶片 Lightroom 预设来转换您的照片,旨在将经典胶片的永恒精髓带入您的数字编辑中。每个预设都经过精心制作,以唤起丰富的色彩、微妙的颗粒和怀旧的色调。 这些预设非常适合寻求复古魅力和现代精度融合的摄影师,将毫不费…...
WebSocket:实现实时通信的利器
在现代Web应用中,实时通信变得越来越重要。无论是聊天应用、在线游戏,还是实时数据推送,传统的HTTP请求-响应模式已经无法满足需求。WebSocket作为一种全双工通信协议,应运而生,成为实现实时通信的利器。本文将深入探讨…...
小谈java内存马
基础知识 (代码功底不好,就找ai优化了一下) Java内存马是一种利用Java虚拟机(JVM)动态特性(如类加载机制、反射技术等)在内存中注入恶意代码的攻击手段。它不需要在磁盘上写入文件,…...
wordpress自定the_category的输出结构
通过WordPress的过滤器the_category来自定义输出内容。方法很简单,但是很实用。以下是一个示例代码: function custom_the_category($thelist, $separator , $parents ) {// 获取当前文章的所有分类$categories get_the_category();if (empty($categ…...
Flink深入浅出之01:应用场景、基本架构、部署模式
Flink 1️⃣ 一 、知识要点 📖 1. Flink简介 Apache Flink — Stateful Computations over Data StreamsApache Flink 是一个分布式大数据处理引擎,可对有界数据流和无界数据流进行有状态的计算。Flink 能在所有常见集群环境中运行,并能以…...
react脚手架(creat-react-app)
安装 react脚手架 React官方提供的脚手架工程Create React App:https://github.com/facebook/create-react-app npm install create-react-app -g 全局安装 create-react-app my-react (my-react为项目名称,可以自定义) cd my-react 启动项目:…...
TypeError: Cannot set properties of undefined (setting ‘xxx‘)
🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》、《前端求职突破计划》 🍚 蓝桥云课签约作者、…...
使用Node.js从零搭建DeepSeek本地部署(Express框架、Ollama)
目录 1.安装Node.js和npm2.初始化项目3.安装Ollama4.下载DeepSeek模型5.创建Node.js服务器6.运行服务器7.Web UI对话-Chrome插件-Page Assist 1.安装Node.js和npm 首先确保我们机器上已经安装了Node.js和npm。如果未安装,可以通过以下链接下载并安装适合我们操作系…...
考网络安全工程师证要什么条件才能考?
在当今数字化时代,网络安全问题日益凸显,网络安全工程师成为了一个备受瞩目的职业。许多有志于投身这一行业的学子或职场人士,都希望通过考取网络安全工程师证书来提升自己的专业素养和竞争力。那么,考网络安全工程师证需要具备哪…...
【情境领导者】评估情境——准备度水平
本系列是看了《情境领导者》一书,结合自己工作的实践经验所做的学习笔记。 在文章【情境领导者】评估情境——什么是准备度-CSDN博客我们提到准备度是由能力和意愿两部分组成的。 准备度水平 而我们要怎么去评估准备度呢?准备度水平是指人们在每项工作中…...
一套企业级智能制造云MES系统源码, vue-element-plus-admin+springboot
MES应该是继ERP之后制造企业信息化最热门的管理软件,它适应产品个性化与敏捷化制造需求,满足生产过程精益管理而产生和发展起来的信息系统。 作为企业实现数字化与智能化的核心支撑技术与重要组成部分,MES在帮助制造企业走向数字化、智能化等…...
蓝桥杯备考:动态规划线性dp之传球游戏
按照动态规划的做题顺序 step1:定义状态表示 f[i][j] 表示 第i次传递给了第j号时一共有多少种方案 step2: 推到状压公式 step3:初始化 step4:最终结果实际上就是f[m][1] #include <iostream> #include <cstring> using namespace std;const int N …...
网络编程 day05
网络编程 day05 12. SQL 数据库概念常用数据库MySQL与SQLite的区别 SQL基础SQL语句使用基本语句的使用—命令行操作sqlite3系统命令sqlite命令 sqlite3编程—函数接口 13. setsockopt:设置套接字属性 12. SQL 数据库 概念 数据库是“按照数据结构来组织、存储和管理…...
Excel中COUNTIF用法解析
COUNTIF 是 Excel 中一个非常实用的函数,用于统计满足某个条件的单元格数量。它的基本语法如下: 基本语法 COUNTIF(范围, 条件) 范围:需要统计的单元格区域,例如 A1:A10 或整列 A:A。 条件:用于判断哪些单元格需要被…...
使用XShell连接RHEL9并配置yum阿里源
目录 1.先在终端查看本地IP 2.打开XShell进行连接 方法一: 方法二: 3.关闭防火墙及SElinux 4.更改主机名为node2 5.修改YUM源为阿里源(将系统中国外的yum文件换成国内的阿里镜像文件) 1.找到本机的yum配置文件 2.删除原有…...
FPGA时序约束的几种方法
一,时钟约束 时钟约束是最基本的一个约束,因为FPGA工具是不知道你要跑多高的频率的,你必要要告诉工具你要跑的时钟频率。时钟约束也就是经常看到的Fmax,因为Fmax是针对“最差劲路径”,也就是说,如果该“最差劲路径”得到好成绩,那些不是最差劲的路径的成绩当然比…...
C# 在Excel中插入和操作切片器-详解
目录 使用工具 C# 在Excel中插入切片器 插入切片器到透视表 插入切片器到表格 C# 在Excel中修改切片器 C# 删除Excel中的切片器 切片器(Slicer)是Excel中的一个强大工具,它提供了直观且交互式的方式来过滤数据。通过切片器,…...
新编大学应用英语综合教程3 U校园全套参考答案
获取全套答案: 链接:https://pan.quark.cn/s/abaa0338724e...
Kubernetes中的 iptables 规则介绍
#作者:邓伟 文章目录 一、Kubernetes 网络模型概述二、iptables 基础知识三、Kubernetes 中的 iptables 应用四、查看和调试 iptables 规则五、总结 在 Kubernetes 集群中,iptables 是一个核心组件, 用于实现服务发现和网络策略。iptables 通…...
操作系统 2.2-多进程总体实现
多个进程使用CPU的图像 如何使用CPU呢? 通过让程序执行起来来使用CPU。 如何充分利用CPU呢? 通过启动多个程序,交替执行来充分利用CPU。 启动了的程序就是进程,所以是多个进程推进 操作系统需要记录这些进程,并按照…...
基于SeaShips数据集的yolov8训练教程
之前已经试过在yolov3和faster-rcnn上训练SeaShips数据集,本次在yolov8上进行训练。 yolov8的训练有两种方式,一种是在mmdetection框架下下载mmyolo运行,另一种是直接采用ultralytics。本文两种方法都会介绍。 目录 一、mmyolo 1.1 创建环…...
【时间序列聚类】从数据中发现隐藏的模式
在大数据时代,时间序列数据无处不在。无论是股票市场的价格波动、天气的变化趋势,还是用户的点击行为,这些数据都随着时间推移而产生。然而,面对海量的时间序列数据,我们如何从中提取有价值的信息?答案之一…...
在线研讨会 | 加速游戏和AI应用,全面认识Imagination DXTP GPU
近日,Imagination宣布推出 Imagination DXTP GPU IP,该产品重新定义了智能手机和其他功耗受限设备的图形和计算加速。它专为高效的效率而设计,能够提供运行AI、游戏和用户界面体验所需的性能,确保这些体验可以全天候流畅且持续地运…...
百度SEO关键词布局从堆砌到场景化的转型指南
百度SEO关键词布局:从“堆砌”到“场景化”的转型指南 引言 在搜索引擎优化(SEO)领域,关键词布局一直是核心策略之一。然而,随着搜索引擎算法的不断升级和用户需求的多样化,传统的“关键词堆砌”策略已经…...
数据库基础练习1
目录 1.创建数据库和表 2.插入数据 创建一个数据库,在数据库种创建一张叫heros的表,在表中插入几个四大名著的角色: 1.创建数据库和表 #创建表 CREATE DATABASE db_test;#查看创建的数据库 show databases; #使用db_test数据库 USE db_te…...
UVC for USBCamera in Android
基于UVC 协议,完成USBCamera 开发 文章目录 一、目的:二、USBCamera 技术实现方案难点 三、误区:四、基础补充、资源参考架构图了解Camera相关专栏零散知识了解部分相机源码参考,学习API使用,梳理流程,偏应…...
C++学习之路,从0到精通的征途:入门基础
目录 一.C的第一个程序 二.命名空间 1.namespace的价值 2.命名空间的定义 3.命名空间使用 三.C的输入与输出 1.<iostream> 2.流 3.std(standard) 四.缺省参数 1.缺省参数的定义 2.全缺省/半缺省 3.声明与定义 五.函数重载 1.参数个数不同 2.参数类型不…...
RSA-OAEP填充方案与定时攻击防护
目录 RSA-OAEP填充方案与定时攻击防护一、前言二、RSA 与 OAEP 填充方案概述2.1 RSA 加密算法基础2.2 OAEP 填充方案的引入2.3 数学公式推导 三、定时攻击原理与防护策略3.1 定时攻击的基本原理3.2 防护定时攻击的策略 四、基于 Python 的 RSA-OAEP 与定时攻击防护实现五、完整…...
探索高性能AI识别和边缘计算 | NVIDIA Jetson Orin Nano 8GB 开发套件测评总结
# NVIDIA Jetson Orin Nano 8GB测评:当边缘计算遇上"性能暴徒",树莓派看了想转行 引言:比咖啡机还小的"AI超算",却让开发者集体沸腾 2025年的某个深夜,程序员老王盯着工位上巴掌大的NVIDIA Jets…...
Seata
Seata是一款开源的分布式事务解决方案,由阿里巴巴发起并维护,旨在帮助应用程序管理和协调分布式事务。以下是对Seata的详细介绍: 一、概述 Seata致力于提供高性能和简单易用的分布式事务服务,它为用户提供了AT、TCC、SAGA和XA等…...
STM32之Unix时间戳
时间戳按秒计时,可转换成年月日时分。32有符号存储时间戳,2的32次/2-1到2038年,STM32是2的32次方-1,到2106年溢出。所有时区共用一个时间戳秒计数器,在伦敦和北京都是0,不同经度加上小时即可。...
告别手动复制粘贴:可定时自动备份的实用软件解析
软件介绍 此前不少小伙伴都在找备份工具,其实复制文件用fastcopy就可以,但它需要手动操作。 今天介绍的简易备份工具则能实现定时备份。 这款软件有个小问题,当源目录和目标目录路径太长时,【立即备份】按钮可能会超出软件界面范…...
Django下防御Race Condition
目录 漏洞原因 环境搭建 复现 A.无锁无事务时的竞争攻击 B.无锁有事务时的竞争攻击 防御 A.悲观锁加事务防御 B.乐观锁加事务防御 总结 漏洞原因 Race Condition 发生在多个执行实体(如线程、进程)同时访问共享资源时,由于执行顺序…...
python从入门到精通(二十三):文件操作和目录管理难度分级练习题
文件操作和目录管理 文件操作基础难度1. 简单文件写入2. 简单文件读取3. 追加内容到文件 中级难度4. 逐行读取文件并统计行数5. 读取文件并提取特定信息6. 复制文件内容到新文件 高级难度7. 处理二进制文件8. 批量文件处理9. 日志文件分析 参考答案示例1. 简单文件写入2. 简单文…...
揭开AI-OPS 的神秘面纱 第二讲-技术架构与选型分析 -- 数据采集层技术架构与组件选型分析
基于上一讲预设的架构图,深入讨论各个组件所涉及的技术架构、原理以及选型策略。我将逐层、逐组件地展开分析,并侧重于使用数据指标进行技术选型的对比。 我们从 数据采集层 开始,进行最细粒度的组件分析和技术选型比对。 数据采集层技术架构…...
jupyter配置多个核心
CMD输入 先创建虚拟环境 "D:\Program Files\Python37\python.exe" -m venv myenv激活虚拟环境 myenv\Scripts\activate"D:\Program Files\Python37\python.exe" -m pip install ipykernel "D:\Program Files\Python37\python.exe" -m ipykern…...
如何优化FFmpeg拉流性能及避坑指南
FFmpeg作为流媒体处理的核心工具,其拉流性能直接影响直播/点播体验。本文从协议优化、硬件加速、网络策略三大维度切入,结合实战案例与高频踩坑点,助你突破性能瓶颈! 一、性能优化进阶:从协议到硬件的全链路调优 协议选…...
机器学习:线性回归,梯度下降,多元线性回归
线性回归模型 (Linear Regression Model) 梯度下降算法 (Gradient Descent Algorithm) 的数学公式 多元线性回归(Multiple Linear Regression)...
笔记五:C语言编译链接
Faye:孤独让我们与我们所爱的人相处的每个瞬间都无比珍贵,让我们的回忆价值千金。它还驱使你去寻找那些你在我身边找不到的东西。 ---------《寻找天堂》 目录 一、编译和链接的介绍 1.1 程序的翻译环境和执行环境 1.1.1 翻译环境 1.1.2 运行环境 …...