Spring Boot 项目 Dockerfile 调整优化备忘 —— Could not find or load main class PropertiesLauncher

文章说明了 Spring Boot 3.2 版本将 PropertiesLauncher 和 JarLauncher 类移至org.springframework.boot.loader.launch 包。这影响了使用解压 fat JAR 方式构建 Docker 镜像的 Dockerfile,需更新 ENTRYPOINT 命令中的类路径。java -jar 启动方式不受影响。建议利用 Spring Boot 分层 JAR 特性和 Docker 多阶段构建优化镜像,并记得关注 Release Notes 以便跟进相应变更。

服务器容器化部署 Next.js 应用的 Dockerfile 示例

文章讨论了如何将 Next.js 应用容器化部署,文章说明了通过配置 next.config.js 中的 output: "standalone",可以在构建时生成一个仅包含生产所需文件的文件夹,从而简化 Docker 镜像的大小。提供了一个示例 Dockerfile,详细描述了如何构建和运行 Next.js 应用的 Docker 镜像,并介绍了使用 Docker Buildx 构建多平台镜像的步骤。最后,文章提到除了使用 Docker 进行容器化,还可以考虑开源替代方案,如 Coolify 和 Dokploy,以便更灵活地部署 Next.js 应用。

Git 多账户配置及按项目路径使用不同 Git 配置

文章介绍了在 macOS 上配置多个 Git 账户的方法,主要包括生成 SSH 密钥、将公钥添加到 Git 服务端、配置 SSH Agent 以及在 .gitconfig 文件中使用条件包含(Conditional Includes)来按项目路径使用不同的 Git 配置。通过这些步骤,用户可以在同一台电脑上方便地管理多个 Git 账户。

快速上手新项目不完全指北

如何快速上手一个新项目的一些步骤: 1. 配置本地环境:根据项目要求安装必要的开发工具、数据库等。 2. 启动项目:按照项目文档的说明启动项目,体验并熟悉项目。 3. 理解项目设计:了解项目的业务架构设计和技术架构设计。 4. 数据库设计:了解项目的数据库结构和数据关系。 5. 接口设计:理解项目中各个模块的接口定义和接口文档编写方式。 6. 核心功能实现:学习项目的核心业务逻辑,如用户管理、登录认证、异常处理等。 7. 开发流程:了解代码管理工具(如 Git)、项目文件结构和开发规范。 8. 模块开发:根据需求分析进行模块开发,并进行测试和验证。 9. 图像示例:可使用相关图片辅助理解,如数据库表结构图、接口文档截图、代码片段截图等。

Git LFS Data 使用配置

使用 Git Large File Storage (LFS) 处理 GitHub 仓库中的大文件,可以将大文件托管在 LFS 中,避免超过 GitHub 文件大小限制。GitHub 免费用户有一定的存储空间和下载带宽,超出部分需要付费。在 GitHub 的设置中可以查看相关信息。

OAuth 2.0 相关整理记录

OAuth 2.0 是一种开放标准的授权协议,用于应用程序访问其他网站上用户账户的权限管理。它提供了安全性、便利性和灵活性。OAuth 2.0 支持多种授权类型,包括授权码模式、隐式 / 简化模式、密码模式和客户端凭证模式。授权码模式是最常见的,用户会被重定向到授权服务器进行身份验证,并授权应用程序访问其账户。其他类型则不同程度上降低了安全性和交互性。开发过程中需要前端、后端和授权服务器三个模块来实现授权码模式。前端生成授权请求 URL,用户登录后会重定向到授权服务器,并返回授权码给前端。前端将授权码传递给后端,后端使用授权码交换访问令牌。授权服务器验证授权码,并返回访问令牌给后端。后端可以使用访问令牌来访问受保护的资源。这是一个简单的 OAuth 2.0 授权流程。

Docker 简单使用

Docker 是一个容器化的解决方案,可以帮助我们创建和管理统一的运行环境。它使用镜像来构建容器,并且可以轻松地运行、停止和删除容器。我们可以使用 Docker-compose 来定义和管理多个容器应用的部署。安装 Docker 后,我们可以使用一些常用的命令来操作镜像和容器,如查看镜像列表、删除镜像、启动容器、停止容器等。我们还可以修改 Docker 的配置文件以满足特定需求。除了 Docker,还有一些其他工具和应用可以帮助我们更方便地管理容器化应用,如 Lazydocker、Portainer、Watchtower、Composerize 等。