Debian/Ubuntu的networking的`/etc/network/interfaces`配置文件,如何配置route路由

Debian/Ubuntu的networking的/etc/network/interfaces配置文件,如何配置route路由

在 Debian/Ubuntu 系统中,通过 /etc/network/interfaces 配置文件配置路由(静态路由或默认路由)可以通过以下方式实现。以下是详细配置方法及示例:


     1. 默认路由(Default Gateway)
默认路由通过 gateway 参数设置,通常与主接口的 IP 配置一起定义。

         示例:静态 IP + 默认网关

auto eth0
iface eth0 inet staticaddress 192.168.1.100/24gateway 192.168.1.1   # 默认网关dns-nameservers 8.8.8.8

     2. 静态路由(Static Routes)
若需添加特定网络的路由(如访问其他子网或 VPN),需使用 uppost-up 命令调用 ip route add

         2.1 直接在接口配置中定义
在接口配置块中使用 post-up 添加路由:

auto eth0
iface eth0 inet staticaddress 192.168.1.100/24gateway 192.168.1.1# 添加静态路由:访问 10.0.0.0/8 子网通过 192.168.1.2post-up ip route add 10.0.0.0/8 via 192.168.1.2

         2.2 使用 routes 参数(部分系统支持)
某些版本的 ifupdown 支持 routes 语法(需确认是否可用):

auto eth0
iface eth0 inet staticaddress 192.168.1.100/24gateway 192.168.1.1# 添加路由routes 10.0.0.0/8 via 192.168.1.2routes 172.16.0.0/16 via 192.168.1.3

     3. 多接口路由配置
若系统有多个网络接口(如 eth0eth1),需明确指定路由规则。

         示例:双网卡路由

# 主接口 eth0(默认网关)
auto eth0
iface eth0 inet staticaddress 192.168.1.100/24gateway 192.168.1.1# 第二接口 eth1(专用子网)
auto eth1
iface eth1 inet staticaddress 10.10.0.100/24# 添加静态路由:访问 10.20.0.0/24 子网通过 10.10.0.1post-up ip route add 10.20.0.0/24 via 10.10.0.1

     4. 策略路由(高级场景)
若需基于源地址或策略路由(如多网关),需结合 ip rule 命令。

         示例:基于源 IP 的路由

auto eth0
iface eth0 inet staticaddress 192.168.1.100/24post-up ip route add default via 192.168.1.1 table 100post-up ip rule add from 192.168.1.100 lookup 100

     5. 验证路由配置
配置完成后,通过以下命令检查路由表:

# 查看完整路由表
ip route show# 查看默认路由
ip route | grep default# 查看特定子网路由
ip route get 10.0.0.1

     6. 配置生效
         6.1 重启网络服务

sudo systemctl restart networking

         6.2 重新加载接口

sudo ifdown eth0 && sudo ifup eth0

     7. 常见问题
         7.1 路由未生效

  • 原因
    • 语法错误(如 CIDR 格式错误)。
    • 网关不可达(检查网关 IP 是否有效)。
  • 解决
    • 使用 ifup --force eth0 强制重新加载接口。
    • 检查日志:journalctl -u networking.service

         7.2 路由持久化失败

  • 原因:未在配置文件中正确使用 post-up
  • 解决:确保路由命令在接口配置块中定义。

     8. 完整示例
         场景

  • 主接口 eth0:IP 192.168.1.100/24,默认网关 192.168.1.1
  • 第二接口 eth1:IP 10.10.0.100/24,需访问子网 10.20.0.0/24 通过网关 10.10.0.1

         配置文件

# 默认回环接口
auto lo
iface lo inet loopback# 主接口 eth0(默认路由)
auto eth0
iface eth0 inet staticaddress 192.168.1.100/24gateway 192.168.1.1dns-nameservers 8.8.8.8# 第二接口 eth1(专用子网路由)
auto eth1
iface eth1 inet staticaddress 10.10.0.100/24post-up ip route add 10.20.0.0/24 via 10.10.0.1

     总结

  • 默认路由:通过 gateway 参数直接设置。
  • 静态路由:使用 post-up ip route add 命令在接口配置块中定义。
  • 验证工具ip route showtracerouteping
  • 持久化:所有路由命令需写入 /etc/network/interfaces 以确保重启后生效。










在 Debian/Ubuntu 的 /etc/network/interfaces 中配置路由,主要通过 updown 指令结合 ip route 命令实现。以下是详细配置方法和示例:


     1. 静态路由配置语法
