<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Dawn`s Blog</title><link>https://www.acdiost.com/</link><description>Recent content on Dawn`s Blog</description><generator>Hugo</generator><language>zh-Hans</language><lastBuildDate>Sat, 18 Apr 2026 21:04:35 +0800</lastBuildDate><atom:link href="https://www.acdiost.com/index.xml" rel="self" type="application/rss+xml"/><item><title>FreeIPA 完整部署指南：从零到一的集中认证方案</title><link>https://www.acdiost.com/posts/freeipa/</link><pubDate>Sat, 18 Apr 2026 21:04:35 +0800</pubDate><guid>https://www.acdiost.com/posts/freeipa/</guid><description>&lt;h2 id="前言"&gt;前言&lt;/h2&gt;&#10;&lt;p&gt;在构建 HPC 集群、Slurm 调度系统或内部技术平台时，&lt;strong&gt;统一身份认证&lt;/strong&gt; 是绕不过的第一道坎。&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;不想自己拼 LDAP + Kerberos + DNS + CA？&lt;/li&gt;&#10;&lt;li&gt;希望一个工具解决账号管理、密钥分发、证书颁发？&lt;/li&gt;&#10;&lt;li&gt;需要开箱即用、生产就绪的方案？&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;那么 &lt;strong&gt;FreeIPA&lt;/strong&gt; 就是你的答案。&lt;/p&gt;&#10;&lt;p&gt;本文基于真实部署经验，包含完整的命令流程、每一步的&amp;quot;为什么&amp;quot;、常见坑点和排查方法。读完这篇，你能独立部署一套可用的企业级身份认证系统。&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="一为什么选择-freeipa"&gt;一、为什么选择 FreeIPA？&lt;/h2&gt;&#10;&lt;h3 id="freeipa-的核心价值"&gt;FreeIPA 的核心价值&lt;/h3&gt;&#10;&lt;p&gt;FreeIPA 不是单一工具，而是一个&amp;quot;一体化身份管理平台&amp;quot;，它整合了以下组件：&lt;/p&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;组件&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;作用&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;为什么需要&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;389-DS&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;LDAP 目录服务&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;集中存储用户、组、主机等目录信息，支持复杂查询和权限控制&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;MIT Kerberos&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;网络身份认证&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;提供无密码认证（票据制），比密码更安全，支持 SSO&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;BIND&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;DNS 服务&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;FreeIPA 依赖 DNS 进行主机发现、服务定位（SRV 记录）和身份验证&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Dogtag&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;证书颁发机构（CA）&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;签发 HTTPS、客户端证书，支持 SSH 证书认证&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;SSSD&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;客户端认证守护进程&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;缓存认证信息，支持离线登录，减轻服务器压力&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h3 id="对比其他方案"&gt;对比其他方案&lt;/h3&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;方案&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;学习成本&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;维护难度&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;功能完整度&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;自建 LDAP&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;★★★★☆&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;★★★★★&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;★★★☆☆&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;自建 LDAP + K5&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;★★★★★&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;★★★★★&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;★★★★☆&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;FreeIPA&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;★★☆☆☆&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;★★☆☆☆&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;★★★★★&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Active Directory&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;★☆☆☆☆&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;★★☆☆☆&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;★★★★★&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;p&gt;&lt;strong&gt;FreeIPA 的优势：&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>一场迟到两年的打款</title><link>https://www.acdiost.com/posts/%E4%B8%80%E5%9C%BA%E8%BF%9F%E5%88%B0%E4%B8%A4%E5%B9%B4%E7%9A%84%E6%89%93%E6%AC%BE/</link><pubDate>Mon, 23 Mar 2026 23:07:07 +0800</pubDate><guid>https://www.acdiost.com/posts/%E4%B8%80%E5%9C%BA%E8%BF%9F%E5%88%B0%E4%B8%A4%E5%B9%B4%E7%9A%84%E6%89%93%E6%AC%BE/</guid><description>&lt;p&gt;前公司拖欠的工资，终于开始打款了。&lt;/p&gt;&#10;&lt;p&gt;从最初走上劳动仲裁，到真正看到钱到账，前后将近两年时间。&lt;/p&gt;&#10;&lt;p&gt;2024 年 3 月，我申请了劳动仲裁；7 月开庭。当时选择了调解，本以为事情会就此收尾。约定从 8 月开始分期付款，但承诺并没有兑现。&lt;/p&gt;&#10;&lt;p&gt;之后进入强制执行阶段，却迟迟没有进展——公司账上没有可执行财产。&lt;/p&gt;&#10;&lt;p&gt;那时候我第一次意识到一件事：制度是存在的，但它并不保证结果。&lt;/p&gt;&#10;&lt;p&gt;它能给你路径，却不能替你走完；能给你判决，却不保证对方履行。&lt;br&gt;&#10;当执行落空时，一切又会回到最原始的问题——对方有没有钱，以及你还愿不愿意继续耗下去。&lt;/p&gt;&#10;&lt;p&gt;2025 年初，我决定请律师介入，开始付费推进案件。&lt;/p&gt;&#10;&lt;p&gt;5 月，案件被裁定“终本”。律师随即帮我提起执行异议，又等待了三个月的受理周期。&lt;/p&gt;&#10;&lt;p&gt;流程在继续，但节奏极慢。每一步都合理、合规，也都有期限，只是这些期限叠加在一起，变成了一种漫长的消耗。&lt;/p&gt;&#10;&lt;p&gt;直到 2025 年 10 月底，案件才终于被法院受理，并追加了前上级股东单位——这家公司在新规实施前更换过法人，需实缴。&lt;/p&gt;&#10;&lt;p&gt;我后来才慢慢明白，规则本身也有时间差。&lt;br&gt;&#10;有些人利用规则，有些人被规则拖住，而更多时候，你只能在规则允许的范围内，一点一点往前挪。&lt;/p&gt;&#10;&lt;p&gt;11 月中旬，缴纳诉讼费，一切重新进入流程。&lt;/p&gt;&#10;&lt;p&gt;接下来，是等待 2026 年 3 月的开庭。&lt;/p&gt;&#10;&lt;p&gt;这两年里，时间被不断拉长：调解、失约、执行、终本、异议、再立案……流程一环扣一环，人却只能被动等待。&lt;/p&gt;&#10;&lt;p&gt;直到最近，钱终于开始陆续打进来。&lt;/p&gt;&#10;&lt;p&gt;它不是一次性解决的，更像是被一点点“挤”出来的结果。&lt;/p&gt;&#10;&lt;p&gt;如果说这段经历留下了什么，大概不是胜诉的结果，而是一种更现实的理解——&lt;/p&gt;&#10;&lt;p&gt;规则不是为你兜底的，它只是给你一个可以反复尝试的机会。&lt;/p&gt;&#10;&lt;p&gt;至于能不能拿回属于你的东西，很多时候，取决于你能承受多久。&lt;/p&gt;</description></item><item><title>我的「七遍学习法」：从接触到真正掌握一个新领域</title><link>https://www.acdiost.com/posts/%E6%96%B0%E9%A2%86%E5%9F%9F%E7%9A%84%E6%9C%89%E6%95%88%E5%AD%A6%E4%B9%A0%E6%96%B9%E6%B3%95/</link><pubDate>Tue, 13 Jan 2026 22:56:35 +0800</pubDate><guid>https://www.acdiost.com/posts/%E6%96%B0%E9%A2%86%E5%9F%9F%E7%9A%84%E6%9C%89%E6%95%88%E5%AD%A6%E4%B9%A0%E6%96%B9%E6%B3%95/</guid><description>&lt;p&gt;在学习一个全新领域时，我慢慢发现一个事实：&lt;/p&gt;&#10;&lt;p&gt;真正的难点，往往不是信息不够多，&lt;br&gt;&#10;而是&lt;strong&gt;如何把零散的信息，变成自己真正能用的能力&lt;/strong&gt;。&lt;/p&gt;&#10;&lt;p&gt;在不断学习、实操和教学的过程中，我逐渐形成了一套相对稳定的方法。&#10;它不追求“学得快”，而是关注&lt;strong&gt;是否真的掌握&lt;/strong&gt;。&lt;br&gt;&#10;我把它称为 —— &lt;strong&gt;「七遍学习法」&lt;/strong&gt;。&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h3 id="第一遍拉通整体流程先看清全局"&gt;第一遍：拉通整体流程，先看清全局&lt;/h3&gt;&#10;&lt;p&gt;第一遍，我只做一件事：&lt;strong&gt;看全局&lt;/strong&gt;。&lt;/p&gt;&#10;&lt;p&gt;这一遍不纠结细节是否完全理解，而是快速弄清楚：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;这个领域主要解决什么问题？&lt;/li&gt;&#10;&lt;li&gt;整体流程大概是怎样的？&lt;/li&gt;&#10;&lt;li&gt;安装、部署、运行分别处在哪个阶段？&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;就像先看地图，而不是一上来就研究每一条小路。&lt;br&gt;&#10;目标只有一个：&lt;strong&gt;知道自己身处哪里，要往哪里走。&lt;/strong&gt;&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h3 id="第二遍修正文稿把关键细节补齐"&gt;第二遍：修正文稿，把关键细节补齐&lt;/h3&gt;&#10;&lt;p&gt;有了整体轮廓之后，开始第二遍：&lt;strong&gt;填充细节&lt;/strong&gt;。&lt;/p&gt;&#10;&lt;p&gt;我会一边查资料，一边整理和修改文档，重点关注：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;每一步为什么要这样做&lt;/li&gt;&#10;&lt;li&gt;参数、配置和概念之间的关系&lt;/li&gt;&#10;&lt;li&gt;常见问题和容易踩的坑&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;这一遍，知识会从「看过」慢慢变成「理解过」。&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h3 id="第三遍严格按文档从零完整实操一遍"&gt;第三遍：严格按文档，从零完整实操一遍&lt;/h3&gt;&#10;&lt;p&gt;第三遍，是对文档的一次&lt;strong&gt;真实检验&lt;/strong&gt;。&lt;/p&gt;&#10;&lt;p&gt;我会假设自己什么都不记得，只按照文档，从零开始完整跑一遍流程。&lt;/p&gt;&#10;&lt;p&gt;任何需要“想当然”的地方，&lt;br&gt;&#10;任何犹豫、出错或不顺畅的步骤，都会被记录下来并修正。&lt;/p&gt;&#10;&lt;p&gt;这一遍通常问题最多，但也是文档提升最快的一遍。&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h3 id="第四遍录制教学视频倒逼结构化理解"&gt;第四遍：录制教学视频，倒逼结构化理解&lt;/h3&gt;&#10;&lt;p&gt;当流程已经比较顺畅后，我会尝试&lt;strong&gt;录制一遍教学视频&lt;/strong&gt;。&lt;/p&gt;&#10;&lt;p&gt;讲给别人听，会自然暴露很多问题，比如：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;哪些地方其实自己并没想清楚&lt;/li&gt;&#10;&lt;li&gt;哪些步骤逻辑是跳的&lt;/li&gt;&#10;&lt;li&gt;哪些概念一说出口就卡壳&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;很多时候，&lt;strong&gt;能讲清楚，比能做出来更难&lt;/strong&gt;。&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h3 id="第五遍剪辑视频再次审视细节"&gt;第五遍：剪辑视频，再次审视细节&lt;/h3&gt;&#10;&lt;p&gt;剪辑视频，本身就是一次高密度复盘。&lt;/p&gt;&#10;&lt;p&gt;在反复回放中，我经常会发现：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;表达不够严谨、容易误解的地方&lt;/li&gt;&#10;&lt;li&gt;节奏过快、信息密度过高的片段&lt;/li&gt;&#10;&lt;li&gt;本可以更简单的流程&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;这一遍，让内容更精炼，也让理解更深入。&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h3 id="第六遍回看成品站在学习者视角检查"&gt;第六遍：回看成品，站在学习者视角检查&lt;/h3&gt;&#10;&lt;p&gt;视频完成后，我会完整回看一遍，并刻意切换到&lt;strong&gt;学习者视角&lt;/strong&gt;：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;是否缺少必要的前置说明？&lt;/li&gt;&#10;&lt;li&gt;是否存在逻辑跳跃？&lt;/li&gt;&#10;&lt;li&gt;是否需要补充背景或对比解释？&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;这一遍，是对“教学效果”的最终检查。&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h3 id="第七遍脱稿应用与场景迁移让知识真正变成能力"&gt;第七遍：脱稿应用与场景迁移，让知识真正变成能力&lt;/h3&gt;&#10;&lt;p&gt;前六遍，更多是在解决「会不会」；&lt;br&gt;&#10;第七遍，验证的是「能不能用」。&lt;/p&gt;&#10;&lt;p&gt;我会刻意脱离原有文档和视频，把知识用到新的场景中，例如：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;不看笔记，在另一套环境中重新搭建&lt;/li&gt;&#10;&lt;li&gt;修改示例，解决一个真实需求&lt;/li&gt;&#10;&lt;li&gt;即兴回答他人的问题，或当场讲解&lt;/li&gt;&#10;&lt;li&gt;写一篇不依赖原文档的总结或踩坑记录&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;只要在&lt;strong&gt;陌生环境和新问题&lt;/strong&gt;下，仍然能顺利完成任务，&lt;br&gt;&#10;基本可以确定：这项知识已经真正内化了。&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h3 id="写在最后"&gt;写在最后&lt;/h3&gt;&#10;&lt;p&gt;「七遍学习法」的核心，并不是简单地“多学几遍”，&lt;br&gt;&#10;而是通过 &lt;strong&gt;输入 → 实操 → 输出 → 迁移&lt;/strong&gt;，一步步逼近“掌握”这件事。&lt;/p&gt;&#10;&lt;p&gt;如果你也经常学习新技术、新工具或新领域的内容，&#10;不妨把「学会」当作中途站，把「能自由使用」作为终点。&lt;/p&gt;</description></item><item><title>工作分水岭</title><link>https://www.acdiost.com/posts/%E5%B7%A5%E4%BD%9C%E5%88%86%E6%B0%B4%E5%B2%AD/</link><pubDate>Fri, 31 Oct 2025 22:46:32 +0800</pubDate><guid>https://www.acdiost.com/posts/%E5%B7%A5%E4%BD%9C%E5%88%86%E6%B0%B4%E5%B2%AD/</guid><description>&lt;p&gt;做了管理者，发现做的好与做的不好的同事的两类特点&lt;/p&gt;&#10;&lt;p&gt;做的好的同事，当遇到工作问题时，他们会想解决办法，会向我申请资源和决策支持&lt;/p&gt;&#10;&lt;p&gt;做的不好的同事，当遇到工作问题时，他们会直接将问题抛给我来处理，稍微好一点的会问我怎么做，但并没有深度的思考探索&lt;/p&gt;&#10;&lt;p&gt;我之前是直接帮他们处理并解决，我渐渐意识到每次帮他们处理后，我做了救火队员，他们会没有进步，团队的创造力随着时间推移渐渐萎靡&lt;/p&gt;&#10;&lt;p&gt;这也间接的反映了两类管理者，一类是之前的我，直接帮同事处理问题，另一类是将来的我，引导同事找方向，给到工作方法。&lt;/p&gt;&#10;&lt;p&gt;这两类倾向，常常和经验、薪资层级有关；但关键不在背景，而是思维习惯。&lt;/p&gt;</description></item><item><title>培训经历</title><link>https://www.acdiost.com/posts/%E5%9F%B9%E8%AE%AD%E7%BB%8F%E5%8E%86/</link><pubDate>Tue, 14 Oct 2025 21:05:02 +0800</pubDate><guid>https://www.acdiost.com/posts/%E5%9F%B9%E8%AE%AD%E7%BB%8F%E5%8E%86/</guid><description>&lt;p&gt;今天面试了一个培训的人，26 岁，他是达内培训机构出来的，在达内交了近两万的培训费用。以前是做的贷款销售，一个月 4 千左右在成都，我仿佛看到了当年的自己。&lt;/p&gt;&#10;&lt;p&gt;回想 9 年前，我也经历了 Java 培训，交了 16800 块，分期。&lt;/p&gt;&#10;&lt;p&gt;当时的境遇特别需要一份入门的工作，又没有什么存款，算是比较窘迫了吧。&lt;/p&gt;&#10;&lt;p&gt;现在看着一份份投递过来的培训简历，很明显的简历包装，想到了自己以前的过往，心想还是给他们一个面试机会，让他们试试吧，说不定能改变某人的命运呢。&lt;/p&gt;&#10;&lt;p&gt;还有一个尴尬的情况，公司需要来了能干活的人，因为公司也需要生存，暂时无法留有余地去培养经验不丰富的人。经验不丰富的人又需要工作机会来积累经验，形成了冲突。&lt;/p&gt;&#10;&lt;p&gt;站在不同的立场上，也因为他的面试情况不佳，我没有通过他的面试。做出这个决定时，我心里还是有些遗憾的，我理解他的焦虑，也理解公司的现实——但现实终究不是怜悯能改变的。&lt;/p&gt;&#10;&lt;p&gt;我想机会还是要给内心真正喜欢技术和这个行业的人，而不是谋求生存而进入该行业的人。&lt;/p&gt;&#10;&lt;p&gt;也许每一次面试，都是一场命运交叉的瞬间。有人求生，有人求梦，而我，只希望能遇见那个为热爱而坚持的人。&lt;/p&gt;</description></item><item><title>MacOS</title><link>https://www.acdiost.com/posts/macos/</link><pubDate>Sat, 16 Nov 2024 22:37:34 +0800</pubDate><guid>https://www.acdiost.com/posts/macos/</guid><description>&lt;p&gt;记录一下新到的 MacOS 软件安装&lt;/p&gt;&#10;&lt;h4 id="homebrew"&gt;Homebrew&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;/bin/bash -c &lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;$(&lt;/span&gt;curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh&lt;span style="color:#66d9ef"&gt;)&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo &lt;span style="color:#e6db74"&gt;&amp;#39;eval &amp;#34;$(/opt/homebrew/bin/brew shellenv)&amp;#34;&amp;#39;&lt;/span&gt; &amp;gt;&amp;gt; /Users/dawn/.zprofile&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo &lt;span style="color:#e6db74"&gt;&amp;#39;export HOMEBREW_PIP_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple&amp;#39;&lt;/span&gt; &amp;gt;&amp;gt; ~/.zprofile&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo &lt;span style="color:#e6db74"&gt;&amp;#39;export HOMEBREW_API_DOMAIN=https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles/api&amp;#39;&lt;/span&gt; &amp;gt;&amp;gt; ~/.zprofile&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo &lt;span style="color:#e6db74"&gt;&amp;#39;export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles&amp;#39;&lt;/span&gt; &amp;gt;&amp;gt; ~/.zprofile&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="basic"&gt;Basic&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;brew install font-lxgw-wenkai&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;brew install tmux&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;brew install git&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="oh-my-zsh"&gt;Oh my zsh&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git clone --depth&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; https://github.com/ohmyzsh/ohmyzsh.git ~/.oh-my-zsh&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git clone --depth&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; https://github.com/zsh-users/zsh-autosuggestions.git ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git clone --depth&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; https://github.com/zsh-users/zsh-syntax-highlighting.git ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="orbstack"&gt;OrbStack&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;brew install orbstack&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="输入法"&gt;输入法&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;brew install --cask squirrel&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git clone --depth&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; git@github.com:acdiost/oh-my-rime.git ~/Library/Rime&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="nodejs"&gt;Nodejs&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;brew install node@22&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo &lt;span style="color:#e6db74"&gt;&amp;#39;export PATH=&amp;#34;/opt/homebrew/opt/node@22/bin:$PATH&amp;#34;&amp;#39;&lt;/span&gt; &amp;gt;&amp;gt; ~/.zprofile&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="rust"&gt;Rust&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;brew install rust&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="python"&gt;Python&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;brew install python@3.13&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;pip3 config set global.index-url https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="go"&gt;Go&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;brew install go&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo &lt;span style="color:#e6db74"&gt;&amp;#34;export GOPATH=&lt;/span&gt;$HOME&lt;span style="color:#e6db74"&gt;/go&amp;#34;&lt;/span&gt; &amp;gt;&amp;gt; ~/.zprofile&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo &lt;span style="color:#e6db74"&gt;&amp;#34;export GO111MODULE=on&amp;#34;&lt;/span&gt; &amp;gt;&amp;gt; ~/.zprofile&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo &lt;span style="color:#e6db74"&gt;&amp;#34;export GOPROXY=https://goproxy.cn,direct&amp;#34;&lt;/span&gt; &amp;gt;&amp;gt; ~/.zprofile&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="java"&gt;Java&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;brew install java&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo &lt;span style="color:#e6db74"&gt;&amp;#39;export PATH=&amp;#34;/opt/homebrew/opt/openjdk/bin:$PATH&amp;#34;&amp;#39;&lt;/span&gt; &amp;gt;&amp;gt; ~/.zprofile&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;brew install maven&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 配置文件&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;/opt/homebrew/Cellar/maven/3.9.9/libexec/conf/settings.xml&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="syncthing"&gt;Syncthing&lt;/h4&gt;&#10;&lt;p&gt;使用 Syncthing 同步文件&lt;/p&gt;</description></item><item><title>今天我离职了</title><link>https://www.acdiost.com/posts/%E4%BB%8A%E5%A4%A9%E6%88%91%E7%A6%BB%E8%81%8C%E4%BA%86/</link><pubDate>Tue, 19 Mar 2024 21:27:12 +0800</pubDate><guid>https://www.acdiost.com/posts/%E4%BB%8A%E5%A4%A9%E6%88%91%E7%A6%BB%E8%81%8C%E4%BA%86/</guid><description>&lt;p&gt;今天我从公司离职了，在这个公司外包工作了一年。&lt;/p&gt;&#10;&lt;p&gt;之所以是外包，是因为当时学历 ( 高中[大专在读，现 2024 已毕业，自考本科中] ) 不够要求，无法进入到公司 ( 中国电子，子公司 ) 内部成为正式员工，所以只能以外包的形式进入。&lt;/p&gt;&#10;&lt;h4 id="如何进入此公司的"&gt;如何进入此公司的？&lt;/h4&gt;&#10;&lt;p&gt;因为我和现在公司的大多成员都是上家公司 ( 电科云，子公司[已破产] ) 共事的同事。&#10;大家对我的技术和工作能力的认可，其次是对平台的熟悉程度较高 ( 上家公司的公安政法业务转到了这边进行维护开发 ) 。&lt;/p&gt;&#10;&lt;h4 id="为何离职"&gt;为何离职？&lt;/h4&gt;&#10;&lt;p&gt;因为长期拖欠工资 ( 8 个月[包含现在的 3 月] ) 而离职，走了被迫离职的方式，进行了劳动仲裁。&#10;在上家公司也是因为拖欠工资 ( 6 个月 ) 而被迫离职，我这两年相当于白打工了，感觉非常的惨。&lt;/p&gt;&#10;&lt;h4 id="为什么坚持了这么久还不走"&gt;为什么坚持了这么久还不走？&lt;/h4&gt;&#10;&lt;p&gt;外包公司在入职早期的时候，正常发放了两个月工资，中期开始延迟发放零散的工资，后期 12 月发了一个月工资，勉强维持起日常开支。&#10;我在年前就想走的了，但是 11 月发了部分和 12 月发了一次，就等着过春节会发放部分。结果未收到发放的工资，就有决心要离开了。&#10;我和另外的外包同事也在积极沟通打款的事宜，一直拖着，说在走流程。至今也未能给到准确的时间打款，连公司正式员工也出现了拖欠工资的情况了，只发基本生活的工资 ( 两千多 ) 。&lt;/p&gt;&#10;&lt;h4 id="在这个公司工作收获了什么"&gt;在这个公司工作收获了什么？&lt;/h4&gt;&#10;&lt;p&gt;我想我在这个公司的收获是微乎其微的，大多是将上家公司积累的工作经验在这个公司应用。&lt;/p&gt;&#10;&lt;h4 id="未来打算"&gt;未来打算？&lt;/h4&gt;&#10;&lt;p&gt;随着 AI 技术的发展，想要投身到 AI 技术在 Web3 领域的应用中。&lt;/p&gt;&#10;&lt;h4 id="为什么选择这个方向"&gt;为什么选择这个方向？&lt;/h4&gt;&#10;&lt;p&gt;AI 在未来是大势所趋，Web3 也将拥抱 AI，在国内限制的情况下，区块链技术我认为依然算是早期，将先进技术应用在 Web3 领域进行布道，是我很想做的事，并认为其仍有很大发展空间。&lt;/p&gt;&#10;&lt;h4 id="我以前是做什么的"&gt;我以前是做什么的？&lt;/h4&gt;&#10;&lt;p&gt;进入互联网行业也是误打误撞，找工作偶然通过培训机构 ( Java 培训 ) 进入的这个行业，并爱上了它。&#10;早期有一年的 Java 开发经验和两年的 IT 系统管理经验。中后期开始接触运维相关的工作，有 5 年的运维管理经验。&#10;现如今在学习区块链和 AI 相关的技术。&lt;/p&gt;</description></item><item><title>写了一个 hugo 主题</title><link>https://www.acdiost.com/posts/%E5%86%99%E4%BA%86%E4%B8%80%E4%B8%AAhugo%E4%B8%BB%E9%A2%98/</link><pubDate>Thu, 08 Feb 2024 22:14:09 +0800</pubDate><guid>https://www.acdiost.com/posts/%E5%86%99%E4%BA%86%E4%B8%80%E4%B8%AAhugo%E4%B8%BB%E9%A2%98/</guid><description>&lt;p&gt;在上个月末，我突发奇想，决定自己结合 ChatGPT 写一个 Hugo 主题。&#10;最开始通过网上的几个视频教程学习，如何创建主题开始一个 Hello world，&#10;再参考其他主题的语法，把基础的几个页面架子搭建出来了。&lt;/p&gt;&#10;&lt;p&gt;然后开始学习 Tailwindcss，也间接了解了 Unocss。&lt;/p&gt;&#10;&lt;p&gt;最后通过和 ChatGPT 的对话，写了三遍，我成功地完成了此主题编写。&lt;/p&gt;&#10;&lt;p&gt;期间因为工作、其他事情的耽搁，花费了将近半个月才把这个主题完全写好。&lt;/p&gt;&#10;&lt;p&gt;前前后后总耗时预计为两天。&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;p&gt;整个页面布局简单&lt;br&gt;&#10;兼容手机&lt;br&gt;&#10;文章字体使用落霞文楷，更契合汉字美感&lt;br&gt;&#10;将字体调整大，为大多近视的人提供更好的阅读体验&lt;/p&gt;</description></item><item><title>Use_tailwindcss</title><link>https://www.acdiost.com/posts/use_tailwindcss/</link><pubDate>Thu, 01 Feb 2024 22:11:29 +0800</pubDate><guid>https://www.acdiost.com/posts/use_tailwindcss/</guid><description>&lt;h2 id="安装"&gt;安装&lt;/h2&gt;&#10;&lt;p&gt;&lt;code&gt;hugo new theme acdiost-theme&lt;/code&gt; 创建主题后进入 &lt;code&gt;cd themes/acdiost-theme&lt;/code&gt; 目录&lt;/p&gt;&#10;&lt;p&gt;Install Tailwind CSS&#10;Install tailwindcss via npm, and create your tailwind.config.js file.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;npm install -D tailwindcss&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;npx tailwindcss init&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Add the paths to all of your template files in your tailwind.config.js file.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-js" data-lang="js"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;/** @type {import(&amp;#39;tailwindcss&amp;#39;).Config} */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;module&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;exports&lt;/span&gt; &lt;span style="color:#f92672"&gt;=&lt;/span&gt; {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a6e22e"&gt;content&lt;/span&gt;&lt;span style="color:#f92672"&gt;:&lt;/span&gt; [&lt;span style="color:#e6db74"&gt;&amp;#34;./layouts/**/*.{html,js}&amp;#34;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a6e22e"&gt;theme&lt;/span&gt;&lt;span style="color:#f92672"&gt;:&lt;/span&gt; {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a6e22e"&gt;extend&lt;/span&gt;&lt;span style="color:#f92672"&gt;:&lt;/span&gt; {},&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; },&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a6e22e"&gt;plugins&lt;/span&gt;&lt;span style="color:#f92672"&gt;:&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Add the @tailwind directives for each of Tailwind’s layers to your main CSS file.&lt;/p&gt;</description></item><item><title>树莓派软路由</title><link>https://www.acdiost.com/posts/%E6%A0%91%E8%8E%93%E6%B4%BE%E8%BD%AF%E8%B7%AF%E7%94%B1/</link><pubDate>Wed, 20 Dec 2023 21:24:59 +0800</pubDate><guid>https://www.acdiost.com/posts/%E6%A0%91%E8%8E%93%E6%B4%BE%E8%BD%AF%E8%B7%AF%E7%94%B1/</guid><description>&lt;h2 id="树莓派-4b-docker-openwrt-软路由快速配置"&gt;树莓派 4B docker openwrt 软路由快速配置&lt;/h2&gt;&#10;&lt;h3 id="安装前提"&gt;安装前提&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Docker&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;curl -fsSL https://get.docker.com -o get-docker.sh&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo sh get-docker.sh&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;我使用的系统环境是&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;dawn@raspberrypi:/opt/openwrt $ uname -a&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Linux raspberrypi 6.1.0-rpi4-rpi-v8 &lt;span style="color:#75715e"&gt;#1 SMP PREEMPT Debian 1:6.1.54-1+rpt2 (2023-10-05) aarch64 GNU/Linux&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;dawn@raspberrypi:/opt/openwrt $ cat /etc/os-release&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;PRETTY_NAME&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;Debian GNU/Linux 12 (bookworm)&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;NAME&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;Debian GNU/Linux&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;VERSION_ID&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;12&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;VERSION&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;12 (bookworm)&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;VERSION_CODENAME&lt;span style="color:#f92672"&gt;=&lt;/span&gt;bookworm&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ID&lt;span style="color:#f92672"&gt;=&lt;/span&gt;debian&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;HOME_URL&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;https://www.debian.org/&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;SUPPORT_URL&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;https://www.debian.org/support&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;BUG_REPORT_URL&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;https://bugs.debian.org/&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="开启混杂模式"&gt;开启混杂模式&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo ip link set eth0 promisc on&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;此命令将 Raspberry Pi 上的以太网接口 eth0 设置为混杂模式。 在混杂模式下，网络接口可以捕获其所连接的网段上的所有网络流量。&lt;/p&gt;&#10;&lt;h3 id="创建网络"&gt;创建网络&lt;/h3&gt;&#10;&lt;p&gt;此网段需要和路由器一致，例如我家的光猫 IP 为 192.168.1.1&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo docker network create -d macvlan --subnet&lt;span style="color:#f92672"&gt;=&lt;/span&gt;192.168.1.0/24 --gateway&lt;span style="color:#f92672"&gt;=&lt;/span&gt;192.168.1.1 -o parent&lt;span style="color:#f92672"&gt;=&lt;/span&gt;eth0 openwrt-wan&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;此命令使用 macvlan 驱动程序创建一个名为 openwrt-wan 的 Docker 网络。 它通过 Raspberry Pi 上的 eth0 有效地将 Docker 容器桥接到物理网络。&lt;/p&gt;</description></item><item><title>波粒二象性</title><link>https://www.acdiost.com/posts/%E6%B3%A2%E7%B2%92%E4%BA%8C%E8%B1%A1%E6%80%A7/</link><pubDate>Sat, 14 Oct 2023 19:56:53 +0800</pubDate><guid>https://www.acdiost.com/posts/%E6%B3%A2%E7%B2%92%E4%BA%8C%E8%B1%A1%E6%80%A7/</guid><description>&lt;h1 id="波粒二象性"&gt;波粒二象性&lt;/h1&gt;&#10;&lt;p&gt;什么是波粒二象性？&lt;/p&gt;&#10;&lt;p&gt;波粒二象性（wave-particle duality）指的是所有的粒子或量子不仅可以部分地以粒子的术语来描述，也可以部分地用波的术语来描述。【百科】&lt;/p&gt;&#10;&lt;p&gt;波粒二象性是指微观粒子（如光子、电子等）在某些实验条件下既表现出波动性质又表现出粒子性质的现象。这是量子力学的一个基本概念，最早由德国物理学家德布罗意（Louis de Broglie）于1924年提出。【ChatGPT】&lt;/p&gt;&#10;&lt;p&gt;个人不懂相关的知识，粗鄙的愚见：&lt;/p&gt;&#10;&lt;p&gt;它类比就像水和水分子。&lt;/p&gt;&#10;&lt;p&gt;波即是水，粒即是水分子。&lt;/p&gt;&#10;&lt;p&gt;当达到一定质量即为波，仔细观察即是水分子。&lt;/p&gt;&#10;&lt;p&gt;推测其甚至可能还有固态形式。&lt;/p&gt;</description></item><item><title>最好的学习是输出</title><link>https://www.acdiost.com/posts/%E6%9C%80%E5%A5%BD%E7%9A%84%E5%AD%A6%E4%B9%A0%E6%98%AF%E8%BE%93%E5%87%BA/</link><pubDate>Wed, 11 Oct 2023 20:26:14 +0800</pubDate><guid>https://www.acdiost.com/posts/%E6%9C%80%E5%A5%BD%E7%9A%84%E5%AD%A6%E4%B9%A0%E6%98%AF%E8%BE%93%E5%87%BA/</guid><description>&lt;p&gt;最好的学习是输出什么内容而不是学习了什么内容。&lt;/p&gt;</description></item><item><title>为服务器添加 Cloudflare Wrap</title><link>https://www.acdiost.com/posts/%E4%B8%BA%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%B7%BB%E5%8A%A0-cloudflare-wrap/</link><pubDate>Wed, 05 Apr 2023 10:42:09 +0800</pubDate><guid>https://www.acdiost.com/posts/%E4%B8%BA%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%B7%BB%E5%8A%A0-cloudflare-wrap/</guid><description>&lt;p&gt;Cloudflare WARP 是 Cloud­flare 提供的一项基于 Wire­Guard 的网络流量安全及加速服务，能够让你通过连接到 Cloud­flare 的边缘节点实现隐私保护及链路优化。&lt;/p&gt;&#10;&lt;p&gt;很多我们需要访问的网站都需要使用原生 IP，比如：Disney+， ChatGPT, New Bing 等。&lt;/p&gt;&#10;&lt;p&gt;所谓原生 IP 就是指该网站的 IP 地址和其机房的 IP 地址是一致的&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;wget git.io/warp.sh&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo bash warp.sh menu&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;选择：1、4、5；&lt;/p&gt;&#10;&lt;p&gt;1 - 安装 Cloudflare WARP 官方客户端&lt;/p&gt;&#10;&lt;p&gt;4 - 安装 WireGuard 相关组件&lt;/p&gt;&#10;&lt;p&gt;5 - 自动配置 WARP WireGuard IPv4 网络&lt;/p&gt;&#10;&lt;p&gt;如果有 ipv4 和 ipv6，则可选：1、4、7&lt;/p&gt;&#10;&lt;p&gt;1 - 安装 Cloudflare WARP 官方客户端&lt;/p&gt;&#10;&lt;p&gt;4 - 安装 WireGuard 相关组件&lt;/p&gt;&#10;&lt;p&gt;7 - 自动配置 WARP WireGuard 双栈全局网络&lt;/p&gt;</description></item><item><title>重要的是去做，从一点点开始</title><link>https://www.acdiost.com/posts/%E9%87%8D%E8%A6%81%E7%9A%84%E6%98%AF%E5%8E%BB%E5%81%9A%E4%BB%8E%E4%B8%80%E7%82%B9%E7%82%B9%E5%BC%80%E5%A7%8B/</link><pubDate>Sun, 26 Mar 2023 21:35:00 +0800</pubDate><guid>https://www.acdiost.com/posts/%E9%87%8D%E8%A6%81%E7%9A%84%E6%98%AF%E5%8E%BB%E5%81%9A%E4%BB%8E%E4%B8%80%E7%82%B9%E7%82%B9%E5%BC%80%E5%A7%8B/</guid><description>&lt;p&gt;距离上次发布文章已经过去了一个多月了，博客一直没有更新。&lt;/p&gt;&#10;&lt;p&gt;想着写点什么，随便写什么都可以，文笔虽然不好，也没什么。&lt;/p&gt;&#10;&lt;p&gt;重要的是去做，去行动起来，从一点点开始，渐渐地养成习惯。&lt;/p&gt;</description></item><item><title>为 Git 添加签名验证信息</title><link>https://www.acdiost.com/posts/%E4%B8%BA-git-%E6%B7%BB%E5%8A%A0%E7%AD%BE%E5%90%8D%E4%BF%A1%E6%81%AF/</link><pubDate>Mon, 06 Feb 2023 10:50:22 +0800</pubDate><guid>https://www.acdiost.com/posts/%E4%B8%BA-git-%E6%B7%BB%E5%8A%A0%E7%AD%BE%E5%90%8D%E4%BF%A1%E6%81%AF/</guid><description>&lt;p&gt;有时候我们能在 GitHub 上看到有的项目在提交信息中有 Verified 的绿色签名验证框，在一些大型项目中，此签名信息是必须的，否则无法提交相关的代码在项目中。下面是在 Git Bash 中的配置操作(&lt;code&gt;brew install gnupg&lt;/code&gt; on MacOS)：&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;gpg --full-generate-key&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;gpg &lt;span style="color:#f92672"&gt;(&lt;/span&gt;GnuPG&lt;span style="color:#f92672"&gt;)&lt;/span&gt; 2.2.23-unknown; Copyright &lt;span style="color:#f92672"&gt;(&lt;/span&gt;C&lt;span style="color:#f92672"&gt;)&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;2020&lt;/span&gt; Free Software Foundation, Inc.&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;This is free software: you are free to change and redistribute it.&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;There is NO WARRANTY, to the extent permitted by law.&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Please &lt;span style="color:#66d9ef"&gt;select&lt;/span&gt; what kind of key you want:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;(&lt;/span&gt;1&lt;span style="color:#f92672"&gt;)&lt;/span&gt; RSA and RSA &lt;span style="color:#f92672"&gt;(&lt;/span&gt;default&lt;span style="color:#f92672"&gt;)&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;(&lt;/span&gt;2&lt;span style="color:#f92672"&gt;)&lt;/span&gt; DSA and Elgamal&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;(&lt;/span&gt;3&lt;span style="color:#f92672"&gt;)&lt;/span&gt; DSA &lt;span style="color:#f92672"&gt;(&lt;/span&gt;sign only&lt;span style="color:#f92672"&gt;)&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;(&lt;/span&gt;4&lt;span style="color:#f92672"&gt;)&lt;/span&gt; RSA &lt;span style="color:#f92672"&gt;(&lt;/span&gt;sign only&lt;span style="color:#f92672"&gt;)&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;(&lt;/span&gt;14&lt;span style="color:#f92672"&gt;)&lt;/span&gt; Existing key from card&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Your selection? &lt;span style="color:#75715e"&gt;# 输入 Enter&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;RSA keys may be between &lt;span style="color:#ae81ff"&gt;1024&lt;/span&gt; and &lt;span style="color:#ae81ff"&gt;4096&lt;/span&gt; bits long.&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;What keysize &lt;span style="color:#66d9ef"&gt;do&lt;/span&gt; you want? &lt;span style="color:#f92672"&gt;(&lt;/span&gt;3072&lt;span style="color:#f92672"&gt;)&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;4096&lt;/span&gt; &lt;span style="color:#75715e"&gt;# 输入 4096&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Requested keysize is &lt;span style="color:#ae81ff"&gt;4096&lt;/span&gt; bits&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Please specify how long the key should be valid.&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 0 &lt;span style="color:#f92672"&gt;=&lt;/span&gt; key does not expire&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;n&amp;gt; &lt;span style="color:#f92672"&gt;=&lt;/span&gt; key expires in n days&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;n&amp;gt;w &lt;span style="color:#f92672"&gt;=&lt;/span&gt; key expires in n weeks&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;n&amp;gt;m &lt;span style="color:#f92672"&gt;=&lt;/span&gt; key expires in n months&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;n&amp;gt;y &lt;span style="color:#f92672"&gt;=&lt;/span&gt; key expires in n years&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Key is valid &lt;span style="color:#66d9ef"&gt;for&lt;/span&gt;? &lt;span style="color:#f92672"&gt;(&lt;/span&gt;0&lt;span style="color:#f92672"&gt;)&lt;/span&gt; &lt;span style="color:#75715e"&gt;# 输入 Enter&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Key does not expire at all&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Is this correct? &lt;span style="color:#f92672"&gt;(&lt;/span&gt;y/N&lt;span style="color:#f92672"&gt;)&lt;/span&gt; y &lt;span style="color:#75715e"&gt;# 输入 y&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;GnuPG needs to construct a user ID to identify your key. &lt;span style="color:#75715e"&gt;# 输入个人资料&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Real name: acdiost&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Email address: acdiost@email.com&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Comment:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;You selected this USER-ID:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;acdiost &amp;lt;acdiost@email.com&amp;gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Change &lt;span style="color:#f92672"&gt;(&lt;/span&gt;N&lt;span style="color:#f92672"&gt;)&lt;/span&gt;ame, &lt;span style="color:#f92672"&gt;(&lt;/span&gt;C&lt;span style="color:#f92672"&gt;)&lt;/span&gt;omment, &lt;span style="color:#f92672"&gt;(&lt;/span&gt;E&lt;span style="color:#f92672"&gt;)&lt;/span&gt;mail or &lt;span style="color:#f92672"&gt;(&lt;/span&gt;O&lt;span style="color:#f92672"&gt;)&lt;/span&gt;kay/&lt;span style="color:#f92672"&gt;(&lt;/span&gt;Q&lt;span style="color:#f92672"&gt;)&lt;/span&gt;uit? O &lt;span style="color:#75715e"&gt;# 输入 O&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;We need to generate a lot of random bytes. It is a good idea to perform&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;some other action &lt;span style="color:#f92672"&gt;(&lt;/span&gt;type on the keyboard, move the mouse, utilize the&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;disks&lt;span style="color:#f92672"&gt;)&lt;/span&gt; during the prime generation; this gives the random number&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;generator a better chance to gain enough entropy. &lt;span style="color:#75715e"&gt;# 在弹出窗口中设置密码&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;gpg --list-secret-keys --keyid-format&lt;span style="color:#f92672"&gt;=&lt;/span&gt;long &lt;span style="color:#75715e"&gt;# 列出 gpg key 信息&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;gpg: checking the trustdb&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;gpg: marginals needed: &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt; completes needed: &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; trust model: pgp&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;gpg: depth: &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt; valid: &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; signed: &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt; trust: 0-, 0q, 0n, 0m, 0f, 1u&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;/c/Users/Dawn/.gnupg/pubring.kbx&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;--------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sec rsa4096/73DFAAC188F713EE 2023-02-06 &lt;span style="color:#f92672"&gt;[&lt;/span&gt;SC&lt;span style="color:#f92672"&gt;]&lt;/span&gt; &lt;span style="color:#75715e"&gt;# 此处为 ID&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; xxxxxxx&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;uid &lt;span style="color:#f92672"&gt;[&lt;/span&gt;ultimate&lt;span style="color:#f92672"&gt;]&lt;/span&gt; acdiost &amp;lt;acdiost@email.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ssb rsa4096/BC06DE040749ABCA 2023-02-06 &lt;span style="color:#f92672"&gt;[&lt;/span&gt;E&lt;span style="color:#f92672"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;gpg --armor --export 73DFAAC188F713EE &lt;span style="color:#75715e"&gt;# 导出秘钥&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;将打印的秘钥复制至 &lt;a href="https://github.com/settings/gpg/new"&gt;GitHub 的 GPG keys&lt;/a&gt; 中&lt;/p&gt;</description></item><item><title>My First Post</title><link>https://www.acdiost.com/posts/my-first-post/</link><pubDate>Fri, 03 Feb 2023 12:27:12 +0800</pubDate><guid>https://www.acdiost.com/posts/my-first-post/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;&#10;&lt;p&gt;This is &lt;strong&gt;bold&lt;/strong&gt; text, and this is &lt;em&gt;emphasized&lt;/em&gt; text.&lt;/p&gt;&#10;&lt;p&gt;Visit the &lt;a href="https://gohugo.io"&gt;Hugo&lt;/a&gt; website!&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;p&gt;添加文章： &lt;code&gt;hugo new &amp;quot;categories/title.md&amp;quot;&lt;/code&gt;&lt;/p&gt;&#10;&lt;p&gt;本地查看： &lt;code&gt;hugo server -D&lt;/code&gt;&lt;/p&gt;&#10;&lt;p&gt;发布文章： &lt;code&gt;hugo&lt;/code&gt;&lt;/p&gt;&#10;&lt;p&gt;同步 Hugo 至 GitHub：&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cd hugo-blog&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git add .&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git commit -sm &lt;span style="color:#e6db74"&gt;&amp;#34;add new post&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git push -u origin main&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;&#10;&lt;p&gt;我创建博客使用了很多工具，诸如新浪博客、WordPress、typecho、leanote、hexo、logseq 和语雀等。&#10;最终选择使用 hugo 来管理，GitHub Pages 作为托管。&#10;曾使用 WordPress、typecho 和 hexo 把站点弄的花里胡哨，其实并没有太大作用。&#10;我也曾使用 logseq 和 obsidian 来管理，但它们是作为知识的整理归纳；博客作为最后的输出，发现不太适合自己的需求。&lt;/p&gt;&#10;&lt;p&gt;我选择了自己结合 ChatGPT 用 tailwindcss 写一个 hugo 的主题，致力于阅读，没有评论让自己思考；化繁为简没有其他的东西干扰。&lt;/p&gt;&#10;&lt;p&gt;其实最重要的莫过于是持之以恒，任何事大抵如此。&#10;望自己能坚持下去！&lt;/p&gt;</description></item></channel></rss>