自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(1199)
  • 资源 (3)
  • 收藏
  • 关注

原创 书签篮:一款基于云端的个人书签管理工具 - 技术实现与优势分析

在信息爆炸的时代,浏览器自带的书签管理功能已难以满足我们跨设备、结构化整理海量网址的需求。本文将介绍一款名为“书签篮”的云端书签管理工具,并深入探讨其技术实现方案与核心竞争优势。

2025-12-30 15:25:39 595

原创 qpip 教程:把 Python 包安装、项目脚本和虚拟环境统一到一个命令里

如果你只把qpip当成“一个带镜像的 pip 包装器”,其实低估它了。它真正有价值的地方在于:用尽量低的学习成本,把 Python 开发里最常见的依赖安装、镜像切换、脚本执行和项目环境管理整合起来。对于个人开发者,qpip能让日常命令更省事。对于团队项目,qpip能让工作流更统一。qpip run试用一两天,你大概率就能感受到它比直接裸用pip更顺手。如果你正在维护 Python 项目,也值得把qpip推荐给团队成员,让大家用更一致的方式管理依赖、脚本和环境。

2026-03-11 22:55:59 81

原创 编写了 pyproject.toml 是否还需要 setup.py

自定义命令;扩展 setuptools 的构建流程(如自定义编译步骤)。绝大多数情况不需要 setup.py:pyproject.toml 已覆盖所有静态配置,是现代 Python 打包的标准;仅在需要动态逻辑/自定义命令时保留 setup.py:此时 setup.py 仅补充动态逻辑,不重复静态配置;最佳实践:静态配置写 pyproject.toml,动态逻辑写极简 setup.py,避免冗余。

2026-03-09 10:27:44 189

原创 MANIFEST.in简介

是 Python 项目打包时的文件包含/排除配置文件,用于告诉setuptoolsdistutils:在生成源码包(sdist)时,哪些文件/目录需要被包含,哪些需要被排除。setuptools默认只会打包 Python 代码文件(.py)和setup.cfg等配置文件,但项目中的 README、LICENSE、数据文件、静态资源等不会被自动包含,此时需要用显式声明。是 Python 打包时控制源码包(sdist)文件包含/排除的配置文件,核心指令有includeexcludeprune;

2026-03-09 10:21:49 238

原创 toml文件介绍

TOML(Tom’s Obvious, Minimal Language)是一种人类易读、机器易解析语法简洁直观,无冗余符号(如 JSON 的{}[]简化为自然的键值对/列表)强类型(字符串、数字、布尔值、日期等自动区分)层级结构清晰,支持嵌套表、数组、注释是 Python 官方推荐的配置格式(如),也广泛用于 Rust、Go 等语言的项目配置。TOML 是易读、强类型的配置格式,核心语法包括:键值对、数组、表(嵌套)、数组表;语法规则:UTF-8 编码、大小写敏感、仅支持单行注释、无。

2026-03-09 10:03:21 241

原创 pyproject.toml介绍

是 PEP 518 定义的 Python 项目配置文件标准,替代了过去分散的setup.pysetup.cfg等文件,成为现代 Python 项目的核心配置入口声明项目构建依赖(如setuptoolspoetryhatch配置项目元信息(名称、版本、作者、依赖等)定义工具链参数(如格式化、测试、类型检查工具的配置)是现代 Python 项目的统一配置入口,替代了传统的setup.py等文件,遵循 PEP 518/621 标准;核心结构包含(构建依赖)、[project](项目元信息)、

2026-03-09 09:57:26 152

原创 Cesium.SceneTransforms分析

是 Cesium 中 3D 世界坐标与 2D 屏幕坐标转换的核心工具,核心是(DOM 布局)和(WebGL 渲染);转换前必须判断返回值是否为undefined(处理点位失效场景),绑定 HTML DOM 优先用窗口坐标,WebGL 操作优先用绘图缓冲区坐标;核心应用场景是「3D 点位绑定 2D DOM」「鼠标拾取」「标注跟随」,是 Cesium 交互开发的基础技能。

2026-02-28 16:46:07 579

原创 Cesium 获取地形高度 全面深度教程

Cesium 中的地形高度(Terrain Height)是指某一经纬度位置相对于地球真实地形表面椭球体高度:仅相对于 WGS84 椭球表面的高度(无地形时的默认值);模型/实体高度:叠加在地形上的人工对象(建筑、模型)的高度。地形高度的获取依赖 Cesium 加载的地形数据源(如 Cesium World Terrain、自定义 STK/QuantumGIS 地形),无地形数据时,地形高度等价于椭球体高度(通常为 0)。Cesium 地形高度获取的核心方法分为经纬度查询)和屏幕拾取。

