时光轴

MAVLink 消息处理指南

MAVLink消息处理系统摘要 本系统实现了一套完整的MAVLink消息处理机制,用于无人机通信与控制。核心功能包括: 消息接收:通过UDP连接持续接收飞控消息,支持心跳维持机制 消息处理:分类处理多种MAVLink消息类型,包括心跳、位置、姿态和航点相关消息 航点管理:实现航点下载状态机,支持分片请求和接收航点数据 消息转发:将处理后的消息通过MQTT发布到指定主题 系统采用多线程架构,包含独立的消息接收线程和主处理循环,通过通道进行线程间通信。关键特性包括航点下载状态机、错误处理和日志记录机制,确保通信

rust 交叉编译指南

本指南介绍如何使用进行 Rust 项目的交叉编译,特别是针对 ARM64 Linux 平台。

M3U8 下载助手油猴脚本 - 技术实现解析

M3U8下载助手技术解析 该油猴脚本通过注入拦截脚本实现对M3U8链接的全面捕获。核心架构包括: 请求拦截层:劫持XHR、fetch和WebSocket请求 DOM监听层:通过MutationObserver监控动态元素变化 跨域通信:iframe间使用postMessage传递数据 UI展示层:提供浮动按钮等交互界面 关键技术点: 使用document-start确保早期注入 通过保存原始方法实现API劫持 在send时而非open时检测URL 全面覆盖各种属性(src/href/data-src等) 脚

M3U8 下载助手油猴脚本 - 完全使用指南

M3U8下载助手是一款实用的油猴脚本工具,配合Tampermonkey扩展使用,可一键下载网页视频。安装简单:先装Tampermonkey扩展,再导入脚本并启动后端服务。使用时自动检测视频链接,显示浮动按钮,支持单一下载或批量复制链接,还能穿透iframe检测嵌入式视频。提供实时下载进度显示,支持自定义服务器地址和检测间隔。遇到问题可检查脚本加载状态或网络连接。该工具能高效保存在线视频,适合需要批量下载的用户使用。

我做了一个局域网传文件的小工具,记录一下

本文记录了作者开发局域网文件传输工具的过程。起因是工作中遇到大文件传输不便的问题,作者选择用Rust语言开发,解决了WebSocket状态管理、大文件上传限制等技术难点。最终成品通过浏览器即可使用,支持文字聊天和文件传输,内存占用低。同事们试用后反馈良好,建议增加拖拽上传等功能。作者认为Rust虽开发较繁琐但运行高效稳定,并将项目开源供社区参与改进。

局域网聊天工具

这是一个基于Rust和Axum框架开发的局域网实时聊天工具,支持文本聊天、图片和文件分享功能。项目采用WebSocket实现实时通信,前端使用Tailwind CSS构建界面。主要功能包括实时消息传递、文件上传下载(限制100MB)、在线用户显示和消息历史记录。部署简单,只需Rust环境,通过Cargo编译运行即可启动服务。系统架构清晰,包含后端处理、前端界面和文件存储模块,适合局域网内团队协作使用。

用 PowerShell 打造你的专属开发命令快捷键

摘要:本文介绍如何利用PowerShell函数为常用开发命令创建快捷别名,如将pnpm run dev简化为pd。相比Set-Alias,函数支持参数传递(通过@args),更具灵活性。文章详细说明了如何将函数定义写入PowerShell配置文件实现永久生效,并提供了pnpm和bun常用命令的别名示例。此外还包含执行策略设置、名称冲突注意事项等实用技巧,帮助开发者提升终端操作效率。该方法可扩展应用于git等其他命令行工具的快捷方式创建。

彻底解决 Windows 下无法删除 nul 文件的问题

摘要:Windows系统下无法删除名为nul的文件,因为它是系统保留设备名。常见解决方法如\\.\路径可能失效,更可靠的方案是使用Git Bash的rm命令直接删除,或使用\\?\前缀的扩展路径。备选方案包括安全模式、PE系统或第三方工具。Git Bash方案操作简单成功率最高,\\?\路径是原生解决方案,建议根据实际情况选择最佳方法。

控制 Nuxt 页面的渲染模式:客户端 vs 服务端渲染

Nuxt页面渲染模式可通过文件命名控制:默认.vue为客户端渲染,改为.server.vue则启用服务端渲染。两种模式切换仅需修改文件后缀,无需改动组件代码。服务端渲染可提升首屏性能与SEO效果,而客户端渲染适合交互较多的场景。这种灵活的命名约定让开发者能轻松优化不同页面的渲染策略。

Next.js打包分析工具使用指南