在接口配置块中使用 updown 指令:

auto eth0
iface eth0 inet staticaddress 192.168.1.100/24gateway 192.168.1.1# 添加路由(接口启动时执行)up ip route add <目标网络> via <网关> dev <接口># 删除路由(接口关闭时执行)down ip route del <目标网络> via <网关> dev <接口>

     2. 常见路由配置示例

         场景1:访问特定子网

auto eth0
iface eth0 inet staticaddress 192.168.1.100/24gateway 192.168.1.1# 访问 10.0.0.0/8 网络通过网关 192.168.1.254up ip route add 10.0.0.0/8 via 192.168.1.254 dev eth0down ip route del 10.0.0.0/8 via 192.168.1.254 dev eth0

         场景2:多默认网关(冗余)

auto eth0
iface eth0 inet staticaddress 192.168.1.100/24gateway 192.168.1.1# 添加备用默认网关(metric 100 优先级低于主网关)up ip route add default via 192.168.1.254 dev eth0 metric 100down ip route del default via 192.168.1.254 dev eth0 metric 100

         场景3:基于源地址的路由

auto eth0
iface eth0 inet staticaddress 192.168.1.100/24# 来自 192.168.2.0/24 的流量通过网关 192.168.1.254up ip route add 192.168.2.0/24 via 192.168.1.254 dev eth0 src 192.168.1.100down ip route del 192.168.2.0/24 via 192.168.1.254 dev eth0 src 192.168.1.100

     3. 验证路由配置

  • 查看路由表
    ip route show
    # 或
    route -n
    
  • 跟踪路由
    traceroute <目标IP>
    

     4. 高级技巧

  • 设置路由优先级:通过 metric 参数控制路由优先级(值越小优先级越高)。
  • 黑洞路由:丢弃特定流量:
    up ip route add unreachable 10.0.0.0/8
    
  • 链路本地路由
    up ip route add 169.254.0.0/16 dev eth0 scope link
    

     5. 注意事项

  1. 顺序敏感:路由按添加顺序匹配,建议将具体路由放在默认路由前。
  2. 避免冲突:确保静态路由不与动态路由协议(如OSPF)冲突。
  3. 持久化:路由仅在接口激活时生效,重启后需重新配置或通过 rc.local 持久化。

通过灵活组合这些配置,可以实现复杂的网络路由需求。










在 Debian/Ubuntu 系统中,可以通过 /etc/network/interfaces 配置文件为网络接口添加静态路由(包括默认路由和自定义路由),并确保路由在系统重启后仍然生效。以下是具体配置方法和示例:


     1. 配置步骤
         1.1 备份原始配置文件

sudo cp /etc/network/interfaces /etc/network/interfaces.bak

         1.2 编辑配置文件
使用文本编辑器(如 nanovim)打开 /etc/network/interfaces

sudo nano /etc/network/interfaces

         1.3 添加路由配置
在对应的网络接口配置块中,使用 post-uppre-down 指令添加路由规则:

  • post-up:接口启动时执行的命令(添加路由)。
  • pre-down:接口关闭前执行的命令(删除路由)。

         1.4 重启网络服务

sudo systemctl restart networking   # Debian/Ubuntu 18+(需安装 ifupdown)
sudo /etc/init.d/networking restart # 旧版 Ubuntu

     2. 配置示例
         2.1 默认路由(Default Route)

# 以接口 enp0s3 为例
auto enp0s3
iface enp0s3 inet staticaddress 192.168.1.100netmask 255.255.255.0gateway 192.168.1.1  # 默认网关(可选)# 通过 post-up 添加默认路由(与 gateway 效果相同)post-up route add default gw 192.168.1.1 enp0s3pre-down route del default gw 192.168.1.1 enp0s3

         2.2 自定义静态路由

# 为接口 enp0s3 添加到 192.168.2.0/24 网络的路由
auto enp0s3
iface enp0s3 inet staticaddress 192.168.1.100netmask 255.255.255.0gateway 192.168.1.1# 添加到 192.168.2.0/24 网络的路由,网关为 192.168.1.2post-up route add -net 192.168.2.0/24 gw 192.168.1.2 dev enp0s3pre-down route del -net 192.168.2.0/24 gw 192.168.1.2 dev enp0s3

         2.3 分网关路由(Split Gateway)
