自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(32)
  • 收藏
  • 关注

原创 Windows日历的新功能:赛事与假日一键掌握

Windows日历隐藏功能大揭秘:体育赛事+节假日一键掌握 Windows日历近期新增两大实用功能:体育赛事追踪和节假日查询。用户只需在搜索框输入"日历",进入界面后点击"添加日历",即可选择"假日日历"或"体育日历"。假日日历支持中国节假日和二十四节气查询;体育日历则涵盖NBA、中超等多项赛事,支持多赛事同时订阅。此外,文中还预告了小米20W无线充电器等即将上市的新品。这些功能让Windows日历从基础工具升级为生活助手,特别

2026-05-12 23:19:04 236

原创 探索awk:从文本处理到编程的多功能工具全面解析

本文介绍了Linux文本处理工具awk的强大功能与应用。作为与grep、sed齐名的三大文本处理工具之一,awk不仅具备基础的文本处理能力,还拥有完整的编程语言特性,支持变量赋值、条件判断、数组操作等复杂功能。文章详细解析了awk的命令格式、运行逻辑和常用选项,包括模式匹配、字段引用、运算符使用等核心语法。通过具体示例展示了awk在数据提取、格式转换、报表生成等方面的实际应用,体现了其在文本处理领域的灵活性和高效性。文中还提供了多个代码仓库链接作为扩展学习资源。

2026-05-12 00:16:07 352

原创 MySQL数据类型详解:从字符串到空间数据的全面解析

MySQL数据类型详解:五大类及其应用 MySQL数据库支持五大类数据类型:数值型、日期时间型、字符串型、空间型和JSON型。字符串类型尤为丰富,包括: CHAR/VARCHAR:定长/变长字符串,CHAR会填充空格,VARCHAR使用前缀+数据存储 BINARY/VARBINARY:存储二进制数据,按字节处理 BLOB/TEXT:分别存储二进制数据和普通字符串 ENUM:限定值来自预定义列表 SET:允许零或多个预定义值组合 这些类型设计考虑了不同场景需求,为数据存储提供了精确高效的解决方案。

2026-05-11 23:47:25 294

原创 全栈开发的演变:从LAMP到MEAN再到现代JavaScript

全栈开发者是指能够独立处理网站开发中前端、后端及DevOps等全流程技术问题的复合型人才。随着技术发展,全栈概念从传统的LAMP栈(Linux/Apache/MySQL/PHP)演进到现代的MEAN栈(MongoDB/Express/Angular/Node.js)和STAR栈(TypeScript/Apollo/React)。当前JavaScript成为全栈开发的核心语言,开发者还需掌握HTML、CSS、Git等工具。全栈开发要求技术人员不仅具备跨领域技能,更要具备解决复杂问题的能力,其角色随着技术演进不

2026-05-11 23:45:26 359

原创 提升Python编程效率的五大特性

Python开发涵盖从交互式地图到区块链等多个领域,但初学者往往难以全面掌握其特性。本文重点介绍五个关键特性:1)列表理解提供高效代码压缩;2)lambda函数实现简洁匿名函数;3)列表操作支持逆向索引和切片;4)Zip函数实现多列表并行处理;5)解压操作简化变量赋值。这些特性结合使用可显著提升Python编程效率,尤其适合数据处理场景。

2026-05-11 23:43:32 549

原创 Qt Quick中QML与C++交互详解及场景切换实现

本文介绍了QtQuick中实现场景切换的技术方案。通过QML与C++的交互机制,开发者可以利用Qt5底层改进的QPA层实现跨平台支持。文章重点讲解了三种关键技术:1)使用QmlApplicationEngine加载QML文件实现界面切换;2)通过QML信号槽机制与C++交互;3)利用qmlRegisterType和qmlRegisterSingletonType注册C++类到QML环境。这些方法配合Q_INVOKABLE宏和属性声明,使QML能够直接调用C++功能,为构建复杂的跨平台UI提供了完整解决方案。

