<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[SlimApp]]></title><description><![CDATA[好泛滥]]></description><link>https://blog.csdn.net/Koupoo</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; Koupoo]]></copyright><item><title><![CDATA[ESP32S3在圆形240x240 1.8寸GC9A01 SPI显示屏显示双眼睛表情]]></title><link>https://blog.csdn.net/Koupoo/article/details/150472827</link><guid>https://blog.csdn.net/Koupoo/article/details/150472827</guid><author>Koupoo</author><pubDate>Sun, 17 Aug 2025 21:49:19 +0800</pubDate><description><![CDATA[摘要：使用ESP32-S3开发板连接GC9A01圆形240x240 SPI显示屏实现动态眼睛表情。硬件连接包括VCC、GND、SCL、SDA等管脚对应。开发环境需安装Arduino IDE和ESP32芯片包，提供在线和离线两种安装方式。项目代码位于GitHub的OpenEmo仓库，下载后通过Arduino IDE编译烧录AnimatedEyes示例程序即可实现眼睛动画效果。详细步骤和源码地址见https://github.com/iEmoBot/OpenEmo（150字）]]></description><category></category></item><item><title><![CDATA[SSR的原理及好处]]></title><link>https://blog.csdn.net/Koupoo/article/details/119804634</link><guid>https://blog.csdn.net/Koupoo/article/details/119804634</guid><author>Koupoo</author><pubDate>Thu, 19 Aug 2021 16:15:36 +0800</pubDate><description><![CDATA[什么是SSR

SSR是Server Side Render简称，叫服务端渲染

在客户端请求服务器的时候，服务器到数据库中获取到相关的数据，并且在服务器内部将Vue组件渲染成HTML，并且将数据、HTML一并返回给客户端，这个在服务器将数据和组件转化为HTML的过程，叫做服务端渲染SSR

而当客户端拿到服务器渲染的HTML和数据之后，由于数据已经有了，客户端不需要再一次请求数据，而只需要将数据同步到组件或者Vuex内部即可。除了数据以外，HTML也结构已经有了，客户端在渲染组件的时候，也只需要将HTML]]></description><category></category></item><item><title><![CDATA[Arduino智能越野小车AIR ROVER]]></title><link>https://blog.csdn.net/Koupoo/article/details/117253006</link><guid>https://blog.csdn.net/Koupoo/article/details/117253006</guid><author>Koupoo</author><pubDate>Tue, 25 May 2021 11:57:01 +0800</pubDate><description><![CDATA[精心打造智能小车AIR ROVER，结实、稳固、大小适中，越野爬坡能强，采用麦克纳姆轮，通过手机App控制控制车辆全向运动(支持前、后、左、右、旋转、横漂、斜飘运动)。配套小车主控的Arduino代码、Mixly图形化编程代码、手机App。

10套小车以上赠送WiFi控制手机APP，并支持界面logo等定制。

PCB车身底盘颜色也可额外定制，30个起订，可选定制黑色、红色、绿色。



产品型号：AIR ROVER

【车辆参数】

车辆主控：Arduino UNO
	编程接口：车辆带USB编程接口..]]></description><category></category></item><item><title><![CDATA[Linux设备树语法详解]]></title><link>https://blog.csdn.net/Koupoo/article/details/111240792</link><guid>https://blog.csdn.net/Koupoo/article/details/111240792</guid><author>Koupoo</author><pubDate>Tue, 15 Dec 2020 21:18:06 +0800</pubDate><description><![CDATA[概念

Linux内核从3.x开始引入设备树的概念，用于实现驱动代码与设备信息相分离。在设备树出现以前，所有关于设备的具体信息都要写在驱动里，一旦外围设备变化，驱动代码就要重写。引入了设备树之后，驱动代码只负责处理驱动的逻辑，而关于设备的具体信息存放到设备树文件中，这样，如果只是硬件接口信息的变化而没有驱动逻辑的变化，驱动开发者只需要修改设备树文件信息，不需要改写驱动代码。比如在ARM Linux内，一个.dts(device tree source)文件对应一个ARM的machine，一般放置在内核的"a]]></description><category></category></item><item><title><![CDATA[设备树基本概念]]></title><link>https://blog.csdn.net/Koupoo/article/details/111240719</link><guid>https://blog.csdn.net/Koupoo/article/details/111240719</guid><author>Koupoo</author><pubDate>Tue, 15 Dec 2020 21:15:45 +0800</pubDate><description><![CDATA[最近在总结一些关于设备树相关的知识，对于做驱动这一块的人应该都会接触到。平常可能很多人移植驱动时也会去改dts文件，但是很多人都是按照模板改，或者网上找过来改，知其然不知其所以然。



