【网络编程】几个常用命令:ping / netstat / xargs / pidof / watch

ping:检测网络联通- 1. ping 的基本功能
- 2. ping 的工作原理
- 3. ping 的常见用法
- 4. ping 的输出解释
- 5. ping 的应用场景
- 6. 注意事项
netstat:查看网络状态- 1. netstat 的基本功能
- 2. 常见用法
- 3. 示例
- 4. 输出字段解释
- 5. netstat 的替代工具
- 6. 注意事项
xargs:将数据转换为其他命令的命令行参数- 1. xargs 的基本功能
- 2. 常见用法
- 3. 示例
pidof:根据名字查找并返回进程PID- 1. pidof 的基本功能
- 2. 常见用法
- 3. 示例
- 4. 输出解释
- 5. 使用场景
- 6. 注意事项
watch:动态刷新的数字监控- 1. watch 的基本功能
- 2. 常见用法
- 3. 示例
- 4. 输出解释
- 5. 使用场景
- 6. 注意事项
ping:检测网络联通
ping 是一种常用的网络诊断工具,用于测试主机之间的连通性以及测量网络延迟。通过发送 ICMP(Internet Control Message Protocol)回声请求(Echo Request)消息到目标主机,并等待其返回 ICMP 回声应答(Echo Reply),可以判断目标主机是否可达,并评估网络性能。
以下是关于 ping 命令的详细讲解:
1. ping 的基本功能
- 测试连通性:验证本地主机与目标主机之间的网络连接是否正常。
- 测量延迟:计算从发送请求到接收响应的时间(通常以毫秒为单位),反映网络的速度和稳定性。
- 检测丢包率:统计在一定时间内发送的请求中有多少未收到响应,从而判断网络质量。
2. ping 的工作原理
-
发送 ICMP 请求:
- 本地主机向目标主机发送一个 ICMP Echo Request 消息。
- 这个消息包含一个唯一的标识符和序列号,用于区分不同的请求。
-
接收 ICMP 应答:
- 如果目标主机正常运行且网络畅通,它会返回一个 ICMP Echo Reply 消息。
- 本地主机会记录从发送请求到接收应答的时间差,即往返时间(RTT,Round-Trip Time)。
-
统计结果:
- 根据多次请求的结果,计算平均延迟、最大延迟、最小延迟以及丢包率。
3. ping 的常见用法
(1) 基本语法
ping [选项] 目标地址
- 目标地址:可以是域名(如
www.example.com)或IP地址(如192.168.1.1)。
可以输入自己服务器的域名或虚拟机的IP地址
(2) 常见选项
| 选项 | 描述 |
|---|---|
-c <次数> | 指定发送的ICMP请求次数(例如:ping -c 4 www.example.com)。 |
-i <间隔> | 设置两次请求之间的时间间隔(秒)。 |
-t <TTL> | 设置数据包的生存时间(Time To Live,TTL)。 |
-s <大小> | 设置发送的数据包大小(字节)。 |
-W <超时> | 设置等待响应的超时时间(秒)。 |
(3) 示例
-
发送4次请求:
ping -c 4 www.example.com -
指定数据包大小为1024字节:
ping -s 1024 www.example.com -
设置每次请求间隔为2秒:
ping -i 2 www.example.com
4. ping 的输出解释
以下是一个典型的 ping 输出示例:
PING www.example.com (93.184.216.34): 56 data bytes
64 bytes from 93.184.216.34: icmp_seq=0 ttl=56 time=12.3 ms
64 bytes from 93.184.216.34: icmp_seq=1 ttl=56 time=11.8 ms
64 bytes from 93.184.216.34: icmp_seq=2 ttl=56 time=12.1 ms
64 bytes from 93.184.216.34: icmp_seq=3 ttl=56 time=11.9 ms--- www.example.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3003ms
rtt min/avg/max/mdev = 11.800/12.025/12.300/0.200 ms
字段说明
-
PING行:- 显示目标地址及其解析后的IP地址。
- 数据包大小默认为56字节(加上ICMP头部后总共64字节)。
-
每次请求的响应:
64 bytes:表示接收到的回显应答数据包大小。icmp_seq=<序号>:表示该数据包的序列号。ttl=<值>:表示数据包的生存时间(TTL,Time To Live),反映了路由跳数。time=<值>:表示往返时间(RTT,Round-Trip Time),单位为毫秒。
-
统计信息:
packets transmitted:发送的总数据包数。received:接收到的总数据包数。packet loss:丢包率(百分比)。time:整个测试过程的持续时间。rtt min/avg/max/mdev:往返时间的最小值、平均值、最大值以及标准偏差。
5. ping 的应用场景
(1) 测试网络连通性
- 使用
ping可以快速检查本地主机与目标主机之间的网络是否连通。 - 如果无法收到任何响应,可能是因为目标主机不可达、网络中断或目标主机禁用了ICMP响应。
(2) 测量网络延迟
- 通过观察
ping输出中的time值,可以评估网络的速度和稳定性。 - 较低的延迟通常意味着更好的网络性能。
(3) 检测丢包率
- 如果部分请求没有收到响应,可能是网络拥塞或不稳定。
- 高丢包率可能表明网络质量较差。
(4) 调试网络问题
- 结合其他工具(如
traceroute或mtr),可以定位网络故障的具体位置。
6. 注意事项
(1) 目标主机可能禁用ICMP
- 某些主机或防火墙可能会禁用ICMP协议,导致即使网络正常也无法收到响应。
(2) 网络延迟的影响因素
- 网络延迟可能受到多种因素的影响,包括物理距离、路由器数量、带宽限制等。
(3) 数据包大小的影响
- 发送较大的数据包可能会暴露网络中的带宽瓶颈或MTU(Maximum Transmission Unit)问题。
(4) 不同平台的实现差异
- Windows 和 Linux 的
ping命令在默认行为上可能略有不同(例如,默认数据包大小)。
netstat:查看网络状态
我们在写一些网络服务时,如写 udp Server / tcp Server ,我们有时需要查看这些网络服务是否启动以及其他状态信息,如果直接使用 ps 命令,只能查看到一些偏向进程方面的,因此我们推荐 netstat:
netstat 是一个用于显示网络连接、路由表、接口统计信息、伪装连接和多播成员的命令行工具。它是网络管理员和开发人员常用的工具之一,可以帮助诊断网络问题、监控网络状态以及分析系统上的活动连接。
以下是关于 netstat 的详细介绍:
1. netstat 的基本功能
netstat 提供了以下主要功能:
- 显示活动的网络连接:列出当前系统的TCP/UDP连接。
- 显示路由表信息:查看系统的IP路由表。
- 显示接口统计信息:显示网络接口的流量统计信息。
- 显示监听端口:列出正在监听的端口及其对应的服务或进程。
- 显示网络协议统计信息:提供TCP、UDP、ICMP等协议的统计数据。

