自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

MichelleZhai的博客

前端笔记系列

  • 博客(75)
  • 收藏
  • 关注

原创 创新案例 | Web3典范BrainTrust如何打造DAO增长飞轮3年扩张50倍

BrainTrust是一家创新的多边平台,类似于去中心化的BOSS直聘。在过去三年中,BrainTrust取得了惊人的增长,总服务价值增长了50倍以上。这家公司的增长模式非常独特,使得它的增长飞轮一路狂飙。在2022年,BrainTrust的成绩单非常亮眼:5.3万名自由职业者加入了BrainTrust生态,客户数量和项目长度也在增长。复购客户的平均花费显著增长,企业级客户的年留存率为84%。BrainTrust的招聘模式也成为哈佛商学院研究的对象。

2024-03-05 13:42:51 1016

原创 移动端抓包调试工具

ios android抓包

2023-01-18 19:22:00 735

原创 VUE扫码枪中文输入法兼容自动回车事件(下)

password禁用自动历史密码填充功能

2022-11-18 15:07:22 1543 1

原创 JS实现树状结构与扁平数据互转

js树状结构铺平,平级数据与树状结构之间的转换

2022-11-06 21:10:29 685

原创 人生本无意义

毕业旅行有感

2022-11-03 14:44:09 159

原创 VUE扫码枪中文输入法兼容自动回车事件(上)

vue框架下面的扫码枪,针对windows+搜狗中文输入法兼容性问题处理方案

2022-11-03 13:58:37 2436 1

原创 随笔20220506

今天是2022年5月6日,已经被封56天了,上海什么时候彻底解封还是个未知数,整个人有点木甚至有点麻 一直觉得互联网与国运有着千丝万缕的关系,疫情前互联网寒冬,疫情中又听到了很多大厂裁员的消息,很多巨头的股票也是大跌,很多人都在思考互联网的风口大概是已经过去了 作为一个为互联网打工多年的小兵来讲,互联网是一个时代的象征,并不是国内互联网没落,像国外的那些流媒体平台Netflix和脸书的股票,他们日子也不好过。最大的原因应该是互联网已经进入了存量时代,不是增量时代了,大白话就...

2022-05-06 14:45:18 221

原创 前端工程化

前段时间给同事们做了一次技术分享《前端工程化》,我总觉得全程讲的磕磕巴巴的,感觉没有把精髓同步给小伙伴们,虽然他们都说我讲很好,还可以之类的,但是一次分享的重点和精髓没有传达到位的话,那我觉得应该是失败的。强迫症患者又上线了,把之前的讲义再梳理下,下次有机会分享就可以讲的再透彻一些了什么是前端工程化概念狭义上的理解:将开发阶段的代码发布到生产环境,包含:1、构建2、分支管理3、自动化测试4、部署广义上理解:前端工程化应该包含从编码开始到发布,运行和维护阶段意义内容四个维度组件

2022-05-06 14:29:15 268

原创 MAC同时配置gitlab和github的sshKey

🔗 1、进入ssh文件夹 cd ~ cd .ssh🔗 2、重新生成GitHub和GitLab对应的公/私秘钥ssh-keygen -t rsa -C '我们的gitlab邮箱' -f ~/.ssh/id_rsa_gitlabssh-keygen -t rsa -C '注册github账户的邮箱'//两次回车直接生成个人邮箱相关密钥🔗 3、此时目录下可以查看到生成的密钥文件ls//此时,可以看到以下文件id_rsa id_rsa.pub

2022-02-24 10:39:33 604

原创 什么是执行力

