- 博客(103)
- 收藏
- 关注
原创 Qt 导入TagLib库
最近在使用Qt写一个播放器,需要解析mp3文件,于是研究了一下如何导入TagLib库Qt Creator安装目录:电脑版本:Windows11。
2025-03-20 17:02:12
1033
原创 云备份项目--服务端编写
客户端第一次下载文件的时候,会收到这个响应信息,第二次下载,就会将这个信息发送给服务器,想要让服务器根据这个唯一标识判断。允许客户端在下载过程中恢复中断的下载,或者只下载资源的一部分,这可以提高下载效率,尤其是在处理大文件时。它是一种机制,用于确定客户端缓存的副本是否是最新的。: 对服务器上备份的文件进行检测,哪些文件长时间没有被访问,则认为是非热点文件,则压缩存储,节省磁盘空间。这个资源有没有被修改过,如果没有被修改过,直接使用原先缓存的数据,不用重新下载了。TODO: 读写锁?
2025-01-04 17:01:10
1194
原创 云备份项目--准备阶段
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript的一个子集,但是独立于语言,可以被多种编程语言读取。JSON采用文本格式,易于阅读和编写,同时也易于机器解析和生成。键值对:JSON中的每个元素都由键值对组成,键和值之间用冒号(:)分隔,键名必须用双引号括起来。数据类型。
2024-12-18 11:13:41
330
原创 HTTP 协议
里硬编码html代码不太好,更好的是建一个web根目录,Web 根目录是 Web 服务器用于存放可通过网络访问的文件的基本目录。它是 Web 站点文件层次结构的顶层目录,所有的 Web 资源(如 HTML 文件、CSS 文件、JavaScript 文件、图像等)都存储在这个目录或它的子目录下。当用户在浏览器中输入域名时,计算机需要通过域名系统(DNS)将域名转换为对应的 IP 地址,才能找到相应的服务器并获取网站内容。之前的测试时访问页面的url域名后的路径并没有处理,就算url随便写,也能访问到页面。
2024-12-14 17:16:12
1003
原创 MySQL事务
事务的定义**事务(Transaction)就是一组DML(增删查改)语句组成,这些语句在逻辑上存在相关性,这一组DML语句要么全部成功,要么全部失败,是一个整体。**它是数据库管理系统中用于保证数据一致性和完整性的重要机制。例如,在一个银行转账系统中,从一个账户转出资金并转入另一个账户的操作就是一个事务,这个事务包括两个主要操作:从转出账户扣除金额和向转入账户增加金额。事务的特性(ACID)原子性(Atomicity):原子性是指事务是一个不可分割的操作单元。
2024-12-04 19:53:44
685
原创 MySQL索引
索引是一种数据库结构,用于快速查找和访问表中的数据行。它就像是一本书的目录,通过索引,数据库管理系统(DBMS)可以快速定位到表中符合条件的数据,而不必逐行扫描整个表。在 MySQL 中,索引是存储在磁盘上的一种数据结构,它包含了表中一列或多列的值以及对应的行位置信息。
2024-12-01 11:57:15
1007
原创 复合查询和内外连接
文章目录1. 简单查询2. 多表查询2.1 显示雇员名、雇员工资以及所在部门的名字2.2 显示部门号为10的部门名,员工名和工资2.3 显示各个员工的姓名,工资,及工资级别3. 自连接4. 子查询4.1 where后的子查询4.1.1 单行子查询4.1.2 多行子查询 (in, all, any)4.1.3 多列子查询4.2 from后的子查询4.3 合并查询5. 内外连接5.1 内连接5.2 左外连接5.3 右外连接1. 简单查询先做几个简单查询的题目,使用下面的emp表查询工资高于2000或岗
2024-11-27 22:21:00
1139
原创 MySQL 内置函数
函数描述字符串 s1,s2 等多个字符串合并为一个字符串返回s2在s1中的位置,没有返回0,类似strstr()UCASE(s)将字符串转换为大写UPPER(s)将字符串转换为大写LEFT(s,n)返回字符串 s 的前 n 个字符RIGHT(s,n)返回字符串 s 的后 n 个字符LENGTH(s)返回s字符串的长度,返回的是字节数将字符串 s2 替代字符串 s 中的字符串 s1。
2024-11-26 14:44:08
1275
原创 Qt常用控件 按钮
继承⾃。这个类是⼀个抽象类.是其他按钮的⽗类。继承自QWidget下面是的一些属性属性说明text按钮中的⽂本icon按钮中的图标iconSize按钮中图标的尺⼨shortCut按钮对应的快捷键autoRepeat按钮是否会重复触发.当⿏标左键按住不放时,如果设为true,则会持续产⽣⿏标点击事件;如果设为false,则必须释放⿏标,再次按下⿏标时才能产⽣点击事件. (相当于游戏⼿柄上的"连发"效果)重复触发的延时时间.按住按钮多久之后,开始重复触发.重复触发的周期。
2024-11-23 16:52:54
1008
原创 自定义协议
自定义协议// 添加报头return ret;// 移除报头 "len\n""a op b\n"???// text可能除了"len\na op b\n"外增加了其它字符,比如"len\na op b\nlen\n..."。这里拿取了一个完整的// 移除这一个完整的报文,防止text越来越大int _a;int _b;char _op;// 构建有效载荷,将成员属性变为 "_a op _b"tmp += _op;*out = tmp;
2024-11-22 21:11:38
1124
原创 表的增查改删
在插入数据时处理可能的重复键值问题。当尝试插入的数据与现有数据的主键或唯一索引键冲突时,这个语法可以更新现有记录而不是插入新记录。条件筛选的阶段是不同的,比如我们想 显示每个部门的每种岗位的平均工资小于2000的人,并且不想显示岗位为。如果你想要在插入数据时,如果遇到主键或唯一索引冲突,则替换原有的记录,可以使用。下面是聚合函数的例子,使用 [2.1](#2.1 基础语法) 中的表。不认识total,这是因为对于上面的语句,执行的顺序是,先检查。备份[2.1](#2.1 基础语法)中的表,使用该表。
2024-11-21 00:32:36
1013
原创 QWidget 核心属性
API说明获取到控件的可⽤状态.设置控件是否可使⽤. true 表⽰可⽤, false 表⽰禁⽤.所谓"禁⽤"指的是该控件不能接收任何⽤⼾的输⼊事件,并且外观上往往是灰⾊的.如果⼀个widget被禁⽤,则该widget的⼦元素也被禁⽤.包含4个参数:x 横坐标,y 纵坐标,width 宽度,height ⾼度API说明geometry()获取到控件的位置和尺⼨.返回结果是⼀个QRect,包含了x,y,width,height.其中x,y是左上⻆的坐标.
2024-11-17 11:58:19
952
原创 MySQL 表的约束
表的约束(Table Constraints)是数据库管理系统中。它们定义了表中数据必须遵循的限制条件,以确保数据的准确性和可靠性。表的约束很多,这里主要介绍如下几个: null/not null,default, comment, zerofill,primary key,auto_increment,unique key。
2024-11-13 11:16:06
1222
原创 简单的TCP程序
函数的主要用途是将网络地址(如IPv4或IPv6地址)从它们的二进制表示形式转换为人类可读的点分十进制形式(对于IPv4)或冒号分隔形式(对于IPv6)。因为子进程继承了父进程的进程组ID,而其进程ID是新分配的,两者不可能相等,这样就保证了子进程不是一个进程组的组长。监听套接字通常设置为非阻塞模式,这样服务器可以在等待新的连接请求时继续执行其他任务,如处理已建立的连接。如果调用该函数的进程是一个进程组的组长,则该函数返回出错。状态的套接字(服务器端)接受一个连接请求,并创建一个新的套接字来处理这个连接。
2024-11-09 17:46:22
1007
1
原创 MySQL数据类型
可以看到,虽然插入值了,但是却看不到,这是因为bit字段在显示时,是按照ASCII码对应的值显示,如果我们插入65(A的ASCII是65)。有一个调查表votes,需要调查人的喜好, 比如(登山,游泳,篮球,武术)中去选择(可以多选), (男,女)[单选]和 空 是有区别的,上面的第4条插入李四和第6条插入田七时,由于下标选的是0,插入的是空。这是因为MySQL增加了约束,保证了插入数据库的数据是可信的,不会像c/c++那样发生截断。,NULL是没有,而空指的是空字符串。类型的t3随着数据的修改而更新。
2024-11-07 21:53:48
881
原创 MySQL 数据库之库操作
使用和命令mysql是数据库服务的客户端mysql是MySQL数据库的命令行客户端工具,用户可以通过它连接到MySQL服务器并与之交互。它允许用户执行SQL语句来查询、更新和管理数据库。mysql客户端是用户与MySQL数据库进行通信的接口。mysqld是数据库服务的服务器端mysqld是MySQL数据库服务器的守护进程(daemon),它是MySQL服务器的核心,负责处理客户端的连接请求、执行SQL语句、管理数据库文件等。mysqld。
2024-11-05 20:27:41
1078
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人