- 博客(87)
- 资源 (1)
- 收藏
- 关注
原创 离线安装与使用 vscode Remote SSH插件
本文详细介绍了VSCode Remote-SSH插件的离线安装与配置流程:下载对应版本的.vsix插件包及vscode-server压缩包,通过SSH免密登录上传并解压至远程主机指定目录,严格设置权限;本地关闭自动更新并配置SSH连接,实现远程开发。插件在远程运行,代码与环境均在远程,确保离线环境下高效、安全的远程开发体验。
2026-11-08 20:25:51
165
原创 Windows 配置远程免密 SSH 登录多个 Linux 主机
本文详细演示在Windows上配置SSH免密登录多台Linux服务器的全流程:使用OpenSSH生成ed25519密钥,通过ssh-copy-id或手动方式分发公钥,编写~/.ssh/config文件设置主机别名、用户、端口与密钥路径,结合ssh-agent缓存口令实现长期免密。附带常见问题排查与安全建议,最终实现一条命令快速登录,显著提升运维效率。
2026-11-08 19:39:16
219
原创 Go 切片、映射常见使用场景
本文介绍Go语言中切片与映射的常见使用场景。通过遍历切片并利用map实现按年龄等条件分组,可高效聚合数据;借助泛型函数GroupBy提升代码复用性。对比Java的Stream分组,Go强调显式控制与性能优势。此外,说明了切片需通过指针传递才能修改原值,而映射作为引用类型可直接修改。适用于高性能、低延迟场景,推荐封装通用函数以增强可读性与维护性。
2026-11-01 22:45:27
161
原创 Linux SIGTERM信号-实验
在Ubuntu 24.04、JDK21和Docker环境下,通过ShutdownHookLogExample注册JVM钩子,验证SIGTERM触发优雅停机并记录日志。实验对比启动脚本:使用exec使Java进程成为容器PID1,信号直达JVM,钩子正常执行;不使用exec时,shell中间层可能阻碍信号传递。该实验验证了优雅停机机制与exec的关键作用。
2026-09-06 18:39:45
463
原创 Linux SIGTERM 信号
SIGTERM(编号15)是Linux中请求进程正常终止的可捕获信号,默认终止进程,属于“礼貌请求”,区别于不可捕获的SIGKILL(9)。kill、docker stop等默认发送它。程序可用C、Python、Go、Node.js捕获处理,实现优雅退出。实践需按序执行:停止新请求、处理在途、保存状态、释放资源,并设超时防止无限等待。容器云环境中,SIGTERM是优雅下线重要一环。
2026-09-06 17:06:38
386
原创 C 语言字符输入/输出:getchar、putchar 与缓冲区机制详解
本文介绍了C语言中字符输入/输出的核心概念和常用函数。主要内容包括: 标准输入/输出流的基本概念,getchar()和putchar()的使用方法及其返回值类型的注意事项 缓冲区机制(行缓冲、全缓冲、无缓冲)及其对输入输出的影响 字符I/O的实际应用示例,如字符计数、大小写转换等 常见错误和陷阱,如用char接收getchar返回值、换行符处理等 文件字符I/O的扩展函数fgetc和fputc 掌握这些基础知识是进行更复杂文本处理的前提。文章通过代码示例和原理分析,帮助读者正确理解和使用字符I/O功能。
2026-08-19 22:38:41
426
原创 C语言控制语句:循环、分支和跳转
本文系统介绍了C语言的三大控制语句:分支、循环和跳转。在分支语句部分,详细讲解了if、if-else、else-if多分支以及switch语句的用法,特别强调了break和枚举类型在switch中的应用。循环语句部分涵盖while、do-while和for循环,指出C99允许在for循环中声明局部变量。跳转语句解析了break、continue、goto和return的适用场景与注意事项。最后总结了常见编程陷阱,如忘记break、悬挂else等问题,并建议优先使用结构化写法,合理运用控制语句来编写清晰健壮的
2026-08-12 23:03:55
334
原创 C 语言运算符
本文系统介绍了C语言中的运算符分类与用法。主要内容包括:1) 算术运算符(+、-、、/、%)及其整数除法特性;2) 关系运算符(>、<、==等)和逻辑运算符(&&、||、!)的短路特性;3) 赋值运算符和复合赋值运算符;4) 自增/自减运算符的前后缀区别;5) 位运算符(&、|、^等)的二进制操作;6) 条件运算符(?:)、逗号运算符和sizeof运算符的特殊用法;7) 指针相关运算符(、&、->、.)的使用场景。文章强调运算符优先级和结合性的重要性,建议使用括号明确运算顺序,并提供了大量可运行的代码示例,
2026-08-03 22:46:08
336
原创 C 语言基础数据类型详解:大小与内存存储
本文系统梳理了C语言基础数据类型的大小及存储方式。主要内容包括:1)常见数据类型(如char、int、float等)在64位Linux和Windows系统中的典型大小对比表;2)有符号整数采用补码存储的原理及计算方法;3)浮点数遵循IEEE 754标准的存储结构;4)字节序(大端/小端)对多字节数据存储的影响;5)内存对齐机制。文章通过表格和计算示例详细说明了各类型的内存表示形式,并总结了跨平台使用时需注意的差异点,为编写高效可靠的C程序提供基础参考。
2026-07-30 23:11:48
366
原创 GDB 摘要
GDB调试工具摘要 GDB是一款功能强大的程序调试工具,主要用于C/C++等语言的程序调试。核心功能包括: 控制程序执行(启动/暂停/单步) 设置断点条件 检查程序状态(变量/调用栈) 动态修改变量值 调试基本流程: 编译时添加-g参数生成调试信息 启动GDB并设置断点 运行程序并在断点处暂停 检查变量状态 单步跟踪或继续执行 必要时修改变量验证问题 调试案例演示了完整调试过程: 编写含逻辑错误的阶乘计算程序 通过单步执行发现错误调用factorial(num-1) 使用print检查变量值 通过backt
2026-06-07 23:29:38
234
原创 Linux man 命令详解:从入门到精通
本文介绍了Linux系统中man命令的详细使用指南。主要内容包括: 基本用法:通过man [命令名]查看命令手册,使用less分页器浏览,按q键退出。 手册章节:Linux手册分为多个章节,可用man [章节号] [名称]查看特定内容,如man 1 printf和man 3 printf的区别。-a选项可查看所有匹配章节。 手册结构:以ls命令为例展示了标准手册页格式,包含NAME(名称)、SYNOPSIS(语法)、DESCRIPTION(详细说明)等部分,其中DESCRIPTION部分详细列出了各种选项参
2026-05-30 22:06:39
377
原创 翻译 GDB 官方文档
gdb-translate是一个自动化翻译GNU调试器(GDB)官方文档的开源项目。该项目通过调用大模型API将866个英文HTML文档批量翻译为中文,保留原有结构和超链接。项目采用Go语言开发,包含输入/输出文件夹、系统提示和测试模块。用户可参与代码贡献或文档校对,通过Fork仓库、修改并提交PR来完善翻译质量。编译GDB源码生成原始文档后,运行程序即可进行翻译。项目旨在降低GDB学习门槛,推动中文开发者社区共建高质量本地化文档。
2026-05-24 22:46:36
404
原创 虚拟机与容器的区别:从架构到应用场景的深度解析
虚拟机与容器是两种主流的虚拟化技术,在架构和性能上存在显著差异。虚拟机通过Hypervisor模拟完整计算机,提供硬件级虚拟化,具有强隔离性但资源开销大、启动慢(分钟级),适合传统应用和安全敏感场景。容器采用操作系统级虚拟化,共享宿主机内核,具有轻量(MB级)、快速启动(秒级)和高资源利用率的特点,是微服务和云原生应用的理想选择。关键区别在于:虚拟机隔离性强但性能损耗高,容器轻量高效但共享内核可能带来安全隐患。技术选型需根据应用场景的隔离需求、性能要求和部署密度综合考量。
2026-05-23 16:46:48
476
原创 Linux chroot命令
摘要: chroot是Linux系统中用于改变进程根目录的命令,实现文件系统隔离。主要用途包括:1) 系统修复(通过Live CD进入损坏系统修复引导或密码);2) 软件构建(创建纯净编译环境避免污染主机);3) 安全测试(作为基础沙盒隔离潜在风险程序)。使用时需注意:需root权限、需手动复制依赖库和命令到新根目录,且单独使用安全性有限(可能被绕过)。典型操作示例:搭建隔离环境运行bash,需复制二进制文件及其依赖库。实际应用场景涵盖软件打包、漏洞研究及旧版软件兼容性支持。
2026-05-16 17:38:54
477
原创 vim入门使用手册
Vim入门使用手册摘要: Vim是一款模态编辑器,核心模式包括: 正常模式(默认):执行命令和导航(h/j/k/l移动,dd删除行) 插入模式(i/a进入):直接输入文本 可视化模式(v/V/Ctrl+v):选择文本块进行操作 重要功能: 交换文件机制(.swp)提供崩溃恢复保护 高效移动命令(w/b跳单词,{/}跳段落) 组合操作(如d2w删除两个单词) 缓冲区管理文件编辑 学习建议: 通过vimtutor zh启动交互教程 掌握模式切换(Esc返回正常模式) 保持"编辑-移动"的高效工作流 合理配置交换
2026-05-14 22:36:31
610
原创 C 语言使用 gdb 调试
使用GDB调试C语言程序的过程。示例程序定义了一个字符数组s,赋值后通过printf输出,但实际输出与预期不符。通过GDB调试发现:printf被编译器优化为puts函数由于字符串中间包含'\0'终止符,puts只输出了第一个字符使用GDB的x/20bc命令查看内存,确认数组实际包含两个's'字符文档还详细介绍了GDB的常用命令:断点设置(b/break)单步执行(n/next,s/step)变量查看(p/print)内存检查(x命令)调用栈跟踪(bt/backtrace)
2026-05-09 23:42:09
401
原创 dify-sandbox 基于官方源码构建镜像
在国内使用 dify-sandbox 官方代码 基础镜像拉不下来,不方便本地开发部署。这篇文章介绍完全使用国内的镜像源构建
2026-04-25 18:11:33
293
原创 dify-sandbox 执行代码报错 “operation not permitted“
摘要:调用dify-sandbox的/v1/sandbox/run接口执行Python代码时出现"operation not permitted"错误。解决方法是在config.yaml配置文件中添加系统调用白名单,通过生成0-500的系统调用编号列表(使用seq和paste命令),并将完整的编号列表配置到allowed_syscalls参数中。同时该配置文件还包含其他重要参数如端口设置、路径配置、网络权限等。这种配置方式允许沙箱环境执行必要的系统调用,从而解决权限问题。
2026-04-20 23:49:18
542
原创 Dify 基于源码本地启动开发
Dify 是一个多模块组成的开源 AI 应用开发平台,其代码仓库包含了多个子项目和服务模块。由于其架构复杂度较高,初次接触时可能难以快速理清各部分之间的关系以及正确的本地部署流程。因此下面将详细介绍如何从 GitHub 获取最新源码并正确地搭建起完整的本地开发环境。
2026-04-11 20:55:28
672
原创 dify-plugin api接口文档
Dify Plugin Daemon 是一个插件管理服务,负责插件的安装、卸载、更新和调用等功能。本文档详细描述了其提供的HTTP API接口。
2026-02-28 19:49:44
1149
原创 Go 编程语言指南 练习题目分享
Go 语言中文指南(Tour of Go 中文版) 是专为中文开发者打造的权威学习平台,完美契合“Go语言学习之旅”这一核心概念。作为由 Go 官方团队直接支持并提供中文本地化内容的资源,它不仅是初学者踏入 Go 语言世界的理想起点,更是构建系统性知识体系的基石。该指南以清晰的逻辑结构和循序渐进的编排方式,引导学习者从基础语法到高级特性,全面掌握 Go 语言的精髓。每一章节都精心设计了配套的练习题目,这些题目不仅紧扣章节主题,还注重实践性与趣味性,帮助学习者通过动手操作加深理解。
2026-01-10 17:34:03
979
原创 kombu 运行超长时间任务导致RabbitMQ消费者断开
kombu 消费端运行超长时间任务,阻塞心跳,导致消费者断开,消息重复运行。文章模拟了问题过程,详细的问题分析,并且给出了解决方案
2025-07-19 17:07:37
940
原创 mysql not in 查询引发的bug问题记录
这条有问题的sql 主要的功能是从t_user表中筛选出那些id值不在t_null_test表的user_id列中的记录,查询出的结果为空,实际上是有一个id=4不存在 t_null_test表的。NOT IN在处理包含NULL值的子查询时可能返回意外结果,因为NULL值的比较会返回UNKNOWN而非TRUE/FALSE。当子查询结果集较大时性能较差,因为它需要对子查询结果进行哈希匹配。为啥推荐 not exists, 查看sql 执行计划分析。扫描行数计算 rows * filtered%
2025-07-19 00:06:02
442
原创 camel-ai Agent模块- DeductiveReasonerAgent
DeductiveReasonerAgent是一种基于大模型的演绎推理智能体,通过设定初始状态(A)和目标状态(B)完成逻辑推理过程。其主要方法deduce_conditions_and_quality将复杂问题分解为:1) 分析状态特征对比;2) 历史经验与科学原理参考;3) 推导过渡条件(C);4) 实体标签识别;5) 质量评估(Q)。输出结构化数据包含条件、标签和过程质量评价,适用于资源优化、政策制定等场景。该智能体采用标准化提示词模板,确保推理过程的严谨性和结果的可解释性。
2025-06-20 23:56:49
596
原创 camel-ai 角色扮演 (deepseek-r1模型)
CAMEL-AI,一个致力于探索智能体数据生成、世界模拟与任务自动化领域缩放法则的开源社区,其官方网站位于https://www.camel-ai.org。作为一个前沿的人工智能研究平台,CAMEL-AI不仅吸引了众多科研人员的关注,也为推动AI技术的发展贡献了重要力量。CAMEL-AI最为引人注目的特点是其作为世界上首个多智能体系统的身份。这一系统以数据驱动、状态保持和智能体友好为核心设计理念,旨在为用户提供一个高效、灵活的智能体应用构建平台。
2025-06-17 23:15:28
1467
1
原创 python 本地运行Qwen3-Embedding-0.6B 模型提供API接口
该代码实现了一个基于 Flask 的 HTTP API 服务,用于将输入的文本转换为嵌入向量(embedding)。核心功能是通过 Qwen3-Embedding-0.6B 模型生成文本的向量表示。如果不配置环境变量,windows系统模型缓存到C盘的。先安装modelscope,然后使用命令行下载。下载完模型查看对应的配置路径是否有模型。输出了对应的路径,说明配置成功了。验证环境变量是否配置成功。
2025-06-10 23:32:55
2643
1
原创 LangChain4j 学习教程项目
本项目是基于LangChain4j的Java教程,通过12天系统学习(日均1小时)完成核心模块解析。项目涵盖从基础对话模型到复杂RAG(检索增强生成)应用,包含流式聊天、元数据过滤、SQL集成等关键技术。主要使用LangChain4j 1.0.1、OpenAI API及DuckDB等组件,要求Java 21环境。所有示例代码已在GitHub/Gitee开源,配套技术文章将逐步发布。重点内容RAG模型实现文档索引、查询压缩和多检索器集成,适用于信息检索增强场景。
2025-06-07 23:12:39
1084
原创 Python 使用 kombu 连接信息中包含#号问题排查
python 项目部署生产环境遇到一个错误问题 `raise ValueError(f"Port could not be cast to integer value as {port!r}")ValueError: Port could not be cast to integer value as 'guest` 测试环境和本地调试都没有问题,但是到生产之后就有问题,本章复现有问题的mq连接配置的导致的错误信息,记录问题排查过程
2024-03-23 15:57:39
933
原创 spring-security 项目实战(一)个人健康档案
项目来源于《Spring Security原理与实战》,这本书对spring security介绍比较详细的,很多原理性的内容讲解的比较清晰。
2024-03-02 15:59:04
1150
原创 并发情况下数据校验-基于数据库实现
在开发过程中,我们会遇到校验数据的唯一性,数据更新之后是否超过设置的阈值等等。并发情况下数据校验常见方式有使用分布式锁,数据库行锁等。本章介绍并发情况下使用数据库进行数据校验,常见的场景有: 1. 金额扣减 2. 抽奖奖品数量扣减 3. 库存扣减
2024-02-25 17:52:45
1258
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