自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 资源 (7)
  • 收藏
  • 关注

原创 npm install一直卡在 sill idealTree buildDeps

当npm install命令在安装过程中卡在`sill idealTree buildDeps`阶段时,可能的原因包括网络延迟、镜像源问题或缓存问题

2024-02-20 13:16:56 4478

原创 亿级流量高并发春晚互动前端技术揭秘 - 学习笔记

主要学习到在面对大规模、高并发的场景下,确保系统的稳定性和性能,为用户提供稳定流畅的互动体验。前端都用到那些技术,做了哪些努力和创新。

2024-02-11 13:52:04 923

原创 上传图片添加自定义水印后再继续上传

场景:上传图片调用接口前,需要先在图片上加水印,再传给接口保存。

2024-01-30 14:22:21 390

原创 ES6中flat(),flatMap()使用方法

flatMap()方法对原数组的每个成员执行一个函数(相当于执行Array.prototype.map()),然后对返回值组成的数组执行flat()方法。该方法返回一个新数组,不改变原数组。数组的成员有时还是数组,Array.prototype.flat()用于将嵌套的数组“拉平”,变成一维的数组。该方法返回一个新数组,对原数据没有影响。flat()默认只会“拉平”一层,如果想要“拉平”多层的嵌套数组,可以将flat()方法的参数写成一个整数,表示想要拉平的层数,默认为1。

2023-10-13 15:21:15 378

原创 JavaScript算法学废宝典--前置技能一--链表

链表是由一组节点组成的集合。每个节点都使用一个对象的引用指向它的后继,指向另一个节点的引用叫做链。数组元素靠它们的位置进行引用,链表元素则是靠相互之间的关系进行引用。

2023-08-25 18:09:22 132

原创 JavaScript算法学废宝典一队列

队列是一种列表,不同的是队列只能在队尾插入元素,在队首删除元素。是一种先进先出的数据结构。队列被用在很多地方,比如提交操作系统执行的一系列进程、打印任务池等,一些仿真系统用队列来模拟银行或杂货队里排队的顾客。

2023-06-11 18:15:33 627

原创 JavaScript算法学废宝典--前置技能一--栈

栈是一种特殊的列表,栈内的元素只能通过栈顶访问,栈被称为一种后入先出的数据结构。

2023-02-28 22:18:57 95

原创 jquery项目嵌入vue3框架

场景描述:公司已有jquery后台管理类项目,想把项目升级为vue3框架,使用gitee上已有vue3-elment-admin,因为旧项目功能模块非常多,重构十分耗费时间,所以决定在vue框架上引入jquery项目。

2023-02-14 19:05:30 1825

原创 《JavaScript设计模式与开发实践》——第十五章(装饰者模式)学习记录

给对象动态地增加职责的方式称为。装饰者模式能够在不改变对象自身的基础上,在程序运行期间给对象动态地添加职责。跟继承相比,装饰者是一种更轻便灵活的做法,这是一种“即用即付”的方式。...

2022-08-29 22:55:32 179

原创 《JavaScript设计模式与开发实践》——第十四章(中介者模式)学习记录

中介者模式的作用就是解除对象与对象之间的紧耦合关系。所有的相关对象都通过中介者对象来通信,而不是互相引用,所以当一个对象发生改变时,只需要通知中介者对象即可。玩家数目为2,所以当其中一个死亡游戏就结束,并且通知对手胜利:为游戏增加队伍现在我们已经可以随意地为游戏增加玩家或者队伍,但是每个玩家和其他玩家都是紧紧耦合在一起的。如果是一个大型的网络游戏,如果一个玩家掉线,必须从所有其他玩家的队友列表和敌人列表中都移除这个玩家,显然我们上面的代码也要迅速进入投降模式了。假设小明和小红掉线,小丽和小花死亡

2022-07-02 12:20:22 584

原创 《JavaScript设计模式与开发实践》——第十三章(职责链模式)学习记录

职责链模式的定义是:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系,将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。假设我们负责一个售卖手机的电商网站,经过分别交纳500元定金和200元定金的两轮预定后(订单已在此时生成),现在已经到了正式购买的阶段。公司针对支付过定金的用户有一定的优惠政策。在正式购买后,已经支付过500元定金的用户会收到100元的商城优惠券,200元定金的用户可以收到50元的优惠券,之前没有支付定金的用户只能进入普通购买模式,也就是没有优

2022-06-27 06:04:23 293

原创 《JavaScript设计模式与开发实践》——第十二章(亨元模式)学习记录

