<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Tuna____的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Tuna____</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Tuna____]]></copyright><item><title><![CDATA[解决 VS Code 中 Git 推送报错：ECONNREFUSED vscode-git.sock 与鉴权失败]]></title><link>https://blog.youkuaiyun.com/Tuna____/article/details/158978304</link><guid>https://blog.youkuaiyun.com/Tuna____/article/details/158978304</guid><author>Tuna____</author><pubDate>Thu, 12 Mar 2026 21:48:06 +0800</pubDate><description><![CDATA[摘要：VS Code终端执行git push时常见ECONNREFUSED和鉴权失败问题，主要由VS Code密码拦截机制失效和Git凭证错误导致。提供4种解决方案：1) 使用GIT_ASKPASS=&quot;&quot;强制终端输入密码；2) 重启VS Code终端；3) 清除Git密码缓存；4) 改用SSH密钥认证（推荐）。建议开发者配置SSH以彻底避免该问题，提高工作效率。]]></description><category></category></item><item><title><![CDATA[git subtree add 其他仓库后， push 一个干净的 commit log 给 gerrit 的方法]]></title><link>https://blog.youkuaiyun.com/Tuna____/article/details/158741402</link><guid>https://blog.youkuaiyun.com/Tuna____/article/details/158741402</guid><author>Tuna____</author><pubDate>Fri, 06 Mar 2026 18:33:46 +0800</pubDate><description><![CDATA[本文介绍了使用 git subtree 解决主仓库（外网）与子仓库（内网）代码同步的问题。通过 git subtree add --squash 命令，将内网子仓库代码压缩为单条提交记录合并到主仓库，既避免了网络隔离问题，又保持了主仓库历史记录整洁。文章详细说明了操作步骤，包括引入子仓库、推送干净提交到Gerrit的方法，并总结了在rebase过程中可能遇到的坑点及解决方案。该方案有效解决了跨网络环境下的代码同步需求，同时满足Gerrit代码审查的要求。]]></description><category></category></item><item><title><![CDATA[VSCode SSH 连接麒麟 V10 SP1系统 修改 AllowTcpForwarding 也连不上的解决方式]]></title><link>https://blog.youkuaiyun.com/Tuna____/article/details/158692223</link><guid>https://blog.youkuaiyun.com/Tuna____/article/details/158692223</guid><author>Tuna____</author><pubDate>Thu, 05 Mar 2026 11:54:48 +0800</pubDate><description><![CDATA[笔者所操作的系统的PermitOpen是。，意为禁止任何远程端口转发。]]></description><category></category></item><item><title><![CDATA[告别手动导出：一键将思源笔记自动同步到 Git 仓库]]></title><link>https://blog.youkuaiyun.com/Tuna____/article/details/154496174</link><guid>https://blog.youkuaiyun.com/Tuna____/article/details/154496174</guid><author>Tuna____</author><pubDate>Thu, 06 Nov 2025 18:33:55 +0800</pubDate><description><![CDATA[你是否也曾像我一样，在思源笔记中精心维护着一份指南或知识库，却在将其同步到 GitLab/GitHub 时感到烦恼？这个过程不仅耗时，而且极易出错。今天，我将与你分享如何通过一个 Python 脚本，将这整个流程彻底自动化，实现真正的“一键同步”，让你从此专注于内容创作。]]></description><category></category></item><item><title><![CDATA[解决 Cursor/VS Code 在选择 Anaconda 虚拟环境的时候没有自动显示的问题]]></title><link>https://blog.youkuaiyun.com/Tuna____/article/details/151892282</link><guid>https://blog.youkuaiyun.com/Tuna____/article/details/151892282</guid><author>Tuna____</author><pubDate>Sat, 20 Sep 2025 09:59:07 +0800</pubDate><description><![CDATA[VS Code/Cursor无法自动显示Anaconda虚拟环境的核心原因是Python扩展无法正确执行conda env list命令。解决方案是在设置中明确指定conda.exe路径：1)打开设置(Ctrl+,)；2)搜索&quot;Python: Conda Path&quot;；3)填入Anaconda安装目录下Scripts文件夹中的conda.exe完整路径；4)重启编辑器后，虚拟环境应能自动出现在解释器列表中。此方法通过直接告知扩展conda位置，解决了环境发现失败的问题。]]></description><category></category></item><item><title><![CDATA[Android Studio 中 Java 调用 Kotlin 代码的两种入口实现，包含环境配置。安卓开发的 app 和纯代码的 main 两种入口]]></title><link>https://blog.youkuaiyun.com/Tuna____/article/details/151017741</link><guid>https://blog.youkuaiyun.com/Tuna____/article/details/151017741</guid><author>Tuna____</author><pubDate>Sat, 30 Aug 2025 13:47:30 +0800</pubDate><description><![CDATA[本文分享了在Android开发中实现Java与Kotlin互调用的完整示例。开发环境使用Android Studio 2025，通过模块化方式实现两种语言的交互：1）在Java中调用Kotlin模块的Detector类；2）同目录下直接调用Kotlin工具类。同时展示了纯Java库的配置方法，通过build.gradle.kts设置java-library插件，并验证了从Java主程序调用Kotlin类的方法。]]></description><category></category></item><item><title><![CDATA[基于 onnx-graphsurgeon 和 polygraphy 完成 Ultralytics yolo11n 的端到端封装，并消除推理误差的图 debug 实战分享]]></title><link>https://blog.youkuaiyun.com/Tuna____/article/details/150933328</link><guid>https://blog.youkuaiyun.com/Tuna____/article/details/150933328</guid><author>Tuna____</author><pubDate>Wed, 27 Aug 2025 18:46:57 +0800</pubDate><description><![CDATA[本文介绍了如何使用ONNX框架封装目标检测模型yolo11n.onnx，实现端到端部署。主要内容包括：1）借助ONNX GraphSurgeon工具拼接预处理和后处理计算图；2）使用Polygraphy工具调试计算误差；3）分析ONNX安卓部署示例的实现原理。文章详细讲解了如何通过修改计算图张量和节点实现运算逻辑封装，并提供了工具版本信息和示例代码。该方案旨在简化安卓端模型部署流程，适用于头戴设备等移动端应用场景。]]></description><category></category></item><item><title><![CDATA[基于 Nexus 在 Dockerfile 配置 yum, conda, pip 仓库的方法和参考]]></title><link>https://blog.youkuaiyun.com/Tuna____/article/details/147902942</link><guid>https://blog.youkuaiyun.com/Tuna____/article/details/147902942</guid><author>Tuna____</author><pubDate>Mon, 12 May 2025 19:16:18 +0800</pubDate><description><![CDATA[add 的时候可能会隐式的添加 default 通道，其为 Anaconda 多个官方仓库的统一别名，需要删除 default 通道，避免版权问题。PS：如果是用 Miniforge 替换过 Anaconda 则还需要备份或删除 Miniforge 安装目录下的.condarc，和步骤 1 同理。比如 mv 成.condarc.bak，因为用户目录下的配置优先级最高。备份或删除之前的 conda 配置，通常是用户目录下的.condarc。注意，如果 Nexus 代理的是 NVIDIA 的 pypi 仓库，]]></description><category></category></item><item><title><![CDATA[在完全不连外网的 Linux 服务器里更新 docker compose]]></title><link>https://blog.youkuaiyun.com/Tuna____/article/details/144432312</link><guid>https://blog.youkuaiyun.com/Tuna____/article/details/144432312</guid><author>Tuna____</author><pubDate>Thu, 12 Dec 2024 17:46:53 +0800</pubDate><description><![CDATA[在能连外网的电脑上下载 OS 对应版本的 compose 可执行文件。笔者是 X86_64 架构，故下载。docker compose 的。属性至少要 2.22.0 版本。Linux 服务器 输入。，并想办法传输到服务器里。Linux 服务器上。]]></description><category></category></item><item><title><![CDATA[Anaconda 迁移到 Miniforge]]></title><link>https://blog.youkuaiyun.com/Tuna____/article/details/142829786</link><guid>https://blog.youkuaiyun.com/Tuna____/article/details/142829786</guid><author>Tuna____</author><pubDate>Thu, 10 Oct 2024 19:05:45 +0800</pubDate><description><![CDATA[Anaconda 迁移到 Miniforge]]></description><category></category></item><item><title><![CDATA[单服务器基于 Nginx 负载均衡 + Docker Compose 提高并发量]]></title><link>https://blog.youkuaiyun.com/Tuna____/article/details/142783303</link><guid>https://blog.youkuaiyun.com/Tuna____/article/details/142783303</guid><author>Tuna____</author><pubDate>Wed, 09 Oct 2024 13:49:27 +0800</pubDate><description><![CDATA[单服务器的多服务管理多服务器的集群管理可参考博主 docker swarm 的技术分享根据服务请求量和服务器规模的匹配程度，多服务器集群的性能对于目前来说过剩，故有了本研究的分享。]]></description><category></category></item><item><title><![CDATA[git rebase 合并提交，精简 git log]]></title><link>https://blog.youkuaiyun.com/Tuna____/article/details/142216188</link><guid>https://blog.youkuaiyun.com/Tuna____/article/details/142216188</guid><author>Tuna____</author><pubDate>Fri, 13 Sep 2024 17:37:28 +0800</pubDate><description><![CDATA[如果读者有大量 commit 要合并，在进入合并设置窗口后，可以结合 vim 的丰富编辑功能操作，比如快速替换除第一行外的。操作，之后都是合并到第一行，在本文后续第四步的最终提交的编辑窗口再确定和输入此次合并的 commit 信息。如果有冲突，需要修改，修改的时候要注意，保留最新的历史，不然我们的修改就丢弃了。如果没有冲突，或者冲突已经解决，则会出现最后的本次合并提交的 commit 说明编辑窗口。（可选，通常在合并大量 commit 的时候使用）指定一个。，因为如图说明，它们是从头到尾的串行执行，且。]]></description><category></category></item><item><title><![CDATA[Linux 用自带命令批量删除除了某个文件或目录以外的所有文件]]></title><link>https://blog.youkuaiyun.com/Tuna____/article/details/141894844</link><guid>https://blog.youkuaiyun.com/Tuna____/article/details/141894844</guid><author>Tuna____</author><pubDate>Wed, 04 Sep 2024 15:16:45 +0800</pubDate><description><![CDATA[以删除除了以 “best” 开头的文件以外的所有文件为例。基于 find 命令的丰富功能，其扩展性好。]]></description><category></category></item><item><title><![CDATA[VS Code 用 remote SSH 远程root或非root登入服务器时遇到的问题和资料总结]]></title><link>https://blog.youkuaiyun.com/Tuna____/article/details/141860398</link><guid>https://blog.youkuaiyun.com/Tuna____/article/details/141860398</guid><author>Tuna____</author><pubDate>Tue, 03 Sep 2024 14:15:21 +0800</pubDate><description><![CDATA[免密登入配置好公钥后记得在用户目录下设置好权限，root 用户也是。如果配置了 root 免密登入的公钥还提示要密码，则参看下面的博客。，则参看下面vs code server的离线安装和免密登入。修改或添加ssh协议端口、允许root登入等配置。如果因为网络问题，如管控或者网速太慢，卡在。如果是则调整/root目录的权限。看下是否在登入时出现类似。]]></description><category></category></item><item><title><![CDATA[基于 docker swarm 和 NVIDIA MIG 并行部署 AI 推理服务]]></title><link>https://blog.youkuaiyun.com/Tuna____/article/details/140575040</link><guid>https://blog.youkuaiyun.com/Tuna____/article/details/140575040</guid><author>Tuna____</author><pubDate>Sat, 20 Jul 2024 18:17:21 +0800</pubDate><description><![CDATA[子节点如果找不到配置文件中的镜像时，子节点里的任务会启动失败。正如管网所说，GI 可以进一步切分出多个 CI，但笔者所用的服务器是一块 A30，只有 4 个 CI，故切分出 4 个 GI 后而不能再细分出 CI。此处笔者在两个服务器上实验，工作节点的 A30 分了 4 个 GI，管理节点的 A30 没有应用 MIG，故最大并行服务只能拉倒 5 个，（可选，步骤 3 也有）查看可切分的程度的各配置的 ID。，此节后续是笔者对 GI 和 CI 的关系的探讨。查看节点未启动的原因，比如第 6 个节点会说.....]]></description><category></category></item><item><title><![CDATA[基于 docker 把 Label Studio 的 Django DB 从 SQLite 迁移到 PostgreSQL]]></title><link>https://blog.youkuaiyun.com/Tuna____/article/details/140442179</link><guid>https://blog.youkuaiyun.com/Tuna____/article/details/140442179</guid><author>Tuna____</author><pubDate>Mon, 15 Jul 2024 16:28:41 +0800</pubDate><description><![CDATA[准备连接 PostgreSQL 的 Label Studio 的 docker-compose.yml。（猜测依据）笔者看报错异常的源码时，app 标签和数据库的 model 名只由一个句点。，所以此时执行以下命令去除对应的表便导出成功了（笔者并没有系统学习过数据库）读者可参考修改，欢迎在评论区指出其能够变得更简洁、高效、可读的配置 👏。最后终端应该会打印类似如下信息，之后浏览器访问查看数据是否都加载了。数据文件在新的用 PostgreSQL 的容器里现身。分隔，所以如果将两个或以上的形如。]]></description><category></category></item><item><title><![CDATA[用python将子进程开至压榨到最后一点内存以最大利用算力，附基于Label Studio的剪视频的完整示例源码]]></title><link>https://blog.youkuaiyun.com/Tuna____/article/details/140227116</link><guid>https://blog.youkuaiyun.com/Tuna____/article/details/140227116</guid><author>Tuna____</author><pubDate>Sat, 06 Jul 2024 12:06:22 +0800</pubDate><description><![CDATA[笔者用标准库的进程池来批量剪切视频做视频分类数据集，一开始是用一个列表维护开启的子进程，CPU利用率是到100%了，但随着数据量的增大，内存会溢出。最后转向标准库自带的进程池，但其最大只能开到数量。内存是不会溢出了，但看到CPU的每个核心的利用率和内存都有很多空闲，剪切视频产出又很慢，实在心痒。故实现了如下有限长度的进程池维护列表，可以手动调整到最大进程数量以吃干抹净服务器算力。]]></description><category></category></item><item><title><![CDATA[基于 python 用 fastapi 或 http 标准库架一个下载服务器里的文件或目录的临时服务，附客户端代码]]></title><link>https://blog.youkuaiyun.com/Tuna____/article/details/139371236</link><guid>https://blog.youkuaiyun.com/Tuna____/article/details/139371236</guid><author>Tuna____</author><pubDate>Sat, 01 Jun 2024 11:38:22 +0800</pubDate><description><![CDATA[一行命令即快速启用的python http标准库的方法和 fastapi 相对复杂些的用法]]></description><category></category></item><item><title><![CDATA[Python tarfile 标准库解压 Linux tar 归档的文件并解决 windows NotADirectoryError: [WinError 267] The directory nam]]></title><link>https://blog.youkuaiyun.com/Tuna____/article/details/137995305</link><guid>https://blog.youkuaiyun.com/Tuna____/article/details/137995305</guid><author>Tuna____</author><pubDate>Sat, 20 Apr 2024 12:00:42 +0800</pubDate><description><![CDATA[大家可以按需修改源码。]]></description><category></category></item><item><title><![CDATA[三句话理解python GIL特性，助你开发更好的python程序]]></title><link>https://blog.youkuaiyun.com/Tuna____/article/details/137281028</link><guid>https://blog.youkuaiyun.com/Tuna____/article/details/137281028</guid><author>Tuna____</author><pubDate>Tue, 02 Apr 2024 18:22:43 +0800</pubDate><description><![CDATA[I/O 绑定程序是指花费时间等待输入/输出的程序，输入/输出可以来自用户、文件、数据库、网络等。I/O 绑定程序有时需要等待相当长的时间才能从源程序获得所需内容，这是因为在输入/输出准备就绪之前，源程序可能需要进行自己的处理，例如，用户正在考虑在输入提示符中输入什么内容，或者数据库查询正在自己的进程中运行。解决办法可以用两个进程执行计算，但进程管理的开销并不会把计算时间减少到原来的一半。当你观察一个典型的 Python 程序或任何计算机程序时，会发现它们的性能有 CPU 绑定和 I/O 绑定之分。]]></description><category></category></item></channel></rss>