Go安全指南
title: "go安全指南"
weight: 1
# bookFlatSection: false
# bookToc: true
# bookHidden: false
# bookCollapseSection: false
# bookComments: false
# bookSearchExclude: false

go安全指南 #

腾讯发布了Go语言代码安全指南 - 知乎 (zhihu.com)

GORM 食谱 — 研发期刊(第二期) 1.0.0 文档 (forensix.cn)

CGO的避坑和流畅使用 — 研发期刊(第一期) 1.0.0 文档 (forensix.cn)

Go线程安全双向链表 — 研发期刊(第一期) 1.0.0 文档 (forensix.cn)

包概念、包特点、包名约束、main 包、包的声明、包的引用、包初始化 #

https://blog.csdn.net/wohu1104/article/details/104387100

MySql主从配置 #

从数据库读取日志文件,进行相应操作,复制主数据库内容,保证内容一致性。

docker 命令 #

sudo netstat -antup | grep docker
显示当前系统上与 Docker 相关的 TCP 和 UDP 连接,并显示与这些连接关联的进程标识符(PID)和程序名称。
  • netstat: netstat 是一个用于显示网络连接信息的命令。它可以显示当前系统上的网络连接、监听端口、路由表等信息。
  • -antup: 这是 netstat 命令的选项参数。具体含义如下:
    • -a: 显示所有的连接,包括正在进行的连接和监听状态的连接。
    • -n: 使用数字形式显示 IP 地址和端口号,而不是使用主机名和服务名。
    • -t: 仅显示 TCP 连接。
    • -u: 仅显示 UDP 连接。
    • -p: 显示与连接关联的进程标识符(PID)和程序名称。
  • |: 管道符号,用于将一个命令的输出作为另一个命令的输入。在这个命令中,它将 netstat 命令的输出传递给下一个命令。
  • grep docker: grep 是一个用于在文本中搜索模式的命令。在这个命令中,它用于过滤包含 “docker” 字符串的行,以便只显示与 Docker 相关的网络连接信息。

Ceph #

MinIO #

https://blog.csdn.net/weixin_51578439/article/details/128976445

零拷贝 #

零拷贝技术是一种计算机操作系统中用于提高数据传输效率的优化策略。在传统的数据传输过程中,需要将数据从一个缓冲区拷贝到另一个缓冲区,然后再传输给目标。这涉及到多次的CPU和内存之间的数据拷贝操作,会消耗CPU的时间和内存带宽。而零拷贝技术通过共享的内存地址,避免了中间的拷贝过程,从而提高了数据传输效率。

传统IO执行流程 #

用户态和内核态 #

操作系统设置了两个不同的执行环境,以提供不同的功能和特权级别

  • 用户态:指程序运行时的执行环境。在用户态下,应用程序只能访问受限的资源,如应用程序自身的内存空间、CPU寄存器等,并不能直接访问操作系统底层的资源和硬件设施。
  • 内核态:指操作系统内核运行时的执行环境。在内核态下,操作系统具有更高的权限,可以直接访问系统等硬件和底层资源,如CPU、内存、设备驱动程序等。

DMA #

DMA(Direct Memory Access,直接内存访问)技术,绕过CPU,直接在内存和外设之间进行数据传输。这样可以减少CPU参与,提高数据传输效率。

零拷贝技术实现 #

零拷贝技术可以利用Linux下的MMap、sendFILe等手段来实现,使得数据能够直接从磁盘映射到内核缓冲区,软后通过DMA传输到网卡缓存,整个过程中CPU只负责管理和调度,而无需执行实际的数据复制指令。