2026-04-16 21:12:43 442

原创 揭秘JavaScript中的原型与原型链

JavaScript原型与原型链是其面向对象编程的核心机制。每个对象(除null外)都有一个[[Prototype]]属性(通过proto访问),指向其原型。原型链通过隐式引用连接多级模板,实现属性查找:当访问对象属性时,引擎会沿原型链向上查找,直到找到属性或到达末端(null)。这种机制不仅实现了继承功能,还能共享方法节省内存,使JavaScript的面向对象编程更加灵活高效。

2026-04-16 21:08:11 299

原创 Golang sync.RWMutex读写锁如何用_Golang读写锁教程【进阶】

2026-04-13 19:14:19 29

原创 CSS如何给Bootstrap侧边菜单加图标_使用font-awesome结合CSS

立即学习“前端免费学习笔记(深入)”;加 vertical-align: middle 到 <i> 上,比 top 或 baseline 更稳图标和文字间加 margin-right: 0.5rem(别用固定像素,适配性差)如果侧边菜单用了 nav-link,它自带 padding,图标要放在 <a> 内部最前面,别包在额外 <span> 里Bootstrap 5 + Font Awesome 6 的最小可行写法不用改 JS、不碰 SCSS 变量,纯 HTML + 一行额外 CSS 就能跑通。

2026-04-13 19:11:34 90

原创 Python中Pandas如何将DataFrame写入MySQL_使用to_sql函数

这不是 to_sql 的错,是误把整个 DataFrame 当作参数传给了 json.dumps() 类函数(比如用了 logging.info(df) 或自定义装饰器)。若写入已有主键表,确保 df 索引与主键类型一致(比如 int64 对 MySQL BIGINT),否则隐式转换拖慢插入示例:df.to_sql('my_table', engine, if_exists='append', chunksize=1000, method='multi')立即学习“Python免费学习笔记(深入)”;

2026-04-13 19:08:07 249

原创 SQL中视图能否嵌套存储过程_实现复杂自动化报表逻辑

视图本质是保存的 SELECT 查询,它必须返回一个结果集,而存储过程可能不返回结果、返回多个结果集、执行 DML、有副作用——这些都违背视图的“只读查询快照”语义。有道翻译AI助手 有道翻译提供即时免费的中文、英语、日语、韩语、法语、德语、俄语、西班牙语、葡萄牙语、越南语、印尼语、意大利语、荷兰语、泰语全文翻译、网页翻译、文档翻译、PDF翻。

2026-04-12 18:07:54 294

原创 如何修改Oracle服务器默认的日期格式_NLS_DATE_FORMAT全局配置

NLS_DATE_FORMAT是会话级参数,修改spfile仅对新连接生效,已有会话不受影响;改 NLS_DATE_FORMAT 会影响所有新连接,但不改已有会话oracle 的 nls_date_format 是会话级参数,修改数据库初始化参数(如 spfile 或 pfile)只对后续新建的连接生效。,改完必须重启实例才生效ALTER SESSION SET NLS_DATE_FORMAT 只作用于当前会话开发或脚本调试时常用这个命令临时调整,但它不会写入任何配置文件,断开重连就失效。

2026-04-12 18:04:58 303

原创 MySQL并发写入如何避免锁竞争_使用队列缓冲与批量插入优化

MySQL高并发写入时死锁或超时的根本原因不是因为SQL写得不好,而是InnoDB默认用REPEATABLE READ隔离级别 + 行锁 + 间隙锁,在主键/索引不连续、非等值条件或范围更新时,会锁住本不该锁的索引区间。关键判断:如果写入量一过500 QPS就开始抖动,且SHOW ENGINE INNODB STATUS里频繁出现lock struct(s)和waiting for this lock to be granted,基本可以确认是锁竞争瓶颈,不是磁盘或网络问题。

2026-04-11 00:12:42 214

