- 博客(694)
- 资源 (51)
- 收藏
- 关注

原创 新手如何学好C语言?
作为一名资深码农,在软件行业也拼搏了十多年,这里跟想学习C语言的萌新童鞋分享下我的个人学习心得!!!在大学时代,我们大二才开始学习C语言(起步有点晚啊),第一次看到那本黄黄的谭浩强老师的《c语言教程》,哈哈哈,就是这本了,满满的回忆啊!开学拿到这本书后,心情很激动,因为以前总是羡慕那种黑客,好像很牛的样子, 抱着好奇的心理随便翻开了几页看了看,全程一脸懵逼, 因为以前从来没有接触过编程...
2020-04-27 13:59:47
2660
3

原创 一个普通的计算机专业专科生,毕业后想拿高薪,大学三年具体应该怎么做?
最近有一位大一的童鞋问我:黄老师, 我现在是一个普通院校的专科,学历含金量并不高,随大流选了一个计算机专业,很迷茫,不知道毕业后能干嘛,但我还是不想虚度大学三年,因为家境并不好,想通过自己努努力毕业能拿一份不错的薪水,能给点建议吗?其实也不是这一位同学向我咨询类似的问题,这几年其实蛮多的普通院校大学生都感到压力,因为没有名校背景,没有较高的学历,大学毕业后,只能进入普...
2020-04-24 16:45:34
4748

原创 全套C C++ 编程视频课程收录
【C语言】小白可以短时间很快入门的《从小白入门C语言视频课程》http://edu.csdn.net/course/detail/5895然后C语言中为核心知识点,附上指《C语言指针精讲视频课程》http://edu.csdn.net/course/detail/5896指针是重点《30分钟学会C语言指针视频课程》https://edu.csdn.net/cou...
2017-10-27 14:58:48
11350

