Algorithm

主要是为了编程训练和学习。每周至少做一个 leetcode 的算法题(先从Easy开始,然后再Medium,最后才Hard)。进行编程训练,如果不训练你看再多的算法书,你依然不会做算法题,看完书后,你需要训练。关于做Leetcode的的优势,你可以看一下我在coolshell上的文章 Leetcode 编程训练 - 酷 壳 - CoolShell

剑指 Offer 20. 表示数值的字符串
收获:自己的解法主要使用了正则匹配。看了题解,官方推荐的是使用有限状态自动机的思路来进行解决。题解暂没看懂,但是有限状态机这个思路值得进一步探究和学习。

Review

主要是为了学习英文,如果你的英文不行,你基本上无缘技术高手。所以,需要你阅读并点评至少一篇英文技术文章,我个人最喜欢去的地方是http://Medium.com(需要梯子)以及各个公司的技术blog,如Netflix的。

Dan Abramov: https://overreacted.io/before-you-memo/
点评:大佬 Dan 给出了 React 耗时组件的 2 种提升性能的写法,没有使用到第三方库,只是对代码的组织进行一点调整,便取得了优化的效果,真是让人眼前一亮。我们需要做些什么事情,从而也能产出 Dan 这样的思考成果呢?这点让人深思…

Tip

主要是为了总结和归纳你在时常工作中所遇到的知识点。学习至少一个技术技巧。你在工作中遇到的问题,踩过的坑,学习的点滴知识。

本周新学到的开发 Tips:

  • Devtools 现在支持 CSS Overview 面板了,可以查看颜色、字体、未生效的 CSS 样式、媒体查询等
  • 通过 demo 了解了 mobx-react 的用法
  • 本周购买了 Alfred 软件,在电脑上安装了 ByteSearch 工作流,感觉爆赞

Share

主要是为了建立你的影响力,能够输出价值观。分享一篇有观点和思考的技术文章。

本周看完了一本电子书:《认知觉醒》,作者周岭。现在印象比较深的几个点:

  • 做事情尽量争取反馈,这样才能知道这个事情做的如何,或者对自己的成长作用如何
  • 找到自己能力舒适区临界之外附近的事情做,即跳一跳可以够得着的“东西”,不断拓宽自己的能力边界
  • 看书是不必为了掌握所有的东西,只需要关注那些能让自己触动的东西,并且看完之后要有所行动和改变
  • 学会将注意力专注在当下,一次只专注一件事情
  • 最重要:要有行动、立即行动、有效行动