自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 [macOS]npm mozjpeg 模块下载/prebuild test失败处理方式

参考文章:https://ijs.me/2019/01/14/mozjpeg-pre-build-compile-error-fix/如果是macOS的话,通过brew把mozjpeg相关依赖装好:brew install libtool automake autoconf nasm此时重新安装mozjpeg应该就可以通过了。实在不行把项目依赖删了重装rm -rf node_modulesnpm cache clean --force...

2021-07-03 17:00:45 1511

原创 记一次Ubuntu完美迁移系统盘的折腾

平淡的下午写着代码,突然系统弹窗:"/目录空间不足!!!",一点 "检查"一看,原来还是自己刚学linux那会儿分配的20G可怜空间,而如今已经不想打开windows了,感叹到,该给linux涨涨地位了. 于是买来一张250GB nvme SSD, 又不想重装系统, 想把系统盘一字节不落的 完美迁移 ,于是乎开始了迁移的折腾之旅~~~环境说明本人的环境信息如下:原250GB nvme SSD 装了双系统: 200G给到win10, 20G给到Ubuntu208Gx2 = 16G内存Ubunt.

2021-04-18 23:45:45 7796

原创 Vue|VSCode|ESLint+autofix最简配置

定个小目标⛳️:实现用VS Code编辑默认vue cli创建的vue2项目,对.vue, .js等文件有错误检查与代码风格检查(lint)、保存时自动修复(autofix)、按照Prettier风格进行格式化。上网搜索vscode的vue项目lint和格式化,大多文章介绍的是其团队自己一揽子规范,很多规则不通用,还有很多过时、无效的配置也一并贴出来(当前为2021年),看得我头都大了????我只想要一个vue、eslint、prettier三者结合的官方默认配置,怎么这么麻烦??于是我决定痛下决心

2021-04-03 14:54:47 3086 1

原创 谈谈CSS的渐进增强

Author:Bruski ????????‍????([email protected])CSS层叠样式表作为前端三剑客之一,通过各类选择器来解耦HTML结构与表现,让开发者拥有专注控制样式的能力,实现了关注点分离。通过层叠机制,为规则赋予不同的重要程度,让我们的样式代码能够灵活地继承与覆盖。它就像精灵宝可梦里的百变怪????,拥有强大而奇妙的变化与适应能力,前端技术也因CSS的加入而变得漂亮与有趣????本文主要分享CSS技术中的一个切面概念:渐进增强,希望能够从原理+实例出发,给

2021-03-19 20:08:30 638 1

原创 Hey,你造什么是TDD吗?