亨元模式是一种用于性能优化的模式,享元模式的核心是运用共享技术来有效支持大量细粒度的对象。如果系统中因为创建了大量类似的对象而导致内存占用过高,享元模式就很有用了。假设弄个工厂,为了推销自己生产的衣服,要用塑料模特穿上衣服拍成照片进行推广。有50种男士上衣和50种女士上衣,不使用享元模式的情况下,我们可能会这样实现:上述代码生成了50个男模特50个女模特,如果衣服种类提升到了10000种,这种方式要生成20000个模特,显然是不行的,接下来改写一下代码:代码改成了只生成一个男模特和一个女模特,一个模特

2022-06-16 22:29:14 102

原创 《JavaScript设计模式与开发实践》——第十一章(模板方法)学习记录

模板方法模式是一种只需要使用继承就可以实现的非常简单的模式。模板方法模式由两部分结构组成,第一部分是抽象父类,第二部分是具体的实现子类。通常在抽象父类中封装了子类的算法框架,包括实现一些公共方法以及封装子类中所有方法的执行顺序。子类通过继承这个抽象类,也继承了整个算法结构,并且可以选择重写父类的方法。1.先泡一杯咖啡(1)把水煮沸(2)用沸水冲泡咖啡(3)把咖啡倒进杯子(4)加糖和牛奶通过下面这一段代码,我们就能得到一杯香浓的咖啡2.泡一壶茶(1)把水煮沸(2)用沸水浸泡茶叶(3)把茶水倒

2022-06-10 20:20:47 98

原创 2022.6.5打卡---------1.说一下你理解的JS事件循环,宏任务和微任务?

在说这个问题之前,要先了解一下,什么是“同步任务”和“异步任务”:JavaScript是一门单线程的语言,任务需要按照执行顺序来完成,下一个任务需等待上一个任务结束后才开始执行,这就是同步任务。异步任务指任务执行后,不需要等待结果返回,也可以继续往下执行,当异步任务结果返回后会调用预先设置的监听函数执行后续任务。上面已经说倒js是一门单线程语言,所以它本身是不可能异步的,但是js的宿主环境(比如浏览器、node)是多线程,宿主环境通过某种方式(事件驱动)使得js具备了异步的属性。JavaScript引

2022-06-05 17:22:42 123

原创 《JavaScript设计模式与开发实践》——第十章(组合模式)学习记录

通过观察可以发现,宏命令中包含了一组子命令,它们组成了一个树形结构。其中MacroCommand被称为组合对象,closeDoorCommand、openPcCommand、openQQCommand都是叶对象。组合模式将对象组合成树形结构,以表示“部分-整体”的层次结构。除了用来表示树形结构之外,组合模式的另一个好处是通过对象的多态性表现,使得用户对单个对象和组合对象的使用具有一致性。在组合模式中,请求在树中传递的过程总是遵循一种逻辑。以宏命令为例,请求从树最顶端的对象往下传递,如果当前处理请求的对

2022-06-01 22:40:26 159

原创 JavaScript算法学废宝典--前置技能一--列表

