- 博客(80)
- 收藏
- 关注
原创 CSS如何实现图片半透明蒙层覆盖_利用rgba背景色叠加技术
不要把 opacity 加在 <img> 标签上——它会让图片本身也变透明,文字内容跟着模糊容器必须设为 position: relative,否则子元素(如文字)无法精准定位到图片区域rgba(0, 0, 0, 0.4) 是常用蒙层色:黑底 + 40% 透明度,足够压暗背景又不吞掉细节用伪元素 ::before 实现响应式蒙层当需要蒙层只覆盖图片可视区域(比如带圆角、object-fit 缩放后的图片),伪元素比纯 background 更可靠。bottom: 0;
2026-05-08 21:41:44
181
原创 PHP函数能否识别硬件安全启动状态_PHP检测Secure Boot启用【教程】
主流发行版(如 Ubuntu、RHEL、Debian)在启用 Secure Boot 时,会在 /sys/firmware/efi/efivars/ 创建特定变量,并提供 /sys/firmware/efi/secure_boot 这个只读文件(值为 1 或 0)。
2026-05-08 21:40:31
131
原创 如何恢复丢失的SPFILE_从ASM别名或自动备份中提取参数文件
SPFILE从ASM别名读不出需先确认别名是否真实指向SPFILE而非PFILE,通过ASMCMD ls -l检查TYPE类型,并用strings验证二进制特征;先确认别名是否真指向 SPFILEasm 别名(alias)本身不存储内容,只是指向某个 asm 文件的快捷方式。如果 spfile.ora 别名指向的是一个普通文本 pfile(比如手动生成的 init.ora),那用它启动实例后,show parameter spfile 会返回空——说明根本没加载 spfile。
2026-05-08 21:39:16
148
原创 如何用 structuredClone 原生函数实现复杂对象深拷贝
structuredClone 是浏览器原生深拷贝方法,支持 Map、Set、Date、RegExp、ArrayBuffer 等复杂类型及循环引用,不支持函数、Promise、WeakMap 等;structuredClone 是浏览器原生提供的深拷贝方法,能安全、高效地复制包含函数以外的大多数复杂对象(如 Map、Set、Date、RegExp、ArrayBuffer、TypedArray、Error、DOM 节点等),且自动处理循环引用,无需手动递归或第三方库。
2026-05-08 21:38:02
121
原创 MySQL从物理备份恢复数据到新版本_检查兼容性参数设置
跨版本物理恢复必须确保innodb_file_per_table、innodb_page_size和explicit_defaults_for_timestamp三者配置一致,并严禁拷贝旧版mysql等系统库目录,否则启动失败。恢复前必须检查 innodb_file_per_table 是否开启新版本 MySQL(尤其是 8.0+)默认启用 innodb_file_per_table=ON,而老版本备份(如 5.6 或未显式配置的 5.7)很可能关闭它,导致共享表空间 ibdata1 包含用户表数据。
2026-05-08 21:36:47
155
原创 c++ rpc框架选择 grpc和thrift哪个更适合c++
RCF是纯C++、低延迟场景的首选框架,因其原生C++设计、零拷贝序列化、无隐藏智能指针、Windows开箱即用等优势,而gRPC和Thrift因跨语言架构引入HTTP/2、Protobuf/Thrift运行时等额外开销,不适用于高频交易等硬实时场景。连接池和 RCF::Future 是语言级原语,不用绕道 std::promise/std::future 或 boost::asio 的 completion handler。RCF 不是更小的轮子,它是专为这个场景重铸的轴心。
2026-05-07 22:05:44
202
原创 如何解决DG主库执行Drop Tablespace备库未同步_STANDBY_FILE_MANAGEMENT排查
为什么 DROP TABLESPACE 在主库执行后备库没反应根本原因不是 dg 同步机制失效,而是 standby_file_management 参数默认值为 auto 时,仅对 add、resize 类操作自动同步文件(如数据文件增删),但 drop tablespace 属于 ddl 元数据变更,不触发备库自动清理对应数据文件——它只同步日志里记录的 ddl,不主动删除物理文件。不能跳过 OFFLINE DROP 直接删文件,否则下次启动或恢复会失败。
2026-05-07 22:04:00
137
原创 Python怎么生成随机数_random模块randint与choice用法
randint(a, b) 生成包含两端的整数随机数,如 randint(1, 6) 返回 1~6(含),易与 range 或 randrange 的左闭右开混淆,导致逻辑错误;用 randint(a, b) 时,确保 a ,否则直接抛 <code>ValueError需要「左闭右开」行为(如取索引),优先用 randrange(a, b) 或 choice(range(a, b))如果只是想从固定范围选一个整数,且边界明确,randint 最直白;立即学习“Python免费学习笔记(深入)”;
2026-05-07 22:02:20
206
原创 MySQL存储过程如何实现循环打印日志_调试信息输出技巧
禁用SIGNAL抛异常打日志,因其中断执行且低版本不支持;只要触发SIGNAL,后续所有语句(包括ROLLBACK前的清理逻辑)全被跳过客户端收到的是ERROR 1644 (45000),不是普通日志,监控系统容易误报MySQL 5.5 不支持SIGNAL,低版本直接语法报错:ERROR 1064 (42000)WHILE循环里怎么安全插日志不拖慢性能在循环体里每轮都INSERT日志,看似直观,实际在万级迭代时可能让过程慢几倍——因为每次INSERT都是独立语句,触发日志刷盘和索引更新。
2026-05-07 21:58:46
199
原创 如何精准控制固定定位头部容器中的悬浮下拉菜单位置
本文详解如何修复因相对定位偏移导致的下拉菜单错位问题,通过统一采用 position: relative + top/left: 0 基准布局,并结合 flexbox 对齐与层级管理,实现类似《cyberpunk 2077》官网风格的响应式、像素级可控导航栏。而 .dropdown 类虽设为 top: 0%,却因父容器 .header_menu_container 本身使用 left: 40%(且 display: flex 未配合 justify-content 控制主轴),造成整体浮动不定。
2026-05-06 20:36:10
140
原创 c++如何利用std--span与std--format实现优雅的十六进制转储输出【实战】
std::byte必须显式转unsigned int才能用{:02x}。得自己遍历,拼出每个字节的格式化字符串用 std::format_to + std::back_inserter 累积结果,避免重复分配:例如预分配足够空间(span.size() * 3 字符),再用 std::format_to 写入注意末尾多出的一个空格:循环中对每个字节输出 "{:02x} ",最后删掉最后一个空格,或改用条件拼接(首字节不加前导空格)示例片段:std::string out;直接传给 {:x} 会编译失败。
2026-05-06 20:34:35
192
原创 JavaScript中预取Prefetch与预加载Preload策略
必须通过 <link rel="preload"> 声明,且需指定 as 属性(如 as="script"、as="font"),否则浏览器无法确定优先级和 CORS 行为 不支持跨域匿名请求的资源(如字体)要加 crossorigin 属性,否则会重复请求 不能滥用:对非首屏、非关键资源 Preload 可能抢占带宽,反而拖慢主内容加载Prefetch 用于未来导航资源Prefetch 针对的是用户“下一步可能访问”的内容,比如下一页的 JS、某个路由组件、搜索建议接口的 JSON 模板。
2026-05-06 20:32:51
140
原创 SQL在JOIN场景下如何进行索引维护_覆盖索引构建与失效处理
JOIN性能骤降十倍的主因是连接字段缺失索引;须为驱动表和被驱动表的ON字段分别建索引,避免隐式转换、函数操作及复合索引顺序错误,并优先对被驱动表设计覆盖索引。但orders.user_id常被忽略,务必显式添加INDEX避免在ON条件中对字段做函数操作,比如ON YEAR(o.create_time) = YEAR(u.register_time),会导致索引失效覆盖索引能跳过回表,但只对被驱动表有效覆盖索引的本质是:查询所需所有字段,全部包含在同一个索引中,从而避免回到主键索引取数据(即“回表”)。
2026-05-06 20:31:06
206
原创 SymPy中正确处理含整数参数的三角函数定积分:避免n=0特例干扰结果
cos(nθ) dθ)时,初学者常期望结果恒为0(当n为非零整数),却意外得到Piecewise((0, Ne(n, 0)), (2*pi, True))——这看似“不简洁”,实则是SymPy严格数学推导的体现:当n = 0时,被积函数退化为cos(0) ≡ 1,积分结果确为2π;解决方案是精准约束符号属性:import sympy as sptheta = sp.symbols('theta')n = sp.symbols('n', integer=True, positive=True) #?
2026-05-01 20:46:35
31
原创 如何处理SQL数据源多样性_通过触发器实现转换逻辑
触发器适合处理「同库同表内、低延迟、无外部依赖」的衍生字段一旦需要查另一张表、调 API、解析 JSON、或写入其他数据库,就该换方案(比如 CDC + Flink / Debezium)MySQL 触发器不支持 SELECT ... INTO 赋值给变量以外的复杂查询;别试图写“兼容双端”的触发器 SQL —— 语法树根本不同,维护成本爆炸如果必须多库支持,把转换逻辑抽成应用层方法,数据库只留最简触发器(如时间戳更新)PostgreSQL 函数里用 RAISE EXCEPTION 报错会中断事务;
2026-05-01 20:45:02
204
原创 如何用 style.setProperty 修改带有优先级的 CSS 变量属性
important 的 CSS 变量,因为内联样式不支持!importantelement.style.setProperty('--color', 'red') 实际等价于写内联样式:style="--color: red;important 的规则,选择器需足够具体(如加 [data-theme] 或使用 ID) 确保规则作用于目标元素(或其祖先),且变量在有效作用域内被读取示例:const style = document.createElement('style');更推荐的做法:避免依赖!
2026-05-01 20:43:28
235
原创 golang如何实现即时通讯IM系统_golang即时通讯IM系统实现方案
WebSocket 连接不稳定,频繁断开怎么办Go 的 net/http 原生支持 WebSocket,但直接用 gorilla/websocket 时,很多同学发现连接几秒就 close 1006 或静默断开。瓶颈不在网络,而在锁竞争和内存分配。避免全局 sync.RWMutex 保护连接 map —— 每次广播都要读锁 + 所有连接的 Write 调用都串行化改用「连接分组 + 无锁队列」:每个用户连接绑定一个 chan []byte,goroutine 从 chan 读消息并写入 socket;
2026-05-01 20:41:43
224
1
原创 如何用 window.name 跨域存储不敏感的临时业务数据
为什么 window.name 适合存临时业务数据window.name 是浏览器原生支持的全局属性,生命周期与窗口(tab)绑定,只要不关闭或导航到新页面(或调用 window.location.assign 等完全替换当前文档),它的值就一直保留。但它只支持字符串,最大容量约 2MB(不同浏览器略有差异),且所有同域内 iframe 共享同一个 window.name(注意:是同窗口下所有 iframe 的 window.name 都指向顶层窗口的 name,不是各自独立)。
2026-05-01 20:39:58
206
原创 Android平板HTML开发可行吗_Linux环境部署教程【方法】
以下是实现该目标的多种方法:一、使用Termux搭建本地Web开发环境Termux是一个Android终端模拟器和Linux环境应用,无需root即可运行轻量级Linux命令行工具,支持安装Node.js、Python等服务端运行时,可直接启动本地HTTP服务器用于HTML预览与测试。4、创建项目目录并初始化静态服务器:mkdir ~/html-dev && cd ~/html-dev && npm init -y && npm install http-server --save-dev。
2026-04-29 23:37:02
204
原创 如何解决ORA-28040没有匹配的验证协议_sqlnet.ora版本兼容设置
需在服务端sqlnet.ora中配置SQLNET.ALLOWED_LOGON_VERSION_SERVER(如设为10),并重启监听器,同时确保JDBC驱动版本兼容(至少ojdbc7)。本质是 oracle 12c 及以后默认禁用了旧版认证协议(如 sqlnet.allowed_logon_version 对应的 8–10 级),而老客户端(比如 oracle 11g 客户端、某些 jdbc thin 驱动旧版、pl/sql developer 早期版)只支持低版本验证协议,一连就报这个错。
2026-04-29 23:35:33
40
原创 如何在严格模式下安全替代 with 语句
function evalInScope(js, contextAsScope) { // 注意:js 必须是纯表达式,或显式包含 return const fn = new Function(`with (this) { return (${js});
2026-04-29 23:34:06
214
原创 如何进行SQL数值取整_对比FLOOR与CEIL函数应用场景
例如FLOOR(2.9)=2、FLOOR(-2.1)=-3,CEIL(2.1)=3、CEIL(-2.9)=-2,二者均非四舍五入,且在所有主流SQL方言中行为一致。比如 FLOOR(2.9) 是 2,FLOOR(-2.1) 是 -3;ROUND(2.5) 可能是 2 或 3(取决于实现),FLOOR(2.5) 永远是 2CAST(-2.7 AS INTEGER) 在 PostgreSQL 返回 -2,在 SQL Server 返回 -2,但语义不清晰;
2026-04-29 23:32:25
226
原创 Go语言怎么遍历目录文件_Go语言filepath.Walk教程【避坑】
解决办法是改用 filepath.WalkDir(Go 1.16+),它返回 fs.DirEntry,能通过 entry.Type().IsSymlink() 判断,并手动调用 os.Readlink 和 filepath.Join 跳转:err := filepath.WalkDir(root, func(path string, d fs.DirEntry, err error) error { if err!返回 filepath.SkipDir 会跳过当前目录但继续其他分支。
2026-04-29 23:30:49
230
原创 golang如何使用NATS JetStream_golang NATS JetStream使用解析
需在nats.Connect()后立即调nc.JetStream()并检查err,不可延迟至业务逻辑中触发。要持久化,必须先建 Stream:js.AddStream(&jetstream.StreamConfig{Subjects: []string{"orders.*"}, RetentionPolicy: jetstream.InterestPolicy})InterestPolicy 表示“只留当前有消费者关心的消息”,比默认的 LimitsPolicy 更省空间;
2026-04-28 22:23:05
170
原创 MySQL报错Got a packet bigger than max_allowed_packet_调整配置
max_allowed_packet 是 MySQL 服务端和客户端能接收的最大单个数据包大小,影响 SQL 语句、结果集、BLOB、LOAD DATA 等传输;max_allowed_packet 是什么,为什么改它这个配置项控制 MySQL 服务端和客户端能接收的最大单个数据包大小。怎么改:服务端 vs 客户端要分开设MySQL 的 max_allowed_packet 有两套独立值:服务端(mysqld 进程)和客户端(mysql 命令行、JDBC、Python 的 pymysql 等)。
2026-04-28 22:21:41
149
原创 SQL中如何处理窗口函数的结果排序_ORDER BY的应用
窗口函数里加 ORDER BY 是必须的吗?典型受影响函数:ROW_NUMBER()、RANK()、DENSE_RANK():必须有 ORDER BY 才有意义LAG()、LEAD()、FIRST_VALUE()、LAST_VALUE():依赖明确的行序,否则取值不可控SUM() OVER (... ORDER BY ...)、AVG() OVER (... ORDER BY ...):变成累计计算,不加 ORDER BY 就是全分区总和/均值LAST_VALUE() 为什么总返回第一行的值?
2026-04-28 22:20:17
164
原创 C#怎么实现RSA公钥加密私钥解密_C#如何配置密钥参数【安全】
RSA.Create()生成的密钥跨平台解密失败,因.NET默认用Windows CNG格式;实操建议:公钥 PEM:确认以 -----BEGIN PUBLIC KEY----- 开头,直接用 RSA.ImportFromPem(pemBytes)私钥 PEM:必须是无密码的 -----BEGIN PRIVATE KEY-----(PKCS#8),不能是 -----BEGIN RSA PRIVATE KEY-----(PKCS#1);
2026-04-28 22:18:42
203
原创 bootstrap怎么修改模态框(Modal)背景遮罩层的颜色
应覆盖 .modal-backdrop 类的 background-color,推荐用高优先级选择器如 .modal-backdrop.show 或主题 class 层叠,保持 alpha 值一致,避免!修改 modal-backdrop 的 CSS 类样式bootstrap 的模态框遮罩层是独立的 dom 元素,类名为 modal-backdrop,它不是 .modal 的子元素,而是兄弟节点。直接改 .modal 里的 background-color 没用。/* 深蓝替代默认黑 */}避免被!
2026-04-28 22:17:08
201
原创 CSS如何对表单输入框获取焦点时实现标签上浮过渡
focus-within 作用于父容器,只要子元素获得焦点就触发,适合嵌套结构如果只用 input:focus + label,label 必须紧跟在 input 后面,不能隔标签IE11 及以下不支持 :focus-within,需降级为 JS 监听 focus/blurtransition 动画卡顿或不触发的常见原因上浮动画失效,90% 是因为 transform 或 top 的起始/结束值不可动画化,或者被其他样式覆盖。CSS 过渡只对可计算、可插值的属性生效,且要求前后状态都有明确值。
2026-04-27 21:29:11
153
原创 mysql高频触发器降低SQL执行效率_优化触发器逻辑或改用存储过程
触发器中避免嵌套多条DML、跨库查询和无索引SELECT,优先用ON DUPLICATE KEY UPDATE合并操作;触发器里写 UPDATE/INSERT 太多,SQL 执行变慢MySQL 触发器在 INSERT、UPDATE、DELETE 时自动执行,但每条语句都触发一次,如果里面再嵌套多条 DML(比如反复 UPDATE 其他表),会显著拖慢主 SQL 的响应。尤其是高频写入场景(如订单流水、日志记录),一个 BEFORE INSERT 里做 3 次 UPDATE,实际耗时可能翻倍。
2026-04-27 21:27:54
150
原创 Redis如何控制只读从库的安全_配置replica-read-only防止从节点数据被意外篡改
replica-read-only 配置到底开不开?必须开,且默认就该是 yes。Redis 6.0+ 默认已是 replica-read-only yes,但老版本或手动配置过 redis.conf 的实例常被改成 no,导致从库可写——这不是“功能”,是安全隐患。replica-read-only 拦不住replica-read-only yes 只禁用普通写命令(SET、HSET、LPUSH 等),但 EVAL 和 EVALSHA 默认仍可执行——只要脚本里没调用写命令,Redis 就不拦;
2026-04-27 21:26:38
191
原创 CSS如何解决小屏幕上的长单词截断版面
优先用 overflow-wrap: break-word,它只在必要时折行且不破坏单词语义;关键不是“要不要折”,而是“在哪折”——word-break 强制在任意位置断,overflow-wrap(旧名 word-wrap)只在必要时把整个单词挪到下一行或中间折开(需配合 break-word 值)。云从科技AI开放平台 云从AI开放平台。
2026-04-27 21:23:40
212
原创 React 自定义 Hook 的命名规范与执行上下文详解
错误用法:脱离 React 上下文(非法)//?静态数组初始化 —— 不在组件内,无 React 渲染上下文export const words = [ { langId: 1, word: FindLangKey('something') } //?这些场景中,FindLangKey 被在非组件/非 Hook 函数中执行,React 无法关联当前调用所属的组件实例,导致 useState 初始化失败(React current dispatcher is null),应用崩溃。
2026-04-26 19:22:43
203
原创 SQL子查询执行效率低怎么办_通过索引优化嵌套结构
应分别EXPLAIN子查询与整体,确保字段类型一致且条件避免函数。再对外层 + 子查询整体 EXPLAIN,看是否出现 DEPENDENT SUBQUERYIN 子查询中,确保右边字段(这里是 users.id)有索引,且类型和左边(orders.user_id)严格一致(比如都是 BIGINT,不能一边是 VARCHAR 一边是 INT)避免在子查询 WHERE 条件里对索引字段用函数,比如 WHERE YEAR(created_at) = 2024 会让 created_at 索引失效;
2026-04-26 19:21:23
138
原创 HTML怎么显示速率限制重置时间_HTML X-RateLimit-Reset解析【说明】
需后端在Access-Control-Expose-Headers中暴露X-RateLimit-Reset,前端用Date.parse(response.headers.get('Date'))获取服务端当前时间,再与X-RateLimit-Reset(秒级时间戳×1000)做差计算剩余秒数,避免客户端时钟偏差。怎么把 X-RateLimit-Reset 转成可读时间显示在网页上浏览器拿不到原始响应头里的 X-RateLimit-Reset,除非后端显式允许跨域暴露——这是最常卡住的第一步。
2026-04-26 19:20:03
210
原创 如何排查ORA-12514报错_监听程序当前无法识别连接描述符
ORA-12514的本质是监听器未识别所连服务名,需通过lsnrctl services确认服务名是否存在、检查数据库OPEN状态、核对listener.ora静态注册、service_names参数及客户端连接串大小写与域名一致性。确认监听器是否知道你要连的服务名ora-12514 的本质不是“连不上”,而是“监听器压根不认识你写的 service_name 或 sid”。它收到了请求,但查了一遍自己登记的名单,没找到匹配项。那就不是网络或密码问题,而是注册没成功或配错了。
2026-04-26 19:16:51
176
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