<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[suncat的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/github_37130188</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; github_37130188]]></copyright><item><title><![CDATA[Docker详细介绍（6）]]></title><link>https://blog.youkuaiyun.com/github_37130188/article/details/148900069</link><guid>https://blog.youkuaiyun.com/github_37130188/article/details/148900069</guid><author>github_37130188</author><pubDate>Wed, 25 Jun 2025 15:31:11 +0800</pubDate><description><![CDATA[负责实现对Docker容器集群的快速编排。Docker-Compose将所管理的容器分为三层，分别是工程（project）服务（service）以及容器（container）。Docker-Compose运行目录下的所有文件（docker-compose.yml，extends文件或环境变量文件等）组成一个工程，若无特殊指定工程名即为当前目录名。一个工程当中可包含多个服务，每个服务中定义了容器运行的镜像，参数，依赖。]]></description><category></category></item><item><title><![CDATA[Docker详细介绍（5）]]></title><link>https://blog.youkuaiyun.com/github_37130188/article/details/146873049</link><guid>https://blog.youkuaiyun.com/github_37130188/article/details/146873049</guid><author>github_37130188</author><pubDate>Mon, 31 Mar 2025 17:34:44 +0800</pubDate><description><![CDATA[docker容器在产生数据的时候，如果不通过docker commit生成新的镜像，使得数据作为镜像的一部分保存下来，那么当容器删除之后，数据自然而然的也会消失。卷就是目录或者文件，存在一个或者多个容器之中，由docker挂载到容器，但是不属于联合文件系统，因此能够绕过Union File System提供一些用于持续存储或者共享数据的特性。卷的设计目的就是数据的持久化，完全独立于容器的生存周期，因此docker不会再容器删除时删除其挂载的数据卷。3）数据卷中的更改不会包含在镜像的更新中。]]></description><category></category></item><item><title><![CDATA[Docker详细介绍（4）]]></title><link>https://blog.youkuaiyun.com/github_37130188/article/details/145248877</link><guid>https://blog.youkuaiyun.com/github_37130188/article/details/145248877</guid><author>github_37130188</author><pubDate>Sun, 19 Jan 2025 22:11:58 +0800</pubDate><description><![CDATA[指Docker社区版，由社区维护和提供技术支持，为免费版本，适合个人开发人员和小团队使用。指Docker企业版，为收费版本，由售后团队和技术团队提供技术支持，专为企业开发和IT团队而设计。]]></description><category></category></item><item><title><![CDATA[Docker详细介绍（3）]]></title><link>https://blog.youkuaiyun.com/github_37130188/article/details/143782117</link><guid>https://blog.youkuaiyun.com/github_37130188/article/details/143782117</guid><author>github_37130188</author><pubDate>Thu, 14 Nov 2024 22:26:22 +0800</pubDate><description><![CDATA[原则上，Docker Server的运行是众多job中的一个，但是为了强调Docker Server的重要性以及为后续job服务的重要特性，将该"serveapi"的job单独抽离出来分析，理解为Docker Server。其中，在Docker架构中，Docker可以使用公有的Docker Registry，即大家熟知的Docker Hub，如此一来，Docker获取容器镜像文件时，必须通过互联网访问Docker Hub；创建一个新的容器，这是一个job，从Internet上下载一个文档，这是一个job；]]></description><category></category></item><item><title><![CDATA[Docker详细介绍（2）]]></title><link>https://blog.youkuaiyun.com/github_37130188/article/details/141727611</link><guid>https://blog.youkuaiyun.com/github_37130188/article/details/141727611</guid><author>github_37130188</author><pubDate>Fri, 30 Aug 2024 21:28:16 +0800</pubDate><description><![CDATA[由此可见不同的Linux发行版本，bootfs基本上是一致的，rootfs会有差别，所以不同的发行版可以公用bootfs，这也是一个镜像仅有几百MB的原因。比如有多个镜像都从相同的Base镜像构建而来，那么宿主机只需要在磁盘上保留一份base镜像，同时内存中也只需要加载一份base镜像，这样就可以为所有容器提供服务了，而且镜像的每一层都可以被共享。一个容器的镜像通常都很小，不用和存储大量数据，存储可以通过外部挂载等方式使用，比如：NFS、ipsan、MFS等 ，或者docker命令 ，-v映射磁盘分区。]]></description><category></category></item><item><title><![CDATA[使用StableDiffusion简单绘制生成清纯AI美女图片]]></title><link>https://blog.youkuaiyun.com/github_37130188/article/details/139897693</link><guid>https://blog.youkuaiyun.com/github_37130188/article/details/139897693</guid><author>github_37130188</author><pubDate>Sun, 23 Jun 2024 12:52:06 +0800</pubDate><description><![CDATA[下面以文生图页面来介绍1、快捷设置大模型，经过训练学习后得到的程序文件。模型常见下载地址：1）2）liblib.art3）VAE（变分自编码器，Variational Autoencoder）是一种基于深度学习的生成模型，它起到增强图像质量和细节的关键作用，主要作用于滤镜和微调。是通过一个神经网络系统，将提示词从文字转化成简单的数字。将这些数字放入到神经网络的第一层进行计算，把得到的运算结果再放到第二层进行计算，然后再放到第三层进行计算……层层处理，层层递进，一直到最后一层。]]></description><category></category></item><item><title><![CDATA[Docker详细介绍（1）]]></title><link>https://blog.youkuaiyun.com/github_37130188/article/details/137998928</link><guid>https://blog.youkuaiyun.com/github_37130188/article/details/137998928</guid><author>github_37130188</author><pubDate>Sat, 20 Apr 2024 14:31:39 +0800</pubDate><description><![CDATA[通过利用Docker的发版、测试和部署代码的方法，您可以显著减少编写代码和在生产中运行代码之间的延迟。这很明显是得不偿失的，于是Docker诞生了，使用了容器技术，自带隔离机制，将系统资源利用到极致，同时只需要最核心的环境和需要的服务，轻巧，几M，开启秒级。是一个只读的模板，类似于安装系统用到的那个iso文件，我们通过镜像来完成各种应用的部署。它可以被启动、开始、停止、删除等操作，每个容器都是相互隔离的。Docker 的使用非常简单，基本上只需要安装 Docker 环境，就可以开始使用 Docker。]]></description><category></category></item><item><title><![CDATA[Spring项目单元测试]]></title><link>https://blog.youkuaiyun.com/github_37130188/article/details/136013500</link><guid>https://blog.youkuaiyun.com/github_37130188/article/details/136013500</guid><author>github_37130188</author><pubDate>Sat, 03 Feb 2024 18:52:56 +0800</pubDate><description><![CDATA[一、单元测试是什么是指对软件中的最小可测试单元进行检查和验证的过程就叫单元测试。对Spring项目中代码逻辑进行单个单元测试的过程，验证是否符合预期工作，并确保它们能正确地集成和交互。二、单元测试好处可以最小颗粒度的测试某个组件功能，减少外部依赖的影响。通过单元测试可以在提测之前及早发现和修复潜在问题，提升代码的可靠性。可通过多个组件的协同工作，验证整个系统的功能和性能。]]></description><category></category></item><item><title><![CDATA[工具使用篇（1）--快速将网页接口url及参数设置到postman来调试]]></title><link>https://blog.youkuaiyun.com/github_37130188/article/details/134539599</link><guid>https://blog.youkuaiyun.com/github_37130188/article/details/134539599</guid><author>github_37130188</author><pubDate>Tue, 21 Nov 2023 19:52:22 +0800</pubDate><description><![CDATA[以下是来自官网的介绍，可以看出Postman是一个用于构建和使用API的API平台，并且简化了很多流程让我更好的创建API。下面我们来看一下他的整体页面。可以看到大体有几个分区：api历史调用区、要请求的API及请求、API参数配置、API请求响应的结果。页面流程非常清晰，“填写要请求的API请求方式及URL --> 配置API参数 --> 点击send按键 --> 获取接口响应结果”执行这个简单流程即可调用API接口调试。]]></description><category></category></item><item><title><![CDATA[更好的向ChatGpt提问]]></title><link>https://blog.youkuaiyun.com/github_37130188/article/details/132817509</link><guid>https://blog.youkuaiyun.com/github_37130188/article/details/132817509</guid><author>github_37130188</author><pubDate>Mon, 11 Sep 2023 21:15:40 +0800</pubDate><description><![CDATA[一种预训练的对话式文本生成AI。其中Chat 包括输入端你发出的有效提问(Prompt)和输出端的智能参考答案。信息会通过理解，再被提炼为知识，然后由GPT为你表达。GPT3之后的模型泛化出思维链的能力。]]></description><category></category></item><item><title><![CDATA[Mybatis plus中遇到的分页查询报错问题解决]]></title><link>https://blog.youkuaiyun.com/github_37130188/article/details/131444538</link><guid>https://blog.youkuaiyun.com/github_37130188/article/details/131444538</guid><author>github_37130188</author><pubDate>Wed, 28 Jun 2023 20:57:16 +0800</pubDate><description><![CDATA[于是立马上手打断点，结果发现，一切正常，无论是service到mapper.xml还是在把这些参数传入的mybatis plus里，这些参数都正常。修bug的时候，遇到一个及其诡异的bug：我的service层调用mapper.xml中的分页查询sql时，居然报错了！一开始我还以为是我sql写错了，经检查没发现什么异常，于是就拿到navicat中跑一下sql，也能成功跑出数据。这样我们再运行分页查询，查询分页总数的时候，就再也不会出现报错的想象。难道有什么地方把我sql拦截了并做了什么奇怪的骚操作？]]></description><category></category></item><item><title><![CDATA[【云原生】devops之jenkins中pipeline语法（4）]]></title><link>https://blog.youkuaiyun.com/github_37130188/article/details/130050193</link><guid>https://blog.youkuaiyun.com/github_37130188/article/details/130050193</guid><author>github_37130188</author><pubDate>Sun, 09 Apr 2023 23:23:49 +0800</pubDate><description><![CDATA[前言：        pipeline语法分类一般来说，有四种。分别是环境配置、阶段步骤、行为动作、逻辑判断。         该when指令允许管道根据给定条件确定是否应执行阶段。        该when指令必须至少包含一个条件。如果when指令包含多个条件，则所有子条件都必须返回 true 才能执行阶段。内置条件：条件描述样例branch当正在构建的分支与给定的分支模式（ANT 样式路径 glob）匹配时执行阶段。when { branch 'master' }buildingTag在构建构建标签时执]]></description><category></category></item><item><title><![CDATA[【云原生】devops之jenkins中pipeline语法（3）]]></title><link>https://blog.youkuaiyun.com/github_37130188/article/details/128982394</link><guid>https://blog.youkuaiyun.com/github_37130188/article/details/128982394</guid><author>github_37130188</author><pubDate>Sat, 11 Feb 2023 12:31:20 +0800</pubDate><description><![CDATA[前言：        pipeline语法分类一般来说，有四种。分别是环境配置、阶段步骤、行为动作、逻辑判断。        该triggers指令定义了重新触发pipeline的自动化方式。        对于与 GitHub 或 BitBucket 等源集成的pipeline，triggers可能没有必要，因为基于 webhook 的集成可能已经存在。参数描述样例cron接受一个 cron 风格的字符串来定义管道应该被重新触发的定期间隔triggers { cron('H */4 * * 1-5') }]]></description><category></category></item><item><title><![CDATA[【云原生】devops之jenkins中pipeline语法（2）]]></title><link>https://blog.youkuaiyun.com/github_37130188/article/details/128264353</link><guid>https://blog.youkuaiyun.com/github_37130188/article/details/128264353</guid><author>github_37130188</author><pubDate>Sat, 10 Dec 2022 14:18:37 +0800</pubDate><description><![CDATA[pipeline语法分类一般来说，有四种。分别是环境配置、阶段步骤、行为动作、逻辑判断。]]></description><category></category></item><item><title><![CDATA[【云原生】devops之jenkins中pipeline语法（1）]]></title><link>https://blog.youkuaiyun.com/github_37130188/article/details/127215590</link><guid>https://blog.youkuaiyun.com/github_37130188/article/details/127215590</guid><author>github_37130188</author><pubDate>Sat, 08 Oct 2022 20:56:57 +0800</pubDate><description><![CDATA[pipeline语法分类一般来说，有四种。分别是环境配置、阶段步骤、行为动作、逻辑判断。]]></description><category></category></item><item><title><![CDATA[【云原生】k8s(Kubernetes)中yaml文件快速阅读理解]]></title><link>https://blog.youkuaiyun.com/github_37130188/article/details/126199473</link><guid>https://blog.youkuaiyun.com/github_37130188/article/details/126199473</guid><author>github_37130188</author><pubDate>Sat, 06 Aug 2022 19:20:09 +0800</pubDate><description><![CDATA[2）接着我们看下一个，以---分隔符隔开的另一个类型Service，定义了一个名为suncat-endpoints的Service，同时往该Service中配置内部端口映射到Pod暴露出的端口port: 3306，以及对外暴露的端口号targetPort: 3306。首先我们看到，定义了一个名为suncat-service的Service类型，他的职责时将port: 8848端口映射到nodePort: 38011对外暴露端口，并且他的管理的对应的应用时suncat-app应用。............]]></description><category></category></item><item><title><![CDATA[EasyExcel-(1)使用篇]]></title><link>https://blog.youkuaiyun.com/github_37130188/article/details/125137790</link><guid>https://blog.youkuaiyun.com/github_37130188/article/details/125137790</guid><author>github_37130188</author><pubDate>Sun, 05 Jun 2022 22:39:15 +0800</pubDate><description><![CDATA[EasyExcel是一个基于Java的简单、省内存的读写Excel的开源项目。在尽可能节约内存的情况下支持读写百M的Excel。本博客将介绍其如何使用。]]></description><category></category></item><item><title><![CDATA[CAS详情汇总讲解]]></title><link>https://blog.youkuaiyun.com/github_37130188/article/details/123933701</link><guid>https://blog.youkuaiyun.com/github_37130188/article/details/123933701</guid><author>github_37130188</author><pubDate>Sun, 03 Apr 2022 11:16:07 +0800</pubDate><description><![CDATA[一、CAS是什么

