摘要: Go-Netpoller模型 Go netpoll 核心 Go netpoll 通过在底层对 epoll/kqueue/iocp 的封装,从而实现了使用同步编程模式达到异步执行的效果。总结来说,所有的网络操作都以网络描述符 netFD 为中心实现。netFD 与底层 PollDesc 结构绑定,当在 阅读全文
posted @ 2022-11-20 19:20 XiaojunW 阅读(124) 评论(0) 推荐(0) 编辑
摘要: Defer 主要应用场景: 资源释放 流程控制 异常处理 三个行为规则: 延迟函数的参数在defer语句出现之时就已经确定了 先出现的defer最后执行 延迟参数可能操作主函数的具名返回值 关键在于理解return是分为两部的,第一步确定ret的值,再return 原理: 每个_defer实例实际上 阅读全文
posted @ 2022-11-20 19:16 XiaojunW 阅读(77) 评论(0) 推荐(0) 编辑
摘要: 编译过程: 编译前端 词法分析与语法分析 类型检查(别的语言中的语义分析,这时候有语法错误才会被找出来) 编译后端 中间代码生成 机器码生成 我们一一来看各个过程都做了什么事 1. 词法分析与语法分析 词法分析 将源代码翻译成token 语法分析 将token序列变成抽象语法树(AST) 所谓的语法 阅读全文
posted @ 2022-11-20 18:45 XiaojunW 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 拥塞的指证 超时 拥塞 收到三个冗余的ACK 轻微拥塞 发送方如何控制向网络中发送的速率 发送方在对方未经确认的情况下,可以向网络中发送多少字节:min(发送方拥塞窗口大小,接收方接收窗口的大小) 以reno算法为例介绍: 超时情况与收到三个冗余ACK的情况对于拥塞窗口大小设置的策略是不同,超时情况 阅读全文
posted @ 2022-11-20 17:49 XiaojunW 阅读(306) 评论(0) 推荐(0) 编辑
摘要: 前言 选的腾讯的云服务器,非双11,当时60多一年,还挺划算的,系统选的 centos 7.9-docker版(已经预装docker了) 安装 打开VSCode软件,点击最左侧活动栏内的 “扩展” 小图标,然后搜索 Remote SSH 并安装即可。安装完成后在 “扩展” 的下方会多出一个类似电脑屏 阅读全文
posted @ 2022-11-20 17:12 XiaojunW 阅读(264) 评论(0) 推荐(0) 编辑
摘要: github ssh 或者 ssh连接云服务器都需要进行ssh配置 首先都会cd 到~/.ssh目录下,目录下有下述几个文件 ├── config #设置ssh ├── id_rsa # 服务器上经过rsa算法生成的私钥,与公钥是一对的密钥对,用于连接其他服务器用(在我这个mac上是用于连接gith 阅读全文
posted @ 2022-11-20 17:06 XiaojunW 阅读(322) 评论(0) 推荐(0) 编辑