- 博客(196)
- 收藏
- 关注

转载 mac安装dart报错curl: (35) LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to storage.googleapis.co
!!!!!亲测有效mac安装dart报错curl: (35) LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to storage.googleapis.com:443安装brew:控制台操作:1.安装brew/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/Ho...
2020-04-22 21:08:01
20626
1

原创 微信分享链接中的from=singlemessage&isappinstalled=0
微信分享会根据分享的不同,为原始链接拼接如下参数:对于ios手机在微信中的分享朋友圈 from=timeline&isappinstalled=0微信群 from=groupmessage&isappinstalled=0好友分享 from=singlemessage&isappinstalled=0对于安卓手机在微信中的分享没有isappin...
2019-02-12 16:05:12
45411
3

原创 iPhoneX、iPhoneXS、iPhoneXS Max与iPhoneXR 底部吸底按钮适配
移动端真的是幺蛾子比较多,苹果抽风出的这几款手机都带bar 为了处理这类问题,必须在页面上做相应的处理比如吸底按钮 或者其他元素需要给最后一个元素添加一个距离底部的高度 尺寸一般是34px通过js来判断是否是这四种手机的类型 代码如下: // iPhone X、iPhone XS var isIPhoneXSS = /iphone/gi.test(window.naviga...
2018-12-03 20:47:04
2516

原创 fileheader-vscode插件,自动生成头部注释 koroFileHeader
给使用vscode的开发的小伙伴分享一个自动生成头部注释的插件,使用效果如下: 生成这个注释的快捷键是ctrl+alt+i 1.安装 在vs商店搜索koroFileHeader 2.进入vscode的设置里边搜索fileheader.customMade 3.双击左边的设置,然后去右边编辑,他会取代默认的 4.保存一下,然后去ctrl+alt...
2018-09-06 10:09:08
35734
3

原创 es6对象赋值
1.解构赋值 let obj={ n1:'p1', n2:'p2' } // //传统的写法 定义变量 使n1=obj.n1 n2=obj.n2 // let n1=obj['n1'] // let n2=obj['n2'] //变量名==属性名时 let {n1,n2}=obj //其实是它的简写:let {n1:n...
2018-07-08 18:58:05
13005

原创 接口请求返回状态码总结
前端在调用接口时都要关注接口返回给我们的状态码,之前只是大概的了解比如404是前端的错,可能是路径错误等,300+可能是重定向了,500以上是服务端或者服务器的错误,并没有一个很好的总结。今天中午看群里有人问这问题,就搜集对比整理了一下,如下:1xx - 信息提示这些状态代码表示临时的响应。客户端在收到常规响应之前,应准备接收一个或多个 1xx 响应。· 100 - Continue 初始的请求已...
2018-07-03 12:49:22
33193
3

