city-picker城市选择器调整使用后台动态城市数据

city-picker.js 城市选择器默认情况下使用的是本地文件 city-picker.data.js 内的城市数据对于维护个管理不太友好下面我们通过调整代码来实现渲染动态后台城市数据。city-picker.data.js(function (factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as anonymous module. define('ChineseDistricts', [], factory); } else { // Browser globals. factory(); } })(function () { var ChineseDistricts={}; $.ajax({ async: false, url: 'ajax/cityPickerData', success: functi...

PHP,前端,解决方案 2024-10-26 PM 42次 0条

Ubuntu乌班图命令行扩容教程

 本文主要记录在虚拟机中扩容硬盘后系统中Ubuntu系统中不显示不生效问题,假设现在已经在虚拟机中扩容了 250G 硬盘,并且已经重启。查看硬盘容量命令sudo lsblk回显信息NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 250G 0 disk ├─sda1 8:1 0 1G 0 part /boot/efi ├─sda2 8:2 0 2G 0 part /boot └─sda3 8:3 0 196.9G 0 part └─ubuntu--vg-ubuntu--lv 252:0 0 196.9G 0 lvm / sr0 11:0 1 1024M 0 rom 可以看到 sda 已经是...

Linux,解决方案 2024-07-19 PM 160次 0条

网站资源请求提示 ERR_CONTENT_LENGTH_MISMATCH 错误

 博主在偶然间遇到过网站突然不能正常访问了,部分资源请求失败 net::ERR_CONTENT_LENGTH_MISMATCH 200 (OK) 错误经过最开始排查以为是文件太大 nginx 处理拦截了然后调整了一下buff大小结果还是提示错误信息 net::ERR_CONTENT_LENGTH_MISMATCH 200 (OK) 最后发现是 nginx 中开启的 sendfile on 导致的。主要原因  ERR_CONTENT_LENGTH_MISMATCH 错误表明Nginx 在使用 sendfile 指令进行文件传输时,发送的字节数与响应头中声明的 Content-Length 头部不一致。这可能是由于文件在传输过程中被修改,或者 Nginx 与上游服务器之间的连接被意外终止。解决方案 我们如果想要临时解决 net::ERR_CONTENT_LENGTH_MISMATCH 200 (OK) 错误信息 只需要在 nginx 配置中将 sendfile on 设置为 sendfile off 即可 解决 ERR_CONTENT_LENGTH_MISMA...

前端,解决方案,其他 2024-07-09 PM 226次 0条

阿里巴巴 MySQL binlog 增量订阅&消费组件支持多语言客户端

 canal [kə'næl],译意为水道/管道/沟渠,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费 早期阿里巴巴因为杭州和美国双机房部署,存在跨机房同步的业务需求,实现方式主要是基于业务 trigger 获取增量变更。从 2010 年开始,业务逐步尝试数据库日志解析获取增量变更进行同步,由此衍生出了大量的数据库增量订阅和消费业务。基于日志增量订阅和消费的业务包括数据库镜像数据库实时备份索引构建和实时维护(拆分异构索引、倒排索引等)业务 cache 刷新带业务逻辑的增量数据处理当前的 canal 支持源端 MySQL 版本包括 5.1.x , 5.5.x , 5.6.x , 5.7.x , 8.0.x工作原理MySQL主备复制原理MySQL master 将数据变更写入二进制日志( binary log, 其中记录叫做二进制日志事件binary log events,可以通过 show binlog events 进行查看)MySQL slave 将 master 的 binary log events 拷贝到它的中继日志(relay log)MySQL...

PHP,软件工具,Golang,.Net,数据库,解决方案 2024-04-29 AM 184次 0条

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

 本文主要记录分享下 性能优化 中在 不可避免 情况下重复请求或者重复调用方法下的前置后置 节流防抖 的处理方式,以下为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 312次 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 312次 0条

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

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

PHP,解决方案 2024-01-05 AM 567次 0条

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 的开启子进程时 十几分钟后才会出现。 已知 workerman 底层使用的也是 pcntl_fork 我们直接分析这个函数。 pcntl_fork 函数 先创建主进程然后在根据需要创建N个子进程,而redis使用 单例模式 或者使用 static 来进行保存连接对象时候并且在主线程内有创建这个连接,那么就会出现以上 protocol error, got 'u' as reply type byte 错误 这种异常一般称为...

PHP,Linux,解决方案,其他 2023-12-18 PM 403次 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 368次 0条

使用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/cdrom/ && ./VBoxLinuxAdditions.run创建共享文件夹mkdir /mnt/project更新软件包yum update重启服务器reboot执行挂载命令sudo mount -t vboxsf project /mnt/project可以看到我们已经使用virtualbox挂载文件夹成功了。开机自动挂载修改配置文件vi ~/.bashrc

Linux,解决方案 2023-06-16 PM 1112次 0条