自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(189)
  • 问答 (1)
  • 收藏
  • 关注

原创 一文讲解 基于C++手写Rpc项目

一文讲解C++ rpc的实现, 基于muduo与protobuf

2023-06-07 10:36:40 2071 8

转载 转载:春哥的程序人生

春哥的编程之旅起于抄书,就算如今已是罕见的编程高手,春哥依然逢人大力推荐他的抄书学编程之法。春哥先后在中国雅虎、淘宝、Cloudflare 就职,但开源世界是他如一的眷念。如今,春哥已全身心投入 OpenResty 的崭新蓝图,期待 OpenResty 未来能在工业界、互联网行业引领“机器编程”革命。很荣幸这次图灵访谈可以对话春哥,让我们来一起了解一下春哥的快意程序人生。春哥,本名章亦春,开源项目 OpenResty 创建者和推动者春哥的时间线(毕业之后)

2023-05-22 15:34:31 321

原创 一文总结c++中的lambda

一般情况下,编译器可以自动推断出lambda表达式的返回类型,所以我们可以不指定返回类型。参数中可以用auto, 实现泛型的效果。可以捕捉lambda函数所在函数 的局部变量。[&] 自动捕获所有局部变量的引用。[=] 自动捕获所有局部变量的值。可以发现已经改变局部变量的值。

2023-05-19 17:46:38 176

原创 【无标题】

vscode 远程 连接linux 基于cmake调试c++

2023-05-16 10:24:24 179

原创 vscode 标签的使用

设置一个你喜欢的快捷键 ,这代表 在光标所在的行上添加一个标签。再来 需要看method_descriptor 的定义 , 跳转到后, 标上标签。再来 需要看service_descriptor的定义,跳转到后,标上标签。我通常喜欢左边放置写的代码 , 右边放源码, 如下所示。比如我在写某行 ,需要看service的定义,标上标签。shift+command+p. 调出命令行。总共三个 , 用跳转到上一个/下一个十分方便。这时候,我就可以 在源码中, 打上标签,写代码的时候,时常需要看源码。

2023-05-14 19:23:03 1500

原创 proto库的基本使用

编写 xxx.proto文件protoc test.proto --cpp_out=“./” // 生成相应的代码,包含数据类型的编码// main.cpp 为调用proto的代码, 链接动态库进行编译-lpthreadtest.protostring 定义成byte会更好// 定义登陆请求消息类型// 表明第一个字段// 定义第二个字段// 定义登陆响应消息类型一个对象中包含另一个对象即为组合test.proto// 定义登陆响应消息类型bytes name;

2023-05-08 14:24:01 799

原创 protobuf的安装 linux 亲测可用

3. 安装所需工具: sudo apt-get install autoconf automake libtool curl make g++ unzip。链接: https://pan.baidu.com/s/17A2_A6b1AgjZCcZ5k6YfSg 提取码: avqd。1. 解压压缩包: unzip protobuf-master.zip。2. 进入解压后的文件夹: cd protobuf-master。5. 配置环境: ./configure。--来自百度网盘超级会员v5的分享。

2023-05-04 22:09:41 242

原创 xgboost的调优

要想最后的结果有巨大的提升,可以通过特征工程、模型集成来实现。

2023-05-03 12:27:08 1214

原创 单源最短路问题

queue 代表刚被更新的点 它有可能更新其他路径 所以检查它的出边。dis[0 ]=0 dis[i]=+OO 只有起点被确定到了。dij实现的时候是通过 将距离设置成无穷大 来表达 不可达。dij 由于边很多, 稠密图 所以用邻接矩阵存即可。dij 需要找n个点 所以外层是一个for循环x。dis[] 代表第k到某一点的最短距离。​ t《- 不在s中的距离最近的点。isin代表该点是否在queue中。​ 用t更新其他点的距离(看下)s:当前已经确定最短路径距离的点。欢迎大家star与fork。