在软路由场景中,可能需要配置多个路由表(如内网和外网分网关):

# WAN 接口(enp0s8)配置默认路由
auto enp0s8
iface enp0s8 inet staticaddress 192.168.100.2netmask 255.255.255.0gateway 192.168.100.1post-up route add default gw 192.168.100.1 enp0s8pre-down route del default gw 192.168.100.1 enp0s8# LAN 接口(enp0s3)配置内网路由
auto enp0s3
iface enp0s3 inet staticaddress 192.168.1.1netmask 255.255.255.0post-up route add -net 192.168.1.0/24 dev enp0s3pre-down route del -net 192.168.1.0/24 dev enp0s3

     3. 验证配置
         3.1 检查路由表

ip route show          # 查看完整路由表
route -n               # 简洁的路由表显示

         3.2 检查接口状态

ip addr show           # 查看接口IP配置
ifconfig enp0s3        # 查看指定接口状态(需安装 net-tools)

         3.3 测试连通性

ping 192.168.2.1      # 测试自定义路由是否可达
ping 8.8.8.8          # 测试默认路由是否正常

     4. 注意事项

  1. 接口名称
    确保使用正确的接口名称(如 enp0s3 而非 eth0),可通过 ip linklshw -class network 查看。

  2. 语法规范

    • post-uppre-down 后的命令需与配置项缩进对齐(通常使用 4 个空格或 Tab)。
    • 路由命令需完整,包括 route addroute del 的参数。
  3. 与 Netplan 的兼容性

    • Ubuntu 18.04 及更高版本默认使用 Netplan,若需继续使用 interfaces 文件,需安装 ifupdown 并禁用 Netplan:
      sudo apt install ifupdown
      sudo netplan disable
      
  4. 避免冲突

    • 确保路由规则不冲突(如多个默认路由可能导致路由混乱)。

     5. 参考配置模板

# 接口配置示例(静态IP + 自定义路由)
auto enp0s3
iface enp0s3 inet staticaddress 192.168.1.100netmask 255.255.255.0gateway 192.168.1.1dns-nameservers 8.8.8.8# 添加到 192.168.2.0/24 的路由post-up route add -net 192.168.2.0/24 gw 192.168.1.2 dev enp0s3pre-down route del -net 192.168.2.0/24 gw 192.168.1.2 dev enp0s3# 添加默认路由(与 gateway 重复,可选)post-up route add default gw 192.168.1.1 enp0s3pre-down route del default gw 192.168.1.1 enp0s3

     6. 常见问题排查

  • 路由未生效
    检查命令是否正确,确保 post-uppre-down 命令没有语法错误。
  • 接口未启动
    确保接口名称正确且配置了 auto 指令(如 auto enp0s3)。
  • 路由冲突
    使用 ip route 检查是否存在重复路由,优先级(metric)是否合理。

通过以上配置,可以灵活管理网络接口的静态路由,满足复杂网络环境的需求。










在 Debian/Ubuntu 系统的 /etc/network/interfaces 配置文件中配置路由可以分为静态路由和默认路由的配置,下面为你详细介绍配置方法:

     配置静态路由
静态路由允许你指定特定网络目标的路由信息。在 interfaces 文件中,可以通过 updown 命令来添加和删除静态路由。

         示例
假设你有一个网络接口 eth0,你想添加一条静态路由,将目标网络 192.168.2.0/24 的流量通过网关 192.168.1.2 转发。以下是配置示例:

auto eth0
iface eth0 inet staticaddress 192.168.1.10netmask 255.255.255.0gateway 192.168.1.1up route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.1.2 dev eth0down route del -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.1.2 dev eth0
  • up route add -net ...:当接口启动时,添加静态路由。
  • down route del -net ...:当接口关闭时,删除静态路由。

     配置默认路由
默认路由是指当没有匹配到其他静态路由时,数据包将被发送到的路由。通常,默认路由是通过 gateway 选项来配置的,但你也可以使用 updown 命令手动配置。

         示例

auto eth0
iface eth0 inet staticaddress 192.168.1.10netmask 255.255.255.0up route add default gw 192.168.1.1 dev eth0down route del default gw 192.168.1.1 dev eth0

在这个示例中,当 eth0 接口启动时,会添加一条默认路由,将所有未匹配的流量发送到网关 192.168.1.1;当接口关闭时,会删除这条默认路由。

     配置多个路由
