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

网络编程 day01

网络编程 day01

  • 0. 网络编程课程介绍
  • 1. 认识网络
    • 1.网络发展史
    • 2.局域网与广域网
      • 局域网(LAN)
      • 广域网(Wan)
    • 3.光猫
    • 4.路由器
    • 5.交换机与路由器
    • 6.网线
  • 2. IP
    • 1. 基本概念
    • 2. 网络号/主机号(二级划分)
    • 3. IP地址分类
      • 整体分类
      • 特殊地址
    • 4.子网掩码(MASK)
    • 5. 练习
    • 6. 三级划分
  • 3. 网络模型
    • 网络的体系结构
    • OSI模型
    • TCP/IP
    • OSI和TCP/IP的对应关系
    • 常见协议
    • DNS
    • 网络调试命令
      • ping
      • netstat
      • ifconfig
      • 手机调试工具
  • 4. socket
    • 1. socket 发展
    • 2. socket 介绍
    • 3. 为什么需要socket?
    • 4.socket类型
    • 5. 位置
    • 6. TCP/UDP
  • 5. 端口号 port
  • 6. 字节序

0. 网络编程课程介绍

  1. 网络基础:IP、子网掩码、端口号、网络基础模型(OS、TCP/IP)、传输协议
  2. socket:TCP、UDP模型、广播、组播、协议分析、抓包工具的使用、IO多路复用、并发服务器
  3. SQL数据库
  4. TCP实现FTP、电子词典

1. 认识网络

1.网络发展史

ARPnetA (阿帕网) ---- Internet (因特网) ---- 移动互联网 ---- 物联网

TCP/IP
用来检测网络传输中差错的传输控制协议--------TCP
专门负责对不同网络进行互联的互联网协议-----IP

2.局域网与广域网

局域网(LAN)

 局域网的缩写是LAN,local area network,顾名思义,是个本地的网络,只能实现小范围短距离的网络通信。我们的家庭网络是典型的局域网。电脑、手机、电视、智能音箱、智能插座都连在路由器上,可以互相通信。局域网,就像是小区里的道路,分支多,连接了很多栋楼。

广域网(Wan)

 广域网(Wide Area Network)是相对局域网来讲的,局域网的传输距离比较近,只能是一个小范围的。如果需要长距离的传输,比如某大型企业,总部在北京,分公司在长沙,局域网是无法架设的。广域网,就像是大马路,分支可能少,但类型多,像国道、省道、高速、小道等,连接了很多大的局域网。

怎么上网?
第一,通过因特网,只需要办一根宽带,就实现了通信,非常方便,现在的宽带价格也比较便宜。
第二,通过广域网专线。
所以为了数据安全,不能连接因特网,需要用一条自己的专用线路来传输数据,这条线路上只有自己人,不会有其他人接入,且距离很远,这个网络就叫 “广域网”。

3.光猫

 光猫是一种类似于基带modem(数字调制解调器)的设备,和基带modem不同的是接入的是光纤专线,是光信号。用于广域网中光电信号的转换和接口协议的转换,接入路由器,是广域网接入。
猫的作用:将光(模拟)信号转化为数字信号
早期:电话线
现在:光纤

4.路由器

路由器:用于连接局域网和外网
 路由器需要区分WAN口和LAN口,WAN口是接外网的(从Modem出来的或者从上一级路由器出来的),LAN口是接内网的,现在路由器都带无线功能,本质上无线接入就是LAN

5.交换机与路由器

交换机工作原理
 交换机:用于局域网内网的数据转发
 路由器:用于连接局域网和外网,也能进行数据转发
现在大部分路由器都有有交换机的功能;
但是交换机没有IP分配和IP寻址的功能,所以交换机没有路由器的功能。

6.网线

2. IP