什么是设备树

在Linux3.x之前的内核源码中，存在大量对板级细节信息描述的代码。这些代码充斥在/arch/arm/plat-xxx和/arch/arm/mach-xxx目录。为了解决这个问题而引入设备树。

官方对设备树的描述是，一种描述硬件资源的数据结构。它通过bootloader将硬件资源传给内核，使得内核和硬.]]></description><category></category></item><item><title><![CDATA[详解ROS文件系统]]></title><link>https://blog.csdn.net/Koupoo/article/details/110749240</link><guid>https://blog.csdn.net/Koupoo/article/details/110749240</guid><author>Koupoo</author><pubDate>Sun, 06 Dec 2020 18:10:23 +0800</pubDate><description><![CDATA[本章主要介绍了ROS的工程结构，也就是ROS的文件系统结构。要学会建立一个ROS工程，首先要认识一个ROS工程，了解它们的组织架构，从根本上熟悉ROS项目的组织形式，了解各个文件的功能和作用，才能正确的进行开发和编程。

本章的主要内容有，介绍catkin的编译系统，catkin工作空间的创建和结构，package软件包的创建和结构，介绍CMakeLists.txt文件，package.xml以及其他常见文件。从而系统的梳理了ROS文件空间的结构，对于我们ROS学习和开发有着重要的作用。

01 Ca...]]></description><category></category></item><item><title><![CDATA[英文版本的ubuntu 18.04环境中安装搜狗输入法]]></title><link>https://blog.csdn.net/Koupoo/article/details/110740754</link><guid>https://blog.csdn.net/Koupoo/article/details/110740754</guid><author>Koupoo</author><pubDate>Sun, 06 Dec 2020 16:38:01 +0800</pubDate><description><![CDATA[其实英文版本的Ubuntu 18.04 安装中文输入法不需要安装中文语言包，安装过程也很简单，步骤如下

1. 首先下载Ubuntu版本的搜狗安装包：

https://pinyin.sogou.com/linux/



2. 然后点击搜狗输入deb安装包进行安装即可



3. 打开Language Support，若提醒语言支持未完全安装，点remind me later就好，忽视掉。然后把Key board input method system从ibus改为fcitx。



4.打开fc...]]></description><category></category></item><item><title><![CDATA[@Configuration @EnableAutoConfiguration @ComponentScan 三个注解的记录]]></title><link>https://blog.csdn.net/Koupoo/article/details/110367547</link><guid>https://blog.csdn.net/Koupoo/article/details/110367547</guid><author>Koupoo</author><pubDate>Mon, 30 Nov 2020 09:26:08 +0800</pubDate><description><![CDATA[@Configuration @EnableAutoConfiguration @ComponentScan 三个注解的记录

打开@SpringBootApplication 的源码发现它里面配置了@Configuration @EnableAutoConfiguration @ComponentScan 这个这三个注解

@Configuration
	这个注解就相当于用xml搭建spring服务时候的&lt;beans&gt;这个注解 而经常与它配合使用的@bean注解就想到与&lt;bean&gt;]]></description><category></category></item><item><title><![CDATA[springboot系列 @ComponentScan和@EnableAutoConfiguration的区别]]></title><link>https://blog.csdn.net/Koupoo/article/details/110367393</link><guid>https://blog.csdn.net/Koupoo/article/details/110367393</guid><author>Koupoo</author><pubDate>Mon, 30 Nov 2020 09:22:11 +0800</pubDate><description><![CDATA[研究springboot源码，在网上看相关博客的时候对@ComponentScan和@EnableAutoConfiguration两者之间的作用没有做过多的区分，导致我觉得他们两者都有扫描相关组建然后将符合要求的放入到ioc容器中。所以我就占牛角尖了，单独研究了一下他们的不同点。
@ComponentScan和@EnableAutoConfiguration都是包含在@SpringBootApplication中的，也是@SpringBootApplication中比较重要的注解。
@ComponentS]]></description><category></category></item><item><title><![CDATA[@AutoConfigurationPackage注解]]></title><link>https://blog.csdn.net/Koupoo/article/details/110304355</link><guid>https://blog.csdn.net/Koupoo/article/details/110304355</guid><author>Koupoo</author><pubDate>Sun, 29 Nov 2020 08:48:34 +0800</pubDate><description><![CDATA[@AutoConfigurationPackage注解