如果你需要配置多个静态路由,可以在 updown 部分添加多条 route 命令。

         示例

auto eth0
iface eth0 inet staticaddress 192.168.1.10netmask 255.255.255.0gateway 192.168.1.1up route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.1.2 dev eth0up route add -net 192.168.3.0 netmask 255.255.255.0 gw 192.168.1.3 dev eth0down route del -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.1.2 dev eth0down route del -net 192.168.3.0 netmask 255.255.255.0 gw 192.168.1.3 dev eth0

     注意事项

  • 配置生效:修改完 /etc/network/interfaces 文件后,需要重启网络服务使配置生效。可以使用以下命令:
sudo systemctl restart networking
  • 使用 netplan:在较新的 Ubuntu 系统中,推荐使用 netplan 来配置网络,而不是直接编辑 /etc/network/interfaces 文件。如果你使用的是 netplan,可以编辑 /etc/netplan 目录下的 .yaml 文件来配置路由。










在 Debian/Ubuntu 系统中,通过 /etc/network/interfaces 文件配置路由(route)可以通过以下几种方式实现。这些配置通常用于静态路由设置,确保网络流量按照指定的路径进行转发。以下是详细的配置方法:

     1. 在接口配置块中添加路由
/etc/network/interfaces 文件中,可以在接口的配置块中直接添加路由。这通常用于为特定接口配置静态路由。

         示例:

auto eth0
iface eth0 inet staticaddress 192.168.1.100netmask 255.255.255.0gateway 192.168.1.1up ip route add 10.0.0.0/8 via 192.168.1.254 dev eth0down ip route del 10.0.0.0/8 via 192.168.1.254 dev eth0
  • up:在接口启用时执行的命令,用于添加静态路由。
  • down:在接口禁用时执行的命令,用于删除静态路由。
  • ip route add:添加一条静态路由。
  • ip route del:删除一条静态路由。

     2. 使用 post-uppre-down
另一种方法是使用 post-uppre-down 指令来配置路由。这些指令在接口启用或禁用时执行。

         示例:

auto eth0
iface eth0 inet staticaddress 192.168.1.100netmask 255.255.255.0gateway 192.168.1.1post-up ip route add 10.0.0.0/8 via 192.168.1.254 dev eth0pre-down ip route del 10.0.0.0/8 via 192.168.1.254 dev eth0
  • post-up:在接口启用后执行的命令。
  • pre-down:在接口禁用前执行的命令。

     3. 配置默认路由
默认路由通常在 gateway 指令中配置,但也可以通过 ip route 命令手动添加。

         示例:

auto eth0
iface eth0 inet staticaddress 192.168.1.100netmask 255.255.255.0gateway 192.168.1.1post-up ip route add default via 192.168.1.1 dev eth0pre-down ip route del default via 192.168.1.1 dev eth0

     4. 配置多条路由
可以为同一个接口配置多条静态路由。

         示例:

auto eth0
iface eth0 inet staticaddress 192.168.1.100netmask 255.255.255.0gateway 192.168.1.1post-up ip route add 10.0.0.0/8 via 192.168.1.254 dev eth0post-up ip route add 172.16.0.0/12 via 192.168.1.254 dev eth0pre-down ip route del 10.0.0.0/8 via 192.168.1.254 dev eth0pre-down ip route del 172.16.0.0/12 via 192.168.1.254 dev eth0

     5. 配置基于策略的路由
如果需要更复杂的路由策略,可以使用 ip ruleip route 命令。

         示例:

auto eth0
iface eth0 inet staticaddress 192.168.1.100netmask 255.255.255.0gateway 192.168.1.1post-up ip rule add from 192.168.1.100 table 100post-up ip route add 10.0.0.0/8 via 192.168.1.254 dev eth0 table 100pre-down ip rule del from 192.168.1.100 table 100pre-down ip route del 10.0.0.0/8 via 192.168.1.254 dev eth0 table 100
  • ip rule:用于添加或删除路由规则。
  • table:指定路由表的编号。

     6. 验证路由配置
配置完成后,可以使用以下命令验证路由是否正确:

ip route show

     7. 重启网络服务
完成配置后,需要重启网络服务以使更改生效:

sudo systemctl restart networking

通过以上方法,可以在 /etc/network/interfaces 文件中灵活地配置静态路由和默认路由,满足不同的网络需求。