原创 Golang怎么实现map深拷贝_Golang如何完整复制map避免引用类型共享底层数据【技巧】

直接赋值 map 会导致修改意外生效,因为 Go 中 map 是引用类型,m1 = m2 仅复制指针,二者共享同一底层 hmap;为什么直接赋值 map 会导致修改意外生效因为 Go 的 map 是引用类型,底层指向同一个 hmap 结构。后续对任意一个 map 的增删改,都会反映到另一个上——这不是“拷贝”,是“别名”。或并发写两个“独立” map,却触发 fatal error: concurrent map writes,说明它们底层其实是同一个。

2026-04-11 00:11:53 208

原创 bootstrap导航栏怎么添加搜索框

搜索框必须置于navbar-collapse内作为独立li元素,不可与navbar-brand并列;需加me-2防布局崩坏和键盘遮挡;搜索框必须塞进 navbar-collapse 里,不能和 navbar-brand 并列直接把 <input> 放在 navbar-brand 右边,小屏下要么被挤出视口,要么盖住折叠按钮——这不是样式问题,是 flex 布局的天然行为。用户点开搜索框,键盘弹起,但菜单还开着——这是 iOS 和安卓 WebView 的共性问题,不是 bug,是设计如此。

2026-04-10 19:35:49 224

原创 Python API怎么加Token认证_JWT生成与验证拦截器实现

空格)如果用 pydantic.BaseSettings 读配置,确保字段类型是 SecretStr 并调用 .get_secret_value()别用 base64.b64encode() 对密钥二次编码——jwt.encode() 内部不处理 base64,会直接拿原始字节算签名如何让登录接口返回Token,其他接口自动校验别在每个路由上重复写 Depends(get_current_user),用 FastAPI 的依赖注入链就行,但要注意依赖的 scope 和异常处理方式。

2026-04-10 19:33:11 206

原创 如何用 URLSearchParams.append 动态拼接多个搜索参数

URLSearchParams.append 是专门用来向 URL 查询字符串中添加参数的方法,它会自动处理编码、重复键的追加,比手动拼接更安全可靠。基础用法:添加单个参数创建 URLSearchParams 实例后,直接调用 append(key, value),value 会被自动 URL 编码:const params = new URLSearchParams();params.append('q', '前端开发');

2026-04-09 19:42:14 59

原创 如何配置RAC的SCAN IP_单实例客户端通过SCAN实现负载均衡

也不能填集群任意节点的 VIP 或公网 IP不要加 FAILOVER=on 到 SCAN 条目里——SCAN 本身已内置故障转移,额外加反而干扰行为如果数据库启用了 GDS(Global Data Services),SERVICE_NAME 应换成 GLOBAL_NAME,否则可能路由到错误副本客户端 sqlnet.ora 关键配置项光有 tnsnames.ora 不够,sqlnet.ora 控制底层连接策略。NAME.DIRECTORY_PATH= (TNSNAMES, EZCONNECT) 是底线;

2026-04-09 19:39:44 174

原创 SQL统计多条件下的分组聚合结果_运用多字段GROUP BY

ORDER BY 默认不继承 GROUP BY 顺序,必须显式写 ORDER BY region, product_type联合索引 (region, product_type) 能加速 GROUP BY region, product_type,但对反序无效SELECT 列中所有非聚合字段,必须完整出现在 GROUP BY 中(严格模式下,如 MySQL 5.7+ ONLY_FULL_GROUP_BY 开启时)WHERE 和 HAVING 混用时,哪个先过滤?这是执行顺序决定的,不是语法位置。

2026-04-08 00:10:25 220

原创 MongoDB GridFS中出现大小为0的文件记录是怎么回事

实操建议:检查应用日志里是否有 GridFSBucket.openUploadStream 调用后未完成的痕迹(比如没 await stream.end())用 db.fs.files.find({ length: 0 }).count() 统计数量,确认是否批量出现查对应 _id 是否在 fs.chunks 中完全缺失:db.fs.chunks.find({ files_id: ObjectId("xxx") })length: 0 的记录能直接删吗?可以删,但别裸删 files 文档。

