自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 CSS如何实现等宽表格布局_利用table-layout与盒模型

实操建议:用 <col width="120"> 或 <col style="width: 120px">,数值单位推荐 px,百分比在固定布局下行为不稳定多个 col 总宽超过 table 宽度时,浏览器会按比例压缩,但不会溢出容器如果需要响应式,col 不支持媒体查询,得用 JS 动态换 width 值或改用 CSS Grid 替代文字溢出与对齐怎么不破坏等宽效果等宽表格最常破功的地方不是列宽,而是单元格内文字强行换行或溢出,导致行高突变、边框错位、甚至触发浏览器重排。

2026-05-11 21:32:52 51

原创 如何加固SQL系统架构_采用读写分离降低攻击影响

只读库账号必须禁用INSERT、UPDATE、DELETE、DROP、EXECUTE等权限,连LOAD_FILE()这类危险函数也要关掉应用层绝不能拼接SQL,所有用户输入必须走PreparedStatement(Java)、pg_query_params()(PHP/PgSQL)或ORM的参数绑定接口如果用了中间件(如MyCat或ProxySQL),要确认它没开启allow_sql_injection类配置项——有些老版本默认开MySQL主从架构下,如何让只读流量真的落到从库?

2026-05-11 21:31:39 183

原创 HTML怎么创建响应式图片备选方案_HTML srcset与sizes结构【详解】

srcset中像素密度描述符(x)和宽度描述符(w)不可混用,混用会导致浏览器忽略整个srcset而退化为仅加载src;混写会导致部分浏览器直接忽略整个属性,图片退化为仅加载 src。正确(w 描述符 + sizes):<img src="small.jpg" srcset="small.jpg 480w, medium.jpg 768w, large.jpg 1200w" sizes="(max-width: 480px) 100vw, (max-width: 768px) 50vw, 33vw">?

2026-05-11 21:30:26 227

原创 Golang如何做秒杀系统_Golang秒杀系统教程【收藏】

用 redis.Decr 原子扣库存,别写两行 SQL高并发下超卖或秒杀失败,八成卡在库存校验逻辑上。Decr 是线程安全的,不依赖客户端加锁,也不受 Go 协程调度影响务必设置 key 过期时间,比如 SETEX seckill:stock:123 3600 100,避免场次结束库存残留扣减失败时要立刻 Incr 回滚,否则 panic 或网络中断会导致库存永久变负用 SETNX 防重复下单,别信前端 disabled 或 session用户刷新页面、F5 重发、脚本模拟,都可能让同一个账号多次提交。

2026-05-11 21:29:14 158

原创 mysql如何快速撤销所有数据库更改_通过事务回滚机制实现

MySQL无全局回滚,事务仅限当前连接且须显式控制;已提交或自动提交的操作不可逆;发现问题立刻 ROLLBACK避免在事务里做耗时操作(如大表 UPDATE),否则锁表时间长,影响并发注意:DDL 语句(如 ALTER TABLE)在 MySQL 中会隐式提交当前事务,导致前面的 DML 无法回滚误删/误改后没有事务怎么办?靠 binlog 回滚是唯一可行路径如果已经 COMMIT,又没提前备份,binlog 是最现实的恢复依据——但不是“一键回滚”,而是解析日志、反向生成 SQL、人工校验后重放。

2026-05-11 21:28:00 196

原创 如何理解闭包对内存的影响并手动解除引用防止泄漏

2026-05-08 21:41:56 137

原创 实现一个可精确定位、支持左右移动与删除的文本光标系统

本文介绍如何利用原生 <input> 元素的 setSelectionRange() API 构建专业级文本光标交互逻辑,替代手动 DOM 操作与绝对定位光标,实现字符级光标悬停、左右跳转及精准删除功能。本文介绍如何利用原生 `` 元素的 `setselectionrange()` api 构建专业级文本光标交互逻辑,替代手动 dom 操作与绝对定位光标,实现字符级光标悬停、左右跳转及精准删除功能。按下 Delete 键时,仅删除光标当前“悬停”的单个字符(即光标位置处的字符,而非选中区域或末尾字符)。

2026-05-08 21:40:43 186

原创 uni-app怎么实现拖拽调整顺序 uni-app可拖动格子布局实现【技巧】

