From ec934a1ee85b3a141855a492c25df934bb2cabd0 Mon Sep 17 00:00:00 2001 From: YiRanCN Date: Mon, 20 Nov 2023 13:54:32 +0800 Subject: [PATCH] 5 --- ...75\350\270\252\347\233\221\346\216\247.md" | 7 ++++ docs/study/net/ip.md | 40 +++++++++++++++++++ docs/study/net/iptables.md | 1 + docs/study/net/netns.md | 5 +++ ...tl\351\230\262\347\201\253\345\242\231.md" | 8 ++++ docs/study/program/Golang/index.md | 3 ++ ...66\345\217\221\346\250\241\345\236\213.md" | 20 ++++++++++ 7 files changed, 84 insertions(+) create mode 100644 "docs/study/devops/\351\223\276\350\267\257\350\277\275\350\270\252\347\233\221\346\216\247.md" create mode 100644 docs/study/net/ip.md create mode 100644 docs/study/net/iptables.md create mode 100644 docs/study/net/netns.md create mode 100644 "docs/study/net/pfctl\351\230\262\347\201\253\345\242\231.md" create mode 100644 "docs/study/think/\345\271\266\345\217\221\346\250\241\345\236\213.md" diff --git "a/docs/study/devops/\351\223\276\350\267\257\350\277\275\350\270\252\347\233\221\346\216\247.md" "b/docs/study/devops/\351\223\276\350\267\257\350\277\275\350\270\252\347\233\221\346\216\247.md" new file mode 100644 index 000000000..98a932c9a --- /dev/null +++ "b/docs/study/devops/\351\223\276\350\267\257\350\277\275\350\270\252\347\233\221\346\216\247.md" @@ -0,0 +1,7 @@ +### jaeger + +- [Jaeger 最全详解](https://mikechen.cc/32479.html) + +### Prometheus + +- [知乎-Prometheus 简介](https://zhuanlan.zhihu.com/p/467438139) diff --git a/docs/study/net/ip.md b/docs/study/net/ip.md new file mode 100644 index 000000000..a89cb5e33 --- /dev/null +++ b/docs/study/net/ip.md @@ -0,0 +1,40 @@ +# Linux ip 命令 + +ip 命令来自 iproute 软件包,软件包提供了很多命令(rpm -ql iproute |grep bin),如 ss 命令、bridge,这些命令可以完全替代 ifconfig、netstat、route 等命令。 + +ip 命令有很多子命令,可以通过 man ip 查看 + +link | address | addrlabel | route | rule | neigh | ntable | tunnel | tuntap | maddress | mroute | mrule | monitor | xfrm | netns | l2tp | tcp_metrics | +token | macsec + +### ip netns + +查看所有网络命名空间,用于隔离网络 + +### ip address + +address 可以简写为 a 或 ad 或 add 或 addr + +查看 ip + +### ip route + +route 可以简写为 r 或 ro 或 rou + +查看路由 + +### ip link + +link 表示链路层。link 可以简写为 l 或 li 或 lin + +ip l:查看所有的网络设备(因为是链路层,所以只显示 MAC 地址,不显示 IP 地址)。其中,lo、ens33 等是真实的物理设备,通过 ip l add 命令创建的都是虚拟设备。 + +- [轻松理解 Docker 网络虚拟化基础之 veth 设备!](https://mp.weixin.qq.com/s/sSQFINJ8RO8Nc4XtcyQIjQ) +- [25 张图,一万字,拆解 Linux 网络包发送过程](https://mp.weixin.qq.com/s?__biz=MjM5Njg5NDgwNA==&mid=2247485146&idx=1&sn=e5bfc79ba915df1f6a8b32b87ef0ef78&scene=21#wechat_redirect) +- [图解 Linux 网络包接收过程](https://mp.weixin.qq.com/s?__biz=MjM5Njg5NDgwNA==&mid=2247484058&idx=1&sn=a2621bc27c74b313528eefbc81ee8c0f&scene=21#wechat_redirect) + +### ip neigh + +neigh 可以简写为 n 或 ne 或 nei + +ip n:查看内核中记录的 ARP 表(也就是链路层直连的主机的 IP 和 MAC 地址,不一定准确,需要之前连过)。 diff --git a/docs/study/net/iptables.md b/docs/study/net/iptables.md new file mode 100644 index 000000000..8abb0fea1 --- /dev/null +++ b/docs/study/net/iptables.md @@ -0,0 +1 @@ +# Linux iptables 防火墙 diff --git a/docs/study/net/netns.md b/docs/study/net/netns.md new file mode 100644 index 000000000..9459154a2 --- /dev/null +++ b/docs/study/net/netns.md @@ -0,0 +1,5 @@ +# Linux netns + +### 参考 + +- [Linux netns 详解](https://zhuanlan.zhihu.com/p/293659403) diff --git "a/docs/study/net/pfctl\351\230\262\347\201\253\345\242\231.md" "b/docs/study/net/pfctl\351\230\262\347\201\253\345\242\231.md" new file mode 100644 index 000000000..cf17b207c --- /dev/null +++ "b/docs/study/net/pfctl\351\230\262\347\201\253\345\242\231.md" @@ -0,0 +1,8 @@ +# unix pfctl 防火墙 + +iptables 是 Linux 下的防火墙,可以进行数据包的过滤,在网络层进行数据的转发、拦截或丢弃等,使用非常普遍,功能也非常强大。但是 Mac 下没有 iptables,为了实现流量转发和过滤,要使用到 Mac 自带的 PFctl。PFctl 即 control the packet filter,是 Unix LIKE 系统上进行 TCP/IP 流量过滤和网络地址转换的系统,也能提供流量整形和控制等 + +### 参考 + +- [pfctl](https://www.imydl.tech/linux-command/c/pfctl.html) +- [识典百科-PF 防火墙](https://shidian.baike.com/wikiid/658345936018390300) diff --git a/docs/study/program/Golang/index.md b/docs/study/program/Golang/index.md index 629cec7d3..37965ff05 100644 --- a/docs/study/program/Golang/index.md +++ b/docs/study/program/Golang/index.md @@ -47,6 +47,9 @@ - 教程:http://www.w3cschool.cn/go/go-tutorial.html - 下载:https://golang.google.cn/dl/ - 标准库:https://pkg.go.dev/std +- [Go 语言设计与实现](https://draveness.me/golang/) + - 重点是设计原理 挺底层的 +- [李文周-Go 语言学习之路/Go 语言教程](https://www.liwenzhou.com/posts/Go/golang-menu/) ### GC diff --git "a/docs/study/think/\345\271\266\345\217\221\346\250\241\345\236\213.md" "b/docs/study/think/\345\271\266\345\217\221\346\250\241\345\236\213.md" new file mode 100644 index 000000000..fe5d7d771 --- /dev/null +++ "b/docs/study/think/\345\271\266\345\217\221\346\250\241\345\236\213.md" @@ -0,0 +1,20 @@ +# 并发模型 + +业界将如何实现并发编程总结归纳为各式各样的并发模型,常见的并发模型有以下几种: + +- 线程 & 锁模型 +- Actor 模型 +- CSP 模型 +- Fork&Join 模型 + +### 线程 & 锁模型 + +### Actor 模型 + +### CSP 模型 + +CSP(communicating sequential processes) + +Go 语言中的并发程序主要是通过基于 CSP(communicating sequential processes)的 goroutine 和 channel 来实现,当然也支持使用传统的多线程共享内存的并发方式。 + +### Fork&Join 模型