创建工程
1 | cargo new --vcs=git tutorial |
1 | cargo new --vcs=git tutorial |
在 Rust 中,内存管理主要通过其独特的所有权(Ownership)系统来实现,配合借用(Borrowing)和生命周期(Lifetimes)规则,在编译期就完成了内存安全的检查和管理。
具体来说,Rust 遵循以下原则:
这种机制让 Rust 无需运行时的垃圾回收器,就能在保证内存安全的同时,获得较高的性能。内存的分配和释放完全由编译器控制,在编译阶段就确定了,不会像 GC 那样在运行时带来额外的性能开销。
Rust 不会自动深拷贝数据。如果对象实现了 Copy Trait,那么对该类型的拷贝操作会做简单拷贝,原始变量依旧有效。如果类型包含了实现了 Trop Trait 类型的变量,则该类型不可以被标记为 Copy Trait。
Poetry 用于管理 Python 项目信息及依赖。
1 | curl -sSL https://install.python-poetry.org | python3 - |
1 | poetry init |
1 | poetry run python ... |
1 | poetry env activate |
基于物品协同过滤的推荐。
Jupyter 的镜像定义在这里,Docker Hub 中的 Jupyter 组织下镜像不再更新。
关于镜像选择,all-spark-notebook 基于 pyspark-notebook 构建。
1 | version: "3.9" |
ROOT 权限
1 | docker exec -it -u root jupyterlab bash # root 用户登录容器,可以在 root 下赋予 jovyan 管理员权限 |
1 | mkdir -p ~/minio/data |
1 | version: '3.8' |
1 | Linux |
1 | brew install minio/stable/mc |
1 | docker run --rm -it --name=metaspore-jupyter sunzhenkai/metaspore-training-jupyter:latest bash |
在 Fork 的代码库中新增了 Makefile 用于方便地构建目标、镜像。
1 | .PHONY: dev training serving jupyter code-server all |
运行 make all 就可以构建基础镜像、Serving、Training、Jupyter、Code Server 镜像。
1 | Host relay |
1 | hx --health cpp |