本文介绍了使用@next/bundle-analyzer进行Next.js打包分析的解决方案。由于Next.js 13+默认使用Turbopack,需添加--webpack参数强制使用Webpack构建。配置步骤包括安装依赖、修改package.json脚本和next.config.js文件。运行分析后,可根据结果进行代码分割、优化依赖等性能优化。该工具能有效监控应用体积,提升用户体验。

useCesiumCache Cesium 资源缓存工具使用文档

useCesiumCache 是一个 Cesium.js 资源缓存工具,通过拦截底层请求将符合条件的资源自动缓存到 IndexedDB。主要特性包括:无缝集成、持久化存储、可配置缓存策略(URL/自定义键)、智能拦截指定响应类型(默认 blob/arraybuffer)、缓存管理和调试模式。使用时需提前初始化,支持自定义缓存键和排除特定请求。注意事项包括单例行为、版本兼容性、缓存更新策略等。该工具可显著提升 3D 场景加载速度,减少网络请求,并提供基础离线能力。

useTileCache 瓦片缓存工具使用文档

);

UNavigationMenu 中 `external` 属性与高亮状态冲突的完美解决方案

摘要:Nuxt UI的UNavigationMenu组件在使用external: true属性强制刷新页面时,常出现菜单高亮失效问题。本文分析其根源在于external会切断组件自动高亮机制,而手动设置的active属性未保持响应式。提供了四种解决方案:1) 使用计算属性确保active响应式更新(推荐);2) 通过onSelect回调实现编程式导航;3) 区分内外链分别处理;4) 自定义渲染插槽完全控制样式。验证技巧包括检查渲染元素和监控active值,建议根据具体场景选择方案,核心原则是确保extern

深入理解 NuxtLink 的 `external` 属性:何时需要强制页面刷新

摘要:Nuxt的<NuxtLink>组件默认使用客户端导航实现SPA体验,而external属性可强制页面刷新。本文解析其核心差异:默认模式保留应用状态,external模式完全重置。关键使用场景包括跳转外部网站、静态资源下载、状态重置及解决插件兼容性问题。文章详细阐述技术原理(自动判断外部链接的逻辑)和使用注意事项(状态丢失、性能影响等),最后给出最佳实践建议:优先使用默认导航,谨慎使用external,并合理结合预加载优化。

窗口居中方案技术文档:基于 Dioxus 与 Winit 的高DPI自适应实现

本文档介绍了基于Rust的Dioxus框架与Winit窗口库实现的高DPI自适应窗口居中方案。该方案通过正确处理物理像素与逻辑像素的转换,确保应用程序窗口在不同DPI显示器上都能精确定位。核心内容包括:1) 物理/逻辑像素转换原理;2) 基于系统缩放因子的居中算法;3) 完整实现代码示例;4) 多显示器支持扩展方法。方案特点包括跨平台兼容性、精确计算和框架无缝集成,解决了传统窗口定位在高DPI环境下的偏移问题,为开发者提供了开箱即用的窗口管理解决方案。

Windows 下隐藏命令行子进程窗口的技术方案

本文介绍了在Windows下隐藏命令行子进程窗口的技术方案。通过使用CREATE_NO_WINDOW标志(0x08000000)和CommandExt trait,可以抑制控制台窗口弹出。该方案仅影响控制台程序,GUI程序不受影响,但需注意隐藏窗口后需妥善管理子进程输出。开发阶段可选择性禁用该标志以便调试。这是Windows平台实现子进程窗口隐藏的最简洁解决方案。

Ubuntu 22.04 安装 Fcitx5 中文输入法完整指南

本文详细介绍了在Ubuntu 22.04上安装Fcitx5中文输入法的完整流程。首先安装核心组件、前端支持和中文输入引擎,然后配置必要的环境变量。安装完成后,通过图形界面添加拼音输入法并设置优先级。最后验证安装是否成功,包括检查环境变量、进程状态和实际输入测试。Fcitx5作为新一代输入法框架,相比Fcitx4更轻量且支持Wayland,是Ubuntu系统中文输入的良好选择。

树莓派 Ubuntu 系统登录问题完整指南:解决 Permission denied (publickey)错误

树莓派安装Ubuntu Server后常见SSH登录失败问题(Permission denied (publickey))的解决方案。主要原因是Ubuntu默认禁用密码登录且要求SSH密钥认证。提供四种解决方案:1)通过控制台或SD卡修改启用SSH;2)临时启用密码认证;3)配置SSH密钥(推荐);4)使用Cloud-init自动化配置。特别说明首次启动需修改密码和网络配置注意事项。强调最终应恢复禁用密码登录的安全配置。

