- 博客(60)
- 收藏
- 关注
原创 html如何修改备注
- 开头、--> 结尾,中间不能出现 -- 或 >换行、缩进、空格都允许,但别在注释里写未转义的 HTML 标签(比如 <div>),哪怕只是想“备注一下结构”,浏览器可能误解析构建工具(如 Webpack/Vite)默认保留注释,但生产环境常配 minify: true,会自动删掉所有 <!-- --> —— 别指望它在上线后还“可见”想让“备注”在页面上显示出来,就得用真实 HTML 元素如果本意是“给开发/测试人员看提示,但又不想影响用户”,那得靠视觉隐藏 + 语义化标记,而不是依赖注释。
2026-05-08 21:41:47
13
原创 如何用 CSS 变量配合 JS setProperty 实现动态换肤功能
变量名统一加前缀(如 --theme-primary)避免和第三方库冲突传入的 value 必须是合法 CSS 值字符串,null 或 undefined 会导致变量被移除,可能触发回退色(fallback)而非保持原值若需动画过渡,应在 CSS 中对变量依赖的属性(如 background-color)加 transition,变量本身不支持 transition如何持久化主题并初始化时自动加载用户刷新页面后主题丢失,本质是 JS 设置的变量未保存。立即学习“前端免费学习笔记(深入)”;
2026-05-08 21:40:33
11
原创 如何用 http 模块创建一个基础的 Web 服务器处理请求
http.createServer() 创建服务器实例后必须调用 .listen() 绑定端口,否则静默退出;用 http.createServer() 启动最简服务Node.js 的 http 模块自带,不用装包,直接 require('http') 就能用。核心是 http.createServer(),它返回一个服务器实例,调用 .listen() 才真正绑定端口。或者用 querystring.parse() 解析但没做 req.setEncoding('utf8'),导致 Buffer 乱码。
2026-05-08 21:39:19
15
原创 Go语言怎么做密码加密_Go语言bcrypt密码哈希教程【总结】
实操建议:立即学习“go语言免费学习笔记(深入)”;存哈希值的字段必须是 VARCHAR(60) 或更长(PostgreSQL 推荐 TEXT)从 DB 读出后,用 strings.TrimSpace() 安全处理——但优先在入库时就确保无前后空格调试时直接打印哈希长度:fmt.Println(len(hash)),不是 60 就立刻查源头别用 == 比较两个哈希字符串——CompareHashAndPassword 内部已做时序攻击防护,自己比等于白做bcrypt 不支持 UTF-8 用户密码?
2026-05-08 21:38:05
12
原创 golang如何实现MQTT主题通配符路由_golang MQTT主题通配符路由实现策略
github.com/eclipse/paho.mqtt.golang 的 TopicMatch 是唯一推荐方式,它严格遵循 MQTT 3.1.1/5.0 规范传入的 topic 必须是发布时的**实际主题字符串**(如 "sensors/room1/temperature"),pattern 是订阅时用的带通配符的表达式(如 "sensors/+/temperature")注意:该函数不处理大小写,MQTT 主题默认区分大小写;立即学习“go语言免费学习笔记(深入)”;
2026-05-08 21:36:51
6
原创 如何配置Oracle 21c容器数据库_CDB与PDB架构基础设置
如果已建好非CDB,不能在线转成CDB,只能导出再重建V$DATABASE 中 CDB 列为 YES 才算真正启用了容器模式未启用时执行 SHOW CON_NAME 会报 ORA-01031: insufficient privileges(其实是功能不可用,不是权限问题)连接CDB和PDB的tnsnames.ora配置容易混淆服务名默认安装后,tnsnames.ora 只配了 CDB 的全局服务名(比如 ORCLCDB),但 PDB 的服务名默认是独立生成的,不是简单拼接出来的。
2026-05-07 22:05:52
153
原创 Laravel12vs.NET 10:2026 后端框架终极对决,创业公司该如何选择?
Laravel 12 更适合初创团队:上手快、部署轻量、生态成熟、调试直观、招聘门槛低;.NET 10 则通过 NuGet 包管理器统一分发 Microsoft.Extensions.* 系列抽象,例如 Microsoft.Extensions.Caching.StackExchangeRedis 与 Microsoft.Extensions.AI.OpenAI,但部分国产服务商(如阿里云 OSS、腾讯云 COS)SDK 更新滞后,需自行封装适配层。
2026-05-07 22:04:07
171
原创 实现倒计时数字在到达1后自动隐藏(2为最后可见数字),同时继续运行至-1再终止
// 图像切换函数(保持不变)const oneDaySrc = () => { document.getElementById("image").src = "https://okoutdoors.com/img/halloween-oneday.gif";
2026-05-07 22:02:27
182
原创 c++怎么高效读取包含千万行数据的文本文件_流缓冲区定制【详解】
慎用这些参数如果业务逻辑强依赖 std::getline(比如第三方库要求 std::istream&),只能从参数和调用方式上压榨性能:传入已预留容量的 std::string(line.reserve(256)),避免反复 realloc;std::getline 会中途 fallback 到逐字节读取,性能断崖式下跌没禁用同步(std::ios::sync_with_stdio(false))?
2026-05-07 22:00:40
207
原创 Python中PyTorch实现分布式训练挂起_检查网络带宽与IO瓶颈
实操建议:立即学习“Python免费学习笔记(深入)”;如果是 SATA 盘或网络文件系统(NFS/Ceph),关掉 pin_memory,否则内存拷贝反而成瓶颈加 torch.utils.data.DataLoader(..., timeout=60),让卡死的 worker 主动抛异常,别默默等使用 torch.nn.parallel.DistributedDataParallel 后 loss 不降或梯度为 NaNDDP 本身不改模型逻辑,但会自动做梯度同步。
2026-05-07 21:58:53
133
原创 SQL触发器定义在不同版本间的兼容性_使用标准SQL语法编写
MySQL 5.7 和 8.0 的 CREATE TRIGGER 语法差异MySQL 8.0 引入了更严格的 SQL 标准兼容模式,DEFINER 子句在非 SUPER 权限下默认被忽略或报错,而 5.7 中常被静默处理。SQL Server 的 INSTEAD OF 触发器不支持 AFTER 的部分语法糖SQL Server 允许在视图上建 INSTEAD OF INSERT/UPDATE/DELETE,但它没有 MySQL 那种“自动映射字段”的便利。
2026-05-06 20:37:53
183
原创 JavaScript中类属性与原型属性的覆盖规则详解
实例属性优先于原型属性访问,类字段声明本质是实例属性,static属性属于类本身而非原型链。在 JavaScript 中,类属性(即直接定义在类体内的 实例属性)和原型属性(即定义在类的 prototype 上的方法或通过 static 定义的静态成员)遵循明确的属性访问与覆盖逻辑。// 0 —— 互不影响这类属性不会出现在原型上,Counter.prototype.hasOwnProperty('count') 返回 false。
2026-05-06 20:36:17
129
原创 HTML函数在老旧浏览器运行慢是硬件问题吗_软硬协同分析【教程】
老旧浏览器HTML操作卡顿主因是渲染与JS引擎陈旧,如IE8不支持CSS3选择器致querySelectorAll遍历DOM;HTML 函数在老旧浏览器运行慢不是硬件问题是渲染引擎和 JavaScript 引擎太老,不是你电脑太旧。哪怕换最新 CPU,IE8 里跑 document.querySelectorAll 依然卡顿——它压根没实现 CSS3 选择器的高效解析,全靠遍历 DOM 树模拟。哪些 HTML 相关操作在老浏览器里特别拖慢所谓“HTML 函数”,实际多指 DOM 操作 API。
2026-05-06 20:34:42
206
原创 CSS工具如何在同一个页面隔离多套框架
更麻烦的是,有些框架(比如 Vue 的 <style scoped>)靠属性选择器模拟隔离,而另一些(如纯 CSS-in-JS 库)靠动态生成类名——它们底层机制不兼容,硬凑一起就容易出现「A 框架的按钮变红了,B 框架的按钮却失效」这类现象。用 CSS Modules + postcss-prefixwrap 做物理隔离这不是“加个 scope”就能解决的事,得给每套框架的 DOM 加上唯一容器前缀,再让 CSS 只作用于该前缀内。再确保对应框架的根节点真有这个 class。
2026-05-06 20:32:58
224
原创 c++怎么统计文件中的行数_count与istreambuf_iterator组合【实战】
','' 被忽略,这反而是优点,避免误判std::count 的迭代器范围必须合法,空文件或流失败时要提前检查如果文件打不开、权限不足或路径错误,std::ifstream 构造后 .is_open() 为 false,此时用 std::istreambuf_iterator 构造 end 迭代器是未定义行为。用 std::count 配合 std::istreambuf_iterator 统计换行符可行,但默认行为不等于“行数”直接用 std::count 数 ''、'' 还是 "
2026-05-06 20:31:13
220
原创 c++ intel sgx编程 c++如何编写在enclave中运行的安全代码
enclave 里不能用 STL 和标准 C++ 运行时SGX enclave 的内存是受 CPU 硬件保护的,但它的运行环境极度受限:没有操作系统服务、无动态链接、无堆管理(默认)、无信号、无系统调用。密钥绝不能写死在源码里,应通过 sgx_create_report + remote attestation 后由外部可信方安全注入使用 sgx_aes_ctr_encrypt / sgx_aes_gcm_encrypt 时,注意 IV/nonce 必须唯一且不可复用;
2026-05-01 20:46:42
153
原创 如何解决OUI图形界面无法调用_xhost与DISPLAY变量设置
验证用xclock;本地运行 OUI(比如在装了桌面的 Linux 上):用 echo $DISPLAY 确认值,通常是 :0 或 unix:0;这时得改用 sudo -i -u oracle,并确保 /etc/sudoers 中有 Defaults env_keep += "DISPLAY"静默安装绕过图形界面,比死磕 DISPLAY 更可靠如果你只是想装 Oracle 数据库,不是非要用图形向导——OUI 支持纯命令行响应文件安装,既跳过所有 DISPLAY/_xhost 问题,又可复现、可审计。
2026-05-01 20:45:08
133
原创 mysql字符串拼接查询如何实现_使用concat函数连接字段
任一参数为 NULL 则结果为 NULLCONCAT_WS('-', 'a', NULL, 'c') → 'a-c';NULL 被忽略,不会插入额外分隔符想拼地址字段(省、市、区)且允许某些字段为空,优先选 CONCAT_WS(', ', province, city, district)需要严格控制每个位置是否出现内容(比如固定格式模板),才用 CONCAT 配合 IFNULL性能和字符集问题:拼接后字段类型可能影响索引或比较CONCAT 返回的是字符串,但具体类型取决于输入字段的字符集和排序规则。
2026-05-01 20:43:34
37
原创 golang如何实现搜索结果去重_golang搜索结果去重实现大全
用 map[string]struct{} 做基础去重最直接:零内存开销、O(1) 查找、写法干净;数字要替换成占位符:/api/order/789 → /api/order/{:id},避免把所有订单路径当成不同项UUID、长 token、中文编码也要统一处理:正则 [0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12} 替换为 {:id},%E6%88%91 这类编码也统一收口别在 HTTP 层做归一化:像 /user?
2026-05-01 20:41:50
222
原创 C#怎么使用协变和逆变 C#泛型中的in和out关键字协变逆变是什么意思怎么用【语法】
类不支持协变或逆变。Action<in T>、IComparer<in T>、Predicate<in T> 是典型逆变接口/委托错误写法:T GetFirst() 出现在 interface IConsumer<in T> 里 → 编译失败 CS1961注意 IComparer<T> 同时支持 in 和 out?.NET 中它是 IComparer<in T>,因为比较逻辑只接收两个 T 参数,不返回 T泛型类永远不支持 in/out,别试了你没法给 class Box<T> 加 in 或 out。
2026-05-01 20:40:05
197
原创 海量大数据下如何应对同步中断断点续传_性能优化与加速迁移策略
别只靠内存存offset很多团队把已上传分片ID、当前offset存在ConcurrentHashMap里,重启就丢——这根本不是断点续传,是“伪续传”。轻量级场景:用LocalFileStorage写入.dcp文件(如ossutil所用),路径必须绝对且有写权限,别用System.getProperty("user.dir")这种相对路径生产环境:存到数据库的upload_task_progress表,字段至少含file_id、part_no、status、md5、last_updated;
2026-04-29 23:37:08
123
原创 CSS定位如何实现模态框垂直居中_使用负边距或transform
必须确保模态框父容器有 position: relative(或 absolute/fixed)top: 50% 和 left: 50% 是基于父容器计算,不是视口如果模态框内部有 overflow: auto 且内容超长,transform 不影响滚动行为,安全负边距只适合宽高完全固定的模态框当模态框 width 和 height 都是确定值(比如 400px × 300px),可以用 margin-top: -150px;margin-left: -200px 配合 top: 50%;
2026-04-29 23:35:40
29
原创 SQL统计分组内累计增长值_利用窗口函数优化实现
正确做法是先用 FIRST_VALUE() 拿到每组第一行的基准值,再用当前行值减它,最后套一层 SUM() OVER() 累加差值:SELECT group_col, time_col, value, SUM(value - FIRST_VALUE(value) OVER(PARTITION BY group_col ORDER BY time_col)) OVER(PARTITION BY group_col ORDER BY time_col) AS cum_growthFROM t;
2026-04-29 23:34:12
235
原创 如何彻底解决移动端网页出现水平滚动与缩放后空白的问题
本文详解移动端网页因默认边距、盒模型及 grid 布局未适配导致的水平滚动与右侧空白问题,提供精准 css 修复方案,并强调 viewport 配置、重置基础样式和容器约束的关键实践。该问题通常并非由 JavaScript 动画直接引发(如本例中即使停用 GSAP 仍存在),而根源在于 HTML/CSS 的基础渲染逻辑:浏览器默认为 <body> 设置 8px 外边距(margin),且未显式声明 box-sizing: border-box,导致 100vw 容器实际宽度超出视口,触发横向溢出。
2026-04-29 23:32:31
27
原创 如何自动更新SQL标签状态_利用触发器实现基于逻辑的状态机
否则触发器判断分支会失控,比如 'pending'、'PENDING'、'pendng' 都算“待处理”,但数据库不认。建表时用 ENUM('draft','pending','approved','rejected') 或外键关联 status_types 表触发器里用 CASE WHEN OLD.status = 'pending' AND NEW.status = 'approved' THEN ... 显式枚举转移路径,别写 IF NEW.status!
2026-04-29 23:30:55
274
原创 如何修复固定定位头部容器中悬浮下拉菜单的错位问题
本文详解如何通过统一使用 position: relative 与 top/left 归零策略,配合 flex 布局精准控制头部元素位置,解决因混合定位方式导致的下拉菜单偏移、图标文字错位等问题,并实现类似《cyberpunk 2077》官网的响应式悬浮导航效果。在构建固定定位(position: fixed)的现代网页头部时,一个常见却易被忽视的问题是:子元素定位行为不一致——部分元素(如 .header_icon)看似“正常”,而下拉菜单(.dropdown)却严重偏移,甚至脱离可视区域。
2026-04-28 22:23:11
191
原创 Go 中方法值函数名末尾的 -fm 后缀解析
在 go 中,通过 `runtime.funcforpc` 获取方法值(如 `u.dummyhandler`)的函数名时,名称末尾常出现 `-fm` 后缀(如 `main.(user).dummyhandler-fm`),这是编译器为方法值自动生成的闭包函数的内部标识,并非用户可定义或可导出的名称。由于 Go 的函数类型要求接收者必须显式传入,而方法值需“固化”接收者,编译器会将其转换为一个匿名闭包函数(closure),该闭包内部封装了接收者和原始方法逻辑。
2026-04-28 22:21:47
145
原创 SQL索引与更新冲突_写多读少场景索引优化
或单列索引与组合索引重复(如已有(a,b),又单独建了a索引)。可将这部分索引从主库剥离:在从库或数仓中单独建索引,主库只保基础主键+1~2个核心查询索引 用物化视图(PostgreSQL)、汇总表(MySQL)或定时ETL预聚合替代复杂索引 若必须实时,考虑用覆盖索引减少回表,但注意它会增大写开销——仅当读频显著高于写频时才值得避开更新热点字段建索引频繁更新的字段(如updated_at、status、计数器类字段)一旦出现在索引键中,每次修改都会触发B+树节点分裂和重平衡,显著拖慢写入。
2026-04-28 22:20:23
217
原创 C#怎么限制并发请求数_C#如何保护服务器接口【必备】
初始化时传入最大并发数,比如 new SemaphoreSlim(5) 表示最多 5 个请求同时执行必须在 try/finally 或 using 中释放,否则许可证永久泄漏,后续所有请求都会卡死在 WaitAsync()设置超时(如 await sem.WaitAsync(TimeSpan.FromSeconds(3))),避免某个慢请求长期占着许可证ASP.NET Core 中全局限制接口并发的写法别在每个 Controller 方法里手写 WaitAsync —— 容易漏、难维护、无法统一降级策略。
2026-04-28 22:18:47
211
原创 SQL中RIGHT JOIN真的很少用吗_数据完整性检查与反向关联分析
是,但不是“没用”;先说结论:是,但不是“没用”绝大多数业务查询中,RIGHT JOIN 可以也**应该**被 LEFT JOIN 替代——只要把左右表顺序调换。但你想以订单为起点,直接看到缺失客户 ID 的那些订单行(而不是先查出缺失 ID 再反查)这时写 SELECT * FROM customers c RIGHT JOIN orders o ON c.id = o.customer_id WHERE c.id IS NULL,比改成 LEFT JOIN 后把 orders 搬到左边更贴近原始意图。
2026-04-28 22:17:13
276
原创 c++如何实现简单的文件签名验证_HMAC-SHA1算法应用【进阶】
用 OpenSSL 的 HMAC() 函数计算 HMAC-SHA1 最稳妥:传 EVP_sha1()、准确的 key 指针与长度、20 字节输出缓冲;大文件需流式处理,用 HMAC_CTX_new() + HMAC_Update();对比前确保双方均为原始字节(统一 hex 或 base64 解码),并排除换行/BOM/路径差异。怎么用 OpenSSL 在 C++ 里算 HMAC-SHA1 签名直接调 HMAC() 函数最稳,别自己拼接 key 和数据再喂给 SHA1() —— 那不是 HMAC,是错的。O
2026-04-27 21:23:45
198
原创 SQL关联查询性能下降的常见原因_JOIN字段数据类型不匹配
JOIN字段类型不一致会导致隐式转换,使索引失效、触发全表扫描;还需同时检查字符集/collation、NULL处理、索引结构及统计信息五层。JOIN字段类型不一致会强制隐式转换MySQL、PostgreSQL等主流数据库在ON条件中发现左右表字段类型不匹配(比如user_id INT vs log.user_id VARCHAR),会尝试隐式转换——通常是把数字转成字符串,或把字符串按规则转成数字。PostgreSQL虽不依赖collation做JOIN,但若涉及LIKE或函数包裹,则同样触发序列扫描。
2026-04-22 19:52:55
203
原创 CSS viewport单位在旧移动端支持不佳_利用固定像素值与rem配合
真实使用场景:全屏轮播、登录页居中卡片、底部导航栏高度自适应别指望加 @supports (height: 100vh) 就能兜底——这些旧环境连 @supports 都不支持或判断失准Android 4.4.4 是分水岭,之后的系统才开始稳定支持 vh用 rem 替代 viewport 单位做“伪视口响应”核心思路不是“模拟 vh”,而是把设计稿的基准高度(比如 640px)映射为 1rem,再通过 JS 动态设置 html 的 font-size,让 rem 值随设备物理高度线性变化。
2026-04-22 19:51:31
206
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