参考


AutoConfigurationPackage注解的作用是将添加该注解的类所在的package作为自动配置package进行管理。

可以通过 AutoConfigurationPackages工具类获取自动配置package列表。当通过注解@SpringBootApplication标注启动类时，已经为启动类添加了@AutoConfigurationPackage注解。路径为 @SpringBootApplication -...]]></description><category></category></item><item><title><![CDATA[spring boot2.0一看就会的超详细快速入门(四)-自动配置原理]]></title><link>https://blog.csdn.net/Koupoo/article/details/110304341</link><guid>https://blog.csdn.net/Koupoo/article/details/110304341</guid><author>Koupoo</author><pubDate>Sun, 29 Nov 2020 08:47:55 +0800</pubDate><description><![CDATA[在springboot主程序类中，有一个非常重要的注释@SpringBootApplication，Springboot运行这个类下的main方法启动springboot应用，如下：



按住键盘上Ctrl键,用鼠标点击这个注释，可以看到这个注释启用了三个注释功能：

1.@SpringBootConfiguration：允许在上下文中注册额外的bean或导入其他配置类

2.@EnableAutoConfiguration：启用Spring Boot的自动配置机制

3.@ComponentScan:启]]></description><category></category></item><item><title><![CDATA[@ServletComponentScan ，@ComponentScan,@Configuration 解析]]></title><link>https://blog.csdn.net/Koupoo/article/details/110304315</link><guid>https://blog.csdn.net/Koupoo/article/details/110304315</guid><author>Koupoo</author><pubDate>Sun, 29 Nov 2020 08:46:35 +0800</pubDate><description><![CDATA[1，@ServletComponentScan


在SpringBoot的main方法上使用@ServletComponentScan注解后，Servlet、Filter、Listener可以直接通过@WebServlet、@WebFilter、@WebListener注解自动注册，无需其他代码。

2，@ComponentScan




			1
			
			
			包扫描会扫描只要标注了@Controller,@Service,@Repository,@Component这四个注解都会被扫描到容.]]></description><category></category></item><item><title><![CDATA[SpringBoot启动配置类（二）【@Configuration注解的配置类如何被加载到？】]]></title><link>https://blog.csdn.net/Koupoo/article/details/110304283</link><guid>https://blog.csdn.net/Koupoo/article/details/110304283</guid><author>Koupoo</author><pubDate>Sun, 29 Nov 2020 08:45:29 +0800</pubDate><description><![CDATA[spring容器在启动的时候会去扫描@Configuration，并将相关的类进行加载。那么spring容器怎么去扫描的呢？

配置类与启动类同包或者在其子包下

springboot配置数据库连接池


@Configuration
public class DruidConfig {

    //跟配置文件绑定
    //spring.druid.xx xx跟DruidDataSource里的属性绑定
    @ConfigurationProperties(prefix = "spring.dru]]></description><category></category></item><item><title><![CDATA[Springboot项目中 如何获取@Configuration注解标注的配置类]]></title><link>https://blog.csdn.net/Koupoo/article/details/110304250</link><guid>https://blog.csdn.net/Koupoo/article/details/110304250</guid><author>Koupoo</author><pubDate>Sun, 29 Nov 2020 08:43:56 +0800</pubDate><description><![CDATA[整个springboot并没有在spring的基础上提供什么额外的功能。

	从开发人员的角度来看，springBoot的最大作用就是引入某些jar包后，自动为spring上下文环境生成某些特定功能的Bean，这样就可以自动提供某些相关功能。
	
	
	从实现的角度来看，spring通过被标记了@Configuration的类提供一些提前生成好的Bean提供特别的功能，而用@Contional系列的注解限制生成的条件，通常就是@ConditionalOnClass和@ConditionalOnMiss...]]></description><category></category></item><item><title><![CDATA[SpringBoot入门(2)自动装载简介，YAML语法等]]></title><link>https://blog.csdn.net/Koupoo/article/details/110304228</link><guid>https://blog.csdn.net/Koupoo/article/details/110304228</guid><author>Koupoo</author><pubDate>Sun, 29 Nov 2020 08:43:03 +0800</pubDate><description><![CDATA[图片大多来源于Spring Boot 2.x从青铜到王者之白银篇

自动装载


点开@SpringBootApplication可以发现这其实是一个复合注解。最为主要的便是以下三个注解。也可以使用这三个注解代替。


