- 博客(55)
- 收藏
- 关注
原创 MVC与MVVM 架构
1️⃣ 所有逻辑都堆到 Controller上了,如 业务逻辑,数据处理,UI控制,结果就是 变成“上帝类,难维护。表示应用程序的数据负责处理数据的存取、处理和操作,Model并不直接与UI层交互,它只暴露一些接口供ViewModel层调用,使得ViewModel可以获取所需的数据。在 MVC 中,Controller 既要处理业务逻辑,又要操作 View 的更新。Controller 捕捉到动作,向后端发送数据,后端返回的数据 (修改 Model) Model 改变后,在通知 View 更新显示。
2026-04-26 20:31:46
480
原创 DNS协议、ICMP协议
本文介绍了DNS和ICMP两大网络协议的核心概念。DNS系统通过分层域名结构将主机名映射到IP地址,解析过程从浏览器缓存到本地DNS服务器,再到根域名服务器逐级查询。ICMP作为网络层协议,用于检测网络连通性和诊断问题,其报文分为错误报告和查询两类。重点讲解了ping命令基于ICMP实现网络测试的原理,以及traceroute利用TTL值探测路由路径的机制。文中还澄清了常见误区,指出ICMP协议不涉及传输层端口概念,并配有详细的流程图解和实际命令示例,帮助读者深入理解网络基础协议的工作原理。
2026-04-12 13:59:18
384
原创 自旋锁使用与原理
自旋锁是一种多线程同步机制,用于保护共享资源免受并发访问的影响。在多个线程尝试获取锁时,它们会持续自旋(即在一个循环中不断检查锁是否可用)而不是立即进入休眠状态等待锁的释放。这种机制减少了线程切换的开销,适用于短时间内锁的竞争情况。但是不合理的使用,可能会造成 CPU 的浪费。
2026-04-11 14:38:32
176
原创 读者写者问题与读写锁
摘要:读者写者问题是通过读写锁实现共享资源并发访问的经典案例。文章介绍了读写锁的基本原理(写独占、读共享)和伪代码实现,展示了C++多线程案例,包含2个读者和2个写者线程的并发控制。同时分析了两种调度策略:读者优先可能导致写者饥饿,而写者优先可能造成读者饥饿,默认情况下读写锁采用读者优先策略。文中还提供了pthread读写锁的API接口和使用注意事项。
2026-04-11 12:50:10
335
原创 LangChain能力详解 - 1
步骤一:安装 OpenAI 包步骤二:定义⼤模型# 定义⼤模型步骤3:定义消息列表# 定义消息列表"),SystemMessage :表⽰ 系统⻆⾊ 消息,系统消息通常作为输⼊消息序列中的第⼀条传⼊,是⽤来启动 AI ⾏为的消息。HumanMessage :表⽰ ⽤⼾⻆⾊ 消息,是来⾃⽤⼾的、从⽤⼾传递到模型的消息。步骤4:调⽤⼤模型model 是 LangChain Runnable (可运⾏)接⼝的实例,这意味着 model 提供了⼀个标准接⼝供我们与之交互。
2026-04-06 15:07:52
430
原创 基于微服务脚手架的视频点播系统 (仿B站) [客户端] -2
在前⾯的实现中,程序中的数据、以及界⾯操作等全部搅合在⼀起,不利于代码的维护,为了降低耦合度,引⼊DataCenter类来专⻔管理程序中的各种数据,⽐如:分类和标签、视频信息、⽤⼾信息等。正常情况下,使用播放平台的每个用户就是一个客户端,按理说一个客户端只需要一份htpClient的对象和服务器完成数据交换即可,所以这样子设计并不合理。但实际GET方法也可以用来上传数据,比如百度搜索框中的数据就是使用GET方法提交的。谁要发请求,就在该界面里 new 一个 HttpClient,然后直接调用它的请求方法。
2025-11-20 10:28:36
963
1
原创 基于微服务脚手架的视频点播系统 (仿B站) [客户端] -1
本项目基于QT6框架开发了一个仿B站视频播放平台客户端,集成libmpv内核实现视频播放控制功能,支持弹幕、倍速播放、快进等操作。系统包含启动页、首页、播放页、登录页、个人中心、视频上传、系统管理等多个功能模块,采用HTTP协议与服务器交互。界面设计简洁友好,包含Toast提示等交互细节,支持管理员进行视频审核和角色管理。项目实现了完整的视频播放平台功能,包括用户权限管理、视频上传审核等业务流程。
2025-11-07 22:07:06
1802
1
原创 Ubuntu 虚拟机配置 Git 并推送到Gitee
本文详细介绍了如何从Ubuntu虚拟机上传代码到Gitee的完整流程。首先需要安装和配置Git,包括设置用户名和邮箱。然后通过生成SSH Key并添加到Gitee账户建立安全连接。最后演示了如何初始化本地仓库、关联远程仓库,以及使用Git三板斧(add/commit/push)完成代码上传。文中还特别说明了首次push需要使用-u参数建立关联,后续只需简单git push即可。整个过程包含详细命令行操作和图示说明,适合新手学习使用Git管理代码项目。
2025-08-26 22:26:12
627
原创 Qt cannot find C:\WINDOWS\TEMP\cctVBBgu: Invalid argument
Qt报错 cannot find C:\WINDOWS\TEMP\cctVBBgu: Invalid argument
2025-07-10 20:56:57
485
2
原创 自建数据库VS云数据库:从《中国数据库前世今生》看未来数据管理的抉择
通过观看《中国数据库前世今生》纪录片,我更加理解了中国数据库技术从无到有、从弱到强的发展历程,也意识到数据库的选择不再仅仅是技术问题,更是企业战略决策的一部分。无论是选择自建数据库还是云数据库,关键在于充分理解企业自身的需求和未来的发展方向。最终,适合自己的才是最好的。企业需要在“自主可控”与“灵活高效”之间找到平衡点,以确保数据库系统既能支撑当前业务发展,又能应对未来的挑战与机遇。“选择权在你手中,但未来的路要走得更远,选择的眼光要更宽。
2024-09-20 10:40:08
1151
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