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

2022-06-10 15:04:27 浏览数 (1)

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

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

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

核心概念:

文档: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 线程的数据以并行处理跟踪。

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

git-icons

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

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 用户

常用命令:

代码语言:javascript复制
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 日报小组 长琴

0 人点赞