uni-app拖拽排序核心是touchstart+touchmove监听→计算目标索引→splice交换数组项;uni-app 中用 touchstart + touchmove 实现拖拽排序的底层逻辑uni-app 没有原生 Drag and Drop API 支持(尤其在小程序端),必须靠手动监听触摸事件 + 动态更新列表顺序来模拟。常见错误现象:touchmove 触发太频繁导致卡顿、拖拽中列表项闪跳、松手后顺序没变、跨平台(H5/小程序)坐标计算不一致。

2026-05-08 21:39:29 231

原创 CSS如何实现表单元素的统一样式_使用CSS变量控制输入框状态

用CSS变量统一控制表单边框颜色:定义--input-border-color为基底,配合:focus、:invalid、:user-invalid、:disabled等伪类动态赋值,确保跨浏览器一致性与设计系统对齐。把错误色也纳入变量体系,就能和设计系统对齐。

2026-05-08 21:38:14 235

原创 php中的foreach循环?_?PHP中foreach循环的语法结构与遍历数组对象详解.txt

宝塔面板8888端口打不开,首要排查云厂商安全组是否放行该端口;最后排除HTTPS强制跳转干扰。安全组修改后**立即生效**,不用重启服务器或宝塔有些云平台默认只开放 22 和 80,8888 绝对不在白名单里如果你用的是轻量应用服务器(如腾讯云Lighthouse),得去「防火墙」页配,不是安全组本地能 telnet 通但浏览器打不开,大概率是系统防火墙没关或没放行Linux 自带的 firewalld 或 ufw 默认会拦截非标准端口,宝塔的 8888 就属于“非标准”,不显式放行就进不来。

2026-05-08 21:37:01 226

原创 mysql如何实现读写分离的权限分配_不同用户分别赋予权限

2026-05-07 22:01:03 146

原创 如何管理历史备份_mysql备份文件管理

建议组合使用:每日凌晨执行一次 mysqldump --single-transaction --routines --triggers 全量备份(压缩存储) 开启 binlog,配合 mysqlbinlog 截取指定时间段日志,用于精确恢复到秒级 每7天保留一个全量备份,最近3天全量+binlog全部保留,超过30天的自动清理(脚本中加 find /backup -name "*.sql.gz" -mtime +30 -delete)定期验证备份有效性备份文件存在 ≠ 可用。

2026-05-07 21:59:16 146

原创 怎么在Navicat批量导入多个JSON数据_快速合并数据技巧

Navicat导入JSON报错Invalid JSON format,主因是不支持NDJSON格式,需转为单个JSON数组;中文乱码、时间错误、数字精度丢失则由字符集、字段类型及JavaScript精度限制导致。Navicat 导入 JSON 时提示 Invalid JSON format 怎么办不是 json 文件本身有语法错误,而是 navicat 默认只认“单个 json 对象”或“json 数组”,不支持换行分隔的多条 json(即 ndjson 或 jsonl 格式)。

2026-05-06 20:33:20 205

原创 Python数据分析如何填充缺失日期_Pandas的asfreq技巧

周频用 'W',月频用 'M' 或 'MS'(月初)如果原始数据是工作日(周一到周五),但用了 freq='D',就会把周末也补进去,且默认填 NaN —— 这不是 bug,是预期行为想只补工作日?得先用 asfreq(freq='B')(B 表示 Business Day),但注意:它不会自动识别节假日,需配合 CustomBusinessDayasfreq 默认用 NaN 填充,不等于 fillnaasfreq 的核心动作是“重采样对齐”,不是“智能补值”。

2026-05-06 20:31:36 191

原创 mysql如何实现数据库降序输出_使用order by字段desc语句

复合索引需方向匹配,字符串排序受collation影响,时间字段降序分页用OFFSET性能差。若 created_at 没索引,MySQL 可能全表扫描后排序,但结果仍正确,只是慢避免在 GROUP BY 后直接跟 ORDER BY 而不显式指定字段,MySQL 8.0+ 默认要求二者字段一致或在 SELECT 列表中DESC 和 ASC 在复合索引下的行为差异复合索引 (status, updated_at) 上执行 ORDER BY status ASC, updated_at DESC 能走索引;

2026-05-01 20:42:12 175

原创 c#如何添加按钮点击事件_c#添加按钮点击事件的几种常见用法

