2分钟速写快排_社区达人页

个人头像照片
2分钟速写快排
已加入开发者社区1407

勋章 更多

个人头像照片
专家博主
专家博主
个人头像照片
星级博主
星级博主
个人头像照片
技术博主
技术博主
个人头像照片
初入江湖
初入江湖

成就

已发布61篇文章
0条评论
已回答0个问题
0条评论
已发布0个视频
github地址

技术能力

兴趣领域
擅长领域
技术认证

暂时未有相关云产品技术能力~

掘金平台优质作者,目前就职于猿辅导研发工程师岗位,擅长前端工程化技术

暂无精选文章
暂无更多信息

2023年01月

  • 01.07 18:30:35
    发表了文章 2023-01-07 18:30:35

    使用基于 AMD 的 RequireJS 写一个花活项目

    最近在研究前端模块化,大多数文章都提到了 AMD,关于 AMD 的模块标准(或者说规范)将的都很清楚,什么异步加载、保证正确顺序,对付八股很够,但是唯独没有关于 AMD 的实操工程,大多数是纸上谈
  • 01.07 18:29:20
    发表了文章 2023-01-07 18:29:20

    继 CJS、AMD 之后又来一个 UMD,究竟是什么?有什么用?

    最近研究了一下 Vue 和 React 编译出来的版本文件,我发现 Vue 提供了 CommonJS|ES Module|ES Module browser|UMD 四种格式,而 React 提供 CommonJS|UMD 两个版本,对于 CommonJS|ES Module 对应的八股可以说是很多了,而里面夹杂的 UMD 又是什么东西呢?
  • 01.07 18:25:59
    发表了文章 2023-01-07 18:25:59

    有了 React.createElement 为什么还需要 JSX runtime,作用是什么?

    之前的一篇 基于 Webpack 从 0 到 1 启动一个 React 项目 文章中有介绍的是如何从 0 到 1 配置 React 项目中的 JSX 转换,在查阅文档时有介绍到从本质,JSX 只是为
  • 01.07 18:24:58
    发表了文章 2023-01-07 18:24:58

    用 @types 前缀的包是什么?有什么用?

    解决过 TypeScript 的项目大概都是从两个方向,Vue3 方向和 React Native 方向,而在 React Native 方向上我经常会遇到一个烦人的错误,这个问题的场景通常出现于 t
  • 01.07 18:24:09
    发表了文章 2023-01-07 18:24:09

    rollup 是什么?如何使用?

    继 Webpack、Vite 等前端工具链系列的了解之后,又碰到了 Rollup,我之前对 Rollup 的了解仅停留在 Vite 打包时使用、组里的大佬使用 Rollup 写过一个静态官网页面,为了
  • 01.07 18:22:49
    发表了文章 2023-01-07 18:22:49

    类型体操之实现 type-challenges 中的 built-in 的所有类型

    #built-in 是 type-challenges 库中的一个 tag,里面一共包括了 7 个类型,其中前两个就是之前介绍过的 类型体操之实现 Pick 和 Omit 中的 Pick 和 Omit
  • 01.07 18:20:30
    发表了文章 2023-01-07 18:20:30

    类型体操之实现 Pick 和 Omit

    之前深信服前端一面的时候,面试官问我会 TypeScript 吗?想到我之前说 Vue3 原理时顺便提了一口 Vue3 是基于 TypeScript 写的,我既然懂 Vue3 原理,那说不会一点 TypeScript 那实在是有点说不过去
  • 01.07 18:18:51
    发表了文章 2023-01-07 18:18:51

    手把手教你防御 XSS 攻击

    继上一篇文章介绍了如何实现 XSS 攻击之后,后面留下了伏笔,我们应该如何去防御文章介绍的 XSS 各种攻击呢?废话少说,直接上车!
  • 01.07 18:17:42
    发表了文章 2023-01-07 18:17:42

    手把手教你实现 XSS 攻击

    XSS 攻击理论知识学习完成的同学可以参考这篇一些攻击实现,理论背的再好还是要实践呀
  • 01.07 18:16:29
    发表了文章 2023-01-07 18:16:29

    package.lock.json 到底有什么用?

    目前的前端现代工程化中,npm 的生态已经成为密不可分的一环,而每个基于 npm 包的项目的 npm init 之后,都会有一个 package.json,在 npm install 之后又会有一个 package-lock.json,它们极为相似的名称让我很感兴趣,package-lock.json 究竟是何方神圣?毕竟平常我只修改 package.json
  • 01.07 18:14:40
    发表了文章 2023-01-07 18:14:40

    什么是 Web Components?如何使用?

    之前就有在上一次更文挑战中看到掘金博主介绍过 Web Components,而最近也是有一篇文章介绍已经有一个组件库 Quark Design 是基于 Web Components 实现,并且已经在生产环境中验证过了,所以这就有必要研究一下了
  • 01.07 18:12:06
    发表了文章 2023-01-07 18:12:06

    手把手教你防御 CSRF 攻击

    之前已经写了两篇关于 CSRF 的文章,其中昨天的一篇手把手教你实现一次 CSRF 攻击 留下了防御的悬念,而今天这篇就是教导如何防御 CSRF 攻击
  • 01.07 18:10:54
    发表了文章 2023-01-07 18:10:54

    手把手教你实现一次 CSRF 攻击

    之前写过一篇 CSRF 攻击文章,介绍了定义、触发方式、防御方式,但唯独没有给出一个实现方式,今天就借这篇文章重新写出一个实现方式
  • 01.07 18:09:53
    发表了文章 2023-01-07 18:09:53

    如何基于 iframe 解决跨域?

    一般跨域听得比较多的方案是 Nginx 代理,CORS,而 JSONP 和 iframe 的跨域解决往往只在背八股文的时候出现,而且老是只给 JSONP 的实际操作手段,老是找不着 iframe 的实际操作,所以这篇文章就是介绍如何基于 iframe 解决跨域
  • 01.07 18:08:38
    发表了文章 2023-01-07 18:08:38

    基于 Vite 从 0 到 1 启动一个 React 项目

    如果不使用 Vite 官方提供的 template 选项,要如何从一个 Vite 依赖的情况下逐步配置启动个 React?如何实现 Webpack 的静态资源服务,如何实现基于 Webpack 的 loader 的 JSX 的自动转换?
  • 01.07 18:05:35
    发表了文章 2023-01-07 18:05:35

    基于 Webpack 从 0 到 1 启动一个 React 项目

    之前写了了篇文章介绍了如何基于 Webpack 从 0 到 1 启动一个 Vue 项目,那么就很有必要介绍一下 Vue 的竞品 React 是如何基于 Webpack 从 0 到 1 启动 下面是这个
  • 01.07 18:00:09
    发表了文章 2023-01-07 18:00:09

    Webpack 项目中 html-webpack-plugin 和 public 目录的关系

    这几天一直在研究 Webpack 这些打包工具链,在研究项目启动的过程中,初步认识到平时开发时是通过 Webpack-dev-server 调用 Webpack 的打包能力结合静态资源服务器能力开发的
  • 01.07 17:58:33
    发表了文章 2023-01-07 17:58:33

    import...from... 和 require 如何找到模块位置?

    昨天写了一篇文章,是关于 Vite 的,基于 Vite 从 0 到 1 启动一个 Vue2 项目,文章后面留下了几个问题是关于模块寻址问题,举个 Vue 项目里比较常用的 Vue 模块导入例子 import Vue from "vue"; 为什么不用写相对地址和绝对地址就能够导出 Vue 呢?似乎也没有配置路径?也没有配置映射,那么究竟 from "vue"; 对应的究竟是那个路径呢?
  • 01.07 17:56:50
    发表了文章 2023-01-07 17:56:50

    基于 Vite 从 0 到 1 启动一个 Vue2 项目

    本篇文章就是教学如何基于 vite 从 0 到 1 启动一个 Vue 项目,在传统启动中,如果你是刚开始接触 HTML/CSS/JavaScript 三件套开始接触的前端,那么你可能比较熟悉或者比较能接受的引入 Vue 的方式可能是使用 CDN 的方式
  • 01.07 17:54:11
    发表了文章 2023-01-07 17:54:11

    基于 Webpack 从 0 到 1 启动一个 Vue 项目

    面试总是问 Webpack 怎么样?有什么用?有几个 loader,有几个 plugin,结果一去写业务,全都是上的 Vue CLI,create-react-app,启动配置什么的,前辈们都配好了,所以这篇文章就是教学如何基于 Webpack 从 0 到 1 启动一个 Vue 项目
  • 01.07 17:52:40
    发表了文章 2023-01-07 17:52:40

    如何处理 git 中包含数据库密码等隐私信息的 commit?

    当你想开源某个内部开发很久的项目或者有一些脚本想要上传到 github,但是这个项目的 git 版本管理中包含了你以前填入的数据库密码,而且是明文,这时候就非常麻烦,这种情况需要如何处理保证项目的 git 能够保证最小修改,尽可能的不去修改过多 commit?看如下操作
  • 01.07 17:51:20
    发表了文章 2023-01-07 17:51:20

    nodejs 如何实现自动化部署?

    什么是自动化部署 我接触到的自动化部署概念最早是在 Vercel 上提供的,Vercel 可以提供和 github 上的某个库建立‘链接’,当你 commit 到 github 远程库时就可以自动部署,Vercel 会帮你完成操作
  • 01.07 17:49:01
    发表了文章 2023-01-07 17:49:01

    想要给网站上 HTTPS,要如何免费拿下一张 SSL 证书?

    什么是 HTTPS?众所周知 HTTP 是明文传输,并没有加密措施,容易被人抓包分析内容,过去可以使用前后端约定俗成加密规则传输,但是到现在可以使用 HTTPS 避免这一步的操作,所以 H
  • 01.07 17:42:14
    发表了文章 2023-01-07 17:42:14

    非常规Vue项目配置ESlint和Prettier

    这里的非常规指的是,不是使用 `Vue Cli` 这种工具包去创建的项目,或者创建了但是没有加上 `ESlint` 的配置,比如下面这个
  • 01.07 17:38:47
    发表了文章 2023-01-07 17:38:47

    JS 中 offsetHeight/scrollHeight/clientHeight 的区别

    client* clientWidth/clientHeight 返回的是元素的内部宽度,它的值只包含 content + padding,如果有滚动条,不包含滚动条 clientTop 返回的是上边
  • 01.07 17:32:52
    发表了文章 2023-01-07 17:32:52

    写好你的注释之 JSDoc

    好的代码,注释肯定不能少,就目前而言基于 vue 的项目大部分都是使用的 vue2,vue2 相对于 ts 的支持没有那么完善,大部分包括我目前工作所在的团队,使用的 vue 版本都是采用 vue2
  • 01.07 17:31:59
    发表了文章 2023-01-07 17:31:59

    requestAnimationFrame 和 setInterval 在动画上应用的区别

    定义 requestAnimationFrame 帧动画,又叫 RAF,在 requestAnimationFrame 中执行的事件叫 RAF 回调 setInterval 引用 MDN 的定义 区别
  • 01.07 17:31:10
    发表了文章 2023-01-07 17:31:10

    手撕题之 JSONP

    其实我在面试的时候没碰见过写 JSONP 的,但每次面试前我都会写一次 实现原理 利用script可以跨域请求实现,通过动态插入script标签,将src属性设置为目标请求,插入dom中,服务器接受该
  • 01.07 17:30:22
    发表了文章 2023-01-07 17:30:22

    栈内存和堆内存浅析

    栈内存与堆内存 对于 JS 不同类型的数据来说,基本数据类型(string/number/boolean/undefined/null)的值存储在栈内存中,引用数据类型(object)的值存储在堆内存
  • 01.07 17:29:37
    发表了文章 2023-01-07 17:29:37

    面试题之 CSRF 攻击

    定义 跨站点请求伪造(Cross-Site Request Forgeries),在用户不知情的情况下,冒充用户发起请求, 完成一些违背用户意愿的事情,比如修改用户信息,删评论等(如果找到 XSS 漏
  • 01.07 17:28:49
    发表了文章 2023-01-07 17:28:49

    闭包的原理、优点和缺点浅析

    闭包指的是那些引用了另一个函数作用域中变量的函数,通常是在嵌套函数中实现的。- 《Javascript高级程序设计(第四版)》 注意:匿名函数不是闭包 一个函数和对其周围状态(lexical envi
  • 01.07 17:28:02
    发表了文章 2023-01-07 17:28:02

    面试题之 XSS 攻击

    XSS(cross site scripting)跨站脚本攻击,就是攻击者想尽一切办法将可以执行的代码注入到网页中。 为什么不叫 CSS 攻击? 因为在 XSS 出现的时候,CSS 在前端领域已经被广
  • 01.07 17:24:32
    发表了文章 2023-01-07 17:24:32

    leetcode_341. 扁平化嵌套列表迭代器

    题目链接: 341. 扁平化嵌套列表迭代器 前排提示,这是一道跟树有关的题目,而且是 N 叉树,关于 N 叉树的入门题目可以参考我之前的一篇文章,leetcode 之浅谈 N 叉树 题目 给你一个嵌套
  • 01.07 17:22:28
    发表了文章 2023-01-07 17:22:28

    leetcode 之浅谈 N 叉树

    之前去看 vue-router 源码的时候发现了 N 叉树的经典遍历框架,在源码中找到数据结构之类的算法,其实不算是很简单(对我来说)因为源码本身是嵌套嵌套再嵌套,无限套娃,有很多技术细节容
  • 01.07 17:18:08
    发表了文章 2023-01-07 17:18:08

    面试题之垃圾回收

    机制 标记清除 JS 中最常见的垃圾回收方式是标记清除 标记清除的概念也好理解,从根部出发看是否能达到某个对象,如果能达到则认定这个对象还被需要,如果无法达到,则释放它,这个过程大致分为三步:
  • 01.07 17:15:25
    发表了文章 2023-01-07 17:15:25

    KeepAlive 中的数据结构 LRU 缓存

    前端的面试有时候会问 KeepAlive,而 KeepAlive 中运用到了 LRU 缓存,是它的原理之一,LRU 在 leetcode 中也对应了 146. LRU 缓存这道题目
  • 01.07 17:14:21
    发表了文章 2023-01-07 17:14:21

    面试题之 HTTPS 为什么是安全的?

    我们在浏览器中通信用的比较多的是 HTTP 和 HTTPS 两种协议,但是用 HTTPS 时浏览器总是会有一个小锁的标志,提醒我们这是安全链接,而 HTTP 它就会提醒我们这是不安全的链接,好家伙,只
  • 01.07 17:12:16
    发表了文章 2023-01-07 17:12:16

    leetcode_18. 四数之和,n 数之和完结篇

    题目链接:18. 四数之和 这个人已经靠 n 数之和水了好几篇文章了,已经不想再水了 我之前写过好几篇的 nSum 相关的文章,在我的个人主页里面搜索可以发现有三篇相关的文章,当然看的人不多,但是还是决定要把这个类型题写完,也就是今天的终章 `nSum`
  • 01.07 17:10:35
    发表了文章 2023-01-07 17:10:35

    leetcode_15. 三数之和

    题目链接: 15. 三数之和 据说华为的机试经常考这题,而且这道题也是扩展性极强的一道题,你可以看到18. 四数之和,或者人为修改的五数之和,六数之和,乃至n 数之和,也就是
  • 01.07 17:09:44
    发表了文章 2023-01-07 17:09:44

    leetcode_今天面试官高兴,给你面一道 twoSum

    题目链接: 1. 两数之和 上一篇文章我介绍一道非常多人熟悉的题目就是反转链表,最近反转链表的位置似乎有些松动,在某脉 APP 上形容面试官想要给你过面试的算法题逐渐从反转链表变成 twoSum,也许
  • 01.07 17:05:59
    发表了文章 2023-01-07 17:05:59

    vue 项目调试的三种方法和不同比较

    之前的一篇文章讲了两种在 vue 项目中调试的方法,一个是在项目源码中手动加入断点(debugger), 然后利用 Chrome 调试,第二种是直接在 Chrome 中打断点调试,但是需要知道怎么找到
  • 01.07 17:04:21
    发表了文章 2023-01-07 17:04:21

    vue 项目调试你可以这样做

    我觉得调试很多人应该都是做过的,以我为例,大一学 C 语言的时候我特喜欢调试,别人的做题做不出来我让他在 codeBlock 上调试一下就行了,其实这是因为那时候写的 C 语言就几行代码,文件结构简单
  • 01.07 17:03:29
    发表了文章 2023-01-07 17:03:29

    页面运行中事件频繁触发会阻塞页面吗?

    之前看`防抖`和`节流`的时候,看到短时间内大量的事件触发会引起浏览器卡死,浪费浏览器性能,那么为什么事件触发会引起阻塞页面的情况呢?引起页面阻塞的原因真的是因为事件触发太多了吗?
  • 01.06 17:31:32
    发表了文章 2023-01-06 17:31:32

    vue-router 如何找到路由组件?matcher 总结,vue-router Matcher 解析(四)

    这篇是 vue-router matcher 系列的总结篇,这里提示一下 matcher 就是 vue-router 中的路由匹配器,负责路由的增删查,当我们进行路由跳转时,是通过 matcher 去匹配到正确路径,然后拿到 component(重定向除外)
  • 01.06 17:24:41
    发表了文章 2023-01-06 17:24:41

    vue-router 还给路由排了序?解析路由匹配,vue-router Matcher 解析(三)

    之前的两篇文章讲了, vue-router 的 Matcher 对初始的 routes 进行了标准化(normalized)处理以及别名(alias)处理,但还有matcher 处理 route 的匹配
  • 01.06 17:22:33
    发表了文章 2023-01-06 17:22:33

    vue-router 如何找到待渲染的 vue 组件?详解 route 别名处理,vue-router Matcher 解析(二)

    之前的文章讲了, vue-router 找到待渲染的 vue 组件时,对 route route 的处理过程,但是还有 route 的 alias(别名) 是如何操作没有解释,对于别名在 vue-ro
  • 01.06 17:21:28
    发表了文章 2023-01-06 17:21:28

    vue-router 如何找到待渲染的 vue 组件?vue-router Matcher 解析(一)

    在之前的一篇文章中曾经说过,页面的切换其实就是一个找组件的过程,也就是 vue-router 里面的 Matcher, 看过 vue-router4 的源码后,发现 matcher 其实是非常重要的一
  • 01.06 17:20:41
    发表了文章 2023-01-06 17:20:41

    如何实现动态内容条件筛选

    这两天看了一下后端给的接口文档,每一个都要求筛选,而且这个筛选还是多条件的,还是不能固定的,要求根据用户的输入然后筛选,我之前的实现大概是这样子,当用户想要筛选的时候就去检索条件,并输入相关的内容进行筛选
  • 01.06 17:17:32
    发表了文章 2023-01-06 17:17:32

    b 站, 掘金都在用的 webp 是什么?怎么用?

    如果你现在用 PC 端浏览器看这篇文章,不妨打开控制台,cltr + c 一下去看下掘金图片的后缀/格式究竟是什么?
  • 01.06 17:16:49
    发表了文章 2023-01-06 17:16:49

    前端路由如何修改 URL ?

    前端路由需要实现两个核心, 1. 修改 URL 而不引起页面刷新, 2. 检测 URL 的变化, 这两个核心取决于你采用的前端路由技术选择的方案, 即 hash 和 history, 当选择了技术后,
  • 发表了文章 2023-01-07

    使用基于 AMD 的 RequireJS 写一个花活项目

  • 发表了文章 2023-01-07

    继 CJS、AMD 之后又来一个 UMD,究竟是什么?有什么用?

  • 发表了文章 2023-01-07

    有了 React.createElement 为什么还需要 JSX runtime,作用是什么?

  • 发表了文章 2023-01-07

    用 @types 前缀的包是什么?有什么用?

  • 发表了文章 2023-01-07

    rollup 是什么?如何使用?

  • 发表了文章 2023-01-07

    类型体操之实现 type-challenges 中的 built-in 的所有类型

  • 发表了文章 2023-01-07

    类型体操之实现 Pick 和 Omit

  • 发表了文章 2023-01-07

    手把手教你防御 XSS 攻击

  • 发表了文章 2023-01-07

    手把手教你实现 XSS 攻击

  • 发表了文章 2023-01-07

    package.lock.json 到底有什么用?

  • 发表了文章 2023-01-07

    什么是 Web Components?如何使用?

  • 发表了文章 2023-01-07

    手把手教你防御 CSRF 攻击

  • 发表了文章 2023-01-07

    手把手教你实现一次 CSRF 攻击

  • 发表了文章 2023-01-07

    如何基于 iframe 解决跨域?

  • 发表了文章 2023-01-07

    基于 Vite 从 0 到 1 启动一个 React 项目

  • 发表了文章 2023-01-07

    基于 Webpack 从 0 到 1 启动一个 React 项目

  • 发表了文章 2023-01-07

    Webpack 项目中 html-webpack-plugin 和 public 目录的关系

  • 发表了文章 2023-01-07

    import...from... 和 require 如何找到模块位置?

  • 发表了文章 2023-01-07

    基于 Vite 从 0 到 1 启动一个 Vue2 项目

  • 发表了文章 2023-01-07

    基于 Webpack 从 0 到 1 启动一个 Vue 项目

正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息
正在加载, 请稍后...
暂无更多信息