2019 年结束,按照国际惯例,应该有一篇年终总结报告,以对过去一年的个人工作、学习进行回顾和思考。类似的总结总是枯燥又无味,一不留神就容易变成没有目的性的流水账记录,索性以 TODO-List 的形式将每周完成的任务记录了下来,但是记录就是记录,读起来琐碎零散也没有意义。这样想来总结性质的报告似乎也是有意义的,趁着放假前的空闲周末,就来赋予总结报告以意义吧,顺便立下 flag 等着明年打脸。

文德斯紬.jpg

分布式存储系统项目

在写 2018 年年终总结时,一口气制定了太多的学习计划,却未曾料到全年过大半的时间都扑在了分布式项目上,制定的很多计划都无限延期。尽管制定的计划执行的并不如意,但项目上的收获却很多。从整体来看,项目上的全年工作大体可以分为:相关内容调研 -> demo 实现 -> 撰写申报材料 -> 部署少量设备上的实验 -> 项目系统设计 -> 编码阶段。

相关内容调研阶段

从年初的系统调研开始,完成了移动分布式非易失性存储架构关于研究现状与现存问题的调研整理,并以分布式哈希表为切入点,先后分析了几个经典分布式哈希表算法,其中着重调研了 IPFS 及其使用的 S/Kademlia DHT 算法。IPFS 虽然宣称要替代 HTTP 协议,希望将分散在全球各地的存储资源利用起来,组织成一张网状的去中心化分布式存储系统,但从目前的应用情况以及多方面存储需求来看,IPFS 最终也只能是个高级版的类 bitTorrent 应用。

混合分布式存储 demo 实现

独立设计并完成混合分布式存储 demo 程序,代码基于 C++11 标准以及 boost-1.6.9 库,软件部署到五台树莓派和三台 PC 机上完成调试与测试。根据 git 的提交历史记录显示,commit 从 3 月 20 日持续到 7 月 16 日,跨度 118 天。该 demo 的设计非常糟糕,设计之初并没有考虑之后的事情,仅仅达到了能编译跑通的地步,也没有引入配置文件,所有参数都以 magic number 写死在代码中,每次参数变动都需要修改多个源码文件并重新编译部署,这坨堆砌起来的代码屎山严重拉长了测试周期。

撰写申报材料与初期实验

在对混合分布式存储 demo 的初期测试过程中,搭建了树莓派集群以及局域网 raspbian 镜像源,同时将作为对照组的 CEPH 和 HDFS 部署到了五台树莓派上做实验并收集实验数据,之后就开始写材料。这段时间主要集中在暑假,补充面向申报 ××× 的相关材料,“××× 与 HDFS、IPFS、CEPH 等其他分布式存储系统的区别、创新点、新增解释与描述修改”、“××× 平台处理器、总线与存储性能调研”、“去中心化分布式系统调研报告”、“××× 软硬协同分布式智能存储技术报告”以及一揽子申报材料。写一揽子材料和改 PPT 耗费了很多时间,代价是严重压缩了找工作和专业内容复习的精力。9 月初借调混合内存项目帮忙数据处理程序的优化。

项目组成立、系统设计与编码阶段

项目组包含五位实验室正式成员与两位准成员,以及两位编外成员(其中一位中途退出),为了减少沟通成本,增强管理分工与责权到人的效率,以及多人合作模式下的代码质量控制,在内网部署了 gitlab 用于代码管理、部署 OpenProject 用于项目及报告管理。从九月项目组正式成立到十一月底完成系统的大体设计,期间补充调研了 LoRa 协议,完成系统数据流图和控制流图,一共迭代了九份设计报告,基本完成了系统初步设计方案。十一月底开始着手功能模块测试与项目编码阶段,初期基于 googletest 以及 VS2019 搭建了系统的基本框架,学习 CMakeLists.txt 书写规则替代 Makefile 在 Linux 系统平台下完成跨平台的编译配置。随后处理平台与软件包版本的兼容性,以提供系统跨平台的编译运行。从十二月上旬开始向仓库提交模块代码以及相应的测试单元,一共提交了 47 个 commit 以及 92 个测试单元,其中以 Xxiong 的名义提交了 31 个 feat/fix/doc/chore/test,以 ene 的名义提交了 16 个针对 Linux 平台兼容性的 test 单元测试补充。

其他相关内容

