自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(74)
  • 资源 (5)
  • 收藏
  • 关注

原创 yarn 全局安装(yarn global add [package])后,命令不生效;

执行 yarn global add @vue/cli 后,重启bash……, vue命令依然不生效;而npm 全局安装(npm install -g [package])后,命令生效。yarn global bin //查找yarn安装目录复制安装目录至电脑(我的电脑是win10)的环境变量中去,win7则...

2018-11-07 18:20:21 39641

原创 基于INSCODE AI 手写Promise

【代码】基于INSCODE AI 手写Promise。

2023-06-09 11:59:00 205

原创 网页性能优化

随着业务的不断迭代,项目日渐壮大,为了给用户提供更优的体验,性能优化是前后端开发者避不开的话题。他山之石可以攻玉,基于雅虎军规一十四条规范及日常开发中收集的经验,本文收录了网页性能优化策略,整个过程不似白云写《月子》般憋闷,有的只是每每的醍醐灌顶、温故知新。回流(reflow)render树中一部分或全部元素需要改变尺寸、布局、或着需要隐藏而需要重新构建,这个过程叫做回流;比如:添加或者删除可见的DOM元素,元素位置改变,元素尺寸改变——边距、填充、边框、宽度和高度重绘(repaint)render树

2022-12-07 16:12:15 1474

原创 一文彻底弄懂npm、cnpm、npx、nrm

随着新的域名已经正式启用,老 http://npm.taobao.org 和 http://registry.npm.taobao.org 域名将于 2022 年 05 月 31 日零时起停止服务。即cnpm,这是一个完整 npmjs.org 镜像,即淘宝镜像,你可以用此代替官方版本,同步频率目前为 10分钟。cnpm是个中国版的npm,是淘宝定制的 cnpm 命令行工具代替默认的 npm。有没有一些场景,我们并不想全局安装管理包,即用即删,最适合强迫症的coder,不用担心长期的污染;

2022-08-25 16:54:09 1465

原创 input调起ios摄像头拍照旋转问题解决思路

背景input标签调起ios原生摄像头拍照时,上传照片发现照片向左旋转了90度旋转的原因:手机拍照会给图片添加一个Orientaion信息(即拍照方向),如下:用ios手机拍照,系统会给图片加上一个方向的属性, ios相机默认的拍照方向是后摄Home键在右为正,前摄Home键在左为正。1代表正常的拍摄角度,ios横屏下拍摄、安卓机无论横屏竖屏拍摄,Orientaion的值都为1;但是ios竖屏拍摄,Orientaion的值为6,即竖着拍出的照片被添加了一个顺时针旋转90°的拍照方向,显示的时候其

2022-04-25 17:55:04 3141 2

原创 js算法之“回溯算法”

回溯算法是算法设计中的一种回溯算法是一种渐进式寻找并构建问题解决方式的策略回溯算法会先从一个可能的动作开始解决问题,如果不行,就回溯并选择另一个动作,直到将问题解决使用场景有很多路在这些路中,有死路和出路通常需要递归来模拟所有的路leetcode 46: 全排列解题思路要求:1所有排列情况; 2没有重复元素有出路有死路使用回溯算法解题步骤用递归模拟出所有情况遇到包含重复元素的情况,就回溯收集所有到达递归终点的情况,并返回code// 时间复杂度O.

2022-02-09 17:40:37 1389

原创 js算法设计思想之“贪心算法”

贪心算法是算法设计中一种方法期盼通过每个阶段的局部最优选择,从而达到全局的最优选择结果不一定是最优的leetcode:455 分饼干解题思路局部最优:技能满足孩子,还消耗最小先将“较小的饼干”分给胃口最小的孩子解题步骤饼干数组和胃口数组进行生序排序遍历饼干数组,找到能满足第一个孩子的饼干然后继续遍历饼干数组,找到满足第二、三个、n个孩子的饼干code// s 饼干数组// g 胃口数组// 时间复杂度O(n*logN) 空间复杂度O(1)var findC.

2022-02-09 14:32:40 973

原创 js算法设计思想之“动态规划”