2023-05-02 13:18:36 619

原创 基于邻接表的拓扑排序

全部代码在github acwing 上。欢迎大家star与fork。

2023-05-02 13:13:05 159

原创 树与图的存储-邻接表与邻接矩阵-深度广度遍历

graph 设置成long long 以防 INT_MAX+l 变成负数。邻接矩阵 采用矩阵存储,graph[i][j] 代表i到j边的权重。邻接表 每个点 用一个单链表 存储它的出边。全部代码在github acwing 上。用一个vis 数组 表示该点是否被访问过。有向图可以采用邻接矩阵与邻接表进行存储。使用一个队列 依次把一个点的队列加入。个人喜欢使用vector实现邻接表。若之间没有边,则为INT_MAX。欢迎star与fork。无论是树 还是无向图。边的序号统一从1开始。

2023-05-02 13:07:53 543

原创 深度遍历模版与广度遍历模版

因为斜线的斜率是1,所以 y=x+b. y=-x+b 即可 算出两个方向的截距,通过截距可以唯一确定一条直线。有 “最短路” 的概念, 当图的权重都是为1的时候, 图先找到的都是bfs,最短的。需要额外的数据存储 vis表示是否访问过 dis表示距离。可信性剪枝是判断 走的过程提前判断 ,非法的就没必要走了。但是费空间 o(2^N). 深搜只用o(n)key是列,value是行。从第一行看皇后 能看到放在哪一列。第二个map 存储x+y的截距。第三个map 存储x-y的解决。走的过程中 判断是否在。

2023-05-02 12:55:27 874

原创 网络io与select,poll,epoll

水龙头等水水龙头就是内核进程 等水复制到内核区学生就是进行io的进程或线程阻塞io 学生在那里 等水来非阻塞io 学生看数据没准备好,先回寝室,一会儿再过来检查下,看水准备好没多路复用io 阿姨帮忙看着水龙头,等来水的时候通知学生前面三个都是同步io,因为水还要学生自己来接异步io 阿姨帮忙看着水龙头,当水来了 ,阿姨帮忙接水,等接好水 通知同学 已经接好并放在宿舍门口信号驱动io 某个水龙头数据准备好,会给同学手机发个信息。

2023-04-16 21:30:32 363

原创 基础算法-双指针,滑动窗口,位运算,区间离散化

lowbit(x) 返回x的最后一位1后面的数 比如10100 返回100。但我们仅用到了其中的n个数,因此我们可以将它的区间进行映射。就可以通过lowbit 求出 一个数中的1的个数。n的二进制 表示中 第k位数是几 从0开始。输入一个字符串 把每个单词输出出来。需要提前知道要有哪些值 查询和用到。双指针最核心的性质 可以优化。负数即为补码 即为取反+1。不断求它的lowbit即可。具体代码如下 使用二分搜索。比如一个区间 它的大小在。i,j指针最多走2n步。先把第k位移到最后一位。

2023-04-13 16:03:00 371

原创 基础算法-大数运算

基础算法-大数运算

2023-04-12 15:41:57 52

原创 背包问题-动态规划

动态规划 背包问题

2023-04-11 11:30:20 366

原创 clion如何连接github

点击 项目 从 get from vcs (version control) 中创建。commit 变化打包。push 把变化推过去。new 创建新的项目。

2023-04-10 20:20:28 686

原创 结构型方法-观察者模式

这其实是依赖倒置思想的一个典型应用,发布者与订阅者并不相互依赖,而二者都依赖于一个抽象的标准,发布者只知道每个订阅者有统一的接口可以调用通知。订阅者只要实现通知接口,并把自己注册即可。发布者类中会有一个数组,存储每个加入的订阅者,当有变化时,会依次调用订阅者的函数,以达到通知的目的。又叫发布者订阅者模式,定义对象间的一对多的依赖关系,其中有一个发布者,很多订阅者。当发布者改变时,每个订阅者会得到通知。

