<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[XRN的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/xrn1997</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; xrn1997]]></copyright><item><title><![CDATA[会话回收站：dsh-session-delete]]></title><link>https://blog.youkuaiyun.com/xrn1997/article/details/170243603</link><guid>https://blog.youkuaiyun.com/xrn1997/article/details/170243603</guid><author>xrn1997</author><pubDate>Sat, 07 Nov 2026 15:36:46 +0800</pubDate><description><![CDATA[本插件为 DeepSeek Harness 增加会话删除与正文预览功能，支持回收站机制：删除后可撤销，且右侧详情面板实时展示对话全量内容（含提问、回复、工具调用、图片附件等），便于确认后再操作。支持整组删除、批量处理、恢复及彻底清除，回收站数据本地存储、不联网，孤儿会话与附件需手动维护。兼容性明确，安装后重启生效，无入口注册，不影响性能。]]></description><category></category></item><item><title><![CDATA[Android OpenCV SDK 编译教程（WSL2 Ubuntu 22.04 环境）]]></title><link>https://blog.youkuaiyun.com/xrn1997/article/details/155501223</link><guid>https://blog.youkuaiyun.com/xrn1997/article/details/155501223</guid><author>xrn1997</author><pubDate>Tue, 02 Dec 2025 18:54:45 +0800</pubDate><description><![CDATA[本文介绍了在WSL2 Ubuntu 22.04环境下编译Android OpenCV SDK的完整流程，以及AAR的相关问题。]]></description><category></category></item><item><title><![CDATA[使用 SNAPSHOT 加速依赖库调试]]></title><link>https://blog.youkuaiyun.com/xrn1997/article/details/153737309</link><guid>https://blog.youkuaiyun.com/xrn1997/article/details/153737309</guid><author>xrn1997</author><pubDate>Wed, 22 Oct 2025 16:19:35 +0800</pubDate><description><![CDATA[通过使用SNAPSHOT 仓库避免频繁修改依赖版本号；无需删除缓存即可自动拉取最新依赖；提升依赖库开发与调试效率。在正式发布版本时，只需去掉-SNAPSHOT后缀，上传到 release 仓库即可。]]></description><category></category></item><item><title><![CDATA[原来for循环并不能随意挪动嵌套关系]]></title><link>https://blog.youkuaiyun.com/xrn1997/article/details/133377768</link><guid>https://blog.youkuaiyun.com/xrn1997/article/details/133377768</guid><author>xrn1997</author><pubDate>Thu, 28 Sep 2023 10:40:03 +0800</pubDate><description><![CDATA[2023年9月26日我参加了一次小米技术面试二面，面试官人很不错，感觉也很照顾我，在手撕代码这里给了两个EASY，然而我只做出来了一个，另一个当时脑子宕机了，没做出来。这道题，本身是非常简单的，如果放到笔试里，估计很快就能做出来，但是面试的时候确实是第一时间没想明白，后续就开始发蒙了。换零钱，假设有1张3块钱，可以换成1张1块钱和1张2块钱，但这仅代表一种组合。爬楼梯，假设有1个3阶台阶，那我可以先走2步再走1步，或者先走1步再走2步。简单来说就是排列和组合的区别，爬楼梯是排列，换零钱是组合。]]></description><category></category></item><item><title><![CDATA[问题记录-Win11版本22581.100中GithubDesktop一直Fetch]]></title><link>https://blog.youkuaiyun.com/xrn1997/article/details/123754113</link><guid>https://blog.youkuaiyun.com/xrn1997/article/details/123754113</guid><author>xrn1997</author><pubDate>Sat, 26 Mar 2022 13:07:46 +0800</pubDate><description><![CDATA[问题记录]]></description><category></category></item><item><title><![CDATA[Java反射]]></title><link>https://blog.youkuaiyun.com/xrn1997/article/details/119169283</link><guid>https://blog.youkuaiyun.com/xrn1997/article/details/119169283</guid><author>xrn1997</author><pubDate>Wed, 28 Jul 2021 09:20:42 +0800</pubDate><description><![CDATA[import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

/**
 * 反射就是在运行时才知道要操作的类是什么，并且可以在运行时获取类的完整构造，并调用对应的方法。
 * @author xrn1997
 * @date 2021/7/22
 */
publ]]></description><category></category></item><item><title><![CDATA[pytorch学习笔记——CrossEntropyLoss、NLLLoss、Softmax和LogSoftmax之间的关系]]></title><link>https://blog.youkuaiyun.com/xrn1997/article/details/118900979</link><guid>https://blog.youkuaiyun.com/xrn1997/article/details/118900979</guid><author>xrn1997</author><pubDate>Mon, 19 Jul 2021 16:32:01 +0800</pubDate><description><![CDATA[import torch.nn as nn
import torch

data = torch.randn(3, 3)  # 随机生成一个3*3的矩阵
print(data)

sm = nn.Softmax(dim=1)  # 按行 softmax
print(sm(data))

print(torch.log(sm(data)))  # log(softmax)