将树莓派 Ubuntu 主机设置为固定 IP(192.168.200.55)完整指南

本文提供了在Ubuntu系统上设置固定IP地址的完整指南,适用于18.04+版本及所有使用netplan管理的系统。通过编辑netplan配置文件(/etc/netplan/01-fixed-ip.yaml),用户可以轻松将IP设置为192.168.200.55等固定地址,无需重启即可生效。文章包含确认网卡名称、配置模板、验证方法以及一键脚本,并解答了常见问题如恢复DHCP、网关设置等。特别适合树莓派、虚拟机和边缘设备的网络配置需求。

Mapbox Logo 的终极方案

摘要 在 Android Compose 中使用 Mapbox 地图 SDK 时,传统命令式方法隐藏 Logo 会导致空指针异常。本文提出声明式解决方案:直接在 MapboxMap 可组合项中配置空参数 logo = {} 和 attribution = {}。这种方法避免了运行时插件访问,完全符合 Compose 的声明式理念,具有更高稳定性、可读性和兼容性。与旧方案相比,新方案将配置集中在地图构建时而非运行时,是 Mapbox 在 Compose 环境中的最佳实践。

frp 最简单使用文档

frp是一款内网穿透工具,通过公网服务器将内网服务暴露到外网。使用步骤:1)下载对应版本;2)服务端配置frps.ini设置监听端口;3)客户端配置frpc.ini指定服务器IP和端口映射规则;4)分别启动服务端和客户端程序。典型应用包括暴露SSH(6001端口)和HTTP服务(6000端口)。使用时需注意安全风险和防火墙设置,可通过nohup实现后台运行。核心原理是客户端将本地端口映射到服务端指定端口,实现外网访问内网资源。

iftop的使用

iftop是一款实时监控网络流量的命令行工具,类似top命令,可直观显示每个连接的带宽使用情况。它提供动态流量视图、按流量排序功能,并通过条形图等可视化方式展示数据。安装简单(Ubuntu/Debian用apt-get,CentOS/RHEL用yum),基本用法为sudo iftop。界面分为三部分:顶部刻度尺、中部连接列表(核心监控区)和底部统计信息。常用选项包括-i指定网卡、-n禁用DNS解析、-P显示端口等。运行时可通过快捷键(如h查看帮助、P暂停刷新)交互操作。典型应用场景包括排查带宽异常问题,结合

frp 最简单使用文档

frp是一款内网穿透工具,通过公网服务器将内网服务暴露到外网。使用步骤:1)下载对应版本;2)服务端配置frps.ini设置监听端口;3)客户端配置frpc.ini指定服务器IP和端口映射规则;4)分别启动服务端和客户端程序。典型应用包括暴露SSH(6001端口)和HTTP服务(6000端口)。使用时需注意安全风险和防火墙设置,可通过nohup实现后台运行。核心原理是客户端将本地端口映射到服务端指定端口,实现外网访问内网资源。

iftop的使用

iftop是一款实时监控网络流量的命令行工具,类似top命令,可直观显示每个连接的带宽使用情况。它提供动态流量视图、按流量排序功能,并通过条形图等可视化方式展示数据。安装简单(Ubuntu/Debian用apt-get,CentOS/RHEL用yum),基本用法为sudo iftop。界面分为三部分:顶部刻度尺、中部连接列表(核心监控区)和底部统计信息。常用选项包括-i指定网卡、-n禁用DNS解析、-P显示端口等。运行时可通过快捷键(如h查看帮助、P暂停刷新)交互操作。典型应用场景包括排查带宽异常问题,结合

Cesium 中computeViewRectangle的使用场景

本文介绍了Cesium中computeViewRectangle接口的使用场景和方法。该接口可获取相机视域在地表的外包矩形(WGS84弧度坐标),用于快速判断实体是否在可见区域。文章提供了7行核心代码实现该功能,并详细解析了API行为细节,包括空值处理、高度维度比较等注意事项。该方法适用于数字孪生、CIM等需要处理大量实体渲染的场景,通过视域剔除优化性能,避免无效渲染。最后强调在3D大屏场景中"看得见才渲染"的重要性。

为Tauri应用添加启动画面:实现方案

本文详细介绍了为Tauri应用添加启动画面的实现方案。通过多窗口协作的方式,先显示启动窗口完成初始化任务,再切换到主窗口。文章从配置文件设置、启动窗口设计、初始化任务模拟到窗口切换控制,分四个步骤详细说明了实现过程,并强调了避免阻塞线程的技术要点。最终实现的效果是:启动窗口先显示,任务完成后自动关闭并展示主窗口,为用户提供流畅的启动体验。

