- 博客(130)
- 资源 (3)
- 问答 (1)
- 收藏
- 关注
原创 收集训练数据集
[外链图片转存中…(img-hdtgAlj7-1717126642238)]3.自定义的数据集dataSet||–images(原图片)| xxx01.jpg| xxx02.jpg|–lables(标签)| xxx01.txt| xxx02.txt|–data.yaml| 参考:voc.yamlpython detect,py --source ./inference/images/ --weights weights/yolov5s.pt --conf 0
2025-07-08 11:09:21
399
原创 网络编程 - 探究一些容易忽略的细节
下定论:在网络通信过程中,连接的建立是在协议栈中处理的,这一步是内核完成的,与用户应用层无关。TCB和fd是收到不同模块管理的,FD是由文件系统管理,在close就会被回收。查看状态,发现在2048,正在LISTEN状态,等待连接。一个网络IO就是FD,有时候表述为soock。即使并没有接收,数据也可以发送到对方的。
2024-04-09 16:52:34
293
2
原创 KCP协议
在网络中,我们认为传输是不可靠的,但是在很多实际的场景中,我们需要得到可靠的数据。得到可靠的数据:数据能够正确到达并且有序。(注意这里有两个条件,一个是有序,一个收到为了达到这个目的,操作系统的协议栈的传输层采用了ARQ协议。TCP采用的就是AQR协议。为什么通常我们认为网络上的传输是不可靠的?(GPT回答,这里我们稍微了解一下)1.数据包丢失:在网络传输过程中,数据包可能会因为各种原因丢失,例如网络拥塞、错误路由等,这会导致传输中部分数据丢失或损坏。
2024-04-09 16:51:52
1210
原创 体现libevent实质上干了啥事-libevent与epoll
/------------------------ 事件管理 ---------------------------------////------------------------ 事件管理 ---------------------------------//(flags & O_NONBLOCK)) // 如果没有设置非阻塞。(flags & O_NONBLOCK)) // 如果没有设置非阻塞。// 将套接字(FD)设置成非阻塞。// 将套接字(FD)设置成非阻塞。// 设置套接字为非阻塞。
2024-02-07 20:52:17
1568
原创 epoll实现同时承载100w客户端的数量
让epoll能够同时承受100w的连接,对于百万并发的业务处理,其前提条件就是要同时承受住100w的连接。
2023-12-10 19:15:42
954
2
原创 No source control providers registered
No source control providers registered
2023-11-10 23:16:06
483
原创 网络缓冲区
网卡是计算机里的一个硬件,专门负责接收和发送网络包,当网卡接收到一个网络包后,会通过DNA技术将网络包写入到指定的内存地址,也就是写入到RingBuffer中,这是一个环形缓冲区。接着网卡向CPU发起硬中断,当CPU收到硬件中断请求后,根据中断注册表,调用已经注册的中断处理函数(中断处理函数:暂时屏蔽硬中断、发起软中断-->通知内核里的ksoftirqd线程进行轮询从ringbuffer中读数据、恢复中断)....
2023-11-10 12:54:34
451
原创 reactor (百万并发服务器) -- 1
reactor是一种面向事件的IO处理方式...后续文章将进行wsl测试已经对buffer进行优化,设计合理的用户缓冲区,而不是使用定长的buffer进行实现。然后会对代码进行调整,目前的设计不方便提取出来使用,我们最后会封装成一个库的方式,提供一个.h和.c文件,以此方便移植。
2023-10-31 22:27:38
716
1
原创 windows + ubuntu + vscode开发环境配置安装
从零搭建Linux +windows + VSCode +C/C++开发环境
2023-10-27 01:03:46
2071
9
原创 MFC - 一文带你从小白到项目应用(全套1)
return 0;WINAPI是一个宏,表示参数从右往左入栈,同时在函数返回前自动清空堆栈hInstance:(当前应用程序的句柄)一个应用程序的的实例句柄,一个应用程序可以运行多个实例,每一个运行的应用程序都会有一个句柄,通过hInstance传递给WinMain函数当前实例的前一个实例句柄,通常传NULLIpCmdLine:一个字符串数组,传给给应用程序的命令行参数,相当于 char* argv[]nShowCmd:窗口显示的方式,最大化/最小化/正常显示/隐藏显示。
2023-09-17 17:46:31
556
原创 C 通过宏定义重定义malloc - free,预防内存泄露
C 通过宏定义重定义malloc - free,预防内存泄露支持多线程,不支持多进程,如果想要支持多进程,相关的控制部分定义到共享内存中详细输出信息
2023-09-17 17:31:20
703
原创 C++模版基础
本专栏会持续更新关于STL中的一些概念,会先带大家补充一些基本的概念,再慢慢去阅读STL源码中的需要用到的一些思想,有了一些基础之后,再手写一些STL代码。(如果你有喜欢一些底层封装,执着于造轮子,我想这个一期不错的专栏)
2023-09-14 23:53:07
558
原创 CMakeList.txt -- 编写保姆式教程
cmake是一种高级编译工具,所有的操作系统都是通过编译CMakeList.txt来完成的,当多个人用不同的语言或者编译器开发同一个项目的时候,最终要输出一个可执行文件或者共享库的时候使用cmake很方便。cmake不同版本下载地址。
2023-05-14 18:23:06
1606
原创 mongoose使用详细 -- 如何通过mongoose搭建服务器
根据官网文档给出的描述大致总结下:1.mongoose是一个用于C/C++的网络库,它为TCP、UDP、HTTP、WebSocket、MQTT实现了事件驱动的非阻塞API。Mongoose使嵌入式编程快速、健壮、简单。2.mongoose可在windows、Linux、Mac和许多嵌入式架构上运行。它可以在现有的操作系统和TCP/IP堆栈(如FreeRTOS和lwIP)上运行,也可以在裸机上运行,利用Mongoose内置的TCP/IP堆栈和网络驱动程序。
2023-05-02 22:25:53
9365
原创 论接口的封装能力
额,看不可的效果不可描述,总感觉很多时候看不明白,所以塞,不如看源码里的例子,遇到具体的点没明白的再去百度或者请教前辈。说白了,就是A实现了某种方法(类A不对外使用),而在A-inerface中声明一个A *pA,并且这套接口的方法内部就是调用了A的方法,有时候可能会做一些扩展,比如一个基础事件的集合,也就是有很多这样的事件。对于第一种情况,就不过多的描述了,很简单的。(说人话,无非就是我给你这个接口就可以让你实现这个功能,不需要你去了解里面怎么玩的,想那么多干嘛,那是我封住接口的人需要考虑的塞)
2023-04-28 20:47:30
1040
原创 一文带你吃透红黑树---红黑树如此简单
找了很久的红黑树代码,没找到完整的。。。无奈之后自己写一份红黑树代码==>全网c++红黑树最全代码想要玩转红黑树,要对模仿的玩法有一定的了解。我们在玩魔方时只要我们按照规则来,无论你的过程和步骤如何复杂或者如何简单,最后能够使每个面只要一种颜色结算成功。(杠精请离开:以3*3魔方为例)。玩红黑树也是一样的,只要按照规则(左旋、右旋、变色)来无论你中间的过程如何,最后都能写出红黑树(每一个人的步骤顺序可能不一样,其实原理都一样)。
2023-02-05 18:45:11
2058
2
原创 C++实战-基于c++11新特性的mysql连接池
1.如果不使用连接池,每次server端与数据库的交互都需要创建线程和销毁线程。大量的创建线程和销毁线程是消耗系统资源的2.mysql数据库与服务器端的是通过TCP进行通信的,按照TCP的通信规则,需要建立连接和断开连接,这一过程相对比较慢和繁琐3.每次连接都需要进行身份验证通过预先创建一定数量的连接,放到一个池子。当客户端有请求时,服务器端需要与mysql进行交互,那么只需要从池子里取出一个连接,当操作完成再将连接放到连接池中。如此以来避免了频繁的创建和销毁线程。
2022-10-01 19:22:02
1971
原创 近日找实习总结
这一部份蛮重要的,不要从网上乱抄。切忌不要说一堆没用的空话。比如:我做事认真XXX,我XXX.....要用事实说话,具体可以参照我的进行修改。
2022-09-28 18:05:03
1973
24
windows10/11 + ubuntu16.04 + vscode开发环境配置安装
2023-10-27
如何才能把数据结构和算法学通透了?
2021-12-17
TA创建的收藏夹 TA关注的收藏夹
TA关注的人