2. 常见用法
(1) 基本语法
netstat [选项]
(2) 常见选项
注意:在使用时,这些选项的前后顺序无所谓,没有规定
| 选项 | 描述 |
|---|---|
-a | 即 all,显示所有连接和侦听端口(包括TCP和UDP)。 |
-t | 即 tcp,仅显示TCP连接。 |
-u | 即 udp,仅显示UDP连接。 |
-n | 即 number,以数字形式显示地址和端口号(不进行DNS解析)。 |
-l | 仅显示处于监听状态的连接。 |
-p | 即 process,显示与每个连接关联的进程ID(需要root权限)。 |
-r | 显示内核路由表。 |
-i | 显示网络接口的统计信息。 |
-s | 显示每个协议的统计信息(如TCP、UDP等)。 |
2. 常见用法
(1) 显示所有连接和侦听端口
netstat -a
- 输出中会包含所有的TCP和UDP连接,包括已建立的连接和正在监听的端口。
(2) 显示所有TCP连接
netstat -at
- 只显示TCP协议相关的连接。
(3) 显示所有UDP连接
netstat -au
- 只显示UDP协议相关的连接。
(4) 显示监听端口
netstat -ln
- 使用
-l选项只显示处于监听状态的端口,-n选项避免DNS解析,加快输出速度。
(5) 显示与进程关联的连接
sudo netstat -ntp
-n:以数字形式显示地址和端口号。-t:仅显示TCP连接。-p:显示与每个连接关联的进程ID和名称。- 需要使用
sudo提升权限,因为普通用户无法访问某些进程信息。
(6) 显示路由表
netstat -r
- 输出系统的IP路由表,类似于
route或ip route命令。
(7) 显示网络接口统计信息
netstat -i
- 列出所有网络接口的流量统计信息,包括接收和发送的数据包数量、错误数等。
(8) 显示协议统计信息
netstat -s
- 提供TCP、UDP、ICMP等协议的详细统计信息,例如已建立的连接数、丢弃的数据包数等。
3. 示例
以下是一个典型的 netstat 输出示例:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1234/sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1235/cupsd
udp 0 0 0.0.0.0:68 0.0.0.0:* 1236/dhclient
4. 输出字段解释
- Proto:协议类型(TCP或UDP)。
- Recv-Q:接收队列中的数据包数量。
- Send-Q:发送队列中的数据包数量。
- Local Address:本地地址和端口。
- Foreign Address:远程地址和端口。
- State:连接状态(仅适用于TCP,例如
LISTEN、ESTABLISHED等)。 - PID/Program name:与该连接关联的进程ID和程序名称(需使用
-p选项)。
5. netstat 的替代工具
在现代Linux系统中,netstat 已逐渐被更高效的工具(如 ss 和 ip)取代:
ss:功能类似netstat,但性能更高,推荐使用。ip:用于管理和显示网络接口、路由表等信息。
例如,使用 ss 查看监听端口:
ss -tnlp
6. 注意事项
(1) 权限问题
-
某些选项(如
-p)需要 root 权限才能查看进程信息。比如下图,有些条目缺失了一些信息,只有我们自己启动的
./server有
-
如果没有权限,可以尝试使用
sudo提升权限。如下图,使用
sudo提权后,所有信息都展示出来了
(2) 性能问题
- 在高并发环境下,
netstat的性能可能不如ss,因为它需要读取大量的内核数据。
(3) 替代工具
- 在较新的 Linux 发行版中,
netstat可能已被废弃或不再默认安装。可以使用ss或ip命令作为替代。
xargs:将数据转换为其他命令的命令行参数
xargs 是一个功能强大的命令行工具,用于从标准输入(stdin)读取数据,并将其作为参数传递给其他命令执行。它可以帮助用户将管道或文件中的数据转换为命令行参数,从而实现批量处理任务。
以下是关于 xargs 的详细讲解:
1. xargs 的基本功能
- 从标准输入读取数据:
xargs从标准输入中读取数据,通常是通过管道或其他命令的输出。 - 构建命令行参数:将读取到的数据转换为命令行参数,并传递给指定的命令。
- 批量执行命令:支持对多个输入项逐一或分批执行命令。
2. 常见用法
(1) 基本语法
command | xargs [选项] [命令]
command:生成输入数据的命令。xargs:将输入数据转换为命令行参数。[选项]:控制xargs的行为。[命令]:接收参数并执行的命令。
3. 示例
(1) 基本用法
echo "file1 file2 file3" | xargs ls
-
将
file1 file2 file3作为参数传递给ls命令,等价于:ls file1 file2 file3
pidof:根据名字查找并返回进程PID
pidof 是一个用于查找正在运行的进程的 PID(Process ID)的命令行工具。它根据指定的进程名称返回与该名称匹配的进程的 PID 列表。pidof 是系统管理员和开发人员常用的工具之一,尤其在需要动态获取某个服务或程序的 PID 时非常方便。
以下是关于 pidof 的详细讲解:
1. pidof 的基本功能
- 查找进程 ID:根据进程名称返回对应的 PID。
- 支持多个匹配项:如果存在多个同名进程,
pidof会返回所有匹配的 PID。 - 简单易用:语法简单,适合脚本中使用。
2. 常见用法
(1) 基本语法
pidof [选项] 进程名称
(2) 常见选项
| 选项 | 描述 |
|---|---|
-s | 只返回一个 PID(即使有多个匹配的进程)。 |
-x | 匹配脚本或可执行文件(不仅限于二进制程序)。 |
-o PID,... | 排除指定的 PID 或特殊符号(如 $$ 表示当前 shell 的 PID)。 |
3. 示例
(1) 查找特定进程的 PID
pidof sshd
-
如果
sshd正在运行,输出可能是:1234 1235 -
这表示有两个
sshd进程正在运行,其 PID 分别为1234和1235。
(2) 只返回一个 PID
pidof -s sshd
-
即使有多个
sshd进程,也只返回其中一个 PID,例如:1234
(3) 匹配脚本或可执行文件
pidof -x myscript.sh
- 如果
myscript.sh是一个正在运行的脚本,pidof会返回其 PID。
(4) 排除特定 PID
pidof -o $$ bash
$$表示当前 shell 的 PID。此命令会列出所有正在运行的bash进程的 PID,但排除当前 shell 的 PID。
4. 输出解释
pidof 的输出是一个由空格分隔的 PID 列表。如果没有找到匹配的进程,则不会有任何输出。
例如:
$ pidof nginx
1234 1235 1236
这表示有三个 nginx 进程正在运行,其 PID 分别为 1234、1235 和 1236。
5. 使用场景
(1) 动态获取 PID
在编写脚本时,可以使用 pidof 获取某个服务的 PID 并进行进一步操作。例如:
PID=$(pidof mysqld)
if [ -n "$PID" ]; thenecho "MySQL is running with PID $PID"
elseecho "MySQL is not running"
fi
(2) 结合其他工具
可以将 pidof 的输出与其他工具结合使用。例如:
-
使用
kill发送信号:有两种写法// 方法一: kill $(pidof nginx)// 方法二: 通过管道 pidof nginx | xargs kill -9 -
使用
ps获取更多进程信息:ps -p $(pidof sshd)
(3) 监控进程状态
通过定期检查某个进程是否存在,可以实现简单的进程监控功能。
6. 注意事项
**(1) 进程名称匹配 **
pidof根据进程名称进行匹配,因此可能会出现误匹配的情况。例如,pidof http可能会匹配到httpd或其他包含http的进程。- 如果需要更精确的匹配,建议结合
pgrep或ps使用。
(2) 权限问题
- 如果当前用户没有权限访问某些进程的信息,
pidof可能无法返回这些进程的 PID。
(3) 替代工具
- 在某些情况下,
pgrep是一个更强大的替代工具,因为它可以根据更多的条件(如用户、命令行参数等)进行过滤。
watch:动态刷新的数字监控
watch 是一个非常实用的命令行工具,用于定期执行其他命令并将输出显示在终端中。它可以帮助用户实时监控系统状态、进程运行情况或其他动态变化的信息。通过 watch,你可以以固定的时间间隔重复执行某个命令,并观察其结果的变化。
以下是关于 watch 的详细讲解:
1. watch 的基本功能
- 定期执行命令:按照指定的时间间隔(默认为2秒)重复执行某个命令。
- 高亮变化:可以高亮显示输出中发生变化的部分,便于快速发现差异。
- 全屏显示:将命令的输出完整地显示在终端中,类似于一个动态更新的窗口。
2. 常见用法
(1) 基本语法
watch [选项] 命令
(2) 常见选项
| 选项 | 描述 |
|---|---|
-n <秒> | 设置刷新时间间隔(默认为2秒)。 |
-d 或 --difference | 高亮显示输出中的变化部分。 |
-t 或 --no-title | 禁用顶部标题栏(显示命令和时间信息)。 |
-b 或 --beep | 如果输出发生变化,则发出蜂鸣声。 |
-g 或 --chgexit | 当输出发生变化时立即退出。 |
3. 示例
(1) 默认使用
watch df -h
- 每隔2秒执行一次
df -h命令,显示磁盘使用情况。
(2) 自定义刷新时间
watch -n 5 free -m
- 每隔5秒执行一次
free -m命令,显示内存使用情况。
(3) 高亮显示变化
watch -d uptime
- 每隔2秒执行一次
uptime命令,并高亮显示输出中发生变化的部分。
(4) 禁用标题栏
watch -t date
- 每隔2秒执行一次
date命令,并禁用顶部标题栏。
(5) 输出变化时发出蜂鸣声
watch -b ls
- 每隔2秒执行一次
ls命令,如果目录内容发生变化,则发出蜂鸣声。
(6) 输出变化时立即退出
watch -g ps aux | grep sshd
- 每隔2秒检查是否有
sshd进程,如果输出发生变化(例如进程启动或停止),则立即退出。
4. 输出解释
watch 的输出通常包括以下部分:
- 顶部标题栏:显示命令、当前时间以及刷新间隔。
- 命令输出:每次执行命令的输出结果。
- 高亮部分:如果启用了
-d选项,输出中发生变化的部分会被高亮显示。
例如:
Every 2.0s: df -h Tue Feb 28 10:00:00 2023Filesystem Size Used Avail Use% Mounted on
udev 7.8G 0 7.8G 0% /dev
tmpfs 1.6G 2.1M 1.6G 1% /run
/dev/sda1 50G 12G 36G 25% /
...
5. 使用场景
(1) 监控系统资源
- 使用
watch可以方便地监控系统资源的使用情况,例如:- 内存使用:
watch free -m - CPU负载:
watch top - 磁盘空间:
watch df -h
- 内存使用:
(2) 监控网络连接
- 查看活动的网络连接:
watch netstat -tuln - 查看路由表变化:
watch route -n
(3) 监控文件或目录变化
- 查看某个目录的内容变化:
watch ls -l /path/to/directory - 查看日志文件的变化:
watch tail -n 10 /var/log/syslog
(4) 监控服务状态
- 查看某个服务的状态:
watch systemctl status sshd - 查看某个端口的监听状态:
watch lsof -i :80
6. 注意事项
(1) 终止 watch
- 按下
Ctrl+C可以终止watch的运行。
(2) 命令输出的限制
watch的输出会根据终端窗口的大小自动调整,因此不适合处理非常大的输出。
(3) 高亮功能的限制
-d选项只能高亮显示文本内容的变化,无法检测到格式或颜色的变化。
(4) 替代工具
-
如果需要更复杂的监控功能,可以考虑使用
while循环结合sleep,例如:while true; do clear; df -h; sleep 5; done
相关文章:
【网络编程】几个常用命令:ping / netstat / xargs / pidof / watch
ping:检测网络联通 1. ping 的基本功能2. ping 的工作原理3. ping 的常见用法4. ping 的输出解释5. ping 的应用场景6. 注意事项 netstat:查看网络状态 1. netstat 的基本功能2. 常见用法3. 示例4. 输出字段解释5. netstat 的替代工具6. 注意事项 xargs&…...
sqlilab 46 关(布尔、时间盲注)
sqlilabs 46关(布尔、时间盲注) 46关有变化了,需要我们输入sort,那我们就从sort1开始 递增测试: 发现测试到sort4就出现报错: 我们查看源码: 从图中可看出:用户输入的sort值被用于查…...
视觉应用工程师(面试)
视觉应用工程师(面试) 1.自我介绍、会的技能、项目 2.相机和机械手调试过程 检查硬件,看软件驱动是否链接,调节相机和镜头保证能够识别这个物料,看接口和通讯是否正常,如:波特率,数…...
redis restore 命令的用法
Redis 的 RESTORE 命令用于将序列化后的数据(通常由 DUMP 命令生成)恢复为 Redis 的键值。它在数据迁移、备份恢复和跨实例同步等场景中非常有用。以下是详细说明: 作用 数据恢复 将 DUMP 命令生成的序列化数据重新加载到 Redis 中ÿ…...
当AI重构认知:技术狂潮下的教育沉思录
备注:文章未Deepseek R1模型辅助生成,如有不妥请谅解。 以下使原文: 我有三个娃,各间隔4到5岁,经历过搜索引擎,短视频,短剧,本身曾经也是教育专业出生,任何事务都有两面性…...
《Effective Objective-C》阅读笔记(下)
目录 内存管理 理解引用计数 引用计数工作原理 自动释放池 保留环 以ARC简化引用计数 使用ARC时必须遵循的方法命名规则 变量的内存管理语义 ARC如何清理实例变量 在dealloc方法中只释放引用并解除监听 编写“异常安全代码”时留意内存管理问题 以弱引用避免保留环 …...
穷举vs暴搜vs深搜vs回溯vs剪枝(典型算法思想)—— OJ例题算法解析思路
回溯算法的模版 void backtrack(vector<int>& path, vector<int>& choice, ...) {// 满⾜结束条件if (/* 满⾜结束条件 */) {// 将路径添加到结果集中res.push_back(path);return;}// 遍历所有选择for (int i 0; i < choices.size(); i) {// 做出选择…...
【Java项目】基于Spring Boot的校园博客系统
【Java项目】基于Spring Boot的校园博客系统 技术简介:采用Java技术、Spring Boot框架、MySQL数据库等实现。 系统简介:校园博客系统是一个典型的管理系统,主要功能包括管理员:首页、个人中心、博主管理、文章分类管理、文章信息…...
计算机毕业设计SpringBoot+Vue.js图书进销存管理系统(源码+文档+PPT+讲解)
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...
算法-数据结构(图)-迪杰斯特拉最短逻辑算法( Dijkstra)
迪杰斯特拉算法(Dijkstras Algorithm) 是一种用于计算单源最短路径的经典算法,由荷兰计算机科学家 艾兹赫尔迪杰斯特拉(Edsger W. Dijkstra) 于1956年提出。它的主要目标是找到从图中的某个源节点到所有其他节点的最短…...
C语言【进阶篇】之指针——涵盖基础、数组与高级概念
目录 🚀前言🤔指针是什么🌟指针基础💯内存与地址💯指针变量💯 指针类型💯const 修饰指针💯指针运算💯野指针和 assert 断言 💻数组与指针💯数组名…...
关于命令行下的 git( git add、git commit、git push)
文章目录 关于 gitgit 的概念git 操作(git add、git commit、git push 三板斧)安装 git新建仓库及配置git clone.gitignoregit addgit commitgit push其他 git 指令git pull(把远端的东西拉到本地进行同步)其他指令 关于 git git…...
DaoCloud 亮相 2025 GDC丨开源赋能 AI 更多可能
2025 年 2 月 21 日至 23 日,上海徐汇西岸,2025 全球开发者先锋大会以 “模塑全球,无限可能” 的主题,围绕云计算、机器人、元宇宙等多元领域,探讨前沿技术创新、应用场景拓展和产业生态赋能,各类专业论坛、…...
极速探索 HarmonyOS NEXT:开启国产操作系统开发的新篇章
极速探索 HarmonyOS NEXT:开启国产操作系统开发的新篇章 一、引言二、HarmonyOS NEXT 是什么?背景核心特性 三、HarmonyOS NEXT 的发展历程从 LiteOS 到 HarmonyOS 的逐步演进HarmonyOS NEXT 5.0 的发布 四、HarmonyOS NEXT 对科技的影响技术突破开发者生…...
火狐浏览器多开指南:独立窗口独立IP教程
无论是跨境电商从业者需要管理多个店铺账号,还是海外社交媒体营销人员要运营多个社交平台账号,亦或是从事多账号广告投放的人员,都面临着一个共同的挑战 —— 如何高效管理多个账号,并确保每个账号的独立性。 在这种情况下&#…...
内容中台是什么?内容管理平台解析
内容中台的核心价值 现代企业数字化转型进程中,内容中台作为中枢系统,通过构建统一化的内容管理平台实现数据资产的高效整合与智能调度。其核心价值体现在打破传统信息孤岛,将分散于CRM、ERP等系统的文档、知识库、产品资料进行标准化归集&a…...
1.2 Kaggle大白话:Eedi竞赛Transformer框架解决方案02-GPT_4o生成训练集缺失数据
目录 0. 本栏目竞赛汇总表1. 本文主旨2. AI工程架构3. 数据预处理模块3.1 配置数据路径和处理参数3.2 配置API参数3.3 配置输出路径 4. AI并行处理模块4.1 定义LLM客户端类4.2 定义数据处理函数4.3 定义JSON保存函数4.4 定义数据分片函数4.5 定义分片处理函数4.5 定义文件名排序…...
iOS指纹归因详解
iOS 指纹归因(Fingerprint Attribution)详解 1. 指纹归因的概念 指纹归因(Fingerprint Attribution)是一种无 ID 归因(ID-less Attribution)技术,主要用于广告跟踪、用户识别或流量分析。它基…...
sql server笔记
创建数据库 use master gocreate database stuuuuu//删除数据库if db_id ($$$) is not nullDrop database [$$$] go//新建表USE [studyTest] GOSET ANSI_NULLS ON GOSET QUOTED_IDENTIFIER ON GOCREATE TABLE [dbo].[Table_1]([id] [int] NULL,[name] [varchar](10) NULL ) ON…...
uni小程序wx.switchTab有时候跳转错误tab问题,解决办法
在一个子页面里面使用uni.switchTab或者wx.switchTab跳转到tab菜单的时候,先发送了一个请求,然后执行跳转到tab菜单,但是这个时候,出错了........也是非常的奇怪,不加请求就没问题......但是业务逻辑就是要先执行某个请…...
【第十节】C++设计模式(结构型模式)-Flyweight( 享元)模式
目录 一、问题背景 二、模式选择 三、代码实现 四、总结讨论 一、问题背景 享元模式(Flyweight Pattern)在对象存储优化中的应用 在面向对象系统的设计与实现中,创建对象是最常见的操作之一。然而,如果一个应用程序使用了过多…...
AORO M6北斗短报文终端:将“太空黑科技”转化为安全保障
在卫星导航领域,北斗系统作为我国自主研发的全球卫星导航系统,正以其独特的短报文通信功能引发全球范围内的广泛关注。这一突破性技术不仅使北斗系统在全球四大导航系统中独树一帜,具备了双向通信能力,更通过遨游通讯推出的AORO M…...
深度生成模型(二)——基本概念与数学建模
上一篇笔记中提到了端到端模型底层核心采用了深度生成模型,先简单梳理一下 生成式人工智能(Artificial Intelligence Generated Content,AIGC)经历了从早期基于概率模型和规则系统的方法到现代深度生成模型的跨越式发展 深度神经…...
Mac本地部署Deep Seek R1
Mac本地部署Deep Seek R1 1.安装本地部署大型语言模型的工具 ollama 官网:https://ollama.com/ 2.下载Deepseek R1模型 网址:https://ollama.com/library/deepseek-r1 根据电脑配置,选择模型。 我的电脑:Mac M3 24G内存。 这…...
项目——仿RabbitMQ实现消息队列
1.项目介绍 曾经在学习Linux的过程中,我们学习过阻塞队列 (BlockingQueue) 。 当时我们说阻塞队列最大的用途, 就是用来实现生产者消费者模型。 生产者消费者模型是后端开发的常用编程方式, 它存在诸多好处: 解耦合支持并发支持忙闲不均削峰…...
【react】快速上手基础教程
目录 一、React 简介 1.什么是 React 2.React 核心特性 二、环境搭建 1. 创建 React 项目 2.关键配置 三、核心概念 1. JSX 语法 表达式嵌入 样式处理 2. 组件 (Component) 3. 状态 (State) 与属性 (Props) 4. 事件处理 合成事件(SyntheticEvent) 5. …...
流媒体网络协议全解析:从实时传输到自适应流,如何选择最优方案?
一、历史发展与协议提出者 流媒体协议的发展与互联网技术迭代紧密相关,主要分为三个阶段: 早期专有协议(1990s-2000s) RTSP/RTP 提出者:RealNetworks(RTSP初始推动者),后由IETF标准化(RFC 2326)。背景:1996年推出,用于视频监控和点播系统,基于UDP传输媒体流,支持…...
React + TypeScript 数据血缘分析实战
React TypeScript 数据血缘分析实战 目录 技术选型与架构设计核心概念解析基础场景实现 场景一:visx库基础血缘图实现场景二:React-Lineage-DAG企业级方案场景三:动态数据源与复杂交互 TypeScript类型系统深度优化性能优化与工程化实践开源…...
【nextjs官方demo】Chapter 6连接数据库报错
问题:跟着demo创建完成postgres数据库,并修改了env文件,需要访问/seed去初始化数据的时候: 报错信息如下,看信息就是bcrypt模块有问题: 排除了你的环境问题后,就看下面这句话: 它的…...
Nginx的反向代理(超详细)
正向代理与反向代理概念 1.概念: 反向代理服务器位于用户与目标服务器之间,但对用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务…...
