【性能优化】前置后置节流防抖,防止不避免情况下重复触发

 本文主要记录分享下 性能优化 中在 不可避免 情况下重复请求或者重复调用方法下的前置后置 节流防抖 的处理方式,以下为js版本其他语言可以 参考 类似。优化效果 以下是优化前后对比截图。优化前优化后优化方法 主要分享一下两种方式前置和后置前置节流防抖 /** * 前置节流防抖 * @param func * @param delay * @returns {function(): *} */ window.beforeThrottle = function (func, delay) { let lastCall = 0; return function () { const now = Date.now(); if (now - lastCall < delay) { return; } lastCall = now; retur...

前端,解决方案,其他 2024-04-07 AM 35次 0条

项目性能优化的指标,目标

性能优化的终极目标是什么性能优化的目标实际上是为了更好的用户体验一般我们认为用户体验是下面的公式:用户体验 = 产品设计(非技术)+ 系统性能 ≈ 系统性能 = 快那什么样的体验叫快呢?3秒定理 一般我们认为网站页面的加载速度在3秒以内就可以称作合格了,加载速度越趋近于0,越快。 3秒定理:Strangeloop在对比了众多网站,并对其性能进行分析之后得出了一个著名的3秒定理,当网站页面加载速度超过3秒后,57%的访客会离开这个网站。  如果想让我们的系统快起来,就要做性能调优。项目性能优化以下可以做为优化的标准:前端工程师:首屏时间、白屏时间、可交互时间、完全加载时间;移动端工程师:端到端响应时间、Crash率、内存使用率、FPS;后端工程师:RT、TPS、并发数。影响因素1:数据库读写、RPC、网络IO、逻辑计算复杂度、缓存影响因素2:JVM[Throughput吞吐量、Footprint访存足迹、Latency延迟]影响性能的关键要素产品设计:产品逻辑、功能交互、动态效果、页面元素基础网络:网络=连接介质+计算终端代码质量&架构移动端环境:设备类型&性能、网络...

PHP,Golang,前端,.Net,解决方案,其他 2024-03-12 PM 57次 0条

pixi学习资料以及问题收集

 本文主要收集楼主在学习 pixijs 过程中所用到的资料文档以及遇到的一些问题,方便日后查看。 阅读此文是默认已经对 pixijs 有了基本的了解。简述 PixiJS 的核心是一个渲染系统,它使用 WebGL(或可选的 Canvas)来显示图片和其他 2D 视觉内容。 它提供了完整的场景图(要渲染的对象的层次结构),并提供交互支持以支持处理单击和触摸事件。 它是现代 HTML5 世界中 Flash 的自然替代品,但提供了超出 Flash 所能实现的更好的性能和像素级效果。 它非常适合在线游戏、教育内容、互动广告、数据可视化...... 任何复杂图形非常重要的基于 Web 的应用。 与 Cordova 和 Electron 等技术相结合,PixiJS 应用可以作为移动和桌面应用分发到浏览器之外。中文文档pixi中文文档(推荐)pixi中文文档(比较老旧仅做参考)官方文档pixijs官方文档pixijs官方网站已解决问题 已下记录已解决的pixijs使用中的一些问题。手机端渲染模糊 我们主要使用 resolution 和 autoDensity 来解决手机端显示渲染模糊问题,实测有...

前端,解决方案,其他 2023-10-11 AM 118次 0条

uinapp或者前端打包后出现两个静态资源文件夹解决方案

 我们在使用uinapp编写项目后打包后发现出现了两个静态文件如两个图片文件夹 img和image 两个 字体文件夹 font 和 fonts 等等。问题 通过 uinapp 打包后出现两个重复的图片文件夹 img 和 image 主要是应为代码内引用路径导致的。解决 我们只需要将绝对路径换成相对路径即可.  以上就是uinapp打包后出现两个相同的静态文件夹以及图片文件夹的解决方案。

前端,解决方案 2023-06-05 PM 320次 0条

实现滑动窗口限流算法

 下面我们通过php使用redis实现一个简单通用的滑动窗口限流算法解决问题 滑动窗口算法主要解决了传统计数限流算法的阶段突发性流量问题。具体实现创建redis对象并定义缓存键$redis = new \Redis(); $redis->connect("127.0.0.1"); $key = "aaaaa";定义每分钟最大请求数量$max_count = 320; $total_s = 60; $current_time = time();计算平均值用于限制每秒请求数量$avg_count = ceil($max_count / $total_s);限制每秒请求数量$range_count = $redis->zRangeByScore($key, $current_time, $current_time); if (count($range_count) > $avg_count) { exit('请求太过频繁,请稍后 -1'); }限制每分钟请求数量$redis->zRemRangeByScore($key, 0, $current_time - 59); $c...

PHP,Golang,前端,.Net,解决方案,其他 2023-03-17 PM 363次 0条

最新jetbrains全家桶及phpstorm激活方法支持全系列全版本支持更新永久有效

  继 IDE Eval Reset 失效后,今天我们分享一个最新的jetbrains全家桶及phpstorm激活方法,并且支持全系列,全版本可更新使用并且有效。 我们知道 jetbrains 家的产品用过的都知道非常好用,其中包括 phpstorm , goland , pycharm , webstorm , intellij idea 等等这些都是非常强大及好用的开发工具,但是奈何 jetbrains 系列的工具都是要收费激活的虽然淘宝上有便宜的 学生邮箱 和 破解版 但是这些非常 容易被封 ,博主已经入了两次淘宝的坑了。 博主之前分享的 phpstorm及jetbrains永久免费激活工具插件无限试用使用 奈何对2021年6月份之后的版本已经无效了,插件的开发者已经停止对激活插件的更新了所以说2021年6月份之后的版本就不能再使用了。最新jetbrains全家桶激活方法 原理是我们主要通过代码搜索其他授权服务器进行永久激活激活。方式一 通过censyshttps://search.censys.io/主要用到的代码services.http.response.head...

PHP,软件工具,Golang,前端,解决方案 2022-03-23 AM 15412次 0条

利用js焦点事件实现用户离开页面提示

 利用js 焦点事件 实现用户 切换网站提示 主要使用了原生 javascript 的 onfocus 事件以及 onblur 事件来实现的。效果预览实现代码window.onfocus = function() { document.title = '大爷来玩呀'; }; window.onblur = function() { document.title = '大爷慢走,下次再来'; };焦点事件 焦点事件 onfocus 与 onblur 执行相反。onfocus 事件 当输入字段或者窗体获得焦点时执行 JavaScript 脚本window.onfocus = function() { document.title = '大爷来玩呀'; };object.onfocus = function(){myScript};object.onfocus = function(){myScript};onblur 事件 当用户离开输入字段或者窗体时执行 JavaScript 脚本window.onblur = function() { documen...

前端 2022-01-08 PM 685次 0条

解决无法加载源映射: 无法加载xxxx.map 的内容:HTTP 错误: 状态代码 404

 当我们引用压缩过的 min.css 或者 min.js 文件时有些时候浏览器会报一下异常导致无法使用。无法加载源映射异常问题DevTools 无法加载源映射: 无法加载http://192.168.146.128:9900/assets/css/skins/skin-black-blue.css.map 的内容:HTTP 错误: 状态代码 404,net::ERR_HTTP_RESPONSE_CODE_FAILURE DevTools 无法加载源映射: 无法加载http://192.168.146.128:9900/assets/js/require.min.js.map 的内容:HTTP 错误: 状态代码 404,net::ERR_HTTP_RESPONSE_CODE_FAILURE DevTools 无法加载源映射: 无法加载http://192.168.146.128:9900/assets/css/skins/skin-black-blue.css.map 的内容:HTTP 错误: 状态代码 404,net::ERR_HTTP_RESPONSE_CODE_FAILU...

前端,解决方案 2021-12-08 AM 8371次 0条

uniapp解决顶部状态栏重叠问题

 在使用 uniapp 进行 混合app 开发的时候我们会遇到拖动页面时页面内容与手机顶部状态栏重叠的问题,下面我们来 uniapp 解决顶部状态栏重叠的问题。uniapp顶部状态栏重叠 通过以上图片可以看到现在的页面时要与手机顶部状态栏重叠的,用户体验特别不友好,下面我们对 uniapp 与手机顶部状态栏重叠进行一个优化。优化app与手机顶部状态栏重叠问题 我们只需要在开发 uniapp 的时候在 manifest.json 文件配置项里面点击源码视图 app-plus 项关闭 immersed 即可。manifest.json"app-plus" : { "statusbar": { "immersed": false } } 如果不存在可以添加 statusbar 配置项如图优化解决状态栏重叠 我们通过以上配置编辑保存完成之后 重新加载app 后可以看到顶部状态栏重叠问题已经 完全解决 了。

前端,解决方案 2021-10-30 AM 928次 0条

js获取当前网页加载状态

 有时候我们为了更好的 用户体验 通常 UI页面 设计时会在页面上展示内容 加载状态 ,这个时候我们可以通过一下 js前端代码 来实现当前网页 加载状态 。onreadystatechange 事件简单应用/*判断当前页面加载状态*/ document.onreadystatechange=function () { //获取当前网页状态 switch (document.readyState) { case "loading": //正在加载 console.log("正在加载"); break; case "interactive": //结构加载完成 console.log("结构加载完成"); break; case "complete": //全部加载完成 console.log("全部加载完成"); break; ...

前端,解决方案 2021-10-08 PM 469次 0条