1. 基本概念

  1. IP地址是Internet中主机的标识
  2. Internet中的主机要与别的机器通信必须具有一个IP地址
  3. IP地址为32位(IPv4 ,232)或者128位(IPv6,2128个)
    NAT:公网转私网、私网转公网
  4. IPV4表示形式:常用点分十进制形式,如202.38.64.10,最后都会转换为一个32位的无符号整数。

NAT设备(网络地址转换)
 功能:NAT设备的主要功能是将内部私有IP地址转换为公共IP地址,或反向操作,以便在局域网和外部网络(如互联网)之间进行通信。
 工作原理:
当局域网内的设备访问互联网时,NAT设备记录设备的内部IP地址和源端口,并用公共IP地址替换。
响应的流量也会经过NAT设备,NAT通过记录的映射关系将数据包发送回正确的内部设备。
 作用对象:NAT设备用于管理与外部网络(如互联网)的通信,通常作为路由器的一部分。

DHCP服务器(动态主机配置协议)
 功能:DHCP服务器的主要任务是自动分配IP地址、子网掩码、默认网关和DNS服务器ip等网络配置给网络中的设备(客户端),简化网络管理。
 工作原理:
当一个设备(如电脑或手机)首次连接到网络时,它会发送一个DHCP请求。
DHCP服务器接收到请求后,从预设的IP地址池中分配一个可用的IP地址,并返回给客户端。
 作用对象:DHCP服务器专注于局域网内部的IP地址管理。

2. 网络号/主机号(二级划分)

IP地址 = 网络号+主机号
网络号:表示是否在同一个网段内(局域网)
主机号:表示在网段内的ID,同一网段内不重复

3. IP地址分类

整体分类

在这里插入图片描述
 A类:(0.0.0.0 - 127.255.255.255)(默认子网掩码:255.0.0.0)
 第一个字节为网络号,后三个字节为主机号(一个字节占8位)。该类IP地址的最前面为“0”,因为网络号是8位,所以地址的网络号取值于 0~127之间(0000 0000)(0111 1111)。一般用于大型网络,主机号取值在0 - 2 ^24之间。

 B类:(128.0.0.0 - 191.255.255.255)(默认子网掩码:255.255.0.0)
 前两个字节为网络号,后两个字节为主机号。该类IP地址的最前面为“10”,所以地址的网络号取值于128~191之间。一般用于中等规模网络。

 C类:(192.0.0.0 - 223.255.255.255)(子网掩码:255.255.255.0)
 前三个字节为网络号,最后一个字节为主机号。该类IP地址的最前面为“110”,所以地址的网络号取值于192~223之间。一般用于小型网络(一般教室使用的是C类)。

 D类:(224.0.0.0 - 239.255.255.255),多播地址。
 该类IP地址的最前面为“1110”,所以地址的范围取值于224~239之间。一般用于组播用户,组播通信。

 E类:是保留地址。该类IP地址的最前面为“1111”,所以地址的取值于240~247之间。一般是一些保密单位用得到,平时基本不会用到

特殊地址

0.0.0.0
 在服务器中,0.0.0.0指的是本机上的所有IPV4地址,如果一个主机有两个IP地址,192.168.1.1 和 10.1.2.1,并且该主机上的一个服务监听的地址是0.0.0.0,那么通过两个ip地址都能够访问该服务。
127.0.0.1
 回环地址/环路地址,所有发往该类地址的数据包都应该被loop back。
网络地址
 每一个网段主机号为0的地址; 如:192.168.50.0。它是网络中的一个特殊地址,不能被分配给任何具体的主机。
广播地址
 主机号最大的地址是该网段的广播地址 如:192.168.50.255。如: b类IP 广播地址为: 130.223.255.255
全网广播地址 : 255.255.255.255, 该地址不能随便用,会影响这个网络

A类:1.0.0.1~126.255.255.254
B类:128.0.0.1~191.255.255.254
C类:192.0.0.1~223.255.255.254
D类(组播地址):224.0.0.1~~239.255.255.254

