熵增定律:为什么熵增理论让好多人一下子顿悟了 时间: 2022-04-10 | 分类: thinking | 阅读: 6535 字 ~14分钟 人活着就是在对抗熵增定律,生命以负熵为生。 ——薛定谔《生命是什么》 如果物理学只能留一条定律, 我会留熵增定律。 说这句话的人叫吴国盛,清华大学的 阅读全文 »
nftables语法及例子 时间: 2023-01-29 | 分类: 运维 | 阅读: 4018 字 ~9分钟 简要用例和说明 # 0 --- 说明 --- 下面例子中的单引号目的是为了避免nftable参数中的星号、花括号、分号等符号被shell展开解释掉了,导致nft 阅读全文 »
route命令管理路由表和默认网关 时间: 2022-12-07 | 阅读: 1276 字 ~3分钟 查看 Linux 内核路由表 使用下面的 route 命令可以查看 Linux 内核路由表。 # route Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.0.0 * 255.255.255.0 U 0 0 0 eth0 169.254.0.0 * 255.255.0.0 U 0 0 0 eth0 default 192.168.0.1 0.0.0.0 UG 0 0 0 eth0 route 命令的输出项说明 阅读全文 »
golang 获取本机网卡IP、网关,可以通过IP地址来进行路由选择(多网卡) 时间: 2022-12-07 | 分类: go | 阅读: 390 字 ~1分钟 package main import ( "fmt" "syscall" "net" "unsafe" "sort" ) type rtInfo struct { Dst net.IPNet Gateway, PrefSrc net.IP OutputIface uint32 Priority uint32 } type routeSlice []*rtInfo type router struct { ifaces []net.Interface addrs []net.IP v4 routeSlice } func getRouteInfo() (*router, error) { rtr := &router{} tab, err := syscall.NetlinkRIB(syscall.RTM_GETROUTE, syscall.AF_INET) if err != nil { return nil, err } msgs, err := syscall.ParseNetlinkMessage(tab) if err != nil { return 阅读全文 »
彻底搞懂etcd raft选举、数据同步 时间: 2022-12-02 | 分类: 分布式 | 阅读: 1300 字 ~3分钟 etcd raft选举机制 etcd 是一个分布式的k/V存储系统。核心使用了RAFT分布式一致性协议。一致性这个概念,它是指多个服务器在状态达成一致,但是在 阅读全文 »
深度剖析各种BloomFilter的原理、改进、应用场景 时间: 2022-12-02 | 分类: algorithm | 阅读: 2654 字 ~6分钟 Bloom Filter是由Bloom在1970年提出的一种多哈希函数映射的快速查找算法。通常应用在一些需要快速判断某个元素是否属于集合,但是并不严格 阅读全文 »
Linux共享库、静态库、动态库详解 时间: 2022-12-02 | 分类: linux | 阅读: 16064 字 ~33分钟 介绍 使用GNU的工具我们如何在Linux下创建自己的程序函数库?一个“程序函数库”简单的说就是一个文件包含了一些编译好的代码和数据,这些编 阅读全文 »
Tmux 使用教程 时间: 2022-11-29 | 分类: 运维 | 阅读: 2523 字 ~6分钟 Tmux 使用教程 作者: 阮一峰 Tmux 是一个终端复用器(terminal multiplexer),非常有用,属于常用的开发工具。 本文介绍如何使用 Tmux。 阅读全文 »