本篇文章阅读时间:10min读者预期的收获是:认识测试驱动开发非常简单开启你的TDD之旅可以编写自动化测试可以学会如何开始重构、重新设计旧的代码引子(压抑背景音乐渐入——)旁白:为何深夜的办公室传来程序员的哀嚎?为何说好的一刀999,砍下去伤害为0?为何程序员好基友反目成仇,因代码调用出问题后甩锅大打出手?当个程序员,好难!(捂着铮亮的脑门)程序员甲:自从用了TDD,测试驱动开发之后,每天下班早了,BUG变少了,基友不吵了。程序员乙丙丁:真的吗?有这么神奇吗?!(集体星星眼.

2021-02-26 09:07:47 449 4

原创 [Linux]生成ssh key密钥

使用ssh-keygen命令ssh-keygen -t rsa -C "[email protected]"生成的密钥会报存在/root/.ssh/id_rsa路径下。

2021-01-31 16:20:43 315

原创 React原理学习

React原理学习vdom和diffh函数vnode数据结构patch函数diff算法只比较同一层级,不跨级比较tag不相同,则直接删掉重建,不再深度比较tag和key两者都相同,认为是相同节点,不再深度比较JSX本质查看react编译结果:Babel编译后为createElement函数(h函数 ),返回vnode。// 参数一:标签名 / 组件变量// 参数二:attributes// 参数三及往后:children / textReact.createElem

2020-10-16 10:33:17 280 1

原创 VIM学习

VIM github 教程: https://github.com/bruceeewong/vim-galore-zh_cn入门参考文章: https://zhuanlan.zhihu.com/p/89042423对VIM总是一知半解,进入奇怪的模式就不会退出了,然后很低效,专门抽时间来学习下这个别人手中强大的编辑器!思维导图...

2020-09-28 00:25:24 83

原创 Vue 2 源码阅读笔记

Vue 2 源码阅读笔记作者:bruski更新时间:2020/09/20本周末跟着拉勾前端训练营课程,学习Vue2.6的源码,终于对我们工作常用的框架有了深入的探索。Vue的设计确实轻巧精妙,代码结构、表意都十分清晰,不仅对Vue框架有窥视,还学习了漂亮的代码是怎么编排的,收获颇丰。但第一遍看下来,还是有许多不解困惑的地方,尤其是 数据响应式部分,Observer / Dep / Watcher 的调用有点绕,还需反复咀嚼!今天就先把各个部分的思维导图笔记记录一下。思维导图笔记前置Vu

2020-09-20 23:17:57 203

原创 2020/08/20 -腾讯Web前端开发面试题回答

2020/08/20 - 面试题回答面试岗位: QQ音乐 - Web前端开发笔试题1 - eval是做什么的?参考回答:https://zhuanlan.zhihu.com/p/23768637思路:先回答它是干什么的、有什么用,再回答他对作用域的影响,然后讨论执行效率的问题,最后讨论eval的其他作用。eval的作用:把字符串参数解析成JS代码并运行,并返回执行的结果,如eval("2+3"); //执行加运算,并返回运算值eval("var age=10"); //声明一个age变

2020-08-24 22:54:56 851

原创 理解、消化前端缓存知识

特别好的讲解文章: 来自知乎:《一文读懂前端缓存》 - 小蘑菇小哥对于缓存总是一知半解,实践有遇到缓存奇怪现象,比如更新了代码,然后用户端由于版本失配导致报错。面试中面试官也对强缓存的概念和解决方案深究,搞得我好难堪。于是痛定思痛,好好学习一版缓存的知识,文章就来源于知乎的一篇深度好文,以下只展示我做的思维导图笔记。缓存概览按缓存位置分类Memory Cache 内存缓存Disk Cache 硬盘缓存Service Worker![Service Worker请求网络的过程按失效.

2020-08-23 22:51:46 136

原创 2020/08/20 - [腾讯]Web前端面试

面试岗位: Web前端开发面试题1 - eval是做什么的?2 - 如何判断一个对象是否属于某个类?3 - 同步和异步的区别?4 - 外链JS异步加载(不阻塞)的方式有哪些,分别有什么区别和应用方案?5 - 如何判断当前脚本是运行在浏览器还是Node环境?6 - 请指出 window.load 和 document.DOMContentLoaded 两个事件的区别,哪个事件先发生?7 - JavaScript 有几种数据类型,哪些是传值,哪些是传址?8 - 移动端都包含哪几个原生触屏事.

2020-08-22 16:17:16 220

转载 [转载+消化]十大经典算法

推荐一个讲解清晰的网站: https://sort.hust.cc/冒泡排序算法步骤比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。function bubbleSort(arr) { var len = arr.length; for (var i = 0; i .

2020-08-21 08:44:20 169

转载 大数相加

参考:知乎-JS 实现两个大数相加?-pany回答背景:大数相加,由于js精度 最大只能到 9007199254740991 (16位) 一旦数字超过这个范围便会损失精度为了能让超精度的数字相加,所以要用字符串表示数据let a = "9007199254740991";let b = "1234567899999999999";function add(a, b) { //取两个数字的最大长度 let maxLength = Math.max(a.length, b.length).

2020-08-21 00:46:54 191

转载 函数防抖&函数节流

参考:https://juejin.im/post/6844904120432721933函数防抖在事件被触发 n 秒后再执行回调,如果在这 n 秒内事件又被触发,则重新计时。/** 将普通函数包裹一层 */function debounce(fn, wait) { var timer = null return function() { var context = this var args = arguments if (timer) { cle.

2020-08-21 00:34:42 147

原创 浅拷贝与深拷贝及实现

浅拷贝与深拷贝参考: 掘金文章JS类型及存储深拷贝和浅拷贝的主要区别就是其在内存中的存储类型不同:JS的五大基础类型 (undefined,boolean,number,string,null)都是存储在栈内存中,按值存放不可修改,所以拷贝的时候是直接复制值JS的引用类型 (object, array, function...),其真实值存储在堆内存中,变量存储的实际是指向堆内存地址的指针,存储在栈内存,所以比较、赋值的时候是复制指针,修改会影响到堆中的数据。浅拷贝浅拷贝即遍历原对象的第一

2020-08-20 23:58:40 594

原创 JavaScript异步编程小记

作者: Bruski时间: 2020/08/20文章主要介绍 JS运行的两种方式、Generator的用法、以及Async-Await与生成器的关系JavaScript两种运行方式同步模式,优点:易读,简单,缺点:遇到耗时操作会导致阻塞,卡死,此时就需要将耗时任务用异步的方式执行console.log("global begin"); // 调用1function bar() { console.log("bar task");}function foo() { consol.

2020-08-20 23:06:05 160

原创 TypeScript类型基础

作者:Bruski时间: 2020/08/20原始数据类型const a: string = "foobar";const b: boolean = false;const c: number = 1;// 不允许置null// const d: boolean = null;const e: void = undefined;const f: null = null;const g: undefined = undefined;// 在 lib.es2015.sym.

2020-08-20 22:36:29 166

原创 [拉勾前端训练营] ECMAScript各版本特性 - 学习笔记

作者: 王思哲 bruski时间: 2020/05/23ECMAScript概述ECMAScript 是语言标准,只负责定义语法与 JavaScipt 的关系JavaScript 是 ECMAScript 的实现与扩展JavaScript 的本身,是 ECMAScript在不同环境下, JS 的组成分别是:浏览器ECMAScriptWeb APIsDOMBOMNodeJSECMAScriptNode APIsfsnetetc.发展历程.

2020-08-20 22:12:21 432 1

原创 Unity脚本 - 学习笔记

1. 脚本生命周期1.1 MonoBehaviour LifeCycle1.2 Awake() 和 Start()Awake初始化函数,在游戏开始时系统自动调用 创建变量 无论脚本是否被激活都能被调用Start初始化函数,在Awake之后,Update之前 给变量赋值 只有脚本组件被激活才能被调用1.3 Update() 和 FixedUpdate()Upd...

2019-05-08 15:33:42 241

原创 UML面向对象建模与设计

面向对象 OO面向对象的术语指:把软件组织成一系列离散的、合并了数据结构与行为的对象。包含4个方面:标识(identity): 数据被量化成对象分类(classification):有着同样数据结构和行为的对象被分组为一个类继承(inheritance):多个类基于一种分层关系,共享类间属性和方法多态(polymorphism):对于不同的类,相同的操作有着不同的动作三种模...

2019-03-30 23:07:55 3257

转载 Markdown语法学习笔记

Markdown学习笔记作者:欧阳锋链接:https://www.jianshu.com/p/335db5716248来源:简书简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。基础语法标题标题语法# h1## h2### h3#### h4##### h5##### h6h1h2h3h4h5h6文字高亮高亮语法> 这段...

2019-03-24 23:16:12 227

原创 JSON学习

JSON概念JSON: JavaScript对象表示法(JavaScript Object Notation)JSON是存储和交换文本信息的语法,类似XML。采用键值对的方式来组织,易于读写和解析。JSON是独立与语言的,任何语言按照JSON语法都可以解析。JSON与xml相比长度比xml小 json读写快 json可以使用JavaScript內建方法解析:JSON.par...

2018-12-21 08:31:04 144

原创 AJAX学习

AJAX:异步的javascript和xml 实现AJAX的XMLHttpRequest对象open(method, url, async):规定请求类型、url、异步还是同步method:发送请求的方法 URL:请求的地址 async:true为异步,false为同步,默认为truesend(string):把请求发送到服务器string:GET无主体,参数拼接到URL...

2018-12-20 16:05:24 387

原创 HTTP概念学习

HTTP:计算机通过网络进行通信的规则,无状态的协议(不保留连接,没有记忆)默认情况下,发送XHR请求的同时,还会发送以下HTTP头部信息:Accept: 浏览器能够处理的内容类型 Accept-Charset: 浏览器能够显示的字符集 Accept-Encoding: 浏览器能够处理的压缩编码. Accept-Language: 浏览器当前设置的语言. Connection: 浏...

2018-12-20 15:44:00 200

原创 [Web前端]实习前知识准备

  秋招找到了前端的工作,待遇还不错,对于初出茅庐的我来说觉得受到极大的尊重.所以要赶在上岗前,努力提升自己,特此开始框架的学习,记录一下公司给出的学习清单.PC端学习清单:1 框架:Vue.jshttps://cn.vuejs.org/v2/guide/ 是一套用于构建用户界面的渐进式框架。 Vue 的核心库只关注视图层 当与现代化的工具链以及各种支持类库结合使用时,V...

2018-12-14 13:51:51 1691

转载 Node.js使用formidable实现文件上传的功能

小白一枚,刚学习了https://segmentfault.com/a/1190000011424511博主的文章,特此记录. 原生的node.js在处理客户端以POST方式提交的数据时,比较复杂,所以用第三方模块包formidable来处理客户端以POST方式提交的表单、文件、图片等。formidable处理POST方式上传的文件或图片前端代码:<form actio...

2018-12-13 16:04:40 689

转载 解决18.04 ubuntu的触控板右键失灵

18.04 ubuntu的触控板的驱动默认按照mac的触控板模式来的,在terminal运行 gsettings set org.gnome.desktop.peripherals.touchpad click-method areas   命令就可以解决

2018-09-26 20:54:03 2795

原创 ubuntu下创建eclipse桌面快捷方式

1、切换到/usr/share/applications目录cd /usr/share/applications2、用vi或vim编辑器创建一个名为“eclipse.desktop”的文件sudo gedit eclipse.desktop3、添加以下内容:[Desktop Entry]  Encoding=UTF-8  Name=Eclipse  Comment=...

2018-09-19 11:42:13 559

转载 ubuntu 源码编译,dpkg,apt 安装原理 及简单使用

1. 源码编译(源码安装通常安装比较麻烦,特别是解决依赖经常会出现问题,但是通常编译可以获得该软件的最新版本)源码:程序代码,写给人开的程序语言,但机器无法识别,所以无法执行; 编译程序:将程序代码转译成为机器能看得懂的语言,相当与翻译器; 可执行文件:经过编译程序变成二进制程序后机器可以识别的可执行二进制文件;而在整个编译的过程,又需要设置软件安装路径,确定链接库位置,检测库依赖关系是...

2018-09-19 11:29:30 1001

转载 Linux Ubuntu中软件管理apt & dpkg知识整理

一、 Ubuntu中软件安装方法1)APT方式(1)普通安装:apt-get install softname1 softname2 …;(2)修复安装:apt-get -f install softname1 softname2… ;(-f Atemp to correct broken dependencies)(3)重新安装:apt-get –reinstall instal...

2018-09-18 17:54:11 331

转载 【转载】解决Linux与Win双系统时间不一致:同步时间后写入硬件

注明出处:https://www.jianshu.com/p/9f0b01505385先在ubuntu下更新一下时间,确保时间无误:sudo apt-get updatesudo apt-get install ntpdatesudo ntpdate time.windows.com然后将时间更新到硬件上:sudo hwclock --localtime --systohc...

2018-09-18 17:23:53 875

原创 暑期修炼第一天:英语50单词+线代行列式+深度广度优先

从今天起到2018/8/31,是属于我最后一段考研学习与编程修炼的时期!今天没做好规划,效率不是很高,早上背了50个单词,数学从线代部分开始,看完行列式部分,并完成了例题。晚上是属于编程的训练时间,可以学和写任何想写的代码:今天学习的是图论的深度优先和广度优先算法。两个算法都是基于邻接链表来实现的,语言是C++;邻接链表数据结构:const int MaxSize = 10;...

2018-07-16 23:11:26 198

空空如也

空空如也

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

TA关注的人

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