<?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 Harry&#39;s Blog</title>
    <link>https://sudo-djug.xyz/tags/%E6%8A%98%E8%85%BE/</link>
    <description>Recent content in 折腾 on Harry&#39;s Blog</description>
    <generator>Hugo</generator>
    <language>zh-cn</language>
    <lastBuildDate>Sun, 15 Mar 2026 00:00:00 +0800</lastBuildDate>
    <atom:link href="https://sudo-djug.xyz/tags/%E6%8A%98%E8%85%BE/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>近期技术折腾小结</title>
      <link>https://sudo-djug.xyz/posts/2026-03-15-recent-tech-notes/</link>
      <pubDate>Sun, 15 Mar 2026 00:00:00 +0800</pubDate>
      <guid>https://sudo-djug.xyz/posts/2026-03-15-recent-tech-notes/</guid>
      <description>&lt;h1 id=&#34;近期技术折腾小结&#34;&gt;近期技术折腾小结&lt;/h1&gt;
&lt;p&gt;好久没写博客了，趁今天有空，把最近半年折腾的东西记录一下。&lt;/p&gt;
&lt;h6 id=&#34;博客迁移&#34;&gt;博客迁移&lt;/h6&gt;
&lt;p&gt;把原来的 &lt;em&gt;Hexo&lt;/em&gt; 博客迁移到了 &lt;em&gt;Hugo&lt;/em&gt;，主题用的 &lt;em&gt;PaperMod&lt;/em&gt;。迁移的主要原因是 &lt;em&gt;Hugo&lt;/em&gt; 构建速度更快，主题也更简洁。整个过程比想象中顺利，文章都是 &lt;em&gt;Markdown&lt;/em&gt;，迁移成本低。&lt;/p&gt;
&lt;h6 id=&#34;mcp协议&#34;&gt;MCP协议&lt;/h6&gt;
&lt;p&gt;最近 &lt;em&gt;MCP&lt;/em&gt;（Model Context Protocol）很火，尝试给自托管的 &lt;em&gt;Dify&lt;/em&gt; 接了几个 &lt;em&gt;MCP Server&lt;/em&gt;，比如文件系统访问、网页搜索、数据库查询。Agent 的能力边界确实因此扩展了不少。&lt;/p&gt;
&lt;h6 id=&#34;新玩具&#34;&gt;新玩具&lt;/h6&gt;
&lt;ul&gt;
&lt;li&gt;入了一台 &lt;em&gt;Orange Pi 5 Plus&lt;/em&gt;，打算用来替代 &lt;em&gt;N100&lt;/em&gt; 跑一些轻量服务&lt;/li&gt;
&lt;li&gt;试了 &lt;em&gt;Claude Code&lt;/em&gt;，写代码和改配置的效率提升明显&lt;/li&gt;
&lt;li&gt;把家里的网络升级到了 &lt;em&gt;2.5G&lt;/em&gt; 内网，NAS 传输速度翻倍&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;折腾技术这件事，乐趣在于过程本身。不求成为专家，但求每个工具都能物尽其用。继续折腾，继续记录。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python爬虫踩坑记</title>
      <link>https://sudo-djug.xyz/posts/2022-04-10-python-web-scraper/</link>
      <pubDate>Sun, 10 Apr 2022 00:00:00 +0800</pubDate>
      <guid>https://sudo-djug.xyz/posts/2022-04-10-python-web-scraper/</guid>
      <description>&lt;h1 id=&#34;python爬虫踩坑记&#34;&gt;Python爬虫踩坑记&lt;/h1&gt;
