自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 实现 Flex 布局中子容器内元素的自适应高度与自动滚动

2026-05-11 21:32:48 21

原创 CSS如何引入CSS形状生成器_通过自定义属性实现图形化样式

CSS自定义属性可动态控制border-radius、宽高、缩放等形状属性,但clip-path的polygon()不支持变量;怎么用 CSS 自定义属性生成动态形状纯 CSS 能画三角形、梯形、心形甚至 SVG 级别路径,但硬编码 clip-path 或 border-radius 值会让样式难以复用和响应。自定义属性(--size、--angle)不是装饰,是把图形参数“变量化”的关键——它让一个 .badge 类既能变圆角矩形,也能变菱形,还能随视口缩放。

2026-05-11 21:31:35 38

原创 CSS如何解决IE下按钮点击反馈缺失_使用active伪类前缀处理

IE8–10中:active不触发点击态的根源是其触发逻辑与现代浏览器不同,仅在鼠标按下且未移出时生效,且默认忽略按钮的:active样式,需重置outline和border行为。,否则焦点态会覆盖点击态避免用background-image做点击反馈——IE8–9对:active下的背景图切换支持极差,优先用纯色或box-shadowonclick + class切换比纯CSS:active更可靠当按钮需要明确的“按下→弹起”视觉反馈(比如提交按钮防重复点击),CSS伪类在IE里不可信。

2026-05-11 21:30:23 33

原创 Go语言如何做IP白名单_Go语言IP白名单过滤教程【干货】

推荐方案:预解析 + net.IPNet.Contains,把白名单字符串提前转成 *net.IPNet 切片,运行时只做 O(n) 次 Contains 调用(n 是白名单条目数,通常很小)。失败则 fallback 到 net.ParseIP 并构造 /32 或 /128 子网注意 net.ParseIP("127.0.0.1").To4() 返回非 nil 才算 IPv4,否则可能是 IPv6 映射地址,误判会导致放行失败HTTP 中间件里获取真实客户端 IP 的坑直接读 r.RemoteAddr?

2026-05-11 21:29:10 4

原创 如何清除SQL表中的缓存垃圾_通过TRUNCATE重置表状态

TRUNCATE 本质是“删表重建”,不是逐行删除,所以它会把 AUTO_INCREMENT 计数器归零(或重置为初始值,取决于 MySQL 版本和配置)。DELETE FROM 可以,哪怕只删一行也得走全表扫描+逐行判断TRUNCATE 在 InnoDB 中会释放磁盘空间(真正 drop segment),而 DELETE FROM 只打标记,后续需 OPTIMIZE TABLE 才能回收权限要求不同:TRUNCATE 需要 DROP 权限;

2026-05-11 21:27:57 17

原创 c++怎么以独占模式打开文件_fsopen与_SH_DENYRW【详解】

2026-05-08 21:41:53 193

原创 Go语言怎么用Jaeger_Go语言Jaeger链路追踪教程【实用】

写 Tag 时避免 span.SetTag("user_id", &u.ID)——&u.ID 是指针,显示为 <nil> 或地址;应写 span.SetTag("user_id", u.ID)Log 事件字段值不能为 nil:span.LogFields(log.String("error", err.Error())) 比 log.Object("err", err) 更稳,后者在 err == nil 时会崩Tag 键名别用空格或特殊字符,Jaeger UI 可能解析失败;

2026-05-08 21:40:39 157

原创 CSS实现动态悬浮菜单位置_JS计算配合CSS绝对定位

应使用getBoundingClientRect()结合window.scrollX/Y计算相对于body的top/left,监听scroll/resize并用requestAnimationFrame节流,避免transform影响,移动端优先用touch事件坐标。浏览器里 getBoundingClientRect() 返回的是相对于视口的坐标,但如果你把菜单挂在一个 position: relative 的父容器里,而该容器本身有滚动或 transform,那直接用 top/left 赋值就会错位。