4.子网掩码(MASK)

  1. 子网掩码:是一个32位的整数,作用是将某一个IP划分成网络地址和主机地址;
  2. 子网掩码长度是和IP地址长度完全一样;
  3. 网络号全为1,主机号全为0;
  4. 公式:网络地址 = IP & MASK
    主机地址 = IP& ~MASK

5. 练习

练习一:B类地址的子网掩码怎么写?
:255.255.0.0
练习二:B类地址,同一网段最多可以连接多少个主机?
:216 - 2 ;
 网络地址和广播地址(.1一般是路由器登陆界面)
练习三:已知一个子网掩码号为255.255.255.192,问:最多可以连接多少台主机?
:26 - 2;
 子网掩码:网络号全为1,主机号全为0;192 : 1100 0000;主机号只有6位;主机数为26-2台
练习四:一个IP地址为192.168.3.183,计算其网络号与主机号
 网络号:192.168.3.0
 主机号:0.0.0.183
练习五: 如果有800台电脑, 在不浪费ip情况下, 选用哪个网段?
:B类;C类同一网段只有28个,A类在同一网段会有224个主机

6. 三级划分

作用:重新划分网络号和主机号, 也就是重新组网 , 从而提高资源利用率
二级划分 IP :IP地址= 网络号 + 主机号
三级划分 IP :IP地址= 网络号 + 子网号 + 主机号
练习一:某公司有四个部门:行政、研发1、研发2、营销,每个部门各50台计算机接入公司局域网,如果要在192.168.1.0网段为每个部门划分子网,子网掩码应该怎么设置,每个子网的地址范围分别是什么?(4个部门之间不能通信)
:C类(254台主机)主机号:0000 0000
 行政:0000 0000 - 0011 1111=》
 研发1:0100 0000 - 0111 1111=》
 研发2:1000 0000 - 1011 1111=》
 营销:1100 0000 - 1111 1111=》
 子网掩码:255.255.255.1100 0000 =》255.255.255.192
练习二:有两台电脑主机,在最少浪费IP地址的情况下.将172.16.14.4与172.16.13.2划归为同一网段,则子网掩码应该设置为?
:255.255.252.0
解析

  1. 同一网段内主机号不同,网络号相同
  2. 从二级划分中主机号中划分出相同部分作为子网号,子网号与网络号合称网络号

 14.4:172.16.0000 1110.0000 0100
 13.2:172.16.0000 1101.0000 0010
 子网号:172.16.0000 11
 主机号:10.0000 0100 和 01.0000 0010
 子网掩码:255.255.1111 1100.0000 0000==》255.255.252.0

3. 网络模型

网络的体系结构

 网络采用分而治之的方法设计,将网络的功能划分为不同的模块,以分层的形式有机组合在一起。
 每层实现不同的功能,其内部实现方法对外部其他层次来说是透明的。每层向上层提供服务,同时使用下层提供的服务
网络体系结构即指网络的层次结构和每层所使用协议的集合
 两类非常重要的体系结构:OSI与TCP/IP

OSI模型

OSI模型

TCP/IP

在这里插入图片描述
应用层应用协议和应用程序的集合
传输层决定数据交给机器的哪个任务(进程)去处理,通过端口寻址
进程一定有进程号,不一定有端口号,端口号只有在进行网络通信才有

网络层提供设备到设备的传输,可以理解为通过IP寻址机器。
网络接口和物理层屏蔽硬件差异(驱动),向上层提供统一的操作接口。

OSI和TCP/IP的对应关系

在这里插入图片描述

常见协议

网络接口和物理层:
 ppp:拨号协议(老式电话线上网方式)
 Ethernet:是一种常见的局域网技术,使用MAC地址进行帧的传输和接收
 Wi-Fi:用于无线局域网的数据传输,通常基于IEEE 802.11标准