除了以上的项目内容,本年度还完成了一些与之相关的内容。年初完成了开题报告、答辩 PPT 制作、开题报告修改提交、开题组内答辩流程。四月份开始带了三位做“分布式哈希表优化”的国创团队,主要负责任务规划、论文实验指导与相关问题解答、每周工作量控制与进度监督、答辩材料与报告修改等。十月份协助一位同学做分布式哈希表的数据布局优化研究,参与了少量理论分析和模拟代码相关工作。

复习与求职

七月开始,很多大厂已经开启了秋招提前批,在写一揽子材料的同时抽调了少量时间复习了算法与数据结构、操作系统和计算机网络理论知识,在 LeetCode 上刷了少量算法题,之后便开始投递简历。八月面试完几家公司后暂停求职进程,便进入九月份开始项目设计。

网站建设

年初从搬瓦工上将网站迁移回阿里云,重新设计了 xiocs.com 主页并做了网站图规划,从主页分别引出博客、Suki、Wiki、图册、工具站。使用 MediaWiki 搭建了一个个人 wiki 作为知识管理工具,现在切换到了 DokuWiki;使用 Chevereto 搭建了一个独立网络图库作为相册和图床使用;将 Typecho 的博客主题切换到 Initial 并进行基本的个性化设置;重新设计网站 LOGO;建设在线个人工具站,包含颜色选择器与颜色查询对照表、特殊字符编码表等;基于 WordPress 搭建了 Suki 作为个人爱好的内容发布点;在 ene 和 ene2 两台设备上部署 Duplicati 并设置数据定期备份。期间修复了博客系统无法写文章和上传图片的异常。

其他工作

今年帮助经管学院的一位师姐完成“根据新闻标题抓取并解析正文的爬虫项目”的数据处理需求,话说上一年和上上年也分别接了经管学院的一位师姐和师兄做一个年度报表数据处理的外包。第二个事情是复习证券市场基本法律法规与金融市场基础知识,顺便去考了证券业从业资格证;考完后立刻着手复习期货及衍生品基础与期货法律法规,但暂时未去报考期货业从业资格证。第三件事情是参加了华为的 CodeCraft 竞赛,感谢华为给的机会,去成都与同龄的各众大佬们同台竞技,然后惨遭淘汰。最后一个很让我开心的事情,在十一月终于拿下了即将过期的 C1 驾照,大约三年前,也就是 17 年春节返校后便去报了驾校,原计划在本科毕业前拿下驾照,未曾料到一进实验室就忙得不可开交,大四过了科目一后就一直鸽着。多少次想起来还有驾照要考,但都安慰自己“不就是一个驾照嘛,以后工作了也能考”。终于到了十月份,再次想起还有驾照要考,眼看着只剩下三个多月的有效期了,一咬牙还是抽时间去学了,虽然科二跪了一次,两个月左右还是拿下了驾照,可喜可贺可喜可贺,撒花庆祝一下。
*★,°*:.☆( ̄▽ ̄)/$:*.°★*

个人知识管理体系总结

经过两年的探索与实践,终于基于【纸质笔记本 / evernote / goodnotes / 概念画板 + dokuwiki + typecho / wordpress】构建起了“笔记 -> 基于笔记的知识整理 -> 基于知识的思考总结”这样一个个人知识管理体系,从目前的实践来看,笔记包含了文字、草图、图片、音频、视频录像等多种形式,但是学习新知识的时间太少,用于思考的时间也太少,没有学习到太多的新知识,笔记大多数还是对项目的思考以及一些设计草图;知识整理方面,本该基于笔记来整理知识的学习过程,却因学习新知识太少,故而也未整理多少成体系的知识;最后是思考总结方面,如上述原因,没有分配多少时间用于思考,仅仅是单方面的查找资料用于写材料。这一套个人知识管理体系还需要进一步实践和优化。

知乎网易云音乐总结.jpg

2020 年全年计划

小小地定些能够完成的计划。

  • 主业学习计划与源码解析计划
  • 毕业论文,希望毕业顺利
  • 项目推进与交接
  • 电子琴,以『幽雅に咲かせ、墨染の樱 - TAMUSIC』和『昼下がりの憂鬱 - みかん箱』为目标
  • 概念线稿与人物线稿
  • 外语(英语/日语)单词词汇量的补充
  • 写作,一直以来想写的小说/动漫/GAL 日后谈、行业形势报表分析和关于分布式存储的思考
  • 持续关注资本市场,等待机会
  • 减少书单里面未看的条目