徇的小站

徇的小站

让自定义注解支持配置属性注入
发表于2024-07-15|后端Java
背景 在写代码的过程中需要用到一些自定义annotation,但是annotation中的String类型的value需要字符串常量,于是想是否可以将@Value所支持的表达式移植到自定义注解中。 实现 Spring中的具体实现 org.springframework.beans.factory.support.DefaultListableBeanFactory#doResolveDependency 123456789101112131415161718Object value = getAutowireCandidateResolver().getSuggestedValue(descriptor);if (value != null) { if (value instanceof String) { String strVal = resolveEmbeddedValue((String) value); BeanDefinition bd = (beanName != null && cont...
SpringCloudFeign中的超时时间配置
发表于2024-01-24|后端Java
背景 最近在排查一个关于超时时间的bug,跟踪代码发现了一个以前没注意到的点 https://github.com/spring-cloud/spring-cloud-openfeign/issues/324 问题 12345# org.springframework.cloud.openfeign.FeignClientFactoryBean#configureUsingPropertiesif (config.getConnectTimeout() != null && config.getReadTimeout() != null) { builder.options(new Request.Options(config.getConnectTimeout(), config.getReadTimeout()));} 在使用配置文件设置feign-client的时候,只有readTimeout和connectTimeout配置同时设置才会起效,具体的判断逻辑在org.springframework.cloud....
windows上游戏加速器与WSL共存
发表于2024-01-14|基础设施网络
现象 发现在使用加速器之后,WSL相关的应用会出现无法启动的情况,需要重置网络。 参考Github上的解决方案https://github.com/microsoft/WSL/issues/4177#issuecomment-597736482,按照以下步骤即可。 下载NOLSP.exe www.proxifier.com/tmp/Test20200228/NoLsp.exe 以管理员权限执行以下命令 12345NoLsp.exe "C:\Program Files\WSL\wsl.exe"NoLsp.exe "C:\Program Files\WSL\wslservice.exe"NoLsp.exe "C:\Program Files\WSL\wslhost.exe"NoLsp.exe "C:\Program Files\WSL\wslrelay.exe"taskkill -IM "wslservice.exe" /F
conda环境中共享库找不到问题原因及解决方案
发表于2023-10-14|基础设施Linux
背景 今天使用micromamba新建了一个环境来试试latex-ocr+paddle ocr的效果 1micromamba create -n latex-ocr python=3.8 cudatoolkit=10.2 cudnn 环境创建完成之后切换环境并安装依赖 12micromamba activate latex-ocrpip install -r requirements.txt 然后开始跑代码 1python main.py 发现问题 在跑代码的时候发现报了一个库没有找到的问题 123456789101112131415161718192021222324252627Error: Can not import paddle core while this file exists: /root/micromamba/envs/latex-ocr/lib/python3.8/site-packages/paddle/fluid/libpaddle.soTraceback (most recent call last): File "main.py"...
基于语法树对文章中的章节数据进行匹配
发表于2023-10-06|AI与机器学习
背景 之前有尝试过使用正则提取一篇文章中的标题信息,并还原其中的层级,碰到以下几个问题: 正则规则复杂,调试不方便 正则对于匹配到标题中的编号信息需要在代码中进行二次处理,处理的步骤也很麻烦,需要考虑多种边界条件 当正则变动时,对应的代码也需要进行变动 突发奇想是否可以使用ANTLR4通过构建语法树的方式来解决这几个问题 构建语法树 标题识别的思路 常见标题样式可分为以下两种: (左侧分隔符) 编号 右侧分隔符 正文,比如: 第一章 第一节 1: 2: 左侧分隔符不一定存在,但是右侧分隔符会存在 编号.编号.编号 右侧分隔符 正文,比如: 1 1.1 1.1.1 对于列举式,像带有如下列所述等字眼,通过a 、b、c等序号一条一条列举出来的暂时不在文本考虑范围内。 开始构建语法树 123456789101112131415161718192021222324252627282930313233343536373839grammar TitleDetect;//代表整个段落,有3个部分expr:title_begin ? num_seg splite;/...
hexo将图片发布为网站静态资源
发表于2023-10-01|工具与效率
问题 目前部分博客页面所引用的图片存储在图床,存在以下几个问题: 每个图片需要单独上传,流程复杂,并且本地和图床的图片需要单独管理 当使用github作为图床时,存在隐私问题,如不小心上传敏感图片时,需要通过push --force等方式覆盖所有提交 当使用阿里云等对象存储需要付费 想要实现的目标 将图片,如png等和html发布为网站内静态资源,从而摆脱图床的限制 与typora编辑器无缝配合 将hexo仓库放在github private项目管理,将编译后的结果放在github.io进行展示 步骤(2027-08-09) 今天发现不需要设置typora-root-url,有一个插件可以解决这个问题 https://github.com/cocowool/hexo-image-link 步骤 开启hexo自带的文章资源文件夹功能 https://hexo.io/zh-cn/docs/asset-folders.html#文章资源文件夹 当开启这个功能之后,使用 hexo new命令创建新的文章时,_post目录下会生成一个文章的md以及与文章同名的文件夹 12# _...
RabbitMQ通过Docker建立集群
发表于2022-09-12|后端消息队列
https://github.com/rabbitmq/rabbitmq-cli/pull/445 目前RABBITMQ_ERLANG_COOKIE环境变量已经被弃用,现在有两种方法设置erlang cookie 在容器启动时直接覆盖$HOME/.erlang.cookie文件 使用--erlang-cookie显式覆盖erlang cookie 直接覆盖$HOME/.erlang.cookie文件 在容器启动时直接挂载一个$HOME/.erlang.cookie文件到容器中去 创建一个自定义的erlang.cookie文件,注意修改文件的权限 也可以用docker secret 12345# 自定义erlang.cookie文件内容echo '123456' > erlang.cookie# 修改文件所有者为容器内的rabbitmq用户,并且修改读写权限为0600chmod 0400 erlang.cookiechown 999:999 erlang.cookie 创建网桥和容器,并把文件挂载到容器内部去 1234567# 创建...
如何设置Java应用的时区
发表于2022-06-18|后端Java
最近研究时区问题的时候发现Linux上的Java时区设置简单中带着一些不简单,翻了翻jvm的源码把这部分的逻辑理清楚了 JVM如何获取获取当前时区 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 public static TimeZone getDefault() { return (TimeZone) getDefaultRef().clone();}/*** Returns the reference to the default TimeZone object. This* method doesn't create a clone.*/static TimeZone getDefaultRef() { TimeZone defaultZone = defaultTimeZone; if (defaultZone == ...
Linux上的TZ环境变量
发表于2022-06-18|基础设施Linux
Linux默认的时区是UTC,所以在创建Docker容器时我们会添加一个环境变量TZ=Asia/Shanghai来指定容器的时区,但是偶然发现直接指定TZ环境变量为Asia/Shanghai后date命令输出的时间依然是UTC时间,于是去研究了一下这个环境变量。 TZ环境变量如何使用 TZ是POSIX标准中定义的一个标准环境变量,用来覆盖各种与时间有关的函数的默认时区。在Linux中,基本是GNU C 库即glibc,glibc的TZ环境变量有2种写法: std offset[dst[offset][,start[/time],end[/time]]],如国内的时区对应为CTS-8 :[filespec],这是最常见的一种,如Asia/Shanghai 对于TZ环境变量的解释为: 如果使用的filespec格式,对于:/开头的,会去读取指定路径的tzfile格式的时区文件来读取时区信息;对于:开头的会去系统时区目录读取时区文件,即/usr/share/zoneinfo/;对于:也没有,只有一个filespec的,比如常见的TZ=Asia/Shanghai,会尝试上面两种T...
EasyExcel与@Accessors,@Builder与@SuperBuilder
发表于2022-06-12|后端Java
在使用EasyExcel时发现在解析Excel文件时,发现单元格中的数据无法被注入到对象中,随后去EasyExcel项目的issues区发现这是个老问题了:https://github.com/alibaba/easyexcel/issues?q=Accessors 原因分析 在接收Excel数据的对象的构造方法上打断点,并查看方法的调用链可以看到这个方法: 123456789101112131415161718192021222324252627282930private Object buildUserModel(Map<Integer, ReadCellData<?>> cellDataMap, ReadSheetHolder readSheetHolder, AnalysisContext context) { ExcelReadHeadProperty excelReadHeadProperty = readSheetHolder.excelReadHeadProperty(); Object resultModel...
123
avatar
codexvn
文章
29
标签
62
分类
13
Follow Me
最新文章
一次 Claude Code 缓存崩溃的完整溯源——从 99% 暴跌到 0.4% 的数据→源码→验证之旅2026-06-15
AI 系统的沙盒执行环境设计思路2026-05-23
Chrome 翻译强制代理方案2026-05-23
通过代码对接ConvertX2026-02-08
余弦相似度的推导以及不影响相似度计算的向量维度拓展方法2026-01-22
分类
  • AI与机器学习4
    • 安全1
    • 工程实践1
  • 后端9
    • Java8
    • 消息队列1
  • 基础设施9
    • Linux3
标签
KV Cache SwitchyOmega Alibaba Embedding Chrome 安全 Accessors LiveCD RestTemplate 集群 Python API Hexo 缓存 Builder RabbitMQ 局域网 泰拉瑞亚 沙盒 Docker Gzip SSL 源码分析 Spring Boot 数学 Spring ConvertX 工具 Conda WSL HTTPS Linux 时区 架构设计 Windows NLP EasyExcel Spring Cloud P2P 翻译
归档
  • 六月 2026 1
  • 五月 2026 2
  • 二月 2026 1
  • 一月 2026 1
  • 八月 2025 1
  • 五月 2025 1
  • 四月 2025 1
  • 十一月 2024 1
网站信息
文章数目 :
29
本站访客数 :
本站总浏览量 :
最后更新时间 :
© 2025 - 2026 By codexvn框架 Hexo 8.1.2|主题 Butterfly 5.5.4