但容易漏掉取消订阅,导致内存泄漏或重复触发。),该方法必须签名匹配 EventHandler,即参数为 (object, EventArgs)如果按钮会被反复创建/销毁,又没调用 -= 解绑,旧按钮的引用可能被新订阅“悄悄保留”,尤其在闭包捕获了局部变量时PerformClick() 不是模拟用户点击,而是直接触发事件逻辑很多人误以为 PerformClick() 会走完整 UI 流程(比如焦点切换、键盘状态检查),其实它只是绕过 Windows 消息循环,直接调用已注册的所有 Click 处理程序。

2026-05-01 20:40:27 38

原创 如何决定是否需要创建索引_数据区分度与基数Cardinality计算

10%则单列索引意义不大;Cardinality 接近表总行数(比如 95% 以上),说明这列区分度高,适合建索引如果 Cardinality 小于总行数的 10%,基本可以判定:加单列索引意义不大注意:Cardinality 是采样估算值,执行 ANALYZE TABLE table_name 可刷新,但不会实时更新区分度低的字段硬加索引,反而拖慢写入比如 status 只有 'active'、'inactive'、'pending' 三个值,就算加上索引,查询时优化器大概率走全表扫描;

2026-04-29 23:32:52 31

原创 CSS移动端防止软键盘顶起页面_设置body高度或固定容器尺寸

避免对关键交互区域(如输入框、发送按钮)单独使用 position: fixed改用 position: absolute + 父容器 position: relative + bottom: 0,并确保父容器高度可控(比如用 JS 设置)若必须用 fixed,需在 resize 后手动重置 top 或 bottom 值,依据 window.innerHeight 计算监听 resize 不够用?这个配置早被主流浏览器废弃,Chrome 从 59+、Safari 从 iOS 10+ 就不再支持。

2026-04-29 23:31:14 208

原创 mysql如何配置临时账号权限_mysql带期限的用户授权

创建自动锁定事件(比如 7 天后禁用):CREATE EVENT lock_temp_dev<br>ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 7 DAY<br>DO ALTER USER 'temp_dev'@'%' ACCOUNT LOCK;注意:系统时间不准、event_scheduler 被关闭、或 MySQL 重启未自动加载 event,都会导致失效应用层校验才是可靠方案(推荐用于生产)真正可控的“临时权限”,得由你的业务代码或中间件在每次建连前检查。

2026-04-28 22:19:07 195

原创 mysql如何防止索引被错误使用_mysql查询计划强制约束

根本原因往往不是 MySQL 拒绝用索引,而是查询条件让索引失效。比如对 name 字段建了索引,但写成 WHERE UPPER(name) = 'ABC',MySQL 无法下推函数计算到索引 B+ 树里,只能全表扫描。注意:如果强制的索引根本覆盖不了查询条件(比如 WHERE 里用了没被索引的字段),MySQL 仍会报错或退化为全表扫描USE INDEX 和 IGNORE INDEX 的真实作用边界USE INDEX 不是“必须用”,而是“只允许从这些索引里选”;它们都只是约束选项,不等于指令。

2026-04-28 22:17:32 167

原创 Bootstrap框架如何实现响应式视频嵌入

iframe 直接写入 HTML 会撑破响应式布局,因 Bootstrap 的 .embed-responsive(BS4)或 .ratio(BS5)依赖父容器宽高比+子元素绝对定位,而原生 iframe 按自身 width/height 渲染,脱离比例控制;须移除 iframe 的宽高属性,用对应容器类包裹,并确保嵌入代码适配版本。必须删掉这两个属性,并确保 iframe 是 .embed-responsive-item(BS4)或 .ratio 子元素(BS5)的直接子级。

2026-04-27 21:25:30 225

原创 mysql如何排查存储过程中的死循环_mysql过程监控与kill

注意不是所有长时间运行都等于死循环——但若逻辑简单(比如只遍历几十行)、无外部依赖(不调远程、不等锁),却耗时上百秒,大概率是循环没出口。若仍卡住,再 KILL CONNECTION 12345杀完立刻查 information_schema.INNODB_TRX,确认没有残留的 trx_state = 'RUNNING' 记录为什么加了 LOOP 却没进循环体常见于 REPEAT ... UNTIL 和 WHILE ... DO 的条件判断时机差异:前者是“先执行、再判断”,后者是“先判断、再执行”。

2026-04-27 21:24:01 210

原创 c++ csv?_?C++处理csv文件格式的fstream与字符串分割方法详解

2026-04-26 19:18:41 20

原创 html标签如何表示上标下标_sup和sub标签用法【说明】

