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 用户
常用命令:
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里面能干什么?
- trait和dyn 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
社区学习交流平台订阅:
- Rustcc 论坛:支持 rss
- 微信公众号:Rust 语言中文社区