小编rtv*_*iii的帖子

如何根据请求将 PostgreSQL 数字类型解析为 Rust 原生类型?

相关代码是这样的:

use chrono::{DateTime, Utc}; // 0.4.10
use postgres::{Client, NoTls, Config, types::{FromSql, Type}};
//...
for row in client.query("SELECT * FROM pricetable;", &[])? {
    let time:DateTime<Utc> = row.get(0);
    let price:i64      = row.get(1);

    println!("found datum:  {:?}", &row);
    println!("found datum: {} {} ", time, price);
}
Run Code Online (Sandbox Code Playgroud)

当我运行这个时,我得到的错误是这样的:

thread 'main' panicked at 'error retrieving column 1: error

deserializing column 1: cannot convert between the Rust type `i64` 

and the Postgres type `numeric`', /home/me/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-postgres-0.7.6/src/row.rs:151:25
Run Code Online (Sandbox Code Playgroud)

其中priceNUMERICSQL 类型的类型。我似乎无法将其解析为任何标准的 Rust 类型u64,例如i64等,因为它们似乎没有实现板条箱导出 …

postgresql types traits rust

6
推荐指数
1
解决办法
2973
查看次数

将 useRef 钩子传递给 ref 属性的正确方法

我不知道如何制定的问题隐约少,但它是关于通过噪声值传递按引用情况作出反应。和钩子。

我正在使用 gsap 为 div 滑入和滑出设置动画,这是与此相关的上下文,但我猜想 ref 的用途应该无关紧要。


所以,这很好用,即使这是我理解的一种更类组件典型的传递引用的方式:

const RootNavigation = () => {
var navbar = useRef();

const myTween = new TimelineLite({ paused: true });    
const animate = () => {
    myTween.to(navbar, 0.07, { x: "100" }).play();
  };

return(
     <div className="nav-main" ref={div => (navbar = div)}>   // <<<<<<<<<<   pass as a callback
     ...
    </div>
    )}
Run Code Online (Sandbox Code Playgroud)

这会引发“类型错误:无法添加属性 _gsap,对象不可扩展”错误,尽管 React Hooks 指南会让我这样做:

const RootNavigation = () => {
var navbar = useRef();

const myTween = new …
Run Code Online (Sandbox Code Playgroud)

reactjs react-hooks

5
推荐指数
1
解决办法
4288
查看次数

仅从选项向量中获取“Some”内部的惯用方法?

我正在学习 Rust,并试图习惯使用Results 和Options。给定一个向量。如果我只想要没有错误的结果(或者没有错误的结果Option),是否有比下面更优雅的方法,或者这与我通常需要编写的样板数量有关?

我意识到人们可以做更多的事情来获得map好的结果unwrap_or_elsepartition不是坏的结果。


    let optvec   = vec![Some(1), None, Some(4), None];
    let filtered = optvec.iter()
    .filter(|q| q.is_some())
    .map(|q| q.unwrap())
    .collect::<Vec<i32>>();

Run Code Online (Sandbox Code Playgroud)

iteration vector rust

5
推荐指数
1
解决办法
3267
查看次数

关于部署重 Django + React.js web 应用程序的建议

我最近构建了一个Django应用程序,它有一个数据库,并根据React.js前端的请求执行一些浮点运算(biopython、alpha 形状和来自数据库的晶体数据的类似算法)。

我想知道什么是长期部署这样的东西的最佳方式,以及两个代码库如何相互通信(目前在 localhost 上运行良好)。我遇到了一些建议,例如 django 的数字海洋和前端的 firebase,当然还有 heroku。


然而,我从来没有主持过一个最终会投入生产的网站,更不用说两个了,我有点不知所措

  1. 两个代码库如何相互通信,
  2. 如何在部署时保留 django 虚拟环境中安装的所有包,
  3. 如何在线传输调用的数据库。

我非常感谢任何指向要阅读的资源或架构建议的指针。万分感谢!

django web-hosting web-deployment django-rest-framework reactjs

4
推荐指数
1
解决办法
3418
查看次数

在 Rust 中“组合”枚举的正确方法

我希望能够有一个总和类型,它是两个枚举成员之一,但不确定我是否正确执行此操作。这个想法是 forToken是aCoordinateAA并且 forprocess_line返回一个 s 数组Token。非常基本。但是我是否必须将Token(...)每个CoordinateAA我初始化的对象都包裹起来?

struct Coordinate {
    x: f64,
    y: f64,
    z: f64
}

enum AminoAcid {
    VAL, GLN ,ARG,
    LEU, THR ,TYR,
    SER, PRO ,CYS,
    GLY, ALA ,MET
}

enum Token {
    Coordinate(Coordinate),
    AminoAcid(AminoAcid)
}

// Want a function that returns a list of legal tokens given a &line.
fn _process_line(line:&str)->Vec<Token>{
    let token = Token::AminoAcid(AminoAcid::ARG);
    return vec![token];
}
Run Code Online (Sandbox Code Playgroud)

例如,在打字稿中我可以这样做

type A …
Run Code Online (Sandbox Code Playgroud)

rust

2
推荐指数
1
解决办法
691
查看次数