- 博客(15)
- 收藏
- 关注
原创 前端实现图片防盗链
前端实现图片防盗链的技术方案包括服务器配置、HTTP头设置、前端逻辑处理等。服务器可检测Referer字段,如Nginx可配置合法域名规则,非法请求返回403。HTTP头设置X-Frame-Options和Content-Security-Policy限制资源加载。前端可检测来源替换图片、动态生成URL添加Token、Canvas渲染避免暴露URL、添加水印等。服务器配置最有效,前端方法可作为补充,多种方案可结合使用。
2025-07-01 07:30:00
485
原创 Web 架构之 API 安全防护:防刷、防爬、防泄漏
API安全防护需注重防刷、防爬和防泄漏三方面。防刷采用限流、验证码和请求签名;防爬结合动态渲染和行为分析;防泄漏使用TLS加密和数据脱敏。分层防护架构应包含网络、应用和数据层的安全措施,并配合实时监控。持续改进防护策略才能有效应对API安全威胁。
2025-06-30 08:15:00
388
原创 前端大文件分片上传实践
大文件分片上传技术能够有效提升上传效率和稳定性。其核心原理是将文件切割为多个小块分别上传,最后在服务器端合并。前端通过File对象的slice方法实现分片,使用FormData传输数据,并支持断点续传和进度监控功能。服务器端需要处理分片上传和合并请求,示例展示了Node.js的实现方法。该技术解决了大文件上传的网络不稳定问题,开发者可根据需求优化具体实现方案。
2025-06-30 07:30:00
451
原创 CSS3实现同心圆效果
CSS实现同心圆效果的方法主要有:1.使用box-shadow多层阴影叠加;2.通过伪元素::before和::after创建嵌套圆环;3.运用radial-gradient径向渐变实现平滑过渡;4.结合CSS动画制作动态效果;5.采用嵌套HTML结构搭建复杂布局;6.使用vw/vh单位保证响应式适配。这些技术可以单独使用或组合运用,满足不同场景的设计需求,实现丰富多样的同心圆视觉效果。
2025-06-29 07:45:00
448
原创 Android WebView远程调试
Android WebView远程调试指南 摘要:Android WebView远程调试功能允许开发者通过Chrome DevTools调试WebView内容,适用于混合应用开发。关键步骤包括:调用setWebContentsDebuggingEnabled方法启用调试(需Android 4.4+),使用USB连接设备后通过chrome://inspect访问调试界面。调试时可通过DevTools执行JavaScript代码、捕获日志输出,并能针对HTTPS页面和跨域问题进行配置优化。为提高性能,建议启用W
2025-06-29 06:30:00
576
原创 前端实战:如何让用户回到上次阅读的位置
Web应用可通过多种技术实现用户阅读位置记忆功能:1. 使用localStorage存储滚动位置,在页面加载时恢复;2. 通过URL hash编码定位信息实现书签功能;3. 利用IntersectionObserver API高效跟踪元素可见性;4. 结合sessionStorage处理单次会话场景;5. 针对动态加载内容采用特殊处理。此外还提供了节流优化、跨页面进度同步等进阶方案,开发者可根据实际需求选择合适的方法或组合使用,显著提升用户体验。
2025-06-28 09:32:46
502
原创 Webhook:从原理到实践的全面指南
Webhook是一种基于HTTP回调的轻量级实时通信机制,采用推送模式替代传统轮询,通过事件触发减少延迟。其工作流程包括订阅、触发和响应三个步骤,广泛应用于CI/CD、支付通知等场景。实现Webhook接收端时可使用Python Flask框架,同时需重视安全性,采用签名验证和IP白名单等防护措施。调试工具推荐ngrok、Postman和curl,最佳实践包括幂等性设计、重试机制和异步处理等。Webhook的合理应用能有效提升系统间实时通信效率。
2025-06-28 09:30:35
1136
原创 QWebEngine无GPU环境下视频无法显示问题的解决办法
摘要:QWebEngine在无GPU环境下常出现视频无法显示问题,可通过多种方法解决:1)禁用GPU加速功能;2)强制使用软件渲染模式;3)设置Chromium命令行标志;4)动态检测硬件兼容性并自动切换渲染模式;5)使用QMediaPlayer等替代播放方案。这些方法主要通过环境变量设置、属性配置和API调用实现,可根据具体环境选择适合的方案,确保视频内容正常显示。(149字)
2025-06-27 07:45:00
734
原创 前端函数防抖(Debounce)实践
函数防抖是一种优化高频事件的技术,通过延迟执行函数直到事件停止触发后的指定时间间隔。文章介绍了基础防抖函数实现、立即执行版本、事件对象处理以及在React中的应用,并提供了代码示例。最后强调了性能优化注意事项,包括内存泄漏防范、延迟时间选择和this绑定问题,指出合理使用防抖能有效减少不必要的计算和网络请求,提升用户体验。
2025-06-27 06:15:00
474
原创 Http概述与C++简单WebServer
本文介绍了HTTP协议的基本原理和用C++实现简易WebServer的方法。HTTP协议采用客户端-服务器模型,具有无状态性、明文传输等特点。文章详细展示了基于Linux环境的实现方案,包括:1)基础socket搭建;2)HTTP请求解析;3)多线程处理模型与Epoll高性能模型;4)功能扩展如路由处理和静态文件服务;5)性能优化技巧如零拷贝传输和连接保持。该实现涵盖了WebServer的核心功能模块,为开发高性能服务器提供了基础框架,但生产环境还需考虑安全性和健壮性等更多因素。
2025-06-26 08:15:00
534
原创 六种经典排序算法
本文介绍了六种经典排序算法:冒泡排序(相邻元素比较交换)、选择排序(选择最小元素)、插入排序(构建有序序列)、归并排序(分治合并)、快速排序(基准元素分区)和堆排序(堆结构排序)。每种算法都附有Python实现代码和时间/空间复杂度分析,其中冒泡、选择、插入排序的时间复杂度为O(n²),归并、堆、快速排序为O(nlogn)。计数排序作为非比较算法也包含在内,适用于整数排序,复杂度为O(n+k)。所有算法均包含原地排序实现。
2025-06-26 07:30:00
267
原创 数据结构之堆与优先级队列
摘要:堆是一种完全二叉树,分为最小堆(节点值≤子节点)和最大堆(节点值≥子节点),常用于优先级队列实现。核心操作包括插入、删除最值(O(logn)时间),通常用数组存储,通过父子节点索引公式快速定位。Python提供heapq模块实现最小堆,最大堆需负数模拟。手写堆需实现上浮和下沉操作维护堆性质。典型应用包括任务调度、Dijkstra算法和TopK问题。掌握堆结构对提升算法效率至关重要。(150字)
2025-06-25 10:21:28
915
原创 PostgreSQL 备份与恢复策略
PostgreSQL备份策略包括逻辑备份(pg_dump/pg_restore)、物理备份(文件复制)和连续归档(WAL)。逻辑备份适合小型数据库,物理备份需停库或特殊模式,连续归档支持时间点恢复(PITR)。建议组合使用不同方法,定期验证备份,并异地存储加密文件。自动化脚本可结合cron定时执行,确保数据安全与业务连续性。关键要平衡备份频率、存储成本与恢复需求。
2025-06-25 10:19:59
1154
原创 C++内存分配与管理
C++内存管理机制包括静态内存、栈内存和堆内存三种方式。静态内存用于全局/静态变量,栈内存由编译器自动管理,堆内存通过new/delete手动分配释放。C++11引入智能指针(unique_ptr、shared_ptr等)自动管理堆内存,避免泄漏风险。开发者还可重载new/delete实现自定义分配策略,或使用内存池优化性能。常见问题如内存泄漏可通过Valgrind等工具检测。合理选择内存管理方式对程序性能和安全性至关重要。
2025-06-24 20:38:06
399
原创 Delphi缓存机制
Delphi缓存机制简介 Delphi提供多种缓存方式优化数据访问性能。内存缓存可使用TDictionary存储临时数据,文件缓存通过TFileStream持久化数据到磁盘,数据库查询缓存利用TClientDataSet存储结果集,还可集成Redis等第三方库。缓存失效可通过记录过期时间实现。开发者应根据场景选择合适方案,平衡性能与资源消耗。示例代码展示了各类缓存的实现方法,包括基本操作和超时控制。
2025-06-24 20:36:56
442
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