slm = nn.LogSoftmax(dim=1)
print(slm(data))  # LogSoftmax

# 结论：nn.L]]></description><category></category></item><item><title><![CDATA[Android SensorManager部分源码解读]]></title><link>https://blog.youkuaiyun.com/xrn1997/article/details/117675086</link><guid>https://blog.youkuaiyun.com/xrn1997/article/details/117675086</guid><author>xrn1997</author><pubDate>Tue, 08 Jun 2021 15:03:03 +0800</pubDate><description><![CDATA[Android SensorManger类部分源码解读
]]></description><category></category></item><item><title><![CDATA[C++复习与总结]]></title><link>https://blog.youkuaiyun.com/xrn1997/article/details/106163637</link><guid>https://blog.youkuaiyun.com/xrn1997/article/details/106163637</guid><author>xrn1997</author><pubDate>Sun, 17 May 2020 23:44:58 +0800</pubDate><description><![CDATA[1.C++中引用与指针的异同：

相同点：

（1）都可以作为函数的形参，并且效果相同。

不同点：

（1）指针可以有数组，引用不能成为数组的类型。

（2）指针可以指向指针，引用不能引用引用。

（3）void类型可以有指针，但不能有引用。

（4）除非了常指针（char *const name）和指向常量的指针(const char * name)有特殊限制以外，指针没太大的束缚，而引用在初始化后就不能修改了。

（5）函数返回一个类型的引用，这种函数可以作为左值。

2.C++的结构体可以有函数，C]]></description><category></category></item><item><title><![CDATA[C++11学习笔记（2）]]></title><link>https://blog.youkuaiyun.com/xrn1997/article/details/79118650</link><guid>https://blog.youkuaiyun.com/xrn1997/article/details/79118650</guid><author>xrn1997</author><pubDate>Thu, 25 Jul 2019 19:03:24 +0800</pubDate><description><![CDATA[注：本人所有学习笔记多来自各种书籍原著，C++11学习笔记根据《C++Primer （第五版）》整理，仅供个人复习使用。

1.字面值常量

以0开头的整数代表八进制数，以0x或0X开头的代表十六进制数。整型字面值具体的数据类型由它的值和符号决定。默认情况下，十进制字面值是带符号数，八进制和十六进制字面值既可能是带符号的也可能是不带符合的。类型short没有对应的字面值。

字符串字面值的类型实际...]]></description><category></category></item><item><title><![CDATA[C++11学习笔记（3）]]></title><link>https://blog.youkuaiyun.com/xrn1997/article/details/79126913</link><guid>https://blog.youkuaiyun.com/xrn1997/article/details/79126913</guid><author>xrn1997</author><pubDate>Thu, 25 Jul 2019 19:03:16 +0800</pubDate><description><![CDATA[注：本人所有学习笔记多来自各种书籍原著，C++11学习笔记根据《C++Primer （第五版）》整理，仅供个人复习使用。

1.变量声明与定义的关系

为了支持分离式编译，C++语言将声明和定义区分开来。如果你想声明一个变量而非定义它，就在变量名前添加关键字extern。


extern int i;//声明i而非定义i
int j;//声明并定义j


extern double pi = 3...]]></description><category></category></item><item><title><![CDATA[C++11学习笔记（1）]]></title><link>https://blog.youkuaiyun.com/xrn1997/article/details/79067918</link><guid>https://blog.youkuaiyun.com/xrn1997/article/details/79067918</guid><author>xrn1997</author><pubDate>Thu, 25 Jul 2019 19:02:51 +0800</pubDate><description><![CDATA[注：本人所有学习笔记多来自各种书籍原著，C++11学习笔记根据《C++Primer （第五版）》整理，仅供个人复习使用。

1.读入数量不定的输入数据




#include&lt;iostream&gt;

int main()

{

int sum = 0, value = 0;

//读取数据直到遇到文件尾

while(std::cin &gt;&gt; value)

     ...]]></description><category></category></item><item><title><![CDATA[一个strtok_s分割字符串函数]]></title><link>https://blog.youkuaiyun.com/xrn1997/article/details/79550054</link><guid>https://blog.youkuaiyun.com/xrn1997/article/details/79550054</guid><author>xrn1997</author><pubDate>Thu, 25 Jul 2019 19:01:25 +0800</pubDate><description><![CDATA[这里我给出我整理修改所得的一个分割字符串函数，以便不时之需。


vector&lt;string&gt; vtr;//储存分割的字符串
vector&lt;string&gt;::iterator it;//迭代器
void split(string str)
{
	vtr.clear();
	char*next_token = nullptr;
	char *ch = new char[str...]]></description><category></category></item><item><title><![CDATA[图片拖拽小游戏（H5）]]></title><link>https://blog.youkuaiyun.com/xrn1997/article/details/96274180</link><guid>https://blog.youkuaiyun.com/xrn1997/article/details/96274180</guid><author>xrn1997</author><pubDate>Wed, 17 Jul 2019 09:51:55 +0800</pubDate><description><![CDATA[这是我学习H5过程中做的一个小游戏，不难，但是对我来说意义深远。

