- 博客(857)
- 收藏
- 关注
原创 docker使用及基础常用命令,保存起来当手册用,containerd常用命令
很重要的要说明的一点: Docker容器后台运行,就必须有一个前台进程.,容器运行的命令如果不是那些一直挂起的命令(比如运行top,tail),就是会自动退出的。有些容器必须要以前台交互式模式运行,而有些容器不需要比如说redis、mysql,后台守护式运行之后,redis就会在容器中启动,并不会退出。attach 直接进入容器启动命令的终端,不会启动新的进程,用exit退出,会导致容器的停止。exec 是在容器中打开新的终端,并且可以启动新的进程,用exit退出,不会导致容器的停止。
2023-04-07 17:40:19
1172
原创 Kubernetes(k8s)使用及操作文档
https://kubernetes.io/zh/docs/reference/kubectl/overview/https://kubernetes.io/zh/docs/reference/kubectl/overview/#%E8%B5%84%E6%BA%90%E7%B1%B B%E5%9E%8Bhttps://kubernetes.io/zh/docs/reference/kubectl/overview/#%E6%A0%BC%E5%BC%8F%E5%8C%9 6%E8%BE%93%E5%87%BA
2022-07-10 21:11:52
1825
原创 nginx安装与配置详解
目录一、安装Nginx:二、使用Nginx:简单与单台Tomcat整合三、详细使用(nginx就是去配置其文件而已),如下所示:一、安装Nginx:1 : wget下载: http://nginx.org/download/nginx-1.4.2.tar.gz2 : 进行安装: tar -zxvf nginx-1.6.2.tar.gz3 : 下载锁需要的依赖库文件: yum install pcre yum install pcre-dev...
2021-02-18 09:15:21
6753
12
原创 mysql常用操作汇总大全
1.本地登录MySQL命令://root是用户名,输入这条命令按回车键后系统会提示你输入密码2.指定端口号登录MySQL数据库将以上命令:mysql-uroot-p改为6即可,注意指定端口的字母P为大写,而标识密码的p为小写。MySQL默认端口号为33063.指定IP地址和端口号登录MySQL数据库命令格式为:mysql-hip-uroot-p-P3306例如:mysql-h127.0.0.1-uroot-p-P3306。
2020-12-17 17:33:47
2768
1
原创 ElasticSearch:优化案例实战解析(持续更新)
上线前务必把核心索引写死。明确:字段类型、是否索引、所需 fields 及分析器。不让 ES 自己猜。当你不手动定义索引映射(Mapping)时,ES 会根据插入的第一条数据 “猜” 字段类型:数字可能被识别为text(文本),导致排序 / 聚合时需要额外转换,性能下降;手机号 / 身份证号被识别为long,但超出数值范围会报错;所有字段默认开启索引,即使是不需要检索的字段(如备注、日志详情),浪费内存和磁盘;文本字段默认使用standard分析器(拆分中文为单字),不符合业务检索需求。
2026-03-18 10:41:00
7
原创 UpSnap:一键唤醒局域网电脑神器
支持的功能:🚀 一键式设备唤醒仪表板⏰ 支持通过 Cron 定时任务,实现自动化的定时事件🔌 Ping 您选择的任何端口🔍 使用网络扫描发现设备(需要 nmap)👤 安全的用户管理🌐 i18n 语言的支持🎨 35 种不一样的主题🐳 适用于 amd64、arm64、arm/v7、arm/v6 的 Docker 映像🏠 可自托管。
2026-03-13 10:29:37
225
原创 短链系统设计:一文讲透短链系统设计的重难点
URL 短链,就是把原来较长的网址,转换成比较短的网址。我们可以在短信和微博(有字数限制的地方)里可以经常看到短链的身影。网址短、美观、便于发布、传播、占用字符少。该算法将业务语义信息和随机字符结合,核心思路是:1.提取业务标识(如用户ID、商品ID、业务线编码、时间戳片段等),编码为固定长度的字符;2.生成一段随机字符,保证短链的唯一性;3.将业务标识和随机字符按固定规则拼接,形成最终短链;4.可选:对业务标识做简单加密(如异或),避免直接暴露敏感信息。优点缺点。
2026-03-06 00:15:00
341
原创 宝塔面板:运维神器
官方文档:https://docs.bt.cn/getting-started/quick-installation-of-bt-panel输入用户名密码登录即可。
2026-03-03 14:35:15
206
原创 1Panel:linux运维神器,轻松掌握linux服务器
1Panel 提供直观易用的 Web 管理界面,让用户轻松掌控 Linux 服务器——无论是智能体、大模型、网站、数据库、容器、文件,还是计划任务,一切尽在指尖。
2026-03-03 00:15:00
239
原创 redis命令:rename命令,配置无感刷新神器
RENAME 是 Redis 中用于原子性重命名key的命令,作用是将指定的原 key(source)重命名为新 key(destination),操作全程是原子的,不会出现中间状态(比如其他客户端既看不到原 key 也看不到新 key 的情况)。# 基础语法# 返回值- 成功:返回"OK"- 失败:- 原key(source)不存在:返回 (error) ERR no such key。
2026-03-02 00:45:00
513
原创 SpringBoot处理跨域问题详解
跨域的本质是浏览器的同源策略(Same Origin Policy)导致的安全限制:浏览器会阻止前端页面从一个「源」去请求另一个「源」的资源,只有满足「同源」条件的请求才会被允许。「源」由协议 + 域名(IP) + 端口三者共同组成,三者全部相同才是「同源」,任意一个不同则为「跨域」。示例场景是否同源原因→是协议、域名、端口全相同→否端口不同→否协议不同(http vs https)→否域名不同(主域相同但子域不同)→否IP(域名)不同。
2026-03-02 00:30:00
930
原创 RAGFlow:一站式 RAG(检索增强生成)解决方案
RAGFlow 是一款基于深层文档理解的开源 RAG(检索增强生成)引擎。结合大语言模型 (LLM),它能够提供真诚的问答能力,并从各种复杂格式的数据中提供有据可查的引用。
2026-02-26 14:46:57
1048
原创 langchain4j入门:java界生产推荐的大模型应用开发框架
LangChain4j 是专为 JVM 生态(Java/Kotlin/Scala) 设计的开源大模型应用框架,核心目标是让 Java 开发者以类型安全、原生适配的方式快速集成 LLM 能力,无需跨语言桥接。它并非 LangChain 官方 Java 版,但设计思想对齐,且更贴合企业级 Java 开发习惯。
2026-02-25 09:39:30
413
原创 springAI-alibaba入门:国内友好的大模型对接框架,对标springAI
国内可以使用springAI-alibaba,文档默认支持阿里百炼大模型。MCP(Model Context Protocol,,模型上下文协议)是一种开放标准,目的是增强AI与外部系统的交互能力。MCP为AI提供了与外部工具、资源和服务交互的标准化方式,让AI能够访问最新数据、执行复杂操作,并与现有系统集成。本质是Tools远程调用。
2026-02-24 14:09:36
955
原创 python修复json神器:json-repair包(用于大模型返回json不规范)
(文末有其他语言修复链接)# 安装 pip install json-repair它可以:(1)修复JSON中的语法错误缺少引号、逗号位置错误、有未转义的字符以及键值对不完整。缺少引号、格式错误的值(true、false、null),以及修复损坏的键值结构。(2)修复格式错误的JSON数组和对象不完整或损坏的数组/对象,可通过添加必要的元素(如逗号、括号)或默认值(null、“”)来修复。
2026-02-13 17:39:47
728
原创 elasticSearch之API:基础命令及文档基本操作
primary_term: _primary_term主要是用来恢复数据时处理当多个文档的_seq_no一样时的冲突,避免Primary Shard上的写入被覆盖。在_msearch中,请求格式和bulk类似。Shard级别严格递增,保证后写入的Doc的_seq_no大于先写入的Doc的_seq_no。_seq_no和_primary_term是对_version的优化,7.X版本的ES默认使用这种方式控制版本,所以。比如说,可以有一个客户数据的索引,另一个产品目录的索引,还有一个订单数据的索引。
2026-02-11 09:44:45
866
原创 递归算法:函数通过调用自身来解决问题
递归(Recursion)是一种算法设计思想,指函数或方法直接或间接调用自身,将一个复杂的大问题,拆解为与原问题结构相同但规模更小的子问题,直到子问题简单到可以直接求解(终止条件),再通过子问题的解逐步推导出原问题的解。编程语言本质上是会为递归创建方法调用栈,每一次递归调用都会将方法入栈,直到触达终止条件,再从栈顶开始依次出栈执行回归逻辑。基线条件(终止条件):子问题的最小解,当满足该条件时,递归停止,直接返回结果(避免无限递归)。
2026-02-10 00:30:00
773
原创 贪心算法:从当前最优尝试获取全局最优
贪心算法 是一种在每一步决策中都选择当前局部最优的策略,试图通过一系列局部最优选择得到全局最优解。它不回溯、不考虑整体后果,仅关注当下最优。贪心算法生效的两个关键条件:贪心选择性质:全局最优解可通过一系列局部最优选择逐步构造。最优子结构性质:问题的最优解包含其子问题的最优解。注意:并非所有问题都适用贪心算法(比如 0-1 背包问题),只有满足上述两个性质时,贪心才能得到全局最优。贪心算法最核心的是,要找到一个排序规律,首先确定某种顺序一定会找到最优解。
2026-02-10 00:15:00
1103
原创 穷举算法:最基础直观的暴力搜索算法
穷举算法(Enumeration Algorithm),也被称为暴力搜索算法,是一种在问题域的解空间中对所有可能的解穷举搜索,并根据条件选择最优解的方法的总称。理论上,穷举法可以解决许多计算领域的问题(只要机器性能足够或者时间开销可承受)。并且在一些较为基本的问题的求解中运用十分广泛,比如求n个数的和。穷举法可以用于解决一些规模较小的问题,因为其时间规模在可承受范围内。
2026-02-05 14:47:05
756
原创 StarRocks:高性能分析型数据仓库
StarRocks 是新一代极速全场景 MPP (Massively Parallel Processing) 数据库。StarRocks 的愿景是能够让用户的数据分析变得更加简单和敏捷。用户无需经过复杂的预处理,就可以用 StarRocks 来支持多种数据分析场景的极速分析。StarRocks兼容 MySQL 协议,支持标准 SQL 语法,易于对接使用,全系统无外部依赖,高可用,易于运维管理。
2026-02-04 00:15:00
1082
1
原创 Java枚举详解
所以,编译后的enum类和普通class并没有任何区别。但是我们自己无法按定义普通class那样来定义enum,必须使用enum关键字,这是Java语法规定的。通过enum定义的枚举类,和其他的class没有任何区别。EnumSet:存储枚举常量的集合,内部以位向量实现,占用内存小、操作高效;EnumMap:键为枚举类型的 Map,内部以数组实现,查询速度快。定义的每个实例都是引用类型的唯一实例;只能定义出enum的实例,而。操作符创建enum的实例;定义的enum类型总是。
2026-01-30 10:17:07
448
原创 工具推荐:Glass2k-windows软件透明度设置
Glass2k是一款窗口辅助工具,它的主要作用,就是另窗口透明化,让你可以在电脑上同时处理几件事,比如你在工作的同时玩游戏…软件本身仅有27KB,运行对电脑毫无影响。下载地址:略。大概只有27K,别下错了。。
2026-01-30 00:30:00
500
原创 elasticSearch之API:文本分词,分词器的使用(下)
分词:即把一段中文或者别的划分成一个个的关键字,我们在搜索时候会把自己的信息进行分词,会把数据库中或者索引库中的数据进行分词,然后进行—个匹配操作,默认的中文分词是将毎个字看成一个词,比如“我爱中国”会被分为"我"“爱”“中"国”,这显然是不符合要求的,所以我们需要安装中文分词器IK来解决这个问题。如果要使用中文,建议使用IK分词器!IK提供了两个分词算法: ik_smart和 ik_max_word,其中 ik_smart为最少切分,ik_max_word为最细粒度划分!
2026-01-26 14:13:22
958
1
原创 elasticSearch之API:文本分词,分词器的使用(上)
本文基于ES7.10版本(阿里云ES稳定版也是7.10版)。映射索引时,可以使用分析器映射参数为每个文本字段指定分析器。// 为索引中的某个字段,指定分词器"title": {分词:即把一段中文或者别的划分成一个个的关键字,我们在搜索时候会把自己的信息进行分词,会把数据库中或者索引库中的数据进行分词,然后进行—个匹配操作,默认的中文分词是将毎个字看成一个词,比如“我爱狂神”会被分为"我"“爱”“狂"神”,这显然是不符合要求的,所以我们需要安装中文分词器IK来解决这个问题。
2026-01-22 18:16:21
792
2
原创 遗传算法:模拟生物自然选择和遗传变异的【随机搜索优化算法】详解
遗传算法(Genetic Algorithm,GA)是模拟生物自然选择和遗传变异的随机搜索优化算法,核心是通过 “优胜劣汰” 的迭代过程,从海量候选解中找到近似最优解。-- Jenetics遗传算法框架 --> < dependency > < groupId > io.jenetics </ groupId > < artifactId > jenetics </ artifactId > < version > 5.2.0 </ version > </ dependency >
2026-01-10 00:15:00
741
原创 FASTJSON库:阿里出品java界json解析库,使用与踩坑记录
是FASTJSON项目的重要升级,目标是为下一个十年提供一个高性能的JSON库。与fastjson使用同一套API。fastjson v1版本已经被淘汰了,所以以后就直接用fastjson v2版本。
2026-01-07 02:15:00
789
原创 云原生 API 网关:apisix使用详解
Apache APISIX 是 Apache 软件基金会下的顶级项目。它是一个具有动态、实时、高性能等特点的云原生 API 网关。可以使用 APISIX 网关作为所有业务的流量入口,它提供了动态路由、动态上游、动态证书、A/B 测试、灰度发布(金丝雀发布)、蓝绿部署、限速、防攻击、收集指标、监控报警、可观测、服务治理等功能。Apache APISIX 作为云原生 API 网关,内置70 + 插件,覆盖认证授权、流量控制、安全防护、可观测性、请求转换、缓存、流量管理等核心场景。
2026-01-05 00:30:00
1887
原创 python实现离线文字转语音:pyttsx3 库
pyttsx3 是 Python 轻量级的离线文本转语音(TTS, Text-to-Speech) 库,区别于 gTTS(需要联网),它直接调用操作系统内置的语音引擎,无需网络即可实现文本转语音,响应速度快,且支持跨平台(Windows、macOS、Linux)。
2025-12-31 23:30:00
1021
原创 python监听文件变化:Watchdog库
watchdog是 Python 生态中处理文件系统事件的主流库,跨平台(Windows/Linux/macOS)、效率高,支持监听文件 / 目录的创建、修改、删除、移动等事件,是工业级的解决方案。# 安装 pip install watchdog。
2025-12-31 23:15:00
1090
原创 python实现语音识别:SpeechRecognition库
SpeechRecognition 是 Python 生态中最主流的语音识别第三方库,它封装了多个国内外主流语音识别引擎的接口,让你无需关注各引擎的底层实现(比如 API 签名、数据格式转换),只需调用简单的 Python API 就能快速实现 “语音转文字” 功能。你希望详细了解Python的SpeechRecognition库的功能、使用方法,并通过具体案例掌握它在不同场景下的应用,我会从库的基础介绍、核心概念,到不同使用场景的实战案例逐步讲解,让你既能理解原理,也能直接上手使用。引擎网络要求。
2025-12-31 22:45:00
1289
原创 python实现定时任务:schedule库、APScheduler库
适用场景:复杂时间规则的定时任务(如每天8点打卡、每周一18点统计数据、每月1号凌晨2点备份),是最常用的触发器。适用场景:需要在某个具体时间点执行一次的任务(如2025年1月1日0点执行新年祝福发送、定时执行一次数据备份)。(内存存储,重启丢失),也支持Redis/MongoDB/SQLAlchemy(数据库)等持久化存储。适用场景:动态管理任务(如临时暂停某个任务排查问题、不再需要的任务直接移除)。适用场景:调度器重启后任务不丢失(如服务重启后,定时任务自动恢复)。
2025-12-31 22:15:00
1939
原创 SkyWalking:开源分布式链路追踪神器,一文学透
SkyWalking是分布式系统的应用程序性能监视工具,专为微服务、云原生架构和基于容器(Docker、K8s、Mesos)架构而设计。提供分布式追踪、服务网格遥测分析、度量聚合和可视化一体化解决方案。在 Spring Boot 项目中排查问题时,我们通常需要查看日志。但当请求量较大或者接口调用链路较长时,很难区分日志属于哪一次请求。MDC 是SLF4J提供的 线程级日志上下文存储。它内部通过保存上下文信息。当在某个线程里执行时,traceId 会存入当前线程的 ThreadLocal 中。
2025-12-30 16:55:34
1452
转载 JAVA25新特性:AOT优化启动性能
以前Java启动慢是出了名的,特别是云原生场景下,冷启动时间直接影响用户体验。一个Spring Boot应用启动要十几秒甚至几十秒,这在Kubernetes这种需要频繁启停容器的环境里,简直就是灾难。用户请求来了,容器还在启动,等半天才能响应,体验差得不行。后来发现大部分时间都花在类加载和链接上了,每次启动都要重新加载一遍类,解析字节码、验证类、准备类、解析符号引用,这些操作都要时间,特别是类多的时候,这时间就上去了。
2025-12-26 00:45:00
368
转载 JDK 25 新特性:结构化并发(JEP 505)简化多线程编程
结构化并发在JDK21引入,作为一个预览特性。本文案例是基于JDK25测试。如果有最新版idea直接引入JDK25即可,如果是用命令行编译执行,需要进行以下操作才能使用预览特性(默认不开启预览特性的使用)# 编译,指定版本25 javac --enable-preview --release 25 . \ StructuredConcurrencyExample.java # 执行,同样开启预览 java --enable-preview StructuredConcurrencyExample。
2025-12-26 00:30:00
218
原创 OpenResty+redis实现基于ip的代理层灰度发布
用户无论访问应用服务还是静态页,都要经过Nginx代理层,我们可以在Nginx这里做灰度发布,如下图:zhangsan、wangwu使用A应用zhaoliu使用B应用192.168.211.1/192.168.211.2 IP的用户使用A应用192.168.211.3 IP的用户使用B应用我们为了测试系统,通常把公司内部IP设置为测试IP,也就是使用灰度系统的IP,此时内部员工测试直接访问服务器即可,但是访问服务器又分为静态资源访问和动态服务访问,都有不同的实现策略。
2025-12-24 00:30:00
662
原创 Zookeeper原理与核心深入剖析
尽管拜占庭的“幽灵”很难处理,但在实际工作应用中, 却并不需要过分去考虑它,因为对于大多数系统来说,内部环境里,硬件故障导致消息错误的概率本身就很低,还要按照拜占庭叛徒的策略来处理故障就更为困难了。3.如果N大于该Acceptor已经响应过的所有请求的编号,那么它就会将它已经接受过(已经经 过第二阶段accept的提案)的编号最大的提案作为响应反馈给Proposer,如果还没有的accept提案的话返回{pok,null,null}空信息,同时该Acceptor承诺不再接受任何编号小于N的提案。
2025-12-23 00:15:00
2415
java==比较int值问题
2022-08-19
java覆写jar包代码不生效
2022-08-26
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