<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[sjp11的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/sjp11</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; sjp11]]></copyright><item><title><![CDATA[【c++11特性】——static_cast，dynamic_cast，const_cast，reinterpret_cast解析]]></title><link>https://blog.youkuaiyun.com/sjp11/article/details/133554629</link><guid>https://blog.youkuaiyun.com/sjp11/article/details/133554629</guid><author>sjp11</author><pubDate>Wed, 04 Oct 2023 20:15:38 +0800</pubDate><description><![CDATA[C++提供了四种主要的强制类型转换运算符，用于进行类型之间的显式转换,这种显示类型转换更直接明显，能够一眼看出是什么类型转换为什么类型，容易找出程序中的错误；可清楚地辨别代码中每个显式的强制转；可读性更好，能体现程序员的意图]]></description><category></category></item><item><title><![CDATA[【设计模式】——策略模式]]></title><link>https://blog.youkuaiyun.com/sjp11/article/details/133521573</link><guid>https://blog.youkuaiyun.com/sjp11/article/details/133521573</guid><author>sjp11</author><pubDate>Tue, 03 Oct 2023 16:37:00 +0800</pubDate><description><![CDATA[策略模式（Strategy Pattern）是一种行为型设计模式，它允许在运行时选择算法的行为。策略模式的核心思想是将不同的算法封装成独立的策略类，并使这些策略类可以互相替换，从而使客户端代码不依赖于具体的算法，增加了代码的灵活性和可维护性]]></description><category></category></item><item><title><![CDATA[【设计模式】——观察者模式]]></title><link>https://blog.youkuaiyun.com/sjp11/article/details/133303075</link><guid>https://blog.youkuaiyun.com/sjp11/article/details/133303075</guid><author>sjp11</author><pubDate>Tue, 26 Sep 2023 12:02:01 +0800</pubDate><description><![CDATA[观察者模式是一种行为设计模式，它定义了一种一对多的依赖关系，当一个对象的状态发生变化时，所有依赖于它的对象都会得到通知并自动更新]]></description><category></category></item><item><title><![CDATA[【网络云盘客户端】——项目简介]]></title><link>https://blog.youkuaiyun.com/sjp11/article/details/132513582</link><guid>https://blog.youkuaiyun.com/sjp11/article/details/132513582</guid><author>sjp11</author><pubDate>Sat, 26 Aug 2023 17:26:09 +0800</pubDate><description><![CDATA[网络云盘客户端时基于QT/C++框架实现了一个网络云盘客户端软件，主要功能包括用户的注册，登录，显示用户的个人文件列表，以及文件的上传，下载，删除，共享文件。]]></description><category></category></item><item><title><![CDATA[【Redis】——Redis基础的数据结构以及应用场景]]></title><link>https://blog.youkuaiyun.com/sjp11/article/details/132094354</link><guid>https://blog.youkuaiyun.com/sjp11/article/details/132094354</guid><author>sjp11</author><pubDate>Tue, 22 Aug 2023 22:28:09 +0800</pubDate><description><![CDATA[Redis 是一种基于内存的数据库，对数据的读写操作都是在内存中完成，因此读写速度非常快，常用于缓存，消息队列、分布式锁等场景。
，Redis 还支持事务 、持久化、Lua 脚本、多种集群方案（主从复制模式、哨兵模式、切片机群模式）、发布/订阅模式，内存淘汰机制、过期删除机制
Redis 应用非常广泛，如 Twitter、暴雪娱乐、Github、Stack Overflow、腾讯、阿里巴巴、京东、华为、新浪微博等，很多 中小型公司也在使用；]]></description><category></category></item><item><title><![CDATA[【server组件】——mysql连接池的实现原理]]></title><link>https://blog.youkuaiyun.com/sjp11/article/details/132074778</link><guid>https://blog.youkuaiyun.com/sjp11/article/details/132074778</guid><author>sjp11</author><pubDate>Mon, 14 Aug 2023 06:05:08 +0800</pubDate><description><![CDATA[数据库连接池（Connection pooling）是程序启动时建立足够的数据库连接，并将这些连接组成 一个连接池，由程序动态地对池中的连接进行 申请，使用，释放。]]></description><category></category></item><item><title><![CDATA[【Webserver】——线程池的原理，手写线程池]]></title><link>https://blog.youkuaiyun.com/sjp11/article/details/132149165</link><guid>https://blog.youkuaiyun.com/sjp11/article/details/132149165</guid><author>sjp11</author><pubDate>Mon, 07 Aug 2023 18:22:37 +0800</pubDate><description><![CDATA[线程池是一种 利用 池化技术思想 来实现的线程管理技术，主要是为了复用线程、便利地管理线程和任务、并将线程的 创建和任务的执行 解耦开来。我们可以创建线程池来复用已经创建的线程来降低频繁创建和销毁线程所带来的资源消耗。]]></description><category></category></item><item><title><![CDATA[【Redis】——RDB快照]]></title><link>https://blog.youkuaiyun.com/sjp11/article/details/132114543</link><guid>https://blog.youkuaiyun.com/sjp11/article/details/132114543</guid><author>sjp11</author><pubDate>Sat, 05 Aug 2023 02:14:25 +0800</pubDate><description><![CDATA[Redis 是内存数据库，但是它为数据的持久化提供了两个技术，一个是AOF日志，另一个是RDB快照：

