工作学习资料备份记录

概述

毕业后一直有整理备份的习惯,但不够全面。那一年租房失窃,电脑相机被偷,毕业设计资料和代码全部丢失——那时还没有备份到网络,自此对本地备份的风险有一定认识。后来慢慢迁移到云端,也使用了云笔记。近日,所用的工作电脑固态硬盘损坏,先是windows系统提示备份,接着使用软件扫描硬盘,突然蓝屏,此后无法启动系统,无法访问硬盘。报修,三天后结论是修复不了。根据扫描结果,固态硬盘才通电使用1000小时,就如此挂了,想不明白是什么原因。幸好刚到公司半年左右,积累的资料不多,也没负责重大项目,手上2~3个工程只损失了几天的代码量,可凭记忆手动恢复。但前辈留下的非常多的工作资料就没有了。

本文以个人角度记录目录分类和备份方法。

一些习惯

原看不惯创建目录使用数字形式,但后来发现挺好的——只要不过份。
目录按大类划分。如“公司文档”、“资料”、“开发文档”、“问题集”、“事务”、“项目”。
其中公司文档为制度类文件,考勤表,考核表。事务为小任务(如临时任务,维护任务),项目为大任务,时间跨度长。

目录可细分,如“事务”类,可按“1 xxx”、“2 xxx”、“3 xxx”排序,或按年份+日期排序。对于类型相似的,可用前缀区别。

代码类使用“workshop”、“project”等大目录,保持目录全为英文。设置虚拟机的共享目录亦为代码所在目录,如此一来,一份代码,多处使用。实例:E://workshop/project/包含c++工程、MFC工程、nodejs工程、golang工程、Delphi工程,对于xp虚拟机,只使用Delphi工程;linux虚拟机,使用c++、golang工程。

一些方法

根据工作内容划分几大类。总体原则:能放云上放之,涉密放内部仓库。
版本管理争取及时提交。

代码类

使用版本管理,如git为主,兼顾svn。
工作工程,在公司内部个人账号创建仓库,尽量每天下班提交,允许有调试内容,但日志需写清楚。
如果是多人协作项目,向领导请示,可先在个人账号做一临时仓库,后再同步到主仓库。

文档类

使用云盘,如百度。将日常工作文档目录放置其中。注意不能太大,否则同步耗时。
考虑自建,如NextClound,已搭建有服务,但云主机容量是个问题。
文档类别:
正式文档,归入版本管理。
个人维护文档:归入版本管理。
日常文档,如专利申请,工作汇报等等,云盘。
公司制度,资料:云盘。
收集资料:云盘。

小笔记类

使用云笔记。如evernote、有道。不涉密者,如数据库常用sql语句,业务基础,问题排查,等等,可放之。

个人类

下面是个人学习研究的记录。
个人学习或实践的东西,一般会写文章/笔记/小结。不涉密都会公开,放github仓库,博客使用hexo构建。目前已经创建较完整的目录,涉及各方面,日常使用notepad++或vs code编辑,完成当成一个工程管理,提交文件后,自动触发ci构建并上传到云主机,从而完成网站更新。
另外一些不可公开资源或代码(非公司),存放于github私有仓库。
对于不同编程语言,学习时有积累的,使用xxx_test形式仓库名称,如shell_testgolang_testnodejs_test,等等。
有些杂记放到 https://github.com/cststudio/csthinking/issues 上面。如读书笔记(零散的)、共享资源、想法、思路、要做的事,等等。