avatar
文章
26
标签
44
分类
0

徇的小站
通过代码对接ConvertX
发表于2026-02-08
背景 有一个需求是通过代码对接一个格式转换的开源项目用于格式转换,最后选定了ConvertX这个项目,但是发现没有提供直接可用的API接口,只有WEB端的接口,最后通过分析WEB端的接口请求,成功对接了ConvertX的接口。 ConvertX接口分析 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485async ({ jwt, redirect, cookie: { auth, jobId } }) => { if (!ALLOW_UNAUTHENTICATED) { if (FIRST_RUN) { return redirect(`${WEBROOT}/setup`, 302); ...
余弦相似度的推导以及不影响相似度计算的向量维度拓展方法
发表于2026-01-22
背景 以前在存储EMBEDDING模型输出向量的时候,由于不同模型输出的向量维度不同,而向量数据库同一个表只能存储同一维度长度的向量,当时使用的方案是直接在向量后面补0来拓展。 最近在思考这样做为什么不会影响相似度的计算,同时研究了一下余弦相似度计算公式的推导过程。 向量长度 一维向量的长度 对于向量 x=(x)x = (x)x=(x) 它的长度是 ∥x∥=∣x∣\|x\| = |x|∥x∥=∣x∣ 二维向量的长度 对于向量 x=(x1,x2)x = (x_1, x_2)x=(x1​,x2​) 123456789(x1, x2) * |\ | \x2 | \ ||x|| | \ |____\ x1 它的长度是 ∥x∥=x12+x22\|x\| = \sqrt{x_1^2 + x_2^2}∥x∥=x12​+x22​​ 三维向量的长度 对于向量 x=(x1,x2,x3)x = (x_1, x_2, x_3)x=(x1​,x2​,x3​) 它的长度是 ∥x∥=x12+x22+x32\|x\| = \sqrt{x_1^2 + x_2^2 + x_3^2} ...
开发工具数据迁移
发表于2025-08-14
背景 最近发现一个问题,我的C盘满了,我用SpaceSniffer检查了一下,发现WSL的数据吃了我将近100G,各种开发环境的包也吃了不少空间,所以打算把这些数据迁移到其他盘,然后通过符号链接的方式来解决这个问题。 迁移WSL wsl的迁移现在已经很简单了,现在可以直接使用move命令来迁移wsl的存储位置 首先看看当前有哪些wsl,记录下要迁移的wsl的名字 1wsl --list 适用于 Linux 的 Windows 子系统分发: Arch (默认值) rancher-desktop-data rancher-desktop 然后开始迁移 12345wsl --manage Arch --move F:\wsl\Archwsl --manage rancher-desktop-data --move F:\wsl\rancher-desktop-datawsl --manage rancher-desktop --move F:\wsl\rancher-desktop 迁移完成后,重新打开wsl,检查数据是否完整 迁移其他开发工具下载的依赖包 比如maven、pip、npm ...
使用Antlr4来解析P社游戏群星[stellaris]的科技树
发表于2025-05-18
背景 群星更新了4.0,然后新版本的科技树不知道长什么样,科技树mod也坏了,就打算自己修一下,顺便学习一下Antlr4 方案 1. 解析游戏的配置文件 科技树的配置文件在common/technology/目录下 本地化文件在localization/目录下,这次只考虑中文 变量在common/scripted_variables目录下 还有个scripted_trigger在common/scripted_triggers目录下,这次没有用到 每个配置文件的配置项都可以看做是一个对象,对象中有赋值语句和条件计算语句,计划是在grammar中定义整个结构,这样可以在Visitor中读取到每个Property的数据 如 1234567891011121314151617181920212223242526272829303132333435363738394041424344technology_body : technology_body_start ( area | tier | category | icon | modifier | ...
在磁盘上安装LiveCD
发表于2025-04-25
安装教程 因为目前切换到了Windows,先简要备注一下大概的步骤,后续有机会再补充详细的步骤 准备一个UEFI启动的分区,格式化为FAT32格式,具体大小看想放多少个镜像,我这边是分了10G,假设分区名称为sda1 将EFI分区挂载到/mnt,然后安装grub,注意需要用removable的方式,这样会把grub所需的模块全部安装到EFI分区 https://wiki.archlinux.org/title/GRUB/Tips_and_tricks#Alternative_installation_methods 12mount /dev/sda1 /mntgrub-install --target=x86_64-efi --bootloader-id=LIVECD --efi-directory=/mnt --boot-directory=/mnt --removable 这样会得到结构的EFI分区 123456789EFI BOOT BOOTX64.EFIgrub fonts locale themes x86_64-efi grubenv 安装完之后 ...
Steam的P2P联机优化
发表于2024-11-22
背景 最近在玩群星,但是多人联机效果非常差,然后网上调研了一下发现可以用组网工具加速提升联机效果。 使用了一段时间之后发现有时候有效果有时候没有效果,所以研究了一下。 P2P实现的原理 Steam 数据报中继 https://partner.steamgames.com/doc/features/multiplayer/steamdatagramrelay?l=schinese https://partner.steamgames.com/doc/api/ISteamNetworkingSockets#CreateListenSocketP2P https://partner.steamgames.com/doc/api/ISteamNetworkingSockets#ConnectP2P Steam的SDK中提供了可以直接用于P2P的接口,游戏只需要实现接口就实现P2P连接 Steam中的对等网络及共享IP 地址 https://help.steampowered.com/zh/faqs/view/1433-AD20-F11D-B71E 参考这篇文章介绍 使用中继进行对等连接 在建 ...
实现一个能够自动删除的临时文件
发表于2024-08-09
背景 前段时间在弄关于文档转图片然后进行处理的工作,其中由于图片内容会多次读取,所以将其持久化在本地。 但是由于图片是临时文件,所以需要在使用完之后删除。 最初的实现是使用try-with-resource,但是随着流程变得复杂,图片的生命周期变得不可控,所以需要一个更好的解决方案。 思路 利用Cleaner的特性,在文件被GC回收时,进行删除操作。需要注意不要在cleaner中应用this对象,否则会导致内存泄漏。 利用MDC保存当前线程的MDC信息,这样cleaner执行时,用于跟踪上下文的MDC可以保留,使得traceId等信息不会丢失。 实现 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556package com.haizhi.metis.document.parse.common;import java.io.File;import java.io.IOException;import java.lang.ref.C ...
让自定义注解支持配置属性注入
发表于2024-07-15
背景 在写代码的过程中需要用到一些自定义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 && contain ...
SpringCloudFeign中的超时时间配置
发表于2024-01-24
背景 最近在排查一个关于超时时间的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.ope ...
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
123
avatar
codexvn
文章
26
标签
44
分类
0
Follow Me
最新文章
通过代码对接ConvertX2026-02-08
余弦相似度的推导以及不影响相似度计算的向量维度拓展方法2026-01-22
开发工具数据迁移2025-08-14
使用Antlr4来解析P社游戏群星[stellaris]的科技树2025-05-18
在磁盘上安装LiveCD2025-04-25
标签
Java 泰拉瑞亚 https linux conda microconda \@Builder liveCD Docker \@SuperBuilder JDK JAVA python Https micromamba GC wsl 群星 Steam,P2P,LAN,Easytier zeal feign stellaris RestTemplate mermaid 数据迁移 Fiddler EasyExcel NLP ANTLR4 JAVA Embedding java Spring hexo mamba docker lombok 游戏 ConvertX antlr4 SSL SpringBoot
归档
  • 二月 20261
  • 一月 20261
  • 八月 20251
  • 五月 20251
  • 四月 20251
  • 十一月 20241
  • 八月 20241
  • 七月 20241
网站资讯
文章数目 :
26
本站访客数 :
本站总访问量 :
最后更新时间 :
©2020 - 2026 By codexvn
框架 Hexo|主题 Butterfly