<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>技术杂文 on 清雨影的Blog</title><link>http://blog.tsingjyujing.com/other-tech/</link><description>Recent content in 技术杂文 on 清雨影的Blog</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Tue, 10 Nov 2026 00:00:00 +0900</lastBuildDate><atom:link href="http://blog.tsingjyujing.com/other-tech/index.xml" rel="self" type="application/rss+xml"/><item><title>Jeff是如何被同事发明的DSL残害的</title><link>http://blog.tsingjyujing.com/other-tech/20260717-dsl/</link><pubDate>Fri, 17 Jul 2026 00:00:00 +0900</pubDate><guid>http://blog.tsingjyujing.com/other-tech/20260717-dsl/</guid><description>&lt;h1 id="jeff是如何被同事发明的dsl残害的"&gt;Jeff是如何被同事发明的DSL残害的&lt;a class="anchor" href="#jeff%e6%98%af%e5%a6%82%e4%bd%95%e8%a2%ab%e5%90%8c%e4%ba%8b%e5%8f%91%e6%98%8e%e7%9a%84dsl%e6%ae%8b%e5%ae%b3%e7%9a%84"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;以下都是Jeff的经历，和作者本人不能说是一点关系没有吧只能说是没有一点关系。&lt;/p&gt;&#10;&lt;p&gt;大概在几年前，我就读过一篇文章：&lt;a href="https://zhuanlan.zhihu.com/p/357411780"&gt;不要以 DRY 之名，发明低代码 DSL 去残害你的同事&lt;/a&gt; &lt;a href="https://archive.vn/IdYQ9"&gt;互联网备份链接&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Linux下使用任天堂手柄的体验</title><link>http://blog.tsingjyujing.com/other-tech/20260829-linux-hid-nintendo/</link><pubDate>Sun, 30 Aug 2026 00:00:00 +0900</pubDate><guid>http://blog.tsingjyujing.com/other-tech/20260829-linux-hid-nintendo/</guid><description>&lt;h1 id="linux下使用任天堂手柄的体验"&gt;Linux下使用任天堂手柄的体验&lt;a class="anchor" href="#linux%e4%b8%8b%e4%bd%bf%e7%94%a8%e4%bb%bb%e5%a4%a9%e5%a0%82%e6%89%8b%e6%9f%84%e7%9a%84%e4%bd%93%e9%aa%8c"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;家里确实也是买了Nintendo的Switch，但是买来以后猛猛玩了几个月以后就吃灰至今。&lt;/p&gt;&#10;&lt;p&gt;手柄倒是买了不少。之前为了打双人游戏买了一个手柄，大概长这样：&lt;/p&gt;</description></item><item><title>使用Termux把Android变成一台服务器</title><link>http://blog.tsingjyujing.com/other-tech/20261003-android-server/</link><pubDate>Sat, 03 Oct 2026 00:00:00 +0900</pubDate><guid>http://blog.tsingjyujing.com/other-tech/20261003-android-server/</guid><description>&lt;h1 id="使用termux把android变成一台服务器"&gt;使用Termux把Android变成一台服务器&lt;a class="anchor" href="#%e4%bd%bf%e7%94%a8termux%e6%8a%8aandroid%e5%8f%98%e6%88%90%e4%b8%80%e5%8f%b0%e6%9c%8d%e5%8a%a1%e5%99%a8"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;h2 id="起因"&gt;起因&lt;a class="anchor" href="#%e8%b5%b7%e5%9b%a0"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;我之前的Pixel4因为电池鼓包了，把手机的背板微微顶起来了。顶起来以后NFC接触不良，所以我发现了。换电池的时候，可能我手上的静电打坏了什么东西，反正信号差了，前置摄像头也不能用了。就这样，这个手机在我的柜子里吃灰了几年。&lt;/p&gt;</description></item><item><title>家用Airflow搭建指南</title><link>http://blog.tsingjyujing.com/other-tech/airflow/</link><pubDate>Sat, 27 Jun 2026 00:00:00 +0900</pubDate><guid>http://blog.tsingjyujing.com/other-tech/airflow/</guid><description>&lt;h1 id="家用airflow搭建指南"&gt;家用Airflow搭建指南&lt;a class="anchor" href="#%e5%ae%b6%e7%94%a8airflow%e6%90%ad%e5%bb%ba%e6%8c%87%e5%8d%97"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;h2 id="前言"&gt;前言&lt;a class="anchor" href="#%e5%89%8d%e8%a8%80"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;本文会介绍一种使用Docker Compose + Git + S3启动一个完全可用的Airflow的方法和过程中踩的坑。&lt;/p&gt;&#10;&lt;p&gt;首先说说为什么需要在家里搭Airflow，正常好人家里是不需要Airflow的，但是我最近遇到了一些需要管理的定时任务。&lt;/p&gt;</description></item><item><title>开源CAN总线信号可编程台架</title><link>http://blog.tsingjyujing.com/other-tech/can-panel/</link><pubDate>Tue, 05 May 2020 00:00:00 +0900</pubDate><guid>http://blog.tsingjyujing.com/other-tech/can-panel/</guid><description>&lt;h1 id="开源can总线信号可编程台架"&gt;开源CAN总线信号可编程台架&lt;a class="anchor" href="#%e5%bc%80%e6%ba%90can%e6%80%bb%e7%ba%bf%e4%bf%a1%e5%8f%b7%e5%8f%af%e7%bc%96%e7%a8%8b%e5%8f%b0%e6%9e%b6"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;刚才开源了一款以前写的&lt;a href="https://github.com/TsingJyujing/CAN-panel%E2%80%8B"&gt;CAN信号可编程台架&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;很早以前我接触了CAN总线和一些相关的测试技术，随后写了这个台架，但是一直没开源，原因主要是写的太烂，达不到我开源的标准。 后来我修修补补，虽然还是很烂，但是我开源的标准降低了啊，所以就开放了。 再不写点车辆相关的东西我都要忘记自己是车辆工程专业毕业的了。&lt;/p&gt;</description></item><item><title>为什么我劝你不要使用云计算？</title><link>http://blog.tsingjyujing.com/other-tech/cloud-or-not/</link><pubDate>Sun, 19 Jul 2020 00:00:00 +0900</pubDate><guid>http://blog.tsingjyujing.com/other-tech/cloud-or-not/</guid><description>&lt;h1 id="为什么我劝你不要使用云计算"&gt;为什么我劝你不要使用云计算？&lt;a class="anchor" href="#%e4%b8%ba%e4%bb%80%e4%b9%88%e6%88%91%e5%8a%9d%e4%bd%a0%e4%b8%8d%e8%a6%81%e4%bd%bf%e7%94%a8%e4%ba%91%e8%ae%a1%e7%ae%97"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;h2 id="前言"&gt;前言&lt;a class="anchor" href="#%e5%89%8d%e8%a8%80"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;这是一篇会引起争议的文章，我写下这行字的时候就觉得，如果这篇文章如果有幸被做云计算的大佬看到，一定会顺着网线过来爆锤我。&lt;/p&gt;&#10;&lt;p&gt;所以我今天不想说云这个技术的坏话，相反，我是比较期待云技术的，但是我认为云无论是技术上还是商业上都不够成熟，当然，我的见解也有可能是我和我服务的公司体量太小，大公司或许有什么套餐吧（我猜的，但是大公司一般都自己建云了）。&lt;/p&gt;</description></item><item><title>干掉吸血雷，重塑和谐P2P环境</title><link>http://blog.tsingjyujing.com/other-tech/fuck-thunder/</link><pubDate>Tue, 05 May 2020 00:00:00 +0900</pubDate><guid>http://blog.tsingjyujing.com/other-tech/fuck-thunder/</guid><description>&lt;h1 id="干掉吸血雷重塑和谐p2p环境"&gt;干掉吸血雷，重塑和谐P2P环境&lt;a class="anchor" href="#%e5%b9%b2%e6%8e%89%e5%90%b8%e8%a1%80%e9%9b%b7%e9%87%8d%e5%a1%91%e5%92%8c%e8%b0%90p2p%e7%8e%af%e5%a2%83"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;在我不懂技术的时候，经常使用迅雷下载各种电影，软件，迅雷很好的解决了死链之类的问题，现在来看，在那个带宽不充足的年代，缓解了一部分服务器的下载压力。 但是迅雷对于整个P2P环境的破坏是极大的，你经常可以在peer里面看到很多客户端名字为XL00+一堆乱码，或者Xunlei，7.x.xx之类的，永远只从你这里下载，而不给你上传。&lt;/p&gt;</description></item><item><title>福冈外免切替（中国驾照换日本驾照）攻略</title><link>http://blog.tsingjyujing.com/other-tech/fukuoka-gaimenkirikae/</link><pubDate>Tue, 14 Sep 2021 00:00:00 +0900</pubDate><guid>http://blog.tsingjyujing.com/other-tech/fukuoka-gaimenkirikae/</guid><description>&lt;h1 id="福冈外免切替中国驾照换日本驾照攻略"&gt;福冈外免切替（中国驾照换日本驾照）攻略&lt;a class="anchor" href="#%e7%a6%8f%e5%86%88%e5%a4%96%e5%85%8d%e5%88%87%e6%9b%bf%e4%b8%ad%e5%9b%bd%e9%a9%be%e7%85%a7%e6%8d%a2%e6%97%a5%e6%9c%ac%e9%a9%be%e7%85%a7%e6%94%bb%e7%95%a5"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;h2 id="简介"&gt;简介&lt;a class="anchor" href="#%e7%ae%80%e4%bb%8b"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;福岡県外国免許からの切り替え攻略。记录一下福冈市外免切替的流程，以及相应的经验、资源。其它的县应该也是类似的流程，不过我没有经历过。&lt;/p&gt;&#10;&lt;p&gt;我是2021年8月～9月办理的手续和考试，金额和流程仅供参考。&lt;/p&gt;</description></item><item><title>构建家用NAS过程中的碎碎念</title><link>http://blog.tsingjyujing.com/other-tech/nas/</link><pubDate>Fri, 27 Nov 2020 00:00:00 +0900</pubDate><guid>http://blog.tsingjyujing.com/other-tech/nas/</guid><description>&lt;h1 id="构建家用nas过程中的碎碎念"&gt;构建家用NAS过程中的碎碎念&lt;a class="anchor" href="#%e6%9e%84%e5%bb%ba%e5%ae%b6%e7%94%a8nas%e8%bf%87%e7%a8%8b%e4%b8%ad%e7%9a%84%e7%a2%8e%e7%a2%8e%e5%bf%b5"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;h2 id="前言"&gt;前言&lt;a class="anchor" href="#%e5%89%8d%e8%a8%80"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;最近存储告急，要给自己的数据找个家，所以开始琢磨NAS的事情，购买，搭建NAS的时候，阅读了很多资料，也发现了不少坑，留在这里，给大家参考。&#10;本文可以看作一个组建自宅或者小型企业使用NAS的入门手册，很多措施或因地制宜、或需要有效利用已有的电子产品，稳定性也并非最优，因此并不适用较大规模的商业场景。&lt;/p&gt;</description></item><item><title>互不联网时代的自给自足</title><link>http://blog.tsingjyujing.com/other-tech/net-self-sufficient/</link><pubDate>Wed, 03 Jun 2020 00:00:00 +0900</pubDate><guid>http://blog.tsingjyujing.com/other-tech/net-self-sufficient/</guid><description>&lt;h1 id="互不联网时代的自给自足"&gt;互不联网时代的自给自足&lt;a class="anchor" href="#%e4%ba%92%e4%b8%8d%e8%81%94%e7%bd%91%e6%97%b6%e4%bb%a3%e7%9a%84%e8%87%aa%e7%bb%99%e8%87%aa%e8%b6%b3"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;h2 id="前言"&gt;前言&lt;a class="anchor" href="#%e5%89%8d%e8%a8%80"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;本文主要讨论如何自行架设各种网络服务，涉及笔记，音乐，文件共享，源代码管理等等。旨在尽可能自行架设所需的网络服务，不被第三方所绑架，不被一些产品经理喂💩吃。 本文大多使用开源软件，并尽可能挑选可以使用Docker的软件，来简化部署的难度。&lt;/p&gt;</description></item><item><title>技术备忘录</title><link>http://blog.tsingjyujing.com/other-tech/note/</link><pubDate>Fri, 24 Jul 2020 00:00:00 +0900</pubDate><guid>http://blog.tsingjyujing.com/other-tech/note/</guid><description>&lt;h1 id="技术备忘录"&gt;技术备忘录&lt;a class="anchor" href="#%e6%8a%80%e6%9c%af%e5%a4%87%e5%bf%98%e5%bd%95"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;工作中乃至生活中解决了一些或大或小，或简单或复杂的技术问题。&#10;很多都因为没有好好的记录，所以之后需要再解决一遍。&#10;特地记录在此，以便后续使用。&lt;/p&gt;&#10;&lt;h2 id="2025-10-15-spark的时区设置"&gt;2025-10-15 Spark的时区设置&lt;a class="anchor" href="#2025-10-15-spark%e7%9a%84%e6%97%b6%e5%8c%ba%e8%ae%be%e7%bd%ae"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;在使用一些Spark SQL函数的时候，会需要准确的设置时区，否则执行的结果就会有误差。&lt;/p&gt;</description></item><item><title>用Rust开发AVR单片机</title><link>http://blog.tsingjyujing.com/other-tech/rust-avr/</link><pubDate>Sun, 19 Jul 2020 00:00:00 +0900</pubDate><guid>http://blog.tsingjyujing.com/other-tech/rust-avr/</guid><description>&lt;h1 id="用rust开发avr单片机"&gt;用Rust开发AVR单片机&lt;a class="anchor" href="#%e7%94%a8rust%e5%bc%80%e5%8f%91avr%e5%8d%95%e7%89%87%e6%9c%ba"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;这个是失败的例子&lt;/p&gt;&#10;&lt;h2 id="环境准备"&gt;环境准备&lt;a class="anchor" href="#%e7%8e%af%e5%a2%83%e5%87%86%e5%a4%87"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;安装Rust，这一部分参考：https://github.com/avr-rust/rust&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#d8dee9;background-color:#2e3440;-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;&lt;span style="color:#616e87;font-style:italic"&gt;# FROM https://www.rust-lang.org/tools/install&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;curl --proto &lt;span style="color:#a3be8c"&gt;&amp;#39;=https&amp;#39;&lt;/span&gt; --tlsv1.2 -sSf https://sh.rustup.rs &lt;span style="color:#eceff4"&gt;|&lt;/span&gt; sh&#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:#616e87;font-style:italic"&gt;# Enable it:&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:#81a1c1"&gt;source&lt;/span&gt; $HOME/.cargo/env&#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:#616e87;font-style:italic"&gt;# Add AVR toolchain:&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git clone https://github.com/avr-rust/rust.git --recursive&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;安装rust的时候一定记住不能选完全模式（complete）否则会导致之后旧版本无法安装。&lt;/p&gt;</description></item><item><title>React-Script转Vite时引用路径的问题</title><link>http://blog.tsingjyujing.com/other-tech/vite-import-path/</link><pubDate>Sun, 14 Jul 2024 00:00:00 +0900</pubDate><guid>http://blog.tsingjyujing.com/other-tech/vite-import-path/</guid><description>&lt;h1 id="react-script转vite时引用路径的问题"&gt;React-Script转Vite时引用路径的问题&lt;a class="anchor" href="#react-script%e8%bd%acvite%e6%97%b6%e5%bc%95%e7%94%a8%e8%b7%af%e5%be%84%e7%9a%84%e9%97%ae%e9%a2%98"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;最大的问题是Import Path的问题，正常情况下，如果我有这样的src：&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;src&#10;├── Config.ts&#10;├── ThemeProvider.tsx&#10;├── api&#10;├── assets&#10;│ └── react.svg&#10;├── component&#10;│ ├── CopyText.tsx&#10;│ └── RequiresHttps.tsx&#10;├── i18n.ts&#10;├── index.css&#10;├── locales.json&#10;├── main.tsx&#10;├── view&#10;│ ├── ErrorPage.tsx&#10;│ └── Login.tsx&#10;└── vite-env.d.ts&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;那么，我只要在&lt;code&gt;tsconfig.json&lt;/code&gt;里的&lt;code&gt;compilerOptions&lt;/code&gt;添加&lt;code&gt;&amp;quot;baseUrl&amp;quot;: &amp;quot;./src&amp;quot;&lt;/code&gt;，那么我在&lt;code&gt;main.tsx&lt;/code&gt;里面可以以如下的形式引用：&lt;/p&gt;</description></item><item><title>把博客迁移到Hugo</title><link>http://blog.tsingjyujing.com/other-tech/20261110-blog-migrate-to-hugo/</link><pubDate>Tue, 10 Nov 2026 00:00:00 +0900</pubDate><guid>http://blog.tsingjyujing.com/other-tech/20261110-blog-migrate-to-hugo/</guid><description>&lt;h1 id="把博客迁移到hugo"&gt;把博客迁移到Hugo&lt;a class="anchor" href="#%e6%8a%8a%e5%8d%9a%e5%ae%a2%e8%bf%81%e7%a7%bb%e5%88%b0hugo"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;我之前一直是用的Gitbook来管理我的博客，很早以前Gitbook也提供一个开源的方案来把我的博客编译为静态网站。&#10;我一直使用CICD（Drone）将其自动发布到Github Pages上。&#10;但是不知道是什么时候开始，Gitbook不再提供这样的功能。而且逐渐的越来越多的功能需要收费。&lt;/p&gt;</description></item></channel></rss>