2023-04-02 11:10:35 51

原创 创建型模式-单例模式

隐藏构造方法,析构函数,拷贝构造方法,拷贝赋值方法,静态的实例指针。一个类仅能够被实例化一次,并且提供全局的实例化访问点。饿汉式,指的是程序一开始的时候,就进行初始化。懒汉式,指的是用到该实例的时候,才初始化。初始化后,就不会重新进行初始化。线程安全,底层会自动进行阻塞。

2023-04-01 21:57:41 45

原创 设计模式-设计原则

自动驾驶系统公司是高层,汽车生产商是底层,自动驾驶系统不应该依赖于各种车型系统底层进行实现,因为这是耦合度高,车型多样。而应该依赖于抽象的自动驾驶行业标准,汽车厂商也应该依赖于自动驾驶标准,可以配置各种自动驾驶系统。不应该强迫客户依赖于它们不用的方法,比如一个类需要实现A B方法,这时候继承一个接口里面有ABC方法,就不满足接口隔离原则。客户程序面对一个未知的系统,不应该知道里面的数据流动,而应该面向该系统的接口即可。抽象不应该依赖具体实现,具体应该依赖于抽象。高层不应该依赖低层,两者应该都依赖于抽象。

2023-04-01 21:20:20 952

原创 c++ 后台开发岗技能知识树

本质都是实力的提高,包含软实力和硬实力学的深不深,跟你的基础有关核心的点一定要在。

2023-03-29 19:46:56 397

原创 linux 两个炸服务器的恐怖指令(避坑)

linux两个炸服务器的恐怖指令

2023-01-10 11:02:46 613

原创 linux 连接github

linux 连接github

2023-01-10 10:56:51 748

原创 .gitnore的写法

.gitnore的写法

2023-01-10 10:54:59 113

原创 常用的git管理逻辑

常用的git管理逻辑

2023-01-10 10:54:07 230

原创 git add commit pull push

git add commit pull push的理解

2023-01-10 10:48:42 122

原创 stl algorithms 算法

c++ stl 算法

2023-01-10 10:46:45 434

原创 cmake在编译运行时的分步运行

cmake在编译运行时的分步运行

2023-01-06 18:09:33 234

原创 cmake的常用语法

cmake的常用语法

2023-01-06 18:08:03 877

原创 基本的cmake使用(linux,macos)

基本的cmake使用(linux)

2023-01-06 18:06:18 562

原创 cmake macos 使用源码进行安装

cmake macOS源码安装

2023-01-06 18:04:39 213

原创 cmake linux 使用源码进行安装

cmake linux 源码安装

2023-01-06 18:04:01 765

原创 mlpack 基于逻辑回归的预测

mlpack 逻辑回归

2023-01-06 18:02:55 272

原创 mlpack的安装

c++上的machine learning 库 mlpack的源码安装

2023-01-06 17:33:00 450

原创 cpp 读取txt文件

c++ 读写txt文件

2023-01-06 17:30:34 1028 3

原创 cpp 类的定义

c++ 类的定义

2023-01-06 16:44:14 265

原创 cpp 读取文件夹 boost filesystem

cpp boost system 读取文件夹

2023-01-06 16:43:15 197

原创 mac电脑连接安卓手机

Mac adb 连接安卓手机

2022-12-25 15:15:47 792

原创 由服务器(cpp)向c# unity android 传输文件

由服务器(cpp)向c# unity android 传输文件

2022-12-10 17:28:03 660

原创 unity bug(Copying assembly from ‘Temp/Assembly-CSharp.dll‘ to ‘Library/ScriptAssemblies/Assembly-CSh

Copying assembly from 'Temp/Assembly-CSharp.dll' to 'Library/ScriptAssemblies/Assembly-CSharp.dll' failed. Detailed error: Sharing violation on path

2022-12-09 09:37:52 879

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除