原创 通过UA判断手机的类型
最近开发遇到一个需求,不同的手机上显示不同的内容:需要区分ios系统,华为手机,三星手机,其他安卓手机(因为ios有apple pay 、华为有huaweiPay、三星有samsungPay)实现方式: var UA = window.navigator.userAgent.toLocaleLowerCase() if(/iphone|ipad|ipod/.test(UA)){//ios ...
2018-07-02 21:46:50
13289
1

原创 git -- Authentication failed for 修改密码后遇到的坑
今天收到一封邮件(您的内网ERP密码将于****过期,请尽快修改)。完事我就把密码给改了,项目开发完以后拉打算拉下代码,然后把本地的代码提交上去 ,结果拉代码就拉不下来了$ git pull origin devfatal: Authentication failed for ....有很多网上的解释是$ git config --global --replace-al...
2018-07-02 13:31:49
76494
32
原创 vscode终端node版本与mac终端中node版本不一致问题
通过nvm管理多个node版本,发现终端node版本和vscode终端node版本不一致。在vscode终端中输入。
2023-05-24 16:34:51
12
原创 箭头函数的 this 指向哪里?
箭头函数不同于传统 JS 中的函数,箭头函数并没有属于自己的 this,他所谓的 this 是捕获其所在上下文的 this 值,作为自己的 this 值,并且由于没有属于自己的 this,所以是不会被 new 调用的,这个所谓的 this 也不会被改变。
2023-04-24 23:35:04
359
原创 forEach 中 return 有效果么?如何中断 forEach 循环?
官方推荐方法(替换方法):用 every 和 some 替代 forEach 函数。在 forEach 中用 return 不会返回,函数会继续执行。every 在碰到 return false 的时候,中止循环。some 在碰到 return true 的时候,中止循环。使用 try 监视代码块,在需要中断的地方抛出异常。
2023-04-24 23:21:45
24
原创 如果 new 一个箭头函数会怎样?
箭头函数是 ES6 中提出来的,它没有 prototype,也没有自己的 this 指向,更不可以使用 argument 参数,所以不能 new 一个箭头函数。2为步骤 1 新创建的对象添加属性___proto__,将该属性连接到构造函数的原型对象。所以上面的第 2、3 步,箭头函数都是没有办法执行的。3将步骤 1 新创建的对象作为 this 的上下文。4如果该函数没有返回对象则返回 this。1创建一个空的简单 JS 对象 即{}
2023-04-24 23:20:04
28
原创 JS 中的倒计时,怎么实现纠正偏差?
然后将当前的真实时间与这个时间相减,这样我们就可以得到时间的偏差大小,因此我们在设置下一个定时器的间隔大小的时候,我们就从间隔时间中减去这个偏差大小,以此来实现由于程序执行所造成的时间误差的纠正。但是使用这些方法会存在时间偏差的问题,这是由于 js 的程序执行机制造成的,setTimeout 和 setInterval 的作用是隔一段时间将回调事件加入到事件队列中,因此事件并不是立即执行的,它会等到当前执行栈为空的时候再取出事件执行,因此事件等执行的事件就是造成误差的原因。
2023-04-24 23:18:03
62
原创 什么是空间复杂度?
递归实现,调用 fun 函数,每次都创建 1 个变量 K。调用 n 次,空间复杂度 O(n*1)=O(n)递归算法的空间复杂度 = (递归深度 n)*(每次递归所要的辅助空间)举例如下:空间复杂度为 O(n) = O(1)仅仅只复制单个变量,空间复杂度为 O(1)忽略常数,用 O(1)表示。
2023-04-24 23:15:29
9
原创 怎么解决 canvas 中获取跨域图片数据的问题?
在一张图片添加相关文字,然后转化为 base64 数据,上传到服务器。这是因为页面在请求图片时产生跨域情况,canvans 认为该图片数据为污染的数据,是不安全的数据,无法导出 base64 数据。
2023-04-24 23:13:34
33
原创 你所理解的前端数据安全是什么?
如猫眼电影,天眼查等等。以数据内容为核心资产的企业。font-face 拼接方式:猫眼电影、天眼查。iframe 异步加载:网易云音乐。background 拼接:美团。元素定位覆盖式:去哪儿。伪元素隐藏:汽车之家。
2023-04-24 23:09:06
8
原创 谈谈你对事件冒泡和捕获的理解
事件冒泡和事件捕获分别是由微软和网景公司提出,这两个概念都是为了解决页面中事件流(事件发生顺序)的问题上面的代码当中一个 div 元素当中有一个 P 子元素,如果两个元素都有一个 click 的处理函数,那么我们怎么才能知道哪一个函数首先被触发呢?
2023-04-24 00:22:11
11
原创 JS 动画与 CSS 动画区别是什么?
弥补了这两个缺点,控制能力很强,可以单帧的控制、变化,同时写得好完全兼容 IE6,并且功能强大。对于一些复杂控制的动画,使用 JS 会比较靠谱。在实现一些小的交互动效的时候,就多考虑考虑 CSS 吧。在性能上会稍微好一些,浏览器会对 CSS3 的动画做一些优化。在动画控制上不够灵活。
2023-04-23 01:28:40
17
原创 HTTP1.0 和 HTTP1.1 之间有哪些区别?
HTTP1.1 还新增了 HOST 字段,用来指定服务器的域名。资源请求方面:在 HTTP1.0 中,存在一些浪费带宽的现象,例如客户端只是需要某个对象的一部分,而服务器却将整个对象送过来了,并且不支持断点续传功能,HTTP1.1 则在请求头引入 range 头域,它允许只请求资源的某个部分,即返回码是 206,这样就方便了开发者自由的选择以便于充分利用带宽和连接。HTTP1.1 通过使用持久连接来使多个 HTTP 请求复用同一个 TCP 连接,以此来避免使用非持久连接时每次需要建立连接的时延。
2023-04-23 01:25:24
39
原创 我的创作纪念日
第一次写博客,是一名同事的介绍说可以通过写博客的方式记录学习的点点滴滴,然后推荐我平台好用,于是注册了账号。下一阶段成为一个能够带来更多技术文章,帮助大家获得知识点的神秘面纱。下面是我创作过程中获得最多阅读的文章。在创作的过程中充满了很多收获。
2023-04-20 23:33:44
26
原创 我的创作纪念日
提示:你过去写得最好的一段代码是什么?提示:当前创作和你的工作、学习是什么样的关系。提示:可以和大家分享最初成为创作者的初心。提示:在创作的过程中都有哪些收获。提示:职业规划、创作规划等。
2023-04-20 10:34:24
285
原创 shell命令总结
目录ls - 查看目录cd - 切换目录touch - 创建空文件mkdir - 创建目录cp - 复制文件或目录mv - 移动文件、更名rm - 删除文件cat - 显示文件内容more - 分页显示文件内容head - 查看文件前N行tail - 查看文件的后几行ln - 产生链接文件chomd - 改变文件或目录权限chgrp - 改变文件或目录的所属组umask - 显示、设置文件的缺省权限which - 显示系统命令所在目录find - 查找文件或目录find /etc -ctime -1 #在
2023-04-14 13:32:53
383
原创 前端视角-https总结
握手协议(Handshake Protocol): 它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。请求或响应在传输途中,遭攻击者拦截并篡改内容的攻击被称为中间人攻击(Man-in-the-Middle attack,,其利用非对称加密实现身份认证和密钥协商,对称加密算法采用协商的密钥对数据加密,基于散列函数验证信息的完整性。在https模块中,可以使用request方法向其它使用HTTPS协议的网站请求数据。
2023-04-12 23:14:01
326
原创 6.http-proxy 代理服务器
时 也能打开 a.test.com呢?本地启动项目 启动的host是。启动代理服务器,即可访问。可以实现反向代理和负载均衡器。创建server.js。
2023-04-10 15:00:52
51
原创 5.mac电脑如何自定义命令行命令
此时使用npm link 命令将该文件夹安装,该操作类似。在文件夹中创建一个文件,名字任意,这里我叫command。当使用smd 命令时,node找到关联的该模块,就会执行。如何像vue一样,安装完之后,在命令行中就可以使用。创建一个文件夹,名字任意,这里我的文件夹名字叫smd。,现在我的电脑里并没有这个命令,所以在控制台输入。命令了 vue命令是哪来的?生成package.json。在package.json中添加。在 command中添加命令。
2023-04-08 17:43:34
25
原创 03.前端缓存-强缓存、协商缓存总结
1.减少重复的数据传输,节省流量,节省网费2.减轻服务器负担,不至于量很大时,服务器吞吐量上限,导致吞吐速度变慢,从而提升性能3.加快客户端访问速度,无需请求服务器,直接使用客户端缓存,立即呈现。
2023-04-08 15:26:48
255
原创 02.计算机网络-HTTP状态码和Header请求体
状态码状态码类别类别原因短语1XXInformational(信息性状态码)2XXSuccess(成功状态码)3XXRedirection(重定向)4XXClient Error(客户端错误状态码)5XXServer Error(服务器错误状态吗)2XX 成功200(OK 客户端发过来的数据被正常处理204(Not Content 正常响应,没有实体206(Partial Content 范围请求,返回部分数据,响应报文中由Conten
2023-03-23 23:27:42
79
原创 01.计算机网络-DNS和域名关系
DNS是Domain Name Service的缩写,DNS服务器进行域名和与之对应的IP地址转换的服务器。DNS(Domain Name System 域名系统)早期使用Hosts文件解析域名。
2023-03-21 22:59:37
298
原创 20.以下代码输出结果?为什么?
但是浏览器并没有遵守这个规定,为了兼容以前的旧代码,还是支持在块级作用域之中声明函数,因此上面两种情况实际都能运行,不会报错。ES6 引入了块级作用域,明确允许在块级作用域之中声明函数。,函数只能在顶层作用域和函数作用域中声明,不能在块级作用域声明。函数能不能在块级作用域中声明,是一个非常容易混淆的问题。上面两种函数声明,根据 ES5 的规定都是非法的。所以题目中的代码实际运行的时候跟是这样的。
2022-09-29 09:51:38
125
原创 19.请介绍一下重绘和回流
能够充分发挥GPU的优势。合成线程生成位图的过程中会调用线程池,并在其中使用GPU进程加速生成,而GPU是擅长处理位图数据的。利用CSS3的transform opacity filter这些属性可以实现合成的效果,也就是常说的GPU加速。触发回流的时候,如果DOM结构发生改变,则重新渲染DOM树,然后将后面的流程(包括主线程之外的任务)全部走一遍。由于没有导致DOM几何属性的变化,因此元素的位置信息不需要更新,从而省去布局的过程。当DOM的修改导致了样式的变化,并且没有影响几何属性的时候,会导致重绘。
2022-09-28 20:41:43
247
原创 17.react-router里的Link标签和a标签的区别是什么
区别是: Link标签是react-router里实现路由跳转的链接,一般配合Route使用,react-router接下了a标签的默认链接跳转行为,区别于传统的页面跳转,Link标签的"跳转"行为只会触发相匹配的Route对应的页面内容更新,而不会刷新整个页面。从最终渲染的DOM来看,这两者都是链接,都是a标签。附:a标签默认事件禁掉之后做了什么才实现了跳转?
2022-09-20 21:11:52
591
原创 16.sourceMap是什么?生产环境如何使用?
nosources-source-map:只会显示具体行数以及查看源代码的错误栈。安全性比source map高。打包压缩后的代码不具备良好的可读性,想要调试源码就需要 soucre map。hidden-source-map:借助第三方错误监控平台Sentry使用。source:通过nginx设置将.map文件只对白名单开放(公司内网)map文件只要不打开开发者工具,浏览器就不会加载。
2022-09-20 21:06:17
150
转载 15.React和Vue 项目时为什么要在列表组件中写 key
在交叉对比中,当新节点跟旧节点头尾交叉对比没有结果时,会根据新节点的key去对比旧节点数组中的key,从而找到相应旧节点(这里对应的是一个key => index 的map映射)。而如果没有key,那么就会采用遍历查找的方式去找到对应的旧节点。从以上来看,不带有key,并且使用简单的模板,基于这个前提下,可以更有效的复用节点,diff速度来看也是不带key更加快速的,因为带key在增删节点上有耗时。没有绑定key的情况下,并且在遍历模板简单的情况下,会导致虚拟新旧节点对比更快,节点也会复用。
2022-09-15 21:14:24
62
空空如也
工作五年的前端 如何突破呢
2023-04-20
TA创建的收藏夹 TA关注的收藏夹
TA关注的人