2026-04-08 00:09:55 192

原创 PyTorch中高效实现SOM邻域权重更新:向量化替代双重循环

本文详解如何利用pytorch张量广播与`torch.cdist`对自组织映射(som)进行**全批量、无显式循环**的邻域权重更新,显著提升训练效率并保持数值一致性。本文提供一种完全向量化、支持整批输入(如512样本)同步更新的专业实现方案。核心思路:扁平化空间维度 + 批量广播计算我们将 SOM 的二维结构 (H, W, D)(如 40×40×84)在计算前展平为 (1, H×W, D),再通过 expand 与输入批次对齐,构建出形状为 (B, H×W, D) 的张量(B=512)。

2026-04-07 00:02:56 183

原创 uni-app动态修改tabbar uni-app如何根据权限显示不同的tab

uni-app 动态修改 tabBar 的核心限制是编译期静态配置,运行时无法增删 tab 或修改 iconPath/pagePath;uni-app 动态修改 tabbar 的核心限制uni-app 的 tabbar 是编译期静态配置,运行时无法增删 tab 项或修改其 iconpath / pagepath。所谓“动态显示不同 tab”,本质是:在编译时预置全部可能的 tab 项,再通过条件逻辑控制「是否渲染对应页面」和「是否允许跳转」——而非真正修改 tabbar 配置对象。

2026-04-07 00:01:48 277

原创 SQL如何对比当前数据与行业平均水平_AVG窗口函数应用

推荐结构:用子查询或 CTE 先算行业均值:(SELECT AVG(sales) FROM industry_benchmark)在主查询中用该子查询作为列:(SELECT AVG(sales) FROM industry_benchmark) AS industry_avg如果需分组对比(如按省份看本地均值 vs 全国均值),则用 LEFT JOIN 连接预聚合好的行业宽表,避免窗口函数嵌套出错注意 NULL 处理:行业表若为空,子查询返回 NULL,会导致整行计算中断;

2026-04-06 00:03:18 236

原创 Vue.js中Patch过程对事件绑定监听器的卸载与更新处理

修饰符影响绑定方式但不改变卸载逻辑;事件监听器的卸载发生在 oldVnode 有监听但 newVnode 没有时当 patch 进入 patchVnode 阶段,若 oldVnode 的 data.on 存在而 newVnode 的 data.on 为 null/undefined/空对象,Vue 会遍历 oldVnode 的所有事件名,调用 removeEvent(内部通过 el.removeEventListener)逐个解绑。注意:Vue 不做深度函数比对,仅判断引用是否一致;

2026-04-06 00:01:26 241

原创 如何在Kubernetes集群部署phpMyAdmin_Deployment与Service配置

如果 MySQL Service 端口叫 mysql-port,Deployment 里就别只写 3306,而要确保 Service 的 targetPort 真是 3306PMA_USER 和 PMA_PASSWORD 是可选的,但一旦设了,phpMyAdmin 就强制要求登录时填这两个字段,绕不开 —— 大多数人其实只想连 root,那就别设它们Service 类型选 ClusterIP 还是 NodePort?除非你明确需要从集群外直接访问(比如测试环境快速验证),否则别用 NodePort。

2026-04-05 00:06:02 262

原创 c++如何实现基于流缓冲区派生类的高级虚流映射与内存模拟文件【底层】

为什么不能直接继承 std::streambuf 做“虚文件”?这是内存模拟文件最常翻车的点:C++ 标准对 seekoff() 的调用上下文很敏感,尤其当流处于 std::ios_base::in | std::ios_base::out 混合模式时,way 参数可能是 std::ios_base::beg、end 或 cur,而 which 可能是 std::ios_base::in、out 或两者(std::ios_base::in | std::ios_base::out)。

