240 发简信
IP属地:上海
  • 在rust使用protobuf

    前言 最近打算熟悉下rust,先使用tcp stream+protobuf写个简单的TLV服务。发现rust处理生成代码的方式和go还有点不一样...

  • 在rust里面调用c代码-笔记(1)

    前言 c语言作为系统编程语言统治bit世界已经很久,留下了大量的代码遗产。rust作为新兴语言在一些冷门领域开发,真是裹足前行。rust如果可以...

  • nsq中topic和channel的作用

    topic的作用 topic的作用就和收发快递选哪个快递一样,你选择顺丰,选择圆通。收快件(消费消息)的时候都用这个topic,应该没人收顺丰快...

  • golang sync.errgroup 源代码阅读

    errgroup用途 调用多个go程去访问一批url,它们是有失败的可能,如何把第一个出错的信息返回给调用端。这涉及到多go程返回错误的技巧。你...

  • docker 搭建nsq集群

    nsq简介 nsq是go实现的高性能消息队列,部署相当简单。 一.搭建nsq集群 1.拉取docker镜像 2.启动nsqlookup服务 3....

  • Resize,w 360,h 240
    golang泛型实现——skiplist

    一、写在前面 skiplist是一种有序的数据结构, 不同于各种平衡树, skiplist看起来就是多层的链表, 具体点每个元素是个数组, 这个...

  • golang泛型实现——双向循环链表

    一、写在前面 标准库的双向循环链表实现是基于interface{}的,性能一般。为了提升性能,本文基于泛型语法实现一个比标准库更快的链表写法(主...

  • Resize,w 360,h 240
    golang泛型实现——双hash表

    一、写在前面 现代编程语言一般都提供了hash表的容器, 比如c++的std::hash_map, golang的map底层都使用了hash t...

  • hop-by-hop header和end-to-end header笔记

    由来 最近在研究rfc2616,结合http-parser源代码阅读还是遇到一些奇怪的地方。比如,Connection的value已经是Upgr...