列表的完整抽象数据类型定义function List() { this.listSize = 0; //列表的元素个数 this.pos = 0; //列表的当前位置 this.dataStore = []; //初始化一个空数组来保存列表元素 this.clear = clear; //清空列表中的所有元素 this.find = find;//列表中查找某一元素 this.toString = toString; //返回列表的字符串形式 this.insert = ins

2022-05-02 18:13:13 94

原创 JavaScript算法学废宝典--前置技能一--数组

创建数组方法一:(常用)var arr = [];方法二:var numbers = new Array();判断是否是数组:var arr = [];var str = "";console.log(Array.isArray(arr));//trueconsole.log(Array.isArray(str));//false字符串生成数组(split)var sentence = "a b c d e";var words = sentence.split(" ");f

2022-04-09 08:27:34 866

原创 《JavaScript设计模式与开发实践》——第九章(命令模式)学习记录

命令模式是最简单和优雅的模式之一,命令模式中的命令(command)指的是一个执行某些特定事情的指令。命令模式最常见的应用场景是:有时候需要向某些对象发送请求。但是并不知道请求的接收者是谁,也不知道被请求的操作是什么。此时希望用一种松耦合的方式来设计程序,使得请求发送者和请求接收者能够消除彼此之间的耦合关系。命令模式的例子-----菜单程序假设我们正在编写一个用户界面程序,该界面上至少有数十个Button按钮。因为项目比较复杂,所以我们决定让某个程序员负责绘制这些按钮,另一些程序员负责编写点击按钮后的

2022-04-05 14:11:05 856

原创 《JavaScript设计模式与开发实践》——第八章(发布-订阅模式)学习记录

发布-订阅模式又叫观察者模式,它定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知。现实中我们就能找到发布-订阅模式,比如,小明最近看上了一套房子,到了售楼处才知道房子售罄了,但是售楼MM告诉小明,不久后还有一些尾盘推出,开发商正在办理相关手续,手续办好后就可以购买了,但是无法确定到底是什么时候。于是小明记下了售楼处的电话,以后每天都会打电话询问有没有到购买时间,除了小明,可能还会有别人,每天向售楼处咨询同样的问题。显然这是不合理的,实际情况是小明把自己的电话号

2022-03-22 22:02:21 601

原创 《JavaScript设计模式与开发实践》——第七章(迭代器模式)学习记录

迭代器模式是指提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示。迭代器模式可以把迭代的过程从业务逻辑中分离出来,在使用迭代器模式之后,即使不关心对象的内部构造,也可以按顺序访问其中的每个元素。迭代器模式无非就是循环访问聚合对象中的各个元素,比如我们很熟悉的JQuery中的$.each:$.each([1,2,3],function(i,n){ //i为当前索引 //n为当前元素})下面我们来实现一个自己的each函数,同样接受两个参数,一个是被循环的数组,另一个是循

2022-03-13 23:07:06 779

原创 《JavaScript设计模式与开发实践》——第六章(代理模式)学习记录

代理模式是为一个对象提供一个代用品或占位符,以便控制对它的访问。代理模式的关键是,当客户不方便直接访问一个对象或者不满足需要的时候,提供一个替身对象来控制对这个对象的访问,客户实际上访问的是替身对象。替身对象对请求做出一些处理之后,再把请求转交给本体对象。先从一个小例子开始熟悉代理模式的结构:小明想给小红送一束花,刚好小明和小红(A)有一个共同朋友小丽(B),于是内向的小名决定让小丽代替自己完成送花这件事。先看看不用代理模式的情况:var Flower = function(){} var

2022-03-10 23:37:06 1163

原创 《JavaScript设计模式与开发实践》——第五章(策略模式)学习记录

策略模式定义:定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换。5.1使用策略模式计算奖金策略模式有着广泛的应用,看一下年终奖的计算某公司规定,绩效为S的员工,年终奖有4倍工资,绩效为A的人年终奖有3倍工资,而绩效为B的人年终奖是里倍工资。假设财务部要求我们提供一段代码,来方便他们计算员工的年终奖。1.最初的代码一般我们会这样做:var calculateBonus = function(performanceLevel,salary){ if(performanceL

2022-03-05 22:59:53 101

原创 《JavaScript设计模式与开发实践》——第四章(单例模式)学习记录

单例模式的定义是:保证一个类仅有一个实例,并提供一个访问它的全局访问点。在JavaScript开发中,单例模式的用铜同样非常广泛,当我们单击登录按钮的时候,页面中会出现一个登录浮窗,这个浮窗是唯一的,无论单击多少次登录按钮,这个浮窗都只会被创建一次,这个浮窗就很适合用单例模式来创建。4.1实现单例模式其实一个单例模式并不复杂,无非就是用一个变量来标志当前是否已经为某个类创建过对象,如果是,则在下一次获取该类的实例时,直接返回之前创建的对象:var Singleton = function(name)

2022-02-27 12:58:58 273

原创 《javascript设计模式与开发实践》——第三章(闭包和高阶函数)学习记录

3.1闭包闭包的形成与变量的作用域以及变量的生存周期密切相关。我们先来看下这两个前置技能变量的作用域:就是指变量的有效范围,我们在声明一个变量的时候,如果该变量前面没有关键字var,这个变量就是全局变量,这是一种容易造成命名冲突的做法。另一种情况是用var在函数中声明变量,这个时候的变量就是局部变量,只有在该函数内部才能访问这个变量,如下: var func = function(){ var a = 1; alert(a)//1 } func();

2022-02-24 22:26:07 418

原创 《JavaScript设计模式与开发实践》——第二章(this、call、apply)学习记录

2.1 thisJavaScript的this总是指向一个对象,而具体指向哪个对象是在运行时给予函数的执行环境动态绑定的,而非函数被声明时的环境。2.1.1this的指向大致可以分为以下四种。作为对象的方法调用。作为普通函数调用。构造器调用。Function.prototype.call或Function.prototype.apply调用。1. 作为对象的方法调用。当函数作为对象的方法被调用时,this指向该对象 var obj = { a:1, getA

2022-02-19 10:48:34 279

原创 《javascript设计模式与开发实践》——第一章(面向对象的javascript)学习记录

1.1动态类型语言和鸭子类型编程语言按照数据类型大体可以分为两类,一类是静态语言,另一类是动态语言,在javascript中,当我们对一个变量赋值时,并不需要考虑它的类型,显然javascript是典型的动态类型语言。由于无需进行类型检测,我们可以尝试调用任何对象的任意方法,而无需考虑它原本是否被设计为拥有该方法。这一切都建立在鸭子类型的概念上,鸭子类型的通俗说法是:“如果它走起来像鸭子,叫起来是鸭子,那么它就是鸭子。”通过一个小例子深入理解一下:从前在JavaScript王国里,有一个国王,他觉得

2022-02-17 23:20:26 578

原创 记录vue-cil安装scss时遇到的问题

执行npm install scss安装scss,但是报错@ ./node_modules/vue-style-loader!./node_modules/css-loader?{“sourceMap”:true}!./node_modules/vue-loader/lib/style-compiler?{“vue”:true,“id”:“data-v-7ba5bd90”,“scoped”:false,“hasInlineConfig”:false}!./node_modules/sass-loader/

2022-02-14 22:18:48 3134

原创 微信小程序全栈开发实战学习五(view容器组件及Flex布局一个view如何实现所有常见的UI布局?)

1.如何使用view实现常见的UI布局(1)先来看view常见的属性hover-class:按住元素会加一个bc_red的类样式hover-stop-propagation:阻止父节点出现单击态,默认为false不阻止这样点击子组件,父组件就不会触发了catchtap同bindtap事件一样,也是绑定事件,但是可以阻止冒泡事件,这样点击子元素就不会触发父元素的点击事件。(2)接下来了解下flex布局先来了解下主轴和辅轴,这两个概念是通过flex-direction设置的值来判断的,值为ro

2021-05-28 18:07:00 720

原创 微信小程序全栈开发实战学习四(rich-text组件如何单击预览rich-text中的图片并保存?)

rich-text展示:space:空格策略,控制中文空格显示的大小,有三种值,中文环境取emspnodes:可以取字符串(会影响性能),也可以取数组(推荐)子属性:1.name:节点名称2.attrs:节点属性3.children:子节点列表(数组类型)4.type:节点类型,共有两种node(默认,可不写)和text1.如何预览保存rich-text富文本组件中的图片rich-text所有节点都屏蔽单击事件,我们可以在rich-text上添加tap事件,然后使用wx.previewI

2021-05-28 16:41:21 1928 1

原创 微信小程序全栈开发实战学习三(icon组件关于图标的5个实现方案+progress组件如何自定义实现一个环形进度条?)

icon组件关于图标的5个实现方案.小程序官方提供icon很少,支持两种单位 px rpx我们可以用以下5个方案来使用图标1. 使用图片缺点:图标多会造成大量http请求;不方便修改颜色;图标放大会变虚2. 使用精灵图(连续图片集)注意:背景图片只能使用网络图片,不能使用本地图片.3.使用css样式绘制(不推荐)4.使用矢量字体(最为简单有效)注意:小程序中建议使用TTF和WOFF格式的。WOFF2在低版本的IOS上会有不兼容的问题。具体方法:(这里推荐阿里巴巴矢量图库)可以前

2021-05-27 17:44:17 346

原创 微信小程序全栈开发实战学习二(小程序运行机制简介从零构建一个WebApp需要做哪些事情?)

小程序的启动分两种情况,冷启动和热启动小程序的三种启动方式1.首次打开小程序,从微信云端下载小程序代码包,并且运行(冷启动)2.最近启动过小程序,再打开一次小程序会直接从后台切换到前台(热启动)3.长时间没有运行,被微信主动销毁,再次打开,从缓存读取代码包,同时从微信云端检查版本更新(冷启动)ps:也就是说小程序更新版本要等到冷启动,如果想立刻更新,我们可以使用wx.getUpdateManager小程序被主动销毁情况后台运行五分钟就会被销毁短时间内5s内连续收到两次系统内存警告,就会

2021-05-26 17:19:56 414 2

原创 微信小程序全栈开发实战学习一(小程序的特点及开发能力+微信小程序开放了哪些新功能?)

小程序的特点及开发能力1.相比传统应用,有以下特点与Web相比,首先入口不同。主要都是基于传统的前端技术,以JavaScript语言为主。与App相比,学习门槛和开发成本都比较低,可以快速上手。不需要下载和安装,不想用了也不需要卸载。相比H5,小程序受限微信运营规范,不像H5页面那么灵活。但它也可以做一些H5做不了的事情,比如消息订阅,直接转发消息发给好友等。2.小程序的开发能力依托于微信的宿主环境,除了常用的UI组件及网络API之外,在设备能力上,凡微信有的能力,例如振动,监听网络状态

2021-05-24 11:52:03 606

原创 Photo-Sphere-Viewer简单使用

官方网站:https://photo-sphere-viewer.js.org/guide/文件链接:https://download.csdn.net/download/weixin_37365539/13053909<!DOCTYPE html><html><head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>3

2020-10-26 15:13:22 2590 1

原创 canvas绘制一个简单的带标注的环形饼图

最后效果图canvas.html内容

2020-09-18 15:45:38 633

原创 windows环境下MongoDB+vue+node.js简单实例(一)-----------------MongoDB环境搭建

windows环境下MongoDB环境搭建官方下载网址https://www.mongodb.com/try/download/community这里下载比较慢

2020-07-25 09:17:51 231

原创 怎样在windows系统使用vue-cli搭建一个简单的项目(同时解决了问题:‘vue‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。)

先说几句废话。。。可能会有人和我经历一样。要确保已经安装了node和npm。可以执行命令node -v和npm -v。看看这两个是否存在。确认存在以后执行npm install vue-cli -g ,显示安装成功了但是执行vue list,提示’vue’ 不是内部或外部命令,也不是可运行的程序。经过网上一番查找一番改系统环境变量,最后还是不成功,最后决定,把node和vs Code卸载重新装(因为这两个在安装的时候都会自动更改环境变量,但是这个时候我已经把环境变量改乱了。)步入正题1.安装no

2020-07-11 16:43:10 789

转载 苹果手机,ios系统history.back()返回却不刷新页面

项目里点击提交按钮以后,需要返回上一页并且刷新页面,在安卓手机上可以,但是在苹果手机上只能返回上页但是不刷新。原文链接:https://blog.csdn.net/hbts_901111zb/article/details/76691900在上一个页面里加一段js// 解决ios上返回上一页不刷新的问题(function () {var isPageHide = false;window.addEventListener(‘pageshow’, function () {if (isPageH

2020-06-08 16:39:44 1383

原创 layui上传图片,第二次选择图片上传会先上传第一次选择的图片

layui单文件上传会重复上传怎么解决在上传成功的done函数里加一句delete this.files[index]就可以解决这个问题了, done: function (res, index, upload) {alert(index);layer.msg(‘添加失败!’);//var files = upload.pushFile();delete this.files[index]//console.log(res)}参考链接地址https://fly.layui.com/jie/

2020-06-04 16:23:05 1266

原创 执行git push origin master提交失败

执行git push origin master以后出现以下错误! [rejected] master -> master (fetch first)error: failed to push some refs to ‘[email protected]:yuyiyu_admin/wlzjia.git’hint: Updates were rejected because the remote contains work that you dohint: not have locall

2020-05-15 11:55:00 505

原创 页面初加载时,图片下的元素会抖动,css怎样确定图片的高度

方法一HTML<div class="img_wrapper"> <img src="图片地址"/></div>CSS首先要确定图片的宽高比例,比如图片宽600px,高330px。那么比例就是330/600*100%=55%.img_wrapper{ width: 100%; height: 0; overflow: hidden; pad...

2020-03-15 23:29:29 320

photoSpheredView.rar

Photo-Sphere-Viewer简单案例,启动本地服务器看html页面可以正常看,不然会有跨域问题

2020-10-26

robo3t-1.2.1-windows-x86_64-3e50a65.rar

robot3T是mongodb的一个非常好用的可视化管理工具。经名为robomongo,现在被收购后改名为robo 3T。

2020-07-16

MongoDBCompass.rar

mongoDB Compass,这个软件下载起来更慢,在这里存一下,等下再传一个robo3t,听说这个软件也很好用

2020-07-16

mongodb-win32-x86_64-2008plus-ssl-3.6.18-signed.rar

[email protected] 这个软件真的下载起来好慢。。在这存一下。windows版本。等下再上传一个MongoDB compass.那个下载起来更慢

2020-07-16

node-v12.18.0.rar

node12安装包,具体版本12.18.0,内包含windows 32位和64位安装包,mac安装包

2020-06-10

node-v11.15.0.rar

node11安装包,内包含mac版本和windows版本的安装包,其中windows版本分为32位和64位,具体版本node-v11.15.0

2020-06-10

node-v10.21.0.rar

node10安装包,包含mac版本和windows版本,windows版本有32位和64位,具体版本10.21.0

2020-06-10

空空如也

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

TA关注的人

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