Debian/Ubuntu系统中,/etc/network/interfaces文件是传统网络配置的核心文件,支持通过声明式语法配置IP地址、路由等参数。以下是路由配置的分步说明:


     一、文件基本结构

# 主接口配置(如eth0/ens33)
auto eth0
iface eth0 inet staticaddress 192.168.1.100netmask 255.255.255.0gateway 192.168.1.1

     二、静态路由配置
         1. 单条静态路由

# 添加一条到10.0.0.0/8网络的路由
auto eth0
iface eth0 inet staticaddress 192.168.1.100netmask 255.255.255.0gateway 192.168.1.1up route add -net 10.0.0.0/8 gw 192.168.1.254down route del -net 10.0.0.0/8 gw 192.168.1.254

         2. 多条静态路由

# 使用post-up/pre-down更稳定
auto eth0
iface eth0 inet staticaddress 192.168.1.100netmask 255.255.255.0gateway 192.168.1.1post-up route add -net 172.16.0.0/16 gw 192.168.1.253post-up route add -net 10.10.0.0/24 gw 192.168.1.252pre-down route del -net 172.16.0.0/16 gw 192.168.1.253pre-down route del -net 10.10.0.0/24 gw 192.168.1.252

     三、默认网关配置

# 单默认网关(传统方式)
auto eth0
iface eth0 inet staticaddress 192.168.1.100netmask 255.255.255.0gateway 192.168.1.1# 多网关时需策略路由(需安装iproute2)
post-up ip route add default via 192.168.1.1 dev eth0 metric 100
post-up ip route add default via 10.0.0.1 dev eth1 metric 200

     四、验证与调试

  1. 重载配置(需root权限):

    systemctl restart networking  # Debian/Ubuntu 16.04+
    /etc/init.d/networking restart  # 旧版本
    
  2. 查看路由表

    ip route show
    route -n
    

     五、注意事项

  1. 语法验证:修改后需用ifup --interfaces=/etc/network/interfaces eth0测试配置
  2. 兼容性:Ubuntu 18.04+默认使用Netplan,如需继续使用此文件需卸载netplan.io
  3. 持久性:通过up/post-up添加的路由会在重启后自动生效
  4. 复杂场景:如需策略路由/多表路由,建议使用ip rule命令结合/etc/network/if-up.d/脚本

     六、完整配置示例

# 主接口
auto eth0
iface eth0 inet staticaddress 192.168.1.100netmask 255.255.255.0gateway 192.168.1.1dns-nameservers 8.8.8.8# 添加VPN路由
post-up route add -net 10.8.0.0/24 gw 192.168.1.200
post-up route add -host 203.0.113.5 gw 192.168.1.201

修改完成后建议通过ifdown eth0 && ifup eth0重新加载接口配置。










在 Debian/Ubuntu 系统中,通过 /etc/network/interfaces 配置路由时,需结合 route 命令和接口状态钩子脚本实现。以下是具体方法及示例:


     一、基础路由配置
         1. 默认网关
在静态 IP 配置中,通过 gateway 字段直接指定默认网关:

iface eth0 inet staticaddress 192.168.1.100netmask 255.255.255.0gateway 192.168.1.1  # 默认网关

         2. 静态路由
若需添加额外的静态路由,使用 up route adddown route del 指令:

iface eth0 inet staticup route add -net 10.0.0.0/8 gw 192.168.1.2  # 添加路由down route del -net 10.0.0.0/8 gw 192.168.1.2  # 接口关闭时删除路由

     二、高级路由场景
         1. 多路由规则
若需同时配置默认网关和特定子网路由:

iface eth0 inet staticup route add -net 192.168.2.0/24 gw 192.168.1.3up route add default gw 192.168.1.1  # 默认路由down route del -net 192.168.2.0/24 gw 192.168.1.3down route del default gw 192.168.1.1

         2. 策略路由
通过 pre-uppost-up 钩子执行复杂路由逻辑:

iface eth0 inet staticpre-up ip rule add from 192.168.1.100 table 100  # 基于源 IP 的路由策略post-up ip route add default via 192.168.1.1 table 100pre-down ip rule del from 192.168.1.100 table 100

     三、配置注意事项

  1. 语法要求
    • 使用 up/down 指令时需严格缩进(空格,非 Tab)。
    • 路由参数需完整,如 -net 指定网络段、gw 指定下一跳网关。

  2. 验证与调试
    • 重启网络服务生效:sudo systemctl restart networkingsudo service networking restart
    • 查看路由表:ip route showroute -n

  3. 兼容性
    • Ubuntu 17.10 及以上版本默认使用 Netplan(YAML 格式),但可安装 ifupdown 包兼容传统配置。


     四、完整配置示例

