<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[打工小王的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_74967651</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_74967651]]></copyright><item><title><![CDATA[Jupyter使用教程]]></title><link>https://blog.youkuaiyun.com/qq_74967651/article/details/163633316</link><guid>https://blog.youkuaiyun.com/qq_74967651/article/details/163633316</guid><author>qq_74967651</author><pubDate>Mon, 10 Aug 2026 13:20:58 +0800</pubDate><description><![CDATA[首先确认已安装python环境，已安装pip然后使用pip安装Jupyter Notebook安装完成后检查确认安装无误。]]></description><category></category></item><item><title><![CDATA[github教程之多人协作]]></title><link>https://blog.youkuaiyun.com/qq_74967651/article/details/163554149</link><guid>https://blog.youkuaiyun.com/qq_74967651/article/details/163554149</guid><author>qq_74967651</author><pubDate>Fri, 07 Aug 2026 10:54:25 +0800</pubDate><description><![CDATA[进入GitHub首页，点击右上角的‘+’号，选择“New repository”编辑仓库信息后点击“Create repository”完成远程仓库的建立.]]></description><category></category></item><item><title><![CDATA[项目总结——云商城]]></title><link>https://blog.youkuaiyun.com/qq_74967651/article/details/158419265</link><guid>https://blog.youkuaiyun.com/qq_74967651/article/details/158419265</guid><author>qq_74967651</author><pubDate>Tue, 04 Aug 2026 15:43:43 +0800</pubDate><description><![CDATA[针对B站古泡机构推出的云商城项目进行的总结，可以用于面试时介绍项目功能
]]></description><category></category></item><item><title><![CDATA[服务器搭建]]></title><link>https://blog.youkuaiyun.com/qq_74967651/article/details/163238617</link><guid>https://blog.youkuaiyun.com/qq_74967651/article/details/163238617</guid><author>qq_74967651</author><pubDate>Mon, 27 Jul 2026 15:19:15 +0800</pubDate><description><![CDATA[将电脑主机换成我们的服务器，连接电源，连接网线。]]></description><category></category></item><item><title><![CDATA[PostgreSQL]]></title><link>https://blog.youkuaiyun.com/qq_74967651/article/details/162846579</link><guid>https://blog.youkuaiyun.com/qq_74967651/article/details/162846579</guid><author>qq_74967651</author><pubDate>Mon, 13 Jul 2026 17:21:27 +0800</pubDate><description><![CDATA[我们在 VScode 这边建立一个查询然后使用 WSL 的 PostgreSQL命令行 查看对照，看看可不可用。最后，点击 测试联机 -> 成功 -> 点击保存并连接 -> 绿点成功。表示已进入数据库命令行可以执行操作，想退出便输入。我们先创建一个 测试用户 和相应的 测试数据库。如图：把之前设的 用户密码啥的 填进去。我们输入一个建表的 SQL 命令。点击 绿色小三角 运行 ->-> 找到官方发布的扩展。点击安装 -> 安装完毕。惊喜发现确实有一张表叫。两条命令的意思如下，-> 服务器新建连接。]]></description><category></category></item><item><title><![CDATA[wls中vscode安装并登录codex插件]]></title><link>https://blog.youkuaiyun.com/qq_74967651/article/details/162840173</link><guid>https://blog.youkuaiyun.com/qq_74967651/article/details/162840173</guid><author>qq_74967651</author><pubDate>Mon, 13 Jul 2026 13:54:20 +0800</pubDate><description><![CDATA[前情提示：wls中codex登录显示。]]></description><category></category></item><item><title><![CDATA[消息队列之Kafka（一）搭建服务]]></title><link>https://blog.youkuaiyun.com/qq_74967651/article/details/158005251</link><guid>https://blog.youkuaiyun.com/qq_74967651/article/details/158005251</guid><author>qq_74967651</author><pubDate>Thu, 12 Feb 2026 16:07:46 +0800</pubDate><description><![CDATA[最后:Kafka集群中的这些Broker信息，包括Partiton的选举信息，都会保存在额外部署的Zookeper集群当中，这样，kaka集群就不会因为某一些Broker服务崩溃而中断。Kaka是面向海量消息设计的，一个Topic下的消息会非常多，单机服务很难存得下来。1、Kaika设计需要支持海量的数据，而这样庞大的数据量，一个broker是存不下的。但是，在实际工作中使用时，单机搭建的Kafka会有很大的局限性。，给每个Paniion选举出一个主节点Leader，其他节点就是从节点Folower。]]></description><category></category></item><item><title><![CDATA[消息队列之RabbitMQ]]></title><link>https://blog.youkuaiyun.com/qq_74967651/article/details/157904931</link><guid>https://blog.youkuaiyun.com/qq_74967651/article/details/157904931</guid><author>qq_74967651</author><pubDate>Tue, 10 Feb 2026 17:05:39 +0800</pubDate><description><![CDATA[消息转移到死信队列过程中，是没有确认机制的，所以是不安全的。消息在转移到死信队列之后会在headers里面增加一些信息，来表明这是一条死信消息。]]></description><category></category></item><item><title><![CDATA[MySql（四）慢查询与mysql优化]]></title><link>https://blog.youkuaiyun.com/qq_74967651/article/details/157869298</link><guid>https://blog.youkuaiyun.com/qq_74967651/article/details/157869298</guid><author>qq_74967651</author><pubDate>Sun, 08 Feb 2026 10:26:40 +0800</pubDate><description><![CDATA[慢查询日志，顾名思义，就是查询慢的日志，是指mysql记录所有执行超过long_query_time（默认的时间10秒）参数设定的时间阈值的SQL语句的日志。该日志能为SQL语句的优化带来很好的帮助。默认情况下，慢查询日志是关闭的，要使用慢查询日志功能，首先要开启慢查询日志功能。]]></description><category></category></item><item><title><![CDATA[MySql（三）事务与锁]]></title><link>https://blog.youkuaiyun.com/qq_74967651/article/details/157843561</link><guid>https://blog.youkuaiyun.com/qq_74967651/article/details/157843561</guid><author>qq_74967651</author><pubDate>Sun, 08 Feb 2026 09:14:58 +0800</pubDate><description><![CDATA[数据库的是一种机制、一个操作序列，包含了一组数据库操作命令。事务把所有的命令作为一个整体一起向系统提交或撤销操作请求，即这一组数据库命令要么都执行，要么都不执行，因此事务是一个不可分割的工作逻辑单元。在数据库系统上执行并发操作时，事务是作为最小的控制单元来使用的，特别适用于多用户同时操作的数据库系统。]]></description><category></category></item><item><title><![CDATA[MySql（二）索引]]></title><link>https://blog.youkuaiyun.com/qq_74967651/article/details/157843268</link><guid>https://blog.youkuaiyun.com/qq_74967651/article/details/157843268</guid><author>qq_74967651</author><pubDate>Sat, 07 Feb 2026 17:33:13 +0800</pubDate><description><![CDATA[where、join、 order by 、group by去建立索引。索引个数不要过度。散列度低的字段，不要建立索引。随机无序或频繁更新的值，不适合作为主键，推荐使用递增的ID作为主键索引：因为如果你是递增的话，在叶子结点上放数据直接按顺序往后面放就行，但是如果你是无序的就可能会出现数据页的分裂和合并创建联合索引避免冗余索引1.索引列上使用函数、表达式、运算符。2.出现类型隐式转换，例如：字符串忘记编写引号。3.like条件字符前面带% (最左前缀)(不一定)负向查询<>!]]></description><category></category></item><item><title><![CDATA[MySql（一）相关架构与底层执行逻辑]]></title><link>https://blog.youkuaiyun.com/qq_74967651/article/details/157842357</link><guid>https://blog.youkuaiyun.com/qq_74967651/article/details/157842357</guid><author>qq_74967651</author><pubDate>Sat, 07 Feb 2026 17:11:07 +0800</pubDate><description><![CDATA[首先明确mysql读取数据的一页为16kb，每次读取的数据数量是整数页。mysql想完成数据的修改，会先从存储引擎层读取数据，把数据读取到服务层进行数据的修改，再通过存储引擎层把数据更新到数据库中。2.1buffer pool缓冲区在innodb引擎中设计了 buffer pool 缓冲区。Mysql从磁盘中通过IO读取数据到buffer pool中，引擎从bffer pool中获取数据，然后修改，再把数据写入到buffer pool中。从而完成读写的操作，因为是基于内存。]]></description><category></category></item><item><title><![CDATA[Spring Boot（三）Spring Boot整合SpringMVC]]></title><link>https://blog.youkuaiyun.com/qq_74967651/article/details/157361817</link><guid>https://blog.youkuaiyun.com/qq_74967651/article/details/157361817</guid><author>qq_74967651</author><pubDate>Fri, 06 Feb 2026 16:20:44 +0800</pubDate><description><![CDATA[负责 HTTP 请求 / 响应的序列化与反序列化（如 JSON、XML、表单数据），Spring Boot 自动配置主流转换器。打开application.properties, 默认限制是10MB。当我们做文件上传的时候我们也会发现。文件上传大小可以通过配置来修改。]]></description><category></category></item><item><title><![CDATA[java并发编程（七）ReentrantReadWriteLock]]></title><link>https://blog.youkuaiyun.com/qq_74967651/article/details/157686749</link><guid>https://blog.youkuaiyun.com/qq_74967651/article/details/157686749</guid><author>qq_74967651</author><pubDate>Tue, 03 Feb 2026 21:08:34 +0800</pubDate><description><![CDATA[判断是否有写锁：是，且不是我：失败，转入第 2 阶段。是，且是我（锁降级）：通过，继续。否：通过，继续。判断是否需要阻塞（readerShouldBlock()）上一步判断了没有写锁，为什么阻塞的时候要再判断写锁在队首？因为如果不判断直接加锁，那么在队首的写者就会一直等待，导致写饥饿是（公平锁有人排队 / 非公平锁写者在队首）：失败，转入第 2 阶段。否：通过，继续。CAS 尝试成功加锁成功！流程结束。失败（有竞争）：转入第 2 阶段。]]></description><category></category></item><item><title><![CDATA[java并发编程（六）CountDownLatch和回环屏障CyclicBarrier]]></title><link>https://blog.youkuaiyun.com/qq_74967651/article/details/157611793</link><guid>https://blog.youkuaiyun.com/qq_74967651/article/details/157611793</guid><author>qq_74967651</author><pubDate>Sun, 01 Feb 2026 09:57:00 +0800</pubDate><description><![CDATA[使用线程池来管理线程时一般都是直接添加Runable到线程池，这时候就没有办法再调用线程的join方法了，就是说countDownLatch相比join方法让我们对线程同步有更灵活的控制。如果 state!AQS 收到 true 后，调用 doReleaseShared() 唤醒同步队列中所有因为 await() 而阻塞的线程。await() 调用 AQS 的 acquireSharedInterruptibly(1)。countDown() 调用 AQS 的 releaseShared(1)。]]></description><category></category></item><item><title><![CDATA[redis（四）搭建哨兵模式：一主二从三哨兵]]></title><link>https://blog.youkuaiyun.com/qq_74967651/article/details/157583729</link><guid>https://blog.youkuaiyun.com/qq_74967651/article/details/157583729</guid><author>qq_74967651</author><pubDate>Sat, 31 Jan 2026 17:18:39 +0800</pubDate><description><![CDATA[哨兵主要完成：故障监控->故障转移->通知客户端哨兵节点：哨兵系统由一个或多个哨兵节点组成，哨兵节点就是特殊的redis节点，不存储数据数据节点：主节点和从节点都是数据节点。]]></description><category></category></item><item><title><![CDATA[redis（三）redis持久化和集群（redis版本：5.0.4）]]></title><link>https://blog.youkuaiyun.com/qq_74967651/article/details/157550621</link><guid>https://blog.youkuaiyun.com/qq_74967651/article/details/157550621</guid><author>qq_74967651</author><pubDate>Fri, 30 Jan 2026 19:02:54 +0800</pubDate><description><![CDATA[AOF文件的保存位置和RDB文件的位置相同，都是通过dir参数设置的，默认的文件名是appendonly.aof，可以通过appendfilename参数修改：appendfilename appendonly.aof。因为 AOF 日志记录的是操作命令， 不是实际的数据，所以用 AOF 方法做故障恢复时，需要全 量把日志都执行一遍，一旦 AOF 日志非常多，势必会造成 Redis 的恢复操作缓慢。记录某一个瞬间的内存数据，记录的是实际数据， 而 AOF 文件记录的是命令操作的日志，而不是实际的数据。]]></description><category></category></item><item><title><![CDATA[java并发编程（五）ReetrantLock源码分析]]></title><link>https://blog.youkuaiyun.com/qq_74967651/article/details/157436650</link><guid>https://blog.youkuaiyun.com/qq_74967651/article/details/157436650</guid><author>qq_74967651</author><pubDate>Thu, 29 Jan 2026 10:40:31 +0800</pubDate><description><![CDATA[这个抽象类。]]></description><category></category></item><item><title><![CDATA[docker（三）具体项目的部署]]></title><link>https://blog.youkuaiyun.com/qq_74967651/article/details/157425695</link><guid>https://blog.youkuaiyun.com/qq_74967651/article/details/157425695</guid><author>qq_74967651</author><pubDate>Tue, 27 Jan 2026 10:02:12 +0800</pubDate><description><![CDATA[1.在本地创建两个配置文件（具体可以看springboot那一篇的多配置文件），mysql配置的时候不要写死，而是从生产/本地环境去读取参数。而稍微复杂的项目，其中还会有各种各样的其它中间件，需要部署的东西远不止3个。它允许用户通过一个单独的 docker-compose.yml 模板文件（YAML 格式）来定义一组相关联的应用容器。project就是当前compose文件中设置的多个service的集合，是逻辑概念。我们现在要做的就是把整个nginx目录上传到虚拟机的。在指定的运行中容器中执行命令。]]></description><category></category></item><item><title><![CDATA[docker（二）docker基础]]></title><link>https://blog.youkuaiyun.com/qq_74967651/article/details/157395867</link><guid>https://blog.youkuaiyun.com/qq_74967651/article/details/157395867</guid><author>qq_74967651</author><pubDate>Mon, 26 Jan 2026 17:48:57 +0800</pubDate><description><![CDATA[自定义镜像本质就是依次准备好程序运行的基础环境、依赖、应用本身、运行配置等文件，并且打包而成。举个例子，我们要从0部署一个Java应用，大概流程是这样：准备一个linux服务（CentOS或者Ubuntu均可）安装并配置JDK上传Jar包运行jar包那因此，我们打包镜像也是分成这么几步：准备Linux运行环境（java项目并不需要完整的操作系统，仅仅是基础运行环境即可）安装并配置JDK拷贝jar包配置启动脚本。]]></description><category></category></item></channel></rss>