大概是今年没有写年终总结的缘故,在工作和生活上都感觉少了一些思考,今天看到一篇执行力的文章之后,特别想留下点什么。执行力是什么?百科上这么说的,所谓执行力,指的是贯彻战略意图,完成预定目标的实际操作能力。我们拆分下:🍒 首先我们需要有一个明确的目标,知道我们实际行动是做什么事情(Plan)🍒 执行力是一种能力,是一种操作能力,也就是说需要我们付出实际行动(Do)🍒 然后我们要理解目标,防止在实际操作的过程中误入歧途(Check)🍒 如果误入歧途怎么办?及时作出调整,或者修正初始目标(Ad

2022-02-23 20:07:32 460

原创 记EditableProTable高级表格组件之坑20220122

背景:今天是2022年1月22日星期六,此刻我拖着同事坐在办公室里加班,需求页面中某一表格因产品业务逻辑不清晰,反复更改交互,写到一半发现业务流程走不下去,原稿的UED也被改的面目全非,导致表格所依赖的第三方组件EditableProTable高级组件,彻底 被 玩 坏 了产品要求1月24日上线,而此刻清单里还躺着10几个组件的bug分析:痛定思痛,还是重新梳理一下这边的业务逻辑吧这是最初的UED,2021.12.25-2022.1.22历经修复了60几个业务变更的bug之后,最后确认的最终

2022-02-07 16:03:38 4368

原创 js通过识别字符串中的逗号进行换行

js通过识别字符串中的逗号进行换行let testInfo=['t1','t2','t3']var str = testInfo.toString()var reg = /[,,]/g;str=str.replace(reg,"$&\r\n");console.log(str);

2021-12-29 16:06:43 2519

原创 Babel转译原理

Babel概念过程pluginsPresetspolyfill概念babel是一个转译器,用于把同种语言的高版本规则翻译成低版本规则。过程babel的转译过程也分为三个阶段:parsing(解析)、transforming(改变)、generating(生成),以ES6代码转译为ES5代码为例,babel转译的具体过程如下1、ES6代码输入2、babylon进行解析3、得到AST-plugin用babel-traverse对AST树进行遍历转译4、得到新的AST树5、用babel-gen

2021-11-18 17:36:42 834

原创 Webpack笔记(二)

Webpack几个核心概念入口(entry)输出(output)loader插件(plugin)模式(mode)Code splittingwebpack的构建流程是什么编写loader或plugin的思路webpack与grunt、gulp的不同几个核心概念好久没更新文章了,今天要做前端工程化的技术分享,顺便翻了翻webapck的官网,重温下几个概念 webpack 的本质是一个现代JS应用程序的静态模块打包工具,将项目当作一个整体,通过一个给定的主文件,webpack将从这个文件开始找到项目的所有

2021-11-18 16:58:50 79

原创 手动实现Promise、Promise.All、Promise.AllSettled

PromisePromise原理promise有两个特点手动实现Promise(Class vs ES5)手动实现promise.all手动实现promiseAllSettled最近在整理promise的一些知识点,以前看的太浅,如今再去理解又是另外一种感觉,废话就不多说了,直接上原理Promise原理promise函数是ES6里的一部分,new promise对象,promise其实也是一个构造函数,自身有reject、resolve、race方法,原型链上有then、catch方法。用new出来一

2021-07-11 19:52:31 318

原创 React整理

react面试整理React 的 diff 算法工作过程React 中的 setState 是同步还是异步React、Vue Next Umi 的区别?React 中各种组件复用的优劣势(mixin、render props、hoc、hook)React 的 Fiber 架构React 性能优化React hooks 相关问题React新的生命周期,为什么 getDrivedStatefromProps 是静态的?React 的 diff 算法工作过程React 中的 setState 是同步还是异步

2021-07-09 18:14:03 1743

原创 React Hooks面试题

React Hooks面试题整理React 加入 Hooks 的意义是什么?为什么 React 要加入Hooks 这一特性?常用的Hooks有哪些?React Hooks api的原理:React Hooks如何模拟组件生命周期?模拟的生命周期和class中的生命周期有什么区别吗?Hooks相比HOC和Render Prop有哪些优点?Function Component与Class Component区别useEffect和useLayoutEffect区别?useState和setState区别?用u

2021-07-01 21:46:21 13469 2

原创 Promise为什么比setTimeout先执行?

为什么立即解决的 promise 比立即执行定时器处理得更快?由于事件循环优先级的存在,因此与任务队列(宏任务)(存储超时的setTimeout()回调)相比,作业队列(微任务)(用于存储已实现的Promise回调)的优先级更高。https://segmentfault.com/a/1190000038769853https://juejin.cn/post/6844903798305996807...

2021-06-30 20:02:40 776 1

原创 JS节流和防抖

一般在项目中我们会对input、scroll、resize等事件进行节流控制,防止事件过多触发,减少资源消耗。一个很有趣的比喻节流 throttle:比如公交车站,每经过5分钟就会发车,不管有没有人都会发车,这就是节流的过程防抖 debounce:以最后一个上车乘客为准,再等5分钟发车,5分钟内没人上来就发车,否则就再等5分钟发车,这就是防抖的过程区别节流 throttle 与 去抖 debounce的区别主要在触发时机上:throttle(func, wait, options):创建并返回一

2021-06-29 21:06:51 102

原创 解读JS原型

JS原型原型对象原型链最近很忙,忙着房子装修,忙着轮轴加班,还忙着去选择和被选择,在没怎么准备的情况面试了百度,挂在了算法题上,一直内伤到现在,闭门不出也没再接面试邀请,今晚难得不加班,打开博客,发现自己好久都没更新学习笔记了,不闲扯了,重新出发,开整。原型对象原型对象:构造函数都设置一个prototype属性,这个属性就指向原型对象。其实原型对象就只是一个普通对象,里面存放着所有实例对象需要共享的属性和方法!所以,我们把需要共享的放到原型对象里,把那些不需要共享的属性和方法存在构造函数里 fun

2021-06-29 20:10:29 86

原创 深入浅出HTTP

文章目录一、 http原理二、 SSL/TLS协议运行机制的概述三、 HTTP1.0、HTTP1.1、HTTP2.0的区别四、 浏览器的渲染机制五、 JS的加载方式一、 http原理https://csdn二、 SSL/TLS协议运行机制的概述xxx三、 HTTP1.0、HTTP1.1、HTTP2.0的区别xxx四、 浏览器的渲染机制xxx五、 JS的加载方式...

2020-05-18 10:29:26 765

原创 前端安全性问题和解决防范

文章目录一、常见的安全性问题二、XXS攻击(Cross Site Scripting)(跨站脚本攻击)三、CSRF安全漏洞(跨站请求伪造)四、SQL注入五、文件上传漏洞六、OS命令注入攻击一、常见的安全性问题1、XSS(Cross-Site Scripting)脚本攻击漏洞;2、CSRF(Cross-sit request forgery)漏洞;3、iframe安全隐患问题;4、本地存储数据问题;5、第三方依赖的安全性问题;6、HTTPS加密传输数据;7、SQL注入8、文件上传漏洞

2020-05-15 15:17:56 964 1

原创 NodeJS实现的进程间通信的例子

文章目录Node进程之间如何通讯1.cluster介绍2.cluster的工作原理3.cluster的APIcluster对象worker对象4.master和worker的通信例子Node进程之间如何通讯1.cluster介绍nodeJS是一个单进程单线程的服务器引擎,不管有多么的强大硬件,只能利用到单个CPU进行计算。所以,有人开发了第三方的cluster,让node可以利用多核CPU实现并行。随着nodejs的发展,让nodejs上生产环境,就必须是支持多进程多核处理!在V0.6.0版本,Nod

2020-05-14 14:07:31 1275

原创 HTTP1.0、HTTP1.1 和 HTTP2.0 的区别

文章目录一、HTTP的历史二、HTTP的基本优化三、HTTP1.0、HTTP1.x、HTTP2和HTTPS梳理HTTP1.xHTTP1.0HTTP1.1HTTP/2.0HTTPS四、HTTPS和HTTP的区别HTTPS和HTTP的区别:HTTPS和HTTP的工作过程区别:五、HTTP1.0和HTTP1.1的一些区别缓存处理带宽优化及网络连接的使用错误通知的管理Host头处理长连接六、HTTP1.1和HTTP2.0的区别多路复用HTTP2.0的多路复用和HTTP1.X中的长连接复用有什么区别?HTTP2.0多

2020-05-13 17:50:50 384

原创 HTTP原理

文章目录一、什么是HTTP二、通信过程三、请求方法(method)四、状态码(HTTP status code)一、什么是HTTP超文本传输协议,专门用于Web通信http:普通http协议,不安全,已逐步替代https:安全http协议,RSA非对称加密,理论上无可接受的破解方案版本问题:http1.0 (1996年)早起版本,已废除http1.1 (1999年)现行http版本,就有持久连接特性(keey-alive)http2.0 (2015年)最新的http版本,尚未普及,具有多路

2020-05-12 20:32:16 1177

原创 箭头函数与普通函数的区别

1、箭头函数是匿名函数,不能作为构造函数,不能使用newlet FunConstructor=()=>{ console.log(1111)}let fc=new FunConstructor();//Uncaught TypeError:FunConstructor is not a constructor at <anonymous>:1:102、箭头函数不能绑定arguments,取而代之用rest参数…解决 function Argu(a){ con

2020-05-11 15:32:53 255

原创 Promise限制并发数

//promise并发限制class PromisePool{ constructor(max,fn){ this.max=max;//最大并发量 this.fn=fn;//自定义的请求函数 this.pool=[];//并发池 this.urls=[];//剩余的请求地址 } start(urls){ this.urls=urls;//先循环把并发池塞满 while (this.pool.length<this.max){ l

2020-05-09 18:35:17 1146

原创 服务端和客户端的cookie传递

文章目录一、现象二、过程三、定义cookie的结构cookie的分类一、现象CSDN的登录界面下会有“两周内不再登录”选项,用户登录后会保存用户登录信息,第二次登录时自动补全登录密码二、过程1、当客户端发送一个请求的时候,会产生一个request对象,这个对象里面就包含了cookie2、服务端先设置cookie信息,并在客户端请求时把这个cookie信息发送给客户端,客户端会自动保存co...

2020-03-19 15:58:03 5502

原创 React生命周期总结

一、先来一个简洁版的理解大纲 生命周期共提供了10个不同的API。 1.getDefaultProps 作用于组件类,只调用一次,返回对象用于设置默认的props,对于引用值,会在实例中共享。2.getInitialState 作用于组件的实例,在实例创建时调用一次,用于初始化每个实例的state,此时可以访问this.props。3.componentWillMount 在完成...

2020-03-10 23:30:21 480

原创 IOS手机Input/Textarea唤起键盘页面偏移和放大的解决方法

在家里办公的弊端就是需要测试机的时候一筹莫展,奈何公司的在线模拟网络设备平台又不具备ios的多种手机型号,遇到这种兼容性的问题真是头大

2020-03-10 23:28:14 2276

原创 前端工程化的理论

这是一次面试题的理论部分,偏向前端工程化部分,记录一下文章目录一、 你使用过哪些前端框架/类库,其各有什么优缺点?二、如果需要使用你熟悉的技术封装一套前端的框架,你怎么规划?三、前端代码怎么打包发布,怎么理解工程化,在”工程化”过程中需要注意些什么?四、前端性能优化需要考虑哪些方面?五、如何看待前后端协作,scrum是一种什么模式?一、 你使用过哪些前端框架/类库,其各有什么优缺点?前端框架...

2020-02-24 13:12:14 451

原创 手动实现promise.all的方法

最近在看promise.all的时候,整理了两种手动实现的写法,方便以后查阅,直接上代码吧方法一const promiseAll=(all)=>{ return new Promise((resolve,reject)=>{ var countNum=0; var res=new Array(all.length); for(var i=0;i<all.leng...

2020-02-24 12:36:25 1871

原创 CommonJs与es6 module的区别

之前总是对模块机制类的内容走马观花,知其一不知其二,只了解AMD\CMD\Common.js很表面的知识,今天看到一篇大佬的文章,总结的很好,做个笔记以后方便查阅。主流模块规范1. UMD2. CommonJs3. es6 module1. umd 模块(通用模块) (function (global,factory){ typeof exports ==='obje...

2020-01-17 16:12:10 999

原创 Promise为什么比setTimeout先执行?

emmmm…遇到一题目,promise为什么比setTimeout先执行,查阅了很多文档基本都是说了事件循环的大概的理念,都没有根据事件循环的概念深入解释promise比setTimeout先执行的原因。实在不太喜欢半吊子的解释,也有可能是自己理解不太透彻,简单的整理下原因。 setTimeout(function(){console.log(1)},0); new Promise...

2020-01-15 16:08:37 1391 1

原创 js实现一个长页面中的图片懒加载即滚动到其位置才加载

原理1.给页面绑定滚动事件;2.加载页面的时候把真正的图片地址放在某属性中;3.然后再滚动过程中判断元素是否进入当前浏览器窗口内;4.最后加载图片难点浏览器兼容是造成难点的原因所在,DOM标准和IE标准,每天前端的工作都在和它们打交道。思考下面的几段代码1.window.pageYOffset ? window.pageYOffset : window.document.docume...

2020-01-09 14:49:33 491

原创 React、Vue、Next、Umi框架对比

React优点1、React运用一个虚拟的DOM实现了一个非常强大的渲染系统,在React中对DOM只更新不读取;2、一切都是component,代码更加模块化,重用代码更容易,可维护性高3、单向数据流4、同构和服务端渲染可以更好的SEO和解决白屏问题缺点1、 它不是一个框架,它只是MVC(模型 - 视图 - 控制器)中的view2、 jsx的一个问题是,渲染函数常常包含大量逻辑,...

2020-01-06 21:49:09 5306 2

转载 上海程序员落户攻略

上海居住证落户简称 “居转户” , 本文主要写给在上海打拼的程序员们,告诉大家比写代码更重要的一件事情是落户。讲述一些关于上海居住证落户的一些政策和一些建议。很多人以为居转户,只要上海居住证满7年就可以转了,殊不知,居住证7年只是其中一个最简单的条件。《没有经历过居转户的人生是不完美的人生》。虽然居转户政策复杂,只要你事先了解政策,可以绕过很多坑,实现居转户。户口的重要性很多年轻人以及刚毕...

2019-07-29 13:04:33 1872

原创 Git - 生成 SSH 公钥

cd ~/.ssh/ssh-keygen -t rsa -C “你的邮箱"3次回车vim ~/.ssh/id_rsa.publs查看文件id_rsaid_rsa.pub执行命令vi id_rsa.pubshift i生成可复制的密码

2019-07-16 17:06:06 158

原创 如何在GitHub部署自己的个人网站

如何在GitHub部署自己的静态网站最近无意看到了网上阐述如何在git上部署自己的静态网站时,看到的一些教程真的是很繁琐,所以就我来一个简洁快速版本的吧第一步在自己的github社区新建一个分支,注意一定要public第二步,进入你创建项目的Settings第三步,下拉页面到GitHub Pages第四步,选择master branch分支后查看到这里就结束了...

2019-07-16 16:37:18 3527

原创 Mobx与Redux的区别

上篇文章讲解了mobx的入门API,这篇文章主要针对redux的功能进行一次比较,因为在网上没有看到比较全面详细易懂的文章,整理的笔记也是七零八落的。写下这篇文章方便以后知识点梳理吧。状态容器介绍既然是比较,那就先简单的介绍下两个状态容器1、某一状态只有一个可信数据来源(通常命名为store,指状态容器)2、操作更新状态方式统一,并且可控(通常以action方式提供更新状态的途径)...

2019-06-04 17:16:53 5042

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除