auto eth0
iface eth0 inet staticaddress 192.168.1.100netmask 255.255.255.0gateway 192.168.1.1# 静态路由up route add -net 10.10.0.0/16 gw 192.168.1.2up route add -net 172.16.0.0/12 via 192.168.1.3# 清理路由down route del -net 10.10.0.0/16 gw 192.168.1.2down route del -net 172.16.0.0/12 via 192.168.1.3

通过以上配置,可实现灵活的路由管理。如需更复杂的策略路由或网络绑定,建议结合 iproute2 工具链进一步扩展。



















本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/74346.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

天梯赛 L2-024 部落

一个并查集题目&#xff0c;难点就在于统计总人数&#xff0c;使用map即可&#xff0c;还有需要注意的是编号不一定是小于N的&#xff0c;小于10000的&#xff0c;需要注意。 #include<bits/stdc.h> using namespace std; const int N 10010; int fa[N]; int find(int …

uniapp 微信小程序 使用ucharts

文章目录 前言一、组件功能概述二、代码结构分析2.1 模板结构 总结 前言 本文介绍一个基于 Vue 框架的小程序图表组件开发方案。该组件通过 uCharts 库实现折线图的绘制&#xff0c;并支持滚动、缩放、触摸提示等交互功能。文章将从代码结构、核心方法、交互实现和样式设计等方…

Axure项目实战:智慧运输平台后台管理端-承运商管理(中继器筛选)

亲爱的小伙伴,在您浏览之前,烦请关注一下,在此深表感谢! 课程主题:智慧运输平台后台管理端 主要内容:承运商管理 应用场景:条件筛选、增删改查操作、台账制作 案例展示: 正文内容: 承运商管理模块主要解决平台对承运商的管理,包括新增承运商作,审核承运商申请,修…

[论文笔记] Deepseek技术报告解读: MLAMTP

1. RMSNorm 归一化层 class RMSNorm(nn.Module):def __init__(self, dim: int, eps: float = 1e-8):super().__init__()self.eps = epsself.weight = nn.Parameter(torch.ones(dim)) # 可学习的缩放参数def _norm(self, x: torch.Tensor):return x * torch.rsqrt(x.pow(2).me…

八款内网电脑监控软件:探寻适配企业需求的数字化监管方案组合

数字化办公的时代背景下&#xff0c;企业管理面临着前所未有的挑战。如何实现对员工办公行为的高效管理&#xff0c;确保网络资源的合理利用&#xff0c;成为众多企业决策者和高级管理人员亟待解决的重要问题。内网电脑监控软件作为一种有效的管理工具&#xff0c;应运而生。本…

Flutter求助贴

报错信息&#xff1a;The Dart VM Service was not discovered after 30 seconds. This is taking much longer than expected... 基本情况&#xff1a; 硬件&#xff1a;mac(15.3.1)&#xff0c;iPad(iOS 16.6),iPhone 16 pro(iOS 18.4) 项目环境 flutter&#xff1a;3.16…

React(九)React Hooks

初识Hook 我们到底为什么需要hook那? 函数组件类组件存在问题 函数组件存在的问题&#xff1a; import React, { PureComponent } from reactfunction HelloWorld2(props) {let message"Hello world"// 函数式组件存在的缺陷&#xff1a;// 1.修改message之后&a…

数据清洗的具体内容

&#xff08;一&#xff09;ETL介绍 “ETL&#xff0c;是英文Extract-Transform-Load的缩写&#xff0c;用来描述将数据从来源端经过抽取&#xff08;Extract&#xff09;、转换&#xff08;Transform&#xff09;、加载&#xff08;Load&#xff09;至目的端的过程。ETL一词较…

【动手学深度学习】#7 现代卷积神经网络

主要参考学习资料&#xff1a; 《动手学深度学习》阿斯顿张 等 著 【动手学深度学习 PyTorch版】哔哩哔哩跟李牧学AI 概述 硬件性能和大数据的发展为深度卷积神经网络&#xff08;AlexNet&#xff09;的实现提供了条件。VGG首次将块的思想用于搭建网络。NiN将多层感知机应用在…

Jenkins + CICD流程一键自动部署Vue前端项目(保姆级)