2026-02-27 14:41:59 962

原创 Cesium ScreenSpaceEventHandler 深度教程

/ 监听鼠标拖拽(左键按下+移动)实现自定义平移// 监听左键按下},// 监听鼠标移动// 计算鼠标移动偏移量// 自定义相机平移},// 监听左键松开() => {},是 Cesium 处理屏幕交互的核心类,支持鼠标/触摸/键盘组合事件,需绑定到 Canvas 元素使用。核心方法是(绑定事件)、(移除事件)、destroy(销毁实例),使用时需注意生命周期管理。

2026-02-27 11:26:01 987

原创 SQLite 与 MySQL 性能深度对比:场景决定最优解

性能本质:SQLite 赢在“低开销、本地访问”,MySQL 赢在“高并发、可扩展”;关键阈值写并发 < 10 QPS → SQLite 更优;写并发 > 10 QPS → MySQL 更优;数据库大小 < 50GB → SQLite 更优;数据库大小 > 50GB → MySQL 更优;优化核心:SQLite 重点开启 WAL 模式、事务封装批量操作;MySQL 重点调优 InnoDB 缓存、行级锁、连接池。

2026-02-24 19:41:37 957

原创 better-sqlite3 性能深度解析:为什么它比同类库快一个量级

性能差距根源的同步设计贴合 SQLite 本质、内存管理高效、迭代器零拷贝、事务优化到位,而sqlitesqlite3的异步封装反而增加了无意义开销;核心优势场景:逐行迭代查询、事务批量操作、高频小查询是优势最突出的场景;最优实践:预编译语句复用、事务封装批量操作、开启 WAL 模式、流式迭代大数据,可最大化发挥其性能优势。

2026-02-24 19:26:43 859

原创 better-sqlite3 深度教程:为什么它比 node‑sqlite3 更好、怎么用、什么时候不该用

你可以直接用下面这套逻辑判断:你在 Node.js 用 SQLite✔ 用✔ 抛弃你觉得慢→ 先查:慢查询、缺索引、没开 WAL→ 不是库的问题你真的需要超高并发写 / TB 级库 / 大量大结果返回→ 不要纠结 SQLite 驱动→ 直接换PostgreSQL 等专业数据库除了必须上重型数据库的场景,better-sqlite3 就是 Node.js + SQLite 的最优解。

2026-02-24 19:01:36 689

原创 SQLite 核心特性与应用实战教程:轻量却不简单的嵌入式数据库

很多桌面应用、移动端应用会用自定义格式(如 XML、JSON、CSV 或二进制文件)存储用户数据(如项目文件、笔记、配置),但这种方式需要手动编写解析器、无法保证数据一致性、不支持事务——而 SQLite 可完美替代这些自定义文件,将“文件”升级为“可查询、可事务的数据库”。SQLite 的核心价值,不在于“轻量、简易”,而在于「用最简单的方式,解决本地数据存储的所有问题。

2026-02-21 22:00:56 1155

原创 SQLite 的适用场景与选型指南:它不是轻量 MySQL,而是「文件的升级版」

