阿牛

用Vue 3组合式API封装浏览器通知与页面可见性,实现后台标签页消息聚合与免打扰

#用Vue 3组合式API封装浏览器通知与页面可见性,实现后台标签页消息聚合与免打扰

用户切到微信回了三句,再切回来——Notification API已经连发五条弹窗,遮住按钮、盖住表单、打断操作。这不是设计,是失控。Vue 3的ref和watch组合式API本该帮我们管住这事,但多数人直接在onMounted里调Notification.requestPermission(),再用new Notification()推送,压根没存状态、不判visibility、也不攒队列。结果就是:页面不可见时通知静默丢失;切回瞬间所有积压消息像推土机一样涌上来。本文教你用组合式API把document.hidden和Notification两套独立系统焊在一起,实现后台标签页消息聚合与免打扰。

阿牛 14
git checkout
用Python构建邮件头溯源与IP地理围栏机制,识别爬虫代理隧道与伪造发信服务器

#用Python构建邮件头溯源与IP地理围栏机制,识别爬虫代理隧道与伪造发信服务器

搞爬虫对抗或者邮件安全审计的,迟早都会撞上同一个死胡同:你看到的发件人,根本不是真正的发件人。本文教你用Python解析邮件头Received链,提取真实IP,结合MaxMind GeoLite2地理围栏,识别伪造服务器和代理隧道。从标准库email包的使用到IP连续性检查,再到地理位置逻辑断裂判断,完整实现一套邮件溯源与异常检测机制。

阿牛 15
git checkout
Ollama本地部署Function Calling:让AI自主调用API实现日程、文件与系统操作

#Ollama本地部署Function Calling:让AI自主调用API实现日程、文件与系统操作

本文详细讲解如何在Ollama中启用Function Calling功能,让本地大模型从被动聊天变为主动执行。通过自定义工具描述,模型可调用日程创建、文件读写、系统命令等API,实现自动化工作流。涵盖环境配置、模型选择、Modelfile编写及实际案例,适合希望将本地AI转化为自动化引擎的开发者。

阿牛 162
AI
git checkout
Vue 3 组合式 API 封装 WebRTC 屏幕共享与远程协作标注

#Vue 3 组合式 API 封装 WebRTC 屏幕共享与远程协作标注

远程会议中屏幕共享后如何实时标注?本文用 Vue 3 组合式 API 封装 WebRTC,实现屏幕共享与远程协作标注。通过 useScreenShare() 管理流状态、资源回收和错误降级,避免静默失败;通过 useRemoteControl() 基于 DataChannel 传输归一化坐标,结合 canvas 叠加层实现低延迟标注。涵盖浏览器兼容性处理、光标同步优化与冲突解决策略。

阿牛 12
git checkout
用PHP Rector自定义规则,一键将ThinkPHP原始SQL迁移为Eloquent链式调用

#用PHP Rector自定义规则,一键将ThinkPHP原始SQL迁移为Eloquent链式调用

手动将ThinkPHP的Db::query()和Db::execute()迁移为Eloquent链式调用费时费力,且容易出错。本文介绍如何通过PHP Rector自定义规则,在AST层面精准识别原始SQL调用,自动转换为Eloquent链式调用,避免正则替换的陷阱。从零搭建Rector规则,解析SQL字符串,提取表名、WHERE条件、ORDER BY等,实现一键迁移。

阿牛 13
PHP
git checkout