Algorithm

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

剑指 Offer 16. 数值的整数次方
题解记录

  1. 看了题解才答出
  2. 关键点:
    1. 减少重复运算,将 xn 拆分成 xn/2 来计算
    2. 递归的结束条件是考虑 n 的三种特殊值:-1, 0, 1
    3. 考虑 n 的奇偶性

Review

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

tapable 原理详解
因为最近在搞一个新手引导配置化的技术方案,想引入插件化的机制来方便功能的扩展。很自然地,联想到了 webpack 的强大的插件系统——背后就是 tapable 在管理任务流程,所以找了相关的文章看了看,目前觉得这篇文章讲的比较不错。下图是 tapable 支持的同步任务流程和异步任务流程的接口方法。
24E603C0-CD6B-4B6E-A676-DACA8259FAFE.jpg

Tip

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

最近在写技术方案,涉及到画图。目前常用的画图工具有2个:DrawIO/ProcessOn 图形化界面绘图 PlantUML声明式绘图。两者各有特点:

  • 前者:优点是绘图过程简单直观,可选图形比较多;缺点是需要自己摆放布局和连线,调整起来效率较低
  • 后者:优点是通过几行代码就能声明一张图,效率较高;缺点是上手成本较高,绘图者需学习相关的语法

附录:

看《乔布斯传》,粗略翻了几章,能初略感受到他的一些特点:控制欲、完美主义、为人功利、有鲜明的个性… 不知道为啥,有点不想继续看了 😂 —— 虽然这本书备受一些人的追捧。可能看书也讲究个时机或者眼缘吧?
48CCD75D-3EE0-494C-8BCB-E41DCFA410BF.jpg