大量程序仍在用 fopen/fread/fwrite 手写文件格式。代码更简单,不用手写解析器天然事务、崩溃安全很多场景比直接读写文件更快查询、排序、过滤不用自己实现算法把文件升级成数据库,把复杂变简单,把不可靠变可靠。它不是「缩小版服务器数据库」,而是现代化、事务化、可查询、跨平台的文件系统增强工具。理解这一点,你就真正懂了 SQLite。

2026-02-21 08:04:22 647

原创 viewer.camera.flyTo 全面教程

是 Cesium 中控制相机从当前位置平滑飞行到目标位置的核心方法,区别于直接跳转(setView),它会生成连续的动画过渡,是提升交互体验的关键 API。通过// 从北京飞向洛杉矶,强制经过东经180°(太平洋)flyOverLongitude: Cesium.Math.toRadians(180), // 强制经过180°经度});是 Cesium 中实现相机平滑飞行的核心方法,必填参数仅,支持笛卡尔坐标或矩形区域两种格式。控制相机朝向,需注意均为弧度单位,可通过转换角度。

2026-02-11 21:43:03 340

原创 Chrome/Edge/Firefox如何打开书签栏?

书签栏是浏览器的高效神器,能让我们一键打开常用网站,告别反复输入网址的繁琐。Chrome、Edge、Firefox作为当下最主流的三款浏览器,虽界面设计各有不同,但开启书签栏的方法却有共通之处,既可以用快捷键一键秒开,也能通过菜单设置实现永久显示,新手也能轻松上手。而在开启书签栏后,搭配专业的书签管理工具——书签篮(https://shuqianlan.com),还能实现重复书签清理、多级分类整理等进阶功能,让书签管理更有条理。下面就为大家详细拆解三款浏览器的书签栏开启方法,同时分享书签篮的实用价值,让浏览

2026-01-30 18:32:23 1399

原创 Electron IPC 通信深入全面讲解教程

核心模式:渲染→主用(有返回)、send/on(无返回);主→渲染用;同步通信尽量避免。安全原则:开启上下文隔离、白名单化 API、校验输入参数,永远不信任渲染进程的输入。最佳实践:统一管理 Channel 常量、及时取消 IPC 监听、通过精准回复、异步操作做好错误处理。

2026-01-28 09:32:09 766

原创 Electron 快速入门教程

Electron 是一个基于和的跨平台桌面应用开发框架,你可以用 HTML、CSS、JavaScript 构建 Windows、macOS、Linux 三端一致的桌面应用,比如 VS Code、Figma 都是基于 Electron 开发的。本教程会带你从到,快速上手 Electron 开发。

2026-01-28 09:21:34 837

原创 告别书签栏:我们如何用书签篮实现智能化的个人知识管理

“收藏了等于学会了”——这是数字时代最大的自我欺骗。我的书签栏曾经堆砌着数百个标签,从“React性能优化技巧”到“周末烘焙食谱”,混乱程度堪比数字版的抽屉堆积场。

2026-01-21 13:34:49 653

原创 Python pip 全面讲解教程(2026 实用版)

书签篮是一款简洁易用的个人书签管理工具,帮助您分类整理常用网站,快速访问喜爱的网页。支持多级分类、搜索功能和云存储。

2026-01-21 11:13:08 995

原创 解决pip安装报错:SSL解密失败问题的终极指南

优先推荐方案2:永久切换国内镜像源,既能解决 SSL 报错,又能提升下载速度,是国内开发者的最优解。应急使用方案1:临时禁用 SSL 验证仅适合单次安装,不建议长期使用。定期维护方案3:定期升级pip和依赖库,可避免因版本老旧引发的各类兼容性问题。排查环境方案4:遇到持续报错时,优先检查代理和防火墙,排除网络环境干扰。通过以上方法,你可以彻底解决pip安装过程中的 SSL 解密失败问题,顺畅管理 Python 第三方包。

2026-01-21 09:58:49 661

原创 人工智能AI在书签篮分类中的应用落地

修改CATEGORIES: ["Python教程", "前端开发", "电影", "购物", "办公工具", "其他"],⚠️ 注意:类别数量建议≤8个,数量越少,分类准确率越高。核心流程:初始化项目 → 安装依赖 → 编写代码(解析书签+加载模型+分类)→ 运行生成结果,零基础也能10分钟上手;关键优化:启用量化、限制文本长度、补充域名规则,能在1GB内存环境下稳定运行,准确率≥85%;核心优势是Node.js书签分类的最优轻量模型,体积小、多语言支持、开箱即用。

2026-01-19 17:42:28 716

原创 书签篮使用全攻略:让网页收藏与管理更高效

无门槛使用:无需注册登录,本地存储数据,保护隐私的同时,避免了跨平台同步的复杂操作。界面简洁直观:整体设计遵循「极简主义」,没有多余的广告和功能模块,专注于书签管理的核心需求。功能实用且全面:多层级分类、多引擎搜索、一键去重、资源发现、笔记工具等功能,覆盖了书签管理的全场景需求。移动端适配优秀无论是职场人士、学生党,还是普通用户,都能通过它找到适合自己的书签管理方式。

2026-01-18 09:50:19 641

原创 NGINX njs 全解析:从基础配置到高级特性实战

njs(NGINX JavaScript)是 NGINX 推出的轻量级 JavaScript 子集,通过 `ngx_http_js_module` 模块可在 NGINX 中实现 location 处理、变量定义、响应过滤等核心能力。相比于传统 NGINX 配置,njs 赋予了 NGINX 更灵活的编程能力,无需依赖第三方模块即可完成复杂的请求/响应处理逻辑。本文将从配置入门、核心指令、实战案例到高级特性,全面讲解 njs 的使用方法。

2026-01-11 09:13:51 817

原创 精通 NJS 文件系统模块(fs):NGINX 网关层的文件操作全指南

NJS(NGINX JavaScript)的 `fs` 模块为 NGINX 网关层提供了完整的文件系统操作能力,支持文件读写、目录管理、权限校验、符号链接处理等核心功能,同时兼容同步 API 和异步 Promise API(0.3.9+)。无论是读取配置文件、记录访问日志,还是处理静态资源元信息,`fs` 模块都是 NJS 实现本地文件交互的核心工具。本文将全面解析 `fs` 模块的核心 API、数据对象及实战场景,结合版本兼容要点讲解最佳实践。

2026-01-10 23:17:33 822

原创 NJS 中的 Base64 编解码:atob() 与 btoa() 全解析

Base64 是一种通用的二进制到文本的编码方式,常用于处理特殊字符传输、加密数据序列化等场景。NJS(NGINX JavaScript)内置了 Web 标准的 `atob()` 和 `btoa()` 方法,无需依赖第三方模块即可实现高效的 Base64 编解码,是 NGINX 网关层处理数据编码的轻量解决方案。本文将详细讲解这两个方法的用法、适用场景及注意事项,结合实战示例展示其在 NJS 中的典型应用。

2026-01-10 22:43:05 991

原创 精通 NJS HTTP 请求对象:全方位掌控 NGINX 请求生命周期

NJS(NGINX JavaScript)的 HTTP 请求对象(通常简写为 `r`)是 `ngx_http_js_module` 模块的核心,封装了客户端请求的所有关键信息(参数、头信息、请求体等),并提供了响应构建、子请求、日志输出等核心能力。从请求解析到响应发送,`r` 对象贯穿整个 NGINX 请求生命周期,是实现网关层逻辑(如参数校验、请求转发、响应改写)的基础。本文将全面解析 `r` 对象的核心属性与方法,结合实战场景讲解其使用技巧与版本兼容要点。

2026-01-10 22:30:47 866

原创 NJS 共享字典(ngx.shared)全解析:跨 Worker 进程的数据共享方案

NJS(NGINX JavaScript)从 0.8.0 版本开始引入 `ngx.shared` 全局对象,提供了基于共享内存的字典(SharedDict)能力,解决了 NGINX 多 Worker 进程间数据隔离的问题。通过 SharedDict,开发者可在 NGINX 网关层实现轻量级缓存、计数器、限流标记等跨进程共享数据的场景,本文将全面讲解 `ngx.shared` 的配置方式、核心 API 及实战应用。

2026-01-10 21:13:47 805

原创 深入理解 NJS 全局对象:掌控运行时的核心工具

NJS(NGINX JavaScript)作为 NGINX 原生集成的轻量级 JavaScript 运行时,提供了全局 `njs` 对象(自 0.2.0 版本引入),它是当前 VM(虚拟机)实例的直接映射,封装了版本查询、内存监控、事件监听等核心能力。掌握 `njs` 全局对象的 API,能帮助开发者更精准地调试、监控和管控 NJS 运行时,本文将全面解析 `njs` 对象的核心属性与方法,并结合实战场景讲解其应用价值。

2026-01-10 19:37:26 1041

原创 NJS 中 Crypto 模块实战教程:Hash 与 HMAC 加密详解

NJS(NGINX JavaScript)是 NGINX 内置的 JavaScript 运行时,其 `crypto` 模块提供了轻量且高效的加密功能,核心包含 `createHash()` 和 `createHmac()` 两大核心 API,可满足 NGINX 配置中常见的哈希计算、签名验证等需求。本文将结合 NJS 内置 `crypto` 模块的特性,从零讲解 Hash 和 HMAC 的使用方法、核心差异及实战场景。

2026-01-10 18:10:15 951

原创 深入解析 @mapbox/mbtiles:Node.js 玩转 MBTiles 瓦片格式

MBTiles 本质是 SQLite 数据库文件,通过标准化的表结构(tiles存储瓦片数据、metadata存储元信息、grids存储 UTFGrid)管理地图瓦片。单文件存储,便于传输和备份;基于 SQLite,支持高效的瓦片查询;标准化元数据,兼容主流地图引擎。@mapbox/mbtiles 是 Node.js 操作 MBTiles 文件的官方库,支持瓦片的读写、元数据管理和 UTFGrid 操作;写入操作必须通过包裹,确保数据持久化;

2026-01-07 21:45:52 876

原创 Tailwind CSS 响应式设计实战指南:从零搭建书签篮自适应页面

本文围绕 Tailwind CSS 响应式设计,结合书签篮(https://shuqianlan.com/faxian/index.html)的优质网站分类展示场景,展开全面讲解

2025-12-31 09:14:05 1118

原创 Tailwind CSS 菜单实现全面讲解教程(基于书签篮网站场景)

本文以书签篮网站分类明确、适配多场景的菜单设计为原型,全面讲解 Tailwind CSS 菜单实现方法。核心内容包括:先介绍 Tailwind CSS 的原子类、响应式等核心优势及 CDN 引入、项目集成两种环境搭建方式;再基于书签篮菜单特点,实现桌面端横向菜单与移动端下拉菜单的基础结构,解析导航栏、菜单项、下拉菜单的核心样式及响应式适配逻辑,配套实现移动端菜单展开收起、点击外部关闭等交互功能;接着提供自定义主题、滚动时导航栏样式变化、搜索功能集成、无障碍优化等高级优化方案;

2025-12-30 22:23:36 787

原创 Tailwind CSS Flex 布局深入全面教程

除了通过容器控制所有项目,Tailwind 还提供了针对单个 Flex 项目的工具类,实现个性化布局。Tailwind CSS Flex 布局工具类的核心优势在于无需编写原生 CSS,通过语义化的类名组合,即可快速实现各类复杂、响应式的布局效果。掌握容器声明、排列方向、主轴/交叉轴对齐、项目伸缩控制这四大核心知识点,就能应对绝大多数前端布局场景。

2025-12-27 13:25:19 1089

原创 从零开始上手 Tailwind CSS 教程

通过以上步骤,你已经成功完成了 Tailwind CSS 的安装与基础使用。Tailwind CLI 的无构建工具依赖特性,让你可以快速体验实用优先的样式开发模式。后续你还可以通过自定义配置文件,扩展颜色、字体、间距等样式变量,进一步适配项目的个性化需求。

2025-12-27 12:53:54 938

原创 vscode 使用正则查找替换

Ctrl+H打开替换面板,点击.*按钮启用正则功能。核心技巧:用()捕获分组,替换时通过$1$2复用捕获内容,实现批量调整格式。实用场景:批量修改变量名、调整日期/编号格式、去除多余空白、批量注释/提取内容等。

2025-12-26 10:24:20 2116

原创 marked入门教程

marked是一款轻量、高速、无依赖的 JavaScript Markdown 解析库,核心功能是将 Markdown 文本转换为 HTML 字符串。解析速度在 JS Markdown 库中名列前茅(比 markdown-it 更快)体积小巧(压缩后约 30KB),支持浏览器/Node.js 双环境兼容 GFM(GitHub Flavored Markdown)语法支持灵活的配置和自定义渲染规则无第三方依赖,集成成本极低marked的Renderer。

2025-12-26 09:03:12 1290

原创 js的markdown js库对比分析

性能优先、简单解析场景选marked;易用性优先、小项目快速集成选showdown。复杂扩展、富功能场景(如自定义语法、流程图)选,它是生态最成熟的全能库。反向转换(HTML→Markdown)选Turndown,AST复杂处理选Remark,可视化编辑选Editor.md。选型核心是“匹配场景”:轻量场景避免大体积库,复杂场景优先生态完善的库。

2025-12-26 08:55:06 937

原创 njs的发展历史

语法支持:从基础ES5语法逐步扩展至ES13特性,覆盖模块、箭头函数、正则增强等现代JavaScript功能。模块生态:从单一核心模块发展为包含fs、crypto、zlib、xml等多场景模块,适配Node.js风格API。引擎适配:从原生引擎到引入QuickJS,兼顾性能与轻量化需求,支持多编译器和系统架构。nginx集成:从基础指令支持到深度融合,扩展配置上下文,优化共享资源管理,完善HTTP/Stream全场景适配。

2025-12-25 09:02:39 630

原创 html返回顶部实现方式对比

首先明确「返回顶部」的本质:通过修改页面的滚动偏移量,让页面从当前滚动位置回到顶部(滚动偏移量为 0)。在浏览器中,控制页面滚动的核心对象/属性:这是最简洁的实现方式,利用 HTML 锚点定位特性,无需编写 JavaScript 代码。特点✅ 优点:无需 JS,兼容性极强(支持所有浏览器,包括老式浏览器),实现简单❌ 缺点:点击后地址栏会添加 哈希值,可能影响路由(如单页应用)滚动是瞬间完成,无平滑过渡效果,体验较生硬无法控制滚动行为(如滚动速度、是否触发滚动事件)方案2:原生JS

2025-12-24 17:29:14 1169

MBStyleGenerator Mapbox GL Style JSON文件生成

You can use this plugin in two ways. One, to generate only Mapbox Style file style.json. Another, generate style.json and also MVT files - tiled .pbf files.

2025-12-04

QGIS Open Sans 字体安装失败解决方案

解压下载的字体包 找到.ttf或.otf格式的字体文件 右键点击选择"安装"或直接拖拽到C:\Windows\Fonts文件夹

2025-12-01

resty.http资源

resty.http资源

2022-04-03

flex viewer 3.0

最新flexviewer开发包下载,2012-6-6更新,共享交流

2012-08-06

Arcgisserver for flex API 3.0

Arcgisserver for flex API 3.0

2012-08-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除