- 博客(80)
- 收藏
- 关注
原创 【前端】garn:使用go实现一款类似yarn的依赖管理器
Garn是一款用Go语言实现的Node.js依赖管理工具,以Yarn为参考标准。主要特性包括:7.05秒安装97个包的高性能表现、100%缓存命中率、Worker Pool多线程并发下载、兼容常用Yarn命令和package.json配置。支持基础包管理(add/remove/install)、脚本执行、锁文件管理等功能,完全兼容NPM注册表。性能测试显示其速度接近Yarn(Yarn为Garn的1.08倍),具备彩色输出、进度显示等友好交互。额外提供clean-modules清理依赖、config更换源等实
2025-12-24 15:38:15
643
原创 【前端】rspack和rsbuild的关系
底层引擎:Rspack 是一个高性能、Rust 编写的 Web 构建引擎,目标与 Webpack 类似,提供 bundler、依赖图、HMR、优化等核心能力。上层工具:Rsbuild 是基于 Rspack 的构建工具,负责项目级配置/默认约定、插件整合、命令行体验(如 rsbuild dev、rsbuild build),类似于 Webpack 之上的 create-react-app 或 Vite。职责划分。
2025-12-10 14:40:34
330
原创 【go语言】使用Wails开发一款现代化文本编辑器 - 从0到1的实践指南
wails-coder是一款基于wails框架开发的轻量级文本编辑器,采用Go+Vue3技术栈,具备文件资源管理器、多标签编辑、集成终端、深色主题等核心功能。项目特色包括强大的Git支持(提交面板/日志展示/diff比较)、进程管理、字符串搜索、本地文件记录及代码助手等扩展功能。通过WebView2实现跨平台,相比Electron显著减少安装包体积(5MB),但依赖400MB的WebView2运行时。目前主要作为技术探索项目,提供基础编辑体验和可扩展的插件架构。
2025-10-29 10:26:48
737
原创 【编辑器】一款IDE(如VSCode等) 如何解析各类文件大纲及跳转对应行
VSCode 使用 Language Server Protocol (LSP) 和内置解析器来为不同语言提供大纲视图。
2025-10-22 15:37:16
1086
原创 【go语言】gopls工具与LSP协议全面解析
作为一名Go开发者,你是否曾经遇到过这样的场景:在代码中输入一个函数名,编辑器只能傻傻地等待,直到运行时才告诉你这个函数不存在;或者在一个大型项目中,想要查找某个函数的所有引用位置,却不得不进行全局搜索,然后在海量结果中艰难筛选。这些痛点随着LSP(Language Server Protocol)协议的出现成为了历史。而gopls作为Go语言的LSP实现,将我们的开发体验从"文盲"模式提升到了"读心术"级别。本文将带你深入探索LSP协议的工作原理以及gopls如何提升Go开发效率。gopls。
2025-10-21 17:24:58
539
原创 【go语言】离线开发,通过vendor目录下载全部依赖。
Go 可以通过 go mod vendor下载所有依赖到本地,然后优先使用vendor目录中的依赖进行run和build。大型项目:vendor 目录可能会很大,考虑使用 .gitignore排除不必要的文件。vendor 目录需要纳入版本控制:这样才能保证团队其他成员和构建服务器也能离线使用。私有仓库:确保私有仓库的依赖也被正确 vendored。定期更新依赖:离线前确保依赖是最新且兼容的版本。当然还有replace方式进行 本地依赖 的加载。2.1 或者使用环境变量。
2025-08-14 09:16:01
342
原创 【markdown编辑器】个人体验感排行
市面上有着各种各样的markdown编辑器, 但是就我体验来说,很多electron系列的对大文件(大于600KB)的支持度并不好, 具体表现为打开卡顿、渲染卡屏半天。
2025-08-07 11:24:04
318
原创 【前端】ikun-docx预览组件前瞻一:docx与其它文档格式的比较
docx排版的单元是段落(paragraph), 简单描述一下从docx文件流中需要提取段落的哪些属性(如对齐方式,字体样式,字体大小,文本颜色,背景填充色,行高,缩进,边框,阴影等)选择格式时应根据实际使用场景、协作需求和长期可维护性综合评估。对于大多数开源场景,ODT提供了最佳平衡点。使用canvas进行A4纸张分页模拟,似乎比dom合适一些。最成熟的DOCX开源替代。John Gruber等。是(ECMA-376)网页格式,兼容性极佳。
2025-07-29 15:24:39
799
原创 【前端】ikun-pptx编辑器前瞻问题三: pptx的图片如何提取,并在前端渲染。
可以看出这个步骤其实挺复杂了,gpt已经乱整导致图片提取不正确, 所以自己慢慢修正吧。
2025-07-23 11:25:29
626
原创 【前端】ikun-pptx编辑器前瞻问题二: pptx的压缩包结构,以及xml正文树及对应元素介绍
PPTX文件实际上是一个遵循Open XML标准的ZIP压缩包,包含多个XML文件和其他资源。下期预告:如何在前端实现PPTX的页面元素解析与渲染。
2025-07-22 14:53:09
1282
原创 【前端】ikun-markdown: 纯js实现markdown到富文本html的转换库
出于兴趣,我使用js实现了一个 markdown语法 -> ast语法树 -> html富文本的库, 其速度应当慢于正则实现的同类js库, 但是语法扩展性更好, 嵌套列表处理起来更方便.基于此js实现vue组件了, 可在uniapp中使用,支持微信小程序和h5.
2025-07-09 17:21:57
603
原创 【单元测试】单元测试的定义和作用
单元测试不仅是对函数进行测试,还包括对类、组件等最小可测试单元的测试。单元测试是对软件中的最小可测试单元进行验证的过程,这些单元可以是函数、方法、类或组件等。单元测试的主要目的是确保这些最小单元在隔离的环境中能够正确地实现其功能,并且符合预期的行为单元测试是对软件中的最小可测试单元进行检查和验证的过程。这些单元通常包括函数、方法、类或组件等。功能正确性:验证单元在正常输入下是否产生预期输出。边界条件:测试输入极限值(如零值、最大值、空值)时的行为。
2025-06-24 11:13:29
376
原创 【nginx】nginx转发请求到局域网另一台机器的后端服务上
一般配置于/etc/nginx/conf.d/xxx.conf, 优化后的配置如下。通过upstream转发请求,并支持websocket,
2025-06-23 15:13:12
429
原创 【go】(仅思路)使用go实现一款简单的关系型数据库gosql
使用go很容易编译出一个二进制文件,已经有人用纯go实现了sqlite3的驱动(go get github.com/glebarez/sqlite),那么如果实现出一款最简单的关系型数据库goslq,需要多少行代码呢,只能让cursor帮我们写写了。这个cursor似乎能搞定。
2025-06-17 17:20:21
343
原创 【mysql】docker运行mysql8.0
mariadb10.5.8报错:Error 1064 (42000): You have an error in your SQL syntax;将你的密码替换为root用户的密码。这个命令将允许root用户从任何IP地址连接。navicate测试通过。输入root用户的密码。
2025-06-17 11:19:18
250
原创 【前端】整理一下开源的后端管理端页面,你最中意哪一款
element-plus的,其实还可以进一步优化。ant desgin ui, 界面看起来挺协调的。acro-desgin ui, 简约风。vben-ui 整体比较紧凑。
2025-05-27 17:11:30
390
原创 【模型部署】triton server知识和相关错误整理。
trtion server镜像的tensorRT, 与你将onnx等格式转换为tensorRT的版本不一致。
2025-05-22 14:29:43
276
原创 【软件设计师】知识点简单整理
定义对象之间的一对多依赖关系,当一个对象状态改变时,所有依赖对象都会收到通知并自动更新。适用于需要同步更新多个对象的状态的场景。适用于有多种实现方式且需要灵活切换的场景,如日志记录可以选择写入数据库或文件。:定义一个算法的框架,允许子类重定义某些步骤而不改变算法的结构。适用于需要定义算法框架并提供钩子方法让子类实现的场景。:提供一个创建对象的接口,让子类决定实例化哪个类。适用于需要动态创建对象的场景,如物流系统中的不同运输方式。适用于需要遍历复杂数据结构的场景,如STL容器。
2025-05-21 10:55:13
452
原创 【python】pyenv安装
本文介绍了如何在CentOS系统上使用pyenv工具管理和安装不同版本的Python。首先,通过curl命令安装pyenv,并配置国内镜像源以加速下载。接着,安装必要的开发工具和依赖库,并使用pyenv安装指定版本的Python。文章还详细说明了如何创建、激活、反激活和删除虚拟环境,以及如何为特定目录启用或去除虚拟环境。最后,提供了使用国内镜像源加速pip安装的方法。通过这些步骤,用户可以轻松管理多个Python版本和虚拟环境。
2025-05-19 14:38:25
592
原创 【软件设计师】模拟题六
以下是10道软件设计师考试题目,涵盖软件工程、算法设计、系统架构等核心知识点:A) 属于结构型设计模式B) 通过子类决定创建哪个对象C) 主要用于替代new操作符D) 会暴露对象创建细节A) 拓扑排序问题B) 具有最优子结构的问题C) 多项式时间可验证的问题D) 深度优先遍历问题A) 事务执行前后数据完整性不变B) 事务执行中间结果对其他事务不可见C) 事务要么全部完成要么全部回滚D) 多个事务并发执行结果与串行执行一致。
2025-05-15 16:25:39
384
原创 【软件设计师】模拟题五
A) 一致性(Consistency)或可用性(Availability)B) 分区容忍性(Partition Tolerance)C) 主干分支(master/main)必须始终可部署。A) 将对象组合成树形结构以表示“部分-整体”层次。D) 状态模式用于算法替换,策略模式用于状态管理。A) 状态模式的行为随对象内部状态自动切换。B) 策略模式需要客户端显式切换策略。B) 组件通过事件发布/订阅解耦。B) 动态地为对象添加额外职责。B) 通过继承或组合扩展功能。A) 修改已有类实现新功能。
2025-05-15 16:24:56
994
原创 【AI】mcp server本质就是一个接口服务么
以下为元宝的回答:你的理解非常准确!本质上是一个接口服务,但其设计目标、交互逻辑和使用场景与传统后端接口存在显著差异。
2025-05-12 17:30:24
1313
原创 【AI】mcp server是什么玩意儿
MCP Server是Anthropic公司于2024年提出的开源协议,旨在解决大语言模型(LLM)与外部系统(如数据库、API、文件等)的集成问题。它通过提供标准化访问接口、暴露可执行功能和动态通知,增强了LLM与外部工具的交互能力。MCP Server采用客户端-服务器架构,包含MCP Host、MCP Client和MCP Server三个核心组件,分别负责运行AI应用程序、管理通信和扩展LLM功能。MCP Server的出现解决了AI与真实世界交互的碎片化问题,其轻量级、安全性和模块化特性使其成为智
2025-05-12 17:22:02
587
原创 【软件设计师】模拟题四
以下是10道软件设计师考试题目,涵盖软件工程、算法设计、系统架构等核心知识点:A) 属于结构型设计模式B) 通过子类决定创建哪个对象C) 主要用于替代new操作符D) 会暴露对象创建细节A) 拓扑排序问题B) 具有最优子结构的问题C) 多项式时间可验证的问题D) 深度优先遍历问题A) 事务执行前后数据完整性不变B) 事务执行中间结果对其他事务不可见C) 事务要么全部完成要么全部回滚D) 多个事务并发执行结果与串行执行一致。
2025-05-12 10:16:07
387
原创 【软件设计师】模拟题三
:可重复读(Repeatable Read)隔离级别保证同一事务内多次读取结果一致,避免不可重复读;:ICMP(Internet Control Message Protocol)是网络层协议,用于传递控制消息(如ping命令)。:耦合度从低到高:数据耦合 < 标记耦合 < 控制耦合 < 公共耦合 < 内容耦合。:拓扑排序用于有向无环图(DAG),常见于编译过程的任务依赖分析。:数字证书由CA(证书颁发机构)签发,用于验证公钥所属者的真实身份,防止中间人攻击。A. 脏读(Dirty Read)
2025-04-25 17:29:07
528
原创 【软件设计师】模拟题二
:完全二叉树第5层有10个叶子节点,说明第5层是最后一层。前4层为满二叉树,节点数为 24−1=15,第5层最多有 24=16 个节点,但实际有10个叶子节点,因此总节点数最多为 15+16+10=41(注意题目描述可能存在歧义,此处按典型题型解答)。:GET参数在URL中,POST在请求体中;:链地址法通过链表存储冲突的哈希项,开放定址法、再哈希等也是解决冲突的方法,但选项C是直接相关答案。:螺旋模型通过风险分析指导迭代开发,适用于大型复杂项目,强调风险驱动而非单纯阶段性交付。
2025-04-25 09:33:10
880
原创 【go语言】window环境从源码编译go
早就听过go语言已经实现自举, 也就是使用旧版本go,来编译新版源码,得到新版本go。开发时尽量别用最新的go,vscode插件跟不上进度,容易卡住。可以看到得到了go1.25的开发版二进制程序。
2025-04-24 09:26:25
476
原创 【gpt生成-其二】以go语言为例,详细讲解 并发模型:线程/协程/ Actor 实现
线程是操作系统调度的最小单位,每个线程拥有独立的栈和寄存器上下文,但共享进程的内存空间。线程的创建、切换和同步需要较高的系统开销。通过以上内容,可以全面掌握Go语言中不同并发模型的实现与适用场景,灵活应对各类并发需求。Go语言不直接暴露OS线程,而是通过 。
2025-04-22 15:08:50
805
原创 【模型部署】使用onnxruntime部署rapidocr,提供fastapi接口
磁盘占用少。使用onnxruntime,cpu版本docker镜像几百MB磁盘占用。而paddlehub版本,我找过轻量级的镜像就得2GB,推理10多秒。推理速度快于paddlehub运行的api接口服务。
2025-04-22 14:50:03
1526
2
原创 【前端】跟着maxkb学习logicflow流程图画法
maxkb采用vue3 + ts + logicflow2实现上面的界面,我们选择vue2 + js跟着学。而配置开始节点的属性字段、通过表单录入的逻辑则是在startNode/index.vue中编写。我们绘制一个demo级别的开始节点,通过logicflow2。可以看到很简陋,那么我们尝试自定义节点样式。看看前端如何绘制流程图,界面好看点。
2025-04-17 17:03:10
476
原创 【gpt生成-其一】以go语言为例,详细描述一下 :语法规范BNF/EBNF形式化描述
和自定义解析逻辑,可以构建完整的语法规范处理系统。以上实现严格遵循 Go 语言规范,通过组合使用标准库。
2025-04-17 13:58:11
569
原创 【gpt生成-总览】怎样才算开发了一门编程语言,需要通过什么测试
开发一门真正的编程语言需要经历完整的设计、实现和验证过程,并通过系统的测试体系验证其完备性。
2025-04-17 13:52:48
909
原创 【模型部署】使用onnxruntime部署yolo11n,提供fastapi接口
triton太臃肿,所以选择onnxruntime进行yolo模型部署,fastapi提供http接口调用。执行docker build --no-cache -t onnx-yolo.可以看到,返回的data中包含识别bbox检测框,置信度以及类别id。
2025-04-15 17:03:18
599
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