网络层:
 IP(IPV4/IPV6):网间互连的协议
 ICMP:网络控制管理协议,ping命令使用
 IGMP:网络分组管理协议,广播和组播使用
 ARP:地址解析协议 IP–>MAC
 RARP:反向地址转换协议 MAC–>IP
  (ARP;RARP在网络接口和物理层工作)
传输层:
 TCP:传输控制协议
 UDP:用户数据报协议
应用层:
 SSH:加密协议
 telnet:远程登录协议
 FTP:文件传输协议
 HTTP:超文本传输协议
 DNS:域名解析协议 (将人类易于记忆的域名(如www.baidu.com)转换为计算机使用的IP地址(如192.0.2.1))
 SMTP/POP3:邮件传输协议

DNS

 由于使用IP地址来指定计算机不方便人们记忆,且输入时候容易出错,用字符标识网络中计算机名称方法。
 域名(Domian Name )
 域名服务器(Domain Name server):用来处理IP地址和域名之间的转换。
 域名系统(Domain Name System,DNS):域名翻译成IP地址的软件DNS
域名结构
 例如域名 www.baidu.com.cn 从右向左看
 cn为高级域名,也叫一级域名,它通常分配给主干节点,取值为国家名,cn代表中国
 com为网络名,属于二级域名,它通常表示组织或部门
中国互联网二级域名共40个,edu表示教育部门,com表示商业部门,gov表示政府,mil军队等等
 baidu为机构名,在此为三级域名,表示百度
 www:万维网world wide web,也叫环球信息网,是一种特殊的信息结构框架。
工作流程
在这里插入图片描述

网络调试命令

ping

测试网络连通性(ICMP)
作为平时网络连通检测使用最多的命令,它的作用主要为:
● 用来检测网络的连通情况和分析网络速度;
● 根据域名得到服务器IP;
● 根据ping返回的TTL值来判断对方所使用的操作系统及数据包经过路由器数量。
在这里插入图片描述
字节:数据包大小
时间:响应时间:时间越小证明链接地址的速度越快
TTL:time to live:从源到目的,每经过一个路由器,TTL减一。当TTL = 0 时,数据包丢失

netstat

netstat是控制台命令,是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。Netstat用于显示与IP、TCP、UDP相关的统计数据,一般用于检验本机各端口的网络连接情况。

netstat -a //查看所有网络状态
netstat -at //查看tcp所有网络状态
netstat -au //查看udp所有网络状态
netstat -l //查看处于监听状态的链接
netstat -lt //查看处于监听状态的链接tcp
netstat -lu //查看处于监听状态的链接udp
netstat -lx //查看处于监听状态的链接unix

ifconfig

查看网络接口信息
在这里插入图片描述
ens33:网卡名称 en:Ethernet s:表示热插拔槽上的设备 33:插槽编号
lo:回环网卡

格式含义
ifconfig 具体网卡名称只显示具体网卡的详细信息(无论是否启用)
ifconfig -a表示显示所有网卡包括没有启动的网卡
ifconfig 网卡名称up/down 表示开启或关闭网卡
ifconfig 网络接口 IP地址[/子网掩码长度]新建临时IP地址(添加 一块虚拟网卡)
ifconfig -s查看通讯情况

手机调试工具

全能调试
在这里插入图片描述

4. socket

1. socket 发展

  1. 1982 - Berkeley Software Distributions 操作系统引入了socket作为本地进程之间通信的接口
  2. 1986 - Berkeley 扩展了socket 接口,使之支持UNIX 下的TCP/IP 通信
  3. 现在很多应用 (FTP, Telnet) 都依赖这一接口

2. socket 介绍

  1. 是一个编程接口,函数
  2. 是一种特殊的文件描述符 (everything in Unix is a file)
  3. socket是一种通信机制,并不仅限于TCP/IP协议
  4. 面向连接 (Transmission Control Protocol - TCP/IP)
  5. 无连接 (User Datagram Protocol -UDP 和 Inter-network Packet Exchange - IPX)

