开始刷算法的一些感想
接下来的方向经济基础决定上层建筑,所以当开始摆烂时,迎接我的一定不是安逸舒服的的生活,而是窘困的境地。而维持现状所带来的进步愈发不能满足。所以不断地学习对于此行业与人生之路来说时必要的。 决定方向以后的事情,OKR1.算法掌握栈、树、队列、链表、图、堆等数据结构,前中后序遍历、DFS、BFS算法、快慢指针、递归等相关算法。掌握算法分析(空间、时间复杂度)、几种排序、二分法、分治法、贪心算法、动态规划等。 剑指offer leetcode 100到200的针对性题目 2.408基础 计算机网络 计算机组成 操作系统 数据结构 3.八股文与针对性训练 html、css、js 手写es6、css3、h5 vue、双向绑定、diff算法、vuex、vue-router、webpack性能优化 项目
原型与原型链
原型,构造函数prototype指向的对象实例的__proto__,等于构造函数的prototype,构造函数的prototype的constructor指向构造函数 Person.prototype,对构造函数使用,指向原型对象 Object.getPrototype(john),是ES5中用来获取john实例的原型对象的标准方法 __proto__,是获取john实例的原型对象的非标准方法 __proto__ 是什么? 绝大部分浏览器都支持这个非标准的方法访问原型,然而它并不存在于Person.prototype中。 实际上,它是来自于Object.prototype,与其说是一个属性,不如说是一个getter/setter方法,当时使用obj.__proto__时,可以立即成返回了Object.getPrototypeOf(obj) 123456789function Person(name) { this.name = name;}let john = new...
外部JS文件调用Vue实例
可以在Vue的声明周期里,把this传过去,在函数里直接使用就ok 1234import outerFunc from "./outerFunc.js"created() { outerFunc(this)} 业务场景如果只是复用方法,可以使用mixins混入,用起来更舒服我觉得。
浏览器输入url后发生了什么
浏览器输入url后发生了什么 找本地HOST文件,检查文件中是否有相应域名和IP的对应关系 找DNS服务器,从DNS服务器获取域名对应的IP地址 建立TCP链接,三次握手 客户端发送http请求 服务器处理http请求 服务器返回响应结果 关闭TCP链接,四次握手 浏览器解析HTML 浏览器布局渲染,页面展示给用户 最后一步这里有两个概念需要了解,重绘(repaint)和回流(reflow、layout) 重绘(repaint):屏幕的一部分重画,不影响整体布局,比如某个CSS的背景色变了,但元素的几何尺寸和位置不变 回流(reflow):render tree渲染树的一部分(或者全部)因为元素的规模尺寸、布局、隐藏等改变需要重新构建。这就称为回流,每个页面至少需要一次回流,就是在页面首次加载时,因为构建render tree 一定会发生回流,完成回流后,浏览器会重新绘制受影响的部分到屏幕中,该过程称之为重绘。
一些喜欢的句子 · 其一
太在乎,人就会出错,而所有的小心翼翼,都是因为魂不守舍。 我讨厌闲聊。 我想谈论原子、 死亡、性、外星人、 魔法、智力、生命的意义、遥远的星系,让你想跳舞的音乐、有趣的回忆、你说的谎言、你的缺点、你最喜欢的气味、你的童年、让你彻夜难眠的东西、你的不安全感和恐惧。 我喜欢有深度的人,他们带着扭曲的心态带着情感说话。我不想知道“怎么了”。 世界上的事情,最忌讳的就是个十全十美,你看那天上的月亮,一旦圆满了,马上就要亏厌;树上的果子,一旦熟透了,马上就要坠落。凡事总要稍留欠缺,才能持恒。 ——莫言《檀香刑》 真正的孤独者不言孤独,偶尔做些长啸,如我们看到的兽。弱者都是群居着,所以有芸芸众生。——贾平凹 每个人或多或少都经历着两种力量的斗争,对独处的渴望和走出去的冲动。 ...
生与活
生与活活着是一件痛苦的事情。这痛楚并不像是用刀刺入一般凌厉,倒像是一碗温纯的粥,可惜我不是吃粥的,我是一粒似有似无红豆,沉浮在混沌的粥里,本不是粥,却煮成为了粥...
Flex布局
引言Flex布局区别于传统布局,可以更好、更简便响应式地实现各种布局。通过简单的属性设置,即可达成曾经十分复杂的,如盒子垂直居中等情况。 目前已得到所有浏览器的支持。具体支持如下图。其中红色表示不支持、绿色条纹表示部分支持、黄色角标表示需要使用-webkit-语法。 布局的传统解决方案,基于盒状模型,依赖display属性+position属性+float属性。这种布局方案对于特殊的布局(尽管现在非常常用,但不得不承认对于最初的设计而言,横向排列与垂直居中是很特殊的),比如,垂直居中就不容易实现。于是,2009年,W3C提出了一种新的布局方案——flex布局,未来即现在的布局首选方案。 Flex布局是什么?Flex是Flexible Box的缩写,意为“弹性布局”,用来为盒子模型提供最大的灵活性。任何一个容器都可以被指定为Flex布局。 123.container { display: flex;} 行内元素也可以使用Flex布局。 123.container { display:...
啥是个Token?
Token是什么?Token是服务端生成的一串字符串,以作为 客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token并将这个Token返回给客户端,在之后的请求中,客户端只需要带上这个Token前来请求数据即可,不需要再次带上用户名和密码。 即带着“令牌”,证明了自己的合法身份。 为什么要使用Token呢?作为一个engineer,当然是要“find questions,and solve...
VSCode开发Vue常用插件
VSCode 开发Vue 常用插件(基于个人喜好)VSCode如何安装插件点击左侧的方块块,可以进入插件目录,在上方可以在插件商店中搜索想要安装的插件。搜索到点击install(安装)即可安装插件,有的插件需要json配置一下。 推荐一些我个人在使用的插件在使用的过程中我看了几个博客试用了几款插件,在这里我只说一下我在用的吧,大家有什么好用的插件也可以评论说说。 Chinese(Simplified) : 汉化插件,看个人爱好吧。 Vetur : 语法高亮,在空文件里输入”vue”+回车,直接自动生成template模板,alt+shift+F快捷键格式化全文,不过默认的格式化是两个空格,有些人比如我就很不习惯(我习惯tab四个空格),这里贴一个改格式化缩进的方法。VSCode的Vue插件Vetur设置,按照文章中的做法在setting.json中为vetur加入以下两行设置代码就行了。12"vetur.format.options.tabSize": 4,"vetur.format.options.useTabs":...
ES6的学习(三)
ES6的学习(三)扩展运算符Array的扩展方法扩展运算符(展开语法)扩展运算符可以将数组或者对象转为逗号分割的参数序列。 123456let ary = [1,2,3];console.log(...ary); // 1 2 3// 逗号被当做方法的参数分隔符console.log(1,2,3)let letters = ['a','b','c'];console.log(...letters);// a b c 扩展运算符的应用扩展运算符可用于合并数组 123456789// 方法一let ary1 = [1,2,3];let ary2 = [3,4,5];let ary3 = [...ary1,...ary2];console.log(ary3); // [1,2,3,4,5,6]//方法二...