git仓库地址&#xff1a;参考以下代码完成,或者采用自己的代码。 南泽/cicd-test 拉取项目代码到本地 使用云服务器或虚拟机采用docker部署jenkins 安装docker过程省略 采用docker部署jenkins&#xff0c;注意这里的命令&#xff0c;一定要映射docker路径&#xff0c;否则无…

使用 libevent 处理 TCP 粘包问题(基于 Content-Length 或双 \r\n)

在基于 libevent 的 TCP 服务器开发中,处理消息边界是常见需求。以下是两种主流分包方案的完整实现: 一、基于 Content-Length 的分包方案 1.1 数据结构设计 typedef struct {struct bufferevent *bev;int content_length; // 当前消息的预期长度int received_bytes; //…

酶动力学预测工具CataPro安装教程

简介&#xff1a;预测酶动力学参数是酶发现和酶工程中的一项重要任务。在此&#xff0c;研究人员基于蛋白质语言模型、小分子语言模型和分子指纹&#xff0c;提出了一种名为 CataPro 的新酶动力学参数预测算法。该研究从 BRENDA 和 SABIO-RK 数据库中收集了最新的转化率&#x…

项目实战:基于Spring WebFlux与LangChain4j实现大语言模型流式输出

一、背景 在大语言模型&#xff08;LLM&#xff09;应用场景中&#xff0c;GPT-4等模型的响应生成往往需要数秒至数十秒的等待时间。传统同步请求会导致用户面对空白页面等待&#xff0c;体验较差。本文通过Spring WebFlux响应式编程与SSE服务器推送技术&#xff0c;实现类似打…

Go语言入门经典:数组与切片详解

Go语言入门经典&#xff1a;数组与切片详解 数组和切片是Go语言中两种重要的数据结构。数组是一种固定长度的集合&#xff0c;而切片则是一种灵活的动态集合。本章将详细讲解数组和切片的定义、初始化、访问元素、动态操作等内容&#xff0c;帮助读者全面掌握这两种数据结构。…

uniapp中如何用iconfont来管理图标集成到我们开发的项目中

我们在开发不管小程序还是APP的过程中都会用到图标这个东西,那么iconfont提供了对应的功能,怎么才能方便的集成到我们的小程序或者APP项目中,目标是方便调用并且方便管理。 首先注册ICONFONT账号 www.iconfont.cn中去注册即可选择我们需要的图标如下 我们搜索我们需要的图…

从实用的角度聊聊Linux下文本编辑器VIM

本文从实用的角度聊聊Vim的常用命令。何为实用&#xff1f;我举个不实用的例子大家就明白了&#xff0c;用vim写代码。;) “vim是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富&#xff0c;在程序员中被广泛使用&#xff0c;和Emacs并列成…

优化程序命名:提升专业感与用户体验

在软件开发的广阔天地中&#xff0c;程序命名这一环节常常被开发者们忽视。不少程序沿用着简单直白、缺乏雕琢的名字&#xff0c;如同素面朝天的璞玉&#xff0c;虽不影响其核心功能的发挥&#xff0c;但却在无形之中错失了许多提升用户印象与拓展应用场景的机会。今天&#xf…

LeetCode BFS解决最短路问题

广度优先搜索(BFS, Breadth-First Search)是一种用于图和树结构的遍历算法&#xff0c;特别适合解决无权图的最短路径问题。 算法思想&#xff1a; BFS从起始节点开始&#xff0c;按照"广度优先"的原则&#xff0c;逐层向外扩展搜索&#xff1a; 先访问起始节点的…

[物联网iot]对比WIFI、MQTT、TCP、UDP通信协议

第一步&#xff1a;先理解最基础的关系&#xff08;类比快递&#xff09; 假设你要给朋友寄快递&#xff1a; Wi-Fi&#xff1a;相当于“公路和卡车”&#xff0c;负责把包裹从你家运到快递站。 TCP/UDP&#xff1a;相当于“快递公司的运输规则”。 TCP&#xff1a;顺丰快递&…

基于python的电影数据分析及可视化系统

一、项目背景 随着电影行业的快速发展&#xff0c;电影数据日益丰富&#xff0c;如何有效地分析和可视化这些数据成为行业内的一个重要课题。本系统旨在利用Python编程语言&#xff0c;结合数据分析与可视化技术&#xff0c;为电影行业从业者、研究者及爱好者提供一个便捷的电…