在其他配置相关的文章中使用过的工具不再重复记录,这里记录一些新使用的工具,后续相关信息都在此处汇总
python相关
uv
uv官方文档
相比conda、pip,uv的优势在于使用rust开发,配置包时速度更快。常见用法记录如下:
安装uv并配置环境变量
12powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"set PATH=%PATH%;%USERPROFILE%\.uv\bin
初始化当前项目用uv init,新项目用uv init project_name,会自动创建pyproject.toml和git管理项目:
12345.├── .python-version├── README.md├── main.py└── pyproject.toml
第一次运行uv run, uv sync, or uv lock等命令时会自动生成:
12345678910.├── .venv│ ├── bin│ ├── lib│ └── py ...
哈希
1.两数之和
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。
解法:使用哈希表存储访问过的元素,相比双重循环,时间复杂度从O(n^2)降低到O(n),空间复杂度从O(1)升高到O(n)。
(这里学习到1个c++语法,++i是返回自增后的对象,i++是返回当前对象的临时副本再自增,循环迭代中使用++i优于i++)
pythonc++12345678910111213class Solution(object): def twoSum(self, nums, target): """ :type nums: List[int] :type target: int :rtype: List[int] """ hashtable = dict() for i,num in enumerate(nums): ...
hexo配置过程
1.安装nvm
官网下载安装包即可,我的版本是1.1.11
2.安装node
我的版本是v22.13.0,使用命令nvm install v22.13.0
3.解决npm报错
输入nvm use npm install -g hexo-cli切换到node-v22.13.0版本,再输入npm -v会出现:
12345npm : 无法加载文件 C:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。所在位置 行:1 字符: 1+ npm -v + CategoryInfo : SecurityError: (:) [],PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccess
因为在此系统上禁止运行脚本,也就是说没有权限,输入命令get-ExecutionPolicy ...
前言
在电子设计的世界里,布线是一个技术含量极高、又极其耗时的环节。手动布线往往意味着一场与信号完整性、电磁兼容、走线长度和空间利用率之间的博弈。PCB自动布线器(Auto Router)是一种用于在印刷电路板(PCB)设计中自动完成连线的算法系统。它接收已经完成元件布局的PCB设计文件,依据设定的规则与约束,自动为所有网络寻找最优连接路径,从而大幅减少手动布线的工作量。
其背后的核心技术来自于图论 + 搜索算法,其中常见的问题及解决方案如下:
多端网络连通问题:使用最小生成树和Steiner Tree来进行拆解
求布线路径:A*等图搜索算法
不同网络布线的冲突问题:分层布线和拆线重布策略
此外,还有版图建模、算法效率等问题要进行处理。
各布线工具效果对比
如下图,以一个经过预布局的2层板微型控制器为例,其中包含多种不同的电子器件, 例如电源接口、芯片阵列以及通孔连接器,接近上百个待布线网络。下图是FreeRouting、学术界参考、Electra等布线器的效果对比:
[{"url":"https://blog-images-frwalker.obs.dualsta ...
记录从元器件手册PDF自动萃取表格、图片、封装图数据到EDA工具进行智能建库的相关算法效果,相关算法的应用情况
1.元器件手册PDF中的表格和图片自动识别
核心算法基于opencv轮廓检测和yolo图像检测开发
[{"url":"https://blog-images-frwalker.obs.dualstack.cn-east-4.myhuaweicloud.com/post-assets/2025-03-31-%E5%9F%BA%E4%BA%8E%E5%85%83%E5%99%A8%E4%BB%B6%E6%89%8B%E5%86%8C%E7%9A%84%E6%99%BA%E8%83%BD%E5%BB%BA%E5%BA%93%E7%AE%97%E6%B3%95/table_img1.webp","alt":"alt text"},{"url":"https://blog-images-frwalker.obs.dualstack.cn-east-4.myhuaweicloud.com/post-assets/2025-03-31-%E5%9F%BA%E4%BA%8E% ...
柔性电路板(flexible printed circuit, FPC),又称为软性电路板、挠性电路板,其设计原理是将电路板的表面做成了多层薄膜,使得电路板的表面具有很高的韧性,并且可以承受较大的电流,以质量轻、厚度薄和可自由弯曲折叠等优良特性而备受青睐。由于其特殊的设计,使得FPC布线的自动化成为可能。由于FPC多用于互联功能, 其引脚聚集在版图的部分区域, 而引脚聚集区域外则为呈通道型的多边形可布线区域, 故FPC布线问题又可分为引脚区域扇出布线与通道区域高密度线组布线,本文对通道区的布线算法进行了研究记录,引脚区域扇出布线的算法留作未来探究。
通道区域高密度线组布线算法
算法研究记录
算法研究记录1 [{"url":"https://blog-images-frwalker.obs.dualstack.cn-east-4.myhuaweicloud.com/post-assets/2025-02-28-%E6%9F%94%E6%80%A7%E7%94%B5%E8%B7%AF%E6%9D%BFFPC%E5% ...
打印机到手后,顺手记录一下打印的小物件和使用体验。
买的时候感觉无限可能,但感觉不久就要吃灰了,不知道干些什么!一共送了三卷耗材,绿色、橙色的PLA,还有个支撑耗材不会用,女朋友又支持了一卷透明色的耗材,这个耗材价格70/kg有些小贵,打印了下面这些小玩意基本送的耗材就用光了。
试水打印了个双色的的电路风格杯垫
确实不漏水的花瓶,薄薄一层
商城找的哪吒模型,不会上色
赠品环游火车,组装时不小心把502灌进了赠送的开关,彻底不能使用了。用电烙铁焊了个摇臂开关上去,螺丝只能外露在盖子上了。这个模型用到耗材是最多的,盖子反复打印了两次,因为新开关增加了高度,默认底座还得想办法垫高小火车才能跑起来
总的来说确实开箱即用了,之前diy大鱼的打印机只能说算是玩机了,这次玩上了3D打印。
hexo-cdn-jsdelivr是一款hexo博客的cdn加速插件,它可以帮助你快速的将博客相对和指定路径下的资源提取出来,并进行资源路径前缀的更改,从而实现博客的指定cdn资源加速。但随着hexo的版本更新,原插件的一些功能已经无法使用,所以本文二次开发了hexo-cdn-jsdelivr-plus插件,并将其发布到npm上,欢迎大家使用。
改进说明
1.去掉指定前缀的自动修改
原插件在指定前缀cdn_url_prefix后,会默认加上latest等标识,导致不支持相关格式的cdn访问失败,所以去掉了自动修改的功能,完全遵循用户指定的前缀。
2.支持博客图片的语法更为简洁
原插件长时间未更新,只支持hexo博客的早期语法:
12345678910111213141516171819<!-- You can use cdn_css(path) to replace css(path) in hexo --><%- cdn_css(path) %><!-- This is used to replace js(path) --><%- cdn_ ...
问题描述
在Hexo博客中,使用默认的MathJax或者Katex渲染数学公式时,会出现渲染错误,导致公式无法正常显示。
解决方法
这里不考虑更换hexo渲染器的解决方案,容易导致各种样式问题和兼容性问题,主要采纳一些简单的语法技巧来解决。
1. 必要的情况下使用\进行转义
上图的公式在hexo无法正常显示,但在_前面加上\后可以正常显示:
原因不明,来源参考EasyHexo:
2. 使用<span>包裹公式,注意标签独占一行
很多公式直接写渲染异常,但用或者标签将LaTeX公式包裹起来,这样公式内容就不会被markdown渲染器识别为转义字符,就会显示正常,典型的比如换行字符\\.
不使用<span>标签的公式渲染效果如下:
123456789$$\begin{aligned}V(s)& =\mathbb{E}[G_t|S_t=s] \\&=\mathbb{E}[R_t+\gamma R_{t+1}+\gamma^2R_{t+2}+\ldots|S_t=s] \\&=\mathbb{E}[R_t+\gamma(R_{ ...