Cesium 中computeViewRectangle的使用场景

本文介绍了Cesium中computeViewRectangle接口的使用场景和方法。该接口可获取相机视域在地表的外包矩形(WGS84弧度坐标),用于快速判断实体是否在可见区域。文章提供了7行核心代码实现该功能,并详细解析了API行为细节,包括空值处理、高度维度比较等注意事项。该方法适用于数字孪生、CIM等需要处理大量实体渲染的场景,通过视域剔除优化性能,避免无效渲染。最后强调在3D大屏场景中"看得见才渲染"的重要性。

为Tauri应用添加启动画面:实现方案

本文详细介绍了为Tauri应用添加启动画面的实现方案。通过多窗口协作的方式,先显示启动窗口完成初始化任务,再切换到主窗口。文章从配置文件设置、启动窗口设计、初始化任务模拟到窗口切换控制,分四个步骤详细说明了实现过程,并强调了避免阻塞线程的技术要点。最终实现的效果是:启动窗口先显示,任务完成后自动关闭并展示主窗口,为用户提供流畅的启动体验。

tauri打包报错

Tauri打包时出现权限不足错误,常见原因是系统权限限制。错误表现为打包过程中无法执行某些操作(如图片所示)。建议检查相关目录权限或使用管理员权限运行打包命令。该问题通常可通过调整权限设置解决。

nuxt2 发布到线上

本文详细介绍了基于Node.js和Nuxt.js项目的完整部署流程。首先确认环境配置(Node.js 16.15.0/Yarn 1.22.19/PM2 5.2.2),然后逐步执行构建命令生成.nuxt和dist文件夹,将关键项目文件上传至服务器。在服务器端安装依赖后,使用PM2管理服务进程,并配置Nginx反向代理(示例配置包含监听80端口、域名绑定和请求转发设置)。部署完成后,项目可通过服务器访问,其中login页面使用固定数据,cardsearch通过接口获取动态数据。整个过程包含清晰的命令行操作和服务

a-table 全选问题

本文介绍了如何使用Vue.js的rowSelection属性实现表格行单选和全选功能。通过设置rowSelection对象中的onSelect、onSelectAll方法和selectedRowKeys属性,可以控制行的选择状态。同时指出,在取消选择时需要先清除原有数据再进行重新渲染,以确保选择状态的正确更新。文中配有代码示例截图,直观展示了实现方式。

高效实现实体删除的宏解决方案:使用Rust宏优化删除操作

本文介绍了使用Rust过程宏优化Web开发中实体删除操作的方法。传统手动实现存在代码重复、维护困难等问题,而通过crud_entity宏可一键生成包含路由、权限验证和错误处理的完整删除功能。宏支持多种ID类型,自动生成查找逻辑和数据库操作,同时集成统一的错误处理和权限系统。该方案显著提升开发效率,确保代码一致性,为Web应用提供标准化、类型安全的删除操作实现。

简化路由权限绑定的过程宏设计

本文介绍了一种使用Rust过程宏简化Web路由权限绑定的方法。传统方式需要在每个处理器中重复权限检查代码,而通过设计的route_permission属性宏,开发者可以声明式地指定路由路径、方法和所需权限,无需手动编写权限检查逻辑。该方案包含参数解析结构、宏实现、全局路由注册表以及权限中间件等核心组件,实现了路由信息的自动收集和权限检查的集中处理,显著减少了样板代码,提高了开发效率和代码可维护性。

使用宏实现高效的分页查询功能

本文介绍了使用Rust过程宏实现高效分页查询的解决方案。核心是通过宏自动生成统一的分页接口,包括分页参数处理、数据库查询和错误处理逻辑。该方法支持基本分页、排序和过滤功能,同时考虑性能优化和错误处理,适用于处理大量数据的Web应用场景。相比手动实现,宏驱动的方式显著提高了开发效率,并保证了代码一致性和可维护性,特别适合需要频繁进行分页查询的管理后台和移动应用。

高效实现单个实体查询的宏解决方案

本文介绍了一种使用Rust过程宏自动生成单个实体查询逻辑的解决方案。通过定义crud_entity宏,支持整数、UUID和自定义ID类型,自动生成包含统一错误处理、权限验证和类型安全检查的查询代码。相比传统手动实现方式,该方案显著减少重复代码,提高开发效率,同时保持编译时优化和零成本抽象优势。生成的API支持RESTful风格调用,为前后端分离架构提供了高效、一致的数据访问接口。