3. 为什么需要socket?

  1. 普通的I/O操作过程 :打开文件->读/写操作->关闭文件
  2. TCP/IP协议被集成到操作系统的内核中,引入了新型的“I/O”操作:
    进行网络通信的两个进程在不同的机器上,如何连接?
    网络协议具有多样性,如何进行统一的操作?
    需要一种通用的网络编程接口:Socket

4.socket类型

流式套接字(SOCK_STREAM) —> TCP
提供了一个面向连接、可靠的数据传输服务,数据无差错、无重复的发送且按发送顺序接收。 内设置流量控制,避免数据流淹没慢的接收方。数据被看作是字节流。
数据报套接字(SOCK_DGRAM) --> UDP
提供无连接服务。 数据包以独立数据包的形式被发送,不提供无差错保证,数据可能丢失或重复,顺序发送可能乱序接收。
原始套接字(SOCK_RAW)
 可以对较低层次协议如IP、ICMP直接访问,还有一些ping命令

5. 位置

在这里插入图片描述

6. TCP/UDP

相同点:都存在于传输层,全双工通信

TCP:全双工通信、面向连接、可靠
 TCP(即传输控制协议):是一种面向连接的传输层协议,它能提供高可靠性通信(即数据无误、数据无丢失、数据无失序、数据无重复到达的通信)。
高可靠原因
 1. 三次握手、四次挥手
 2. 序列号和应答机制
 3. 超时,错误重传机制
 4. 拥塞控制、流量控制(滑动窗口)

适用场景
 适合于对传输质量要求较高的通信
 在需要可靠数据传输的场合,通常使用TCP协议
 MSN/QQ等即时通讯软件的用户登录账户管理相关的功能通常采用TCP协议

UDP:全双工通信、面向无连接、不可靠
 UDP(User Datagram Protocol)用户数据报协议,是不可靠的无连接的协议。在数据发送前,因为不需要进行连接,所以可以进行高效率的数据传输。
适用场景
 发送小尺寸数据(如对DNS服务器进行IP地址查询时)
 适合于广播/组播式通信中。
 MSN/QQ/Skype等即时通讯软件的点对点文本通讯以及音视频通讯通常采用UDP协议

5. 端口号 port

 为了区分一台主机接收到的数据包应该转交给哪个进程来进行处理,使用端口号来区分
 TCP端口号与UDP端口号独立(UDP port为8888,TCP port也可为8888 )
 端口号一般由IANA (Internet Assigned Numbers Authority) 管理
 端口用两个字节来表示

众所周知端口(被占用:1 - 1023(1 - 255之间为众所周知端口,256 - 1023端口通常由UNIX系统占用))
已登记端口:1024 - 49151(可用来建立与其它主机的会话)
动态或私有端口:49152 - 65535 固定某些服务使用

6. 字节序

字节序: 不同类型的cpu主机,内存存储大于一个字节类型的数据在内存中的存放顺序。
小端序(little-endian)= 低序字节存储在低地址 = 主机字节序
大端序(big-endian)= 高序字节存储在低地址 = 网络字节序
网络中传输的数据必须使用网络字节序,即大端字节序
终端显示的数据必须是主机字节序,即小端字节序
 网络传输中,需要将每个主机的主机字节序(CPU决定),转换为网络中统一顺序的网络字节序,才能供双方主机去识别。
 只需要转换IP和port就可以,不需要转换传输的数据包的字节序,因为IP和port为 4个字节和2个字节, 而数据报一般都为char类型, 占一个字节,根据字节序的性质,内存存储大于一个字节类型的数据在内存中的存放顺序,所以char类型并不具有字节序的概念。
练习:写一个程序,判断当前主机的字节序?

union en
{int in;char ch;
};
int main()
{int myend = 0x12345678;// 指针char *endp = (char *)&myend;printf("%#x\n", *endp);// 数据类型char endch = (char)myend;printf("%#x\n", endch);// 共用体union en endun;endun.in = myend;endun.ch = (char)endun.in;printf("%#x", endun.ch);
}

