<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[m0_73035591的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/m0_73035591</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; m0_73035591]]></copyright><item><title><![CDATA[React-native之项目实战]]></title><link>https://blog.youkuaiyun.com/m0_73035591/article/details/150553887</link><guid>https://blog.youkuaiyun.com/m0_73035591/article/details/150553887</guid><author>m0_73035591</author><pubDate>Wed, 20 Aug 2025 14:39:02 +0800</pubDate><description><![CDATA[2.如appwritets中存放modal.ts文件，可以用于存储数据包的表结构，类似于MybatisPlus的pojo类，新建一个appwrite.ts类，用于存放user的交互，如里面还需要存放数据库id，表id和项目id这类的数据，可以在里面存放对应的数据库增删查改的api，类似于myBatisPlus中的mapper类。4.如果有其他组件需要去执行方法，如注册功能，如在sign_up.jsx中点击按钮之后，就去appwrite.tsx中调用定义好的api执行功能；3.新建 global.css。]]></description><category></category></item><item><title><![CDATA[React-native之组件]]></title><link>https://blog.youkuaiyun.com/m0_73035591/article/details/150553863</link><guid>https://blog.youkuaiyun.com/m0_73035591/article/details/150553863</guid><author>m0_73035591</author><pubDate>Wed, 20 Aug 2025 14:38:14 +0800</pubDate><description><![CDATA[/ 修复StyleSheet创建方法拼写错误。类似于redux，实现跨组件数据共享。网络图片设置（修正组件名大小写）输入框内容（初始化为空更合理）将开关和文本放在同一行容器中。普通图片设置（修正路径和。密文输入（密码不可见）点击回调：触发注册方法。自身在父容器中水平居中。（覆盖填充，可能变形）父子组件之间数据传递。文字垂直对齐到顶部（点击后，设置动画变化。]]></description><category></category></item><item><title><![CDATA[学习bug]]></title><link>https://blog.youkuaiyun.com/m0_73035591/article/details/149983311</link><guid>https://blog.youkuaiyun.com/m0_73035591/article/details/149983311</guid><author>m0_73035591</author><pubDate>Wed, 06 Aug 2025 22:54:59 +0800</pubDate><description><![CDATA[2025.8.6，在发帖功能中，一直出现上传的图片页面无法上传的问题，bucket中有上传的图片，但是数据库中的image_url一直为空，复制up的源码也没有用。Alert.alert("图片压缩失败");Alert.alert("图片上传失败");Alert.alert("图片选择失败");//  手动拼接图片 URL。​希望能帮助后来的朋友😘👌。​记录一下我的解决办法。]]></description><category></category></item><item><title><![CDATA[Redis基础之基础概念]]></title><link>https://blog.youkuaiyun.com/m0_73035591/article/details/146134069</link><guid>https://blog.youkuaiyun.com/m0_73035591/article/details/146134069</guid><author>m0_73035591</author><pubDate>Sun, 09 Mar 2025 16:20:10 +0800</pubDate><description><![CDATA[如果我们在请求中需要来传递数据，使用NoSQL可以来进行数据的直接存储和读取，从而来减少CPU与IO压力。或者是如果一些数据较为常用，我们可以将其存放在NOSQL中来充当缓存的作用，来减少直接的IO操作。默认情况下我们启动Redis是不需要来登入账号密码的，但是我们可以去修改配置文件来要求登入验证。./redis-server ，占用的端口号是6379，需要在Redis下的src中执行。可以在Windows下连接Linux中的Redis服务，在Windows中右键运行终端。之后需要连接不同的服务时。]]></description><category></category></item><item><title><![CDATA[Docker基础之运行原理]]></title><link>https://blog.youkuaiyun.com/m0_73035591/article/details/146134057</link><guid>https://blog.youkuaiyun.com/m0_73035591/article/details/146134057</guid><author>m0_73035591</author><pubDate>Sun, 09 Mar 2025 16:19:23 +0800</pubDate><description><![CDATA[使用后台运行的时候，如果没有前台进程，如-it，docker发送没有前台应用，就会自动停止，也就是说我们就是只启动了一个CentOS，没有没有使用它，然后就自动停止了。docker rm 容器id                     删除指定容器，不能删除正在运行的容器，如果需要强制删除，就需要 加入 -f。新建一个容器的时候，docker不需要像虚拟机一样重新加载一个操作系统内核，避免引导，利用的是宿主机的操作系统，省略了这个复杂的过程，是秒级的。]]></description><category></category></item><item><title><![CDATA[Docker基础之基础概念]]></title><link>https://blog.youkuaiyun.com/m0_73035591/article/details/146134037</link><guid>https://blog.youkuaiyun.com/m0_73035591/article/details/146134037</guid><author>m0_73035591</author><pubDate>Sun, 09 Mar 2025 16:18:20 +0800</pubDate><description><![CDATA[docker镜像就好比一个模板，可用通过这个模板来创建容器服务，通过这个镜像可以创建多个容器,最终服务允许或者项目运行就是在这个容器之中。使用Docker，只需要配置一次Docker容器上面的应用，就可以跨平台，跨服务器，实现应用程序跨平台的无缝衔接。docker利用利用容器技术，独立运行一个或者一个组应用，通过镜像来创建，启动docker：systemctl start docker。停止docker：systemctl stop docker。查看docker版本 docker -v。]]></description><category></category></item><item><title><![CDATA[Linux基础操作]]></title><link>https://blog.youkuaiyun.com/m0_73035591/article/details/146133981</link><guid>https://blog.youkuaiyun.com/m0_73035591/article/details/146133981</guid><author>m0_73035591</author><pubDate>Sun, 09 Mar 2025 16:15:17 +0800</pubDate><description><![CDATA[作用：在指定目录下查找文件语法：find dirName -option fileName举例：find . -name "*.java" 在当前目录下及其子目录下查找.java结尾的文件find /itcast -name ".java" 在当前目录下及其子目录下查找.java结尾的文件作用：从指定文件中查找指定的文本内容语法：grep word fileName举例：grep Hello HelloWorld.java 查找HelloWorld.java中出现Hello字符串的位置。]]></description><category></category></item><item><title><![CDATA[Linux基础之拷贝移动类命令]]></title><link>https://blog.youkuaiyun.com/m0_73035591/article/details/146133949</link><guid>https://blog.youkuaiyun.com/m0_73035591/article/details/146133949</guid><author>m0_73035591</author><pubDate>Sun, 09 Mar 2025 16:14:01 +0800</pubDate><description><![CDATA[cp -r itcast/ ./ithaima/ 将itcast目录下和该目录下所有文件复制到ithaima目录下，这个会将整个文件夹都复制进去，会有一个子文件夹。cp -r itcast/* ./itheima/ 将itcast目录下所有文件复制到ithaima目录下，这个只是复制目录中的内容，不会有一个子文件夹。mv hi.txt itheima/hello.txt 将hi.txt移动到itheima目录中，并改名为hello.txt。作用：为文件或目录改名，或将文件或目录移动到其他的位置。]]></description><category></category></item><item><title><![CDATA[Linux基础之文件目录操作命令]]></title><link>https://blog.youkuaiyun.com/m0_73035591/article/details/146133928</link><guid>https://blog.youkuaiyun.com/m0_73035591/article/details/146133928</guid><author>m0_73035591</author><pubDate>Sun, 09 Mar 2025 16:12:50 +0800</pubDate><description><![CDATA[tail -f/itcast/my.log 动态读完i/itcast目录下的my.log文件末尾内容并显示，也就是里面的my.log添加一个内容，终端就是及时显示该内容，Ctrl+C退出。mkdir -p itcast/test 在工作目录下的itcast目录下建立一个名为test的子目录，若itcast目录不存在，则建立一个。rmdir -p itcast/test 删除itcast目录中名为test的子目录，若test删除过后itcast目录变为空目录，则也被删除。]]></description><category></category></item><item><title><![CDATA[Linux基础之Linux常用命令]]></title><link>https://blog.youkuaiyun.com/m0_73035591/article/details/146133908</link><guid>https://blog.youkuaiyun.com/m0_73035591/article/details/146133908</guid><author>m0_73035591</author><pubDate>Sun, 09 Mar 2025 16:12:04 +0800</pubDate><description><![CDATA[如我们使用的cd /root、rm 2.txt中其中的/root与2.txt就是命令参数。这三部分也可以同时存在：rm -f 1.txt，此时就表示强制删除不在询问。后面的参数可以跟多个，如 touch 1.txt 2.txt 3.txt。[patameter]：传给命令参数，可以是零个，一个或是多个。[-options]：选项，可用于对命令进行控制，也可以省略。如我们之前使用的ls、pwd就是没有选项和命令参数的。如我们使用ls -l与直接使用ls时不一样的。使用上下箭头快速调出曾经使用过的命令。]]></description><category></category></item><item><title><![CDATA[Linux基础之基础概念]]></title><link>https://blog.youkuaiyun.com/m0_73035591/article/details/146133895</link><guid>https://blog.youkuaiyun.com/m0_73035591/article/details/146133895</guid><author>m0_73035591</author><pubDate>Sun, 09 Mar 2025 16:11:24 +0800</pubDate><description><![CDATA[Linux：是一套免费使用和自由传播的类Unix操作系统，是一个基于POSIX(可移植操作系统接口)和UNIX的多用户、多任务、支持多线程和多DPU的操作系统。虚拟机：通过软件模拟的具有完整硬件系统功能，运行再完全隔离环境下的计算机系统，也就是通过一个软件模拟计算机硬件。可以运行主要的UNIX工具软件、应用程序和网络协议，支持32位和64位，继承了Unix位网络核心的设计思想+在Linux下，一切从根开始，/时所有目录的顶点，目录结构像一个倒挂的树，根目录下有很多的子目录。每一个目录都存放了对应的结构。]]></description><category></category></item><item><title><![CDATA[Git基础之分支]]></title><link>https://blog.youkuaiyun.com/m0_73035591/article/details/146133853</link><guid>https://blog.youkuaiyun.com/m0_73035591/article/details/146133853</guid><author>m0_73035591</author><pubDate>Sun, 09 Mar 2025 16:09:38 +0800</pubDate><description><![CDATA[如我们在 git checkout b1选择到b1分支之后，使用$ git add *将b1.txt添加到暂存区，在 $ git commit -m "b1.txt"添加到本地仓库，在使用$ git push origin b1添加到远程b1仓库之后。如我们在master分支下，先使用git add master.txt添加到暂存区之后，使用 git commit -m "master.txt" 添加到本地仓库，在使用 git push origin master将其添加到远程仓库。]]></description><category></category></item><item><title><![CDATA[Git基础之基本操作]]></title><link>https://blog.youkuaiyun.com/m0_73035591/article/details/146133837</link><guid>https://blog.youkuaiyun.com/m0_73035591/article/details/146133837</guid><author>m0_73035591</author><pubDate>Sun, 09 Mar 2025 16:08:59 +0800</pubDate><description><![CDATA[Staged：暂存状态，执行git commint 将修改同步到库中，此时库中文件与本地文件又变为一致，文件为Unmodify状态，使用git reset HEAD filename取消暂存，文件状态为Modified。Unmodify：文件已入库，未修改，即版本库中的文件快照内容与文件夹完全一致，这种类型的文件有两种去处，如果被修改，变为Modified，如果使用git rm移除版本库，则称为Untracked文件。Midified：文件已修改，仅仅只是被修改，没有对其进行其他操作，也有几个去处，]]></description><category></category></item><item><title><![CDATA[Git基础之工作原理]]></title><link>https://blog.youkuaiyun.com/m0_73035591/article/details/146133822</link><guid>https://blog.youkuaiyun.com/m0_73035591/article/details/146133822</guid><author>m0_73035591</author><pubDate>Sun, 09 Mar 2025 16:08:17 +0800</pubDate><description><![CDATA[git本地有三个工作区域，工作目录 Working Directory，暂存区Stage/Index和资源区Repository/Git Directory，如果在加上远程的git仓库就是四个工作区域。Repository：仓库区，安全存放数据的位置，存放所有版本的数据，其中的HEAD就是指向最新放入仓库的版本。Remote：远程仓库，托管代码的服务器，可以简单的认为项目组中的一台用于远程数据交换的电脑。有就是说，仓库可以是本地的，也可以是远程的。这里的XXX指的是一个远程仓库的url。]]></description><category></category></item><item><title><![CDATA[Git基础之基础概念]]></title><link>https://blog.youkuaiyun.com/m0_73035591/article/details/146133808</link><guid>https://blog.youkuaiyun.com/m0_73035591/article/details/146133808</guid><author>m0_73035591</author><pubDate>Sun, 09 Mar 2025 16:07:46 +0800</pubDate><description><![CDATA[版本控制：开发过程中用于管理我们对文件、目录或工程等内容的修改历史，方便查看更改历史记录，备份以便恢复以前版本的软件工程技术。所有版本信息仓库全部同时到本地每一个用户，可以离线本地提交，只需要在联网时push到相应的服务器或其他用户那里。如果连不上网，用户就看不到历史版本，也无法切换版本验证问题，这个服务器损坏之后，数据就全部丢失，可以定期备份。记录文件每次的更新，可以对每个版本做一个快照，或是记录补丁文件，给个人用。但是增加了本地存储的占用，而且每一个人都有全部的代码，存在安全隐患。]]></description><category></category></item><item><title><![CDATA[React基础之项目实战]]></title><link>https://blog.youkuaiyun.com/m0_73035591/article/details/146133783</link><guid>https://blog.youkuaiyun.com/m0_73035591/article/details/146133783</guid><author>m0_73035591</author><pubDate>Sun, 09 Mar 2025 16:06:35 +0800</pubDate><description><![CDATA[我们可以在获取到token之后，就在本地的localStorage进行存储，在进行token初始化的时候，先判断token在localStorage中有没有，如果没有则为空，如果有那就用localStrage中的。因为Redux是基于浏览器内容的存储方法，刷新时状态会恢复为初始值，比如登录之后Token再刷新页面之后就会丢失。//核心逻辑：有token 正常跳转，无token去登录。1.创建craco.config.js配置文件。范围内的状态码都会触发该函数。范围内的状态码都会触发该函数。]]></description><category></category></item><item><title><![CDATA[React基础之类组件]]></title><link>https://blog.youkuaiyun.com/m0_73035591/article/details/146133770</link><guid>https://blog.youkuaiyun.com/m0_73035591/article/details/146133770</guid><author>m0_73035591</author><pubDate>Sun, 09 Mar 2025 16:06:04 +0800</pubDate><description><![CDATA[类组件是基于ES6类来编写的组件，使用React.Component作为基类，并定义render方法，是一种定义组件的方式。父传子：通过props绑定数据，通过this关键字发送数据，使用this.props来获取数据。componentWillUnmiunt在组件卸载时执行，适用于清除副作用如清除定时器等。子传父：子组件标签生绑定父组件中的函数，子组件调用这个函数传递参数。//1.父传子，直接通过props子组件标签。//1.父传子，直接通过props子组件标签。子组件通过props来发送数据。]]></description><category></category></item><item><title><![CDATA[React基础之zustand]]></title><link>https://blog.youkuaiyun.com/m0_73035591/article/details/146087705</link><guid>https://blog.youkuaiyun.com/m0_73035591/article/details/146087705</guid><author>m0_73035591</author><pubDate>Sun, 09 Mar 2025 16:05:43 +0800</pubDate><description><![CDATA[需要注意，在进行异步操作之后，需要调用Set方法，来将新数据放入到旧数据的后面即可。1.函数参数必须返回一个对象，对象内部编写状态数据和修改状态方法。当单个store比较大的时候，可以采用切片模式进行拆分组合。2.set函数是用于修改数据的专门方法，并且有两种情况。(1)参数是函数，常用于需要使用老数据的方法。3.返回的是一个对象和修改对象状态的方法。// 创建counter相关切片。// 创建channel相关切片。// 2.绑定store到组件。(2)参数直接是一个对象。// 1.创建store。]]></description><category></category></item><item><title><![CDATA[React基础之类组件]]></title><link>https://blog.youkuaiyun.com/m0_73035591/article/details/146087677</link><guid>https://blog.youkuaiyun.com/m0_73035591/article/details/146087677</guid><author>m0_73035591</author><pubDate>Fri, 07 Mar 2025 09:59:31 +0800</pubDate><description><![CDATA[类组件是基于ES6类来编写的组件，使用React.Component作为基类，并定义render方法，是一种定义组件的方式。父传子：通过props绑定数据，通过this关键字发送数据，使用this.props来获取数据。componentWillUnmiunt在组件卸载时执行，适用于清除副作用如清除定时器等。子传父：子组件标签生绑定父组件中的函数，子组件调用这个函数传递参数。//1.父传子，直接通过props子组件标签。//1.父传子，直接通过props子组件标签。子组件通过props来发送数据。]]></description><category></category></item><item><title><![CDATA[React基础之useInperativehandlle]]></title><link>https://blog.youkuaiyun.com/m0_73035591/article/details/146087639</link><guid>https://blog.youkuaiyun.com/m0_73035591/article/details/146087639</guid><author>m0_73035591</author><pubDate>Fri, 07 Mar 2025 09:58:42 +0800</pubDate><description><![CDATA[与forwardRef类似，但是forwardRef是通过暴露整个Ref来实现，而useInperativehandle是通过对外暴露一个方法来实现的。通过ref调用子组件内部的focus方法来实现聚焦。]]></description><category></category></item></channel></rss>