使用过程宏实现自动化新增功能

本文介绍了使用Rust过程宏自动化后端CRUD新增操作的方法。传统手动编写新增功能代码存在重复性高、易出错等问题。通过实现crud_entity!宏,开发者只需定义请求DTO和类型转换,宏即可自动生成包括数据库操作、错误处理等完整代码。这种方法提升了开发效率,确保代码一致性,并内置了权限验证、日志记录等通用功能,特别适合需要大量CRUD操作的中大型项目。

Utoipa 中的查询参数处理:避免将 Query 参数误设为 Path 参数

本文介绍了在使用Utoipa为Rust Web应用生成OpenAPI文档时正确处理查询参数的关键方法。通过分析分页查询实例,文章重点讲解了如何通过#[into_params(style = Form, parameter_in = Query)]属性宏正确配置查询参数,避免被误识别为路径参数。文章还对比了正确与错误配置方式,提供了混合参数处理示例,并总结了明确指定参数位置、保持路径简洁、提供完整元数据等最佳实践,帮助开发者生成准确的OpenAPI文档。

Rust 中的日期时间序列化:将 UTC 转换为北京时间

Rust后端开发中处理时区转换的实用技巧:通过SeaORM模型和自定义序列化函数,将UTC时间转换为北京时间并格式化输出。文章分析了核心代码结构,包括时区转换函数和自定义序列化实现,重点讲解了Serde自定义序列化、OpenAPI集成和时区处理等关键技术。这种方案既能保证数据库存储一致性,又能提供符合用户习惯的本地时间显示,适用于中文用户界面、国际化应用和日志审计等场景,展示了Rust在类型安全和灵活性方面的优势。

用 Rust + Actix-Web 打造“Hello, WebSocket!”——从握手到回声,只需 50 行代码

本文介绍如何使用Rust和Actix-Web框架快速构建WebSocket服务。通过50行核心代码实现握手协议升级和消息回声功能,利用Actix-Web框架的特性实现微秒级延迟和单机10万并发。文章详细解析了代码逻辑,包括协议升级、消息聚合和异步处理等关键步骤,并提供了前端连接示例。还分享了性能优化技巧,如零拷贝、背压保护等。最后给出了扩展方向的建议,如实现聊天室、强类型消息等。该项目已开源,开发者可快速部署体验Rust的高性能WebSocket服务。

vite-plugin-unused-images —— 为你的前端项目一键“减肥”!

这款Vite插件能自动检测项目中未引用的图片资源,一键清理冗余文件。支持零配置使用,提供彩色终端报表和JSON报告,可精准识别"僵尸图片"。实际案例显示某电商项目成功缩减21MB体积,首屏加载提速18%。安装简单,30秒即可接入现有构建流程,特别适合长期迭代的中大型前端项目。开源免费,支持CI集成,是优化项目体积的利器。

使用 Actix-web 和 SSE 实现 Rust 后端实时事件推送

本文介绍了如何在Rust的Actix-web框架中实现Server-Sent Events(SSE)实时事件推送功能。通过使用Tokio的广播通道构建全局事件广播器(SseNotifier),创建SSE流端点将广播流转换为SSE兼容格式,并设置5秒心跳保持连接。文章详细展示了核心实现代码,包括事件广播器创建、SSE端点配置、主程序集成以及在业务逻辑中触发事件的方法。该方案采用广播模式实现一对多消息分发,支持JSON格式结构化数据,适用于需要实时通知的应用场景,相比WebSockets更简单且具有自动重连优势

完美整合:使用七牛云作为Typora的自动图床(Windows版)

本文介绍如何在Windows系统中配置七牛云作为Typora的自动图床。主要内容包括:1)获取并放置七牛云上传工具;2)创建包含七牛云账户信息的config.json配置文件;3)在Typora中设置自定义上传命令。完成后,用户只需在Typora中粘贴图片,系统会自动上传至七牛云并替换为云端URL。文章还提供了Windows特有问题的解决方案,如路径错误、安全软件拦截等。该配置可显著提升Markdown写作效率,让用户专注于内容创作。

在浏览器端使用 xml2js 遇到的报错及解决方法

在浏览器端使用xml2js库时,由于它依赖Node.js内置的events模块,会导致报错。本文介绍了如何通过安装兼容的events模块(npm install events)并重启项目来解决这个问题。这种方法可以让开发者在浏览器环境中顺利使用xml2js处理XML数据。

Mapbox比例尺与logo自定义指南

