新时代码农
未读让我们来谈谈代码审查。如果你花几分钟时间搜索有关代码审查的信息,你会看到很多文章讨论为什么代码审查是一件好事. 你还会看到很多关于如何使用代码审查工具的文档,比如 Upsource。但你不太容易找到一份指导你在审查他人代码时应该关注什么的指南。 可能没有明确文章解释应该寻找什么的原因是:有很多不同的事情需要考虑。并且,像任何一组要求(功能性的或非功能性的)一样,不同的组织对于每个方面都会有不同的优先级。 由于这是一个很大的主题,本章的目标只是概述在执行代码审查时,审阅者可能会关注的一些事情。确定每个方面的优先级并保持一致性检查是一个足够复杂的话题,足以成为一个独立的章节。 在审查他人的代码时,你寻找什么?无论你是通过 Upsource 这样的工具还是在与同事一起走查他们的代码,无论情况如何,有些东西比其他东西更容易评论。一些例子: 格式化:空格和换行在哪里?他们使用制表符还是空格?花括号是如何排列的? 风格:变量/参数是否被声明为 final?方法变量是在它们使用的代码附近定义还是在方法的开始处定义? 命名:字段/常量/变量/类名的命名 ...
简介花了点时间装饰了一下 GitHub 主页, 感觉好过得去 🙉. GItHub 个人主页相关的项目非常多, 也没有一个个去尝试, 所以这里先做一个记录, 先做一个资源收集, 等有时间再去折腾. 目前的效果如下: dong4j 的 GitHub 主页 统计类Metrics 获得类似上图的 GitHub 数据统计,需要用到一个在线工具「Metrics」,打开网站之后,在左侧输入你的 GitHub ID,稍等一会,就会返回右侧所有和你相关的数据。 GitHub Stats Card自述文件中获取动态生成的 GitHub 统计信息 –> github-readme-stats Most used languages自述文件中添加使用编程语言对比统计图 –> github-readme-stats Github Profile Trophy添加奖杯信息–> github-profile-trophy GitHub Readme Activity Graph动态生成的活动图,用于显示过去 31 天的 GitHub 活动。 –> github-readme ...
安知鱼主题自带朋友圈功能, 不过需要自行部署后端, 下面说说我的部署过程. 创建朋友圈页面在 Hexo 博客根目录下打开终端,输入 1hexo new page fcircle 打开 source/fcircle/index.md,添加一行 type: 'fcircle': 12345678---title: 朋友圈date: 2022-11-21 17:06:17comments: falseaside: falsetop_img: falsetype: "fcircle"--- 主题配置配置菜单: 123menu: 友链: 朋友圈: /fcircle/ || anzhiyu-icon-artstation 开启朋友圈: 123456# 朋友圈配置friends_vue: enable: true vue_js: xxx apiurl: xxx top_background: xxx 参数 备选值/类型 解释 enable boolean 【必须】是否启用 vue_js url 【必须】朋友圈前端 ...
参考 【Hexo博客】自定义Butterfly主题 Loading 加载动画 和 Hexo的Butterfly下自定义加载动画之小汽车动画的实现 实现了在 anzhiyu 主题下的自定义加载动画。 添加 loading 模版新建目录: themes/anzhiyu/layout/includes/loading/load_style, 添加如下 pug: car.pugdefault.puggear.pugheo.pugimage.pugironheart.pugpace.pugscarecrow.pugtriangles.pugwizard.pug12345678910111213141516171819202122#loading-box .carplayscript. const preloader = { endLoading: () => { document.getElementById('loading-box').classList.add("loaded"); }, ...
自建 Hitokoto 服务Hexo 添加 RSS 订阅功能Hexo 自定义加载动画 简介同样是因为默认的 https://busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js 已无法打开, 所以参考 self-hosted busuanzi 在本地服务器自建一个. 部署根据 官方文档 使用 docker-compose 直接部署: 123456789101112131415161718192021services: busuanzi: image: xcsoft/busuanzi:latest ports: - 8888:8080 volumes: - ./data/config.yaml:/app/config.yaml # 如果不需要修改首页, 可以不需要挂载 - ./data/dist/index.html:/app/dist/index.html environment: WEB_LOG: true WEB_DEBUG: false ...
前言最近使用的 Hexo 主题 hexo-theme-anzhiyu 默认的随机一言接口被限流了, 根据官方文档在家里的服务器上搭建了一个, 目前用于我的博客. 部署根据 官方文档 使用 docker-compose 部署: 123456789101112131415161718services: hitokoto_api: image: hitokoto/api:release container_name: hitokoto_api hostname: hitokoto_api environment: NODE_ENV: production url: https://你的域名 api_name: blog redis.host: 你的 redis ip redis.port: 你的 redis 端口 redis.password: 你的 redis 密码 redis.database: 你的 redis 数据库 ports: - 8888:8000 resta ...
Hexo 博客添加 RSS 订阅功能 插件 GitHub https://github.com/hexojs/hexo-generator-feed 安装 hexo…… 这篇文章介绍了如何在 Hexo 博客中添加 RSS 订阅功能。需要使用时光插件,并提供了 GitHub 地址。在配置 RSS 时,可以选择原子或 RSS2 的类型,设置文件路径,决定展示文章的数量,还可以选择包含文章的全部内容或摘要。同时,也可以自定义订阅图标和订阅内容的顺序。在部署后,直接在根目录中访问配置的文件即可使用 RSS 订阅功能。 插件 GitHub 地址:https://github.com/hexojs/hexo-generator-feed 安装 hexo-generator-feed 插件1npm install hexo-generator-feed --save 修改 _config.yml 配置1234feed: type: atom path: atom.xml limit: false type: RSS 的类型 (atom/rss2)path: 文件路径,默认是 a ...
前言在老东家花了一年的时间,基于当时最新的 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 概要; 硬件篇:介绍我所拥有的硬件设备; 网络篇:包括网络环境、异地组网与网络安全; 服务篇: ...