- 博客(43)
- 收藏
- 关注
原创 React 高质量博客学习笔记
React个人读过一些高质量的文章,并写了一些简要总结。react hook初学者必读:useEffect guide里面也引用了其他文章,都非常高质量,下面也会列出。总结:useEffect具有闭包的特性,虽然对新手不友好,但比class组件中莫名其妙被修改props更加可控可追踪。react-hooks-fetch-datauseReducer vs useState如果你的useState长这样:const [state, setState] = useState(
2021-10-11 09:47:18
250
原创 In most cases, you or one of your dependencies are requesting npm ERR! 403 a package version that is
刚注册没有验证邮箱:错误信息实在是给的太low了
2021-07-13 17:22:00
2857
原创 wsl+tmux+ohmyzsh+vscode 打造前端高效工作流
最强终端Windows Subsystem for Linux (WSL),具体百度,总的来说就是弥补了windows terminal太过于鸡肋的问题。为啥要写这篇文章电脑坏了,重装了系统,因此边装边记录使用WSL还是有很多坑的,比如更换主题、字体等等。还涉及到哪些黑科技tmuxohmyzshz插件等等alias经过作者将近一年的实践经验,最后将这些移植到vscode上,效率简直起飞!wsl的安装官方安装指南...
2021-06-18 13:56:24
2557
1
原创 <storybook> TypeError: (tag.text || ““).trim is not a function
google了一下,参考:Doens’t work with Typescript 4.3.2项目用的是typescript 4.3.2 uninstall之后,npm install typescript@4.2.4 --save就能正常运行了
2021-06-16 14:08:41
1115
原创 Cannot find type definition file for ‘scheduler‘. TS2688
找了很多回答,还是国内的有帮助:报错信息就这样一行:参考:typescript编译报错解决方案:npm uninstall typescript -savenpm install typescript -save
2021-06-07 15:12:43
1949
原创 curl:(35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to raw.githubusercontent.com:443
网上查了很多资料,google,stackoverflow的方法都试过,也不起作用。个人感觉最高效的方式就是直接打开后面的链接:如果是windows直接ctrl+s保存下来:然后命令行敲:虽然很笨,但真的是最高效的方式了。...
2021-06-05 22:28:07
3089
4
原创 windows terminal设置自定义 fontFace失效
font默认的字体无法显示icons:在github上选了一款附带icon的字体https://github.com/ryanoasis/nerd-fonts预期效果:但是安装了,更改了setting.json还是没用…解决方案右键为所有用户安装2.左下角开始->设置->个性化点击字体 ,在这里搜索字体以我刚刚下载的nerd为例,搜索结果:这个才是要写入settings.json的真实命名!!!{ "guid": "{2c4de342-38b
2021-02-13 22:12:29
1573
1
转载 iconfont svg图标不能更改颜色的解决方法
https://www.cnblogs.com/chaoyueqi/p/11716554.html
2020-12-11 10:58:07
813
原创 栈-综合应用-中缀表达式转后缀表达式
综合应用使用栈完成一个计算表达式的结果输入:2 * 3 - 4 / 5 * 0.2 => 0.08思路使用index -> 2 (第一个为止),数字放入数栈,符号放入符号栈,符号栈为空,直接放入。遇到第二个运算符,与符号栈中的符号进行运算符优先级比较。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gvhtZGbo-1601271684334)(C:\Users\how浩\AppData\Roaming\Typora\typora-user-i
2020-09-28 13:44:08
237
原创 一道Promise处理多个异步任务的面试题
端点笔试题感觉这家公司的有几道题质量挺高的,但是有个问题是…有几道题居然重复了,这…编程题按照顺序加载多个JS文件如a,b,c,d,并且按照顺序依次插入到页面中,等到所有的JS文件加载完再执行Y。考察:Promise理解,函数封装,onload事件处理。(当时憋尿憋坏了…用了一个Promise.all,不过这道题出的挺好的)当时的思路将所有任务包装成promise对象放入数组,然后传入Proimse.All().then;每个promise对象将script标签压入数组;promise.
2020-09-22 12:08:40
468
原创 面试总结-2020-9 ①
总结感慨学前端一年零二个月,天天就是对着屏幕,第一次面试,以问答的方式来检验自己的学习成果。面的是一家小公司,其实挺好的,一周4天3k,只是想多面几家长长见识,同时查漏补缺,所以就没去。有点后悔哈哈哈。面试过程的话还好,进去前有一点紧张,写完笔试题感觉进入了状态,反正会的咱就回答,不会也别编造,也不会怎么样,我大概有20%的题没有答出来,但是面试官后面还是笑眯眯的,老板也当场给了口头邀请。答得不好的题目css相关1.清除浮动的方式有哪些,最少两种?我写了创建BFC,还有一个是使用伪类。伪类的代
2020-09-14 10:41:56
180
原创 error: key does not contain a section: –-global
git config配置用户名和邮箱的时候经常会报这个错明明两行输入是一样的。关键问题输入- -global 的时候, 用自己的键盘敲出来!不要直接复制粘贴,直接复制粘贴就会报error。真是一言难尽…...
2020-09-02 13:53:46
31216
18
原创 webstorm不支持node语法
网上的博客都是让你点这个可能是版本问题,根本点不了。然后download,点开也是空的。只能手动引入路径大概是这样的,只要安了node包应该就有。C:\Users\UsersName\AppData\Roaming\npm\node_modules@types\node...
2020-08-27 22:35:43
473
原创 vue中key的作用
vue中key的作用我发现好多博客都说得稀里糊涂,于是自己动手实践了一下,也对key中使用index作为索引带来的问题进行了探索。如果不使用 key,Vue 会使用一种最大限度减少动态元素并且尽可能的尝试修复/再利用相同类型元素的算法。使用 key,它会基于 key 的变化重新排列元素顺序,并且会移除 key 不存在的元素。使用Key<div id="container"> <ul> <li v-for = "(item, index) in
2020-08-24 21:50:13
540
原创 盒子模型-坑爹的Offset
OffsetjQuery@3.5.1 中有一个API,$(el).offset()可以用于获取元素相对于整个网页的左、上边偏移量。图片截取自MDN我们看看jQuery内部是如何实现的。(省去了一些兼容处理,只关注核心API)offset: function (options) { var rect, win, elem = this[0]; if (!elem) { return;
2020-08-17 09:56:53
321
原创 Vue2.x原理-为什么data中返回数组会报错?
Vue-observer先来看一段代码<div id="container"></div><script src="node_modules/vue/dist/vue.js"></script><script> let vm = new Vue({ el: '#container', data() { return [1, 2] } })</s
2020-08-16 23:30:22
847
原创 ERROR in Entry module not found: Error: Can‘t resolve ‘./src/index.js‘ in‘xxx.js‘
webpack初学webpack打包的时候遇到这样的问题配置'use strict';const path = require('path');module.exports = { entry: './src/index.js', output: { path: path.resolve(__dirname, 'dist'), filename: 'bundle.js' }, mode: 'production'};关键是
2020-08-08 10:46:03
3853
原创 眨眼一年,从混吃等死到马不停蹄
是时候写下这段文字了,感慨万千。学习前端将近一年的时间,这一年的改变是我大学变化最快的一年。探索还记得去年大概四月份的时候,因为学校有一门专业课跟包装设计有关,那时候就对平面设计产生兴趣,奈何学校的课程太少,而且老师能教的也非常有限,就只好自己去网上找教程。设计课程的特点就是没有相对完备的学习路线和知识体系,基本上就是需要做什么就学相应的知识,所以课程非常多,杂。当时也是小白一个,一下子看到这么多课应接不暇,充满着对每个课程的好奇,有些课暂时用不到,但是都会去手欠点一下看看里面的花样。然而有这么一
2020-08-03 21:39:32
170
原创 vmware如何设置共享文件夹
今天尝试把虚拟机的文件复制到主机…直接卡死,关也关不掉… 只能重启,一开始不知道,以为是出故障,结果连续重启好几次都是一样的情况… 即使用任务管理器都关不掉,只能重启解决方案一:https://www.cnblogs.com/dyhaohaoxuexi/p/12423221.html解决方案二:使用共享文件夹,我使用的就是这个方式。https://www.bilibili.com/video/BV1dE41137ke/?spm_id_from=333.788.videocard.0这种配置的操作
2020-07-28 11:47:41
519
原创 jQuery源码extend方法
看源码之间得先知道几个概念,不然只能像我一样盯着屏幕发呆…深浅拷贝递归浅拷贝上面的博文写的非常详细了这里总结一下Arrary.prototypeObjectconcat sliceassign都是浅拷贝,也就是如果出现数组嵌套,对象嵌套的时候,存放的都是原来数组对象中的引用地址,而不是新开辟的堆内存。也就意味着如果有对象嵌套的情况,修改拷贝的对象也会影响原来被拷贝的对象。深拷贝深拷贝跟浅拷贝不同,修改拷贝的对象对原来没有影响其实就是//=> 浅拷贝
2020-07-26 16:47:02
140
原创 js手写系列-call&apply模拟实现
手写js-call&apply模拟实现call的用途:总结改变this中的this指向执行this举个????let obj = { value: 1};let fn1 = function() { console.log(this.value);};fn1.call(obj); // 11.改变this中的this指向call的this指向fn1,因此改变fn1的this指向obj2.执行this执行fn1,此时fn1的this指向obj为了
2020-07-21 18:25:54
166
原创 JS中为什么0.1+0.2 不等于0.3
科学计数法假设有两个数字220000000000 和 22000000000一眼看过去好像很难比较出大小但是使用科学计数法就非常容易进行比较2.2∗10112.2∗10102.2*10^{11}\\2.2*10^{10}2.2∗10112.2∗1010IEEE 754浮点数表示Javascript是使用双精度浮点数表示的。sign:符号位 1表示数字为负数,0表示为正数 (1位)exponent:阶码 (11位)mantissa: 尾数 (52位)总共64位看不懂
2020-07-21 11:53:38
653
原创 深入理解观察者模式与发布订阅模式
观察者模式与发布订阅模式区别困惑刚开始学前端的时候,用jQuery做一些小动画,比如说监听动画开始,动画结束,不同的时刻做一些处理,让动画更加完善。那时候经常听老师讲什么发布订阅,其实就是使用on、trigger这两个API。比如:在动画结束以后让小球变色。let ballMove = ()=> { // animation $('.ball').trigger('moveEnd');}$('.ball').on('moveEnd', () => { changeColor
2020-07-20 15:39:00
254
原创 CSAPP 第二章家庭作业2.70
/* * fitsBits - return 1 if x can be represented as an * n-bit, two's complement integer.0 otherwise * Assume 1 <= n <= w */int fitsBits(int x, int n) { int r, c; c = 33 + ~n; r = !(((x << c)>>c)^x); return r;}
2020-07-17 11:59:32
869
原创 踩坑记录:left&offsetLeft的区别
这篇文章说的很详细。https://www.cnblogs.com/agansj/p/7225256.html为元素添加top:50%; 百分比数值的时候style.left返回的也是空字符串。.dialog { width: 200px; height: 200px; background-color: lightsalmon; position: absolute; left: 50%; /* 设置50%*/ top: 50
2020-07-14 21:44:38
771
原创 CS:APP 第三章练习题
3.10.5 支持变长栈帧练习题3.49这道题挺难的,综合的知识点也挺多,特此梳理一下push %rbp movq %rsp, %rbp1.%rbp是被调用者保存寄存器,为了防止被修改,先提前保存2.这个步骤是设置帧指针,代码将%rbp之前的值保存到栈中。如图,帧指针跟栈指针之间的这块内存构成了栈帧。3.设置%rbp的核心思想(因为后面的for循环要不断修改i的值,所以要获取i的地址)这里直接用%rbp - 8 就可以获取到i的地址其实直接用%rsp来计算i地址应该也是可以的,书上
2020-07-04 11:29:56
610
1
原创 深入理解计算机系统 实验二-BombLab
原书第三版,实验也不是从phase_0开始了先反汇编objdump –d bomb > bomb.sphase_1可以很明显看到实验跟其他博客的已经不一样了…0000000000400ee0 <phase_1>: 400ee0: 48 83 ec 08 sub $0x8,%rsp 400ee4: be 00 24 40 00 mov $0x402400,%esi 400ee9: e8 4a 04 00 00
2020-07-03 15:11:11
528
原创 第二章 信息的处理和表示
2.1 信息存储冯·诺依曼体系计算机都是以二进制形式存储数据的,每个数据称为位。8个位组成一个字节,一个字节是最小的可寻址内存单位。内存每个字节都由唯一的数字来标识,称为地址。2.1.3 寻址和字节顺序0x01234567大端法最高有效字节在前0x1000x1010x1020x103012345670x01234567小端法最高有效字节在后0x1000x1010x1020x103674523012.2 整数表示C
2020-07-02 14:16:30
190
原创 第一章 计算机系统漫游
这一章应该是全书的导读部分,阐述了这本书将要讲解的知识。对于从未学过任何计算机基础的小白来说,读这本书还是非常吃力的。一开始翻开书,大量的新概念,密集的知识,这不是让人头疼的主要原因。重点是一开始学前端的时候,学习一些基础语法就可以,写一些html + css 再加点jQuery就可以实现很多效果了,学习这些东西让我对“编程”产生了极大的兴趣,有了很多成就感,同时也给我带了很多坏习惯,变得越来越浮躁,浮躁,浮躁,什么东西都恨不得一天解决,再加上不断推出的新技术,层出不穷的新词汇,让人更加焦虑、浮躁,我
2020-07-01 21:00:27
131
原创 JS中的继承进化(多图理解)
JS中的多种继承方式思考学习笔记记录各种继承方式的优缺点目录JS中的多种继承方式继承的思考为什么要继承?继承方式0.伪继承1.寄生式继承很重要的一幅图2.原型链继承3.call继承(构造函数继承)继承的理想形式?4.组合继承寄生组合式继承继承的思考为什么要继承?假设Parent类上有这些属性和方法function Parent(name,...) { this.name = name; this.container = [1]; //...n次添加属性}其他.
2020-06-23 14:23:14
131
原创 jQuery源码学习-Type类型检测
function toType( obj ) { if ( obj == null ) { return obj + ""; } // Support: Android <=2.3 only (functionish RegExp) return typeof obj === "object" || typeof obj === "function" ? class2type[ toString.call( obj ) ] || "object" : typeof obj;}
2020-06-21 08:47:10
235
原创 不再是100%了!
今天写样式的时候遇到一问题,设置了margin-left:40px,然后计算offsetLeft为40,用截屏工具量了一下,居然是50??截屏工具测试过QQ截屏微信截屏结果都一样谷歌、火狐缩放都是100%可惜不能截屏截屏,截屏的结果是50目前只能想到一个办法,浏览器缩放调到80%才行。...
2020-06-18 09:55:27
121
原创 JS数组去重
数组去重数组去重是非常经典的问题了,不同的实现方法,性能要求差别非常大。假设有这样的数组去掉重复的项,只保留一个let arr = [0, 1, 2, 2, 3, 3, 3, 4];let filterArr = unique(arr)filterArr => [1,1,1,2,2,2,3,3];实现方案一:使用双for循环遍历,大概思路。外层循环从数组第0项开始遍历,内层循环从第i+1项开始遍历到数组最后的位置,如果有重复的项就删除。const unique = (arr) =&
2020-06-18 07:35:13
170
原创 JS数据类型转换汇总
刚开始学JS的时候根本不会特别注意数据类型转换,仅仅只是记得几个常用的。有些时候有些转换会让人感到困惑比如:1 - '1' // => 01 + '1' // => 111 + '2px' // => '12px'1 - '2px' // => NaNif (1) {...} else {} // => 执行if if (0) {...} else {}// => 执行else但是随着项目实操,数据类型的转换真的无处不在。JS中数据类型转换汇总
2020-06-17 09:02:25
181
原创 使用gcc编译C文件踩了无数坑
捯饬了一个上午实在痛苦,小白萌新的噩梦。以下是我转载的文章,加粗的地方是噩梦的开始。(一).安装1.为了在 Windows 上安装 GCC,需要到MinGW 的主页 www.mingw.org,进入 MinGW 下载页面,下载最新版本的 MinGW 安装程序。或者到:http://sourceforge.net/projects/mingw/files/,下载 Download mingw-get-setup.exe (86.5 kB)2.运行 Download mingw-get-setup.ex
2020-05-11 11:15:03
1371
原创 vue 引用 vue-swiper-awesome
安装全局引入css文件推荐全局引入,其他可以在组件有需要的时候再引入局部引入三步注意一定要加 {} 因为没这里没有引入SwiperSlide是因为是基础组件详细使用参考官方文档:https://www.npmjs.com/package/vue-awesome-swiper...
2020-04-23 15:21:49
156
原创 html中文显示乱码的解决办法
今天代码写着写着突然报错,中文全部无法识别…,图片路径带中文的也全部失效出现了一堆这样的符号网上搜了一堆文章都解决不了,以目前的学力也无法解释。试了很久目前能解决的唯一办法就是复制该文件所有代码删除该文件重新命名名字相同的文件然后粘贴然后就整活了...
2020-04-21 07:30:36
309
原创 CSS实现单行、多行文本溢出显示省略号
单行省略span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}多行省略div { overflow:hidden; text-overflow:ellipsis; display: -webkit-box; display:box; -webkit-box-orient:vertica...
2020-04-18 21:06:02
460
转载 为什么margin:0 auto不能用于inline-block元素
块级元素的水平属性块级元素在水平方向上有7大属性,margin-left、border-left、padding-left、width、padding-right、border-right和margin-right。这7大属性的值加起来必须是元素包含块的宽度(这一点记住,一会要考????)。这7个属性中,只有3个属性可以设置为auto:margin-left、width、margin-right,...
2020-03-23 17:56:32
563
2
原创 canvas清空画布遇到的问题
想做一个canvas动画,调用该函数,重新传入高度。结果什么也没有…使用clearRect()方法所以重新传入高度的方法还是不适合做动画重绘。如果使用clearRect()方法使用传入高度的方法详细参考:https://zzz.buzz/zh/2016/03/28/methods-to-clear-canvas/...
2020-03-13 17:29:31
585
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人