< 返回版块

洋芋 发表于 2021-08-28 23:42

Tags:rust, 日报

开源操作系统夏令营最终报告会安排

会议主题:开源操作系统夏令营最终报告会 会议时间:2021/08/29 09:00-11:30 (GMT+08:00) 中国标准时间 - 北京 点击链接入会,或添加至会议列表: https://meeting.tencent.com/dm/Mp7T1h5zeQOk?rs=25 会议 ID:635 194 989

下面是9位全程参与夏令营活动同学的报告顺序。每人报告时间最长15分钟。

  1. 杨云枫 王涛 Rustsbi的哪吒开发版移植
  2. 兰陈昕 zCore图形支持
  3. 都秉甲 容器技术学习
  4. 薛潇巍 RVM 的 RISC-V 支持
  5. 陈乐 共享调度器
  6. 吴非凡 基于用户态中断的异步系统调用设计与实现
  7. 彭淳毅 陈志扬 基于rCore-Tutorial的性能分析软件实现

crates.live:可视化 Rust crates 依赖项

crates.live 是来自 crates.io 的 Rust crates 的依赖可视化工具。 它显示了 Rust crates(包)的依赖树。功能包括:

  • 依赖解析, crates.live 引擎通过匹配依赖版本来完成完整的依赖解析。
  • 交互式图表,带有标记的板条箱的可缩放交互式图表。
  • 图像导出, 将图形导出为 PNG。
  • 开放 API:(即将推出)GraphQL API。

crates.live 使用了一堆技术框架,技术栈包括:

  • Rust, crates.live 后端和爬虫是用 Rust 和开源 Rust 库开发的。
  • GraphQl, WASM 驱动的 GraphQL 服务器。
  • React/Bulma, 前端库。
  • Terraform, 帮助启动和维护我们的基础设施。
  • Cloudflare, Cloudflare 工作人员运行 WASM 后端。

如果在使用此应用程序时有任何疑问、建议或问题; 可以通过 contact@crates.live 联系。 crates.live 由 Abid Omar 开发,可通过 contact@omarabid.com 联系。

链接:https://crates.live/

Obake,版本化数据结构

Obake 是一个用于声明和维护版本化数据结构的过程宏。 “obake”这个名字取自日语“お化け(おばけ)”,这是日本民间传说中一类会变形的超自然生物。

在开发应用程序时,配置格式和内部数据结构通常会在版本之间演变。 然而,保持这些版本之间的向后兼容性需要声明和维护遗留格式的数据结构和用于在它们之间迁移的代码。 Obake 的目标是让这个过程变得轻松。

#[obake::versioned]                 // create a versioned data-structure
#[obake(version("0.1.0"))]          // declare some versions
#[obake(version("0.2.0"))]
#[derive(PartialEq, Eq, Hash)]      // additional attributes are applied to all versions
struct Foo {
    #[obake(cfg("0.1.0"))]          // enable fields for specific versions with
    foo: String,                    // semantic version constraints
   
    #[obake(cfg(">=0.2, <=0.3.0"))] // any semantic version constraint can appear in
    bar: u32,                       // a `cfg` attribute 
   
    #[obake(cfg("0.1.0"))]          // multiple `cfg` attributes are treated as a
    #[obake(cfg(">=0.3"))]          // disjunction over version constraints
    baz: char,
}

// describe migrations between versions using the `From` trait
// and an automatically generated type-level macro for referring to
// specific versions of `Foo`
impl From<Foo!["0.1.0"]> for Foo!["0.2.0"] {
    fn from(foo: Foo!["0.1.0"]) -> Self {
        Self { bar: 0 }
    }
}

// an enumeration of all versions of `Foo` is accessed using the
// `obake::Versioned` trait:
let versioned_example: <Foo as obake::Versioned>::Versioned = unimplemented!();

// this enumeration implements `Into<Foo>`, where `Foo` is the latest declared
// version of `Foo` (in this case, `Foo!["0.2.0"]`)
let example: Foo = versioned_example.into();

Github链接:https://github.com/doctorn/obake

iced,跨平台 GUI 库

iced,Rust 的跨平台 GUI 库,专注于简单性和类型安全。 灵感来自Elm

eco

Github链接:https://github.com/hecrj/iced/

示例:https://github.com/hecrj/iced/tree/master/examples


From 日报小组 洋芋

社区学习交流平台订阅:

评论区

写评论

还没有评论

1 共 0 条评论, 1 页