原创 新手如何学好C++?
最近,很多学员都给我发邮件问我应该如何学习C++,如何学好C++?那么作为一个从C语言小白摸爬滚打、入坑无数到成长为如今的高级C++游戏开发工程师、高级C++服务端工程师、项目经理、技术总监、我想跟大家分享下我自己的学习心得与体会!Linus曾说过:“C++是一门很恐怖的语言,而比它更恐怖的是很多不合格的程序员在使用着它”,这个世界上最难的编程语言可能非C++莫属了,呵呵,虽然有点夸...
2017-10-10 09:32:28
22123
6
原创 JuiceFS分布式文件系统
简单来说,JuiceFS 是一个基于 POSIX 的分布式文件系统,它的核心设计理念是“将元数据与数据分离存储数据(Data)存储在对象存储中(如 AWS S3、阿里云 OSS、腾讯云 COS 等)元数据(Metadata)存储在独立的数据库中(支持 Redis、MySQL、TiKV、SQLite 等)客户端通过 FUSE 模块挂载 JuiceFS 文件系统,像操作本地磁盘一样进行读写这种架构让 JuiceFS 同时具备了对象存储的无限扩展能力与本地文件系统的完整语义支持。
2025-09-08 23:31:54
842
原创 大厂的服务器自动扩缩容
大厂的服务器自动扩缩容是一套**“技术工具+业务逻辑+优化策略”** 的综合体系,核心是围绕“稳定性”和“成本”两个目标,通过“监控-决策-执行-反馈”的闭环,实现资源的动态匹配。其演进方向是从“被动响应”到“主动预测”,从“单集群”到“跨区域”,最终实现“零人工干预、极致弹性”的资源管理。对于中小团队,可从基础方案入手(如Kubernetes+KEDA+Prometheus),逐步引入预测、预热等优化策略,最终实现类似大厂的弹性能力。
2025-09-08 23:14:46
831
原创 彻底搞懂解形式化语法 BNF 和 EBNF
数字> ::= "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"这行规则的意思是:“一个<数字>可以是字符 ‘0’,或者 ‘1’,或者 ‘2’,……,一直到 ‘9’。一个数字可以是多位的,比如123。<数字序列> ::= <数字>| <数字> <数字序列>这行规则的意思是:“一个<数字序列>要么是一个<数字>(单个数字),要么是一个<数字>后面跟着另一个<数字序列>(递归定义,实现重复)。比如,123<数字序列>→。
2025-09-06 14:36:24
29
原创 MySQL分布式锁的本质:唯一约束 vs. 行锁机制(结合电商库存实例详解)
唯一约束锁的本质:利用数据库的数据完整性规则,通过“插入即占有”的语义实现互斥。它是一种乐观的、基于状态的锁。行级锁的本质:利用数据库的并发控制协议,通过“锁定资源”的方式阻止其他事务访问。它是一种悲观的、基于资源的锁。如果你希望实现一个通用、可靠、可重用的锁服务,选唯一约束锁。如果你在一个短小事务中直接操作库存行,且希望最严格的串行化,可以考虑FOR UPDATE,但需谨慎处理事务边界。最终建议:对于大多数分布式场景,基于唯一约束的MySQL分布式锁是更优选择。
2025-09-03 19:55:51
27
原创 Bazel 和 CMake 的区别
如果你有一个大规模的项目,并且需要高效的增量构建并行构建跨平台支持,并且项目规模较大、依赖关系复杂,Bazel可能更合适。如果你需要跨平台的构建支持,并且你希望生成适用于不同平台和编译器的构建文件,或者你的项目规模不大,CMake可能是更合适的选择。
2025-09-01 09:45:09
28
原创 十分钟快速掌握 YML YAML 文件
YML是YAML的缩写,是一种人类可读的数据序列化语言。它旨在以一种简洁、直观的方式表示数据结构,如列表、映射和标量值。YML文件通常以.yml或.yaml为扩展名。核心特点:简洁易读:使用缩进和冒号表示结构,避免了XML或JSON中的冗余符号。支持多种数据类型:包括字符串、数字、布尔值、列表、映射等。跨语言支持:大多数编程语言都有YML解析库。
2025-09-01 00:02:38
732
原创 互联网大厂 git 分支命名规范
在互联网大厂的敏捷开发环境中,成百上千的开发者协同工作于同一个代码库。为了确保代码集成的稳定性、提高开发效率、明确责任归属并支持复杂的发布流程,一套清晰、统一且强制执行的(Branch Naming Convention)是必不可少的。
2025-08-28 00:52:27
73
原创 C++项目单元测试实战
目前,C++社区中有多个成熟的测试框架。为例进行详细讲解,因其功能全面、文档丰富,是工业级项目的首选。功能_场景_期望结果。
2025-08-27 00:16:42
187
原创 ssh-copy-id 命令简化SSH登录
是一个脚本工具,通常随OpenSSH客户端一起安装。它的主要功能是将本地用户的SSH公钥自动复制到远程主机的 文件中,从而实现基于密钥的身份验证,免去每次登录时输入密码的麻烦。 在以下场景中尤为有用:常用选项包括:在本地机器上执行以下命令生成密钥对:按提示操作,通常直接回车使用默认设置即可。生成的私钥为 ,公钥为 。将本地公钥复制到远程服务器:系统会提示你输入远程用户的密码。验证通过后,公钥将被追加到远程主机的 文件中。如果远程SSH服务运行在端口2222:指定特定的公钥文件如果你有多个密钥,
2025-08-27 00:12:02
468
原创 Boost.Asio 库中的 async_read_some用法
是类提供的一个非阻塞(异步)读取函数,用于从已连接的 TCP 套接字中读取数据。其核心特点是立即返回,不会阻塞调用线程,实际的数据读取操作在后台由 I/O 服务(io_context)完成,完成后通过回调函数通知应用程序。
2025-08-23 23:03:57
108
原创 VSCode设置一行太长,换行显示
如果我们在VSCode中一行太长,它会出现滚动条,你如果需要看完整,则需要向右拖动滚动条才可以看到,很麻烦!在 settings里面搜索 wrap,将下面的选项设置为on就行了。实际上可以设置为不显示滚动条,完整显示这行的内容!上面的2,3行,太长则换行显示了!
2025-08-23 13:43:27
115
原创 Boost.Asio io_service 与 线程 的分析
模式优点缺点推荐度1:1 (io_service:线程)简单、安全性能瓶颈⭐⭐⭐1:N (io_service:线程)高并发、高性能需处理线程安全⭐⭐⭐⭐⭐M:1 (io_service:线程)理论可行低效、反模式⭐📌参考资料Boost.Asio 官方文档。
2025-08-10 21:52:48
110
1
原创 log4cpp、log4cplus 与 log4cxx 三大 C++ 日志框架
受 Java 领域著名日志框架的启发,社区衍生出了多个 C++ 版本的日志库。其中,和是最广为人知的三大实现。
2025-08-10 16:43:29
66
原创 log4cplus 中的常用 Appender
Appender用途适用场景控制台输出调试、开发环境普通文件写入简单持久化按大小滚动防止日志过大按时间滚动按日期归档异步写入高性能、低延迟网络传输集中式日志管理。
2025-08-10 16:34:34
41
原创 C++ 日志 log4cplus 使用与配置指南
log4cplus多种日志级别(TRACE, DEBUG, INFO, WARN, ERROR, FATAL)多种输出方式(控制台、文件、滚动文件、远程 socket 等)自定义日志格式(通过 Layout)配置文件驱动(支持 properties 文件)线程安全(默认启用)// 添加自定义级别(需继承) // 一般不推荐,除非有特殊需求log4cplus是 C++ 项目中一个成熟、稳定、功能丰富的日志解决方案。它通过的设计模式,实现了高度的灵活性和可配置性。
2025-08-09 14:26:27
149
原创 Linux tail 命令详解
场景推荐命令查看日志最后 20 行实时监控日志(生产环境)✅调试某个进程输出脚本中处理输出查看大文件末尾 1MB。
2025-08-07 12:29:41
789
原创 C++ 双缓冲(Double Buffering)实现无锁读取与高效数据更新
在高并发、高性能的 C++ 应用程序中,如何安全、高效地处理“”场景是一个经典难题。频繁的锁竞争会导致读性能急剧下降。技术为此提供了一个优雅而高效的解决方案。
2025-07-30 16:57:51
105
原创 深入理解 boost::lock_guard<boost::mutex>
Boost 版本主要用于不支持 C++11 的旧项目或需要 Boost 特性的场景。两者的接口和行为几乎一致。:使用互斥量(Mutex)确保同一时刻只有一个线程能访问。两个线程的操作可能交错执行,导致某些增量“丢失”。的出现正是为了解决上述问题。如果不需要阻塞,需要使用。从 C++11 开始,标准库。最直接的方法是手动调用。
2025-07-29 20:28:03
183
原创 深入剖析 boost::unique_lock<boost::mutex>
是 C++ 多线程编程中不可或缺的工具。RAII 安全:自动管理锁的生命周期,防止资源泄漏。极致灵活:支持延迟、尝试、手动加解锁,满足复杂同步需求。条件变量基石:是实现线程间高效通信的必备组件。掌握,你就掌握了构建健壮、高效并发程序的关键钥匙。从简单的临界区保护到复杂的生产者-消费者模式,都能为你提供坚实的支持。记住灵活性是力量,也是责任。善用的强大功能,同时遵循最佳实践,你就能在并发的世界里游刃有余。参考资料。
2025-07-29 20:23:19
234
原创 阿里云对象存储OSS(Object Storage Service)全面解析
阿里云对象存储服务(Object Storage Service,简称 OSS) 是一款海量、安全、低成本、高可靠的云存储服务,可提供99.9999999999%(12个9)的数据持久性,99.995%的数据可用性。多种存储类型供选择,全面优化存储成本。
2025-07-26 14:25:41
1080
原创 局域网 IP地址
局域网 IP 地址,也称为私有 IP 地址(Private IP Address),是用于在局域网内部标识设备的地址。这些地址不能直接在互联网上被访问,通常由路由器自动分配,用于设备之间的内部通信。
2025-07-25 21:42:44
451
原创 四层负载均衡与七层负载均衡详解
负载均衡是一种将网络请求分发到多个服务器的技术,目的是避免单点故障、提高系统可用性、提升性能和实现弹性扩展。物理层(Physical Layer)数据链路层(Data Link Layer)网络层(Network Layer)传输层(Transport Layer)会话层(Session Layer)表示层(Presentation Layer)应用层(Application Layer)负载均衡主要涉及的是第4 层(传输层)和第7 层(应用层)。四层负载均衡工作在OSI 模型的传输层。
2025-07-25 00:30:45
972
原创 在 Windows 使用 Nginx/HAProxy 实现负载均衡
工具协议支持负载均衡算法Windows 支持优点NginxTCP(需 stream 模块)有限(推荐使用 WSL)易于配置,适合 HTTP/TCP 混合场景HAProxyTCPleast_conn, round-robin, uri 等支持(需下载 Windows 版本)专业 TCP 负载均衡器,功能丰富有兴趣的还可以继续实现 HTTPS、限流、健康检查等功能!
2025-07-25 00:25:30
983
原创 高性能反向代理与负载均衡 HAProxy 与 Nginx
是一个使用 C 语言编写的高性能 TCP/HTTP 负载均衡器和代理服务器,广泛用于企业级 Web 架构中。它专注于提供高可用性、负载均衡和代理服务,尤其适合需要高并发、低延迟的场景。支持 TCP 和 HTTP 层代理高性能、低资源消耗支持多种负载均衡算法支持健康检查、会话保持、SSL 终止提供状态监控页面HAProxy 官方文档Nginx(发音为 “engine-x”)是一个高性能的 HTTP 和反向代理服务器,也可以用作邮件代理服务器、通用 TCP/UDP 代理服务器等。
2025-07-25 00:17:15
1160
原创 从 Linux 将文件下载到 Windows 的几种实用方法
方法是否推荐说明scp✅ 强烈推荐快速、安全、无需图形界面rsync✅ 推荐(高级)适合大量文件同步sftp✅ 推荐交互式下载,适合调试HTTP 服务✅ 推荐(临时)适合无权限拷贝时WinSCP✅ 推荐图形化操作,适合新手。
2025-07-23 17:21:39
493
原创 Windows 用 Python3 快速搭建 HTTP 服务器
在日常开发或运维中,我们经常需要临时共享文件,比如将 Windows 上的文件快速共享给 Linux 主机。本文将介绍一种的方式,使用,在 Windows 上快速搭建一个本地 HTTP 服务器,并从 Linux 主机使用wget下载文件。
2025-07-23 17:07:15
171
原创 VS Code 中终端打印日志不全解决方法
把这个改为 100000 , 注意,几类配置都改一下!搜索 关键词 scrollback。打开VS Code 的Settings。
2025-07-22 20:27:57
353
原创 Boost.Asio 中的 acceptor
方法说明打开指定协议的 acceptor绑定到指定端口开始监听连接, backlog 最大未完成连接数同步接受连接异步接受连接设置 socket 选项(如 reuse_address)关闭 acceptor。
2025-07-22 10:13:28
85
原创 boost::asio 中 io_service与线程的关系
io_service模型描述优点缺点适用场景单线程io_service所有任务在一个线程中串行执行简单、安全无法利用多核调试、小型服务多线程io_service多个线程共享一个io_service并发处理能力强需要线程安全机制中小型并发服务多个io_service+ 多线程每个线程绑定一个io_service资源隔离、扩展性强管理复杂大型服务器、模块化设计。
2025-07-21 23:48:15
741
原创 Windows 下 VS2019 编译 libevent-2.1.10 库
1. 你需要VS2019 编译好openssl-1.1.1 ,这个具体编译或者下载可以参考我的博客。接下来,打开CMake ,主要是下面的需要设置好。最后Config Generate即可;然后INSTALL右键生成。最后生成的库是这两个文件。全部成功生成 22个。
2025-07-18 17:45:42
63
openGL的实用工具包 GLUT库
2011-10-23
UGUI Super ScrollView 最新版2.3.2
2019-02-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人