lmcc-老马吃草的博客

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

性能优化的终极目标是什么性能优化的目标实际上是为了更好的用户体验一般我们认为用户体验是下面的公式:用户体验 = 产品设计(非技术)+ 系统性能 ≈ 系统性能 = 快那什么样的体验叫快呢?3秒定理 一般我们认为网站页面的加载速度在3秒以内就可以称作合格了,加载速度越趋近于0,越快。 3秒定理:Strangeloop在对比了众多网站,并对其性能进行分析之后得出了一个著名的3秒定理,当网站页面加载速度超过3秒后,57%的访客会离开这个网站。  如果想让我们的系统快起来,就要做性能调优。项目性能优化以下可以做为优化的标准:前端工程师:首屏时间、白屏时间、可交互时间、完全加载时间;移...

PHP,Golang,前端,.Net,解决方案,其他 2024-03-12 PM 25℃

微信报错提示 missing prepayid 解决方案

 在对接微信相关支付时,有时候会遇到 missing prepayid 错误,这种错误没有实际的提示信息,一般需要我们逐步排查或者开启日志记录记录详细的错误信息。 解决步骤首先我们反复确保了公钥以及私钥生成正确。确保配置信息填写正确检查相关支付是否已经开通检查商户号是否已经关联对应应用清理并重新生成用户openid和unionid使用对应微信登录的账号进行调取支付问题原因用户unionid或者openid与当前微信不匹配导致,重新清理获取即可此商家的收款功能已被限制,暂无法支付。商家可以登录微信商户平台/微信支付商家助手小程序查看原因和解决方案。 最后我们发现是由 第五和第六条原因造成...

PHP,解决方案 2024-01-05 AM 186℃

Redis 提示 protocol error, got 'u' as reply type byte 解决方案

 遇到一个奇怪的问题,在 php 中使用 workerman 或者传统 pcntl_fork 的开启子进程时 大约十几分钟就会出现一段异常报错 protocol error, got 'u' as reply type byte 初步诊断是redis提示的 大致意思是 协议错误,得到'u'作为回复类型字节 。异常信息protocol error, got 'u' as reply type byte通过代码排查以及报错提示初步判断是redis的问题原因分析 传统 cli 下不会出现这个问题,只有 workerman 下以及 pcntl_fork 的开启子进程时 十几分钟后才会出现...

PHP,Linux,解决方案,其他 2023-12-18 PM 117℃

pixi学习资料以及问题收集

 本文主要收集楼主在学习 pixijs 过程中所用到的资料文档以及遇到的一些问题,方便日后查看。 阅读此文是默认已经对 pixijs 有了基本的了解。简述 PixiJS 的核心是一个渲染系统,它使用 WebGL(或可选的 Canvas)来显示图片和其他 2D 视觉内容。 它提供了完整的场景图(要渲染的对象的层次结构),并提供交互支持以支持处理单击和触摸事件。 它是现代 HTML5 世界中 Flash 的自然替代品,但提供了超出 Flash 所能实现的更好的性能和像素级效果。 它非常适合在线游戏、教育内容、互动广告、数据可视化...... 任何复杂图形非常重要的基于 Web 的应用。 与 ...

前端,解决方案,其他 2023-10-11 AM 103℃

使用virtualbox挂载文件夹教程

 下面记录了我们在使用 virtualbox 虚拟机命令行模式下挂载文件夹的步骤及流程。进入设置设置共享文件夹首先选择右侧虚拟机选择设置按钮点击添加共享文件夹选择文件夹配置我们选择自动挂载,固定分配安装增强功能进入系统后我们选择顶部 设备 选择安装增强功能创建挂载增强功能文件夹mkdir /mnt/cdrom挂载增强功能mount /dev/cdrom /mnt/cdrom安装更新软件包yum install -y gcc gcc-devel gcc-c++ gcc-c++-devel make kernel kernel-devel bzip2执行安装增强功能cd /mnt/cdro...

Linux,解决方案 2023-06-16 PM 754℃

php打包扩展zephir避坑安装指南

 本文主要记录了zephir各种安装失败,打包失败的正确姿势,完美解决各个版本php打包php打包扩展zephir避坑安装指南,一旦拥有别无所求。参考文档zephir官方网站zephir官方中文文档zephir中文文档(备用)")使用系统镜像 我们使用2207版本centos7安装系统CentOS-7-x86_64-Minimal-2207-02.iso系统环境 我们通过宝塔面板来安装指定php版本,当然你也可以使用其他方式安装。宝塔安装Git 如果提示找不到git命令我们可以通过以下命令安装一下gityum install gitzephir安装步骤首先我们来到系统根目录将 php-z...

PHP,Linux,解决方案 2023-06-16 AM 327℃

解决Liunx安装找不到最新版本软件方案

 我们在使用linux,centos等系统想要安装最新版软件时候发现无论怎安装都是老版本的软件,下面我们通过安装 PHP8.1 , php-devel 等软件来演示一下怎么将linux软件库更新到最新版本。步骤下面我们使用 centos7 来作为演示系统查看当前系统软件库列表 我们通过以下命令可以查看更新之前的软件库内软件的版本。sudo yum search all php-devel 一般情况下 新安装的系统软件库版本比较老旧并没有最新版本的软件。安装 epel-releasesudo yum install epel-release安装最新版 remi 源 Remi 源大家或许...

PHP,Golang,Linux,解决方案 2023-06-13 PM 275℃

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

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

前端,解决方案 2023-06-05 PM 294℃

mysql随机获取指定数量数据

 通常情况下我们在开发项目中一般会用到 随机推荐 或者 购买类 需求,一般情况下很多程序猿都是 正序 或者 倒叙 获取 然后随机返回给前端,这种方式有 很多缺陷。解决方案 下面我们分享一种直接从 mysql 数据库中随机获取数据的一种方式。编写最大id查询sqlSELECT MAX(id) FROM `user`编写joinINNER JOIN ( SELECT ROUND( RAND( ) * ( ( SELECT MAX( id ) FROM `bl_user` ) ) ) AS id ) AS u2 ON u.id >=`u2`.`id` 编写要获取的随机条数LIMIT 50...

数据库,解决方案 2023-04-11 PM 290℃

计数限流算法

 计数器算法实现起来比较简单,它的基本思路是:在单位时间内(如 1 秒钟)对访问次数进行计数,如果超过设定的阈值,则拒绝后续的请求。以下是一个使用 PHP 实现的计数器算法。完整代码class Counter { protected $maxCount = 100; // 设定最大请求数 protected $interval = 60; // 设定时间窗口大小,单位为秒 protected $redis = null; // Redis 连接 public function __construct($maxCount, $interval) { ...

PHP,Golang,.Net,解决方案,其他 2023-03-21 PM 322℃