【Rust 日报】2022-06-05 动态化卡片跨端解决方案

GaiaX:动态化卡片跨端解决方案

动态模板引擎是阿里巴巴优酷技术团队研发的一套轻量级的纯Native动态化卡片跨端解决方案。动态模板引擎是阿里巴巴优酷技术团队研发的一套轻量级的纯Native动态化卡片跨端解决方案。

除了客户端渲染SDK,还提供了配套的模板可视化搭建工具和详情的功能Demo(模板示例,以及扫码预览),支持从模板搭建/编辑、真机调试/预览等研发链路技术支撑,优酷动态模板引擎的目标是在保证Native体验性能的同时,帮助客户端开发领域实现低代码。

核心概念:

7b3dd69a0011e6f0343c6c2748784ab1.png

文档:https://www.yuque.com/biezhihua/gaiax/kibtop

GitHub:https://github.com/alibaba/GaiaX

cannoli:QEMU内存和指令跟踪器

cannoli 是针对 QUMU 的高性能跟踪引擎,可以记录PC的执行轨迹和内存操作。Cannoli 旨在以最小的 QEMU 执行干扰记录这些信息。在实践中,这意味着 QEMU 需要产生一个事件流,并将它们(非常快速地)交给另一个进程来处理对它们的更复杂的分析。在 QEMU JIT 本身执行期间进行分析会大大减慢执行速度。Cannoli 每秒可以处理数十亿条目标指令,可以处理多线程 QEMU 用户应用程序,并允许多个线程使用来自单个 QEMU 线程的数据以并行处理跟踪。

7349b078dc6488247541300c849c2a66.png

GitHub:https://github.com/MarginResearch/cannoli

git-icons

Mac APP/CLI,为repo的文件夹添加图标。

6ad3ebf6f914f1e160b017f871b7b07c.png

GitHub:https://github.com/samdenty/git-icons

rig:R管理器

特性:

  • 适用于MacOS,Windows和Linux

  • 易于安装和更新

  • 支持安装多个R版本

  • 为终端和RStudio选择默认的R版本

  • 使用符号名称选择要安装的版本,如devel、next、release、oldrel等

  • 使用快速链接同时运行多个版本

  • 在M1的Mac上,可以选择安装x86_64或arm64版本,或者同时安装

  • 创建和配置用户级 library

  • 限制对系统库的权限

  • zsh和bash自动补全功能

  • 更新R安装允许在 Mac 上使用 lldb 进行调试,并允许核心 dump

  • 在 Windows 上安装适当的 Rtools 版本并进行设置

  • 从 Windows 注册表中清除与 R 相关的旧条目

  • 根据需要切换到 root/administrator 用户

常用命令:

rig add        -- 安装一个新版本rig default    -- 打印或设置默认R版本rig library    -- 管理libraryrig list       -- 列出已安装版本rig resolve    -- 解析一个R版本rig rm         -- 移除R版本rig rstudio    -- 指定R版本启动RStudiorig system     -- 管理当前安装

GitHub:https://github.com/r-lib/rig

mirrord:dev→prod环境

mirrored将流量从生产环境镜像到开发环境。

  • 加速反馈循环:从本地计算机测试云服务,无需CI或部署。

  • 轻量:几秒钟内启动并运行。

  • 安全:在同一个云环境上同时测试

传统软件开发是一个循环,开发人员在本地编写和测试他们的代码,然后将其部署到云上模拟/预发环境,在那里执行额外的测试。这些测试通常会失败,因为代码是第一次满足近乎生产的环境,并且遇到了新的条件。然后必须修复/重写代码,再次在本地测试,再次部署,依此类推,直到测试通过。本项目试图通过将 “部署” 完全排除在流程之外,从而消除开发部署相关成本。通过将本地进程直接插入模拟环境,用户可以在云条件下测试代码,而无需经历漫长的 CI 流程;同时,也没有破坏其他开发人员环境的风险。

网址:https://mirrord.dev/

GitHub:https://github.com/metalbear-co/mirrord

加速Rust在GitHub上的构建

Rust编译很慢,主要因为它在编译期间检查了很多东西,以提供内存和并发安全。像在许多其他情况下一样,管道可以通过缓存来加速,但是正确设置缓存非常重要。本文提供了一份可复用的编译流程,使用GitHub Actions借助actions/cache缓存,最终从原来的15分钟提升到月1分钟。

网址:https://ectobit.com/blog/speed-up-github-actions-rust-pipelines/

Rust面试问题

与Rust相关的问题包括:

  • Rust中所有权是什么意思?

  • Rust中borrow做了什么?

  • String&str的区别是什么?

  • 描述下Rust中的async

  • 描述下Rust中的std

  • unsafe里面能干什么?

  • traitdyn trait的区别是什么?

  • Rust为什么静态链接依赖?

网址:https://flakm.github.io/posts/rust_interview_questions/

Rust Crash Course

课程地址:https://agileperception.com/ultimate_rust_crash_course

GitHub:https://github.com/CleanCut/ultimate_rust_crash_course


From 日报小组 长琴

社区学习交流平台订阅:

  • Rustcc 论坛:支持 rss

  • 微信公众号:Rust 语言中文社区

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值