大学生活指北

上交生存手册

很棒的小册子

一点个人心得

  • 陌生关键词敏感,随见随查增长见识。这是个增长自己见识的好方法,当然也要知道怎么去查(联系到之前提到的使用搜索引擎的能力)

  • 经常观察生活,一方面可以获得灵感,也可以实践所学

  • 一定要有人带,效率可能是自己摸爬滚打的几十倍:一个人查资料自学可能花几个小时,但是讲给别人可能就只要十几分钟。

  • 一个巧妙 / 恰当的算法,可能比费尽心机的去优化更高效

  • 工作前一定要熟悉自己的工具,比如学 C 这种存在直接操作内存的操作的语言,就需要先了解计算机基础知识;要学计算机,先要会用计算机,这个在国内其实是个很常见的问题——很多学生并不会用电脑;还有比如使用一个软件,记住快捷按键,可能会比鼠标操作快很多。

  • 不要在精神不好的时候做事情,不然很容易犯错,而且就算犯了错,也会因记忆模糊而较难复盘,导致整体效率降低。

  • C++ 这门语言学习路线很陡峭,比如想用 STL 容器很简单,但是想用好确实难,可能需要了解右值引用、移动语义等等高阶内容;而学习图像处理,比如使用 OpenCV 的 C++ 接口可能会遇到类型转换等问题,给学习者增添了更多学习成本,而使用 Python 可能就不用太关心类型问题,更能关注内容在输入输出还有算法上。

https://gist.github.com/tsagaanbar/0ebb21eb266fc411bed3b7da02f31fa9

至于到底学习过程中有没有必要做记录做笔记这件事,个人觉得,多留资料不是坏事,记录自己的学习历程的同时,也能帮助自己反省。

如果习得了什么新知,建议和大家分享,也许是个很有效的学习方式,也能帮助其他人高效的获取知识。

设备选购

考虑到便携性,建议选购轻薄本,不建议够买游戏本,有条件可在固定场所配置台式机。如果有游戏需要或者不在意便携性除外。

没有能力购买需要的设备怎么办?学校机房的电脑可以使用,不过学校机房电脑上的环境十分陈旧,可能需要每次手动配置环境,或者使用类似 Win To Go 的方案。

安卓手机可以通过安装 Termux 应用获得一个不错的 Linux 开发环境,能够满足基础的学习需要。

可以购买一个自己的 U 盘,不能贪图便宜。容量建议在 32 GB 以上。不考虑 USB 2.0 接口的设备。