int 类型的myend占满四个字节,强转成char类型的数据时会按照主机的大小端类型存储。如果强转之后打印出来的是“78”,说明低位字节存储在低地址位,是小端存储;如果强转之后打印出来的是“12”,说明高位字节存储在低地址位,是大端存储。

相关文章:

网络编程 day01

网络编程 day01 0. 网络编程课程介绍1. 认识网络1.网络发展史2.局域网与广域网局域网(LAN)广域网(Wan) 3.光猫4.路由器5.交换机与路由器6.网线 2. IP1. 基本概念2. 网络号/主机号(二级划分)3. IP地址分类整…...

【三.大模型实战应用篇】【4.智能学员辅导系统:docx转PDF的自动化流程】

去年团队庆功宴上,我司CTO端着酒杯过来:“老王啊,咱们现在文档解析做得挺溜了,但老师们总抱怨下载的作业格式乱码…” 我看了眼手机里凌晨三点收到的崩溃警报,把杯里的可乐一饮而尽——得,新的副本又开了。 一、为什么PDF转换比想象中难十倍? 某次用户调研中,数学教研…...

2915. 和为目标值的最长子序列的长度

给你一个下标从 0 开始的整数数组 nums 和一个整数 target 。 返回和为 target 的 nums 子序列中,子序列 长度的最大值 。如果不存在和为 target 的子序列,返回 -1 。 子序列 指的是从原数组中删除一些或者不删除任何元素后,剩余元素保持原来…...

谷仓的安保

Farmer John给谷仓安装了一个新的安全系统&#xff0c;并且要给牛群中的每一个奶牛安排一个有效的密码。一个有效的密码由L(3 < L < 15)个小写字母(来自传统的拉丁字母集a...z)组成&#xff0c;至少有一个元音(a, e, i, o, 或者 u)&#xff0c;至少两个辅音(除去元音以外…...

vcredist_x64 资源文件分享

vcredist_x64 是 Microsoft Visual C Redistributable 的 64 位版本&#xff0c;用于在 64 位 Windows 系统上运行使用 Visual C 开发的应用程序。它包含了运行这些应用程序所需的运行时组件。 vcredist_x64 资源工具网盘下载链接&#xff1a;https://pan.quark.cn/s/ef56f838f…...

MySQL零基础教程14—子查询

子查询比较简单&#xff0c;我们还是通过案例引入。 有时候我们查询的时候&#xff0c;需要用到的不止一个表的数据&#xff0c;比如下面的场景&#xff1a; 查询名字叫李晓红同学的班主任姓名 我们提供三个表的基础信息如下&#xff1a; 从三张表的结构&#xff0c;我们不难…...

使用mermaid查看cursor程序生成的流程图

一、得到cursor生成的流程图文本 cursor写的程序正常运行后&#xff0c;在对话框输入框中输入诸如“请生成扫雷的代码流程图”&#xff0c;然后cursor就把流程图给生成了&#xff0c;但是看到的还是文本的样子&#xff0c;保留这部分内容待用 二、注册一个Mermaid绘图账号 …...

L1-031 到底是不是太胖了

L1-031 到底是不是太胖了 - 团体程序设计天梯赛-练习集 (pintia.cn) 解题思路 输入数据 首先从输入中读取正整数 n&#xff0c;表示要处理的人数。 然后通过循环 n 次&#xff0c;每次读取一个人的身高 h&#xff08;单位&#xff1a;厘米&#xff09;和实际体重 w&#xff0…...

服务器时间同步

[rootbogon hwh-ansible]# cat time-sync.sh #!/bin/bash # NTP 服务器信息 NTP_SERVER"192.168.42.12" PASSWORD"123456" # 多个 IP 地址 HOSTS("192.168.42.8" "192.168.42.9" "192.168.42.10" "192.168.42.11"…...

