- 博客(209)
- 资源 (3)
- 收藏
- 关注
原创 JavaScript 中 this 指向详解
调用方式this 指向普通函数全局对象(非严格);undefined(严格)对象方法该对象箭头函数定义时的外层作用域构造函数(new)新创建的实例对象显式传入的对象事件监听器(function)触发事件的 DOM 元素事件监听器(箭头)外层作用域全局对象class 方法调用者(需手动绑定)
2025-05-27 21:20:12
288
原创 在vue中重复组件导入简化方案
方法优点使用场景支持 Options API支持 Setup API简单、常用Options API 项目✅❌插件注入模块化清晰中大型项目✅❌自动导入插件零导入体验现代组合式项目(Vite)❌✅封装 composables更符合组合式风格通用✅(手动引入)✅。
2025-05-25 17:14:50
499
原创 python中Web框架Flask vs FastAPI 对比分析
如果你刚入门 Python Web 开发,或者项目比较简单,推荐使用Flask。如果你追求性能开发效率高自动化文档,且能接受一定的学习曲线,推荐使用FastAPI。团队开发/协作场景中,FastAPI 的数据校验和文档优势明显。
2025-05-24 21:49:17
1355
原创 页面实现渲染大量 DOM 元素
虚拟列表是一种按需渲染技术。你只渲染当前屏幕中可见的元素,其他元素并不会真实存在于 DOM 中。这样即使你有 100 万个数据项,页面中也只存在几十甚至更少的 DOM 节点方案渲染性能用户体验DOM 数量优点缺点setTimeout分批渲染中等容易卡顿高实现简单容易丢帧,主线程阻塞较好比较平滑高更流畅DOM 太多仍然卡虚拟滚动✅非常好极为流畅极低性能极佳,真实可用实现稍复杂,需要计算映射关系非常好非 DOM 场景0可视化强,不卡顿。
2025-05-24 20:44:23
1078
原创 数据库事务浅讲
若此时 Connection 没有被关闭,还可能被重复使用,则需要恢复其自动提交状态 setAutoCommit(true)。尤其是在使用数据库连接池技术时,执行 close()方法前,建议恢复自动提交状态。Mysql 支持 4 种事务隔离级别。【案例:用户 AA 向用户 BB 转账 100】
2025-05-18 20:54:30
648
原创 向量数据库Qdrant多向量插入和查询
创建一个支持多个向量字段的集合(collection),其中每个字段都支持指定维度和相似度计算方式。字段名向量维度相似度方式test1例如 384Cosine 相似度test2例如 384Cosine 相似度test3例如 384Cosine 相似度。
2025-05-14 13:40:51
711
原创 编译后的js文件如何跟进调试
打开 DevTools → Sources 面板找到对应 .js 文件,点击 {}(Pretty Print) 格式化代码虽然变量名可能混淆了,但仍可以设置断点、查看调用栈、变量值等。
2025-05-10 21:48:08
317
原创 JS较底层的用法,几类简单介绍
本文介绍了JavaScript中一些较为底层的用法和特性,这些特性虽然不常用于日常开发,但对理解语言原理、优化性能或构建框架和库非常重要。主要内容包括: 对象属性底层操作:通过Object.defineProperty()定义属性的细粒度行为。 原型链控制:使用Object.create()和手动设置__proto__来控制原型链。 拦截对象操作:利用Proxy和Reflect拦截和自定义对象操作。 函数底层机制:通过call、apply和bind改变函数的执行上下文。 作用域与闭包:理解闭包和作用域链的底
2025-05-10 21:26:13
787
原创 在js中大量接口调用并发批量请求处理器
每个 worker 会不断从共享的 this.index 中取任务,直到任务取尽。调用 _requestWithRetry() 尝试处理该项。如果请求失败,则根据剩余重试次数,指数退避式延迟后重试。最多重试 retry 次,失败则抛出错误交由上层处理。启动多个“工人(worker)任务”并行处理数据。更新完成数量,并触发进度回调。从共享索引中取出当前任务项。可选的节拍等待,避免请求过快。处理完成或失败后记录结果。
2025-05-09 21:29:50
446
原创 二叉树的基本操作
二叉树的图长这样:二叉树是每个结点最多有两个子树的树结构,常被用于实现二叉查找树和二叉堆。二叉树是链式存储结构,用的是二叉链,本质上是链表。二叉树通常以结构体的形式定义,如下,结构体内容包括三部分:本节点所存储的值、左孩子节点的指针、右孩子节点的指针。当然,我们也可以为我们的的树节点结构体重新定义一下名字,使用 C 语言中的 typedef 方法就可以了。
2025-05-08 20:53:53
1443
原创 Cesium 导航控件(指南针 + 缩放按钮),自定义放置位置
Cesium 导航控件(指南针 + 缩放按钮)的功能实现,从技术角度来看,可以整理出一整套实现流程和技术结构。
2025-05-08 16:57:56
388
原创 QDrant支持多个vector的操作
要素内容多向量插入用添加多个向量字段向量命名如查询使用查询Payload 可选可存储元信息(如原始名称、地址文本等)
2025-05-07 11:53:56
157
原创 QDrant数据构造及增删改查
PointStruct 是一种结构体(或数据类),通常用于表示:向量数据库中的一个数据点(Vector Point),包括它的 ID、向量值(vector embedding)、以及额外字段(payload,存储元数据)解释:创建一个向量点 point,它有一个唯一编号 i,对应一个语义向量 embedding[0],并携带了原始文本和附加信息,用于插入向量数据库中(如 Qdrant/Milvus)
2025-04-30 14:19:55
607
原创 手机端相关操作
面板初始高度为 minHeight(如 200px)当用户上滑面板时,它伸展到一个较高的 expandedHeight(如 400px)面板内部内容开始滚动,面板不再继续伸展当内容滚动到顶部后,若继续下滑,面板会收缩回初始高度。
2025-04-30 09:56:18
904
原创 BIOES 标签的含义
表示一个实体的开始。例如,在句子 “北京是中国的首都” 中,“北京” 作为地点实体的开头,首字会被标注为 B-LOC,后续字可能标注为 I-LOC。
2025-04-27 21:46:47
167
原创 css面板视觉高度
在手机端有时候会存在实现touch上拉或者下拉的样式操作此功能实现可以参考:https://blog.youkuaiyun.com/u012953777/article/details/147465162?spm=1011.2415.3001.5331前提需求:1、展示端分为两部分:上面展示一部分内容、下一部分展示面板2、通过拖拉下部分面板,上一部分高度需要同步的变化3、如何准确的获取当前的视觉高度,从而执行上部分精准的变化核心代码实现如下:详细解释:第一句:const rect = panel.getBoun
2025-04-27 11:56:44
389
原创 MYSQL 数据库常见函数
MYISAM 存储引擎下,count(*)的效率最高INNODB 存储引擎下,count(*)和count(*)的效率差不多,比count(字段)效率高。
2025-04-25 23:07:16
344
原创 Cesium实现地形可视域分析
Cesium 本身的 Ray 类可以用来执行非常精确的射线检测,我们可以结合地形高度(sample)来逐点检测光线是否与 terrain 相交,从而判断是否可见。
2025-04-25 23:02:01
937
原创 微任务与宏任务的事件循环机制
事件循环(Event Loop)是 JavaScript 中一个非常核心的机制,它决定了代码是如何执行的,特别是在处理异步操作时,比如 setTimeout、Promise、async/await 等。下面我们来 详细 讲解一下宏任务(Macro Task)与微任务(Micro Task)的事件循环机制。
2025-04-24 13:41:56
1128
原创 Service Worker 离线缓存原理
Service Worker 是一种运行在浏览器背后的独立线程,主要用于拦截网络请求、管理缓存以及实现离线访问功能。它是构建 PWA(Progressive Web App,渐进式 Web 应用)不可或缺的一部分。下面我会详细讲解 Service Worker 离线缓存的原理,包括其工作流程、核心 API 及常见的缓存策略。
2025-04-24 13:41:25
391
原创 Service Worker网络代理
clone() 是处理 Request 和 Response 对象的 保险机制,在你想“读一次 body 又还要用它”时,一定要克隆一份,否则会触发 stream 已消费的错误。
2025-04-24 13:40:54
895
原创 手机端touch实现DOM拖拉功能
当新的 Y 值小于 20(用户往上推太多)时自动触发 handleTouchEnd,避免面板移动到看不见。初始时使用 translateY 将面板往下移动,仅露出 INITIAL_VISIBLE 像素高度。calc(100% - 380px) 表示整个面板往下推到底部,只露出顶部 380px。若是,则自动将面板复位(translateY(calc(100% - 380px)))) 得到当前 Y 偏移值。所有拖动逻辑只在 dragHandle 上生效,避免误操作。获取当前面板的 Y 位移,供后续增量计算。
2025-04-23 22:47:12
638
原创 rollup使用讲解
rollup 是一个 JavaScript 模块打包器,在功能上要完成的事和 webpack 性质一样,就是将小块代码编译成大块复杂的代码,例如 library 或应用程序。在平时开发应用程序时,我们基本上选择用 webpack,相比之下,rollup.js 更多是用于 library 打包,我们熟悉的 vue、react、vuex、vue-router 等都是用 rollup 进行打包的。
2025-04-20 17:58:32
770
原创 Cesium 地形加载
地形贴图(Terrain Textures)是通过将纹理(Texture)图像映射到3D模型表面来提升可视化效果的一种技术。在地理信息系统(GIS)和三维渲染中,地形贴图通常用于模拟地形的外观,如山脉、平原、湖泊等。
2025-04-20 16:52:01
473
原创 python中glom用法讲解
glom 是 Python 中一个用于简化嵌套数据结构操作的库,它的核心目标是让开发者以更直观、简洁的方式处理和转换复杂的字典、列表或对象嵌套数据。
2025-04-09 11:48:36
485
原创 python内置标准模块--OS
在 Python 中,os 是一个内置标准模块,全称是 Operating System(操作系统)。它的核心作用是与当前操作系统交互,提供对文件系统、进程管理、环境变量等操作系统功能的访问接口。
2025-04-08 22:26:05
229
原创 git 配置多个 SSH-Key
一般公司使用GitLab搭建的内部私有Git仓库,同时自己平时用github的账号,存在两个Git,如果直接使用 SSH-Key 会把之前的GitLab的 SSH-Key 覆盖。有两个 Github 账号,同一台电脑同时连接两个账号进行版本控制。公司使用 Gitlab 账号,自己使用 Github 账号。
2025-04-08 21:53:26
652
原创 python中的数据模型-pydantic浅讲
使用 @validator 装饰器添加自定义验证逻辑name: strage: intif v < 0:raise ValueError("年龄不能为负数")return vtry:print(e) # 年龄不能为负数1、数据验证:确保输入数据符合类型和约束。2、自动类型转换:将输入数据转换为声明类型。3、嵌套模型:支持复杂数据结构。4、自定义验证:通过 @validator 添加业务逻辑。5、灵活的配置:通过 Config 类控制模型行为。
2025-04-08 14:33:38
447
原创 Flask中的蓝图(Blueprint)浅讲
Flask中的蓝图(Blueprint)是一种强大的组织工具,能够将大型应用拆分为可重用的模块化组件。
2025-04-08 14:31:46
827
逐条请求 + 并发控制 + 重试 + 节拍式延迟
2025-05-09
在eclipse中关于arcgis for Android的配置
2017-02-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人