FPS: 0

朝阳的码农札记

代码如诗,

架构如画,

用心编写每一行代码,

用爱构建每一个系统

测试文章标题

这是测试文章的摘要

RustWeb开发

tauri打包报错

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

rust

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属性,可以控制行的选择状态。同时指出,在取消选择时需要先清除原有数据再进行重新渲染,以确保选择状态的正确更新。文中配有代码示例截图,直观展示了实现方式。

前端elementui

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

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

前端rust开发语言后端

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

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

服务器rust后端

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

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

服务器rust后端

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

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

rust后端

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

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

rust后端

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

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

linux服务器前端

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

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

大数据rust开发语言

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

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

前端rustwebsocket
Profile

朝阳

朝阳的码农札记

标签

rust (22)javascript (18)前端 (18)开发语言 (8)服务器 (7)后端 (7)vue.js (5)node.js (4)运维 (4)docker (3)linux (3)c++ (3)大数据 (2)中间件 (2)eureka (1)个人开发 (1)wasm (1)java (1)bash (1)自动化 (1)chrome (1)安全 (1)vim (1)编辑器 (1)nginx (1)android (1)数据库 (1)mapbox (1)安卓 (1)windows (1)typora (1)image (1)websocket (1)elementui (1)jenkins (1)vite (1)Rust (1)Web开发 (1)view design (1)学习方法 (1)git (1)elasticsearch (1)容器 (1)嵌入式硬件 (1)单片机 (1)物联网 (1)arcgis (1)html (1)腾讯云 (1)更新-81f99c80-1a5b-470c-9f85-f06d4710d195 (0)草稿-c9812784-ae22-40b5-88fe-076f898c7676 (0)置顶-cca14f35-6725-4062-bf20-67506e3e8059 (0)Rust-a918c5e7-3713-4ef8-bbe4-d342a1ef7f37 (0)Rust-e57f99a9-f57d-4cfc-a240-3a89503f33c3 (0)隐藏-1a851d7e-47bb-4bb8-a1a8-b44c67eb7448 (0)Web开发-abb86749-28f4-490a-89c2-9a3c6b6dbb22 (0)Web开发-71a029c9-aa3a-4d75-8f81-419dbdb8bd62 (0)更新-f068bb44-0688-42bc-8f16-5cb8cd8b9190 (0)隐藏-9d8f7cda-d241-46ed-9ca9-789db618ab0c (0)置顶-3a8ba2f1-2d3a-4ac3-9212-adfc4fad994b (0)Rust-56c839c5-e9f7-4883-b003-186ec2eabda8 (0)Rust-d24ca0eb-9f0d-4842-8c56-d01a6258b5d6 (0)草稿-ed62add3-17f3-470d-846f-ab56ad6ac78c (0)Web开发-d642fe63-444a-4a7c-9380-44f7c2407642 (0)Web开发-e2b2c874-1315-4ea3-ab27-e26a1b57095e (0)更新-21e09ef5-3949-4010-8bf3-6d4ef51bfac2 (0)草稿-9379bae5-e937-47b8-b201-c1b79397d743 (0)隐藏-c80ac519-6b64-4209-8f4d-5bcd16e9cfcc (0)置顶-83f9e435-6e5f-4dee-9eea-4eea79a1f822 (0)Rust-52e81d72-7583-4410-837b-30f8cda9d1e5 (0)Rust-fdb4f82a-7b52-4953-b283-a0d5cd94900d (0)Web开发-fbbaa999-fa10-4687-be13-48c7a9194522 (0)Web开发-443399ce-1166-475c-9a0d-c5528d54a5b0 (0)更新-e8d1e3ed-d786-4680-a24a-f556e3c34d9a (0)隐藏-146b7588-294c-475f-9159-bab2903141b0 (0)Rust-784535d3-32d6-495c-a0ed-189d59ddbfac (0)草稿-3b59a9c5-541d-48f4-848f-14afa78a9e2c (0)置顶-32c6d5ad-0051-46d5-b7c6-d8ee6cf112dd (0)Rust-aaf0429e-ac68-4707-8587-f3260e36d573 (0)Web开发-03ba90fc-65fb-429b-b437-7d01a5aae341 (0)Web开发-58fdd0fb-5721-4a7b-9923-7b887ea19dee (0)更新-d68a01d1-5683-4a24-83d9-a8845d09f4f2 (0)Rust-8d0e4886-cff5-4aee-8185-c32fa1bd90cb (0)Rust-eaa7e125-3c58-4662-8d66-faa918f97b02 (0)隐藏-4930b07f-ef15-4e2c-b4f7-8d34e7c8c9c4 (0)Web开发-0d65f6ed-9438-4382-862e-c890ea6e7e9a (0)草稿-a8bcf450-7714-4a3c-b0ee-5264a6ed58bf (0)置顶-cfc4bc4e-8385-49e7-beb5-4e8b834cafa6 (0)Web开发-38fe1cdd-0bb7-4e33-8530-86172cf38ebe (0)更新-05c32661-81bd-47e1-9001-db90edad9d92 (0)置顶-2971eb65-e251-4622-819f-53f0a95c8f0f (0)Rust-ae9b9730-2c33-4f12-8842-c26c0a6d18ee (0)草稿-68b8ad66-945a-4999-b064-0d24c90d15e5 (0)Rust-20659237-19d5-4d8d-8c1a-40a69190eaa9 (0)隐藏-e16efba2-7a7a-4c5c-8a24-925733855bf4 (0)Web开发-333271e5-2f24-4304-bdbf-b066574609c3 (0)Web开发-e7a477f6-08b9-4648-88f6-41df898c3f43 (0)更新-e6f062ca-383b-49e4-b00e-df3ccc8987fb (0)隐藏-2c67975a-6454-4898-a1d2-5688838b9c6c (0)Rust-fb82323a-d139-4eea-9073-76f2fbede3c6 (0)Web开发-67985ec8-bbc4-4a15-ba88-a9ecc6bd3e92 (0)Rust-337857af-c257-44e3-bc4b-d25cdcfb9391 (0)Web开发-264f0372-90fe-460b-9309-8539abfb8152 (0)草稿-52e7622a-90ff-49ef-b89f-06c960cf0efd (0)置顶-d40bbde1-ef1e-40ee-8d87-f700cab8b2cf (0)更新-a35cb484-d40e-4d87-96f1-9464743a2a7d (0)草稿-2e9dfe41-c630-40b8-a47e-506771d9a8e5 (0)Rust-90abc930-f405-4e95-b7cf-8dfb3049eb0d (0)Web开发-87843a8d-80b3-4752-b12d-becc90e9b8cd (0)置顶-bf5eb4db-d170-40b9-bdd6-e753beba44b9 (0)Rust-0bf09f63-2d39-40c2-b048-2ebd74df56ed (0)Web开发-ce22ad17-8665-466d-9402-d61046456add (0)隐藏-c58a404b-bc20-41a7-ab9e-100360de83a8 (0)更新-a460eff4-20d1-4204-8d2d-64c390e6d6d5 (0)置顶-93b5bed6-8d51-420b-ab35-d47e9afe1d44 (0)Rust-5026d13a-fc9b-4921-9f09-5eb73a976e0d (0)Web开发-2a5533cd-eb52-4778-b5a2-c629d9f71fd3 (0)Rust-53744667-fd68-4fe6-9a82-d646355c9a17 (0)Web开发-337c4bc9-72ac-407c-829a-4e99a8565a12 (0)草稿-9790af33-698c-4ec6-bb3e-f18ac72ed045 (0)隐藏-64035e41-9292-40e2-889e-44c9e7714f79 (0)更新-5b54b920-9c5f-40b3-ac79-9c6137c499fc (0)Rust-3a862570-c0dc-484c-bc2f-4e2d97c6b86b (0)Web开发-edba6dc3-8bf8-4b91-bdcc-37e101fb748b (0)置顶-6abbb3ab-acaa-4fc6-9e36-02548361bbbd (0)隐藏-868dc056-9c8c-4dc1-a78a-e63409a7169c (0)Rust-a5188507-32e6-4718-b88a-5b539db9acd9 (0)Web开发-41816170-fb84-424f-936e-427fa92d95b9 (0)草稿-8dcb87da-e86d-4863-8c49-d919e762451a (0)更新-46535a76-d013-4fff-b697-10366379b946 (0)Rust-48c60828-e2fb-4474-bc72-0d1ea8f13594 (0)草稿-852b6fd0-d581-487e-9139-594ab71c139b (0)Web开发-e7975ff3-3150-4166-87bf-e62816ea6554 (0)置顶-3e801fd5-bb03-4da5-b510-ca993651f675 (0)Rust-fda5c1b2-c0e0-4921-89e3-f2f619f5ce34 (0)Web开发-967f1097-4d7e-4626-8a94-2db822cfb0ce (0)隐藏-af907810-8810-4cc6-93bf-8d94eafc7639 (0)更新-9e9d2f2c-aba3-4b82-993c-609f32b916a4 (0)置顶-0ec2f0cc-c332-4824-8550-86aafa8005b0 (0)Rust-0224d704-4069-4602-81d8-385cfe5bf361 (0)Web开发-919f2795-1194-4d5d-9691-a84e7a766918 (0)隐藏-07320b1e-adbf-4d94-9b25-fca24dfba6c2 (0)草稿-d4121a5f-424d-4981-8ebb-68a72eb11e8c (0)Rust-311bb300-cdbf-4e41-afea-05bfae5a7f61 (0)Web开发-b1b9673e-0c18-4f0c-a83d-f83e4481ef17 (0)更新-2e92f409-0e75-44ce-b5d2-fd36992eb41c (0)置顶 (0)隐藏 (0)草稿 (0)置顶-0ce6145c-9e36-4d85-a12e-c7d02d72f24a (0)隐藏-023907ab-4ca4-41c1-b26c-be20b73139f2 (0)草稿-e7b7efaf-d54c-44cb-8746-726307974586 (0)Rust-a9860591-ae29-46af-b10a-dee1f5f94c5e (0)Web开发-0a242d56-26c3-41d1-b14a-ca146049e04b (0)草稿-2a3029ca-ccce-4a87-a04e-cac886975550 (0)置顶-630e3e67-44e0-4a62-8b34-2294d668f8fe (0)隐藏-40b515ef-98cd-4977-9c0f-a581c7cc0e2c (0)Rust-d0bd7dfd-a58c-4a50-8188-9f975e0c567c (0)Web开发-938a7d3b-25d6-4f4c-9fe4-68fada000283 (0)隐藏-a8eda12e-fb84-4e15-8c81-8508b029ed5d (0)草稿-ea3e7901-db08-472f-96d4-b0e905ce035e (0)Rust-8da499e2-3503-44ec-a40f-b7032c1d6cb9 (0)Web开发-706e5931-625f-40e8-bf42-6bb3960cf3bf (0)置顶-a4019d8a-8c66-4118-8bb0-c03d8cffeb78 (0)草稿-5c17ce7d-a1d2-4038-83ed-ed0a7cffcd77 (0)隐藏-0c846f19-831d-46b0-b2f9-f272c64edda2 (0)Rust-921c2d9a-91cf-437a-bdc8-387b1b39ed68 (0)置顶-487a7792-83ea-4a85-9b67-956a61795b94 (0)Web开发-eafc0ff2-199e-44d7-8737-374465827390 (0)隐藏-bec828b3-e6f0-4088-b9f8-6e57322ec9a6 (0)Rust-642d2f61-aa72-4170-bce0-0e2a3a72bc85 (0)置顶-8e1123f1-5119-437f-98a7-bbb5ec4e004f (0)草稿-c16cd89c-8919-4656-b441-dc185b268405 (0)Web开发-ac546c10-24aa-472e-8a30-6e0b2ec86628 (0)草稿-636ad43c-3a0b-4c92-84d0-29ed11b6c7a5 (0)Rust-d7f4f5f1-d0db-456f-9dd6-edb683cd678e (0)Web开发-b9deff02-e066-492a-9e60-21d003a692f9 (0)置顶-e1ee48fa-a65c-4319-9ede-c4f3fbef35ee (0)隐藏-a6d12380-7347-4808-a1f4-701ef3a100f2 (0)隐藏-788dc9a5-9d2f-4cd8-b9e7-18d0ceeb506b (0)草稿-118da481-58db-4025-8d13-35ca4cd366cf (0)Rust-2e0890c2-0a4d-4d02-aab1-82ca6a4bd0af (0)置顶-75a29a3b-8784-46a3-861a-5d1899cdfb2e (0)Rust-9d054eac-a814-40fc-b72b-05965ca7c221 (0)Web开发-7e72c219-1877-4b8e-a0c2-5183d47433a7 (0)Web开发-247d84f3-ebe3-4ae5-954b-c88c7537896f (0)更新-d05c9760-0cd4-41cd-8e46-dd253b9e9f38 (0)置顶-03a799fa-3076-4c73-9e73-b44177fb9417 (0)Rust-174dd5f5-b4b3-4d51-98b5-44c243882436 (0)Rust-77780f48-ea0d-4154-880d-59fc4ecf767d (0)Web开发-c2c74708-d3a6-479e-b844-dadcd375cccc (0)Web开发-e05d12a1-1dc0-410f-97e2-5e63c4a3ad1e (0)草稿-ece37347-1d71-4b38-9eb4-abef97b9ba6a (0)隐藏-628e7bd0-3733-4b70-9644-528656c494f9 (0)

音乐播放