01. HarmonyOS应用开发实践与技术解析

文章目录 前言项目概述HarmonyOS应用架构项目结构Ability生命周期 ArkTS语言特性装饰器状态管理 UI组件与布局基础组件响应式布局样式与主题 页面路由与参数传递页面跳转参数接收 数据绑定与循环渲染数据接口定义循环渲染 条件渲染组件生命周期最佳实践与性能优化组件复用响应式…...

【大厂AI实践】清华:清华古典诗歌自动生成系统“九歌”的算法

【大厂AI实践】清华&#xff1a;清华古典诗歌自动生成系统“九歌”的算法 &#x1f31f; 嗨&#xff0c;你好&#xff0c;我是 青松 &#xff01; &#x1f308; 自小刺头深草里&#xff0c;而今渐觉出蓬蒿。 文章目录 **01 自动作诗缘起****1. 诗歌自动写作** **02 九歌的模型…...

JS基础之函数

函数使用 函数名命名规范 和变量命名基本一致> 尽量小驼峰式命名法 前缀应该为动词 命名建议:常用动词约定 动词含义can判断是否可执行某个动作has判断是否含义某个值is判断是否为某个值get获取某个值set设置某个值load加载某些数据 有返回值的函数 细节: 在函数体中使用…...

基于java SSM springboot学生信息管理系统设计和实现

基于java SSM springboot学生信息管理系统设计和实现 &#x1f345; 作者主页 网顺技术团队 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; &#x1f345; 文末获取源码联系方式 &#x1f4dd; &#x1f345; 查看下方微信号获取联系方式 承接各种定制系统 …...

【MongoDB】在Windows11下安装与使用

官网下载链接&#xff1a;Download MongoDB Community Server 官方参考文档&#xff1a;https://www.mongodb.com/zh-cn/docs/manual/tutorial/install-mongodb-on-windows/#std-label-install-mdb-community-windows 选择custom类型&#xff0c;其他默认 注意&#xff0c;此选…...

HTML在网页开发中的应用与重要性

## 摘要 HTML&#xff08;HyperText Markup Language&#xff09;是网页开发的基础语言之一&#xff0c;它定义了网页的结构和内容。随着互联网的快速发展&#xff0c;HTML不断演进&#xff0c;从HTML4到HTML5&#xff0c;其功能和特性得到了极大的增强。本文将探讨HTML在网页…...

深度学习-140-RAG技术之Agentic Chunking分块技术的实现细节和完备实现

文章目录 1 类AgenticChunker1.1 add_propositions添加命题列表1.2 add_proposition添加单个命题1.3 add_proposition_to_chunk命题添加到块中1.4 _update_chunk_summary更新块摘要1.5 _update_chunk_title更新块主题1.6 _get_new_chunk_summary获取新块摘要1.7 _get_new_chunk…...

全面中耕机与行间中耕机的作用及区别

全面中耕机与行间中耕机的作用及区别 一、作用对比 全面中耕机 核心作用&#xff1a;主要用于整地前的土壤准备和休闲地管理&#xff0c;包括播前整地、土壤改良、化肥与化学药剂的混合等&#xff0c;为大面积种植创造均匀的种床环境。 附加功能&#xff1a;通过深耕&#xff…...

CSS—显示模式display、定位position、元素溢出overflow、float浮动

目录 1.显示模式display 2.定位position 3.元素溢出overflow 4.float浮动 1.显示模式display 显示模式常见元素特点块级元素div标签、h1-h6、p、form、header、footer、section、ul、li、ol、dl、dt独占一行&#xff0c;默认垂直布局&#xff0c;没有设置宽高时宽度继承父级…...

Linux调试器gdb和cgdb的使用【Ubuntu】

