自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 uni-app怎么做类似于淘宝的物流单号自动识别 uni-app正则匹配逻辑实现【实战】.txt

MySQL表名是否区分大小写取决于操作系统和lower_case_table_names配置:Linux默认区分(值为0),Windows/macOS默认不区分(值为1或2);运行时可通过SELECT @@lower_case_table_names;直接执行 SQL 查看运行时值,它反映的是 mysqld 启动时读取的配置,重启后才生效:SELECT @@lower_case_table_names;返回值只有三种可能:0(区分)、1(不区分,表名存为小写)、2(仅比较时不区分,存储保留原大小写)。

2026-05-08 21:41:37 15

原创 如何防止SQL注入利用存储过程_确保存储过程不拼字符串

必须改用 sp_executesql,它支持真正的参数化查询,SQL 引擎会在编译阶段就区分代码和数据:DECLARE @sql NVARCHAR(MAX) = N'SELECT * FROM users WHERE status = @status AND created_after = @since';

2026-05-08 21:40:24 10

原创 苹果微软双修党福音:Navicat如何熟悉Mac版专属快捷键_硬核实战技巧

执行 SQL 有三个常用方式,别混用:Cmd + R:运行整个查询窗口里的内容(哪怕只选中一行,也全跑)F8:只运行当前光标所在行或选中的语句块(最安全,适合调试)Cmd + Shift + R:强制只运行「已选中」部分(注意:如果没选中任何内容,它会报错或无响应)容易踩的坑:F8 在某些老版本(如 v15.0.27 之前)对多语句分号分割支持不稳定,遇到“Only one statement is allowed”错误时,优先切到 Cmd + R 或手动拆成单条执行。

2026-05-08 21:39:09 6

原创 防范SQL注入的SQL编码规范_禁用动态拼接字符串语句

参数化查询的防护机制(如 PreparedStatement)在 SQL 解析阶段就固定了语句结构,变量值永远作为数据传入,不参与语法解析。必须改用 #{} 才触发预编译PHP 中 mysqli::prepare() 和 PDO::prepare() 的关键区别两者都支持预编译,但默认行为不同:PDO 默认关闭模拟预处理(PDO::ATTR_EMULATE_PREPARES = false),而 mysqli 在低版本或配置不当可能 fallback 到客户端模拟,失去防护能力。

2026-05-08 21:37:55 14

