Sqlx 类型序列化问题 前两天在使用 sqlx 中的 types::chrono::NaiveDate 时遇到了一个小问题;我定义了一个结构对应了数据库中的某个结构(方便 query_as 的直接转换),并且我希望这个结构体可以直接被 serde 序列化为 JSON 格式进行输出: 1234567891011121314#[derive(FromRow, Serialize, Deserialize)]pub struc 2022-05-16 Rust PostgreSQL
Rust 中的日志管理 本篇内容我们来浅聊一下 Rust 中的日志功能。 在程序运行过程中,常需要使用日志来记录程序发生的事情,其中包括了时间、地点和具体内容等信息。 日志级别我们一般会为日志区分各种级别: Debug: 调试信息,这一类主要为开发者提供调试便利的,比如说详细打印加载的配置信息。 Info: 一般信息,用于记录程序运行期间的一些重要信息的,比如程序状态的变化。 Warn: 警告信息,用于需要特别注意 2022-05-03 Rust
Dioxus 0.2 版本发布 Dioxus 近期发布了 0.2 的新版本,贴一份原文地址:Dioxus 0.2 Release: TUI, Router, Fermi, and Tooling 新增特性 完成了原生的 Terminal 渲染器,类似于 Ink.JS 完成了新的 Router 路由器程序 完成了 Fermi 全局状态管理,类似于 Recoil.JS 桌面平台进行了重大更新,支持了一些 Window API 完成 2022-03-13 Rust Dioxus
DoreaDB WebSocket 通道支持 之前在 DoreaDB 设计笔录中就聊到过,目前完成的 Service 性能并不好,仅仅因为它方便。 我一直在寻找一个好的解决方案;所以近日我尝试了为 Service 添加一个 websocket 管道: 连接演示WebSocket 管道位于:ws://127.0.0.1:3451/_ws/ 路径,通过 WS 就可以直接与数据库进行交互了: 1234567891011121314151617181 2022-03-10 Rust Dorea WebSocket
Dioxus Hooks 设计研究 本篇我们将分析 Dioxus 中的 Hooks 设计,Hooks 借鉴自 React,它也是整个 Dioxus 中最重要的部分之一 附一篇 React 的 Hooks 介绍文档:Hook 规则 – React,Dioxus 的 Hooks 基本上都是参照 React 开发的。 Hooks 介绍在 Dioxus 中,目前提供了多种 Hook 函数: use_state - 储存状态数据,并自动 2022-03-06 Rust Dioxus Hooks
Dioxus 桌面应用 杂谈 在本篇中我们来简单聊聊 Dioxus 对于桌面平台的开发设计。 桌面应用原理Dioxus-Desktop 主要使用 wry 生成窗口,WRY 是一款跨平台的 Webview 渲染库,它支持所有主流平台(Windows Linux MacOS)。其本质上就是在一个原生的窗口中嵌入 Webview 渲染器,从而使得我们可以将一些 HTML 内容嵌入到桌面程序之中,而 Dioxus 则是运用了这一点 2022-03-06 Rust Dioxus Desktop
Dioxus 项目介绍 很久没写博客了,最近在参加一个比较有意思的项目开发:Dioxus Dioxus 是一款类似于 React 的 UI 用户界面构建工具(生态系统)。 使用 Dioxus 可以快速构建高性能、跨平台的应用程序。 开发方式Dioxus 的风格几乎等于 React ,所以如果你会使用 React 框架,那么 Dioxus 对你来说将会非常简单。它在设计模式是都参考(抄)了 React 框架。同时官方文档也 2022-01-16 Rust Dioxus
DoreaDB 设计文档 近期在 Dorea 的开发过程中拥有一些独立的思考和设计方案,记录在此。(持续更新) 索引淘汰机制DoreaDB 需要一套较为健全的淘汰机制以达到顺畅的使用效果。 我对于 Bitcask 的部分设计进行了更改,它不会一次将索引加载到内存中,而是分库加载: 系统启动:通过配置中的预加载列表来获取库(适用于数据量较大的库) 实时加载:在运行过程中被加载时,则会立刻进行索引加载。 预先加载:通过 2021-12-23 Rust Dorea
DoreaDB 预览版发布 在昨天晚上,我发布了 DoreaDB 数据库的最新预览版本:v0.3.0-alpha 这个版本与前面两个版本 v0.2.1 和 v0.1.0 最大的区别就是:它是一个完全重写的系统! 在 v0.2.1 发布后,我发现了一些代码问题以及设计思路问题,这些东西已经不单单是能通过修改代码的方式能弥补的了,所以说我决定重写这个项目!这次重写的周期大概在两三个月时间,项目的类型系统、TCP通讯、存储模型都使 2021-09-27 Rust Dorea