AOF 文件的内容是操作命令；
RDB 文件的内容是二进制数据。]]></description><category></category></item><item><title><![CDATA[【Redis】——AOF持久化]]></title><link>https://blog.youkuaiyun.com/sjp11/article/details/132112637</link><guid>https://blog.youkuaiyun.com/sjp11/article/details/132112637</guid><author>sjp11</author><pubDate>Sat, 05 Aug 2023 00:52:47 +0800</pubDate><description><![CDATA[AOF日志是防止redis 因为宕机而导致 缓存区中的数据丢失 一个 日志文件
每当redis执行一条写命令的时候，就会将该命令记录 到AOF日志当中。
当redis启动的时候，就会加载AOF日志中的所有指令，并执行这些指令]]></description><category></category></item><item><title><![CDATA[【MySQL】——常用接口API即相关函数说明]]></title><link>https://blog.youkuaiyun.com/sjp11/article/details/132085550</link><guid>https://blog.youkuaiyun.com/sjp11/article/details/132085550</guid><author>sjp11</author><pubDate>Thu, 03 Aug 2023 19:18:50 +0800</pubDate><description><![CDATA[你必须使用mysql_real_query()而不是mysql_query()，因为二进制代码数据可能包含“\0”字符，而且，mysql_real_query()()将mysql_query()查询的全部结果读取到客户端，分配1个MYSQL_RES结构（上面有介绍），并将结果置于该结构中。读取数据，直至返回NULL，否则未读取的行会在下一次查询时作为结果的一部分返回，故经常我们使用。一旦完成了对结果集的操作，必须调用mysql_free_result()初始化检索，以便于后面一行一行的读取结果集，而它。]]></description><category></category></item><item><title><![CDATA[【QT 网络云盘客户端】——登录界面功能的实现]]></title><link>https://blog.youkuaiyun.com/sjp11/article/details/131777950</link><guid>https://blog.youkuaiyun.com/sjp11/article/details/131777950</guid><author>sjp11</author><pubDate>Fri, 28 Jul 2023 23:50:25 +0800</pubDate><description><![CDATA[2.验证服务器 和 端口号的格式，如果验证成功，将 服务器的 ip地址和 端口号写入到。1.点击 确定 按钮，获取服务器 ip 和端口号的 信息。1.客户端需要保存token，因为客户端接下来访问服务器。为了防止泄密，需要对用户名和密码进行二次加密，先进行desc加密，然后再进行base64加密。用户名，昵称，密码，确认密码，手机，邮箱。1.点击注册页面，将数据 输入 到。1.点击登录，获取用户名和密码。，比如说手机号只能由数字组成。cfg.json文件。conf.json文件。会校验 各个输入框中。]]></description><category></category></item><item><title><![CDATA[【QT 网络云盘客户端】——获取用户文件列表信息]]></title><link>https://blog.youkuaiyun.com/sjp11/article/details/131820992</link><guid>https://blog.youkuaiyun.com/sjp11/article/details/131820992</guid><author>sjp11</author><pubDate>Fri, 28 Jul 2023 22:29:58 +0800</pubDate><description><![CDATA[如果文件数量大于0，则会getFileList获取所有文件的信息。显示到 QWidgetList窗口上。FileInfo是一个自定义文件结构体）m_fileInfoList中 中的所有。文件信息列表Json包是一个Json对象。将QListWidget设置为图标模式。获取到所有的文件信息后，就需要将。3.将获取的所有的文件信息保存到。图标 包含 图片和文件名。]]></description><category></category></item><item><title><![CDATA[【网络云盘客户端】——上传文件的功能的实现]]></title><link>https://blog.youkuaiyun.com/sjp11/article/details/131820264</link><guid>https://blog.youkuaiyun.com/sjp11/article/details/131820264</guid><author>sjp11</author><pubDate>Fri, 28 Jul 2023 19:10:03 +0800</pubDate><description><![CDATA[1.双击”上传文件 “的 QListWidgetItem 或者 点击 “上传” 菜单项 都会弹出一个文件对话框
2.在文件对话框选中对应的文件，保存所有文件的路径（在对话框中可以选中多个文件）