2026-05-08 21:39:25 251

原创 Golang怎么实现方法集与接口的匹配_Golang如何理解值类型和指针类型实现接口的区别【详解】

Go中接口实现取决于类型的方法集:值类型T仅含T接收者方法,指针类型T同时含T和T接收者方法;方法集决定接口能否被实现Go 里接口能否被某个类型实现,不看它有没有写 func (t T) Method(),而看它的「方法集」是否包含接口要求的所有方法。指针类型 *T 的方法集则同时包含接收者为 T 和 *T 的方法。幻导航网 发现优质实用网站,开启网络探索之旅!

2026-05-08 21:38:10 202

原创 Python编写Flask接口如何防止爬虫抓取_使用User-Agent与频率限制

Flask中应结合User-Agent白名单与行为分析(如空UA+无Referer)识别恶意请求,优先使用Flask-Limiter做IP级频率限制并配置X-Forwarded-For解析,避免硬编码黑名单或手写中间件。关键是别只做字符串匹配,得结合行为判断。立即学习“Python免费学习笔记(深入)”;Mokker AI AI产品图添加背景。

2026-05-08 21:36:57 221

原创 如何用 JavaScript 实现单选式盒子颜色切换(点击高亮,其余复原)

Box1</div><div class="box">Box2</div><div class="box">Box3</div><div class="box">Box4

2026-05-07 22:06:09 174

原创 如何将 sticky 元素精确定位到父容器的右上角

2026-05-07 22:04:23 176

原创 Golang怎么实现ETag缓存控制_Golang如何用ETag和If-None-Match实现HTTP缓存验证【技巧】

理想 ETag 应该是内容强相关:比如 md5(content) 或 sha256(content) 的十六进制摘要若资源大或计算成本高,可用弱 ETag(前缀 W/"..."),例如基于修改时间和大小组合:W/"12345-67890"避免用数据库自增 ID、随机数、UUID——它们和内容无关,无法保证语义一致性Go 标准库里怎么生成和校验 ETag标准库没有自动 ETag 支持,得自己在 handler 里手动处理 If-None-Match 请求头和 ETag 响应头。

2026-05-07 22:02:42 188

原创 如何对SQL查询结果进行排序_灵活运用ORDER BY升降序规则

未显式指定方向时等价于 ASC。它不是“加权合并”,也不是“先全量排 A 再整体排 B”。使用场景:– 查用户列表,希望“激活用户在前 → 按注册时间倒序 → 时间相同时按昵称字典序”– 日志分析,先按错误等级(level)降序,同等级再按时间升序实操建议:– 列顺序直接影响结果逻辑,调换 ORDER BY a, b 和 ORDER BY b, a 得到的是完全不同的序列– 不要指望数据库“智能优化”多列顺序——你写的顺序就是执行顺序– 对非主键字段排序,记得确认该字段有索引,否则大表会慢;

2026-05-07 22:00:55 169

原创 宝塔面板怎样实现数据库的多地异地自动备份_结合阿里云OSS与定时任务插件

bin/bash,并在定时任务中指定 Shell 类型为「Shell 脚本」而非「PHP」或「URL」ossutil 上传失败:InvalidArgument: The difference between the request time and the current time is too large这是服务器时间与阿里云 OSS 服务器时间偏差超过15分钟导致的,常见于未开启 NTP 时间同步的 VPS 或低配云主机。

2026-05-07 21:59:08 226

原创 SQL视图性能分析技巧_利用EXPLAIN与性能监控工具

2026-05-06 20:33:12 208

原创 Navicat找回历史执行记录突然失效怎么办_重置与缓存清理