2026-04-05 00:04:58 206

原创 如何在Navicat导入DBF文件到数据表_字段映射与高级设置

Navicat导入DBF时字段类型映射不准、中文乱码、日期偏移及大文件卡死是四大典型问题;需手动校正类型、确认编码、指定DATE类型、分批导入并禁用自动分析。Navicat 导入 DBF 时字段类型自动映射不准dbf 文件没有显式类型定义,navicat 依赖文件头和样本数据推断字段类型,常把 char 判成 varchar,或把带小数的 numeric 当成 int,导致导入后数据截断或报错。

2026-04-04 12:27:25 186

原创 Python如何测试复杂类继承链_使用fixture实现分层测试配置

按职责拆分 fixture 作用域:db_conn 设为 scope="session",mock_service 设为 scope="class",business_obj 设为 scope="function"在 class 级 fixture 中缓存实例:用 cls._cached_instance = ... + if not hasattr(cls, '_cached_instance') 判断,比依赖 scope 更可控注意 scope 越大,越容易遇到 teardown 顺序问题;

2026-04-04 12:26:19 148

原创 SQL如何计算每组数据的中位数_窗口函数逻辑辅助实现

标准SQL大多不支持MEDIAN(),需用ROW_NUMBER()与COUNT() OVER()配合手动计算:先按组排序编号,再根据组内行数取中间位置值平均。真正可靠、跨数据库兼容的做法,是靠窗口函数 + 行号逻辑手动定位中间位置。偶数则取第 cnt / 2 和 cnt / 2 + 1 行的平均值MySQL 8.0+ 和 PostgreSQL 的写法差异很小,但 SQL Server 要绕开 AVG() 隐式转换三者都支持 ROW_NUMBER() 和 COUNT() OVER(),语法几乎一致。

2026-04-03 00:01:46 216

原创 如何处理Java LocalDateTime与Oracle TIMESTAMP WITH TIME ZONE的时区对应

存UTC时间须用localDateTime.atZone(ZoneOffset.UTC).toOffsetDateTime()显式指定偏移。如果你的jvm时区是asia/shanghai(utc+8),但业务逻辑本意是存utc时间,就会多加8小时。这是Oracle JDBC驱动的老问题:即使字段类型是TIMESTAMP WITH TIME ZONE,默认ResultSet.getObject()仍返回java.sql.Timestamp(即无时区的毫秒值),丢失原始偏移信息。

2026-04-03 00:00:37 218

原创 Go语言如何做文件断点续传_Go语言断点续传下载教程【详解】

打开文件必须带 os.O_CREATE,避免文件不存在时报错中断Seek 后要检查返回值,某些文件系统(如 NFS)可能不支持随机写写入前建议用 file.Truncate(size) 确保文件长度至少为预期值,防止稀疏文件问题别用 bufio.Writer 包裹,缓冲会导致实际写入位置和 Seek 位置不一致如何判断服务端是否真正支持断点续传光看响应头有 Accept-Ranges: bytes 不够,有些代理或静态服务器会伪造这个 header,但实际对 Range 请求返回 200 或 500。

2026-04-02 19:30:59 200

原创 Golang怎么监听文件变化_Golang如何检测文件被修改或新建事件【实战】

实操建议:用 go get github.com/fsnotify/fsnotify 安装,别自己造轮子监听路径必须存在,fsnotify.Watcher 不会自动创建父目录注册监听后,务必启动 goroutine 读取 w.Events 和 w.Errors 通道,否则事件会阻塞甚至丢失对同一路径重复调用 w.Add() 会 panic,加前先检查是否已监听监听子目录要手动递归添加fsnotify 默认不递归,这是设计使然,不是 bug。真实场景里,配置热加载、模板重载、静态资源监控都需要子目录穿透。

2026-04-02 19:30:05 336

空空如也

空空如也

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

TA关注的人

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