动态规划是算法设计中一种方法它讲一个问题分解为相互重叠的子问题,通过反复求解子问题,来解决原来的问题解决实例-斐波那契数列问题leetcode:70 爬楼梯解题思路爬到第n阶可以在第n-1阶爬1个台阶,或在第n-2阶爬2个阶梯F(n) = F(n-1)+F(n-2)使用动态规划解题步骤定义子问题:F(n) = F(n-1)+F(n-2)反复执行:从2循环到n,执行上述公式代码// n:第n阶台阶var climbStairs = function(n) {.

2022-02-09 11:12:26 906

原创 javascript数据结构之“堆” 附力扣算法题

堆js中的堆图中的二叉树即可用数组表示为[1,3,6,5,9,8]1的左侧子节点位置是 2 * 0 + 1 = 1 (节点3)1的右侧子节点位置是 2 * 0 + 2 = 2 (节点6)5的父节点的位置是(3 - 1)/ 2 = 1 (节点3)堆的应用高效、快速地找出最大值和最小值,时间复杂度O(1)找出第K个最大(小)元素构建一个最小堆,将元素一次插入堆中当堆的容量超过K,就删除堆顶插入结束后,堆顶就是第K个最大元素js实现最小堆类实现步骤在类里,声明一个

2021-12-21 19:55:23 1045

原创 js数据结构之“栈”附leetcode算法题

栈一个先进后出的数据结构js中没有栈的数据结构,但可以用Array来实现栈的所有功能代码来模拟栈操作const stack = [];stack.push(1) // [1]stack.push(2) // [1, 2]const item1 = stack.pop() // [1]const item2 = stack.pop() // []什么场景下用栈需要后进先出的场景比如:十进制转二进制、判断字符串的括号是否有效、函数调用堆栈…场景一:十进制转二进制场景二

2021-12-21 14:16:06 568

原创 javascript数据结构 --- “图” 附leetcode算法题目

