yoko blog

learn and live


  • 首页

  • lal文档

  • 关于我

  • 友链

  • 站内搜索

回收站 - [译] QUIC Wire Layout Specification - QUIC Transport Parameters & Handshake Protocol Requirements | QUIC协议标准中文翻译(5) 传输参数以及握手协议必需条件

发表于 2019-04-16 | 分类于 回收站
| 热度:
| 字数统计: 3k

目录

  • QUIC Transport Parameters | QUIC传输参数
    • Required Parameters | 必须参数
    • Optional Parameters | 可选参数
  • QuicErrorCodes | QUIC错误码
  • Priority | 优先级
  • HTTP/2 Layering over QUIC | 基于QUIC的HTTP/2
    • Stream Management
    • HTTP/2 Header Compression
    • Parsing HTTP/2 Headers
    • QUIC Negotiation in HTTP
  • Handshake Protocol Requirements | 握手协议必需条件
    • Connection Establishment in 0-RTT | 0-RTT建立连接
    • Source Address Spoofing Defense | 源地址欺骗防御
    • Opaque Source Address Tokens | 不透明的源地址令牌
    • Transport Parameter Negotiation | 传输参数协商
    • Certificate Compression | 证书压缩
    • Server Config Update | 服务端配置升级
  • Recent Changes By Version
  • Contributors
  • Acknowledgments

QUIC Transport Parameters | QUIC传输参数

阅读全文 »

回收站 - [译] QUIC Wire Layout Specification - Frame Types and Formats | QUIC协议标准中文翻译(4) 帧类型和格式

发表于 2019-04-15 | 分类于 回收站
| 热度:
| 字数统计: 5.8k

目录

  • Frame Types | 帧类型
  • STREAM Frame | 流类型帧
  • ACK Frame | ACK帧
  • STOP_WAITING Frame | 停止等待帧
  • WINDOW_UPDATE Frame | 窗口更新帧
  • BLOCKED Frame | 阻塞信息帧
  • CONGESTION_FEEDBACK Frame | 拥塞反馈帧
  • PADDING Frame | 填充帧
  • RST_STREAM Frame | 流重置帧
  • PING frame | PING帧
  • CONNECTION_CLOSE frame | 连接关闭帧

Frame Types and Formats | 帧类型和格式

阅读全文 »

回收站 - [译] QUIC Wire Layout Specification - Life of a QUIC Connection | QUIC协议标准中文翻译(3) QUIC连接的生命周期

发表于 2019-04-12 | 分类于 回收站
| 热度:
| 字数统计: 3.8k

目录

  • Connection Establishment | 连接建立
  • Data Transfer | 数据传输
    • Life of a QUIC Stream | QUIC流的生命周期
  • Connection Termination | 连接关闭

Life of a QUIC Connection | QUIC连接的生命周期

阅读全文 »

回收站 - [译] QUIC Wire Layout Specification - Packet Types and Formats | QUIC协议标准中文翻译(2) 包类型和格式

发表于 2019-04-11 | 分类于 回收站
| 热度:
| 字数统计: 3.1k

目录

  • QUIC Public Packet Header | QUIC公共包头
    • Public Flags | 公共标志位
    • Connection ID | 连接ID
    • QUIC Version | QUIC版本
    • Packet Number | 包序号
  • Speical Packets | 特殊包
    • Version Negotiation Packet | 版本协商包
    • Public Reset Packet | 公共重置包
  • Regular Packets | 常规包

Packet Types and Formats | 包类型和格式

阅读全文 »

回收站 - [译] QUIC Wire Layout Specification - Introduction & Overview | QUIC协议标准中文翻译(1) 简介和概述

发表于 2019-04-10 | 分类于 回收站
| 热度:
| 字数统计: 3.8k

目录

  • Introduction | 简介
  • Conventions and Definitions | 约定和定义
  • A QUIC Overview | 概述
    • Connection Establishment Latency | 连接建立延时
    • Flexible Congestion Control | 弹性拥塞控制
    • Stream and Connection Flow Control | 流和链接两个层面的流量控制
    • Multiplexing | 多路复用
    • Authenticated and Encrypted Header and Payload | 认证和加密头部和负载
    • Connection Migration | 连接迁移

