保研经历总结

2020年保研算是告一段落了。因为基地里面要组织给学弟学妹的分享活动,借此机会正好 来写一篇总结。

Rust 编译到 musl target 的踩坑记录

Rust 在 x86_64-unknown-linux-gnu 目标下默认会动态链接到系统 C 运行时,而不同发行版之间的 libc 可能会有兼容性问题。如果想要把一次编译好的可执行文件放到不同的 Linux 发行版上面去跑,最好采用 x86_64-unknown-linux-musl 目标进行静态编译。

从 C++ 的错误处理说起

错误处理是一个非常重要的软件工程问题。对软件中出现的非致命错误的不当处理,是几乎所有的灾难性系统故障的诱因。 编程语言往往需要提供一些用于错误处理的语言设施,这些设施反过来会影响项目中错误处理的方式。不同的语言错误处理方式不同。例如 Java 采用基于 try-throw-catch 语法的异常机制,而 Go 语言则选择手动检测函数返回的 error 对象。一个令人惊讶的事实是,C++ 到现在还没有一个被广泛接受的错误处理方式。

\(\LaTeX\) 公式

\(\LaTeX\) 是一款非常优秀的文档准备系统,它强大的数学排版功能举世闻 名。由于 Mathjax 的广泛采用,\(\LaTeX\) 数学公式也成为了 Web 技术上数学 公式排版的事实标准。但 \(\LaTeX\) 的学习曲线陡峭,基本的命令难以轻松应 对实际写作中遇到的复杂公式。本文选取并实现了 \(\textrm{The \TeX{}book}\) 第 18 章 末尾提供的 20 个 Chanllenge。以期为想要深入学习 \(\LaTeX\) 公式排版的读 者提供参考。