2026-04-26 19:17:10 224

原创 mysql在高并发环境下的读写分离与负载均衡

读写分离必须用ProxySQL等SQL感知代理而非纯应用层或TCP代理;MySQL原生不支持自动分离,可靠方案仅ProxySQL、MySQL Router或ShardingSphere-JDBC三类。MySQL 原生不支持自动读写分离,SELECT 和 INSERT/UPDATE/DELETE 都走同一连接,靠应用层或代理层识别 SQL 类型并路由。这是读写分离最常被低估的问题:SELECT 发到从库后,可能查不到刚 INSERT 的记录,尤其在秒杀、订单创建等强一致性场景下会直接引发业务异常。

2026-04-25 22:02:31 192

原创 如何用数据库版本号机制平滑升级前端本地的数据表结构

2026-04-25 22:01:03 199

原创 mysql数据库表名区分大小写问题_调整lower_case_table_names

关键点在于:这个变量是**启动时读取的,运行中不可修改**,改了要重启 mysqld,且一旦设为 1,所有新创建的表名都会被强制转成小写存入磁盘,后续用大写查会失败(即使 SQL 里写了 SELECT * FROM User)。如何安全地把 lower_case_table_names 从 0 改成 1不能直接改配置重启——已有表名含大写字母时,MySQL 启动会报错:Table 'xxx' doesn't exist,因为磁盘上文件名是 User.frm,但 MySQL 按 user.frm 去找。

2026-04-24 23:31:17 179

原创 如何在MongoDB中实现连表查询_group与累计求和操作

得先 $unwind 再 $sort + $group + $push 截取。5.0+ 可用 $setWindowFields,但注意它不能跟在 $lookup 后面用——聚合管道里一旦出现 $lookup,后续就不能用窗口函数$lookup + $group 组合时,嵌套数组导致 $sum 失效这是最常被忽略的问题:$lookup 返回的是数组(哪怕只匹配一条),如果你直接对这个数组字段做 $sum,结果永远是 0 或 NaN——因为 $sum 不会自动展开数组,它只对数值型字段有效。

2026-04-24 23:29:52 202

原创 mysql如何配置元数据锁超时_mysql lock_wait_timeout设置

2026-04-22 19:53:06 224

原创 Redis如何处理数据持久化与主从切换的冲突_确保选主期间的数据安全落盘

而 fork 后新写入的命令若还没来得及写入 aof 或下一次 bgsave,就会永久丢失。save 是同步阻塞操作,绝不能在主节点高负载或主从切换前手动调用bgsave 依赖 fork,而大内存实例 fork 耗时长(百毫秒级),期间新增写入无法被本次快照捕获默认 stop-writes-on-bgsave-error yes 会让写入失败,但错误日志容易被忽略,实际已静默丢数据aof 的 appendfsync 策略怎么选才扛住切换选 no 就是把落盘交给 OS 缓冲区,主挂掉时可能丢几秒数据;

2026-04-22 19:51:43 189

原创 Go语言怎么用七牛云存储_Go语言七牛云上传教程【必看】

七牛云 SDK 初始化需用 github.com/qiniu/go-sdk/v7@latest,导入路径含/v7;七牛云 SDK 初始化报错 qiniupkg/storage 找不到Go 模块初始化没拉对包,常见于直接 go get github.com/qiniu/api.v7 这种旧路径。新版 SDK 已迁移到 github.com/qiniu/go-sdk/v7,且必须用 v7 后缀——v6 或无版本号会导入失败或编译不通过。实操建议:立即学习“go语言免费学习笔记(深入)”;

2026-04-21 23:05:52 207

原创 Go语言如何遍历字符串_Go语言字符串遍历方法教程【指南】

用 for range 遍历字符串,中文不会乱码Go 的 for range 遍历字符串时,自动按 rune(Unicode 码点)拆分,不是按字节。range 返回的 index 是该字符在字符串中的起始字节位置(不是第几个字符),比如 "你好" 中「好」的 index 是 3val 类型是 rune(即 int32),不是 byte,所以 fmt.Printf("%c", val) 能正常打印中文不需要手动转 []rune,range 已内置 UTF-8 解码逻辑什么时候必须转成 []rune?

2026-04-21 23:04:26 229

原创 宝塔安装扩展报错_检查依赖库与编译环境配置

2026-04-20 21:31:40 164