Introduction | 简介

阅读全文 »

golang中的定时器由于没有正确释放导致内存和cpu使用率异常

发表于 2019-04-08 | 分类于 回收站
| 热度:
| 字数统计: 2.1k

@NOTICE 在写完这篇文章之后,我又阅读了golang定时器的源码,并另外写了一篇文章《golang源码阅读之定时器以及避坑指南》,这篇就放这不改了,建议读者阅读那篇,写得更系统一些。如果两篇文章有不同的地方,以那篇为准。

阅读全文 »

如何分析golang程序的内存使用情况

发表于 2019-04-06 | 分类于 Go
| 热度:
| 字数统计: 3.4k

前言

本篇文章介绍如何分析golang程序的内存使用情况。包含以下几种方法的介绍:

  1. 执行前添加系统环境变量GODEBUG='gctrace=1'来跟踪打印垃圾回收器信息
  2. 在代码中使用runtime.ReadMemStats来获取程序当前内存的使用情况
  3. 使用pprof工具

注意,本篇文章前后有关联,需要顺序阅读。

从十来行的demo开始

阅读全文 »

[译] Go References - The Go Memory Model | golang官方文档中文翻译之内存模型

发表于 2019-04-04 | 分类于 Go
| 热度:
| 字数统计: 3.1k

前言

本篇译文对应的原文
标题:The Go Memory Model - Go References
作者:Go官方文档
地址:https://golang.org/ref/mem

本文标明yoko备注的内容是我自己写的备注,其余的都是对英文原文的翻译。

目录

  • 简介
  • 建议
  • Happens Before
  • 同步
    • init function
    • 创建协程
    • 销毁协程
    • 使用channel通信
    • 锁
    • Once
  • 示范错误的同步原语使用方法

简介

阅读全文 »

[译] Go Frequently Asked Questions(FAQ) - Pointers and Allocation | golang官方文档中文翻译之指针和内存分配

发表于 2019-04-03 | 分类于 Go
| 热度:
| 字数统计: 2.5k

前言

本篇译文对应的原文
标题:Pointers and Allocation - Go Frequently Asked Questions(FAQ)
作者:Go官方文档
地址:https://golang.org/doc/faq#Pointers

本文标明yoko备注的内容是我自己写的备注,其余的都是对英文原文的翻译。

目录

  • 函数参数什么时候按值传递?
  • 方法定义在值类型上还是指针类型上?
  • new和make有什么区别?
  • int类型在64位系统上大小是多少?
  • 我如何知道一个变量是分配在堆上还是栈上?
  • 为什么我的golang进程占用了很多虚拟内存?
  • TODO
    • 什么时候需要使用指向interface的指针?

函数参数什么时候按值传递?

阅读全文 »

golang的channel和条件变量在单生产单消费场景下的性能对比测试

发表于 2019-04-02 | 分类于 Go
| 热度:
| 字数统计: 1.3k

本文相应的代码附在文章末尾处。

场景描述

  1. 1个生产者只与1个消费者相互绑定。
  2. 生产者按固定生产频率,每间隔<PRODUCE_INTERVAL_MS>毫秒生产一个任务。
  3. 生产者每次生产时都检查当前任务队列大小,如果已经超过<QUEUE_NUM_CANCEL_PRODUCE>,则丢弃本次生产的任务。(即消费能力低于生产能力时如何处理)
  4. 总共有<PAIR_NUM>对(pair)单生产者单消费者对,对与对之间没有逻辑关联。(增大模拟性能场景)

测试方法

阅读全文 »
1…8910
yoko

93 日志
10 分类
36 标签
RSS
GitHub

开源项目
🍀 lal: Go 直播服务器.
🍀 naza: Go 基础库.
🍀 libchef: c++ 基础库.
© 2019 — 2021 yoko 京ICP备19024469号
0%