- 博客(128)
- 收藏
- 关注
原创 如何在云主机上安装Oracle 19c_公网IP绑定与安全组端口开放
CentOS 7/8:运行 sudo firewall-cmd --permanent --add-port=1521/tcp,再 sudo firewall-cmd --reloadUbuntu:用 sudo ufw allow 1521,然后 sudo ufw reload别信“我关了防火墙”——用 systemctl is-active firewalld 或 ufw status 实锤,有些镜像默认启用但没提示tnsnames.ora 和 sqlnet.ora 里写公网 IP 还是内网 IP?
2026-05-18 22:56:09
156
原创 JavaScript中利用OptionalChaining处理null值
需 overflow: hidden、width: nch、steps(n, end) 或 step-end,并同步控制光标动画。animation + width 实现打字机效果为什么通常失败直接用 width 动画模拟打字,几乎必然出问题:文字是流式布局,width 变化不会“逐字裁切”,而是拉伸或压缩整个容器;用 ch(一个“0”的显示宽度)作为 width 单位,配合 steps() 时间函数,才能实现“每帧只显示一个字符”的机械感。这不是 bug,是字体度量本身的限制。
2026-05-17 19:36:55
197
原创 CSS如何控制全屏显示的元素样式
优先用width/height配合object-fit控制内容所有z-index必须大于2147483647(即MAX_SAFE_INTEGER),否则某些浏览器(如旧版Safari)会降级为auto移动端video全屏时样式失控怎么办iOS Safari和Android Chrome对<video></video>全屏有独立渲染层,此时你写的CSS几乎全部失效——:fullscreen伪类不触发,width: 100%变成屏幕宽度而非父容器,甚至background-color都可能被系统UI覆盖。
2026-05-17 19:35:49
231
原创 如何在Navicat中创建基础数据表_可视化图形界面操作指南
必须点击左上角Save按钮(或Ctrl+S)并填写表名才能真正建表;主键、自增、非空等勾选均对应具体DDL,类型选择需谨慎,导出SQL时注意兼容性问题。」,选 Yes 就等于什么都没干建表语句实际在后台执行,不显示 SQL,但可通过 Tools → Server Monitor 查看最近执行的命令确认是否成功主键、自增、非空这些关键约束,可视化勾选后到底生成什么 SQLNavicat 的勾选框不是装饰,每个都对应明确的 DDL 行为,尤其要注意 MySQL 和 PostgreSQL 对同一选项的解释差异。
2026-05-17 19:33:39
176
原创 PHP源码开发推荐使用哪种机箱_散热与扩展平衡选择【教程】
生产服务器的硬件选型属于运维范畴,与PHP编码、调试、本地运行无关。如果你正在为 PHP 项目挑一台开发用电脑,真正该关心的是:CPU 单核性能(影响 Composer 安装、PHP 启动速度)RAM 容量(尤其开 Docker + MySQL + Redis + IDE 时容易吃紧)SSD 读写延迟(vendor/ 目录遍历、Xdebug 断点响应明显受拖累)是否支持虚拟化(dockerd、podman、WSL2 依赖此)什么情况下会误以为要选机箱?
2026-05-16 00:19:44
182
原创 golang如何生成ABI绑定代码_golang ABI绑定代码生成思路
它不校验 ABI 合法性,只做结构映射,所以输入一错,生成的代码编译就炸——比如字段名含 _ 或大小写混用,abigen 照单全收,但 Go 编译器会拒收。用 jq '.contracts["Contract.sol:Contract"].abi' 提取最稳如果只要类型定义(不带部署逻辑),加 --type=MyContract 和 --pkg=contract,避免生成无用的 DeployXXX 函数输出文件必须写完整路径,如 --out=./contract/contract.go;
2026-05-16 00:18:35
217
原创 mysql如何实现多实例运行_在一台物理机上部署多个服务
同一台机器启动多个mysqld进程的关键是彻底隔离各实例的配置、数据目录、端口和socket文件,每个实例须独立初始化datadir并使用专用systemd单元文件。同一台机器启动多个 mysqld 进程的关键是隔离配置MySQL 本身不支持“多实例”这个概念,所谓多实例,本质是运行多个独立的 mysqld 进程,每个进程加载自己的一套配置、数据目录和端口。很多人以为初始化一次就能复制,但这样会导致所有实例共用同一套系统表空间、相同的 server-uuid,后续主从或 GTID 场景会彻底乱掉。
2026-05-16 00:17:24
233
原创 如何检测受保护链接(如 Twitter)的可访问性
本文介绍在 python 中检测本地文档中受保护链接(如需登录、验证码或反爬机制的网站)是否可正常解析的实用方案,重点通过模拟真实浏览器请求头绕过基础防护,并说明其局限性与安全边界。本文介绍在 python 中检测本地文档中受保护链接(如需登录、验证码或反爬机制的网站)是否可正常解析的实用方案,重点通过模拟真实浏览器请求头绕过基础防护,并说明其局限性与安全边界。最轻量且合规的改进方式是模拟真实浏览器请求头,而非尝试登录或破解验证逻辑。
2026-05-15 22:50:20
43
原创 高效实现分组内跨行时间戳匹配:构建 user_rejects 布尔标识列
本文介绍如何在大规模数据集(百万级行、每组15–25行)中,基于 `application_id` 分组,高效判断每行的 `rejected_time` 是否等于**同组内任意其他行**的 `selected_time`,并生成整数型布尔列 `user_rejects`。该任务看似简单,但直接使用 apply 遍历每组 + 嵌套循环会严重拖慢性能;ve 的 merge 或 isin 全局操作又无法保证“跨行、组内、非自身”的语义。为什么这个方案高效?
2026-05-15 22:49:08
159
原创 如何用 super 绑定机制在子类构造函数中调用父类
参数需匹配签名,多继承时需各层协作使用super()。当你写 super().__init__(...),Python 会:查当前类的 MRO,定位到当前类在 MRO 中的下一个类(通常是直接父类,但多继承时可能不同)从那个类中获取 __init__ 方法把这个方法与当前实例(即 self)自动绑定,等价于 Parent.__init__(self, ...),但更安全、更符合继承链必须在 __init__ 中显式调用 super().__init__()Python 不会自动调用父类构造函数。
2026-05-15 22:47:55
185
原创 CSS如何禁止子元素浮动影响父级_设置父容器BFC属性
父容器高度塌陷是浮动导致的,不是CSS写错了子元素用了 float,父容器高度变成0,页面布局错乱——这不是你漏写了 height,也不是浏览器bug,而是浮动元素脱离文档流后,父容器“看不见”它们了。这是最常用也最轻量的做法。IE全系不支持替代方案:如果要兼容IE,可以用 display: table 或 display: inline-block,但它们会改变盒模型表现(比如 table 自带默认间距,inline-block 受空白符影响)为什么不用 clear: both 清浮动?
2026-05-13 20:05:38
150
原创 如何获取DDL语句_DBMS_METADATA.GET_DDL提取对象定义
DBMS_METADATA.GET_DDL返回空或ORA-31603的主因是对象名、类型名、schema名大小写及引号不匹配;需查all_objects确认真实名称,类型全大写,带引号对象须加双引号;权限不足亦致空返回。DBMS_METADATA.GET_DDL 返回空或报错 ORA-31603常见现象是调用 dbms_metadata.get_ddl 时返回空字符串,或者直接报 ora-31603: object "xxx" of type xxx not found in schema "yyy"。
2026-05-13 20:04:24
180
原创 如何安装SQL Plus客户端_独立命令行工具环境搭建
SQL*Plus 客户端不是单独下载的oracle 官方不提供独立、免安装的 sqlplus 二进制包。必须下载 Oracle Instant Client Basic + SDK 两个 ZIP 包(版本需严格一致,如都是 21.11)Linux/macOS 下解压后需手动把 libclntsh.so 所在目录加入 LD_LIBRARY_PATH(macOS 用 DYLD_LIBRARY_PATH)Windows 用户注意:32 位应用必须配 32 位 Instant Client,64 位同理;
2026-05-13 20:01:55
262
原创 php怎么使用Ice RPC通信_php如何实现跨语言微服务远程调用
Ice RPC 在 PHP 中不原生支持,得用 C++/Python/Java 做桥接PHP 官方没有维护 Ice 的原生扩展,pecl install ice 早已下线,GitHub 上的第三方 ice-php 扩展也多年未更新,不兼容 PHP 8+,编译失败是常态。必须绕过 Slice 编译器生成桩代码Ice 要求先写 .ice 接口定义,再用 slice2php 生成客户端类——但这个工具从 Ice 3.7 开始就不再输出 PHP 代码,官方明确弃用。
2026-05-13 20:00:41
38
原创 mysql索引基数统计更新不及时_mysqlANALYZE分析表操作
EXPLAIN 的 rows 与实际扫描差异大是因为索引基数未及时更新,优化器基于过时统计生成执行计划;刚批量导入/删除大量数据后(尤其 >5% 行数)重建或新增索引后(ALTER TABLE ... ADD INDEX 不会自动触发统计更新)SELECT COUNT(*) 和 EXPLAIN 预估行数偏差超过一个数量级(例如预估 100 行,实际扫 50 万)确认 innodb_stats_persistent = ON(推荐),否则统计重启后丢失,每次都要重算ANALYZE TABLE 会锁表吗?
2026-05-11 21:32:39
149
原创 如何优化SQL中大批量数据的物理删除_分批次与间隔控制
实操建议:永远不要对线上大表执行无 LIMIT 的 DELETE确认该表有高效过滤的索引——WHERE 条件字段必须走索引,否则每次扫描都是全表先用 SELECT COUNT(*) 和 EXPLAIN 验证查询路径,别靠感觉MySQL 用户注意:DELETE LOW_PRIORITY 不解决本质问题,只是让写入排队,反而延长锁持有时间分批次删除怎么控制每批数量和间隔核心不是“删多少”,而是“别让数据库喘不过气”。常见错误是固定睡 100ms,但实际负载波动大,应该动态响应。
2026-05-11 21:31:26
179
原创 Redis如何挑选新的主节点_哨兵根据优先级、复制偏移量与RunID进行从库晋升
偏移量越大,说明该从节点同步得越完整,离主节点的数据断层越小。注意点:偏移量比较基于哨兵最后一次向各从节点发送 INFO replication 获取的值,不是实时值如果多个节点偏移量完全相同,哨兵不会随机挑,而是进入下一轮比拼别指望靠调大 repl-backlog-size 来“保偏移量”——它只影响断连重连后的部分同步,不影响选举逻辑RunID 是最终裁决者,但它的排序不等于“越小越好”当多个从节点的 slave-priority 和 offset 都一致时,哨兵用 RunID 做最终选择。
2026-05-11 21:30:13
178
原创 Golang怎么实现日志记录_Golang如何用zap或logrus搭建结构化日志系统【实战】
调试应改用zap.NewDevelopment()或显式设置日志等级。zap:调用 logger.Sync() 或 sugar.Sync() 强制刷新,建议在 defer 或 main 结尾处显式调用logrus:没有内置 Sync(),需自己 wrap io.Writer 加缓冲并提供 flush 方法,或改用 logrus.NewEntry().Logger + Close()(v1.9+ 支持)更稳妥的做法是避免用 os.Exit,改用 return 让 defer 生效;
2026-05-11 21:29:01
239
原创 安装宝塔面板提示权限不足_使用root用户进行规范安装
根本原因是宝塔脚本严格校验root权限(id -u=0)、shell可交互性(/etc/passwd中root的shell需为/bin/bash)、locale配置(en_US.UTF-8必须存在)、防火墙/安全组放行、SELinux禁用及容器环境兼容性。宝塔安装脚本会检查 id -u 输出是否为 0,并读取 /etc/passwd 中的默认 shell(比如要求是 /bin/bash 而不是 /bin/sh 或 /sbin/nologin)。实操建议:先执行 id,确认输出里有 uid=0(root);
2026-05-11 21:27:46
242
原创 Redis怎样配置持久化目录_通过dir指令将RDB与AOF文件存储在高性能SSD分区
dir必须指向已存在且Redis进程用户有读写执行权限的绝对路径,如/ssd/redis-data;dir 配置项必须指向已存在的可写目录Redis 启动时不会自动创建 dir 指定的路径,如果目录不存在或权限不足,RDB/AOF 写入会静默失败——你可能只在 SAVE 或后台 BGSAVE 时报错,或者 AOF 重写时直接崩溃,日志里只有一句 Failed to open the temp AOF file: Permission denied。两者都会落在同一 dir 下,不能分开存放。
2026-05-08 21:41:43
197
原创 PHP源码开发用台式机还是笔记本更合适_硬件选型对比【方法】
HTML 页面居中后生成二维码,扫码打不开?用 qrcode 库生成图片:qrcode.make('https://...'),再用 .save() 存成 qr.pngHTML 模板里用绝对路径引用二维码:<img src="qr.png" alt="QR">,不要用 ../ 或变量路径生成脚本里注意路径拼接:用 os.path.join(),别硬拼 './' + name + '.html',Windows 下会出错生成完别直接双击打开 HTML——又回到 file:// 问题;
2026-05-08 21:40:30
160
原创 uni-app怎么做类似于微信的语音按住录音 uni-app录音UI效果实现【代码】
必须换方案:用 uni.getRecorderManager + 手势事件手动控制。用 touchstart 启动录音,但立刻启动一个 setTimeout 延迟 100ms 检查是否仍在按压用 touchmove 监听拖出范围,提前调用 recorder.stop()必须监听 touchcancel —— 微信里弹窗、切后台都会触发它,否则录音会卡死在后台recorder.start() 报错 “fail recorder is running” 怎么办这是最常踩的坑:没做状态保护。
2026-05-08 21:39:14
240
原创 如何配置使得只有特定MAC地址可以访问_结合网络层NAC设备
MAC地址过滤仅在二层设备(接入交换机端口、无线AP、NAC设备)有效,三层设备或家用路由器无法实现;MAC地址过滤必须在二层设备上做,三层设备或防火墙基本无效纯靠路由器或linux iptables 拦mac是典型误区——ip层根本看不到原始mac,它早被交换机或网关剥离了。如果你手头是家用路由器,基本没戏;企业环境里,得确认你的交换机支持port-security或mac-access-list这类特性。aabbcc112233 -j DROP 是核心规则,-s匹配源MAC,!
2026-05-08 21:38:00
239
原创 Go语言变量如何声明和使用_Go语言变量定义完整教程【通俗】
Go变量声明即约束类型,未初始化会报错;只能出现在函数体内,包级作用域禁止使用 :=左边至少有一个新变量名,否则报错:no new variables on left side of :=不能对已声明的变量(哪怕在其他作用域)复用 := 覆盖,比如 err := foo() 后再写 err := bar() 就会失败示例场景:循环中开 goroutine 闭包捕获变量,误用 := 可能导致所有 goroutine 共享同一个 i 的地址——这不是语法问题,而是逻辑陷阱,得靠显式传参或复制值来避免。
2026-05-08 21:36:46
213
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