@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(excludeFilters = { @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.]]></description><category></category></item><item><title><![CDATA[Spring Boot核心技术]]></title><link>https://blog.csdn.net/Koupoo/article/details/110304214</link><guid>https://blog.csdn.net/Koupoo/article/details/110304214</guid><author>Koupoo</author><pubDate>Sun, 29 Nov 2020 08:42:18 +0800</pubDate><description><![CDATA[今天来学习spring boot,首先看一下课程体系.本文先负责前8章.前8章主要是学习spring boot的使用和内部的原理,后8章来学习它和一些高级场景的整合.

1. spring boot简介


简化spring应用开发的一个框架
对spring整个技术栈的一个整合
java ee开发的一站式解决方案


2. 微服务

微服务:它是一种架构风格,一个应用应该是一组小型服务,可以通过http的方式进行互通,
单体应用:all in one 所有的东西都放在一个应用程序内
优点:


开发测试简单]]></description><category></category></item><item><title><![CDATA[SpringBoot 启动类 @SpringBootApplication 注解 以及执行流程]]></title><link>https://blog.csdn.net/Koupoo/article/details/110304202</link><guid>https://blog.csdn.net/Koupoo/article/details/110304202</guid><author>Koupoo</author><pubDate>Sun, 29 Nov 2020 08:41:18 +0800</pubDate><description><![CDATA[@SpringBootApplication : 是Sprnig Boot项目的核心注解，目的是开启自动配置



目录

@SpringBootApplication : 是Sprnig Boot项目的核心注解，目的是开启自动配置

（一）、@ComponentScan 注解

（二）、@EnableAutoConfiguration 注解

（三）、@SpringBootConfiguration 注解

（四）、@Inherited 注解

声明的此注解使用了Inherited元注解，表示此注解...]]></description><category></category></item><item><title><![CDATA[SpringBoot 启动类 @SpringBootApplication 注解 以及执行流程]]></title><link>https://blog.csdn.net/Koupoo/article/details/110304152</link><guid>https://blog.csdn.net/Koupoo/article/details/110304152</guid><author>Koupoo</author><pubDate>Sun, 29 Nov 2020 08:39:44 +0800</pubDate><description><![CDATA[@SpringBootApplication : 是Sprnig Boot项目的核心注解，目的是开启自动配置



目录

@SpringBootApplication : 是Sprnig Boot项目的核心注解，目的是开启自动配置

（一）、@ComponentScan 注解

（二）、@EnableAutoConfiguration 注解

（三）、@SpringBootConfiguration 注解

（四）、@Inherited 注解

声明的此注解使用了Inherited元注解，表示此注解...]]></description><category></category></item><item><title><![CDATA[spring自动注入是单例还是多例？单例如何注入多例？]]></title><link>https://blog.csdn.net/Koupoo/article/details/110289352</link><guid>https://blog.csdn.net/Koupoo/article/details/110289352</guid><author>Koupoo</author><pubDate>Sat, 28 Nov 2020 18:39:06 +0800</pubDate><description><![CDATA[单例和多例的区别 ：



单例多例需要搞明白这些问题：

1. 什么是单例多例；

2. 如何产生单例多例；

3. 为什么要用单例多例

4. 什么时候用单例，什么时候用多例；



1. 什么是单例、多例:

所谓单例就是所有的请求都用一个对象来处理，比如我们常用的service和dao层的对象通常都是单例的，而多例则指每个请求用一个新的对象来处理，比如action;



单例模式和多例模式说明：

1. 单例模式和多...]]></description><category></category></item><item><title><![CDATA[Java反应式框架Reactor中的Mono和Flux]]></title><link>https://blog.csdn.net/Koupoo/article/details/110275972</link><guid>https://blog.csdn.net/Koupoo/article/details/110275972</guid><author>Koupoo</author><pubDate>Sat, 28 Nov 2020 14:50:57 +0800</pubDate><description><![CDATA[1. 前言

最近写关于响应式编程的东西有点多，很多同学反映对Flux和Mono这两个Reactor中的概念有点懵逼。但是目前Java响应式编程中我们对这两个对象的接触又最多，诸如Spring WebFlux、RSocket、R2DBC。我开始也对这两个对象头疼，所以今天我们就简单来探讨一下它们。

2. 响应流的特点

要搞清楚这两个概念，必须说一下响应流规范。它是响应式编程的基石。他具有以下特点：

响应流必须是无阻塞的。
	响应流必须是一个数据流。
	它必须可以异步执行。
	并且它也应该能够处理背..]]></description><category></category></item></channel></rss>