原创 将地址转换为可点击的 Google Maps 链接(类似 tel

2026-05-08 21:36:41 3

原创 mysql并发修改数据出现丢失更新怎么办_使用排他锁方案

2026-05-07 22:05:27 150

原创 苹果微软双修党福音:Navicat如何跨系统平滑迁移配置

密码不导出需重输,SSH 密钥路径、代理配置、字符集等环境依赖须手动适配。实操建议:在旧电脑上:菜单栏 → 文件 → 导出连接 → 选中全部或指定连接 → 保存为 connections.ncx(名字可自定,但后缀必须是 .ncx)新电脑安装同版本 Navicat(如旧的是 16.3,新装 17.x 可能不兼容导入格式)→ 菜单栏 → 文件 → 导入连接 → 选中该文件注意:所有密码不会被导出,首次连接时需重新输入并勾选“保存密码”,否则下次仍要输Navicat Cloud 同步失效?

2026-05-07 22:03:44 150

原创 CSS如何制作加载时的点点点跳动效果_使用animation循环延迟

2026-05-07 22:02:04 170

原创 如何利用闭包特性封装一个安全的自增 ID 生成器

正确做法:只返回一个函数,所有状态都藏在它的闭包里别用 let currentId = 0 然后导出这个变量——它可被任何地方改别用 class + 实例属性封装,那只是“假装私有”,instance.currentId = -999 一样生效示例:const idGenerator = () => { let currentId = 0;用 Math.random() 或 Date.now() 看似“不用管状态”,实则埋雷。

2026-05-07 22:00:17 171

原创 宝塔面板如何设置网站访问密码_配置Nginx认证保护目录.txt

Preload需精简字段防N+1;ORDER BY id LIMIT N,性能稳定不衰减必须保证主键是单调递增且无空洞(比如 UUID 或软删除 ID 就不行),否则会漏数据批次大小别设太小(如 10)或太大(如 10000):50–500 是较稳妥区间,视单条记录体积调整别在循环里做耗时操作(如 HTTP 请求、文件写入),否则拖慢整个批次节奏,考虑用 goroutine 异步处理Select 字段和 QueryFields 模式,少查一个字段就少一分风险SELECT * 在 Go 里不是懒,是危险。

2026-05-07 21:58:31 211

原创 SQL窗口函数如何优化嵌套子查询_提升执行效率

空OVER()会触发全表排序,嵌套窗口函数易致多次扫描,性能下降显著。窗口函数替代 GROUP BY + 子查询时,ORDER BY 必须显式声明很多同学把 ROW_NUMBER() 或 RANK() 套进子查询里,以为能直接“降维”替代分组聚合,结果发现结果乱序、重复或报错。常见错误现象:SELECT id, ROW_NUMBER() OVER (PARTITION BY category) FROM t —— 缺少 ORDER BY,数据库可能按任意物理顺序编号,每次执行结果都可能不同。

2026-05-06 20:37:35 164

原创 CSS Flex布局中如何设置子元素间距_掌握gap属性的现代用法

只在 display: flex 容器上设 gap 是不够的——它必须配合 flex-wrap: wrap 才能稳定生效,否则多数浏览器(尤其是 Safari 14–15)会直接忽略 gap。Flex 主轴单行布局(flex-wrap: nowrap)下,gap 在 Chrome/Firefox 可用,Safari 14.1–15.6 不支持只要加了 flex-wrap: wrap,所有现代浏览器(含 Safari 15.4+)都支持 gap不想换行?gap 是容器级控制,不参与子元素盒模型计算;

2026-05-06 20:35:58 116

原创 SQL多表嵌套查询数据重复怎么办_使用DISTINCT去重优化策略

根本原因不是 DISTINCT 失效,而是你 SELECT 的字段组合本身就不重复——哪怕业务上“看起来一样”。检查是否无意中带入了唯一字段(如主键、时间戳、自增ID),这是最常见陷阱DISTINCT 作用于整行结果,不是按某列“逻辑去重”如果只想按用户去重,但又要显示订单信息,DISTINCT 就不合适,得换思路用 GROUP BY 替代 DISTINCT 控制去重维度当你要“按某几列去重”,同时保留其他列的聚合信息(比如最新订单、订单总数),GROUP BY 是更可控的选择。

2026-05-06 20:34:23 217

原创 Go 中自定义类型与基础类型的赋值转换详解

2026-05-06 20:32:39 230

原创 Python实现逻辑回归模型_利用LogisticRegression处理二分类问题

默认不返回概率,不是模型坏了,是设计如此。若需精细控制(比如按业务风险设不同权重),还是得手写 sample_weight 数组注意和 scale_pos_weight(XGBoost 里常用)别混淆——sklearn 的 LogisticRegression 没这参数配合 penalty='l1' 时,class_weight 仍生效,但稀疏解可能让部分特征权重归零,间接影响类别权重的实际作用decision_function 和 predict_proba 输出不一致?

2026-05-06 20:30:54 214

原创 PHP函数如何调用GPU加速计算_PHP函数使用GPU硬件加速的方法【教程】

PHP 不支持原生 GPU 计算,无 cuda_init() 等函数,官方未提供 GPU 加速扩展;必须异步化注意环境隔离:PHP 运行用户(如 www-data)需有权限访问 GPU 设备(/dev/nvidia0),但生产环境通常禁止 Web 进程直连硬件设备,安全策略会拦截ImageMagick / FFmpeg 的 GPU 加速配置要点这是 PHP 用户最可能接触到的“伪 GPU 加速”场景:PHP 调用命令行工具,工具自身启用 GPU 后端。效果取决于工具版本和编译选项,PHP 层完全无感知。

2026-05-01 20:46:19 191

原创 PHP怎么使用Eloquent Attribute Compression属性压缩_Laravel大文本字段存储优化【方法】.txt

Screen.AllScreens 可获取所有显示器的 Bounds(含位置和宽高)及 WorkingArea,需配合 per-monitor V2 manifest 实现准确 DPI 感知,否则 Bounds 返回逻辑像素而非物理分辨率。怎么用 Screen.AllScreens 拿到所有显示器的尺寸直接遍历 screen.allscreens 数组,每个元素都带 bounds(含位置和宽高)和 workingarea(排除任务栏后的可用区域)。这不是 bug,是系统故意做的兼容层。

2026-05-01 20:44:46 169

原创 在 Go 语言中声明包级(全局)映射的正确方法

go 不允许在函数外部使用 `:=` 简短变量声明语法,但可通过 `var` 声明包级 map 变量,并用 `make()` 初始化,从而安全、高效地创建全局映射。但需特别注意:Go 严格区分声明语句与执行语句——像 globalMap := make(map[string]string) 这样的短变量声明(:=)本质上是带初始化的声明+赋值组合,只能出现在函数内部;而在包级别,仅允许使用 var 声明语法。

2026-05-01 20:43:13 42

原创 CSS如何利用Grid重写老旧的表格布局

用grid-template-areas能直观映射HTML结构,避免靠grid-column手动计算位置,也方便后期增减列。跨行用同一名字在多行出现注意:IE11不支持grid-template-areas,如需兼容,改用grid-column-start/grid-column-end表头固定、内容滚动时,overflow: auto和grid-auto-rows配合很关键原表格常用<thead>+<tbody>实现表头冻结,Grid里没有内置语义,得靠容器高度+溢出控制+行高策略模拟。

2026-05-01 20:41:27 146

原创 mysql字段长度不够用了怎么办_使用alter table扩大varchar长度

MySQL 5.6+ 对 InnoDB 表扩大 VARCHAR 长度通常不锁表(instant DDL),但存在全文索引、生成列依赖或 utf8mb4 接近行限制时会退化为 copy-alter 全程锁表;MyISAM 始终锁表。如果表里还有十几个类似字段,加上其他固定长度列(INT、DATETIME 等),很容易突破硬限制。VWO 一个A/B测试工具。

2026-05-01 20:39:43 213

原创 PHP源码开发用一体机合适吗_集成硬件局限性说明【操作】

PHP开发用一体机行不行?一体机的 CPU 和内存对 PHP 开发的实际影响多数商用一体机用低功耗 U 系列 CPU(比如 i5-1135G7)+ 8GB 焊死内存,跑 php -S 或轻量 Laravel 本地服务没问题,但一旦开 Xdebug、跑测试套件、同时开 IDE + 数据库 + Redis + 浏览器多个标签,就会卡在 composer install 半分钟不动,或 phpunit 执行时 CPU 占满、风扇狂转。

2026-04-29 23:36:47 146

原创 C#怎么实现依赖倒置原则_C#如何编写高内聚低耦合代码【进阶】

而抽象不应依赖细节,细节应依赖抽象真正的落地点通常是构造函数注入 + DI 容器(如 Microsoft.Extensions.DependencyInjection),而不是手工 new + 接口声明如果不用容器,至少要把对象创建逻辑集中到一个地方(比如工厂类),且该工厂本身不能被业务逻辑直接引用用 Microsoft.Extensions.DependencyInjection 做对注册和解析注册不对,依赖倒置就只是个空壳。最常踩的坑是生命周期配错,导致状态混乱或内存泄漏。

2026-04-29 23:35:19 134

原创 Golang怎么实现SSE服务端推送事件_Golang如何用Server-Sent Events实时推送数据【教程】

实操建议:立即学习“go语言免费学习笔记(深入)”;(SSE 注释,客户端忽略)在写入前检查 w.(http.CloseNotifier).Done()(Go 1.8+ 已弃用,改用 req.Context().Done())对每个连接启动 goroutine 处理事件,但用 context.WithTimeout 控制总存活时间(比如 5 分钟),防长连接堆积别用 log.Printf 频繁打日志 —— 日志 I/O 可能阻塞 flush,导致客户端卡住客户端收到 error 事件或反复重连怎么办?

2026-04-29 23:33:51 190

原创 Python Flask路由怎么限制方法_methods列表配置仅允许GET或POST限制接口非法请求

methods=["GET"] —— 仅接受GET,连HEAD都不通(除非手动加)methods=["POST"] —— 仅接受POST,表单、fetch、curl -X POST都行methods=["GET", "POST"] —— 允许两种,但不会自动处理OPTIONS预检(CORS场景要额外注意)用app.add_url_rule注册路由时methods位置不能错和装饰器写法不同,app.add_url_rule的methods是关键字参数,必须显式写出,且不能放在view_func之后。

2026-04-29 23:32:11 202

原创 SQL查询如何处理分组后的NULL值_使用COALESCE配合聚合函数

常见误用场景:SELECT COALESCE(category, 'other'), COUNT(*) FROM t GROUP BY category → category 分组未处理 NULL,结果里仍有 NULL 行SELECT category, SUM(COALESCE(sales, 0)) FROM t GROUP BY category → NULL 还是独立分组,只是求和时把 sales 的 NULL 当 0 算了多个字段分组且都有 NULL,COALESCE 要每个都套吗?

2026-04-29 23:30:35 227

原创 如何处理Java应用重启导致的Oracle死锁_应用异常中断未释放锁与PMON清理延迟

实操建议:改用基于游标的分页(cursor-based pagination):记录上一页最后一条的排序字段值(如 id 或 created_at),下一页查 WHERE id > 12345 ORDER BY id LIMIT 20如果必须用 OFFSET,且数据相对静态,可考虑提前物化中间结果(例如写入临时表或缓存视图)别在 JOIN 结果上直接套 OFFSET,先用子查询收敛主表范围,再 JOINSELECT * 在 JOIN 查询里有多伤性能它不只是多传几个字段的事。

2026-04-28 22:22:51 175

原创 Go 中通过指针实现变量名的“传入”与原地修改

go 不支持直接传递变量名,但可通过指针将变量的内存地址传入函数,从而在函数内修改原始变量的值;go 不支持直接传递变量名,但可通过指针将变量的内存地址传入函数,从而在函数内修改原始变量的值;在 Go 中,所有参数都是按值传递(pass-by-value)——这意味着当你把一个变量(如 varName)传给函数时,函数收到的是该变量值的一个副本,对副本的任何修改都不会影响原始变量。指针本身是按值传递的(传递的是地址的副本),但它指向的内存位置是唯一的,因此函数可通过解引用(*ptr)读写该位置的数据。

2026-04-28 22:21:27 133

原创 SQL实现多表高效聚合查询的技巧_JOIN配合聚合函数使用.txt

本文详解如何修复因数组引用导致的逻辑错误,通过深拷贝避免副作用,正确统计最高分和最低分的破纪录次数。在解决经典的「Breaking Records」(破纪录)问题时,核心目标是:给定一个整数数组表示连续比赛得分,统计打破最高分纪录的次数(严格大于此前所有成绩)和打破最低分纪录的次数(严格小于此前所有成绩),首项不计入统计。但实际运行结果错误(如输入 [10,5,20,20,4,5,2,25,1] 输出非预期的 [?]),根本原因在于 JavaScript 中数组是引用类型。

2026-04-28 22:20:03 222

原创 HTML5中Canvas绘制正弦曲线实现波动动画效果

IDA Pro 里怎么加载 C++ 插件(.dll / .so)IDA Pro 的插件必须匹配 IDA 版本架构(x64 IDA 只能加载 x64 插件)和 SDK 版本,C++ 编写的插件本质是导出特定函数的动态库,IDA 启动时按约定符号查找入口。plugin_t 结构体必须正确定义,init、run、term 三个函数指针不能为 nullptr,否则 IDA 直接忽略该插件Windows 下插件后缀必须是 .dll,Linux/macOS 是 .so;

2026-04-28 22:18:29 200

原创 如何自动发送SQL预警通知_利用触发器捕捉异常事件

CTE 能不能替代嵌套子查询做集合运算能,但不是所有场景都合适。避免在 CTE 定义里用 SELECT *,显式列出需要的列,减少内存占用和网络传输如果某个 CTE 被多次引用(比如在 UNION ALL 左右都用到),SQL Server 默认可能重复计算,可考虑用临时表缓存中间结果用 EXISTS 替代 IN (SELECT ...) 配合 CTE,避免空值导致逻辑错误或性能抖动存储过程中用 CTE 做集合运算要注意啥CTE 在存储过程里和在单独查询中行为一致,但容易忽略两点:变量作用域和执行上下文。

2026-04-28 22:16:54 212

原创 c++怎么将结构体存入二进制文件_序列化与反序列化【详解】

std::memcpy 直接拷贝结构体仅限纯 POD 且不跨平台如果确认结构体是标准布局(std::is_standard_layout_v<T> 为 true)、无指针、无虚函数、所有成员可平凡复制(std::is_trivially_copyable_v<T>),且只在同构环境(同一编译器、同一 ABI、同架构)下读写,才能用 memcpy 或 write() 整体操作。

2026-04-27 21:28:58 169

原创 SQL如何筛选出分组记录数大于N的结果_使用HAVING

WHERE用于分组前过滤行,HAVING用于GROUP BY后筛选分组结果;多数情况用 COUNT(*) 更安全别写 HAVING order_cnt > 3 —— 别名在 HAVING 中不可用(除非数据库明确支持,如 PostgreSQL 允许,但 MySQL 不行),得重复写聚合表达式如果加了 WHERE,它先执行:比如先筛 WHERE status = 'paid',再分组计数,最后 HAVING 筛分组结果性能和兼容性要注意的地方HAVING 本身不直接拖慢查询,但它依赖分组结果集大小。

2026-04-27 21:27:42 197

原创 MySQL如何防止通过权限提升攻击_严格控制SUPER权限分配范围

运行 go install golang.org/x/vuln/cmd/govulncheck@latest(注意不是 go get)确保 $GOPATH/bin 在 $PATH 中,否则 shell 找不到命令如果用 Go 1.21+,部分系统可能已预装,但建议仍执行安装确认版本——旧版数据库过期严重,漏报率高Windows 用户若遇到 exec: "gcc": executable file not found,说明缺少 C 工具链;

2026-04-27 21:26:26 241

原创 如何在CSS中正确加载本地JPG背景图片

本文详解html页面中css背景图(如telahome2.jpg)无法显示的常见原因及解决方案,涵盖路径写法、属性拆分、推荐实践与调试技巧,助你快速修复静态资源加载失败问题。本文详解html页面中css背景图(如telahome2.jpg)无法显示的常见原因及解决方案,涵盖路径写法、属性拆分、推荐实践与调试技巧,助你快速修复静态资源加载失败问题。在Web开发中,使用CSS设置背景图片(如 background: url('image.jpg'))却无法显示,是初学者高频遇到的问题。

2026-04-27 21:24:57 162

原创 C#怎么使用Tuple元组返回多个值_C#如何简化方法返回值【基础】

它不需定义新类型,编译器自动推导泛型参数,写起来快,读起来也清楚。别指望有语义化命名,这是最大限制值类型元组(C# 7+ 的 (int, string))性能更好,但 Tuple<> 类型在跨 assembly 或序列化时兼容性更强改用 C# 7+ 的值元组语法 (int, string),语义和性能兼顾如果项目目标框架 ≥ .NET Core 2.0 或 .NET Framework 4.7+,且引用了 System.ValueTuple NuGet 包(旧项目可能需要),优先用括号语法。

2026-04-27 21:23:28 202

原创 Redis怎样降低布隆过滤器的误判率

2026-04-26 19:22:26 23

原创 如何正确为包含浮动子元素的父容器设置完整背景色

均使用 float: left,导致 .c 实际高度为 0(仅由 <h4> 贡献少量高度),因此背景无法撑满预期区域。/* 清除默认上下边距,避免干扰高度计算 */}div.c p { display: inline-block;}对应 HTML 保持简洁:<div class="c"> <h4>HOMEWORK</h4> <p class="b">?

2026-04-26 19:21:05 150

原创 JavaScript 中高效定位二维数组间不匹配元素的行列索引

本文介绍如何在 go 中高效地从一个结构体切片中排除另一个切片中指定用户名的元素,避免 o(n×m) 嵌套循环,通过哈希映射将时间复杂度降至 o(n+m)。本文介绍如何在 go 中高效地从一个结构体切片中排除另一个切片中指定用户名的元素,避免 o(n×m) 嵌套循环,通过哈希映射将时间复杂度降至 o(n+m)。若采用朴素的双重 for range 循环逐个比对,当 manyFullUsers 和 manySimpleUsers 规模增大时(例如各含上万条记录),时间复杂度将达 O(n×m),性能急剧下降。

2026-04-26 19:19:46 33

原创 mysql如何限制特定存储过程执行权限_MySQL存储过程安全访问

2026-04-26 19:18:06 176

原创 json ignore反序列化?_?JSON反序列化时忽略字段的json----标签使用方法

2026-04-26 19:16:35 18

空空如也

空空如也

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

TA关注的人

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