&lt;p&gt;工作需要抓取一些公开数据，用 &lt;em&gt;Python&lt;/em&gt; 写了个简单的爬虫。一开始以为用 &lt;em&gt;requests&lt;/em&gt; 库直接 get 就行，结果发现很多网站都有反爬机制。&lt;/p&gt;
&lt;p&gt;第一个坑是 &lt;em&gt;User-Agent&lt;/em&gt; 被识别。解决方法是每次请求随机换一个：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;headers = {&#39;User-Agent&#39;: &#39;Mozilla/5.0 ...&#39;}
response = requests.get(url, headers=headers)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;第二个坑是请求太频繁被 &lt;em&gt;IP&lt;/em&gt; 封禁。加了 &lt;em&gt;time.sleep(random.uniform(1, 3))&lt;/em&gt; 之后好了很多。&lt;/p&gt;
&lt;p&gt;第三个坑最麻烦，目标网站用了 &lt;em&gt;JavaScript&lt;/em&gt; 动态渲染，requests 抓到的 HTML 是空的。最后用了 &lt;em&gt;Selenium&lt;/em&gt; + &lt;em&gt;ChromeDriver&lt;/em&gt;，虽然慢了点，但能拿到完整数据。&lt;/p&gt;
&lt;h6 id=&#34;几点心得&#34;&gt;几点心得&lt;/h6&gt;
&lt;ul&gt;
&lt;li&gt;爬虫不是万能的，先看对方有没有提供 &lt;em&gt;API&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;遵守 &lt;em&gt;robots.txt&lt;/em&gt;，不要给人家服务器造成压力&lt;/li&gt;
&lt;li&gt;数据拿到之后记得清洗，原始数据往往很脏&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;写爬虫的过程也是学习 &lt;em&gt;HTTP&lt;/em&gt; 协议的过程，收获不小。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Docker初体验</title>
      <link>https://sudo-djug.xyz/posts/2021-08-15-docker-first-steps/</link>
      <pubDate>Sun, 15 Aug 2021 00:00:00 +0800</pubDate>
      <guid>https://sudo-djug.xyz/posts/2021-08-15-docker-first-steps/</guid>
      <description>&lt;h1 id=&#34;docker初体验&#34;&gt;Docker初体验&lt;/h1&gt;
&lt;p&gt;早就听说 &lt;em&gt;Docker&lt;/em&gt; 容器化技术很厉害，今天终于抽时间学习了一下。跟着&lt;a href=&#34;https://docs.docker.com/get-started/&#34;&gt;官方文档&lt;/a&gt;走了一遍，感觉比想象中简单。&lt;/p&gt;
&lt;p&gt;安装倒是顺利，直接用了官方的一键脚本：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;curl -fsSL https://get.docker.com | sh
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;装完之后运行了个 hello-world，成功。接着尝试把自己写的一个小 &lt;em&gt;Flask&lt;/em&gt; 应用打包成镜像，遇到几个坑：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;基础镜像选 &lt;code&gt;python:3.9-slim&lt;/code&gt; 比 &lt;code&gt;python:3.9&lt;/code&gt; 体积小很多&lt;/li&gt;
&lt;li&gt;&lt;code&gt;requirements.txt&lt;/code&gt; 一定要提前写好，不然构建时会报错&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Dockerfile&lt;/code&gt; 里用 &lt;code&gt;COPY&lt;/code&gt; 比 &lt;code&gt;ADD&lt;/code&gt; 更直观&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;第一个打包好的镜像只有 180MB，运行起来也很轻量。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;下一步想试试 &lt;em&gt;Docker Compose&lt;/em&gt;，把博客、数据库、缓存几个服务一起编排起来。容器化确实是趋势，得跟上。&lt;/p&gt;</description>
    </item>
    <item>
      <title>个人博客搭建初探</title>
      <link>https://sudo-djug.xyz/posts/2021-05-09-personal-blog-setup/</link>
      <pubDate>Sun, 09 May 2021 00:00:00 +0800</pubDate>
      <guid>https://sudo-djug.xyz/posts/2021-05-09-personal-blog-setup/</guid>
      <description>&lt;h1 id=&#34;个人博客搭建初探&#34;&gt;个人博客搭建初探&lt;/h1&gt;
&lt;p&gt;今天跟随视频和网页教程搭建了属于自己的个人博客，视频和网络参考如下：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=erKYtw4Rfhk&#34;&gt;手把手教你从0开始搭建自己的个人博客 |无坑版视频教程| hexo&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://zhuanlan.zhihu.com/p/35668237&#34;&gt;超详细Hexo+Github博客搭建小白教程 - 知乎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;当然，跟随这些教程的好处是入门快，想提高可得费点劲。安装期间，无意中下载了最新版的 &lt;em&gt;node.js&lt;/em&gt; ,版本号 &lt;em&gt;14.16.1&lt;/em&gt; ，结果经常报错，*&lt;a href=&#34;https://www.haoyizebo.com/posts/710984d0/&#34;&gt;这篇文章&lt;/a&gt;*给了很大帮助。历时两个小时，终于可以把博客搭建起来了，之后的任务有两个~&lt;/p&gt;
&lt;h6 id=&#34;一是做好技术的记录和总结&#34;&gt;一是做好技术的记录和总结&lt;/h6&gt;
&lt;h6 id=&#34;二是做好博客的美化和功能多元化向个人网站全面发展&#34;&gt;二是做好博客的美化和功能多元化，向个人网站全面发展。&lt;/h6&gt;
&lt;hr&gt;
&lt;p&gt;要学的东西太多了……&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Python&lt;/li&gt;
&lt;li&gt;JavaScript&lt;/li&gt;
&lt;li&gt;HTML&lt;/li&gt;
&lt;li&gt;CSS&lt;/li&gt;
&lt;li&gt;Node.js&lt;/li&gt;
&lt;li&gt;Django&lt;/li&gt;
&lt;li&gt;SQL&lt;/li&gt;
&lt;li&gt;数据分析、机器学习、网页爬虫……&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;作为一个业余爱好者，希望自己不耽误主业的同时，把这个爱好玩好……&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