文章目录 一、样例代码二、预备三、常见使用1、cgdb调试操作2、gdb调试操作 四、常见技巧1、 **安装cgdb:**2、watch3、set var确定问题原因4、条件断点 一、样例代码 // mycmd.c #include <stdio.h>int Sum(int s, int e) {int result 0;for(int i s; i < e; i){r…...

清华大学DeepSeek详细使用教程共6版免费下载

「清华北大-Deepseek使用手册」 链接&#xff1a;https://pan.quark.cn/s/98782f7d61dc 「清华大学Deepseek整理&#xff09; 1&#xff0d;6版本链接&#xff1a;https://pan.quark.cn/s/72194e32428a AI学术工具公测链接:https://pan.baidu.com/s/104w_uBB2F42Da0qnk78_ew …...

使用VSCode开发Django指南

使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架&#xff0c;专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用&#xff0c;其中包含三个使用通用基本模板的页面。在此…...

<6>-MySQL表的增删查改

目录 一&#xff0c;create&#xff08;创建表&#xff09; 二&#xff0c;retrieve&#xff08;查询表&#xff09; 1&#xff0c;select列 2&#xff0c;where条件 三&#xff0c;update&#xff08;更新表&#xff09; 四&#xff0c;delete&#xff08;删除表&#xf…...

PHP和Node.js哪个更爽?

先说结论&#xff0c;rust完胜。 php&#xff1a;laravel&#xff0c;swoole&#xff0c;webman&#xff0c;最开始在苏宁的时候写了几年php&#xff0c;当时觉得php真的是世界上最好的语言&#xff0c;因为当初活在舒适圈里&#xff0c;不愿意跳出来&#xff0c;就好比当初活在…...

Robots.txt 文件

什么是robots.txt&#xff1f; robots.txt 是一个位于网站根目录下的文本文件&#xff08;如&#xff1a;https://example.com/robots.txt&#xff09;&#xff0c;它用于指导网络爬虫&#xff08;如搜索引擎的蜘蛛程序&#xff09;如何抓取该网站的内容。这个文件遵循 Robots…...

Go 并发编程基础:通道(Channel)的使用

在 Go 中&#xff0c;Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式&#xff0c;用于在多个 Goroutine 之间传递数据&#xff0c;从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...

Java求职者面试指南:计算机基础与源码原理深度解析

Java求职者面试指南&#xff1a;计算机基础与源码原理深度解析 第一轮提问&#xff1a;基础概念问题 1. 请解释什么是进程和线程的区别&#xff1f; 面试官&#xff1a;进程是程序的一次执行过程&#xff0c;是系统进行资源分配和调度的基本单位&#xff1b;而线程是进程中的…...

android RelativeLayout布局

<?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android:gravity&…...

Unity中的transform.up

2025年6月8日&#xff0c;周日下午 在Unity中&#xff0c;transform.up是Transform组件的一个属性&#xff0c;表示游戏对象在世界空间中的“上”方向&#xff08;Y轴正方向&#xff09;&#xff0c;且会随对象旋转动态变化。以下是关键点解析&#xff1a; 基本定义 transfor…...

【无标题】湖北理元理律师事务所:债务优化中的生活保障与法律平衡之道

文/法律实务观察组 在债务重组领域&#xff0c;专业机构的核心价值不仅在于减轻债务数字&#xff0c;更在于帮助债务人在履行义务的同时维持基本生活尊严。湖北理元理律师事务所的服务实践表明&#xff0c;合法债务优化需同步实现三重平衡&#xff1a; 法律刚性&#xff08;债…...

AxureRP-Pro-Beta-Setup_114413.exe (6.0.0.2887)

Name&#xff1a;3ddown Serial&#xff1a;FiCGEezgdGoYILo8U/2MFyCWj0jZoJc/sziRRj2/ENvtEq7w1RH97k5MWctqVHA 注册用户名&#xff1a;Axure 序列号&#xff1a;8t3Yk/zu4cX601/seX6wBZgYRVj/lkC2PICCdO4sFKCCLx8mcCnccoylVb40lP...