自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Mr_Yan的博客

Talk is cheap show me the code!

  • 博客(104)
  • 收藏
  • 关注

原创 LRU算法

题目详情LRU 是 Least Recently Used 的缩写,即最近最少使用,是一种常用的页面置换算法,选择内存中最近最久未使用的页面予以淘汰。思路解法:维护一个数组,提供 get 和 put 方法,并且限定 max 数量。使用时,get 可以标记某个元素是最新使用的,提升它去第一项。put 可以加入某个key-value,但需要判断是否已经到最大限制 max若未到能直接往数组第一项里插入若到了最大限制 max,则需要淘汰数据尾端一个元素。LRUCache cache = new L

2021-08-08 16:09:44 293

原创 时间空间复杂度

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

2021-08-08 11:17:18 212

转载 H5无法调起android app 的坑之 scheme 大小写

项目中遇到的坑,此处记录一下,也为大家提个醒。在manifest 文件中配置h5打开activity的scheme和host<activity android:name=".MainActivity" android:exported="true" android:screenOrientation="portrait" android:theme="@style/AppThemeNoActionBar"> <intent-filter>

2021-04-11 23:02:02 740 2

原创 「前端进阶」高性能渲染十万条数据(虚拟列表

https://juejin.cn/post/6844903982742110216#heading-5

2021-04-11 22:54:48 188

原创 自定义事件

var myEvent = new CustomEvent("userLogin", { detail: { username: "davidwalsh" }}); // 触发它!document.dispatchEvent(myEvent);<br>document.addEventListener("userLogin", function(e) { console.info("Event is: ", e); console.inf

2021-04-11 22:50:44 107

原创 乱七八糟问题集锦

Muted autoplay videos stop playing in Safari 11.0

2021-04-11 20:12:18 187

转载 使用HTML5地理位置定位到城市的方法及注意事项

介绍本文将简述一下如何通过HTML5和百度地图开放平台提供的API来实现对浏览器的定位,同时记录了遇到的问题和解决方案。实现效果为显示出用户所在的省市,即: XXX省 XXX市。实现思路利用HTML5 提供的API获取到用户的经纬度信息,再将用户的经纬度信息传到百度地图开放平台,百度地图开放平台根据提供的坐标信息返回当前的省市。兼容性及依赖兼容性:Internet Explorer 9+, Firefox, Chrome, Safari 和 Opera 都支持Geolocation(地理定位).

2021-04-11 19:27:13 472

原创 正则表达式中?=和?:和?!的理解

要理解?=和?!,首先需要理解前瞻,后顾,负前瞻,负后顾四个概念:// 前瞻:exp1(?=exp2) exp1后边是exp2就匹配// 后顾:(?<=exp2)exp1 exp1前边是exp2就匹配// 负前瞻:exp1(?!exp2) exp1后边不是exp2就匹配// 负后顾:(?<!exp2)exp1 exp1前边不是exp2就匹配Eg举例:"中国人".replace(/(?<=中国)人/, "rr") // 匹配中国人中的人,将其替换为rr,结果为 中国r

2021-04-11 19:09:03 1306

原创 webpack中normalModuleReplacementPlugin

就一个替换问题详细传送门

2020-10-31 13:13:22 923

原创 mac下更改vue add的默认npm淘宝镜像

/Users/mmbang/.config/yarn/global/node_modules/@vue/cli/lib/util/registries.js

2020-10-26 10:17:58 603

原创 编写自己的组件库

fs-extra模块是系统fs模块的扩展,提供了更多便利的 API,并继承了fs模块的 APIcopy 复制文件emptyDir 清空目录ensureFile 创建文件ensureDir 创建目录isDirectory()是否是目录

2020-10-26 09:37:26 658

原创 通过nodejs代理服务器解决跨域问题

占坑https://www.cnblogs.com/casicloud-lj/p/10141892.htmla

2020-09-20 22:25:21 260

原创 CSS高性能动画

前置知识点重绘与回流为什么transform更加平滑?CSS3动画卡顿优化解决方案重绘与回流CSS性能让javascript变慢会的,频繁触发重绘与回流,会导致UI频繁渲染,最终导致js变慢。有两个线程:一个线程JavaScript解析,一个线程是UI渲染,这两个其实是互斥的两个线程。当javascript 线程运行的时候 ui 线程则会中止暂停,反之亦然。那这是为什么呢?原因是,当ui 线程运行对页面进行渲染的时候 js 脚本难免会涉及到页面视图上的一些样式的改变,为了使这个改变.

2020-09-20 22:20:00 191

原创 Nginx常用的几个用途

反向代理配置gzip正向代理正向代理测试域名:http://www.ttlsa.com/静态资源服务器适配PC和移动设备

2020-09-14 23:27:53 426 2

转载 前端常见的鉴权方式

目前我们常用的鉴权有四种:HTTP Basic Authentication (HTTP基本认证)session-cookieToken 验证(包括JWT,SSO)OAuth(开放授权)HTTP Basic Authenticationhttp1.0或1.1规范的客户端(如IE,FIREFOX)收到401返回值时,将自动弹出一个登录窗口,要求用户输入用户名和密码。 用户名及密码以BASE64加密方式加密(base64不安全!)。客户端未未认证的时候,会弹出用户名密码输入框,这个时候请求时属

2020-09-13 20:55:46 2931

原创 webworker和darkmode笔记

整体思维导图

2020-09-13 20:23:05 158

原创 vue中使用TypeScript

方式一vue.extend方式二vue-class-componentVue中使用jsx和 React中使用jsx区别vue script部分ts化都不太理想,vue template充斥着文本形式的变量,运行时才能绑定,静态类型根本无效,如果强加了一个类型,不使用template语法,反而失去了其快速迭代开发的特性,因此其目标和react并不完全一致。不过,除了vue组件,项目之中其他的api,util等文件ts化倒是仍然有一些帮助,而且不会带来较大的复合,vue组件中调用这个ts文件impor

2020-09-13 20:17:05 273

原创 详解package.json文件

JS线程之所以js中有事件循环,原因就是因为js是单线程的原因进程与线程区别?JS单线程带来的好处?一个进程中可以有多个线程,比如渲染线程、JS 引擎线程、HTTP 请求线程等等。当你发起一个请求时,其实就是创建了一个线程,当请求结束后,该线程可能就会被销毁。在 JS 运行的时候可能会阻止 UI 渲染,这说明了两个线程是互斥的。这其中的原因是因为 JS 可以修改 DOM,如果在 JS 执行的时候 UI 线程还在工作,就可能导致不能安全的渲染 UI。这其实也是一个单线程的好处,得益于 JS 是单线程运

2020-09-13 15:15:26 3096

转载 深入研究-webkit-overflow-scrolling:touch及ios滚动

1. -webkit-overflow-scrolling:touch是什么?MDN上是这样定义的:-webkit-overflow-scrolling 属性控制元素在移动设备上是否使用滚动回弹效果.auto: 使用普通滚动, 当手指从触摸屏上移开,滚动会立即停止。touch: 使用具有回弹效果的滚动, 当手指从触摸屏上移开,内容会继续保持一段时间的滚动效果。继续滚动的速度和持续的时间和滚动手势的强烈程度成正比。同时也会创建一个新的堆栈上下文。...

2020-09-13 14:51:26 548

原创 windows和mac下chrome跨域设置

WIN关闭所有的chrome浏览器新建一个chrome快捷方式,右键“属性”,“快捷方式”选项卡里选择“目标”,添加 --args --disable-web-security --user-data-dir=C:\MyChromeDevUserData通过快捷方式打开谷歌浏览器MAC关闭所有Chrome浏览器终端:cd /Users/【本机用户名】/Documents/创建一个临时目录 mkdir MyChromeDevUserData再输入以下命令:open -n /Applic

2020-06-23 15:44:34 331

原创 mac系统禁止Chrome浏览器更新

mac调试安卓webview,发现chorme版本过高,导致调试页面出现白屏,可用以下方式解决。在终端输入:cd ~/Library/Googlesudo chown root:wheel GoogleSoftwareUpdate打开chrome-帮助-关于chrome,看效果...

2020-02-27 14:26:04 2018 1

转载 CSS之BEM指南

块== 特征 ==The block name describes its purpose (“What is it?” — menu or button), not its state (“What does it look like?” — red or big)块名称描述了它的用途(“它是什么?”-菜单或按钮),而不是它的状态(“它看起来像什么?”-红色或大的)。<!--正...

2020-02-24 14:34:51 341

原创 webpack性能优化

webpack相关优化开启gzip优化。gizp是一种HTTP请求优化的方式,通过减少文件体积下载来提高加载的速度。传送门二:https://www.jb51.net/article/148254.htm传送门二:https://www.cnblogs.com/zs-note/p/9556390.html为第三方文件单独打包,增加文件的并发下载量(对于单个域名,http)一...

2019-10-04 12:10:33 773

原创 19面试总结

HTML&CSS问题JavaScript问题框架问题兼容问题其他杂项手写插件类HTML&CSS问题常见的布局有哪些,自适应布局你做过那些?一:单列布局二:双列布局三:三列布局自适应布局:一:bootstrrap----->grid布局二:媒体查询三:flex自适应布局flex垂直居中的属性有哪些?flex-wrap: nowrap:f...

2019-09-26 19:04:56 340 1

原创 微信小程序踩坑日记

2019-06-15 bug场景:四张海报,用同一个canvas画布,ctx.clearRect()无法清除使用ctx.drawImage()的图像。解决方案:每张海报使用一个canvas 2019-06-15 bug场景:不同机型,使用convas画出来的图片位置,和UI图位置不一样。...

2019-07-02 22:29:25 283

原创 JS之replaceState与pushState的妙用

场景text前几天做web站的账单重构,原有的支付路径为www.xxx.com/a/b/c,进入我的账单之后,即www.xxx.com/a后台经过auth2.0认证后,会重定向到www.xxx.com/yy/a/,并且这个yy是一个变量值,微信支付只能设置5个支付路径,如果这样走到支付页面去支付的时候,会出现支付页面路径为注册,所以错误。解决办法 非本场景解决办法:修改支付路径 ...

2019-04-24 23:30:00 5624

原创 JS解除事件引用

之前看红宝书,第十三章,解除事件引用,代码是这样子的,有点不太明白。 // 解除引用失败 var btn = document.getElementById('myBtn') btn.addEventListener( 'click', function() { alert(this.id) }, ...

2019-04-15 13:44:02 781

原创 iframe知识小结之老项目中嵌套Vue单页应用实践

最近公司因结构变动,将重构的一些新项目放到来老系统中,用到了iframe通信知识,故总结此篇。同域名下父子页面通信父页面<html><head> <script type="text/javascript"> function say() { alert("parent.html"); ...

2019-04-01 23:43:40 3689 3

原创 HTTP中204和205的含义

在看elementUI的demo时,发现返回的status是先返回一个204后返回一个201,特此百度了解来做笔记。201表示资源被正确的创建。比如说,我们 POST 用户名、密码正确创建了一个用户就可以返回 201203203:请求的代理服务器修改了源服务器返回的 200 中的内容,我们通过代理服务器向服务器 A 请求用户信息,服务器 A 正常响应,但代理服务器命中了缓存并返回了自己的缓...

2019-03-31 22:17:27 8065

转载 body传参?parameter传参?Request Payload?Query String Parameter?

今天,后端来一个接口,告诉我“要用post请求,parameter形式传参”。over。初级选手一般听到用post请求,但素用parameter传参一定很懵圈o((⊙﹏⊙))o。那么请先移步看这篇文章,get和post请求其实并没本质区别,他们都是tcp连接,post请求可以将参数放在body中,也可以是parameter形式,both fine!但是对于post请求来说,后端所谓的“par...

2019-03-14 22:11:40 5218

原创 npm常识总结

cnpm config ls 【查看部分参数】 cnpm config ls -l【查看全部参数】node.js安装在D盘,cnpm list -g --dept 0 查看的是D盘下的node_modules中模块,所以只能查看出有npm模块而在C盘中还有一个npm(C:\Users\yanjie\AppData\Roaming\npm\node_modules\npm),全局包都安...

2019-01-28 17:21:14 342

转载 Mixed Content: The page at 'xxx' was loaded over HTTPS, but requested an insecure resource 'xxx'.

HTTPS页面里动态的引入HTTP资源,比如引入一个js文件,会被直接block掉的.在HTTPS页面里通过AJAX的方式请求HTTP资源,也会被直接block掉的。Mixed Content: The page at ‘xxx’ was loaded over HTTPS, but requested an insecure resource ‘xxx’. This request has ...

2019-01-28 16:25:55 10545

原创 React踩坑集锦集合

Warning: Failed prop type: Invalid prop component of type object supplied to Route, expected function解决办法:是因为 route 中的 component 没有组件和函数使用create-react-app,将全局的变量(jquery)定义到window中,在别的JS文件报&quot;$ no ...

2018-12-25 17:00:20 504

转载 VS Code - Debugger for Chrome调试js

最近在自学一些s的内容,用到了vscode来编写代码,一直没有使用过vs调试js的代码,看到左侧有推荐一个插件Debugger for Chrome使用来调试js代码的,对于vs这种开源,需要安装各种插件来支撑我们编写代码的编辑器,在灵活轻量的同时,插件的配置使用对于刚开始入手的童鞋确实有点难度。下面我简单介绍一下我是怎么配置使用Debugger for Chrome的。在左侧扩展中搜索Deb...

2018-12-03 11:48:46 1779 1

转载 实用的 CSS — 贝塞尔曲线(cubic-bezier)和Steps的用法

前言在了解cubic-bezier之前,你需要对CSS3中的动画效果有所认知,它是animation-timing-function和transition-timing-function中一个重要的内容。本体简介cubic-bezier又称三次贝塞尔,主要是为animation生成速度曲线的函数,规定是cubic-bezier(&amp;amp;lt;x1&amp;amp;gt;,&amp;amp;lt;y1&amp;amp;gt;,&amp;amp;

2018-11-09 10:49:26 3994

原创 pxToRem插件

前两天维护一个老的项目,用到了Jquery-WEUI框架,发现其UI框架中的css文件大都用的是px,不能够很好的自适应,所以去GITHUB上找到一个插件。postcss-pxtorem。官方文档很简单明了,我这里就不再讲解怎么使用啦。...

2018-11-07 13:35:16 2779

转载 浅谈Vue.use

先举个?我们先来看一个简单的事例首先我使用官方脚手架新建一个项目vue init webpack vue-demo然后我创建两个文件index.js plugins.js.我将这两个文件放置在src/classes/vue-use目录下接下来对这两个文件进行编写// 文件: src/classes/vue-use/plugins.jsconst Plugin1 = { ...

2018-10-29 13:29:55 1385

原创 web中loading的几种方式

大体可分为三类,分别为菊花图类、顶部进度条类、skeleton screen(加载占位图)菊花图 -----【适合整个页面一起呈现,保持数据的连贯性】loading菊花图百分比gif动画顶部进度条 ----- 【适合PC网站的数据加载,实际进度需要与后台进行搭配,常与菊花图配合使用】顶部进度条skeleton screenskeleton...

2018-10-25 18:45:18 2005

原创 IOS中小程序pdf签章问题的解决办法

IOS系统中大于12的操作系统才可以显示签章。解决连接,希望大家多关注和反馈给微信官方。

2018-10-11 18:37:15 1141 1

转载 最全面总结 Android WebView与 JS 的交互方式

前言现在很多App里都内置了Web网页(Hybrid App),比如说很多电商平台,淘宝、京东、聚划算等等,如下图京东首页上述功能是由Android的WebView实现的,其中涉及到Android客户端与Web网页交互的实现今天我将全面介绍Android通过WebView与JS交互的全面方式目录交互方式总结Android与JS通过WebView互相调用方法,实际上是:A...

2018-09-25 12:27:02 418

空空如也

空空如也

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

TA关注的人

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