3.将对应的文件存放到 uploadtask* m_uploadtask中（uploadtask 是一个上传文件队列类型）]]></description><category></category></item><item><title><![CDATA[【QT 网络云盘客户端】——实现文件属性窗口]]></title><link>https://blog.youkuaiyun.com/sjp11/article/details/131971858</link><guid>https://blog.youkuaiyun.com/sjp11/article/details/131971858</guid><author>sjp11</author><pubDate>Fri, 28 Jul 2023 04:11:26 +0800</pubDate><description><![CDATA[当我们点击文件中的属性，则会弹出一个属性对话框：实现过程：0.。1.鼠获取鼠标选中的,它包含图标和文件名2.根据文件名找到对应的FileInfo对象ps:FileInfo是文件信息对象,在显示文件列表的过程中，就已经将每个文件的 文件信息保存到 QList m_fileInfoList3.将FileInfo对象 中的信息设置 进文件属性对话框中。]]></description><category></category></item><item><title><![CDATA[【QT 网络云盘客户端】——主窗口界面的设计]]></title><link>https://blog.youkuaiyun.com/sjp11/article/details/131777438</link><guid>https://blog.youkuaiyun.com/sjp11/article/details/131777438</guid><author>sjp11</author><pubDate>Fri, 28 Jul 2023 02:40:04 +0800</pubDate><description><![CDATA[widget是用来显示自定义标题栏的，stackWidget是可以用来显示多个页面。

在stackedWidget添加3个页面，分别是 ”我的文件“，”共享列表“，”传输列表“，

注意：stackedWidget 的新添页面不能够单独的删除它。]]></description><category></category></item><item><title><![CDATA[【QT】——QListWidget的使用]]></title><link>https://blog.youkuaiyun.com/sjp11/article/details/131795537</link><guid>https://blog.youkuaiyun.com/sjp11/article/details/131795537</guid><author>sjp11</author><pubDate>Tue, 18 Jul 2023 23:26:01 +0800</pubDate><description><![CDATA[QListWidget 是qt中的列表框控件，它用于显示多个列表项，列表项对应的类是QListWidgetItem.
列表项中可以同时包含图片和文字。]]></description><category></category></item><item><title><![CDATA[【QT】——Base64加解密]]></title><link>https://blog.youkuaiyun.com/sjp11/article/details/131733571</link><guid>https://blog.youkuaiyun.com/sjp11/article/details/131733571</guid><author>sjp11</author><pubDate>Sat, 15 Jul 2023 00:56:35 +0800</pubDate><description><![CDATA[示例：(原文)转换前:（二进制）转换为四个6Bit ：（二进制）填充0：（二进制）]]></description><category></category></item><item><title><![CDATA[【QT】——QT中HTTP通信的使用流程]]></title><link>https://blog.youkuaiyun.com/sjp11/article/details/131629329</link><guid>https://blog.youkuaiyun.com/sjp11/article/details/131629329</guid><author>sjp11</author><pubDate>Thu, 13 Jul 2023 23:50:42 +0800</pubDate><description><![CDATA[Qt中的HTTP通信访问 API 是围绕 QNetworkAccessManager 对象构建的，该对象保存它发送的请求的通用配置和设置，一个 QNetworkAccessManager 实例应该足以满足整个 Qt 应用程序网络访问的需求。]]></description><category></category></item><item><title><![CDATA[【QT网络云盘】——设计登录界面（手把手教学）]]></title><link>https://blog.youkuaiyun.com/sjp11/article/details/131671322</link><guid>https://blog.youkuaiyun.com/sjp11/article/details/131671322</guid><author>sjp11</author><pubDate>Thu, 13 Jul 2023 23:10:57 +0800</pubDate><description><![CDATA[1.在项目中创建一个新的widget文件，步骤如下2.在新的ui界面中设计自定义标题栏步骤：1.点击窗口，在属性表中设置宽度。2.将控件拖放到窗口上，并对其水平布局，并删除掉按钮的文本3.进入各个按钮的样式表，将图片的 设置进 图片中;4.最终形成自定义标题框5.将标题框设置进主界面中将自定义的标题栏的类名 设置进去。选择对应的类，最后点击提升即可。点击运行代码，发现原先的标题栏还存在。]]></description><category></category></item><item><title><![CDATA[正则表达式概念以及语法的使用]]></title><link>https://blog.youkuaiyun.com/sjp11/article/details/131702490</link><guid>https://blog.youkuaiyun.com/sjp11/article/details/131702490</guid><author>sjp11</author><pubDate>Thu, 13 Jul 2023 17:31:52 +0800</pubDate><description><![CDATA[正则表达式(Regular Expression)和特殊字符（称为"元字符"），正则表达式。]]></description><category></category></item></channel></rss>