本文介绍了在Mapbox Android中调整比例尺和logo的方法。通过ScaleBar组件可自定义比例尺的文本大小(如10.sp)、宽度比例(0.05f)和位置(BottomStart)。隐藏logo只需在参数中传入空Box组件。示例代码展示了如何初始化MapboxMap并应用这些调整,包括设置初始视角(缩放12.3,杭州坐标)以及隐藏归属信息。这些方法能满足不同场景下的地图UI定制需求。

Android全屏布局规避技巧

本文介绍了如何在Android开发中规避全屏布局特性。通过配置theme.xml文件中的windowOptOutEdgeToEdgeEnforcement属性,开发者可以禁用Android 12引入的边缘到边缘显示功能。文章解释了全屏布局的定义、可能需规避的原因(兼容性、设计需求、用户体验),并提供了具体配置步骤和示例代码。这种方法在targetSDKVersion达到35时仍然有效,为开发者提供了更多界面设计灵活性,使其可以根据应用需求选择最适合的布局方式。

Qt下载比较慢

Qt安装器4.0.1-1及以上版本支持通过--mirror参数指定镜像源加速安装,如中科大(https://mirrors.ustc.edu.cn/qtproject)或清华源。使用方法为在命令行运行安装器时添加该参数。建议使用最新版安装器以获得该功能。此方法能有效提升国内用户的下载速度,但需确保安装器文件完整。常见问题可参考官方文档解决。

Actix-web 中的权限中间件实现

本文介绍了如何在Actix-web框架中实现权限中间件。主要内容包括:定义中间件结构体Auth和AuthMiddleware;实现Transform和Service trait来处理请求;编写提取令牌的辅助函数;以及将中间件集成到Actix-web应用中。该中间件通过检查请求路径和验证令牌来实现权限控制,保护特定路由仅允许授权用户访问。通过.wrap(Auth)方法,开发者可以方便地将该权限中间件添加到应用中,实现灵活的权限管理机制。

在 Actix-web 中使用 Server-Sent Events (SSE) 实现实时通知

本文介绍了如何在Actix-web框架中实现Server-Sent Events(SSE)实时通信。服务器端通过SseNotifier结构体管理广播通道,创建SSE流处理器将消息转换为SSE格式事件流。更新用户信息时,服务器会向所有连接的客户端推送JSON格式通知。客户端使用EventSource API接收并显示实时消息。这种方案适用于需要服务器向客户端单向推送数据的场景,如实时通知、状态更新等,具有实现简单、兼容性好等优点。

在一台服务器上通过 Nginx 配置实现不同子域名访问静态文件和后端服务

为了实现通过不同子域名访问静态文件和后端服务,首先需要在域名注册商或 DNS 服务商处为子域名 blog.xxx.com 和 api.xxx.com 配置 A 记录,指向服务器 IP 地址。接着,在 Nginx 中进行配置:对于 blog.xxx.com,创建一个配置文件,监听 80 端口,并指定静态文件的存放路径;对于 api.xxx.com,同样创建配置文件,监听 80 端口,并通过 proxy_pass 将请求转发到本地后端服务端口,同时设置相关请求头。通过以上步骤,可以在同一服务器上通过不同子域名分

基于 Node.js 的 CSDN 文章列表获取代码解析

这段代码的主要功能是向 CSDN 的指定 API 发起 GET 请求,获取文章列表相关信息,包括文章的 ID、发布时间和标题等。在请求过程中,涉及到请求头部的处理、HMAC 签名的生成以及对 API 响应数据的解析和提取。

使用cesium设置第一视角

在 Cesium 中,借助结合合理的视角偏移设置,可以方便地实现第一视角跟随模型移动的效果。这一功能在众多地理空间可视化、模拟仿真等应用场景中都有着重要的价值,通过进一步的优化和扩展,还能够满足更加多样化和复杂的交互需求,为用户提供简单而强大的第一视角观察体验。随着对 Cesium 功能的深入挖掘和应用场景的不断拓展,相信会解锁更多基于第一视角的创新应用方式。

Node.js 应用部署:镜像体积优化与安全的多阶段构建探索

在开发 Node.js 应用时,部署过程中的镜像体积优化和安全性保障是至关重要的环节。本文将通过两种不同的 Docker 部署方式,深入探讨如何实现高效的镜像体积优化和安全的部署环境。

使用Nestjs, Bun 和 NCC 打造高效的 Node.js 应用构建流程

在现代 Node.js 应用开发中,构建和打包流程的效率对项目的迭代速度和部署效果有着重要影响。本文将介绍如何结合 Nestjs ,Bun 和 NCC 工具,构建出高效且优化的 Node.js 应用。

Rust项目GPG签名配置指南

【代码】Rust项目GPG签名配置指南。

Rust实现高性能目录扫描工具ll的技术解析

项目通过Rust的安全并发特性,实现了比传统ls工具快300%的目录扫描速度,适合处理大规模文件系统场景。

`ConstantProperty` 的使用与应用

是 Cesium 中用于表示实体属性的类。它表示一个实体的属性(如方向、颜色等)是固定的,不会随时间变化。与动态属性(如 )不同, 适用于那些属性不会变化的实体。 通常用于以下场景:以下是一个使用 设置实体方向的示例: 4. 与动态属性的对比 和动态属性(如 )的主要区别在于:

`ConstantPositionProperty` 的使用与应用

是 Cesium 中用于表示实体位置的属性类。它表示一个实体在三维空间中的位置是固定的,不会随时间变化。与动态位置属性(如 )不同, 适用于那些位置不会变化的实体。 通常用于以下场景:以下是一个使用 设置实体位置的示例: 4. 与动态位置属性的对比 和动态位置属性(如 )的主要区别在于:通过使用 ,可以高效地表示固定位置的实体,避免不必要的性能开销。

如何使用 Bash 脚本自动化清理 Nacos 日志文件

通过上述 Bash 脚本,我们可以实现 Nacos 日志文件的自动化清理,确保系统磁盘空间的合理使用,同时保留必要的日志文件以备后续分析。该脚本简单易用,可以根据实际需求进行调整和扩展。对于需要管理大量日志文件的系统,这种自动化清理方法可以显著提高运维效率,降低系统维护的复杂性。

Vue 3 自定义指令:实现自动滚动效果

指令的主要功能是监听页面大小的变化,并根据内容的宽度和容器的宽度自动为文本内容添加或移除滚动动画的 CSS 类。当内容宽度超出容器宽度时,它会为内容添加一个滚动动画类,使得文本能够在容器中自动滚动展示;而当内容宽度小于或等于容器宽度时,它则会移除滚动动画类,避免不必要的动画效果。通过本文的深入解析,我们了解了 Vue 3 自定义指令的实现原理、使用方法以及它的优势和应用场景。这个指令为我们提供了一种简单而有效的解决方案,用于在有限的空间内展示较长的文本内容,并且能够自动适应不同的屏幕尺寸。

利用 @eslint/eslintrc 实现 ESLint9的适配

通过以上对实际 ESLint 配置代码的解析,我们深入理解了如何利用 @eslint/eslintrc 插件来实现高效、灵活且可维护的代码规范管理。在现代前端开发中,随着项目复杂度的不断提高和团队协作的日益紧密,合理地运用这样的配置方式对于保证代码质量和团队效率具有重要意义。未来,随着 ESLint 生态系统的不断发展和完善,@eslint/eslintrc 插件也将持续进化,为开发者提供更加强大和便捷的配置管理功能,助力前端代码质量的提升。

vue-tsc 使用问题及解决方法

在使用vue-tsc进行项目编译时,如果不小心使用了-b参数,可能会产生一些不好的影响。比如,可能会生成一些额外的、不需要的文件,如.d.ts文件、.js.map文件等,这些文件可能会干扰项目的正常运行或增加项目的复杂性。

cesium中的CallbackProperty

是一个属性(Property),其值由一个回调函数延迟计算。这意味着,每当属性被访问时,都会调用一个函数来计算其值。这种机制使得我们可以实时地改变实体的状态,而不需要频繁地重新设置整个属性。

在Cesium中,将点击的位置转换为经纬度

这样,当用户在Cesium场景中点击时,控制台就会输出点击位置的经纬度和高度信息。方法来获取点击位置的笛卡尔坐标(Cartesian3)。方法将笛卡尔坐标转换为地理坐标(Cartographic)。对象,如果点击的位置在地球表面之外,则返回。方法将地理坐标的经度和纬度转换为度数。:当用户点击场景时,使用。

在香橙派上面使用usb转ttl,用c++去实现舵机

usb转ttl分别有五个针脚。最好还是使用io口进行控制。

在香橙派上面使用usb转ttl,用c++去实现蜂鸣器

usb转ttl分别有五个针脚。

在cesium中使用CustomDataSource

是 Cesium 中一个强大的工具,它允许用户方便地管理自定义的数据源,如线条、点和广告牌等。通过使用,您可以轻松地添加、修改和删除这些可视化元素。

tauri托盘的扩展

tauri托盘的扩展

C++代码编译为 WebAssembly

3.1. 对 c++代码进行改造`在默认的情况下,编译之后只有 main 函数会保存,其他函数不会保存,如果需要保存其他函数,需要在 c++代码中添加以下代码。4.2. 在 js 中有两种方式可以调用 wasm 代码: 方法一只能使用 number 类型。4.编译完成后,会在当前目录生成 main.html 文件,用浏览器打开即可运行。这样编译之后,function1 会保存下来,function2 不会保存下来。4.1. 如果需要在 js 调用的时候传入参数,可以在 js 代码中使用。

js使用rust

js使用rust。

rustdesk 自建服务

配置RustDesk客户端,连接到RustDesk服务器,输入服务器地址和端口号,点击连接即可。

pnpm 安装遇到错误

使用 pnpm 时遇到的 ERR_PNPM_ENOENT 错误及解决方案

Tauri 2.0.0-rc 使用webviewWindow 窗口

本文将介绍如何使用 tauri 实现 webviewWindow 窗口。

Tauri 2.0.0-rc 安装全局快捷方式插件

Tauri 2.0.0-rc 引入了全局快捷方式插件允许你在你的应用中注册全局快捷方式,并在用户按下这些快捷方式时触发 JavaScript 回调。首先,你需要在你的 Rust 项目中安装全局快捷方式插件。Cargo.tomllib.rs推荐使用这个这样刷新页面的时候,就不用重新注册快捷键了。

Tauri 2.0.0-rc 使用open命令打开文件

Tauri 2.0.0-rc 引入了插件系统,允许开发者使用 JavaScript 编写插件,并在 Rust 代码中注册。本文将介绍如何使用open命令打开浏览器或文件。

Tauri 定位器插件使用指南

Tauri 的定位器插件允许你将应用窗口定位到屏幕的特定位置或相对于托盘图标的位置。以下是如何在 Tauri 应用程序中使用定位器插件的步骤。

Tauri 2.0.0-rc 自动启动设置指南

Tauri 应用程序可以通过使用自动启动插件来实现在系统启动时自动运行。以下是如何设置 Tauri 应用程序自动启动的步骤。

tauri版本2的系统托盘

通过上述两种方式,你可以在 Tauri 2.0.0-rc 应用程序中实现系统托盘功能。第一种方式适用于简单的托盘图标显示,而第二种方式提供了更多的自定义和交互可能性。根据你的应用需求选择合适的实现方参考资料。

tarui嵌入终端

通过这种优化,我们可以在 Tauri 2.0.0-rc 应用程序中执行命令行命令而不显示终端窗口。这使得用户体验更加流畅,避免了不必要的界面干扰。确保在打包应用程序后,测试命令执行是否正常,以验证优化是否成功。如果你有任何问题或需要进一步的帮助,请随时联系。

上传docker镜像到腾讯云

【代码】上传docker镜像到腾讯云。

在cesium实体上面使用自定义属性

【代码】在cesium实体上面使用自定义属性。

cesium 使用PinBuilder 自定义广告牌内容

如果没有形状要求,可以使用cesium官方的广告牌,只需要修改内容跟颜色就可以了。cesium提供的广告牌。

使用esp8266实现太空人天气时钟

使用esp8266wifi开发板。

nest使用docker优化方法

【代码】nest使用docker优化方法。

快速使 Git commit 变成规范化

【代码】快速使 Git commit 变成规范化。

自动切换node版本

在写一下demo的时候,遇到了经常要切换node版本的问题。

View Design中的select默认值设置

【代码】View Design中的select默认值设置。

yarn报错

在vscode上面使用yarn命令,

nuxt2发布出现的问题

上传到服务器就是这样,static这个文件必须放在src下面。第三步:在上传文件到服器的时候,需要上传以下几个文件。第二步:这个时候进行打包发布,会找不到。

Linux常用命令

基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode) ,输入模式(Insert mode)和底线命令模式(Last line mode)一进去就是按下,变成。输入模式下,左下角有 标志:输入结束之后,按下ESC回到如果要保存退出,先按下,进入输入 表示保存退出 输入 表示强制保存并退出Linux中打包文件:a.tarLinux中压缩文件:a.gzLinux中打包并压缩的文件:.tar.gz

docker + jenkins + vue

在宝塔中找到 /var/jenkins_home/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/node16/下面还有一层。使用vite去创建项目,然后在github上面新建一个仓库,上传到仓库里面。打开2000的端口,这个时候会使用jenkins密码。本地对代码进行修改,提交代码到github成功触发。方案一:通过宝塔控制面板去安装jenkins。端口,一定要把端口放开。测试node是否生效。