🧱 后端开发与架构
未读前言在老东家花了一年的时间,基于当时最新的 Spring Boot 2.5.x 写了一套脚手架工程,经过 1 年多的迭代, 这套脚手架已在技术中心多个部分应用. 脚手架包含最底层的 maven 依赖管理, 可以说是整个工程的灵魂, 期间重构过 3 次, 这个后面再说.第二层是核心模块层, 就是我们常见的 core 包, 但是也分为至少 8 大模块.第三层是基于 Spring Boot 2.5.x 封装的 starter 层, 这个层是整个脚手架工程的精髓所在, 也是我们后续要重点介绍的.第四层是支撑层, 包括 Maven 插件和 IDEA 插件.最后当然是示例工程, 包含每个 starter 组件的使用方式. 写这套脚手架的时候正好赶上 业务中台 火热的时期, 因此比如通用的 用户中心, 支付中心等也应运而生, 但是这部分涉及到公司的业务流程, 后面将不会过多描述. 今天决定开始新一轮的重构, 基于 Spring Boot 3.3.x 来写一个企业级的脚手架工程, 主要考虑以下几点: 想体验一下最新的 Spring Boot 3.3.x 与 Spring AI; 最新的 Sp ...
简介记录一下如何将 hexo-theme-aurora 主题的博客图片居中显示 修改文件: node_modules/hexo-theme-aurora/source/static/css/a14e1a22.css: 1234567.post-html img { margin: auto; cursor: zoom-in; transition-property: all; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 0.15s;}
🏠 HomeLab:中年男人之友
未读背景作为一个智能家居爱好者,我在家里部署了多台服务器以及开发板。因为有公网 IP, 并通过 DDNS 绑定了域名, 我可以随时在外网访问家中的各种服务。 虽然我通过 Surge 的配置可以在外网通过局域网访问家中的内部服务, 当问题是我需要为同一个服务添加多个书签, 当服务数量增多时,书签管理变得异常繁琐。 解决方案为了解决这个问题,我开发了一个 Chrome 扩展 - URL Switcher Pro。这个扩展程序能够: 自动检测当前网络环境 根据配置智能切换内外网 URL 支持批量 URL 配置管理 提供 URL 可访问性检测 技术实现1. 核心功能扩展的核心功能主要包括: URL 匹配与切换:通过正则表达式进行 URL 模式匹配 网络环境检测:检测 URL 可访问性 配置同步:利用 Chrome 存储 API 实现多设备配置同步 国际化支持:内置中英文语言支持 2. 主要技术栈 Chrome Extension Manifest V3 Chrome Storage API Chrome Tabs & WebNavigation API JavaScript ...
🏠 HomeLab:中年男人之友
未读封面来源: Unsplash-Kvistholt Photography 数据备份备份是 Homelab 必不可少的一部分,按照不同的系统架构,备份大致有下列几类: 文件级别的备份:直接在应用所属宿主机上运行定时任务,增量或者全量将文件复制到其他远程位置,可以使用 Synologo Drive, Rsync, Rclone, Restic 等这类工具进行备份; 应用级别的备份:通过应用完成备份,例如 Gitlab, Portainer, 1Panle, Home Assistant 等自带的备份功能,可以将用户数据和数据库等数据一起备份到远程位置, 系统级别的备份:例如 macOS 自带的备份(Time Machine),树莓派和 OpenWrt 的全系统备份, OpenWrt, DSM 等自带的系统级备份功能, 或者其他软件实现的全盘备份(比如 rsync + dd 命名)。 虚拟化备份:在有虚拟化的时候,整个操作系统等于多个文件,所以只需要将此文件备份便能实现整个虚拟机的备份,比如 Parallels Desktop 的 *.pvm 虚拟机文件, UTM 的 *.utm 虚拟机文 ...
🏠 HomeLab:中年男人之友
未读封面来源: Unsplash-Tianyi Ma 数据同步我的数据同步需求主要涉及到工作文件, 常用的配置文件以及 docker-compose 容器编排文件, 这些文件需要在多台主机上使用, 所以直接采用 Synology Drive 在支持 Synology Drive Client 的主机上同步文件, 一些无法安装 Synology Drive Client 的开发板, 则直接使用 Syncthing 同步. 相关文章: 先导篇:我的 HomeLab 概要; 硬件篇:介绍我所拥有的硬件设备; 网络篇:包括网络环境、异地组网与网络安全; 服务篇:使用 Docker 搭建的各类服务; 数据篇:包括数据存储方案、备份方案和数据恢复方案; HomeLab数据同步:构建高效的数据同步网络 HomeLab数据备份:打造坚实的数据安全防线 HomeLab 网络续集:升级 10G 网络-再战 10 年 NAT 内网穿透详解:揭秘网络连接背后的奥秘 Synology DriveSynology Drive Server 由 3 个独立的套件组成: Synology Drive 管理控制台: ...
🏠 HomeLab:中年男人之友
未读封面来源: Unsplash-Taylor Vick 相关文章: 先导篇:我的 HomeLab 概要; 硬件篇:介绍我所拥有的硬件设备; 网络篇:包括网络环境、异地组网与网络安全; 服务篇:使用 Docker 搭建的各类服务; 数据篇:包括数据存储方案、备份方案和数据恢复方案; HomeLab数据同步:构建高效的数据同步网络 HomeLab数据备份:打造坚实的数据安全防线 HomeLab 网络续集:升级 10G 网络-再战 10 年 NAT 内网穿透详解:揭秘网络连接背后的奥秘 简介在本篇博客中,我们将深入探讨如何在 HomeLab 中实现高效的数据存储、备份和同步方案。 随着个人数据的不断增长,数据的安全性和可用性变得越来越重要。为此,我们可以采用一种被称为 3-2-1 原则 的备份策略,以确保我们的数据在发生意外时能够得到及时恢复。 3-2-1 备份原则 的核心要点如下: (另外一些细节分析可以看韦易笑在知乎的回答:《如何长时间保存重要数据?》) 3 份备份数据:我们不应依赖单一的数据备份,而应该拥有至少两份数据副本作为额外的安全保障。这样可以大大降低因单一备份故障导致数据丢 ...
🏠 HomeLab:中年男人之友
未读在这个充满无限可能的数字时代, 我们有机会通过自托管的云服务平台来构建一个属于个人的云端世界. 这不是简单地访问远程服务器, 而是亲手打造、定制并管理自己的虚拟实验室, 进行各种新奇有趣的服务部署. 这种“折腾”不仅仅是一种乐趣, 更是一种自我挑战和创造力的释放. 从这篇博客开始, 我会不时地介绍一些我在自托管环境中安装和配置的新奇有趣服务. 这些服务或许并非我当下所需, 但正是这种创造需求的精神驱动着我不断地探索新领域、学习新技术. 在这个过程中, 我也希望能够与大家分享我的经验和见解, 一起探讨如何在个人云端世界中找到乐趣和价值. 在这里, 你将会看到我如何一步步搭建属于自己的实验环境, 从选择合适的硬件到配置各种软件服务. 无论是对技术充满热情的爱好者, 还是希望拓展技能的初学者, 这里都会有一些实用的技巧和建议. 让我们一起踏上这段旅程吧!让我们在自托管的乐趣中不断学习、创造和成长. 敬请关注接下来的博客文章, 期待与你的共同探讨和分享. 相关文章: 先导篇:我的 HomeLab 概要; 硬件篇:介绍我所拥有的硬件设备; 网络篇:包括网络环境、异地组网与网络安全; 服务篇: ...
🏠 HomeLab:中年男人之友
未读前言NAT (网络地址转换, Network Address Translation) 的由来与互联网的发展历史密切相关, 主要是为了解决 IPv4 地址资源紧张问题, 同时增强网络安全性和管理灵活性. 相关文章: 先导篇:我的 HomeLab 概要; 硬件篇:介绍我所拥有的硬件设备; 网络篇:包括网络环境、异地组网与网络安全; 服务篇:使用 Docker 搭建的各类服务; 数据篇:包括数据存储方案、备份方案和数据恢复方案; HomeLab数据同步:构建高效的数据同步网络 HomeLab数据备份:打造坚实的数据安全防线 HomeLab 网络续集:升级 10G 网络-再战 10 年 NAT 内网穿透详解:揭秘网络连接背后的奥秘 背景与由来1. IPv4 地址枯竭问题IPv4 使用 32 位地址空间, 最多可以提供约 43 亿个唯一地址. 随着互联网的普及, 联网设备数量迅速增长, 特别是 1990 年代后期, 地址分配紧张的问题愈发明显. 早期解决方案如子网划分和无类别域间路由 (CIDR) 延缓了地址耗尽, 但并不能彻底解决问题. 2. 私有网络需求 很多组织和企业需要将大量内部 ...
🏠 HomeLab:中年男人之友
未读在构建个人云端实验室 (HomeLab) 的过程中, 硬件是基石, 而网络则是让这些硬件协同工作的血脉和灵魂. 本篇将深入探讨家庭网络的配置, 从基础的架构设计到高级的安全性和异地组网技术, 逐步展示如何搭建一个高效、稳定且安全的自托管网络环境. 我将从以下几个方面进行详细阐述: 网络架构: 介绍如何选择合适的网络设备 (如路由器、交换机等) , 以及如何在不同的房间和位置部署网络覆盖. 安全性: 讨论如何设置网络安全策略, 包括防火墙规则、VPN 配置、加密通信等, 以确保数据的安全性和隐私保护. 异地组网: 展示如何通过远程访问技术, 将家庭实验室扩展到外部网络, 实现异地管理和操作. 实践案例: 分享实际操作步骤和经验, 帮助读者更好地理解和应用这些网络技术和概念. 通过本篇的探讨, 你将能够了解到如何构建一个高效、安全且可扩展的自托管网络环境. 这不仅能够满足日常工作和学习的需求, 还能为你的个人云端实验室提供一个稳固的网络基础. 让我们一起揭开家庭网络配置的神秘面纱, 探索自托管的无限可能吧! 相关文章: 先导篇:我的 HomeLab 概要; 硬件篇:介绍我所拥有的硬 ...
🏠 HomeLab:中年男人之友
未读简介在打造个人云端实验室(HomeLab)的过程中,硬件选择是至关重要的第一步。它们不仅是实验的基础设施,也是整个系统稳定性和性能的保证。本篇将重点探讨如何在预算范围内,选择具有高稳定性、良好性价比、可扩展性以及兼容性的硬件。 以下是我在挑选硬件时需要考虑的关键因素: 稳定性:我将优先考虑那些可靠性高的硬件产品,避免因频繁故障而导致的维护成本和工作中断。 性价比:在确保硬件能满足基本需求的前提下,我会寻找性价比最高的选项。毕竟,资金是有限的资源,需要合理分配。 可扩展性:为了未来的发展和可能的升级,我倾向于选择那些能够轻松扩展的硬件解决方案。 兼容性:为了避免后期使用中的不兼容问题,我将选择那些在市场上得到广泛认可的、具有良好兼容性的组件。 在选择硬件时,我特别看重稳定性。我不想频繁地处理各种硬件故障,这不仅影响工作效率,也可能导致宝贵的数据丢失。因此,我排除了集成所有功能的“全功能一体机”(All In One)方案(这类方案又叫 All In Boom)。这类产品虽然在某些方面可能看起来很有吸引力,但它们往往牺牲了性能和升级的可能性。 相反,我会将服务部署到多个独立的服务器上 ...
🏠 HomeLab:中年男人之友
未读目前公司的数据存储模式比较落后, 主要问题在于数据安全性差;整体数据量大以及原有大量陈旧的数据难以存储;存在多操作系统平台,设备繁杂导致存放的数据难以共享协作和管理,造成效率低下;员工的离职造成资料丢失。我们需要一个满足需求又安全的方案来解决这样的普遍难题。 NAS 存储共享解决方案包含:群晖 NAS 服务器、Backup 插件。 应用场景:企业数据集中存储/共享/备份,企业私有云文件管理器搭建。 方案背景随着企业信息化的发展,企业信息化带来的数据爆炸式增长向企业的数据管理方式提出了挑战,一方面要应对数据容量的不断扩充,另一方面需要确保所有有效数据的高安全性和可管理性。目前来看,企业的数据各自存放、分散管理,关联性不强,无法很好的针对不同的业务数据进行统一、有效的管理。 企业的数据存储模式比较落后,成本较高且效率低下,主要问题在于数据安全性差;整体数据量大以及原有大量陈旧的数据难以存储;存在多操作系统平台,设备繁杂导致存放的数据难以共享协作和管理,造成效率低下;员工的离职造成资料丢失。 从对企业单位数据存储的分析中可以看出,要使整个企业内部的数据得到统一管理和 ...
🎉 高能分享
未读4630436162ade97ba2718b7d0c4b3b63dc7090183d7540ee162ecb0e10eb241487dbd1e89a47424548c5d087c44d4f7f73ebebcdcead717b5a5711e1e770b8ee9a8d3047c858b662035b0ba53cf5c2042083eed31150785e606e583ee9350dbf235ec331bca3dbf818e3851f7e714ba4e735fb6097baddf0d3f27f04804aed9aa66e8d39092940c598c03bf390406b578f21ed6f922855507eef8fb9808a14e2f2478eb1f131ae88db5efa5412c138fd548e1ff488acc4c187733a08e980ff638f9ea567271547bca79269b6be3d9dab 密码是 123456, 解密后需要刷新页面才能显示图片 ...
🏠 HomeLab:中年男人之友
未读增加 KVM 虚拟机磁盘容量在 KVM 中扩展虚拟机磁盘容量分为两步:扩展虚拟磁盘文件 和 扩展虚拟机内的分区和文件系统。 第一步:扩展虚拟磁盘文件1. 确认虚拟磁盘文件路径使用以下命令查找虚拟机磁盘文件的位置: 1virsh domblklist <虚拟机名称> 示例输出: 123Target Source------------------------------------------------vda /var/lib/libvirt/images/vm-disk.qcow2 记下磁盘文件路径(例如 /var/lib/libvirt/images/vm-disk.qcow2)。 2. 扩展磁盘文件假设需要将磁盘扩展为 50 GB,根据磁盘格式选择以下命令: QCOW2 格式磁盘扩展 1qemu-img resize /var/lib/libvirt/images/vm-disk.qcow2 50G RAW 格式磁盘扩展 1qemu-img resize /var/lib/libv ...
🎉 高能分享
未读使用 vuepress 搭建自己的博客 Vuepress 介绍官网: https://vuepress.vuejs.org/ 类似 hexo 一个极简的静态网站生成器, 用来写技术文档不能在爽. 当然搭建成博客也不成问题. Vuepress 特点 响应式, 也可以自定义主题与 hexo 类似 内置 markdown (还增加了一些扩展), 并且可以在其使用 Vue 组件 Google Analytics 集成 PWA 自动生成 Service Worker 快速上手安装初始化项目 12yarn init -y# 或者 npm init -y 安装 vuepress 12yarn add -D vuepress# 或者 npm install -D vuepress 全局安装 vuepress 12yarn global add vuepress# 或者 npm install -g vuepress 新建一个 docs 文件夹 1mkdir docs 设置下 package.json 123456{ "scripts": { ...
