Navicat历史记录消失是因异常退出导致history.db处于WAL日志不一致或事务未提交状态,并非数据被删;需关闭所有实例、备份并重命名history.db及相关文件后重启,新记录将重新生成。Navicat 历史执行记录消失,history.db 文件还在但不显示navicat 的历史 sql 记录不是实时写入数据库的,而是缓存在内存中、定期刷盘。如果异常退出(比如崩溃、强制杀进程),history.db 可能处于半损坏或事务未提交状态,导致重启后记录“凭空消失”。

2026-05-06 20:31:27 150

原创 如何防止SQL拼接漏洞_使用PDO对象实现安全的SQL交互

常见错误现象:- 页面报错 SQLSTATE[42000]: Syntax error or access violation- 查询结果异常多或为空,但日志里 SQL 看着“语法没错”- 后台日志出现 UNION SELECT、information_schema 等可疑关键词用 PDO::prepare() + bindParam() 是唯一靠谱做法预处理语句把 SQL 结构和数据彻底分开:先让数据库编译好模板(比如 SELECT * FROM users WHERE id =?

2026-05-01 20:42:04 195

原创 Go语言怎么用sync.Map_Go语言并发安全Map教程【详解】

只在明确需要并发读写、且键集合动态变化(比如连接池、缓存淘汰)时才用 sync.Map如果只是多个 goroutine 同时读 + 单个 goroutine 写,用 sync.RWMutex 包一层普通 map 更轻量、更可控sync.Map 的 Store/Load 操作不保证顺序,也不提供类似 map 的 len() 或 delete 语义为什么 sync.Map 不支持 for range因为它的底层是分片哈希表 + 延迟清理机制,没有全局锁,也没有统一的键数组或迭代器状态。

2026-05-01 20:40:19 34

原创 HTML怎么创建登录地点地图_HTML最近登录位置列表【方法】

必须确保页面部署在 HTTPS 或 localhost(开发时可用)不要在页面加载完立刻调用,先监听用户操作(比如点击“获取位置”按钮),避免被浏览器拦截为“非用户触发的定位请求”务必写好 error 回调:常见错误包括 PERMISSION_DENIED、POSITION_UNAVAILABLE、TIMEOUT怎么把经纬度变成可读的“登录地点”文本经纬度数字对用户毫无意义,需调用地理编码(Geocoding)API 反查地址。注意:这不是 HTML 或原生 JS 能完成的,必须发网络请求到服务商接口。

2026-04-29 23:32:44 38

原创 html怎么用fetch api请求_HTML如何通过Fetch获取远程数据

正确做法是手动检查状态:fetch('/api/user') .then(response => { if (!

2026-04-29 23:31:07 235

原创 如何处理ORA-01555报错_快照过旧与UNDO_RETENTION参数调整

重点关注EXPIRED占比是否极低、UNEXPIRED是否持续高位确认UNDO表空间是否启用了AUTOEXTEND:SELECT file_name, autoextensible, maxbytes/1024/1024 AS max_mb FROM dba_data_files WHERE tablespace_name = (SELECT value FROM v$parameter WHERE name = 'undo_tablespace');此时调参治标,切分治本。

2026-04-28 22:18:59 167

原创 如何利用SQL嵌套查询进行数据去重_配合窗口函数

ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY created_at DESC) 是核心:按用户分组,按时间倒序排,每组第一行就是最新记录嵌套只是载体:外层筛出 rn = 1 的行,内层负责算编号,不能反过来把 ROW_NUMBER() 放在外层常见错误是漏写 PARTITION BY,导致全表只编 1 个号;SQLite 在 3.25.0+ 才支持 ROW_NUMBER(),老版本只能用自关联或 GROUP BY + MAX() 模拟,但容易丢字段。

2026-04-28 22:17:25 177

原创 c++如何将宽字符串wstring输出到UTF-8文件_C++17编码转换【附源码】

彻底避开 std::wstring_convert 和 std::codecvt 系列,C++20 里它们已被移除改用轻量、明确、可移植的转换逻辑,比如手动遍历 + std::mbstate_t 或第三方小函数如果项目允许引入头文件,utf8cpp(单头)或 iconv(系统级)更稳,但纯标准库方案也完全可行手动把 std::wstring 转成 UTF-8 字节数组(标准库方案)核心思路:把每个 wchar_t 当作 UTF-16 代码单元处理,识别代理对,再编码为 UTF-8 字节序列。

2026-04-27 21:25:24 189

原创 Navicat导出Excel表格数据为空如何解决_过滤条件与权限排查

导出Excel数据为空的五大原因:WHERE条件误写、记录限制设置为0、仅导出结构被勾选、用户权限不足、Excel格式兼容性问题。导出Excel时数据为空,先查WHERE条件是否误写navicat导出前若手动加了过滤条件,但语法不合法或字段名写错,它不会报错,而是静默返回空结果集。比如在「高级」选项里填了 status = 'active',但实际字段叫 is_active,或者用了 mysql 不支持的双引号字符串("active"),导出就为空。

2026-04-27 21:23:55 191

原创 golang如何使用SQLx原生SQL查询_golang SQLx原生SQL查询使用方法

2026-04-26 19:18:35 217

原创 json序列化和反序列化的作用?_?JSON序列化与反序列化在数据交换与持久化中的核心价值

2026-04-26 19:17:05 212

原创 Redis怎样利用Lua脚本批量抓取多类型数据

2026-04-25 22:02:26 215

原创 如何配置表中某列的排序权重_全文索引配置与权重分配

建索引时不用特殊操作,但查询必须构造加权 tsvector:SELECT *, ts_rank(setweight(to_tsvector(title), 'A') || setweight(to_tsvector(body), 'D'), to_tsquery('搜索词')) AS rank FROM articles权重字母固定为 A(最高)、B、C、D(最低),对应系数默认是 {1.0, 0.8, 0.6, 0.4};拿它来“强行把标题匹配的行往前排”,本质是业务逻辑硬编码,不是检索优化。

2026-04-25 22:00:58 178

原创 如何查看集群版本_crsctl query crs activeversion当前版本

直接查集群当前运行的 CRS 版本用 crsctl query crs activeversion这个命令返回的是整个 rac 集群正在实际运行的 oracle clusterware 版本,不是安装包版本,也不是某个节点“能跑”的最高版本,而是所有节点协商后一致启用的那个版本。crsctl query crs softwareversion 查当前节点已成功启动的 CRS 软件版本(即本地 $GRID_HOME 实际加载的版本);常见卡点和绕过方式不是命令写错,而是底层服务没就位。

2026-04-24 23:31:12 162

原创 如何记录SQL谁修改了数据_添加更新人字段与触发器同步

2026-04-24 23:29:47 143

原创 SQL视图名称冲突如何避免_建立规范化的命名空间与管理

视图名和表名不可重复,需统一加前缀(如v_)、体现schema上下文、仅用小写字母数字下划线且长度≤32,避免特殊字符及关键字冲突,并在CI中正则校验。视图名和表名撞了怎么办SQL里视图和表共享同一命名空间,CREATE VIEW users 会直接报错,如果已有 users 表。别急着删表或改视图逻辑,先看命名是否可收敛。很多 ORM(如 Django、SQLAlchemy)默认不带 schema 前缀查视图,或迁移工具(Flyway/Liquibase)按名称匹配资源,仍会混淆。

2026-04-22 19:53:02 161

原创 Golang怎么用Once确保只执行一次_Golang如何初始化只运行一次的代码逻辑【技巧】

sync.Once 内部用一个 uint32 状态位 + 互斥锁实现,状态变更原子且不可逆如果 Once.Do() 里函数 panic,该 Once 实例视为已“完成”,后续调用直接返回,不会重试多个 goroutine 同时调用 Do(),只有一个会执行传入函数,其余全部阻塞直到它返回(无论成功或 panic)sync.Once 必须配合指针或包级变量使用一旦 sync.Once 被复制(比如作为 struct 字段值拷贝、函数参数传值),就失去作用——每个副本都是独立的状态。

2026-04-22 19:51:39 159

原创 CSS如何利用Sass定义全局阴影方案_通过变量实现统一CSS风格

如何用Sass变量统一管理box-shadow值直接结论:用$shadow-sm、$shadow-md、$shadow-lg这类语义化变量替代硬编码的box-shadow字符串,是最轻量也最可持续的全局阴影方案。Sass变量能保证所有组件阴影层级一致,且后续调整只需改变量定义。它本质是键值对集合,比如card: 0 1px 3px rgba(0,0,0,.1), 0 1px 2px rgba(0,0,0,.06),后续通过map-get($shadows, card)调用。

2026-04-21 23:05:47 30

原创 c++如何利用std--tie实现多个文件属性字段的快速比较排序【详解】

一旦排序过程中某个元素抛异常,整个 std::sort 就崩了。改用 std::filesystem::symlink_status() 避开符号链接跳转,再手动判断是否为 std::filesystem::file_type::regular用 std::error_code ec 版本的接口(如 std::filesystem::file_size(p, ec)),出错时设 ec 而不抛异常,然后给字段赋默认值(如大小设为 0,时间设为纪元点)不要在 lambda 比较器里调用可能抛异常的函数;

2026-04-21 23:04:21 207

原创 Layui表格导出Excel如何设置导出数据的百分比显示格式

不要依赖 templet 函数在导出时生效 —— exportFile() 不执行模板导出前用 table.getData() 拿到原始数据,遍历修改对应字段(如 rate 改成 (rate * 100).toFixed(2) + '%')如果该字段后续还要参与计算,建议新增一个导出专用字段(如 rate_display),避免污染原始数据用 exportFile() 的 data 参数覆盖原始数据Layui 的 exportFile() 支持传入自定义 data,这是最干净的介入点。

2026-04-20 21:31:36 163

原创 MySQL如何配置只读事务优化性能_使用start transaction read only

需显式声明,AUTOCOMMIT=1 下无效;→ SELECT ... → 触发只读路径一旦在只读事务里执行了 INSERT、UPDATE、CREATE TEMPORARY TABLE 等写操作,MySQL 会立刻报错:ERROR 1792 (25006): Cannot execute statement in a READ ONLY transaction.只读事务和全局 read_only=ON 是两回事全局 read_only=ON 是服务器级开关,禁止除 super 用户外的所有写操作;

2026-04-20 21:30:13 164

原创 如何迁移主库且不重建备库_Switchover方案实现硬件平滑替换

Switchover前必须验证:①pg_is_in_recovery()主库为false、备库为true;②备库pg_last_wal_receive_lsn()=pg_last_wal_replay_lsn();③pg_stat_replication.sync_state至少一个为sync或quorum。后,立刻查 pg_current_wal_lsn() 记下 LSN在备库执行 SELECT pg_last_wal_replay_lsn() >= '刚才记下的 LSN';

2026-04-19 23:20:53 196

原创 MySQL数据库提示表损坏怎么修复_使用REPAIR TABLE修复方案

能用,但仅限MyISAM引擎;这时要手动指定模式:REPAIR TABLE tbl_name QUICK:只修复索引文件(.MYI),快但不校验数据行,适合索引损坏但数据完好REPAIR TABLE tbl_name EXTENDED:逐行重建索引,比默认更彻底,但耗时长、占磁盘空间多(需要临时空间存重建的索引)REPAIR TABLE tbl_name USE_FRM:极端情况用——当 .MYI 完全丢失或不可读,且你有完好的 .frm 表结构文件,它会尝试从 .frm 和 .MYD 中硬推数据。

2026-04-19 23:19:32 151

原创 怎样查询不同表的字段差异 information_schema结构对比

2026-04-18 23:25:47 152

空空如也

空空如也

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

TA关注的人

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