- 博客(49)
- 收藏
- 关注
原创 PyInstaller 自定义打包目录结构实战指南
除了exe_subdir,你还可以通过exe = EXE(...contents_directory='dependencies', # 将依赖文件夹改为 dependencies生成的结构├── bin/└── lib/└── dependencies/ ← 自定义名称也可以通过执行修改代码的方式去修改依赖文件夹的名称访问下的能修改生存的依赖文件夹的名称。
2026-01-29 09:57:08
611
原创 搭建 JNI 开发环境:使用 IntelliJ IDEA 和 CLion
在许多 Java 项目中,开发者常常需要调用 C/C++ 编写的代码,以便借助其性能优势或利用已有的库。本文将详述如何在 IntelliJ IDEA 和 CLion 中搭建 JNI 开发环境,并通过一个简单的示例来演示 JNI 的基本用法。在CLion同样新建项目,命名为StudentJNI,Language standard选择哪个都可以,Library type选择shared。r生成头文件,在jni目录就生成com_yaojing_Student.h的文件了。jni:用于存储生成的头文件。
2026-01-28 22:22:26
435
原创 一文读懂 Skills
Skills” 这个概念最早由 Anthropic 公司提出,作为其大模型 Claude 的一种能力扩展机制。简单来说,它允许用户为 Claude 添加自定义的功能和工具。随着这套做法越来越成熟,并被社区广泛接受,Skills 如今已成为大多数 Agent 开发工具和 IDE 都支持的一种标准扩展规范。一份说明书(SKILL.md)、一堆操作脚本(Script)、以及一些参考资料(Reference)。你可以把一个 Skill 想象成一个打包好的"技能包"。它把完成某个特定任务所需的。
2026-01-22 18:29:17
1204
原创 GLM-4.7 + Claude Code 完整配置教程(含 MCP 功能)
本教程严格依据智谱官方文档整理,涵盖的完整配置流程,适用于 Windows / macOS / Linux 用户。
2026-01-22 17:52:32
8595
2
原创 CentOS 7 安装 Node.js v18.x 完整教程
通过以上步骤,你已成功在 CentOS 7 上安装了 Node.js v18.x 版本。✅ 使用非官方构建版本(glibc-217)✅ 正确配置环境变量✅ 设置淘宝镜像源加速✅ 自定义全局包目录避免权限问题现在你可以开始使用 Node.js v18 运行Claude Code了!
2026-01-22 17:51:14
730
1
原创 在 CentOS 7 上部署 Node.js 18 + Claude Code
由社区维护的兼容构建:在 CentOS 7 环境中重新编译 Node.js保持功能完整:与官方 Node.js 18.19.0 功能完全一致解决兼容性问题:链接旧版 glibc,避免运行时错误Claude Code 已成功安装所有"报错"信息实为非错误的通知(notice/funding)切勿升级 npm 到 11.x,否则将破坏环境不能使用官方 Node.js 18:因 glibc 版本不兼容必须使用 glibc-217 兼容构建:确保在 CentOS 7 上稳定运行。
2025-12-03 04:04:59
1567
1
原创 Windows 11 超详细图文教程:从零安装 nvm + Node.js + Claude Code(2.0.54)
本文提供了Windows 11上安装nvm+Node.js+Claude Code的完整教程。主要内容包括:1)彻底卸载已有Node.js;2)安装配置nvm-windows并设置国内镜像;3)使用nvm安装多版本Node.js;4)安装Claude Code AI编程工具;5)解决常见的ERR_BAD_REQUEST连接错误。教程详细介绍了每个步骤的操作方法,配有截图说明,并提供了常用命令速查表。通过本教程,开发者可以在Windows系统上轻松管理多个Node.js版本,并成功运行Claude Code工
2025-11-26 11:42:36
802
原创 Open WebUI 本地部署支持 RAG(检索增强生成)、联网搜索、多模态模型、MCP 工具调用
在本地服务器(如 Ubuntu)上搭建支持 RAG(检索增强生成)、联网搜索、多模态模型、MCP 工具调用的私有 AI 助手平台。配置增强:Open WebUI + Ollama + SearXNG + MCPo。
2025-11-25 17:56:44
1493
原创 Linux在 user03 用户下完整部署 Ollama(手动安装 + 开机自启 + 远程访问)
✅安全隔离:Ollama 以普通用户user03运行✅持久化模型:存储于自定义路径/TGAI/...✅远程可用:绑定✅真正开机自启:通过linger实现无登录启动✅命令行友好开箱即用✅GPU 自动加速:支持 CUDA(驱动正常前提下)🚀适用于开发、测试甚至轻量生产环境。ℹ️提示:如需多用户共用同一模型目录,请确保目录权限为755或使用 ACL,但建议每个用户独立模型空间以避免冲突。
2025-11-25 17:52:48
681
原创 基于 Rokid Max 与 JSAR 构建空间锚定型 AR 信息面板
空间锚点是 AR 系统在物理环境中创建的一个持久化参考点。通过 SLAM 算法,设备会识别环境特征(如角点、纹理),并将虚拟对象绑定到该位置。即使用户离开再返回,只要环境未发生显著变化,锚点仍能精确定位。通过 JSAR 与 Rokid Max 的空间计算能力,我们仅用百行代码就实现了具备环境感知的 AR 信息面板。这不仅验证了 Web 技术栈在空间计算时代的可行性,也为构建下一代“空间操作系统”中的轻量化应用提供了范式。
2025-11-23 22:05:22
1293
原创 Git HEAD 分支游离导致代码丢失问题解决方案教程
摘要:Git中"HEAD分支游离"状态易导致代码丢失,可通过以下步骤恢复:1)使用git reflog查找丢失的提交哈希;2)创建临时分支关联该提交;3)解决文件占用问题后切换分支;4)可选将恢复分支合并到主分支;5)清理临时分支。预防措施包括避免长期处于游离状态、定期提交和切换分支前检查工作区。该流程适用于Windows/Mac/Linux系统,能有效恢复游离状态丢失的代码。
2025-10-16 11:43:35
510
原创 CLion 调试时 Command Timed Out 问题解决方案
在使用 CLion 进行调试时,若在代码中设置了断点,程序运行到断点处可能会出现 “Command timed out” 错误。这一错误会致使调试过程中断,无法正常继续。
2025-06-25 19:07:59
618
原创 解决CentOS 7环境下VNC出现乱码问题
在 CentOS 7 操作系统中,当使用 VNC(Virtual Network Computing,虚拟网络计算)远程连接服务器时,有时可能会遇到乱码问题。这种乱码问题通常与字符编码设置不正确有关。通过修改 VNC 服务器配置文件来解决乱码问题。
2024-11-04 14:02:54
1621
原创 可重入锁深入学习(有码)
【摘要】 今天,梳理下java中的常用锁,但在搞清楚这些锁之前,先理解下 “临界区”。临界区在同步的程序设计中,临界区段活称为关键区块,指的是一个访问共享资源(例如:共享设备或是共享存储器)的程序片段,而这些共享资源又无法同时被多个线程访问的特性。---维基百科释义1:可重入互斥锁(维基百科的这个叫法更贴切),是互斥锁的一种,同一线程对其多次加锁不会产生死锁,可重入互斥锁也称为递归互斥锁或递归锁。...今天,梳理下java中的常用锁,但在搞清楚这些锁之前,先理解下 “临界区”。
2024-07-13 23:32:29
1137
原创 springboot配置多数据源
springboot配置多数据源1、JDBC2、自定义数据源DruidDataSource3、springboot配置多数据源并动态切换4、springboot整合mybatis Spring Framework 为 SQL 数据库提供了广泛的支持。从直接使用 JdbcTemplate 进行 JDBC 访问到完全的对象关系映射(object relational mapping)技术,比如 Hibernate。Spring Data 提供了更多级别的功能,直接从接口创建的 Repository 实现,
2024-07-13 10:58:39
1354
原创 大白话讲解AI大模型
最后学出来的模型就是大模型。举例:我们学习英文一般都是主谓宾宾补等等,但是现在还有一种方式就是我们根本不看这些而是去阅读大量的书籍或者看美剧等等,看的多了说的多了读的多了,当其他人用英文给你聊天的时候你自然而然的就知道他下面要接什么,这就是语感。因为我们获取结果的方式上在分布里去采样,如果我们想发散率小一点那么我们只需要取前面概率大的,如果我们想发散率高一点那么我们可以取概率小的。首先要考虑的上,当我们肉眼看到我们问的问题的时候我们是能理解它的意思的,那么怎么让机器去理解它的意思就是一个问题。
2024-07-11 02:05:49
1617
1
原创 力扣62 不同路径
机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。从左上角开始,总共有 3 条路径可以到达右下角。题目数据保证答案小于等于 2 * 109。输入:m = 3, n = 7。输入:m = 3, n = 2。输入:m = 7, n = 3。输入:m = 3, n = 3。问总共有多少条不同的路径?
2024-06-25 22:32:37
380
原创 VMware虚拟机扩容磁盘,有很详细图文
VMware虚拟机 Linux系统 ubuntu-20.04.4-desktop-amd64 硬盘/磁盘扩容(超详细图文详解!亲测有效!
2024-06-25 09:17:48
1154
1
原创 License简介和Licensecc的使用
License简介什么是LIcense简易License制作加密扫盲对称加密非对称加密Licensecc使用构建和编译在linux上进行编译UbuntuCentOS 7CentOS 8下载并编译配置编译和测试cmake 后可以跟的参数在Linux上为Windows进行交叉编译在windos上进行编译cmake 后可以跟的参数MINGW整合以及使用硬件标志使用场景在物理硬件上执行在虚拟机中执行在容器中执行硬件标识符生成默认标识符生成(实现细节)**许可证检索**在你的应用程序中集成 Licensecc。
2024-06-24 14:32:48
4263
原创 Linux git生成ssh key (公钥私钥)配置GitLab
Git 是一种分布式的代码管理工具。远程代码管理基于 SSH,因此使用远程 Git 需要配置 SSH。
2024-06-24 14:31:34
2802
原创 JDK8新特性带案例讲解
默认方法通过实例调用,静态方法通过接口名调用默认方法可以被继承,实现类可以直接调用接口默认方法,也可以重写接口默认方法静态方法不能被继承,实现类不能重写接口的静态方法,只能使用接口名调用在JDK中帮我们提供的有函数式接口,主要是在 java.util.function 包中。注意:Stream和IO流(InputStream/OutputStream)没有任何关系,请暂时忘记对传统IO流的固有印象!
2024-05-24 14:06:50
579
原创 图文结合详细介绍RocketMQ
消息中间件,英文Message Queue,简称MQ。它没有标准定义,一般认为:消息中间件属于分布式系统中一个子系统,关注于数据的发送和接收,利用高效可靠的异步消息传递机制对分布式系统中的其余各个子系统进行集成。高效:对于消息的处理处理速度快,RocketMQ可以达到单机10万+的并发。可靠:一般消息中间件都会有消息持久化机制和其他的机制确保消息不丢失。异步:指发送完一个请求,不需要等待返回,随时可以再发送下一个请求,既不需要等待。一句话总结:消息中间件不生产消息,只是消息的搬运工。
2024-05-22 17:05:29
1004
原创 Git基础命令:带图整理
常见使用:删除已经提价到远程仓库的 .idea, .seting 文件/文件夹(项目构建自动生成的)暂存区(stage/index)用于从工作区和索引中删除文件。
2024-05-21 10:30:39
1222
原创 使用jpackage将java程序打包成exe程序(不需要安装jdk即可运行)
之前写过使用exe4j去打包可执行的exe但是 只能打包windos的,并且如果商用可能还会侵权等待,在Java14 出了使用jpackage对Jar进行打包,并且支持各个系统下面演示的是在windos进行打包。
2024-05-20 14:58:22
2543
3
原创 Java实现License(许可证)--包括详细注释和思路解释及源码文件
确定自己需要校验的属性,用来标识License使用方即表示谁用了你的软件、平台或者是库。在商业软件中,License通常用于限制软件的试用期、功能使用、并发用户数等,以便开发者能够收取相应的费用。将本机代码的激活码和license开始时间及结束时间,当作参数传入creater模块的creater类中。core:为核心模块、creator:为创建License模块、verify:为校验模块。将私钥放入创建License模块的资源文件夹内、将公钥放入License校验文件夹内。获取windos硬件信息。
2024-05-10 15:10:22
7764
3
原创 详细对比常用Java混淆和加密工具
针对使用JavaFX开发的项目,面临一个普遍问题:Java语言由于其解释性质和高度的抽象化,使得其编写的程序极易遭受反编译的风险。这一点在我们需要将编译后的JAR文件提供给客户时尤为重要,因此确保代码安全性成为至关重要的任务。
2024-04-18 09:19:09
4364
原创 java基础之入门
局内内部类存在于方法中。和成员内部类的区别在于:局部内部类的访问权限仅限于方法或作用域内。成员内部类可以无条件访问外部类数据,外部类需要创建内部类对象,通过对象访问。传参如果是一个接口,可以直接在方法括号内创建接口的匿名内部实现类。局部内部类只能访问外部类的final变量。不能由权限修饰符和static修饰。将一个类定义在另外一个类的类中。只能访问外部类的final变量。不能包含静态属性和方法。
2024-03-05 14:18:24
564
1
原创 简单工厂模式和策略模式
策略模式定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的客户@OverrideSystem.out.println("算法A实现");@OverrideSystem.out.println("算法B实现");@OverrideSystem.out.println("算法C实现");/*** 初始化时传入具体的策略对象*//*** 根据具体的策略对象,调用其算法的方法*///算法方法。
2023-11-23 14:00:11
184
1
原创 为何选择阅读《大话设计模式》
尽管能看出某些设计采用了特定的设计模式,例如xxxx设计模式,以实现松耦合等优势,但在实际框架设计中,我仍感到迷茫,不知道应该选择哪个设计模式最为合适。因此,选择阅读《大话设计模式》是为了汲取前人的经验,让我能够更深入地理解和应用设计模式,从而更好地发展自己的编程技能。一开始,《大话设计模式》就强调了面向对象编程的优势,即通过封装、继承、多态来降低程序的耦合性。本书是采用c# 来进行编程的,之前搞游戏开发的时候也学过c#,在学习的时候我会将他翻译成java版本如果有不对的请指正。
2023-11-23 01:57:37
175
1
原创 代码命名规范(阅读源码必备)
不过,相对于传统的适配器进行api转接,如果你的某个Handler里面方法特别的多,可以使用Adapter实现一些默认的方法进行0适配。为了让大家更好的理解命名的套路,我借鉴了最流行的Java接开源软件(spring系列,netty,libgdx,guava,logback等等),总结了10类常见的类命名。配合高级的IDE,可以减少编码人员的记忆负担,靠模糊的匹配就能找到自己所需要的资源。用来将context中传递的值进行复制,添加,清除,重置,检索,恢复等动作。你会在框架类代码中发现大量这样的名词。
2023-03-25 22:44:43
681
原创 从0开始带你阅读Sping源码阅读(一)
下载spring源码并且了解spring的核心源码,我不会通读但是我会介绍主要用到的所有方法,已经他的设计思想,了解设计思路,不可否认spring是我们接触的最优秀的源码之一
2023-03-25 22:42:24
300
原创 大白话讲解设计模式
策略模式是对算法的包装,是把使用算法的责任和算法本身分割开来,委派给不同的对象管理,最终可以实现解决多重if判断问题。1.环境(Context)角色:持有一个Strategy的引用。2.抽象策略(Strategy)角色:这是一个抽象角色,通常由一个接口或抽象类实现。此角色给出所有的具体策略类所需的接口。3.具体策略(ConcreteStrategy)角色:包装了相关的算法或行为。定义策略接口->实现不同的策略类->利用多态或其他方式调用策略。
2023-03-23 16:24:09
779
原创 使用大白话介绍TCP协议以及其为什么要这么设计
虽然在发送的时候有个总大小但是就相当于(我给一个人发了钱给了总重量,但是钱的金额是多少并不清楚)所以在发送的时候需要加入CRC校验码(其实就是关联数据)根据一个公式 双方计算出的值应该是一样的就是对的。 刚刚我是拿一个文字来举例的,它的传输比较小,但是如果我们想要传输比较大的文件的话,a和b一直形成一条导线,其他的导线不能连接就断网,可能会造成网卡只接受了这个其他消息都接受不到的情况。这样每份小数据之间就有了较大的时间间隔,路由器趁着这个时间间隔可以给其他的设备发送数据,这样不会导致其他设备断网。
2023-02-24 22:05:38
313
原创 非常详细的讲解在浏览器中输入bilibili.com后执行的全部过程,可结合我前面说的TCP协议食用
其中HTTPS代表他是加密传输的用来保证传输的安全性,服务器和运行商之间的协商就对应着开头讲的紫色部分,地址栏有小锁图标代表信任的安全认证的加密证书,点开之后我们可以看到证书的使用人和颁发人,证书的有效时间、指纹信息,传输内容的加密是非对称加密,服务器持有密钥客户端持有公钥,我们可以在详细信息中可以看到证书的签名算法、公钥的路径等等,我们发现HTTPS加密传输每次都要协商时间说明比HTTP非加密访问要慢,但是现在浏览器如果不使用HTTPS的话会出现不安全的提示。
2023-02-24 21:55:46
2836
原创 手把手教你如何修改jar包,以及了解JVM虚拟机的重要性
当我们可以读懂他的过程的适合我们就可以通过修改他JVM指令来达到我们修改函数目的,如果只是简单替换字符串的话我推荐使用classlib在这个工具里面我们可以清楚的看到他值的储存位置。我们都知道代码的运行速度和编译成汇编之后的的多少成正比,所以我们有必要去了解java相关虚拟机的知识,并且知道我们怎么写会造成隐形类型转换等导致的运行速度慢等问题。除了这种我们还可以直接修改反编译的,反编译代码少量修改再将其环境搭建起来运行再编译成class直接解包jar文件,替换完再打包也可以。#2就是我们的成员变量a。
2023-01-05 00:58:23
5344
1
原创 图文讲解为什么重写equals()方法一定要重写hashCode()方法
想要接受这个问题我们必须了解一下三个对象==在引用数据类型当中进行的是地址的比较,equals()方法在Object类当中其底层也是用==比较地址,但是不同的类可能会重写equals()方法,比如String类中的equals()方法就是先比较地址是否相同,如果相同直接返回true,地址不同在比较值,如果值相等那么同样返回true();...
2022-07-23 11:37:41
172
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