- 博客(4000)
- 资源 (1)
- 收藏
- 关注

转载 盘点适合入门学习的C/C++开源项目
C项目名称: C项目简介: 是的,你没有看错,这个项目的名字就是单个字母C。C是一个宝藏项目,可以说是学习数据结构和刷算法题的利器,因为里面包含了几乎各种基础算法、数据结构、以及LeetCode算法题的C语言实现。具体包括:客户端/服务器问题统计方法问题进制转换问题各种数据结构:数组、链表、字典、二叉树、堆、栈、队列、哈希、图等等搜索/查找问题排序问题LeetCode习题其他杂项问题注意,下图中只是截取了一部分数据结构和算法题的具体实现:对于我们的作用: 可以帮助我们更好的学习数据
2020-07-01 09:57:25
14928
6
转载 golang:Golang utf8编码与utf16编码相互转换(string 和 []uint16互转)
【代码】golang:Golang utf8编码与utf16编码相互转换(string 和 []uint16互转)
2023-05-25 14:02:34
33
转载 golang:unsupported Scan, storing driver.Value type []uint8 into type *time.Time
连接数据库的时候,有的字段为TIMESTAMP类型。需要在DSN里面加上?
2023-05-15 19:03:19
50
转载 golang:如何在proto3中用上golang对应的interface{}类型
首先,我希望所有golang中用于http请求响应的结构,都使用proto3来定义。麻烦的是,有的情况下某个字段的类型可能是动态的,对应的JSON类型可能是number/string/boolean/null中的其中一种。使用protoc生成代码后,发现这玩意儿完全没办法做json的encode/decode。理想的办法是让生成golang代码中的 user_input 成为 interface{} 类型。但如何才能让proto3生成golang的interface类型呢?
2023-05-12 15:23:57
55
转载 git:smartgit
终端下操作:执行命令:cd /opt执行命令:wget http://haxibiao.com/work/smartgit.tar.gz执行命令:tar xvf smartgit.tar.gz执行命令:cd smartgit/bin。
2023-05-11 20:35:38
29
转载 golang:http.request
/ Headers that Request.Write 处理自身应跳过 var reqWriteExcludeHeader = map [ string ] bool {
2023-05-11 17:12:08
29
转载 linux内核:TCP实现之解析socket函数
在进行socket编程的第一步,一定是调用socket来创建一个句柄那么,这个socket是怎么实现的呢?ps:下文中的family与domain是同一个意思。
2023-05-10 22:07:18
40
转载 golang:module requires Go 1.xx 解决之道,不升go
在使用多版本的golang的小伙伴,往往会遇到这个问题。本文就如何不升级 go 版本来解决该问题。
2023-05-10 14:00:35
67
转载 shell:数组及其遍历
数组中可以存放多个值。Bash Shell 只支持一维数组(不支持多维数组),初始化时不需要定义数组大小(与 PHP 类似)。与大部分编程语言类似,数组元素的下标由0开始。
2023-05-10 12:23:06
22
转载 arc diff 异常 :Usage Exception: No changes found.
原因:Did you specify the wrong commit range?解决办法:使用arc diff HEAD~
2023-05-09 11:32:01
19
转载 golang:heap
从这个接口可以看出,其继承了sort.Interface接口,那么sort.Interface的定义是什么呢?也就是说,我们要使用go标准库给我们提供的heap,那么必须自己实现这些接口定义的方法,需要实现的方法如下:Len() int实现了这五个方法的数据类型才能使用go标准库给我们提供的heap,下面简单示例为定义一个IntHeap类型,并实现上面五个方法。
2023-05-08 12:38:12
19
转载 VS Code:python代码自动格式化方法
使用时,只需要选中需要格式化的Python代码,然后右键选择“Format Selection”即可实现自动格式化。
2023-04-28 17:03:15
286
转载 python:Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Py
默认的python环境为2.7,而pip在安装的时候会提示Python 2.7 reached the end of its life on January 1st, 2020.,因此我们需要更改运行环境。1.查看默认的python地址,返回 /usr/bin/python。换言之,此时我们用pip安装的就是在python3下安装的。5.然后输入python运行的就是python3的环境了。3.类似操作,得到Python3的地址以及对应版本号。2.查看对应版本,返回Python 2.7.17。
2023-04-28 17:00:02
52
转载 python:python 在内存中处理tar.bz2文件
处理经过gzip压缩的tar文件的方法见:https://stackoverflow.com/questions/15352668/download-and-decompress-gzipped-file-in-memory。处理bz2压缩的tar文件的方法:https://stackoverflow.com/questions/46291529/how-to-decompress-tar-bz2-in-memory-with-python。
2023-04-28 16:06:48
51
转载 python:No module named ‘urllib2‘ 问题及解决方式
如果使用的是Python 3.x 以上的版本,请注意python 3.x 以上的版本 urllib 和urllib2 已经被集合到一个包里 urllib 中。网上看到的代码,我们学习的时候需要更改调用方式。
2023-04-28 15:29:23
35
原创 基础:Zookeeper、Eureka、Nacos、Consul ,Etcd选型
服务发现就是服务提供者将自己提供的地址post或者update到服务中介,服务消费者从服务中介那里get自己想要的服务的地址。
2023-04-26 14:13:10
84
转载 golang:依赖注入库 - Wire
wire是由google开源的一个供go语言使用的注入依赖代码生成工具。它能够根据你的代码,生成相应的依赖注入go代码。与其他依赖注入工具不同,比如 Uber 的 Dig 和 Facebook 的 Inject,这 2 个工具都是使用反射实现的依赖注入,而且是运行时注入(runtime dependency injection)。wire 是编译代码时生成代码的依赖注入,是编译期间注入依赖代码(compile-time dependency injection)。
2023-04-13 19:44:25
139
转载 python:python提示AttributeError: ‘NoneType‘ object has no attribute ‘append‘
在写python脚本时遇到AttributeError: ‘NoneType’ object has no attribute ‘append’原因:因为没有返回值。
2023-04-13 11:56:00
144
转载 golang:使用 buf 替代 protoc 自动生成 protobuf
buf 可以做 protoc 的替代品buf 效率比 protoc 更好buf 使用 yaml 文件,使用更清晰目前不支持 Windows,下面为 linux 演示官方文档:https://docs.buf.build/官方的BSR地址是https://buf.build/,我们可以https://buf.build/login页面进行注册登录。使用体验类似github。
2023-03-24 22:47:47
332
转载 golang:深入理解 Go Modules 的 go.mod 与 go.sum
流行的现代编程语言一般都提供依赖库管理工具,如 Java 的 Maven 、Python 的 PIP、Node.js 的 NPM 和 Rust 的 Cargo 等。Go 最为一门新生代语言,自然也有其自己的库管理方式。
2023-03-20 12:26:56
250
转载 Apollo:源码分析之cyber/service_discovery/warehouse
本文中我们分析WarehouseBase,SingleValueWarehouse,MultiValueWarehouse这三个类。然后我们看下MultiValueWarehouse,它跟几乎一模一样,只是它的记事本是unordered_multimap的。通过Size()可以查询到当前仓库中已经放置了多少个角色(或者说身份证更合适?还可以通过GetAllRoles()获取仓库中的所有角色或者角色属性。可以看到功能就是:使用身份证key把role注册到仓库中。
2023-03-19 15:03:49
82
转载 Apollo:源码分析之cyber/service_discovery/communication
前置知识: 目录分析participant_listenersubscriber_listener.cc。
2023-03-14 22:30:00
68
转载 Apollo:qos_profile.proto配置dds的服务质量
定义在:qos_profile.protoQos 基本上负责了 DDS 的所有配置,无论是心跳,消息可靠性,流量控制,还是安全配置,甚至包括通道配置,全是通过 Qos 来实现的。我们可以为发布器、订阅器、提供服务的服务器和客户端配置QoS。因为每个节点的Qos是可以单独配置的,所以如果配置的Qos互相不兼容,节点间的通信将无法建立。
2023-03-10 23:25:36
120
转载 Apollo:源码分析之cyber\blocker\blocker.h
我们从cyber\blocker\blocker_test.cc入手,分析一下cyber\blocker\blocker.h。
2023-03-10 21:51:04
124
转载 Apollo:源码分析之TopologyManager
cyber中有一个重要的部分叫做,其主要实现在下。节点间通过读和写端建立数据通路。以channel为边,这样可以得到一个数据流网络。由于节点可能会退出,订阅情况也可能发生改变,所以这个网络是动态的。因此需要对这个拓扑网络进行监控。主要负责这件事的数据结构是TopologyManager,其定义在cyber\service_discovery\topology_manager.h它是个单例,因为每个进程只要有一个来负责监控网络拓扑就可以了。
2023-03-09 23:40:08
97
转载 Apollo:Cyber RT拓扑发现概述
是网络中各个站点相互连接的形式,在中明确一点讲就是文件服务器、工作站等的连接方式。反映出网络中各实体的结构关系,是建设计算机网络的第一步,是实现各种网络协议的基础,它对网络的性能,系统的可靠性与通信费用都有很大的营销。在P2P网络通信中,我们需要解决的两个首要问题就是——和谁进行通信以及如何进行通信。不管通信方式是选择TCP还是UDP,我们都需要获取对端的一些标识,如IP和端口号等,从而建立连接。本文我们主要研究第一个问:参与者的标志以及参与者的相互发现。
2023-03-09 23:01:07
216
转载 Apollo:源码分析之Writer
我们先看看这个类的功能是什么。通过注释可以知道:这个类只有一个功能,那就是往由RoleAttributes中指定的通道写数据。
2023-03-09 22:34:19
49
转载 Apollo:源码分析之WriterBase
WriterBase是写者最底层的基类,它只有一个头文件cyber/node/writer_base.h。我们先来看cyber/node/writer_base.h中引入的头文件接着往下看通过注释,我们可以知道,对于WriterBase类然后我们看下它有哪些成员。
2023-03-09 20:14:02
31
转载 Apollo:源码分析之NodeChannelImpl
通过注释我们可以看到这个类的作用是:可以使用 NodeChannelImpl为节点创建一些与channel相连的对象,比如 Reader 和 Writer。
2023-03-09 20:10:58
29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人