<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>开发 on hobbyworker취미생활자</title>
    <link>https://hobbyworker.me/zh-hans/dev/</link>
    <description>Recent content in 开发 on hobbyworker취미생활자</description>
    <generator>Hugo</generator>
    <language>zh-hans</language>
    <copyright>2026 hobbyworker</copyright>
    <lastBuildDate>Thu, 21 May 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://hobbyworker.me/zh-hans/dev/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>macOS 应用分发用 DMG 设计 (2): 窗口与图标坐标设计及自动化</title>
      <link>https://hobbyworker.me/zh-hans/dev/2026-05-21-design-macos-dmg-2-layout-coordinates/</link>
      <pubDate>Thu, 21 May 2026 00:00:00 +0000</pubDate>
      <guid>https://hobbyworker.me/zh-hans/dev/2026-05-21-design-macos-dmg-2-layout-coordinates/</guid>
      <description>DMG 窗口的大小和图标的放置位置全部由坐标决定。本文以示例应用 FocusTimer 为基准，逐一讲解 create-dmg 的窗口大小与位置、图标大小、应用图标和 Applications 拖放目标的 X/Y 坐标，介绍如何让背景图片的像素坐标与窗口的点坐标对齐，以及如何自动化整个流程以在每次发布时复用。</description>
    </item>
    <item>
      <title>macOS 应用分发用 DMG 设计 (1): create-dmg 与背景图片准备</title>
      <link>https://hobbyworker.me/zh-hans/dev/2026-05-20-design-macos-dmg-1-create-dmg-and-background/</link>
      <pubDate>Wed, 20 May 2026 00:00:00 +0000</pubDate>
      <guid>https://hobbyworker.me/zh-hans/dev/2026-05-20-design-macos-dmg-1-create-dmg-and-background/</guid>
      <description>直接分发 macOS 应用时，用户最先看到的是双击 .dmg 后打开的 Finder 窗口。本文以示例应用 FocusTimer 为基准，介绍 create-dmg 工具、准备仅含 .app 的暂存文件夹，并讲解如何按 @2x 视网膜屏惯例制作 DMG 背景图片以及如何避免 DPI 陷阱。</description>
    </item>
    <item>
      <title>macOS 应用上架 Mac App Store (3): 上传配置与 App Store Connect 注册</title>
      <link>https://hobbyworker.me/zh-hans/dev/2026-05-19-distribute-macos-app-mas-3-export-and-app-store-connect/</link>
      <pubDate>Tue, 19 May 2026 00:00:00 +0000</pubDate>
      <guid>https://hobbyworker.me/zh-hans/dev/2026-05-19-distribute-macos-app-mas-3-export-and-app-store-connect/</guid>
      <description>完成 MAS 构建目标的配置与代码分支后，接下来需要搭建将该构建上传到 App Store 的路径。本文以示例应用 FocusTimer 为基准，讲解编写用于上传的 ExportOptions-MAS.plist、注册 App Store Connect 应用记录，以及验证构建确保两个渠道不被破坏的方法，从而收尾本系列。</description>
    </item>
    <item>
      <title>macOS 应用上架 Mac App Store (2): 区分两个渠道的配置与代码分支</title>
      <link>https://hobbyworker.me/zh-hans/dev/2026-05-18-distribute-macos-app-mas-2-build-config-and-code/</link>
      <pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate>
      <guid>https://hobbyworker.me/zh-hans/dev/2026-05-18-distribute-macos-app-mas-2-build-config-and-code/</guid>
      <description>创建好 MAS 构建目标后，需要拆分配置文件和代码，使该目标真正符合 App Store 规则。本文以示例应用 FocusTimer 为基准，逐步讲解创建 MAS 专用 entitlements 和 Info.plist、对齐构建设置，以及用 #if canImport(Sparkle) 分支自动更新代码的方法。</description>
    </item>
    <item>
      <title>macOS 应用上架 Mac App Store (1): 创建独立构建目标</title>
      <link>https://hobbyworker.me/zh-hans/dev/2026-05-17-distribute-macos-app-mas-1-target-setup/</link>
      <pubDate>Sun, 17 May 2026 00:00:00 +0000</pubDate>
      <guid>https://hobbyworker.me/zh-hans/dev/2026-05-17-distribute-macos-app-mas-1-target-setup/</guid>
      <description>将 macOS 应用上架 Mac App Store，需要一个独立于直接分发构建的构建目标，因为 App Store 审核禁止 Sparkle 等自带自动更新机制。本文以示例应用 FocusTimer 为基准，逐步讲解注册 MAS 专用 Bundle ID、在 Xcode 中复制构建目标，以及处理复制操作留下的清理负担的方法。</description>
    </item>
    <item>
      <title>macOS 应用自主分发 (3): 托管更新 Feed 与构建配置</title>
      <link>https://hobbyworker.me/zh-hans/dev/2026-05-16-distribute-macos-app-3-update-hosting-and-build/</link>
      <pubDate>Sat, 16 May 2026 00:00:00 +0000</pubDate>
      <guid>https://hobbyworker.me/zh-hans/dev/2026-05-16-distribute-macos-app-3-update-hosting-and-build/</guid>
      <description>直接分发的 macOS 应用的自动更新 Feed 必须托管在无需认证即可访问的公开位置。本文以示例应用 FocusTimer 为基准，讲解如何用 GitHub Pages 托管更新仓库、连接到自己控制的自定义域名，并完成 ExportOptions.plist 及应用侧配置，收尾直接分发的全部一次性准备工作。</description>
    </item>
    <item>
      <title>macOS 应用自主分发 (2): 创建 Sparkle 自动更新签名密钥</title>
      <link>https://hobbyworker.me/zh-hans/dev/2026-05-15-distribute-macos-app-2-sparkle-signing-key/</link>
      <pubDate>Fri, 15 May 2026 00:00:00 +0000</pubDate>
      <guid>https://hobbyworker.me/zh-hans/dev/2026-05-15-distribute-macos-app-2-sparkle-signing-key/</guid>
      <description>对于直接分发的 macOS 应用，使用 Sparkle 框架实现自动更新已是事实上的标准。本文以示例应用 FocusTimer 为基准，逐步讲解如何生成 Sparkle 用于验证更新文件的 EdDSA 签名密钥、将公钥嵌入应用，以及安全备份和恢复私钥的方法。</description>
    </item>
    <item>
      <title>macOS 应用自主分发 (1): Developer ID 证书与公证准备</title>
      <link>https://hobbyworker.me/zh-hans/dev/2026-05-14-distribute-macos-app-1-developer-id-certificate/</link>
      <pubDate>Thu, 14 May 2026 00:00:00 +0000</pubDate>
      <guid>https://hobbyworker.me/zh-hans/dev/2026-05-14-distribute-macos-app-1-developer-id-certificate/</guid>
      <description>若要在不经过 Mac App Store 的情况下直接分发 macOS 应用，首先需要配置 Developer ID 证书和公证 (notarization)。本文以示例应用 FocusTimer 为基准，逐步讲解安装命令行工具、申请 Developer ID Application 证书、以及为公证注册 App 专用密码和 notarytool 配置文件等一次性准备工作。</description>
    </item>
    <item>
      <title>在 macOS 上使用 Automator 将文本转换为文件名</title>
      <link>https://hobbyworker.me/zh-hans/dev/2023-04-06-convert-text-to-filename-using-automator-on-macos/</link>
      <pubDate>Thu, 06 Apr 2023 00:00:00 +0000</pubDate>
      <guid>https://hobbyworker.me/zh-hans/dev/2023-04-06-convert-text-to-filename-using-automator-on-macos/</guid>
      <description>本报告介绍了如何在 macOS 中使用 Automator 创建一个快速操作（Quick Action），将文本转换为适合文件名的格式。这个快速操作会删除特殊字符，将文本转换为小写，并将空格替换为连字符。</description>
    </item>
    <item>
      <title>Pytrends 11: 发现实时热门搜索以获得最新洞察</title>
      <link>https://hobbyworker.me/zh-hans/dev/2023-04-05-pytrends-11-discovering-realtime-trending-searches-for-uptotheminute-insights/</link>
      <pubDate>Wed, 05 Apr 2023 00:00:00 +0000</pubDate>
      <guid>https://hobbyworker.me/zh-hans/dev/2023-04-05-pytrends-11-discovering-realtime-trending-searches-for-uptotheminute-insights/</guid>
      <description>在本文中，我们将探讨如何使用 `pytrends` 库发现Google上的实时热门搜索，让您能够掌握最新的趋势和主题。我们将演示如何使用 `realtime_trending_searches()` 函数收集和分析实时热门搜索数据，这有助于您创建及时、相关且吸引人的内容。</description>
    </item>
    <item>
      <title>Pytrends 10: 通过搜索建议优化趋势搜索</title>
      <link>https://hobbyworker.me/zh-hans/dev/2023-04-04-pytrends-10-refining-trend-searches-with-suggestions/</link>
      <pubDate>Tue, 04 Apr 2023 00:00:00 +0000</pubDate>
      <guid>https://hobbyworker.me/zh-hans/dev/2023-04-04-pytrends-10-refining-trend-searches-with-suggestions/</guid>
      <description>在本文中，我们将探讨如何使用 `pytrends` 库通过获取基于给定查询的搜索建议来优化您的趋势搜索。我们将演示如何使用 `suggestions()` 函数收集和分析搜索建议，这可以帮助您发现与搜索查询相关的新关键词和趋势。</description>
    </item>
    <item>
      <title>Pytrends 9: 掌握热门排行榜分析以获得数据驱动的洞察</title>
      <link>https://hobbyworker.me/zh-hans/dev/2023-04-03-pytrends-9-mastering-top-charts-analysis-for-datadriven-insights/</link>
      <pubDate>Mon, 03 Apr 2023 00:00:00 +0000</pubDate>
      <guid>https://hobbyworker.me/zh-hans/dev/2023-04-03-pytrends-9-mastering-top-charts-analysis-for-datadriven-insights/</guid>
      <description>在本文中，我们将探讨如何使用 `pytrends` 库分析Google的热门排行榜，让您获得各种类别中最热门搜索查询的数据驱动洞察。我们将演示如何使用 `top_charts()` 函数收集和分析热门排行榜数据，这有助于为您的内容策略提供参考并优化您的在线影响力。</description>
    </item>
    <item>
      <title>Pytrends 8: 跟踪热门搜索以保持领先</title>
      <link>https://hobbyworker.me/zh-hans/dev/2023-04-02-pytrends-8-tracking-trending-searches-to-stay-ahead/</link>
      <pubDate>Sun, 02 Apr 2023 00:00:00 +0000</pubDate>
      <guid>https://hobbyworker.me/zh-hans/dev/2023-04-02-pytrends-8-tracking-trending-searches-to-stay-ahead/</guid>
      <description>在本文中，我们将探讨如何使用 `pytrends` 库跟踪Google上的热门搜索，让您保持领先并发现内容创作和优化的新机会。我们将演示如何使用 `trending_searches()` 函数收集和分析热门搜索数据。</description>
    </item>
    <item>
      <title>Pytrends 7: 发现相关查询以进行深入分析</title>
      <link>https://hobbyworker.me/zh-hans/dev/2023-04-01-pytrends-7-uncovering-related-queries-for-indepth-analysis/</link>
      <pubDate>Sat, 01 Apr 2023 00:00:00 +0000</pubDate>
      <guid>https://hobbyworker.me/zh-hans/dev/2023-04-01-pytrends-7-uncovering-related-queries-for-indepth-analysis/</guid>
      <description>在本文中，我们将探讨如何使用 `pytrends` 库发现给定搜索词的相关查询。这一强大的功能使您能够对目标关键词进行深入分析，并发现内容创作和优化的新机会。我们将演示如何使用 `related_queries()` 函数收集和分析相关查询数据。</description>
    </item>
    <item>
      <title>Pytrends 6: 调查相关主题以扩展关键词研究</title>
      <link>https://hobbyworker.me/zh-hans/dev/2023-03-31-pytrends-6-investigating-related-topics-to-expand-keyword-research/</link>
      <pubDate>Fri, 31 Mar 2023 00:00:00 +0000</pubDate>
      <guid>https://hobbyworker.me/zh-hans/dev/2023-03-31-pytrends-6-investigating-related-topics-to-expand-keyword-research/</guid>
      <description>在本文中，我们将探讨如何使用 `pytrends` 库调查给定搜索词的相关主题，从而扩展您的关键词研究并发现新机会。我们将演示如何使用 `related_topics()` 函数收集和分析相关主题数据，这有助于为您的内容策略提供参考并提升您的在线影响力。</description>
    </item>
    <item>
      <title>Pytrends 5: 探索按地区划分的兴趣以获得有针对性的洞察</title>
      <link>https://hobbyworker.me/zh-hans/dev/2023-03-30-pytrends-5-exploring-interest-by-region-for-targeted-insights/</link>
      <pubDate>Thu, 30 Mar 2023 00:00:00 +0000</pubDate>
      <guid>https://hobbyworker.me/zh-hans/dev/2023-03-30-pytrends-5-exploring-interest-by-region-for-targeted-insights/</guid>
      <description>在本文中，我们将探讨如何使用 `pytrends` 库分析特定搜索词按地区划分的兴趣。这一强大的功能使您能够获得不同地理位置搜索词受欢迎程度的有针对性洞察，帮助您更好地理解受众并优化营销策略。我们将介绍如何使用 `interest_by_region()` 函数收集和分析按地区划分的兴趣数据。</description>
    </item>
    <item>
      <title>Pytrends 4: 深入研究历史小时兴趣数据</title>
      <link>https://hobbyworker.me/zh-hans/dev/2023-03-29-pytrends-4-diving-into-historical-hourly-interest-data/</link>
      <pubDate>Wed, 29 Mar 2023 00:00:00 +0000</pubDate>
      <guid>https://hobbyworker.me/zh-hans/dev/2023-03-29-pytrends-4-diving-into-historical-hourly-interest-data/</guid>
      <description>在本文中，我们将探讨如何使用 `pytrends` 库从Google Trends检索历史小时兴趣数据。通过深入研究这些数据，我们可以获得有关搜索词受欢迎程度的宝贵洞察，并更好地理解消费者行为。本教程将引导您完成使用 `get_historical_interest()` 函数收集和分析小时兴趣数据的过程。</description>
    </item>
    <item>
      <title>Pytrends 3: 利用多时间范围的随时间变化兴趣分析</title>
      <link>https://hobbyworker.me/zh-hans/dev/2023-03-28-pytrends-3-harnessing-multirange-interest-over-time-analysis/</link>
      <pubDate>Tue, 28 Mar 2023 00:00:00 +0000</pubDate>
      <guid>https://hobbyworker.me/zh-hans/dev/2023-03-28-pytrends-3-harnessing-multirange-interest-over-time-analysis/</guid>
      <description>在本文中，我们将探讨如何使用 `pytrends` 库分析特定关键词在多个时间范围内的兴趣，提供更全面的趋势视角。我们将演示如何使用 `multirange_interest_over_time()` 函数收集和分析多时间范围的兴趣数据，这有助于您了解关键词在不同时期的表现和受欢迎程度。</description>
    </item>
    <item>
      <title>Pytrends 2: 分析随时间变化的兴趣</title>
      <link>https://hobbyworker.me/zh-hans/dev/2023-03-27-pytrends-2-analyzing-interest-over-time/</link>
      <pubDate>Mon, 27 Mar 2023 00:00:00 +0000</pubDate>
      <guid>https://hobbyworker.me/zh-hans/dev/2023-03-27-pytrends-2-analyzing-interest-over-time/</guid>
      <description>在本文中，我们将探讨如何使用 `pytrends` 库通过 `interest_over_time()` 函数分析特定关键词随时间变化的兴趣。通过分析这些数据，您可以洞察关键词兴趣的演变情况，从而为内容策略和营销工作做出明智的决策。</description>
    </item>
    <item>
      <title>Pytrends 1: 如何使用Python非官方地使用Google趋势</title>
      <link>https://hobbyworker.me/zh-hans/dev/2023-03-26-pytrends-1-how-to-use-google-trend-unofficially-with-python/</link>
      <pubDate>Sun, 26 Mar 2023 00:00:00 +0000</pubDate>
      <guid>https://hobbyworker.me/zh-hans/dev/2023-03-26-pytrends-1-how-to-use-google-trend-unofficially-with-python/</guid>
      <description>在本文中，我们将探讨如何使用Pytrends（一个非官方的Python版Google Trends API）来访问和分析Google趋势数据。我们将介绍如何安装和设置Pytrends，执行基本搜索，并理解结果。</description>
    </item>
    <item>
      <title>使用 rustup 管理多个 Rust 环境</title>
      <link>https://hobbyworker.me/zh-hans/dev/2023-03-26-managing-multiple-rust-environments-with-rustup/</link>
      <pubDate>Sun, 26 Mar 2023 00:00:00 +0000</pubDate>
      <guid>https://hobbyworker.me/zh-hans/dev/2023-03-26-managing-multiple-rust-environments-with-rustup/</guid>
      <description>总的来说，rustup 是官方的 Rust 工具链管理器，可以让开发者轻松地在其系统上安装、更新和管理多个 Rust 环境。本报告详细介绍了在 macOS、Linux 和 Windows 上安装过程，以及使用 rustup 命令进行 Rust 版本切换、设置项目特定的覆盖和更新已安装的工具链的基本用法。通过利用 rustup，开发者可以高效地处理具有不同 Rust 版本要求的多个项目，提高生产力并减少版本相关的冲突。</description>
    </item>
    <item>
      <title>将 Hugo 静态网站使用 GitHub Actions 部署到 GitHub Pages</title>
      <link>https://hobbyworker.me/zh-hans/dev/2023-03-25-deploying-a-hugo-static-site-to-github-pages-with-github-actions/</link>
      <pubDate>Sat, 25 Mar 2023 00:00:00 +0000</pubDate>
      <guid>https://hobbyworker.me/zh-hans/dev/2023-03-25-deploying-a-hugo-static-site-to-github-pages-with-github-actions/</guid>
      <description>使用 hugo.yaml 工作流配置，可以通过 GitHub Actions 自动部署 Hugo 静态网站到 GitHub Pages。要设置工作流，请在 .github/workflows/ 目录中创建 hugo.yaml 文件并复制提供的 YAML 配置。此外，请在项目中配置 GitHub Pages 设置，选择 &amp;#39;GitHub Actions&amp;#39; 作为构建和部署的来源。这种设置可以在将代码推送到主分支或从 Actions 选项卡手动触发时，实现无缝部署您的网站。通过自动化构建和部署过程，您可以专注于内容创建和更新，同时利用 GitHub Actions 内置的 CI/CD 能力来增强开发工作流程。</description>
    </item>
    <item>
      <title>为您的 Hugo 博客使用 PaperMod 主题添加广告拦截检测</title>
      <link>https://hobbyworker.me/zh-hans/dev/2023-03-24-adding-adblocker-detection-to-your-hugo-blog-with-papermod-theme/</link>
      <pubDate>Fri, 24 Mar 2023 00:00:00 +0000</pubDate>
      <guid>https://hobbyworker.me/zh-hans/dev/2023-03-24-adding-adblocker-detection-to-your-hugo-blog-with-papermod-theme/</guid>
      <description>在本博客文章中，我们演示了如何使用 PaperMod 主题为 Hugo 博客添加广告拦截检测。我们提供了一个逐步指南，包括创建自定义 CSS 和 JavaScript 文件，添加部分 HTML 文件以显示警告消息，并扩展 head 和 footer 部分以包含新文件。结果，启用广告拦截器的用户将看到一个礼貌的警告消息，鼓励他们通过禁用广告拦截器或将网站添加到白名单来支持网站的内容。</description>
    </item>
    <item>
      <title>结合使用NVM和Autoenv</title>
      <link>https://hobbyworker.me/zh-hans/dev/2023-03-23-using-nvm-and-autoenv-in-combination/</link>
      <pubDate>Thu, 23 Mar 2023 00:00:00 +0000</pubDate>
      <guid>https://hobbyworker.me/zh-hans/dev/2023-03-23-using-nvm-and-autoenv-in-combination/</guid>
      <description>我们讨论了如何结合使用nvm（Node版本管理器）和autoenv来无缝地管理Node.js版本和环境变量，以便更好地进行开发工作流程。通过创建一个包含所需Node.js版本和环境变量的.env文件，并配置autoenv与nvm配合工作，您可以在项目之间自动切换Node.js版本并加载适当的变量。这种简化的方法可以显着增强您的开发过程，确保您始终使用每个项目的正确设置。</description>
    </item>
    <item>
      <title>如何结合使用jEnv和autoenv</title>
      <link>https://hobbyworker.me/zh-hans/dev/2023-03-22-how-to-use-jenv-and-autoenv-in-combination/</link>
      <pubDate>Wed, 22 Mar 2023 00:00:00 +0000</pubDate>
      <guid>https://hobbyworker.me/zh-hans/dev/2023-03-22-how-to-use-jenv-and-autoenv-in-combination/</guid>
      <description>jEnv和autoenv的结合提供了一个强大而灵活的解决方案，用于跨多个项目管理Java版本和环境变量。通过采用这些工具，开发人员可以专注于编写高质量的代码和交付有价值的功能，而不是被管理不同Java环境的复杂性所拖累。</description>
    </item>
    <item>
      <title>如何结合使用rbenv和autoenv</title>
      <link>https://hobbyworker.me/zh-hans/dev/2023-03-21-how-to-use-rbenv-and-autoenv-in-combination/</link>
      <pubDate>Tue, 21 Mar 2023 00:00:00 +0000</pubDate>
      <guid>https://hobbyworker.me/zh-hans/dev/2023-03-21-how-to-use-rbenv-and-autoenv-in-combination/</guid>
      <description>结合rbenv和autoenv可以让你无缝管理多个Ruby版本和项目特定的环境变量。通过在你的项目目录中创建.ruby-version和.env文件，你可以在Ruby版本之间自动切换，并在项目间导航时加载相应的环境变量。这种强大的组合简化了你的Ruby开发经验，使其更有效率，更少出错。</description>
    </item>
    <item>
      <title>将Pyenv-virtualenv和Autoenv结合起来用于Python开发</title>
      <link>https://hobbyworker.me/zh-hans/dev/2023-03-20-using-pyenv-virtualenv-and-autoenv-in-combination-for-python-development/</link>
      <pubDate>Mon, 20 Mar 2023 00:00:00 +0000</pubDate>
      <guid>https://hobbyworker.me/zh-hans/dev/2023-03-20-using-pyenv-virtualenv-and-autoenv-in-combination-for-python-development/</guid>
      <description>综上所述，pyenv-virtualenv和autoenv可以结合起来，创造一个无缝的Python开发工作流程，让你毫不费力地管理多个Python环境和虚拟环境。Pyenv-virtualenv 是 pyenv 的一个插件，帮助管理虚拟环境，而 autoenv 在进入一个带有 .env 文件的项目目录时自动激活相应的虚拟环境。通过一起使用这些工具，你可以改善你的开发工作流程，保持依赖关系的分离和组织，并始终为每个项目使用正确的虚拟环境。</description>
    </item>
    <item>
      <title>使用Autoenv：环境管理的终极捷径</title>
      <link>https://hobbyworker.me/zh-hans/dev/2023-03-19-using-autoenv-the-ultimate-shortcut-to-environment-management/</link>
      <pubDate>Sun, 19 Mar 2023 00:00:00 +0000</pubDate>
      <guid>https://hobbyworker.me/zh-hans/dev/2023-03-19-using-autoenv-the-ultimate-shortcut-to-environment-management/</guid>
      <description>Autoenv是一个帮助管理环境变量的工具，它可以在进入一个目录时自动设置环境变量，在离开时取消设置。它可以安装在Mac、Linux和Windows等不同平台上。这个工具可以用于不同的目的，如设置环境变量，在进入目录时运行命令，以及取消设置环境变量。通过使用Autoenv，用户可以轻松地管理环境变量，并将重复性任务自动化，从而提高工作流程的效率。</description>
    </item>
    <item>
      <title>用NVM管理多个Node.js环境</title>
      <link>https://hobbyworker.me/zh-hans/dev/2023-03-18-managing-multiple-nodejs-environments-with-nvm/</link>
      <pubDate>Sat, 18 Mar 2023 00:00:00 +0000</pubDate>
      <guid>https://hobbyworker.me/zh-hans/dev/2023-03-18-managing-multiple-nodejs-environments-with-nvm/</guid>
      <description>综上所述，这篇博文讨论了Node Version Manager（NVM），它是开发人员管理和切换多个Node.js版本的重要工具。这篇博文为macOS、Linux和其他基于Unix的系统提供了安装说明，并涵盖了NVM最常用的十大功能，如列出可用的Node.js版本、安装、切换、设置默认版本、卸载，以及用特定版本运行脚本和命令。NVM使开发人员能够高效地使用不同的Node.js版本，确保在不同的项目和环境中进行无缝测试和兼容。</description>
    </item>
    <item>
      <title>使用jEnv进行Java版本管理的实用指南</title>
      <link>https://hobbyworker.me/zh-hans/dev/2023-03-17-a-practical-guide-to-using-jenv-for-java-version-management/</link>
      <pubDate>Fri, 17 Mar 2023 00:00:00 +0000</pubDate>
      <guid>https://hobbyworker.me/zh-hans/dev/2023-03-17-a-practical-guide-to-using-jenv-for-java-version-management/</guid>
      <description>在这篇博文中，我们介绍了jEnv，一个简化Java版本管理的命令行工具。我们讨论了Mac和Linux的安装说明，并探讨了最常用的功能，如本地、全局、shell、rehash、版本、版本、which、whence和add。jEnv允许开发人员在每个项目或每个会话的基础上轻松切换Java版本，简化他们的开发工作流程并防止版本冲突。对于任何处理多个Java项目或需要对其Java环境进行更多控制的Java开发人员来说，这是一个必备的工具。</description>
    </item>
    <item>
      <title>如何使用Pyenv和Pyenv-Virtualenv</title>
      <link>https://hobbyworker.me/zh-hans/dev/2023-03-16-how-to-use-pyenv-and-pyenv-virtualenv/</link>
      <pubDate>Thu, 16 Mar 2023 00:00:00 +0000</pubDate>
      <guid>https://hobbyworker.me/zh-hans/dev/2023-03-16-how-to-use-pyenv-and-pyenv-virtualenv/</guid>
      <description>在这篇博文中，我们探讨了pyenv和pyenv-virtualenv，这是管理多个Python版本和虚拟环境的强大工具。我们介绍了Mac和Linux平台的安装说明，并讨论了最常用的功能，如安装Python版本、设置全局和本地Python版本、创建和管理虚拟环境，以及重新洗牌以更新垫片。通过利用这些工具，你可以保持一个干净高效的开发工作流程，尽量减少依赖性冲突，并在具有不同依赖性和Python版本的项目之间轻松切换。</description>
    </item>
    <item>
      <title>用 rbenv 管理多个 Ruby 环境</title>
      <link>https://hobbyworker.me/zh-hans/dev/2023-03-15-managing-multiple-ruby-environments-with-rbenv/</link>
      <pubDate>Wed, 15 Mar 2023 00:00:00 +0000</pubDate>
      <guid>https://hobbyworker.me/zh-hans/dev/2023-03-15-managing-multiple-ruby-environments-with-rbenv/</guid>
      <description>总之，rbenv是一个管理多个Ruby环境的强大而通用的工具。它简化了Ruby版本之间的切换，管理宝石集，以及维护项目特定的依赖关系。rbenv安装简单，跨平台兼容，对于旨在简化工作流程、保持项目井然有序的Ruby开发者来说，它是必不可少的。</description>
    </item>
    <item>
      <title>用Notion API实现锻炼计划的自动化</title>
      <link>https://hobbyworker.me/zh-hans/dev/2023-03-14-automating-workout-scheduling-with-notion-api/</link>
      <pubDate>Tue, 14 Mar 2023 00:00:00 +0000</pubDate>
      <guid>https://hobbyworker.me/zh-hans/dev/2023-03-14-automating-workout-scheduling-with-notion-api/</guid>
      <description>本文演示了如何使用Notion API在Notion数据库中自动创建一个锻炼计划的过程。文章提供了一个代码片段，可用于创建特定日期范围的锻炼计划，并根据定义的锻炼计划自动向数据库添加新事件。文章还解释了如何验证Notion API并查询现有事件以避免重复。文章最后讨论了Notion API自动执行各种任务的潜力，以及它在其他工作流程中的使用潜力。</description>
    </item>
    <item>
      <title>Homebrew初学者指南：macOS的软件包管理器</title>
      <link>https://hobbyworker.me/zh-hans/dev/2023-03-13-a-beginners-guide-to-homebrew-the-missing-package-manager-for-macos/</link>
      <pubDate>Mon, 13 Mar 2023 00:00:00 +0000</pubDate>
      <guid>https://hobbyworker.me/zh-hans/dev/2023-03-13-a-beginners-guide-to-homebrew-the-missing-package-manager-for-macos/</guid>
      <description>在这篇博客文章中，我们将探索Homebrew，一个专为macOS用户设计的强大而多功能的软件包管理器。Homebrew填补了macOS中的空白，提供了一种简单的方法来安装和管理在App Store中不可用的开源软件、工具和库。在本文结束时，您将对如何安装和使用Homebrew有一个扎实的了解，我们甚至会通过一个实际的例子来为您演示。</description>
    </item>
  </channel>
</rss>