原创 如何优化SQL存储过程连接池使用_提升并发存储过程吞吐

本质不是连接池太小,而是连接没归还——多数因为存储过程执行完没显式关闭 SqlConnection,或用了 using 却在其中抛了未捕获异常,导致 Dispose() 没走完。确保所有 SqlConnection 实例都包裹在 using 块里,哪怕只做一次查询避免在 using 外部保留对 SqlConnection 的引用(比如赋值给类字段)检查是否手动调用了 Open() 但忘了 Close();后果是每次调用都新建物理连接,TCP 握手+登录认证耗时陡增,吞吐直接腰斩。

2026-04-20 21:30:17 195

原创 如何处理SQL存储过程嵌套事务问题_使用保存点实现回滚

用 SAVE TRANSACTION 而不是重复 BEGIN TRANSACTIONSQL Server 不支持真正的嵌套事务,BEGIN TRANSACTION 只是增加事务计数器(@@TRANCOUNT),只有最外层 COMMIT 才真正提交,而任意一层 ROLLBACK 会直接清空全部嵌套并归零 @@TRANCOUNT。-- 设保存点,用于步骤2失败时回滚明细,但保留订单头 SAVE TRANSACTION savepoint_orderdetails;

2026-04-19 23:20:56 198

原创 mysql如何通过调整Undo Log优化并发性能_优化innodb_max_undo_log_size

Undo Log 过大导致 purge 线程卡住、事务变慢,根本原因是长事务阻塞清理,需调小 innodb_max_undo_log_size(128M~256M)、开启 innodb_undo_log_truncate、增加 innodb_purge_threads 数量,并监控长事务和 INNODB_METRICS 指标。真正起作用的是每个表空间的上限(innodb_max_undo_log_size)和是否允许截断(innodb_undo_log_truncate)。这时调参只是掩耳盗铃。

2026-04-19 23:19:36 217

原创 Go语言for循环如何写_Go语言for循环语法教程【经典】

Go 的 for 三种写法怎么选Go 的 for 表面只有一种语法,实际靠省略条件表达式变成三种行为,不是风格偏好,是语义差异:for init;post:类 C 风格,适合计数、遍历索引,init 和 post 只执行一次,cond 每轮判断for cond:等价于 while (cond),但必须显式写 cond,不能省成 for(那是无限循环)for:真·无限循环,靠 break 或 return 退出,别指望它自动停常见错误:把 for i := 0;i 写成 <code>for i := 0;

2026-04-18 23:25:52 186

原创 uni-app怎么获取APP包名和签名 uni-app应用信息查询方法【教程】

打开 manifest.json → 切换到「源码视图」→ 搜索 package 或 android,一眼定位别信 HBuilderX 界面里“Android 设置”页显示的包名——它只是 UI 映射,真实值以 JSON 源码为准如果用云打包,改完必须重新提交云端配置,本地改了 JSON 不点“同步云端”等于没改真机上用 plus.runtime.appid 动态读包名(仅限 App 端)开发调试阶段想验证当前安装包是否匹配预期?

2026-04-18 23:24:26 217

原创 c++如何将复杂的双向循环链表结构保存为二进制镜像并完美恢复【详解】

再记录每个节点的 data、next_id、prev_id头节点要显式标记(比如存一个 head_index),否则恢复时找不到起点注意空链表边界:head == nullptr 时,文件里得有明确标识(如写入 -1 表示无头节点)用 std::vector 中转比手写偏移计算更安全自己算 offsetof、搞字节对齐、处理 padding,容易在不同编译器或结构体有 std::string/std::vector 成员时翻车。C++ 没有原生二进制序列化,别硬扛。

2026-04-17 22:38:11 215

原创 如何用任务管理器判断HTML工具负载_实时监控资源使用技巧【技巧】

二、观察CPU持续超30%、内存超800MB;立即学习“前端免费学习笔记(深入)”;3、在“映像名称”列中查找常见HTML工具进程:如 Code.exe(VS Code)、chrome.exe(含–type=renderer参数的子进程常用于HTML渲染)、sublime_text.exe 或 Electron.exe(部分基于Electron的HTML编辑器)。三、分析磁盘与网络I/O活动HTML工具在实时预览、自动保存、语法检查或连接本地服务器时会触发频繁磁盘读写或网络请求,I/O阻塞会导致界面冻结。

2026-04-17 22:36:54 291

空空如也

空空如也

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

TA关注的人

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