Compare and Swap，即比较再交换。



二、CAS原理

CAS机制当中使用了3个基本操作数：内存地址V值，预期值A，修改完成后的新值B。
更新一个变量的时候，只有当变量的预期值A和内存地址V值相同时，才会将内存地址V对应的值修改为B。



三、CAS的缺点：

1.CPU开销较大

在并发量比较高的情况下，如果许多线程反复尝试更新某一个变量，却又一直更新不成功，循环往复，会给CPU带来很大的压力。

2.不能保证代码块...]]></description><category></category></item><item><title><![CDATA[与（&）、非（~）、或（|）、异或（^） java运算符]]></title><link>https://blog.youkuaiyun.com/github_37130188/article/details/123833332</link><guid>https://blog.youkuaiyun.com/github_37130188/article/details/123833332</guid><author>github_37130188</author><pubDate>Tue, 29 Mar 2022 22:02:17 +0800</pubDate><description><![CDATA[运算符
			
			
			运算符符号
			
			
			使用规则
			
			
			个人理解
			
		
			与
			
			
			&amp;
			
			
			两个操作数中位都为1，结果才为1，否则结果为0。
			
			
			有0为0
			
		
			非
			
			
			~
			
			
			如果位为0，结果是1，如果位为1，结果是0
			
			
			0/1反过来
			
		
			或
			
			
			|
			
			
			两个位只要有...]]></description><category></category></item><item><title><![CDATA[throw和throws区别]]></title><link>https://blog.youkuaiyun.com/github_37130188/article/details/123809066</link><guid>https://blog.youkuaiyun.com/github_37130188/article/details/123809066</guid><author>github_37130188</author><pubDate>Mon, 28 Mar 2022 23:05:32 +0800</pubDate><description><![CDATA[我们先来直观的看看他们之间的用法：

throw：一般出现在方法体内，并且在使用的时候是以抛出异常对象为结束，后面的代码不会再执行，比如：


public void suncat(){

    if(users.isEmpty()){

        Thrownew RuntimeException("用户列表不能为空");

    }

}

throws：一般出现在方法名字后，表示方法内的异常不做处理，抛给那些调用该方法的程序。比如：


public static void function]]></description><category></category></item></channel></rss>