加载中…
关于技术、生活与一些杂记。
本文详述Nuxt SSR应用的自动化部署方案,涵盖PM2与Docker两种GitHub Actions驱动的CI/CD方式,强调安全性、回滚能力与环境一致性,并提供SSL配置、Nginx反向代理、故障排查及加固措施等完整实践指南。
本文详细指导如何为GitHub Actions自动化部署创建专用用户及组,涵盖用户组创建、SSH密钥配置、目录权限设置(含setgid)、sudo精细化授权、GitHub Secrets配置及安全加固等核心步骤,强调最小权限原则与生产环境安全性。
本文记录了实现可调整大小容器的完整思考过程,涵盖从全局事件监听到PointerEvent指针捕获的演进,解决多容器冲突、移动端兼容、边界失效、最小/最大尺寸限制、视觉反馈等关键问题,强调用户体验、边界容错与API设计哲学。
本文系统讲解JavaScript迭代协议,涵盖可迭代协议([Symbol.iterator])、迭代器协议(next方法)、迭代器对象及可迭代的迭代器四大核心概念,厘清三者关系与区别,结合大量代码示例说明实现方式、应用场景及最佳实践,帮助开发者深入理解for...of、展开运算符等语法底层机制。
Promise提供四种组合方法以处理多个异步操作。Promise.all要求所有任务成功才成功,任一失败即报错,适用于页面初始化等强依赖场景。Promise.race以最先完成的任务结果为准,常用于请求超时控制。Promise.any只要任一任务成功即成功,全失败才报错,适合多镜像源容灾。Promise.allSettled会等待所有任务结束并返回包含各自状态与值的完整结果,永不失败,适用于批量操作后需获取每条明细的场景。在实际业务中,若需全面了解各项任务的最终状态,allSettled往往是比all更稳妥的选择。
通过ESLint插件规范项目中的命名规则,以确保代码风格统一和提高可维护性。ESLint规则的创建方法,包括规则结构、context上下文对象以及问题报告机制,并以组件命名规则为例展示了具体实现过程。最后,介绍了如何使用RuleTester进行插件测试,确保规则按预期工作。