Keep

2019 第 12 周

发布:
  1. 看完了SICP 前三章节,也尝试用到很少的知识完成小问题
  2. [编程面试题之最大并行任务池:1)给定一个 taskList 和 poolSize;2)task 是异步的,返回 promise;3)task 不会失败。要求:1)同时不能有超过 poolSize 的 task 在执行;2)所有 taskList 里的 task 最终都执行完毕。from: https://weibo.com/1736191061/HllM53VfP 方案大同小异:1) https://codesandbox.io/s/18yqr1v6v4 2) https://github.com/bravf/Blog/issues/10

  3. 按计划定期读一些开源代码
    • scheduler,借老板分享 coroutine 提到调度器,顺带去读了 React 的实现,在读 sicp 时发现里面也有提到类似的概念,在看线程/进程切换时,也提到调度器算法:1) 先来先服务策略 2) 最短进程优先算法 3) 最短剩余时间优先算法 4) 最高响应比优先算法 5) 轮转算法 6) 最高优先级算法 - React 里面的实现,基于双向列表 6) 多级反馈队列算法 - 混合以上策略。🔌
    • LRU - 基于 hashMap 和双向列表
  4. 同事提出一个问题:应该怎么实现强制刷新子组件?
    • 同事的方案:给子组件传递 prop,值为一个随机数或 Date.now()
    • 其实上面方法已有现成的实现,就是绑定随机的 :key 值 - Ref
    • 拿到子组件实例,强制调用子组件方法 - forceUpdate
  5. 在 segmentfault 上看到一数组转树形结构的文章,想到当初重构管理后台菜单数据结构,让原始数据尽可能简单 (比如列表,在 JavaScript 里面很容易通过 组合),再通过转换程序把原始数据转换成 router 需要的结构。(ps: 为了保持习惯,继续沿用了 tree 结构)
  6. 数据能够反应出真实存在的问题,但有些人不是去考虑如何解决,却会去改变数据,让它反应不出问题。
  7. 发现一些问题:1) 面向尝试编程 😂 2) 已答应产品(或其他人)的事情,应该在 deadline 之前做好
  8. 习惯很难改。为了访问 Vue 官网,先访问百度搜索 vue 最后跳转到 vuejs.org。记住常用的域名 (比如:jd.com, reactjs.org) 还是很容易的,却因为习惯继续这么做下去
  9. 怎么评价程序员水平有没有提升?长时间做难度低的需求会不会让开发的质量反而降低?
  10. 坚持运动~

avatar image

@read2025, 生活在北京(北漂),程序员,宅,马拉松[纯粹],喜欢动漫。"骑士总能救出公主,是因为恶龙从没伤害过她"