- 博客(99)
- 收藏
- 关注
原创 从8k嘈杂到16k清晰,我是如何使用RNNoise+libresample构建音频降噪管道的?
使用魔改后支持16kHz的RNNoise库和libresample,实现对8k音频重采样至16kHz,并同步深度学习降噪一体化模块,对比降噪前后音频频谱图,降噪效果明显。虽然无法还原成“录音室音质”,但在实时通讯和语音识别的处理中,这套音频降噪模块已足够强大。
2026-04-30 16:38:08
490
原创 基于C++实现工业级线程安全日志系统
实现一款单例模式、线程安全、控制台彩色输出、按时间/大小自动切分、过期日志自动清理的企业级日志系统,跨平台兼容,根据项目修改配置可直接使用,完全满足工业级项目的日志需求,省去重复造轮子的成本。
2026-04-21 17:22:24
420
原创 《Muduo网络库:编译安装脚本及项目测试》
编写编译脚本一键编译网络库,将so库和头文件正确放在系统路径下,编写项目测试代码,测试结果符合预期。
2025-11-01 11:18:14
1041
原创 《Muduo网络库:实现TcpServer类终章》
通过主从Reactor模型实现TcpServer类,整个Muduo网络库核心代码实现完成,对其整个核心流程逐渐清晰。
2025-10-30 12:12:13
850
原创 《Muduo网络库:TcpConnection类》
实现TcpConnection类,封装Socket、Channel和缓冲区,实现了TCP连接的完整生命周期管理:建立/读写/关闭/销毁,并通过回调机制向上层提供灵活的业务扩展接口。兼顾线程安全、高效IO和资源管理。
2025-10-28 11:59:54
1053
原创 《Muduo网络库:实现Acceptor类》
实现Socket类包装fd,实现bind、listen、accept。实现Acceptor类监听新连接,将listenfd绑定到一个channel,利用该channel将读事件与回调绑定,并设置了新连接回调,由上层TcpServer做该新连接的后续处理,回调解耦。
2025-10-24 17:08:37
308
原创 《Muduo网络库:实现Buffer缓冲区类》
实现缓冲区Buffer类。TCP数据是流式的,通过readv分散读,避免了频繁扩容和数据丢失;动态扩容优先复用已读空间,高效利用内存。
2025-10-24 11:55:50
1075
原创 《Muduo网络库:实现one loop per thread设计模式》
实现Thread类、EventLoopThread类,EventLoopThreadPool类,实现了one loop per thread模式,每一个线程绑定一个EventLoop,同时设计线程池通过多线程事件循环充分利用多核CPU,提高了并发处理能力。
2025-10-15 21:48:53
956
原创 《Muduo网络库:实现EventLoop事件循环》
实现EventLoop事件循环类,核心功能包括:事件循环管理、事件分发、跨线程任务调度、线程唤醒机制,掌握muduo的Reactor模型的设计细节与精髓。
2025-10-13 17:21:10
971
原创 《Muduo网络库:实现Channel通道以及Poller抽象基类》
封装socket地址类型、实现Channel通道、Poller抽象基类、EpollPoller类。理清EventLoop、Channel、Poller三者之间的关系,为实现EventLoop事件循环做准备
2025-09-28 19:00:58
1129
原创 《Muduo网络库:实现Logger日志类》
开始编写Muduo网络库代码。实现noncopyable类、Timestamp类以及Logger类。
2025-09-25 21:54:57
1094
原创 《Muduo网络库:背景知识梳理》
总结学习Muduo库所需要掌握的背景知识。阻塞非阻塞、同步异步,五种I/O模型,I/O多路复用,select/poll/epoll,epoll原理以及LT和ET模式。
2025-09-23 12:08:22
1632
2
原创 《Muduo网络库:基于Muduo的网络服务器编程示例》
Muduo封装复杂底层,聚焦业务逻辑,提高开发效率。简单了解Muduo网络服务器的编程。
2025-09-22 18:52:30
400
1
原创 《理解Reactor网络编程模型》
通过分析传统阻塞I/O模型的缺陷,对比非阻塞I/O和I/O多路复用的优劣,进而阐述Reactor如何结合线程池实现高并发。介绍了Reactor网络编程模型的设计思想与实现模式,以及三种典型Reactor模式。
2025-09-21 21:24:48
1503
6
原创 《MySQL:MySQL事务特性》
事务的概念、事务版本支持、事务提交方式、常见操作方式、隔离级别与隔离性、模拟MVCC、RR与RC的本质区别。
2025-05-15 16:14:57
895
4
原创 《MySQL:MySQL索引特性》
索引的理解、磁盘的理解、页目录、为何B+树作为索引底层结构、聚簇索引和非聚簇索引、索引操作、主键索引、唯一索引、普通索引、全文索引、复合索引。
2025-05-07 10:53:50
1111
1
原创 《MySQL:MySQL表的基本查询操作CRUD》
MySQL表的基本查询操作,Create创建、Retrieve读取、Update更新、Delete删除,聚合函数、group by 子句的使用。
2025-04-21 21:20:12
829
1
原创 《MySQL:MySQL表的约束-主键/复合主键/唯一键/外键》
MySQL表的约束:空属性、default、列描述、主键、复合主键、自增长、唯一键、外键。
2025-04-20 11:48:21
1010
原创 《MySQL:MySQL数据类型分类》
MySQL数据类型的分类,数值类、小数类、字符串类、enum和set类、find_in_set函数、时间和日期类。
2025-04-18 11:21:53
777
原创 《八大排序算法-插入|希尔|选择|堆排|冒泡|快排|归并|计数》
直接插入排序、希尔排序,直接选择排序、堆排序,冒泡排序、快速排序,归并排序,计数排序。
2025-03-30 21:51:17
3400
2
原创 《C++11:通过thread类编写C++多线程程序》
C++多线程编程,mutex互斥锁,具有RAII思想的lock_guard、unique_lock,lock_guard与unique_lock的区别,生产者-消费者模型。
2025-03-29 11:22:43
885
原创 《C++11:bind绑定器与function包装器》
bind1st、bind2nd,C++11的bind及底层原理,C++11的function及底层原理,bind与function实现线程池。
2025-03-27 22:02:26
749
原创 《C++11 容器emplace方法原理剖析,究竟高效在哪?》
emplace_back可以直接传入对象构造所需的参数,在容器底层内存位置构造对象,避免了push_back要先创建对象再拷贝或移动的过程。减少了资源开销,提高了插入效率。
2025-03-22 16:48:37
732
原创 《C++智能指针:建议使用 make_shared 代替 shared_ptr》
使用C++14make_shared代替C++11的shared_ptr,make_shared的优缺点。
2025-03-21 17:41:23
589
怎么运行不出来呀?哪里错了么
2023-07-12
“=”左操作数必须为左值
2023-07-11
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