精华内容
下载资源
问答
  • Crate Maintenance

    2021-01-02 12:10:35
    s been a while since I worked on this crate. And I have to admit that right now I'm focusing on other things. At the end of the day, there's not enough time for me to maintain and improve this...
  • 与Google文档相比,(i)CRATE不限制同时使用的用户数量,(ii)CRATE不依赖服务提供商,因此您的文档属于您并且值得您信任,(iii)CRATE不包括所有文本编辑能力。 CRATE仍处于发展初期。 因此,该应用程序可能是...
  • Crate文档由多个单独的文档项目组成,它们似乎通过Crate docs主题相互关联。 要使用主题,请将此行添加到您的Sphinx conf.py文件中: from crate.theme.rtd.conf.foo import * 在这里,用适合您的文档项目的模块...
  • 铬酸盐(来源于Chrome + Crate)是一种用纯Javascript或HTML编写的Chrome扩展程序,用于监控群集的健康状况。 铬酸盐(来源于Chrome + Crate)是一种用纯Javascript / HTML编写的Chrome扩展程序,可以一目了然地从...
  • 在程序宏中为$crate提供支持。 介绍 在macro_rules! $crate用于获取在其中声明了宏的板条箱的路径。在过程宏中,当前没有简单的方法来获取该路径。 一个常见的技巧是使用已知名称导入所需的板条箱并使用它。 但是,...
  • ·· · 带· 用于安装和配置箱。 依赖信息 :dependencies [[com.palletops/riemann-crate " 0.8.0-alpha.3 " ]] 发布 托盘 板条箱版本 回购 组 ID 0.8.0-RC.4 ... server-spec提供了一种使用 crate
  • crate-redo-源码

    2021-03-16 12:19:47
    crate-redo
  • Crate.io 数据存储交互的简单类 用法: 创建对象实例并添加 Crate.io 服务器 IP 地址: $crate = new PhpCrate(); $crate->setServers(array("192.168.10.51","192.168.10.52","192.168.10.53")); 要创建一个...
  • 用于的[Crate Datastore]( )连接器模块。 连接器设定 可以使用数据源中的以下设置来配置连接器。 主机名或主机名(默认为“ localhost”):Crate DB服务器的主机名或IP地址 port(默认为4200):Crate DB服务器...
  • Android代码-crate

    2019-08-07 12:17:59
    image:: blackbox/docs/_static/crate-logo.png :alt: CrateDB :target: https://crate.io/ .. image:: https://dev.azure.com/cratedb/cratedb/_apis/build/status/crate.crate :target: ...
  • crate运维

    2016-11-11 10:23:19
    查看一张表中的列 SHOW COLUMNS IN crate_test_t1 FROM doc; SHOW COLUMNS IN cluster FROM sys;
    查看一张表中的列
    SHOW COLUMNS IN crate_test_t1 FROM doc;
    SHOW COLUMNS IN cluster FROM sys;
    
    



    问题解决记录

    问题1

    问题描述
    [user@hostname /data/user/crate/bin]$ tailf crate-test.log

    Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x000000040fac0000, 16830955520, 0) failed; error='Cannot allocate memory' (errno=12)
    #
    # There is insufficient memory for the Java Runtime Environment to continue.
    # Native memory allocation (malloc) failed to allocate 16830955520 bytes for committing reserved memory.
    # An error report file with more information is saved as:
    # /data/mapleleaf/crate-0.56.2/bin/hs_err_pid1730.log

    解决:

    vi $CRATE_HOME/bin/crate.in.sh,调整配置项CRATE_MIN_MEM、CRATE_MAX_MEM。






    展开全文
  • 对于新手Ruster来说,最绝望的就是crate找不到了,use of undeclared crate or module和maybe a missing crate? use of undeclared crate or module 在workspace方式组织的项目中,遇到了 error[E0433]: failed to ...

    对于新手Ruster来说,最绝望的就是crate找不到了,use of undeclared crate or modulemaybe a missing crate?

    use of undeclared crate or module

    在workspace方式组织的项目中,遇到了

    error[E0433]: failed to resolve: use of undeclared crate or module db_schema
    –> main/src/main.rs:2:9
    |
    2 | use db_schema::strategy::todolist;
    | ^^^^^^^^^ use of undeclared crate or module db_schema

    工程组织目录如下:
    有三个package,分别是main、dao/db_schema和dao/db_queries

    [workspace]
    members = [
      "main",
      "dao/db_schema",
       "dao/db_queries"
    ]
    

    在这里插入图片描述

    在main的Cargo.toml文件里,已经写明db_schema和db_queries的依赖:

    [dependencies]
    diesel = { version = "1.4.6", features = ["mysql", "chrono", "bigdecimal"] }
    dotenv = "0.15.0"
    chrono = { version = "0.4.19", features = ["serde"] }
    bigdecimal = "*"
    db_schema =    { path = "../dao/db_schema"}
    db_queries =  { path = "../dao/db_queries"}
    

    并且在lib.rs中指明了

    pub mod strategy;
    pub mod config;
    pub mod schema;
    

    在mod.rs里:

    pub mod the_masked_one;
    pub mod todolist;
    

    但是在根目录下运行cargo build时报错

    use of undeclared crate or module db_schema

    根据官方文档:
    https://doc.rust-lang.org/book/ch14-03-cargo-workspaces.html
    入门级

    https://doc.rust-lang.org/cargo/reference/workspaces.html
    更特别

    并且自己又写了个测试工程(只包含main和schema),正当绝望时,在workspace的Cargo.toml里,加上db_schema作为依赖,搞定。现在workspace级别的Cargo.toml:

    [package]
    name = "lucky"
    version = "0.0.1"
    edition = "2018"
    
    [workspace]
    members = [
        "main",
        "dao/db_schema",
         "dao/db_queries"
     ]
    
    [[bin]]
    name = "luckyapp"
    path = "main/src/main.rs"
    
    [dependencies]
    db_schema =    { path = "./dao/db_schema"} // 这里,成功解决了问题
    db_queries =  { path = "./dao/db_queries"}
    

    但是我的测试工程就不需要这两句。测试工程的Cargo.toml

    [workspace]
    members = [
        "maina",
        "dao/schema",
    ]
    

    对比后发现,问题出在workspace的Cargo.toml上。如果在这个Cargo.toml里加上[package][[bin]]标签([package]编译提示必须要有[[bin]]),就必须加上[dependencies]标签,并且把main.rs用到的所有依赖写在这里,相当于main.rs自己所在的package被workspace级别的Cargo.toml override了。即使main.rs所在package的Cargo.toml的dependency完美,也不行。

    maybe a missing crate?

    error[E0432]: unresolved import crate::schema
    –> dao\db_schema\src\strategy\todolist.rs:16:12
    |
    16 | use crate::schema::todo_list;
    | ^^^^^^ maybe a missing crate schema?

    原因,在db_schema这个package的lib.rs里,我虽然写上了所有lib.rs的晚辈,但是唯独把它姐妹schema.rs漏掉了,所以加上:

    pub mod strategy;
    pub mod config;
    pub mod schema;  // 一开始漏掉了这句
    

    其他的情况,见解答:
    https://stackoverflow.com/questions/61849216/including-an-internal-module-produces-maybe-a-missing-crate-module2
    总结就是,外部要使用的模块需要声明,在每个模块目录的mod.rs里,lib.rs对于package的作用就像mod.rs。

    .
    ├── config
    │   └── mod.rs
    ├── lib.rs
    ├── schema.rs
    └── strategy
        ├── mod.rs
        └── todolist.rs
    
    2 directories, 5 files
    $ cat config/mod.rs
    $ cat strategy/mod.rs
    pub mod todolist;
    $ cat lib.rs
    pub mod strategy; // 目录
    pub mod config;   // 目录
    pub mod schema;   // schema.rs
    
    展开全文
  • Chrome酸盐(源自Chrome + Crate)是用纯JavaScript / HTML编写的Chrome扩展,以监控群集的健康... Chrome酸盐(来自Chrome + Crate)是一个Chrome 以纯粹JavaScript / HTML编写的扩展,以一目了然地监视浏览器中的...
  • 在原始游戏的基础上,我决定创建 Crate Box 。 这个想法是在攀爬场景时获得最大数量的箱子,而敌人则试图杀死我们。 怎么做? 这是通过Python与库。 我基于Unity概念创建自己的引擎。 现在,系统具有Entities ,每...
  • super-crate-box-源码

    2021-06-04 20:36:19
    带有 Phaser 的 Super Crate Box Clone
  • SAVE CRATE-crx插件

    2021-04-04 06:45:41
    使用SAVE CRATE(保存帐户)添加书签(savecrate.com/signup帐户)。 使用标签,可以从任何地方轻松收集和查找书签。 该扩展名使您可以将页面保存到保存箱并编辑现有书签。 屏幕上将捕获您保存的所有内容,以简化...
  • Rust之crate

    2021-07-08 13:56:34
    rust的每一个.rs文件就是一个crate吗? https://doc.rust-lang.org/stable/book/ch07-00-managing-growing-projects-with-packages-crates-and-modules.html

    Rust提供给我们一些管理代码的特性:

    • Packages:Cargo的一个特性,帮助你进行构建、测试和共享crates
    • Crates:生成库或可执行文件的模块树
    • Modules 和use:用于控制代码组织、范围和隐私路径
    • Paths:struct、function和module的命名方法

    下面我们来具体看一下这些特性是如何帮助我们组织代码的。

    Packages和Crates

    package可以理解为一个项目,而crate可以理解为一个代码库。crate可以供多个项目使用。那我们的项目中package和crate是怎么定义的呢?

    之前我们总是通过IDEA来新建项目,今天我们换个方法,在命令行中使用cargo命令来创建。

    $ cargo new hello-world
    
    Created binary (application) `hello-world`package
    
    $ ls hello-world
    
    Cargo.toml
    
    src
    
    $ ls hello-world/src
    
    main.rs
    

    可以看到,我们使用cargo创建项目后,只有两个文件,Cargo.toml和src目录下的main.rs。

    Cargo.toml是管理项目依赖的文件,每个Cargo.toml定义一个package。main.rs文件的存在表示package中包含一个二进制crate,它是二进制crate的入口文件,crate的名称和package相同。如果src目录下存在lib.rs文件,说明package中包含一个和package名称相同的库crate。

    一个package可以包含多个二进制crate,它们由src/lib目录下的文件定义。如果你的项目想引用他人的crate,可以在Cargo.toml文件中增加依赖。每个crate都有自己的命名空间,因此如果你引入了一个crate里面定义了一个名为hello的函数,你仍然可以在自己的crate中再定义一个名为hello的函数。

    Cargo.toml 文件用于声明依赖,入口,构建选项等项目元数据。
    一个crate可以既是一个库(即library),也可以是一个二进制可执行(即executable)。每个 crate 可以独立地在 https://crates.io/ 上发表。

    Module

    Module帮助我们在crate中组织代码,同时Module也是封装代码的重要工具。接下来还是通过一个栗子来详细了解Module。

    前面我们说过,库crate定义在src/lib.rs文件中。这里首先创建一个包含了库crate的package:

    cargo new --lib restaurant
    

    然后在src/lib.rs中定义一些module和函数。

    
    mod front_of_house {
    
        mod hosting {
    
            fn add_to_waitlist() {}
    
            fn seat_at_table() {}
    
        }
    
        mod serving {
    
            fn take_order() {}
    
            fn serve_order() {}
    
            fn take_payment() {}
    
        }
    
    }
    

    可以看到我们使用关键字mod来定义Module,Module中可以继续定义Module或函数。这样我们就可以比较方便的把相关的函数放到一个Module中,并为Module命名,提高代码的可读性。另外Module中还可以定义struct和枚举。由于Module中可以嵌套定义子Module,最终我们定义出来的代码类似一个树形。

    那么如何访问Module中的函数呢?这就要提到Path了。这部分比较好理解,Module树相当于系统文件目录,而Path则是目录的路径。

    创建可执行和库的区别:

    ~/IdeaProjects/RustProject$ cargo new restaurant
         Created binary (application) `restaurant` package
    
    ~/IdeaProjects/RustProject$ cargo new --lib restaurant
         Created library `restaurant` package
    
    

    Path

    这里的路径和系统文件路径一样,都分为相对路径和绝对路径两种。其中绝对路径必须以crate开头,因为它代码整个Module树的根节点。路径之间使用的是双冒号来表示引用。

    现在我来尝试在一个函数中调用add_to_waitlist函数:

    mod front_of_house {
    
        mod hosting {
    
            fn add_to_waitlist() {}
    
            fn seat_at_table() {}
    
        }
    
        mod serving {
    
            fn take_order() {}
    
            fn serve_order() {}
    
            fn take_payment() {}
    
        }
    
    }
    
    pub fn eat_at_restaurant() {
        crate::front_of_house::hosting::add_to_waitlist();
        front_of_house::hosting::add_to_waitlist();
    
    }
    
    

    可以看到这里不管用绝对路径还是相对路径都报错了,错误信息是模块hosting和函数add_to_waitlist是私有(private)的。我们先暂时放下这个错误,根据这里的错误提示,我们知道了当我们定义一个module时,默认情况下是私有的,我们可以通过这种方法来封装一些代码的实现细节。

    OK,回到刚才的问题,那我们怎么才能解决这个错误呢?地球人都知道应该把对应的模块与函数公开出来。Rust中标识模块或函数为公有的关键字是pub。

    我们用pub关键字来把对应的模块和函数公开:

    mod front_of_house {
    
        pub mod hosting {
    
            pub fn add_to_waitlist() {}
    
            fn seat_at_table() {}
    
        }
    
        mod serving {
    
            fn take_order() {}
    
            fn serve_order() {}
    
            fn take_payment() {}
    
        }
    
    }
    
    pub fn eat_at_restaurant() {
        crate::front_of_house::hosting::add_to_waitlist();
        front_of_house::hosting::add_to_waitlist();
    
    }
    
    

    这样我们就可以在module外来调用module内的函数了。

    Rust中的私有规则

    现在我们再回过头来看Rust中的一些私有规则,如果你试验了上面的例子,也许会有一些发现。

    Rust中私有规则适用于所有项(函数、方法、结构体、枚举、模块和常量),它们默认都是私有的。
    父模块中的项不能访问子模块中的私有项,而子模块中的项可以访问其祖辈(父模块及以上)中的项。

    Struct和Enum的私有性

    Struct和Enum的私有性略有不同,对于Struct来讲,我可以只将其中的某些字段设置为公有的,其他字段可以仍然保持私有。

    mod back_of_house {
    
        pub struct Breakfast {
    
            pub toast: String,
    
            seasonal_fruit: String,
    
        }
    
        impl Breakfast {
    
            pub fn summer(toast: &str) -> Breakfast {
    
                Breakfast {
    
                    toast: String:: from(toast),
    
                    seasonal_fruit: String:: from( "peaches"),
    
                }
    
            }
    
        }
    
    }
    
    pub fn eat_at_restaurant() {
    
        // Order a breakfast in the summer with Rye toast
        let mut meal = back_of_house::Breakfast::summer( "Rye");
    
        // Change our mind about what bread we'd like
        meal.toast = String:: from( "Wheat");
    
        println!( "I'd like {} toast please", meal.toast);
    
    }
    
    
    

    而对于Enum,如果一个Enum是公有的,那么它的所有值都是公有的,因为私有的值没有意义。

    相对路径和绝对路径的选择

    这种选择不存在正确与否,只有是否合适。因此这里我们只是举例说明一些合适的情况。

    我们仍以上述代码为例,如果我们可以预见到以后需要把front_of_house模块和eat_at_restaurant函数移动到一个新的名为customer_experience的模块中,就应该使用相对路径,这样我们就对其进行调整。

    类似的,如果我们需要把eat_at_restaurant函数移动到dining模块中,那么我们选择绝对路径的话就不需要做调整。

    综上,我们需要对代码的优化方向有一些前瞻性,并以此来判断需要使用相对路径还是绝对路径。

    相对路径除了以当前模块开头外,还可以以super开头。它表示的是父级模块,类似于文件系统中的两个点(..)。

    use关键字

    绝对路径和相对路径可以帮助我们找到指定的函数,但用起来也非常的麻烦,每次都要写一大长串路径。还好Rust为我们提供了use关键字。在很多语言中都有import关键字,这里的use就有些类似于import。不过Rust会提供更加丰富的用法。

    use最基本的用法就是引入一个路径。我们就可以更加方便的使用这个路径下的一些方法:

    mod front_of_house {
        pub mod hosting {
            pub fn add_to_waitlist() {}
        }
    }
    
    use crate::front_of_house::hosting;
    
    pub fn eat_at_restaurant() {
        hosting::add_to_waitlist;
    }
    
    
    

    这个路径可以是绝对路径,也可以是相对路径,但如果是相对路径,就必须要以self开头。上面的例子可以写成:

    use self::front_of_house::hosting;
    

    这与我们前面讲的相对路径似乎有些矛盾,Rust官方说会在之后的版本处理这个问题。

    use还可以更进一步,直接指向具体的函数或Struct或Enum。但习惯上我们使用函数时,use后面使用的是路径,这样可以在调用函数时知道它属于哪个模块;而在使用Struct/Enum时,则具体指向它们。当然,这只是官方建议的编程习惯,你也可以有自己的习惯,不过最好还是按照官方推荐或者是项目约定的规范比较好。

    对于同一路径下的某些子模块,在引入时可以合并为一行,例如:

    use std::io;
    
    use std::cmp::Ordering;
    
    // 等价于
    use std::{cmp::Ordering, io};
    

    有时我们还会遇到引用不同包下相同名称Struct的情况,这时有两种解决办法:
    一是不指定到具体的Struct,在使用时加上不同的路径;
    二是使用as关键字,为Struct起一个别名。

    方法一:

    use std::fmt;
    
    use std::io;
    
    fn function1() -> fmt::Result {
    
        // --snip--
    
    }
    
    fn function2() -> io::Result<> {
    
        // --snip--
    
    }
    

    方法二:

    use std::fmt::Result;
    
    use std::io::Result as IoResult;
    
    fn function1() -> Result {
    
    // --snip--
    
    }
    
    fn function2() -> IoResult<> {
    
    // --snip--
    
    }
    

    如果要导入某个路径下的全部模块或函数,可以使用*来表示。当然我是非常不建议使用这种方法的,因为导入全部的话,如果出现名称冲突就会很难排查问题。

    对于外部的依赖包,我们需要先在Cargo.toml文件中添加依赖,然后就可以在代码中使用use来引入依赖库中的路径。Rust提供了一些标准库,即std下的库。在使用这些标准库时是不需要添加依赖的。

    有些同学看到这里可能要开始抱怨了,说好了介绍怎么拆分文件,到现在还是在一个文件里玩,这不是欺骗读者嘛。

    别急,这就开始拆分。

    开始拆分

    我们拿刚才的一段代码为例:

    mod front_of_house {
    
        pub mod hosting {
    
            pub fn add_to_waitlist() {}
    
            fn seat_at_table() {}
    
        }
    
        mod serving {
    
            fn take_order() {}
    
            fn serve_order() {}
    
            fn take_payment() {}
    
        }
    
    }
    

    首先我们可以把front_of_house模块下的内容拆分出去,需要在src目录下新建一个front_of_house.rs文件,然后把front_of_house模块下的内容写到文件中。lib.rs文件中,只需要声明front_of_house模块即可,不需要具体的定义。声明模块时,将花括号即内容改为分号就可以了: mod front_of_house;

    然后我们可以继续拆分front_of_house模块下的hosting模块和serving模块,这时需要新建一个名为front_of_house的文件夹,在该文件夹下放置要拆分的模块的同名文件,把模块定义的内容写在文件中,front_of_house.rs文件同样只保留声明即可。

    拆分后的文件目录如图:
    在这里插入图片描述

    本文主要讲了Rust中Package、Crate、Module、Path的概念和用法,有了这些基础,我们后面才有可能开发一些比较大的项目。

    相关内容:

    Rust 入坑指南 | CSDN 博文精选
    Rust 模块和文件 - [译]
    Rust:mod、crate、super、self、pub use等模块系统用法梳理
    Rust 包、crate 与 模块

    https://learnku.com/docs/rust-lang/2018/ch07-00-packages-crates-and-modules/4516
    https://doc.rust-lang.org/stable/book/ch07-00-managing-growing-projects-with-packages-crates-and-modules.html

    展开全文
  • ( :require [crate.core :as crate])) ( crate/html [ :p.woot { :id " blah " } " Hey! " ]) => <p xss=removed xss=removed>Hey! ( defpartial header [] [ :header [ :h1 " My app! " ]]) ( header ) => ...
  • eRFC: Crate name transfer

    2021-01-08 19:22:22
    <a href="https://github.com/dtolnay/rfcs/blob/transfer/text/0000-crate-name-transfer.md">[RENDERED VIEW] <p><br /> <p><strong>Summary:</strong> This experimental RFC proposes a process by which a ...
  • yum 安装 crate

    2017-07-19 22:09:00
    使用yum 安装crate 官网地址:https://crate.io/docs/crate/guide/getting_started/install/local/linux.html 1. 首先服务器上必须得有yum源 2. 使用root用户执行 rpm --import http...

    使用yum 安装crate

    官网地址:https://crate.io/docs/crate/guide/getting_started/install/local/linux.html

    1. 首先服务器上必须得有yum源

    2. 使用root用户执行

    rpm --import https://cdn.crate.io/downloads/yum/RPM-GPG-KEY-crate
    rpm -Uvh https://cdn.crate.io/downloads/yum/7/noarch/crate-release-7.0-1.noarch.rpm

    3. 然后开始安装

    yum install crate

    4. 启动crate

    systemctl start crate.service

    或者直接下载crate的rpm包

    redhat7的下载地址:

    https://cdn.crate.io/downloads/yum/7/noarch/

    这个非常管用

    转载于:https://my.oschina.net/u/2499632/blog/1475697

    展开全文
  • const crate = new Crate ( { server : '299881420891881473' , channel : '355719584830980096' } ) crate . notify ( 'Test notification' ) crate . on ( 'signIn' , data => { console . log ( `Guest ...
  • <div><p>Currently, <a href="https://github.com/rust-lang/crates-io-cargo-teams/blob/master/docs/crate-removal-procedure.md#remove-relevant-versions-andor-entire-crates-from-docsrs">the way to remove ...
  • spring-data-crate-源码

    2021-05-19 02:31:57
    Spring Data Crate项目提供与集成。 是无共享,完全可搜索的,面向文档的集群数据存储。 它是用于数据密集型应用程序的快速而强大的大规模可扩展后端,例如物联网或实时分析。 特征 使用@Table注释从实体自动导出表...
  • $ git clone git://github.com/eknowles/mongoose-crate-example ./my-app $ cd my-app $ npm install $ touch .env 设置: 将您的亚马逊凭证添加到 env 文件中 KEY=MYKEY SECRET=MYSECRET BUCKET=mybucketname ...
  • grafana监控+crate使用

    千次阅读 2018-09-28 16:24:07
    grafana中刚安装时没有crate数据源,需要安装插件 1.获取可用插件命令 grafana-cli plugins list-remote 查找指定的数据插件: grafana-cli plugins list-remote | grep crate 2.安装插件: grafana-cli plugins ...
  • tfrecord = "0.5"TensorFlow 更新通知crate 编译来自 TensorFlow 的预先生成的 ProtocolBuffer 代码。如果是 TensorFlow 更新或自定义补丁,请手动运行代码生成,详情请参阅从 TensorFlow 生成 ProtocolBuffer 代码...
  • Crate安装和配置

    千次阅读 2017-02-21 19:58:03
    关键字:elastichsearch、crate.io、sql 之前介绍过ElasticSearch,它部署简单,搜索聚合功能强大,而且和其他大数据框架整合起来使用,有一点比较不方便,就是查询都需要通过JSON作为请求Body来提交查询,请求响应...
  • Crate 是一个简单的库,用于将 Android 对象存储到磁盘。 它为项目管理提供了一个适度但功能强大的 API,并阻止您编写乏味的存储代码。 用法 Crate 可以存储任何与 Gson 兼容并实现 HasId 接口的项目: public ...
  • 注意: activerecord-crate-adapter当前仅适用于Rails 4.1.x 将此行添加到您的应用程序的Gemfile中: gem 'activerecord-crate-adapter' 然后执行: $ bundle 或自己安装为: $ gem install activerecord-crate-...
  • cd crate-qa 创建virtualenv并安装要求: python3.8 -m venv env source env/bin/activate # optional: pip install --upgrade pip wheel pip install --upgrade -e . ODBC库安装 要成功运行client_tests/odbc测试...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,910
精华内容 3,164
关键字:

Crate