- 博客(295)
- 资源 (4)
- 收藏
- 关注
原创 前端监控五性能监控和最佳实践
中其他可用的时间类函数(比如Date.now)不同的是,window.performance.now()返回的时间戳没有被限制在一毫秒的精确度内,相反,它们以浮点数的形式表示时间,精度最高可达微秒级。另外一个不同点是,window.performance.now()是以一个恒定的速率慢慢增加的,它不会受到系统时间的影响(系统时钟可能会被手动调整或被。元素到页面现有内容的上方。这是因为,在过去要去衡量一个高质量网站,需要的指标太多,且有些指标计算很复杂,所以,Google 推出 Web Vitals。
2023-07-22 12:06:56
664
原创 前端监控四-页面和路由的监听
路由的变化本质上都会调用history.pushState或replaceState.当直接调用history接口时,不会触发,需要重写pushState,replaceState的原型方法。
2023-07-22 12:00:00
1343
原创 前端监控三日志数据的上报
也可以通过localStorage暂存数据,等到浏览器空闲的时候上传,上传成功删除本地数据。之前为了实时地上传日志数据,我们使用以下方法。之前项目中经常使用img上报数据。
2023-07-22 10:30:00
625
原创 前端监控二全局click事件的劫持(与框架解耦)
最近在做一个日志监控插件,一些验证,顺便验证了margin塌陷的知识点这里主要讲点击事件的日志上传. 我们组内项目使用vue居多,本来想用vue的指令来实现点击按钮日志上传。但这种对业务代码侵入过多,而且不具备普适性。
2023-07-22 01:21:34
950
原创 electron-build打包报错:ERR_ELECTRON_BUILDER_CANNOT_EXECUTE
3.0.3.2\Bin\makensis.exe exited with code ERR_ELECTRON_BUILDER_CANNOT_EXECUTE 调查后发现 每次打包之前,打开任务管理器, 查看是否有electron进程运行, 必须全部杀掉才能正常打包。
2022-08-18 20:48:41
14573
4
转载 Electron通过网页调起客户端
比如百度网盘,在网页上点击链接时会拉起百度网盘的客户端进行下载,实际上这些功能都是通过注册伪协议来实现的,本篇主要介绍如何通过伪协议调起Electron客户端,并获取伪协议传过来的参数。注:如果你使用了上面这种方式且开发的协议和打包后的协议名一样的话,打包前你得把开发环境注册的协议删除掉(开发时主进程加上这一句保存一下,然后删除掉就行了),否则你自己的电脑调用伪协议可能会启动到开发的electron包哦,现在试试本地开发能否通过伪协议拉起我们的客户端。实际上是在这个文件中添加对应的key,value。...
2022-08-18 20:37:10
3093
原创 窗口显示位置和screen
https://www.electronjs.org/zh/docs/latest/api/screen能否通过设置width和height让窗口最大化显示?运行后发现显示大小和之前一样,但明显当前height=934,比之前的height高经过测试发现即使给width和height设置一个很大的整数,最大显示效果也只是铺满整个工作区域最大化的实现这个宽度1494的数字是如何计算出来的?如图,可以看到我的分辨率2240x1440,并放大了150%在chrome控制台查看screen对象
2022-06-07 21:51:44
2587
原创 string常用api
文章目录match、execcharAt、charCodeAt、fromCharCodetoLocaleLowerCase、toLocaleUpperCase、toLowerCase、toUpperCase废弃的样式标签substring、substr字符串和数组的同名方法sliceindexof、lastIndexofincludesreplacematch、execString.prototype.matchRegExp.prototype.exec不加g,两者返回值相同var str
2022-05-11 21:07:37
235
原创 前端常见安全漏洞
文章目录xss跨站脚本攻击csrf->xsrf跨站请求伪造攻击SSRF服务端请求构造点击劫持sql注入xss跨站脚本攻击以"文章发布系统"为例input输入框输入字符串后使用v-html渲染成HTML显示在当前页面当input输入script(sc里面的js不会执行)<script>alert(document.cookie)</script>当input输入img标签的onerror回调(弹出cookie)<img src="test" on
2022-05-11 21:06:30
2228
原创 RegExp复习
感觉好动东西长时间不用就会忘掉,记录一下把…文章目录正则基础字面量、构造函数、标志参数(i、g、m)表达式[][xyz][^xyz]x|y元字符\w、\W\d、\D\s、\S\b、\B.正则量词+*?{n,m}{n,}{n}^$子表达式(x)和反向引用正向预查x(?=y)先行断言x(?!y)正向否定查找(?:x)非捕获括号RegExp属性RegExp方法test()exec()match exec贪婪模式和非贪婪模式regular expression正则基础转义符号->\转义字符-&.
2022-05-11 21:05:03
409
原创 promise异步
文章目录回调地狱解决回调地狱Promise对象Generator函数async函数promisePromise 构造器Promise状态-待定|已兑现|已拒绝基本用法执行顺序链式调用和返回值异常捕获和推荐写法、状态固化后的异常、异常冒泡、状态依赖Promise.all()方法介绍使用同步Promise.all 的快速返回失败行为Promise.race()Promise.resolve()Promise.reject()自定义promisify迭代器内部和外部迭代器对象配置迭代器接口生成器函数函数声明yie
2022-05-11 21:03:21
2659
原创 JavaScript继承
文章目录1.原型链的继承构造函数,原型,实例之间的关系:原型搜索机制原型链的继承实现1和问题原型链的继承实现2原型链的继承实现3-圣杯模式默认的原型确定原型和实例的关系instanceof和isPrototypeOf()谨慎地定义方法问题CSS圣杯模式2.借用构造函数传递参数问题3.组合继承4.原型式继承5.寄生式继承6.寄生组合式继承继承是OO语言中的概念。许多OO语言的继承都支持两种继承方式:接口继承和实现继承。接口继承只继承方法签名,而实现继承则继承实际的方法。由于js函数中没有签名。所以无
2022-05-11 21:02:24
400
原创 JavaScript理解对象
文章目录创建对象Object构造函数模式对象字面量模式对象属性的访问obj.propobj['prop']对象属性的删除属性类型数据属性访问器属性定义多个属性读取属性的特性创建对象的优化工厂模式构造函数模式构造函数传参最佳实践new(this)操作符-构造函数实例化原理构造函数属性constructor和instanceof将构造函数当做函数构造函数的问题包装类原型模式理解原型对象原型链显式原型和隐式原型原型链继承原型链属性问题探索instanceoffor(var…in…)hasOwnProperty、i
2022-05-11 19:35:05
243
原创 前端需要掌握的网络知识
文章目录访问网页流程URI,URL,URNDNS解析TCPUDPhttp,httpsTCP三次握手wwwhttp报文请求方式8种请求方式和常见的4种get post 请求方式http状态码304302404 403500 503accept content-type浏览器缓存keep-alivecontent lengthreferehttp协议版本TCP四次挥手同源策略减少http请求的方法ajax6中可以获取跨域数据的方法JSONP跨域瀑布流为什么要把img设置为blockcookie持久化登录表单提交
2022-05-11 19:33:16
1286
3
原创 了解模块化开发的历史
文章目录传统模块化模块化解决的问题立即执行函数CommonJS规范->nodeJs中使用AMDCMDES6模块化->import的静态和动态对比传统模块化<!DOCTYPE html><html lang="en"><body></body><!--// module1.jsvar a = [1,2,3,4,5].reverse();// module2.jsvar b = a.concat([6,7,8,9]);//
2022-05-11 19:32:03
223
原创 JSON->JavaScript Object Notation
文章目录介绍转换JSON.stringify(value[, replacer [, space]])JSON.parse(text[, reviver])介绍JSON->JavaScript Object Notation对象是无序的var obj = { a:1, b:2, c:function(){ console.log(this.a,this.b) }}json一定是对象,它是为了轻量的数据进行交互,不能包含方法var
2022-05-11 19:30:29
107
原创 认识JavaScript
文章目录浏览器发展史、5大主流浏览器和内核、v8引擎的前后今生ECMA欧洲计算机制造商协会编程语言JavaScript初识基础语法变量交换值的问题switch-case逻辑运算符三目运算符浅拷贝和深拷贝JSON深拷贝的问题ES6中深拷贝weakMap循环隐式转换typeof错误ES5严格模式命名空间垃圾回收parseInt(string, radix)副作用、纯函数面试题定时器引发的思考JS精度浏览器发展史、5大主流浏览器和内核、v8引擎的前后今生5大浏览器内核不同浏览器不一样IE: trident
2022-05-11 19:29:12
319
原创 立即执行函数笔记
文章目录立即执行函数IIFE认识Jquery中的立即执行函数立即执行函数的常见写法W3C推荐写法和常见写法传递参数返回值立即执行函数执行完就被销毁表达式的执行符号()和逗号运算符IIF中window和returnIIF使用return返回内部方法IIF把内部方法暴露在window上IIF前面的分号问题插件的写法模仿块级作用域和for循环IIF模块化开发私有变量构造函数中定义特权方法基于原型定义静态私有变量模块模式增强的模块模式立即执行函数IIFE认识立即调用函数表达式//在定义时就会立即执行的 J
2022-05-10 21:23:25
818
原创 HTML5学习
文章目录autofocus自动聚焦语义化标签DOCTYPE声明metameta http-equivmeta charset的指定viewport移动端视口不允许写结束标记的元素可以省略结束标记的标签属性值的简写废弃标签contenteditable规定元素内容是否可编辑hidden属性data-* 属性draggable拖拽属性dataTranfer数据传输requestAnimationFrame请求动画帧会话跟踪和本地存储history,hash路由classListWorkerFileReader
2022-05-09 22:07:58
581
原创 html基础
文章目录上下标标签(sub、sup)span标签存在的意义列表表格frameset、frameiframe表单labelmd5textareaplaceholderfieldset legend上下标标签(sub、sup)都是内联元素,默认没有任何样式前端<sup><a style="text-decoration: none;" href="https://wwww.baidu.com" target="_blank">[1]</a></sup>10
2022-05-09 22:06:42
418
原创 函数基础学习
文章目录定义函数函数声明构造函数式函数表达式命名函数表达式匿名函数表达式函数声明与函数表达式之间的区别函数的参数和返回值arguments、functionName.length实参和形参的区别和求和问题实参和形参的关系arguments.callee、递归、命名函数表达式的应用callerES6对arguments的弱化函数中的return和表单验证参数默认值的问题函数参数调用和call、apply、bind函数中的thisJS引擎预编译流程AO(activation object)活跃对象->函数
2022-05-09 20:54:11
292
原创 ES6基础学习
https://es6.ruanyifeng.com/let,const不存在变量提升暂时性死区var x = 1{let x = x //报错-暂时性死区console.log(x)}函数参数默认值function test(x=y,y=2){ console.log(x,y)//Cannot access 'y' before initialization}test()// 正确使用function test(x=2,y=x){ console.log
2022-05-09 20:43:26
182
原创 回流and重绘
文章目录回流与重绘document.write时间线浏览器请求网页过程浏览器模型事件驱动模型异步加载CSS异步加载JS异步加载defer,async图片懒加载和预加载回流与重绘http://www.stubbornella.org/content/2009/03/27/reflows-repaints-css-performance-making-your-javascript-slow/comment-page-1/DOM树的构建浏览器把获取到的HTML代码解析成1个DOM树HTML中的每
2022-05-09 20:42:23
1475
原创 发布订阅和观察者模式
文章目录发布订阅和观察者模式发布订阅发布订阅与观察者的区别发布订阅和观察者模式发布订阅转载https://www.cnblogs.com/chris-oil/p/8733249.html发布—订阅模式又叫观察者模式,它定义了对象间的一种一对多的关系,让多个观察者对象同时监听某一个主题对象,当一个对象发生改变时,所有依赖于它的对象都将得到通知。现实生活中的发布-订阅模式;比如小红最近在淘宝网上看上一双鞋子,但是呢 联系到卖家后,才发现这双鞋卖光了,但是小红对这双鞋又非常喜欢,所以呢联系卖
2022-05-09 20:41:10
2821
原创 css3基础
文章目录兼容性CSS3选择器属性选择器UI元素状态伪类选择器伪类结构选择器伪类内容选择器关系选择器文本文本阴影 text-shadow文字换行 word-wrap,overflow-wrap文字断行word-breakwhite-spacetext-overflow单行文本溢出成小圆点语法@font-face布局columns颜色英文16进制RGBRGBAhslhsla渐变色background-image布局2flex一维布局grid二维布局动画Value_definition_syntaxtransfo
2022-05-09 19:41:03
692
原创 css始めましょう
csscascading style sheetcss的注释只有一种就是块注释/**/href和src的区别url:Uniform Resource Locator统一资源定位符src:Source资源href:Hypertext Reference超文本引用href 和src的区别href是Hypertext Reference的缩写,表示超文本引用。用来建立当前元素和文档之间的链接。常用的有:link、asrc 加载资源权重(优先级)内联样式内联样式表外部样式
2022-05-09 19:39:31
337
原创 Date常用api
文章目录Date计时器setInterval定时器setTimeoutDate实例化和静态方法// new Date();// new Date(value);// new Date(dateString);// new Date(year, monthIndex [, day [, hours [, minutes [, seconds [, milliseconds]]]]]);// year// 表示年份的整数值。 0到99会被映射至1900年至1999年,其它值代表实际年份。参见
2022-05-09 19:34:48
845
原创 Array
文章目录基础new Array()Array()Array.of() -ES6字面量数组就是对象尾空值截取稀疏数组数组中不会有索引超出边界的问题Array.from(arrayLike[, mapFn[, thisArg]])-ES6堆栈方法push unshift 类数组pop shift删除修改spliceslice([begin[, end]])copyWithin(target[, start[, end]])排序sort([compareFunction])reverse以上都是对原数组的修改拼接
2022-05-09 19:29:13
349
原创 parallelStream
win + R运行 dxdiag 命令我的电脑是四核cpupublic class 阿萨德 { public static void main(String[] args) { int i = Runtime.getRuntime().availableProcessors(); System.out.println(i); //4 }}...
2019-05-27 22:28:13
354
原创 oracle的连接
文章目录Jdbc连接oracle有两种方式常用的连接url格式Oracle JDBC Thin using an SID代码连接工具连接oracle sql developernavaicatoracle的jdbc连接方式:oci 和 thinOracle JDBC Thin using a Service NameOracle JDBC Thin using a TNS NameJdbc连接o...
2019-05-27 20:54:00
16099
原创 java8时间
文章目录时间api遗留问题Date的不合理之处SimpleDateFormat的多线程异常LocalDateLocalTimeLocalDateTimeCalendarInstantDurationPeriodString format(DateTimeFormatter formatter) 时间格式化成字符串LocalDate parse(CharSequence text, DateTime...
2019-05-26 22:31:32
1668
转载 Spring Security Oauth2 单点登录案例实现和执行流程剖析
我已经试过了 教程很完美 Spring Security Oauth2OAuth是一个关于授权的开放网络标准,在全世界得到的广泛的应用,目前是2.0的版本。OAuth2在“客户端”与“服务提供商”之间,设置了一个授权层(authorization layer)。“客户端”不能直接登录“服务提供商”,只能登录授权层,以此将用户与客户端分离。“客户端”...
2019-05-25 11:29:05
1814
1
转载 eclipse导入IntelliJ IDEA的maven项目的示例
转自 https://www.jb51.net/article/130131.htmeclipse导入IntelliJ IDEA的maven项目的示例本篇文章主要介绍了eclipse导入IntelliJ IDEA的maven项目的示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧去年由于项目需要由eclipse转到IntelliJ IDEA,当时的项目经理bal...
2019-05-25 11:16:44
3123
原创 spring security oauth基于jwt实现sso单点登录
基于jwt实现sso单点登录举例两个独立的网站 淘宝 和 天猫只要一方登录上,另一方也就登录上注意应用a和应用b所获取的jwt token 不是相同的字符串,但通过这个jwt token 解析出来的数据都是一样的...
2019-05-23 23:29:26
1589
1
hibernate-jpa-named-query-xml-annotation-example.zip
2019-11-10
MySQL_5.1_zh.chm 中文文档 解压密码 123456
2019-04-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人