图图是网络结构的抽象模型,是一组由边连接的节点图可以表示任何二元关系,比如道路、航班js中没有图,但是可以用Object、Array构建图的表示法:邻接矩阵、邻接表、关联矩阵邻接矩阵邻接表图的常用操作深度优先遍历尽可能深的搜索图的分支算法口诀访问根节点对根节点的没访问过的相邻节点挨个进行深度优先遍历code: 对此图进行深度优先遍历 const graph = { 0: [1, 2], 1: [2], 2: [0, 3],

2021-12-20 20:34:05 747 2

原创 javascript数据结构之“树” 附leetcode算法题

树一种分层数据的抽象模型前端工作中常见的树包括: DOM树、级联选择(省市区)、树形控件js中没有树,但可以用Object和Array构建树常用操作:深度/广度优先遍历、先中后序遍历深度优先遍历:尽可能深的搜索树的分支广度优先遍历:先访问离根节点最近的节点,数字即遍历顺序深度优先遍历算法访问根节点对根节点children挨个进行深度优先遍历const tree = { val: 'a', children: [{ val: 'b', children: [ {

2021-12-17 14:45:27 1813

原创 js数据结构之字典 附leetcode算法提

字典与集合类似,字典也是一种存储唯一值的数据结构,但它是以键值对的形式来存储ES6中有字典,名为Map字典的常用操作:键值对的增删改查const m = new Map()// 新增一个以a为键,aa为值的字典m.set('a', 'aa')m.set('b', 'bb')// 查询m.get('a') // aa// 删除m.delete('b')// m.clear() // 删除所有的键// 改m.set('a', 'aaa')m.get('a') // aaa

2021-12-13 17:13:37 1000

原创 js数据结构之集合Set 附力扣算法题

集合一种无序且唯一的数据结构,不能重复,区别于栈、队列、链表ES6中有集合,名为Set集合常用的操作:去重、判断某元素是否在集合中、求交集// 去重const arr = [1,2,2]const arr2 = [...new Set(arr)]// 判断元素是否在集合中const set = new Set(arr)const has = set.has(1) // trueconst has = set.has(4) // false// 求set2与set的交集cons

2021-12-13 13:57:43 284 2

原创 js数据结构之链表附力扣算法题

链表是什么多个元素组成的元素元素存储不连续,用next指针连在一起原型链的本质就是链表数组和链表的区别数组:增删非首尾元素时往往需要移动元素链表:增删非首尾元素,不需要移动元素,只需要更改next的指向即可javascript中没有链表可以用Object模拟链表// 模拟链表const a = {v: 'a'}const b = {v: 'b'}const c = {v: 'c'}const d = {v: 'd'}a.next = bb.next = cc.nex

2021-12-10 15:46:23 942

原创 instanceof原理解析

让我们来看下MDN的释意:instanceof 运算符用于检测构造函数的 prototype 属性是否出现在某个实例对象的原型链上。// 定义构造函数function C(){}function D(){}var o = new C();o instanceof C; // true,因为 Object.getPrototypeOf(o) === C.prototypeo instanceof D; // false,因为 D.prototype 不在 o 的原型链上o instanc

2021-11-03 18:05:51 303

原创 MAC上WD解密显示“必须从您要解锁的硬盘对应的WD Drive Unlock CD运行

mac电脑 – 网站下载西部数据硬盘管理工具Mac版工具即可安装 – 运行工具 – 输入密码后,发现可正常使用硬盘工具资源已上传

2021-10-12 22:34:18 6364 5

原创 javascript名不虚传的单例模式

介绍系统中被唯一使用一个类只有一个实例示例登录框购物车js版说明单例模式需要用到java的特性(私有属性private),而es6中没有,可以借助ts来实现privateprivate:类外部不能new,只能在类内部new,这种属性在UML类图中用“-”表示js单例模式代码class SingleObject { login() { console.log('login...') }}SingleObject.getInstance = (

2021-10-04 19:56:20 153

原创 js设计模式之工厂模式

介绍讲new操作单独封装遇到new时,就要考虑是否应该使用工厂模式比如买汉堡:直接点餐、取餐,我们不会亲手做,商店要“封装”做汉堡的工作,做好直接给买者UML类图直接上工厂模式的代码class Product { constructor(name} { this.name = name } init() {console.log('init')} fun1() {console.log('fun1')} fun2() {console.log('fun2')}}// 此处

2021-10-04 19:19:00 406

原创 js设计模式之迭代器模式

迭代器模式介绍顺序访问一个集合顺序:如数组、类数组称为顺序,而非对象,能从0,1,2…通过index访问的值使用者无需知道集合的内部结构示例<p>each1</p><p>each2</p><p>each3</p>...<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.js"></script><

2021-10-02 15:08:12 288

转载 diff算法看不懂就一起来砍我(带图)

前言面试官:"你了解虚拟DOM(Virtual DOM)跟Diff算法吗,请描述一下它们";我:"额,...鹅,那个",完了????,突然智商不在线,没组织好语言没答好或者压根就答不出来;所以这次我总结一下相关的知识点,让你可以有一个清晰的认知之余也会让你在今后遇到这种情况可以坦然自若,应付自如,游刃有余。_________________________________________________相关知识点:虚拟DOM(Virtual DOM):什么是虚拟dom为什么要使

2021-09-24 11:53:41 429

原创 我眼中的vue nextTick原理

基本使用this.$nextTick()将回调延迟到下次 DOM 更新循环之后执行。在修改数据之后立即使用它,然后等待 DOM 更新。它跟全局方法 Vue.nextTick 一样,不同的是回调的 this 自动绑定到调用它的实例上。<template> <section> <h1 ref="hello">{{ value }}</h1> <el-button type="danger" @click="get">点击&l

2021-09-16 14:21:05 440 4

转载 前端八股文之事件循环js版

JavaScript 是一门单线程语言,可是浏览器又能很好的处理异步请求,这应该如何理解?线程与进程讲到这里不得不提到线程与进程了,我听到小码哥很形象的比喻进程相当于一列火车,这列火车的车厢相当于进程线程是在进程下进行的,单纯的车厢无法运行一个进程可包含多个线程,好比一列火车有多个车厢不同进程之间的数据很难共享,比喻一列火车的乘客很难换到另外一列火车上同一进程下,不同线程间的数据很容易共享,车厢的乘客可以换成到其他车厢进程比线程消耗更多的计算机资源,可以理解多列火车和多个车厢的比较进程之

2021-09-09 20:54:33 628

原创 bind、call实现原理

释义bind()方法主要就是将函数绑定到某个对象,bind()会创建一个函数,函数体内的this对象的值会被绑定到传入bind()中的第一个参数的值,剩下的参数以逗号分隔,与call的传参数一样bind用法var person = { name: '妖怪'}function other (age, sex) { console.log(this.name + '的年龄是' + age + ',性别:' + sex)}// 注意bind使用时必用在结尾用()执行,注意与cal

2021-09-08 20:29:02 281

转载 js时间复杂度、空间复杂度

算法(Algorithm)是指用来操作数据、解决程序问题的一组方法。对于同一个问题,使用不同的算法,也许最终得到的结果是一样的,但在过程中消耗的资源和时间却会有很大的区别。那么我们应该如何去衡量不同算法之间的优劣呢?主要还是从算法所占用的「时间」和「空间」两个维度去考量。时间维度:是指执行当前算法所消耗的时间,我们通常用「时间复杂度」来描述。空间维度:是指执行当前算法需要占用多少内存空间,我们通常用「空间复杂度」来描述。因此,评价一个算法的效率主要是看它的时间复杂度和空间复杂度情况。然而,有的时候

2021-08-09 19:35:00 1901 1

原创 ps Adobe 存储为 Web 所用格式

ps导出为web旧版时,出现“Adobe 存储为 Web 所用格式”官方给出了解决办法,如下

2021-08-01 13:43:37 4887

转载 Promise 实现源码

转自知乎无名之辈,分析得非常非常好一、基础版本class Promise { callbacks = []; constructor(fn) { fn(this._resolve.bind(this)); } then(onFulfilled) { this.callbacks.push(onFulfilled); } _resolve(value) { this.callbacks.forEach(fn =

2021-07-26 19:59:25 264

原创 约瑟夫环js的一种实现方式

约瑟夫环的情景问题100个人分别编号1~100循环报数1、2、3 ,报数3的人排出第100号(报数1)结束后,龙摆尾继续报数2、3直至剩余最后一个人,求最后一个人的编号// sum代表多少个人,score代表报什么数组排除function ring (sum, score) { var numbers = []; for (var i = 1; i <= sum; i++) { numbers.push(i); } va

2021-06-09 23:02:39 430

原创 mac电脑搭建react native环境

RN + TS1.安装依赖1.1下载brew1.2brew install watchman // 监视文件变动的工具1.3下载nodejs2.npx nrm use taobao // npx 先去本地找nrm命令,如果找不到去仓库下载nrm软件,nrm用来管理npm镜像的,use taobao把镜像切换到淘宝源上3安装xcode,ios模拟器也会同步安装4安装jdk android studio,android sdk环境变量4.1 jdk java语言开发的,要安装(1) 官网下载:

2021-01-01 00:07:22 1063 1

原创 橘子很甜,月亮很圆 --- 记一次同仁医院半飞秒+角膜交联手术

12月复查,看到一个小伙子过来维权,200度近视,翟长斌医生给做成了老花眼,就是过矫,眼睛不适感强烈,多次与医院沟通无果、寻求赔偿和退还手术费;本人这次检查也出现了小问题;能看清这个世界确实很爽,但是能不做就别做了。慢慢再恢复吧,最近一个月工作用眼有些多,现在坚持做做眼保健操、多看看远处。星芒依然会有,这是不会消失的,简单来说就是后遗症了;敲了三个小时,希望给有需要的伙伴提供帮助。非专业人员,简单从网上摘抄概述下区别;2020.10.19 一个月后来复查,

2020-10-16 15:37:09 6600 9

原创 editor.md资源下载

官方推荐下载https://pandao.github.io/editor.md/的下载方式:1、可以通过npm、bower安装2、点击github可直接下载包如果都下载不了,可查找我上传的资源,我不收积分,都是csdn的锅!

2020-08-11 13:50:27 1162

原创 express、koa2脚手架的使用

安装脚手架工具+淘宝镜像地址npm install express-generator -g --registry=https://registry.npm.taobao.org通过express生成项目express express-test // 生成express-test 项目安装包并运行npm install --registry=https://registry.npm.taobao.org // 装包npm start // 运行之后会看到如下图片的项目目录,.

2020-07-09 10:27:16 822

原创 redis的安装

redis的安装mac环境的安装brew install nvm;没有brew的话,去网站https://brew.sh网站,复制下图中红色框命令,粘贴到命令后中即可运行命令 brew install rediswindows环境的安装网站http://www.runoob.com/redis/redis-install.html另外该网站有详细的使用流程man环境下redis的使用流程使用命令 redis-server, 回出现如下界面代表成功1.1redis-cl

2020-07-07 16:11:06 147

原创 nvm的安装和使用

mac的安装brew install nvm;没有brew的话,去网站https://brew.sh网站,复制下图中红色框命令,粘贴到命令后中即可windows的安装github中搜索nvm-windows,会有下载地址,如下图nvm命令nvm list查看当前所有的node版本nvm install v[版本]安装指定版本的node, 如 nvm install v10.16.0nvm use --delete-prefix [版本]切换到指定版本,如n

2020-07-01 19:59:13 759

原创 如何利用nginx配置反向代理

1、下载nginxmac:brew install nginxwindows:http://nginx.org/en/download.html2、nginx下载后的配置目录如下mac:/usr/local/etc/nginx/nginx.confwindows:C:\nginx\conf\nginx.conf3、更改nginx配置文件3.1.1 mac在终端下输入: sudo vi...

2020-04-09 15:58:02 817 1

原创 css 文字超出、超出几行省略号

1.使用overflow: hidden 把超出的内容进行隐藏;2.然后使用white-space: nowrap 设置内容不换行;3.最后使用text-overflow: ellipsis 设置超出内容为省略号{ overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}...

2020-04-02 21:22:51 362

原创 vue-video-player设置中文

看过了网上的各种抄袭,是不是很烦!!!以下做法绝对会解决你的问题。在main.js中,书写以下代码,尤其是要正确找到 zh-CN.js 的路径,通过yarn/npm 安装的vue-video-player的 zh-CN.js路径在node_modules/video.js/dist/lang/zh-CN.js然后注意window.videojs = VideoPlayer.videojs写在...

2020-03-12 21:29:26 9849 3

转载 js监测页面是否在后台运行

document.visibilityStatedocument.visibilityState (只读属性), 返回document的可见性, 即当前可见元素的上下文环境. 由此可以知道当前文档(即为页面)是在背后, 或是不可见的隐藏的标签页,或者(正在)预渲染.可用的值如下:visible : 此时页面内容至少是部分可见. 即此页面在前景标签页中,并且窗口没有最小化.hidden : ...

2020-03-03 10:14:13 4109

原创 js算法(排序)

排序常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。快速排序先从数列中取出一个数作为“基准”。分区过程:将比这个“基准”大的数全放到“基准”的右边,小于或等于“基准”的数全放到“基准”的左边。再对左右区间重复第二步,直到各区间只有一个数。var quickSort = function(arr) { if (arr....

2020-01-08 09:57:38 133

原创 es6 合并多个对象

let obj1 = { name: '我是对象1'}let obj2 = { age: '26',}let object = {...obj1, ...obj2} // {name: '我是对象1', age: '26'}// 如果向调整属性属性顺序,哪个在前那个属性就在前边...

2019-12-27 14:52:47 973

WDDriveUtilities21180.dmg

解决西部数据硬盘设置密码后,在mac打不开的问题

2021-10-12

Javascript 设计模式系统讲解与应用视频资源地址.txt

Javascript 设计模式系统讲解与应用视频资源地址.txt

2021-09-30

editor.md_master1.zip

editor.md免费资源,不需要积分,不需要积分。从github官网下载,名字改了规避资源重复问题

2020-08-11

UcSTAR聊天软件

UcSTAR 适用于内网交流, 可能涉及到更改登陆代理,以公司信息为准

2018-11-08

sourceTree中文版

sourceTree中文版!

2018-11-08

空空如也

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

TA关注的人

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