Standing on the Shoulder of Giants
Home
Archives
Links icon
LinkedIn Twitter
About
  • [译]Protocol Buffer Basics Go

    Jun 13, 2022 · 2 min read · golang protobuf  ·
    分享到:
    [译]Protocol Buffer Basics Go

    原文链接:Protocol Buffer Basics: Go | Protocol Buffers | Google Developers 本教程使用proto3语言为Go程序员介绍了protocol buffers的基本使用。通过一步步创建一个简单的示例应用,你将会了解到: 在.proto文件中定义消息格式 使用protocol buffer编译器 使用Go protocol buffer API读写消息 这不是一个使用protocol buffers的完全手册。更多更细节的信息,请参看:Language Guide (proto3)、Go API Reference、Go Generated Code和Encoding …

    阅读更多
  • [译]Protocol Buffer Language Guide (proto3)

    Jun 13, 2022 · 8 min read · golang protobuf  ·
    分享到:
    [译]Protocol Buffer Language Guide (proto3)

    原文链接:Language Guide (proto3) | Protocol Buffers | Google Developers 本指导文档描述了如何使用protocol buffer语言来构建你的protocol buffer数据,包括.proto文件的语法规则,包括如何从你的.proto文件中生成数据访问类。本文介绍的是proto3版本的语言规则,关于proto2版本的信息,请参考: Proto2 Language Guide。 本文是一个指导性的参考文档,关于如何使用本文中提及的特性的例子,请参考tutorial 并选择你想要的特定编程语言的例子。 定义一个消息类型 首先让我们来看一个非常简单的例子。比如说你想要定义一个 …

    阅读更多
  • [译]Concurrency Trap #2: Incomplete Work

    Sep 2, 2021 · 3 min read · golang goroutine Concurrency Trap  ·
    分享到:
    [译]Concurrency Trap #2: Incomplete Work

    原文链接:Concurrency Trap #2: Incomplete Work (ardanlabs.com) 简介 在我的上一篇博文[译]Goroutine Leaks - The Forgotten Sender中,我提到了并发是一个非常有用的工具,但是并发往往伴随着特定的陷阱,而这些不会在同步编程中出现。本文会继续这个主题,在本文中我将介绍一个名为未完成的工作的陷阱。未完成的工作发生于在仍然有未完成的Goroutine(非main goroutine)存在的时候程序终止退出了。发生这种情况时,Goroutine的本质使得它会被强制退出,这可能是一个严重的问题。 未完成的工作 为了说明什么是未完成的工作,请观察下面的例子。 …

    阅读更多
  • [译]Go Concurrency Best Practice

    Sep 2, 2021 · 5 min read · golang goroutine Concurrency  ·
    分享到:
    [译]Go Concurrency Best Practice

    Dave Cheney 2019年在QCon上分享的一些Go编程的原则很有参考价值。我摘录了关于并发的部分,这部分是关于Go编发编程的一些原则和思想。 原文链接:Practical Go: Real world advice for writing maintainable Go programs (cheney.net) 通常选择Go来做项目,往往是因为它的并发特性。Go团队已经不遗余力的让Go在并发方面即能节省资源又能满足性能要求。然而,使用Go的并发特性写出低性能或者不稳定的代码是完全可能的。在最后我想留给你们一些我关于如何避免使用Go并发特定带来的一些隐患的建议。 支持并发特性的语句channel,select和go在Go特 …

    阅读更多
  • [译]Goroutine Leaks - The Forgotten Sender

    Sep 2, 2021 · 3 min read · golang goroutine Concurrency Trap  ·
    分享到:
    [译]Goroutine Leaks - The Forgotten Sender

    原文链接:Goroutine Leaks - The Forgotten Sender (ardanlabs.com) 简介 并发编程可以让程序员以多个执行路径来解决问题,而且通常是试图提高程序性能。并发并不意味着这些执行路径是以并行的方式执行,而是说这些执行路径以无序异步的方式执行而不是同步顺序执行。历史上这种编程模型是通过标准款或者第三方库来实现的。 Go语言中,并发特性是通过语言内置的Goroutine和channel来实现,这样就减少了对库的依赖。这容易给人一种错觉,觉得使用Go来编写并发程序会很简单。你得非常小心,因为如果你没有正确的使用Go的并发特性,往往会引入特定的边界效应或者调入陷阱。一不小心,这些陷阱就会给你程序带 …

    阅读更多
Jonathan Lin photo

Jonathan Lin

大龄编程爱好者,摄影爱好者。喜欢徒步喜欢户外,喜欢有事没事拍拍孩子,记录生活记录孩子成长
阅读更多

最新文章

  • MQTT控制报文
  • MQTT QoS和协议流程
  • 保留消息和最后遗嘱
  • MQTT杂记
  • UTF-8编码知识点整理
  • Mac下安装和配置Mosquitto
  • C Primer Plus读书笔记(二)
  • C Primer Plus读书笔记(三)

分类

NOTES 18 TRANSLATION 5 HOW-TO 1

标签

C 6 C-PRIMER-PLUS 6 GOLANG 5 MONGODB 5 MQTT 5 GOROUTINE 3 CONCURRENCY-TRAP 2 PROTOBUF 2 CONCURRENCY 1 ENCODING 1 GITHUB-ACTION 1 GITHUB-PAGES 1 HUGO 1 LWT 1
所有标签
C6 C-PRIMER-PLUS6 CONCURRENCY1 CONCURRENCY-TRAP2 ENCODING1 GITHUB-ACTION1 GITHUB-PAGES1 GOLANG5 GOROUTINE3 HUGO1 LWT1 MONGODB5 MQTT5 PROTOBUF2 QOS1 REGEX1 RETAINED1 UNICODE1 UTF1
[A~Z][0~9]
Standing on the Shoulder of Giants Copyright © 2023 Jonathan Lin. All rights reserved.