这里图片切割我用的画布，事件用的拖放，只需要改一下img的引用就能用。


&lt;!DOCTYPE html&gt;
&lt;html&gt;
	&lt;head&gt;
		&lt;meta charset="utf-8"&gt;
		&lt;title&gt;拖放&lt;/title&gt;
		&lt;style type...]]></description><category></category></item><item><title><![CDATA[PreparedStatement ps = conn.prepareStatement(sql);在eclipse中跑不通的问题，http报错500]]></title><link>https://blog.youkuaiyun.com/xrn1997/article/details/80384003</link><guid>https://blog.youkuaiyun.com/xrn1997/article/details/80384003</guid><author>xrn1997</author><pubDate>Sun, 20 May 2018 17:58:55 +0800</pubDate><description><![CDATA[博主在eclipse中运行tomcat跑web项目进行学习的时候，愣是发现老是报错500，500不是404这种连不上数据库的问题。百度了好多都是说标题这句话传的是空指针导致错误，可是我感觉我的问题跟这个空指针有点不一样的。具体代码如下public class UserDAO {

	//用户名、密码、手机号
	//数据的插入
	//sql
//	insert into 表名(字段名1,字段名2,....]]></description><category></category></item><item><title><![CDATA[不用action提交表单——JS实现]]></title><link>https://blog.youkuaiyun.com/xrn1997/article/details/80353100</link><guid>https://blog.youkuaiyun.com/xrn1997/article/details/80353100</guid><author>xrn1997</author><pubDate>Thu, 17 May 2018 16:41:23 +0800</pubDate><description><![CDATA[通常表单的提交有两种方式，一是直接通过html的form提交，代码如下：&amp;lt;form action=&quot;&quot; method=&quot;&quot; id=&quot;forms&quot;&amp;gt;
    &amp;lt;input type=&quot;text&quot; name=&quot;username&quot; value=&quot;&quot; /&amp;gt;
    &amp;lt;input type=&quot;password&quot;]]></description><category></category></item><item><title><![CDATA[Web开发中的路径问题]]></title><link>https://blog.youkuaiyun.com/xrn1997/article/details/80352113</link><guid>https://blog.youkuaiyun.com/xrn1997/article/details/80352113</guid><author>xrn1997</author><pubDate>Thu, 17 May 2018 15:53:03 +0800</pubDate><description><![CDATA[文章转自：https://blog.youkuaiyun.com/fran_maomao/article/details/50450502路径主要分别两种，绝对路径和相对路径1 绝对路径绝对路径比较好理解，就是该页面在这个应用的具体详细地址。如http://localhost:8080/webapp/jsp/path2 相对路径相对路径有两种写法，一个是前面带/ 的，一个是不带/ 的不带/ 的为相对于当前目录...]]></description><category></category></item><item><title><![CDATA[Python学习笔记（3）]]></title><link>https://blog.youkuaiyun.com/xrn1997/article/details/79244929</link><guid>https://blog.youkuaiyun.com/xrn1997/article/details/79244929</guid><author>xrn1997</author><pubDate>Sat, 03 Feb 2018 10:35:01 +0800</pubDate><description><![CDATA[注：本篇博客内容为看学习视频整理，仅供学习参考。
容器：
list 列表：

序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置，或索引，第一个索引是0，第二个索引 是  1，依此类推。列表的数据项不需要具有相同的类型

tuple 元组：只读列表

li = [1, 2, 3, '456', [1, 2, 3], {1: 'one', 2: 'tw]]></description><category></category></item><item><title><![CDATA[Python学习笔记（2）]]></title><link>https://blog.youkuaiyun.com/xrn1997/article/details/79237713</link><guid>https://blog.youkuaiyun.com/xrn1997/article/details/79237713</guid><author>xrn1997</author><pubDate>Fri, 02 Feb 2018 12:45:48 +0800</pubDate><description><![CDATA[注：以下代码为看视频记录下来的，仅供学习参考

# 函数定义和默认参数
def func(x, y = 500):
    print(x, y)

func(150)
func(100, 200)
func(y = 300, x = 100)

# 可变参数
def func(name, *numbers):
    print(name)
    print(numbers)

func(]]></description><category></category></item><item><title><![CDATA[Python学习笔记（1）]]></title><link>https://blog.youkuaiyun.com/xrn1997/article/details/79170415</link><guid>https://blog.youkuaiyun.com/xrn1997/article/details/79170415</guid><author>xrn1997</author><pubDate>Mon, 29 Jan 2018 09:58:42 +0800</pubDate><description><![CDATA[注：本学习笔记是看视频记下来的，仅供参考。
1.常用关键字：
常量： True、False、None
对象和容器：class 、import、from、del
判断：if、elif、else、is、in、assert
循环：for、while、continue、break、pass
异常：raise、try、except、finally、as
算术运算：+、 -、 *、 /、 %、 ]]></description><category></category></item></channel></rss>