logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

MySQL(一):数据库基础与MySQL入门

① 宏观与微观数据库:从微观层面来看,它指的是长期存储在计算机内、有组织的、可共享的大量数据的集合。简单来说,就是物理磁盘上按照特定格式排列、存放数据的实际文件数据库管理系统:指的是位于用户与操作系统之间的一层大型数据管理软件。我们常说的 MySQL、Oracle、SQL Server,其本质都是 DBMS。它们就像是数据的 "管家",负责组织和存储数据,高效地获取和维护数据。用户不需要直接去操作

文章图片
#数据库#mysql#sql
Linux网络编程(十一):守护进程、进程组与会话机制

守护进程(Daemon),是 Linux 操作系统中一种后台服务进程在古希腊神话中,Daemon代表着一种 "守护神" 或 "精灵",它们在暗处默默地履行着守护世界的职责。计算机科学家借用这个概念,来命名那些生存周期极长、没有控制终端、在后台提供服务的进程在 Linux 系统中,守护进程始终在幕后默默工作,为日常操作提供支持。名称通常以字母 "d" 结尾进程名底层职责systemdLinux 系统

文章图片
#linux#服务器#tcp/ip +1
Linux网络编程(十):自定义协议与网络计算器

本文深入探讨了网络编程中自定义协议的设计与实现。通过开发网络计算器项目,作者系统性地解决了TCP字节流传输中的粘包和半包问题,提出了一套完整的应用层协议解决方案。文章详细阐述了协议设计的关键要素:1) 采用"长度报头+分隔符"的报文格式确保边界清晰;2) 实现序列化/反序列化机制处理结构化数据;3) 模块化架构分离网络传输、协议解析和业务逻辑。项目采用C++实现,结合JsonC

文章图片
#网络#服务器#tcp/ip +1
Linux网络编程(九):应用层协议与序列化

本文深入探讨了网络编程中应用层协议与序列化的核心概念。首先解析了协议的本质是计算机间的标准化约定,确保数据能被正确解析。文章重点介绍了JSON作为应用层协议载体的优势,包括跨语言支持和可读性,并详细讲解了JsonCpp库的使用方法,涵盖动态构造、类型检查、序列化等关键操作。通过全双工通信模型的阐述,揭示了TCP内核缓冲区如何实现高效双向数据传输。最后,文章对比了新旧API的差异,展示了现代工业级序

文章图片
#网络#服务器#运维 +1
Linux网络编程(八):基于TCP实现CommandServer

本文介绍了如何构建一个TCP CommandServer(远端命令执行服务器),实现客户端通过网络发送指令并在服务端执行的功能。文章首先分析了EchoServer的局限性,指出网络服务的核心价值在于驱动业务逻辑。随后详细阐述了CommandServer的整体架构设计,包括网络引擎层、异步任务并发层和命令执行层的模块划分。重点讲解了Command模块的实现,通过popen系统调用执行命令并捕获输出,

文章图片
#网络#linux#tcp/ip +1
Linux网络编程(六):UDP聊天室与线程池

为了打破 "一问一答" 的局限,我们需要构建一个真正的群聊多点广播模型从 "无状态" 到 "有状态": 服务端在内存中必须引入一个在线用户管理表。任意一个客户端首次向服务器发送消息时,服务端需要捕捉其 sockaddr_in 地址,判定其为新用户上线,并将其身份记录在表中全员广播: 当任何一个在线用户向服务器发送一条聊天消息时,服务端在接收到数据后,不再只是单线回复。而是会遍历整个在线用户管理表,

文章图片
#udp#网络#linux +1
Linux网络编程(六):UDP聊天室与线程池

为了打破 "一问一答" 的局限,我们需要构建一个真正的群聊多点广播模型从 "无状态" 到 "有状态": 服务端在内存中必须引入一个在线用户管理表。任意一个客户端首次向服务器发送消息时,服务端需要捕捉其 sockaddr_in 地址,判定其为新用户上线,并将其身份记录在表中全员广播: 当任何一个在线用户向服务器发送一条聊天消息时,服务端在接收到数据后,不再只是单线回复。而是会遍历整个在线用户管理表,

文章图片
#udp#网络#linux +1
Linux网络编程(五):基于UDP实现DictServer

本文介绍了基于UDP协议实现的网络词典服务器(DictServer)的设计与实现。相比简单的EchoServer,DictServer引入了实际业务逻辑,通过集中式词典服务解决了单机程序的数据冗余和更新维护问题。文章详细阐述了系统架构设计,包括使用UDP协议的优势、词典数据模块的哈希表实现、服务端与业务逻辑的解耦设计(通过回调函数机制),以及完整的客户端-服务端交互流程。测试结果表明,该系统能正确

文章图片
#网络#linux#udp +1
Linux线程(三):线程同步、互斥与生产者消费者模型

Mutex(全称 Mutual Exclusion)是一种用于保护临界资源的硬件/软件原语。它像是一把 "锁",在任意时刻,只允许一个执行流持有这把锁锁的特性:如果一个线程尝试获取已被其他线程持有的锁,该线程将被挂起(阻塞),直到锁被释放粒度:Mutex 保护的是代码路径(临界区),通过限制对代码的访问来间接保护数据综上所述,从共享资源、临界区、原子性,到互斥锁、条件变量以及生产者消费者模型,我们

文章图片
#开发语言#linux#服务器
Linux线程(一):线程概念与地址空间本质

在传统的操作系统教材中,线程通常被定义为执行流的最小单位,而进程是资源分配的最小单位。但这个定义过于抽象历史背景与逻辑复用在早期的 UNIX 时代,系统里只有进程。如果你想让一个程序同时干两件事(比如一边下载一边播放),你必须 fork 一个子进程。但 fork 的代价是巨大的:它需要复制一份完整的页表、文件描述符表、信号处理逻辑等Linux 的开发者在设计线程时,并没有像 Windows 或 S

文章图片
#开发语言#linux#操作系统
    共 20 条
  • 1
  • 2
  • 请选择