作者:matrix
被围观: 8 次
发布时间:2026-06-30
分类:零零星星 |
无评论 »
docker会通过网桥(Bridge)给容器分配内网 IP,实现容器之间的通信。分配的内网IP地址遵守了 RFC 1918 国际标准(私有 IP 地址范围)默认情况下,docker 需要新建网络时,它会依次从以下范围中切出子网(通常是 /16 或 /24):
- `172.17.0.0/16` 到 `172.31.0.0/16`(B类私有地址)- `192.168.0.0/16`(C类私有地址)- `10.0.0.0/8`(A类私有地址)
问题
服务器对部分内网来源 IP 的服务访问异常,表现为:部分内网 IP 请求服务器服务失败,但不是所有内网 IP 都失败。ping服务端表现都是Request timeout for icmp_seq 0,curl请求服务全部超时
排查
查看 IP 是否命中路由表
$ ip route get 172.19.11.22172.19.11.22 via 10.100.10.1 dev......
作者:matrix
被围观: 180 次
发布时间:2026-05-31
分类:零零星星 |
无评论 »
192.168.1.1/32这种IP地址的cidr格式我其实每次都记不住,哈哈😂。简单记个 🙄
CIDR表示法
格式为:IP地址/网络部分范围前缀长度,类似 10.0.0.0/8
按IP结构
IP地址 = 网络部分(Network) + 主机部分(Host)网络部分表示固定的网络标识前缀,类似于大的局域网范围,主机部分(可自由分配)等同于剩下细分的具体详细的IP地址CIDR表示的IP格式就是显示的完整网络部分(Network),主机部分需要你自己脑补。IP地址10.0.0.0 二进制格式:
10 . 0 . 0 . 000001010 00000000 00000000 00000000
/8 就是网络部分为 8 位,即对应上面二进制部分00001010CIDR格式中,你看不到可以分配IP地址部分(主机部分)就需要你自己......
作者:matrix
被围观: 995 次
发布时间:2026-04-30
分类:Golang |
无评论 »
atomic 实际上就是一种“轻量级锁”的实现,但更准确地说,它是“无锁(lock-free)并发”的一种实现方式——直接使用 CPU 的原子指令来保证数据的并发安全atomic使用底层硬件实现的,没有锁但是实现了锁的功能,不像Golang中Mutex、RWMutex锁使用的是软件层面实现开销大。
sync/atomic锁类型
包还提供了多个类型
布尔值
类型
描述
atomic.Bool
原子布尔值(true/false)
数值类型(适合计数器、状态码等)
类型
描述
方法示例
atomic.Int32
原子 32 位整数
Add(), Load(), Store()
atomic.Int64
原子 64 位整数
同上
atomic.Uint32
原子无符号 32 位整数
同上
atomic.Uint64
原子无符号 64 位整数
同上
atomic.Uintpt......
作者:matrix
被围观: 1,073 次
发布时间:2026-03-31
分类:零零星星 |
无评论 »
保存多字节流数据的时候,存放方式有两种顺序:大端序、小端序只有读取和写入顺序一致才能还原写入的数据。所以读取二进制文件的时候需要考虑字节序问题 字符串不需要考虑字节序:字符串、UTF-8文本、简单变量(非结构体)时,通常不涉及手动字节序处理。
高位、低位字节
# 16位(2字节) 的十六进制数0x1234
0x12:==高位字节==(高字节)0x34:==低位字节==(低字节)类似 千分位,百分位。。。左边的是高位,靠右边的是低位
什么是高地址,低地址
计算机内存是一格一格的地址空间:
内存地址(byte级别):0x0000 → 0x0001 → 0x0002 → ...
地址数字小的叫「低地址」,大的叫「高地址」例如:
内存起始(低地址) → 0x0000 内存末尾(高......
作者:matrix
被围观: 1,011 次
发布时间:2026-02-28
分类:Golang |
无评论 »
go:embed
推荐使用官方embed特性解决,要求GO1.16+
//go:embed static/*var staticFiles embed.FSfunc main() { data, _ := staticFiles.ReadFile("static/index.html") fmt.Println(string(data))}
go:embed注释必须声明,编译时Golang会自动打包对应路径static/*的文件最终使用声明的staticFiles拿到即可
statik
对比官方embed,statik会更麻烦一些。好处是会把静态资源打包为go文件,最后编译时嵌入到二进制中
手动打包
# 本地安装statik$ go install github.com/rakyll/statik@latest# 执行打包 -src参数指定目录 输出到项目本地fego目录$ statik -src="~/Downloads/dist" -dest=./fego -f
指定读取
statikFs "github.com/raky......
作者:matrix
被围观: 1,889 次
发布时间:2025-12-31
分类:Linux |
无评论 »
atop 类似 top , htop可以查看进程信息,还会自动快照历史数据到磁盘 方便溯源找凶手!
安装
Debian/Ubuntu
apt-get install atop
配置快照
Debian/Ubuntu:/etc/default/atopcentos默认配置路径:/etc/sysconfig/atop
LOGOPTS=""# 快照周期LOGINTERVAL=600# 日志保存天数LOGGENERATIONS=28# 存储路径LOGPATH=/var/log/atop
启用采集
默认安装后不会快照数据,要手动开启
# 启用服务(让它在系统启动时自动运行)sudo systemctl enable atop# 启动服务sudo systemctl start atop# 再次检查状态 看到active (running) 即可sudo systemctl status atop# 配置修改后需要重启sudo systemctl restart atop
日志回放
交互界面操作
指定时区查......
作者:matrix
被围观: 1,900 次
发布时间:2025-11-30
分类:零零星星 |
无评论 »
traefik 可以替代 nginx 或者作为多容器服务的 web server 入口,并且支持现代化的动态反向代理server。简单来说就是有些功能很方便
https://traefik.io/
优势
自动证书更新管理 简单配置就可以被外部访问,不然 Nginx 配置麻烦请求控制限频还有很多插件功能
traefik配置文件清单
~docker/traefik
$tree ├── acme.json # 证书信息持久化文件 里面就确保空白json `{}`内容就行├── docker-compose.yml # Docker Compose 配置文件,定义 Traefik 和其他服务的容器配置├── dynamic # 动态配置目录,Traefik 会监控此目录下的文件变化│ ├── reverse-proxy.yml # 反向代理配置,定义路由规则和后端服务│ └── tls.yml # TLS/SSL 证书配置└──......
作者:matrix
被围观: 2,166 次
发布时间:2025-10-31
分类:零零星星 |
无评论 »
apple 的软件生态做的都很不错,就比如 mac 使用 iPhone 的数据流量上网,直接 Wi-Fi 热点或者 USB线连接就行。但是 反过来iPhone使用mac 的网络反而麻烦些。不过好在基本算是支持的 只是我以前一直尝试失败
环境
Mac使用Wi-Fi上网iPhone无网络,Wi-Fi 无法连接
Step.1. 连接设备
数据线连接iPhone和Mac
Step.2. 开启转发IP Forwarding
Mac开启数据包转发,允许数据包从一个网络接口转发到另一个接口,把 Mac 当成一个路由器来中转流量。这一步骤很关键=,我之前就是因为这个问题
% sudo sysctl -w net.inet.ip.forwarding=1net.inet.ip.forwarding: 0 -> 1
step.3. 互联网共享
Mac设置中找到「互联网共享」来源选择「Wi-Fi」目标设备......