2019年4月前端周记

本文为阅读学习笔记,原文请戳原文题目链接:
第一周

  • 给所有开发者的React Native详细入门指南(第一阶段)
  1. index.android.jsindex.ios.js 分别作为Android手机和iOS手机上程序开始的入口
  2. RefreshControl(下拉刷新)
  • 传统 Ajax 已死,Fetch 永生
  1. fetchAPI 基于promise设计
  2. 主要讲异步处理和 Promise
  3. 使用await + fetch
try { let response = await fetch(url); let data = https://www.it610.com/article/response.json(); console.log(data); } catch(e) { console.log("Oops, error", e); } // 注:这段代码如果想运行,外面需要包一个 async function

  1. 用于同构应用的isomorphic-fetch
  2. Fetch 请求默认是不带 cookie 的,需要设置 fetch(url, {credentials: 'include'})
  • 【前端词典】从输入 URL 到展现涉及哪些缓存环节(非常详细)
  1. 【2019年4月前端周记】地址栏网址缓存
  2. 检查 HSTS 预加载列表
  3. DNS 缓存
  4. ARP(地址解析协议)缓存
  5. TCP 发送缓冲区 & 接收缓冲区
  6. HTTP 请求缓存( CDN 节点缓存、代理服务器缓存、浏览器缓存、后端动态计算结果缓存等 )
    • 强缓存优先级 > 协商缓存优先级
    • 强缓存:Cache-ControlExpires 优先级更高
    • ETag 优先级 > Last-Modified 优先级。
第二周
  • 你不知道的浏览器页面渲染机制
    • 构建DOM的过程中:
      • 将字节数据=>字符串=>Token=>Node=>DOM。
      • Token会标识出当前token是startTag,还是endTag。
      • 构建DOM的过程中,不是等所有Token都转换完成后再去生成节点对象,而是一边生成Token一边消耗Token来生成节点对象。也就是每个Token被生成后,会立刻消耗这个Token创建出节点对象。
    • 构建渲染树:
      • 在渲染过程中遇到js时,不只是阻塞DOM的构建,它会导致CSSOM也阻塞DOM的构建。
      • 因为js不只可以改DOM,它还可以更改样式,也就是它可以更改CSSOM。不完整的CSSOM是无法使用的,如果js想访问CSSOM并更改它,那么在执行js时,必须要能拿到完整的CSSOM。
      • 因此浏览器会先下载和构建CSSOM,然后再执行JavaScript,最后在继续构建DOM。
  • git时光穿梭机
    • git reflog 记录所有git操作
    • git cherry-pick 挑选一个我们需要的 commit 进行操作。它可以用于将在其他分支上的 commit 修改,移植到当前的分支。
  • 为什么 [ ] == false,而 ! ! [ ] == true
    • loose comparision
  • 《中国第五届 CSS 大会》参会总结
    • margin: auto
    • @supports
    • css-doodle
  • 前端九部 - 入门者手册2019
  • javascript-algorithms
  • 前端面试题(偏难)

    推荐阅读