Shenfq

1149
获赞数
9
关注数
6805
粉丝数
长沙
IP 属地湖南
2016-05-11 加入
浏览 36.3k

欢迎关注公众号「自然醒的笔记本」

3,963 声望|专家
全站排名超越 99.66% 用户
javascript
3.4k
前端
1.4k
react
871
vue.js
747
node.js
544
个人动态
  • 发布了文章2022-10-08
    详解 Webpack devtools
    最近在开发一个低代码平台,主要用于运营搭建 H5 活动。这中间涉及到第三方组件的开发,而第三方组件想要接入平台,需要经过我们特定的打包工具来 build。构建之后的组件,会合并成单个的 js 文件,而且代码会被压缩会混淆,这个时候如果需要调试,那就会极其痛苦。...
  • 发布了文章2022-03-28
    什么是 LFU 算法?
    上次的文章介绍了 LRU 算法,今天打算来介绍一下 LFU 算法。在上篇文章中有提到, LFU(Least frequently used:最少使用)算法与 LRU 算法只是在淘汰策略上有所不同,LRU 倾向于保留最近有使用的数据,而 LFU 倾向于保留使用频率较高的数据。
  • 发布了文章2022-03-14
    什么是 LRU 算法?
    缓存 是我们写代码过程中常用的一种手段,是一种空间换时间的做法。就拿我们经常使用的 HTTP 协议,其中也存在强缓存和协商缓存两种缓存方式。当我们打开一个网站的时候,浏览器会查询该请求的响应头,通过判断响应头中是否有 Cache-Control、Last-Modified、ETag 等...
  • 发布了文章2022-01-21
    关于 Promise 的执行顺序
    最近看到一个 Promise 相关的很有意思的代码: {代码...} 第一次看到这个代码的时候,以为的输出结果会是:1,2,3,4,但是被实际的输出结果打脸 。如图所示,实际的输出结果为:1,2,4,3。代码分析为了搞清楚实际的输出结果为什么是:1,2,4,3,我们来一步步分析代码的...
  • 发布了文章2022-01-13
    新一代的编译工具 SWC
    最近前端圈掀起了一阵 rust 风,凡是能用 rust 重写的前端工具就用 rust 重写,今天介绍的工具就是通过 rust 实现的 babel:swc,一个将 ES6 转化为 ES5 的工具。
  • 发布了文章2021-12-15
    全新的 Vue3 状态管理工具:Pinia
    Vue3 发布已经有一段时间了,它采用了新的响应式系统,而且构建了一套全新的 Composition API。Vue 的周边生态都在加紧适配这套新的系统,官方的状态管理库 Vuex 也在适配中,为此官方提出了一个 Vuex 5 的全新提案。
  • 发布了文章2021-11-16
    你不知道的 Node.js Util
    从类型判断说起在 JavaScript 中,进行变量的类型校验是一个非常令人头疼的事,如果只是简单的使用 typeof 会到各种各样的问题。举几个简单的🌰: {代码...} 后来,大家发现可以使用 Object.prototype.toString() 方法来进行变量类型的判断。 {代码...} 对 toString()...
  • 发布了文章2021-10-20
    介绍一个请求库 — Undici
    在浏览器中,如果想发起一个请求,我们以前会使用到 xhr,不过这种底层 api,往往调用方式比较简陋。为了提高开发效率, jQuery 的 $.ajax 可能是最好的选择,好在后来出现了更加现代化的 fetch api 。
  • 发布了文章2021-09-06
    用 JavaScript 做数独
    最近看到老婆天天在手机上玩数独,突然想起 N 年前刷 LeetCode 的时候,有个类似的算法题(37.解数独),是不是可以把这个算法进行可视化。说干就干,经过一个小时的实践,最终效果如下:怎么解数独解数独之前,我们先了解一下数独的规则:数字 1-9 在每一行只能出现...
  • 发布了文章2021-08-11
    使用 GTD 优化自己的工作和生活
    算起来工作已经四个年头了,刚开始工作就在使用 TODO 工具,比如 OneNote、奇妙清单(现在叫:微软 TODO)、滴答清单。但是,在用的过程中很多 TODO 直到项目结束了,依然是 TODO。
  • 发布了文章2021-08-05
    你给开源项目提过 PR 吗?
    这件事还得从好几年前(2019年)说起,那时候在折腾一个虚拟 DOM 的玩具(参考之前的文章:🔗虚拟DOM到底是什么?),作为一个标准的前端工程,构建工具、Lint 工具、代码格式化都是必不可少的。
  • 发布了文章2021-08-03
    React 中 setState 是一个宏任务还是微任务?
    能问出这个问题,面试官应该对 React 不是很了解,也是可能是看到面试者简历里面有写过自己熟悉 React,面试官想通过这个问题来判断面试者是不是真的熟悉 React 🤣。
  • 发布了文章2021-07-22
    Webpack 热更新原理
    用过 webpack 的同学应该都知道,有一个特别好用的『热更新』,在不刷新页面的情况下,就能将代码推到浏览器。今天的文章将会探寻一下 webpack 热更新的秘密。如何配置热更新我们先安装一些我们需要的包: {代码...} 然后,我们需要弄明白,webpack 从版本 webpack@4...
  • 点评了产品2021-07-08
    Typora - 让 Markdown 所见即所得
    最喜欢哪些功能,好在哪里?支持 Markdown 的实时预览自定义 Markdown 样式利用插件能够自动上传图片可直接导出为 PDF、图片可跨平台不喜欢哪些功能,缺点或不足是什么?唯一的缺点大概就是没有云服务,不过规范好文件夹,通过 icloud 也能达到我的目的。但是到 windows 平台就没法好好同步了。他解决了你的哪些问题?日...
  • 发布了文章2021-06-16
    我与思否的回忆丨思否 9 周年
    最近听说思否已经九周年了,打开了我在的个人主页,发现第一次加入思否还是 2016 年的事情,那个时候还是大三,每天都在学校埋头苦学前端技术。
  • 发布了文章2021-06-02
    JavaScript 异步编程史
    早期的 Web 应用中,与后台进行交互时,需要进行 form 表单的提交,然后在页面刷新后给用户反馈结果。在页面刷新过程中,后台会重新返回一段 HTML 代码,这段 HTML 中的大部分内容与之前页面基本相同,这势必造成了流量的浪费,而且一来一回也延长了页面的响应时间,...
  • 发布了文章2021-04-01
    下一代的模板引擎:lit-html
    其实早在 Google 提出 Web Components 的时候,就在此基础上发布了 Polymer 框架。只是这个框架一直雷声大雨点小,内部似乎也对这个项目不太满意,然后他们团队又开发了两个更加现代化的框架(或者说是库?): lit-html、lit-element,今天的文章会重点介绍 lit-htm...
  • 赞了文章2021-03-23
    React Fiber很难?六个问题助你理解 React Fiber
    React Fiber 是Facebook花费两年余时间对 React 做出的一个重大改变与优化,是对 React 核心算法的一次重新实现。从Facebook在 React Conf 2017会议上确认,React Fiber 会在React 16 版本发布至今,也已过去三年有余,如今,React 17 业已发布,社区关于Fiber的优秀...
  • 发布了文章2021-03-09
    读《贫穷的本质》引发的一些思考
    最近在看了 《贫穷的本质》这本书,然后结合书中的观点和最近工作的一些思考,写了这么一篇文章,和大家分享一下我的一些想法。书的最后,给大家总结了五点,穷人之所以一直贫穷的原因,因为看的是翻译的书籍,这里我用我自己的话来复述一下:穷人通常缺少信息来源,...
  • 发布了文章2021-02-24
    Web Components 上手指南
    现在的前端开发基本离不开 React、Vue 这两个框架的支撑,而这两个框架下面又衍生出了许多的自定义组件库:Element(Vue)Ant Design(React)这些组件库的出现,让我们可以直接使用已经封装好的组件,而且在开源社区的帮助下,出现了很多的模板项目( vue-element-a...