240 发简信
IP属地:上海
  • 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...

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

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

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

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

  • 在rust使用protobuf

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

  • golang gc竟然可以自动关闭tcp连接

    事情由来 在golang最近经常写http或者grpc服务,带着这种习惯写了tcp服务,最后看了下代码,tcp连接没有调用fd.Close()方...

  • 解决 vim-go: initializing gopls 代码不跳转

    问题 今天早上写代码,把vim的插件升级之后,vim底部一直弹"vim-go: initializing gopls",代码也跳不过去。怀疑和g...

  • 影响nsq吞吐量的配置-MaxInFlight

    事由 使用nsq的go sdk发现吞吐量一直上不去。经过边看代码,便阅读文档,发现MaxInFlight这个参数会影响吞吐量 修改 知道哪个参数...