Learning Rust - 0 Preface
序言本系列为本人学习Rust的笔记与个人心得。
参考内容:https://kaisery.github.io/trpl-zh-cn/
1 安装 Rust直接进入官网按照提示安装即可,会自动识别当前操作系统。
官网链接:https://www.rust-lang.org/tools/install
Figure-1.1 官网界面
重新加载终端后,测试是否安装成功:
rustc --version# 如有版本信息输出则成功
Rust使用cargo进行包管理,测试cargo是否安装成功:
cargo --version# 如有版本信息输出则成功
2 创建项目与编译运行打开终端,在当前的目录下创建项目基本内容:
cargo new <filename>cd <filename>
文件结构如下:
·├── Cargo.lock├── Cargo.toml├── src/│ ├── main.rs├── target/
File Name
Description
Cargo.lock
由 cargo 自动维护的项目相关依赖的具体信息
Carg ...
Learning Rust - 1 基本概念
基本概念1 数据类型(data type)Rust是静态类型语言(statically typed),每一个值都属于某一个数据类型,编译时必须知道所有变量常量的类型。通常编译器可以推断出数据类型,但有时必须添加类型注解。
接下来将介绍两类数据类型子集:标量(scalar)和复合(compound)。
1.1 标量标亮类型代表一个单独的值。Rust有四种基本的标量类型:整型(int)、浮点型(float)、布尔类型(bool)和字符类型(char)。
整形整型是一个没有小数部分的数字。
表1-1: Rust中的整型
Length
Signed
Unsigned
8-bit
i8
u8
16-bit
i16
u16
32-bit
i32
u32
64-bit
i64
u64
128-bit
i128
u128
arch-bit
isize
usize
每一个有符号的数据类型可以存储 $-(2^{n-1})$ ~ $2^{n-1}-1$ 在内的数字,无符号的数据类型则是 $0$ ~ $2^{n}-1$。
isize和usize类型依赖运行程序的计算 ...
ArchLinux Tips
ArchLinux 常见问题汇总前言此篇收集所有本人使用中遇到到小问题。
休眠后重启失败现象与原因推测将电脑挂起休眠后重新打开电源,会发现不能进入 Hyprland 界面,但是可以通过 Ctrl+Alt+F3 进入终端,证明系统没有问题。
查阅资料后得知是 nvidia 驱动的问题。
可能是因为 Hyprland 在进入挂起模式后试图与 nvidia 通信,因此无法响应。Linux 尝试冻结任务,但失败了,因为 Hyprland 正在等待驱动程序的响应,无法冻结。
解决方案参考官网链接:Preserve video memory after suspend
# 编辑 grub 文件sudo vim /etc/default/grub# 找到 GRUB_CMDLINE_LINUX,添加以下内容GRUB_CMDLINE_LINUX="nvidia.NVreg_PreserveVideoMemoryAllocations=1"# 更新 grubsudo grub-mkconfig -o /boot/grub/grub.cfg# tips 可以在 bashrc 中给这段更新 ...
ArchLinux 软件配置
ArchLinux CUDA 软件配置前言Nvidia 对于 Linux 的适配不怎么样,但是在 ArchLinux 进行简单的日常使用和深度学习加速还是满足的,并且安装十分简单。
附图一张:
参考链接:https://ivonblog.com/posts/archlinux-install-nvidia-drivers/
安装 CUDA我们在安装系统的时候已经安装了 nvidia 的驱动,可以使用
nvidia-smi
来查看驱动是否安装成功。
安装 CUDA 驱动,我们只需要在终端输入一行指令:
sudo pacman -S cuda
会自动安装最新的 CUDA 版本,如果有需要安装老版本,在 AUR 仓库中搜索,使用 yay 安装既可
yay -S cuda-xxx
安装完成后,我们需要将 CUDA 的环境变量添加到 /etc/profile 中(或者是 zsh 和 bash 文件),在文件末尾添加:
export PATH="/opt/cuda/bin$PATH"export LD_LIBRARY_PATH="/opt/cuda/lib ...
ArchLinux Hyprland 主题安装
ArchLinux Hyprland 主题安装前言Hyprland 有很多大佬打包好的主题,可以直接抄来用,也可以自己安装插件,自己设计美化,对于懒人来说,找个佬的省时省力。
我使用并且推荐的是这一款
Hyprdots 主题
其他的主题交给读者自行寻找。
预览图
安装
Github Hyprdots 主题
Youtube Hyprland 主题安装教程
# 设置下载文件夹,无需参考cd ~sudo mkdir Downloads# 下载主题git clone https://github.com/prasanthrangan/hyprdots.git# 进入主题文件夹cd hyprdots# 安装主题sudo ./install.sh
根据安装程序提示进行安装就可以了。clean Build 选 N,diff 选 N。
注意网络问题,见上一章节。
tips: 由于项目使用了go语言,可以配置go语言的代理从而解决安装过程中的github下载问题:
# go version >= 1.13 一般来说无需担心# 临时修改,永久修改就写到对应的终端文件里去exp ...
ArchLinux 基础安装与配置
ArchLinux 基础安装与配置前言之前在 Zorin 系统下遇到了 Docker 的一个 bug,一直解决不掉,遂暴起直接格式化重装系统。想着顺便换个 Linux 发型版玩玩,在 Arch 和 Fedora 中最后还是选择的 Arch,主要是看上了 Hyprland + Arch 的组合,有点香。
❗️❗️在正式开始前,你要确定你有十足的时间来进行漫长的 Debug 与调试。
本文以及接下来相关的 Arch Linux 系列文章主要内容为:
ArchLinux 基础安装与配置
ArchLinux Hyprland 主题安装
ArchLinux CUDA 等显卡适配
有需要的童鞋可以参考我的经历,减少踩坑。
基本信息:
CPU: Intel Core i5
GPU: Nvidia GTX 4060
硬盘: 1TB NVMe SSD
内存: 16GB DDR4 3200MHz
安装系统: Arch Linux 5.15.53-1 (x86_64)
相关链接:
Arch Linux 官网
Arch Linux Wiki
Arch Linux 安装指南
使用 archinst ...
HAPPY BIRTHDAY TO My Kiosk!!
🎉HAPPY BIRTHDAY TO My Kiosk!!🎉🎉🎉林二毛的小卖部开张一周年啦~
可喜可贺,没想到一时兴起搭建的小网站已经陪我走过一年的时光了,虽然网页真正完工的那天是5月24号,不过又修修改改拖到了6月29号,也算是我在github上提交的第一个项目吧。
很难想象已经结束了两年的大学生活,回首发现自己并没有做出什么有意义的事情,没有能够参加有分量的比赛,在学习上也遇到了难以解决的障碍。每每又不经感慨未来的出路渺茫,升学途径少,能力又没有拔尖,30岁实现养老的梦想遥不可及。希望接下来的一年能够不留遗憾吧。
网站是越来越美了~
Old web
New web
最近我在思考,国内的技术社区实在是乌烟瘴气,开发者开源的东西给你付费下载,用户写的分享文章需要你付费查看,更别提移动端app的跳转广告,弹窗广告,以及无意义的照搬照抄内容。基于这样的状况,我也是建议有能力的人可以屏蔽某些网站的链接,这里就不点出了。
据我搜索资料的经验,博客园,Github,Stack Overflow 还有许多的外文社区,相对有用,能够解决问题的比例更大。
我很推 ...
New Mac Configuration
New Mac ConfigurationPrefaceHere is a memorandum for my personal reference, which may also be beneficial for first-time Mac users.
1 Basic Settings1.1 Turn off the startup soundUnclick System Settings -> Sound -> Play sound on startup
2 Useful ToolsThe following links are to some superb developers.
Better365 official web: https://www.better365.cn/
2.1 iShotThis may be the best free snipping tool that supports marking, adding text, OCR, and capturing scrolling screenshots, among other featu ...
ML_Regression
Regression
ML_Preface
Preface