Reddit: https://libreddit.spike.codes/r/rust/comments/w3q1oq/things_i_wish_i_had_known_about_serde_json/
在 Rust 生态,使用 yew 开发 WebAssembly 应用方面,我们已经介绍了《起步及 crate 选择》、《组件和路由》,以及《资源文件及重构》。今天,我们介绍如何在 yew 开发的 wasm 前端应用中,与后端进行数据交互。我们的后端提供了 GraphQL 服务,让我们获取 GraphQL 数据并解析吧!
大家好,我是「柒八九」。一个「专注于前端开发技术/Rust及AI应用知识分享」的Coder。
为了获得最佳性能,请尝试使用 Rust 或 Go。在这种使用情况下,它们的速度基本相当,它们都比 Java 快 4 倍,比 Python 快 6 倍。
最近有一个老旧的nodejs项目需要移植到rust,其中一部分严重依赖nodejs的json-rules-engine库,于是昨天抽时间移植了该项目的部分功能到rust,尚不支持优先级和缓存。
上一篇文章《crate 选择及环境搭建》中,我们对 HTTP 服务器端框架、模板引擎库、GraphQL 客户端等 crate 进行了选型,以及对开发环境进行了搭建和测试。另外,还完成了最基本的 handlebars 模板开发,这是 Rust web 开发的骨架工作。本篇文章中,我们请求 GraphQL 服务器后端提供的 API,获取 GraphQL 数据并进行解析,然后将其通过 handlebars 模板展示
nvtx是 NVIDIA®Tools Extension SDK (NVTX)的 Rust banding, 使用该库,可以方便我们集成到 NVIDIA提供工具中(例如 NVIDIA®Tools),方便我们进行性能剖析.
之前我们借助讲解failure库,详细说明的Rust错误处理的哲学,这有助于我们理解今天的主题,anyhow和thiserror
warp is a super-easy, composable, web server framework for warp speeds.
ReadMore:https://github.com/cloudwego/sonic-rs
在某种高级语言中,如果嵌入了SQL语句,而这个SQL语句的主体结构已经明确,例如在Java的一段代码中有一个待执行的SQL“select * from t1 where c1>5”,在Java编译阶段,就可以将这段SQL交给数据库管理系统去分析,数据库软件可以对这段SQL进行语法解析,生成数据库方面的可执行代码,这样的SQL称为静态SQL,即在编译阶段就可以确定数据库要做什么事情。而如果嵌入的SQL没有明确给出,如在Java中定义了一个字符串类型的变量sql:String sql;,然后采用preparedStatement对象的execute方法去执行这个sql,该sql的值可能等于从文本框中读取的一个SQL或者从键盘输入的SQL,但具体是什么,在编译时无法确定,只有等到程序运行起来,在执行的过程中才能确定,这种SQL叫做动态SQL
因为是复刻Java系的Mybatis,因此框架暂命名 Rbatis。小部分功能还在进行中。github链接https://github.com/rbatis/rbatis
在系列文章第四部分《获取 GraphQL 数据并解析 》中,我们已经与 GraphQL 服务后端进行了数据交互,获取 GraphQL 数据并解析。其中,我们直接使用的是 web-sys 库,需要获取当前的 window 对象,通过 window 对象的 Fetch API,对请求进行分发。
于是我有了三天时间赶我的极客时间「Rust 第一课」专栏的稿子。我想着三天怎么也能交出两篇稿子,结果就周五忙活一天,熬出一篇。
目前,web 前端开发方面,通常有两种技术组合:一种是使用模板引擎,主要在服务器端渲染,这种方式对 seo 有较高要求的应用有利;同时,在后续优化方面,也较有优势。另一种则是前端框架,如 yew、react、vue、seed 一类,采用声明式设计;在保证性能下限的前提下,高效且灵活地进行快速开发。
这个周末小宝终于没球赛了,我也不用开车来回奔波两小时,再在寒风中瑟瑟发抖两小时(赛前训练+比赛)看球。本来打算做个应用尝试结合语音和 chat completion 中的 tools 做个智能客服,结果rust下一个好用的openai sdk都没有,于是干脆心一横,周六边写边录了7个视频(前后大概 6-7 小时),也算是为了一碟醋,包了顿饺子。后来有朋友提醒可以用 async-openai(有 700 多 star),不过木已成舟,也就算了。编辑视频的时候看了看 async-openai 的代码,实现思路跟我类似,但很多处理的选择不那么好,比如 reqwest::Client 其实 Clone 起来非常轻量,但它大量使用带生命周期的 Client,增加没必要的复杂性。此外没有充分利用 reqwest 生态,不管是 retry 还是 multipart 的处理,都写了很多不必要的代码。
Rust不支持函数/结构体的特化,它支持的是针对 impl 块的特化。我们可以为一组类型,impl 一个 trait,同时为其中的一部分更特殊的类型,impl 同一个 trait。
嗨,大家好!我一直在为rust的taskwarrior开发终端用户界面,我想在这里分享。您可以在发布页面上找到源代码和预编译的二进制文件。
上一篇的hello world里,示例过于简单,仅仅只是返回了一个字符串,实际上axum的response能返回各种格式,包括:
这是用于提供写时克隆(Clone-on-Write)的一个智能指针,和虚拟内存管理的写时复制很像。
在当今信息爆炸的时代,互联网上的图片资源丰富多彩,而利用爬虫技术获取这些图片已成为许多开发者的关注焦点。本文将介绍如何利用Rust语言进行高级爬虫编程,从而掌握抓取精美图片的关键技术要点。
直接使用第三方库serde,serde_json,serder_yaml,serde-tuple-vec-map 进行反序列化 对xray的yml文件进行解析,在构造结构体的时候,我们发现,有一些看上去应该是HashMap类型的变量,执行起来却必须是有序的,如
偶然看到一个Json server 的 Rust 库 weld. 感觉挺好玩的, 但是代码比较老了, 试着用 actix-web 2.0 和 serde_json 重新实现了一个, 代码更简单了.
Josh Triplett (Linux主要開發者之一)在一次的演講提到了Rust的可能性,
Rust 中,有一个神奇的函数 parse。它定义在 std:str 下面。因为字符串中可以存放各种信息(如果加上序列化的话),对字符串的解析就显得特别重要,而且很通用。于是 Rust 就赋予了这个函数强大(几乎无限)的功能。
📷 参考: https://github.com/x931890193/rust_blog # Cargo.toml [package] name = "rust_blog" version = "0.1.0" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] actix-protobuf =
备受期待的 Deno 项目 终于发布了 1.0 版本!Deno 是由 Node.js 的创始人 Ryan Dahl 创建的,旨在解决他所说的“我为 Node.js 感到遗憾的十件事”。
接上一篇继续,今天学习如何从Request请求中提取想要的内容,用axum里的概念叫Extract。
Disjoint matches: overlapping occurrences are not counted.
any 模块只有一个方法,就是 any 方法,它可以匹配任何路由的过滤器。我们可以使用 any 方法将一些可克隆的资源转换成一个过滤器,从而允许轻松地将它与其他 Filter 结合在一起。当然也可以使用 any 方法创建适用于多个 Filter 的末尾调用的 Reply。例如:
Rust是一门现代的、安全的系统级编程语言,它提供了丰富的元编程特性,其中派生宏(Derive Macros)是其中之一。派生宏允许开发者自定义类型上的trait实现,从而在编译期间自动实现trait。在本篇博客中,我们将深入探讨Rust中的派生宏,包括派生宏的定义、使用方法以及一些实际应用案例,以帮助读者充分了解派生宏的魅力。
像Golang 借助微服务和云原生的春风,构建了强大的生态系统。Python在数据分析和机器学习,构建了简洁实用的生态系统。
前段时间在用 rust 实现 vscode 的 lsp 服务, 虽然 ra 已经开发出了相关库, 但用着不是很舒服, 所以我自己弄了一个 LSP 相关的组件.
GitHub 地址:https://github.com/trek-rs/sessions
Axum 是 tokio 官方出品的一个非常优秀的 web 开发框架,一经推出,就博得了我的好感,让我迅速成为它的粉丝。相比之前我使用过的 Rust web 框架,如 rocket,actix-web,axum 对我最大的吸引力就是它优雅的架构:它没有选择从零开始另起炉灶,而是以同样非常优秀的 tower 库的 Service trait 为基石,构建其功能。
上一篇文章《做个简单的 reverse proxy》中我提到了最近做的一个小工具 wormhole。基本的功能已经跑通,后续的增强功能可以按照之前的设计慢慢迭代:
如果你没有听(用)过 Json Schema,请允许我首先简单介绍一下。JSON Schema 是用于验证 JSON 数据结构的工具,如果你厌恶对 Json 数据各种 if else 的判断和校验,那该工具非常适合。它的官网:JSON Schema | The home of JSON Schema,先看一个简单的例子,假设我们有下面的 Schema:
当前我在使用的版本用的是 Calcit-js 代替 ClojureScript 在跑, 原理其实是一样的, 只是自己定制了 API 和工具链. 注意的是, ClojureScript 跟 JSX 相似, 都是动态类型语言, 编译到 JavaScript 运行, 通过 Webpack/Vite 工具链提供热替换功能.
一个 TOML 文件解析库,灵活的配置管理是大多数程序都需要的功能,使用配置文件可以让程序更加灵活,更方便适应不同的使用情况、运行环境等等。这次的toml解析器就可以协助程序的配置管理。
公有云中的 Serverless TensorFlow 函数 对于软件开发者和学生来说,人工智能是有偿的。2021年,最流行的 AI 框架 Tensorflow 开发者的平均年薪为148508 美元,换算成人民币将近百万。现在,即使是入门级编程工作,开发者也必须具备人工智能技能。实际上,遵循在线教程并为图像识别和自然语言处理等任务训练自己的 Tensorflow 模型非常容易。只需要一些基本的 Python 知识即可进行培训,然后运行该模型进行演示。 仅仅知道如何使用简单的 Python 来训练模型并不
原文见:https://deterministic.space/elegant-apis-in-rust.html
腾讯云云函数 (SCF) 已经支持十多种编程语言和运行时框架。腾讯云最近发布的 SCF custom runtime(自定义运行时)更进一步 —— SCF 现在可以支持用任何编程语言编写的函数。 本文将介绍如何在云函数 SCF 中运行用 Rust 编写的 WebAssembly 函数。 我们先介绍一些基本概念,然后回顾一个完整但简单的 hello world 示例,部署您的第一个 WebAssembly 无服务器函数。最后,我们将用一个机器学习即服务 (MLaaS) 示例来做一些有用的事情。该示例接受数据
我的思想被神经元序列化成一句句要表达的语言,进而推动我的双手将其序列化成在蓝牙键盘上有节奏的敲击出的字符流。
https://my.oschina.net/u/3374539/blog/5033469
DIFF(Differential Information Flow for Finance)是一个基于websocket和json的应用层协议。websocket是全双工通信,当客户端和服务器端建立连接后,就可以相互发数据,建立连接又称为“握手”,“握手”成功就可以建立通信了,不用在每次需要传输信息时重新建立连接,即不会“掉线”。json是数据存储格式,json数据可以方便的反序列化为Python数据。
最近看到《用 Serverless 架构部署 TensorFlow 模型推理函数》的活动,对 Serverless 非常感兴趣,本着学习的心态初步探索两个 Serverless 框架,一个是开源的 OpenFaaS,一个是腾讯云,通过实际使用和对比初步入门 Serverless。 OpenFaaS 按文档说明在 Ubuntu 20.04 上部署这个框架。 然后创建 Python 函数: def handle(req): print("Hello! You said: " + req) 修改配置,这
领取专属 10元无门槛券
手把手带您无忧上云