ARTS 打卡第一周(200511-200517)

用户头像
老胡爱分享
关注
发布于: 2020 年 08 月 21 日
ARTS打卡第一周(200511-200517)

Algorithm



leetcode-230:https://leetcode.com/problems/kth-smallest-element-in-a-bst/
leetcode-94:https://leetcode.com/problems/binary-tree-inorder-traversal/
leetcode-144:https://leetcode.com/problems/binary-tree-preorder-traversal/
leetcode-145:https://leetcode.com/problems/binary-tree-postorder-traversal/
leetcode-897:https://leetcode.com/problems/increasing-order-search-tree/
leetcode-997:https://leetcode.com/problems/find-the-town-judge/



Review

1、Implementing a Key-Value Store – Part 1: What are key-value stores, and why implement one

点评:

作者介绍了kv存储及为什么要实现,kv是一种简易的数据库,用于存储数据。比如现在的redis,是一种可支持快速读/存的数据库。可以有多种数据结构实现KV存储系统,比如哈希表和平衡树。

要实现kv存储系统的原因是为了提升后端程序员的技术栈,而且阅读书籍和wiki太无聊且缺少实践。

作者为了回顾以下后端相关知识点:

  • C++

  • 面向对象编程

  • 数据结构和算法

  • 内存管理

  • 多线程、多进程和并发

  • 网络编程(server/client)

  • 磁盘管理的I/O问题以及文件系统使用

  • 文章的结构很清晰,先介绍了存储系统,以及作为后端通过实践去实现一个,而且重点并不是造轮子,只是在参考已有KV存储系统的实现,取其精华,去其糟粕,实现一个更好的KV存储系统,同时也提升自己技能树。



这样的学习习惯可以借鉴,带着目的去学习和练习,目标清晰,也不会被其他东西打断。自己的学习也可以参考列一下自己要学习的知识点,不能总是东拼西凑的,知识点需要能串起来。



2、如何阅读论文(https://www.cc.gatech.edu/~akmassey/posts/2012-02-15-advice-on-reading-academic-papers.html

总结记录:

首先读简要和结论:

找到作者想表达的内容和研究的课题

快速过一遍论文,得出:

目的、结构和研究方向

不用每一个字都读了,如果遇到不懂的,可以暂时先跳过,继续往下读,后面的内容可能会解释前面的内容



Tip

参数校验,定义通用参数,把方法写在类里边,在请求到来时或者在拦截器调用类的校验方法。



模型是人们对一类事物的概括与抽象,可以帮助我们更好地理解事物的本质,更方便地解决问题。比如,数学公式是我们对物理与数学规律的抽象,地图和沙盘是我们对地理空间的抽象,软件架构图是软件工程师对软件系统的抽象。

通过抽象,我们更容易把握事物的内在规律,而不是被纷繁复杂的事物表象所迷惑,更进一步深刻地认识这个世界。通过抽象,伽利略发现力是改变物体运动的原因,而不是使物体运动的原因,为全人类打开了现代科学的大门。



关于认为做“最新东西”写的乱点没问题,反正最后会重构的问题;这个理论对么?当然对,但是有一个前提,就是做的东西简单, 更确切的讲, 好测, 能很容易验证基本逻辑或者系统的normal path; 对于不好测,且出一个bug就影响重大, 可能会导致黄掉整个项目,那么程序复杂度就不能过于给系统添麻烦,程序复杂度和业务复杂度不成基本线性关系,说明这个程序员写程序没有scalability,做点简单东西还行,做复杂东西就原地爆炸;程序员产出的code能不能在复杂度这个维度上scale,是我想指出的东西。(阿莱克西斯-知乎)



Share

https://www.hoohack.me/2020/05/16/summary-of-new-project



挑战看起来不容易,做起来好难,坚持下去更难,把挑战暴露出来,希望能接受大家的监督,完成这个挑战。

这是第一次挑战的记录,排版有点乱,还在学习怎么做好排版,之后会继续改良。如果有错误的地方,欢迎指正。

原创文章,文笔有限,才疏学浅,文中若有不正之处,万望告知。

如果本文对你有帮助,请点个赞吧,谢谢



参考链接:

左耳听风ARTS:https://time.geekbang.org/column/article/85839

编程到底难在哪里?:https://www.zhihu.com/question/22508677/answer/276595266

Advice on Reading Academic Papers:https://www.cc.gatech.edu/~akmassey/posts/2012-02-15-advice-on-reading-academic-papers.html

Implementing a Key-Value Store:http://codecapsule.com/2012/11/07/implementing-a-key-value-store-part-1-what-are-key-value-stores-and-why-implement-one/



发布于: 2020 年 08 月 21 日 阅读数: 30
用户头像

老胡爱分享

关注

公众号【老胡爱分享】 2018.03.13 加入

一个热爱分享,热爱分享的普通人。 追求终身成长,希望用文字的力量服务大众。

评论

发布
暂无评论
ARTS打卡第一周(200511-200517)