文章
69
标签
94
分类
7
首页
统计
  • 标签
  • 分类
  • 归档
关于
暮色之狐
搜索
首页
统计
  • 标签
  • 分类
  • 归档
关于

暮色之狐

Linux防火墙命令
发表于2025-11-20|系统运维
linux系统常用的防火墙分别是iptables和firewall防火墙,记录一下常用的命令 firewall防火墙12345678910111213141516171819202122232425#查看firewall服务状态systemctl status firewalld#查看firewall的状态firewall-cmd --state# 开启service firewalld start# 重启service firewalld restart# 关闭service firewalld stop#查看防火墙规则firewall-cmd --list-all # 查询端口是否开放firewall-cmd --query-port=8080/tcp# 开放80端口firewall-cmd --permanent --add-port=80/tcp# 移除端口firewall-cmd --permanent --remove-port=8080/tcp#重启防火墙(修改配置后要重启防火墙)firewall-cmd --reload 参数解释firwall-cmd:是Lin...
Windows系统SSH服务安装指南
发表于2025-11-20|系统运维
最近在做Jenkins的持续集成,公司的应用服务器大多是Windows系统,平时的运维主要是靠远程桌面的方式,为了使用Jenkins自动部署,需要在windows系统上安装SSH的服务,这里介绍微软官方的解决方案,详细介绍可以参考官网wiki。基于PowerShell的OpenSSH: https://github.com/PowerShell/Win32-OpenSSH/releases 安装步骤 进入链接下载最新的OpenSSH-Win64.zip,解压至 C:\Program Files\OpenSSH 打开cmd,进入 C:\Program Files\OpenSSH安装目录,执行以下命令 1powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1 设置服务自动启动并启动服务 12sc config sshd start= autonet start sshd 修复主机端的文件权限,进入 C:\Program Files\OpenSSH,右键 FixHostFilePermissions.ps1【使...
Spring MVC接口监控必备:原始路径模板获取全解析
发表于2025-11-20|后端
问题场景原始路径模板:/users/{id}实际获取路径:/users/40000478 在监控和统计场景中,带具体参数值的路径会导致: 相同的接口被统计为多个不同的路径 难以进行有效的聚合分析 通知信息不够清晰直观 解决方案:Spring MVC路径模板获取Spring MVC在处理请求时,会在请求属性中存储丰富的映射信息。通过以下方式可以获取原始路径模板: 12345678910111213import org.springframework.web.servlet.HandlerMapping;import javax.servlet.http.HttpServletRequest;public class MonitoringUtils { public static String getOriginalPathPattern(HttpServletRequest request) { // 获取最佳匹配的路径模式,如 /ad/launch/task/sendConfirmEmail/{id...
Typora安装与配置
发表于2025-11-18|软件工具
Typora安装注册 先安装 typora-setup-x64-1.2.4.exe,并记录安装路径,下载地址 将 app.asar 替换到安装路径下的resources文件夹,替换掉app.asar文件 重启typora!!!!!! 输入邮箱、注册码,邮箱随便输入,注册码:E8Q9Y5-KXMTL5-7578SL-4S5XKS 仅供学习,请在下载24小时之内删除,请支持正版 图片上传文件 -> 偏好设置中设置图像相关配置,上传服务我使用的是PicGo-Core(command line),其实和PicGo-Core(app)一样,主要是我不想托盘中多出一个程序放在那里,看着不舒服 点击下载或更新,下载更新完成后,点击打开配置文件,配置图床的地址,有些版本能直接打开,有些无反应,需要手动进到指定的目录进行修改config.json文件 picgo 的默认配置文件为~/.picgo/config.json。其中~为用户目录。不同系统的用户目录不太一样。 linux 和 macOS 均为~/.picgo/config.json。 windows 则为C:\Users\你的用...
VSCode Python开发配置
发表于2025-11-18|软件工具
Jupyter VSCode中安装jupter插件 使用#%%分割代码块 .ipynb文件中使用jupyter vscode中运行jupter时提示需要安装ipykernel,安装报错可以执行以下脚本进行安装 打开工程:code + 路径 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple ipykernel Pylance Python › Analysis: auto format string Python › Analysis › Inlay Hints: Call Argument Names 选择partial Python › Analysis: Type Checking Mode 选择standard Python › Analysis: inlay Hints:Function Return Types IntelliCode CompletionsAI自动补全功能 Code Spell Checker单词拼写检查 Error lens错误检查
Spring事务代码重构实战:用事务回调优化业务逻辑
发表于2025-11-18|后端
背景在开发过程中我们更多的是使用Spring的声明式事务,也就是使用@Transactional注解。 需要注意的是@Transactional在很多种情况下失效,总结起来大概两种场景,第一没有经过Spring Bean的AOP代理,比如同一个bean中,一个方法调用另一个方法,如果第二个方法使用声明式事务处理就不会生效。 第二是在异步线程中,Spring的声明式事务不会达到预期的效果,在方法中启动了一个异步线程,异步线程中事务控制,这种情况对于事务的处理会达不到预期效果,因为主线程和异步线程拿到的数据库连接不同,无法保证主线程和异步线程的事务一致性。 在很多场景下,可能会有分布式事务问题,但是由于各种历史原因,或者引入的成本太高,或者这个场景对一致性的要求并不是特别的高,我们一般会尽量的去保证做到事务的一致性,并没有引入本地消息表、事务消息等去实现。 在开发过程中,我们要保证事务尽量小。因为开启关闭事务是有资源消耗成本存在,另外就是数据库的连接池也是有限的,如果存在大事务,他持有的这个线程一直不释放,那么对于整个线程池的吞吐量会有影响,所以在代码实现时需要避免大事务,能批量...
配置nginx实现https访问
发表于2025-11-18|系统运维
安装nginx在官网下载和系统匹配的nginx,解压即可 安装OpenSSL若网站有https的证书跳过2、3、4步即可,若没有证书则需要自己生成 由于代理https需要使用证书,这里我们使用OpenSSL生成自签名的证书,可以下载与系统相匹配的OpenSSL程序进行安装,安装过程一直下一步即可,下载地址 配置环境变量 新增环境变量 OPENSSL_HOME,变量值为 D:\OpenSSL-Win64,指向OpenSSL的安装路径 新增环境变量 OPENSSL_CONF,变量值为 D:\OpenSSL-Win64\bin\openssl.cfg,指向openssl.cfg文件目录 在环境变量path的末尾添加 %OPENSSL_HOME%\bin 生成证书在nginx安装目录创建 ssl文件夹,用于存放证书,如我的是 F:\nginx-1.16.1\ssl,以管理员权限运行cmd并进入创建的ssl目录 创建私钥在命令行中执行命令 openssl genrsa -des3 -out demo.key 1024 ,demo是私钥文件名,可以自定义,此处需要输入和验证密码,输入的密码...
面向对象的设计原则
发表于2025-11-18|软件设计
什么样的代码可以称之为好代码?又如何评价代码比较差?每个人也许都有自己的标准,但是在软件设计领域中,有一套通过经验总结出来的,可以有效解决问题的指导思想和方法论,遵从这些原则,可以事半功倍,反之则有可能带来一些麻烦。 SOLIDSOLID是五种设计原则首字母的缩写,有趣的是这个单词本身就有稳定的含义,遵从这些设计原则,有助于我们设计出更灵活,易于拓展和维护的软件系统。 Single Responsibility Principle(SRP):单一职责原则 Open Close Principle(OCP):开闭原则原则 Liskov Substitution Principle(LSP):里氏替换原则 Interface Segregation Principle(ISP):接口隔离原则 Dependency Inversion Principle(DIP):依赖倒置原则 SOLID原则之间并不是相互孤立的,彼此间存在着一定关联,一个原则可以是另一个原则的加强或基础;违反其中的某一个原则,可能同时违反了其他原则。其中,开闭原则和里氏代换原则是设计目标;单一职责 原则...
深入解析StackOverflowError:从递归到迭代的优雅转型
发表于2025-11-18|后端
栈溢出机制深度剖析在Java程序执行过程中,每个线程都拥有独立的栈空间用于存储方法调用和局部变量。当函数被调用时,JVM会创建一个新的栈帧(Stack Frame)并压入栈中,包含方法的参数、局部变量和返回地址等信息。 栈溢出的根本原因12345// 递归调用导致栈帧不断累积public void recursiveMethod(int n) { if (n <= 0) return; recursiveMethod(n - 1); // 每次调用都创建新的栈帧} 当递归层次过深时,栈帧数量超过栈容量限制,就会抛出java.lang.StackOverflowError。 系统化解决方案算法重构:递归转迭代核心思路:用显式的栈数据结构替代系统调用栈优势: 堆内存远大于栈内存,可处理更深层次的数据结构 避免方法调用的开销,提升性能 内存使用可控,不易出现溢出 尾递归优化(理论层面)虽然Java编译器不支持自动尾递归优化,但了解其原理有助于写出更好的代码: 1234567891011// 非尾递归public int factorial(i...
技术成长困境与突破
发表于2025-11-18|思维模型
现状1、产品提需求,讨论开发,熟悉数据库,增删改查,加班,恶性循环 2、有些人比较爱学习,刷视频。视频讲的都挺好,源码课看了,喜欢看,但是越看越累,看完也不知道这东西怎么用,在公司就负责某个模块,天天围绕着几张表,处理不完的杂事 3、面试突击背题,背完就忘 4、不知道最精通的技术是什么,每天都在用Spring、SpringBoot,面试的时候稍微往深了问,发现并不知道底层的原理,也觉着底层原理并没有什么用,因为工作中用不到 5、在公司学不到什么东西,迷茫,没有人指引 6、没有人指导代码,实现功能就行,平时的工作就是增删改查 7、没有大公司的开发经验,思维局限 产生这些问题的原因是什么?没有场景 面试过程中为什么要问项目经验?其实就是要知道遇到某些场景时是如何处理的,为什么要问场景,是因为公司需要! 公司要的是什么?1、订单交易系统是老团队做的,需要有人接手。会SpringBoot,SpringCloud一定能短时间内接手吗?公司是不是更倾向于招一个有相应业务经验的人接手? 2、单体应用需要微服务重构,如何重构,以什么样的维度进行重构,服务如何拆分? 3、功能需要提升性能,用什么技...
从JUnit到Mockito:构建可靠Java单元测试
发表于2025-11-18|后端
JUnit 4以下是JUnit 4中一些常用的类和注解的相关API: 注解: @Test:标记测试方法。 @Before:在每个测试方法之前执行的方法。 @After:在每个测试方法之后执行的方法。 @BeforeClass:在整个测试类之前执行的静态方法。 @AfterClass:在整个测试类之后执行的静态方法。 @RunWith:指定自定义的测试运行器(Runner)。 @Ignore:忽略某个测试方法或测试类。 断言(Assert): Assert.assertEquals(expected, actual):判断两个值是否相等。 Assert.assertTrue(condition):判断给定条件是否为真。 Assert.assertFalse(condition):判断给定条件是否为假。 Assert.assertNull(actual):判断给定对象引用是否为空。 Assert.assertNotNull(actual):判断给定对象引用是否不为空。 测试运行器(Runner): BlockJUnit4ClassRunner:默认的JUnit 4运行器,用...
线程池中的隐形陷阱:任务依赖导致的线程饥饿锁
发表于2025-11-18|后端
故障现象为提升接口响应速度,将聚合接口的串行调用改为异步并行。上线后不久,系统抛出大量异常: 123456Exception in thread "main" java.util.concurrent.ExecutionException: java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.FutureTask@42936575[Not completed, task = xxxxx] rejected from java.util.concurrent.ThreadPoolExecutor@33f18ac[Running, pool size = X, active threads = X, queued tasks = N, completed tasks = M] 线程池和队列均已被耗尽。 第一反应是线程池参数设置太小,但深入分析后发现:代码逻辑有问题——提交到线程池的任务存在相互依赖关系。 核心问题:在有限大小的线程池中执行相互依赖的任务,可能产生死...
1…456
gloamfox
君子以顺德,积小以高大。
文章
69
标签
94
分类
7
Follow Me
公告
此博客为记录工作学习总结所用,供网友阅读参考,如有侵权,请通知我,我会核实后进行处理。
最新文章
踩坑实录:接口正常Feign调用字段值为空2026-05-26
踩坑实录:读写分离导致批量删除逻辑问题2026-05-16
Java应用启动慢、接口超时、频繁Full GC?别再把锅甩给JVM了!2026-04-29
零代码经验,我用Claude Code搓出的生产力工具2026-04-22
容器化后内存告警不断?日志“写爆”了Page Cache!2026-04-16
分类
  • 前端7
  • 后端17
  • 思维模型3
  • 系统运维11
  • 计算机基础3
  • 软件工具22
  • 软件设计6
标签
权限管理 配置管理 栈溢出 IO模型 大语言模型 内存管理 AI工程 面试技巧 安装教程 Typora Mockito 责任链 Oracle 快捷键 版本管理 服务器运维 Nacos SOLID 多路复用 Node.js URL优化 自我提升 序列化 LaTeX 死锁 编程风格 数据编码 JUnit JavaScript 数据库 技术学习 后端 Linux HTTPS 技术面试 SQL Markdown 浮点数运算 Zookeeper 终端配置
归档
  • 五月 2026 2
  • 四月 2026 14
  • 三月 2026 23
  • 二月 2026 1
  • 一月 2026 1
  • 十二月 2025 4
  • 十一月 2025 20
  • 九月 2025 1
网站信息
文章数目 :
69
本站访客数 :
本站总浏览量 :
最后更新时间 :
© 2025 - 2026 By gloamfox框架 Hexo 7.3.0|主题 Butterfly 5.5.4
鲁ICP备2026017338号-1
搜索
数据加载中