Skip to content

1202 今日总结

工作

  • 调研页面截图对比工具的实现方案,初级版本主要分为几个点:
    • 利用自动化测试工具,自动跑页面路由;
    • 利用 puppeteer 工具,对每个页面进行截图(第一次截图作为参照图)
    • 而后每次迭代,都跑一遍 页面截图工具,输出 迭代的页面图
    • 使用 图片的对比库,对 初始图和每次 迭代的图进行比较,输出差异图
  • 进阶版本:
    • 实现组件级别的页面截图
    • 实现后台可配置化的方式,存档到数据库,分析每次迭代的 视图 差异,方便测试找 bug 和 UI 验收。

相关文章:

对于之前同事开发的 eruda ui 验收走查工具,调研了一下是否可以像 redux-devtool 一样,添加到 Chrome 的 控制台,作为一个 调试的 tab 使用。

为此,调研了一下 Chrome 是否开放了对应的 API,以及具体如何实现,发现是可以的。

心情

所见所想,有感而发

今天是 20211202,对称日,同时,也到了 12 月,进入一年的尾声了,看看别人的 年终总结,思考自己的年终总结吧

这两天又没有刷算法,还有 100 天左右时间了,需要紧迫起来!!!

手撕代码

防抖节流等各种手写,http和网络,浏览器原理,性能优化,Webpack

贴一个昨天做的 一维数组转树形结构:

js
const source = [
  { id: 1, parentId: null },
  { id: 2, parentId: 1 },
  { id: 3, parentId: 1 },
  { id: 4, parentId: 2 },
  { id: 5, parentId: 2 },
  { id: 6, parentId: 3 },
]

// 目标是将 source 转换成下面的结构

// {
//   id: 1, 
//   children: [
//       {
//           id: 2,
//           children: [
//               { id: 4, children: [] },
//               { id: 5, children: [] }
//           ]
//       },
//       {
//           id: 3,
//           children: [
//               { id: 6, children: [] }
//           ]
//       }
//   ]
//   }

const rootObj = {
  id: source.find(s => s.parentId == null).id,
  children: []
}
const map = new Map();
source.filter(s => s.parentId !== null).forEach(item => {
  const subItem = { id: item.id, children: [] };
  if (map.has(item.parentId)) {
    const obj = map.get(item.parentId);
    obj.children.push(subItem)
    map.set(item.parentId, obj)
  } else {
    map.set(item.id, subItem)
  }
})

rootObj.children = [...map.values()]

console.log(JSON.stringify(rootObj))

项目/博客推荐

值得学习的项目/作者

  • 文章发布者 是一款开源的一文多发平台,可以帮助文章作者将编写好的文章自动发布到掘金、SegmentFault、CSDN、知乎、开源中国等技术媒体平台,传播优质知识,获取最大的曝光度。

面经相关

八股文相关

Released under the MIT License.